diff --git a/CHANGELOG.md b/CHANGELOG.md index b2bba08c94d..ff49cf30791 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -588,12 +588,6 @@ ### plugin-dimension -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### plugin-export-dxf - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -678,24 +672,12 @@ ### plugin-title -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### plugin-validate - #### Changed - Migrated from Rollup to Esbuild for all builds ### plugin-versionfree-svg -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### components - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -713,12 +695,6 @@ - Migrated from Rollup to Esbuild for all builds - The `pctBasedOn()` helper method for pattern config was moved to config-helpers We did not make this a breaking change since it's only used internally. -### gatsby-remark-jargon - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - ### i18n #### Changed @@ -731,30 +707,12 @@ ### models -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### mui-theme - #### Changed - Migrated from Rollup to Esbuild for all builds ### pattern-info -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### remark-jargon - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### utils - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -829,12 +787,6 @@ - Better defaults for sleevecap and armhole depth - Yuri now extends the Brian config -### components - -#### Fixed - - - Fix restore of pattern defaults in draft configurator Closes [#1932](https://github.com/freesewing/freesewing/issues/1932) - ### core #### Fixed @@ -845,27 +797,9 @@ ## 2.20.7 (2022-02-20) -### components - -#### Fixed - - - Type-check for optionalMeasurements key in gist Closes [#1918](https://github.com/freesewing/freesewing/issues/1918) - ## 2.20.6 (2022-02-17) -### components - -#### Fixed - - - Handle unset props.pattern in DraftConfigurator option.hide check - -### css-theme - -#### Fixed - - - Set units on fontsizes to support scale setting - ## 2.20.5 (2022-02-17) @@ -1310,29 +1244,12 @@ - Removed rendering of config.cut as it's not used -### components - -#### Added - - - Added support for `settings.scale` to Draft and Workbench components - -#### Fixed - - - Support handling of ` ` in text - ### core #### Added - Added support for `settings.scale` -### css-theme - -#### Added - - - Added support for `settings.scale` - - Included variables used by TailwindCSS themes for compatibility - ### i18n #### Fixed @@ -1450,12 +1367,6 @@ ### plugin-dimension -#### Added - - - Added (esm) unit tests - -### plugin-export-dxf - #### Added - Added (esm) unit tests @@ -1552,12 +1463,6 @@ - Add utility classes and CSS variables for better styling support -### plugin-validate - -#### Added - - - Added (esm) unit tests - ### plugin-versionfree-svg #### Added @@ -1689,13 +1594,6 @@ - Fixed missing store object in button(hole)placket part -### components - -#### Added - - - Added linedrawing for Tiberius - - Added linedrawing for Walburga - ## 2.19.1 (2021-10-23) @@ -1872,21 +1770,6 @@ - This is a plugin to strip (FreeSewing) versdion info out of the SVG to allow you to diff your SVG output between FreeSewing versions - Initial release -### components - -#### Added - - - Added Bee linedrawing - -#### Changed - - - Added measurements for dolls & giants to Workbench measurments selector - - Added sampling for dolls & giants to Workbench tests - -#### Fixed - - - Added missing linedrawing for Yuri - ### core #### Added @@ -1987,12 +1870,6 @@ - New translations -### utils - -#### Fixed - - - Added missing `bustPointToUnderbust` measurement to `neckstimate` - ## 2.17.2 (2021-08-15) @@ -2154,26 +2031,6 @@ - Is now included in plugin-bundle -### components - -#### Added - - - Added Reddit icon to Icon component - - Added Ursula linedrawing to Linedrawings - -#### Changed - - - Caption should not be passed as children to Legend and Example components See https://github.com/freesewing/freesewing/issues/1043 - - Changed antman references to antperson - -#### Removed - - - Removed Gitter icon from Icon component - -#### Fixed - - - Correctly load saved value for mm options See [#1136](https://github.com/freesewing/freesewing/issues/1136) - ### core #### Fixed @@ -2189,12 +2046,6 @@ ## 2.16.2 (2021-05-05) -### components - -#### Fixed - - - Don't publish ESM modules as it causes issues with react-intl See [#1079](https://github.com/freesewing/freesewing/issues/1079) - ### i18n #### Changed @@ -2414,26 +2265,12 @@ - Changed `department` setting in config in line with new grouping -### components - -#### Added - - - Added a new `designs` icon - - We now publish .mjs files again for the different components - ### i18n #### Added - New translations for pattern filter -### utils - -#### Changed - - - neckstimate now takes an extra `noRound` parameter to return the unrounded value - - measurementDiffers takes an extra `absolute` value that can be set to false to get the non-absolute and non-rounded value - ## 2.16.0 (2021-05-24) @@ -2462,23 +2299,6 @@ - Fixed third button not showing up See [#973](https://github.com/freesewing/freesewing/issues/973) -### components - -#### Changed - - - Migrated to React 17 - - Migrated to create-react-app/react-scripts 4 - - Migrated to Webpack 5 - - Changes to Workbench - - Added rollup sass plugin - - Updated for new major version of react-markdown - -### css-theme - -#### Changed - - - Changes to code styling - ### i18n #### Changed @@ -2625,21 +2445,6 @@ - Added the path.bartack class -### components - -#### Added - - - Added charlie LineDrawing - -#### Changed - - - Show raised info above pattern in workbench - - Round point coordinates in design UI now that they are no longer rounded in core - -#### Fixed - - - Always show design mode switch - ### core #### Added @@ -2650,17 +2455,6 @@ - Don't round coordinates internally to avoid path.split misses -### css-theme - -#### Added - - - Added the path.bartack class - -#### Changed - - - Removed old bartack styling for new plugin - - Better example styling to prevent UI jumping - ### i18n #### Added @@ -2690,13 +2484,6 @@ - Replaced grainline indicator on pocket with cut-on-fold indicator -### components - -#### Added - - - Added Bella linedrawing - - Added Cornelius linedrawing - ### i18n #### Added @@ -2757,12 +2544,6 @@ - Added missing sleeve notch on yoke -### utils - -#### Added - - - Pass pattern handle to tiler - ## 2.13.0 (2021-02-13) @@ -2822,16 +2603,6 @@ - Make sure roudEnd and roundStart points are always available -### components - -#### Added - - - Linedrawing for hortensia - -#### Fixed - - - Check point attributes are present before using them - ### i18n #### Added @@ -2957,12 +2728,6 @@ - Took my name off the patterns -### components - -#### Fixed - - - Fixed links in Workbench footer - ## 2.11.2 (2021-01-11) @@ -2972,12 +2737,6 @@ - Marked waistline on Brian. Closes [#782](https://github.com/freesewing/freesewing/issues/782) -### components - -#### Fixed - - - Fixed links in Workbench footer - ## 2.11.1 (2021-01-11) @@ -2996,37 +2755,6 @@ - Initial release. See [#757](https://github.com/freesewing/freesewing/issues/757) -### components - -#### Added - - - Added some more examples to the Examples component - - Draft configurator now supports collapsing of subgroups - - Draft configurator now supports actions atop the menu - -#### Removed - - - Removed the Emblem component - - Removed the Navbar component - - Removed the Ogol component - -#### Fixed - - - Include basic themeing in Example component - - Updated the note and tip icons - -### css-theme - -#### Added - - - Proper formatting for markdown syntax highlighting - - Now includes the fonts so you don't have to - -#### Changed - - - Plenty of changes for a new look - - Restyled the draft configurator - ### i18n #### Changed @@ -3049,12 +2777,6 @@ ## 2.10.6 (2020-11-15) -### components - -#### Added - - - Workbench now supports loading a pattern configuration from a (github) gist - ## 2.10.5 (2020-11-14) @@ -3076,12 +2798,6 @@ ## 2.10.3 (2020-11-08) -### components - -#### Changed - - - Draft component now supports snippets in the same way as the render method - ### core #### Changed @@ -3100,24 +2816,12 @@ ## 2.10.1 (2020-11-07) -### components - -#### Changed - - - Changes to workbench - ### core #### Changed - Switched to bezier-js v3 -### css-theme - -#### Changed - - - Removed unused CSS code - ## 2.10.0 (2020-10-17) @@ -3149,13 +2853,6 @@ - Added support for cutting instructions. Closes [#500](https://github.com/freesewing/freesewing/issues/500) -### components - -#### Added - - - Added Teagan line drawing - - Added Discord icon in Icon component - ### core #### Added @@ -3164,12 +2861,6 @@ - Added the `info` type to raised events - Added support for conditional loading of plugins -### css-theme - -#### Added - - - Changes to UI colors - ### i18n #### Added @@ -3218,16 +2909,6 @@ - Initial release for Paco, a pattern for summer pants -### components - -#### Added - - - Added Paco to LineDrawing component - -#### Removed - - - Removed the `Footer` component - ### core #### Fixed @@ -3300,12 +2981,6 @@ - Hem radius can no longer be zero. Use teh `square` hem style for that -### components - -#### Added - - - Workbench now includes events debug output and enables debug by default - ### core #### Added @@ -3314,18 +2989,6 @@ - Added a new `debug` setting - Shorthand now proxies objects to allow debug and raise -### css-theme - -#### Added - - - Added themeing for events - -### utils - -#### Added - - - Added backend calls for creating gists/issues on Github - ## 2.7.0 (2020-07-12) @@ -3614,24 +3277,6 @@ - A FreeSewing plugin for mirroring points or paths - Initial release -### components - -#### Added - - - The `sampleConfigurator` component now supports the antwoman test (in addition to the antman test) - - Changed `models` to `people` in `sampleConfigurator` - - The `Legend` component is new, it is similar to the `Example` component but only for the pattern notation legend - - Added support for custom sample styles - - Added Titan linedrawing - -#### Changed - - - Handle escaped quotes for React render. See [#437](https://github.com/freesewing/freesewing/issues/437) - -#### Fixed - - - Fixed bug that broke millimeter sliders - ### core #### Added @@ -3644,12 +3289,6 @@ - [Properly escape quotes in imperial units](https://github.com/freesewing/freesewing/issues/437) -### css-theme - -#### Changed - - - Updated the width of the SVG paths of a draft to match plugin-theme - ### i18n #### Changed @@ -3665,21 +3304,6 @@ - Ported models to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - Removed `Circumference` suffix from measurement names -### utils - -#### Added - - - Added new `isDegMeasurement` method. See [#358](https://github.com/freesewing/freesewing/issues/358) - - `neckStimate` now supports all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - -#### Changed - - - Changed `neckstimate` to handle new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358) - - Changed `neckstimate` to support all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - - Ported `neckstimate` to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - - Removed `Circumference` suffix from measurement names - - Added the `isDegMeasurement` method - ## 2.6.0 (2020-05-01) @@ -3717,23 +3341,6 @@ - Closed the front seam path - Draft the front lining/facing even when complete is falsy -### plugin-export-dxf - -#### Added - - - This plugin can export your pattern as DXF-ASTM - - Initial release - -### components - -#### Added - - - [#368](https://github.com/freesewing/freesewing/issues/368): Allow pan and zoom in the Workbench component. - - [#374](https://github.com/freesewing/freesewing/issues/374): Allow (extra) translations to be added to the workbench component - - New shortcut buttons and sidebar collapse support for Workbench - - Refactor to remove prop-types dependency - - Reworked the withLanguage component to allow adding translations at run-time - ### core #### Changed @@ -3741,12 +3348,6 @@ - utils now includes `Bezier` which holds the bezier-js library so you don't need to re-import it - We no longer set the plugin configuration/data object to fall in `pattern.use()` -### css-theme - -#### Added - - - New styled for updated Workbench component - ### i18n #### Changed @@ -3762,16 +3363,6 @@ - Diana is a top with a draped neck -### css-theme - -#### Changed - - - The sidebar no longer has a different background - -#### Fixed - - - Fixed incorrect border value on active sidebar link - ### i18n #### Added @@ -3802,12 +3393,6 @@ - Check whether frontScyeDart option is zero prior to implementing it -### utils - -#### Changed - - - neckstimate() now returns values rounded to nearest mm - ## 2.4.4 (2020-03-15) @@ -3865,12 +3450,6 @@ - Added *for* to title output -### components - -#### Changed - - - Don't load docs in DraftConfigurator - ### i18n #### Added @@ -3880,18 +3459,6 @@ ## 2.4.1 (2020-03-04) -### components - -#### Fixed - - - Fixed `updatePatternData` props issue in the Workbench component - -### utils - -#### Fixed - - - [#542](https://github.com/freesewing/freesewing.org/issues/542): Prevent neckstimate from throwing when getting an unexpected measurement - ## 2.4.0 (2020-02-29) @@ -4054,20 +3621,6 @@ - Fixed tags in pattern config file -### components - -#### Added - - - Added LineDrawing for Breanna - -#### Changed - - - DraftConfigurator has been updated to reflect frontend naming changes - - Updated Workbench component to pass data rather than gist to DraftConfigurator - - Term `pattern` is now `design` - - Term `recipe` is now `pattern` - - Term `gist` is now `data` - ### core #### Added @@ -4075,17 +3628,6 @@ - Added the `Path.noop()` method - Added the `Path.insop()` methods -### css-theme - -#### Added - - - Added styling for table.data - -#### Changed - - - Added new styles for the frontend changes in 2.2 - - Removed smaller fonts in ul.links - ### i18n #### Added @@ -4108,19 +3650,6 @@ - Extended the menswear size range to have 10 different sizes, just like womenswear -### mui-theme - -#### Changed - - - Changed the light background to `#f8f9fa` rather than `#fff` - - Changed the navbar to be light/dark based on the theme, rather than always dark - -### utils - -#### Changed - - - Neckstimate now uses proportions only - ## 2.1.9 (2020-01-18) @@ -4158,12 +3687,6 @@ ## 2.1.6 (2019-11-24) -### utils - -#### Fixed - - - [#317](https://github.com/freesewing/freesewing.org/issues/317): Fixed bug where format was not passed to formatImperial - ## 2.1.5 (2019-11-19) @@ -4176,16 +3699,6 @@ ## 2.1.4 (2019-11-01) -### components - -#### Deprecated - - - The Draft component has been renamed to Render. Draft still works, but will be removed in a future release. - -#### Removed - - - The Ogol component has been removed as it wasn't used - ## 2.1.3 (2019-10-18) @@ -4195,16 +3708,6 @@ - More translated strings -### utils - -#### Changed - - - Adjusted slope of the shoulderToShoulder measurement in neckstimate data - -#### Fixed - - - [#250](https://github.com/freesewing/freesewing.org/issues/250): Model page stays empty with pre 2.0 model data: Error: 'neckstimate() requires a valid measurement name as second parameter. (received underBust)' - ## 2.1.2 (2019-10-14) @@ -4217,38 +3720,6 @@ ## 2.1.1 (2019-10-13) -### components - -#### Added - - - Added the fixme type Blockquote component - -### css-theme - -#### Fixed - - - Fixed padding issue on mobile - -### gatsby-remark-jargon - -#### Added - - - Added the gatsby-remark-jargon package, a gatbsy plugin wrapping remark-jargon - - Initial release - -### remark-jargon - -#### Added - - - Added the remark-jargon package, a remark plugin for jargon terms - - Initial release - -### utils - -#### Fixed - - - Fixed an issue with the formatMm method not adding units - ## 2.1.0 (2019-10-06) @@ -4288,58 +3759,18 @@ - Added the Waralee wrap Pants pattern by @woutervdub - Initial release -### components - -#### Added - - - Added support for restoring recipe and pattern defaults in DraftConfigurator - -#### Changed - - - Added Penelope and Waralee linedrawings - - Changed animation of the Spinner component - -#### Fixed - - - Fixed display of nested option in SampleConfigurator - - Fixed conflicting key values in React components - - Fixed issue with display of list options in Draftconfigurator - ### core #### Changed - The pattern super constructor now sets a `config` property that holds the pattern configuration. This means that unlike before, there is no need to instantiate a pattern to access its config. You can just import the pattern, and it's config property will contain the pattern config. -### css-theme - -#### Changed - - - Made tweaks to the main/sidebar layout - -#### Fixed - - - Reduced the sidebar height by 64px to take navbar into account - - Fixed blockquote width on XS screens - - Made sidebar wider - ### i18n #### Added - Added translations for Penelope, Waralee, and Simone -### utils - -#### Added - - - Added backend methods for administration - - Added the resendActivationEmail method to backend - -#### Fixed - - - Fixed an issue where optionDefault was not handling list options correctly - ## 2.0.4 (2019-09-27) @@ -4349,16 +3780,6 @@ - [#108](https://github.com/freesewing/freesewing/issues/108): Fixed incorrect width of the Carlton tail -### components - -#### Added - - - Advanced options and settings are now hidden by default in DraftConfigurator - -#### Fixed - - - [#104](https://github.com/freesewing/freesewing/issues/104): Fixed incorrect embed setting on Workbench pattern export - ## 2.0.3 (2019-09-15) @@ -4368,18 +3789,6 @@ - [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance -### components - -#### Changed - - - Tweaked DraftConfigurator tags to match CSS rules after frontend upgrade to react-intl v3 - -### utils - -#### Fixed - - - Fix measurementDiffers to pass breasts parameter to neckstimate - ## 2.0.2 (2019-09-06) @@ -4403,33 +3812,12 @@ - [#102](https://github.com/freesewing/freesewing.org/issues/102): Fixed 'Snippets not defined' error when drafting a seperate button placket - [#103](https://github.com/freesewing/freesewing.org/issues/103): Fixed 'hemSa not defined' when drafting paperless Simon without seam allowance -### components - -#### Fixed - - - [#104](https://github.com/freesewing/freesewing.org/issues/104): Changed `onDragEnd` to `onChangeCommitted` in slider element (change in material-ui API when slider came out of beta) - - Workbench now also lets you preload a `withBreasts` set of measurements - - DraftConfigurator now properly styles pattern options 3 levels deep - - [#105](https://github.com/freesewing/freesewing.org/issues/105): Moved state change in render loop to useEffect - -### css-theme - -#### Fixed - - - Updated styles for DraftConfigurator component for pattern options 3 levels deep - ### i18n #### Added - [#90](https://github.com/freesewing/freesewing/issues/90): Added missing option translations for Benjamin, Florent, Sandy, Shin, and Theo -### utils - -#### Fixed - - - Removed lingering debug statement in formatImperial - ## 2.0.1 (2019-09-01) @@ -4454,12 +3842,6 @@ - [#86](https://github.com/freesewing/freesewing/issues/86): The `seatCircumference` measurement was missing, thus making it unavailable on the website -### utils - -#### Added - - - The `measurementDiffers` method is new. - ## 2.0.0 (2019-08-25) @@ -4693,30 +4075,12 @@ ### plugin-title -#### Added - - - Initial release - -### plugin-validate - -#### Added - - - Initial release - -### components - #### Added - Initial release ### core -#### Added - - - Initial release - -### css-theme - #### Added - Initial release @@ -4729,12 +4093,6 @@ ### models -#### Added - - - Initial release - -### mui-theme - #### Added - Initial release @@ -4751,10 +4109,4 @@ - Initial release -### utils - -#### Added - - - Initial release - diff --git a/README.md b/README.md index b4f2c1339e1..3a0e1909b98 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,6 @@ Check out [out v3 roadmap](https://github.com/freesewing/freesewing/discussions/ see what we've planning. And we are open to ideas/suggestions for what you would like to see in our mext major release. -Also note that the default branch (`develop`) is dedicated to work on version 3. -Code for version to is available in the `v2` branch. - ## Getting started ⚡ As this is a monorepo. You'll need [NodeJS v14](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system. @@ -270,4 +267,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! \ No newline at end of file diff --git a/config/software/packages.json b/config/software/packages.json index bc436407246..e8a2fd32e6e 100644 --- a/config/software/packages.json +++ b/config/software/packages.json @@ -1,16 +1,10 @@ { - "components": "A collection of React components for FreeSewing web UIs", "config-helpers": "A FreeSewing package to facilitate pattern configurations", "core": "A library for creating made-to-measure sewing patterns", - "css-theme": "A CSS theme for FreeSewing web UIs", - "gatsby-remark-jargon": "A gatsby-transformer-remark sub-plugin for jargon terms", "i18n": "Translations for the FreeSewing project", "models": "Body measurements data for a range of default sizes", - "mui-theme": "A Material-UI theme for FreeSewing web UIs", "new-design": "Initializer package for a new FreeSewing design: npx @freesewing/new-design", "pattern-info": "Information about available freesewing patterns", "prettier-config": "FreeSewing's shared configuration for prettier", - "rehype-jargon": "A Rehype plugin for jargon terms", - "remark-jargon": "A Remark plugin for jargon terms", - "utils": "A collection of utilities shared across freesewing projects" + "rehype-jargon": "A Rehype plugin for jargon terms" } diff --git a/config/software/plugins.json b/config/software/plugins.json index c0fdfc51493..202ab1dbb30 100644 --- a/config/software/plugins.json +++ b/config/software/plugins.json @@ -6,7 +6,6 @@ "plugin-buttons": "A FreeSewing plugin that provides button, buttonhole, and snap snippets", "plugin-cutonfold": "A FreeSewing plugin to add cut-on-fold indicators on your patterns", "plugin-dimension": "A FreeSewing plugin to add dimensions to your (paperless) pattern", - "plugin-export-dxf": "A FreeSewing plugin to export your pattern as DXF-ASTM", "plugin-flip": "A FreeSewing plugin to flip parts horizontally", "plugin-gore": "A FreeSewing plugin to generate gores for a semi-sphere or dome", "plugin-grainline": "A FreeSewing plugin to add grainline indicators on your patterns", @@ -21,7 +20,6 @@ "plugin-svgattr": "A FreeSewing plugin to set SVG attributes", "plugin-theme": "A FreeSewing plugin that provides a default theme", "plugin-title": "A FreeSewing plugin to add a title to your pattern parts", - "plugin-validate": "A FreeSewing plugin that validates aspects of your code", "plugin-versionfree-svg": "A FreeSewing plugin to keep version info out of your SVG to allow easy diffs across versions" } diff --git a/config/software/sites.json b/config/software/sites.json index a6fca268b9f..6effdaab4ae 100644 --- a/config/software/sites.json +++ b/config/software/sites.json @@ -3,7 +3,5 @@ "dev": "FreeSewing website with documentation for contributors & developers", "lab": "FreeSewing website to test various patterns", "org": "FreeSewing website", - "shared": "Shared code and React components for different websites", - "strapi": "Freesewing's Strapi instance", - "svgtopdf": "FreeSewing on-demand tiler" + "shared": "Shared code and React components for different websites" } diff --git a/packages/components/.storybook/addons.js b/packages/components/.storybook/addons.js deleted file mode 100644 index 17e38ee9002..00000000000 --- a/packages/components/.storybook/addons.js +++ /dev/null @@ -1,4 +0,0 @@ -import "storybook-addon-material-ui"; -import "@storybook/addon-backgrounds/register"; -import "@storybook/addon-knobs/register"; -//import '@storybook/addon-notes/register'; diff --git a/packages/components/.storybook/backgrounds.js b/packages/components/.storybook/backgrounds.js deleted file mode 100644 index 724b15b14ee..00000000000 --- a/packages/components/.storybook/backgrounds.js +++ /dev/null @@ -1,11 +0,0 @@ -export const dark = [ - { - name: "dark", - value: "#212529", - default: true - } -]; - -export default { - dark -}; diff --git a/packages/components/.storybook/config.js b/packages/components/.storybook/config.js deleted file mode 100644 index 045a4b3321a..00000000000 --- a/packages/components/.storybook/config.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import "../../css-theme/dist/theme.css"; -import { configure } from "@storybook/react"; -import { addDecorator } from "@storybook/react"; -import { IntlProvider } from "react-intl"; -import { strings } from "@freesewing/i18n"; - -function loadStories() { - // Load all 'stories.js' files under src - const req = require.context("../src", true, /stories\.js$/); - req.keys().forEach(filename => req(filename)); -} - -addDecorator(story => ( - - {story()} - -)); - -configure(loadStories, module); diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md deleted file mode 100644 index 7a0e91024a7..00000000000 --- a/packages/components/CHANGELOG.md +++ /dev/null @@ -1,331 +0,0 @@ -# Change log for: @freesewing/components - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.20.8 (2022-05-21) - -### Fixed - - - Fix restore of pattern defaults in draft configurator Closes [#1932](https://github.com/freesewing/freesewing/issues/1932) - -## 2.20.7 (2022-02-20) - -### Fixed - - - Type-check for optionalMeasurements key in gist Closes [#1918](https://github.com/freesewing/freesewing/issues/1918) - -## 2.20.6 (2022-02-17) - -### Fixed - - - Handle unset props.pattern in DraftConfigurator option.hide check - -## 2.20.0 (2022-01-24) - -### Added - - - Added support for `settings.scale` to Draft and Workbench components - -### Fixed - - - Support handling of ` ` in text - -## 2.19.2 (2021-11-02) - -### Added - - - Added linedrawing for Tiberius - - Added linedrawing for Walburga - -## 2.19.0 (2021-10-17) - -### Added - - - Added Bee linedrawing - -### Changed - - - Added measurements for dolls & giants to Workbench measurments selector - - Added sampling for dolls & giants to Workbench tests - -### Fixed - - - Added missing linedrawing for Yuri - -## 2.17.0 (2021-07-01) - -### Added - - - Added Reddit icon to Icon component - - Added Ursula linedrawing to Linedrawings - -### Changed - - - Caption should not be passed as children to Legend and Example components See https://github.com/freesewing/freesewing/issues/1043 - - Changed antman references to antperson - -### Removed - - - Removed Gitter icon from Icon component - -### Fixed - - - Correctly load saved value for mm options See [#1136](https://github.com/freesewing/freesewing/issues/1136) - -## 2.16.2 (2021-05-05) - -### Fixed - - - Don't publish ESM modules as it causes issues with react-intl See [#1079](https://github.com/freesewing/freesewing/issues/1079) - -## 2.16.1 (2021-05-30) - -### Added - - - Added a new `designs` icon - - We now publish .mjs files again for the different components - -## 2.16.0 (2021-05-24) - -### Changed - - - Migrated to React 17 - - Migrated to create-react-app/react-scripts 4 - - Migrated to Webpack 5 - - Changes to Workbench - - Added rollup sass plugin - - Updated for new major version of react-markdown - -## 2.15.0 (2021-04-15) - -### Added - - - Added charlie LineDrawing - -### Changed - - - Show raised info above pattern in workbench - - Round point coordinates in design UI now that they are no longer rounded in core - -### Fixed - - - Always show design mode switch - -## 2.14.0 (2021-03-07) - -### Added - - - Added Bella linedrawing - - Added Cornelius linedrawing - -## 2.13.0 (2021-02-13) - -### Added - - - Linedrawing for hortensia - -### Fixed - - - Check point attributes are present before using them - -## 2.11.3 (2021-01-16) - -### Fixed - - - Fixed links in Workbench footer - -## 2.11.2 (2021-01-11) - -### Fixed - - - Fixed links in Workbench footer - -## 2.11.0 (2021-01-10) - -### Added - - - Added some more examples to the Examples component - - Draft configurator now supports collapsing of subgroups - - Draft configurator now supports actions atop the menu - -### Removed - - - Removed the Emblem component - - Removed the Navbar component - - Removed the Ogol component - -### Fixed - - - Include basic themeing in Example component - - Updated the note and tip icons - -## 2.10.6 (2020-11-15) - -### Added - - - Workbench now supports loading a pattern configuration from a (github) gist - -## 2.10.3 (2020-11-08) - -### Changed - - - Draft component now supports snippets in the same way as the render method - -## 2.10.1 (2020-11-07) - -### Changed - - - Changes to workbench - -## 2.9.0 (2020-10-02) - -### Added - - - Added Teagan line drawing - - Added Discord icon in Icon component - -## 2.8.0 (2020-08-10) - -### Added - - - Added Paco to LineDrawing component - -### Removed - - - Removed the `Footer` component - -## 2.7.1 (2020-07-24) - -### Added - - - Workbench now includes events debug output and enables debug by default - -## 2.7.0 (2020-07-12) - -### Added - - - The `sampleConfigurator` component now supports the antwoman test (in addition to the antman test) - - Changed `models` to `people` in `sampleConfigurator` - - The `Legend` component is new, it is similar to the `Example` component but only for the pattern notation legend - - Added support for custom sample styles - - Added Titan linedrawing - -### Changed - - - Handle escaped quotes for React render. See [#437](https://github.com/freesewing/freesewing/issues/437) - -### Fixed - - - Fixed bug that broke millimeter sliders - -## 2.6.0 (2020-05-01) - -### Added - - - [#368](https://github.com/freesewing/freesewing/issues/368): Allow pan and zoom in the Workbench component. - - [#374](https://github.com/freesewing/freesewing/issues/374): Allow (extra) translations to be added to the workbench component - - New shortcut buttons and sidebar collapse support for Workbench - - Refactor to remove prop-types dependency - - Reworked the withLanguage component to allow adding translations at run-time - -## 2.4.2 (2020-03-08) - -### Changed - - - Don't load docs in DraftConfigurator - -## 2.4.1 (2020-03-04) - -### Fixed - - - Fixed `updatePatternData` props issue in the Workbench component - -## 2.2.0 (2020-02-22) - -### Added - - - Added LineDrawing for Breanna - -### Changed - - - DraftConfigurator has been updated to reflect frontend naming changes - - Updated Workbench component to pass data rather than gist to DraftConfigurator - - Term `pattern` is now `design` - - Term `recipe` is now `pattern` - - Term `gist` is now `data` - -## 2.1.4 (2019-11-01) - -### Deprecated - - - The Draft component has been renamed to Render. Draft still works, but will be removed in a future release. - -### Removed - - - The Ogol component has been removed as it wasn't used - -## 2.1.1 (2019-10-13) - -### Added - - - Added the fixme type Blockquote component - -## 2.1.0 (2019-10-06) - -### Added - - - Added support for restoring recipe and pattern defaults in DraftConfigurator - -### Changed - - - Added Penelope and Waralee linedrawings - - Changed animation of the Spinner component - -### Fixed - - - Fixed display of nested option in SampleConfigurator - - Fixed conflicting key values in React components - - Fixed issue with display of list options in Draftconfigurator - -## 2.0.4 (2019-09-27) - -### Added - - - Advanced options and settings are now hidden by default in DraftConfigurator - -### Fixed - - - [#104](https://github.com/freesewing/freesewing/issues/104): Fixed incorrect embed setting on Workbench pattern export - -## 2.0.3 (2019-09-15) - -### Changed - - - Tweaked DraftConfigurator tags to match CSS rules after frontend upgrade to react-intl v3 - -## 2.0.2 (2019-09-06) - -### Fixed - - - [#104](https://github.com/freesewing/freesewing.org/issues/104): Changed `onDragEnd` to `onChangeCommitted` in slider element (change in material-ui API when slider came out of beta) - - Workbench now also lets you preload a `withBreasts` set of measurements - - DraftConfigurator now properly styles pattern options 3 levels deep - - [#105](https://github.com/freesewing/freesewing.org/issues/105): Moved state change in render loop to useEffect - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/components/README.md b/packages/components/README.md deleted file mode 100644 index 5acd2ec8211..00000000000 --- a/packages/components/README.md +++ /dev/null @@ -1,288 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/components on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:components - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/components - -A collection of React components for FreeSewing web UIs - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/components - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Adam Tomkins

📖

Alexandre Ignjatovic

💻

AlfaLyr

💻 🔌 🎨

Andrew James

📖

Anneke

📖 🌍

Annie Kao

📖

Anternative

📖

Anthony

💬

Ari Grayzel-student

💻

BenJamesBen

💻 📖

Cameron Dubas

📖

Carsten Biebricher

📖

Cathy Zoller

📖

Chantal Lapointe

🌍

Damien PIQUET

💻

Darigov Research

📖 🤔

Elena FdR

📖 📝

Emmanuel Nyachoke

💻 📖

Enoch Riese

💻

EvEkSwed

🌍

Fantastik-Maman

🌍

Forrest O.

📖

Frédéric

🌍

Glenn Matthews

📖

Greg Sadetsky

📖

Igor Couto

🐛

Ikko Ashimine

📖

Irapeke

🌍

Jacek Sawoszczuk

📖

Jason Williams

📖

Jeremy Jackson

💻

Joe Schofield

📖

Joebidido

🌍

Joost De Cock

🚧

Josh Essman

📖

Kake

📖

Kapunahele Wong

📖

Karen

📖 📋

Katie McGinley

📖

Kieran Klaassen

💻

Kittycatou

🌍

Kris

📖

Kristin Ruben

💻

Loudepeuter

🌍

Lucian

📋

Marcus

🌍

Martin Tribo

📖

Nadege Michel

⚠️ 📖

Natalia

💻 🎨 📝

Nathan Yergler

📖

Nick Dower

📖 💻 🐛

Nikhil Chelliah

📖

OysteinHoiby

💻

Patrick Forringer

🔌

Paul

📖 📝 🌍

Phillip Thelen

💻

Pixieish

📖

Prof. dr. Sorcha Ní Dhubhghaill

📖

Quentin FELIX

💻 🎨

Rik Hekker

🐛

Sam Livingston-Gray

📖

Sanne

💻 📖

Sara Latorre

🌍

SeaZeeZee

📖 💻

SimonbJohnson

🐛

Slylele

📖 🌍

Soazillon

🌍

SoneaTheBest

🌍

Stefan Sydow

🌍 📖 💻

Tríona

📖

Unmutual

📖

Wouter van Wageningen

💻 🎨 🔧

amysews

📖

anna-puk

💻

beautifulsummermoon

🌍

berce

📖

biou

💻

bobgeorgethe3rd

💻 📖 🎨

brmlyklr

📖

chri5b

💻 ⚠️

dingcycle

🌍

drowned-in-books

💬

econo202

📖

ericamattos

🌍

fightingrabbit

💻

gaylyndie

📖

grimlokason

💻

hellgy

🎨

jackseye

📖

marckiesel

🌍

mesil

🐛

starfetch

💻 📖 🌍 🎨

ttimearl

🖋

tuesgloomsday

📖

valadaptive

💻

viocky

🌍

woolishboy

💻

yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/components/build.js b/packages/components/build.js deleted file mode 100644 index 8983eb0d9a4..00000000000 --- a/packages/components/build.js +++ /dev/null @@ -1,67 +0,0 @@ -/* This script will build the various components with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: [ - './src/Blockquote/index.js', - './src/Draft/index.js', - './src/DraftConfigurator/index.js', - './src/Example/index.js', - './src/Icon/index.js', - './src/Legend/index.js', - './src/LineDrawing/index.js', - './src/Logo/index.js', - './src/Robot/index.js', - './src/SampleConfigurator/index.js', - './src/Spinner/index.js', - './src/withGist/index.js', - './src/withLanguage/index.js', - './src/withStorage/index.js', - './src/Workbench/index.js', - ], - external: [ - "@freesewing", - "react", - "react-dom", - "react-intl", - "@material-ui", - "axios", - "babel", - "prismjs", - "react-markdown", - "file-saver", - "yaml", - ], - format: 'cjs', - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - loader: { '.js': 'jsx' }, - outdir: './', - sourcemap: true, -} - -// Let esbuild do its thing -// Only generating CJS since this will be dropped in v3 -let result -(async () => { - result = await esbuild - .build(options) - .catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -})() diff --git a/packages/components/info.md b/packages/components/info.md deleted file mode 100644 index 2201ea27009..00000000000 --- a/packages/components/info.md +++ /dev/null @@ -1,4 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - diff --git a/packages/components/package.json b/packages/components/package.json deleted file mode 100644 index ef9dceec1ad..00000000000 --- a/packages/components/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "@freesewing/components", - "version": "3.0.0-alpha.0", - "description": "A collection of React components for FreeSewing web UIs", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "react" - ], - "main": "dist/index.js", - "scripts": { - "build": "node build.js", - "clean": "rimraf Blockquote && rimraf Draft && rimraf DraftConfigurator && rimraf Emblem && rimraf Example && rimraf Footer && rimraf Icon && rimraf Legend && rimraf LineDrawing && rimraf Logo && rimraf Navbar && rimraf Ogol && rimraf Robot && rimraf SampleConfigurator && rimraf Spinner && rimraf withGist && rimraf withLanguage && rimraf withStorage && rimraf Workbench", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"components: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "storybook": "start-storybook -p 6663", - "cibuild_step6": "node build.js" - }, - "peerDependencies": { - "axios": "^0.25.0", - "react": "^17.0.2", - "@freesewing/pattern-info": "^3.0.0-alpha.0", - "@freesewing/mui-theme": "^3.0.0-alpha.0", - "@freesewing/css-theme": "^3.0.0-alpha.0", - "@freesewing/plugin-theme": "^3.0.0-alpha.0", - "@freesewing/core": "^3.0.0-alpha.0", - "@freesewing/models": "^3.0.0-alpha.0", - "@freesewing/examples": "^3.0.0-alpha.0", - "@freesewing/rendertest": "^3.0.0-alpha.0", - "@freesewing/tutorial": "^3.0.0-alpha.0", - "@fontsource/permanent-marker": "latest", - "@fontsource/roboto-mono": "latest", - "@fontsource/ubuntu": "latest", - "@freesewing/i18n": "^3.0.0-alpha.0", - "@freesewing/utils": "^3.0.0-alpha.0", - "react-intl": "^5.25.1", - "@material-ui/core": "^4.12.3", - "@material-ui/icons": "^4.11.2", - "@material-ui/lab": "^v4.0.0-alpha.60", - "prismjs": "^1.25.0", - "react-markdown": "^6.0.2", - "file-saver": "^2.0.5", - "yaml": "^1.10.2" - }, - "dependencies": {}, - "devDependencies": {}, - "files": [ - "Blockquote/*", - "Draft/*", - "DraftConfigurator/*", - "Emblem/*", - "Example/*", - "Footer/*", - "Icon/*", - "Legend/*", - "LineDrawing/*", - "Logo/*", - "Navbar/*", - "Ogol/*", - "Robot/*", - "SampleConfigurator/*", - "Spinner/*", - "withGist/*", - "withLanguage/*", - "withStorage/*", - "Workbench/*" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/components/src/.form/FormFieldBool/index.js b/packages/components/src/.form/FormFieldBool/index.js deleted file mode 100644 index c8482f5cdac..00000000000 --- a/packages/components/src/.form/FormFieldBool/index.js +++ /dev/null @@ -1,36 +0,0 @@ -import React, { useState, useEffect } from 'react' -import Radio from '@material-ui/core/Radio' -import RadioGroup from '@material-ui/core/RadioGroup' -import FormControlLabel from '@material-ui/core/FormControlLabel' - -const Bool = ({ dflt = false, labels = ['false', 'true'], value, name, updateValue }) => { - const [val, setVal] = useState(dflt) - useEffect(() => { - if (value !== val) setVal(value) - }, [value]) - const toggle = () => { - updateValue(name, !val) - setVal(!val) - } - - return ( - - } - value="false" - checked={val === 'true' || val === true || val === 1 ? false : true} - label={labels[0]} - className="po-list-item" - /> - } - value="true" - checked={val === 'true' || val === true || val === 1 ? true : false} - label={labels[1]} - className="po-list-item" - /> - - ) -} - -export default Bool diff --git a/packages/components/src/.form/FormFieldBool/stories.js b/packages/components/src/.form/FormFieldBool/stories.js deleted file mode 100644 index a1d7474647b..00000000000 --- a/packages/components/src/.form/FormFieldBool/stories.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import FormFieldBool from "."; - -const props = { - updateValue: (name, value) => - console.log(`Updated option ${name}, value is now: ${value}`), - name: "exampleBoolOption" -}; -const noyes = ["No", "Yes"]; - -storiesOf("Low level/Form/FormFieldBool", module) - .add("Basic", () => ) - .add("False", () => ) - .add("True", () => ) - .add("No", () => ) - .add("Yes", () => ); diff --git a/packages/components/src/.form/FormFieldChecks/index.js b/packages/components/src/.form/FormFieldChecks/index.js deleted file mode 100644 index 087fd183113..00000000000 --- a/packages/components/src/.form/FormFieldChecks/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import React, { useState } from 'react' -import FormGroup from '@material-ui/core/FormGroup' -import FormControlLabel from '@material-ui/core/FormControlLabel' -import Checkbox from '@material-ui/core/Checkbox' - -const FormFieldChecks = (props) => { - const [value, setValue] = useState(props.dflt ? props.dflt : []) - - const toggle = (part) => { - let parts = value.slice(0) - let index = parts.indexOf(part) - if (index === -1) parts.push(part) - else parts.splice(index, 1) - setValue(parts) - props.updateValue(props.name, parts) - } - - return ( - - {Object.keys(props.checks).map((i) => { - return ( - toggle(i)} - value={i} - /> - } - label={props.checks[i]} - key={i} - className="po-list-item" - /> - ) - })} - - ) -} - -export default FormFieldChecks diff --git a/packages/components/src/.form/FormFieldChecks/stories.js b/packages/components/src/.form/FormFieldChecks/stories.js deleted file mode 100644 index 57081652161..00000000000 --- a/packages/components/src/.form/FormFieldChecks/stories.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import FormFieldChecks from "."; - -const props = { - updateValue: (name, value) => - console.log(`Updated option ${name}, value is now: ${value}`), - name: "exampleChecksOption", - checks: { - apple: "Apple", - banana: "Banana", - cherry: "Cherry" - }, - dflt: [] -}; - -storiesOf("Low level/Form/FormFieldChecks", module) - .add("Basic", () => ) - .add("Apple", () => ) - .add("Banana", () => ) - .add("Cherry", () => ); diff --git a/packages/components/src/.form/FormFieldList/index.js b/packages/components/src/.form/FormFieldList/index.js deleted file mode 100644 index 58761b512ea..00000000000 --- a/packages/components/src/.form/FormFieldList/index.js +++ /dev/null @@ -1,32 +0,0 @@ -import React, { useState, useEffect } from 'react' -import Radio from '@material-ui/core/Radio' -import RadioGroup from '@material-ui/core/RadioGroup' -import FormControlLabel from '@material-ui/core/FormControlLabel' - -const FormFieldList = (props) => { - const [value, setValue] = useState(props.dflt) - useEffect(() => { - if (props.value !== value) setValue(props.value) - }, [props.value]) - const update = (evt) => { - props.updateValue(props.name, evt.target.value) - setValue(evt.target.value) - } - - return ( - - {Object.keys(props.list).map((item, index) => ( - } - value={item} - checked={value === item ? true : false} - label={props.list[item]} - className="po-list-item" - /> - ))} - - ) -} - -export default FormFieldList diff --git a/packages/components/src/.form/FormFieldList/stories.js b/packages/components/src/.form/FormFieldList/stories.js deleted file mode 100644 index a9595144d07..00000000000 --- a/packages/components/src/.form/FormFieldList/stories.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import FormFieldList from "."; - -const props = { - updateValue: (name, value) => - console.log(`Updated option ${name}, value is now: ${value}`), - name: "exampleListOption", - list: { - apple: "Apple", - banana: "Banana", - cherry: "Cherry" - } -}; - -storiesOf("Low level/Form/FormFieldList", module) - .add("Basic", () => ) - .add("Apple", () => ) - .add("Banana", () => ) - .add("Cherry", () => ); diff --git a/packages/components/src/.form/FormFieldMeasurement/index.js b/packages/components/src/.form/FormFieldMeasurement/index.js deleted file mode 100644 index 2af5ce7de0c..00000000000 --- a/packages/components/src/.form/FormFieldMeasurement/index.js +++ /dev/null @@ -1,55 +0,0 @@ -import React, { useState, useEffect } from 'react' -import TextField from '@material-ui/core/TextField' -import IconButton from '@material-ui/core/IconButton' -import InvalidIcon from '@material-ui/icons/Warning' -import InputAdornment from '@material-ui/core/InputAdornment' -import roundMm from '@freesewing/utils/roundMm' -import isDegMeasurement from '@freesewing/utils/isDegMeasurement' -import { injectIntl } from 'react-intl' - -const FormFieldMeasurement = (props) => { - const initialValue = (name, val) => (isDegMeasurement(name) ? val : roundMm(val / 10)) - - const [value, setValue] = useState(initialValue(props.name, props.value)) - useEffect(() => { - if (!isNaN(props.value)) - setValue(isDegMeasurement(props.name) ? props.value : roundMm(props.value / 10)) - }, [props.value]) - - const update = (evt) => { - setValue(evt.target.value) - if (evt.target.value.slice(-1) !== '.') { - props.updateValue(props.name, evt.target.value * (isDegMeasurement(props.name) ? 1 : 10)) - } - } - - const suffix = (name) => (isDegMeasurement(name) ? '°' : props.units === 'imperial' ? '"' : 'cm') - - return ( - - {isNaN(props.value) ? ( - - ) : ( - - {suffix(props.name)} - - )} - - ) - }} - /> - ) -} - -export default injectIntl(FormFieldMeasurement) diff --git a/packages/components/src/.form/FormFieldMeasurement/stories.js b/packages/components/src/.form/FormFieldMeasurement/stories.js deleted file mode 100644 index e632bf98f02..00000000000 --- a/packages/components/src/.form/FormFieldMeasurement/stories.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import FormFieldSlider from "."; - -const props = { - updateValue: (name, value) => - console.log(`Updated option ${name}, value is now: ${value}`), - name: "exampleSliderOption" -}; - -storiesOf("Low level/Form/FormFieldSlider", module) - .add("Basic", () => ) - .add("From 1 to 10", () => ) - .add("Step: 1", () => ( - - )) - .add("Defalt: 7", () => ( - - )); diff --git a/packages/components/src/.form/FormFieldSlider/index.js b/packages/components/src/.form/FormFieldSlider/index.js deleted file mode 100644 index d554a666a08..00000000000 --- a/packages/components/src/.form/FormFieldSlider/index.js +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useState, useEffect } from 'react' -import Slider from '@material-ui/core/Slider' -import { withStyles } from '@material-ui/core/styles' - -const PaddedSlider = withStyles({ - container: { - padding: '25px 0' - }, - track: { height: '4px' }, - thumb: { width: '16px', height: '16px' } -})(Slider) - -const FormFieldSlider = ({ - min = 0, - max = 100, - step = 0.1, - label = false, - updateValue, - name, - value -}) => { - const [val, setVal] = useState(value) - useEffect(() => { - if (value !== val) setVal(value) - }, [value]) - - const update = (evt, newValue) => { - updateValue(name, newValue, evt) - setVal(newValue) - } - - return ( - - ) -} - -export default FormFieldSlider diff --git a/packages/components/src/.form/FormFieldSlider/stories.js b/packages/components/src/.form/FormFieldSlider/stories.js deleted file mode 100644 index e632bf98f02..00000000000 --- a/packages/components/src/.form/FormFieldSlider/stories.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import FormFieldSlider from "."; - -const props = { - updateValue: (name, value) => - console.log(`Updated option ${name}, value is now: ${value}`), - name: "exampleSliderOption" -}; - -storiesOf("Low level/Form/FormFieldSlider", module) - .add("Basic", () => ) - .add("From 1 to 10", () => ) - .add("Step: 1", () => ( - - )) - .add("Defalt: 7", () => ( - - )); diff --git a/packages/components/src/.form/index.js b/packages/components/src/.form/index.js deleted file mode 100644 index 172f1ae6a46..00000000000 --- a/packages/components/src/.form/index.js +++ /dev/null @@ -1 +0,0 @@ -// noop diff --git a/packages/components/src/Blockquote/index.js b/packages/components/src/Blockquote/index.js deleted file mode 100644 index 90f24232bce..00000000000 --- a/packages/components/src/Blockquote/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react' -import Icon from '../Icon' - -const Blockquote = (props) => { - const attr = Object.assign({}, props) - delete attr.type - delete attr.children - return ( -
- {props.children || null} - {props.type !== 'fixme' && } -
- ) -} - -export default Blockquote diff --git a/packages/components/src/Draft/Circle/index.js b/packages/components/src/Draft/Circle/index.js deleted file mode 100644 index 6157384d6b6..00000000000 --- a/packages/components/src/Draft/Circle/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react' - -const Circle = (props) => ( - -) - -export default Circle diff --git a/packages/components/src/Draft/Defs/index.js b/packages/components/src/Draft/Defs/index.js deleted file mode 100644 index 20c4f1fa886..00000000000 --- a/packages/components/src/Draft/Defs/index.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react' - -const style = ` style="fill: none; stroke: currentColor;" ` -const grids = { - imperial: ` - - - - - - - `, - metric: ` - - - - - - - - - ` -} - -const Defs = (props) => { - let defs = props.svg.defs - if (props.settings.paperless) { - defs += grids[props.settings.units || 'metric'] - for (let p in props.parts) { - let anchor = { x: 0, y: 0 } - if (typeof props.parts[p].points.gridAnchor !== 'undefined') - anchor = props.parts[p].points.gridAnchor - else if (typeof props.parts[p].points.anchor !== 'undefined') - anchor = props.parts[p].points.anchor - - defs += `` - } - } - - return -} - -export default Defs diff --git a/packages/components/src/Draft/DesignPath/index.js b/packages/components/src/Draft/DesignPath/index.js deleted file mode 100644 index 208c7e56655..00000000000 --- a/packages/components/src/Draft/DesignPath/index.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from 'react' - -const DesignPath = (props) => { - let output = [] - let i = 0 - let from = null - for (let op of props.path.ops) { - let key = props.part + props.name + i - if (op.type === 'curve') { - output.push( - - ) - i++ - output.push( - - ) - i++ - output.push( - - ) - i++ - output.push( - - ) - from = op.to - } else if (op.type !== 'close') from = op.to - } - output.push( - - props.raiseEvent('path', { - path: props.path, - name: props.name, - part: props.part - }) - } - className="design hovertrap" - /> - ) - return output -} - -export default DesignPath diff --git a/packages/components/src/Draft/DesignPath/logo-path.js b/packages/components/src/Draft/DesignPath/logo-path.js deleted file mode 100644 index 1db5f06810b..00000000000 --- a/packages/components/src/Draft/DesignPath/logo-path.js +++ /dev/null @@ -1 +0,0 @@ -export default 'M 35.222,0 C 34.233,0.703 34.284,0.613 33.485,0.874 31.653,1.473 29.896,1.144 27.811,0.97 27.184,0.9 26.562,0.859 25.955,0.855 22.89,0.834 20.287,1.733 19.794,4.243 18.885,4.794 18.049,5.461 17.221,6.129 15.453,7.524 14.122,9.229 13.214,11.284 11.974,14.319 13.094,17.576 13.649,20.652 13.781,21.372 13.919,22.058 13.993,22.323 14.098,22.696 14.283,23.052 14.484,23.372 14.531,23.38 14.779,22.998 14.838,22.829 14.924,22.583 14.915,22.188 14.821,21.848 14.613,21.083 14.415,20.462 14.398,20.15 14.368,19.564 14.482,19.023 14.696,18.755 14.772,18.66 14.946,19.15 14.901,19.332 14.848,19.551 14.808,19.926 14.825,20.099 14.872,20.685 14.958,21.312 15.065,21.86 15.202,22.567 15.261,23.021 15.236,23.197 15.218,23.325 15.158,23.454 14.928,23.85 14.728,24.197 14.624,24.478 14.608,24.726 14.591,24.968 14.664,25.573 14.732,25.721 14.831,25.952 15.129,26.195 15.389,26.255 15.638,26.35 15.763,26.547 15.891,26.768 16.202,27.361 16.442,28.083 16.68,29.171 16.796,29.692 16.893,30.157 16.924,30.401 15.004,30.403 12.545,30.404 10.305,30.404 9.551,30.416 8.189,30.062 6.94,29.98 6.759,28.026 5.901,25.756 4.433,25.624 3.431,25.533 2.6,25.914 1.897,27.497 L 1.917,27.582 C 2.332,27.235 2.77,26.174 4.348,26.247 5.56,26.302 5.964,28.596 6.084,29.976 5.346,30.03 4.718,30.257 4.39,30.824 L 4.383,30.824 C 4.383,30.825 4.383,30.827 4.386,30.829 4.383,30.831 4.383,30.833 4.383,30.835 L 4.39,30.835 C 4.728,31.416 5.379,31.641 6.144,31.686 6.655,46.136 20.238,48 23.95,48 37.798,48 42.646,38.59 43.375,34.863 43.716,36.451 42.642,38.474 42.385,39.967 45.306,36.59 44.778,33.343 44.244,30.077 44.688,30.605 45.289,30.932 46.104,30.751 45.523,30.363 44.735,30.635 44.263,28.998 44.057,28.291 43.879,27.761 43.702,27.316 43.32,25.883 42.778,24.514 42.112,23.18 41.55,21.733 41.921,20.795 41.865,19.553 42.876,22.887 43.508,23.774 44.688,24.123 41.72,20.547 42.736,15.01 41.059,10.068 41.818,10.514 42.684,10.648 43.606,10.103 42.714,9.849 41.824,10.52 40.544,8.639 39.463,6.536 37.897,4.983 35.997,3.613 34.979,2.949 33.849,2.503 32.713,2.089 33.87,1.799 35.162,0.769 35.222,0 z M 33.281,11.107 C 34.805,11.663 36.485,13.775 36.466,15.847 L 36.466,15.933 36.466,15.963 C 36.425,18.777 35.146,20.29 35.2,22.164 35.269,24.371 36.219,25.141 36.408,25.509 36.084,24.148 35.894,22.436 36.322,21.08 36.872,19.336 37.427,17.892 37.387,16.526 37.367,16.206 37.231,15.009 37.14,14.479 38.774,16.837 36.786,20.266 37.358,22.51 38.352,26.419 42.807,26.913 41.481,34.789 40.314,41.713 32.318,46.968 24.122,46.968 18.046,46.968 7.517,43.605 6.997,31.676 8.232,31.588 9.56,31.244 10.305,31.256 12.557,31.256 15.129,31.257 17.067,31.258 17.431,32.9 17.704,33.296 19.085,34.39 20.621,35.598 20.979,35.745 23.251,35.767 25.524,35.79 26.198,35.303 28.403,33.217 28.879,32.659 29.085,31.928 29.316,31.241 31.584,31.22 33.238,31.18 34.865,31.104 36.522,31.029 36.756,31.104 39.426,30.829 36.756,30.554 36.522,30.629 34.865,30.553 33.281,30.481 31.677,30.44 29.508,30.42 29.69,29.603 29.95,28.805 30.227,28.016 30.398,27.551 30.599,27.098 30.805,26.647 L 31.03,26.577 C 31.464,26.423 31.848,26.093 32.001,25.647 32.198,25.056 32.058,24.392 31.677,23.909 31.546,23.728 31.383,23.497 31.316,23.395 31.115,23.077 31.11,22.9 31.28,21.718 31.423,20.728 31.439,20.21 31.34,19.708 31.32,19.421 31.318,18.831 31.309,18.672 31.385,18.714 31.55,19.09 31.717,19.599 31.883,20.11 31.91,20.216 31.948,20.651 31.99,21.145 31.805,21.511 31.653,22.248 31.577,22.628 31.51,22.981 31.51,23.029 31.51,23.08 31.546,23.188 31.584,23.272 31.673,23.46 31.84,23.724 31.871,23.724 32.416,23.123 32.736,22.381 33.021,21.628 33.321,20.776 33.409,19.872 33.619,18.995 33.789,18.231 33.985,17.466 34.046,16.682 34.169,15.152 34.097,14.072 33.759,12.478 33.678,12.118 33.444,11.431 33.281,11.107 z M 27.921,18.644 C 28.506,18.637 29.085,18.708 29.636,18.867 30.385,19.154 30.49,19.823 30.628,20.574 30.705,21.054 30.702,21.399 30.615,21.963 30.554,22.781 30.229,23.414 29.519,23.859 28.448,24.057 27.303,24.248 26.395,23.539 25.633,22.489 25.174,21.162 25.349,19.868 25.46,19.337 25.707,19.061 26.215,18.896 26.762,18.739 27.341,18.653 27.921,18.644 z M 19.038,18.739 C 19.585,18.734 20.138,18.792 20.442,18.986 21.747,19.869 21.328,21.306 20.812,22.567 20.061,24.218 18.437,24.157 16.863,24.144 15.992,23.889 15.912,23.175 15.786,22.412 15.678,21.675 15.448,20.885 15.64,20.144 16.133,18.952 17.935,18.815 19.038,18.739 z M 38.941,18.945 C 38.948,22.118 39.49,23.677 40.578,25.924 39.937,24.701 39.021,24.005 38.68,22.543 38.028,19.72 38.731,19.878 38.941,18.945 z M 23.128,21.243 C 23.3,21.417 23.383,21.657 23.532,21.848 23.647,21.651 23.765,21.455 23.913,21.28 23.99,21.282 24.084,21.434 24.169,21.706 24.533,22.712 24.604,23.819 25.076,24.786 25.517,25.486 24.915,25.894 24.254,25.926 23.772,25.925 23.568,25.596 23.285,25.27 23.212,25.483 23.073,25.62 22.907,25.764 22.485,26.118 21.658,25.987 21.53,25.429 21.7,24.363 22.243,23.384 22.599,22.362 22.776,21.989 22.778,21.703 23.128,21.243 z M 16.936,26.628 C 17.149,26.628 17.734,27.025 17.853,27.249 17.935,27.398 18.122,27.978 18.135,28.119 18.156,28.287 18.105,28.685 18.053,28.793 18.015,28.87 17.986,28.881 17.942,28.831 17.905,28.789 17.415,27.849 17.102,27.227 16.856,26.729 16.83,26.628 16.936,26.628 z M 29.158,26.939 C 29.166,26.94 29.178,26.943 29.189,26.946 29.255,26.973 29.209,27.207 28.961,28.057 28.914,28.313 28.8,28.515 28.633,28.683 28.578,28.683 28.553,28.619 28.467,28.264 28.394,27.961 28.386,27.691 28.437,27.449 28.525,27.146 28.881,27.053 29.158,26.939 z M 27.675,28.792 C 27.696,28.788 27.716,28.799 27.742,28.82 27.832,28.883 27.845,29.049 27.785,29.374 27.712,29.792 27.696,29.838 27.588,29.881 27.541,29.902 27.457,29.917 27.401,29.917 27.3,29.899 27.274,29.817 27.298,29.693 27.298,29.433 27.374,29.207 27.546,28.94 27.611,28.84 27.644,28.797 27.675,28.792 z M 19.042,28.811 C 19.111,28.811 19.319,28.961 19.396,29.065 19.482,29.175 19.58,29.83 19.525,29.943 19.462,30.085 19.154,30.014 19.069,29.837 19.017,29.731 18.894,29.159 18.894,29.023 18.894,28.897 18.955,28.811 19.042,28.811 z M 26.933,28.984 C 27.017,29.104 27.039,29.258 27.021,29.596 L 27.004,29.904 26.916,29.992 C 26.863,30.041 26.773,30.101 26.719,30.126 26.6,30.182 26.509,30.187 26.492,30.142 26.472,30.082 26.506,29.7 26.543,29.571 26.586,29.438 26.779,29.041 26.843,28.957 26.872,28.88 26.906,28.976 26.933,28.984 z M 21.912,28.966 C 22.093,29.012 22.173,29.175 22.272,29.323 L 22.339,29.455 22.245,29.782 C 22.195,29.962 22.142,30.124 22.126,30.142 22.108,30.162 22.041,30.172 21.942,30.171 21.678,30.164 21.648,30.153 21.577,30.045 L 21.511,29.947 21.567,29.672 C 21.648,29.276 21.687,29.157 21.777,29.055 21.824,29 21.871,28.97 21.912,28.966 z M 20.241,29.249 20.39,29.398 20.415,29.735 C 20.428,29.919 20.434,30.09 20.424,30.111 20.415,30.14 20.361,30.148 20.194,30.148 L 19.977,30.148 C 19.861,30.021 19.825,29.866 19.776,29.706 19.662,29.225 19.662,29.006 19.78,28.977 19.973,28.989 20.1,29.129 20.241,29.249 z M 26.041,29.018 C 26.277,29.081 26.23,29.456 26.229,29.724 26.211,30.158 26.194,30.248 26.138,30.304 26.041,30.401 25.771,30.347 25.64,30.203 25.597,30.151 25.593,30.135 25.627,29.924 25.666,29.667 25.716,29.507 25.827,29.287 25.908,29.129 25.984,29.03 26.041,29.018 z M 20.715,29.038 C 20.728,29.037 20.749,29.038 20.769,29.04 20.919,29.052 21.059,29.15 21.183,29.33 L 21.283,29.477 C 21.292,29.718 21.283,29.972 21.24,30.196 21.214,30.209 21.106,30.229 21,30.239 20.816,30.256 20.799,30.252 20.735,30.196 20.646,30.12 20.621,29.979 20.599,29.511 20.586,29.129 20.595,29.044 20.715,29.038 z M 22.984,29.118 C 23.145,29.152 23.247,29.238 23.292,29.379 23.328,29.5 23.35,30.177 23.315,30.224 23.303,30.244 23.227,30.269 23.14,30.28 22.816,30.321 22.53,30.29 22.502,30.213 22.466,30.125 22.707,29.253 22.796,29.145 22.834,29.061 22.926,29.126 22.984,29.118 z M 25.082,29.124 C 25.153,29.117 25.229,29.185 25.303,29.33 25.363,29.451 25.372,29.493 25.372,29.764 25.372,29.98 25.359,30.073 25.336,30.093 25.316,30.109 25.235,30.138 25.149,30.16 24.999,30.199 24.966,30.203 24.919,30.187 L 24.694,30.146 24.711,30.012 C 24.727,29.837 24.842,29.449 24.923,29.281 24.971,29.181 25.026,29.131 25.082,29.124 z M 24.104,29.127 C 24.151,29.125 24.173,29.136 24.203,29.169 24.274,29.253 24.364,29.501 24.421,29.766 24.497,30.139 24.497,30.138 24.334,30.187 24.263,30.209 24.113,30.232 24.006,30.238 23.653,30.256 23.626,30.235 23.669,29.923 23.703,29.645 23.84,29.207 23.899,29.175 23.963,29.141 24.037,29.142 24.104,29.127 z M 6.111,30.536 C 6.114,30.535 6.118,30.536 6.118,30.536 6.127,30.731 6.127,30.928 6.131,31.124 5.636,31.086 5.272,30.968 5.272,30.829 5.272,30.692 5.623,30.575 6.111,30.536 z M 6.976,30.553 C 7.377,30.603 7.654,30.708 7.649,30.829 7.649,30.951 7.381,31.055 6.983,31.104 6.979,30.921 6.979,30.737 6.976,30.553 z M 25.702,31.086 C 25.736,31.083 25.751,31.08 25.803,31.085 26.011,31.106 26.041,31.119 26.041,31.189 26.041,31.281 25.883,31.558 25.776,31.654 25.726,31.702 25.657,31.742 25.633,31.742 25.513,31.742 25.443,31.489 25.499,31.256 25.533,31.13 25.595,31.091 25.702,31.086 z M 24.947,31.169 C 25.04,31.161 25.13,31.186 25.22,31.198 25.194,31.461 25.076,31.676 24.857,31.819 24.803,31.819 24.776,31.716 24.776,31.491 24.776,31.223 24.79,31.172 24.947,31.169 z M 24.119,31.266 C 24.312,31.266 24.482,31.275 24.49,31.286 24.526,31.32 24.422,31.578 24.269,31.84 24.138,32.073 24.119,32.09 24.038,32.096 23.72,32.06 23.729,31.687 23.68,31.431 23.68,31.279 23.714,31.266 24.119,31.266 z M 21.11,31.295 C 21.331,31.299 21.417,31.332 21.417,31.417 21.417,31.525 21.335,31.74 21.288,31.767 21.217,31.806 21.211,31.804 21.071,31.658 20.85,31.41 20.825,31.364 21.11,31.295 z M 22.174,31.306 C 22.178,31.312 22.221,31.39 22.264,31.478 22.358,31.661 22.365,31.741 22.298,31.802 22.14,31.892 22.107,31.841 21.964,31.75 21.798,31.593 21.667,31.382 21.71,31.338 21.858,31.285 22.021,31.305 22.174,31.306 z M 22.596,31.311 22.991,31.318 C 23.145,31.318 23.278,31.326 23.285,31.338 23.312,31.362 23.225,31.876 23.178,31.992 23.124,32.122 22.935,32.123 22.837,31.969 22.697,31.748 22.605,31.562 22.602,31.434 L 22.596,31.311 z' diff --git a/packages/components/src/Draft/DesignPoint/index.js b/packages/components/src/Draft/DesignPoint/index.js deleted file mode 100644 index 6900cb32ea0..00000000000 --- a/packages/components/src/Draft/DesignPoint/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react' - -const DesignPoint = (props) => ( - - - - props.raiseEvent('point', { - point: props.point, - name: props.name, - part: props.part - }) - } - /> - -) - -export default DesignPoint diff --git a/packages/components/src/Draft/DesignPoint/logo-path.js b/packages/components/src/Draft/DesignPoint/logo-path.js deleted file mode 100644 index 1db5f06810b..00000000000 --- a/packages/components/src/Draft/DesignPoint/logo-path.js +++ /dev/null @@ -1 +0,0 @@ -export default 'M 35.222,0 C 34.233,0.703 34.284,0.613 33.485,0.874 31.653,1.473 29.896,1.144 27.811,0.97 27.184,0.9 26.562,0.859 25.955,0.855 22.89,0.834 20.287,1.733 19.794,4.243 18.885,4.794 18.049,5.461 17.221,6.129 15.453,7.524 14.122,9.229 13.214,11.284 11.974,14.319 13.094,17.576 13.649,20.652 13.781,21.372 13.919,22.058 13.993,22.323 14.098,22.696 14.283,23.052 14.484,23.372 14.531,23.38 14.779,22.998 14.838,22.829 14.924,22.583 14.915,22.188 14.821,21.848 14.613,21.083 14.415,20.462 14.398,20.15 14.368,19.564 14.482,19.023 14.696,18.755 14.772,18.66 14.946,19.15 14.901,19.332 14.848,19.551 14.808,19.926 14.825,20.099 14.872,20.685 14.958,21.312 15.065,21.86 15.202,22.567 15.261,23.021 15.236,23.197 15.218,23.325 15.158,23.454 14.928,23.85 14.728,24.197 14.624,24.478 14.608,24.726 14.591,24.968 14.664,25.573 14.732,25.721 14.831,25.952 15.129,26.195 15.389,26.255 15.638,26.35 15.763,26.547 15.891,26.768 16.202,27.361 16.442,28.083 16.68,29.171 16.796,29.692 16.893,30.157 16.924,30.401 15.004,30.403 12.545,30.404 10.305,30.404 9.551,30.416 8.189,30.062 6.94,29.98 6.759,28.026 5.901,25.756 4.433,25.624 3.431,25.533 2.6,25.914 1.897,27.497 L 1.917,27.582 C 2.332,27.235 2.77,26.174 4.348,26.247 5.56,26.302 5.964,28.596 6.084,29.976 5.346,30.03 4.718,30.257 4.39,30.824 L 4.383,30.824 C 4.383,30.825 4.383,30.827 4.386,30.829 4.383,30.831 4.383,30.833 4.383,30.835 L 4.39,30.835 C 4.728,31.416 5.379,31.641 6.144,31.686 6.655,46.136 20.238,48 23.95,48 37.798,48 42.646,38.59 43.375,34.863 43.716,36.451 42.642,38.474 42.385,39.967 45.306,36.59 44.778,33.343 44.244,30.077 44.688,30.605 45.289,30.932 46.104,30.751 45.523,30.363 44.735,30.635 44.263,28.998 44.057,28.291 43.879,27.761 43.702,27.316 43.32,25.883 42.778,24.514 42.112,23.18 41.55,21.733 41.921,20.795 41.865,19.553 42.876,22.887 43.508,23.774 44.688,24.123 41.72,20.547 42.736,15.01 41.059,10.068 41.818,10.514 42.684,10.648 43.606,10.103 42.714,9.849 41.824,10.52 40.544,8.639 39.463,6.536 37.897,4.983 35.997,3.613 34.979,2.949 33.849,2.503 32.713,2.089 33.87,1.799 35.162,0.769 35.222,0 z M 33.281,11.107 C 34.805,11.663 36.485,13.775 36.466,15.847 L 36.466,15.933 36.466,15.963 C 36.425,18.777 35.146,20.29 35.2,22.164 35.269,24.371 36.219,25.141 36.408,25.509 36.084,24.148 35.894,22.436 36.322,21.08 36.872,19.336 37.427,17.892 37.387,16.526 37.367,16.206 37.231,15.009 37.14,14.479 38.774,16.837 36.786,20.266 37.358,22.51 38.352,26.419 42.807,26.913 41.481,34.789 40.314,41.713 32.318,46.968 24.122,46.968 18.046,46.968 7.517,43.605 6.997,31.676 8.232,31.588 9.56,31.244 10.305,31.256 12.557,31.256 15.129,31.257 17.067,31.258 17.431,32.9 17.704,33.296 19.085,34.39 20.621,35.598 20.979,35.745 23.251,35.767 25.524,35.79 26.198,35.303 28.403,33.217 28.879,32.659 29.085,31.928 29.316,31.241 31.584,31.22 33.238,31.18 34.865,31.104 36.522,31.029 36.756,31.104 39.426,30.829 36.756,30.554 36.522,30.629 34.865,30.553 33.281,30.481 31.677,30.44 29.508,30.42 29.69,29.603 29.95,28.805 30.227,28.016 30.398,27.551 30.599,27.098 30.805,26.647 L 31.03,26.577 C 31.464,26.423 31.848,26.093 32.001,25.647 32.198,25.056 32.058,24.392 31.677,23.909 31.546,23.728 31.383,23.497 31.316,23.395 31.115,23.077 31.11,22.9 31.28,21.718 31.423,20.728 31.439,20.21 31.34,19.708 31.32,19.421 31.318,18.831 31.309,18.672 31.385,18.714 31.55,19.09 31.717,19.599 31.883,20.11 31.91,20.216 31.948,20.651 31.99,21.145 31.805,21.511 31.653,22.248 31.577,22.628 31.51,22.981 31.51,23.029 31.51,23.08 31.546,23.188 31.584,23.272 31.673,23.46 31.84,23.724 31.871,23.724 32.416,23.123 32.736,22.381 33.021,21.628 33.321,20.776 33.409,19.872 33.619,18.995 33.789,18.231 33.985,17.466 34.046,16.682 34.169,15.152 34.097,14.072 33.759,12.478 33.678,12.118 33.444,11.431 33.281,11.107 z M 27.921,18.644 C 28.506,18.637 29.085,18.708 29.636,18.867 30.385,19.154 30.49,19.823 30.628,20.574 30.705,21.054 30.702,21.399 30.615,21.963 30.554,22.781 30.229,23.414 29.519,23.859 28.448,24.057 27.303,24.248 26.395,23.539 25.633,22.489 25.174,21.162 25.349,19.868 25.46,19.337 25.707,19.061 26.215,18.896 26.762,18.739 27.341,18.653 27.921,18.644 z M 19.038,18.739 C 19.585,18.734 20.138,18.792 20.442,18.986 21.747,19.869 21.328,21.306 20.812,22.567 20.061,24.218 18.437,24.157 16.863,24.144 15.992,23.889 15.912,23.175 15.786,22.412 15.678,21.675 15.448,20.885 15.64,20.144 16.133,18.952 17.935,18.815 19.038,18.739 z M 38.941,18.945 C 38.948,22.118 39.49,23.677 40.578,25.924 39.937,24.701 39.021,24.005 38.68,22.543 38.028,19.72 38.731,19.878 38.941,18.945 z M 23.128,21.243 C 23.3,21.417 23.383,21.657 23.532,21.848 23.647,21.651 23.765,21.455 23.913,21.28 23.99,21.282 24.084,21.434 24.169,21.706 24.533,22.712 24.604,23.819 25.076,24.786 25.517,25.486 24.915,25.894 24.254,25.926 23.772,25.925 23.568,25.596 23.285,25.27 23.212,25.483 23.073,25.62 22.907,25.764 22.485,26.118 21.658,25.987 21.53,25.429 21.7,24.363 22.243,23.384 22.599,22.362 22.776,21.989 22.778,21.703 23.128,21.243 z M 16.936,26.628 C 17.149,26.628 17.734,27.025 17.853,27.249 17.935,27.398 18.122,27.978 18.135,28.119 18.156,28.287 18.105,28.685 18.053,28.793 18.015,28.87 17.986,28.881 17.942,28.831 17.905,28.789 17.415,27.849 17.102,27.227 16.856,26.729 16.83,26.628 16.936,26.628 z M 29.158,26.939 C 29.166,26.94 29.178,26.943 29.189,26.946 29.255,26.973 29.209,27.207 28.961,28.057 28.914,28.313 28.8,28.515 28.633,28.683 28.578,28.683 28.553,28.619 28.467,28.264 28.394,27.961 28.386,27.691 28.437,27.449 28.525,27.146 28.881,27.053 29.158,26.939 z M 27.675,28.792 C 27.696,28.788 27.716,28.799 27.742,28.82 27.832,28.883 27.845,29.049 27.785,29.374 27.712,29.792 27.696,29.838 27.588,29.881 27.541,29.902 27.457,29.917 27.401,29.917 27.3,29.899 27.274,29.817 27.298,29.693 27.298,29.433 27.374,29.207 27.546,28.94 27.611,28.84 27.644,28.797 27.675,28.792 z M 19.042,28.811 C 19.111,28.811 19.319,28.961 19.396,29.065 19.482,29.175 19.58,29.83 19.525,29.943 19.462,30.085 19.154,30.014 19.069,29.837 19.017,29.731 18.894,29.159 18.894,29.023 18.894,28.897 18.955,28.811 19.042,28.811 z M 26.933,28.984 C 27.017,29.104 27.039,29.258 27.021,29.596 L 27.004,29.904 26.916,29.992 C 26.863,30.041 26.773,30.101 26.719,30.126 26.6,30.182 26.509,30.187 26.492,30.142 26.472,30.082 26.506,29.7 26.543,29.571 26.586,29.438 26.779,29.041 26.843,28.957 26.872,28.88 26.906,28.976 26.933,28.984 z M 21.912,28.966 C 22.093,29.012 22.173,29.175 22.272,29.323 L 22.339,29.455 22.245,29.782 C 22.195,29.962 22.142,30.124 22.126,30.142 22.108,30.162 22.041,30.172 21.942,30.171 21.678,30.164 21.648,30.153 21.577,30.045 L 21.511,29.947 21.567,29.672 C 21.648,29.276 21.687,29.157 21.777,29.055 21.824,29 21.871,28.97 21.912,28.966 z M 20.241,29.249 20.39,29.398 20.415,29.735 C 20.428,29.919 20.434,30.09 20.424,30.111 20.415,30.14 20.361,30.148 20.194,30.148 L 19.977,30.148 C 19.861,30.021 19.825,29.866 19.776,29.706 19.662,29.225 19.662,29.006 19.78,28.977 19.973,28.989 20.1,29.129 20.241,29.249 z M 26.041,29.018 C 26.277,29.081 26.23,29.456 26.229,29.724 26.211,30.158 26.194,30.248 26.138,30.304 26.041,30.401 25.771,30.347 25.64,30.203 25.597,30.151 25.593,30.135 25.627,29.924 25.666,29.667 25.716,29.507 25.827,29.287 25.908,29.129 25.984,29.03 26.041,29.018 z M 20.715,29.038 C 20.728,29.037 20.749,29.038 20.769,29.04 20.919,29.052 21.059,29.15 21.183,29.33 L 21.283,29.477 C 21.292,29.718 21.283,29.972 21.24,30.196 21.214,30.209 21.106,30.229 21,30.239 20.816,30.256 20.799,30.252 20.735,30.196 20.646,30.12 20.621,29.979 20.599,29.511 20.586,29.129 20.595,29.044 20.715,29.038 z M 22.984,29.118 C 23.145,29.152 23.247,29.238 23.292,29.379 23.328,29.5 23.35,30.177 23.315,30.224 23.303,30.244 23.227,30.269 23.14,30.28 22.816,30.321 22.53,30.29 22.502,30.213 22.466,30.125 22.707,29.253 22.796,29.145 22.834,29.061 22.926,29.126 22.984,29.118 z M 25.082,29.124 C 25.153,29.117 25.229,29.185 25.303,29.33 25.363,29.451 25.372,29.493 25.372,29.764 25.372,29.98 25.359,30.073 25.336,30.093 25.316,30.109 25.235,30.138 25.149,30.16 24.999,30.199 24.966,30.203 24.919,30.187 L 24.694,30.146 24.711,30.012 C 24.727,29.837 24.842,29.449 24.923,29.281 24.971,29.181 25.026,29.131 25.082,29.124 z M 24.104,29.127 C 24.151,29.125 24.173,29.136 24.203,29.169 24.274,29.253 24.364,29.501 24.421,29.766 24.497,30.139 24.497,30.138 24.334,30.187 24.263,30.209 24.113,30.232 24.006,30.238 23.653,30.256 23.626,30.235 23.669,29.923 23.703,29.645 23.84,29.207 23.899,29.175 23.963,29.141 24.037,29.142 24.104,29.127 z M 6.111,30.536 C 6.114,30.535 6.118,30.536 6.118,30.536 6.127,30.731 6.127,30.928 6.131,31.124 5.636,31.086 5.272,30.968 5.272,30.829 5.272,30.692 5.623,30.575 6.111,30.536 z M 6.976,30.553 C 7.377,30.603 7.654,30.708 7.649,30.829 7.649,30.951 7.381,31.055 6.983,31.104 6.979,30.921 6.979,30.737 6.976,30.553 z M 25.702,31.086 C 25.736,31.083 25.751,31.08 25.803,31.085 26.011,31.106 26.041,31.119 26.041,31.189 26.041,31.281 25.883,31.558 25.776,31.654 25.726,31.702 25.657,31.742 25.633,31.742 25.513,31.742 25.443,31.489 25.499,31.256 25.533,31.13 25.595,31.091 25.702,31.086 z M 24.947,31.169 C 25.04,31.161 25.13,31.186 25.22,31.198 25.194,31.461 25.076,31.676 24.857,31.819 24.803,31.819 24.776,31.716 24.776,31.491 24.776,31.223 24.79,31.172 24.947,31.169 z M 24.119,31.266 C 24.312,31.266 24.482,31.275 24.49,31.286 24.526,31.32 24.422,31.578 24.269,31.84 24.138,32.073 24.119,32.09 24.038,32.096 23.72,32.06 23.729,31.687 23.68,31.431 23.68,31.279 23.714,31.266 24.119,31.266 z M 21.11,31.295 C 21.331,31.299 21.417,31.332 21.417,31.417 21.417,31.525 21.335,31.74 21.288,31.767 21.217,31.806 21.211,31.804 21.071,31.658 20.85,31.41 20.825,31.364 21.11,31.295 z M 22.174,31.306 C 22.178,31.312 22.221,31.39 22.264,31.478 22.358,31.661 22.365,31.741 22.298,31.802 22.14,31.892 22.107,31.841 21.964,31.75 21.798,31.593 21.667,31.382 21.71,31.338 21.858,31.285 22.021,31.305 22.174,31.306 z M 22.596,31.311 22.991,31.318 C 23.145,31.318 23.278,31.326 23.285,31.338 23.312,31.362 23.225,31.876 23.178,31.992 23.124,32.122 22.935,32.123 22.837,31.969 22.697,31.748 22.605,31.562 22.602,31.434 L 22.596,31.311 z' diff --git a/packages/components/src/Draft/Part/index.js b/packages/components/src/Draft/Part/index.js deleted file mode 100644 index 503b816f333..00000000000 --- a/packages/components/src/Draft/Part/index.js +++ /dev/null @@ -1,139 +0,0 @@ -import React from 'react' -import Path from '../Path' -import Point from '../Point' -import Snippet from '../Snippet' -import { getProps } from '../utils' - -const Part = (props) => { - const focusPoint = (point, i) => { - let p = props.part.points[point] - let pathString = `M ${p.x} ${props.part.topLeft.y} ` - pathString += `L ${p.x} ${props.part.bottomRight.y} ` - pathString += `M ${props.part.topLeft.x} ${p.y} ` - pathString += `L ${props.part.bottomRight.x} ${p.y} ` - let classes = 'focus point c' + (i % 4) // Cycle through 4 CSS classes - return ( - - - - props.raiseEvent('clearFocus', { - part: props.name, - type: 'points', - name: point - }) - } - /> - - ) - } - - const focusCoords = (p, i) => { - let pathString = `M ${p.x} ${props.part.topLeft.y} ` - pathString += `L ${p.x} ${props.part.bottomRight.y} ` - pathString += `M ${props.part.topLeft.x} ${p.y} ` - pathString += `L ${props.part.bottomRight.x} ${p.y} ` - let classes = 'focus coords c' + (i % 4) // Cycle through 4 CSS classes - return ( - - - - props.raiseEvent('clearFocus', { - part: props.name, - type: 'coords', - data: p - }) - } - /> - - ) - } - - let grid = props.paperless ? ( - - ) : null - - let focus = [] - if (props.design) { - if (props.focus && typeof props.focus[props.name] !== 'undefined') { - for (let i in props.focus[props.name].points) - focus.push(focusPoint(props.focus[props.name].points[i], i)) - for (let i in props.focus[props.name].paths) { - let name = props.focus[props.name].paths[i] - focus.push( - - props.raiseEvent('clearFocus', { - part: props.name, - type: 'paths', - name - }) - } - /> - ) - } - for (let i in props.focus[props.name].coords) - focus.push(focusCoords(props.focus[props.name].coords[i], i)) - } - } - - return ( - - {grid} - {Object.keys(props.part.paths).map((name) => ( - - ))} - {Object.keys(props.part.points).map((name) => ( - - ))} - {Object.keys(props.part.snippets).map((name) => ( - - ))} - {focus} - - ) -} - -export default Part diff --git a/packages/components/src/Draft/Path/index.js b/packages/components/src/Draft/Path/index.js deleted file mode 100644 index e06fb17f02a..00000000000 --- a/packages/components/src/Draft/Path/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react' -import TextOnPath from '../TextOnPath' -import DesignPath from '../DesignPath' -import { getProps } from '../utils' - -const Path = (props) => { - if (!props.path.render) return null - const output = [] - const pathId = 'path-' + props.part + '-' + props.name - if (props.design) output.push() - output.push( - - ) - if (props.path.attributes.get('data-text')) - output.push() - - return output -} - -export default Path diff --git a/packages/components/src/Draft/Point/index.js b/packages/components/src/Draft/Point/index.js deleted file mode 100644 index f901b950b04..00000000000 --- a/packages/components/src/Draft/Point/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react' -import DesignPoint from '../DesignPoint' -import Text from '../Text' -import Circle from '../Circle' - -const Point = (props) => { - const output = [] - if (props.design) - output.push() - if (props.point.attributes && props.point.attributes.get('data-text')) - output.push() - if (props.point.attributes && props.point.attributes.get('data-circle')) - output.push() - - return output.length < 1 ? null : output -} - -export default Point diff --git a/packages/components/src/Draft/Snippet/index.js b/packages/components/src/Draft/Snippet/index.js deleted file mode 100644 index bcb2e3eb0ac..00000000000 --- a/packages/components/src/Draft/Snippet/index.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react' -import { getProps } from '../utils' - -const Snippet = (props) => { - const snippetProps = { - xlinkHref: '#' + props.snippet.def, - x: props.snippet.anchor.x, - y: props.snippet.anchor.y - } - const scale = (props.snippet.attributes.get('data-scale') || 1) * (props.scale || 1) - const rotate = props.snippet.attributes.get('data-rotate') - if (scale || rotate) { - snippetProps.transform = '' - if (scale) { - snippetProps.transform += `translate(${snippetProps.x}, ${snippetProps.y}) ` - snippetProps.transform += `scale(${scale}) ` - snippetProps.transform += `translate(${snippetProps.x * -1}, ${snippetProps.y * -1}) ` - } - if (rotate) { - snippetProps.transform += `rotate(${rotate}, ${snippetProps.x}, ${snippetProps.y}) ` - } - } - - return -} - -export default Snippet diff --git a/packages/components/src/Draft/Svg/index.js b/packages/components/src/Draft/Svg/index.js deleted file mode 100644 index 9c407adf170..00000000000 --- a/packages/components/src/Draft/Svg/index.js +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react' - -const Svg = ({ - embed = true, - design = false, - language = 'en', - className = 'freesewing pattern draft', - style = {}, - viewBox = false, - width, - height, - children -}) => { - let attributes = { - xmlns: 'http://www.w3.org/2000/svg', - 'xmlns:svg': 'http://www.w3.org/2000/svg', - xmlnsXlink: 'http://www.w3.org/1999/xlink', - xmlLang: language, - viewBox: viewBox || `0 0 ${width} ${height}`, - className, - style - } - - if (!embed) { - attributes.width = width + 'mm' - attributes.height = height + 'mm' - } - if (design) attributes.className += ' design' - - return {children} -} - -export default Svg diff --git a/packages/components/src/Draft/Text/index.js b/packages/components/src/Draft/Text/index.js deleted file mode 100644 index c99cae7e004..00000000000 --- a/packages/components/src/Draft/Text/index.js +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react' -import { strings } from '@freesewing/i18n' - -const Text = (props) => { - let text = [] - // Handle translation - let translated = '' - for (let string of props.point.attributes.getAsArray('data-text')) { - if (strings[props.language]['plugin.' + string]) - translated += strings[props.language]['plugin.' + string] - else translated += string.toString().replace(/"/g, '"') - translated += ' ' - } - // Handle muti-line text - if (translated.indexOf('\n') !== -1) { - let key = 0 - let lines = translated.split('\n') - text.push() - let lineHeight = (props.point.attributes.get('data-text-lineheight') || 12) * (props.scale || 1) - for (let line of lines) { - key++ - text.push( - - ) - } - } else text.push() - - return ( - - {text} - - ) -} - -export default Text diff --git a/packages/components/src/Draft/TextOnPath/index.js b/packages/components/src/Draft/TextOnPath/index.js deleted file mode 100644 index bb7549b4028..00000000000 --- a/packages/components/src/Draft/TextOnPath/index.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react' -import { strings } from '@freesewing/i18n' - -const TextOnPath = (props) => { - let text = [] - // Handle translation - let translated = '' - for (let string of props.path.attributes.getAsArray('data-text')) { - if (strings[props.language]['plugin.' + string]) - translated += strings[props.language]['plugin.' + string] - else translated += string.toString().replace(/"/g, '"') - translated += ' ' - } - let textPathProps = { - xlinkHref: '#' + props.pathId, - startOffset: '0%' - } - let align = props.path.attributes.get('data-text-class') - if (align && align.indexOf('center') > -1) textPathProps.startOffset = '50%' - else if (align && align.indexOf('right') > -1) textPathProps.startOffset = '100%' - - /* - * We need dangerouslySetInnerHTML here to make sure we have a way to - * add whitespace that works both in the browser as in SVG. - * Whitespace =   - */ - return ( - - - - - - ) -} - -export default TextOnPath diff --git a/packages/components/src/Draft/index.js b/packages/components/src/Draft/index.js deleted file mode 100644 index 1c43916b4c5..00000000000 --- a/packages/components/src/Draft/index.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react' -import Svg from './Svg' -import Defs from './Defs' -import Part from './Part' - -const Draft = (props) => ( - - - - {Object.keys(props.parts).map((name) => ( - - ))} - - -) - -export default Draft diff --git a/packages/components/src/Draft/utils.js b/packages/components/src/Draft/utils.js deleted file mode 100644 index f023e26b58b..00000000000 --- a/packages/components/src/Draft/utils.js +++ /dev/null @@ -1,36 +0,0 @@ -export const getProps = (obj) => { - /** I can't believe it but there seems to be no method on NPM todo this */ - const cssKey = (key) => { - let chunks = key.split('-') - if (chunks.length > 1) { - key = chunks.shift() - for (let s of chunks) key += s.charAt(0).toUpperCase() + s.slice(1) - } - - return key - } - - const convert = (css) => { - let style = {} - let rules = css.split(';') - for (let rule of rules) { - let chunks = rule.split(':') - if (chunks.length === 2) style[cssKey(chunks[0].trim())] = chunks[1].trim() - } - return style - } - - let rename = { - class: 'className', - 'marker-start': 'markerStart', - 'marker-end': 'markerEnd' - } - let props = {} - for (let key in obj.attributes.list) { - if (key === 'style') props[key] = convert(obj.attributes.get(key)) - if (Object.keys(rename).indexOf(key) !== -1) props[rename[key]] = obj.attributes.get(key) - else if (key !== 'style') props[key] = obj.attributes.get(key) - } - - return props -} diff --git a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js deleted file mode 100644 index e1a64a574ec..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from 'react' -import PatternOptionBool from '../PatternOptionBool' - -export default props => diff --git a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js b/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js deleted file mode 100644 index f9b9c606acf..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingAdvanced/stories.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import Sa from '.' - -const props = { - raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => console.log(`Updated setting ${name}, value is now: ${value}`), - name: 'sa', - dflt: 'dflt', - title: 'Seam allowance', - desc: - "This is the seam allowance description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: { - none: 'No seam allowance', - dflt: 'Standard seam allowance', - custom: 'Custom seam allowance' - } -} - -storiesOf('Low level/DraftSettingSa', module) - .add('Metric', () => ) - .add('Imperial', () => ) diff --git a/packages/components/src/DraftConfigurator/DraftSettingComplete/index.js b/packages/components/src/DraftConfigurator/DraftSettingComplete/index.js deleted file mode 100644 index 7e391394842..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingComplete/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import PatternOptionBool from "../PatternOptionBool"; - -export default props => ; diff --git a/packages/components/src/DraftConfigurator/DraftSettingComplete/stories.js b/packages/components/src/DraftConfigurator/DraftSettingComplete/stories.js deleted file mode 100644 index 6a953d61038..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingComplete/stories.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Complete from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - dflt: true, - title: "Complete (known as 'detail' in the frontend) title", - desc: - "This is the complete description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: ["No", "Yes"] -}; - -storiesOf("Low level/DraftSettingComplete", module).add("Basic", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/DraftSettingDebug/index.js b/packages/components/src/DraftConfigurator/DraftSettingDebug/index.js deleted file mode 100644 index bbcc3764c6d..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingDebug/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from 'react' -import PatternOptionBool from '../PatternOptionBool' - -export default (props) => diff --git a/packages/components/src/DraftConfigurator/DraftSettingDebug/stories.js b/packages/components/src/DraftConfigurator/DraftSettingDebug/stories.js deleted file mode 100644 index f9b9c606acf..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingDebug/stories.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import Sa from '.' - -const props = { - raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => console.log(`Updated setting ${name}, value is now: ${value}`), - name: 'sa', - dflt: 'dflt', - title: 'Seam allowance', - desc: - "This is the seam allowance description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: { - none: 'No seam allowance', - dflt: 'Standard seam allowance', - custom: 'Custom seam allowance' - } -} - -storiesOf('Low level/DraftSettingSa', module) - .add('Metric', () => ) - .add('Imperial', () => ) diff --git a/packages/components/src/DraftConfigurator/DraftSettingLanguage/index.js b/packages/components/src/DraftConfigurator/DraftSettingLanguage/index.js deleted file mode 100644 index 6b543871dac..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingLanguage/index.js +++ /dev/null @@ -1,66 +0,0 @@ -import React, { useState } from 'react' -import FormFieldList from '../../.form/FormFieldList' -import OptionPreamble from '../OptionPreamble' -import { injectIntl } from 'react-intl' -import { languages } from '@freesewing/i18n' - -const DraftSettingLanguage = (props) => { - const [value, setValue] = useState(props.value === null ? props.intl.locale : props.value) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - props.updateValue(props.name, newValue) - setValue(newValue) - } - - const reset = () => { - setValue(props.dflt || props.intl.locale) - props.updateValue(props.name, props.dflt || props.intl.locale) - } - const patternReset = () => { - setValue(props.intl.locale) - props.updateValue(props.name, props.intl.locale) - } - const toggleExpanded = () => setExpanded(!expanded) - - const option = ( - - ) - - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: props.name - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default injectIntl(DraftSettingLanguage) diff --git a/packages/components/src/DraftConfigurator/DraftSettingLanguage/stories.js b/packages/components/src/DraftConfigurator/DraftSettingLanguage/stories.js deleted file mode 100644 index 10d5bd49563..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingLanguage/stories.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Lang from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "exampleDraftSettingLanguage", - dflt: "en", - title: - "I am a language draft setting. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - languages: { - de: "German", - en: "English", - es: "Spanish", - fr: "French", - nl: "Dutch" - } -}; - -storiesOf("Low level/DraftSettingLanguage", module).add("Basic", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/DraftSettingMargin/index.js b/packages/components/src/DraftConfigurator/DraftSettingMargin/index.js deleted file mode 100644 index 7ee25469dd7..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingMargin/index.js +++ /dev/null @@ -1,79 +0,0 @@ -import React, { useState } from 'react' -import FormFieldSlider from '../../.form/FormFieldSlider' -import formatMm from '@freesewing/utils/formatMm' -import roundMm from '@freesewing/utils/roundMm' -import sliderStep from '@freesewing/utils/sliderStep' -import OptionPreamble from '../OptionPreamble' - -const DraftSettingMargin = (props) => { - const [value, setValue] = useState(props.value === null ? props.dflt : props.value) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - newValue = roundMm(newValue) - // Sometimes, when sliding, the rapid succession of updates - // causes a weird timing issue to result in a value that is NaN. - // If that's the case, just ignore this update and keep the - // previous one instead - if (!isNaN(newValue)) { - setValue(newValue) - if (evt.type !== 'mousemove') props.updateValue('margin', newValue) - } else { - props.updateValue('margin', value) - } - } - - const reset = () => { - setValue(props.dflt) - props.updateValue('margin', props.dflt) - } - - const patternReset = () => { - setValue(props.designDflt) - props.updateValue('margin', props.designDflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let option = ( - - ) - - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: 'margin' - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default DraftSettingMargin diff --git a/packages/components/src/DraftConfigurator/DraftSettingMargin/stories.js b/packages/components/src/DraftConfigurator/DraftSettingMargin/stories.js deleted file mode 100644 index fe01b8c5662..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingMargin/stories.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Margin from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "margin", - dflt: 2, - title: "Margin", - desc: - "This is the margin description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it." -}; - -storiesOf("Low level/DraftSettingMargin", module) - .add("Metric", () => ) - .add("Imperial", () => ); diff --git a/packages/components/src/DraftConfigurator/DraftSettingOnly/index.js b/packages/components/src/DraftConfigurator/DraftSettingOnly/index.js deleted file mode 100644 index 4954d3f84f9..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingOnly/index.js +++ /dev/null @@ -1,107 +0,0 @@ -import React, { useState } from 'react' -import FormFieldChecks from '../../.form/FormFieldChecks' -import FormFieldList from '../../.form/FormFieldList' -import OptionPreamble from '../OptionPreamble' - -const DraftSettingOnly = props => { - const [value, setValue] = useState( - props.value === null ? 'dflt' : props.value === false ? 'dflt' : 'custom' - ) - const [parts, setParts] = useState(value === 'custom' ? props.value : props.customDflt) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - setValue(newValue) - if (newValue === 'dflt') props.updateValue('only', false) - else props.updateValue('only', parts) - } - - let onlyDfltToggle = 'dflt' - if (props.dflt === 'custom' || Array.isArray(props.dflt)) onlyDfltToggle = 'custom' - - const reset = () => { - setValue(onlyDfltToggle) - if (onlyDfltToggle === 'dflt') { - setParts([]) - props.updateValue('only', false) - } else { - setParts(props.dflt) - props.updateValue('only', props.dflt) - } - } - const patternReset = () => { - setValue('dflt') - setParts([]) - props.updateValue('only', false) - } - - const updateCustom = (name, newValue, evt) => { - props.updateValue('only', newValue) - setParts(newValue) - } - - const toggleExpanded = () => setExpanded(!expanded) - - const list = { - dflt: props.labels.dflt, - custom: props.labels.custom - } - - let option = ( - - ) - if (value === 'custom') - option = ( - - {option} - - - ) - - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: 'only' - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default DraftSettingOnly diff --git a/packages/components/src/DraftConfigurator/DraftSettingOnly/stories.js b/packages/components/src/DraftConfigurator/DraftSettingOnly/stories.js deleted file mode 100644 index da059d46a2c..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingOnly/stories.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Sa from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - title: "Only (known as contents on the website) title", - desc: - "This is the only description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: { - dflt: "Default", - custom: "Custom" - }, - dflt: "dflt", - customDflt: [], - parts: { - front: "Front", - back: "Back", - sleeve: "Sleeve", - pocket: "Pocket" - } -}; - -storiesOf("Low level/DraftSettingOnly", module) - .add("Default", () => ) - .add("Default, all parts preselected", () => ( - - )) - .add("Custom, some parts preselected", () => ( - - )); diff --git a/packages/components/src/DraftConfigurator/DraftSettingPaperless/index.js b/packages/components/src/DraftConfigurator/DraftSettingPaperless/index.js deleted file mode 100644 index 0fceb8bee3c..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingPaperless/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import PatternOptionBool from "../PatternOptionBool"; - -export default props => ; diff --git a/packages/components/src/DraftConfigurator/DraftSettingPaperless/stories.js b/packages/components/src/DraftConfigurator/DraftSettingPaperless/stories.js deleted file mode 100644 index 376a0c8d415..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingPaperless/stories.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Paperless from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "paperless", - dflt: false, - title: "Paperless title", - desc: - "This is the paperless description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: ["No", "Yes"] -}; - -storiesOf("Low level/DraftSettingPaperless", module).add("Basic", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/DraftSettingSa/index.js b/packages/components/src/DraftConfigurator/DraftSettingSa/index.js deleted file mode 100644 index 33ec31fc870..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingSa/index.js +++ /dev/null @@ -1,133 +0,0 @@ -import React, { useState } from 'react' -import FormFieldList from '../../.form/FormFieldList' -import FormFieldSlider from '../../.form/FormFieldSlider' -import formatMm from '@freesewing/utils/formatMm' -import roundMm from '@freesewing/utils/roundMm' -import defaultSa from '@freesewing/utils/defaultSa' -import sliderStep from '@freesewing/utils/sliderStep' -import OptionPreamble from '../OptionPreamble' - -const DraftSettingSa = (props) => { - const [value, setValue] = useState( - props.value === defaultSa[props.units] ? 'dflt' : props.value === 0 ? 'none' : 'custom' - ) - const [saValue, setSaValue] = useState( - props.value === null ? defaultSa[props.units] : props.value - ) - const [customValue, setCustomValue] = useState(value === 'custom' ? props.value : 10) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - switch (newValue) { - case 'none': - props.updateValue('sa', 0) - setValue(newValue) - setSaValue(0) - break - case 'dflt': - props.updateValue('sa', defaultSa[props.units]) - setValue(newValue) - setSaValue(defaultSa[props.units]) - break - default: - props.updateValue('sa', customValue) - setValue(newValue) - setSaValue(customValue) - break - } - } - - let saDfltToggle = 'dflt' - if (props.dflt === 0) saDfltToggle = 'none' - if (props.dflt !== 10) saDfltToggle = 'custom' - - const reset = () => { - setValue(saDfltToggle) - setSaValue(props.dflt) - props.updateValue('sa', props.dflt) - } - const patternReset = () => { - setValue('dflt') - setSaValue(defaultSa[props.units]) - props.updateValue('sa', defaultSa[props.units]) - } - const toggleExpanded = () => setExpanded(!expanded) - - const updateCustom = (name, newValue, evt) => { - newValue = roundMm(newValue) - // Sometimes, when sliding, the rapid succession of updates - // causes a weird timing issue to result in a value that is NaN. - // If that's the case, just ignore this update and keep the - // previous one instead - if (!isNaN(newValue)) { - setSaValue(newValue) - setCustomValue(newValue) - if (evt.type !== 'mousemove') props.updateValue('sa', newValue) - } else { - props.updateValue('sa', customValue) - } - } - - const list = { - none: props.labels.none, - dflt: props.labels.dflt, - custom: props.labels.custom - } - - let option = ( - - ) - if (value === 'custom') - option = ( - - {option} - - - ) - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: 'sa' - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default DraftSettingSa diff --git a/packages/components/src/DraftConfigurator/DraftSettingSa/stories.js b/packages/components/src/DraftConfigurator/DraftSettingSa/stories.js deleted file mode 100644 index efa57b13636..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingSa/stories.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Sa from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "sa", - dflt: "dflt", - title: "Seam allowance", - desc: - "This is the seam allowance description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: { - none: "No seam allowance", - dflt: "Standard seam allowance", - custom: "Custom seam allowance" - } -}; - -storiesOf("Low level/DraftSettingSa", module) - .add("Metric", () => ) - .add("Imperial", () => ); diff --git a/packages/components/src/DraftConfigurator/DraftSettingScale/index.js b/packages/components/src/DraftConfigurator/DraftSettingScale/index.js deleted file mode 100644 index 07524a1952b..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingScale/index.js +++ /dev/null @@ -1,76 +0,0 @@ -import React, { useState } from 'react' -import FormFieldSlider from '../../.form/FormFieldSlider' -import sliderStep from '@freesewing/utils/sliderStep' -import OptionPreamble from '../OptionPreamble' - -const DraftSettingScale = (props) => { - const [value, setValue] = useState(props.value === null ? props.dflt : props.value) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - // Sometimes, when sliding, the rapid succession of updates - // causes a weird timing issue to result in a value that is NaN. - // If that's the case, just ignore this update and keep the - // previous one instead - if (!isNaN(newValue)) { - setValue(newValue) - if (evt.type !== 'mousemove') props.updateValue('scale', newValue) - } else { - props.updateValue('scale', value) - } - } - - const reset = () => { - setValue(props.dflt) - props.updateValue('scale', props.dflt) - } - - const patternReset = () => { - setValue(props.designDflt) - props.updateValue('scale', props.designDflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let option = ( - - ) - - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: 'scale' - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default DraftSettingScale diff --git a/packages/components/src/DraftConfigurator/DraftSettingScale/stories.js b/packages/components/src/DraftConfigurator/DraftSettingScale/stories.js deleted file mode 100644 index 9674d928dd6..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingScale/stories.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Scale from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "scale", - dflt: 2, - title: "Scale", - desc: - "This is the scale description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it." -}; - -storiesOf("Low level/DraftSettingScale", module) - .add("Scale", () => ) diff --git a/packages/components/src/DraftConfigurator/DraftSettingUnits/index.js b/packages/components/src/DraftConfigurator/DraftSettingUnits/index.js deleted file mode 100644 index 28c3e61bebd..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingUnits/index.js +++ /dev/null @@ -1,65 +0,0 @@ -import React, { useState } from 'react' -import FormFieldList from '../../.form/FormFieldList' -import OptionPreamble from '../OptionPreamble' - -const DraftSettingUnits = props => { - const [value, setValue] = useState(props.dflt) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - props.updateValue(props.name, newValue) - setValue(newValue) - } - - const reset = () => { - setValue(props.dflt) - props.updateValue(props.name, props.dflt) - } - - const patternReset = () => { - setValue(props.designDflt) - props.updateValue(props.name, props.designDflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let option = ( - - ) - - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: 'units' - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default DraftSettingUnits diff --git a/packages/components/src/DraftConfigurator/DraftSettingUnits/stories.js b/packages/components/src/DraftConfigurator/DraftSettingUnits/stories.js deleted file mode 100644 index 0ba7dd827e7..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettingUnits/stories.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Units from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated setting ${name}, value is now: ${value}`), - name: "paperless", - dflt: "metric", - title: "Units title", - desc: - "This is the units description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - list: { - metric: "Metric", - imperial: "Imperial" - } -}; - -storiesOf("Low level/DraftSettingUnits", module).add("Basic", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/DraftSettings/index.js b/packages/components/src/DraftConfigurator/DraftSettings/index.js deleted file mode 100644 index 6affe1a3f9b..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettings/index.js +++ /dev/null @@ -1,151 +0,0 @@ -import React, { useState } from 'react' -import { FormattedMessage } from 'react-intl' -import DraftSettingSa from '../DraftSettingSa' -import DraftSettingScale from '../DraftSettingScale' -import DraftSettingMargin from '../DraftSettingMargin' -import DraftSettingComplete from '../DraftSettingComplete' -import DraftSettingPaperless from '../DraftSettingPaperless' -import DraftSettingAdvanced from '../DraftSettingAdvanced' -import DraftSettingDebug from '../DraftSettingDebug' -import DraftSettingUnits from '../DraftSettingUnits' -import DraftSettingLanguage from '../DraftSettingLanguage' -import DraftSettingOnly from '../DraftSettingOnly' -import RightIcon from '@material-ui/icons/KeyboardArrowRight' - -const DraftSettings = ({ - units = 'metric', - raiseEvent, - updateValue, - noDocs, - pattern, - config, - data = { settings: {} } -}) => { - // State - const [expanded, setExpanded] = useState([]) - - // Building blocks - const noyes = [, ] - const hideshow = [, ] - const metricimperial = { - metric: , - imperial: - } - const labels = { - sa: { - none: , - dflt: , - custom: - }, - only: { - dflt: , - custom: - }, - paperless: noyes, - advanced: hideshow, - complete: hideshow, - debug: noyes - } - // Methods - const toggleGroup = (group) => { - let shown = expanded.slice(0) - let index = shown.indexOf(group) - if (index === -1) shown.push(group) - else shown.splice(index, 1) - setExpanded(shown) - } - const getDefault = (setting, pattern = false) => { - if (pattern && typeof pattern.settings[setting] !== 'undefined') - return pattern.settings[setting] - switch (setting) { - case 'sa': - return 10 - case 'scale': - return 1 - case 'only': - return 'dflt' - case 'complete': - return true - case 'margin': - return 2 - case 'units': - return units - case 'debug': - return false - default: - return false - } - } - const addProps = (setting) => { - let childProps = { - raiseEvent, - updateValue, - units, - key: setting, - name: setting, - labels: labels[setting], - noDocs, - dflt: getDefault(setting, pattern), - designDflt: getDefault(setting) - } - childProps.title = - childProps.desc = - if (setting === 'only') { - childProps.customDflt = [] - childProps.parts = {} - if (config.draftOrder) { - for (let part of config.draftOrder) - childProps.parts[part] = - } - } - if (typeof data.settings[setting] !== 'undefined') childProps.value = data.settings[setting] - else childProps.value = null - - return childProps - } - - const groups = { - advanced: [ - , - , - , - , - , - , - - ] - } - - return ( - <> -
      - - - -
    - {data.settings.advanced && ( -
      - {Object.keys(groups).map((group) => { - let open = true - if (expanded.indexOf(group) === -1) open = false - let children = null - if (open) children = groups[group].map((component) => component) - return ( - -
    • - toggleGroup(group)}> - - - -
    • - {children} -
      - ) - })} -
    - )} - - ) -} - -export default DraftSettings diff --git a/packages/components/src/DraftConfigurator/DraftSettings/stories.js b/packages/components/src/DraftConfigurator/DraftSettings/stories.js deleted file mode 100644 index 2e7745dd54d..00000000000 --- a/packages/components/src/DraftConfigurator/DraftSettings/stories.js +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import DraftSettings from '.' - -const props = { - raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => console.log(`Update ${type} with new value`, data), - data: { - settings: { - options: {} - } - }, - languages: { - de: 'German', - en: 'English', - es: 'Spanish', - fr: 'French', - nl: 'Dutch' - }, - language: 'en' -} - -storiesOf('Low level/DraftSettings', module) - .add('Simon metric', () => ( - - )) - .add('Trayvon imperial', () => ( - - )) diff --git a/packages/components/src/DraftConfigurator/OptionGroup/index.js b/packages/components/src/DraftConfigurator/OptionGroup/index.js deleted file mode 100644 index 2780b396239..00000000000 --- a/packages/components/src/DraftConfigurator/OptionGroup/index.js +++ /dev/null @@ -1,104 +0,0 @@ -import React from 'react' -import Pct from '../PatternOptionPercentage' -import Deg from '../PatternOptionDegree' -import Mm from '../PatternOptionMillimeter' -import Bool from '../PatternOptionBool' -import List from '../PatternOptionList' -import Count from '../PatternOptionCount' -import optionType from '@freesewing/utils/optionType' -import optionDefault from '@freesewing/utils/optionDefault' -import { FormattedMessage } from 'react-intl' -import { injectIntl } from 'react-intl' -import OptionSubGroup from '../OptionSubGroup' - -const OptionGroup = (props) => { - const renderOption = (name, sub = false) => { - let option = props.config.options[name] - let type = optionType(option) - let stringKey = `options.${props.config.name}.${name}.` - let extraProps = { - name, - dflt: optionDefault(name, props.config.options[name], props.pattern), - designDflt: optionDefault(name, props.config.options[name]), - units: props.units, - updateValue: props.updateValue, - raiseEvent: props.raiseEvent, - title: , - desc: , - intl: props.intl, - pattern: props.config.name, - key: name, - noDocs: props.noDocs - } - if ( - typeof props.data !== 'undefined' && - typeof props.data.settings !== 'undefined' && - typeof props.data.settings.options !== 'undefined' && - typeof props.data.settings.options[name] !== 'undefined' - ) - extraProps.value = props.data.settings.options[name] - else extraProps.value = null - - let noyes = [, ] - switch (type) { - case 'pct': - return - break - case 'deg': - return - break - case 'mm': - return - break - case 'bool': - return - break - case 'list': - return - break - case 'count': - return - break - default: - throw new Error('Unsupported option type: ' + type) - } - } - - return ( - <> - {props.options.map(nameOrGroup => { - let output = [] - if (typeof nameOrGroup === 'object') { - const group = nameOrGroup - // Subgroup - for (const subGroup in group) { - let children = [] - for (const name of group[subGroup]) { - const option = props.config.options[name] - if (!props.pattern || !option.hide(props.pattern.settings.options)) { - children.push(renderOption(name, true)) - } - } - output.push( - } - children={children} - key={subGroup} - /> - ) - } - } else { - const name = nameOrGroup - const option = props.config.options[name] - if (!props.pattern || !option.hide(props.pattern.settings.options)) { - output.push(renderOption(name)) - } - } - - return output - })} - - ) -} - -export default injectIntl(OptionGroup) diff --git a/packages/components/src/DraftConfigurator/OptionGroup/stories.js b/packages/components/src/DraftConfigurator/OptionGroup/stories.js deleted file mode 100644 index 280b6aa2f48..00000000000 --- a/packages/components/src/DraftConfigurator/OptionGroup/stories.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import OptionGroup from '.' - -const options = { - armholeDrop: { pct: 10, min: 1, max: 75 }, - backlineBend: { pct: 50, min: 50, max: 100 }, - chestEase: { pct: 8, min: 0, max: 20 }, - hipsEase: { pct: 8, min: 0, max: 20 }, - lengthBonus: { pct: 10, min: -20, max: 60 }, - necklineBend: { pct: 100, min: 40, max: 100 }, - necklineDrop: { pct: 20, min: 10, max: 35 }, - stretchFactor: { pct: 5, min: 0, max: 15 }, - shoulderStrapWidth: { pct: 15, min: 10, max: 40 }, - shoulderStrapPlacement: { pct: 40, min: 20, max: 80 } -} - -const props = { - raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => console.log(`Update ${type} with new value`, data), - data: { - settings: { - options: {} - } - }, - pattern: { - config: { - name: 'aaron', - options: options - } - }, - dflts: { options: {} }, - options: Object.keys(options) -} - -storiesOf('Low level/OptionGroup', module).add('Simon metric', () => ( - -)) diff --git a/packages/components/src/DraftConfigurator/OptionPreamble/index.js b/packages/components/src/DraftConfigurator/OptionPreamble/index.js deleted file mode 100644 index 6e71ea488cd..00000000000 --- a/packages/components/src/DraftConfigurator/OptionPreamble/index.js +++ /dev/null @@ -1,106 +0,0 @@ -import React from 'react' -import IconButton from '@material-ui/core/IconButton' -import RightIcon from '@material-ui/icons/KeyboardArrowRight' -import ResetIcon from '@material-ui/icons/SettingsBackupRestore' -import { injectIntl } from 'react-intl' - -const OptionPreamble = ({ - intl, - title, - desc, - dflt, - designDflt, - option, - value, - displayValue, - displayFormat = 'node', - sameButDifferent, - expanded, - toggleExpanded, - reset, - patternReset -}) => { - const styles = { - container: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center' - }, - left: { - flexGrow: 1, - margin: '0 0.5rem' - }, - right: { - margin: '0 5px 0 0 ', - textAlign: 'right' - } - } - - const resetLabel = intl.formatMessage({ - id: 'app.restoreDefaults', - defaultMessage: ' ♻️ ' - }) - const resetDesignLabel = intl.formatMessage({ - id: 'app.restoreDesignDefaults', - defaultMessage: ' ♻️ ' - }) - const resetPatternLabel = intl.formatMessage({ - id: 'app.restorePatternDefaults', - defaultMessage: ' ♻️ ' - }) - - let pattern = false - if (dflt !== designDflt) pattern = true - let displayClass = value === dflt ? 'dflt' : 'custom' - if (pattern && value === designDflt) displayClass = 'p-dflt' - else if (pattern && sameButDifferent) displayClass = 'custom' - let dspValue = {displayValue} - - if (displayFormat === 'html') - dspValue = - return ( - -
    -
    - - {title} -
    -
    {dspValue}
    -
    -
    -
    -
    -

    {desc}

    -
    -
    - {pattern ? ( - - - - ) : null} - - - -
    -
    - {option} -
    -
    - ) -} - -export default injectIntl(OptionPreamble) diff --git a/packages/components/src/DraftConfigurator/OptionPreamble/stories.js b/packages/components/src/DraftConfigurator/OptionPreamble/stories.js deleted file mode 100644 index f2b73a2c031..00000000000 --- a/packages/components/src/DraftConfigurator/OptionPreamble/stories.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Preamble from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - id: "example", - value: 120, - displayValue: "12cm", - name: "examplePctDegCountOption", - dflt: 50, - title: "This is the title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component is used within other components, and not very useful on its own." -}; - -storiesOf("Low level/OptionPreamble", module).add("Preamble", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/OptionSubGroup.js b/packages/components/src/DraftConfigurator/OptionSubGroup.js deleted file mode 100644 index c95f4100b56..00000000000 --- a/packages/components/src/DraftConfigurator/OptionSubGroup.js +++ /dev/null @@ -1,18 +0,0 @@ -import React, { useState } from 'react' -import RightIcon from '@material-ui/icons/KeyboardArrowRight' - -const OptionSubGroup = ({ title, children }) => { - const [open, setOpen] = useState(false) - - return ( -
  • - setOpen(!open)}> - - {title} - - {open &&
      {children}
    } -
  • - ) -} - -export default OptionSubGroup diff --git a/packages/components/src/DraftConfigurator/PatternOptionBool/index.js b/packages/components/src/DraftConfigurator/PatternOptionBool/index.js deleted file mode 100644 index d31bf3e0538..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionBool/index.js +++ /dev/null @@ -1,64 +0,0 @@ -import React, { useState } from 'react' -import FormFieldBool from '../../.form/FormFieldBool' -import OptionPreamble from '../OptionPreamble' - -const PatternOptionBool = (props) => { - const [value, setValue] = useState(props.value === null ? props.dflt : props.value) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - props.updateValue(props.name, newValue) - setValue(newValue) - } - - const reset = () => { - setValue(props.dflt) - props.updateValue(props.name, props.dflt) - } - - const patternReset = () => { - setValue(props.designDflt) - props.updateValue(props.name, props.designDflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let option = ( - - ) - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'draftSetting', - value: props.name - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default PatternOptionBool diff --git a/packages/components/src/DraftConfigurator/PatternOptionBool/stories.js b/packages/components/src/DraftConfigurator/PatternOptionBool/stories.js deleted file mode 100644 index 79de34d3b8d..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionBool/stories.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Bool from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), - name: "examplePatternOptionBool", - dflt: false, - title: - "I am a boolean pattern option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - labels: ["No", "Yes"] -}; - -storiesOf("Low level/PatternOptionBool", module) - .add("Basic", () => ) - .add("Yes as default", () => ); diff --git a/packages/components/src/DraftConfigurator/PatternOptionCount/index.js b/packages/components/src/DraftConfigurator/PatternOptionCount/index.js deleted file mode 100644 index 3ad4b6ac32d..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionCount/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import PatternOptionPctDegCount from "../PatternOptionPctDegCount"; - -export default props => ; diff --git a/packages/components/src/DraftConfigurator/PatternOptionCount/stories.js b/packages/components/src/DraftConfigurator/PatternOptionCount/stories.js deleted file mode 100644 index 4ada0f307ee..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionCount/stories.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Count from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated percentage option ${name}, value is now: ${value}`), - name: "exampleCountOption", - dflt: 50, - title: - "I am a pattern count option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it." -}; - -storiesOf("Low level/PatternOptionCount", module) - .add("Basic", () => ) - .add("From 20 to 80", () => ) - .add("Step: 5", () => ); diff --git a/packages/components/src/DraftConfigurator/PatternOptionDegree/index.js b/packages/components/src/DraftConfigurator/PatternOptionDegree/index.js deleted file mode 100644 index 3b1ce72b2cb..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionDegree/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import PatternOptionPctDegCount from "../PatternOptionPctDegCount"; - -export default props => ; diff --git a/packages/components/src/DraftConfigurator/PatternOptionDegree/stories.js b/packages/components/src/DraftConfigurator/PatternOptionDegree/stories.js deleted file mode 100644 index efb15f88f4b..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionDegree/stories.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Pct from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated degree option ${name}, value is now: ${value}`), - name: "exampleDegreeOption", - dflt: 45, - max: 90, - title: - "I am a pattern degree option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it." -}; - -storiesOf("Low level/PatternOptionDegree", module) - .add("Basic", () => ) - .add("From 30 to 45", () => ) - .add("Step: 10", () => ); diff --git a/packages/components/src/DraftConfigurator/PatternOptionList/index.js b/packages/components/src/DraftConfigurator/PatternOptionList/index.js deleted file mode 100644 index 648c00dbeec..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionList/index.js +++ /dev/null @@ -1,72 +0,0 @@ -import React, { useState } from 'react' -import FormFieldList from '../../.form/FormFieldList' -import OptionPreamble from '../OptionPreamble' - -const PatternOptionList = (props) => { - const [value, setValue] = useState(props.dflt) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - props.updateValue(props.name, newValue) - setValue(newValue) - } - - const reset = () => { - setValue(props.dflt) - props.updateValue(props.name, props.dflt) - } - - const patternReset = () => { - setValue(props.designDflt) - props.updateValue(props.name, props.designDflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - // Add translations - let stringKey = `options.${props.pattern}.${props.name}.options.` - let list = {} - for (let item of props.list) - list[item] = props.intl.formatMessage({ - id: stringKey + item, - defaultMessage: item - }) - let option = ( - - ) - return ( -
  • - - props.raiseEvent('showHelp', { - type: 'patternOption', - value: props.name - }) - } - option={option} - noDocs={props.noDocs} - /> -
  • - ) -} - -export default PatternOptionList diff --git a/packages/components/src/DraftConfigurator/PatternOptionList/stories.js b/packages/components/src/DraftConfigurator/PatternOptionList/stories.js deleted file mode 100644 index 5c3030f8eea..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionList/stories.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import List from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), - name: "exampleListOption", - dflt: "banana", - title: - "I am a pattern list option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.", - list: { - apple: "Apple", - banana: "Banana", - cherry: "Cherry" - } -}; - -storiesOf("Low level/PatternOptionList", module).add("Basic", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/PatternOptionMillimeter/index.js b/packages/components/src/DraftConfigurator/PatternOptionMillimeter/index.js deleted file mode 100644 index 3227f17abc3..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionMillimeter/index.js +++ /dev/null @@ -1,87 +0,0 @@ -import React, { useState } from 'react' -import sliderStep from '@freesewing/utils/sliderStep' -import roundMm from '@freesewing/utils/roundMm' -import roundMmUp from '@freesewing/utils/roundMmUp' -import roundMmDown from '@freesewing/utils/roundMmDown' -import formatMm from '@freesewing/utils/formatMm' -import FormFieldSlider from '../../.form/FormFieldSlider' -import OptionPreamble from '../OptionPreamble' - -const PatternOptionMillimeter = ({ - title = false, - desc = false, - units = 'metric', - min = 0, - max = 100, - updateValue, - name, - dflt, - value, - raiseEvent, - noDocs -}) => { - const [val, setVal] = useState(value === null ? dflt : value) - const [previousValue, setPreviousValue] = useState(dflt) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - newValue = roundMm(newValue, units) - // Sometimes, when sliding, the rapid succession of updates - // causes a weird timing issue to result in a value that is NaN. - // If that's the case, just ignore this update and keep the - // previous one instead - if (!isNaN(newValue)) { - setVal(newValue) - if (evt.type !== 'mousemove') updateValue(name, newValue) - } else { - if (evt.type !== 'mousemove') updateValue(name, val) - } - } - - const reset = () => { - setVal(dflt) - updateValue(name, dflt) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let option = ( - - ) - - return ( -
  • - - raiseEvent('showHelp', { - type: 'patternOption', - value: name - }) - } - option={option} - noDocs={noDocs} - /> -
  • - ) -} - -export default PatternOptionMillimeter diff --git a/packages/components/src/DraftConfigurator/PatternOptionMillimeter/stories.js b/packages/components/src/DraftConfigurator/PatternOptionMillimeter/stories.js deleted file mode 100644 index 6acc2c231da..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionMillimeter/stories.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Mm from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated millimeter option ${name}, value is now: ${value}`), - name: "examplePercentageOption", - dflt: 50, - units: "metric", - title: - "I am a pattern millimeter option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it (we've made it green in this example)." -}; - -const maxNotOnStep = - "Since our step is 0.1mm and our max value is 124.86 mm, it falls in between two steps (124.8mm and 124.9mm). Picking the max value would result in the rounded max value of 124.9mm, which is outside our max boundary. So we always round the max value down to the closest step. Also note that while the displayed value rounds to mm, under the hood we use 1/10th of a mm and the actual value passed for the max here is not 12.5cm but 124.8mm (12.48cm)"; -const minNotOnStep = - "Since our step is 0.1mm and our min value is 24.06 mm, it falls in between two steps (24mm and 24.1mm). Picking the min value would result in the rounded min value of 24mm, which is outside our min boundary. So we always round the min value up to the closest step. Also note that while the displayed value rounds to mm, under the hood we use 1/10th of a mm and the actual value passed for the min here is not 2.4cm but 24.1mm (2.41cm)"; - -storiesOf("Low level/PatternOptionMillimeter", module) - .add("Metric", () => ) - .add("Max: 12.486 cm", () => ( - - )) - .add("Min: 2.406 cm", () => ) - .add("Negative", () => ) - .add("Imperial", () => ) - .add("Imperial negative", () => ( - - )); diff --git a/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/index.js b/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/index.js deleted file mode 100644 index 0095008357b..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/index.js +++ /dev/null @@ -1,97 +0,0 @@ -import React, { useState } from 'react' -import FormFieldSlider from '../../.form/FormFieldSlider' -import OptionPreamble from '../OptionPreamble' - -const PatternOptionPctDegCount = ({ - min = 0, - max = 100, - step = 0.1, - type = 'pct', - updateValue, - name, - dflt, - designDflt, - title, - desc, - value, - raiseEvent, - noDocs -}) => { - let factor = 1 - if (type === 'pct') factor = 100 - const round = (val) => Math.round(val * 10) / 10 - const [val, setVal] = useState(value === null ? dflt : round(value * factor)) - const [previousValue, setPreviousValue] = useState(value === null ? dflt : round(value * factor)) - const [expanded, setExpanded] = useState(false) - - const update = (name, newValue, evt) => { - newValue = round(newValue) - // Sometimes, when sliding, the rapid succession of updates - // causes a weird timing issue to result in a value that is NaN. - // If that's the case, just ignore this update and keep the - // previous one instead - if (!isNaN(newValue)) { - setVal(newValue) - if (evt.type !== 'mousemove') updateValue(name, newValue / factor) - } else { - if (evt.type !== 'mousemove') updateValue(name, value / factor) - } - } - - const reset = () => { - setVal(dflt) - updateValue(name, dflt / factor) - } - - const patternReset = () => { - setVal(designDflt) - updateValue(name, designDflt / factor) - } - - const toggleExpanded = () => setExpanded(!expanded) - - let unit = '' - if (type === 'pct') unit = '%' - if (type === 'deg') unit = '°' - - let option = ( - - ) - - return ( -
  • - - raiseEvent('showHelp', { - type: 'patternOption', - value: name - }) - } - option={option} - noDocs={noDocs} - /> -
  • - ) -} - -export default PatternOptionPctDegCount diff --git a/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/stories.js b/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/stories.js deleted file mode 100644 index 297f04d99fd..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionPctDegCount/stories.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import PctDegCount from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), - name: "examplePctDegCountOption", - dflt: 50, - title: "This is the title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component is the base for the percentage, degree, and count pattern options." -}; - -storiesOf("Low level/PatternOptionPctDegCount", module).add( - "Percentage", - () => -); -storiesOf("Low level/PatternOptionPctDegCount", module).add("Degree", () => ( - -)); -storiesOf("Low level/PatternOptionPctDegCount", module).add("Count", () => ( - -)); diff --git a/packages/components/src/DraftConfigurator/PatternOptionPercentage/index.js b/packages/components/src/DraftConfigurator/PatternOptionPercentage/index.js deleted file mode 100644 index 5ac1dd8fd64..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionPercentage/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import React from "react"; -import PatternOptionPctDegCount from "../PatternOptionPctDegCount"; - -export default props => ; diff --git a/packages/components/src/DraftConfigurator/PatternOptionPercentage/stories.js b/packages/components/src/DraftConfigurator/PatternOptionPercentage/stories.js deleted file mode 100644 index b350d27fc0d..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptionPercentage/stories.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Pct from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (name, value) => - console.log(`Updated percentage option ${name}, value is now: ${value}`), - name: "examplePercentageOption", - dflt: 50, - title: - "I am a pattern percentage option. This is my title. I'm wrapped in an h4 tag", - desc: - "This is the description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it." -}; - -storiesOf("Low level/PatternOptionPercentage", module) - .add("Basic", () => ) - .add("From 20 to 80", () => ) - .add("Step: 5", () => ); diff --git a/packages/components/src/DraftConfigurator/PatternOptions/index.js b/packages/components/src/DraftConfigurator/PatternOptions/index.js deleted file mode 100644 index e2fb4f8bf13..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptions/index.js +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useState } from 'react' -import OptionGroup from '../OptionGroup' -import { FormattedMessage } from 'react-intl' -import RightIcon from '@material-ui/icons/KeyboardArrowRight' - -const PatternOptions = (props) => { - const [expanded, setExpanded] = useState([]) - const toggleGroup = (group) => { - let shown = expanded.slice(0) - let index = shown.indexOf(group) - if (index === -1) shown.push(group) - else shown.splice(index, 1) - setExpanded(shown) - } - - const renderGroup = (group) => { - let open = true - if (expanded.indexOf(group) === -1) open = false - let output = [] - let children = null - if (expanded.indexOf(group) !== -1) - children = ( -
      - -
    - ) - output.push( -
  • - toggleGroup(group)}> - - - - {children} -
  • - ) - - return output - } - - const children = [] - for (let group in props.config.optionGroups) { - if (props.data.settings.advanced || group !== 'advanced') { - children.push(renderGroup(group)) - } - } - - return
      {children}
    -} - -export default PatternOptions diff --git a/packages/components/src/DraftConfigurator/PatternOptions/stories.js b/packages/components/src/DraftConfigurator/PatternOptions/stories.js deleted file mode 100644 index 4d08be1c64e..00000000000 --- a/packages/components/src/DraftConfigurator/PatternOptions/stories.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import PatternOptions from '.' - -const props = { - raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => console.log(`Update ${type} with new value`, data), - data: { - settings: { - options: {} - } - } -} - -storiesOf('Low level/PatternOptions', module) - .add('Simon metric', () => ( - - )) - .add('Trayvon imperial', () => ( - - )) diff --git a/packages/components/src/DraftConfigurator/index.js b/packages/components/src/DraftConfigurator/index.js deleted file mode 100644 index d1f4d559b48..00000000000 --- a/packages/components/src/DraftConfigurator/index.js +++ /dev/null @@ -1,62 +0,0 @@ -import React from 'react' -import { FormattedMessage } from 'react-intl' -import PatternOptions from './PatternOptions' -import DraftSettings from './DraftSettings' -import TuneIcon from '@material-ui/icons/Tune' -import WrenchIcon from '@material-ui/icons/Build' -import PlayIcon from '@material-ui/icons/PlayCircleOutline' - -const DraftConfigurator = ({ - noDocs = false, - units = 'metric', - config = {}, - data = {}, - pattern, - updatePatternData, - raiseEvent, - actions = false -}) => { - let childProps = { - noDocs, - units, - config, - data, - pattern, - raiseEvent - } - return ( -
      - {actions && ( -
    • - - - - -
        {actions}
      -
    • - )} -
    • - - - - - updatePatternData(value, 'settings', 'options', name)} - /> -
    • -
    • - - - - - updatePatternData(value, 'settings', name)} - /> -
    • -
    - ) -} - -export default DraftConfigurator diff --git a/packages/components/src/DraftConfigurator/stories.js b/packages/components/src/DraftConfigurator/stories.js deleted file mode 100644 index 7a8944b6a27..00000000000 --- a/packages/components/src/DraftConfigurator/stories.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import GistConfigurator from "."; -//import { IntlProvider } from "react-intl"; -//import { strings } from "@freesewing/i18n"; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => - console.log(`Update ${type} with new value`, data) -}; - -storiesOf("DraftConfigurator", module) - .add("Simon metric", () => ( - - )) - .add("Trayvon imperial", () => ( - - )); diff --git a/packages/components/src/Example/index.js b/packages/components/src/Example/index.js deleted file mode 100644 index feb0b63c492..00000000000 --- a/packages/components/src/Example/index.js +++ /dev/null @@ -1,119 +0,0 @@ -import React, { useState } from 'react' -import examples from '@freesewing/examples' -import rendertest from '@freesewing/rendertest' -import tutorial from '@freesewing/tutorial' -import Draft from '../Draft' -import Design from '../Workbench/Design' -import IconButton from '@material-ui/core/IconButton' -import ResetIcon from '@material-ui/icons/SettingsBackupRestore' -import Switch from '@material-ui/core/Switch' -import { withStyles } from '@material-ui/core/styles' - -const PurpleSwitch = withStyles({ - switchBase: { - color: '#868e96', - '&$checked': { - color: '#845ef7' - }, - '&$checked + $track': { - backgroundColor: '#9775fa' - } - }, - checked: {}, - track: { - backgroundColor: '#868e96' - } -})(Switch) - -const Example = ({ - pattern = 'examples', - design = true, - caption = '', - children=null, - options = {}, - settings, - part = '', - sample -}) => { - const [designMode, setDesignMode] = useState(false) - const [focus, setFocus] = useState(null) - - if (caption) console.log('Passing the caption prop to @freesewing/components/Example is deprecated. See: https://github.com/freesewing/freesewing/issues/1043') - - const raiseEvent = (type, data) => { - if (type === 'clearFocusAll') return setFocus(null) - let f = {} - if (focus !== null) f = { ...focus } - if (typeof f[data.part] === 'undefined') f[data.part] = { paths: [], points: [], coords: [] } - if (type === 'point') f[data.part].points.push(data.name) - else if (type === 'path') f[data.part].paths.push(data.name) - else if (type === 'coords') f[data.part].coords.push(data.coords) - else if (type === 'clearFocus') { - let i = focus[data.part][data.type].indexOf(data.name) - f[data.part][data.type].splice(i, 1) - } - - setFocus(f) - } - - let focusCount = 0 - if (focus !== null) { - for (let p of Object.keys(focus)) { - for (let i in focus[p].points) focusCount++ - for (let i in focus[p].paths) focusCount++ - for (let i in focus[p].coords) focusCount++ - } - } - - const patterns = { - examples, - rendertest, - tutorial - } - settings = { - options: { ...options }, - measurements: { head: 390 }, - ...settings - } - if (part !== '') settings.only = [part] - const patternInstance = new patterns[pattern](settings) - if (sample) patternInstance.sample() - else patternInstance.draft() - const patternProps = patternInstance.getRenderProps() - return ( -
    -
    -
    - raiseEvent('clearFocusAll', null)} - > - - - setDesignMode(!designMode)} - value={designMode} - color="primary" - className="switch-accent" - /> -
    - -
    -
    {caption || children}
    - {designMode && ( -
    - -
    - )} -
    - ) -} - -export default Example diff --git a/packages/components/src/Icon/icons.js b/packages/components/src/Icon/icons.js deleted file mode 100644 index e4d2896286c..00000000000 --- a/packages/components/src/Icon/icons.js +++ /dev/null @@ -1,59 +0,0 @@ -// These are from simpleicons.org - thanks guys! -const discord = - 'M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z' - -const github = - 'M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12' - -const twitter = - 'M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z' - -const instagram = - 'M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z' - -const google = - 'M 12.25009,0 C 7.5567085,0 3.5033589,2.69334 1.530043,6.613315 0.71674427,8.240005 0.25,10.06676 0.25,12.00009 c 0,1.93333 0.46674427,3.759905 1.280043,5.386595 C 3.5033589,21.30666 7.5567085,24 12.25009,24 c 3.239959,0 5.959944,-1.066635 7.94668,-2.906575 2.266629,-2.093365 3.573349,-5.173415 3.573349,-8.826735 0,-0.98666 -0.08023,-1.70661 -0.253496,-2.453265 l -11.266533,0 0,4.45322 6.613137,0 c -0.133283,1.106705 -0.853233,2.77333 -2.453266,3.89327 -1.013315,0.706675 -2.373243,1.199975 -4.159871,1.199975 -3.173318,0 -5.8666835,-2.09327 -6.826777,-4.986605 -0.2533286,-0.746655 -0.399991,-1.54657 -0.399991,-2.373195 0,-0.82672 0.1467055,-1.62672 0.386706,-2.373375 C 6.3834495,6.73338 9.076772,4.63993 12.25009,4.63993 c 2.253301,0 3.773228,0.973465 4.639932,1.786855 L 20.27666,3.12004 C 18.196718,1.186705 15.490049,0 12.25009,0 Z' - -const facebook = - 'M22.676 0H1.324C.593 0 0 .593 0 1.324v21.352C0 23.408.593 24 1.324 24h11.494v-9.294H9.689v-3.621h3.129V8.41c0-3.099 1.894-4.785 4.659-4.785 1.325 0 2.464.097 2.796.141v3.24h-1.921c-1.5 0-1.792.721-1.792 1.771v2.311h3.584l-.465 3.63H16.56V24h6.115c.733 0 1.325-.592 1.325-1.324V1.324C24 .593 23.408 0 22.676 0' - -const reddit = 'M 11.710829,0.00384705 C 5.0683862,0.16990815 -0.16221405,5.6505729 0.00384705,12.293016 0.16990814,18.686369 5.3178021,23.833614 11.628124,24.082706 18.270567,24.248767 23.833939,19.018167 24,12.375723 V 11.710829 C 23.833939,5.0683862 18.353273,-0.16221404 11.710829,0.00384705 Z m 5.187788,5.10021625 c 0.15698,0.00649 0.313636,0.048326 0.458939,0.1313569 0.581214,0.3321223 0.912687,1.0793971 0.580565,1.660611 C 17.605998,7.4772452 16.858724,7.808718 16.27751,7.4765965 15.862357,7.3105352 15.614238,6.8947339 15.614238,6.3965506 L 13.038995,5.8159854 12.208689,9.55236 c 1.826672,0.08303 3.48858,0.664893 4.651007,1.495199 0.664245,-0.664245 1.826673,-0.664245 2.490917,0 0.332122,0.332121 0.49786,0.747274 0.49786,1.245457 0.249091,0.747275 -0.249092,1.327193 -0.830306,1.576284 v 0.49948 c 0,2.740009 -3.155161,4.897506 -7.057597,4.897506 -3.9024357,0 -7.0575963,-2.157497 -7.0575963,-4.897506 V 13.8693 C 3.9896377,13.454147 3.6578398,12.458754 3.989962,11.545418 c 0.2490916,-0.664245 0.9120387,-1.08037 1.5762832,-0.99734 0.4981831,0 0.9133359,0.167358 1.2454581,0.499481 C 8.2232228,10.134222 9.8848065,9.55236 11.545418,9.55236 l 0.913011,-4.1515273 c 0,-0.083031 0.08271,-0.1654124 0.08271,-0.1654125 0.08303,-0.08303 0.166711,-0.084328 0.249741,-0.084328 l 2.906069,0.664893 C 15.946037,5.3800751 16.427678,5.084603 16.898617,5.1040633 Z M 9.3026198,12.293016 c -0.6642443,0 -1.2454583,0.581214 -1.2454583,1.245458 0,0.664245 0.498183,1.245459 1.2454583,1.245459 0.6642442,0 1.2454582,-0.581214 1.2454582,-1.245459 0,-0.664244 -0.581214,-1.245458 -1.2454582,-1.245458 z m 5.4813132,0 c -0.664245,0 -1.245459,0.581214 -1.245459,1.245458 0,0.664245 0.581214,1.245459 1.245459,1.245459 0.664245,0 1.245458,-0.581214 1.245458,-1.245459 0,-0.664244 -0.581213,-1.245458 -1.245458,-1.245458 z m -5.3872557,3.943952 c -0.072653,0 -0.135249,0.04021 -0.1767645,0.123249 -0.1660605,0.16606 -0.1660605,0.332121 0,0.415152 0.8303052,0.830306 2.4905922,0.914633 2.9887762,0.914633 0.498183,0 2.077061,-0.08433 2.990396,-0.914633 -0.08303,-0.08303 -0.084,-0.249092 -0.167034,-0.415152 -0.166061,-0.166062 -0.332121,-0.166062 -0.415152,0 -0.498183,0.581213 -1.660611,0.747598 -2.490917,0.747598 -0.830305,0 -1.992733,-0.166385 -2.4909165,-0.747598 -0.08303,-0.08303 -0.1657365,-0.123249 -0.2383882,-0.123249 z' - -const note = - 'M 12,3 C 11.54,3 11.07,3.04 10.6,3.14 7.84,3.67 5.64,5.9 5.12,8.66 4.64,11.27 5.6,13.67 7.34,15.22 7.77,15.6 8,16.13 8,16.69 V 19 c 0,1.1 0.9,2 2,2 h 0.28 c 0.35,0.6 0.98,1 1.72,1 0.74,0 1.38,-0.4 1.72,-1 H 14 c 1.1,0 2,-0.9 2,-2 V 16.69 C 16,16.14 16.22,15.6 16.64,15.23 18.09,13.95 19,12.08 19,10 19,6.13 15.87,3 12,3 Z m 2,16 h -4 v -1 h 4 z m 0,-2 h -4 v -1 h 4 z M 12.5,11.41 V 14 h -1 V 11.41 L 9.67,9.59 10.38,8.88 12,10.5 13.62,8.88 14.33,9.59 Z' -const tip = - 'M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z' -const warning = - 'M7.58 4.08L6.15 2.65C3.75 4.48 2.17 7.3 2.03 10.5h2c.15-2.65 1.51-4.97 3.55-6.42zm12.39 6.42h2c-.15-3.2-1.73-6.02-4.12-7.85l-1.42 1.43c2.02 1.45 3.39 3.77 3.54 6.42zM18 11c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2v-5zm-6 11c.14 0 .27-.01.4-.04.65-.14 1.18-.58 1.44-1.18.1-.24.15-.5.15-.78h-4c.01 1.1.9 2 2.01 2z' - -const units = - 'M 1.2481485,5.9969994 C 0.57472916,5.9969994 0,6.5763504 0,7.2510315 V 14.751864 C 0,15.427642 0.57290973,16 1.2481485,16 H 22.753805 C 23.427222,16 24,15.426545 24,14.751864 V 7.2510315 C 24,6.5752543 23.429042,5.9969994 22.753805,5.9969994 Z M 2.0001628,7.997229 H 2.5021567 V 9.9974209 H 3.4983316 V 7.997229 H 4.5042727 V 9.9974209 H 5.5004476 V 7.997229 h 1.0039881 v 3.004219 H 7.5006105 V 7.997229 H 8.4967853 V 9.9974209 H 9.500773 V 7.997229 h 0.996175 v 2.0001919 h 1.005941 V 7.997229 h 0.996175 v 2.0001919 h 1.003988 V 7.997229 h 0.996175 v 2.0001919 h 1.003987 V 7.997229 h 0.996176 v 3.004219 h 1.003987 V 7.997229 h 0.996176 v 2.0001919 h 1.00594 V 7.997229 h 0.996176 v 2.0001919 h 1.003987 V 7.997229 h 0.494181 V 13.99977 H 19.202735 V 11.659724 H 17.599088 V 13.99977 H 12.801823 V 10.854937 H 11.200131 V 13.99977 H 6.4009116 V 11.659724 H 4.7992186 V 13.99977 H 2.0001628 Z' - -const measurements = - 'M 1.7792969,4.1816406 C 1.4635303,4.2034836 1.2472407,4.5095002 1.3320312,4.8144531 2.0126746,7.4312978 2.3589401,9.6399539 2.4804688,11.576172 l -0.2792969,0.179687 c -0.2007566,0.128704 -0.362752,0.219425 -0.5644531,0.480469 -0.1008507,0.130522 -0.2414074,0.337804 -0.2460938,0.683594 -0.00469,0.34579 0.2212218,0.709779 0.4121094,0.861328 0.3438312,0.272974 0.5293755,0.265612 0.7070312,0.279297 -0.102277,2.28979 -0.5523838,4.163493 -1.15625,5.869141 -0.266254,0.647707 0.7399311,1.004673 0.9414063,0.333984 0.6291584,-1.777086 1.0947468,-3.759245 1.2011719,-6.16211 0.8587499,0.0021 1.9817457,-0.02871 3.2402343,0.08203 1.266623,0.111458 2.5881834,0.388821 3.6914059,0.923828 -0.8838667,0.895791 -1.5848887,2.046501 -1.9218746,3.492187 l -0.2265625,0.972657 1.9472651,0.455078 0.226563,-0.97461 c 0.285273,-1.223836 0.850633,-2.097458 1.613281,-2.771484 0.508245,0.558951 0.895359,1.267092 1.117188,2.21875 l 0.226562,0.972656 1.949219,-0.453125 -0.228516,-0.974609 c -0.263451,-1.130219 -0.752009,-2.068727 -1.375,-2.835938 1.029043,-0.475861 2.194264,-0.776127 3.316407,-0.958984 1.232141,-0.200782 2.333045,-0.266545 3.220703,-0.341797 0.08818,2.494183 0.568253,4.529139 1.214843,6.355469 0.201481,0.670677 1.207649,0.313718 0.941407,-0.333984 -0.627794,-1.773234 -1.099219,-3.716671 -1.175781,-6.132811 0.04197,-0.0074 0.08942,-0.01089 0.130859,-0.01953 0.203289,-0.04241 0.397475,-0.06086 0.701172,-0.28711 0.151848,-0.113123 0.350634,-0.325838 0.427734,-0.634765 0.0771,-0.308927 -0.0063,-0.622179 -0.105469,-0.806641 -0.19843,-0.368923 -0.391632,-0.467629 -0.59375,-0.601562 l -0.472656,-0.3125 c 0.145104,-1.8337507 0.478549,-3.8949994 1.109375,-6.3203139 0.09171,-0.3306355 -0.169212,-0.6533027 -0.511719,-0.6328125 -0.218769,0.013497 -0.40325,0.1678902 -0.455078,0.3808594 -0.737,2.8335196 -1.100379,5.2405579 -1.199218,7.341797 -0.815925,0.07419 -2.080274,0.132785 -3.554688,0.373047 -1.478459,0.240919 -3.106344,0.671272 -4.574219,1.509765 -0.13911,-0.09127 -0.278493,-0.182969 -0.421875,-0.263671 -1.545631,-0.869966 -3.2877636,-1.195282 -4.8417966,-1.332032 -1.384279,-0.121812 -2.5095809,-0.08087 -3.296875,-0.08008 L 3.4980469,11.929688 C 3.4010459,9.8222094 3.0389322,7.4079513 2.2988281,4.5625 2.2413801,4.3260531 2.0220721,4.1652822 1.7792969,4.1816406 Z' - -const withBreasts = - 'm 8.233159,2.5000002 c 0,0 0.03684,1.4367676 0.07562,2.1541457 C 8.413989,6.5901608 7.3671071,6.9496995 7.3372662,8.1692173 7.3029172,9.5719723 8.2152,10.315942 8.255388,12.267223 8.290568,13.973294 7.1739465,15.012709 7.1739465,17.259683 9.46861,17.549817 10.668009,19.205086 11.354231,21.5 h 0.109763 0.93923 0.109803 c 0.686181,-2.294914 1.88558,-3.950183 4.180285,-4.240317 0,-2.246974 -1.116622,-3.286389 -1.081483,-4.99246 0.04015,-1.951281 0.952433,-2.6952507 0.918122,-4.0980057 -0.0298,-1.2195178 -1.076723,-1.5790565 -0.971513,-3.5150714 0.0389,-0.7173781 0.07562,-2.1541457 0.07562,-2.1541457 h -0.722313 c 0,1.5276628 -1.146752,3.7763442 -2.978112,3.7763442 -1.831402,0 -2.978154,-2.2486814 -2.978154,-3.7763442 z' - -const withoutBreasts = - 'M 6.2021092,6.7988281 C 5.0433189,10.972649 5.2215488,13.211802 5.2215488,16.798828 h 5.8983122 l 0.143133,-1.21128 c 0.331559,-1.834081 0.655671,-2.543616 1.078829,0.07477 l 0.134587,1.136509 h 5.896176 c 0,-3.587026 0.180363,-5.826179 -0.978425,-9.9999999 z' - -const designs = 'M 11.974745,2.9104165 c -1.528527,0 -2.784485,1.256277 -2.784485,2.7848068 0,0.7494035 0.300482,1.4388587 0.786371,1.9393863 a 0.79436575,0.79436575 0 0 0 0.0084,0.00839 c 0.38087,0.3808653 0.745407,0.6251708 0.94538,0.8248328 0.19998,0.1996612 0.25013,0.2644989 0.25013,0.519072 V 9.6465486 L 2.0590674,14.913054 c -0.284779,0.164416 -0.836034,0.466125 -1.31649616,0.961104 -0.4804697,0.494981 -0.92450835,1.339947 -0.6668386,2.258534 0.2202611,0.785239 0.7746008,1.348564 1.34156666,1.587845 0.5669735,0.23928 1.0981677,0.23415 1.4684955,0.23415 h 6.2292502 5.582178 6.22925 c 0.370328,0 0.901583,0.0051 1.468557,-0.23415 0.566974,-0.239281 1.121495,-0.802606 1.341756,-1.587845 0.25767,-0.918587 -0.18662,-1.763553 -0.667089,-2.258534 C 22.589235,15.379179 22.03823,15.07747 21.753452,14.913054 L 12.76908,9.7258014 V 8.9869116 c 0,-0.7037243 -0.35623,-1.2837462 -0.716532,-1.6434766 C 11.69477,6.9862306 11.349385,6.7584045 11.114868,6.5255482 10.906224,6.3095381 10.778796,6.0225704 10.778796,5.6952216 c 0,-0.6700011 0.525949,-1.1962032 1.195949,-1.1962032 0.670007,0 1.196206,0.5262021 1.196206,1.1962032 a 0.79428633,0.79428633 0 0 0 0.794335,0.7942692 0.79428633,0.79428633 0 0 0 0.794268,-0.7942692 c 0,-1.5285296 -1.256276,-2.7848051 -2.784809,-2.7848051 z m -0.06859,8.2926595 8.991884,5.191357 c 0.289472,0.167124 0.693472,0.413355 0.943933,0.671385 0.250463,0.258029 0.313011,0.371405 0.247537,0.604827 -0.102886,0.366772 -0.190028,0.402129 -0.359686,0.473732 -0.169667,0.07161 -0.470133,0.09952 -0.803363,0.09952 H 14.697212 9.115034 2.8857834 c -0.3332299,0 -0.6336968,-0.02792 -0.8033621,-0.09952 -0.1696653,-0.07161 -0.2567452,-0.10696 -0.3596267,-0.473732 -0.06548,-0.233422 -0.00303,-0.346798 0.2474764,-0.604827 0.2504623,-0.25803 0.6547126,-0.504259 0.9441829,-0.671385 z' - -export default { - designs, - discord, - github, - twitter, - instagram, - google, - facebook, - reddit, - note, - tip, - warning, - units, - measurements, - withBreasts, - withoutBreasts -} diff --git a/packages/components/src/Icon/index.js b/packages/components/src/Icon/index.js deleted file mode 100644 index de3c5f219ae..00000000000 --- a/packages/components/src/Icon/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react' -import icons from './icons' - -const Icon = ({ - size = 24, - viewBox = '0 0 24 24', - className = '', - icon = 'github', - color = false, - style = {} -}) => ( - - - -) - -export default Icon diff --git a/packages/components/src/Legend/index.js b/packages/components/src/Legend/index.js deleted file mode 100644 index 0e3603a3b38..00000000000 --- a/packages/components/src/Legend/index.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react' -import LegendPattern from '@freesewing/legend' -import Draft from '../Draft' - -const Legend = ({ caption = false, part = '', children=null }) => { - const patternProps = new LegendPattern({ - only: part, - measurements: { - head: 370 - } - }) - .draft() - .getRenderProps() - - if (caption) console.log('Passing the caption prop to @freesewing/components/Legend is deprecated. See: https://github.com/freesewing/freesewing/issues/1043') - - return ( -
    -
    - -
    -
    {caption || children}
    -
    - ) -} - -export default Legend diff --git a/packages/components/src/LineDrawing/index.js b/packages/components/src/LineDrawing/index.js deleted file mode 100644 index fcd9b0a7464..00000000000 --- a/packages/components/src/LineDrawing/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react' -import patterns from './patterns' - -const LineDrawing = (props) => { - const attr = { - style: props.style || {}, - className: 'fs linedrawing ' + (props.className || ''), - xmlns: 'http://www.w3.org/2000/svg', - viewBox: '0 0 270 270' - } - if (props.size) { - attr.width = props.size - attr.height = props.size - } - return {patterns[props.pattern || 'aaron'] || null} -} - -export default LineDrawing diff --git a/packages/components/src/LineDrawing/patterns.js b/packages/components/src/LineDrawing/patterns.js deleted file mode 100644 index bb1b3a932e6..00000000000 --- a/packages/components/src/LineDrawing/patterns.js +++ /dev/null @@ -1,806 +0,0 @@ -import React from 'react' - -const svg = { - aaron: [ - , - , - - ], - albert: [ - , - , - , - , - , - , - - ], - bee: [ - , - , - ], - bella: [ - , - , - , - - ], - benjamin: [ - , - , - , - , - - ], - bent: [ - , - , - - ], - breanna: [ - , - , - , - - ], - brian: [ - , - , - - ], - bruce: [ - , - - ], - carlita: [ - , - , - , - , - - ], - carlton: [ - , - , - , - , - - ], - cathrin: [ - , - , - , - - ], - charlie: [ - , - , - , - - ], - cornelius: [ - , - , - , - - ], - diana: [ - , - , - , - - ], - florent: [ - , - , - - ], - florence: [ - , - , - - ], - holmes: [ - , - , - , - , - , - - ], - hortensia: [ - , - , - , - , - , - , - - ], - huey: [ - , - , - , - , - , - - ], - hugo: [ - , - , - , - , - , - , - - ], - jaeger: [ - , - , - , - , - , - , - , - - ], - paco: [ - , - - ], - penelope: [ - , - - ], - sandy: [ - , - - ], - shin: [ - , - - ], - simon: [ - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - - ], - simone: [ - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - - ], - sven: [ - , - , - , - - ], - tamiko: [ - , - , - - ], - teagan: [ - , - , - , - - ], - theo: [ - , - , - , - - ], - tiberius: [ - , - , - ], - titan: [ - , - - ], - trayvon: [ - , - - ], - ursula: [ - , - , - , - ], - wahid: [ - , - , - , - - ], - walburga: [ - , - , - , - , - ], - waralee: [ - , - - ], - yuri: [ - , - , - , - , - , - , - , - , - , - , - , - ], -} - -export default svg diff --git a/packages/components/src/Logo/index.js b/packages/components/src/Logo/index.js deleted file mode 100644 index 12e3848518a..00000000000 --- a/packages/components/src/Logo/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react' - -const Logo = ({ size = 24, embed = false, className = '', color = false }) => { - let svgProps = { - xmlns: 'http://www.w3.org/2000/svg', - viewBox: '0 0 48 48', - className: className - } - if (!embed) { - svgProps.width = size - svgProps.height = size - } - return ( - - - - ) -} - -export default Logo diff --git a/packages/components/src/Logo/stories.js b/packages/components/src/Logo/stories.js deleted file mode 100644 index e580223fcce..00000000000 --- a/packages/components/src/Logo/stories.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Logo from "."; - -storiesOf("Logo", module) - .add("Default", () => ) - .add("Custom size", () => ) - .add("Custom color", () => ( -
    - -
    - )) - .add("Embedded", () => ); diff --git a/packages/components/src/Robot/index.js b/packages/components/src/Robot/index.js deleted file mode 100644 index d23a62309c7..00000000000 --- a/packages/components/src/Robot/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react' -import poses from './poses' - -const Robot = ({ - size = 124, - viewBox = '0 0 500 500', - className = '', - pose = 'yay', - color = false, - embed = false -}) => ( - - - -) - -export default Robot diff --git a/packages/components/src/Robot/poses.js b/packages/components/src/Robot/poses.js deleted file mode 100644 index e65b6510b0a..00000000000 --- a/packages/components/src/Robot/poses.js +++ /dev/null @@ -1,18 +0,0 @@ -const fail = - "M 167.1893,-1.84375e-6 V 0.92803416 c 0,0.82622104 0.35828,1.16495804 3.31216,3.13465304 4.08232,2.722173 9.51153,8.0775298 12.05774,11.8914528 1.76437,2.642819 3.92618,6.826019 3.66272,7.089481 -0.0732,0.07313 -1.3317,-1.046801 -2.7976,-2.487498 -4.34461,-4.269924 -8.44052,-5.864908 -15.08453,-5.876068 -7.64459,-0.01282 -14.44979,3.25311 -21.42574,10.282557 -2.58996,2.609827 -3.03266,3.480352 -2.14145,4.219984 0.36441,0.302423 0.95375,0.299232 2.76164,-0.01573 7.45733,-1.299182 12.93876,0.448778 18.3967,5.871575 5.75109,5.714051 10.39943,14.601893 11.97009,22.881835 0.60389,3.183232 0.66361,8.922796 0.0966,9.379238 -0.44658,0.359516 -24.27533,1.97773 -29.11069,1.977414 -1.73563,-1.45e-4 -4.79018,0.139305 -6.78613,0.307848 -1.99594,0.168543 -6.75185,0.52191 -10.57018,0.786472 -7.21696,0.500041 -12.79326,1.180865 -14.08235,1.719003 -1.50662,0.62895 -3.28725,2.125319 -3.97729,3.343629 -0.70349,1.241829 -0.70673,1.325403 -0.70558,15.291253 8e-4,7.72344 0.20986,24.906947 0.46289,38.184327 0.25302,13.27738 0.46169,24.87156 0.46515,25.76482 0.007,1.57685 -0.0596,1.69475 -2.25606,4.10089 -30.934063,33.88747 -51.597429,81.53882 -57.04612,131.55202 -2.821465,25.89814 -1.764712,50.28704 2.977356,68.78932 0.902415,3.521 1.043719,4.45136 0.721304,4.75253 -0.220539,0.20601 -2.001587,0.90249 -3.957073,1.54598 -3.459093,1.13834 -4.499337,1.71415 -4.482885,2.47852 0.0044,0.20454 2.887227,11.87269 6.406376,25.93109 l 6.397378,25.56034 2.193133,1.46957 c 6.230177,4.17398 10.365381,6.57837 11.309467,6.57492 1.230674,-0.003 24.705304,-6.46289 25.308674,-6.96366 0.2438,-0.20233 0.44492,-0.67403 0.44492,-1.04712 0,-0.37311 -2.386201,-10.75996 -5.300833,-23.08182 l -5.298579,-22.40322 -2.959374,-3.9391 c -6.337726,-8.4334 -9.805803,-12.30043 -11.028585,-12.30043 -0.320413,0 -1.545657,0.36197 -2.721187,0.80445 -3.222839,1.21306 -3.374669,1.13001 -3.837986,-2.06729 -0.622188,-4.29373 -1.609233,-13.61145 -2.03808,-19.25058 -0.50715,-6.66356 -0.507852,-27.99633 -0.0023,-34.39579 1.013506,-12.82827 3.142487,-27.79394 5.410932,-38.02478 7.581825,-34.19455 20.120792,-61.92592 37.498982,-82.93458 1.12155,-1.35586 2.15107,-2.3498 2.28751,-2.20886 0.13645,0.14092 0.40795,7.89346 0.60446,17.22822 0.26804,12.73265 0.46469,17.27572 0.78646,18.18772 1.4577,4.13156 4.52819,7.09273 8.20628,7.91416 0.99529,0.22228 9.77525,0.45523 23.98289,0.63817 12.32705,0.15872 27.80948,0.44456 34.40478,0.63367 6.5953,0.18912 19.8008,0.44181 29.34663,0.56176 l 17.35631,0.21796 v 1.26286 1.2606 l -2.36616,-0.0179 c -1.3017,-0.0104 -7.9067,-0.14099 -14.67556,-0.28763 -11.2169,-0.24298 -12.39675,-0.21876 -13.32733,0.2629 -1.32074,0.68366 -1.4768,1.39947 -1.24487,5.68732 0.26468,4.89344 0.71701,6.46581 2.09651,7.26925 1.19581,0.69645 3.26381,0.82907 20.29996,1.31453 4.47622,0.12756 8.20687,0.34584 8.29166,0.48312 0.0848,0.13727 0.65602,9.77365 1.26734,21.41675 l 1.11004,21.16958 -1.72799,1.91225 c -2.42756,2.68255 -2.83097,3.65423 -2.65377,6.41536 0.16828,2.62234 1.18308,5.11798 2.96612,7.29396 0.68174,0.83196 1.04798,1.53812 0.88085,1.69653 -0.1573,0.14911 -3.90632,1.13 -8.33211,2.17965 -4.42579,1.0497 -25.14102,5.96598 -46.03332,10.92747 -28.5365,6.77681 -38.82034,9.10056 -41.33921,9.33654 -3.89814,0.36521 -8.55312,1.09767 -11.22408,1.76619 -2.84319,0.71163 -4.19616,1.53344 -5.24013,3.17959 l -0.93029,1.46733 -0.002,5.6963 c -9e-5,3.13352 0.43971,30.97461 0.97522,61.86838 0.53551,30.89377 0.9104,58.46083 0.83367,61.26165 -0.15875,5.7962 -0.0542,6.23475 2.01785,8.48267 1.65833,1.7991 3.46116,2.86541 5.32554,3.14813 2.25818,0.34241 154.11958,28.25019 154.4698,28.38714 0.93968,0.36745 2.39916,0.0904 3.50542,-0.66513 1.48985,-1.01757 50.19405,-24.72218 50.79485,-24.72218 0.23371,0 1.2892,1.6956 2.34593,3.76832 4.71249,9.2432 9.58851,13.82417 17.27541,16.23278 4.67403,1.46456 12.16631,3.2935 15.54517,3.79304 3.88649,0.57458 12.58599,1.22465 16.40581,1.22465 4.39395,10e-4 9.25611,-1.90372 17.22597,-6.74793 2.06715,-1.25644 8.94058,-4.93585 15.27554,-8.17705 13.52377,-6.91922 16.65984,-8.64007 31.53302,-17.29789 9.91447,-5.7713 11.40236,-6.73957 13.14532,-8.5658 7.73726,-8.10693 14.38145,-20.32961 19.6618,-36.16872 3.73865,-11.21449 7.25241,-31.76045 7.28497,-42.6043 0.0125,-4.18605 -1.08972,-14.1891 -2.05832,-18.68207 -2.13281,-9.89302 -5.29796,-18.5536 -8.57478,-23.46608 -2.06093,-3.08963 -5.04754,-6.48905 -6.90972,-7.86471 -2.10898,-1.558 -3.60768,-2.05955 -7.50519,-2.51447 -1.57893,-0.18429 -3.11854,-0.40858 -3.42227,-0.4966 -0.51769,-0.15004 -0.55179,-1.27186 -0.54604,-17.88886 0.003,-9.75108 0.14338,-30.50948 0.31009,-46.12994 1.17808,-110.3905 1.57605,-143.92005 1.79092,-150.83857 0.30042,-9.6732 0.19684,-14.574134 -0.3483,-16.385567 -0.56963,-1.89268 -1.86991,-3.498209 -3.45373,-4.264922 -0.96383,-0.466595 -24.90323,-4.708014 -87.30736,-15.46653 -47.28856,-8.152585 -86.46674,-14.964399 -87.06243,-15.138458 -1.01389,-0.296255 -10.61197,0.197318 -24.00312,1.233637 -5.19006,0.401651 -11.03413,0.462441 -11.34542,0.119094 -0.13647,-0.150525 -0.48515,-1.603779 -0.77524,-3.229028 -0.64485,-3.612956 -2.10352,-8.261305 -3.5526,-11.325194 -3.91086,-8.269022 -12.28766,-16.370351 -17.11587,-16.551861 -0.75038,-0.02821 -1.20309,0.13781 -1.43138,0.523565 -1.24526,2.104154 -1.29855,2.085153 -2.17741,-0.786472 -1.75414,-5.731545 -4.22518,-9.682128 -8.78601,-14.046386 -3.8829,-3.715549 -7.94014,-6.170903 -13.006,-7.8714588 -2.86219,-0.960809 -4.31053,-1.011287 -5.06712,-0.175272 -0.69134,0.763932 -0.6161,1.4353088 0.89208,7.9051658 0.62712,2.690187 1.14036,5.06814 1.14151,5.285091 0.005,0.95072 -0.70057,0.204586 -2.23582,-2.366156 C 193.67053,13.416486 190.34957,9.7993422 185.25588,6.3749882 180.12409,2.9250292 173.09516,0.18018816 169.08153,0.05849716 Z M 45.87714,29.112937 c -1.67839,-0.02649 -3.646957,0.220329 -5.228912,0.710071 -5.059593,1.566348 -10.211192,5.002998 -15.030608,10.024145 -8.298458,8.645808 -15.458086,21.222818 -18.3405159,32.220626 -0.8282305,3.160105 -0.965243,4.258191 -0.9932001,7.927637 -0.038219,5.01353 0.390973,6.799947 2.3414317,9.720792 2.2312833,3.341374 5.6382003,5.025343 10.8780313,5.374967 2.917784,0.194687 3.149092,0.256848 3.06499,0.840403 -0.355181,2.465121 -0.410761,7.820362 -0.09662,9.329812 1.095778,5.26514 4.624199,9.01582 9.655629,10.26457 3.870878,0.96071 10.491602,0.22744 16.00357,-1.77294 4.312416,-1.56504 10.651533,-4.87302 15.450804,-8.06245 4.432918,-2.94597 4.533874,-2.9951 5.307559,-2.49873 4.181915,2.68296 11.993161,3.13378 15.79685,0.91231 1.402753,-0.81926 1.643748,-1.54863 0.417952,-1.26735 -3.595185,0.82493 -10.467983,0.40779 -12.96105,-0.78647 -1.015704,-0.48654 -1.509934,-1.00903 -2.130223,-2.253799 -0.444195,-0.891381 -0.806694,-1.813021 -0.806694,-2.047078 0,-0.234068 -1.125461,0.431459 -2.500982,1.47856 -5.960328,4.537207 -13.149225,8.678567 -18.960702,10.922977 -13.23848,5.11269 -21.710433,2.23974 -22.322324,-7.56811 -0.169203,-2.712211 0.347438,-6.731446 0.970731,-7.561367 0.203845,-0.271414 1.647119,-0.862504 3.208802,-1.312279 C 42.478816,90.000484 59.066068,79.915137 70.952106,68.566857 80.16163,59.773998 82.34205,53.860139 77.344997,51.221783 74.641205,49.794229 68.398649,50.542605 62.287434,53.02842 49.516538,58.223137 37.0138,68.351781 29.772441,79.366237 c -2.015439,3.065576 -4.681909,8.309981 -5.374968,10.570176 -0.79031,2.577375 -0.949147,2.682991 -4.053703,2.682991 -7.809371,0 -11.5340903,-3.889551 -11.4847341,-11.992564 0.033756,-5.541304 1.6171491,-11.021636 5.4221611,-18.776453 7.138034,-14.547672 17.855156,-26.097377 27.065865,-29.166868 3.374612,-1.124596 6.782519,-0.719617 7.65349,0.907813 1.256042,2.346933 -0.889575,6.258164 -6.705228,12.221772 -3.397184,3.483606 -5.740319,5.423093 -6.107523,5.05589 -0.103832,-0.103833 0.397462,-1.0676 1.114543,-2.141451 1.583531,-2.371348 1.868106,-3.320372 1.197689,-3.990782 -0.753482,-0.753493 -2.143293,-0.02388 -4.12111,2.161673 -3.149023,3.479772 -4.160838,6.673478 -2.581874,8.156837 1.888389,1.774045 5.684612,-0.167554 11.392601,-5.826633 6.503317,-6.4476 9.565028,-11.911559 8.839951,-15.776624 -0.27475,-1.464552 -2.090992,-3.480152 -3.593057,-3.988536 -0.649639,-0.219871 -1.552375,-0.334652 -2.559404,-0.350541 z m 27.045639,24.376132 c 3.686821,0 4.857969,0.999318 4.15482,3.545864 -2.176577,7.882935 -27.457977,26.654829 -44.309819,32.90148 -3.673177,1.361566 -5.21544,1.688283 -5.21544,1.103314 0,-0.624041 2.589778,-5.916042 4.089656,-8.354578 8.852054,-14.391957 29.784372,-29.19608 41.280783,-29.19608 z M 281.79621,66.879313 c 0.34317,0.131682 0.41571,13.583829 0.41571,76.534937 v 76.37765 l -10.17694,-0.045 c -5.59733,-0.0244 -29.98746,-0.29768 -54.19915,-0.60671 -97.13971,-1.23983 -93.38218,-1.14077 -95.32712,-2.5257 -1.95636,-1.39306 -1.74848,3.45153 -2.96387,-68.9174 -1.08316,-64.494997 -1.09817,-66.219309 -0.53256,-67.495011 0.31927,-0.720051 0.79671,-1.487774 1.06061,-1.70552 1.03096,-0.850661 5.33019,-1.656085 8.84444,-1.656085 1.89225,0 36.9698,-2.276881 77.95059,-5.060385 40.98079,-2.783505 74.69931,-4.988705 74.92829,-4.900842 z m 2.62907,0.287624 c 0.88361,-0.04145 3.62039,0.47099 12.30266,1.995391 5.46716,0.959904 10.13575,1.931773 10.37469,2.159427 0.36694,0.349601 0.37455,1.803965 0.045,9.356768 -0.21467,4.91828 -0.33887,12.87368 -0.2764,17.677633 0.10619,8.163264 0.15458,8.789154 0.74827,9.583724 0.3494,0.46761 1.12955,1.01104 1.73474,1.20667 l 1.10106,0.35504 -0.0337,55.01932 c -0.029,46.63115 -0.10193,55.06228 -0.47413,55.29796 -0.47532,0.30068 -20.9997,0.29905 -24.10648,-0.002 l -1.89428,-0.18202 -0.0854,-75.57769 c -0.0474,-41.56774 -0.006,-75.910125 0.0922,-76.314733 0.0788,-0.326551 -0.0583,-0.550378 0.47189,-0.575247 z m 30.23647,5.370479 c 2.02788,0.127509 9.3297,1.49917 9.75225,1.898767 0.40954,0.387296 0.39697,1.038202 -1.65609,85.871487 -0.44523,18.39741 -0.87556,33.76334 -0.95724,34.14637 -0.0979,0.45879 -0.6464,0.91671 -1.60666,1.34149 -1.91556,0.84734 -5.42315,0.89782 -6.38165,0.0922 l -0.65615,-0.55278 0.38425,-61.2729 c 0.21194,-33.69968 0.48712,-61.373533 0.6112,-61.497597 0.039,-0.03898 0.22039,-0.04518 0.51009,-0.02697 z m 13.36103,2.575133 c 1.48765,0.101186 7.51501,1.103464 16.58781,2.766134 109.74414,20.111581 107.59536,19.703684 109.67462,20.803293 1.58918,0.840426 2.15499,1.363824 2.98635,2.759394 1.2478,2.09471 1.2022,-0.88328 0.54828,36.4159 -0.26214,14.95073 -0.69011,39.68083 -0.95276,54.95416 -0.26268,15.27331 -0.68269,30.82152 -0.93252,34.55307 -0.24983,3.73155 -0.4594,7.17621 -0.46515,7.6535 -0.0159,1.18024 -0.64945,1.08629 -1.54373,-0.22696 -1.06166,-1.55908 -2.43212,-2.49802 -4.7885,-3.27846 l -2.06054,-0.68085 -2.16843,-4.58177 c -2.60457,-5.50127 -3.91907,-7.0954 -6.46928,-7.84674 -0.94268,-0.27774 -2.08695,-0.50559 -2.54143,-0.50559 -1.26979,0 -1.58297,-0.55831 -1.58642,-2.82456 -0.0117,-7.44175 -2.18803,-22.2183 -4.58626,-31.13979 -0.4262,-1.58549 -0.77524,-3.00699 -0.77524,-3.15712 4e-5,-0.15013 0.8882,-0.28378 1.97292,-0.29885 2.09112,-0.029 8.34777,-1.63382 13.14757,-3.3706 3.51204,-1.2708 5.00193,-2.70109 5.83561,-5.59743 1.51241,-5.25422 1.77378,-6.29586 2.09427,-8.36132 0.98034,-6.31809 0.88845,-16.2127 -0.191,-20.51119 -1.44333,-5.74763 -5.20433,-10.38036 -9.92079,-12.21952 -3.96816,-1.54738 -11.012,-2.69022 -14.16322,-2.2965 -1.61734,0.20208 -1.89661,0.36829 -3.65598,2.16617 -1.04739,1.0703 -2.3734,2.8314 -2.94815,3.91438 -1.80278,3.39692 -3.38317,9.67284 -3.81101,15.14295 -0.26573,3.39775 -0.49672,4.08722 -1.04488,3.10768 -1.11855,-1.99874 -6.56072,-8.70636 -9.23992,-11.39035 -3.66257,-3.66909 -6.73754,-6.04821 -10.8331,-8.38154 -3.27502,-1.86586 -2.75363,-0.99068 -4.58175,-7.71641 -1.08037,-3.97463 -3.47205,-9.45082 -4.98399,-11.41058 -2.25546,-2.92353 -5.54401,-4.54389 -11.63753,-5.73451 -5.07175,-0.99098 -6.25198,-1.07179 -9.80618,-0.68087 -3.9792,0.43767 -5.12843,1.00727 -6.93444,3.43802 -2.72442,3.66692 -5.44332,10.55575 -6.48727,16.4395 -0.77572,4.37192 -0.70483,12.89461 0.14607,17.6709 2.41833,13.57489 6.13624,20.22467 12.01953,21.48641 3.03466,0.65082 13.40382,-1.03971 17.02599,-2.77513 2.77072,-1.32745 5.15129,-4.0265 7.14566,-8.10515 0.9425,-1.92745 1.99837,-4.62972 2.34818,-6.00415 0.34979,-1.37442 0.69745,-2.55802 0.77074,-2.63131 0.72627,-0.72626 7.95319,6.25664 11.19038,10.81287 3.18241,4.4791 6.21379,11.51994 9.16801,21.29766 3.88233,12.84944 6.64456,31.64792 6.64456,45.20864 0,2.78028 -0.0908,3.27243 -0.91006,4.89635 -1.21275,2.40372 -4.30321,11.43233 -5.26262,15.3744 -1.61127,6.62035 -2.64907,16.98514 -2.65827,26.56252 -0.003,4.12178 0.15412,6.00152 0.82242,9.78147 0.45504,2.57381 0.89458,5.11442 0.97523,5.64462 0.28025,1.84225 -4.18959,18.64396 -7.97034,29.96008 -2.87466,8.60416 -9.24371,24.71334 -10.32974,26.1266 -0.21108,0.27466 -3.86416,1.87588 -8.11639,3.55709 -8.97746,3.54937 -10.16619,4.11997 -15.46203,7.41082 -3.9294,2.44174 -6.56817,4.53958 -12.3566,9.82641 -1.67546,1.53025 -3.10648,2.78185 -3.18184,2.78185 -0.17854,0 -0.55503,-22.69331 -0.55503,-33.51494 v -8.42872 l 18.38098,-6.02887 c 10.1099,-3.31585 19.89644,-6.52553 21.74931,-7.13217 1.85287,-0.60665 3.54282,-1.31073 3.75485,-1.56621 0.2984,-0.35955 0.45287,-14.29943 0.6831,-61.69984 0.1636,-33.67846 0.22063,-61.54242 0.12583,-61.92005 -0.0948,-0.37761 -0.37779,-0.96632 -0.62917,-1.31003 -0.45006,-0.61532 -0.85211,-0.62442 -26.1266,-0.5348 -24.12216,0.0856 -25.7178,0.12519 -26.45916,0.65838 l -0.78871,0.56851 -0.17752,11.64203 c -0.14778,9.65004 -0.27185,11.96693 -0.71906,13.53631 -0.86895,3.04918 -1.86955,4.22345 -4.87388,5.71877 -1.43838,0.71592 -3.35574,1.52629 -4.26043,1.80215 -2.51082,0.76558 -11.88021,1.84596 -16.47771,1.89876 l -4.10089,0.0472 -0.0832,-10.34546 -0.0832,-10.34324 1.9864,0.20449 c 3.87987,0.39751 8.00889,-1.06713 8.73882,-3.0987 0.7922,-2.20491 1.26034,-11.64492 1.73249,-34.95531 1.35977,-67.129149 1.80928,-85.698574 2.08079,-85.972598 0.0229,-0.02308 0.14251,-0.02569 0.35503,-0.01127 z m -74.71707,11.401587 c -0.8552,0.0081 -1.89422,0.05683 -3.18633,0.134827 -4.253,0.256606 -57.69814,2.900089 -98.39437,4.867138 -9.02515,0.436234 -17.02112,0.873514 -17.76977,0.970731 -0.87206,0.113209 -1.72192,0.500627 -2.36615,1.076347 l -1.00669,0.898824 0.11909,51.383577 c 0.0846,36.9729 0.21588,51.69215 0.47189,52.48688 0.2714,0.84246 0.69424,1.2713 1.77742,1.80439 l 1.42015,0.69884 44.01995,0.65839 c 24.2117,0.36217 50.76598,0.77119 59.0101,0.90781 8.24413,0.13663 15.67019,0.2709 16.50018,0.29885 1.66996,0.0564 3.2605,-0.49339 4.06493,-1.40441 0.48498,-0.54924 0.5447,-4.97441 0.75726,-56.62147 l 0.2292,-56.023758 -1.00218,-0.844901 c -1.16345,-0.978969 -2.07907,-1.316237 -4.64468,-1.292065 z m 113.54406,22.621174 c 1.016,0.0292 2.19953,0.20373 3.76832,0.5056 5.4335,1.04549 5.3125,0.95579 3.7526,2.73243 -1.70736,1.94459 -4.39364,7.87076 -5.13679,11.32968 -0.96381,4.48614 -0.95216,12.82368 0.0269,18.61691 1.54069,9.11556 4.34951,16.4533 7.15689,18.69332 0.60188,0.48022 1.09432,0.96249 1.09432,1.07409 0,0.35571 -1.01101,0.61074 -4.25369,1.07185 -4.52612,0.64361 -8.52876,0.59287 -10.10503,-0.13033 -1.5896,-0.72934 -4.26834,-3.55695 -5.29633,-5.58844 -1.98281,-3.91839 -3.66806,-10.17332 -4.30538,-15.97438 -0.96616,-8.7939 0.14866,-17.15566 3.27622,-24.54915 1.65491,-3.91221 2.96043,-5.54017 5.33003,-6.64905 1.76946,-0.82802 2.99852,-1.18125 4.69188,-1.13253 z m 12.71837,3.27398 c 0.17443,0.007 0.34103,0.0251 0.49885,0.0606 1.70926,0.3855 4.0406,1.88585 5.0087,3.22229 1.00734,1.39057 1.7553,3.05791 1.48981,3.3234 -0.10113,0.10113 -0.80364,-0.11837 -1.56172,-0.48536 -3.79649,-1.83785 -7.72058,0.16872 -10.04436,5.13454 -1.12538,2.40488 -1.4244,3.96476 -1.85158,9.64214 -0.58232,7.73884 0.57549,13.70692 3.56833,18.38547 1.67811,2.6233 3.57251,3.72337 6.40637,3.72337 0.75514,0 1.37296,0.11413 1.37296,0.25393 0,0.39126 -1.47168,2.29689 -2.11224,2.73467 -1.47527,1.00819 -3.73154,0.69639 -5.26935,-0.7258 -1.93693,-1.79138 -4.8288,-9.55562 -5.91203,-15.87325 -0.57534,-3.35559 -0.64498,-4.70139 -0.4966,-9.58372 0.0981,-3.22789 0.38126,-6.64939 0.65615,-7.92538 0.84226,-3.90995 2.97203,-8.89572 4.37502,-10.24437 1.08214,-1.04019 2.65064,-1.68749 3.87169,-1.64259 z m -175.78095,4.62894 c 0.0543,-0.0104 0.11126,0.002 0.16854,0.0382 0.1759,0.10872 0.7916,0.93389 1.36846,1.83361 2.21223,3.45034 5.60118,6.4467 9.98594,8.82645 l 1.03814,0.56176 -0.19773,2.12123 c -0.42042,4.503 -1.80859,8.05473 -3.76158,9.6354 -1.59758,1.29304 -3.15315,1.40031 -5.21095,0.35953 -2.80149,-1.41691 -4.17245,-3.87319 -4.98848,-8.94105 -0.51575,-3.20307 -0.46136,-4.57534 0.39549,-9.97921 0.49876,-3.14559 0.82203,-4.38504 1.20217,-4.45593 z m -36.72148,0.82692 c 0.48642,0 0.92562,1.53456 1.44711,5.0469 0.41753,2.81223 0.43679,4.04169 0.12582,8.12538 -0.54594,7.16957 -1.57004,9.78495 -4.23121,10.7904 -3.39825,1.28395 -6.63724,-1.9078 -8.24896,-8.12763 -0.26872,-1.037 -0.48762,-2.20065 -0.48762,-2.58636 0,-0.47824 1.18692,-1.86931 3.73237,-4.37279 2.05295,-2.01908 4.54919,-4.84193 5.54801,-6.2738 0.99881,-1.43187 1.95108,-2.6021 2.11448,-2.6021 z m 216.02582,2.90771 c 0.40037,0.0489 0.82382,0.26792 1.37521,0.64041 1.76785,1.19427 5.28881,7.03406 4.63568,7.6872 -0.097,0.097 -1.2435,0.0135 -2.54816,-0.18427 -3.24101,-0.49128 -4.38768,-0.22633 -5.71429,1.32352 -1.64787,1.92514 -2.17492,3.28704 -2.14144,5.53452 0.0556,3.73465 1.02813,5.13981 4.41098,6.37042 1.00069,0.36403 2.39839,0.87434 3.10769,1.13477 2.35653,0.86533 2.4621,1.02933 2.02685,3.16387 -0.46035,2.25767 -1.72725,4.71132 -2.8268,5.47608 -1.23446,0.8586 -2.08698,0.95606 -3.06725,0.34605 -1.49714,-0.93164 -2.53779,-2.26241 -3.7054,-4.73906 -1.63015,-3.45772 -2.19813,-7.18534 -1.97292,-12.93633 0.2631,-6.71846 1.33645,-9.99186 4.11886,-12.55658 1.02912,-0.94862 1.63372,-1.34218 2.30099,-1.2606 z m 48.35454,9.89606 c 1.82851,-0.008 3.88847,0.23227 5.62889,0.7258 1.61762,0.4587 2.60434,0.9004 2.60434,1.16622 0,0.2353 -0.42856,1.10274 -0.9505,1.92574 -1.35943,2.14359 -2.69357,5.79577 -3.50543,9.5927 -0.96114,4.49515 -1.05851,15.03845 -0.17751,19.37193 0.86591,4.25936 2.31124,8.45901 3.53688,10.28032 1.03436,1.53707 1.31163,2.19537 0.92578,2.19537 -0.0931,0 -2.23152,0.35707 -4.75253,0.79097 -4.71946,0.81228 -6.60815,0.96258 -6.86253,0.55053 -0.0803,-0.13016 -0.7955,-2.02716 -1.58867,-4.21549 -0.79314,-2.18833 -2.38901,-6.09168 -3.54811,-8.67367 l -2.10774,-4.69411 0.19773,-7.4198 c 0.11753,-4.39868 0.40078,-8.57656 0.69435,-10.26008 0.79522,-4.56032 3.1964,-9.04149 5.66259,-10.56569 0.8171,-0.505 2.41394,-0.76254 4.24246,-0.77074 z m -47.34786,0.53479 c 1.64713,-0.0955 4.33584,0.14234 5.0986,0.55054 0.62622,0.33516 0.62438,0.35101 -0.1236,1.35048 -1.40152,1.87278 -1.8954,3.19766 -2.07403,5.56148 -0.0973,1.28794 -0.31855,2.38219 -0.49212,2.43132 -0.56899,0.16098 -2.72613,-0.75983 -3.5436,-1.51227 -1.01082,-0.93037 -1.96619,-2.97304 -1.96619,-4.2065 0,-1.31879 1.05467,-3.50262 1.91225,-3.96157 0.208,-0.11137 0.63965,-0.18164 1.18869,-0.21348 z m -8.8669,0.70334 0.005,1.42014 c 0.002,0.78103 -0.1017,2.20028 -0.2337,3.15487 l -0.24043,1.73699 -0.0269,-1.89427 c -0.0144,-1.04137 0.0924,-2.46064 0.23594,-3.15488 z m 16.56984,1.28981 c 0.24046,-0.0194 0.49898,0.0984 0.96848,0.33706 0.54652,0.27779 1.0354,0.53965 1.08533,0.58199 0.05,0.0424 -0.48404,0.91219 -1.18645,1.93247 -0.85903,1.24771 -1.45733,2.60177 -1.82686,4.1391 -0.30216,1.25708 -0.70986,2.28635 -0.90557,2.2875 -0.82113,0.005 -1.22036,-1.07884 -1.21116,-3.2807 0.0104,-2.50312 0.76043,-4.36437 2.22235,-5.5143 0.39196,-0.30832 0.61342,-0.46367 0.85388,-0.48312 z m 51.66895,1.74372 c 0.59473,0.0312 1.21018,0.26547 1.86506,0.69884 2.02969,1.34318 2.84773,2.72934 3.9009,6.59962 0.91969,3.37963 0.96719,3.85193 0.98421,9.70507 0.0182,6.21259 -0.43992,10.63579 -1.5572,15.01263 -0.5964,2.33627 -2.09946,5.46383 -3.05377,6.35468 -1.20962,1.1292 -2.21715,1.2012 -3.36161,0.23819 -2.03858,-1.71535 -3.18733,-4.43635 -4.65366,-11.03308 -0.81922,-3.68588 -0.90829,-4.6469 -0.8831,-9.46688 0.0422,-8.01978 1.3913,-13.82072 3.84923,-16.55635 0.98238,-1.09336 1.91873,-1.60476 2.90994,-1.55272 z m -47.71862,0.59547 c 1.46617,0 9.11002,6.84075 13.37002,11.96561 2.51198,3.02202 2.90784,3.80976 1.91899,3.81551 -0.92278,0.005 -3.66696,1.75267 -4.90533,3.12342 -0.64221,0.71082 -1.28454,1.29206 -1.42914,1.29206 -0.14459,0 -0.70725,-0.61805 -1.24936,-1.37295 -1.69189,-2.35591 -5.40879,-6.14019 -8.29165,-8.44221 -1.52157,-1.21501 -2.8442,-2.41632 -2.94142,-2.66952 -0.26884,-0.70061 0.3652,-3.59567 1.10107,-5.02218 0.80866,-1.56769 1.82157,-2.68974 2.42682,-2.68974 z m 47.80626,0.81344 c -0.0854,-0.0163 -0.17141,-0.0129 -0.25168,0.0179 -0.56526,0.21693 -0.62618,1.7265 -0.0922,2.26055 0.56821,0.56821 1.13155,0.45788 1.36172,-0.2674 0.23263,-0.73287 -0.42075,-1.89666 -1.01791,-2.01112 z m 3.07622,3.65822 c -0.4923,0.0742 -0.77252,0.73404 -0.52131,1.38868 0.30095,0.78431 1.29655,0.40295 1.29655,-0.4966 0,-0.49273 -0.20346,-0.81803 -0.55278,-0.88534 -0.0781,-0.0151 -0.15213,-0.0174 -0.22246,-0.007 z m -6.20863,0.66064 c -0.32925,-0.007 -0.60664,0.21021 -0.69209,0.65388 -0.0606,0.31466 0.13798,0.84551 0.44042,1.17972 0.66183,0.73133 0.88548,0.75199 1.39767,0.13482 0.31582,-0.38052 0.28866,-0.62766 -0.13932,-1.28083 -0.29573,-0.45133 -0.67743,-0.68099 -1.00668,-0.68759 z m 7.4625,3.45597 c -0.14541,0.0214 -0.28206,0.082 -0.391,0.19101 -0.24839,0.2484 -0.23543,0.47559 0.045,0.81343 0.45078,0.54316 1.28756,0.32951 1.28756,-0.32807 0,-0.44568 -0.50529,-0.74053 -0.94152,-0.67637 z m -9.24442,1.59542 c -0.91745,-0.0323 -1.25937,0.91056 -0.3056,1.46509 0.74786,0.4348 1.16428,0.26493 1.28083,-0.52357 0.0648,-0.43857 -0.11961,-0.7261 -0.55054,-0.86287 -0.15248,-0.0484 -0.29363,-0.074 -0.42469,-0.0787 z m -26.12885,6.96814 c 0.19905,0.0286 0.36803,0.0959 0.49886,0.20449 0.81081,0.67291 3.76401,5.64121 5.97943,10.06234 2.05003,4.09107 4.59299,10.09552 4.59299,10.84882 4.2e-4,0.27641 -0.54707,0.35705 -1.89652,0.28088 -2.15675,-0.12172 -4.82219,0.59169 -6.51648,1.74147 -0.59506,0.40382 -1.19889,0.73255 -1.3415,0.73255 -0.1426,0 -0.57825,-0.88593 -0.96623,-1.97067 -1.45154,-4.05837 -4.8102,-12.47196 -5.91426,-14.81264 l -1.14376,-2.42458 0.8741,-1.14601 c 1.57278,-2.06201 4.44007,-3.7171 5.83337,-3.51665 z m 35.66538,0.20449 c -0.77115,0 -1.06846,0.55232 -0.59996,1.11678 0.44289,0.53368 1.43692,0.60856 1.73248,0.13033 0.28174,-0.45586 -0.43708,-1.24711 -1.13252,-1.24711 z m -287.04647,3.4717 c 2.8577,0 18.75054,7.99101 30.51061,15.3407 9.96354,6.22693 14.93755,9.67761 16.01705,11.11397 0.56556,0.7525 0.94741,1.4974 0.84939,1.65609 -0.28408,0.45965 -2.36922,0.31652 -4.08516,-0.28088 -0.8678,-0.30212 -3.63807,-1.88308 -6.1547,-3.51217 -9.10835,-5.89608 -11.4077,-7.32789 -16.31142,-10.14773 -6.23275,-3.58408 -19.96772,-10.38598 -20.96734,-10.38368 -0.42206,8.4e-4 -1.83415,0.82484 -3.24926,1.89427 -2.59764,1.96311 -3.30271,2.21626 -3.96157,1.42239 -0.66379,-0.79981 -0.0518,-2.122 1.8336,-3.96157 1.91963,-1.87298 4.14957,-3.14139 5.5188,-3.14139 z m -47.71413,4.66266 c 0.11206,0.12482 0.28069,3.25247 0.37526,6.95016 l 0.17078,6.72321 -0.95276,1.08759 c -0.52499,0.59795 -1.08051,1.08757 -1.23363,1.08757 -0.43523,0 -1.7679,-2.17809 -2.62681,-4.29189 -1.00584,-2.47538 -1.33094,-4.84254 -0.80221,-5.84235 0.64985,-1.22885 4.84793,-5.96089 5.06937,-5.71429 z m -7.01307,7.9591 c 0.10676,3.8e-4 0.58957,1.25539 1.07409,2.78861 0.48452,1.53321 1.37269,3.53327 1.97291,4.44468 0.60024,0.9114 1.09208,1.82412 1.09208,2.0291 0,0.20498 -0.59083,1.08133 -1.31228,1.94595 -2.02823,2.43072 -7.22765,9.47135 -9.260149,12.53861 -1.006327,1.51865 -1.944511,2.75939 -2.085274,2.75939 -0.796511,0 -6.276052,-4.96343 -6.276052,-5.68507 0,-0.47696 5.099095,-8.24178 8.183804,-12.45996 2.470031,-3.37761 6.411551,-8.36194 6.610871,-8.36131 z m 314.6359,6.67826 c 0.25232,-0.005 0.49378,0.005 0.72356,0.0269 2.09544,0.20135 3.11419,1.27292 3.97505,4.18179 1.81339,6.12765 4.78136,20.1498 4.3548,20.57634 -0.0864,0.0864 -1.06325,-0.0705 -2.17066,-0.34829 -2.51786,-0.63141 -5.04381,-0.64493 -7.05128,-0.0359 -0.85199,0.25846 -1.57785,0.47183 -1.6134,0.47413 -0.0356,0.002 -0.15746,-0.52885 -0.26964,-1.17971 -0.84366,-4.89436 -2.21808,-11.32788 -3.18633,-14.91151 -1.51203,-5.59611 -1.52244,-6.22535 -0.12809,-7.17037 1.37447,-0.93157 3.59976,-1.58345 5.36599,-1.6134 z m -49.21067,12.65321 21.93358,0.0764 -0.13033,40.70777 c -0.0709,22.38931 -0.21196,48.87308 -0.31459,58.85282 l -0.1865,18.14277 -1.57744,0.0495 c -0.86781,0.0267 -13.08162,-0.56552 -27.14002,-1.31678 -66.42393,-3.54953 -105.66105,-5.81602 -105.96921,-6.12101 -0.29355,-0.29051 -1.03738,-56.8285 -0.75726,-57.55849 0.12217,-0.31835 0.80666,-0.55194 2.01786,-0.68761 8.71476,-0.97612 9.41565,-1.18211 10.38817,-3.06274 0.49686,-0.96083 0.57698,-5.23563 0.14157,-7.49171 -0.36608,-1.8968 -0.97951,-2.2795 -3.48744,-2.17515 -1.12815,0.0469 -3.58636,0.0535 -5.46262,0.0158 l -3.41103,-0.0696 0.0966,-1.14151 0.0988,-1.14376 14.67331,-0.007 c 8.07058,-0.003 20.70971,0.0244 28.08603,0.0606 18.34857,0.0901 22.8727,-0.30153 32.76666,-2.83579 8.14706,-2.0868 11.69567,-4.45925 13.22846,-8.84443 1.14147,-3.26565 1.35239,-5.07206 1.52576,-13.06668 0.18047,-8.32028 0.50342,-11.79254 1.13476,-12.19481 0.2275,-0.14498 10.28234,-0.23017 22.34479,-0.18875 z m -280.916495,2.59986 1.112299,1.28531 c 0.611995,0.70621 1.941301,1.90514 2.952644,2.66502 1.01136,0.75988 1.952707,1.47489 2.09202,1.58867 0.139302,0.11379 -1.043143,2.46302 -2.626828,5.22217 -3.259355,5.67855 -7.364071,13.95982 -9.644388,19.45507 -0.846248,2.03934 -1.612846,3.70217 -1.703275,3.69642 -0.0904,-0.006 -0.701837,-0.63971 -1.359472,-1.40891 -0.785639,-0.91893 -2.003359,-1.79706 -3.550361,-2.56165 -1.29493,-0.63998 -2.354916,-1.20577 -2.354916,-1.25835 0,-0.0526 0.5706,-1.39185 1.26734,-2.97512 2.985997,-6.78547 11.181889,-22.27579 13.136328,-24.82555 z m 332.875315,10.27356 c 1.48997,-0.0115 3.14064,0.23208 4.51435,0.70333 1.76943,0.60701 2.06555,0.82257 2.2628,1.64485 0.50039,2.08599 0.94923,8.97591 1.12802,17.32485 l 0.18875,8.80174 -0.91455,-0.22919 c -1.76887,-0.44169 -5.44466,-0.55479 -6.95915,-0.21572 -0.84174,0.18847 -1.84982,0.43132 -2.24032,0.54154 -0.70655,0.19935 -0.70997,0.18152 -0.71457,-3.38632 -0.006,-4.83992 -0.51826,-13.60257 -1.13027,-19.32699 -0.55492,-5.19034 -0.61254,-4.96841 1.4516,-5.55698 0.68414,-0.19508 1.51936,-0.29436 2.41334,-0.30111 z m 11.87573,19.27755 c 0.33011,0.0398 0.76631,0.19465 1.33925,0.41346 1.79793,0.68663 3.24794,2.38641 4.86938,5.70529 0.70112,1.43512 1.27409,2.69382 1.27409,2.79759 0,0.28269 -1.22705,0.16299 -2.99758,-0.29211 -0.86781,-0.22306 -2.4656,-0.41925 -3.55036,-0.43594 l -1.97067,-0.0292 v -3.95483 c 0,-3.39924 0.0456,-4.32355 1.03589,-4.20425 z m -359.867031,0.65839 c 1.08402,0.16472 3.554261,1.64634 4.721082,2.91219 1.628988,1.76726 1.880728,2.73785 1.188693,4.57952 -1.209724,3.21934 -5.850905,17.43047 -6.676017,20.44153 -0.4875,1.779 -1.039634,3.22515 -1.226901,3.21329 -0.187277,-0.0119 -0.882637,-0.43114 -1.545978,-0.93028 -1.58788,-1.19482 -4.070651,-1.75861 -5.727767,-1.30105 -0.680012,0.18748 -1.300072,0.27736 -1.379698,0.19774 -0.695659,-0.69568 9.184708,-28.67939 10.273572,-29.09721 0.09035,-0.0346 0.218157,-0.0392 0.373014,-0.0158 z m 170.122841,3.7144 3.23353,0.005 c 1.779,0.002 3.42252,0.12447 3.65148,0.26966 0.2608,0.16539 0.37999,0.72123 0.31683,1.49204 l -0.10113,1.23139 -2.99758,0.0742 c -3.59608,0.0903 -4.10314,-0.13324 -4.10314,-1.82461 z m -14.04189,0.15728 h 5.19297 5.1952 l 0.22246,1.09658 c 0.12333,0.60317 0.15721,1.20703 0.0741,1.34149 -0.0831,0.13449 -2.49129,0.24493 -5.35025,0.24493 -5.64082,1e-5 -5.64253,-0.001 -5.43789,-1.78866 z m 194.46077,5.34352 c 1.47214,-0.0826 2.81263,0.13909 4.10763,0.67188 0.94505,0.38879 1.02466,0.53498 1.02466,1.85831 0,0.78989 -0.10573,1.42156 -0.23594,1.40442 -0.13018,-0.0171 -0.87507,-0.23913 -1.65608,-0.49435 -1.3855,-0.4527 -4.82176,-0.41171 -7.49621,0.0899 -1.00223,0.18797 -1.02465,0.16491 -1.02465,-0.94152 0,-1.37332 0.76571,-1.8611 3.76158,-2.40435 0.52297,-0.0948 1.0283,-0.15671 1.51901,-0.18427 z m -223.00071,0.33706 c 12.7794,-0.026 63.10532,0.37425 63.26155,0.53929 0.0473,0.0499 0.13497,0.99971 0.19549,2.11 l 0.1101,2.01786 -2.05157,0.56851 c -1.16413,0.32207 -5.39358,0.8546 -9.78146,1.23139 -4.25224,0.36514 -8.93986,0.79816 -10.41513,0.96173 -6.59244,0.73105 -43.03789,-0.2745 -43.90761,-1.21116 -0.36964,-0.39813 -0.67176,-5.97116 -0.3348,-6.17941 0.0374,-0.0231 1.0978,-0.0345 2.92342,-0.0382 z m 232.84733,0.19999 c 0.23632,0.008 0.50419,0.0368 0.80895,0.0719 2.32094,0.26738 8.03309,2.16822 8.03999,2.67625 0.003,0.2337 -0.56992,1.08081 -1.27408,1.8808 -3.01307,3.423 -5.92418,9.35276 -7.16813,14.59692 -2.45226,10.33792 -2.01676,20.08221 1.36845,30.5915 1.50329,4.66688 2.79771,7.59457 4.12786,9.33879 0.40956,0.53705 0.74378,1.12059 0.74378,1.29881 0,0.1782 -0.74489,0.42278 -1.65608,0.54154 -0.91119,0.11874 -2.74557,0.49163 -4.07617,0.82916 -2.6657,0.67612 -3.08427,0.69763 -4.64244,0.24943 -1.28094,-0.36848 -3.8046,-2.87845 -4.68513,-4.65817 -0.63322,-1.27993 -0.63409,-1.30076 -0.0337,-4.2065 3.07275,-14.87174 5.37903,-31.78578 6.29178,-46.1524 0.39398,-6.20177 0.50081,-7.11487 2.15492,-7.05803 z m -18.2731,3.4852 c 0.2616,0.0912 0.30181,1.34228 0.17078,3.77056 -0.65253,12.09281 -2.1186,24.93634 -4.00876,35.14181 -1.30007,7.0193 -1.69749,5.44826 -1.6808,-6.62434 0.0117,-8.3866 0.0861,-9.62513 0.88758,-14.8306 1.12341,-7.29525 1.82626,-10.51004 3.12343,-14.2711 0.76167,-2.20846 1.24618,-3.27752 1.50777,-3.18633 z m 30.60948,0.39324 c 0.77144,-0.025 1.54145,0.46959 2.51222,1.44036 1.41241,1.4124 2.43089,3.28542 3.95033,7.267 4.21338,11.041 3.88885,26.47822 -0.78198,37.24731 -2.43208,5.60747 -4.12898,8.0528 -6.10526,8.79948 -1.29524,0.48938 -1.8033,0.41823 -3.25824,-0.4539 -2.32701,-1.39485 -3.52021,-3.85982 -5.42891,-11.21734 -1.35954,-5.24062 -1.74433,-9.23651 -1.53249,-15.92043 0.32285,-10.18847 2.83149,-18.63795 7.24228,-24.39186 1.41651,-1.84781 2.41021,-2.73854 3.40205,-2.77062 z m -21.17856,0.26065 c 0.76301,0.0288 1.40804,0.0934 1.79091,0.19774 2.26001,0.61592 2.35849,0.88689 1.99764,5.57047 -0.33238,4.31401 -1.75345,17.57337 -2.06955,19.318 -0.10216,0.56407 -0.27559,1.01599 -0.38649,1.00218 -0.1108,-0.0138 -0.91188,-0.40606 -1.77967,-0.86961 -1.40401,-0.74996 -1.92105,-0.84265 -4.69412,-0.84265 h -3.11668 l 0.1955,-2.20886 c 0.10781,-1.21492 0.40772,-4.33777 0.66513,-6.94118 0.25738,-2.6034 0.56332,-6.8998 0.68086,-9.54777 0.14911,-3.35919 0.33889,-4.91796 0.62693,-5.15701 0.45651,-0.37887 3.80052,-0.60749 6.08954,-0.52131 z m 17.86864,6.21313 c -0.11033,0.0403 -0.17078,0.18254 -0.17078,0.43143 0,0.43601 1.63135,3.15814 2.44256,4.07618 0.46821,0.52993 1.02915,0.49068 1.02915,-0.0719 0,-0.1533 -0.58518,-1.21002 -1.2988,-2.34818 -0.89723,-1.43099 -1.67117,-2.20845 -2.00213,-2.08752 z m -192.13506,0.24943 0.20898,4.35255 c 0.11482,2.39397 0.20672,14.96951 0.20672,27.94671 0,26.58385 0.20169,24.5838 -2.46727,24.59185 -0.81202,0.002 -1.77951,0.0848 -2.15044,0.18426 -0.39482,0.10596 -0.78087,0.007 -0.93254,-0.23818 -0.14248,-0.23055 -0.29044,-9.22308 -0.32806,-19.98537 -0.0376,-10.76227 -0.16344,-23.28016 -0.27864,-27.81639 -0.13245,-5.21488 -0.0966,-8.31603 0.0966,-8.43547 0.16814,-0.10389 1.50708,-0.28262 2.97512,-0.39549 z m -9.20396,0.91679 c 0.33466,0.0291 0.59709,0.0925 0.70557,0.18201 0.3107,0.25636 0.39548,6.95118 0.39548,31.53528 v 31.20944 l -0.80894,0.30785 c -0.4452,0.16924 -1.49384,0.30785 -2.32796,0.30785 h -1.51677 l -0.22246,-2.85601 c -0.18011,-2.30226 -0.13006,-2.99912 0.25617,-3.58856 0.77961,-1.18983 1.46284,-4.36769 1.46284,-6.79737 0,-1.62447 -0.23511,-2.95272 -0.83141,-4.68962 -0.94947,-2.76561 -0.97916,-3.96916 -0.43144,-17.72707 0.16928,-4.25223 0.31229,-10.42966 0.31459,-13.7273 0.003,-3.29766 0.0971,-7.78823 0.20898,-9.98145 l 0.20223,-3.98854 1.4516,-0.16404 c 0.39932,-0.0453 0.80684,-0.0515 1.14152,-0.0224 z m -8.76581,0.2337 c 2.05228,-0.0246 3.3343,0.0917 3.51667,0.31684 0.17253,0.21306 0.11662,7.83797 -0.13933,19.12923 -0.23408,10.32686 -0.43237,19.45083 -0.44042,20.27525 -0.0143,1.55261 -0.12915,1.68753 -1.00668,1.17521 -0.28642,-0.16722 -1.28036,-0.41275 -2.20886,-0.54604 l -1.68755,-0.24268 -0.20898,-6.15021 c -0.11424,-3.38236 -0.39487,-11.47472 -0.62468,-17.98324 -0.22981,-6.50853 -0.42124,-12.75646 -0.4247,-13.8846 l -0.005,-2.05156 z m 206.25561,5.34351 c -0.16206,-0.0168 -0.32977,0.0602 -0.45391,0.25616 -0.1515,0.23919 -0.27743,0.90007 -0.28088,1.46959 -0.006,1.25894 0.64815,1.59893 1.7235,0.89432 1.01155,-0.66274 1.42688,-0.64301 1.42688,0.0697 0,0.3182 0.0955,0.67301 0.21123,0.78872 0.32935,0.32937 0.72359,0.25371 1.71226,-0.33032 1.25373,-0.74061 1.22909,-1.49428 -0.0405,-1.24038 -0.82223,0.16446 -0.99876,0.0781 -1.26509,-0.62244 -0.23055,-0.60635 -0.45086,-0.75883 -0.85838,-0.59097 -1.27485,0.52507 -1.65159,0.53691 -1.65159,0.0516 0,-0.43043 -0.25346,-0.71809 -0.52357,-0.74601 z m 9.24217,2.30998 c -0.78395,-0.0519 -1.66449,0.19906 -2.2156,0.71682 -2.54945,2.39509 -3.63115,9.64792 -2.53694,17.01699 0.5377,3.62133 1.0563,5.17312 2.09876,6.28279 0.97971,1.04282 2.72149,0.97318 3.79978,-0.15279 1.90263,-1.98684 2.85272,-5.80004 2.84927,-11.4398 -0.003,-5.73443 -1.1381,-10.63475 -2.77961,-11.99707 -0.30938,-0.25676 -0.74529,-0.39584 -1.21566,-0.42694 z m -383.214011,1.06511 c 1.977599,-0.0557 4.058892,0.71508 5.356997,2.09876 0.784132,0.83582 0.8319,1.02414 0.537051,2.09201 -0.372599,1.34944 -0.594703,1.42741 -1.426891,0.50784 -1.338487,-1.47901 -4.020661,-2.25169 -6.31873,-1.82237 -0.81943,0.15307 -1.55164,0.21681 -1.626882,0.14157 -0.07529,-0.0753 0.02722,-0.63293 0.226958,-1.23813 0.260956,-0.7907 0.638997,-1.19548 1.34149,-1.44038 0.603343,-0.21032 1.250808,-0.32072 1.910007,-0.3393 z m -0.312336,4.10088 c 0.982189,0 1.841023,0.28683 3.060491,1.02467 2.287865,1.38425 2.444321,1.70135 1.954946,3.9301 -1.258746,5.73258 -2.92387,14.39531 -3.505412,18.23941 -0.933846,6.17298 -0.864862,5.94128 -1.687547,5.70305 -1.978324,-0.57294 -4.134365,-0.75665 -5.664846,-0.48088 -0.911193,0.1642 -2.048401,0.38713 -2.525695,0.49436 -0.477295,0.10734 -0.865173,0.0718 -0.862872,-0.0787 0.03657,-2.99193 4.531561,-25.68389 5.419917,-27.36023 0.421933,-0.79623 2.172435,-1.47183 3.811018,-1.47183 z m 372.940437,0 c -0.67947,0 -1.46036,1.62035 -1.15949,2.40437 0.18505,0.48232 0.24382,0.48102 0.79771,-0.0203 0.56864,-0.51458 0.61776,-0.51174 0.93253,0.0764 0.24248,0.45309 0.67319,0.62539 1.60216,0.63816 1.12344,0.0155 1.27184,-0.0667 1.27184,-0.71232 0,-0.93209 -0.73637,-1.5483 -1.54374,-1.29205 -0.4409,0.13993 -0.72977,0.005 -0.97297,-0.44942 -0.19022,-0.35546 -0.60805,-0.64491 -0.92804,-0.64491 z m -19.41013,4.76378 c 2.49898,0.0282 7.05698,1.59374 7.70967,2.81332 0.45905,0.85774 -1.82554,14.08981 -4.70759,27.2681 -0.24345,1.11329 -0.72441,1.33862 -1.32127,0.6157 -0.95301,-1.15431 -3.15305,-1.83057 -5.88505,-1.80664 -1.43188,0.0125 -2.60436,-0.012 -2.60436,-0.0561 0,-0.0443 0.70439,-3.61133 1.56396,-7.92539 0.85957,-4.31406 1.9237,-10.25769 2.36616,-13.20823 0.44241,-2.95053 0.88112,-5.82573 0.97523,-6.38841 0.12767,-0.76359 0.37666,-1.07385 0.97747,-1.22464 0.25562,-0.0642 0.56878,-0.0917 0.92578,-0.0877 z m 21.49989,3.87168 c -0.0908,-0.009 -0.18918,0.0409 -0.29436,0.14607 -0.1735,0.17356 -0.21137,0.48154 -0.0854,0.68535 0.15267,0.24704 0.33344,0.2643 0.54379,0.054 0.1735,-0.17356 0.21136,-0.48154 0.0854,-0.68535 -0.0763,-0.12352 -0.15865,-0.19082 -0.24943,-0.19999 z m -2.63355,0.26067 c -0.27102,0.0234 -0.56797,0.19355 -0.66738,0.4921 -0.0771,0.23137 0.14244,0.39324 0.52807,0.39324 0.3876,0 0.65613,-0.20388 0.65613,-0.4966 0,-0.28998 -0.2458,-0.41212 -0.51682,-0.38874 z m 2.27852,1.8336 c -0.5303,0 -0.81569,0.17215 -0.81569,0.49435 0,0.32888 0.23025,0.46244 0.68536,0.39548 1.01028,-0.14865 1.11891,-0.88983 0.13033,-0.88983 z m -2.27402,0.39323 c -0.40811,-0.0606 -0.85331,0.44613 -0.61795,0.82692 0.22396,0.36241 1.13027,0.12992 1.13027,-0.28987 0,-0.14474 -0.15513,-0.35751 -0.3438,-0.47413 -0.0548,-0.0338 -0.11022,-0.0543 -0.16852,-0.0629 z m 3.12117,5.73675 c -0.83456,0.0207 -2.92344,0.90075 -2.92344,1.31454 0,0.57142 0.98861,0.56585 2.37514,-0.0135 1.06939,-0.44681 1.3745,-0.91126 0.82018,-1.25386 -0.0582,-0.036 -0.15267,-0.0502 -0.27188,-0.0472 z m 0.2247,2.07405 c -0.61213,0 -2.85685,1.60236 -2.66951,1.9055 0.28335,0.45847 0.83153,0.36824 1.96618,-0.32357 0.96657,-0.58935 1.40764,-1.58193 0.70333,-1.58193 z m 2.06729,5.20644 c -1.22126,0 -1.2581,0.0335 -1.51677,1.34149 -0.20294,1.02613 -0.40992,1.3415 -0.8786,1.3415 -0.76231,0 -0.80079,0.80356 -0.0606,1.23589 h 0.002 c 0.30311,0.1763 0.63624,0.32682 0.73929,0.33256 0.43605,0.0223 1.18788,-1.16419 1.28532,-2.02909 0.0782,-0.69432 0.30577,-0.98194 0.89209,-1.11905 1.3135,-0.30717 0.97967,-1.1033 -0.46291,-1.1033 z m 2.29425,1.38194 c -0.73178,0.042 -1.8291,1.812 -1.8291,3.17735 0,1.06874 -0.10412,1.27857 -0.63143,1.27857 -0.61756,0 -0.85409,0.61998 -0.40671,1.06736 0.12392,0.12344 0.65726,0.18199 1.18419,0.13033 0.91627,-0.0897 0.96155,-0.16357 1.05164,-1.7145 0.0651,-1.12056 0.28449,-1.79454 0.71006,-2.17966 0.71507,-0.64712 0.78346,-1.19056 0.20897,-1.66731 -0.0853,-0.0708 -0.18307,-0.0981 -0.28762,-0.0922 z m -383.366796,4.21999 c 0.544644,0.025 1.040577,0.0893 1.43812,0.19998 2.296999,0.63947 2.211517,0.32402 1.640354,6.0828 -0.819441,8.26205 -0.886216,9.23386 -1.1123,16.09795 -0.118167,3.58766 -0.289154,6.59891 -0.381999,6.69176 -0.09282,0.0928 -0.803196,-0.0519 -1.577445,-0.32133 -1.803046,-0.62773 -4.921614,-0.61797 -6.449059,0.0202 -0.654517,0.27348 -1.31497,0.4966 -1.467331,0.4966 -0.588973,0 -0.192132,-9.82676 0.840392,-20.82577 0.602388,-6.417 0.769003,-6.9891 2.247068,-7.69394 1.121641,-0.53489 3.188231,-0.8233 4.8222,-0.74827 z m 391.431506,0.86961 c 0.25122,-0.002 0.16512,8.71597 -0.30785,30.82071 l -0.19099,8.88937 -6.44907,-0.18201 c -10.19448,-0.28906 -10.79804,-0.17004 -23.56944,4.68738 -9.72924,3.70037 -11.56562,4.32503 -11.56562,3.93236 0,-0.0719 0.69253,-2.02451 1.53698,-4.33909 1.92841,-5.28551 5.72546,-16.81836 6.84006,-20.77409 0.46461,-1.64882 0.94804,-3.11047 1.0741,-3.24701 0.12603,-0.13655 0.99292,0.14776 1.92573,0.63143 1.50089,0.77825 2.02398,0.87639 4.54805,0.86063 3.31829,-0.0206 4.14666,-0.31547 7.89393,-2.80883 2.7764,-1.84736 4.02141,-3.35088 6.44907,-7.79955 1.30294,-2.38762 1.34396,-2.42773 2.93242,-2.76838 1.89399,-0.40619 4.24741,-1.40164 5.06487,-2.14145 0.31809,-0.28786 1.24642,-1.70144 2.06281,-3.1414 0.8164,-1.43995 1.60601,-2.62007 1.75495,-2.62007 z m -223.10857,1.27633 c 0.43194,0.008 0.90031,0.16192 1.46059,0.45166 1.87132,0.96772 3.16386,4.08037 3.16386,7.61529 0,2.14555 -0.28902,3.20798 -1.0988,4.01775 -1.20992,1.20993 -4.41941,9.7e-4 -5.98618,-2.25381 -0.77321,-1.11273 -0.9634,-1.74639 -1.06511,-3.54586 -0.15963,-2.82522 0.0357,-3.52437 1.41116,-5.0469 0.7757,-0.8586 1.39458,-1.25194 2.11448,-1.23813 z m -0.3775,2.87624 c -0.29135,-0.0269 -0.55835,0.16385 -1.03589,0.55053 -1.06261,0.86046 -1.05179,3.12159 0.0202,4.26267 1.15365,1.22798 2.3828,1.07137 3.15938,-0.40222 0.58046,-1.10144 0.157,-2.71461 -0.96174,-3.65597 -0.575,-0.48382 -0.8906,-0.72813 -1.18195,-0.75501 z m 184.9984,0.41795 c 0.56753,10e-4 1.14778,0.0576 1.69653,0.17528 1.84424,0.39551 3.02478,1.2011 3.71439,2.53468 0.43481,0.84079 0.40781,1.17872 -0.34155,4.15257 -1.03449,4.10546 -2.7452,10.23697 -3.96157,14.20368 -0.51892,1.69221 -1.0551,3.07848 -1.19095,3.07848 -0.13585,0 -0.59041,-0.36939 -1.01118,-0.82018 -1.23487,-1.323 -3.09586,-2.10222 -5.42665,-2.26954 -1.17592,-0.0844 -2.20318,-0.25957 -2.28302,-0.38874 -0.0798,-0.12915 0.40222,-2.06048 1.07185,-4.29413 0.66965,-2.23367 1.80654,-6.40538 2.52795,-9.26913 0.72141,-2.86375 1.4418,-5.5135 1.5999,-5.88955 0.30946,-0.73609 1.90164,-1.21765 3.6043,-1.21342 z m 9.72977,0.86063 c 0.2867,0.0561 0.70797,0.44117 1.3752,1.1797 1.64457,1.82034 3.82304,3.16837 5.11881,3.16837 0.60039,0 2.50769,-0.22343 4.24021,-0.49886 1.73255,-0.27548 3.26977,-0.3817 3.41553,-0.23594 0.31594,0.31595 -1.19277,2.82253 -2.96836,4.93006 -0.86503,1.02672 -1.9872,1.86367 -3.50093,2.61108 -3.21692,1.58834 -4.14055,1.66549 -5.74125,0.47638 -1.40171,-1.04131 -2.54864,-2.40951 -3.39081,-4.04471 -0.49697,-0.96481 -0.49107,-1.16531 0.0787,-3.47171 0.33254,-1.34607 0.69135,-2.83714 0.79996,-3.31442 0.13249,-0.58201 0.2863,-0.85607 0.573,-0.79995 z m -194.26528,1.6426 c 0.0377,-0.009 0.078,-0.002 0.12134,0.0247 0.17357,0.10723 0.31684,0.3993 0.31684,0.6494 0,0.2501 -0.14327,0.4539 -0.31684,0.4539 -0.17356,0 -0.31459,-0.29205 -0.31459,-0.64939 0,-0.26806 0.0801,-0.44958 0.19325,-0.47863 z m 191.75532,8.54558 c 0.17982,-0.0732 0.32952,0.069 0.54153,0.46513 0.47147,0.8809 0.28404,1.0717 -0.49211,0.49886 -0.46168,-0.34081 -0.51999,-0.53873 -0.24267,-0.82018 0.0697,-0.0708 0.13329,-0.11941 0.19325,-0.14381 z m -165.45345,0.21572 c 0.63393,0.006 1.34477,0.0316 2.2201,0.0741 2.16951,0.10539 30.21582,1.46133 62.32451,3.01331 65.93262,3.18692 64.84798,3.12889 64.84798,3.49643 0,0.69127 -4.56217,2.16052 -83.30759,26.84566 -13.27738,4.1622 -24.28347,7.60753 -24.45703,7.65574 -0.40991,0.11367 -140.27684,-13.66906 -140.89979,-13.8846 -0.42075,-0.14557 -0.42075,-0.19183 0,-0.42245 0.50208,-0.2752 4.72109,-1.29147 37.52819,-9.0287 11.35447,-2.67786 20.70495,-4.80819 20.77859,-4.73455 0.29718,0.29719 -0.32859,2.09707 -0.82019,2.35941 -0.28963,0.15456 -5.23005,1.77329 -10.97914,3.59754 -5.7491,1.82422 -10.89732,3.54621 -11.43979,3.82675 -0.96205,0.49748 -1.22877,0.93891 -0.74828,1.23588 0.5037,0.3113 8.87844,1.16457 19.0124,1.93922 10.2998,0.78733 26.5389,2.17807 59.01009,5.05139 8.7648,0.7756 17.78078,1.55866 20.03706,1.73923 2.25629,0.18059 4.43138,0.39914 4.83343,0.48761 0.4679,0.10297 1.88894,-0.36917 3.94585,-1.31453 1.76745,-0.8123 4.84636,-2.15389 6.8423,-2.9796 1.99594,-0.82573 8.38491,-3.86247 14.19919,-6.74793 5.81428,-2.88541 11.10577,-5.40562 11.75663,-5.60193 1.36118,-0.41058 1.63976,-1.40134 0.47188,-1.67405 -1.73806,-0.40585 -21.45222,-2.80026 -29.91289,-3.63351 -14.50516,-1.42852 -33.80904,-2.83803 -38.87867,-2.83803 -1.57198,-2e-4 -2.01807,0.43241 -0.7685,0.74601 1.50986,0.37897 37.68575,3.9863 39.97523,3.9863 0.34775,0 0.63143,0.14104 0.63143,0.31458 0,0.49332 -1.54471,0.40817 -20.19434,-1.11004 -15.16362,-1.23443 -17.6684,-1.50769 -18.66186,-2.04933 -0.6311,-0.34405 -1.64032,-0.62692 -2.24257,-0.62692 -1.06088,0 -1.09306,-0.0354 -1.06061,-1.18195 0.033,-1.16775 0.0542,-1.1888 1.61114,-1.45161 0.86781,-0.14644 1.9037,-0.39512 2.30324,-0.55278 0.8092,-0.31932 1.63795,-2.0059 1.64485,-3.35037 0.002,-0.48284 0.11275,-1.04511 0.24269,-1.24937 0.12993,-0.2043 2.07846,-0.75076 4.33233,-1.21341 2.72812,-0.55996 3.92034,-0.73974 5.82214,-0.72355 z m -21.63696,0.75051 c 0.30027,-0.0115 0.51915,6.9e-4 0.58423,0.0382 0.13014,0.075 0.23819,0.9095 0.23819,1.85383 0,1.58288 -0.0555,1.71364 -0.71008,1.67406 -2.15836,-0.13064 -2.89162,-0.7852 -2.7032,-2.41784 0.0865,-0.74972 0.26968,-0.87629 1.51901,-1.04937 0.39051,-0.0541 0.77157,-0.0879 1.07185,-0.0988 z m -5.49407,4.43121 0.86961,0.82467 c 0.4787,0.45268 1.48341,0.98391 2.23133,1.18195 1.27802,0.33844 1.35229,0.42077 1.2606,1.36847 l -0.0966,1.00893 -2.5257,0.0337 c -2.79981,0.0378 -3.06244,0.016 -8.67591,-0.70109 -2.16951,-0.27712 -4.14555,-0.61349 -4.39075,-0.74827 -0.51644,-0.28378 -0.42134,-0.3175 2.97061,-1.06286 1.21493,-0.267 3.59204,-0.80518 5.28284,-1.19544 z m -18.61017,5.19971 c 0.96185,0.048 2.28241,0.29323 4.04246,0.72804 1.96,0.48424 4.46894,0.82106 6.9996,0.93927 5.11928,0.23909 6.94118,0.50115 6.94118,0.9977 0,0.21818 -0.17629,0.45298 -0.39324,0.52132 -0.43141,0.13594 -3.53103,-0.10067 -8.91634,-0.67862 -1.90917,-0.20491 -4.89099,-0.34512 -6.62659,-0.31234 -4.34423,0.0821 -4.26043,0.0963 -4.26043,-0.73928 0,-1.06635 0.61027,-1.53597 2.21336,-1.45609 z m 196.11236,0.62917 c 1.32719,0.0146 3.12546,0.33851 4.13909,0.85613 0.71069,0.3629 1.73234,1.16109 2.26953,1.77294 0.81708,0.93053 0.93391,1.25606 0.71681,1.9909 -0.73539,2.48906 -4.09658,11.88057 -5.92326,16.55185 -1.14235,2.92121 -2.16247,5.30876 -2.26728,5.30531 -0.10481,-0.003 -0.6457,-0.5561 -1.20443,-1.22914 -1.18592,-1.42863 -3.05361,-2.41238 -5.44013,-2.865 -0.93527,-0.17735 -1.74265,-0.36509 -1.79315,-0.41571 -0.0505,-0.0505 0.75253,-2.25185 1.78641,-4.8941 1.03388,-2.64222 2.75613,-7.39305 3.82674,-10.5567 1.07065,-3.16364 2.09899,-5.9464 2.28302,-6.18392 0.18462,-0.2383 0.81033,-0.34135 1.60665,-0.33256 z m -348.393531,1.86956 c 1.302109,0 4.105936,0.83222 4.532322,1.34598 0.193973,0.23372 0.471887,4.05388 0.669623,9.23094 0.185494,4.85685 0.426258,9.97758 0.537051,11.38137 l 0.202234,2.55266 h -2.804333 c -2.08073,4.4e-4 -3.288244,0.17733 -4.685119,0.68311 -1.035343,0.3749 -1.975988,0.68085 -2.089772,0.68085 -0.456551,0 -1.225635,-11.63365 -1.231387,-18.64836 -0.0041,-4.64534 0.06025,-5.29434 0.564007,-5.75024 0.760651,-0.68837 3.059606,-1.47631 4.305374,-1.47631 z m 177.996551,0.35728 c 1.90917,-0.0178 3.68325,0.10366 3.94359,0.27189 0.32212,0.20818 -0.48335,0.29624 -2.52345,0.27415 -4.4634,-0.0484 -5.65486,-0.50635 -1.42014,-0.54604 z m -35.96198,0.37526 c 0.71529,0.0649 1.68775,0.47949 3.3189,1.28307 1.20466,0.59346 2.86514,1.16917 3.68968,1.27858 0.82452,0.10941 14.34948,1.25939 30.0567,2.5549 15.70723,1.29549 29.41083,2.56482 30.45219,2.82232 2.43012,0.601 5.8479,0.6062 8.13212,0.0115 2.42489,-0.6316 3.38632,-0.28409 3.38632,1.22465 0,1.51904 -1.22105,2.85 -3.33913,3.64248 -0.95389,0.35691 -2.40213,0.63359 -3.22004,0.61346 -0.8179,-0.0201 -17.25521,-1.40411 -36.52825,-3.07623 -29.19064,-2.53253 -35.18302,-3.13172 -35.87659,-3.58632 -1.24123,-0.81363 -2.45751,-2.56414 -2.66277,-3.82898 -0.15583,-0.96023 -0.0409,-1.26027 0.81569,-2.11674 0.60119,-0.6012 1.05988,-0.88728 1.77518,-0.82242 z m 45.19291,0.20673 c 1.54576,-0.007 29.35526,2.19896 30.33983,2.4066 0.4156,0.0877 0.62716,0.27471 0.47189,0.41571 -0.46636,0.42353 -2.08628,0.56644 -3.5953,0.31683 -2.57794,-0.42642 -12.97939,-1.22039 -20.24603,-1.54598 -3.93197,-0.17618 -7.37437,-0.40826 -7.65125,-0.51457 -0.99063,-0.38013 -0.55315,-1.07284 0.68086,-1.07859 z m 49.14325,0.63816 c 2.00454,0 12.78249,1.22751 13.57451,1.54598 0.81289,0.32689 1.66224,-0.096 -17.42372,8.67367 -14.35286,6.59485 -15.65815,7.13379 -17.19902,7.09847 -3.40341,-0.078 -35.00732,-3.08913 -40.64037,-3.8717 -12.02815,-1.67101 -22.89717,-2.62771 -39.75952,-3.50091 -9.41595,-0.48759 -16.76639,-1.04595 -17.0125,-1.29207 -0.28174,-0.28173 0.36209,-0.51571 6.00189,-2.17965 3.19167,-0.94164 7.28526,-2.21566 9.09836,-2.8313 1.81309,-0.61566 3.39943,-1.11904 3.5234,-1.11904 0.12397,0 0.53445,0.63961 0.91231,1.42015 0.79566,1.64362 2.64252,3.34112 4.89185,4.49637 1.53709,0.78948 2.50495,0.89031 37.55065,3.89865 l 35.97547,3.08747 9.20172,-4.52559 c 6.94449,-3.41522 9.34326,-4.74236 9.78146,-5.41092 0.61049,-0.93138 0.76028,-3.43958 0.28538,-4.77951 -0.23799,-0.67147 -0.16879,-0.71007 1.23813,-0.71007 z m -6.93443,0.94602 c 0.75426,0 1.40365,0.27799 2.101,0.90107 0.97,0.8667 0.99179,0.94091 0.58199,1.93023 -0.23439,0.56587 -0.99221,1.43875 -1.68305,1.93921 -1.45465,1.05372 -1.79201,1.12064 -1.79316,0.35728 -0.002,-0.95057 -1.14431,-2.47807 -2.17066,-2.9032 -0.54121,-0.22418 -0.98421,-0.50451 -0.98421,-0.62243 0,-0.43052 2.88731,-1.60216 3.94809,-1.60216 z m 60.4662,7.82651 c 0.10803,0.12156 0.2841,10.11014 0.39098,22.19648 0.1527,17.27915 0.10942,22.03862 -0.19773,22.27289 -0.21484,0.16387 -1.35838,0.46904 -2.54368,0.67861 -4.47496,0.79124 -9.40918,3.04896 -12.99251,5.94573 -5.50692,4.45182 -10.17769,13.15568 -11.68023,21.77179 -0.55192,3.16499 -0.61163,6.81067 -0.12808,7.71416 0.55223,1.03187 2.23595,1.53024 5.17049,1.53024 1.48081,0 2.69197,0.12645 2.69197,0.28089 0,0.15448 -0.27926,1.64428 -0.62243,3.31217 -0.92161,4.47909 -1.85352,11.23907 -2.09201,15.1834 -0.11544,1.90916 -0.34978,3.64799 -0.52133,3.86495 -0.1715,0.21695 -0.62765,0.39324 -1.01342,0.39324 -0.38575,0 -0.93742,0.26009 -1.22465,0.57749 -1.14306,1.2631 -0.3432,7.39949 1.528,11.72293 0.84647,1.95577 1.09299,3.0709 1.39543,6.31873 0.48317,5.18863 1.12285,9.07668 2.27851,13.8464 0.52062,2.14874 0.83211,4.01733 0.68985,4.15257 -0.14225,0.13525 -2.38956,1.37912 -4.99296,2.76164 -2.60342,1.38252 -6.01056,3.25437 -7.5726,4.16156 -1.56204,0.90715 -10.26075,5.41019 -19.32923,10.00617 -11.3425,5.74848 -16.52913,8.22596 -16.61703,7.93663 -0.16226,-0.53372 -1.44745,-94.64749 -1.68305,-123.24687 -0.15065,-18.28817 -0.11021,-21.54963 0.26516,-21.67068 0.24301,-0.0783 6.6906,-2.05882 14.32726,-4.39975 7.63667,-2.34089 22.97339,-7.24252 34.0812,-10.89375 11.10784,-3.65129 20.28406,-6.53915 20.39209,-6.41762 z m -226.56904,7.34115 c 2.54876,-0.0353 13.12351,0.90307 48.41969,4.23572 104.4613,9.86319 105.03474,9.92062 105.4052,10.41738 0.48069,0.64456 0.68606,16.71767 1.11678,87.03546 0.21227,34.64877 0.24677,59.05366 0.0809,59.2056 -0.15521,0.14247 -0.63794,0.14101 -1.07184,-0.005 -0.4339,-0.14554 -7.46424,-1.48359 -15.62159,-2.97286 -68.10705,-12.43422 -135.14437,-24.81777 -135.53381,-25.03677 -0.26033,-0.14642 -0.88364,-0.84545 -1.38418,-1.55272 l -0.91007,-1.28532 -1.06061,-61.95376 c -0.58397,-34.07497 -1.02736,-63.2316 -0.98421,-64.79178 0.0748,-2.70432 0.11753,-2.85527 0.89432,-3.22679 0.0851,-0.0407 0.2853,-0.0646 0.64941,-0.0697 z m 274.69662,4.24021 1.7145,0.0314 c 2.06588,0.0383 3.90141,0.89747 5.28959,2.47852 1.55931,1.77596 1.56389,2.33404 0.0517,5.78843 -2.06916,4.72662 -6.98236,14.47394 -10.32974,20.49545 h 0.002 c -1.66432,2.99392 -3.18189,5.43586 -3.3706,5.42666 -0.1887,-0.009 -0.67702,-0.44064 -1.08533,-0.95725 -0.92873,-1.17516 -2.72859,-2.10727 -4.84017,-2.50772 -0.89493,-0.16975 -1.68605,-0.36938 -1.75945,-0.44267 -0.0733,-0.0733 2.0531,-4.50866 4.72782,-9.85786 2.67477,-5.34916 5.92877,-12.14075 7.23105,-15.09127 z m -335.421239,4.10539 c 2.920074,-0.003 3.390258,0.25486 3.716642,2.04708 l 0.202235,1.10554 h -2.939161 c -2.595749,5.1e-4 -3.132443,0.10147 -4.586256,0.86737 -1.824583,0.96124 -2.295239,1.0595 -2.300992,0.47413 -0.002,-0.21695 -0.09253,-0.92733 -0.199991,-1.57743 l -0.195492,-1.18196 1.856072,-0.86512 c 1.546658,-0.72169 2.287002,-0.86616 4.446943,-0.86961 z m 381.423089,0.62917 c 0.55527,0.107 -4.05593,2.31067 -13.06216,6.24459 -3.47121,1.51626 -8.51143,3.77698 -11.20161,5.02444 -2.69019,1.24749 -9.0439,4.39071 -14.12054,6.98386 -5.07665,2.59316 -9.22765,4.60655 -9.2242,4.47615 0.0274,-0.96266 12.6741,-8.11811 22.9088,-12.96105 9.26513,-4.38414 23.47684,-10.0035 24.69971,-9.76799 z m -380.142265,3.95483 c 0.74719,0.0363 1.423785,0.18055 1.943705,0.44942 0.774595,0.40054 0.922295,0.70407 1.107801,2.28751 0.11765,1.00424 0.573189,4.00642 1.013426,6.67153 0.440249,2.66506 0.681404,4.96531 0.534808,5.10981 -0.146596,0.1445 -1.900469,0.83797 -3.896407,1.54149 -3.645393,1.28494 -4.574568,1.48524 -4.840183,1.04712 -0.177348,-0.29256 -1.58995,-7.40307 -2.265027,-11.39708 -0.473475,-2.8009 -0.471151,-2.98698 0.06741,-3.59306 1.212507,-1.36457 4.092889,-2.22585 6.334469,-2.11674 z m 11.873474,15.54518 c 0.177833,0.0592 2.972606,11.10372 6.208629,24.54241 4.335597,18.00499 5.791768,24.53128 5.534518,24.80308 -0.192007,0.20288 -5.30114,1.87119 -11.352162,3.70765 -6.051022,1.83646 -11.19245,3.33914 -11.426311,3.33914 -0.23385,0 -0.567183,-0.53336 -0.739274,-1.18421 -1.998952,-7.56042 -11.698254,-46.94771 -11.61956,-47.18381 0.122424,-0.36729 22.913161,-8.18457 23.39416,-8.02426 z m 2.247068,1.44262 c 0.341905,0.0736 1.638663,1.57317 3.716631,4.31885 1.69995,2.24619 3.812284,4.99741 4.694116,6.11426 l 1.604401,2.03134 4.858153,20.53141 c 2.672641,11.29273 4.820398,20.70997 4.772768,20.92689 -0.06293,0.28669 -0.345598,0.23518 -1.033652,-0.18875 -1.633812,-1.00656 -6.930741,-5.42247 -7.174877,-5.98168 -0.128222,-0.29372 -2.725076,-10.97228 -5.77045,-23.72898 -3.045374,-12.7567 -5.602064,-23.38291 -5.682828,-23.61438 -0.104362,-0.29902 -0.09824,-0.43349 0.01574,-0.40896 z m 378.349113,5.60192 c 1.26979,0.008 2.56514,0.45714 3.8672,1.35947 1.2012,0.83242 4.92135,6.02158 5.60417,7.81753 0.83463,2.19529 1.5699,12.11949 1.61339,21.79876 0.0485,10.79882 -0.22182,13.22012 -2.20886,19.88875 -2.57545,8.64332 -5.68908,13.19761 -10.59715,15.49798 -1.90955,0.89501 -3.7646,0.94944 -5.07836,0.14831 -2.14467,-1.30778 -5.03408,-6.93008 -5.93673,-11.55215 -1.532,-7.84453 -1.96193,-20.40832 -0.98197,-28.70622 0.5439,-4.60583 2.06724,-11.11951 3.45598,-14.77668 2.87031,-7.55882 6.45298,-11.50025 10.26233,-11.47575 z m -72.80931,0.77524 c 0.2524,0.006 0.5665,0.0346 0.97073,0.0764 3.42636,0.35367 6.15004,2.62208 5.63113,4.68963 -0.11171,0.44494 -0.46477,1.13123 -0.78422,1.52575 l -0.57973,0.71906 -0.71458,-1.15499 c -0.82169,-1.3295 -2.86614,-2.63032 -4.98398,-3.17061 -0.80822,-0.20619 -1.51772,-0.52184 -1.57743,-0.70107 -0.0597,-0.17922 0.20309,-0.72219 0.58423,-1.20668 0.48558,-0.61733 0.69663,-0.79633 1.45385,-0.77748 z m 73.17333,1.17521 c -3.95168,-0.33119 -8.51354,6.2722 -10.80611,15.89797 -1.16946,4.91012 -1.57642,8.61362 -1.75721,16.02605 -0.18903,7.7502 0.0834,12.15449 1.21117,19.66404 0.72305,4.81461 1.88978,7.71586 4.12336,10.25335 0.88159,1.00154 1.49487,1.42237 2.07179,1.42238 2.1612,0 6.17909,-3.11665 8.10515,-6.28728 2.28556,-3.76244 4.46272,-10.72796 5.41317,-17.32036 0.32175,-2.2317 0.53108,-6.68137 0.61794,-13.15429 0.16722,-12.45849 -0.24427,-15.21287 -3.10094,-20.76511 -1.48798,-2.89202 -3.44155,-5.03106 -5.09634,-5.57721 -0.25717,-0.0849 -0.51854,-0.13745 -0.78198,-0.15954 z m -15.89122,2.10774 c 0.71506,0.14014 -5.02881,3.29345 -16.48895,9.05341 -5.55393,2.79149 -12.5606,6.35644 -15.57213,7.9209 -3.01153,1.56448 -5.63852,2.8393 -5.83787,2.83355 -1.08137,-0.0298 4.96991,-3.88709 13.36328,-8.51636 9.54408,-5.26397 23.20812,-11.55163 24.53567,-11.2915 z m -88.49606,0.57076 c 0.63344,0.0124 1.23779,0.0641 1.7999,0.1573 6.16243,1.02113 10.54091,5.34926 13.07342,12.92061 l 0.97521,2.91218 -0.67861,1.33027 -0.6786,1.33025 -0.85389,-2.54366 c -1.48972,-4.44 -3.1908,-6.81098 -6.18617,-8.61524 -1.4456,-0.87074 -2.14586,-1.09207 -3.44025,-1.09207 -4.62238,0 -10.26817,5.61811 -13.25093,13.18575 -1.17449,2.97989 -1.73906,5.88202 -1.74597,8.95904 -0.006,2.54829 -0.0235,2.60435 -0.77748,2.60435 -0.42365,0 -0.85676,-0.14104 -0.96399,-0.31459 -0.28362,-0.45892 -0.78872,-0.38731 -0.78872,0.11229 0,0.32941 -0.97005,0.47659 -4.18178,0.63592 -2.29966,0.11413 -5.27886,0.29402 -6.61985,0.39999 l -2.43806,0.19323 -0.35054,-0.90781 c -0.78967,-2.04246 1.45012,-11.20531 3.97057,-16.23951 2.0339,-4.06239 5.62416,-8.44481 8.54107,-10.42637 4.21245,-2.86168 10.1606,-4.6888 14.59467,-4.60198 z m 28.04334,0.0651 1.31004,0.0606 c 2.81181,0.12841 5.72552,2.67288 5.72552,4.99972 0,0.91561 -4.17506,8.19207 -9.1388,15.92493 -1.50401,2.34306 -3.19829,5.07583 -3.76384,6.07381 -0.56558,0.99797 -1.13785,1.81562 -1.27184,1.81562 -0.13395,0 -0.41467,-1.45451 -0.62468,-3.23352 -0.21004,-1.77898 -0.65793,-4.41923 -0.99545,-5.86483 -0.33749,-1.44558 -0.61344,-2.98252 -0.61344,-3.41554 0,-0.43659 1.18697,-2.70986 2.66501,-5.10308 1.46595,-2.37361 3.5739,-5.87689 4.68513,-7.78606 z m -23.0144,8.73658 c 0.30048,0.002 0.59261,0.0281 0.8741,0.0809 1.34474,0.25229 3.35488,1.98024 4.3975,3.77956 0.78065,1.34721 3.00657,6.79801 3.00657,7.36362 0,0.17971 -0.24905,0.42311 -0.55278,0.54154 -0.30373,0.11847 -2.61116,0.29095 -5.12779,0.38425 l -4.57727,0.17077 -1.22689,-2.42907 c -0.72893,-1.44181 -1.87187,-3.06409 -2.81333,-3.99078 l -1.58642,-1.55946 1.07859,-1.13028 c 1.92563,-2.01687 4.42428,-3.22378 6.52772,-3.21104 z m -12.84422,1.24263 c -0.15007,-0.0327 -0.58399,0.34397 -1.21566,1.14599 -3.33217,4.23081 -5.61082,10.76062 -4.96151,14.22166 0.27918,1.48815 0.63755,0.84952 0.94152,-1.67856 0.43282,-3.60043 2.22218,-8.27203 4.74355,-12.3858 0.50807,-0.82896 0.64217,-1.27058 0.4921,-1.30329 z m 111.90595,8.13886 c 0.77113,-0.0429 1.48997,0.39736 1.98866,1.36171 1.58076,3.05688 1.85303,10.4031 0.49884,13.46439 -0.37315,0.84359 -0.97934,1.85665 -1.34823,2.24932 -0.86382,0.92021 -2.2338,0.92289 -3.08522,0.009 -1.23466,-1.32524 -1.73698,-3.81063 -1.73698,-8.61298 0,-4.12248 0.0568,-4.53351 0.80445,-5.98618 0.81034,-1.57465 1.88702,-2.43002 2.87848,-2.48524 z m -87.79497,0.65838 c 0.2868,0 0.84509,2.66599 1.56846,7.50069 0.64693,4.32399 0.68699,5.09725 0.31683,5.99067 -0.23368,0.56408 -0.49646,1.02467 -0.58424,1.02467 -0.0878,0 -0.22495,-0.46059 -0.3056,-1.02467 -0.5611,-3.92606 -1.21345,-7.36821 -1.6134,-8.51636 -0.25796,-0.7406 -0.47066,-1.64852 -0.47412,-2.01787 -0.005,-0.68392 0.83487,-2.95713 1.09207,-2.95713 z m 87.46915,0.73254 c -0.52468,0.10079 -1.05492,0.90275 -1.50778,2.46054 -0.91637,3.15214 -0.49688,10.06323 0.7258,11.98358 1.74804,2.74537 3.81464,-3.68151 3.01107,-9.3635 -0.49072,-3.47003 -1.3546,-5.2486 -2.22909,-5.08062 z m -89.68476,2.54817 c 0.14706,0.0157 0.29264,0.0587 0.39774,0.12584 0.48872,0.31254 1.28964,5.24802 1.55272,9.56124 l 0.20448,3.34364 -1.2269,0.20448 c -0.67531,0.1116 -2.68668,0.20328 -4.4694,0.20673 -3.793,0.005 -3.3369,0.48511 -4.77726,-5.0469 -0.51967,-1.99595 -1.16482,-4.24927 -1.43362,-5.00871 -0.89416,-2.52637 -1.05401,-2.42012 4.211,-2.8268 2.58431,-0.19959 4.89176,-0.43221 5.12779,-0.51907 0.11802,-0.0434 0.26641,-0.0561 0.41345,-0.0405 z m -3.93684,3.73911 c -0.88927,-0.0584 -1.6666,0.3788 -2.21112,1.27184 -1.14023,1.8701 -0.56713,4.45784 1.19769,5.41542 1.12905,0.61281 2.91122,0.61787 3.77731,0.0115 0.90423,-0.63337 1.41062,-2.45719 0.99096,-3.56833 -0.42135,-1.11558 -1.71298,-2.44224 -2.83131,-2.90545 -0.31675,-0.13121 -0.62712,-0.20523 -0.92353,-0.22472 z m 35.19574,0.773 c 3.43374,-0.17054 6.43435,1.7007 9.05565,5.61989 2.6899,4.02168 4.14914,9.51104 4.84692,18.23267 0.92113,11.51328 -2.00911,26.16618 -7.41531,37.07878 -2.42202,4.88899 -4.28279,7.14167 -7.16813,8.68264 -1.7421,0.93037 -2.34287,1.08173 -4.68063,1.16848 -3.94941,0.14665 -5.08957,-0.38884 -9.01072,-4.23122 -3.69168,-3.61747 -7.0022,-11.83198 -8.36806,-20.76511 -0.49503,-3.23921 -0.49585,-11.57265 -0.002,-14.83285 1.72585,-11.39839 6.7215,-21.03541 13.9183,-26.85016 3.22013,-2.60173 6.15349,-3.97048 8.82422,-4.10312 z m -35.03845,0.71007 c 0.4809,0.0427 1.03061,0.36288 1.55721,0.9887 0.91753,1.09043 0.94032,1.1896 0.51008,2.32122 -0.22931,0.6031 -0.53435,0.80894 -1.19319,0.80894 -1.43888,0 -2.2875,-0.80036 -2.2875,-2.16167 0,-1.32902 0.61191,-2.02828 1.4134,-1.95719 z m 35.41819,1.36846 c -2.91319,0 -6.74301,2.28562 -10.65557,6.35694 -4.98642,5.18876 -8.22983,11.8655 -9.98819,20.56287 -0.61427,3.03821 -0.71149,4.4834 -0.69883,10.31851 0.0124,5.809 0.11533,7.25566 0.7213,10.06009 1.75174,8.10688 4.17844,13.5924 7.35239,16.6305 2.02038,1.93395 2.87112,2.52165 4.35481,3.00658 0.44403,0.14523 1.73011,0.21839 2.85826,0.16178 5.10142,-0.25585 8.31363,-3.7009 11.96336,-12.82847 3.83392,-9.58825 6.04509,-21.15494 5.61541,-29.36236 -0.19594,-3.74301 -1.26979,-11.45478 -1.99764,-14.33402 -1.49114,-5.89863 -5.70245,-10.57242 -9.5253,-10.57242 z m -26.99844,6.85354 c 0.36223,0 0.33162,6.43865 -0.0562,11.81729 -1.25869,17.45824 -8.90163,31.1973 -18.78319,33.77111 -2.32442,0.60557 -7.29788,0.59943 -9.57698,-0.0135 -5.12281,-1.37774 -11.00425,-6.71548 -13.40598,-12.1656 -0.85038,-1.92971 -2.22837,-7.66601 -1.9909,-8.28492 0.11706,-0.30503 1.60692,-0.46223 5.78844,-0.61344 3.09662,-0.11206 6.44654,-0.298 7.44452,-0.41121 l 1.81337,-0.20449 0.0314,0.91231 c 0.0302,0.87295 0.0402,0.87885 0.24493,0.14605 0.25208,-0.90207 0.7689,-1.15436 1.19994,-0.58647 0.16907,0.22272 0.68569,1.453 1.14825,2.73467 2.51482,6.96792 7.27954,11.83527 11.5881,11.83527 1.56845,0 3.32067,-0.84365 2.96162,-1.42463 -0.11125,-0.18005 -0.5394,-0.24085 -0.95275,-0.13707 -0.84432,0.21191 -3.50976,-0.37085 -3.79304,-0.82916 -0.10136,-0.16397 0.39009,-0.79011 1.09207,-1.39094 2.32681,-1.99168 4.22315,-6.40824 5.13454,-11.96111 0.6007,-3.65989 0.50246,-11.55727 -0.19774,-15.93617 -0.31916,-1.99594 -0.5918,-4.05434 -0.60446,-4.57502 l -0.0224,-0.94601 3.07397,-0.045 c 1.69054,-0.0237 3.57265,-0.13517 4.18179,-0.24942 l 1.10556,-0.20897 v 3.43126 c 0,4.36934 -0.4714,9.15007 -1.4561,14.74297 -1.39878,7.94435 -1.31162,10.03856 0.21571,5.20644 1.30779,-4.13765 2.23714,-10.82198 2.41335,-17.35631 0.13241,-4.91112 0.26249,-6.26447 0.6494,-6.70523 0.26665,-0.30373 0.60609,-0.55278 0.75277,-0.55278 z m -282.70292,3.78854 c 0.31091,-5e-4 2.425775,1.51685 4.700857,3.37284 3.486215,2.84403 4.0421,3.41506 3.536883,3.62901 -0.329698,0.13964 -5.001234,1.46129 -10.381436,2.93691 -5.380202,1.47558 -10.13611,2.67422 -10.570181,2.66502 -0.43407,-0.009 -2.361416,-1.03885 -4.282905,-2.28751 -4.815861,-3.12959 -5.054554,-3.31576 -4.694115,-3.6762 0.362763,-0.36278 20.864266,-6.64007 21.690897,-6.64007 z m 306.97343,13.65769 c 1.49714,0 2.55775,1.3745 2.84703,3.68968 0.32697,2.61688 -0.0609,10.05088 -0.63592,12.19032 -0.4606,1.71369 -1.6644,4.37996 -1.30778,2.89645 0.87022,-3.62007 1.13583,-12.20815 0.47412,-15.2935 -0.36659,-1.70934 -1.10851,-2.40397 -2.19762,-2.05831 -1.5191,0.48214 -2.47946,4.72768 -2.49649,11.02408 -0.009,3.26926 -0.0911,4.0075 -0.40672,3.69193 -0.28577,-0.28577 -0.39115,-1.8897 -0.38424,-5.82214 0.009,-4.90034 0.08,-5.60385 0.73028,-7.23554 0.83528,-2.09564 1.9177,-3.08297 3.37734,-3.08297 z m -53.18122,8.6894 c -0.0406,0.0466 -0.0694,0.26149 -0.10562,0.61569 -0.34926,3.41668 3.50161,10.29951 7.30296,13.05319 2.12495,1.53933 2.30689,0.99523 0.28088,-0.83816 -1.05875,-0.95812 -2.41663,-2.41489 -3.01781,-3.23577 -1.54724,-2.11267 -3.60369,-6.31834 -4.06717,-8.31637 -0.22506,-0.97027 -0.3256,-1.35622 -0.39324,-1.27858 z m 102.05259,10.08481 c 0.077,0.008 0.0912,0.0544 0.0359,0.14381 -0.3797,0.61443 -3.82185,2.79634 -15.36316,9.73203 -6.30781,3.79063 -13.29925,8.05288 -15.53619,9.47361 -3.7453,2.37879 -5.28691,3.10723 -4.75254,2.24257 0.34078,-0.55139 5.68835,-4.43469 9.61294,-6.97938 9.48971,-6.15313 24.84826,-14.74099 26.00301,-14.61264 z m -84.17271,5.9255 c 2.66266,20.58135 7.38899,26.64428 15.32945,35.70582 0.83404,0.95181 2.88281,2.38915 2.50996,2.84703 -0.2598,0.3191 -2.25514,-1.06405 -3.22452,-2.05157 -10.53085,-10.72778 -13.24333,-17.04855 -15.69574,-35.9485 z"; -const ohno = - "m 149.88972,11.863402 c -3.0256,0.02509 -4.00765,0.217201 -7.0091,1.368788 -1.92002,0.736723 -3.55736,1.543761 -3.6377,1.792226 2.09015,1.831236 5.42758,2.82556 7.09432,5.23818 0.57395,0.867248 2.35896,2.825573 3.96524,4.351378 2.89565,2.750569 6.04531,7.003791 6.0291,8.138211 -0.004,0.329006 -0.89562,-0.363487 -2.01592,-1.563191 -12.2037,-14.435057 -28.38428,-17.709594 -40.15844,-0.205052 -2.80165,4.303984 -3.14989,5.100741 -2.33815,5.371322 0.26369,0.08794 -1.1222,1.460876 -2.29818,2.447319 -0.33831,0.763734 -0.5267,1.295338 -0.49001,1.456677 0.0835,0.367142 1.01103,-0.180564 2.92668,-1.728307 3.11152,-2.513952 6.78728,-4.417657 10.47101,-5.42192 1.83694,-0.500735 3.75815,-0.655475 7.85593,-0.633796 6.40009,0.03381 9.46109,0.718194 14.77182,3.307478 4.91021,2.394022 10.94942,7.208516 10.07423,8.029025 -0.19406,0.181901 -9.01754,0.610808 -19.61053,0.953366 -24.75384,0.800479 -26.65514,0.943576 -27.90852,2.114442 -2.12689,1.986835 -2.04346,-2.400457 -1.24364,64.706232 0.40544,34.01642 0.83098,62.56909 0.94538,63.45196 0.25923,2.00083 1.83247,3.88116 3.78149,4.51916 0.90976,0.29779 11.22457,0.91914 28.537,1.7203 14.91246,0.6901 27.13109,1.26893 27.15222,1.28625 0.36079,0.29579 0.43855,8.2143 0.14115,14.50818 -0.84016,17.78026 -3.54656,35.53179 -8.42316,55.27113 -2.38183,9.64108 -6.24433,22.51627 -6.96114,23.19763 -0.27529,0.26165 -9.42004,2.02202 -20.32157,3.91198 -10.90153,1.88995 -20.0246,3.49668 -20.27097,3.57112 -0.24635,0.0744 -0.73267,0.68686 -1.08119,1.36081 -0.59586,1.15224 -0.59423,2.79355 0.0319,27.52771 0.3883,15.33353 0.52928,26.43976 0.33553,26.62762 -0.18618,0.18053 -1.22708,0.15909 -2.36476,-0.0506 -1.2856,-0.23705 -2.31433,-0.24726 -2.80417,-0.024 -0.64106,0.29223 -2.46433,5.80179 -10.62015,32.10013 -5.41477,17.45987 -9.74327,31.99883 -9.62151,32.3105 0.12176,0.31164 4.35548,2.99135 9.40847,5.95453 5.05298,2.96325 9.59306,5.70727 10.09021,6.09834 0.88374,0.69511 0.90277,0.83687 0.90277,6.29007 v 5.57638 l -1.54189,0.97467 c -2.44638,1.54434 -6.43133,5.76888 -7.53904,7.99174 -1.09668,2.20073 -1.34951,5.06574 -0.61783,7.00643 0.56564,1.50028 2.49949,3.40843 4.48987,4.42595 3.08958,1.57951 8.835,2.68815 18.48674,3.56846 6.56086,0.59844 36.61562,0.89555 40.90942,0.40477 l 3.50987,-0.40211 44.17164,9.93575 c 24.29446,5.46337 45.2991,10.02293 46.67754,10.13282 1.42095,0.11331 3.28337,0.005 4.30079,-0.24766 0.98698,-0.24601 7.90045,-2.89886 15.36301,-5.89594 7.46256,-2.99707 13.61963,-5.3841 13.68263,-5.30475 0.0629,0.0794 0.67729,1.15193 1.36347,2.38608 0.68614,1.23411 1.71483,2.9372 2.28755,3.78416 0.92856,1.37317 0.98392,1.61719 0.50862,2.24492 -0.29316,0.38719 -0.5391,1.16209 -0.54592,1.72298 -0.008,0.70118 -0.3315,1.21852 -1.03858,1.65641 -1.56309,0.96809 -3.46227,2.81608 -4.05312,3.94393 -0.70033,1.33676 -0.67085,3.8011 0.0612,5.21688 1.05444,2.03902 6.98914,4.19826 27.19751,9.89581 l 12.41498,3.49921 3.7389,-0.21037 c 4.23849,-0.23861 5.71444,-0.54263 9.16348,-1.88543 3.47944,-1.35447 25.77572,-12.7917 31.97501,-16.40158 2.87964,-1.67686 7.50794,-4.28409 10.28465,-5.79475 2.77684,-1.51065 7.02814,-3.98732 9.44844,-5.50448 13.21557,-8.28418 34.15451,-17.7862 52.95417,-24.0285 7.22871,-2.40023 17.09102,-6.44789 26.53982,-10.89178 2.2709,-1.06802 6.5105,-3.65135 10.2847,-6.26877 3.5316,-2.44909 8.4002,-5.73496 10.8171,-7.30201 2.417,-1.56709 4.394,-3.05358 4.394,-3.30216 0,-0.24858 -0.508,-0.9756 -1.1291,-1.61646 l -1.1318,-1.16639 1.1771,-2.59114 c 7.9183,-17.43829 8.2377,-39.48904 0.8256,-57.11661 -5.1066,-12.14471 -14.7822,-23.42129 -24.4254,-28.46509 -2.8767,-1.50467 -9.564,-3.64022 -14.7106,-4.69758 -2.02367,-0.41575 -3.83354,-0.85079 -4.02115,-0.96668 -0.20111,-0.12422 -0.34087,-13.45365 -0.34087,-32.48361 v -32.27057 l 2.08257,-4.4153 c 2.83905,-6.01897 3.68975,-8.39585 4.85465,-13.54149 0.9232,-4.07592 0.9821,-4.84141 0.7882,-10.20206 -0.3215,-8.89151 -2.2468,-16.22083 -5.56309,-21.17905 l -1.86932,-2.79617 0.13049,-69.81926 0.13048,-69.82191 -0.93739,-1.68304 C 450.25907,56.388804 449.41849,55.438997 448.9076,55.201481 447.71797,54.648266 263.4184,41.15624 254.25631,40.95161 c -3.70241,-0.08263 -16.25658,0.199094 -27.90054,0.625819 -11.64397,0.426726 -21.82985,0.774942 -22.63573,0.774942 -1.19809,0 -1.45586,-0.107441 -2.07982,-1.448687 -1.706,-1.973459 -6.0321,-1.220428 -6.9079,-3.677646 -0.24813,-0.874503 -1.13787,-2.546431 -1.97597,-3.714924 -1.31222,-1.829545 -2.25611,-2.546076 -6.80403,-5.155621 -2.90464,-1.666652 -5.49072,-3.030517 -5.74415,-3.030517 -0.30078,0 -0.36264,0.304504 -0.17842,0.878797 0.66567,2.075079 0.92459,3.765414 0.91341,5.965182 -0.0123,2.542189 -1.00407,5.687837 -1.88542,5.981161 -0.45174,0.15035 -0.489,-0.1544 -0.20505,-1.725649 0.18985,-1.050485 0.34679,-3.318045 0.34885,-5.038444 0.003,-2.716687 -0.16243,-3.480203 -1.2596,-5.805396 -1.67677,-3.55349 -3.10584,-5.275934 -5.62965,-6.785404 -1.73064,-1.035065 -8.11146,-3.246231 -9.36852,-3.246231 -0.61717,0 -0.37244,0.725366 0.95069,2.828136 1.67412,2.66058 2.8522,5.482868 3.58178,8.577617 0.64369,2.730431 0.79582,7.36327 0.24233,7.36327 -0.34636,0 -0.53335,-0.699474 -1.80554,-6.758762 -1.35554,-6.456357 -5.55038,-12.465551 -10.23401,-14.659975 -1.96805,-0.922087 -2.74026,-1.061106 -5.78942,-1.035909 z m 104.81675,30.928395 c 1.65235,-0.01963 6.26606,0.315479 19.74635,1.262273 7.40481,0.520082 13.67319,1.019603 13.9303,1.107819 0.36563,0.125439 0.46869,4.236152 0.46869,18.86223 v 18.69977 l 1.17173,0.60717 1.16906,0.6045 -0.23434,15.39231 c -0.12912,8.465281 -0.34217,30.239801 -0.47402,48.389871 -0.17091,23.54275 -0.35783,33.09667 -0.65511,33.33577 -0.22917,0.18432 -5.88724,0.8549 -12.57215,1.48864 -13.06358,1.23842 -23.2002,1.81287 -23.65301,1.34216 -0.39279,-0.40828 -0.34252,-140.107284 0.0506,-140.727676 0.13472,-0.21262 0.0605,-0.353084 1.05191,-0.364837 z m -5.16095,0.01598 c 1.21641,-0.01568 1.93118,-0.0068 2.01858,0.02663 0.59497,0.22834 0.63646,4.725896 0.63646,70.487673 0,54.13655 -0.10157,70.34953 -0.44739,70.69538 -0.24683,0.24678 -0.54194,0.41517 -0.65511,0.37549 -0.31023,-0.10867 -0.43245,-0.11276 -69.01768,-3.09977 -35.17285,-1.53184 -65.45969,-2.94099 -67.30269,-3.13171 -2.92609,-0.30283 -3.45817,-0.47308 -4.19427,-1.32885 -0.46362,-0.539 -1.01622,-1.60696 -1.22765,-2.37542 -0.55047,-2.00062 -1.97777,-124.123981 -1.46199,-125.087722 0.67052,-1.252865 2.86583,-1.868227 7.24343,-2.029225 17.80404,-0.654807 80.45445,-2.763222 85.08106,-2.862756 3.18819,-0.06858 15.903,-0.521622 28.25471,-1.006622 9.2638,-0.363747 17.42332,-0.61622 21.07254,-0.663098 z m 45.03978,2.777539 c 0.88798,-0.01227 2.22326,0.04922 4.17562,0.183755 2.87968,0.198439 5.63562,0.445364 6.12497,0.548578 l 0.88946,0.189073 -0.2743,44.951897 c -0.15203,24.723561 -0.39414,48.315911 -0.53793,52.429691 -0.29459,8.42841 -0.60376,9.56201 -2.84944,10.50031 v 0.003 c -0.69963,0.29233 -1.65567,0.51572 -2.12509,0.498 -2.1745,-0.0819 -4.78812,-1.40776 -6.05839,-3.07314 -2.1772,-2.85448 -2.07004,0.70804 -1.64842,-54.693251 0.28329,-37.22185 0.50142,-50.960361 0.81489,-51.279263 0.15967,-0.162443 0.60067,-0.24657 1.48863,-0.258309 z m 12.92102,1.169066 c 0.14042,-0.150281 18.50789,1.063589 40.81889,2.697653 22.31101,1.634064 53.52574,3.90476 69.36381,5.046434 15.83807,1.141688 29.17131,2.160364 29.63161,2.263579 0.50012,0.112077 1.14709,0.797698 1.60835,1.701665 0.76995,1.50993 0.77145,1.626138 0.75373,60.485337 -0.0177,57.57041 -0.2217,77.48345 -0.79368,77.48345 -0.1553,0 -1.2158,-0.35696 -2.35675,-0.79358 -2.00253,-0.76634 -2.12702,-0.89647 -3.61375,-3.80547 -2.0182,-3.94878 -3.37186,-5.88174 -5.80006,-8.27136 -3.54761,-3.49148 -8.73194,-5.45674 -14.36702,-5.44856 -7.89408,0.0109 -13.83554,3.48658 -18.53201,10.84118 -4.44464,6.96015 -7.99798,16.83141 -9.35791,25.99115 -0.94243,6.34763 -0.96901,19.7173 -0.0506,25.58104 2.20882,14.10335 6.39345,22.51892 13.77595,27.70347 2.6795,1.88176 4.74106,2.57639 10.03692,3.38738 8.36052,1.28031 16.09412,-3.74094 21.72498,-14.10606 0.47531,-0.87511 1.00256,-1.18764 2.61773,-1.55255 1.11232,-0.25132 2.89587,-0.93821 3.96524,-1.52591 1.06923,-0.58771 2.03853,-0.97626 2.15169,-0.86282 0.28933,0.29003 0.25334,42.20417 -0.0453,52.77322 l -0.24502,8.74804 -4.06641,-0.21571 c -6.14557,-0.32424 -13.25429,0.51953 -19.55993,2.3195 -16.42641,4.68889 -48.74542,16.3454 -67.5504,24.36404 -6.73636,2.87242 -7.80532,3.24677 -7.80532,2.72694 0,-0.13417 1.25099,-4.05376 2.78025,-8.70811 5.42157,-16.50075 11.46638,-37.36296 15.55733,-53.68929 0.87658,-3.49671 1.77906,-6.55897 2.00539,-6.80402 0.22648,-0.24506 2.85211,-0.96688 5.83457,-1.60316 2.98272,-0.63628 5.8107,-1.31869 6.28477,-1.51792 l 0.86281,-0.36217 -0.0532,-31.50627 c -0.0518,-30.1929 -0.0232,-31.71262 0.71896,-36.39827 2.01698,-12.72726 4.70384,-36.59788 5.82406,-51.76657 1.99789,-27.05177 1.7477,-40.82193 -0.89212,-49.33526 -0.86253,-2.781441 -1.19426,-4.799251 -1.48332,-9.006361 -0.43467,-6.32362 -1.24621,-9.57799 -3.60037,-14.44692 -2.43871,-5.04365 -4.52332,-7.14541 -9.0649,-9.13684 -2.00525,-0.87923 -6.00158,-2.70095 -8.88123,-4.0478 -5.14056,-2.40422 -5.29422,-2.44701 -8.4152,-2.46064 -2.83943,-0.0123 -3.39832,0.10567 -5.23546,1.10782 -2.87814,1.56988 -6.6645,5.50767 -8.31403,8.64685 -4.28211,8.14877 -5.8186,22.84262 -3.49389,33.415661 2.34844,10.68125 6.97061,18.32549 12.81444,21.19504 1.87927,0.92277 2.57927,1.06187 5.16632,1.0226 2.93842,-0.0446 3.1338,-0.10908 11.01425,-3.64569 4.41314,-1.98047 8.22922,-3.60306 8.47915,-3.60306 0.77322,0 1.00951,4.52569 0.77227,14.74252 -0.16744,7.21357 -0.34755,9.81124 -0.70833,10.15145 -0.33486,0.3158 -7.48299,0.88087 -23.11245,1.82951 -17.38533,1.0552 -22.82012,1.50032 -23.46668,1.92004 l -0.8414,0.54592 v 12.53487 c 0,12.50416 0,12.54037 -0.84153,13.37371 -0.78972,0.78414 -1.87491,0.93417 -17.66922,2.44732 -9.25602,0.88677 -17.54599,1.70412 -18.42017,1.8162 l -1.58982,0.20505 v -14.44959 c 0,-7.94699 0.10758,-14.44959 0.237,-14.44959 0.12926,0 0.90401,0.60494 1.72299,1.34483 1.97349,1.78294 3.54876,2.39543 6.16224,2.39406 3.57724,-0.003 5.39093,-1.54047 6.07703,-5.15828 0.21518,-1.1346 0.54157,-23.0464 0.78825,-52.895721 0.23164,-28.02763 0.53598,-51.083696 0.67642,-51.233978 z M 44.934491,56.583624 C 43.35718,56.583078 41.56493,56.807628 39.73358,57.276008 31.04735,59.497573 23.45082,64.024569 15.524,71.698949 4.8293401,82.053059 -1.0702999,94.618709 0.16099013,104.42491 c 0.73161,5.82657 4.50463997,9.70359 10.08489987,10.3645 1.03424,0.12244 1.97074,0.36665 2.07982,0.54326 0.10921,0.17661 -0.2331,1.57378 -0.76162,3.10508 -1.8720699,5.42387 -1.5689599,9.62495 0.91076,12.61743 1.26737,1.52946 4.20371,3.12415 6.75343,3.66433 0.91628,0.19443 3.51618,0.28084 5.77876,0.1944 7.05743,-0.26959 13.30004,-2.26047 21.152431,-6.74545 3.93974,-2.25025 4.44217,-2.28956 4.46058,-0.35951 0.0139,1.45753 1.38401,3.01139 3.78416,4.29546 2.11838,1.13333 2.7882,1.29812 5.85066,1.43538 3.77122,0.16902 6.285229,-0.29111 8.255389,-1.50727 2.05671,-1.26957 0.91831,-1.56156 -2.71895,-0.69772 -3.600419,0.8551 -7.640589,1.00201 -9.594889,0.34886 -2.77363,-0.92698 -4.16468,-3.18719 -3.98655,-6.47383 0.0573,-1.05707 -0.0729,-1.86971 -0.31157,-1.95465 -0.22478,-0.08 -1.31668,0.48137 -2.42868,1.24629 -1.11201,0.76492 -3.87284,2.26764 -6.135621,3.33944 -21.84879,10.3489 -36.2532299,5.06548 -29.25601,-10.72934 l 0.92672,-2.09314 2.18635,-0.25565 c 5.3916,-0.63368 13.41427,-3.34878 21.84215,-7.39256 5.382281,-2.58248 11.046751,-5.85017 10.716031,-6.1809 -0.0948,-0.0948 -3.51246,1.37602 -7.594971,3.26755 -12.19659,5.65091 -18.70915,8.01965 -24.15898,8.78798 -2.29164,0.32309 -2.30101,-0.0474 -0.10117,-3.76818 5.31211,-8.98505 12.27899,-15.459021 21.79422,-20.252331 6.420571,-3.23435 13.148931,-5.16211 19.512011,-5.59235 3.84471,-0.25997 5.04099,0.12135 5.874629,1.86944 0.94125,1.97383 0.43192,3.02251 -3.326109,6.85464 -1.87449,1.91142 -3.285,3.47524 -3.13439,3.47524 0.62064,0 4.49401,-2.73642 5.994469,-4.23687 0.8868,-0.88681 1.91918,-2.42056 2.29554,-3.40602 0.61724,-1.61623 0.63141,-1.94175 0.14912,-3.33677 -0.41069,-1.18792 -0.8736,-1.71362 -1.99461,-2.2609 -1.354809,-0.66142 -1.755549,-0.6792 -5.608329,-0.26098 -8.39306,0.91103 -13.43701,2.33246 -20.060591,5.65627 -10.4961,5.2671 -17.68709,11.85168 -23.39203,21.418721 -2.17487,3.64723 -2.33742,3.82177 -3.65633,3.9333 -1.98385,0.16773 -5.1689499,-0.86194 -7.0170899,-2.27157 -4.97920997,-3.79778 -5.16676997,-12.766961 -0.47401,-22.606441 4.26284,-8.93806 13.3879299,-18.55278 23.0058899,-24.23621 7.60538,-4.494149 17.443071,-7.045183 20.068581,-5.206217 1.74619,1.22307 0.38514,5.335337 -3.17699,9.600217 -2.885161,3.45432 -8.882861,8.0915 -13.008901,10.06091 -2.53819,1.21151 -3.47637,1.33374 -3.80014,0.49 -0.26383,-0.68753 1.14601,-2.26693 3.70694,-4.15433 1.83703,-1.35384 2.22174,-2.22078 1.16641,-2.62574 -1.34006,-0.51423 -6.09079,3.31311 -7.0943,5.71486 -1.01074,2.41907 0.90214,4.26926 3.84273,3.71758 5.99074,-1.12386 16.904391,-10.63738 20.177761,-17.58929 0.93909,-1.9944 1.15271,-4.600131 0.48202,-5.853333 -0.62457,-1.167008 -2.65727,-1.793972 -5.28611,-1.794872 z m 190.081549,3.139699 c -5.57348,-0.08031 -20.78105,0.173733 -56.41357,0.892118 l -58.60258,1.182388 -1.07586,1.17972 -1.07586,1.18238 0.23168,17.05137 c 0.12749,9.37854 0.33862,31.062971 0.46869,48.187481 0.26408,34.77033 0.14206,33.26241 2.7589,33.86305 0.71992,0.16524 26.63707,1.27952 57.59329,2.47662 30.95622,1.19711 56.82263,2.19758 57.48144,2.22363 1.60967,0.0637 2.93164,-0.58553 3.43532,-1.69103 0.30332,-0.66579 0.31035,-14.49918 0.0266,-51.47631 -0.40903,-53.314111 -0.41588,-53.515101 -2.06652,-54.885003 -0.11617,-0.0964 -0.90374,-0.159635 -2.76156,-0.186414 z m 121.97198,5.099706 h 0.005 c 1.99312,-0.0705 4.28716,0.74317 8.58291,2.67367 2.94646,1.32402 5.35803,2.53079 5.35803,2.68167 0,0.15087 -0.92716,0.5879 -2.05843,0.96935 -4.18354,1.41056 -8.73126,8.06656 -10.3486,15.14729 -0.97788,4.30895 -0.97407,16.687971 0.0136,20.899451 1.41978,6.05692 5.88487,12.7346 9.87452,14.76914 0.87412,0.4458 1.58981,0.94532 1.58981,1.11048 0,0.42003 -7.68015,3.70155 -9.72277,4.15433 h -0.0136 c -2.16601,0.48013 -3.19843,0.45245 -5.08643,-0.13847 -3.5712,-1.11774 -7.00278,-4.43538 -9.42717,-9.11289 -1.78737,-3.44872 -3.95542,-10.21659 -4.7401,-14.80643 -1.52749,-8.934501 0.30583,-22.419171 4.00778,-29.477051 1.51809,-2.89434 5.23137,-6.3848 8.33531,-7.83729 1.34792,-0.63075 2.43379,-0.991 3.62969,-1.03325 z m 15.93555,7.1449 c 3.26006,0.17077 6.03881,2.01572 8.27409,5.49914 1.58803,2.47471 1.43655,3.0046 -0.38887,1.35548 -3.11103,-2.81065 -6.2451,-3.45705 -10.04222,-2.06916 -5.94023,2.17122 -9.27869,8.39332 -9.65624,17.9994 -0.2551,6.491691 1.21608,12.457091 4.05319,16.441531 1.32475,1.86033 1.23108,0.98096 -0.16771,-1.57384 -3.10094,-5.66308 -3.71613,-15.662781 -1.40082,-22.784871 1.28507,-3.95298 2.69721,-6.3457 4.93194,-8.36457 1.28507,-1.16101 2.97455,-1.79357 2.97455,-1.11314 0,0.12408 -0.71992,1.02624 -1.59772,2.00258 -4.39678,4.89029 -6.66982,14.04474 -5.36334,21.589171 1.05641,6.10009 3.25883,10.57596 6.31395,12.8278 1.50159,1.1068 1.66262,1.33523 1.00938,1.43804 -0.42704,0.0672 -1.61121,-0.31488 -2.6285,-0.84684 -2.04002,-1.06665 -2.27208,-1.02001 -1.00665,0.19441 2.12783,2.042 5.92632,2.79188 8.19418,1.61912 1.4716,-0.76097 1.88936,-0.33888 1.73897,1.75493 -0.1118,1.55942 -0.2052,1.67976 -1.98657,2.52721 -4.76778,2.26814 -8.16569,0.80258 -13.01691,-5.60834 -5.14983,-6.80543 -5.77403,-25.250921 -1.18241,-34.917621 2.3704,-4.9903 5.46752,-7.57341 9.52302,-7.94115 0.48526,-0.044 0.95893,-0.0537 1.42469,-0.0293 z m 44.07049,2.17303 c -2.22382,6e-5 -2.90733,0.18075 -5.15296,1.36081 -6.29201,3.30632 -10.67243,10.75972 -13.05414,22.20165 -3.07626,14.779231 -1.28534,29.112461 4.93986,39.532641 2.47551,4.14355 7.75991,8.73956 11.1101,9.66147 2.34339,0.64486 3.52347,0.40754 9.39526,-1.88276 8.71625,-3.39969 12.60351,-5.4828 15.01412,-8.053 2.38253,-2.54018 5.22073,-7.82258 6.12498,-11.39775 1.34874,-5.33317 1.43233,-20.84466 0.15707,-28.899181 -0.70818,-4.47306 -2.46092,-7.99557 -6.03976,-12.13542 -4.46427,-5.16422 -15.7763,-10.3887 -22.49453,-10.38846 z m -0.47135,1.49662 c 1.67843,0 5.65199,1.29122 9.76531,3.17167 2.54082,1.16152 2.89942,1.43261 2.38075,1.80819 -0.33582,0.24324 -1.35215,0.96232 -2.2609,1.59782 -4.31825,3.01926 -8.32017,10.57437 -9.8373,18.571951 -1.15118,6.06823 -0.41518,17.76854 1.54726,24.58241 1.91691,6.65597 5.25959,11.90759 8.96114,14.07676 0.90166,0.5285 1.64039,1.10031 1.64039,1.27027 0,0.16994 -2.15006,1.15424 -4.77746,2.18901 -5.95401,2.34492 -7.05542,2.50728 -10.17285,1.49928 -2.09416,-0.67715 -2.8033,-1.16901 -5.23546,-3.64037 -3.26196,-3.31461 -4.86854,-5.8773 -6.64691,-10.61216 -4.26112,-11.34469 -4.28771,-25.22629 -0.0746,-38.121241 1.2687,-3.88331 2.20691,-5.66811 4.92921,-9.37917 3.23061,-4.40411 6.87012,-7.01442 9.7814,-7.01442 z m -41.01331,1.86944 c 2.75911,0 5.75316,3.17993 7.93853,8.42848 1.15786,2.78144 2.44402,7.96827 2.06906,8.34327 -0.11317,0.1133 -1.23107,-0.92809 -2.48451,-2.31684 -5.37548,-5.9559 -10.47241,-6.33358 -12.08757,-0.89478 -0.74337,2.50676 -0.73723,8.16817 0.0136,10.694721 0.4764,1.60419 0.89498,2.17783 2.34885,3.22228 1.96531,1.41195 3.06017,3.12022 3.95188,6.15425 0.55044,1.87229 0.54989,2.08056 -0.0213,2.71096 -1.3711,1.51514 -4.93412,0.44284 -7.23552,-2.17836 -5.18787,-5.90871 -6.18825,-19.594141 -2.03716,-27.863261 2.14023,-4.26348 4.57976,-6.30072 7.54435,-6.30072 z m 55.07668,3.9546 c 0.75169,-0.0667 1.42688,0.20588 3.20893,1.08119 6.65183,3.26727 10.15158,10.24735 11.06497,22.079161 0.74186,9.61029 -0.075,19.00554 -2.02925,23.37605 -1.79787,4.02038 -5.74867,8.42499 -9.66687,10.77728 -1.7042,1.02309 -2.31422,1.01436 -4.63089,-0.0693 -3.46089,-1.61882 -6.09526,-5.22535 -8.2794,-11.33652 -2.15701,-6.03491 -2.85715,-11.31088 -2.66831,-20.12449 0.14862,-6.94516 0.23643,-7.716351 1.20367,-10.665431 2.61937,-7.98719 6.88812,-13.798 10.97703,-14.94757 0.31087,-0.0874 0.56952,-0.1482 0.82012,-0.17044 z m -256.28706,3.95459 c 0.70876,0.0286 1.77085,0.60482 3.71226,1.87743 3.35025,2.19614 7.54872,4.37069 10.71869,5.55242 1.25326,0.46722 2.4104,1.18593 2.75357,1.70967 0.5436,0.82959 0.5403,0.98356 -0.0506,1.88542 -0.58591,0.89423 -0.80513,0.96392 -2.42337,0.77228 l -1.77623,-0.21038 -0.1944,3.810791 c -0.2273,4.4534 -1.18584,7.00774 -3.05716,8.14886 -1.65478,1.00909 -2.9783,0.88666 -4.45524,-0.41011 -2.29871,-2.0183 -3.20595,-8.05179 -2.06917,-13.778501 l 0.47135,-2.37009 -2.07982,-1.82418 c -2.37136,-2.08005 -3.29671,-3.76575 -2.55651,-4.65764 0.28442,-0.34267 0.58137,-0.52315 1.00662,-0.50597 z m -22.77155,0.73233 c 0.56583,0.0271 1.03129,0.31003 1.38479,0.84951 0.77038,1.17577 0.25832,2.29684 -1.73364,3.78417 -1.11262,0.83074 -1.45241,1.313 -1.31022,1.86944 0.1054,0.41253 0.62441,2.15711 1.15043,3.87736 1.74332,5.701151 1.13455,11.701971 -1.31553,12.968951 -0.58135,0.30063 -1.19366,0.53286 -1.35814,0.51663 -1.33119,-0.13144 -2.91882,-1.52938 -3.88803,-3.41932 -0.91086,-1.77618 -1.82001,-5.615 -1.82683,-7.720131 -0.005,-1.78165 0.0224,-1.7743 -2.54053,-0.74564 -1.41915,0.56959 -2.51389,0.12284 -2.51389,-1.02527 0,-0.64654 8.92576,-8.30511 11.96764,-10.26863 0.75333,-0.48627 1.41813,-0.71427 1.98395,-0.68707 z m 224.18167,2.80151 c 2.24414,0.17089 6.16098,3.91573 8.46306,8.34061 1.81655,3.491711 1.89263,3.948331 0.5912,3.621721 -1.69125,-0.42449 -3.84526,0.46191 -5.87737,2.42069 -1.05519,1.01719 -2.01316,1.84429 -2.1277,1.83748 -0.55806,-0.0334 -3.11212,-2.46025 -3.61633,-3.43531 -0.9607,-1.857181 -1.36715,-5.421591 -0.86294,-7.565661 0.57825,-2.45911 1.65389,-4.56922 2.58051,-5.06507 0.24269,-0.12981 0.52889,-0.17888 0.84957,-0.15446 z m 8.49238,13.727911 c 0.36759,-1.2e-4 0.71023,0.0845 1.11041,0.25032 1.02792,0.4258 2.08297,2.01923 1.72301,2.60179 -0.0995,0.16117 -1.19385,0.38549 -2.43393,0.49798 -1.46041,0.13239 -2.83942,0.54581 -3.91206,1.17439 -1.97458,1.15711 -2.08243,1.17339 -2.08243,0.27695 0,-1.07151 2.84297,-4.06032 4.33011,-4.55111 0.50312,-0.16602 0.8973,-0.25021 1.26489,-0.25032 z m 0.71895,5.23285 c 0.25647,-0.0158 0.50462,-0.0142 0.7431,0.0109 1.85854,0.19362 2.11733,0.48321 2.65494,2.98259 0.72387,3.36458 0.24884,32.47175 -0.57252,35.10136 -0.10635,0.34155 -0.62324,0.90262 -1.14777,1.24631 -1.32229,0.8664 -4.61589,1.15094 -5.50978,0.47668 -0.65746,-0.49558 -0.6985,-1.42969 -0.78031,-16.95284 -0.0573,-10.8704 -0.23056,-16.93779 -0.5113,-17.9275 -0.36296,-1.27939 -0.32778,-1.63172 0.24242,-2.43134 0.95361,-1.33738 3.08594,-2.39492 4.88122,-2.50591 z m 57.3031,6.62029 c -1.26748,0 -2.89942,1.17874 -2.50864,1.81085 0.60619,0.98085 3.58974,0.0491 3.58974,-1.12113 0,-0.50919 -0.28142,-0.68972 -1.0811,-0.68972 z m -2.01589,7.32332 c -0.38804,-0.0136 -0.73913,0.098 -0.9881,0.35153 -0.53762,0.54758 -0.51212,0.66608 0.29301,1.32617 1.53485,1.25832 3.74995,0.71609 2.62304,-0.64178 -0.53543,-0.64522 -1.28153,-1.01429 -1.92795,-1.03592 z m -14.96094,2.0958 c -0.9003,-0.17339 -3.33301,2.29147 -3.03318,3.07314 0.34946,0.91047 1.34575,0.71722 2.70826,-0.52728 1.29993,-1.18729 1.4461,-2.32997 0.32492,-2.54586 z m 12.24723,4.79345 c -0.68255,0 -0.75495,2.25989 -0.0931,2.92135 0.61943,0.6193 1.20395,0.36099 1.34479,-0.59386 0.15121,-1.02454 -0.54934,-2.32749 -1.25166,-2.32749 z m -276.61395,1.14244 c 0.43219,-0.007 0.93684,0.007 1.55521,0.0346 2.62805,0.11972 3.21903,0.31173 7.30469,2.36744 2.44556,1.2305 6.4513,3.50278 8.89984,5.04909 2.44855,1.54631 6.32736,3.99788 8.62021,5.44589 4.35347,2.74934 5.61592,4.15091 4.71356,5.23818 -0.24721,0.29786 -0.81086,0.54326 -1.25428,0.54326 -1.29924,0 -5.6857,-2.29334 -10.51097,-5.49649 -5.26112,-3.49247 -14.00383,-8.47806 -16.2711,-9.27799 -2.18311,-0.77025 -3.09526,-0.70749 -5.20089,0.35951 -2.51845,1.2762 -4.83886,4.08918 -7.32865,8.88119 -1.95669,3.76595 -2.19877,4.07134 -3.11575,3.96526 -1.44068,-0.1667 -1.4751,-1.63602 -0.10648,-4.50053 2.70249,-5.65655 6.3163,-10.10474 9.55228,-11.76259 1.1913,-0.61001 1.84583,-0.82533 3.14236,-0.84684 z m 270.00698,0.79624 c -0.16211,0.046 -0.36159,0.24713 -0.67901,0.62582 -0.71009,0.84673 -1.0106,3.02129 -0.49003,3.54182 1.06951,1.06945 2.57573,-2.51365 1.62444,-3.86405 -0.16934,-0.24061 -0.29328,-0.34954 -0.4554,-0.30359 z m -53.67858,18.72374 c 0.52111,0.17371 0.49262,0.89241 -0.5034,12.99558 -1.91676,23.29207 -6.07971,49.32015 -12.50288,78.16252 -1.80946,8.12525 -4.88695,20.98969 -6.19411,25.89794 -0.35123,1.31762 -0.45635,1.39746 -1.76038,1.34482 -0.7634,-0.0308 -1.81041,-0.1144 -2.32471,-0.1864 -0.51417,-0.072 -23.56881,-1.98059 -51.23405,-4.24221 -27.6652,-2.26161 -51.01756,-4.20832 -51.89175,-4.32476 l -1.58716,-0.21037 v -28.0044 c 0,-17.64257 0.13144,-28.08719 0.35951,-28.22809 0.19904,-0.12298 2.32192,-0.41519 4.71621,-0.64977 2.71361,-0.26587 4.54887,-0.62357 4.87335,-0.94805 0.37085,-0.37087 0.52196,-1.52909 0.52196,-4.03182 0,-3.09039 -0.0879,-3.56076 -0.72434,-3.90134 -0.39786,-0.21292 -2.75374,-0.38614 -5.23552,-0.38614 h -4.51117 v -3.12639 -3.12372 l 5.70154,-0.21572 c 3.13676,-0.11794 14.87695,-1.05974 26.08702,-2.0958 11.21005,-1.03605 26.75865,-2.47594 34.55278,-3.19829 10.64314,-0.98639 14.39786,-1.46286 15.08341,-1.91205 1.84137,-1.2061 1.97063,-2.20153 1.97063,-14.93692 0,-9.10847 0.10771,-11.84132 0.46862,-11.96498 0.70464,-0.24165 43.632,-2.88108 44.13444,-2.71364 z m 10.07154,0.0266 c 0.1118,9.7e-4 0.18598,0.0136 0.21311,0.04 0.3016,0.30178 -0.90371,13.95688 -2.54587,28.82194 -2.01303,18.22248 -2.0073,18.18645 -3.73632,19.08059 -1.32284,0.68431 -2.42902,0.6836 -4.00778,-0.003 -2.09906,-0.91233 -2.17187,-1.55524 -1.07592,-9.41912 1.37493,-9.8668 2.71235,-22.33375 3.22229,-30.03894 0.5882,-8.88928 0.3755,-8.23709 2.60437,-7.97311 1.01565,0.12026 2.63313,0.0185 3.59519,-0.22369 0.72155,-0.18213 1.39456,-0.28787 1.73093,-0.28494 z m 33.29048,30.17209 c 0.82613,0 0.0477,0.80381 -2.15973,2.23162 -2.85497,1.84633 -5.87847,4.71177 -7.54436,7.15023 -2.20064,3.22091 -5.98781,11.17033 -7.50972,15.76246 -5.78043,17.44132 -4.91517,37.02195 2.26895,51.33518 2.57001,5.12032 5.35926,8.63117 8.95037,11.26726 0.99083,0.7274 1.80291,1.47623 1.80291,1.66439 0,0.51167 -1.08968,0.39712 -3.17961,-0.33819 -6.92629,-2.43695 -12.17101,-9.4403 -14.9529,-19.96738 -1.74674,-6.60933 -2.14147,-9.82113 -2.3329,-18.99272 -0.20588,-9.85771 0.23384,-14.4047 2.10915,-21.8102 1.45251,-5.73638 2.84447,-9.14335 6.21279,-15.21121 3.56111,-6.41528 5.73585,-8.94051 9.19811,-10.68406 2.16532,-1.09047 6.06921,-2.40738 7.13694,-2.40738 z m 6.27946,0.90277 c 3.16953,0.0897 6.50007,1.56379 8.94505,4.149 1.83114,1.93622 6.01317,8.04201 6.01317,8.77999 0,0.48098 -1.16426,0.48732 -2.41811,0.0109 -2.23405,-0.84952 -8.77543,-1.91345 -11.85305,-1.92804 -2.9241,-0.0139 -3.59084,0.1148 -5.74144,1.12114 -8.92323,4.17569 -15.45316,20.37567 -14.64408,36.32902 0.6617,13.04579 5.99586,25.73478 11.95695,28.44112 1.05697,0.4797 2.42821,0.71623 4.19172,0.72169 2.37189,0.008 10.51672,-0.78013 13.5548,-1.31022 1.74074,-0.30374 1.59444,0.45644 -0.72441,3.81081 -2.3708,3.42933 -5.36716,6.16456 -8.34594,7.61624 -3.94765,1.92382 -6.32663,1.72053 -10.84381,-0.92672 -12.58128,-7.37317 -18.82216,-31.0344 -14.21254,-53.89436 1.51073,-7.49225 5.73885,-18.31491 9.06762,-23.21094 2.5336,-3.72657 6.6101,-7.06245 10.93162,-8.94778 1.27553,-0.55642 2.68168,-0.80243 4.12245,-0.76162 z m -257.576,2.43134 2.66302,0.10921 2.66302,0.10921 -0.048,9.25668 c -0.0349,6.77486 -0.17319,9.40532 -0.51396,9.81592 -0.48958,0.58992 -4.67205,0.82501 -4.97188,0.27963 -0.0848,-0.15427 -0.0727,-4.62015 0.0266,-9.92511 z m 7.8639,0.1731 c 0.10349,-0.10348 10.00956,0.24927 22.01259,0.78293 19.16339,0.85205 21.87905,1.04531 22.28954,1.58982 0.59813,0.79343 0.64844,7.80028 0.0586,8.16484 -0.22508,0.13912 -8.42882,0.49823 -18.23108,0.79626 -9.80227,0.29802 -18.19969,0.6938 -18.6625,0.88145 -0.79645,0.32294 -0.84165,0.54785 -0.8362,4.18362 0.003,2.11272 0.15448,4.07609 0.33555,4.36204 0.24789,0.39147 3.4704,0.77509 13.04617,1.55254 11.96058,0.97107 12.99004,1.00192 17.33365,0.51664 2.54011,-0.28378 5.24977,-0.52054 6.02109,-0.52463 l 1.40342,-0.008 v 14.5428 14.54279 l -1.3182,0.24767 c -2.82598,0.53016 -5.49915,4.25228 -5.49915,7.65354 0,2.66723 1.0342,5.79034 2.35679,7.11294 0.629,0.629 1.93123,1.3732 2.8947,1.65373 l 1.75228,0.50865 0.10648,3.96524 c 0.099,3.70186 0.16533,4.0126 1.02261,4.68693 0.50494,0.39719 1.67589,0.83623 2.59911,0.97467 1.64957,0.24737 2.3912,0.71255 1.76027,1.10249 -0.17601,0.10881 -8.57726,1.65063 -18.67049,3.42732 l -18.35091,3.23025 -1.43005,-0.97201 c -2.46877,-1.67755 -4.6713,-1.06033 -6.30339,1.76293 -0.28438,0.49194 -1.89766,0.9126 -6.73213,1.76027 -6.8241,1.19652 -8.28685,1.314 -9.16348,0.73233 -0.30852,-0.20475 -1.21719,-0.26665 -2.01857,-0.13849 -1.29756,0.20755 -1.43335,0.15692 -1.25429,-0.46336 0.11058,-0.38311 1.14501,-3.96613 2.30086,-7.96245 6.38487,-22.07538 10.48628,-49.52012 10.86248,-72.69532 0.0695,-4.28006 0.21075,-7.86695 0.31424,-7.97044 z m 47.01576,2.10112 h 1.46466 c 2.67039,0 2.64705,-0.0384 2.64705,4.86004 0,4.25111 -0.0293,4.41067 -0.84152,4.62834 -0.4628,0.12394 -1.38736,0.22629 -2.05585,0.22902 l -1.21434,0.008 v -4.86269 z m 5.60834,0.34087 2.71096,0.11181 2.71096,0.10921 0.10648,4.15965 c 0.10267,4.0565 0.0836,4.16579 -0.7483,4.38867 v 0.003 c -1.14764,0.30707 -4.21897,0.29757 -4.52981,-0.0136 -0.13711,-0.13713 -0.25032,-2.16301 -0.25032,-4.50318 z m 8.55896,0.12776 c 0.86317,-0.0255 2.57449,0.0333 4.40199,0.15978 l 4.42861,0.30625 v 3.36607 3.36607 l -4.69492,0.10389 c -2.58243,0.0573 -4.81291,-0.0109 -4.95589,-0.15445 -0.14296,-0.14296 -0.25832,-1.75308 -0.25832,-3.57645 0,-2.50081 0.12857,-3.36325 0.52462,-3.51519 0.0721,-0.0277 0.26619,-0.0474 0.55391,-0.0559 z m 189.41053,7.01441 c 2.15851,0.005 14.07673,3.17795 14.07673,3.74688 0,0.18146 -0.55888,0.59381 -1.24362,0.91875 -3.00972,1.42815 -6.12634,6.52598 -8.67617,14.19127 -2.21672,6.66442 -2.61063,9.3093 -2.57518,17.22979 0.03,6.44834 0.12407,7.44914 1.02533,10.8252 1.73897,6.51241 4.27843,10.70271 8.47901,13.99422 0.51416,0.40295 0.85067,0.8186 0.74841,0.92141 -0.10226,0.1028 -3.74941,0.62119 -8.10365,1.15308 -9.35477,1.14277 -10.35637,1.16008 -12.14879,0.21304 -5.3388,-2.82065 -10.02069,-14.56645 -10.65743,-26.73412 -0.53884,-10.29783 2.51629,-23.0491 6.9612,-29.05896 3.27355,-4.42604 8.15832,-7.4101 12.11416,-7.40056 z m -173.48829,2.67901 c 0.71692,-0.016 1.23805,-0.0179 1.50994,0 l 1.86944,0.12244 0.11181,1.71499 c 0.0703,1.08371 -0.0661,1.85352 -0.37283,2.08781 -0.26701,0.20401 -5.02925,0.83599 -10.58287,1.40342 -5.55359,0.56744 -12.2007,1.26866 -14.77181,1.56054 -2.57112,0.29189 -7.78957,0.78316 -11.59482,1.09184 -3.80526,0.30869 -7.44237,0.65885 -8.08229,0.77761 -0.99249,0.18419 -1.19595,0.0873 -1.39543,-0.65778 -0.34703,-1.29599 -0.28401,-4.53366 0.10117,-5.1423 0.26153,-0.4132 2.01827,-0.59551 7.94115,-0.82021 4.18303,-0.15871 9.20403,-0.46182 11.15808,-0.67374 4.55737,-0.49427 19.0899,-1.35295 24.10839,-1.46467 z m -68.61024,1.707 10.37782,0.25032 c 5.70787,0.13666 11.01549,0.3427 11.79455,0.45804 l 1.41673,0.20773 -0.10922,3.20894 c -0.0592,1.7638 -0.2763,3.2381 -0.482,3.27819 -0.54168,0.1054 -21.97593,-1.68305 -22.53187,-1.8801 -0.31504,-0.11167 -0.46603,-1.03897 -0.46603,-2.84412 z m 259.98071,0.84951 c 4.44682,-0.005 8.22663,5.78196 10.50292,16.07936 0.6245,2.82514 0.7803,4.81591 0.7803,9.72272 -0.014,8.44407 -0.9398,12.42358 -4.77742,20.38281 -2.33195,4.83638 -3.758,6.87541 -5.87997,8.4125 -0.85285,0.61781 -1.98985,1.11072 -2.5246,1.0945 -7.76782,-0.23586 -13.76232,-12.91054 -12.9876,-27.45847 0.29165,-5.47705 1.14927,-9.45405 3.66174,-17.00077 1.88868,-5.6729 1.96653,-5.82147 4.20494,-8.09826 2.4582,-2.50024 3.86898,-3.1303 7.01969,-3.13439 z m -70.89771,0.41544 c 0.0682,-0.0784 0.74009,0.15091 1.49395,0.50863 1.00079,0.47499 2.01507,0.6087 3.75486,0.49799 1.84096,-0.11726 2.38075,-0.0361 2.38075,0.35951 0,1.03956 -4.87904,29.48333 -5.25154,30.61415 -0.29028,0.88169 -0.67341,1.22971 -1.54194,1.40342 -1.39961,0.27991 -1.16727,0.30302 -3.67756,-0.37015 -3.41344,-0.91541 -3.34759,-0.27073 -1.17176,-11.42973 1.05614,-5.41597 2.36385,-12.45711 2.90542,-15.64528 0.54157,-3.18819 1.03964,-5.86014 1.10782,-5.93854 z m 66.69277,4.07175 c -0.21202,0.004 -0.34619,0.12244 -0.34619,0.3675 0,0.42668 2.10302,3.99311 2.92396,4.95856 0.68474,0.80532 1.143,0.8333 1.43015,0.0852 0.21856,-0.5695 -1.15254,-2.98176 -2.59919,-4.57241 -0.4918,-0.54078 -1.05532,-0.84581 -1.40873,-0.83887 z m -194.85635,0.28228 c 0.28374,0.003 0.46537,0.022 0.50864,0.0612 0.15563,0.14164 0.23916,12.86864 0.18642,28.28134 l -0.0959,28.02305 -3.17699,0.59386 c -5.57678,1.04371 -6.01532,1.08796 -6.15425,0.60982 -0.27915,-0.96063 -0.90176,-56.18288 -0.63646,-56.44819 0.34515,-0.34516 7.38235,-1.1393 9.36853,-1.12114 z m -13.42432,1.67505 1.68303,0.0986 0.23701,14.95822 c 0.13035,8.22756 0.34402,20.37736 0.47668,27.00043 0.22728,11.3461 0.20451,12.06281 -0.42874,12.40173 -1.20751,0.64623 -3.35801,0.9012 -3.64836,0.4314 -0.14881,-0.24064 -0.23241,-4.84315 -0.18374,-10.22602 0.0487,-5.38287 -0.0935,-17.52152 -0.3169,-26.97646 -0.31621,-13.3904 -0.30653,-17.25699 0.0453,-17.48811 0.24841,-0.16314 1.21016,-0.25331 2.13575,-0.19973 z m -58.9834,0.25032 -0.26895,3.66433 c -0.14686,2.01507 -0.59229,6.43802 -0.99066,9.8319 -0.55815,4.75511 -0.86841,6.27868 -1.35282,6.63893 -0.68412,0.50875 -4.81657,0.65108 -5.11034,0.17576 -0.0995,-0.16104 0.1384,-2.55866 0.52728,-5.32871 0.38889,-2.77004 0.92356,-7.22453 1.18771,-9.89848 l 0.47934,-4.86269 2.76423,-0.11181 z m 54.03016,0.16512 c 0.44932,-4.6e-4 0.76764,0.0413 0.84418,0.12517 0.15311,0.16778 0.36815,7.0787 0.47668,15.35769 0.21838,16.66508 0.40686,15.37492 -2.16504,14.68393 -0.61706,-0.16579 -1.58635,-0.40656 -2.15437,-0.53527 l -1.03327,-0.23434 0.0986,-14.48155 0.0986,-14.48154 2.19967,-0.30625 c 0.60516,-0.0848 1.18577,-0.12735 1.63509,-0.12776 z m 208.0969,4.7242 c -0.28442,0.0919 -0.67751,0.85528 -0.74827,1.81619 -0.13635,1.85029 0.55397,2.34308 1.97594,1.41141 1.30715,-0.85648 1.49804,-0.78205 2.25299,0.89212 0.78741,1.74597 1.74184,1.94992 2.64964,0.56455 0.68855,-1.05097 0.43644,-2.4923 -0.30624,-1.7496 -0.71909,0.71916 -1.31139,0.49983 -1.58449,-0.58854 -0.45812,-1.82517 -0.8973,-2.06671 -2.27427,-1.25429 -1.32106,0.77945 -1.66438,0.68946 -1.66438,-0.4314 0,-0.52987 -0.12953,-0.71557 -0.30092,-0.66044 z m 10.3726,2.04255 c -0.30147,0.0136 -0.60538,0.1661 -1.11314,0.46604 -0.61602,0.36388 -1.55136,1.281 -2.07725,2.03987 -3.6316,5.24043 -4.15326,21.04984 -0.82012,24.84605 1.33824,1.52421 2.24318,1.61007 3.52047,0.33288 5.11943,-5.11951 6.26501,-24.89821 1.58177,-27.32 -0.49235,-0.25456 -0.79027,-0.37851 -1.09173,-0.36484 z m -11.34721,3.60041 c -0.5233,-0.0772 -1.20299,0.33937 -1.72029,1.18772 -0.40754,0.66849 -0.74036,1.4259 -0.74036,1.68302 0,0.75389 0.89484,0.53806 1.44868,-0.34885 0.51049,-0.81734 0.5113,-0.8166 1.54727,0.45271 0.9532,1.16793 1.11545,1.23293 2.02121,0.82022 0.92893,-0.42325 0.99792,-0.38435 1.20898,0.67107 0.37605,1.88 1.25167,1.3862 1.25167,-0.70569 0,-2.33134 -0.68828,-3.03421 -2.07984,-2.12243 -1.06132,0.69542 -1.81069,0.37543 -2.23159,-0.95071 -0.13225,-0.41745 -0.39172,-0.64076 -0.70573,-0.68706 z m -1.53131,7.62159 c -0.35219,-0.004 -0.68487,0.0653 -0.93466,0.22902 -0.48049,0.31481 -0.45745,0.44171 0.16784,0.91874 0.85053,0.64887 2.30058,0.72835 2.66027,0.14647 0.38763,-0.62734 -0.83622,-1.28233 -1.89345,-1.29423 z m 3.95992,0.65777 c -0.17725,0.02 -0.34564,0.0874 -0.47135,0.21304 -0.21543,0.21508 -0.27269,0.58255 -0.12776,0.81755 0.33051,0.53464 1.38965,0.35886 1.59785,-0.2663 0.15339,-0.46062 -0.46671,-0.82425 -0.99874,-0.76429 z m -57.14057,1.12112 c 0.0682,0.01 0.16089,0.0457 0.26369,0.10922 0.24311,0.14992 0.3755,8.10795 0.3755,22.64905 v 22.41469 l -1.77619,-0.0506 c -2.68808,-0.0791 -7.58553,-0.58415 -7.80532,-0.80423 -0.10771,-0.10703 0.48417,-3.19716 1.31275,-6.86795 2.57355,-11.40031 7.52049,-35.9963 7.52049,-37.3889 0,-0.0502 0.0409,-0.0701 0.10908,-0.0612 z m 53.36976,0.67109 c -1.04128,0 -1.49395,0.16115 -1.49395,0.52994 0,0.29139 0.20902,0.61261 0.46603,0.71637 1.15431,0.46573 2.5246,0.0713 2.5246,-0.72702 0,-0.35847 -0.4674,-0.51929 -1.49668,-0.51929 z m 3.86939,0.17043 c -0.0613,-0.003 -0.11862,0.0109 -0.17043,0.0425 -0.18243,0.11276 -0.33283,0.44659 -0.33283,0.74298 0,0.54974 0.79873,0.7379 1.24363,0.29295 0.29587,-0.29593 -0.30869,-1.06201 -0.74037,-1.07854 z m -271.1654,1.5419 c 0.35715,0.0172 1.57433,0.059 2.70563,0.0933 1.56661,0.0474 2.05585,0.1995 2.05585,0.63381 0,0.31362 -0.39453,0.71964 -0.87612,0.90275 -0.48161,0.1831 -1.65658,0.4505 -2.61244,0.59386 -1.3915,0.20866 -1.78149,0.14559 -1.95999,-0.31956 -0.36467,-0.95031 -0.008,-1.93747 0.68707,-1.90407 z m 271.01624,2.40471 c -0.9528,-0.0549 -2.29431,0.0206 -3.8533,0.23435 -1.66167,0.22774 -2.32854,0.95665 -1.26762,1.38477 0.87153,0.35168 5.18705,0.24824 5.91459,-0.14114 0.39786,-0.21291 0.72169,-0.63342 0.72169,-0.93472 0,-0.30369 -0.56243,-0.48826 -1.51536,-0.54326 z m -267.58361,0.99331 c 0.53928,-0.0136 0.89663,-0.001 0.94538,0.0346 0.24315,0.18218 -1.27389,8.85265 -2.68699,15.36035 -0.99454,4.5801 -1.29479,5.44806 -2.07184,5.95719 -1.29401,0.84788 -4.87649,1.10446 -5.15828,0.37016 -0.11794,-0.30725 0.53834,-3.98912 1.45668,-8.18082 0.91834,-4.1917 1.8984,-8.88308 2.17835,-10.42575 l 0.50864,-2.80416 2.79884,-0.20507 c 0.76947,-0.0563 1.48996,-0.0934 2.02922,-0.10649 z m 268.00437,1.51527 c -0.34373,1.7e-4 -0.76804,0.047 -1.26761,0.1438 -0.85967,0.16645 -2.19519,0.31001 -2.96651,0.31956 -1.17217,0.0136 -1.40341,0.14491 -1.40341,0.80424 0,0.74473 0.15666,0.78059 2.79879,0.6471 2.03839,-0.10294 2.97782,-0.32004 3.45926,-0.80157 0.69973,-0.69991 0.41068,-1.11368 -0.62052,-1.11313 z m -69.46497,0.69771 c 0.25565,-0.0468 0.65623,0.0975 1.454,0.38614 0.88162,0.31898 2.61132,0.63835 3.84539,0.71102 2.47129,0.14552 2.83057,0.58266 2.08516,2.5432 -0.34796,0.91545 -0.55834,1.00396 -2.37012,1.00396 -1.32379,0 -2.53633,-0.2809 -3.63242,-0.84152 -2.07507,-1.0617 -2.54028,-1.78456 -1.96531,-3.04651 0.21598,-0.47393 0.32751,-0.70956 0.5833,-0.75629 z m 70.97502,3.65367 c -0.23234,0.0319 -0.48976,0.20983 -0.71637,0.55125 -0.29642,0.44648 -0.85476,0.81222 -1.24103,0.81222 -0.95757,0 -0.88244,0.54492 0.14112,1.03858 0.46276,0.2232 0.95497,0.41751 1.09459,0.43141 0.4944,0.0494 1.42728,-1.159 1.42728,-1.84814 0,-0.68411 -0.3185,-1.03843 -0.70559,-0.98532 z m -218.09934,0.2237 c 1.02793,-0.0277 2.01446,0.18761 2.48727,0.66042 2.6224,2.62241 2.70709,9.2073 0.15179,11.76259 -2.32212,2.32213 -6.36343,0.47588 -7.68817,-3.51253 -0.93342,-2.81023 0.0759,-6.35043 2.31152,-8.10891 0.63919,-0.50281 1.70964,-0.77385 2.73759,-0.80157 z m 211.97968,0.90277 c -0.09,-0.0236 -0.16621,-0.0206 -0.22102,0.0136 -0.46181,0.28538 -0.19075,1.24489 0.61778,2.18635 0.6527,0.75995 1.60113,0.84891 2.24223,0.20771 0.64451,-0.64448 0.55166,-1.06369 -0.17302,-0.78559 -0.41477,0.15913 -0.89703,-0.11098 -1.45401,-0.80956 -0.344,-0.4313 -0.74186,-0.74138 -1.01196,-0.81222 z m -65.89133,0.0825 c 0.36446,0.0136 1.05192,0.21574 1.76829,0.53261 0.95511,0.4225 2.71153,0.89037 3.90129,1.04124 2.02721,0.25711 2.15592,0.3327 2.04248,1.20369 -0.19743,1.51699 -3.69296,17.96587 -5.40316,25.42658 l -1.58462,6.91855 -2.24223,0.0746 c -2.46406,0.0837 -5.58327,-0.61822 -6.33795,-1.42739 -0.39705,-0.4257 -0.16048,-1.81393 1.33142,-7.81066 0.99793,-4.01094 2.75558,-11.41545 3.90676,-16.45484 1.15117,-5.03938 2.21945,-9.29221 2.37271,-9.45108 0.0382,-0.0397 0.12407,-0.0578 0.24501,-0.0533 z m -146.3946,1.73096 c -2.49876,-0.0583 -3.57248,4.27548 -1.34217,6.50579 1.10295,1.10296 1.57779,1.11692 2.68167,0.0799 1.53236,-1.43958 0.94926,-6.06965 -0.82021,-6.51376 -0.17871,-0.0449 -0.3527,-0.068 -0.51929,-0.0719 z m 7.23011,0.66843 c 0.50209,0 1.01804,0.16715 1.14511,0.37283 0.13485,0.21819 -0.24597,0.37548 -0.91341,0.37548 -0.6292,0 -1.14511,-0.16979 -1.14511,-0.37548 0,-0.20568 0.41133,-0.37283 0.91341,-0.37283 z m 213.01562,0.5832 c -0.30024,-0.0249 -0.60484,0.20932 -0.69783,0.72434 -0.2082,1.15452 -0.65351,1.42029 -1.56581,0.93207 -0.96533,-0.51669 -1.46695,-0.0326 -1.48059,1.41673 -0.0136,1.2029 -1.00433,1.45086 -2.01589,0.50065 -1.31793,-1.23811 -1.98671,0.13526 -0.73777,1.51525 0.71105,0.7856 2.83697,0.92254 3.40867,0.21837 0.20875,-0.25711 0.4404,-0.79465 0.51403,-1.19303 0.0818,-0.44344 0.58725,-0.84268 1.30225,-1.02794 1.45291,-0.37649 2.10261,-1.12801 1.9439,-2.24758 -0.075,-0.52904 -0.37073,-0.81383 -0.67096,-0.83886 z m -220.33361,0.61783 c 0.45298,0.0873 0.60983,0.53862 0.60983,1.76292 0,1.89543 -0.60518,2.35778 -1.24629,0.9507 -0.56629,-1.24286 -0.18451,-2.87172 0.63646,-2.71362 z m 8.08762,0.59118 c 0.82432,-0.12257 1.21887,1.12076 0.71635,2.25559 -0.15276,0.345 -0.2912,0.7956 -0.30891,1.00129 -0.0439,0.50854 -1.715,0.71613 -1.715,0.21305 0,-0.22 0.29515,-0.41245 0.65511,-0.42609 0.50144,-0.0181 0.45563,-0.10308 -0.18907,-0.36216 -0.56584,-0.22744 -0.84152,-0.65219 -0.84152,-1.2969 0,-0.95572 0.26549,-1.17392 1.68304,-1.38478 z m -0.93473,4.98785 c 0.16947,0 0.34013,0.0254 0.46869,0.0772 0.25711,0.10376 0.0455,0.18907 -0.46869,0.18907 -0.51425,0 -0.72314,-0.0854 -0.46603,-0.18907 0.12857,-0.0518 0.29656,-0.0772 0.46603,-0.0772 z m 1.21701,4.149 c 0.0656,-0.008 0.11289,-0.001 0.13847,0.024 0.10212,0.10212 0.21945,2.09824 0.25831,4.43393 l 0.0693,4.24488 -1.30755,0.0639 c -1.35338,0.066 -3.29326,-0.30265 -4.05313,-0.77229 -0.27113,-0.16757 -0.43408,-1.38141 -0.43406,-3.22492 -2e-5,-3.25155 0.321,-3.7309 2.50856,-3.7309 0.58484,0 1.4496,-0.26967 1.92004,-0.59918 0.35284,-0.24709 0.70321,-0.4147 0.90011,-0.4394 z m -63.02054,3.0758 c 0.32881,0.26703 -5.23258,19.05156 -5.86666,19.81559 -0.21999,0.26507 -1.3529,0.6744 -2.51655,0.90809 -3.11386,0.62535 -3.99698,0.57079 -3.68297,-0.22903 0.42564,-1.08419 4.20835,-13.89834 5.06507,-17.15788 l 0.79892,-3.03852 3.05714,-0.18641 c 1.6813,-0.10185 3.0958,-0.15179 3.14505,-0.1118 z m 82.72693,6.56703 53.7399,4.47654 c 29.55694,2.46112 53.88206,4.61337 54.05413,4.78547 0.43877,0.43872 -1.25316,6.11317 -1.93599,6.49246 -0.30855,0.17139 -22.61479,5.1953 -49.56696,11.16341 -38.40894,8.50498 -49.52773,10.84113 -51.42305,10.80922 -2.63704,-0.0444 -132.95539,-14.07683 -133.8704,-14.41497 -0.44972,-0.16617 -0.41321,-0.27246 0.18642,-0.5326 0.69633,-0.30209 37.91313,-6.88558 40.39014,-7.1449 1.04684,-0.10962 1.12915,-0.0259 1.23564,1.25161 l 0.11453,1.36881 -5.16361,1.20635 c -5.64088,1.31864 -6.47115,1.62428 -6.47115,2.3834 0,0.60605 0.97502,0.78922 7.10496,1.33153 9.40182,0.83175 11.90855,1.09369 39.82823,4.15431 18.83279,2.0645 29.55838,3.0878 31.78856,3.03053 1.85122,-0.0476 8.37888,0.44253 14.50551,1.08917 l 11.13944,1.1744 9.03565,-2.56982 c 4.96959,-1.41385 9.3829,-2.86512 9.80527,-3.22493 0.742,-0.63219 0.743,-0.67152 0.0772,-1.1877 -0.37896,-0.29379 -1.38708,-0.6418 -2.24226,-0.77229 -3.68569,-0.56209 -16.10665,-2.85974 -16.38295,-3.03051 -0.16662,-0.10295 -0.19915,-1.18226 -0.0719,-2.3994 0.39621,-3.79073 -1.39006,-5.13892 -5.24883,-3.96258 -2.48068,0.75623 -11.92365,0.43308 -13.32312,-0.45537 -0.51422,-0.32646 -1.60082,-0.68391 -2.41537,-0.79626 -1.33353,-0.1839 -1.51048,-0.33667 -1.75759,-1.51526 -0.15108,-0.71991 -0.17169,-3.13294 -0.048,-5.36333 0.20253,-3.64783 0.30291,-4.08784 1.00662,-4.38334 0.43027,-0.18068 4.18609,-0.92131 8.34594,-1.64575 z m -18.90216,2.35411 c 0.27404,0.0919 0.41395,2.17011 0.42076,6.27676 0.007,3.37629 0.0924,6.38898 0.18907,6.69751 0.13512,0.43107 -0.21409,0.5884 -1.50727,0.67907 l -1.68304,0.11985 0.84152,-0.78825 c 0.66371,-0.62074 0.84016,-1.1978 0.84152,-2.73493 0.004,-4.71067 0.50068,-10.38307 0.89744,-10.25 z m -2.49792,1.84015 c 0.32798,0.26074 0.42904,1.70392 0.35419,5.09438 l -0.10649,4.73219 -1.09983,0.0586 c -1.48251,0.081 -33.62941,-3.08208 -34.42496,-3.38736 -0.34539,-0.13253 -0.52488,-0.34593 -0.39944,-0.47137 0.51866,-0.51866 35.22942,-6.38195 35.67657,-6.02643 z m -41.05322,4.4153 c 1.17461,0.0146 1.99481,0.61589 3.37671,2.47662 l 1.06787,1.43804 6.8573,0.79624 c 6.08623,0.70581 6.8728,1.00267 1.61912,0.6125 -15.43264,-1.14617 -14.75558,-0.99381 -14.76649,-3.29683 -0.007,-1.39313 0.58402,-2.04225 1.84549,-2.02657 z m 185.23746,1.74163 c 0.34277,5.4e-4 0.79599,0.0226 1.3981,0.0533 1.33702,0.068 2.57409,0.26078 2.74835,0.42874 0.17438,0.16797 -0.87044,0.57584 -2.31954,0.90543 -3.31555,0.75408 -3.11676,0.78288 -2.97727,-0.42874 0.0873,-0.76428 0.12271,-0.96035 1.15036,-0.95869 z m -13.36569,2.79084 c 0.0695,-0.0714 1.02042,0.20264 2.11447,0.60984 1.09405,0.4072 3.0419,0.86199 4.32738,1.00928 1.28562,0.14731 2.33821,0.44998 2.33821,0.67375 0,1.10189 -6.30795,24.72121 -9.38462,35.14131 -0.41,1.38841 -0.88135,2.52455 -1.04647,2.52455 -0.16511,0 -0.59324,-0.32631 -0.95347,-0.72435 -0.94775,-1.04721 -3.69391,-2.24552 -5.52042,-2.41004 -0.86785,-0.0781 -1.63739,-0.31945 -1.70965,-0.53793 -0.0723,-0.21851 1.21239,-5.1626 2.85742,-10.98498 1.64503,-5.82238 3.85944,-13.86864 4.92131,-17.87957 1.06187,-4.01095 1.9863,-7.35041 2.05584,-7.42186 z m -192.78187,0.83353 c 0.59794,0.0664 1.36227,0.51098 2.36476,1.34216 0.99943,0.82865 1.94831,1.50728 2.10913,1.50728 0.1608,0 13.6831,1.18083 30.04959,2.62308 l 29.75667,2.62043 3.17433,-1.31289 c 4.77552,-1.97682 6.58035,-1.79843 6.58035,0.64712 0,2.89236 -2.02472,4.81129 -6.35932,6.03176 -2.29759,0.64695 -5.86733,0.98306 -7.85326,0.74032 -0.71991,-0.0879 -13.42647,-1.42462 -28.23609,-2.97194 -29.39367,-3.07109 -28.6576,-2.93747 -31.33584,-5.68023 -1.6675,-1.70762 -2.24576,-3.35598 -1.61912,-4.61769 0.33878,-0.68214 0.77086,-0.99585 1.3688,-0.9294 z m 86.28209,2.91867 c 0.88063,0.10131 1.04406,0.30771 1.13978,1.44603 0.21373,2.54305 -2.24473,4.5324 -7.63225,6.1729 -1.82796,0.5566 -3.53504,1.09275 -3.79215,1.19037 -0.5956,0.22623 -0.58273,-0.0552 0.0986,-2.30085 0.30632,-1.00972 0.55658,-2.29898 0.55658,-2.86542 0,-0.98495 0.18724,-1.0873 4.30078,-2.39406 2.36564,-0.75149 4.7633,-1.314 5.32873,-1.24897 z m 101.93802,1.18772 c 0.80772,-0.0485 0.62583,0.21017 0.62583,0.57255 0,1.18998 -5.57727,21.26517 -10.71333,38.56064 -3.59342,12.10043 -10.66533,34.94295 -11.02761,35.62065 -0.19197,0.35928 -1.05805,1.01155 -1.92535,1.45135 -0.86731,0.4398 -3.27901,1.95667 -5.35803,3.36874 -2.07914,1.41207 -3.86754,2.56715 -3.97593,2.56715 -0.33097,0 -0.68392,-22.75061 -0.76696,-49.54562 l -0.0772,-25.42659 15.52008,-3.43796 c 12.25923,-2.71653 16.35237,-3.64993 17.69852,-3.73091 z M 163.093,280.75178 c 0.36912,0.0255 0.60409,0.16668 0.90543,0.43939 0.38012,0.34401 0.68972,0.7689 0.68972,0.94272 0,0.17375 -0.3787,0.28475 -0.84151,0.24766 -0.46278,-0.0371 -1.64073,-0.13062 -2.61776,-0.20772 -0.97702,-0.077 -1.77624,-0.26966 -1.77624,-0.42875 0,-0.1591 0.86833,-0.49037 1.92803,-0.73499 0.84006,-0.19391 1.34321,-0.28379 1.71233,-0.25831 z m -50.60284,4.21556 c 4.34131,0.20788 23.74867,2.21187 70.16544,7.22214 38.89067,4.19789 70.90764,7.75359 71.15076,7.90386 0.42112,0.26026 0.94067,51.93284 1.43538,143.16701 l 0.13848,25.61833 -1.49663,0.0586 c -0.82276,0.0334 -2.50475,-0.18346 -3.73888,-0.482 -1.23413,-0.29856 -31.94925,-7.20115 -68.2534,-15.33904 -36.30415,-8.13785 -66.20637,-14.98865 -66.45052,-15.22453 -0.32447,-0.3135 -0.7001,-10.84417 -1.39542,-39.13584 -0.52322,-21.28884 -1.11788,-44.25984 -1.32353,-51.04757 -1.14873,-37.91137 -1.61724,-62.3114 -1.20369,-62.72495 0.0401,-0.0401 0.35182,-0.0457 0.97201,-0.016 z m 139.1485,0.34354 8.22875,0.66576 c 4.52517,0.36623 8.47196,0.7982 8.76936,0.96134 0.58042,0.3184 -0.91415,0.81672 -9.48837,3.16369 -2.65761,0.72744 -4.84366,1.29992 -4.86002,1.27292 -0.03,-0.0495 -15.65516,-1.72984 -16.64126,-1.78956 -1.1118,-0.0674 0.0563,-0.46111 6.91587,-2.33813 z m 67.14291,1.13178 c 0.35135,0.373 1.26977,74.60557 0.93473,75.55275 -0.13089,0.3698 -1.36556,1.59831 -2.74292,2.72961 -4.06412,3.33799 -10.05045,9.29967 -12.76389,12.71328 -6.353,7.99229 -11.92619,17.77361 -17.04871,29.91911 -6.11039,14.48773 -6.82797,31.20858 -1.98662,46.32337 0.61707,1.92648 0.9811,3.63742 0.80956,3.8028 -0.17158,0.16541 -6.268,2.68011 -13.54682,5.58703 -7.27882,2.90691 -13.70819,5.38073 -14.28713,5.49649 -0.88679,0.17735 -1.07966,0.0716 -1.23299,-0.67374 -0.10008,-0.48655 -0.27925,-17.21069 -0.39678,-37.16255 -0.11754,-19.95185 -0.39484,-57.37373 -0.61783,-83.16102 -0.33869,-39.16703 -0.32402,-46.9628 0.0959,-47.34595 0.67674,-0.61751 62.41749,-14.16978 62.78354,-13.78118 z m 31.46627,25.81272 c 1.04333,0.0664 2.18251,0.28641 2.83888,0.62582 1.30157,0.67313 2.62632,2.2143 2.92396,3.40069 0.20084,0.80016 -3.89652,14.2979 -7.77341,25.60501 v 0.003 c -1.08873,3.17539 -2.14842,5.81496 -2.35403,5.86664 -0.20575,0.0517 -0.96316,-0.24477 -1.68307,-0.65777 -1.07305,-0.61563 -1.79814,-0.72214 -4.02115,-0.59386 -1.49122,0.086 -2.70839,0.0541 -2.70839,-0.0693 6.8e-4,-0.12339 0.59815,-2.15907 1.32897,-4.52448 0.73096,-2.36543 3.01068,-9.85213 5.06502,-16.63859 2.05434,-6.78651 3.9043,-12.50904 4.11168,-12.71596 0.28033,-0.27979 1.22835,-0.36731 2.27154,-0.30093 z m 117.24775,23.89269 c 0.9108,-0.0181 -0.01,0.68753 -0.9159,0.7057 -60.71114,4.61059 -92.24547,27.96052 -110.62232,43.418 -0.69769,0.58583 -1.137,0.0638 -0.43931,-0.52196 18.4348,-15.50626 51.0655,-40.2911 111.92973,-43.59908 0.016,-0.001 0.032,-0.003 0.048,-0.003 z m -361.64702,4.45524 2.0026,0.088 c 1.10075,0.0483 2.13834,0.22363 2.30617,0.39146 0.16783,0.16785 0.47439,6.06003 0.68174,13.09412 l 0.37815,12.79052 -4.88133,16.17522 c -2.68448,8.89651 -5.22361,17.2278 -5.64295,18.51336 -0.63579,1.94915 -0.89759,2.3277 -1.57385,2.29021 -2.01144,-0.11167 -11.58025,-1.78566 -11.87178,-2.07717 -0.1842,-0.18423 3.77526,-13.53272 9.13685,-30.79523 z m 234.75913,7.38458 c 0.23561,-0.0149 0.45335,-0.0123 0.63919,0.0136 2.01699,0.27054 3.70346,1.56263 3.68301,2.81749 -0.0136,0.55162 -0.21829,1.45231 -0.46603,2.00259 l -0.45009,1.0013 -1.30225,-1.09983 c -1.60276,-1.35419 -3.43908,-1.89295 -5.38461,-1.58183 -1.30048,0.20786 -1.44937,0.15795 -1.2304,-0.41278 0.1373,-0.35711 0.25034,-0.8142 0.25034,-1.01461 0,-0.62875 2.61172,-1.62124 4.26084,-1.72564 z m -2.46325,5.14764 c 1.00788,-0.0136 2.03798,0.17816 2.61241,0.58053 0.4599,0.32211 1.15295,1.21079 1.54195,1.9733 l 0.70832,1.38478 -3.07585,8.56961 c -1.69084,4.71344 -3.22965,8.61019 -3.4219,8.65751 -0.19225,0.0472 -1.19249,-0.22322 -2.22095,-0.60184 -1.02847,-0.37861 -2.4897,-0.70294 -3.24888,-0.71902 -0.75918,-0.016 -1.47009,-0.17237 -1.57931,-0.34886 -0.38204,-0.61844 5.38625,-18.15422 6.19956,-18.84624 0.48976,-0.4167 1.47678,-0.63618 2.48465,-0.64977 z m 121.39944,1.58183 c 3.2977,-0.045 6.9715,1.55068 9.7627,5.4672 2.791,3.91651 4.7186,10.11599 4.7322,19.35488 0.015,10.95893 -2.2255,18.44289 -5.2888,23.23757 -3.0633,4.79467 -6.9608,6.90526 -10.2181,6.96116 -3.2363,0.0555 -7.99497,-1.78857 -11.99961,-5.68823 -4.00452,-3.89966 -7.19108,-9.90909 -6.98506,-18.1219 0.25251,-10.0707 3.83026,-17.83743 8.02906,-23.09377 2.09934,-2.62818 4.35179,-4.62973 6.43913,-5.99181 2.08738,-1.36208 3.98968,-2.10412 5.52848,-2.1251 z m 0.019,1.36347 c -1.0866,0.0149 -2.8512,0.62868 -4.8015,1.9014 -1.95044,1.27273 -4.10664,3.18415 -6.11966,5.70421 -4.02606,5.04011 -7.48586,12.51019 -7.73074,22.27622 -0.19675,7.84618 2.81025,13.44388 6.57506,17.10994 3.76427,3.66606 8.35284,5.34791 11.02214,5.3021 2.6813,-0.046 6.2158,-1.82734 9.0944,-6.33269 2.8784,-4.50534 5.088,-11.73062 5.073,-22.50257 -0.012,-9.04946 -1.9117,-14.96111 -4.4792,-18.56396 -2.5676,-3.60286 -5.7823,-4.93354 -8.6335,-4.89465 z m 1.1157,19.09125 c 0.3589,-0.007 0.661,0.26557 0.6924,0.62313 0.6412,6.3051 0.2281,10.50477 -0.735,13.11808 -0.4815,1.30666 -1.1042,2.22966 -1.8747,2.78286 -0.7707,0.55321 -1.7132,0.67567 -2.5325,0.37548 -1.6389,-0.60033 -2.81137,-2.52652 -3.27291,-5.15029 -0.46167,-2.62376 -0.16634,-6.01482 1.44869,-9.72537 0.19022,1.08241 -0.8928,5.9469 -0.1039,9.48836 0.40962,2.32769 1.51932,3.785 2.39672,4.10639 0.4388,0.1607 0.8138,0.12803 1.2702,-0.19972 0.4569,-0.32779 0.9704,-1.00989 1.3902,-2.14907 1.4258,-4.06072 2.0605,-4.7026 1.3208,-13.26985 z m -136.31501,0.39678 c 1.34019,0 1.39432,0.41211 0.42608,3.16367 l -0.65245,1.85348 -3.52583,1.01461 c -9.06199,2.6102 -15.57056,6.58142 -19.25636,11.74661 -2.03329,2.84939 -4.04322,7.13622 -4.60704,9.82125 -1.92031,9.1449 2.83029,17.93183 12.39106,22.91268 3.27072,1.70397 3.46397,2.13833 2.05054,4.62036 -0.45939,0.80675 -1.01604,1.52752 -1.2383,1.60047 -0.22226,0.0729 -1.8207,-0.57661 -3.55248,-1.44336 -2.4871,-1.24468 -3.86625,-2.28662 -6.56438,-4.96387 -3.77663,-3.7474 -6.20374,-7.20714 -7.08364,-10.09554 -0.92197,-3.02651 -1.08215,-8.11134 -0.38348,-12.1807 0.66685,-3.88416 2.71617,-8.68119 5.38997,-12.6121 3.46624,-5.09586 10.82383,-10.83113 16.89424,-13.16866 2.95875,-1.13933 7.79523,-2.2689 9.71207,-2.2689 z m 4.84936,0.0665 c 0.33854,-0.0247 0.75427,0.004 1.28098,0.0665 1.01169,0.11984 1.90613,0.28369 1.98657,0.36482 0.0818,0.0811 -0.14371,1.09617 -0.50067,2.25559 -0.69918,2.27067 -0.84685,2.3463 -3.41126,1.73895 -1.62048,-0.38377 -1.61476,-0.37226 -1.14777,-2.08248 0.4644,-1.70057 0.77636,-2.26958 1.79215,-2.34346 z m -218.13122,0.42607 c 0.34381,0.001 0.45566,1.74025 0.47668,5.4086 0.0254,4.42868 -0.0158,4.67616 -1.14777,6.91855 -2.01461,3.99093 -3.07389,8.0193 -4.61769,17.568 -0.12476,0.77132 -0.34504,1.39562 -0.48999,1.38744 -0.49314,-0.0263 -3.06782,-2.41569 -3.06781,-2.84678 2e-5,-0.37009 3.85647,-13.32283 7.555,-25.37599 0.61736,-2.01189 1.02416,-3.06091 1.29158,-3.05982 z m 223.36408,0.26097 c 2.0028,0.0123 8.01938,3.85889 11.94099,7.6349 6.32105,6.0863 9.79231,14.10938 9.77595,22.59314 -0.0136,6.6915 -3.01613,13.32933 -8.39911,18.57194 -3.22366,3.13957 -7.20322,5.48613 -12.10612,7.13691 -4.8669,1.63859 -5.9904,1.84867 -6.25014,1.17174 -0.11317,-0.29654 -0.15653,-1.5065 -0.0933,-2.68966 l 0.11454,-2.15172 3.92529,-1.38211 c 9.01663,-3.17049 12.74885,-6.50509 16.02077,-14.32177 0.89471,-2.13733 0.98088,-2.76998 0.94271,-7.02506 -0.0477,-5.3711 -0.85722,-8.52242 -3.32346,-12.96363 -2.11488,-3.8083 -6.69573,-8.22047 -10.49763,-10.1115 -1.66575,-0.82852 -3.23252,-1.57549 -3.48326,-1.65907 -0.70846,-0.23613 0.65529,-4.80956 1.43274,-4.80411 z m -5.3793,6.72682 c 1.02628,0 1.3906,0.18771 1.6378,0.8415 0.17466,0.46281 0.2457,0.96687 0.15434,1.12114 -0.29451,0.50004 -2.40475,0.0489 -2.82811,-0.6045 -0.5976,-0.92269 -0.26424,-1.35814 1.03597,-1.35814 z m -4.92661,0.39945 c 0.80608,-0.0209 1.0519,0.14315 1.31014,0.62581 0.51744,0.96704 0.22647,1.21818 -1.41401,1.22499 -3.37685,0.0139 -9.51416,2.25757 -13.37106,4.88933 -2.68986,1.8354 -6.37094,5.47213 -8.09027,7.9944 -0.83674,1.22752 -2.00433,3.33002 -2.59646,4.67361 l -1.07852,2.44466 0.20771,-1.78955 c 0.29657,-2.58227 2.20149,-6.88211 4.04514,-9.1262 0.87598,-1.06626 2.66228,-2.7955 3.96791,-3.84275 3.91046,-3.13654 11.76032,-6.57772 16.0048,-7.01707 0.41442,-0.0429 0.74592,-0.0702 1.01462,-0.0772 z m 9.33662,0.51396 c 0.53816,-0.0676 2.84651,1.13996 4.93985,2.63374 2.56946,1.83348 4.57703,3.98325 6.04781,6.47382 0.52166,0.88345 0.88584,1.64124 0.80949,1.68568 -0.0764,0.0444 -1.48618,-1.27236 -3.13176,-2.92932 -2.06456,-2.07892 -3.8158,-3.44229 -5.65622,-4.39665 -2.44838,-1.26963 -3.10189,-1.97035 -3.12643,-3.35808 -10e-4,-0.0646 0.0409,-0.0995 0.11726,-0.10921 z m 26.39855,19.58125 c 0.11412,-0.005 0.22797,0.0188 0.33023,0.0693 2.81884,1.32537 5.52901,2.9385 7.57898,6.25545 2.04998,3.31694 3.43963,8.26711 3.89067,16.27642 0.40331,7.16438 -1.0117,13.90065 -3.42463,19.34157 -2.41307,5.44093 -5.81207,9.60249 -9.51498,11.57884 -1.85159,0.98819 -3.7944,1.42371 -5.69098,1.13445 -1.89659,-0.28925 -3.71601,-1.30459 -5.30199,-3.08112 -3.17225,-3.55308 -5.5106,-10.1032 -6.38868,-20.53727 -0.10717,-0.93106 0.55412,-0.0123 0.60456,0.92407 0.86485,10.27732 3.96838,15.53191 6.80126,18.7051 1.41651,1.5866 2.93051,2.40391 4.48991,2.64173 1.5594,0.23783 3.1942,-0.10731 4.844,-0.98799 3.30042,-1.7613 6.58692,-5.68957 8.91055,-10.92906 2.32363,-5.2395 3.69814,-11.77547 3.30751,-18.71309 -0.44395,-7.88328 -1.81356,-12.60388 -3.68833,-15.6373 -1.87477,-3.03342 -3.40731,-4.73203 -6.14897,-6.02111 -0.65351,-0.29569 -1.31534,-0.98748 -0.59911,-1.01993 z m -265.45324,1.97063 c 0.61539,0.0232 1.57377,0.14968 2.86008,0.34087 2.82292,0.41961 3.29278,0.61983 5.51514,2.33547 2.14126,1.65303 2.42868,2.02566 2.42868,3.13971 0,0.78068 -0.17734,1.24936 -0.46603,1.22765 -0.25711,-0.0192 -3.06271,-1.5759 -6.23415,-3.45926 -4.71267,-2.79866 -5.94989,-3.6541 -4.10372,-3.58444 z m 262.33744,16.49746 c 0.66469,-0.0584 1.3501,0.16794 1.90681,0.64178 0.55657,0.47385 1.00201,1.17036 1.35011,2.09581 0.69578,1.85088 1.02151,4.54829 0.30896,8.68147 -0.27624,-4.05822 -0.36705,-5.1803 -1.58449,-8.19946 -0.29151,-0.77509 -0.6396,-1.27028 -0.95879,-1.54189 -0.31905,-0.27158 -0.59052,-0.34698 -0.90275,-0.31957 -2.66736,-0.27579 -3.78213,3.70633 -4.2449,6.34066 -0.01,0.91222 -0.62215,1.64714 -0.60715,0.73501 0.0348,-2.27817 0.59556,-4.27873 1.43546,-5.77079 0.8399,-1.49206 1.96749,-2.54645 3.29674,-2.66302 z m 84.03188,4.35405 c 0.76763,-0.0147 -0.91803,0.77139 -1.6378,1.03858 -12.07816,6.07902 -24.88456,10.94228 -37.70049,15.79175 -0.85626,0.35195 0.14616,-0.38256 1.01469,-0.70305 l 38.07599,-16.07668 c 0.0787,-0.0322 0.16307,-0.0494 0.24761,-0.0506 z m -10.13549,0.7563 c 0.76272,-0.005 0.67505,0.20554 -0.04,0.47135 -6.63642,3.71336 -13.06886,6.19959 -19.45604,8.41783 -0.86403,0.3601 0.2322,-0.49263 1.11573,-0.80157 l 18.13265,-8.03968 c 0.0788,-0.0312 0.16307,-0.0475 0.24761,-0.0479 z"; -const shrug = - "m 159.48843,60.874613 c -0.30352,-0.002 -0.48225,0.0525 -0.61592,0.163448 -0.5795,0.480937 -0.17967,0.920146 2.48781,2.735562 5.73849,3.905466 11.25954,10.761049 12.72466,15.800879 0.20279,0.69761 0.42697,1.46235 0.49894,1.69983 0.072,0.23748 -0.10948,-0.004 -0.40259,-0.53507 -0.76251,-1.38282 -3.13081,-4.22261 -4.36314,-5.23198 -2.12605,-1.74138 -4.33873,-2.61517 -8.1998,-3.23965 -1.90418,-0.30798 -2.41888,-0.30549 -4.49906,0.0292 -1.29185,0.20788 -3.00525,0.59648 -3.80742,0.86368 -3.18563,1.0612 -6.89632,3.55605 -10.09576,6.78557 -2.477,2.50029 -2.47285,3.40782 0.0137,2.81471 0.62343,-0.14871 2.33017,-0.27684 3.79194,-0.28389 3.86781,-0.0181 6.17924,0.86976 9.71038,3.72656 2.75944,2.23246 6.70289,7.96661 8.45444,12.29454 2.10794,5.208608 3.08813,12.309388 1.91832,13.889428 -0.22008,0.29726 -2.02598,0.47707 -9.57274,0.95486 -5.11618,0.32391 -11.04234,0.65599 -13.16854,0.73809 -5.75914,0.22239 -19.58726,1.29218 -21.85696,1.69123 -2.49994,0.43953 -3.95978,1.38923 -4.8397,3.14847 -0.57548,1.15055 -0.59844,1.37026 -0.54023,5.06854 0.0335,2.12621 0.16876,11.74775 0.30108,21.38211 0.13233,9.63437 0.35397,22.138 0.49206,27.78572 0.26338,10.77214 0.11612,18.92343 -0.34925,19.3055 -0.39421,0.32365 -4.64784,1.76806 -8.22734,2.79405 -3.51963,1.00885 -4.03578,0.9948 -5.45564,-0.14623 -1.61126,-1.29483 -9.045437,-9.83716 -11.009345,-12.65068 -5.590327,-8.00877 -15.643259,-20.50865 -24.965867,-31.04088 -15.66131,-17.69339 -23.516938,-25.42744 -26.724196,-26.313 -0.602852,-0.16646 -1.475604,-0.12297 -3.076217,0.15312 -2.742953,0.47313 -2.210998,0.47561 -9.361124,-0.0654 -3.255752,-0.24633 -6.225037,-0.44317 -6.599757,-0.437 -0.54784,0.009 -1.423395,0.74029 -4.469803,3.73343 -2.083707,2.04729 -6.915266,6.78636 -10.7357876,10.53278 C 3.1250513,142.76856 0,146.01565 0,146.23782 c 0,0.55235 4.0956757,9.71992 4.5420643,10.16632 0.197098,0.19712 0.5870615,0.30207 0.8671213,0.23398 0.2799012,-0.0681 3.867933,-0.67521 7.9726994,-1.34886 l 7.463436,-1.22497 0.992716,-0.88605 c 0.546307,-0.48761 4.038501,-3.73361 7.75936,-7.21397 12.464207,-11.65858 11.838357,-10.979 11.380966,-12.37197 -0.328032,-0.99901 0.401743,-0.5824 2.553191,1.45725 3.608915,3.42138 11.709481,12.47013 18.613859,20.79199 7.848608,9.45994 17.90462,22.24232 20.845321,26.49709 1.699149,2.45843 4.829049,6.80684 6.955895,9.66393 7.363018,9.89108 10.529281,13.19438 13.232211,13.80168 1.52732,0.34317 4.81297,-0.33827 10.01663,-2.07662 2.52486,-0.84346 4.68576,-1.44234 4.80185,-1.33165 0.11609,0.11069 0.34824,5.2199 0.51614,11.35345 l 0.30625,11.15213 0.88088,1.78242 c 0.89599,1.81291 2.02674,2.9819 3.71968,3.84183 1.37271,0.69727 4.47137,0.85254 21.91029,1.09938 9.30215,0.13167 21.47839,0.34936 27.05968,0.48518 5.58129,0.13583 15.3474,0.31321 21.70212,0.39399 l 11.55474,0.14796 0.24603,0.63486 c 0.3505,0.90597 -0.0173,1.77066 -0.84648,1.99231 -0.37778,0.101 -2.00779,0.07 -3.62333,-0.0688 -1.61553,-0.13883 -6.54918,-0.26821 -10.96289,-0.28732 -7.41164,-0.0321 -8.05757,-0.002 -8.45615,0.39743 -0.36407,0.36432 -0.4281,0.83749 -0.40775,3.02116 0.029,3.10485 0.4179,5.31095 1.04605,5.93909 0.59441,0.59443 2.56778,0.75759 13.66748,1.12692 4.65107,0.15475 8.52533,0.32371 8.60928,0.37506 0.25822,0.15796 0.42846,2.616 1.17852,17.13425 0.3982,7.70749 0.78692,14.42263 0.8654,14.92344 0.13415,0.8557 0.0636,0.98829 -1.17165,2.20393 -1.55917,1.53446 -2.39591,3.12916 -2.38974,4.5541 0.007,1.69974 0.89856,4.09753 2.0921,5.63457 1.07804,1.38829 1.28138,1.88918 0.87229,2.142 -0.1171,0.0724 -5.96056,1.49833 -12.98618,3.1674 -7.02561,1.66907 -17.99369,4.2743 -24.3723,5.78941 -6.37861,1.51513 -16.21545,3.85113 -21.8604,5.19241 -5.64495,1.34124 -11.02777,2.53901 -11.96077,2.66157 -6.51659,0.85612 -7.88751,1.06023 -9.81704,1.45553 -3.24272,0.66437 -4.16271,1.19108 -4.9739,2.84911 -0.51025,1.0429 -0.66248,1.68928 -0.63658,2.70116 0.0188,0.7316 0.36997,20.73669 0.77938,44.45717 0.4094,23.72047 0.81087,44.4873 0.89293,46.1484 0.0821,1.66109 0.0271,4.51634 -0.12215,6.3434 -0.25882,3.16824 -0.24816,3.3662 0.2271,4.29776 0.59158,1.15961 2.08631,2.70948 3.13815,3.25343 0.4142,0.21416 6.31834,1.40846 13.12036,2.65298 45.6104,8.34487 107.33799,19.75262 107.44046,19.85604 0.26542,0.2678 1.77908,-0.16892 2.50501,-0.7226 1.22184,-0.93196 38.76845,-19.06557 39.07896,-18.87365 0.15376,0.095 0.65538,0.98434 1.11314,1.97511 1.09882,2.37823 2.89392,5.39656 4.27884,7.1916 2.01186,2.60765 5.08541,4.74747 8.53701,5.94425 2.77092,0.96076 10.63718,2.83956 13.46963,3.2173 4.08749,0.54511 9.40004,0.84555 10.51385,0.59528 0.51445,-0.11556 2.9979,-1.13135 5.51758,-2.25727 2.51965,-1.12594 7.9339,-3.45233 12.03303,-5.17004 4.44285,-1.86175 9.64913,-4.26556 12.88982,-5.95285 6.50961,-3.38928 7.22726,-3.8148 11.92808,-7.07805 4.99721,-3.46897 11.26595,-7.63526 16.40821,-10.90439 4.78031,-3.03905 4.91978,-3.18282 7.87979,-8.16884 2.98969,-5.03599 6.50029,-12.85681 8.49056,-18.9115 0.83248,-2.53243 2.19686,-8.14852 3.39623,-13.98577 0.67843,-3.30183 1.59899,-10.43468 1.92522,-14.91655 0.24164,-3.31964 0.22368,-4.53241 -0.11872,-8.21357 -0.92927,-9.99047 -2.92444,-17.92931 -6.18684,-24.61661 -2.1939,-4.49707 -5.64305,-8.55094 -8.3254,-9.78436 -0.53155,-0.24442 -2.21634,-0.6271 -3.74376,-0.84992 -1.52741,-0.22281 -2.95185,-0.49726 -3.16396,-0.61077 -0.61046,-0.32671 -0.74927,-10.73684 -0.47141,-35.38509 0.63863,-56.64821 0.74843,-64.84696 0.87744,-66.11111 0.13052,-1.27881 0.24441,-1.47508 1.96652,-3.38246 9.6872,-10.72954 40.69582,-42.22421 43.13584,-43.81199 0.65327,-0.42511 0.69472,-0.42164 1.76004,0.13935 1.69621,0.89321 5.17272,3.42776 5.31628,3.87624 0.071,0.22185 -0.0862,1.25456 -0.34925,2.29512 -1.45078,5.73986 -1.13227,9.63559 1.18541,14.45547 1.4708,3.05867 3.27629,5.20728 6.57395,7.82301 9.15579,7.26251 16.68808,10.95299 24.2295,11.87474 2.82757,0.34562 3.64749,0.34828 4.89132,0.0121 1.3407,-0.36241 1.86325,-1.3644 2.36221,-4.53347 0.20533,-1.30405 0.59641,-3.28104 0.87057,-4.3941 0.48456,-1.96717 0.48693,-2.03496 0.0533,-2.45684 -0.2938,-0.28587 -1.72449,-0.69445 -4.19109,-1.19573 -6.49577,-1.32012 -13.70952,-4.66928 -18.59493,-8.63336 -1.99262,-1.61682 -6.29179,-7.01041 -6.29179,-7.89356 0,-0.78089 3.26918,-2.38945 5.92017,-2.91277 0.39866,-0.0787 2.08796,-0.29375 3.7558,-0.4783 3.25807,-0.36048 6.34702,-0.15266 10.37793,0.70024 4.46596,0.94494 10.46172,3.28909 13.29414,5.19756 2.39937,1.61667 5.64097,4.50215 7.32579,6.52061 2.9635,3.55034 3.07658,3.91 1.48478,4.73304 -0.52977,0.27392 -1.08975,0.76305 -1.24391,1.08735 -0.15417,0.3243 -0.45145,2.01239 -0.66066,3.75064 -0.20921,1.73825 -0.54188,4.00659 -0.7398,5.04101 -0.2328,1.21669 -0.2807,2.02802 -0.13592,2.29855 0.1231,0.23 0.80967,0.82278 1.52606,1.31617 1.06247,0.73141 1.43149,0.86578 2.00436,0.72776 2.10211,-0.50644 5.50142,-2.95702 6.96449,-5.02208 1.5108,-2.13238 2.04911,-3.31659 2.69083,-5.90812 0.55449,-2.23928 0.56049,-2.36391 0.21678,-4.97563 -0.1939,-1.47338 -0.52494,-3.27028 -0.73464,-3.99322 -1.366,-4.70909 -5.8388,-9.74109 -12.01238,-13.51609 -2.47918,-1.51595 -8.1344,-4.27704 -10.37965,-5.0668 -7.852,-2.76195 -17.9165,-4.23811 -25.06221,-3.67667 -1.8966,0.14902 -3.92416,0.37716 -4.50594,0.50754 -0.96655,0.21661 -1.19793,0.16652 -2.68567,-0.58496 -0.89547,-0.45232 -2.87966,-1.60205 -4.40786,-2.55491 -1.52821,-0.95284 -3.90375,-2.29336 -5.28015,-2.97987 -2.12603,-1.0604 -2.70772,-1.2493 -3.86591,-1.24906 -2.62515,7.4e-4 -6.67105,2.50879 -12.41154,7.69225 -5.51644,4.98115 -14.86337,14.17466 -21.18598,20.83844 -7.41342,7.81343 -12.03789,12.41498 -12.47691,12.41498 -0.18787,0 -0.35234,-0.62941 -0.45764,-1.75317 -0.21912,-2.33826 0.30507,-46.65447 0.59356,-50.17948 0.14996,-1.83226 0.14129,-3.58614 -0.0275,-5.19585 -0.40057,-3.81977 -1.38692,-5.33758 -3.91752,-6.03028 -0.68882,-0.18855 -29.79319,-5.25185 -64.67624,-11.25365 -34.88305,-6.00179 -64.70657,-11.168 -66.27456,-11.47904 -2.51752,-0.4994 -3.13983,-0.5395 -5.31628,-0.3441 -1.35556,0.12172 -6.4512,0.4929 -11.32419,0.82412 -8.71642,0.59254 -11.54848,0.59215 -12.03991,0 -0.13466,-0.16224 -0.3611,-0.9347 -0.50238,-1.71704 -0.52386,-2.90069 -1.47272,-6.22446 -2.37254,-8.311628 -2.80311,-6.50187 -8.1998,-12.24819 -12.58875,-13.40597 -1.48811,-0.39255 -1.74731,-0.20668 -2.17124,1.56047 -0.16059,0.66939 -0.36457,1.2181 -0.45249,1.2181 -0.0879,0 -0.41328,-0.89771 -0.72259,-1.99404 -1.31295,-4.65354 -2.97052,-7.75047 -5.81007,-10.84933 -2.88682,-3.15048 -7.49215,-6.01047 -11.64075,-7.229459 -2.07665,-0.610189 -3.0404,-0.514296 -3.24827,0.323452 -0.0737,0.296973 0.24248,2.116247 0.70368,4.043127 1.9765,8.25784 1.89357,8.6341 -0.89981,4.06377 -1.1739,-1.92063 -2.82983,-4.31782 -3.6801,-5.32832 -3.73253,-4.435874 -10.90163,-8.466646 -17.08091,-9.603719 -0.63117,-0.116153 -1.05909,-0.175137 -1.36263,-0.177207 z m 86.88073,51.017357 c 0.26275,0.10083 0.31829,10.40055 0.31829,58.5995 v 58.47908 l -7.79204,-0.0344 c -15.64166,-0.0678 -101.92702,-1.16552 -106.97421,-1.36089 -4.57843,-0.17724 -5.30922,-0.26211 -6.16102,-0.71056 -1.166,-0.61386 -2.17264,-1.6372 -2.52394,-2.56696 -0.17073,-0.45185 -0.54631,-17.8114 -1.10283,-50.94509 -0.82258,-48.97367 -0.83397,-50.28485 -0.40087,-51.26167 0.24446,-0.55134 0.61001,-1.13741 0.81206,-1.30412 0.78937,-0.65132 4.0811,-1.26799 6.7718,-1.26799 1.44883,0 28.30619,-1.74331 59.6834,-3.87452 31.37722,-2.13121 57.19403,-3.81966 57.36936,-3.75236 z m 2.01296,0.22022 c 0.67656,-0.0317 2.77199,0.36062 9.41964,1.52779 4.18596,0.73495 7.7605,1.47907 7.94345,1.65338 0.28095,0.26768 0.28678,1.38122 0.0344,7.16407 -0.16436,3.76572 -0.26117,9.85683 -0.21334,13.53501 0.0813,6.25025 0.12007,6.72946 0.57464,7.33784 0.26752,0.35802 0.86484,0.77411 1.32821,0.9239 l 0.84304,0.27183 -0.0258,42.12593 c -0.0222,35.70346 -0.0781,42.15881 -0.36303,42.33926 -0.36392,0.23021 -16.07858,0.22897 -18.4573,-0.002 l -1.45036,-0.14108 -0.0654,-57.86658 c -0.0363,-31.82663 -0.004,-58.11939 0.0706,-58.42918 0.0603,-0.25003 -0.0447,-0.42141 0.3613,-0.44044 z m 23.15078,4.11195 c 1.55266,0.0976 7.14335,1.14613 7.46687,1.45208 0.31357,0.29653 0.30394,0.79664 -1.26799,65.74982 -0.34089,14.08611 -0.67039,25.85112 -0.73292,26.14439 -0.075,0.35128 -0.49491,0.70189 -1.23015,1.02713 -1.46666,0.64877 -4.15227,0.68742 -4.88615,0.0706 l -0.50238,-0.42324 0.2942,-46.91402 c 0.16226,-25.80239 0.37296,-46.99107 0.46797,-47.08606 0.0299,-0.0299 0.16874,-0.0346 0.39055,-0.0206 z m 10.22996,1.96994 c 1.13903,0.0775 5.75392,0.8466 12.70058,2.11964 84.02635,15.39857 82.38113,15.08628 83.97313,15.92819 1.21677,0.64348 1.64998,1.04421 2.28651,2.11274 0.72952,1.2246 0.78529,1.47284 0.7897,3.5029 0.008,3.91739 -0.73071,47.97015 -0.88089,52.54858 l -0.14623,4.45604 -1.18541,1.22154 -1.18542,1.22154 -2.64437,-2.77857 c -1.45392,-1.52821 -2.64686,-2.84333 -2.65126,-2.92137 -0.005,-0.0781 0.40179,-0.57388 0.90498,-1.10283 0.91236,-0.95911 0.97486,-1.11384 2.25554,-5.63973 1.38907,-4.90889 1.67401,-14.53565 0.56088,-18.96828 -1.1051,-4.4007 -3.98472,-7.94779 -7.59591,-9.35596 -3.03825,-1.18475 -8.43142,-2.05806 -10.84418,-1.75661 -1.23832,0.15472 -1.45215,0.28027 -2.79923,1.65682 -0.80194,0.81949 -1.82095,2.17407 -2.26414,3.00912 -0.80616,1.51898 -2.05246,5.45172 -2.34329,7.39117 -0.28249,1.8837 -0.32842,1.87181 -3.41343,-0.88432 -6.31944,-5.64578 -8.43438,-7.16264 -13.68814,-9.81533 l -3.16911,-1.60004 -0.40776,-2.41556 c -0.49618,-2.94154 -1.98215,-6.67855 -3.37214,-8.48024 -1.73879,-2.25381 -4.24527,-3.49262 -8.92068,-4.40615 -3.88322,-0.75875 -4.78687,-0.82061 -7.50817,-0.5213 -3.04671,0.3351 -3.92661,0.77122 -5.30939,2.63233 -2.08597,2.80761 -4.16772,8.0821 -4.96703,12.58702 -0.59394,3.3474 -0.53966,9.87285 0.11183,13.52985 1.85161,10.3937 4.69826,15.48344 9.20284,16.44949 2.32351,0.49831 10.26272,-0.79433 13.03607,-2.12307 3.39885,-1.6284 6.49682,-6.6844 7.64753,-12.47863 0.25034,-1.26046 0.56087,-2.18539 0.75701,-2.26071 0.18259,-0.07 1.22503,0.38946 2.31749,1.02025 4.07134,2.35081 9.2762,6.49403 14.75138,11.74399 l 2.61513,2.50845 0.60561,2.16952 c 1.09019,3.91137 3.6698,8.46282 5.39025,9.5091 0.39082,0.23766 1.61284,0.56735 2.71492,0.73292 1.10207,0.16557 2.22032,0.3562 2.48609,0.42324 0.46705,0.11772 2.17176,1.93515 7.78689,8.30646 4.67415,5.30362 5.87822,6.45942 6.94729,6.65998 0.57673,0.10819 1.33677,0.0637 1.92865,-0.11356 0.53691,-0.16078 1.23708,-0.35723 1.55703,-0.43528 l 0.58153,-0.14107 -0.15313,7.82645 c -0.0846,4.30513 -0.3179,10.3289 -0.51785,13.38532 -0.19999,3.05642 -0.36382,5.80183 -0.36647,6.10083 -0.005,0.79213 -0.5258,0.66178 -1.1768,-0.29421 -0.81286,-1.19371 -1.86215,-1.91263 -3.66634,-2.51018 l -1.57768,-0.52129 -1.66026,-3.50807 c -1.99421,-4.21208 -3.00068,-5.43264 -4.95326,-6.00791 -2.47669,-0.72969 -8.22659,-0.39699 -10.16459,0.58841 -1.87434,0.95304 -4.1463,3.71308 -5.85995,7.11934 -1.06105,2.10904 -3.4002,8.86523 -4.18248,12.07948 -1.23098,5.05771 -2.02828,13.00487 -2.03533,20.29649 -0.01,9.97015 3.18296,19.94329 7.87463,24.59769 2.66648,2.64528 5.15746,3.73412 7.9469,3.47363 1.9173,-0.17903 2.83374,-0.56071 5.31111,-2.20909 2.12577,-1.41444 3.07729,-2.56564 4.93605,-5.97177 0.99761,-1.82812 1.03074,-1.86053 2.24695,-2.12136 1.45014,-0.311 3.25205,-1.07146 3.87795,-1.63789 0.24355,-0.22041 0.95432,-1.30271 1.57941,-2.40523 0.62507,-1.10252 1.22965,-2.0052 1.34369,-2.00609 0.19235,-0.002 0.12642,6.67345 -0.23571,23.5981 l -0.14623,6.80621 -4.93778,-0.13936 c -7.71773,-0.21883 -8.34789,-0.0973 -17.40436,3.34461 -4.1453,1.57542 -9.41843,3.61108 -11.71819,4.52486 -2.29978,0.91381 -6.13814,2.42575 -8.53013,3.36009 -18.50525,7.22845 -18.17833,7.08668 -22.83247,9.97878 -3.00857,1.86954 -5.02896,3.47576 -9.46092,7.52365 -1.28282,1.17166 -2.38021,2.12996 -2.43791,2.12996 -0.1367,0 -0.42324,-17.37701 -0.42324,-25.66266 v -6.4518 l 14.07352,-4.61604 c 7.74071,-2.53881 15.23385,-4.99632 16.65251,-5.4608 1.41867,-0.46448 2.71258,-1.00528 2.87492,-1.20089 0.22848,-0.2753 0.34675,-10.94674 0.52303,-47.2392 0.12526,-25.78614 0.16893,-47.12037 0.0963,-47.40951 -0.0726,-0.28912 -0.28926,-0.73987 -0.48173,-1.00303 -0.34459,-0.47113 -0.65243,-0.47818 -20.00401,-0.40947 -18.4693,0.0655 -19.69101,0.0958 -20.25863,0.50409 l -0.60389,0.43356 -0.13764,8.91552 c -0.11315,7.38862 -0.20643,9.16084 -0.54884,10.36244 -0.66531,2.33462 -1.43142,3.23545 -3.73171,4.38035 -1.10131,0.54815 -2.56935,1.16861 -3.26203,1.37982 -1.92243,0.58618 -9.09617,1.41165 -12.61627,1.45208 l -3.13987,0.0361 -0.0637,-7.91936 -0.0637,-7.91937 1.5209,0.15484 c 2.97064,0.30436 6.13207,-0.81533 6.69095,-2.37081 0.60655,-1.68821 0.96497,-8.91602 1.32648,-26.76378 1.04113,-51.39789 1.38529,-65.6157 1.59317,-65.82551 0.0175,-0.0177 0.10911,-0.0214 0.27183,-0.0103 z m -256.960381,8.37185 c 0.339357,0.0109 0.780671,0.0362 1.352297,0.0706 2.401919,0.14443 4.530062,0.35425 4.528299,0.44733 -5.55e-4,0.0251 -0.272225,0.57984 -0.603887,1.23358 -0.331662,0.65373 -0.602168,1.50826 -0.602168,1.89769 0,0.96785 1.253622,2.17528 2.845672,2.74072 0.693521,0.24632 1.261111,0.53145 1.261111,0.63314 0,0.10166 -1.618178,0.1858 -3.595801,0.1858 h -3.5958 l -1.357458,-3.20525 c -0.746585,-1.76264 -1.357457,-3.40264 -1.357457,-3.64397 0,-0.30383 0.107124,-0.39234 1.125192,-0.35958 z m 13.927276,0.19958 c 0.423932,-0.0233 0.422629,0.0715 0.270115,0.38883 -0.121262,0.25229 -0.216064,1.13458 -0.209898,1.96134 0.008,1.13579 -0.08089,1.54116 -0.363021,1.65682 -0.20537,0.0842 -1.127101,0.41296 -2.04737,0.73121 -2.240012,0.77464 -2.965949,0.74572 -4.068932,-0.16345 -1.16327,-0.95887 -1.202367,-1.73914 -0.116993,-2.40007 1.140931,-0.69475 4.719549,-1.96585 5.959738,-2.11618 0.245921,-0.0298 0.43505,-0.0507 0.576361,-0.0585 z m 185.825465,0.16 c -0.65479,0.006 -1.45032,0.0435 -2.43964,0.10323 -3.25632,0.19648 -44.17696,2.22048 -75.33631,3.72656 -6.91017,0.334 -13.03235,0.66881 -13.60555,0.74325 -0.66771,0.0867 -1.3184,0.38158 -1.81166,0.82238 l -0.77077,0.68819 0.0912,39.34219 c 0.0647,28.30856 0.16528,39.58019 0.3613,40.18867 0.20779,0.64504 0.53156,0.97337 1.3609,1.38154 l 1.08562,0.53507 33.7059,0.5041 c 18.53784,0.2773 38.86932,0.58874 45.18148,0.69335 6.31218,0.1046 11.99628,0.20914 12.63176,0.23054 1.27863,0.0432 2.49814,-0.37775 3.11406,-1.07529 0.37134,-0.42053 0.41706,-3.80869 0.57981,-43.35262 l 0.17549,-42.89498 -0.76734,-0.6469 c -0.8908,-0.74956 -1.59184,-1.00779 -3.55623,-0.98928 z m -183.717879,0.0825 c 0.698472,0 0.72918,0.29227 0.160005,1.52091 -0.580133,1.25228 -0.77996,1.38031 -1.011642,0.65034 -0.238226,-0.75057 0.319054,-2.17125 0.851637,-2.17125 z m -19.355385,0.38883 c 0.26608,0.29598 2.919652,6.75095 2.919652,7.10214 0,0.15503 -4.20788,4.56698 -9.352522,9.80501 -5.144642,5.23802 -9.483321,9.52457 -9.6415632,9.52457 -0.1582422,0 -0.5700992,-0.48061 -0.9135739,-1.0667 -1.0331549,-1.76295 -2.8026602,-5.51586 -2.8026602,-5.94253 0,-0.52689 19.5390153,-19.70242 19.7906673,-19.42249 z m 21.428562,0.88089 c 0.603668,0.12538 1.950513,1.27343 4.734758,4.00355 l 2.826746,2.7717 -1.015082,1.16132 c -0.558155,0.63883 -1.123068,1.16157 -1.25595,1.16132 -0.13289,-3e-4 -1.70761,-1.39985 -3.499453,-3.11062 l -3.256867,-3.11063 0.46625,-1.37466 c 0.256866,-0.75569 0.610308,-1.42824 0.784538,-1.4951 0.05788,-0.0222 0.128822,-0.0248 0.21506,-0.007 z m -4.548946,4.83799 c 0.153938,0.003 0.269369,0.0526 0.364742,0.14796 0.197318,0.1973 0.01585,0.26347 -0.684751,0.24946 -0.94378,-0.0189 -0.946358,-0.0214 -0.268394,-0.26839 0.243257,-0.0886 0.434467,-0.13211 0.588403,-0.12903 z m -2.355335,2.61856 c 0.959419,0.0141 1.470808,0.0617 1.520904,0.1428 0.08338,0.13491 -1.504047,1.81253 -3.526982,3.72828 -4.109567,3.89184 -10.777587,10.13614 -12.624873,11.82313 l -1.207777,1.10455 -5.433271,0.88948 c -5.6123653,0.91877 -6.5206142,1.01599 -6.5206142,0.7054 0,-0.10034 4.0497612,-4.22929 8.9998242,-9.17704 l 9.001545,-8.99638 5.579512,-0.16172 c 1.844005,-0.0533 3.252313,-0.0726 4.211732,-0.0585 z m 15.443017,0.6968 c 0.32044,0 6.106007,6.02847 7.587311,7.9056 0.444891,0.56377 0.443653,0.56846 -0.603887,1.51574 -0.577473,0.5222 -1.162407,0.95302 -1.298962,0.9583 -0.136546,0.005 -0.828998,-0.64969 -1.539829,-1.45724 -0.710839,-0.80755 -2.366331,-2.59816 -3.678383,-3.97775 -1.312043,-1.3796 -2.384583,-2.57401 -2.384583,-2.6547 0,-0.65669 1.368079,-2.28995 1.918333,-2.28995 z m -24.993395,1.19917 -6.981702,6.98858 c -5.028171,5.03254 -6.938775,7.09405 -6.832021,7.37225 0.08153,0.21245 0.287364,0.38208 0.457647,0.37679 1.022109,-0.0343 7.021891,-1.43015 7.484083,-1.74113 1.291201,-0.86878 13.120371,-12.11472 13.120371,-12.47346 0,-0.34224 -0.465144,-0.4011 -3.623328,-0.45765 z m 2.864598,0.77078 c 1.309356,-0.0461 2.477415,0.0136 2.596202,0.13247 0.126883,0.12689 -1.347925,1.65598 -3.575155,3.70763 -2.084993,1.92063 -4.068074,3.7618 -4.407866,4.0913 -0.339802,0.32948 -1.162706,1.07344 -1.827149,1.65338 -0.664443,0.57995 -1.496978,1.3174 -1.851235,1.6379 -0.460209,0.41633 -1.313219,0.72064 -2.98675,1.06498 -1.288251,0.26506 -2.366941,0.48173 -2.396627,0.48173 -0.520233,0 0.645768,-1.29192 5.858229,-6.49137 l 6.209208,-6.19372 z m 282.170563,5.84446 c 0.77792,0.0224 1.68409,0.15427 2.88524,0.38538 4.16019,0.8005 4.06755,0.73354 2.8732,2.09383 -1.30725,1.48888 -3.36402,6.02459 -3.93302,8.67293 -0.73794,3.43486 -0.72903,9.82027 0.0206,14.25589 1.17964,6.97938 3.33024,12.59584 5.47973,14.31095 0.46084,0.36769 0.83788,0.73865 0.83788,0.8241 0,0.27235 -0.7741,0.46762 -3.25687,0.82067 -3.46545,0.49278 -6.53011,0.45223 -7.737,-0.10151 -1.21708,-0.55842 -3.26808,-2.72169 -4.05517,-4.27711 -1.51815,-3.00014 -2.81019,-7.79099 -3.29815,-12.2326 -0.73975,-6.73311 0.11553,-13.13364 2.51017,-18.79451 1.2671,-2.9954 2.26667,-4.2436 4.08098,-5.09261 1.35479,-0.634 2.29584,-0.90271 3.59236,-0.86541 z m -250.986886,2.0921 c 0.375372,0 1.805707,1.50138 6.517174,6.84579 l 3.354934,3.80741 -1.302403,1.18542 c -0.71623,0.65237 -1.372375,1.19128 -1.458966,1.19745 -0.275338,0.0192 -9.020503,-10.63972 -9.096171,-11.08677 -0.0784,-0.46292 1.435363,-1.9493 1.985432,-1.9493 z m 122.398306,0.1428 c 0.34577,0.0272 0.89907,0.34277 1.72735,0.95314 2.40654,1.77342 5.6726,3.27068 13.00511,5.95803 3.99502,1.46417 4.35453,1.67994 4.35453,2.61168 0,1.104 -0.86528,1.54338 -2.72524,1.38671 -0.82659,-0.0696 -1.66738,-0.16542 -1.86672,-0.21334 -0.301,-0.0723 -0.38768,0.40977 -0.51271,2.84395 -0.29726,5.78754 -1.6599,9.60098 -3.9244,10.98181 -1.87708,1.14459 -4.02484,0.18665 -5.20273,-2.3192 -1.25502,-2.66995 -1.62546,-9.42537 -0.74841,-13.64684 0.26228,-1.26243 0.47825,-2.31872 0.48001,-2.34673 0.002,-0.028 -0.81188,-0.65331 -1.80823,-1.39014 -2.05618,-1.52061 -3.26374,-3.01484 -3.26374,-4.03969 0,-0.54525 0.13939,-0.80656 0.48518,-0.77938 z m 138.32649,0.27011 c 0.13355,0.005 0.26111,0.0209 0.38194,0.0482 1.30871,0.29517 3.09372,1.44392 3.83495,2.46716 0.77128,1.0647 1.34395,2.3396 1.14068,2.54287 -0.0774,0.0774 -0.6153,-0.0889 -1.19573,-0.3699 -2.90681,-1.40716 -5.91132,0.12918 -7.69054,3.9313 -0.86165,1.84131 -1.09061,3.03564 -1.41768,7.38257 -0.44585,5.92528 0.44063,10.49479 2.73212,14.07696 1.28485,2.00855 2.73532,2.85082 4.90508,2.85082 0.70961,0 1.05121,0.10301 1.05121,0.31829 0,0.53916 -1.69199,2.33025 -2.67534,2.83192 -1.02623,0.52354 -1.0973,0.53285 -1.79445,0.24259 -1.00437,-0.41819 -1.81434,-1.67677 -3.01084,-4.68487 -2.60112,-6.53943 -3.28421,-10.22145 -3.07966,-16.58714 0.0749,-2.32929 0.30231,-5.0006 0.50582,-5.94769 0.64253,-2.99032 2.27311,-6.81035 3.34805,-7.84366 0.82854,-0.79645 2.02948,-1.29376 2.96439,-1.2594 z m -156.93347,0.21335 c 0.34578,-0.0272 0.48517,0.2341 0.48517,0.77938 0,1.02485 -1.20584,2.51906 -3.26202,4.03967 -0.99635,0.73684 -1.81171,1.36214 -1.80995,1.39016 0.002,0.028 0.21774,1.08429 0.48002,2.34673 0.87706,4.22147 0.50662,10.97688 -0.74841,13.64684 -0.56893,1.21035 -1.52232,2.25443 -2.34674,2.56867 -3.62437,1.3815 -6.36578,-3.15883 -6.7804,-11.23128 -0.12503,-2.4342 -0.2117,-2.91628 -0.5127,-2.84396 -0.19933,0.0479 -1.03841,0.14376 -1.865,0.21335 -1.85995,0.15667 -2.72524,-0.28443 -2.72524,-1.38843 0,-0.92588 0.44796,-1.20748 3.85387,-2.42243 6.88927,-2.45755 11.10242,-4.37545 13.50403,-6.14556 0.82827,-0.61047 1.38158,-0.92592 1.72737,-0.95314 z m 159.35246,6.13866 c 1.05747,0 2.63876,1.45939 3.58547,3.3102 0.70419,1.3767 0.58643,1.52175 -1.2353,1.52263 -2.41029,0.002 -3.70745,0.97847 -4.85519,3.65602 -1.07777,2.51432 -0.8902,5.05494 0.49034,6.62728 1.02652,1.16913 1.65348,1.43472 4.23066,1.79446 1.24751,0.17414 2.27016,0.43861 2.33296,0.60217 0.20158,0.52531 -0.72356,3.92281 -1.36777,5.02207 -0.34672,0.59164 -0.87926,1.2351 -1.18369,1.43144 -0.91817,0.59214 -1.56328,0.64965 -2.28652,0.19958 -1.14629,-0.71333 -1.94307,-1.73222 -2.83707,-3.62849 -1.24813,-2.64742 -1.68302,-5.50324 -1.51058,-9.90652 0.14432,-3.68566 0.52044,-5.57605 1.48821,-7.4858 0.61665,-1.21694 2.54633,-3.14504 3.14848,-3.14504 z m 106.74538,1.46241 c 0.80958,-0.0363 1.57788,0.0828 2.12307,0.36474 l 0.72604,0.37507 -0.9669,0.9411 c -1.05131,1.02027 -1.71564,2.1262 -1.9493,3.24998 -0.12579,0.60479 -0.33422,0.77318 -1.34886,1.08563 -0.91576,0.28201 -1.6642,0.81281 -3.1588,2.2435 -1.07726,1.03117 -2.05596,1.87029 -2.17468,1.865 -0.11877,-0.005 -0.46278,-0.53579 -0.7639,-1.17853 -0.36327,-0.77541 -0.88881,-1.39356 -1.5622,-1.83919 l -1.01336,-0.6727 1.5622,-1.44176 c 1.92615,-1.77901 4.54858,-3.66605 6.15244,-4.4268 0.7132,-0.3383 1.56468,-0.52977 2.37425,-0.56604 z m 4.34593,1.67919 c 0.30642,0 0.75535,0.14438 0.99788,0.32173 0.41023,0.29997 0.35534,0.40328 -0.78798,1.47273 -0.73265,0.6853 -1.39374,1.57944 -1.63618,2.21426 -0.46143,1.20824 -0.87579,1.3381 -1.4538,0.45592 -0.37104,-0.56667 -0.37063,-0.68268 0.009,-1.67575 0.47458,-1.24264 2.067,-2.78889 2.87147,-2.78889 z m 2.74933,1.69123 c 0.31903,0 1.47192,0.53641 2.56179,1.1923 1.08987,0.65589 2.17268,1.26652 2.40523,1.35573 0.72992,0.27999 0.47432,0.56062 -1.32993,1.46756 -0.96344,0.4843 -2.18508,1.17442 -2.71663,1.53296 -0.53156,0.35853 -1.08676,0.71951 -1.23187,0.80346 -0.14512,0.084 -0.87741,-0.29797 -1.62929,-0.84992 -1.14835,-0.84301 -1.36787,-1.12223 -1.36434,-1.74284 0.009,-1.58847 1.91685,-3.75925 3.30504,-3.75925 z m -366.341544,0.72432 c 0.466071,0 1.215532,0.72305 3.442678,3.3188 1.565634,1.82476 3.572899,4.23723 4.459481,5.36273 1.546818,1.96367 1.597802,2.07289 1.280036,2.68739 -0.182133,0.35221 -0.720935,0.98208 -1.197453,1.40048 -0.476521,0.41838 -0.998115,0.75629 -1.159603,0.75012 -0.298568,-0.0117 -9.174612,-10.95412 -9.304349,-11.47043 -0.113898,-0.45326 1.816565,-2.04909 2.47921,-2.04909 z m 254.254074,1.6964 c 0.97194,0.0114 3.52263,0.46878 3.72138,0.66754 0.12743,0.12743 -0.12673,0.72603 -0.61765,1.45552 -0.88847,1.32027 -1.45617,3.32511 -1.21465,4.28744 0.11979,0.4772 0.0272,0.62922 -0.49895,0.82927 -1.4269,0.5425 -3.34964,-0.0471 -3.92784,-1.20434 -0.41064,-0.8218 -0.387,-3.01358 0.0413,-3.84183 0.45117,-0.87243 1.96145,-2.19977 2.49642,-2.1936 z m 35.54852,0.37678 c 1.40001,-0.006 2.97724,0.17784 4.3098,0.55571 1.23854,0.35121 1.99403,0.68941 1.99403,0.89293 0,0.18016 -0.32813,0.8426 -0.72776,1.47273 -1.04779,1.65221 -2.06749,4.45291 -2.67534,7.34645 -0.42841,2.03939 -0.53325,3.39126 -0.55571,7.10901 -0.0152,2.52486 0.0618,5.32426 0.17205,6.22125 0.12956,1.05384 0.11558,1.63101 -0.0395,1.63101 -0.13207,0 -2.53145,-2.36403 -5.33176,-5.25433 l -5.0909,-5.25607 -0.004,-1.9321 c -0.006,-5.30707 2.00755,-10.53223 4.70034,-12.19647 0.62561,-0.38666 1.84825,-0.58384 3.24826,-0.59012 z m 93.69727,0.60905 c 8.64677,-0.05 17.73895,1.86609 26.13407,5.50725 2.83921,1.23143 8.52155,4.99883 10.9715,7.27418 1.59376,1.48018 2.04318,2.08291 2.94718,3.95366 1.3186,2.72868 1.67542,4.13001 1.5123,5.92877 -0.29358,3.23784 -3.75257,7.53954 -5.29047,6.57911 -0.64538,-0.40304 -0.87403,-0.14439 -0.45938,0.51958 0.42566,0.68159 0.37553,1.69936 -0.23914,4.88445 -0.50377,2.61042 -0.46614,3.27567 0.13764,2.44996 0.44058,-0.60252 0.80562,-2.38867 0.99788,-4.88961 l 0.15828,-2.06113 1.23014,-0.7983 c 2.04519,-1.32554 3.178,-2.84622 3.86764,-5.19412 0.21199,-0.72178 0.38786,-1.80846 0.39227,-2.41555 0.0101,-1.5252 0.3923,-0.81754 0.84992,1.57423 0.45166,2.35933 0.44751,5.24277 -0.009,6.77869 -0.80337,2.70524 -3.89034,6.32938 -6.64105,7.79549 -1.45686,0.7765 -1.9407,0.86247 -2.83018,0.5041 -0.91127,-0.36716 -1.03495,-0.93566 -0.66067,-3.02804 0.72169,-4.03452 1.05317,-6.05837 1.12003,-6.84407 0.0648,-0.76244 0.16438,-0.84914 1.59144,-1.36433 1.65868,-0.59881 2.33113,-1.09401 2.85084,-2.099 0.7771,-1.50275 0.0915,-4.87201 -1.55531,-7.64408 -2.09868,-3.5326 -6.85865,-7.66778 -10.31772,-8.96197 -2.00943,-0.75183 -2.13973,-0.48793 -0.27355,0.55571 3.745,2.09432 7.82298,5.80861 9.5607,8.70907 1.52427,2.54419 2.12158,5.29204 1.37294,6.31587 -0.39308,0.53755 -0.33445,0.58267 -1.18713,-0.90669 -1.04225,-1.8205 -3.93357,-5.1725 -5.92877,-6.87503 -4.23922,-3.61734 -11.30893,-6.95664 -17.60566,-8.31335 -3.0303,-0.65292 -9.24952,-0.89122 -12.51648,-0.48002 -1.27911,0.16105 -2.36193,0.25663 -2.40695,0.21162 -0.18505,-0.18505 0.66193,-3.24881 0.991,-3.58376 0.29368,-0.29893 1.19128,-0.35841 5.12014,-0.34582 4.20962,0.0136 5.11925,0.0899 7.8385,0.66411 1.6922,0.35736 4.65235,1.13831 6.57739,1.73596 3.56537,1.10693 4.64845,1.31058 4.34249,0.81551 -0.54643,-0.88415 -7.22009,-3.04511 -11.85754,-3.84011 -3.58843,-0.61516 -7.97634,-0.83788 -10.23168,-0.51786 -1.75151,0.24852 -1.83027,0.23857 -2.41556,-0.32173 -0.33284,-0.31862 -1.25692,-0.87358 -2.05425,-1.23359 -1.33526,-0.60288 -1.40284,-0.6685 -0.84648,-0.83442 0.33222,-0.0991 2.47505,-0.19153 4.76229,-0.20474 z m -136.73847,0.33893 0.004,1.08735 c 0.002,0.59799 -0.0779,1.68466 -0.17893,2.41555 l -0.18409,1.32821 -0.0206,-1.44864 c -0.011,-0.79733 0.0707,-1.88572 0.18063,-2.41727 z m 13.37844,0.14453 c 0.21195,-0.002 0.43419,0.0807 0.71744,0.23226 0.46121,0.24683 0.45074,0.28973 -0.28732,1.13035 -0.912,1.03869 -1.43118,2.20314 -1.64306,3.68355 -0.28073,1.96151 -1.47961,1.38303 -1.47961,-0.71401 -10e-6,-1.27559 0.55219,-2.58323 1.50886,-3.5717 0.50845,-0.52534 0.83043,-0.75819 1.18369,-0.76045 z m 114.49268,0.21677 c 0.5145,0 0.99359,0.092 1.06327,0.20474 0.0697,0.11274 1.10831,0.61829 2.30887,1.12175 1.20061,0.50346 2.18158,0.98178 2.18158,1.06326 -3.9e-4,0.0815 -0.89644,0.58331 -1.99232,1.11486 -1.09589,0.53156 -2.26394,1.08792 -2.5962,1.23703 -0.53141,0.23848 -0.89576,0.11556 -3.02117,-1.01852 -1.32888,-0.70907 -2.41555,-1.4275 -2.41555,-1.59661 0,-0.50442 3.41051,-2.12651 4.47152,-2.12651 z m -26.11858,0.15485 c 0.13148,0.0165 0.25923,0.0811 0.4284,0.16861 1.15956,0.59962 1.81635,1.55109 2.10071,3.04696 0.15717,0.8269 0.10649,0.88368 -7.02816,8.03292 -3.95237,3.96045 -7.29663,7.19856 -7.43248,7.19504 -0.13585,-0.004 -0.64769,-0.37919 -1.13723,-0.83444 -0.53966,-0.50186 -1.4195,-0.98105 -2.23489,-1.21809 -0.73969,-0.21504 -1.34542,-0.48147 -1.34542,-0.59185 0,-0.22425 10.72796,-10.77508 14.17847,-13.94448 1.65228,-1.51766 2.07619,-1.90414 2.4706,-1.85467 z m -85.6506,1.05465 c 1.16807,0 7.26205,4.20457 10.77536,7.43591 l 1.5123,1.39014 -0.66926,1.32477 c -0.36797,0.72853 -0.98576,1.78712 -1.37295,2.35189 -0.38716,0.56478 -0.7872,1.02713 -0.88948,1.02713 -0.10224,0 -1.15801,-0.78073 -2.34501,-1.73424 -2.53142,-2.03342 -5.91315,-4.29733 -7.95722,-5.32832 -1.64651,-0.83047 -1.80294,-1.00145 -1.80822,-1.96995 -0.01,-1.84636 1.61373,-4.49733 2.75448,-4.49733 z m 36.14554,0.75185 c 0.45536,0.0239 0.92487,0.20325 1.42628,0.53507 1.57027,1.03913 2.18314,2.08331 2.96267,5.05304 1.7543,6.6834 0.73401,18.46135 -1.96823,22.72236 -0.38518,0.60735 -0.93721,1.23177 -1.2267,1.38671 -0.47992,0.25684 -0.68505,0.11432 -2.32092,-1.61381 -0.98683,-1.04248 -1.95928,-2.20087 -2.16093,-2.57384 -0.20165,-0.37296 -0.70828,-2.16667 -1.12519,-3.98635 -0.69697,-3.04222 -0.75802,-3.64949 -0.75185,-7.53741 0.009,-6.23919 1.02772,-10.6721 2.93686,-12.79692 0.75217,-0.83714 1.46909,-1.22869 2.22801,-1.18885 z m 0.0654,1.07874 c -0.0654,-0.0125 -0.12952,-0.01 -0.19097,0.0137 -0.43279,0.16609 -0.47946,1.3219 -0.0706,1.7308 0.43504,0.43505 0.86637,0.35056 1.04262,-0.20474 0.17811,-0.56113 -0.32387,-1.45218 -0.7811,-1.53983 z m 80.96573,0.84819 c 0.38592,-0.0178 0.37937,0.37677 0.26667,1.36779 -0.23042,2.02646 -0.30332,2.17833 -1.18369,2.46888 -0.44041,0.14536 -1.42829,0.64197 -2.1936,1.10283 -0.76534,0.46086 -1.41743,0.83787 -1.45037,0.83787 -0.0329,0 -0.12471,-0.39486 -0.20302,-0.87744 -0.27624,-1.70215 0.96377,-3.24794 3.58204,-4.46293 0.57652,-0.26752 0.95042,-0.4263 1.18197,-0.437 z m -12.14658,0.22023 c 0.11761,0 0.21334,0.76842 0.21334,1.70843 0,4.2662 2.86641,9.20838 8.67809,14.963 1.54336,1.52822 3.75788,3.44921 4.9223,4.27023 4.25275,2.99848 9.91287,5.42646 14.51912,6.22814 4.05051,0.70496 4.99866,0.34773 1.23702,-0.46626 -8.70059,-1.88274 -15.83274,-6.11973 -22.41784,-13.31994 -2.12966,-2.32858 -2.81966,-3.28556 -3.89345,-5.39026 -0.71783,-1.40705 -1.47851,-3.14758 -1.69122,-3.86936 -0.40898,-1.38759 -0.51972,-3.53131 -0.1927,-3.73344 0.10697,-0.0661 1.16185,0.39962 2.34501,1.03401 l 2.15232,1.15272 0.009,2.27447 c 0.009,2.1109 0.0739,2.40621 0.88777,4.08787 1.04948,2.16841 3.91927,5.67991 6.04748,7.39977 2.93268,2.36998 7.95438,5.26225 12.04163,6.93525 1.85173,0.75795 3.17305,1.10028 9.48328,2.45169 2.25458,0.48284 2.19329,0.18922 1.05637,4.94293 -0.74154,3.10046 -1.2859,4.36485 -1.87876,4.36485 -0.3087,0 -0.24598,-1.40394 0.18237,-4.1085 0.42307,-2.67111 0.32704,-3.70368 -0.33377,-3.57688 -0.32229,0.0618 -0.45398,0.45502 -0.59357,1.76866 -0.0987,0.92856 -0.32152,2.77446 -0.49377,4.10334 -0.27242,2.10193 -0.37395,2.42378 -0.78626,2.46545 -0.73381,0.0742 -5.2499,-1.03689 -8.16367,-2.0078 -7.88225,-2.62648 -17.86847,-9.38379 -21.89482,-14.81505 -1.44026,-1.94278 -3.02981,-5.20908 -3.42031,-7.02988 -0.74008,-3.45092 0.66665,-11.83344 1.98543,-11.83344 z m -66.46209,1.73252 c -0.37694,0.0568 -0.5915,0.56201 -0.39916,1.06325 0.23044,0.60051 0.99273,0.30853 0.99273,-0.38022 0,-0.37727 -0.15578,-0.62807 -0.42323,-0.67959 -0.0598,-0.0115 -0.11649,-0.0115 -0.17033,-0.004 z m -4.75369,0.50581 c -0.25209,-0.005 -0.46448,0.16095 -0.5299,0.50066 -0.0464,0.24092 0.10565,0.64737 0.33721,0.90325 0.50674,0.55995 0.67798,0.57577 1.07014,0.10323 0.2418,-0.29135 0.221,-0.48057 -0.10666,-0.98067 -0.22643,-0.34556 -0.51869,-0.52141 -0.77079,-0.52647 z m -286.263565,2.3519 c 0.293469,0 -0.683165,1.45907 -1.355737,2.025 -0.686199,0.57743 -1.197453,0.80061 -1.197453,0.52303 0,-0.14657 2.406262,-2.54803 2.55319,-2.54803 z m 291.977285,0.2942 c -0.11133,0.0164 -0.21596,0.0628 -0.29936,0.14625 -0.19018,0.1902 -0.18026,0.36415 0.0344,0.62281 0.34514,0.41588 0.98583,0.25229 0.98583,-0.25119 0,-0.34125 -0.38688,-0.56699 -0.72088,-0.51787 z m -165.95911,0.22883 c 0.0714,0.0118 0.13982,0.038 0.20646,0.0791 1.18709,0.73367 -1.58004,5.7676 -5.58984,10.16975 -7.52785,8.26445 -17.42778,14.21884 -26.04288,15.66497 -5.54632,0.93098 -9.527,-0.0873 -10.90612,-2.79062 -0.59879,-1.17374 -0.53731,-1.99465 0.15656,-2.09383 0.2762,-0.0395 1.39465,0.35995 2.4861,0.88777 1.35254,0.65407 2.47464,1.01305 3.52182,1.12519 3.31727,0.35526 8.94942,-1.11033 13.78447,-3.58547 6.94204,-3.55374 15.06294,-10.48431 19.73217,-16.84005 1.48541,-2.02193 2.15093,-2.69945 2.65126,-2.61684 z m 158.87934,0.99271 c -0.70246,-0.0248 -0.96252,0.69718 -0.23226,1.12176 0.5726,0.33291 0.89145,0.20285 0.98066,-0.40088 0.0496,-0.3358 -0.0916,-0.55595 -0.42151,-0.66066 -0.11676,-0.0371 -0.22654,-0.0566 -0.32689,-0.0602 z m -283.760279,0.0809 c 0.136742,-0.0256 0.260328,0.0745 0.485175,0.27699 0.258022,0.23235 2.164642,2.75856 4.235819,5.61565 2.071175,2.85709 4.613589,6.27216 5.650052,7.58731 1.036464,1.31515 1.883924,2.5177 1.883924,2.67362 0,0.15593 -0.390397,0.74173 -0.868841,1.30068 -0.478445,0.55896 -1.172358,1.1717 -1.541549,1.36262 -0.824599,0.42642 -0.670816,0.58901 -3.423753,-3.6216 -1.129484,-1.72754 -3.613054,-5.2049 -5.517576,-7.7284 -1.90452,-2.5235 -3.50826,-4.76616 -3.564831,-4.9825 -0.06546,-0.25033 0.192156,-0.57466 0.707117,-0.89293 0.445055,-0.27506 1.070437,-0.778 1.390146,-1.11831 0.278603,-0.29656 0.427576,-0.44759 0.564317,-0.47313 z m 264.688779,0.81894 c 0.0978,0 3.35709,3.18165 7.24322,7.06945 5.1215,5.12371 7.066,7.2195 7.066,7.61828 0,0.66521 -1.06971,2.86219 -1.76005,3.61473 -0.27429,0.299 -0.66978,0.53115 -0.87916,0.51442 -0.20938,-0.0166 -3.56797,-3.23903 -7.46173,-7.16063 l -7.07977,-7.13139 0.82928,-1.24734 c 0.45573,-0.68639 1.0625,-1.7045 1.34714,-2.26243 0.28464,-0.55795 0.59726,-1.01509 0.69507,-1.01509 z m 26.37321,4.59196 c -0.59043,0 -0.81634,0.42289 -0.45764,0.85508 0.3391,0.40863 1.1002,0.46594 1.32649,0.0998 0.21572,-0.34903 -0.33638,-0.95487 -0.86885,-0.95487 z m 28.53414,1.54499 c 0.7971,0.0432 2.08197,0.41376 2.8388,0.87401 0.41352,0.25147 0.93181,0.73044 1.151,1.06497 l 0.39743,0.60733 -6.81138,7.07461 c -3.74674,3.89101 -6.90428,7.10864 -7.01612,7.15031 -0.11184,0.0417 -0.36577,-0.23718 -0.56431,-0.62109 -0.35676,-0.68994 -1.82086,-2.10989 -2.69255,-2.61169 -0.40519,-0.23326 -0.20562,-0.5261 2.0078,-2.93686 4.17454,-4.5467 9.69486,-10.30516 10.09233,-10.5276 0.11964,-0.0669 0.3313,-0.0884 0.597,-0.074 z m -39.16669,9.61403 c 0.33826,0.13083 9.22226,9.45067 9.9564,10.44504 0.58033,0.78601 0.67234,1.09338 0.54196,1.81166 -0.28641,1.57795 -1.25035,3.1646 -2.1506,3.54075 -1.02191,0.42698 -0.89799,0.43847 -1.64134,-0.14625 -0.66903,-0.52626 -9.82909,-10.99154 -9.82909,-11.22957 0,-0.0782 0.37966,-0.53447 0.84475,-1.01336 0.46508,-0.47889 1.12401,-1.45917 1.46413,-2.17812 0.34013,-0.71896 0.70603,-1.27181 0.81379,-1.23015 z m -267.131858,0.60389 0.868841,0.95487 c 0.477362,0.52534 1.84278,2.02596 3.034926,3.33601 1.192151,1.31005 2.722471,2.73826 3.401391,3.17256 l 1.2353,0.7897 -0.80002,2.37426 c -0.44012,1.30603 -0.80281,2.61893 -0.80518,2.91793 -0.003,0.34104 -0.15224,0.54367 -0.40088,0.54367 -0.60763,0 -6.812205,-6.37781 -8.497445,-8.73486 -0.822385,-1.15023 -1.495096,-2.18696 -1.495096,-2.30373 10e-7,-0.11678 0.341713,-0.41432 0.758732,-0.66066 0.417021,-0.24633 1.194917,-0.88524 1.72908,-1.4194 z m 258.778928,1.63446 c 0.0663,-0.011 0.17141,0.0446 0.31485,0.16345 0.45291,0.37522 4.18937,4.98177 4.18937,5.16487 0,0.0654 -0.32905,0.11871 -0.73121,0.11871 -1.04353,0 -2.62897,-1.65302 -3.32052,-3.46332 -0.50362,-1.31837 -0.65156,-1.95062 -0.45249,-1.98371 z m 33.72827,2.69599 c 0.1332,0.007 0.27618,0.0537 0.46281,0.11871 0.86985,0.30324 2.33214,1.89788 2.55491,2.78546 0.1798,0.71643 0.34959,0.51186 -7.19677,8.60756 -3.03539,3.25634 -5.78486,6.04333 -6.11114,6.19199 -0.97682,0.44507 -2.09001,0.14022 -2.80094,-0.76733 -0.57296,-0.73147 -0.54292,-0.82051 0.37507,-1.12347 0.94224,-0.31097 2.20127,-1.54137 2.56523,-2.50674 0.14104,-0.3741 0.25636,-1.3502 0.25636,-2.16952 v -1.48993 l 3.22245,-3.14504 c 1.77247,-1.73011 3.93172,-3.93348 4.79842,-4.89648 1.1599,-1.28883 1.47397,-1.62669 1.8736,-1.60521 z m -271.27476,0.89297 c 0.0781,0.006 0.1349,0.0271 0.16689,0.0619 0.11452,0.12484 0.27746,1.33753 0.3613,2.69599 l 0.1514,2.4706 -0.71228,0.36819 c -1.03052,0.5329 -1.52786,0.46004 -2.29167,-0.33721 -0.87928,-0.91776 -1.06902,-2.44745 -0.45249,-3.6371 0.31384,-0.60558 0.75835,-0.97402 1.58628,-1.31444 0.53018,-0.21796 0.9562,-0.32652 1.19057,-0.30796 z m -5.1167,1.82887 c 0.38237,0.0465 0.30549,0.3682 0.2684,1.0254 -0.0691,1.22344 0.43556,2.68403 1.21293,3.5115 l 0.4955,0.52819 -2.69599,0.87056 c -1.48306,0.47944 -3.37057,1.0311 -4.19281,1.22499 -1.79207,0.42258 -2.73623,0.45265 -2.9575,0.0946 -0.26296,-0.42547 0.12988,-3.14884 0.61249,-4.24442 0.58545,-1.32904 1.08425,-1.61117 4.23409,-2.38631 1.79975,-0.44289 2.64052,-0.67102 3.02289,-0.62453 z m 263.16615,4.99283 c 0.43271,0.0506 1.63239,1.19066 1.86327,1.85295 0.58139,1.66782 0.0907,3.88159 -1.034,4.66939 -0.27801,0.19472 -0.97117,0.35442 -1.54155,0.35442 -0.84321,0 -1.20601,-0.15397 -1.93726,-0.82412 l -0.89981,-0.8241 1.36778,-1.43317 c 0.94896,-0.99489 1.45318,-1.75818 1.65166,-2.49813 0.1572,-0.586 0.3363,-1.14715 0.39743,-1.24734 0.0255,-0.0418 0.0707,-0.0572 0.13248,-0.0499 z m -59.97245,3.31536 16.79187,0.0567 -0.0981,31.1682 c -0.0543,17.14253 -0.16229,37.42 -0.24087,45.06105 l -0.1428,13.89288 -1.20949,0.0379 c -0.66443,0.0204 -10.01431,-0.433 -20.77823,-1.0082 -50.85792,-2.71773 -80.90012,-4.45307 -81.13605,-4.68659 -0.22478,-0.22243 -0.79428,-43.51114 -0.5798,-44.07005 0.0935,-0.24375 0.61763,-0.4226 1.54499,-0.52647 6.67254,-0.74738 7.20917,-0.9051 7.95377,-2.34502 0.38042,-0.73565 0.4418,-4.00868 0.10839,-5.73607 -0.28027,-1.45229 -0.74997,-1.74705 -2.67018,-1.66715 -0.86377,0.0359 -2.74592,0.0426 -4.18249,0.0137 l -2.61168,-0.0534 0.074,-0.874 0.0757,-0.87573 11.23473,-0.005 c 6.17929,-0.003 15.85653,0.0187 21.50427,0.0464 14.0487,0.069 17.51264,-0.23088 25.08802,-2.17125 6.23785,-1.59778 8.95486,-3.41426 10.12845,-6.7718 0.87397,-2.50036 1.03546,-3.88517 1.1682,-10.0063 0.13819,-6.37049 0.38545,-9.02732 0.86885,-9.33533 0.17418,-0.111 7.87274,-0.17623 17.10844,-0.14451 z m 43.55392,24.5822 c 0.47867,0.007 0.63433,0.2458 0.0722,0.71228 -0.53003,0.43989 -3.13138,4.31878 -3.84527,5.73436 -2.14593,4.25509 -4.38118,12.9263 -5.11498,19.84056 -1.25853,11.8582 1.09727,28.46839 4.97907,35.11497 0.54486,0.93292 0.94582,1.73976 0.89121,1.79446 -0.0547,0.0546 -0.59167,-0.21094 -1.1923,-0.59185 -2.14703,-1.36159 -5.72924,-7.96513 -6.8389,-12.60594 -2.06073,-8.61826 -2.13843,-17.69175 -0.24775,-29.0761 0.74758,-4.50145 1.2711,-6.3944 2.94889,-10.65492 2.05952,-5.22988 3.92995,-8.05966 6.33481,-9.58479 0.73177,-0.46407 1.53429,-0.68984 2.01296,-0.68303 z m 4.8896,0.0103 c 1.10976,0 2.60903,0.79037 3.46504,1.82887 0.86001,1.04331 2.81719,4.88539 2.59964,5.10294 -0.0766,0.0766 -0.95956,-0.0414 -1.96134,-0.26152 -1.00181,-0.22012 -2.40383,-0.39915 -3.11579,-0.39915 -1.1086,0 -1.50252,0.13834 -2.74589,0.96863 -5.69184,3.80088 -8.71839,11.14567 -9.50564,23.07162 -0.27882,4.22402 -0.18173,6.45076 0.50754,11.6184 0.61766,4.63073 1.01621,6.0611 2.54459,9.15983 1.42807,2.89529 2.86687,4.73063 4.62637,5.89608 1.31503,0.87105 1.81671,0.90498 5.21477,0.36474 1.32654,-0.21091 2.50353,-0.29054 2.61513,-0.17893 0.24191,0.24189 -0.91327,2.16109 -2.27275,3.77473 -0.66231,0.78612 -1.52151,1.42694 -2.68051,1.99919 -2.46307,1.21613 -3.17023,1.27348 -4.39582,0.36303 -1.8734,-1.3917 -2.92528,-3.21169 -4.26851,-7.38602 -0.97963,-3.04427 -2.13305,-8.52729 -2.71835,-12.92595 -0.532,-3.99787 -0.7435,-14.07693 -0.37163,-17.67965 0.58067,-5.62562 2.36771,-12.27514 4.51798,-16.80391 0.94082,-1.98156 3.31114,-5.58837 4.4698,-6.80277 0.90999,-0.95377 2.4481,-1.71016 3.47537,-1.71016 z m -144.84711,3.37213 2.47577,0.004 c 1.36209,0.002 2.62047,0.0936 2.79578,0.20473 0.19969,0.12664 0.29095,0.55396 0.24259,1.14412 l -0.0774,0.94282 -2.29512,0.0568 c -2.75337,0.0691 -3.1416,-0.10373 -3.1416,-1.39875 z m -10.75127,0.12044 h 3.97603 3.97774 l 0.17033,0.8396 c 0.0944,0.46182 0.12038,0.92417 0.0568,1.02712 -0.0636,0.10297 -1.90749,0.18753 -4.09647,0.18753 -4.31893,0 -4.32024,-8.8e-4 -4.16356,-1.3695 z m -21.8518,4.34765 c 9.78463,-0.0199 48.31702,0.28827 48.43663,0.41463 0.0362,0.0382 0.10336,0.76544 0.14969,1.61554 l 0.0843,1.54498 -1.57079,0.43528 c -0.89131,0.24661 -4.12962,0.65434 -7.48925,0.94283 -3.25575,0.27958 -6.84487,0.61111 -7.97442,0.73636 -5.04754,0.55972 -32.95224,-0.21018 -33.61815,-0.92733 -0.28302,-0.30483 -0.51434,-4.57187 -0.25635,-4.73132 0.0286,-0.0177 0.84054,-0.0281 2.23834,-0.031 z m 178.34311,0.15829 c 0.18544,-0.002 0.39049,0.0181 0.64689,0.0516 1.77334,0.23143 6.06113,1.67981 6.06641,2.04909 0.003,0.17894 -0.43637,0.82753 -0.97551,1.44004 -2.30697,2.62084 -4.53588,7.16101 -5.48833,11.17623 -1.87758,7.9153 -1.54414,15.37437 1.04778,23.42088 1.151,3.57323 2.14209,5.81655 3.16052,7.15203 0.31359,0.41121 0.56947,0.85799 0.56947,0.99444 0,0.13645 -0.57032,0.3237 -1.26799,0.41463 -0.69766,0.0909 -2.10215,0.37643 -3.12095,0.63485 -1.01881,0.25842 -2.0515,0.45931 -2.29512,0.44733 -2.04613,-0.10066 -3.93968,-1.86836 -5.50037,-5.13563 -2.46949,-5.16983 -3.44307,-11.23216 -3.20525,-19.9696 0.12726,-4.67561 0.21407,-5.48521 0.86196,-8.09485 1.41409,-5.69576 3.18037,-9.68892 5.20962,-11.77496 0.48301,-0.49655 1.53971,-1.35193 2.34844,-1.90113 1.01126,-0.68672 1.38609,-0.8986 1.94243,-0.90496 z m 9.38177,2.9661 c 0.59066,-0.0191 1.18194,0.35956 1.92522,1.10283 1.08141,1.08142 1.86123,2.51378 3.02459,5.5623 3.22602,8.45363 2.97753,20.27495 -0.59873,28.52038 -1.86214,4.2934 -3.16138,6.16568 -4.67454,6.73739 -0.9917,0.37469 -1.3807,0.32021 -2.49469,-0.34753 -1.78169,-1.068 -2.69528,-2.9553 -4.15668,-8.58863 -1.04095,-4.01252 -1.33555,-7.07201 -1.17336,-12.18959 0.2472,-7.80087 2.16794,-14.27028 5.5451,-18.6758 1.08456,-1.41479 1.84368,-2.09678 2.60309,-2.12135 z m -2.53255,4.9567 c -0.0845,0.0308 -0.13076,0.13804 -0.13076,0.32861 0,0.33383 1.24905,2.41978 1.87017,3.12267 0.35848,0.40575 0.78797,0.3757 0.78797,-0.055 0,-0.11738 -0.44804,-0.92646 -0.99443,-1.79791 -0.68696,-1.09564 -1.27954,-1.69091 -1.53296,-1.59832 z m -147.10953,0.19097 0.16,3.33257 c 0.0879,1.83296 0.15829,11.46152 0.15829,21.39759 0,20.35412 0.15442,18.82275 -1.88909,18.82892 -0.62173,0.002 -1.3625,0.0649 -1.6465,0.14108 -0.30048,0.0806 -0.59814,0.006 -0.71228,-0.17893 -0.10789,-0.17457 -0.22142,-7.22345 -0.25119,-15.66496 -0.0298,-8.44149 -0.12613,-18.02597 -0.21506,-21.29953 -0.10255,-3.77551 -0.0768,-6.00525 0.0722,-6.09737 0.12923,-0.0799 1.15563,-0.21639 2.27965,-0.3028 z m -7.04708,0.70196 c 0.25625,0.0223 0.45717,0.0708 0.54023,0.13935 0.23789,0.1963 0.3028,5.32222 0.3028,24.14521 v 23.89572 l -0.62109,0.23571 c -0.34087,0.12958 -1.14204,0.23571 -1.78069,0.23571 h -1.16133 L 214.444,292.7435 c -0.13789,-1.76274 -0.0996,-2.29629 0.19613,-2.7476 0.59692,-0.91101 1.12004,-3.34586 1.12004,-5.20618 0,-1.24377 -0.18002,-2.25905 -0.63658,-3.58892 -0.72697,-2.11751 -0.7497,-3.03901 -0.33033,-13.57285 0.12961,-3.25575 0.2391,-7.98554 0.24087,-10.5104 0.003,-2.52488 0.0743,-5.96484 0.16,-7.6441 l 0.15484,-3.05212 1.11143,-0.12732 c 0.30574,-0.0347 0.61776,-0.0378 0.87401,-0.0155 z m -6.71159,0.17892 c 1.57134,-0.0188 2.55293,0.0684 2.69255,0.24087 0.13211,0.16313 0.0893,6.00293 -0.10668,14.64816 -0.17922,7.90683 -0.33104,14.89265 -0.33721,15.52388 -0.0109,1.18876 -0.0989,1.29207 -0.77077,0.89981 -0.2193,-0.12804 -0.98031,-0.31603 -1.69123,-0.41808 l -1.29208,-0.18581 -0.16001,-4.70895 c -0.0875,-2.58974 -0.30233,-8.7857 -0.47829,-13.76899 -0.17596,-4.9833 -0.32253,-9.76706 -0.32517,-10.63084 l -0.004,-1.57079 z m 157.92102,4.09131 c -0.12409,-0.0129 -0.25248,0.0461 -0.34753,0.19613 -0.116,0.18313 -0.21242,0.68914 -0.21506,1.1252 -0.004,0.96391 0.49454,1.22252 1.31788,0.68303 0.77449,-0.50744 1.09423,-0.49062 1.09423,0.055 0,0.24363 0.0731,0.51529 0.16172,0.60388 0.25217,0.25218 0.55403,0.19426 1.31101,-0.25291 0.95993,-0.56705 0.94107,-1.14411 -0.031,-0.9497 -0.62955,0.12592 -0.76472,0.058 -0.96863,-0.47829 -0.17653,-0.46426 -0.3452,-0.57929 -0.65723,-0.45077 -0.97609,0.40203 -1.26455,0.41109 -1.26455,0.0396 0,-0.32956 -0.19406,-0.54981 -0.40087,-0.57119 z m 7.07633,1.76692 c -0.60023,-0.0397 -1.27443,0.15241 -1.69639,0.54884 -1.95201,1.83382 -2.78022,7.387 -1.94242,13.02919 0.41168,2.77269 0.80875,3.96255 1.60693,4.81218 0.7501,0.79844 2.08373,0.74339 2.90932,-0.11872 1.45677,-1.52124 2.18421,-4.43912 2.18158,-8.75723 -0.003,-4.39061 -0.87142,-8.14257 -2.12824,-9.18564 -0.23688,-0.1966 -0.57065,-0.3048 -0.93078,-0.32862 z m -8.10517,3.95711 c -0.52024,0 -1.11812,1.24063 -0.88777,1.84091 0.14168,0.3693 0.1867,0.36658 0.61077,-0.0172 0.4354,-0.394 0.47299,-0.3901 0.714,0.0602 0.18565,0.34691 0.51544,0.47884 1.2267,0.48862 0.86017,0.0119 0.97379,-0.0528 0.97379,-0.54711 0,-0.71366 -0.5638,-1.18548 -1.18197,-0.98928 -0.33759,0.10714 -0.55876,0.005 -0.74497,-0.34237 -0.14564,-0.27216 -0.46556,-0.49378 -0.71055,-0.49378 z m 1.60005,6.6118 c -0.0695,-0.007 -0.14486,0.0296 -0.22539,0.11011 -0.13284,0.13289 -0.16355,0.37042 -0.0671,0.52647 0.11689,0.18914 0.25701,0.20235 0.41808,0.0413 0.13283,-0.13289 0.16183,-0.36869 0.0654,-0.52474 -0.0584,-0.0946 -0.12148,-0.14611 -0.19097,-0.15313 z m -2.01641,0.19785 c -0.20751,0.0179 -0.43486,0.14992 -0.51099,0.37851 -0.059,0.17715 0.10907,0.30109 0.40432,0.30109 0.29678,0 0.50238,-0.15611 0.50238,-0.38024 0,-0.22202 -0.18819,-0.31725 -0.39571,-0.29936 z m 1.74456,1.40391 c -0.40603,0 -0.62453,0.13354 -0.62453,0.38023 0,0.2518 0.1763,0.35235 0.52475,0.30108 0.77353,-0.11381 0.85669,-0.68131 0.0998,-0.68131 z m -1.74284,0.30281 c -0.31246,-0.0463 -0.65162,0.34157 -0.47141,0.63313 0.17147,0.27748 0.8654,0.0995 0.8654,-0.22194 0,-0.11082 -0.11878,-0.27373 -0.26324,-0.36302 -0.0419,-0.0259 -0.0861,-0.0416 -0.13075,-0.0482 z m 2.39147,4.39238 c -0.63898,0.0159 -2.23835,0.68966 -2.23835,1.00648 0,0.43751 0.75695,0.43325 1.81855,-0.0103 0.81878,-0.3421 1.0524,-0.69773 0.62798,-0.96003 -0.0446,-0.0276 -0.1169,-0.0384 -0.20818,-0.0361 z m 0.17204,1.588 c -0.46868,0 -2.18738,1.22515 -2.04392,1.45725 0.21694,0.35102 0.63666,0.28193 1.50541,-0.24775 0.74007,-0.45123 1.07777,-1.2095 0.53851,-1.2095 z m 1.58285,3.98635 c -0.93508,0 -0.96328,0.0257 -1.16133,1.02713 -0.15538,0.78566 -0.31386,1.02713 -0.6727,1.02713 -0.58412,0 -0.61447,0.61542 -0.0464,0.94625 0.23255,0.13545 0.48865,0.25024 0.56775,0.25464 0.33386,0.0171 0.90951,-0.89137 0.98412,-1.55359 0.0599,-0.53161 0.23411,-0.75183 0.68303,-0.8568 1.0057,-0.23519 0.7501,-0.84476 -0.35442,-0.84476 z m 1.75661,1.05637 c -0.56031,0.0322 -1.4022,1.3891 -1.4022,2.43449 0,0.81828 -0.078,0.97894 -0.48173,0.97894 -0.47284,0 -0.65394,0.47469 -0.31141,0.81724 0.0949,0.0945 0.50325,0.13933 0.9067,0.0998 0.70155,-0.0687 0.73621,-0.12524 0.80518,-1.31273 0.0499,-0.85796 0.21783,-1.37399 0.54367,-1.66886 0.5475,-0.49547 0.59986,-0.91157 0.16001,-1.2766 -0.0654,-0.0542 -0.14019,-0.0768 -0.22022,-0.0722 z m -164.64982,4.87413 c 0.33071,0.006 0.68932,0.1257 1.11831,0.34753 1.43279,0.74093 2.42244,3.12415 2.42244,5.8307 0,1.64276 -0.2213,2.45621 -0.84132,3.07622 -0.92638,0.92639 -3.38375,7.4e-4 -4.58336,-1.72564 -0.59202,-0.85199 -0.73764,-1.33715 -0.81551,-2.71492 -0.12222,-2.16316 0.0273,-2.69846 1.08046,-3.86419 0.59392,-0.6574 1.06778,-0.96028 1.61898,-0.9497 z m -0.28904,2.20393 c -0.22308,-0.0206 -0.42751,0.12544 -0.79314,0.42152 -0.8136,0.65878 -0.80529,2.39006 0.0155,3.26374 0.88329,0.94021 1.82439,0.8203 2.41899,-0.30797 0.44443,-0.84333 0.12021,-2.07846 -0.73637,-2.79921 -0.44025,-0.37045 -0.68189,-0.5575 -0.90497,-0.57808 z m 0.35441,2.23662 c 0.0289,-0.007 0.0597,-0.002 0.0929,0.0189 0.13289,0.0821 0.24259,0.30573 0.24259,0.49722 0,0.19149 -0.1097,0.34754 -0.24259,0.34754 -0.13289,0 -0.24087,-0.2236 -0.24087,-0.49722 0,-0.20523 0.0613,-0.34422 0.14796,-0.36647 z m 20.13649,6.70642 c 0.48538,0.004 1.03134,0.026 1.70155,0.0585 1.6611,0.0807 23.13495,1.11888 47.7192,2.30716 50.48176,2.44009 49.6513,2.39566 49.6513,2.67707 0,0.52928 -3.49306,1.65422 -63.78503,20.55456 -10.16592,3.18682 -18.59281,5.82476 -18.72569,5.86167 -0.31386,0.0871 -107.40394,-10.46582 -107.8809,-10.63084 -0.32215,-0.11146 -0.32215,-0.14687 0,-0.32345 0.38442,-0.2107 3.61473,-0.98882 28.73371,-6.91288 8.69362,-2.05033 15.8529,-3.68142 15.90927,-3.62505 0.22753,0.22755 -0.25157,1.60564 -0.62797,1.8065 -0.22176,0.11834 -4.00443,1.35774 -8.40626,2.75449 -4.40184,1.39672 -8.34361,2.71518 -8.75896,2.92997 -0.7366,0.3809 -0.9408,0.71716 -0.57292,0.94455 0.38566,0.23835 6.79784,0.89337 14.55697,1.48649 7.88612,0.60283 20.3197,1.66766 45.18149,3.86763 6.71084,0.59384 13.61397,1.19168 15.34151,1.32994 1.72755,0.13827 3.39291,0.30732 3.70075,0.37506 0.35824,0.0788 1.44627,-0.28438 3.02116,-1.0082 1.35326,-0.62194 3.71065,-1.64743 5.23886,-2.27963 1.52821,-0.63224 6.41997,-2.95733 10.8717,-5.16661 4.45175,-2.20924 8.50321,-4.13884 9.00155,-4.28915 1.0422,-0.31436 1.2555,-1.07294 0.3613,-1.28175 -1.33076,-0.31074 -16.42504,-2.14404 -22.90301,-2.78202 -11.10596,-1.09376 -25.88611,-2.17468 -29.76773,-2.17468 -1.20359,-1.5e-4 -1.54514,0.33109 -0.5884,0.5712 1.15604,0.29015 28.85435,3.05385 30.60731,3.05385 0.26626,0 0.48346,0.10798 0.48346,0.24086 0,0.37772 -1.18273,0.31252 -15.46194,-0.84991 -11.61013,-0.94515 -13.52793,-1.15609 -14.28857,-1.5708 -0.48321,-0.26343 -1.25593,-0.47829 -1.71704,-0.47829 -0.81227,0 -0.83691,-0.0289 -0.81207,-0.9067 0.0253,-0.89409 0.0415,-0.90848 1.23358,-1.1097 0.66443,-0.11213 1.45758,-0.30253 1.76349,-0.42324 0.61957,-0.24449 1.25411,-1.53583 1.25939,-2.56523 0.002,-0.36969 0.0847,-0.8002 0.1841,-0.95659 0.0995,-0.15643 1.5931,-0.57483 3.3188,-0.92906 2.0888,-0.42874 2.99992,-0.56811 4.45604,-0.55572 z m -16.56477,0.57636 c 0.22991,-0.009 0.39749,5.3e-4 0.44732,0.0292 0.0996,0.0575 0.18237,0.69637 0.18237,1.4194 0,1.21194 -0.0425,1.31206 -0.54366,1.28175 -1.65258,-0.10002 -2.214,-0.60292 -2.06974,-1.85295 0.0662,-0.57403 0.2065,-0.66922 1.16304,-0.80174 0.299,-0.0414 0.59076,-0.0673 0.82067,-0.0757 z m -4.1498,3.37903 0.57981,0.67442 c 0.31883,0.37066 1.03989,0.80719 1.60348,0.97036 0.90721,0.26266 1.02541,0.37933 1.02541,1.01163 v 0.714 l -1.93382,0.0344 c -1.06311,0.019 -2.52943,-0.0574 -3.26031,-0.17033 -0.73088,-0.11295 -2.46403,-0.32574 -3.85043,-0.47141 -1.3864,-0.14567 -2.68167,-0.35448 -2.87836,-0.46453 -0.41552,-0.23256 -0.37048,-0.24802 2.25899,-0.82583 0.93021,-0.20443 2.76216,-0.61961 4.07238,-0.92217 z m -14.30578,3.99323 c 0.73645,0.0367 1.74755,0.22623 3.09514,0.55915 1.50068,0.37076 3.42168,0.62865 5.3593,0.71916 3.9196,0.18306 5.31456,0.38371 5.31456,0.76389 0,0.16705 -0.13498,0.34683 -0.30109,0.39916 -0.33031,0.10408 -2.70356,-0.0771 -6.82686,-0.51959 -1.46176,-0.1569 -3.74481,-0.26425 -5.07369,-0.23914 -3.32618,0.0629 -3.26203,0.0737 -3.26203,-0.56604 0,-0.81646 0.46726,-1.17775 1.69467,-1.11659 z m 19.68916,2.18845 c 1.46177,-0.0137 2.82012,0.0794 3.01945,0.20817 0.24663,0.1594 -0.37007,0.22681 -1.9321,0.20991 -3.41743,-0.0371 -4.32969,-0.38769 -1.08735,-0.41808 z m -27.53454,0.28559 c 0.54767,0.0497 1.29225,0.36885 2.54114,0.98412 0.92236,0.45438 2.19372,0.89518 2.82504,0.97895 0.63131,0.0838 10.98677,0.96426 23.01312,1.95618 12.02635,0.9919 22.5186,1.96377 23.31593,2.16093 1.86065,0.46015 4.47748,0.46414 6.22641,0.009 1.85663,-0.4836 2.59276,-0.21751 2.59276,0.93766 0,1.16306 -0.93491,2.18212 -2.55663,2.78889 -0.73035,0.27327 -1.83921,0.48512 -2.46545,0.4697 -0.62624,-0.0154 -13.2133,-1.07679 -27.96982,-2.35706 -22.35002,-1.93905 -26.93642,-2.3961 -27.46744,-2.74416 -0.95037,-0.62296 -1.88161,-1.96327 -2.03877,-2.93169 -0.11931,-0.73521 -0.0313,-0.96493 0.62453,-1.6207 0.46031,-0.46031 0.81151,-0.68107 1.35918,-0.63142 z m 34.60227,0.16001 c 1.18353,-0.005 22.47607,1.68365 23.2299,1.84263 0.3182,0.0671 0.48021,0.21034 0.3613,0.31829 -0.35705,0.32428 -1.59738,0.4337 -2.75276,0.24259 -1.97382,-0.32649 -9.93774,-0.93612 -15.50152,-1.18541 -3.01054,-0.1349 -5.64623,-0.31088 -5.85823,-0.39227 -0.75848,-0.29106 -0.42351,-0.82142 0.52131,-0.82583 z m 37.62515,0.48861 c 1.53481,0 9.78872,0.93985 10.39513,1.18369 0.6224,0.25029 1.27272,-0.0735 -13.34059,6.64106 -10.98936,5.04939 -11.98874,5.4603 -13.16855,5.43326 -2.60583,-0.0596 -26.80359,-2.36348 -31.11658,-2.96266 -9.20943,-1.27943 -17.53136,-2.01194 -30.44214,-2.68051 -7.20939,-0.37332 -12.8373,-0.80083 -13.02575,-0.98927 -0.2157,-0.21571 0.27724,-0.39486 4.5954,-1.66886 2.44372,-0.72098 5.578,-1.69644 6.96622,-2.16781 1.38821,-0.47139 2.60278,-0.8568 2.69771,-0.8568 0.0949,0 0.4092,0.48972 0.69851,1.08735 0.6092,1.25845 2.02327,2.55815 3.74548,3.44267 1.17688,0.60447 1.91794,0.67996 28.75092,2.98331 l 27.54487,2.36566 7.04536,-3.46504 c 5.31708,-2.61489 7.15371,-3.63102 7.48924,-4.14291 0.46742,-0.71312 0.58211,-2.63354 0.2185,-3.65946 -0.18222,-0.51412 -0.13094,-0.54368 0.94627,-0.54368 z m -5.30768,0.72433 c 0.57748,0 1.0747,0.21285 1.60865,0.68991 0.74267,0.66359 0.75937,0.72041 0.4456,1.47789 -0.17947,0.43327 -0.75967,1.10159 -1.28864,1.48477 -1.11374,0.80679 -1.37029,0.85803 -1.37293,0.27356 -0.002,-0.72781 -0.87616,-1.89736 -1.66199,-2.22286 -0.41439,-0.17164 -0.75357,-0.38628 -0.75357,-0.47657 0,-0.32963 2.21067,-1.2267 3.02288,-1.2267 z m 46.29636,5.99242 c 0.0827,0.0931 0.21762,7.73617 0.29936,16.98457 l 0.14797,16.81424 -2.16265,2.83363 c -6.44216,8.43719 -10.45658,16.42031 -12.64551,25.14995 -1.95794,7.80836 -2.67607,14.08132 -2.68223,23.43465 -0.006,8.86973 0.47638,13.58308 2.0663,20.14508 0.39861,1.64521 0.63711,3.0759 0.52819,3.17945 -0.10892,0.10355 -1.8296,1.0542 -3.82291,2.11274 -1.99332,1.05854 -4.60203,2.49346 -5.79801,3.18805 -1.19599,0.69457 -7.85622,4.14235 -14.79956,7.6613 -8.68446,4.40136 -12.65564,6.29826 -12.72294,6.07673 -0.12426,-0.40864 -1.10825,-72.46749 -1.28864,-94.36483 -0.11535,-14.00246 -0.0844,-16.49961 0.20302,-16.59229 0.18604,-0.06 5.12271,-1.57635 10.96977,-3.3687 5.84706,-1.79232 17.58973,-5.54528 26.0945,-8.34088 8.5048,-2.79562 15.53063,-5.00674 15.61334,-4.91369 z m -173.47415,5.61909 c 1.95148,-0.027 10.04811,0.69316 37.07288,3.24482 79.98151,7.55182 80.42058,7.59579 80.70421,7.97614 0.36805,0.49352 0.52528,12.79827 0.85509,66.63758 0.16254,26.52908 0.18893,45.21656 0.0619,45.3329 -0.11885,0.10908 -0.48844,0.10796 -0.82067,-0.004 -0.33221,-0.11144 -5.71504,-1.13592 -11.96077,-2.27619 -52.14664,-9.52036 -103.47421,-19.0019 -103.77239,-19.16958 -0.19932,-0.11211 -0.67656,-0.64732 -1.05981,-1.18885 l -0.6968,-0.98412 -0.81206,-47.43703 c -0.44712,-26.08975 -0.78661,-48.41201 -0.75357,-49.60657 0.0573,-2.07059 0.09,-2.18615 0.68475,-2.47061 0.0652,-0.0312 0.21843,-0.0512 0.49721,-0.0551 z m 247.2414,5.84274 c 0.42514,0.0819 -3.10545,1.76918 -10.00114,4.78122 -2.65776,1.16092 -6.51684,2.89186 -8.57659,3.84698 -2.05977,0.95516 -6.92452,3.36179 -10.81148,5.34726 -3.88697,1.98548 -7.06521,3.52703 -7.06257,3.42718 0.021,-0.73705 9.70402,-6.21568 17.54028,-9.92371 7.09391,-3.35675 17.97519,-7.65925 18.9115,-7.47893 z m 9.43855,20.32402 c 0.97222,0.006 1.96402,0.35002 2.96094,1.04089 0.91972,0.63735 3.76807,4.61048 4.29087,5.98554 0.63904,1.68085 1.20201,9.27937 1.23531,16.69037 0.0372,8.26819 -0.16983,10.12208 -1.69124,15.22796 -1.9719,6.61783 -4.35587,10.10484 -8.11377,11.86614 -1.46205,0.68528 -2.88238,0.72694 -3.88829,0.11355 -1.64206,-1.00131 -3.85437,-5.30606 -4.54549,-8.84498 -1.17299,-6.00622 -1.50218,-15.62578 -0.75186,-21.97911 0.41644,-3.52649 1.5828,-8.51373 2.6461,-11.31387 2.19767,-5.78746 4.94078,-8.80516 7.85743,-8.78649 z m 0.27872,1.49337 c -3.02563,-0.25358 -6.51846,4.80236 -8.27379,12.17239 -0.8954,3.75947 -1.20698,6.59508 -1.34541,12.27046 -0.14473,5.93399 0.0639,9.30617 0.92734,15.05591 0.55361,3.68634 1.44692,5.9077 3.15707,7.85055 0.675,0.76684 1.14457,1.08904 1.58629,1.08905 1.65474,0 4.73107,-2.38628 6.20577,-4.81389 1.74995,-2.88075 3.41691,-8.21394 4.14463,-13.26146 0.24634,-1.70873 0.40663,-5.11564 0.47313,-10.07168 0.12802,-9.53892 -0.18704,-11.64783 -2.37426,-15.89894 -1.13929,-2.2143 -2.63504,-3.85207 -3.90204,-4.27023 -0.19691,-0.065 -0.39704,-0.10515 -0.59873,-0.12216 z m -12.16723,1.61381 c 0.5475,0.10729 -3.85034,2.52165 -12.62487,6.93181 -4.25241,2.13731 -9.61713,4.86686 -11.92292,6.06469 -2.3058,1.19787 -4.31719,2.17393 -4.46981,2.16953 -0.82796,-0.0228 3.80526,-2.97618 10.2317,-6.52062 7.30749,-4.0304 17.76946,-8.84457 18.7859,-8.64541 z m 11.94013,14.3574 c 0.59041,-0.0329 1.1408,0.30419 1.52262,1.04261 1.21031,2.34052 1.41878,7.96521 0.38194,10.30911 -0.28571,0.6459 -0.74983,1.42156 -1.03228,1.7222 -0.66139,0.70473 -1.71033,0.70834 -2.36222,0.009 -0.94532,-1.01468 -1.32994,-2.91764 -1.32994,-6.59459 0,-3.1564 0.0435,-3.47111 0.61594,-4.58336 0.62044,-1.20564 1.44482,-1.86057 2.20394,-1.90285 z m -0.24948,1.0667 c -0.40173,0.0772 -0.80771,0.69119 -1.15444,1.88392 -0.70162,2.41346 -0.38044,7.70499 0.55571,9.17532 1.3384,2.10201 2.92071,-2.81879 2.30545,-7.16924 -0.37573,-2.65685 -1.03716,-4.01862 -1.70672,-3.89 z m -44.73416,5.40574 c 2.62908,-0.13057 4.9265,1.30216 6.93352,4.30292 2.05954,3.07922 3.17682,7.28219 3.71107,13.95996 0.70528,8.81522 -1.53829,20.03432 -5.67757,28.38963 -1.85444,3.74327 -3.27915,5.46807 -5.48833,6.64792 -1.33386,0.71235 -1.79384,0.82823 -3.58376,0.89466 -3.02389,0.11228 -3.89687,-0.29773 -6.89912,-3.23967 -2.82656,-2.76974 -5.36129,-9.05923 -6.40706,-15.89895 -0.37907,-2.48011 -0.37966,-8.86069 -0.002,-11.35688 1.32141,-8.72725 5.14637,-16.1059 10.65665,-20.558 2.46552,-1.99203 4.71147,-3.04005 6.75632,-3.14159 z m 0.29076,1.59145 c -2.23051,0 -5.16283,1.75 -8.15851,4.86723 -3.81789,3.97281 -6.30123,9.0849 -7.64753,15.7441 -0.47032,2.32624 -0.54476,3.43275 -0.53507,7.90044 0.01,4.4477 0.0883,5.55536 0.55227,7.70258 1.34123,6.2071 3.19925,10.40712 5.62941,12.73326 1.54691,1.48073 2.19829,1.93072 3.33429,2.30201 0.33997,0.11119 1.32467,0.16721 2.18845,0.12387 3.90593,-0.1959 6.36538,-2.83361 9.15982,-9.82221 2.93546,-7.3413 4.62845,-16.19743 4.29948,-22.4815 -0.15002,-2.86586 -0.97223,-8.77042 -1.52951,-10.97493 -1.1417,-4.51633 -4.36611,-8.09485 -7.2931,-8.09485 z m -2.08867,18.60525 c 1.1463,0 1.95835,1.05239 2.17985,2.82502 0.25036,2.00364 -0.0466,7.69553 -0.48689,9.33361 -0.35267,1.3121 -1.27436,3.35355 -1.00132,2.21769 0.66627,-2.77174 0.86967,-9.34726 0.36302,-11.70957 -0.28069,-1.3088 -0.84874,-1.84062 -1.68263,-1.57597 -1.16311,0.36915 -1.8985,3.61979 -1.91145,8.44067 -0.007,2.50314 -0.0698,3.06836 -0.31141,2.82675 -0.21878,-0.2188 -0.29949,-1.44687 -0.2942,-4.45776 0.007,-3.75198 0.0612,-4.29063 0.55916,-5.53994 0.63953,-1.60454 1.46828,-2.3605 2.58587,-2.3605 z m 37.4187,14.3746 c 0.0589,0.006 0.0698,0.0417 0.0275,0.11011 -0.29072,0.47045 -2.92624,2.14104 -11.76292,7.4514 -4.82962,2.90232 -10.18265,6.16574 -11.89538,7.25353 -2.86762,1.82135 -4.04796,2.37907 -3.63881,1.71704 0.26091,-0.42217 4.35532,-3.39545 7.36021,-5.34381 7.26586,-4.71118 19.02524,-11.28656 19.90937,-11.18827 z m -64.44742,4.5369 c 2.03869,15.75825 5.65744,20.40038 11.73711,27.33841 0.63859,0.72876 2.20723,1.82927 1.92178,2.17985 -0.19893,0.24432 -1.72668,-0.8147 -2.4689,-1.5708 -8.06301,-8.21381 -10.13983,-13.05334 -12.01753,-27.52422 z"; -const shrug2 = - "m 375.08029,32.171411 c -0.95374,0.04955 -3.1016,0.746694 -5.01915,1.698007 -3.50114,1.736977 -6.48138,3.68003 -8.68809,5.664045 -2.31653,2.082701 -4.91969,6.067547 -5.85003,8.956198 -0.42097,1.306802 -0.88035,2.374309 -1.0217,2.374309 -0.45349,10e-7 -0.72268,-2.391155 -0.5169,-4.594036 0.24623,-2.63736 0.78604,-3.961321 2.40089,-5.88626 0.74868,-0.892357 1.13048,-1.618184 0.94682,-1.801867 -0.45856,-0.458644 -5.4367,2.029017 -9.73153,4.862142 -4.90637,3.236539 -10.09515,8.355952 -11.72904,11.574461 -0.63886,1.258582 -1.29824,2.289103 -1.46371,2.289771 -0.29952,0.0012 -0.0803,-3.395291 0.33332,-5.17131 0.15619,-0.67082 0.0871,-0.931328 -0.24637,-0.922671 -0.79975,0.01982 -4.59569,3.280777 -6.40073,5.497384 -0.95112,1.168072 -2.60021,3.03991 -3.66412,4.159269 -1.88122,1.979093 -3.9843,5.5028 -4.7921,8.03111 -0.21889,0.685263 -0.5026,2.194471 -0.63282,3.35495 -0.14816,1.321295 -0.42767,2.21798 -0.74636,2.398459 -0.39314,0.222712 -100.19161,25.741088 -191.34087,48.925768 -4.77405,1.21431 -9.53472,2.58621 -10.57933,3.0482 -1.69066,0.74767 -1.92483,0.97497 -2.13037,2.06998 -0.12688,0.67664 -0.0422,3.7036 0.18599,6.7268 1.31297,17.39549 3.2692,51.66942 2.97091,52.04884 -0.18241,0.23201 -1.11471,0.85989 -2.07239,1.39366 -0.95755,0.53378 -3.8432,2.15343 -6.4104,3.59891 -2.5672,1.4455 -4.8683,2.54899 -5.11576,2.45401 -0.35022,-0.13437 -0.50056,-2.17691 -0.6763,-9.2098 -0.34268,-13.70752 -1.63116,-30.23584 -3.97812,-51.06578 -0.95545,-8.48035 -3.61363,-27.80391 -4.3863,-31.8829 -1.24916,-6.594788 -2.66818,-9.293498 -5.79448,-11.023748 -1.6449,-0.91044 -2.12286,-1.01266 -4.55057,-0.97099 -3.01314,0.0517 -6.55159,1.00143 -10.5286,2.82599 l -2.3888,1.09416 -9.43444,-1.89123 c -7.63386,-1.53097 -9.57499,-1.8183 -10.16388,-1.50478 -3.11492,1.65838 -51.37023749,29.591328 -51.73242049,29.945768 -0.393385,0.38499 -0.0085,2.17734 2.49024499,11.59621 1.745585,6.57966 3.1845,11.36832 3.516781,11.69522 0.609468,0.59961 26.9220985,9.1132 28.1656445,9.1132 0.457024,0 9.117919,-6.0306 21.90017,-15.24583 11.6298,-8.38439 21.99542,-15.78731 23.03298,-16.45109 1.6961,-1.08497 2.59653,-1.45621 2.59653,-1.07002 0,0.0752 0.52479,4.00521 1.16662,8.73398 2.82703,20.82523 3.78061,33.29664 4.59645,60.15725 0.18698,6.15649 0.42974,12.16149 0.54104,13.34492 0.22384,2.39069 1.2526,6.39678 2.02651,7.89343 1.0785,2.08565 5.19166,3.19828 8.16152,2.20766 0.91058,-0.30373 5.76352,-2.69365 10.78464,-5.3114 5.02113,-2.61777 9.24019,-4.64165 9.37647,-4.49502 0.13616,0.14662 2.01994,28.81135 4.18584,63.69817 2.16579,34.88681 4.02517,64.23035 4.13029,65.20779 0.17672,1.63185 0.12865,1.80145 -0.59418,2.07963 -0.43296,0.16663 -3.6851,0.64536 -7.2268,1.06277 -11.35485,1.33823 -16.76438,2.83331 -20.46301,5.65438 -5.51518,4.20663 -12.31841,19.35299 -14.44635,32.1655 -1.46236,8.8047 -1.55959,23.36791 -0.21496,32.22347 1.60656,10.58026 4.09667,19.22438 7.62291,26.45798 4.29866,8.81834 8.98583,14.41509 17.35685,20.72871 5.79751,4.37257 -2.06988,2.95933 76.28467,13.69033 38.05828,5.21223 70.33978,9.61632 71.73895,9.78708 l -0.002,0.002 c 3.57979,0.43689 9.52967,0.46065 12.79905,0.0507 4.77936,-0.59929 15.02422,-4.24205 28.07628,-9.98272 3.82243,-1.68122 5.35723,-2.54054 6.16886,-3.44916 l 1.07968,-1.20768 3.15929,0.39371 c 1.73777,0.21733 4.7631,0.61018 6.72198,0.87195 16.49607,2.2045 33.71234,4.30384 35.10742,4.28245 1.03844,-0.016 6.75895,-1.42049 14.75551,-3.62547 12.4094,-3.42172 21.93521,-6.02658 69.53613,-19.01139 11.28684,-3.07893 21.07116,-5.83568 21.74317,-6.12538 2.01639,-0.86928 3.01922,-2.01425 3.01922,-3.45157 10e-4,-0.69204 -1.91023,-32.01422 -4.24865,-69.60617 l -4.25105,-68.34776 -1.17387,-1.10382 -1.17145,-1.10142 -4.67134,0.002 c -2.56794,0.001 -13.95661,0.22926 -25.30825,0.50723 -11.35164,0.27791 -20.76495,0.4265 -20.91954,0.3309 -0.15458,-0.0956 -0.19448,-1.00932 -0.0894,-2.03133 0.22347,-2.16449 -0.54619,-4.61479 -1.70284,-5.42492 -1.99438,-1.39693 -4.91426,-0.12486 -6.20992,2.70521 -0.90734,1.98209 -1.01457,2.0457 -3.94672,2.37915 -1.83176,0.20824 -1.9492,0.17811 -1.9492,-0.49756 0,-1.00199 -0.89797,-2.63283 -1.67868,-3.05062 -1.25015,-0.66904 -2.07536,-0.34425 -4.23174,1.66177 -1.18844,1.10565 -2.79949,2.33623 -3.57958,2.73421 -1.51545,0.77316 -5.39822,1.38343 -13.32318,2.09412 -4.53623,0.40681 -4.70911,0.39738 -6.18335,-0.31882 -0.97153,-0.47203 -1.57587,-1.01506 -1.68594,-1.50962 -0.25995,-1.16825 -0.86228,-8.34046 -0.86228,-10.29189 v -1.71734 l 1.8526,-0.58451 1.85258,-0.58452 0.0991,-3.12308 0.0966,-3.12548 1.98785,-0.17633 c 1.68026,-0.14934 2.11972,-0.33442 2.83081,-1.18836 2.25667,-2.71018 3.21663,-6.67287 2.7342,-11.28703 -0.47216,-4.51695 -1.60395,-5.72077 -5.90558,-6.28722 l -2.99748,-0.39612 -0.20772,-1.5265 c -0.38547,-2.8068 -1.45859,-22.36657 -1.23908,-22.58614 0.2503,-0.25023 27.08144,-4.08489 31.60271,-4.51675 2.30366,-0.22003 3.13619,-0.43573 3.47813,-0.90335 0.64319,-0.87951 0.62505,-7.38072 -0.0218,-7.91758 -0.51556,-0.42785 -13.64376,-1.38261 -18.69497,-1.35986 -1.67903,0.007 -6.10412,0.44254 -9.8354,0.96615 -3.73116,0.52361 -6.89547,0.8546 -7.03114,0.73427 -0.42294,-0.37545 -0.73242,-6.01758 -0.34299,-6.25823 0.19329,-0.11946 8.03825,-0.74507 17.43174,-1.39125 21.10233,-1.45165 19.16071,-1.26842 48.49341,-4.55298 17.83056,-1.99659 24.61773,-2.87715 25.51839,-3.30664 1.2828,-0.61175 2.18316,-2.33784 1.77531,-3.40084 -0.17462,-0.45511 -4.60371,-61.4809 -4.60371,-63.37935 7.5e-4,-0.37312 1.55,-3.57828 3.44433,-7.12292 1.89433,-3.54465 6.21981,-11.93103 9.61075,-18.637 3.39095,-6.70597 6.42963,-12.353488 6.75339,-12.550268 0.48873,-0.29713 0.90046,-0.0242 2.42987,1.60863 1.01282,1.081418 1.84292,2.196798 1.84292,2.478178 0,0.28138 -0.59119,1.37945 -1.31155,2.44194 -3.48234,5.13571 -5.13508,10.53263 -5.13508,16.76509 0,9.32965 4.75981,18.20218 11.62519,21.67554 5.00406,2.53167 11.93965,3.02211 15.71681,1.11107 2.05782,-1.04119 5.43781,-4.45018 5.78482,-5.83312 0.29037,-1.15659 -0.43706,-1.71346 -3.14722,-2.41055 -2.63658,-0.6782 -2.71077,-0.6653 -5.05537,0.98306 -1.48747,1.04576 -1.93842,1.18836 -3.78006,1.18836 -1.78168,0 -2.30671,-0.15444 -3.55785,-1.03378 -3.20879,-2.25525 -6.06009,-7.95148 -6.32103,-12.62755 -0.34107,-6.11467 2.52502,-14.70199 6.25098,-18.72638 2.16851,-2.3423 3.92772,-3.27445 6.75339,-3.58441 1.89507,-0.20791 2.1322,-0.15628 3.13032,0.68356 2.26904,1.90927 4.67745,8.58187 5.52395,15.3062 0.51409,4.08518 0.2563,6.96584 -0.88403,9.81607 -0.49021,1.22533 -0.81029,2.44054 -0.71012,2.70038 0.32611,0.84975 1.72184,1.49944 3.71968,1.73425 1.90039,0.22334 1.99662,0.19529 3.13756,-0.9106 1.32966,-1.28872 2.58791,-4.74187 3.23902,-8.8934 0.45955,-2.93019 0.18167,-10.10826 -0.49515,-12.7894 -1.64985,-6.53606 -6.21547,-12.121718 -11.68315,-14.296568 -1.66444,-0.66207 -2.57026,-0.77392 -6.35002,-0.78258 -3.94943,-0.009 -4.60149,0.0756 -6.23648,0.81155 -1.79145,0.8064 -1.8342,0.80904 -2.29944,0.16667 -3.71953,-5.13562 -7.61118,-9.10604 -10.11074,-10.31606 -1.6606,-0.80383 -4.2183,-0.89213 -5.56985,-0.19323 -1.41921,0.73391 -4.58571,4.30937 -6.15678,6.95386 -0.76463,1.28705 -3.11164,6.05543 -5.2172,10.593818 -4.95286,10.67539 -5.95769,12.63731 -6.27997,12.27733 -0.1458,-0.16294 -0.67972,-6.23385 -1.18837,-13.49225 -0.50851,-7.258428 -1.05955,-13.547908 -1.22217,-13.975348 -0.1625,-0.42746 -0.64428,-1.00694 -1.07242,-1.28739 -0.55093,-0.36095 -8.30883,-1.37039 -26.55701,-3.45639 -16.27828,-1.86083 -25.94954,-3.1028 -26.23818,-3.36945 -0.7441,-0.68729 -1.1344,-5.645168 -0.73186,-9.301606 0.44001,-3.995223 2.61454,-12.573187 4.07715,-16.086369 2.57177,-6.177835 6.91817,-10.984554 12.2889,-13.590354 3.17404,-1.539988 7.21701,-2.697019 10.85468,-3.108583 1.57477,-0.178155 1.96443,-0.338279 1.88158,-0.772919 -0.0712,-0.376554 -0.52842,-0.577061 -1.45889,-0.637658 -0.74472,-0.04852 -3.03223,-0.310721 -5.08436,-0.584521 -8.38005,-1.118098 -14.5187,-0.962869 -20.83982,0.526552 -5.30334,1.249581 -11.59719,4.839524 -14.40287,8.217093 -0.64677,0.77862 -1.27866,1.313069 -1.40332,1.188362 -0.74954,-0.749445 2.27331,-6.464359 5.35488,-10.125237 1.07281,-1.274535 1.9492,-2.422041 1.9492,-2.550632 0,-0.141574 -0.18448,-0.197669 -0.50239,-0.181152 z m -47.75914,42.88975 c 3.46133,0.171279 18.7361,1.850581 53.18164,5.830711 29.47665,3.40597 53.84774,6.29673 54.15988,6.42488 0.31201,0.12817 0.65802,0.4694 0.76808,0.75602 0.10994,0.28662 1.98423,25.765928 4.1641,56.621128 2.82505,39.98814 3.85872,56.20438 3.5989,56.46413 -0.92812,0.92816 -4.02772,1.06528 -29.95785,1.32846 -68.19287,0.69213 -78.28587,0.7281 -78.57686,0.27052 -0.49244,-0.77462 -8.53407,-127.251192 -8.11806,-127.678944 0.0338,-0.03476 0.28569,-0.04138 0.78017,-0.01691 z m -2.57962,0.128008 c 0.32685,0.32674 8.5837,127.609401 8.29679,127.896341 -0.10474,0.10487 -8.85332,1.22946 -19.44131,2.4999 h -0.002 c -10.588,1.27042 -19.82005,2.31381 -20.51617,2.31876 -1.04486,0.007 -1.2923,-0.12342 -1.41782,-0.75359 -0.0836,-0.41977 -1.76731,-27.32132 -3.74141,-59.78286 -1.97409,-32.46153 -3.6585,-59.554998 -3.74382,-60.207958 -0.085,-0.65297 -0.0314,-1.38465 0.11835,-1.62554 0.34948,-0.56213 40.07137,-10.721496 40.44781,-10.345053 z m -42.28591,10.656623 c 0.29087,-0.0189 0.12182,0.0952 0.19082,0.16425 0.46338,0.46396 7.9332,121.949248 7.51422,122.208128 -0.65877,0.40715 -36.92952,4.54457 -37.83921,4.31626 -0.50036,-0.12557 -1.0362,-0.56849 -1.19078,-0.98305 -0.15458,-0.41454 -0.61925,-5.63834 -1.03378,-11.60828 -0.41466,-5.96993 -0.91282,-11.04417 -1.10624,-11.27736 -0.19329,-0.2332 -0.77796,-0.42511 -1.29947,-0.42511 -0.5215,0 -10.43806,1.37399 -22.03543,3.05303 -11.59737,1.67905 -21.64586,3.05297 -22.33011,3.05544 -1.96321,0.006 -9.26598,1.59961 -9.80641,2.14002 -0.42541,0.42539 -0.0255,7.83465 3.09651,57.23705 1.97249,31.21186 3.72291,56.88527 3.88875,57.05108 0.27429,0.27424 40.62624,-0.10326 63.73924,-0.59659 l 8.90547,-0.19082 0.30917,0.77533 c 0.32648,0.81705 1.89049,21.37255 1.89124,24.859 3.7e-4,1.80312 -0.0777,2.03687 -0.67873,2.05307 -0.3731,0.01 -2.35591,-0.0252 -4.40804,-0.0798 -2.05226,-0.0544 -17.24175,-0.41096 -33.7524,-0.79225 -16.51054,-0.3813 -45.74083,-1.06984 -64.95658,-1.52893 -19.21563,-0.4591 -36.53972,-0.83925 -38.49861,-0.84296 -1.95888,-0.004 -3.76106,-0.13292 -4.00468,-0.28743 -0.33762,-0.21415 -1.40848,-15.63623 -4.50226,-64.86721 -2.23231,-35.52233 -4.01674,-65.19681 -3.96604,-65.94205 l 0.0918,-1.35502 4.74862,-2.62068 c 2.61185,-1.44182 4.93684,-2.6254 5.16648,-2.63035 0.58,-0.0127 0.63764,0.39709 1.44197,10.33539 0.39252,4.85056 0.80419,9.54582 0.91301,10.43198 l 0.19807,1.61106 h 1.50478 c 2.64091,0 37.55433,-3.39422 38.33677,-3.72692 0.69365,-0.29494 0.73722,-0.4835 0.5652,-2.45161 -1.02434,-11.72062 -2.70744,-38.83882 -2.43229,-39.17974 0.18328,-0.22698 2.26451,-1.58504 4.62543,-3.0192 2.36106,-1.43416 6.24671,-3.88239 8.63497,-5.43942 2.38825,-1.55703 4.39564,-2.83082 4.46119,-2.83082 0.0659,0 0.54422,0.72488 1.06275,1.61105 2.1941,3.74871 6.11756,6.88196 13.52126,10.79912 5.66877,2.99924 7.65614,3.62408 11.04066,3.46365 2.43957,-0.11563 3.24556,-0.31768 5.24377,-1.3043 5.729,-2.82867 11.20393,-10.66311 13.45604,-19.25776 1.43107,-5.46144 1.19207,-13.82196 -0.58453,-20.4606 -2.23911,-8.36674 -7.74503,-15.543 -13.22657,-17.23609 -4.85455,-1.49939 -9.6002,-1.12237 -15.57431,1.23426 -7.04791,2.78013 -10.59448,5.44102 -13.85941,10.39575 -3.06508,4.65127 -4.89231,10.60947 -4.50708,14.69512 0.20714,2.19652 0.38711,2.03056 -7.24129,6.71956 -3.26479,2.00682 -6.50229,4.01119 -7.19297,4.45394 -0.7812,0.50083 -1.33653,0.6716 -1.47095,0.45409 -0.11885,-0.19224 -0.49912,-5.26493 -0.84539,-11.27253 -0.74336,-12.89624 -0.90663,-14.60359 -1.5241,-16.08155 -0.46214,-1.10591 -0.82112,-1.26447 -2.53614,-1.12073 -0.46647,0.0391 -8.84428,1.79779 -18.61768,3.90808 -15.96492,3.44714 -17.85903,3.92713 -18.64184,4.70997 l -0.86953,0.86954 1.6038,20.76252 c 1.29801,16.79529 1.52095,20.84426 1.17147,21.18039 -0.54167,0.52097 -9.05006,5.21963 -9.45136,5.21963 -0.16249,0 -0.36752,-0.34109 -0.45409,-0.76085 -0.23608,-1.13659 -3.26828,-51.2823 -3.25592,-53.8821 0.01,-2.4936 0.30518,-2.95122 2.48543,-3.86218 0.69488,-0.29034 35.56745,-9.29055 77.49477,-20.0017 75.24001,-19.221438 85.13018,-21.769838 86.39058,-21.851858 z m 176.48393,0.29468 c 2.52504,0 4.13661,2.98255 3.48056,6.4418 -0.43296,2.28283 -0.65902,2.63734 -2.23664,3.51678 -1.13972,0.63529 -1.6373,1.34879 -3.53128,5.055368 -1.21267,2.37314 -2.28032,4.31622 -2.3743,4.31869 -0.0936,0.002 -0.70484,-0.71712 -1.35743,-1.59657 -0.65259,-0.87944 -1.82475,-2.06153 -2.6062,-2.62792 -0.78144,-0.5664 -1.4296,-1.24016 -1.44197,-1.495108 -0.0111,-0.25495 0.9329,-2.31021 2.09896,-4.56989 1.65676,-3.2109 2.63969,-4.64955 4.49741,-6.57706 1.98684,-2.06161 2.556,-2.46609 3.47089,-2.46609 z m 4.37183,1.46372 c 0.70385,0.22552 4.44981,3.94361 4.63751,4.66167 0.28876,1.10423 -1.34475,3.91997 -2.62792,4.52882 -2.36291,1.12127 -3.02913,0.53142 -2.17867,-1.92989 0.70144,-2.03024 0.80387,-4.4042 0.25603,-5.97562 -0.20751,-0.59704 -0.29234,-1.17331 -0.18598,-1.28016 0.0179,-0.0179 0.0521,-0.0199 0.099,-0.005 z m -125.57032,2.49266 c -0.33922,0.13018 -0.41122,0.70672 -0.2826,2.26561 0.0949,1.14933 1.38291,23.203018 2.86222,49.007888 1.4793,25.80487 2.79137,47.08379 2.91776,47.28814 0.26428,0.42754 90.66483,0.0942 91.06192,-0.33573 0.12725,-0.13783 -1.11874,-19.40879 -2.77044,-42.82213 -1.65182,-23.41334 -3.00926,-43.17969 -3.02163,-43.92594 -0.01,-0.74623 -0.14857,-1.55959 -0.30674,-1.809108 -0.21123,-0.33334 -12.1858,-1.70064 -45.14813,-5.14957 -24.67272,-2.58156 -45.06231,-4.61513 -45.31236,-4.51916 z m -253.36762,2.54822 c 0.32494,-0.007 0.63085,-0.002 0.91059,0.0169 2.19856,0.15205 4.14436,1.27938 5.152,2.98539 1.10249,1.86623 2.64101,7.810798 2.42261,9.359568 -0.22829,1.61812 -1.92662,3.80366 -3.95155,5.08195 -1.9778,1.24851 -4.37355,2.0256 -5.84519,1.89847 l -1.31639,-0.11353 0.24396,-7.37412 c 0.19737,-5.968968 0.15642,-7.440568 -0.21013,-7.724368 -0.24907,-0.19283 -1.59831,-0.54472 -2.99748,-0.78258 -3.63829,-0.61848 -3.8925,-0.84308 -1.93955,-1.71008 2.02957,-0.90102 5.25654,-1.58449 7.53113,-1.63762 z m -31.20901,0.36955 c 1.36056,-0.12579 24.6362,4.73682 24.66094,5.15198 0.0111,0.17758 -11.01847,6.779798 -24.50877,14.670968 -13.490252,7.89116 -24.688238,14.3352 -24.885573,14.32074 C 26.785885,127.03822 3.8207595,121.53808 3.8232325,121.26481 3.8289215,120.70134 51.99741,93.122582 53.16443,93.014622 Z m 415.97042,0.59419 c 0.26007,0.006 3.46776,4.44068 4.11095,5.68336 0.5074,0.980248 -0.32949,2.532938 -1.87916,3.492628 -1.08023,0.66899 -2.39815,0.84241 -3.01921,0.39612 -0.19069,-0.13706 -1.08024,-1.12111 -1.97819,-2.18592 -1.52716,-1.810998 -1.77259,-2.642408 -0.77534,-2.642408 0.73446,0 2.60156,-2.21092 2.95883,-3.5047 0.18884,-0.68407 0.45091,-1.24156 0.58212,-1.23908 z M 52.85526,95.340632 33.339061,106.70978 c -10.732886,6.2527 -19.73467,11.58564 -20.006515,11.84981 -0.329585,0.32027 -0.383231,0.59257 -0.156995,0.81881 0.186601,0.1866 3.46348,1.0135 7.279931,1.83809 3.81645,0.8246 7.344596,1.51273 7.84029,1.52893 0.601195,0.0197 7.262692,-3.65519 20.011348,-11.03824 10.51137,-6.0874 19.41125,-11.35077 19.77706,-11.69764 0.42455,-0.402918 0.54882,-0.749158 0.34057,-0.956488 -0.17932,-0.1785 -3.75704,-1.08532 -7.949,-2.01684 z m 428.07142,0.47341 c 4.39494,-0.14153 8.30809,1.43728 11.46819,4.666498 2.80402,2.86525 4.15946,5.51787 4.98049,9.75327 0.93913,4.8446 0.81378,5.8379 -0.31642,2.53371 -1.37938,-4.03277 -2.94957,-6.72128 -5.44183,-9.31608 -2.12447,-2.21185 -2.34978,-2.34831 -4.67373,-2.86221 -5.53447,-1.223888 -7.54578,-0.58014 -12.01164,3.85251 -2.36316,2.34562 -3.18746,3.44932 -4.32111,5.7824 -1.72269,3.54526 -2.38093,6.03932 -2.64966,10.02379 -0.30038,4.45304 0.24853,7.0773 2.40812,11.51649 2.27436,4.67513 4.31484,6.79072 7.6374,7.91276 3.84036,1.29689 7.84765,0.77661 9.65183,-1.25117 0.69365,-0.77977 1.71582,-0.95641 2.08447,-0.35989 0.40761,0.65959 -1.6561,2.3632 -4.71723,3.89599 -2.85485,1.42954 -3.13744,1.50144 -5.76548,1.46372 -4.46661,-0.0641 -6.19252,-0.48446 -8.90306,-2.17383 -4.77701,-2.97743 -8.24223,-7.97412 -9.66873,-13.94393 -0.95298,-3.98815 -0.78118,-10.56479 0.36954,-14.19998 0.82486,-2.60604 2.95693,-6.91861 4.16169,-8.41757 0.74485,-0.92676 0.79804,-0.94087 1.78255,-0.42752 0.55811,0.291 1.70301,0.53037 2.5458,0.53139 2.16294,0.003 3.76672,-1.16882 4.91287,-3.59166 0.85961,-1.817238 0.90234,-2.252468 0.34781,-3.596488 -0.19403,-0.47044 0.0929,-0.66603 1.5724,-1.07484 1.562,-0.43161 3.08076,-0.67019 4.54573,-0.71736 z m -427.72361,1.31155 c 0.12263,-0.0143 0.4559,0.004 0.98789,0.0532 2.87718,0.27012 11.3619,2.27732 11.3619,2.68831 0,0.416018 -4.73093,3.234188 -5.42974,3.234188 -0.54954,0 -2.67296,1.28487 -3.60857,2.18349 -0.4009,0.38506 -1.8363,1.29423 -3.18829,2.02167 -2.39422,1.28821 -2.45075,1.30261 -2.25112,0.50722 0.34634,-1.37994 -0.17181,-1.77184 -2.09654,-1.5869 -2.25883,0.21705 -4.774501,1.53423 -5.586759,2.92502 -0.616467,1.05562 -0.6192,1.12948 -0.04348,1.76563 0.330537,0.36524 0.807001,0.66423 1.057934,0.66423 0.949245,0 0.38646,0.64042 -1.6038,1.82602 -2.333869,1.39026 -3.028877,1.5188 -3.028877,0.56037 0,-1.06 -1.081493,-1.43247 -2.94675,-1.01446 -4.765385,1.06795 -8.137302,4.41586 -5.871772,5.83071 0.99035,0.61847 0.840231,1.06167 -0.640075,1.89365 -0.724998,0.40747 -1.755491,0.72799 -2.289769,0.71253 -0.962018,-0.0278 -11.71536,-2.30034 -11.944007,-2.52406 -0.06527,-0.0639 -0.02608,-0.26635 0.08695,-0.44926 0.287699,-0.4655 11.412375,-6.92995 11.601029,-6.7413 0.08472,0.0847 -0.116952,0.62873 -0.449258,1.21011 -0.706645,1.23628 -0.343485,2.18431 0.908174,2.36947 1.676244,0.24795 7.475572,-3.5198 7.475572,-4.85731 0,-0.84896 -0.993665,-1.28119 -2.545797,-1.10624 -0.838017,0.0944 -1.524097,0.12305 -1.524097,0.0652 0,-0.1134 5.089516,-3.19272 6.378992,-3.85975 0.758486,-0.39236 0.77559,-0.37034 0.565195,0.75117 -0.42727,2.27752 1.400009,2.89056 4.422542,1.48304 1.684061,-0.78423 3.898413,-2.9017 3.898413,-3.72691 0,-0.77476 -0.79321,-1.24151 -2.10378,-1.24151 -0.708935,0 -1.289811,-0.12132 -1.289811,-0.26811 0,-0.24866 4.157661,-2.784918 4.565041,-2.784918 0.10152,0 0.18357,0.381388 0.18357,0.847798 0,1.05172 0.4083,1.09593 0.85263,0.0918 0.6963,-1.573618 4.92544,-3.054018 5.34763,-1.871918 0.0833,0.23321 0.28315,0.30104 0.44201,0.15217 0.46648,-0.43714 -0.3581,-1.40611 -1.42023,-1.66902 -0.30782,-0.0763 -0.39556,-0.12095 -0.27295,-0.13526 z m 26.52803,2.64965 c 0.39319,0.11822 0.40316,1.505268 0.32849,9.605928 l -0.0894,9.75327 -22.219,16.04773 c -12.21885,8.82547 -22.336477,16.05716 -22.482243,16.06705 -0.371966,0.0267 -0.300795,0.32421 -2.722121,-11.68316 -1.638613,-8.1259 -2.094276,-10.95626 -1.806701,-11.25803 0.528751,-0.55485 48.036705,-28.321678 48.797745,-28.520708 0.0727,-0.0189 0.13706,-0.0289 0.19323,-0.0124 z m -20.78669,0.10623 c -0.31801,-0.0194 -0.64021,-0.005 -0.93716,0.0507 -2.4415,0.455648 -5.15084,2.784458 -4.48776,3.857348 0.29524,0.47763 0.5079,0.40288 0.31159,-0.10871 -0.51406,-1.33962 4.29823,-3.64787 6.14228,-2.94676 0.53863,0.20474 0.83089,0.19568 0.83089,-0.0241 0,-0.41398 -0.9058,-0.770148 -1.85984,-0.828468 z m 389.38443,1.792208 c 1.01525,-0.0445 3.29565,1.84254 4.3694,3.76556 l 1.0217,1.82844 -3.08926,5.97321 c -1.69981,3.28481 -3.75019,7.18195 -4.55539,8.66152 -0.8052,1.47955 -1.63337,2.74508 -1.84051,2.81149 -0.20727,0.0664 -0.62452,-0.25741 -0.9275,-0.71978 -0.30299,-0.46235 -1.25396,-1.32402 -2.11346,-1.91539 -1.49946,-1.0318 -1.55681,-1.13098 -1.41298,-2.47817 0.14357,-1.34501 7.27162,-16.80898 8.19776,-17.78438 0.0862,-0.0908 0.2052,-0.13615 0.35024,-0.1425 z m -403.4443,1.77046 c 0.8236,0.0409 1.18397,0.50727 0.5193,1.52169 -0.29454,0.44951 -1.197676,1.20571 -2.004752,1.67868 -1.978066,1.15923 -3.36791,1.41571 -3.939474,0.72702 -0.369963,-0.44583 -0.366426,-0.64092 0.01933,-1.1328 1.370131,-1.74704 4.032929,-2.86284 5.405596,-2.79459 z m 444.24233,0.17633 c 0.56964,0.0863 2.39737,2.07956 3.70517,4.12303 2.09814,3.27821 3.49959,8.11649 3.51196,12.09377 0.006,2.83002 0.34954,4.3602 0.92991,4.13752 0.41726,-0.16012 0.46065,0.0785 0.26328,1.42508 -0.3135,2.13921 -1.30845,4.3523 -2.16176,4.809 -0.82375,0.44084 -3.08758,0.47757 -3.74623,0.0603 -0.50246,-0.31817 -0.49822,-0.36413 0.60625,-4.27279 0.90388,-3.19661 0.91393,-7.72273 0.0241,-12.08893 -0.69278,-3.39925 -2.35723,-8.45348 -3.0651,-9.30643 -0.20936,-0.25246 -0.31355,-0.65422 -0.22946,-0.89369 0.0249,-0.0709 0.0805,-0.0993 0.16183,-0.0869 z m -439.43815,2.89361 c 0.3847,10e-4 0.64526,0.11538 0.78741,0.3454 0.33917,0.54878 -1.35034,2.13905 -3.34771,3.14964 -1.99577,1.00976 -3.210499,1.13866 -3.504703,0.37197 -0.298384,-0.77755 0.821334,-1.83045 3.103753,-2.91777 1.33615,-0.63653 2.32006,-0.9514 2.96125,-0.94924 z m 43.72787,0.92268 c 0.12873,0.13476 0.344,0.97939 0.47583,1.87915 l 0.23912,1.63763 -1.83085,1.77287 c -1.00702,0.97539 -2.58872,2.13873 -3.51437,2.58687 -0.93702,0.45359 -2.53091,0.87715 -3.59407,0.95407 -1.69585,0.12268 -1.97191,0.049 -2.46126,-0.64974 -0.66557,-0.9503 -0.57078,-1.03798 1.89365,-1.78255 2.57846,-0.77899 5.92042,-3.06347 7.37895,-5.04328 0.64901,-0.881 1.28426,-1.48978 1.413,-1.35502 z M 33.592678,110.398 c 0.244168,0.001 0.435394,0.0575 0.553125,0.17874 0.429496,0.44214 -1.233727,2.01702 -3.190708,3.02163 -2.025789,1.03994 -2.691278,1.15221 -2.944338,0.49273 -0.415373,-1.08243 3.872768,-3.70445 5.581921,-3.6931 z m 60.567842,2.72937 c 0.0895,8.9e-4 0.15519,0.0368 0.19806,0.10623 0.26836,0.43432 2.04606,13.60893 2.96849,22.00161 0.6542,5.9513 0.66384,5.9232 -2.21488,7.16158 -3.61442,1.55491 -8.25246,0.98788 -8.67602,-1.06035 -0.0857,-0.41438 -0.63618,-4.41595 -1.22459,-8.8934 -0.58841,-4.47745 -1.34547,-9.59199 -1.68111,-11.36432 -0.3355,-1.77232 -0.55232,-3.31581 -0.48306,-3.42983 0.0697,-0.11402 1.0888,-0.28473 2.26561,-0.37921 2.51057,-0.20151 5.22288,-1.38001 7.33548,-3.1883 0.75563,-0.64677 1.24329,-0.95673 1.51202,-0.95406 z m -56.024527,0.59659 c 0.138198,0.0171 0.240978,0.0574 0.304332,0.12082 0.546534,0.54654 -1.118432,2.29446 -3.149638,3.30664 -3.428568,1.70854 -5.121458,0.58414 -2.251122,-1.49511 1.522798,-1.10311 4.129031,-2.05197 5.096428,-1.9323 z m 339.825837,0.91543 c 0.44804,0.0423 0.79588,0.26825 1.01686,0.68114 0.44075,0.82362 0.37589,0.94518 -1.97094,3.63996 l -1.84776,2.11828 0.79225,1.78013 c 0.67806,1.52401 0.79195,2.34454 0.80431,5.68336 0.009,3.23106 -0.1066,4.132 -0.66665,5.25585 -0.4823,0.96772 -0.91924,1.38554 -1.52409,1.45405 -2.0927,0.2369 -3.35622,-2.18104 -3.64238,-6.96593 -0.10326,-1.72568 -0.23773,-3.13756 -0.2971,-3.13756 -0.0595,0 -1.08008,0.5354 -2.26803,1.18836 -1.18794,0.65296 -2.41363,1.18594 -2.72453,1.18594 -0.84427,0 -0.68331,-0.90088 0.285,-1.59414 0.46833,-0.33518 2.33982,-2.43046 4.15686,-4.65442 1.81716,-2.22394 4.04138,-4.626 4.94427,-5.34038 1.17127,-0.92669 2.19517,-1.36522 2.94193,-1.29464 z m 21.30839,1.33328 c 1.48053,-0.12305 3.83216,1.91426 7.51181,6.43938 1.45197,1.7857 3.03976,3.61521 3.52886,4.06748 1.81259,1.67631 0.62117,1.8779 -2.13277,0.3599 -1.00925,-0.5563 -1.96401,-1.01204 -2.1207,-1.01204 -0.15681,0 -0.28501,1.04186 -0.28501,2.31392 0,2.97418 -0.77141,5.5859 -1.9178,6.48769 -0.48738,0.38337 -1.0849,0.69563 -1.32605,0.69563 -0.66619,0 -1.79903,-1.62192 -2.0434,-2.92502 -0.39128,-2.08503 0.006,-7.66217 0.63524,-8.91272 0.31956,-0.63498 0.5821,-1.28486 0.5821,-1.44439 0,-0.15951 -0.84101,-1.20505 -1.86707,-2.32117 -1.92327,-2.09199 -2.1552,-2.62482 -1.45648,-3.32355 0.25448,-0.2545 0.54962,-0.39672 0.89127,-0.42511 z m -186.37004,4.86456 c 4.15637,-0.20661 8.4206,1.39552 11.19042,4.29937 3.64273,3.81899 5.94994,8.40208 7.42726,14.74825 1.03386,4.44045 1.02629,13.77355 -0.0145,17.54767 -2.25531,8.17877 -7.00408,15.08951 -12.29665,17.89791 -1.87615,0.99556 -2.59906,1.18449 -4.91287,1.28256 -2.53147,0.10734 -2.91998,0.0277 -5.76791,-1.20527 -3.40356,-1.47358 -5.25343,-2.475 -5.25343,-2.84773 -0.001,-0.13637 0.41695,-0.34068 0.92992,-0.4541 3.82762,-0.84596 6.25931,-2.23749 8.82576,-5.0457 4.31252,-4.71851 6.56147,-12.75379 6.07225,-21.69245 -0.24931,-4.55426 -0.89911,-7.38261 -2.42504,-10.55516 -2.58303,-5.37042 -6.41469,-8.96349 -11.07447,-10.37886 -1.28156,-0.38924 -2.25457,-0.83169 -2.15934,-0.98547 0.26266,-0.42507 5.1344,-1.95287 7.68813,-2.41055 0.58474,-0.10474 1.1767,-0.17095 1.77046,-0.20047 z m 227.4217,2.27775 c 0.62712,0 2.7588,2.07253 2.96124,2.87912 0.11909,0.47454 -0.1317,1.40338 -0.65457,2.42262 -1.09024,2.12552 -1.76761,3.01929 -1.9975,2.63517 -0.39401,-0.65834 -0.6777,-7.93691 -0.30917,-7.93691 z m -437.7377415,0.0676 c 0.120081,0.0111 0.268036,0.0408 0.451682,0.0869 0.502471,0.12611 6.341904,1.45142 12.9753655,2.94434 6.991725,1.57355 12.214826,2.91293 12.427088,3.18587 0.201404,0.25895 1.301014,5.11258 2.444365,10.78706 1.143351,5.67447 2.12424,10.5078 2.178654,10.74114 0.05446,0.23335 -0.05256,0.46688 -0.23911,0.51932 -0.186577,0.0524 -5.906126,-1.69967 -12.70728,-3.896 -8.728072,-2.81858 -12.4848405,-4.18178 -12.7724775,-4.63268 -0.450655,-0.70647 -5.219614,-18.31924 -5.219614,-19.27708 0,-0.36258 0.101098,-0.49356 0.461327,-0.45892 z m 199.0797315,1.8792 c 3.77935,-0.15606 7.90809,1.87855 11.08414,5.68336 1.62461,1.94632 3.82337,6.33691 4.41771,8.82094 1.71217,7.15521 0.72659,16.91476 -2.2946,22.72623 -1.57502,3.02976 -4.80914,6.33655 -7.32341,7.48766 -4.07433,1.8653 -7.81774,1.33616 -11.71696,-1.66178 -3.1582,-2.42816 -6.51924,-7.01424 -5.14233,-7.01424 0.1693,0 1.27548,0.9643 2.45885,2.14243 2.5672,2.55611 4.11557,3.12836 7.76783,2.86704 5.17534,-0.37029 10.29887,-4.27906 12.48023,-9.51897 1.50503,-3.6153 1.85943,-5.63067 1.64969,-9.37889 -0.42776,-7.64627 -3.59589,-13.52754 -8.78953,-16.31824 -2.05708,-1.10528 -2.26526,-1.14484 -5.48048,-1.07484 -3.0479,0.0664 -3.52272,0.16931 -5.41284,1.17628 -1.13959,0.60719 -2.88015,1.89168 -3.86701,2.85496 -0.98686,0.96328 -1.78979,1.65029 -1.78979,1.52652 0.001,-0.12375 0.46168,-1.02646 1.02412,-2.00717 1.5352,-2.6771 5.17326,-6.35957 7.32099,-7.41037 1.13402,-0.55483 2.3536,-0.84891 3.61339,-0.90092 z m -2.12794,6.38624 c 0.43016,0.0171 0.85665,0.0705 1.27532,0.16424 2.13647,0.4788 3.48232,1.36452 5.47806,3.60374 3.37747,3.78939 5.00498,8.31854 4.67132,12.99953 -0.18055,2.53174 -1.39555,7.14858 -2.38155,9.05522 -0.75004,1.45052 -4.61319,4.95033 -6.35726,5.75825 -3.30896,1.53279 -6.31944,1.11147 -8.57698,-1.20044 -0.71937,-0.73675 -1.25155,-1.4886 -1.18353,-1.66902 0.0678,-0.18042 1.56141,-1.45266 3.31872,-2.8284 3.19308,-2.49989 4.76063,-4.15693 4.33559,-4.58196 -0.12404,-0.12405 -0.80862,0.17977 -1.52169,0.67388 -0.71294,0.49411 -1.4039,0.89853 -1.53375,0.89853 -0.12985,0 -0.23671,-0.69309 -0.23671,-1.5386 0,-1.88475 -0.54314,-3.22973 -2.15452,-5.33314 -0.68017,-0.88777 -1.23667,-1.67998 -1.23667,-1.75839 0,-0.0784 1.15843,-0.86354 2.57479,-1.74631 3.21163,-2.00174 3.90232,-1.8883 5.29691,0.88161 0.85232,1.69351 0.93475,1.77147 0.93475,0.84537 -0.004,-2.25265 -2.01597,-4.9201 -3.71243,-4.9201 -0.2022,0 -2.40859,1.22239 -4.9032,2.71487 -2.49473,1.49249 -4.72335,2.71247 -4.95152,2.71247 -1.10014,0 0.91836,-7.27614 2.8598,-10.31122 1.81077,-2.83065 4.99341,-4.53988 8.00455,-4.42013 z m 5.21961,0.20772 c 0.18885,-0.0364 0.70096,0.17415 1.53377,0.59902 4.93196,2.51615 8.63092,11.78251 7.50456,18.80124 -0.79839,4.97516 -3.81643,9.9149 -7.26303,11.89088 -2.92781,1.67861 -3.00266,1.31174 -0.2826,-1.38884 2.24208,-2.22606 2.85164,-3.07856 3.74625,-5.25103 1.52951,-3.71469 2.09412,-6.17346 2.09412,-9.10835 0,-5.02802 -1.71883,-9.09376 -5.55535,-13.14204 -1.50789,-1.59107 -2.09246,-2.34031 -1.77772,-2.40088 z m -40.71349,1.15938 c 0.14558,0.004 0.24329,0.0235 0.28502,0.0652 0.53535,0.53532 0.74578,3.002 0.28018,3.28973 -0.22619,0.13979 -2.02055,0.61868 -3.98537,1.06277 -1.96482,0.44408 -3.61224,0.80673 -3.66171,0.80673 -0.21889,0 -0.49997,-1.15899 -0.49997,-2.0579 0,-0.80497 0.21608,-1.07641 1.18353,-1.48063 2.0669,-0.86362 5.37921,-1.71113 6.39832,-1.68592 z m -5.29933,2.19557 c -0.27008,-0.0268 -0.65056,0.11575 -1.08692,0.43476 -0.38498,0.28148 -0.54411,0.67775 -0.41302,1.01929 0.41045,1.06982 1.92988,0.38696 1.92988,-0.86711 0,-0.36246 -0.15986,-0.56008 -0.42994,-0.58694 z m 327.44222,2.06998 c 0.12483,-0.005 0.24482,8.7e-4 0.35265,0.0193 l 0.81156,0.1401 -0.8478,0.35506 c -1.56129,0.65261 -2.3743,0.83137 -2.3743,0.52412 0,-0.4484 1.18411,-1.00527 2.05789,-1.0386 z m -388.40861,5.48047 c 0.12609,-0.0192 0.20696,-0.02 0.22705,0 0.16918,0.16925 1.6656,15.40984 2.00717,20.4437 l 0.23188,3.425 -1.17145,0.89127 c -0.64394,0.49109 -1.81527,1.12031 -2.60377,1.3985 -2.57957,0.91015 -4.7727,0.95348 -6.88382,0.13768 -0.8763,-0.33865 -0.90915,-0.45148 -1.13039,-3.96604 -0.12527,-1.98989 -0.44845,-6.28799 -0.71978,-9.5528 -0.2712,-3.2648 -0.58792,-7.18193 -0.70046,-8.70258 l -0.2053,-2.76318 3.37427,-0.007 c 2.52738,-0.006 3.91157,-0.18952 5.5143,-0.72945 0.88288,-0.29739 1.68204,-0.51718 2.0603,-0.57485 z m 265.43482,0.92026 c 0.35837,0.0681 0.8255,0.29972 1.38641,0.72219 0.5382,0.40539 3.80448,3.51178 7.25578,6.90314 7.04152,6.91903 10.62879,9.75113 15.09366,11.91502 2.84076,1.37678 6.66496,2.47553 8.64944,2.48542 1.48673,0.007 3.2943,-0.65657 5.01191,-1.8381 2.30119,-1.58292 3.80662,-1.74337 3.80662,-0.40579 0,1.71233 -2.5331,3.80276 -5.77515,4.76554 -2.18644,0.64935 -3.81298,0.64472 -6.92246,-0.0218 -4.53982,-0.97304 -8.8565,-3.17478 -13.66134,-6.96834 -3.5349,-2.79088 -13.51119,-12.61329 -14.72894,-14.5019 -1.28634,-1.99505 -1.19106,-3.26006 -0.11587,-3.05544 z m -176.32453,2.14243 c 0.0381,0.0339 0.0516,0.29636 0.0677,0.81157 0.0326,1.06337 -0.11897,1.37924 -0.40336,0.84779 -0.0744,-0.13991 -0.0202,-0.63741 0.11834,-1.10382 0.11749,-0.39632 0.17935,-0.58941 0.21739,-0.55554 z m 5.56744,0.95408 c 0.80599,-0.0488 1.37924,0.56411 2.08205,1.95161 1.47423,2.91059 1.27998,5.75792 -0.52655,7.74127 -1.03064,1.13159 -1.25088,0.95194 -1.26325,-1.01688 -0.009,-2.06264 -0.80021,-4.01592 -2.34048,-5.77031 l -1.08209,-1.23185 1.34777,-0.89368 c 0.72976,-0.48294 1.29895,-0.75085 1.78255,-0.78016 z m -3.9902,2.95882 c 0.89395,-0.0626 1.24445,0.60651 1.90815,1.78738 1.14936,2.04513 1.2686,4.83353 0.28742,6.70507 -0.69327,1.32245 -1.48089,1.93512 -6.55531,5.11334 -3.17157,1.98643 -7.2111,4.55366 -8.97793,5.70511 -1.76696,1.15145 -3.40866,2.09413 -3.64721,2.09413 -0.24969,0 -0.43477,-0.40629 -0.43477,-0.95649 0,-2.02936 -1.04678,-4.53219 -2.58445,-6.17611 l -1.51685,-1.62072 2.98298,-1.78978 c 1.64119,-0.98312 6.39707,-3.91362 10.56725,-6.51426 4.772,-2.97596 6.82137,-4.26725 7.97072,-4.34767 z m -23.21172,13.69274 c 1.08468,0.0376 2.72377,0.96838 3.50471,2.06514 0.97178,1.36469 1.25056,5.06524 0.49273,6.52876 -0.38448,0.74259 -2.53875,2.16181 -8.7702,5.78239 -11.94846,6.94214 -12.47114,7.20384 -12.94157,6.49493 -0.33798,-0.50933 -0.42461,-0.45091 -0.73427,0.47825 -0.38028,1.14084 -0.99457,1.51657 -14.59609,8.93204 -7.98963,4.3559 -7.55378,4.18754 -7.81372,2.9854 -0.44483,-2.05677 -1.40397,-3.75354 -3.19071,-5.64713 -1.50354,-1.59336 -1.76511,-2.03415 -1.36468,-2.2946 0.27244,-0.17722 1.79332,-1.02831 3.3791,-1.89366 1.58579,-0.86534 5.83425,-3.24666 9.43927,-5.28967 l 6.55291,-3.71483 1.5579,0.39371 c 0.85702,0.21581 2.06906,0.60493 2.69074,0.86469 0.62167,0.25974 1.13039,0.35468 1.13039,0.21015 0,-0.36146 -1.35709,-1.5645 -2.33084,-2.06757 -0.67028,-0.34623 -0.72522,-0.48708 -0.33816,-0.84537 1.22418,-1.1332 21.46667,-12.56911 22.90739,-12.94157 0.1283,-0.0331 0.27015,-0.0464 0.4251,-0.0411 z m -65.31646,4.4781 c 0.094,-0.0138 0.16645,0.001 0.21014,0.0459 0.35381,0.36159 0.90823,10.28742 1.21493,21.75041 l 0.21979,8.21952 -2.04581,2.12794 c -1.125,1.17042 -2.85656,2.60716 -3.8501,3.19312 -2.099,1.2379 -3.21032,1.53271 -4.24381,1.12798 -1.64279,-0.64336 -1.63739,-0.58359 -2.1835,-18.98482 -0.2132,-7.18258 -0.40526,-13.4413 -0.42752,-13.9077 -0.0404,-0.83964 -0.0172,-0.84664 2.41054,-0.7367 3.06658,0.13885 5.77101,-0.60531 7.4007,-2.03615 0.53016,-0.4655 1.01266,-0.75797 1.29464,-0.7995 z m 69.27526,7.39104 c 0.29445,0.29449 0.73428,8.25878 0.47099,8.52867 -0.16348,0.16753 -2.55716,0.73939 -5.31864,1.2705 -2.76149,0.53108 -5.10838,0.96512 -5.2172,0.96613 -0.49653,0.005 -0.65215,-0.60001 -0.65215,-2.55787 v -2.10621 l 5.30174,-3.10616 c 2.91582,-1.7082 5.35342,-3.05702 5.41526,-2.99506 z m -12.41259,7.20746 c 0.18649,0.11526 0.34057,1.11251 0.34057,2.21732 0,1.8084 -0.0763,2.02379 -0.76326,2.17142 -0.41985,0.0901 -2.73392,0.55107 -5.14232,1.02411 -4.70615,0.92435 -5.96125,1.05301 -5.44184,0.55071 0.8183,-0.79128 10.70683,-6.149 11.00685,-5.96356 z m 12.59133,3.22211 c 0.8329,2.2e-4 0.90161,0.12194 1.08934,1.9492 0.11018,1.07273 0.29087,3.55299 0.40094,5.51188 0.11031,1.95888 0.26272,3.86913 0.33815,4.2438 0.2764,1.36939 -0.29925,1.60822 -5.82345,2.41538 -2.95589,0.43191 -5.40115,0.78972 -5.43701,0.79466 -0.67238,0.0992 -1.65259,-12.15843 -1.01929,-12.74834 0.43012,-0.40066 8.95124,-2.16693 10.45132,-2.16658 z m -12.43433,2.75594 c 0.2268,0.22686 1.00739,11.79418 0.80914,11.99232 -0.0853,0.0853 -2.43624,0.46634 -5.22444,0.84538 -2.78819,0.37903 -5.56729,0.77271 -6.1761,0.87437 -0.73953,0.12342 -1.15695,0.0381 -1.26083,-0.25603 -0.30447,-0.86309 -1.0963,-10.62 -0.88161,-10.86435 0.28567,-0.32496 12.5121,-2.8134 12.73384,-2.59169 z m -38.98651,1.65211 c 2.50512,0 6.24327,7.29154 4.48534,8.74848 -0.23323,0.19326 -4.49809,2.50226 -9.47791,5.13025 h -0.002 c -4.97983,2.62798 -9.23178,4.7776 -9.44894,4.7776 -0.24882,0 -0.30011,-0.21925 -0.13526,-0.59418 1.36875,-3.11205 1.82572,-5.17965 1.83809,-8.24849 l 0.0124,-3.24626 5.95631,-3.2825 c 3.27568,-1.80584 6.32329,-3.2849 6.77269,-3.2849 z m 129.20063,0.45168 c 0.41478,0.15932 0.53621,0.72807 0.53621,2.54097 v 2.33567 l -5.3428,0.21497 c -9.62884,0.38707 -34.2314,0.57328 -33.15822,0.25119 1.81494,-0.54462 37.41325,-5.55446 37.96481,-5.3428 z m -105.28604,0.57969 c 0.44415,0.009 0.66905,0.20986 0.66905,0.60625 0,0.74751 0.61839,7.55138 0.83814,9.21707 0.0866,0.65296 0.0493,1.36438 -0.0846,1.57964 -0.13406,0.21527 -1.9994,0.63979 -4.14478,0.94441 -2.1455,0.30461 -4.32106,0.63566 -4.83316,0.7367 -1.22196,0.24112 -1.45245,-0.39046 -1.76322,-4.85007 l -0.23913,-3.4564 1.29706,-0.81156 c 0.71381,-0.44638 2.61012,-1.52522 4.21482,-2.39605 1.95332,-1.05999 3.30551,-1.58382 4.04575,-1.56999 z m 103.09771,6.46837 c 1.46271,-0.007 2.33639,0.002 2.42503,0.0362 0.4473,0.17167 0.60653,1.32548 0.93475,6.76546 0.48069,7.96584 0.61623,8.66662 1.85018,9.57936 0.95261,0.70472 1.10728,0.70917 17.63945,0.54104 9.17263,-0.0932 20.95168,-0.16907 26.17537,-0.16907 h 9.49725 l 0.0918,2.03616 c 0.0798,1.77358 5.26798,75.38441 5.61091,79.6058 0.0712,0.87461 0.0283,1.75684 -0.0966,1.95886 -0.23509,0.38033 -6.43288,1.02652 -69.78007,7.29926 -19.81109,1.96173 -36.32134,3.5675 -36.68949,3.5675 -0.81769,0 -0.72865,0.92691 -2.09171,-21.70935 -3.14967,-52.30584 -4.14441,-68.68353 -4.73171,-77.845 -0.35838,-5.59681 -0.54579,-10.28012 -0.41544,-10.40542 0.26943,-0.25905 39.3413,-1.20915 49.58033,-1.26082 z M 103.3655,198.5422 c 0.529,0.0124 0.68838,1.16221 0.68838,3.70759 0,2.36889 -0.14839,3.39162 -0.6135,4.24382 -0.93468,1.7123 -2.92779,3.76936 -4.35491,4.49741 -1.81358,0.92519 -4.23211,0.79562 -6.35967,-0.34298 -0.84514,-0.4523 -2.05037,-2.79408 -2.06273,-4.00468 -0.006,-0.65658 0.16903,-0.76561 1.26323,-0.76809 2.48905,-0.006 7.44468,-3.05672 10.0407,-6.18093 0.62866,-0.75657 1.08111,-1.1594 1.3985,-1.15214 z m 66.77536,1.97095 c 0.32505,-0.0157 0.54548,-0.0111 0.62558,0.0193 0.39883,0.15305 0.59529,1.54314 0.93958,6.68817 0.23904,3.57249 0.33058,6.59905 0.20531,6.72439 -0.1254,0.12535 -2.08769,0.41316 -4.36217,0.64007 -5.4207,0.54081 -6.67373,0.54666 -6.83066,0.0289 -0.3313,-1.09389 -0.87178,-12.25829 -0.60627,-12.5237 0.348,-0.34806 7.75328,-1.46727 10.02863,-1.57724 z m -12.77006,1.64003 c 0.36981,-0.0152 0.60354,-0.005 0.65214,0.0338 0.47006,0.37955 1.35268,12.79134 0.93716,13.17827 -0.16299,0.15173 -2.74226,0.52083 -5.73167,0.82123 -6.35784,0.63887 -6.8386,0.65397 -7.10844,0.21739 -0.31918,-0.51652 -1.29819,-12.22789 -1.04344,-12.48264 0.36964,-0.36971 9.7055,-1.66138 12.29425,-1.76806 z m 256.40614,1.76806 c 2.78705,0.0231 4.14777,0.0901 4.0361,0.20047 -0.61279,0.60523 -31.50696,3.79298 -48.63834,5.01914 -17.89053,1.28049 -17.31793,1.294 -17.3303,-0.42269 -0.009,-1.14904 -0.81129,-1.52955 -3.81145,-1.81153 -2.42251,-0.22767 -3.29782,-0.1459 -6.36933,0.59177 -1.95889,0.47047 -3.75225,1.00398 -3.98536,1.18595 -0.23323,0.18197 -0.4251,0.75522 -0.4251,1.27531 0,0.94284 -0.007,0.94708 -2.79701,1.13764 -1.53903,0.10512 -14.47584,0.35006 -28.74775,0.54347 -14.27179,0.19339 -27.09484,0.42326 -28.49413,0.51205 -1.39917,0.0888 -2.77329,0.0145 -3.05303,-0.16666 -0.31053,-0.20124 -0.35014,-0.33326 -0.10141,-0.33574 0.22372,-0.002 13.80966,-1.5979 30.18973,-3.54576 l 29.78153,-3.54335 25.10053,-0.19082 c 13.8056,-0.10487 32.7332,-0.27788 42.06128,-0.38646 5.58437,-0.065 9.79704,-0.0859 12.58408,-0.0628 z m -271.11818,0.67388 c 0.25857,-0.007 0.42104,0.004 0.4541,0.0362 0.2221,0.2221 1.10459,8.69322 1.12314,10.78463 l 0.0124,1.22458 -1.78014,0.20048 h -0.002 c -5.38496,0.60623 -7.70279,0.66318 -7.84995,0.19323 -0.3537,-1.13017 -0.94243,-10.89015 -0.67148,-11.13003 0.35286,-0.31242 6.9047,-1.25553 8.71466,-1.30913 z m 202.90568,4.16652 2.00476,0.07 c 1.10212,0.0387 2.11504,0.19271 2.25355,0.34057 0.1385,0.14786 0.36016,2.28716 0.49273,4.75586 l 0.24154,4.49018 -0.7995,0.29467 c -1.12475,0.41622 -3.6594,0.71326 -3.81386,0.44685 -0.0709,-0.12219 -0.18437,-2.51058 -0.25362,-5.30899 z m -1.69558,0.34056 0.16906,4.9177 c 0.105,3.0448 0.0409,5.06687 -0.16906,5.30898 -0.18661,0.21511 -1.12549,0.49436 -2.08688,0.62075 -1.7191,0.22605 -1.75107,0.21492 -1.92989,-0.72944 -0.0999,-0.52805 -0.28099,-2.82006 -0.40095,-5.09401 l -0.21979,-4.13512 1.44439,-0.38887 c 0.79455,-0.21397 1.83842,-0.41377 2.31876,-0.44443 z m -11.62518,4.03609 c 2.96574,-0.004 4.96891,0.0271 5.05053,0.1087 0.15681,0.15683 0.3874,1.83966 0.51206,3.74141 0.18389,2.80665 0.13632,3.48965 -0.24878,3.62306 -0.26094,0.0904 -5.04203,0.77685 -10.62522,1.52652 -6.52418,0.87603 -10.2505,1.51957 -10.42957,1.79703 -0.15335,0.23744 -0.21205,0.81133 -0.13043,1.27773 0.0819,0.46641 0.24718,2.02341 0.36714,3.45882 0.12503,1.50334 0.40613,2.76629 0.66423,2.98057 0.29061,0.24121 4.09846,0.44589 10.83052,0.5821 6.84373,0.13847 10.48525,0.33597 10.68077,0.57969 0.16324,0.20336 1.14599,11.32771 2.1859,24.71891 1.03981,13.39119 1.96993,24.47357 2.06515,24.62712 0.0949,0.15353 1.1895,0.37408 2.4347,0.49033 1.2452,0.11624 2.34424,0.29142 2.44194,0.38887 0.24832,0.24821 1.12309,11.11205 0.93475,11.60586 -0.0848,0.22233 -0.54516,0.66195 -1.02412,0.97581 -0.8627,0.56519 -0.88582,0.55582 -2.3091,-0.97098 -1.4913,-1.59979 -2.73569,-2.15004 -4.09405,-1.80912 -1.23642,0.31033 -2.63436,1.56877 -3.1738,2.8598 l -0.49274,1.17629 -2.36222,-0.2198 c -2.15206,-0.20002 -2.45734,-0.32344 -3.40327,-1.40091 -0.86159,-0.98117 -1.27229,-1.18595 -2.39605,-1.18595 -1.33486,0 -2.12934,0.57601 -3.9298,2.84289 -0.35728,0.44989 -1.13969,0.5507 -4.2728,0.5507 -2.10939,0 -5.21041,0.0981 -6.89104,0.21738 -2.21092,0.15694 -3.12486,0.10339 -3.30665,-0.1908 -0.33773,-0.54636 -6.05817,-83.47673 -5.77757,-83.75784 0.25191,-0.25236 17.80225,-0.58246 26.69952,-0.59418 z m 36.72571,5.01672 8.81852,0.56037 8.82094,0.56279 0.0966,2.75111 0.0966,2.75352 -1.28497,0.20289 c -0.70676,0.11167 -5.02312,0.36798 -9.59385,0.56761 -4.57077,0.19965 -18.53789,1.27471 -31.03753,2.38881 -12.49952,1.11409 -23.51177,2.11579 -24.47254,2.22697 -1.5075,0.17452 -1.77265,0.11723 -1.93713,-0.42511 -0.24338,-0.80088 -0.38353,-4.4762 -0.17874,-4.68099 0.0851,-0.085 11.51987,-1.67448 25.41213,-3.53128 z m -200.08935,3.99021 c -1.10728,-0.0184 -2.16684,0.58007 -2.7487,1.70524 -0.81669,1.57935 -0.64198,2.65985 0.64008,3.94189 1.45605,1.45605 2.61941,1.50361 3.9612,0.16183 0.83179,-0.83171 0.9903,-1.26684 0.9903,-2.69073 0,-1.4298 -0.14092,-1.80871 -0.89368,-2.40088 -0.60399,-0.47509 -1.28485,-0.70631 -1.9492,-0.71735 z m -10.43924,1.04826 c -0.47191,0.015 -0.9298,0.12386 -1.32121,0.33332 -0.81101,0.43403 -1.67627,2.06065 -1.67627,3.14965 0,0.96914 1.15562,2.54549 2.16659,2.954 1.25696,0.50786 1.93071,0.35677 2.94676,-0.6594 0.83178,-0.83169 0.9903,-1.26442 0.9903,-2.68831 0,-1.4298 -0.14093,-1.80873 -0.89369,-2.40088 -0.60357,-0.4748 -1.42595,-0.71326 -2.21248,-0.68838 z m 10.26292,0.4082 c 0.22339,-0.0344 0.46256,0.034 0.80672,0.19082 1.0027,0.45687 1.42319,1.83779 0.90577,2.97331 -0.43853,0.96261 -1.74942,1.11042 -2.56995,0.28985 -0.74114,-0.74109 -0.66516,-2.29589 0.14733,-3.03129 0.27943,-0.25287 0.48673,-0.38829 0.71013,-0.42269 z m -10.17597,1.01688 c 0.22337,-0.0344 0.46258,0.034 0.80674,0.1908 1.00282,0.45688 1.42306,1.8378 0.90576,2.97333 -0.43864,0.96262 -1.74943,1.1104 -2.56996,0.28984 -0.74113,-0.74109 -0.66528,-2.29347 0.14734,-3.02887 0.27943,-0.25287 0.48677,-0.3907 0.71012,-0.4251 z m -11.8788,0.99271 c -0.55139,0.0138 -1.21394,0.0456 -2.02649,0.0918 -5.26129,0.29905 -7.22731,0.71027 -8.16879,1.71249 -0.99168,1.05066 -0.99473,2.49403 -0.0124,3.28974 h 0.005 c 0.88731,0.71851 1.59302,0.74215 7.37655,0.23671 4.94767,-0.43239 6.39131,-0.89398 6.88623,-2.19557 0.47401,-1.24664 0.13258,-2.08269 -1.10866,-2.72455 -0.65046,-0.33632 -1.2974,-0.452 -2.95159,-0.41061 z m 0.62801,1.52168 c 0.70087,-0.0198 1.18294,-0.0111 1.29704,0.0314 0.47365,0.17677 0.57764,1.30739 0.14493,1.57483 -0.15335,0.0949 -2.63365,0.4069 -5.51188,0.69563 -6.32346,0.63437 -5.72301,0.63341 -5.95872,0.0193 -0.36927,-0.96246 0.16443,-1.45566 1.8212,-1.68352 2.03123,-0.27936 6.10481,-0.57817 8.20743,-0.63765 z m 207.16397,1.81153 c 0.684,0 1.17932,0.0543 1.10141,0.12082 -0.38151,0.32634 -2.34532,0.50232 -2.34532,0.21013 0,-0.1819 0.55978,-0.3309 1.24391,-0.3309 z m -3.66653,0.2512 0.17874,1.1473 c 0.0986,0.63075 0.50837,6.60806 0.90818,13.28454 l 0.7246,12.13966 -1.47578,1.61589 c -0.81187,0.88934 -1.64905,1.9147 -1.86225,2.27768 -0.3689,0.62831 -0.39722,0.61891 -0.57728,-0.18839 -0.28579,-1.2814 -1.72417,-29.4776 -1.51443,-29.68733 0.10029,-0.10029 0.95583,-0.27454 1.90089,-0.38646 z m -5.44183,0.76567 0.21256,2.79942 c 0.36766,4.84217 2.5627,44.77414 2.5627,46.64081 v 1.78014 h -1.48545 c -0.81657,0 -1.6329,-0.19191 -1.81395,-0.42511 -0.18105,-0.23321 -1.19749,-11.62952 -2.26078,-25.32517 -1.56365,-20.14537 -1.85128,-24.9543 -1.49512,-25.18025 0.24226,-0.15362 1.30624,-0.28254 2.36224,-0.28501 z m 13.70481,27.19466 c 0.26432,0.0451 0.53432,0.30489 1.04828,0.81882 2.61803,2.61791 2.63513,10.86863 0.0289,13.74829 -2.70261,2.98639 -5.34966,-5.30353 -3.5675,-11.17109 0.45992,-1.51419 1.00629,-2.59935 1.47821,-2.92984 0.4891,-0.34261 0.74774,-0.51132 1.01204,-0.46618 z m -4.15926,0.62076 c 1.30617,0 2.01024,0.12603 1.87915,0.33815 -0.11525,0.18655 -0.69688,0.34292 -1.29222,0.3454 -1.40065,0.006 -2.6086,0.33288 -2.6086,0.70771 0,0.16259 0.61123,0.39512 1.35744,0.51446 1.50985,0.24143 1.75319,0.62175 0.59418,0.93234 -0.41972,0.11241 -1.48811,0.20766 -2.37431,0.21014 -1.92475,0.005 -2.06946,-0.45209 -0.62799,-1.9951 0.89484,-0.95789 1.17319,-1.0531 3.07235,-1.0531 z m -2.52889,3.81387 c 1.11943,-0.0482 2.24193,0.0453 2.49508,0.21013 0.69525,0.45272 0.15765,1.64799 -0.90094,2.00477 -0.90426,0.30478 -0.90698,0.31341 -0.15459,0.55552 0.882,0.28379 1.01085,1.04942 0.22704,1.3502 -0.29507,0.11328 -1.29146,0.20531 -2.21488,0.20531 -1.21145,0 -1.73683,-0.14779 -1.884,-0.53138 -0.23645,-0.61624 0.11575,-1.02775 1.07484,-1.26324 0.63911,-0.15681 0.63184,-0.18263 -0.10388,-0.41787 -0.59669,-0.19061 -0.75787,-0.45993 -0.67872,-1.13763 0.0971,-0.83683 0.22306,-0.8932 2.14002,-0.97581 z m 7.0553,0.15217 c -0.51362,-0.0193 -1.00229,0.3225 -1.25117,0.97097 -0.34132,0.88948 -0.23682,4.21055 0.15459,4.94186 0.48588,0.90801 1.70767,0.70138 2.25353,-0.38164 0.69959,-1.3877 0.55778,-4.28977 -0.24878,-5.09643 -0.28215,-0.2821 -0.60002,-0.42316 -0.90817,-0.43476 z m -0.14011,1.79944 c 0.38226,10e-6 0.72249,0.85199 0.71013,1.80913 -0.002,0.4045 -0.13446,0.93951 -0.29225,1.18835 -0.22879,0.36092 -0.32952,0.33718 -0.5024,-0.11353 -0.32253,-0.84162 -0.26346,-2.88396 0.0846,-2.88396 z m -6.95143,3.39361 c 1.59357,0 2.21945,0.13163 2.35981,0.49756 0.23794,0.62004 0.0623,0.72242 -1.73182,1.01929 -1.97879,0.32745 -1.81438,0.85746 0.2657,0.85746 1.2253,0 1.76395,0.14591 1.90815,0.52171 0.11006,0.2879 0.14412,0.57403 0.0748,0.63524 -0.0697,0.0612 -0.94,0.18663 -1.9323,0.27777 -1.99092,0.18278 -2.95078,-0.34831 -2.60377,-1.44197 0.10722,-0.33776 0.0372,-0.71335 -0.157,-0.8333 -0.19416,-0.11996 -0.35265,-0.51467 -0.35265,-0.87678 2e-5,-0.58306 0.24859,-0.65698 2.16901,-0.65698 z m -2.85255,4.966 1.17146,1.36951 c 0.64542,0.75409 1.62543,1.55921 2.17624,1.78737 0.91501,0.379 1.01162,0.58014 1.13282,2.33568 0.0779,1.05685 0.0814,2.09725 0.0124,2.31151 -0.0691,0.21424 -0.79255,0.55775 -1.60863,0.76324 h -0.007 c -2.42079,0.60956 -2.42065,0.61073 -2.65933,-1.91538 -0.11847,-1.25927 -0.21738,-3.27127 -0.21738,-4.47085 z m 4.58437,0.12082 c 1.18411,0 1.82582,0.1298 1.6956,0.34057 -0.11538,0.18655 -0.87804,0.33815 -1.6956,0.33815 -0.81744,-10e-6 -1.58057,-0.1516 -1.69558,-0.33815 -0.13023,-0.21077 0.51159,-0.34057 1.69558,-0.34057 z m -3.96845,11.22664 c 0.05,0.0346 0.10772,0.10784 0.17149,0.21738 0.0832,0.14296 0.34727,2.83276 0.58694,5.97805 0.41515,5.45016 0.47723,5.7572 1.31396,6.53358 0.48292,0.44804 1.14447,0.89862 1.47096,1.00238 0.88261,0.28061 0.71994,0.77845 -0.33816,1.03136 -3.98641,0.95284 1.65186,1.45222 9.02625,0.79949 4.29829,-0.38045 5.59794,-0.77907 3.81145,-1.17146 -0.60436,-0.13274 -1.04146,-0.29869 -0.97097,-0.36955 0.0707,-0.0709 1.79907,-0.36399 3.84044,-0.64973 5.88547,-0.82384 6.86834,-1.2045 8.50211,-3.30423 0.76945,-0.98883 1.80414,-2.01498 2.29942,-2.28011 0.79605,-0.42596 0.96713,-0.41688 1.4613,0.0773 0.30756,0.30754 0.64836,1.21234 0.75843,2.01201 l 0.20047,1.45405 2.28254,-0.075 c 1.25596,-0.0408 2.28493,0.0474 2.28493,0.19566 0,0.14826 -0.3838,0.62953 -0.85262,1.07 -1.09223,1.02612 -0.60301,1.59782 0.76326,0.89128 1.50886,-0.78027 2.99559,-2.6592 3.63754,-4.59163 1.02594,-3.08884 3.62448,-4.13413 4.93461,-1.98542 1.77141,2.90529 -0.1331,7.35159 -3.80663,8.88614 -1.45247,0.60672 -7.29236,1.37814 -23.50155,3.10134 -15.93277,1.6938 -16.25343,1.70437 -18.19983,0.66422 -1.76708,-0.94435 -3.00231,-2.30989 -3.00231,-3.32355 0,-0.58726 0.19528,-0.51577 1.51444,0.56521 0.83215,0.68187 2.04848,1.46324 2.7028,1.73664 2.27733,0.95153 7.85006,0.51724 20.20699,-1.5724 8.29105,-1.40206 10.17597,-1.84034 10.17597,-2.36706 0,-0.59376 -3.91918,-0.30879 -9.64217,0.70045 -8.453,1.49069 -12.58652,2.01631 -16.35206,2.07963 -3.72312,0.0626 -4.66039,-0.23827 -6.37899,-2.04581 l -0.99756,-1.04827 1.25116,-1.14731 c 1.4265,-1.30662 1.38394,-0.89157 0.79466,-7.9514 -0.31218,-3.7405 -0.29936,-5.35545 0.0507,-5.11334 z m -7.97797,10.82086 c 1.17954,0 2.1458,1.2305 3.47089,4.42013 0.64789,1.55952 1.63853,3.31379 2.20282,3.896 0.56429,0.58221 0.92227,1.16215 0.79465,1.28981 -0.12763,0.1276 -1.51124,0.23187 -3.07476,0.23187 -2.64066,0 -2.90359,-0.0647 -3.67861,-0.90094 -0.90178,-0.97306 -2.18592,-4.65761 -2.18592,-6.27271 0,-1.21825 1.34099,-2.66416 2.47093,-2.66416 z m -12.29665,1.35745 c 1.48845,0 1.97736,0.98168 1.77046,3.56025 -0.14493,1.8053 -0.0539,2.37271 0.54829,3.3936 0.39784,0.67424 0.7246,1.29415 0.7246,1.37676 0,0.26852 -2.86375,0.11637 -3.63271,-0.19323 -1.05018,-0.42284 -2.13519,-2.72851 -2.13519,-4.53606 0,-1.93076 1.26367,-3.60132 2.72455,-3.60132 z m 118.33869,1.34052 c 0.48564,0.25989 0.66703,0.9046 0.83572,2.97333 0.11847,1.45248 2.05276,32.141 4.29694,68.198 3.21473,51.64564 4.00293,65.84471 3.71726,66.90579 -0.24597,0.91361 -0.65829,1.4985 -1.28256,1.81636 -0.50617,0.25776 -24.13483,6.82083 -52.50775,14.58643 -28.37293,7.76561 -51.68611,14.12026 -51.80731,14.12026 -0.12057,0 -0.29253,-0.3435 -0.38404,-0.76326 -0.14927,-0.68447 -10.38279,-153.29926 -10.36918,-154.63449 0.004,-0.30385 0.4266,-0.72525 0.93957,-0.93475 1.58145,-0.64575 105.84829,-12.64927 106.56135,-12.26767 z m -28.78639,0.2657 c 2.4502,-0.0132 4.09578,0.006 4.16651,0.0748 0.35035,0.33888 0.13105,0.36912 -15.78687,2.21972 -7.22327,0.8398 -13.71195,1.51951 -14.41735,1.50962 l -1.28256,-0.0169 1.20527,-0.5024 c 0.66249,-0.27535 1.47248,-0.95128 1.79946,-1.50478 0.32697,-0.55351 0.92828,-1.08285 1.33811,-1.17387 1.03454,-0.22967 15.62681,-0.56658 22.97743,-0.60626 z m -85.02591,0.85746 c 0.3418,0.0169 0.77522,0.0569 1.33571,0.11105 2.49832,0.24176 2.9295,0.48586 2.94434,1.66661 0.005,0.37312 0.38216,1.47941 0.83812,2.45885 l 0.82849,1.78012 h -2.50233 c -2.33768,0 -2.56879,-0.0689 -3.53611,-1.03619 -1.25794,-1.25802 -1.92864,-3.39042 -1.38401,-4.40805 0.25776,-0.48166 0.45042,-0.62343 1.47579,-0.57244 z m -9.01899,1.18353 0.54829,1.88881 c 0.32635,1.12257 0.99686,2.36061 1.65453,3.05787 0.98302,1.04233 1.36718,1.19978 3.47088,1.42506 2.53567,0.27155 11.36128,0.042 21.54996,-0.56278 3.45946,-0.20536 6.58878,-0.31152 6.95384,-0.2367 0.94074,0.19297 -16.09188,2.34559 -21.3857,2.70279 -2.42523,0.16365 -29.67029,0.60357 -60.5461,0.97823 -30.8757,0.37467 -56.82501,0.66551 -57.66458,0.64733 -4.30844,-0.0932 3.59915,-0.98544 44.60466,-5.03606 36.61001,-3.61642 45.87896,-4.43255 52.62611,-4.62785 z m 35.98661,5.21478 c 0.18445,0.002 0.35618,0.0284 0.471,0.0748 0.22965,0.0929 -0.0393,0.16441 -0.599,0.15699 -0.5596,-0.007 -0.74781,-0.0831 -0.41786,-0.16908 0.16503,-0.0429 0.36141,-0.065 0.54586,-0.0628 z m -32.37805,5.19305 c 5.97962,-0.0111 10.00381,0.0283 10.11317,0.13767 0.39116,0.39116 10.89329,154.94117 10.56483,155.47262 -0.0932,0.15085 -0.73408,0.26021 -1.42265,0.24154 -1.35874,-0.0366 -32.52286,-4.08253 -35.85136,-4.65442 -1.11931,-0.19233 -2.87557,-0.44294 -3.90324,-0.55795 -3.06447,-0.34283 -3.00917,-0.10685 -1.413,-6.0022 4.18267,-15.44861 5.86412,-27.01473 5.88143,-40.47921 0.0155,-12.18049 -1.43565,-24.62437 -3.82836,-32.82731 -3.56779,-12.23185 -12.56183,-26.91326 -21.36395,-34.87313 -2.99979,-2.71283 -8.33516,-6.84268 -9.85231,-7.62774 -1.07837,-0.55804 -0.98416,0.13148 -2.17866,-16.05256 -0.47402,-6.41664 -0.73732,-11.78338 -0.58694,-11.9271 0.35097,-0.33564 35.90218,-0.81591 53.84104,-0.85021 z m -206.87654,40.17003 132.19327,4.89838 h 0.007 c 7.05476,0.49879 13.12085,4.74479 17.89789,11.35225 4.77706,6.60745 8.30298,15.59127 10.35954,25.73095 4.11311,20.27936 2.34287,45.19271 -7.46109,64.91793 l -0.1425,-0.32607 c 9.66112,-19.43785 10.57955,-44.32603 6.51426,-64.36964 -2.03266,-10.02182 -5.52515,-18.8715 -10.17356,-25.30103 -4.64839,-6.42951 -10.41466,-10.42265 -17.07183,-10.89332 l -16.65175,-0.67153 c -15.59612,-0.83275 -29.74443,-1.82613 -50.83632,-2.04824 l -50.5658,-2.03857 -14.03088,-1.08209 z m 6.54323,17.19504 c 3.65123,0.0709 7.34286,1.49825 10.64697,4.37907 10.06963,8.77963 12.2226,27.80716 6.37174,42.41875 -2.92543,7.3058 -8.13181,11.75118 -13.45603,13.77245 -5.32424,2.02126 -9.71261,1.18032 -14.74826,-3.20762 -10.04498,-8.75294 -13.22763,-27.36073 -7.44176,-41.95742 0.009,-0.037 0.0202,-0.0732 0.0338,-0.1087 0.001,-0.004 0.001,-0.007 0.002,-0.01 10e-4,-0.004 0.004,-0.009 0.005,-0.0124 0.0163,-0.0409 0.0357,-0.0804 0.058,-0.11835 l 0.005,-0.005 c 2.93026,-7.23109 7.58927,-12.15207 12.88117,-14.15889 1.33116,-0.50482 2.69866,-0.82192 4.08197,-0.942 0.51875,-0.045 1.03873,-0.0608 1.56033,-0.0507 z m -0.0218,1.70766 c -0.46093,-0.007 -0.92028,0.0111 -1.37917,0.0532 -1.22373,0.11229 -2.43826,0.39907 -3.62789,0.85021 -4.75806,1.80438 -9.16161,6.34259 -11.95126,13.30386 v 0.002 c -0.001,0.005 -0.004,0.01 -0.005,0.0145 -5.57438,13.92938 -2.33647,32.04353 6.93694,40.12415 4.63671,4.04032 9.77985,4.87391 14.53812,3.06753 4.75827,-1.80643 9.16045,-6.34753 11.94884,-13.31112 5.5768,-13.92717 2.34001,-32.0447 -6.93211,-40.12898 -3.04242,-2.65265 -6.30211,-3.92496 -9.52865,-3.9757 z m 24.07884,3.28974 58.2032,2.73903 -2.42986,0.058 -55.80716,-2.05548 z m 81.95355,3.71967 c 4.11877,0.17418 8.26004,1.81738 11.96816,5.03122 11.30092,9.79455 14.75661,30.26384 7.99005,46.11668 -3.38328,7.92642 -8.74939,13.25994 -14.77965,15.38833 -6.03027,2.12841 -12.69968,0.97457 -18.38823,-3.84043 -11.3771,-9.63002 -14.98081,-30.04874 -8.33302,-45.99834 0.0419,-0.10338 0.1035,-0.19775 0.18114,-0.27777 0.005,-0.11266 0.0306,-0.22343 0.0773,-0.32607 3.44234,-7.87719 8.85043,-13.13392 14.89802,-15.17336 1.51189,-0.50986 3.06005,-0.81289 4.62302,-0.90576 0.58611,-0.0348 1.17482,-0.0393 1.76322,-0.0145 z m -1.82602,0.87437 c -7.79901,0.95012 -13.43284,8.14177 -18.04765,16.17574 v 0.002 c -4.0558,10.47926 -6.64331,30.15069 7.78231,44.32207 5.29001,4.47765 11.21857,5.46181 16.69505,3.52885 5.47649,-1.93294 10.52876,-6.85992 13.76279,-14.43667 6.46806,-15.1535 4.18442,-35.01084 -6.3331,-44.12642 -3.94407,-3.41834 -9.63183,-5.73182 -13.8594,-5.46598 z M 127.18583,390.3952 c 0.21509,0.0126 0.43067,0.0407 0.64491,0.0846 0.85692,0.17513 1.69751,0.60053 2.4516,1.28014 3.01634,2.71849 3.89678,8.2849 2.18832,12.6952 -0.85423,2.20514 -2.23771,3.746 -3.86943,4.38631 -1.6317,0.64031 -3.48895,0.30076 -4.99739,-1.05793 -2.97799,-2.68233 -3.85164,-8.13606 -2.23181,-12.51887 a 0.61839688,0.61839688 0 0 0 0,-0.002 0.61839688,0.61839688 0 0 1 0.0386,-0.16665 c 0.001,-0.004 0.001,-0.007 0.002,-0.01 a 0.61839688,0.61839688 0 0 0 0.002,-0.002 0.61839688,0.61839688 0 0 1 0.11106,-0.18598 c 0.001,-0.002 0.001,-0.004 0.002,-0.005 0.86007,-2.0846 2.18015,-3.5754 3.7559,-4.19309 0.61196,-0.23988 1.25562,-0.34211 1.9009,-0.30433 z m -0.0603,1.21493 c -0.46725,-0.0238 -0.93162,0.0598 -1.38883,0.23912 -1.2185,0.47765 -2.40478,1.71547 -3.16656,3.67861 l -0.002,0.002 a 0.61839688,0.61839688 0 0 0 0,0.002 c -1.52214,3.93164 -0.58831,9.12108 1.86466,11.3305 1.22648,1.10472 2.49806,1.30449 3.71726,0.82606 1.2192,-0.47843 2.40757,-1.71553 3.16897,-3.68102 1.52278,-3.93099 0.58802,-9.12002 -1.86467,-11.33051 -0.61317,-0.55262 -1.23591,-0.87873 -1.85984,-1.0072 -0.15598,-0.0322 -0.31282,-0.0524 -0.46858,-0.0603 z m 107.67726,9.91267 c 0.63857,-0.005 1.26777,0.12719 1.85742,0.39371 0.78617,0.35536 1.5023,0.94874 2.08204,1.77047 2.31902,3.28693 1.95277,8.89436 -0.67388,12.79664 -1.31334,1.95114 -2.98933,3.13551 -4.70032,3.39601 -1.71097,0.26047 -3.41965,-0.47046 -4.57953,-2.11345 -2.29173,-3.24622 -1.94597,-8.74367 0.59417,-12.63963 a 0.55655718,0.55655718 0 0 1 0.0749,-0.15459 0.55655718,0.55655718 0 0 1 0.002,-0.005 c 0.002,-0.004 0.005,-0.004 0.007,-0.007 a 0.55655718,0.55655718 0 0 1 0.12083,-0.1256 c 1.29582,-1.85128 2.9131,-3.00841 4.57471,-3.26075 0.21387,-0.0325 0.42721,-0.0491 0.64008,-0.0507 z m 0.0145,1.10867 c -0.16137,0.002 -0.32334,0.0161 -0.48792,0.0411 -1.31662,0.19996 -2.75989,1.15649 -3.94429,2.91535 a 0.55655718,0.55655718 0 0 1 -0.005,0.005 v 0.002 c -2.36663,3.5193 -2.60905,8.80113 -0.68356,11.52858 0.96292,1.36398 2.18802,1.85498 3.5047,1.65453 1.31671,-0.20047 2.76014,-1.15853 3.94431,-2.91778 2.36833,-3.51851 2.61129,-8.80204 0.68597,-11.53097 -0.48133,-0.68226 -1.02737,-1.14736 -1.61831,-1.41542 -0.44321,-0.20103 -0.91199,-0.29159 -1.39607,-0.28259 z m -90.35421,27.42171 66.4227,10.27015 -0.96856,0.0484 -65.56767,-9.58662 z"; -const yay = - "M 426.12058,2.4507991e-4 C 403.31743,-0.05053492 372.91586,9.3369351 355.35215,21.852504 c -2.71599,1.935359 -5.95519,4.955087 -6.22392,5.801779 -0.23065,0.726739 -1.12034,0.962746 -2.15274,0.570231 -3.3696,-1.281122 -10.9523,-0.966667 -15.84714,0.65643 -8.41012,2.788738 -14.51376,10.303537 -15.59739,19.206649 -0.32674,2.684651 -0.019,6.176836 0.74705,8.484962 0.90279,2.720053 2.84478,6.683936 3.68882,7.527946 0.78224,0.782257 0.82591,0.787462 1.6444,0.269643 1.34004,-0.847767 6.52464,-4.820793 6.9334,-5.313321 0.29446,-0.354786 0.21828,-0.8833 -0.37131,-2.528472 -0.63422,-1.769655 -0.74695,-2.655733 -0.75148,-5.958703 -0.005,-3.75107 0.0285,-3.941589 0.97028,-5.742103 1.21206,-2.317122 3.89381,-4.88939 6.24161,-5.989644 1.60284,-0.751137 2.11805,-0.835301 5.04368,-0.808934 3.93525,0.03549 5.38547,0.401611 8.22637,2.070958 4.7606,2.797395 6.98202,6.06293 6.98202,10.261964 0,5.165825 -2.91314,10.041995 -7.25609,12.14506 -2.20447,1.067528 -3.8652,1.255909 -6.90908,0.782404 -1.58199,-0.246105 -2.7252,-0.293565 -2.89095,-0.121559 -0.15072,0.156436 -0.63034,2.027925 -1.06752,4.159598 -0.62528,3.048965 -0.71303,3.95234 -0.41332,4.230323 0.86784,0.804901 4.8174,1.670921 7.61636,1.670921 6.47459,0 11.27483,-1.846979 15.25702,-5.874719 1.28613,-1.300846 2.80947,-3.167662 3.38602,-4.146335 4.75667,-8.074554 3.71406,-19.068669 -2.47542,-26.100269 l -1.2996,-1.474205 1.20898,-1.262024 c 4.32355,-4.517133 14.12038,-10.007224 23.86576,-13.373927 4.92564,-1.701633 15.12786,-4.304432 20.17471,-5.147558 8.46137,-1.413591 12.22838,-1.678107 21.26214,-1.491887 11.49485,0.236951 16.29086,0.941718 23.58948,3.467806 9.14282,3.16438 15.74836,7.410238 21.66439,13.924268 4.42491,4.872225 6.22048,8.050462 8.41424,14.898965 2.70112,8.432334 2.53376,18.946318 -0.43763,27.47501 -2.68873,7.717408 -5.3462,12.437046 -11.06205,19.642056 -1.3998,1.764471 -2.6959,3.31905 -2.87989,3.45455 -0.18404,0.135456 -1.1033,0.18355 -2.04223,0.108297 -1.9137,-0.153313 -168.31772,-28.889509 -170.03078,-29.362528 -1.01739,-0.280914 -10.65398,0.218607 -23.65136,1.224462 -5.10447,0.395027 -10.85488,0.454901 -11.14825,0.117134 -0.1286,-0.148062 -0.53113,-1.804339 -0.89514,-3.682188 -1.23015,-6.345916 -2.99725,-10.734188 -6.32559,-15.710115 -3.11585,-4.658236 -8.01604,-9.164176 -11.5903,-10.657591 -1.70237,-0.711247 -3.2901,-0.723348 -3.69988,-0.03094 -1.22483,2.069636 -1.27724,2.048739 -2.14168,-0.775781 -1.72535,-5.637519 -4.15589,-9.521082 -8.64189,-13.813758 -3.81921,-3.654588 -7.80767,-6.069682 -12.79043,-7.742334 -2.81524,-0.945052 -4.24205,-0.994701 -4.98621,-0.172396 -0.66926,0.739516 -0.59447,1.49667 0.69179,6.999707 1.74438,7.462975 1.66322,7.809145 -0.85755,3.646832 -3.65156,-6.029412 -6.88867,-9.544068 -11.87543,-12.896523 -5.0476,-3.393364 -11.95902,-6.0931739 -15.90681,-6.2128769 l -1.8632,-0.05747 v 0.912814 c 0,0.810434 0.35534,1.1500059 3.19595,3.0589179 4.05709,2.726397 7.85323,6.315811 10.76589,10.182397 2.10261,2.791249 5.11596,8.154093 4.77404,8.496013 -0.08,0.07998 -1.32533,-1.014157 -2.76717,-2.431222 -4.28709,-4.213383 -8.29877,-5.768359 -14.90118,-5.779675 -5.61214,-0.0092 -10.68618,1.781782 -15.80956,5.578547 -3.2248,2.389784 -7.76003,6.896239 -7.76003,7.711392 0,1.170404 0.71515,1.387186 3.17164,0.959228 7.335,-1.277863 12.7243,0.441418 18.09271,5.775255 5.65675,5.620319 10.23104,14.362375 11.77595,22.506485 0.59398,3.131053 0.65052,8.774695 0.0928,9.223168 -0.21339,0.1716 -4.08924,0.547502 -8.61315,0.835455 -4.5239,0.287942 -12.97362,0.873194 -18.77787,1.29959 -5.80425,0.426384 -12.19323,0.855281 -14.19833,0.9526 l -3.64683,0.176816 -2.4467,-2.338397 C 135.26552,70.964096 128.01072,65.47766 122.31074,62.073738 116.74856,58.752119 104.5255,53.24516 98.575373,51.380789 87.303184,47.848846 76.110901,46.292198 64.394608,46.628856 c -10.906163,0.31338 -17.905523,1.710923 -29.594589,5.905657 -5.454806,1.957523 -10.908346,5.354196 -16.826282,10.478569 -4.540173,3.931372 -7.573874,7.769452 -10.0895622,12.766122 -1.9296661,3.832717 -2.3419504,6.200977 -2.3317657,13.435817 0.00727,5.458304 0.096052,6.561953 0.7382142,9.154649 1.5142927,6.11387 3.8025817,11.49706 7.1455767,16.813 1.037336,1.64955 1.885295,3.16817 1.885295,3.37498 0,0.20681 -0.487706,1.45931 -1.085203,2.78264 -1.638738,3.62942 -1.569131,3.95071 1.474199,6.81847 1.408384,1.32713 2.984022,2.76894 3.503176,3.20258 1.060942,0.88618 27.582361,15.9177 29.059717,16.47042 0.891934,0.33369 1.006963,0.28691 1.927301,-0.77578 1.186699,-1.37025 10.748212,-19.20127 10.748212,-20.04431 0,-0.32858 -0.31432,-0.87853 -0.698426,-1.22224 -0.883968,-0.79102 -24.331717,-16.93526 -28.666308,-19.73709 -4.204557,-2.7178 -4.595385,-2.73002 -7.043912,-0.21218 -1.00736,1.03588 -1.992075,1.81938 -2.188095,1.74163 -0.527925,-0.20945 -2.278353,-3.24522 -3.465595,-6.00954 -1.589308,-3.700438 -2.171291,-6.958924 -2.148319,-12.047798 0.01738,-3.855044 0.113909,-4.630488 0.855349,-6.869314 3.147541,-9.504072 14.780739,-18.256429 29.393466,-22.115274 6.371162,-1.682463 8.929818,-2.017299 15.203966,-1.991385 10.462239,0.0431 22.343002,1.856348 34.450406,5.255857 13.655161,3.834074 20.834141,7.368586 28.003271,13.78723 l 2.1903,1.95824 -1.14489,0.917237 c -0.62862,0.504308 -1.43613,1.49252 -1.79467,2.194726 -0.64961,1.272261 -0.65076,1.35332 -0.46635,23.467911 0.10184,12.20602 0.32817,30.43426 0.50392,40.50636 0.17575,10.07209 0.47752,27.94913 0.66969,39.72837 0.19219,11.77922 0.44506,24.00075 0.56139,27.15895 0.19537,5.30437 0.27449,5.87865 1.02774,7.50584 1.47152,3.17875 4.32801,5.68349 7.38871,6.48031 0.95489,0.2486 8.22054,0.44112 22.96841,0.6056 11.86458,0.13233 27.15772,0.40385 33.98626,0.6056 6.82853,0.20174 20.09927,0.46324 29.4885,0.57906 l 17.0716,0.20997 v 1.24214 1.23992 l -2.32955,-0.0177 c -1.28034,-0.0102 -7.72739,-0.13769 -14.32653,-0.2829 -12.66528,-0.27867 -13.53905,-0.21184 -14.24032,1.09847 -0.74016,1.38302 0.0252,10.20085 0.98575,11.35822 0.21883,0.26368 0.75308,0.62364 1.18688,0.80009 0.85814,0.34905 16.50427,1.11954 23.35077,1.1493 2.33723,0.0102 4.32955,0.15031 4.42925,0.31164 0.0997,0.16133 0.67382,9.66457 1.27528,21.11847 l 1.09405,20.82452 -1.69965,1.87867 c -0.93529,1.03353 -1.92015,2.34174 -2.18809,2.90641 -1.189,2.50561 -0.18878,7.11663 2.21241,10.19124 0.78651,1.00712 1.29177,1.92099 1.14046,2.06433 -0.1494,0.14153 -14.79764,3.7043 -32.55185,7.91695 -17.75419,4.21265 -38.07737,9.03611 -45.16324,10.71947 -8.44374,2.00591 -14.05964,3.18055 -16.29581,3.40592 -4.26527,0.42983 -8.74888,1.13152 -11.15268,1.74827 -2.81241,0.72159 -4.13305,1.52704 -5.1564,3.14069 l -0.91503,1.44326 v 5.60286 c -3.2e-4,3.0821 0.43029,30.46648 0.95703,60.85347 0.52673,30.38699 0.89523,57.50184 0.81998,60.25672 -0.15565,5.70102 -0.0532,6.13263 1.98475,8.34351 1.63104,1.76948 3.40646,2.8182 5.24039,3.0965 2.21605,0.33629 151.58862,27.78709 151.93365,27.92146 0.92638,0.36083 2.36222,0.0893 3.45013,-0.65422 1.46797,-1.00327 49.38304,-24.31663 49.97706,-24.31663 0.23155,0 1.13594,1.43287 2.01129,3.18269 4.24015,8.47617 8.66701,13.14102 14.83044,15.63054 2.38915,0.96503 11.36755,3.41972 15.20398,4.15738 5.54403,1.06601 18.40665,2.00102 20.98145,1.52505 3.99311,-0.73817 8.03375,-2.56315 15.37415,-6.94446 2.47534,-1.47744 7.85344,-4.37126 11.95056,-6.43168 12.29689,-6.18398 19.84148,-10.28103 31.03786,-16.85058 3.41427,-2.00338 7.78972,-4.55275 9.72267,-5.66695 2.62135,-1.511 4.05253,-2.58749 5.63381,-4.23696 7.50616,-7.8299 14.0186,-19.86071 19.25969,-35.57982 3.63268,-10.89514 7.12671,-31.37314 7.1301,-41.77943 10e-4,-4.15078 -1.08785,-13.9874 -2.03338,-18.3734 -2.08265,-9.66027 -5.29235,-18.46312 -8.41644,-23.08113 -2.09906,-3.1028 -4.99813,-6.39582 -6.81185,-7.73571 -2.07439,-1.53244 -3.55072,-2.02575 -7.38428,-2.4732 -1.55303,-0.18128 -3.06739,-0.40189 -3.36614,-0.48847 -0.50944,-0.14768 -0.54176,-1.27147 -0.53045,-18.06175 0.007,-9.84718 0.13679,-29.5671 0.28954,-43.82166 0.15275,-14.25457 0.57017,-53.57243 0.92829,-87.37368 0.35816,-33.80126 0.72793,-62.59674 0.82219,-63.98973 l 0.1724,-2.5329 2.34282,-2.58814 c 3.1559,-3.48428 7.08637,-8.45724 10.32384,-13.064505 9.81897,-13.973383 13.07091,-22.292906 14.30443,-36.583245 0.57471,-6.658281 0.0653,-11.651838 -1.89635,-18.587793 -2.04761,-7.240079 -4.65438,-12.520706 -8.79219,-17.800961 C 479.58254,19.424902 471.77608,13.346345 463.30498,9.0465851 451.89952,3.2574401 438.62475,0.02806908 426.12055,2.3107991e-4 Z M 423.66063,2.7011121 c 0.4818,0.0057 0.82286,0.03602 0.8885,0.101665 0.0678,0.0678 -0.033,1.217444 -0.22544,2.552781 -0.29028,2.014708 -0.26951,2.739287 0.12819,4.265688 0.26361,1.0116939 0.41045,1.9102609 0.3249,1.9958119 -0.0855,0.08558 -0.84979,0.154715 -1.69743,0.154715 -1.36418,0 -1.66121,-0.126972 -2.58372,-1.105102 -1.30438,-1.3830469 -2.12143,-3.9995489 -1.83889,-5.8835539 0.11067,-0.737762 0.37297,-1.482929 0.58349,-1.657651 0.2715,-0.225293 2.97501,-0.441257 4.4204,-0.424359 z m 4.64584,0.101665 c 0.69384,5.12e-4 1.75809,0.07398 3.38603,0.221019 6.30612,0.569569 12.77972,1.770649 18.17227,3.372767 3.95727,1.175689 3.91659,1.139 2.78045,2.552782 -1.07448,1.3370239 -1.84774,3.5800279 -1.84774,5.3553179 0,0.766154 -0.13966,1.179133 -0.389,1.155936 -0.21339,-0.01991 -1.85433,-0.493001 -3.64682,-1.052057 -4.07484,-1.27088 -7.85093,-1.913044 -13.81155,-2.349444 -2.5607,-0.187476 -4.84115,-0.494872 -5.06578,-0.680741 -1.05603,-0.87376 -1.3681,-2.1579419 -1.23993,-5.0878829 0.0734,-1.678707 0.28281,-3.05437 0.49951,-3.271098 0.14578,-0.145696 0.46874,-0.217113 1.16256,-0.216599 z m -12.49205,0.384574 c 0.2617,-0.01433 0.41889,-0.0098 0.44866,0.01989 0.0836,0.08364 0.18096,1.243134 0.21661,2.574884 0.0461,1.718517 0.26447,2.861014 0.74926,3.938579 0.37566,0.8350469 0.64371,1.5577569 0.59675,1.6046059 -0.047,0.04684 -2.94974,0.446956 -6.44936,0.890711 -3.49962,0.443755 -8.0388,1.162538 -10.08737,1.597975 -6.05901,1.287889 -6.48183,1.300273 -7.56772,0.214389 -0.96531,-0.965295 -2.02131,-3.889352 -1.84331,-5.1055629 0.0857,-0.585513 0.65369,-0.835532 4.13528,-1.830048 2.21927,-0.633923 5.64211,-1.510109 7.60531,-1.947187 3.45888,-0.770065 10.36404,-1.857989 12.19589,-1.958238 z m 40.26103,5.624963 c 1.93222,0.260616 10.45235,4.7071939 15.51782,8.1600619 2.47522,1.687227 4.53035,3.267443 4.56849,3.51201 0.0387,0.248086 -0.73534,0.945076 -1.75269,1.578083 -1.00291,0.624022 -2.41148,1.881289 -3.12965,2.793694 -0.71821,0.912417 -1.40305,1.69626 -1.52062,1.741638 -0.11758,0.0454 -0.6258,-0.347378 -1.12941,-0.873029 -1.3595,-1.418998 -7.59573,-5.469542 -11.31402,-7.348919 -1.79249,-0.905989 -3.43345,-1.790338 -3.64684,-1.964869 -0.24089,-0.197015 -0.38899,-1.114364 -0.38899,-2.41796 0,-1.786844 0.13518,-2.311744 0.90618,-3.52748 0.4983,-0.7857429 1.21492,-1.5264219 1.59356,-1.6465999 0.0673,-0.02136 0.16735,-0.024 0.29617,-0.0066 z m -66.98457,0.300586 c 0.11935,-0.01303 0.19942,-0.0097 0.23649,0.01326 0.13287,0.0821 0.33267,0.836962 0.44425,1.6775429 0.11147,0.84057 0.61645,2.345615 1.12279,3.344034 0.50633,0.998431 0.92046,1.843251 0.92385,1.878672 0.002,0.03545 -1.00789,0.363614 -2.24556,0.729366 -5.36233,1.584612 -16.97078,6.445765 -20.0399,8.392133 -0.78187,0.495855 -1.49894,0.896424 -1.59355,0.888502 -0.68993,-0.05502 -2.63584,-1.443215 -3.66893,-2.616878 -1.2687,-1.441314 -1.69966,-2.354625 -1.35264,-2.864421 0.36194,-0.531749 4.04001,-2.601155 7.55889,-4.254637 6.21606,-2.920871 16.82399,-6.9921279 18.61431,-7.1875739 z M 360.31627,22.325483 c 0.19476,0 0.66836,0.559402 1.05205,1.242133 0.38374,0.682742 1.38524,1.83376 2.22789,2.559413 0.84264,0.725654 1.53379,1.399099 1.53388,1.496306 9e-5,0.09725 -1.15324,0.962011 -2.56162,1.920665 -1.40839,0.958655 -3.30464,2.37912 -4.21486,3.158378 -0.91017,0.77927 -1.68894,1.418949 -1.73059,1.418949 -0.0416,0 -0.40295,-0.348499 -0.8023,-0.773571 -0.39931,-0.425071 -1.61054,-1.348671 -2.69203,-2.053277 -1.08149,-0.704627 -1.96707,-1.390553 -1.96707,-1.522828 0,-0.493195 8.54836,-7.446168 9.15465,-7.446168 z m 117.64238,0.930494 c 0.85481,0 1.20552,0.317523 3.00145,2.716338 3.95025,5.276294 7.85306,11.954701 7.63845,13.068919 -0.0666,0.346209 -0.57828,0.572446 -1.62891,0.722736 -0.84255,0.120518 -2.58728,0.75175 -3.87669,1.401268 -1.28938,0.649517 -2.44906,1.227206 -2.5771,1.284127 -0.128,0.05691 -0.23208,-0.06276 -0.23208,-0.265224 0,-0.20247 -0.54785,-1.538608 -1.21782,-2.968301 -1.42337,-3.037411 -3.81545,-6.602425 -5.59622,-8.341299 -0.94209,-0.91993 -1.2554,-1.471048 -1.2554,-2.20357 0,-2.053104 3.56621,-5.414994 5.74432,-5.414994 z m -139.1167,7.063808 c 3.52919,-0.07327 7.04392,0.242079 7.04392,0.864189 0,0.231021 -0.34901,1.075999 -0.77579,1.878671 -0.42679,0.802671 -0.77578,1.649237 -0.77578,1.880881 0,0.336522 -0.51543,0.383064 -2.56604,0.22544 -6.51538,-0.500811 -11.69242,1.917043 -15.2526,7.125689 -2.01107,2.942288 -2.59107,7.742449 -1.54935,12.828008 0.2741,1.338043 0.56254,2.780221 0.64096,3.207002 0.12053,0.65642 -0.10897,0.944203 -1.4941,1.863194 -0.90056,0.597497 -1.79838,1.186824 -1.99581,1.310657 -1.3528,0.848525 -3.8568,-6.614482 -3.8568,-11.497469 0,-4.170291 1.02191,-7.396939 3.54075,-11.185828 2.44361,-3.675715 6.98392,-6.826394 11.42673,-7.930202 1.37354,-0.341248 3.49641,-0.526268 5.61391,-0.570232 z m 10.48741,1.916244 1.50515,0.817775 c 0.82812,0.450715 2.01481,1.341184 2.63676,1.97813 l 1.13162,1.158146 -1.40347,1.292967 c -0.77147,0.711101 -1.51032,1.288654 -1.64218,1.284128 -0.19218,-0.0068 -3.69494,-2.272122 -4.06013,-2.62572 -0.13562,-0.131314 0.81372,-2.348445 1.3681,-3.195951 z m 0.95481,1.922876 c -0.14186,0.02522 -0.30033,0.07641 -0.49288,0.150294 -0.58006,0.222589 -0.65897,1.692711 -0.11935,2.232303 0.51552,0.515511 1.35305,0.465976 1.93393,-0.114931 0.6389,-0.638915 0.61583,-0.937928 -0.13262,-1.686383 -0.49826,-0.498265 -0.7635,-0.656946 -1.18908,-0.581283 z m 6.45378,4.124235 c 0.43455,-0.07592 0.8557,0.265525 1.57588,0.965858 3.86115,3.754782 5.76104,12.693512 3.88552,18.280575 -2.23337,6.653106 -6.95519,11.1503 -13.05565,12.436797 -2.3772,0.501309 -8.58451,0.598018 -9.69836,0.150303 -0.80151,-0.322173 -0.81687,-0.470178 -0.26965,-2.784857 0.36036,-1.524364 0.48428,-1.699822 1.15152,-1.631132 8.75163,0.901371 15.89732,-4.465973 17.10696,-12.852318 0.59514,-4.126101 -0.39218,-8.325399 -2.59478,-11.042165 l -0.68959,-0.848717 0.92608,-1.142674 c 0.77878,-0.962214 1.22753,-1.45575 1.66207,-1.53167 z m 132.96129,3.752921 0.56139,2.172628 c 0.30874,1.194994 0.56349,2.244461 0.56801,2.333972 0.003,0.08944 -1.21374,0.159241 -2.70749,0.154715 -2.22541,-0.0061 -2.95592,0.119542 -4.04466,0.691793 -0.73078,0.384106 -1.44587,0.698424 -1.58914,0.698424 -0.14328,0 -0.43916,-0.634019 -0.65643,-1.410109 -0.38199,-1.364285 -0.36647,-1.440577 0.46193,-2.305239 1.20178,-1.254416 3.70969,-2.263424 5.72442,-2.303031 z M 67.747507,48.770544 c 1.255796,1.37e-4 2.411172,0.02553 3.268885,0.08399 l 3.315305,0.227651 -0.249749,1.75269 c -0.138183,0.964482 -0.215122,2.695651 -0.170185,3.84796 l 0.08177,2.09527 -1.478624,-0.05083 c -0.81315,-0.0276 -2.525613,-0.148844 -3.805965,-0.269644 -1.280352,-0.12079 -3.986085,-0.2363 -6.013954,-0.258593 l -3.68883,-0.042 0.187872,-1.474204 c 0.103023,-0.810887 0.0666,-2.310916 -0.08178,-3.335194 -0.148356,-1.024277 -0.180833,-1.956426 -0.07073,-2.070958 0.26446,-0.275162 4.938584,-0.506545 8.705983,-0.506136 z m 420.417853,0.05746 c 0.93934,0.03165 1.87799,0.255289 2.7097,0.680741 1.02739,0.525537 1.15688,1.030249 1.39684,5.408363 0.17637,3.217753 -0.24526,8.138106 -0.97911,11.406845 -0.19024,0.847382 -0.42481,0.835997 -2.7296,-0.130397 -0.99451,-0.417015 -2.49676,-0.839755 -3.3374,-0.939338 l -1.52725,-0.181241 v -4.409346 c 0,-2.424423 -0.1573,-5.57367 -0.34921,-6.999707 l -0.34922,-2.592566 0.95702,-0.855348 c 1.07497,-0.960487 2.64266,-1.440761 4.20823,-1.388006 z m -411.680931,0.417727 2.086429,0.205549 c 3.84435,0.377634 12.852805,2.082177 14.876871,2.815797 0.256369,0.09292 0.07821,0.707425 -0.56803,1.960448 -0.618465,1.199204 -0.999834,2.481383 -1.113935,3.739663 -0.199223,2.197103 -0.117395,2.165067 -3.503166,1.394635 -1.109635,-0.252499 -4.250625,-0.846692 -6.982034,-1.319495 -4.4834,-0.776067 -5.007342,-0.931824 -5.372992,-1.604602 -0.470268,-0.86525 -0.323983,-4.868856 0.229856,-6.296863 z m -20.711791,0.229861 c 0.549494,-0.01997 0.836383,0.09136 1.045428,0.366894 0.457832,0.603438 0.798507,3.209424 0.663051,5.074622 -0.09594,1.321 -0.154489,1.400676 -1.098466,1.491885 -1.089877,0.105332 -1.144886,0.005 -1.434423,-2.63898 -0.07833,-0.715265 -0.367268,-1.747777 -0.640951,-2.296399 -0.737829,-1.479008 -0.629262,-1.734299 0.822192,-1.936136 0.248437,-0.03455 0.460005,-0.05522 0.643169,-0.06189 z m -4.305474,0.795673 c 0.359154,0.04577 0.505846,0.231586 0.784622,0.601174 0.745592,0.988439 1.248768,2.726223 1.248768,4.318733 0,1.533259 -0.03837,1.554312 -4.502184,2.528474 -1.707133,0.372553 -4.425563,1.097233 -6.042686,1.611239 -1.617123,0.514005 -4.173041,1.470295 -5.680216,2.123999 -1.852229,0.803385 -2.779605,1.068999 -2.8578,0.817779 -0.06359,-0.204439 -0.271115,-0.881263 -0.461929,-1.502942 -0.190814,-0.62168 -0.777946,-1.783948 -1.306232,-2.581515 -0.535801,-0.808907 -0.840842,-1.557846 -0.687371,-1.695225 1.0286,-0.920801 14.16775,-5.424079 17.449536,-5.980804 1.12446,-0.190758 1.696348,-0.286683 2.055492,-0.240912 z m 44.475873,2.641191 3.065556,1.029953 c 5.443057,1.827062 14.707877,5.913933 14.704477,6.486942 -7.1e-4,0.125882 -0.34971,0.917294 -0.77578,1.757105 -0.50833,1.00195 -0.77357,2.041946 -0.77357,3.025768 0,1.00737 -0.12831,1.490664 -0.38899,1.471992 -0.21339,-0.01529 -1.64408,-0.57938 -3.18049,-1.253182 -2.70143,-1.184719 -8.41512,-3.082484 -12.571627,-4.175066 -1.109636,-0.291688 -2.191309,-0.747766 -2.404699,-1.012271 -0.87462,-1.084095 -0.107154,-4.417176 1.445467,-6.276976 z M 30.09231,57.763847 c 0.944351,0.190248 2.377563,2.598716 2.537314,4.261262 l 0.150291,1.551569 -1.474211,0.868611 c -2.489423,1.467911 -7.356477,5.220215 -9.143593,7.048329 -0.933091,0.954501 -1.841377,1.715359 -2.017921,1.690803 -0.176545,-0.02456 -1.03247,-0.757225 -1.900765,-1.628915 -0.868283,-0.871678 -1.915283,-1.818789 -2.327341,-2.104117 L 15.166825,68.931997 17.03002,67.02459 c 3.089093,-3.166327 11.989738,-9.4768 13.06229,-9.260739 z m 85.81108,3.821434 c 0.41126,-0.01421 0.90411,0.146251 1.52725,0.464147 l 1.26644,0.647594 -0.75148,0.999008 c -0.73292,0.973116 -1.74826,3.529894 -1.74826,4.404933 0,0.798111 -0.60518,0.824806 -1.36811,0.06188 -1.10834,-1.108334 -1.34058,-3.178808 -0.55477,-4.955264 0.48086,-1.087037 0.94347,-1.598587 1.62893,-1.622295 z m 4.71214,2.566046 c 1.52362,0 8.81785,5.244484 15.29238,10.995754 1.195,1.061497 2.17263,2.076868 2.17263,2.256615 0,0.193247 -1.26778,0.410338 -3.10312,0.532655 -1.70713,0.113773 -3.73397,0.426147 -4.50218,0.694002 -0.76822,0.267844 -1.53556,0.483067 -1.70627,0.477409 -0.17072,-0.0059 -1.42799,-1.063047 -2.7937,-2.347235 -1.36571,-1.2842 -3.77401,-3.311774 -5.35311,-4.506598 -3.16073,-2.39155 -3.19709,-2.469598 -2.40249,-5.145354 0.59772,-2.012728 1.36233,-2.957248 2.39586,-2.957248 z m 363.4941,3.184896 c 1.31144,-0.01019 3.81846,0.680977 5.7841,1.697435 0.98865,0.511256 1.01619,0.575441 0.84429,2.026759 -0.43108,3.639798 -2.42099,9.040265 -5.57633,15.12662 -1.17264,2.261956 -2.29736,4.105687 -2.49752,4.095502 -0.48226,-0.02396 -4.0659,-2.489186 -5.20503,-3.580523 -0.4952,-0.474444 -0.89955,-1.0476 -0.89955,-1.273076 0,-0.225476 0.69233,-1.630624 1.5383,-3.123019 1.97375,-3.482072 3.50546,-7.497082 4.34083,-11.375901 0.36424,-1.691165 0.73547,-3.193406 0.82441,-3.337405 0.10717,-0.173342 0.40937,-0.252985 0.8465,-0.256392 z M 14.167806,70.558705 c 0.0448,-0.0077 0.08388,-0.0048 0.119352,0.0088 0.255147,0.0979 0.598459,0.179034 0.762522,0.179034 0.392096,0 3.336013,2.758818 3.730814,3.496534 0.238251,0.445169 0.09661,0.904404 -0.632114,2.040011 -2.48415,3.871203 -3.757339,8.198631 -3.757339,12.774971 v 2.826839 l -1.076366,0.448677 C 11.990529,92.88681 9.5367965,92.910948 8.4942215,92.379981 7.7252497,91.988514 7.7180073,91.947029 7.7316999,87.961792 7.7486069,83.025211 8.3922395,79.941697 10.125354,76.48864 c 1.684251,-3.355704 3.370415,-5.815275 4.042452,-5.929976 z M 289.6053,73.984512 c 0.33752,0.129515 0.41109,13.361005 0.41109,75.279458 v 75.12474 l -10.00999,-0.0442 c -20.09395,-0.0871 -130.94204,-1.49728 -137.42588,-1.74827 -5.88167,-0.22767 -6.82047,-0.33671 -7.91473,-0.91281 -1.4979,-0.78859 -2.79107,-2.10321 -3.24238,-3.29763 -0.21933,-0.58046 -0.70178,-22.88129 -1.41673,-65.44626 -1.05672,-62.913678 -1.06916,-64.598088 -0.51277,-65.852945 0.31404,-0.708294 0.78365,-1.461163 1.04322,-1.675334 1.01404,-0.83671 5.24275,-1.628914 8.69935,-1.628914 1.86121,0 36.36333,-2.239539 76.67187,-4.977376 40.30854,-2.737849 73.4717,-4.90691 73.69695,-4.820454 z m 2.58594,0.282906 c 0.86912,-0.04076 3.56322,0.463264 12.10306,1.962665 5.37747,0.944147 9.96948,1.900074 10.2045,2.123999 0.36092,0.343867 0.36619,1.774363 0.042,9.203275 -0.21115,4.837598 -0.3333,12.662513 -0.27185,17.387663 0.10445,8.02935 0.15202,8.64497 0.736,9.42651 0.34365,0.45993 1.11321,0.99446 1.70848,1.18688 l 1.08079,0.3492 -0.0332,54.11677 c -0.0285,45.86621 -0.098,54.15904 -0.46414,54.39085 -0.46753,0.29575 -20.65524,0.29413 -23.71104,-0.002 l -1.86319,-0.18123 -0.084,-74.33791 c -0.0466,-40.88586 -0.008,-74.662676 0.0884,-75.060646 0.0775,-0.321188 -0.0574,-0.541345 0.46415,-0.565811 z m 29.74267,5.282382 c 1.99463,0.12543 9.17666,1.472378 9.59228,1.865413 0.40283,0.38095 0.39046,1.023383 -1.62892,84.465047 -0.43793,18.09562 -0.8612,33.20947 -0.94155,33.58621 -0.0963,0.45127 -0.63578,0.90169 -1.58029,1.3195 -1.88415,0.83344 -5.3342,0.8831 -6.27697,0.0906 l -0.64759,-0.54371 0.38015,-60.26776 c 0.20846,-33.14687 0.47913,-60.366757 0.60117,-60.488792 0.0384,-0.03834 0.21678,-0.04444 0.50172,-0.02652 z m 13.14186,2.530683 c 1.46323,0.09952 7.39172,1.087648 16.3157,2.722968 9.00693,1.650528 36.2099,6.635203 60.45122,11.077525 24.24129,4.442314 44.39015,8.149044 44.77425,8.237424 0.38411,0.0884 0.69843,0.30841 0.69843,0.48845 0,0.81177 -11.39518,10.31618 -15.7079,13.10208 -4.05888,2.62193 -15.14814,8.69422 -20.30291,11.11731 -2.90448,1.36531 -6.44854,2.77348 -8.09155,3.21584 -3.20118,0.86188 -12.68802,1.85966 -14.48345,1.52283 -1.20965,-0.22694 -1.44344,-0.67556 -1.74384,-3.31752 -0.28046,-2.46672 -2.67325,-8.28619 -4.24359,-10.32163 -2.24482,-2.90971 -5.45779,-4.49824 -11.47315,-5.67359 -4.98856,-0.97472 -6.14942,-1.0542 -9.64532,-0.66969 -3.91393,0.43049 -5.04429,0.99074 -6.82068,3.38161 -2.67973,3.60676 -5.35182,10.3826 -6.37864,16.16983 -0.763,4.30021 -0.69547,12.68309 0.14145,17.38102 2.37866,13.35221 6.0378,19.8907 11.82458,21.13174 2.98488,0.64015 13.18393,-1.02044 16.74669,-2.7274 4.43367,-2.12419 8.22107,-8.33749 9.80003,-16.07479 l 0.69843,-3.41475 1.82783,-0.2365 c 9.16325,-1.18405 20.62103,-3.93894 24.43598,-5.87471 0.65672,-0.33323 1.25966,-0.54166 1.33717,-0.46415 0.0775,0.0775 -0.21194,1.37747 -0.64316,2.89095 -1.40882,4.94499 -1.76689,7.87606 -1.75048,14.35747 0.0155,6.1103 0.43408,9.99499 1.43884,13.38056 1.18131,3.98036 4.60433,9.81008 6.48473,11.04216 1.07242,0.70268 5.00604,1.42967 6.52893,1.20676 1.86136,-0.27243 8.93612,-2.24819 11.92183,-3.32855 3.45444,-1.24996 4.9221,-2.65679 5.74211,-5.50562 1.48759,-5.16803 1.74466,-6.19257 2.0599,-8.22415 0.96424,-6.21444 0.87167,-15.94674 -0.19008,-20.17472 -1.78973,-7.12707 -6.40242,-11.61722 -13.57284,-13.20816 -0.98939,-0.21952 -1.86123,-0.49984 -1.93614,-0.62107 -0.0749,-0.12123 1.97119,-1.52776 4.54638,-3.12743 5.18095,-3.21829 10.43341,-7.04936 13.8226,-10.08073 1.22052,-1.09168 2.36872,-1.98476 2.55057,-1.98476 0.18187,0 0.45829,0.24495 0.61665,0.5437 0.17804,0.33582 0.12699,9.90469 -0.13703,25.06368 -0.2349,13.48637 -0.64741,37.09051 -0.91502,52.45472 -0.26762,15.3642 -0.67998,30.79827 -0.91724,34.29789 -0.23723,3.49963 -0.4407,6.8162 -0.45088,7.37102 -0.024,1.31453 -0.59955,1.28951 -1.52283,-0.0663 -1.04423,-1.53351 -2.39442,-2.45705 -4.71214,-3.22469 l -2.02455,-0.66969 -2.13506,-4.5066 c -2.56185,-5.41102 -3.85479,-6.979 -6.36316,-7.71802 -3.18166,-0.93739 -10.56824,-0.50999 -13.05788,0.75589 -2.40785,1.22433 -5.32431,4.77 -7.52573,9.14581 -1.36308,2.70937 -4.37026,11.38866 -5.37521,15.51782 -1.58137,6.49735 -2.6034,16.70663 -2.61246,26.07375 -0.0122,12.80809 4.08898,25.61998 10.11609,31.59924 3.42548,3.39824 6.6255,4.79703 10.20893,4.4624 2.46305,-0.22999 3.64035,-0.72032 6.82289,-2.8379 2.73085,-1.81705 3.95321,-3.29592 6.34106,-7.67161 1.28157,-2.34846 1.32413,-2.38791 2.88652,-2.72297 1.86292,-0.39953 4.17774,-1.37863 4.9818,-2.10631 0.31288,-0.28313 1.22595,-1.67352 2.02896,-3.08986 0.803,-1.41633 1.57967,-2.57711 1.72618,-2.57711 0.24709,-0.002 0.16019,8.57301 -0.30502,30.31513 l -0.18565,8.74356 -6.34328,-0.17904 c -9.91455,-0.2811 -10.72407,-0.12503 -22.3584,4.29664 -5.32523,2.02385 -12.09931,4.63895 -15.05367,5.81283 -2.9544,1.17392 -7.88755,3.11622 -10.96039,4.31652 -23.77265,9.28597 -23.35267,9.10385 -29.33158,12.81917 -3.86494,2.40169 -6.45819,4.46511 -12.15168,9.6652 -1.64798,1.50516 -3.05774,2.73623 -3.13186,2.73623 -0.17562,0 -0.54592,-22.32104 -0.54592,-32.96515 v -8.29046 l 18.08165,-5.92996 c 9.94406,-3.26147 19.57006,-6.41849 21.39254,-7.01518 1.82248,-0.5967 3.4847,-1.29143 3.69325,-1.54272 0.2935,-0.35366 0.44545,-14.06266 0.6719,-60.6855 0.16091,-33.12598 0.2148,-60.53287 0.12156,-60.9043 -0.0933,-0.37143 -0.37161,-0.95048 -0.61886,-1.28855 -0.44267,-0.60523 -0.83813,-0.61419 -25.69801,-0.52604 -23.72647,0.0842 -25.29371,0.12315 -26.02291,0.6476 l -0.77799,0.55918 -0.17461,11.45105 c -0.14535,9.49174 -0.26516,11.7684 -0.70504,13.31204 -0.85469,2.99916 -1.8411,4.15638 -4.79615,5.62718 -1.41478,0.70417 -3.30068,1.50125 -4.19053,1.77258 -2.46965,0.75303 -11.68312,1.81346 -16.2052,1.8654 l -4.03583,0.0464 -0.0818,-10.17356 -0.0818,-10.17355 1.95602,0.19891 c 3.81623,0.39099 7.87752,-1.04742 8.59548,-3.04565 0.7792,-2.16875 1.23966,-11.4539 1.70407,-34.3819 1.33746,-66.02794 1.77959,-84.292759 2.04664,-84.562288 0.0225,-0.0227 0.14017,-0.02748 0.34921,-0.01326 z m 140.07592,5.936607 c 0.17058,-0.0342 0.33144,0.07341 0.57686,0.254163 0.3707,0.273026 1.8294,1.270654 3.24015,2.216838 l 2.56384,1.719535 -0.54592,0.928282 c -1.21001,2.053963 -8.19855,11.127332 -10.30838,13.382762 -1.23758,1.32303 -2.4115,2.40255 -2.60803,2.40029 -0.64903,-0.007 -3.13052,-1.56848 -4.31431,-2.71634 -1.33165,-1.29125 -1.44186,-1.9034 -0.49509,-2.74065 1.48147,-1.3101 7.33026,-8.964188 10.52939,-13.780602 0.76849,-1.156949 1.07718,-1.607301 1.36149,-1.664278 z m -213.56953,5.280164 c -0.84117,0.0079 -1.86094,0.05594 -3.13186,0.132615 -4.18321,0.252398 -56.75164,2.852516 -96.78028,4.787298 -8.87709,0.429077 -16.74191,0.859184 -17.47828,0.954806 -0.85776,0.111375 -1.69588,0.490197 -2.32955,1.056477 l -0.98796,0.88408 0.11494,50.54287 c 0.0832,36.36639 0.21453,50.8442 0.46635,51.62589 0.26695,0.82864 0.68064,1.25044 1.74605,1.77479 l 1.39686,0.68737 43.30004,0.64758 c 23.81452,0.35623 49.93322,0.75634 58.0421,0.89072 8.10888,0.13439 15.41092,0.26867 16.22729,0.29616 1.64257,0.0555 3.20923,-0.48529 4.00047,-1.38137 0.47703,-0.54023 0.53354,-4.89281 0.74263,-55.69266 l 0.22765,-55.104726 -0.98576,-0.83103 c -1.14436,-0.96291 -2.04716,-1.294645 -4.57069,-1.27087 z M 13.272681,94.192391 c 1.374639,0.0054 1.427791,0.138182 1.427791,0.629907 0,1.711681 1.613672,6.785532 3.098701,9.744782 1.80719,3.60125 1.803399,3.97659 -0.05083,5.38404 -1.20356,0.91357 -2.921601,1.2637 -3.872278,0.78904 -0.709743,-0.35436 -2.568275,-4.09017 -3.9186865,-7.87494 -0.818107,-2.29287 -2.2006554,-8.207178 -1.9715017,-8.436343 0.073771,-0.07377 1.6161387,-0.167129 3.4258192,-0.207754 0.798643,-0.01793 1.402771,-0.03054 1.860988,-0.02873 z M 460.6373,106.7618 c 0.51245,0.0353 1.00718,0.56149 2.04222,1.46536 0.64654,0.56463 1.79979,1.32951 2.56163,1.69965 0.76182,0.37012 1.38579,0.77362 1.38579,0.89734 0,0.33345 -6.52905,6.34882 -10.02989,9.24085 -2.14629,1.77305 -3.29099,2.51413 -3.8789,2.513 -0.90469,-0.002 -2.3568,-0.66244 -3.27331,-1.49189 -0.83858,-0.7589 -2.14254,-3.09162 -1.92508,-3.44349 0.10252,-0.16583 1.6801,-1.45536 3.50538,-2.86442 1.82529,-1.40906 4.69109,-3.87478 6.36759,-5.47908 1.89926,-1.81748 2.58571,-2.58266 3.24457,-2.53732 z m -433.433729,0.52382 c 0.405789,-0.15572 4.917049,2.49663 5.300069,3.11638 0.170378,0.27567 -1.138367,2.4432 -8.091545,13.39604 -1.670944,2.63212 -3.202799,4.83919 -3.405925,4.90663 -0.203138,0.0675 -1.383217,-0.84172 -2.621292,-2.02233 l -2.249995,-2.14831 0.541505,-1.41674 c 0.771642,-2.02054 1.204533,-2.29833 2.333972,-1.4941 1.889731,1.34562 3.691298,1.2357 5.481299,-0.33594 1.566472,-1.37538 2.399493,-3.16859 2.437855,-5.24261 0.02802,-1.51301 -0.110978,-1.9333 -1.131623,-3.41697 -0.64017,-0.9306 -1.164779,-1.84601 -1.164779,-2.03338 0,-0.47366 2.04637,-3.10756 2.570459,-3.30867 z m -6.703531,2.12842 c 0.08926,0.0158 0.175073,0.0648 0.267425,0.14146 1.145644,0.9508 0.155892,3.51887 -1.732798,4.49554 -0.488589,0.25267 -1.449858,0.45972 -2.137262,0.45972 -1.001622,0 -1.355616,-0.15918 -1.776999,-0.8023 -0.447613,-0.68312 -0.459439,-0.84315 -0.08399,-1.08079 0.242575,-0.15352 0.691784,-0.28285 0.999008,-0.28511 0.90634,-0.008 2.227962,-0.82518 3.288779,-2.03339 0.607784,-0.69221 0.908026,-0.94255 1.175836,-0.89513 z m 13.723135,2.39807 c 0.06422,-0.0118 0.125826,-0.01 0.187861,0.002 0.888449,0.16708 22.948873,15.35954 23.065668,15.88472 0.119398,0.53685 0.2789,0.22919 -4.833716,9.39335 -2.869072,5.14269 -4.358786,7.51652 -4.698884,7.4948 -0.273773,-0.0175 -2.172919,-1.00115 -4.221485,-2.18589 -2.048555,-1.18474 -4.771183,-2.70503 -6.051535,-3.3772 -5.006651,-2.6284 -15.059639,-8.62469 -15.139871,-9.03088 -0.04655,-0.23582 1.61624,-3.08203 3.69545,-6.32559 2.079211,-3.24355 4.631201,-7.26366 5.671378,-8.93363 1.32315,-2.12425 1.875575,-2.83922 2.325134,-2.92188 z m -11.398012,0.83766 c 0.356235,-0.002 2.429018,3.51602 2.429018,4.12203 0,0.76627 -0.524451,1.74539 -1.491887,2.78265 -0.613702,0.65798 -1.083393,0.85313 -2.046642,0.85313 -1.114513,0 -1.427293,-0.18721 -2.890946,-1.735 -0.902571,-0.95446 -1.639971,-1.85529 -1.639971,-2.00244 0,-0.14716 0.505134,-0.40632 1.122785,-0.57687 1.446622,-0.39943 2.978161,-1.4557 3.721976,-2.56605 0.323158,-0.4824 0.680785,-0.87682 0.795667,-0.87745 z m 12.390389,2.7937 c -0.623931,0.002 -8.512475,13.66607 -8.356764,14.47461 0.0733,0.38054 3.216265,2.27064 9.572376,5.75978 5.941587,3.26158 9.740581,5.1701 10.206708,5.12766 0.62435,-0.0569 1.26133,-1.02005 4.004893,-6.06257 3.203545,-5.888 3.252171,-6.00836 2.672124,-6.58199 -1.183666,-1.17057 -17.619732,-12.71976 -18.099337,-12.71749 z m 338.048078,0.10388 c 0.99934,0.0288 2.16345,0.20038 3.70651,0.49729 5.34435,1.02834 5.22755,0.94011 3.69324,2.68761 -1.67935,1.91269 -4.32376,7.73945 -5.05473,11.14163 -0.948,4.41255 -0.93434,12.61552 0.0287,18.31372 1.51541,8.96603 4.27817,16.18118 7.0395,18.38445 0.59201,0.47235 1.07636,0.94892 1.07636,1.05869 0,0.34987 -0.99443,0.60072 -4.18391,1.05426 -4.45186,0.63306 -8.38886,0.58315 -9.93927,-0.12819 -1.56352,-0.71737 -4.19834,-3.49859 -5.20945,-5.49676 -1.9503,-3.85411 -3.61009,-10.00866 -4.23696,-15.71454 -0.95031,-8.64965 0.14843,-16.87203 3.22469,-24.14423 1.62776,-3.84803 2.91187,-5.44929 5.2426,-6.53998 1.74042,-0.81445 2.94712,-1.16187 4.61269,-1.11395 z m -337.665714,1.46316 c 0.20049,0.009 1.901602,1.13009 3.779451,2.49089 1.87785,1.36081 4.605446,3.29267 6.06258,4.29221 1.457123,0.99954 2.817685,2.18315 3.021343,2.63014 0.234393,0.51444 0.617708,0.81336 1.045427,0.81336 0.67954,0 2.7517,1.37492 2.7517,1.82562 0,0.1329 -1.26924,2.56909 -2.820219,5.415 -1.550969,2.8459 -2.913466,5.17407 -3.027975,5.17407 -0.114509,0 -3.419119,-1.76439 -7.344493,-3.92089 -3.925385,-2.15649 -7.939399,-4.35673 -8.918163,-4.88897 -0.978763,-0.53223 -1.781378,-1.17894 -1.78363,-1.43884 -0.0079,-0.71978 6.817304,-12.41217 7.233979,-12.39259 z m 350.177664,1.75489 c 0.17157,0.006 0.33543,0.0269 0.49066,0.0619 1.68122,0.37918 3.97433,1.85491 4.92654,3.16943 0.99082,1.36776 1.72429,3.00775 1.46316,3.26889 -0.0995,0.0994 -0.79045,-0.11644 -1.53609,-0.4774 -3.73421,-1.8077 -7.59394,0.16595 -9.8796,5.0503 -1.10691,2.36544 -1.40104,3.89972 -1.82121,9.48398 -0.57276,7.61188 0.56825,13.48205 3.51201,18.08385 1.65057,2.58027 3.5117,3.66231 6.29907,3.66231 0.91161,0 1.35043,0.13231 1.35043,0.40889 0,0.69261 -2.17139,2.99354 -3.43465,3.63799 -1.31834,0.67257 -1.41186,0.68454 -2.30745,0.31163 -1.29026,-0.5372 -2.32857,-2.15403 -3.86564,-6.01836 -3.34151,-8.40083 -4.21904,-13.1309 -3.95627,-21.30855 0.0962,-2.99232 0.38616,-6.42402 0.6476,-7.64068 0.82541,-3.84149 2.92013,-8.74886 4.30105,-10.0763 1.06438,-1.02313 2.60936,-1.66201 3.81039,-1.61787 z m 59.53176,0.27848 0.49509,0.7139 c 1.17643,1.6962 3.03652,3.54046 4.1375,4.10213 0.65386,0.33358 1.10777,0.74018 1.00785,0.90177 -0.28127,0.4551 -3.76237,2.85575 -6.51346,4.49333 -1.36571,0.81294 -2.93303,1.74708 -3.48108,2.07539 l -0.9968,0.59675 -1.35042,-1.24655 c -1.29478,-1.19349 -3.01914,-4.11985 -3.01914,-5.12546 0,-0.26287 0.31431,-0.67247 0.69842,-0.91281 0.3841,-0.24035 2.57153,-1.60014 4.86024,-3.01914 z m -225.51567,3.90101 c 2.21357,-0.16153 4.73252,0.8007 6.1731,2.54836 0.95854,1.16288 1.97371,3.84345 1.97371,5.21166 0,0.426 0.0786,0.85221 0.17461,0.94817 0.096,0.096 0.99642,-0.2503 2.00244,-0.76915 3.54647,-1.82905 8.02085,-1.07428 9.82876,1.65766 0.94641,1.43012 1.31142,4.54009 0.73821,6.27696 -0.55027,1.6673 -3.35125,4.04348 -6.6527,5.64486 -3.47277,1.68446 -8.21113,3.41565 -11.524,4.21044 -2.92098,0.70077 -3.58363,0.73373 -4.27674,0.21218 -0.61382,-0.4619 -2.38187,-4.23586 -3.30866,-7.0616 -1.62588,-4.95718 -2.05143,-12.23268 -0.84872,-14.50555 0.82301,-1.55534 2.36049,-3.16285 3.66009,-3.82586 0.61887,-0.31572 1.32205,-0.49428 2.0599,-0.54813 z m 213.77288,3.47003 c 0.2151,0.0825 0.4884,0.54669 0.6078,1.02994 0.31384,1.27002 1.95082,3.71617 3.0766,4.59722 0.6291,0.49238 0.8622,0.86229 0.66306,1.05426 -0.16869,0.16263 -2.20513,1.28573 -4.52428,2.49532 -2.31919,1.20961 -4.36859,2.19915 -4.55522,2.19915 -0.96839,0 -2.4268,-2.68587 -2.75392,-5.07241 -0.35136,-2.56329 -0.15515,-2.81642 3.65126,-4.7254 1.89356,-0.94966 3.61963,-1.66058 3.8347,-1.57808 z m -44.32558,0.57906 c 0.39328,0.0481 0.80774,0.26346 1.34821,0.62992 1.11396,0.75526 3.28387,3.72699 3.45676,4.73424 0.0969,0.56467 -0.10479,0.63461 -2.23672,0.77578 -2.67331,0.177 -3.57888,0.63873 -4.93981,2.51741 -2.48482,3.43021 -2.63087,8.99506 -0.28732,10.96703 1.01488,0.85394 4.06074,1.89821 6.46262,2.21683 0.84506,0.11215 1.60196,0.37489 1.68197,0.58349 0.26057,0.67901 -0.92644,5.03859 -1.75711,6.456 -0.4454,0.76004 -1.12953,1.58886 -1.52062,1.84109 -1.17951,0.76069 -2.00825,0.83236 -2.93736,0.25418 -1.47258,-0.91636 -2.49394,-2.22529 -3.64241,-4.66132 -1.6034,-3.401 -2.16429,-7.06967 -1.94276,-12.72633 0.25877,-6.60825 1.31676,-9.82575 4.05351,-12.34839 1.01218,-0.93299 1.60555,-1.32013 2.26104,-1.23993 z m -218.83203,0.0619 c 1.60579,0.0209 3.80278,0.89389 4.97959,2.04443 1.95026,1.90674 2.20648,6.46459 0.69179,12.30199 -1.49265,5.75255 -3.03428,10.27063 -3.57611,10.47855 -0.26701,0.10242 -0.50833,0.1697 -0.53708,0.14809 -0.0287,-0.0216 -0.92436,-0.15302 -1.99138,-0.29174 -6.27387,-0.81569 -13.46275,-4.01497 -15.85157,-7.05497 -2.22308,-2.82907 -2.83971,-5.93071 -1.55599,-7.81306 1.27101,-1.86368 3.10018,-2.91314 5.31997,-3.0545 1.32643,-0.0844 2.32192,0.0342 3.13406,0.37353 0.65489,0.27363 1.30061,0.49729 1.43442,0.49729 0.13383,0 0.46361,-0.64813 0.73378,-1.44105 1.21645,-3.5701 3.40421,-5.61425 6.57093,-6.14214 0.20053,-0.0334 0.41819,-0.0494 0.64759,-0.0464 z m 252.93764,4.3342 c 0.19873,0.0763 0.43549,0.79717 0.52602,1.60018 0.0905,0.80302 0.68924,2.49394 1.33054,3.75735 0.64126,1.26342 1.11101,2.35085 1.04322,2.41796 -0.26984,0.26742 -5.31326,2.1886 -9.11266,3.47222 -2.21217,0.74738 -4.31754,1.35927 -4.67899,1.35927 -1.2752,0 -2.75371,-2.30105 -3.26889,-5.08788 -0.42402,-2.29375 -0.056,-3.15056 1.47199,-3.43243 1.64304,-0.3031 8.58759,-2.57436 10.6377,-3.47886 0.9297,-0.41019 1.85232,-0.68408 2.05107,-0.60781 z m -16.67155,4.81603 0.22323,1.80132 c 0.27707,2.23808 0.85856,3.92928 1.88309,5.4813 0.43525,0.65926 0.67354,1.31122 0.53044,1.44767 -0.14308,0.13645 -1.67747,0.47088 -3.40812,0.74263 -1.7307,0.27175 -4.41407,0.58389 -5.96534,0.694 -3.31873,0.23558 -3.31672,0.23892 -3.27994,-3.05007 0.0191,-1.7127 0.20871,-2.44012 1.08742,-4.19054 l 1.06311,-2.11959 2.63899,-0.21218 c 1.45106,-0.11763 3.21971,-0.30024 3.93193,-0.40446 z m 31.34286,0.26081 c 1.08742,-0.0806 6.88256,1.70991 6.88256,2.1262 0,0.22944 -0.41932,1.07802 -0.9327,1.88752 -1.33712,2.10842 -2.65159,5.70291 -3.45012,9.43756 -0.94538,4.42141 -1.03894,14.79175 -0.1724,19.05415 0.8517,4.18948 2.27332,8.32023 3.47886,10.11166 1.01738,1.51186 1.29012,2.15937 0.9106,2.15937 -0.0915,0 -2.19491,0.349 -4.67457,0.77578 -6.45318,1.11068 -6.98025,1.07916 -8.5999,-0.5415 -1.58449,-1.58548 -3.18379,-5.48548 -4.29884,-10.47635 -0.67276,-3.0115 -0.72694,-3.90636 -0.69843,-11.79364 0.0295,-8.19615 0.0633,-8.65737 0.84872,-11.57261 0.44988,-1.6698 1.20549,-3.97407 1.67755,-5.12103 l 0.85756,-2.08643 3.82586,-1.96045 c 2.1035,-1.07849 4.05877,-1.97896 4.34525,-2.00023 z m -43.0503,0.6078 c 0.56238,0.0146 0.95934,0.0576 1.03659,0.13482 0.0965,0.0965 -0.1957,0.98626 -0.6498,1.97813 -0.7843,1.71317 -1.05379,4.27709 -0.68074,6.48473 0.15036,0.89574 -0.47472,0.89124 -4.0292,-0.0287 -2.20926,-0.57179 -2.44571,-0.85577 -2.7296,-3.27109 -0.22789,-1.93893 0.5865,-4.2757 1.69523,-4.86908 0.49526,-0.26508 3.67039,-0.47263 5.35752,-0.42878 z m -13.4557,0.87082 0.005,1.39684 c 0.002,0.76821 -0.1023,2.1642 -0.23207,3.10313 l -0.23429,1.70627 -0.0265,-1.86099 c -0.0141,-1.02428 0.0886,-2.42026 0.22986,-3.10312 z m 67.11939,2.98377 c 0.58497,0.0307 1.18812,0.26111 1.83226,0.68737 1.99637,1.32115 2.80323,2.68458 3.83912,6.49137 0.90461,3.32418 0.95131,3.78873 0.96807,9.54585 0.0179,6.11068 -0.43492,10.46133 -1.53388,14.76635 -0.5866,2.29797 -2.06283,5.37422 -3.00146,6.25046 -1.18979,1.11067 -2.183,1.18149 -3.30868,0.23428 -2.00514,-1.68721 -3.13282,-4.36358 -4.5751,-10.85209 -0.80589,-3.62541 -0.8934,-4.57067 -0.86862,-9.31158 0.0415,-7.88823 1.36626,-13.59401 3.78387,-16.28476 0.96627,-1.07544 1.88946,-1.57843 2.86442,-1.52725 z m 0.084,1.3858 c -0.084,-0.0161 -0.1664,-0.0127 -0.24534,0.0177 -0.55599,0.21337 -0.61813,1.69818 -0.0928,2.22347 0.55888,0.55889 1.11297,0.45035 1.33937,-0.26302 0.22882,-0.72085 -0.41383,-1.86554 -1.00121,-1.97813 z m 3.02575,3.5982 c -0.48421,0.073 -0.75764,0.722 -0.51055,1.36591 0.29602,0.77144 1.27529,0.39634 1.27529,-0.48845 0,-0.48465 -0.2001,-0.80684 -0.54371,-0.87304 -0.0768,-0.0148 -0.15185,-0.0148 -0.22103,-0.005 z m -6.10678,0.6498 c -0.32385,-0.007 -0.59447,0.20676 -0.67853,0.64317 -0.0596,0.30949 0.13352,0.83163 0.43099,1.16035 0.65098,0.71933 0.87095,0.73967 1.37474,0.13262 0.31063,-0.37427 0.28391,-0.61736 -0.13703,-1.25982 -0.29088,-0.44392 -0.66632,-0.66983 -0.99017,-0.67632 z m 7.34229,3.39929 c -0.14303,0.0211 -0.27743,0.0807 -0.38457,0.18786 -0.24432,0.24434 -0.23378,0.46781 0.042,0.80011 0.44339,0.53425 1.26865,0.32409 1.26865,-0.3227 0,-0.43837 -0.497,-0.72838 -0.92607,-0.66527 z m -9.09498,1.56925 c -0.9024,-0.0318 -1.23871,0.89562 -0.30058,1.44105 0.73559,0.42768 1.14518,0.26059 1.25981,-0.51498 0.0637,-0.43137 -0.11542,-0.71419 -0.53929,-0.84872 -0.14999,-0.0476 -0.29103,-0.0728 -0.41994,-0.0774 z m 9.38009,7.05495 c -0.75849,0 -1.05092,0.54327 -0.59012,1.09848 0.43563,0.52493 1.41336,0.59857 1.70407,0.12819 0.27712,-0.44838 -0.42992,-1.22667 -1.11395,-1.22667 z m -242.185,3.7242 c 0.59066,0 1.32434,0.13419 1.63114,0.29837 0.78759,0.42152 1.37549,2.00834 1.12277,3.0324 -0.33072,1.34007 -3.30964,5.02329 -6.68365,8.26173 -2.42786,2.33033 -3.63647,3.22786 -5.74873,4.27453 -2.4378,1.20797 -2.91299,1.33391 -5.37079,1.41674 -3.06501,0.10321 -4.12235,-0.20234 -6.74774,-1.94497 -1.84519,-1.22477 -4.12923,-3.8042 -5.16524,-5.83493 -0.9012,-1.76651 -1.80132,-4.48998 -1.80132,-5.44816 0,-0.95577 0.78425,-2.19472 1.39022,-2.19472 0.82507,0 2.21244,1.51892 3.43024,3.75733 2.20085,4.0454 5.98962,7.41744 8.33687,7.41744 2.44099,0 5.23011,-2.15204 9.44861,-7.29145 4.34551,-5.29414 4.82819,-5.74431 6.15762,-5.74431 z m 167.09121,31.11963 21.57156,0.0751 -0.12598,40.04001 c -0.0697,22.02202 -0.2107,48.07135 -0.31164,57.88737 l -0.18344,17.84518 -1.55156,0.0487 c -0.85356,0.0263 -12.86481,-0.55624 -26.6926,-1.29518 -65.33429,-3.4913 -103.92778,-5.7206 -104.23087,-6.02058 -0.28876,-0.28575 -1.02258,-55.8963 -0.74706,-56.61431 0.12016,-0.31313 0.79565,-0.54287 1.98697,-0.67631 8.57181,-0.96012 9.25899,-1.16274 10.21555,-3.01251 0.48871,-0.94506 0.56973,-5.14974 0.14145,-7.36881 -0.36007,-1.86569 -0.96564,-2.24433 -3.43244,-2.14169 -1.10963,0.0462 -3.52751,0.0548 -5.373,0.0177 l -3.35508,-0.0686 0.0972,-1.12279 0.0951,-1.12499 14.43483,-0.007 c 7.93817,-0.003 20.36777,0.024 27.6231,0.0596 18.04757,0.0886 22.49969,-0.2966 32.23136,-2.78928 8.0134,-2.05256 11.50379,-4.38611 13.01144,-8.69935 1.12274,-3.21207 1.33022,-4.99105 1.50074,-12.85453 0.17752,-8.18379 0.49515,-11.59688 1.11614,-11.99255 0.22377,-0.14261 10.11367,-0.2264 21.97825,-0.18566 z m 55.95121,31.57935 c 0.61493,0.009 0.81491,0.31576 0.0928,0.91502 -0.6809,0.5651 -4.0227,5.5481 -4.9398,7.36661 -2.75674,5.46627 -5.62825,16.60568 -6.57094,25.48804 -1.61673,15.23356 1.4074,36.57171 6.39413,45.11021 0.69995,1.19846 1.21503,2.23496 1.14487,2.30524 -0.0703,0.0702 -0.75786,-0.27099 -1.52946,-0.76032 -2.75816,-1.74916 -7.36003,-10.23234 -8.78554,-16.19415 -2.6473,-11.07138 -2.74712,-22.72757 -0.31827,-37.35239 0.96037,-5.78277 1.63292,-8.21452 3.78829,-13.68777 2.64574,-6.71854 5.04856,-10.35378 8.13795,-12.31304 0.94006,-0.59617 1.97102,-0.8862 2.58594,-0.87745 z m 6.28139,0.0132 c 1.42566,0 3.34946,1.01535 4.44914,2.34945 1.10479,1.34028 3.61909,6.27599 3.33961,6.55545 -0.0985,0.0985 -1.23049,-0.0509 -2.51742,-0.33373 -1.28696,-0.28278 -3.08805,-0.51498 -4.00267,-0.51498 -1.42416,0 -1.93019,0.17771 -3.52748,1.24434 -7.31199,4.88277 -11.20003,14.3182 -12.21136,29.63879 -0.3582,5.42636 -0.23347,8.28692 0.652,14.9255 0.79348,5.94884 1.30326,7.78635 3.26668,11.7671 1.83456,3.71942 3.68511,6.07718 5.94545,7.57436 1.68934,1.11895 2.33381,1.16477 6.69912,0.47078 1.70412,-0.27097 3.21614,-0.37544 3.3595,-0.23207 0.31077,0.31076 -1.17543,2.77623 -2.92188,4.84918 -0.85084,1.00988 -1.9546,1.83311 -3.4435,2.56825 -3.16416,1.56229 -4.07041,1.63597 -5.64485,0.46636 -2.40666,-1.78783 -3.75794,-4.12587 -5.48352,-9.4884 -1.25845,-3.9108 -2.7402,-10.95453 -3.49211,-16.60525 -0.68342,-5.13583 -0.95733,-18.08381 -0.47961,-22.71202 0.74595,-7.22692 3.04387,-15.76697 5.8062,-21.58483 1.20863,-2.54559 4.25363,-7.18126 5.7421,-8.74134 1.16901,-1.22524 3.14493,-2.19694 4.4646,-2.19694 z m -186.07683,4.33199 3.18047,0.005 c 1.74982,0.002 3.36638,0.12021 3.59158,0.26301 0.25652,0.16268 0.37156,0.71162 0.30943,1.46979 l -0.0995,1.21119 -2.94841,0.0729 c -3.53709,0.0888 -4.03361,-0.13104 -4.03361,-1.79467 z m -13.81376,0.15472 h 5.10999 5.10777 l 0.22102,1.07858 c 0.12131,0.59328 0.15464,1.18723 0.073,1.31949 -0.0817,0.13228 -2.45043,0.24091 -5.26249,0.24091 -5.54828,0 -5.54997,-0.001 -5.3487,-1.75931 z m -28.06955,5.58739 c 12.56975,-0.0256 62.06791,0.36811 62.22158,0.53045 0.0465,0.0491 0.13498,0.98331 0.1945,2.07538 l 0.1083,1.98475 -2.01791,0.55918 c -1.14504,0.3168 -5.30733,0.8406 -9.62322,1.21119 -4.18248,0.35917 -8.79101,0.78507 -10.24207,0.94597 -6.48431,0.71903 -42.33189,-0.27 -43.18733,-1.19129 -0.36358,-0.3916 -0.66076,-5.87323 -0.32933,-6.07806 0.0368,-0.0228 1.0798,-0.0339 2.87548,-0.0376 z m 229.10503,0.20113 c 0.23823,-0.002 0.50386,0.0233 0.83325,0.0663 2.27809,0.2973 7.78638,2.15796 7.79317,2.63234 0.003,0.22987 -0.5606,1.06308 -1.25319,1.84995 -2.96365,3.36683 -5.82921,9.19933 -7.05275,14.35746 -2.41204,10.16834 -1.98368,19.75279 1.346,30.08968 1.47864,4.59032 2.75184,7.46999 4.06016,9.1856 0.40285,0.52824 0.73377,1.10219 0.73377,1.27749 0,0.17527 -0.73487,0.41586 -1.63112,0.53266 -0.89624,0.1168 -2.70051,0.48357 -4.0093,0.81556 -1.30882,0.33196 -2.63545,0.59016 -2.94841,0.57465 -2.62856,-0.1293 -5.0611,-2.40017 -7.06602,-6.59744 -3.17241,-6.64139 -4.42091,-14.42932 -4.11539,-25.65381 0.16347,-6.00649 0.27279,-7.04654 1.1051,-10.399 1.8166,-7.31701 4.08785,-12.4468 6.6947,-15.12662 0.6205,-0.63788 1.97799,-1.73674 3.01692,-2.44226 1.29911,-0.88221 1.77842,-1.15441 2.49311,-1.16257 z m 12.05443,3.81038 c 0.75879,-0.0246 1.51838,0.46191 2.47322,1.41675 1.38923,1.38923 2.38881,3.23152 3.88332,7.14778 4.14428,10.85989 3.82728,26.04386 -0.76693,36.6363 -2.39219,5.51549 -4.06126,7.92071 -6.00513,8.65515 -1.27397,0.48134 -1.7737,0.41136 -3.20479,-0.44646 -2.28883,-1.37197 -3.46246,-3.79651 -5.33984,-11.03333 -1.33725,-5.15465 -1.71571,-9.085 -1.50736,-15.65927 0.31757,-10.02134 2.78503,-18.33223 7.12348,-23.99173 1.39327,-1.8175 2.36846,-2.69362 3.34403,-2.72519 z m -3.25341,6.3676 c -0.10853,0.0396 -0.16797,0.17732 -0.16797,0.42214 -10e-6,0.42885 1.60456,3.10853 2.40248,4.01152 0.46053,0.52112 1.01007,0.48263 1.01007,-0.0707 0,-0.15079 -0.57338,-1.19018 -1.27529,-2.30967 -0.88252,-1.40751 -1.64375,-2.17222 -1.96929,-2.05327 z m -188.98546,0.24532 0.20555,4.28117 c 0.11282,2.35469 0.20555,14.72394 0.20555,27.48827 0,26.14776 0.1984,24.18052 -2.4268,24.18844 -0.79869,0.002 -1.75032,0.0834 -2.11516,0.18124 -0.386,0.10354 -0.7706,0.008 -0.91724,-0.22987 -0.1386,-0.22425 -0.28223,-9.27956 -0.32048,-20.12388 -0.0382,-10.84429 -0.16426,-23.15694 -0.27849,-27.36229 -0.13173,-4.85019 -0.0964,-7.71461 0.0951,-7.83295 0.16601,-0.10264 1.48235,-0.27798 2.9263,-0.38899 z m -9.05077,0.90177 c 0.32918,0.0286 0.58731,0.091 0.694,0.17902 0.3056,0.25216 0.38679,6.83716 0.38679,31.01797 v 30.6975 l -0.79568,0.3028 c -0.43791,0.16646 -1.46712,0.3028 -2.28756,0.3028 h -1.49188 L 248.595,306.3142 c -0.17716,-2.26448 -0.13015,-2.94992 0.24975,-3.52969 0.76682,-1.17032 1.44105,-4.29603 1.44105,-6.68586 0,-1.59782 -0.23127,-2.90427 -0.81778,-4.61269 -0.93389,-2.72024 -0.96308,-3.90405 -0.42436,-17.43627 0.16652,-4.18248 0.30496,-10.25857 0.30723,-13.50212 0.003,-3.24356 0.0955,-7.66268 0.20555,-9.81993 l 0.20112,-3.92089 1.42779,-0.16355 c 0.39276,-0.0446 0.7936,-0.0486 1.12279,-0.0199 z m -8.62421,0.22986 c 2.01863,-0.0242 3.27962,0.0879 3.45897,0.30943 0.16972,0.20956 0.11471,7.71161 -0.13704,18.81765 -0.23024,10.15745 -0.42307,19.13174 -0.43099,19.94264 -0.014,1.52714 -0.12924,1.65985 -0.99238,1.15594 -0.28171,-0.16448 -1.25935,-0.40598 -2.17262,-0.53708 l -1.65987,-0.2387 -0.20334,-6.04932 c -0.11237,-3.32688 -0.3906,-11.28649 -0.61664,-17.68824 -0.22604,-6.40176 -0.41213,-12.5472 -0.41552,-13.65683 l -0.007,-2.01791 z m 202.87437,5.25585 c -0.15942,-0.0165 -0.32658,0.0592 -0.44868,0.25197 -0.14901,0.23526 -0.27066,0.88529 -0.27406,1.44547 -0.006,1.23829 0.63531,1.5705 1.69301,0.87745 0.99496,-0.65188 1.40569,-0.63025 1.40569,0.0707 0,0.31298 0.0939,0.66198 0.20776,0.77579 0.32395,0.32397 0.71173,0.24954 1.68417,-0.3249 1.23317,-0.72846 1.20895,-1.46977 -0.0397,-1.22003 -0.80875,0.16176 -0.98459,0.0746 -1.24655,-0.61444 -0.22678,-0.59641 -0.44125,-0.74417 -0.8421,-0.57907 -1.25393,0.51646 -1.62671,0.52811 -1.62671,0.0508 0,-0.42339 -0.24707,-0.70631 -0.51276,-0.73379 z m 9.08834,2.26988 c -0.77108,-0.051 -1.63718,0.19579 -2.17925,0.70506 -2.50763,2.3558 -3.56939,9.48966 -2.49312,16.73786 0.52888,3.56191 1.03896,5.09045 2.06433,6.18193 0.96363,1.02571 2.67464,0.9572 3.73524,-0.1503 1.87142,-1.95425 2.80594,-5.7049 2.80255,-11.25213 -0.003,-5.64037 -1.11945,-10.46029 -2.73403,-11.80027 -0.3043,-0.25255 -0.73306,-0.39155 -1.19572,-0.42215 z m -10.41005,5.08347 c -0.66832,0 -1.43858,1.59375 -1.14266,2.36491 0.182,0.47442 0.24203,0.47314 0.78683,-0.0199 0.55931,-0.50614 0.6054,-0.50336 0.91501,0.0751 0.23851,0.44566 0.66437,0.61514 1.57809,0.6277 1.10502,0.0153 1.25097,-0.0678 1.25097,-0.70284 0,-0.9168 -0.72428,-1.52292 -1.51841,-1.27087 -0.43368,0.13764 -0.7178,0.007 -0.95701,-0.43983 -0.18711,-0.34962 -0.59809,-0.63433 -0.91282,-0.63433 z m 2.05328,8.4938 c -0.0893,-0.009 -0.18387,0.038 -0.28732,0.14145 -0.17065,0.17072 -0.2101,0.47586 -0.0862,0.67633 0.15017,0.24298 0.32795,0.25997 0.53486,0.0531 0.17065,-0.17072 0.2101,-0.47364 0.0862,-0.67411 -0.075,-0.12149 -0.15826,-0.18769 -0.24754,-0.19671 z m -2.58815,0.25638 c -0.26657,0.023 -0.55864,0.19038 -0.65642,0.48404 -0.0757,0.22757 0.1379,0.38678 0.51719,0.38678 0.38125,0 0.64758,-0.20054 0.64758,-0.48846 0,-0.28521 -0.24176,-0.40534 -0.50835,-0.38236 z m 2.24115,1.80352 c -0.52161,0 -0.8023,0.16934 -0.8023,0.48625 0,0.32349 0.22646,0.45486 0.67411,0.389 0.9937,-0.14622 1.10055,-0.87525 0.12819,-0.87525 z m -2.23893,0.38679 c -0.40141,-0.0595 -0.8371,0.4388 -0.6056,0.81336 0.22028,0.35646 1.11173,0.12778 1.11173,-0.28512 0,-0.14237 -0.15258,-0.35165 -0.33815,-0.46635 -0.0539,-0.0333 -0.11068,-0.0534 -0.16798,-0.0619 z m 3.07217,5.64265 c -0.82085,0.0204 -2.87768,0.88597 -2.87768,1.29297 0,0.56204 0.97462,0.55656 2.3384,-0.0132 1.05184,-0.43948 1.34974,-0.89633 0.80451,-1.2333 -0.0573,-0.0354 -0.14796,-0.0493 -0.26523,-0.0464 z m 0.22102,2.04001 c -0.60209,0 -2.81,1.57388 -2.62571,1.87204 0.27869,0.45094 0.8179,0.3644 1.93393,-0.31606 0.95072,-0.57967 1.38453,-1.55598 0.69178,-1.55598 z m 2.03339,5.12103 c -1.20123,0 -1.23745,0.0331 -1.49188,1.3195 -0.19961,1.00929 -0.4032,1.31948 -0.86419,1.31948 -0.75038,0 -0.78938,0.79061 -0.0596,1.21562 0.29875,0.17399 0.62566,0.32146 0.72716,0.32711 0.42889,0.022 1.16839,-1.1451 1.26424,-1.99582 0.077,-0.68292 0.30296,-0.96582 0.87966,-1.10067 1.29196,-0.30213 0.96361,-1.08522 -0.4553,-1.08522 z m 2.25662,1.35707 c -0.71979,0.0413 -1.80132,1.78449 -1.80132,3.12743 0,1.05121 -0.10241,1.25761 -0.62107,1.25761 -0.60743,0 -0.83786,0.60981 -0.39783,1.04985 0.1219,0.12141 0.64428,0.179 1.16257,0.12819 0.90124,-0.0883 0.94797,-0.16089 1.03658,-1.68639 0.0641,-1.10218 0.27984,-1.76508 0.69843,-2.14389 0.70333,-0.63651 0.76839,-1.17104 0.20334,-1.63997 -0.0839,-0.0696 -0.17787,-0.0987 -0.2807,-0.0928 z m -211.51625,6.26371 c 0.42485,0.008 0.88553,0.15927 1.43663,0.44426 1.84062,0.95184 3.11196,4.01343 3.11196,7.49037 0,2.11035 -0.2865,3.15534 -1.083,3.95183 -1.19007,1.19008 -4.34691,9.6e-4 -5.88798,-2.21683 -0.76053,-1.09448 -0.9476,-1.71775 -1.04763,-3.48769 -0.15703,-2.77887 0.0372,-3.46656 1.39022,-4.96412 0.76296,-0.84451 1.3717,-1.2314 2.0798,-1.21782 z m -0.37353,2.82906 c -0.28657,-0.0265 -0.5492,0.16117 -1.0189,0.54149 -1.04518,0.84634 -1.03452,3.07039 0.0199,4.19276 1.13471,1.20784 2.3459,1.05379 3.10974,-0.39563 0.57094,-1.08338 0.15222,-2.67007 -0.94817,-3.59599 -0.56557,-0.47589 -0.87599,-0.71618 -1.16257,-0.74263 z m 0.4553,2.87326 c 0.0371,-0.009 0.0789,-0.002 0.12156,0.0243 0.17071,0.10547 0.30943,0.39276 0.30943,0.63876 0,0.246 -0.13872,0.44645 -0.30943,0.44645 -0.17072,0 -0.30942,-0.28726 -0.30942,-0.63874 0,-0.26366 0.0765,-0.4422 0.18786,-0.47078 z m 25.87041,8.61536 c 0.62353,0.006 1.32491,0.0334 2.18588,0.0751 2.13393,0.10366 29.72017,1.43736 61.30215,2.96388 64.85105,3.13464 63.78419,3.07756 63.78419,3.43907 0,0.67994 -4.48954,2.12509 -81.94321,26.40528 -13.05957,4.09393 -23.8829,7.48273 -24.05362,7.53015 -0.40318,0.11192 -137.97572,-13.44484 -138.58845,-13.65683 -0.41385,-0.14319 -0.41385,-0.18868 0,-0.41551 0.49383,-0.27069 4.64143,-1.27028 36.91036,-8.8806 11.16821,-2.63393 20.36531,-4.72932 20.43773,-4.65689 0.29231,0.29233 -0.32097,2.06268 -0.80451,2.32071 -0.28488,0.15203 -5.14648,1.74421 -10.80125,3.53853 -5.65479,1.79429 -10.71636,3.48804 -11.24993,3.76397 -0.94627,0.48933 -1.20861,0.9213 -0.736,1.21341 0.49544,0.30619 8.73059,1.14767 18.69831,1.90961 10.13084,0.77442 26.10355,2.14235 58.04208,4.96853 8.62102,0.76287 17.49131,1.53088 19.71058,1.70849 2.21927,0.17763 4.35868,0.3948 4.75414,0.48182 0.46022,0.10128 1.85574,-0.36532 3.87891,-1.29517 1.73845,-0.79898 4.76908,-2.11635 6.73227,-2.92852 1.96321,-0.81219 8.24736,-3.79911 13.96626,-6.63724 5.7189,-2.83809 10.92139,-5.31694 11.56156,-5.51003 1.33887,-0.40384 1.61508,-1.37836 0.46636,-1.6466 -1.70956,-0.3992 -21.10033,-2.75432 -29.4222,-3.5739 -14.26721,-1.40509 -33.25664,-2.79369 -38.24311,-2.79369 -1.54621,-1.9e-4 -1.98275,0.42533 -0.75369,0.73379 1.4851,0.37275 37.06756,3.9231 39.31949,3.9231 0.34205,0 0.62106,0.13872 0.62106,0.30943 0,0.48523 -1.52159,0.40148 -19.86528,-1.09184 -14.91487,-1.21417 -17.37634,-1.48516 -18.35351,-2.01791 -0.62074,-0.33841 -1.61341,-0.61443 -2.20578,-0.61443 -1.04347,0 -1.07734,-0.0371 -1.04543,-1.16478 0.0325,-1.14859 0.0533,-1.16709 1.58471,-1.42559 0.85357,-0.14404 1.87469,-0.38863 2.26767,-0.5437 0.79592,-0.31408 1.61107,-1.97299 1.61786,-3.29541 0.002,-0.47492 0.10875,-1.02796 0.2365,-1.22887 0.12779,-0.20096 2.04658,-0.73845 4.26348,-1.19351 2.68337,-0.55078 3.85382,-0.72982 5.72442,-0.7139 z m -21.27982,0.74042 c 0.29535,-0.0113 0.51064,6.8e-4 0.57466,0.0376 0.12801,0.0738 0.23206,0.89459 0.23206,1.82342 0,1.55692 -0.0545,1.68553 -0.69842,1.6466 -2.12295,-0.12849 -2.84198,-0.77454 -2.65666,-2.38039 0.0851,-0.73742 0.26526,-0.8597 1.49409,-1.02994 0.38411,-0.0532 0.75891,-0.0865 1.05427,-0.0972 z m -5.33322,4.34084 0.74485,0.86639 c 0.40959,0.47617 1.33808,1.03696 2.06211,1.24656 1.16543,0.33742 1.31728,0.48732 1.31728,1.2996 v 0.91723 l -2.48427,0.0442 c -1.3657,0.0244 -3.25161,-0.0738 -4.19053,-0.21881 -0.93893,-0.1451 -3.16321,-0.41625 -4.94422,-0.60338 -1.78103,-0.18714 -3.445,-0.4576 -3.69767,-0.59897 -0.53381,-0.29875 -0.47815,-0.31861 2.89978,-1.0609 1.195,-0.26261 3.55059,-0.79597 5.23376,-1.18466 z m -18.37561,5.12987 c 0.94607,0.0472 2.24276,0.29064 3.97394,0.71831 1.92785,0.47629 4.39563,0.8076 6.88478,0.92387 5.0353,0.23518 6.82952,0.49294 6.82952,0.98133 0,0.21461 -0.1756,0.44555 -0.38899,0.51277 -0.42434,0.13371 -3.47091,-0.099 -8.76788,-0.66748 -1.87784,-0.20155 -4.81074,-0.33947 -6.51787,-0.30721 -4.27297,0.0808 -4.19055,0.0947 -4.19055,-0.72716 0,-1.04887 0.60027,-1.51299 2.17705,-1.43443 z m 25.29133,2.81137 c 1.87785,-0.0175 3.62506,0.10196 3.88112,0.26744 0.31684,0.20477 -0.47762,0.29137 -2.48426,0.26964 -4.39018,-0.0476 -5.56212,-0.49803 -1.39686,-0.53708 z m -35.37205,0.36912 c 0.70356,0.0638 1.66228,0.47162 3.26668,1.26202 1.1849,0.58372 2.81813,1.14999 3.62914,1.2576 0.811,0.10762 14.11409,1.23874 29.56366,2.513 15.44956,1.27423 28.92836,2.52274 29.95264,2.77602 2.39026,0.59114 5.75197,0.59625 7.99872,0.0113 2.38511,-0.62125 3.33077,-0.27942 3.33077,1.20457 0,1.49412 -1.20103,2.80325 -3.28436,3.58273 -0.93824,0.35105 -2.36494,0.62319 -3.16943,0.60338 -0.80448,-0.0198 -16.97215,-1.38328 -35.92903,-3.02797 -28.7118,-2.49099 -34.60367,-3.07813 -35.28586,-3.52527 -1.22087,-0.80028 -2.41941,-2.52209 -2.6213,-3.76619 -0.15326,-0.94447 -0.0379,-1.23958 0.80451,-2.082 0.59133,-0.59134 1.04029,-0.87272 1.74386,-0.80893 z m 44.45156,0.20333 c 1.52041,-0.007 28.87373,2.16289 29.84213,2.36713 0.40878,0.0862 0.61909,0.27021 0.46636,0.40889 -0.45869,0.41658 -2.05206,0.55715 -3.53632,0.31163 -2.53565,-0.41942 -12.76647,-1.20257 -19.91391,-1.52282 -3.86748,-0.1733 -7.25341,-0.39937 -7.52575,-0.50394 -0.97438,-0.3739 -0.54627,-1.05523 0.66749,-1.06089 z m 48.3371,0.6277 c 1.97167,0 12.57282,1.20737 13.35183,1.52062 0.79955,0.32152 1.63499,-0.0944 -17.1379,8.53137 -14.11741,6.48667 -15.39906,7.01456 -16.91468,6.97982 -3.34758,-0.0766 -34.43306,-3.03624 -39.9737,-3.80597 -11.83083,-1.6436 -22.52377,-2.58461 -39.1095,-3.44349 -9.2615,-0.47959 -16.48915,-1.02878 -16.73123,-1.27086 -0.27711,-0.27711 0.35617,-0.50726 5.90345,-2.14391 3.13932,-0.9262 7.16576,-2.1793 8.94911,-2.78484 1.78335,-0.60557 3.34144,-1.10069 3.46338,-1.10069 0.12195,0 0.52569,0.62912 0.89735,1.39686 0.78261,1.61666 2.59918,3.28631 4.8116,4.42261 1.51188,0.77653 2.46609,0.8757 36.93689,3.83469 l 35.38532,3.03682 9.05076,-4.45135 c 6.83056,-3.3592 9.18997,-4.66456 9.62102,-5.32215 0.60047,-0.91611 0.7478,-3.38316 0.28069,-4.70111 -0.23409,-0.66046 -0.16823,-0.69842 1.21561,-0.69842 z m -6.81847,0.9305 c 0.74186,0 1.37841,0.27343 2.06433,0.88628 0.95407,0.85249 0.97772,0.92547 0.57465,1.89856 -0.23056,0.55659 -0.9759,1.41516 -1.65544,1.90741 -1.43076,1.03644 -1.76034,1.10226 -1.76374,0.35143 -0.002,-0.93499 -1.12556,-2.43743 -2.13506,-2.85559 -0.53234,-0.22049 -0.96806,-0.49623 -0.96806,-0.61223 0,-0.42344 2.83992,-1.57586 3.88332,-1.57586 z m 59.4743,7.69812 c 0.10626,0.11957 0.27735,9.93822 0.38236,21.81911 l 0.19229,21.60029 -2.78043,3.64021 c -8.27588,10.83879 -13.43299,21.09645 -16.24498,32.31093 -2.51526,10.03093 -3.43778,18.08727 -3.4457,30.10294 -0.008,11.39444 0.61419,17.44942 2.65666,25.87925 0.51207,2.11349 0.81624,3.95142 0.67632,4.08444 -0.13993,0.13304 -2.34817,1.35429 -4.90886,2.71413 -2.5607,1.35985 -5.91417,3.2032 -7.45058,4.09551 -1.53643,0.89227 -10.09023,5.32144 -19.00994,9.84203 -11.15644,5.65416 -16.25799,8.09101 -16.34444,7.80642 -0.15964,-0.52496 -1.42371,-93.09487 -1.65544,-121.22511 -0.14818,-17.98817 -0.10841,-21.19613 0.2608,-21.31518 0.239,-0.0771 6.57865,-2.02505 14.09003,-4.32757 7.5114,-2.30249 22.59652,-7.12372 33.52213,-10.71506 10.92563,-3.59138 19.95352,-6.43187 20.05978,-6.31234 z m -222.85458,7.22073 c 2.50695,-0.0347 12.91045,0.88826 47.62763,4.16623 102.7477,9.70139 103.31174,9.75788 103.67611,10.2465 0.47281,0.63398 0.6748,16.44571 1.09847,85.60772 0.20879,34.07896 0.24048,58.08493 0.0774,58.23438 -0.15267,0.14013 -0.62527,0.13869 -1.05205,-0.005 -0.42678,-0.14315 -7.34179,-1.45925 -15.36532,-2.92409 -66.98982,-12.23025 -132.92965,-24.41066 -133.3127,-24.62606 -0.25606,-0.14402 -0.86695,-0.83159 -1.35928,-1.52725 l -0.89513,-1.26424 -1.04543,-60.93746 c -0.57439,-33.516 -1.00829,-62.19434 -0.96586,-63.72893 0.0736,-2.65997 0.11341,-2.80843 0.87746,-3.17385 0.0837,-0.0401 0.28061,-0.0636 0.63875,-0.0685 z m 318.26676,11.2566 c 0.52943,0.10196 -3.86727,2.20336 -12.45448,5.95427 -3.3097,1.44571 -8.11468,3.60009 -10.67969,4.78952 -2.56504,1.18946 -8.6241,4.18682 -13.46455,6.65933 -4.84045,2.47251 -8.79779,4.39225 -8.7944,4.2679 0.026,-0.91786 12.08269,-7.73961 21.84122,-12.35723 8.83405,-4.18015 22.38592,-9.53834 23.5519,-9.31379 z m 11.75384,25.30901 c 1.21071,0.008 2.44515,0.43484 3.68663,1.29518 1.14531,0.79368 4.6932,5.74263 5.34426,7.455 0.79579,2.09316 1.49688,11.55581 1.5383,20.78474 0.0463,10.2964 -0.21174,12.60516 -2.10632,18.96352 -2.45562,8.24119 -5.42533,12.58185 -10.10504,14.7752 -1.82072,0.85336 -3.5877,0.90531 -4.84034,0.14145 -2.04489,-1.24693 -4.80188,-6.60641 -5.66254,-11.01343 -1.46071,-7.47955 -1.86928,-19.45931 -0.93491,-27.37113 0.5186,-4.39153 1.97127,-10.60303 3.29541,-14.09003 2.73675,-7.20714 6.15244,-10.9637 9.78455,-10.9405 z m 0.347,1.85878 c -3.76781,-0.31577 -8.11803,5.98185 -10.30394,15.15977 -1.11506,4.68167 -1.50295,8.21157 -1.67534,15.27912 -0.18022,7.38963 0.0806,11.58898 1.15593,18.74914 0.68942,4.5906 1.80009,7.3563 3.92974,9.77572 0.84058,0.95494 1.42584,1.35705 1.97592,1.35706 2.06065,0 5.89264,-2.97096 7.72908,-5.99407 2.17924,-3.5874 4.25458,-10.22894 5.16082,-16.51462 0.30676,-2.12789 0.50728,-6.37114 0.59012,-12.54289 0.15943,-11.87884 -0.23348,-14.50507 -2.95725,-19.79899 -1.41874,-2.75747 -3.28242,-4.797 -4.86023,-5.31774 -0.24519,-0.0809 -0.49367,-0.13134 -0.74485,-0.1525 z m -15.15313,2.01128 c 0.6818,0.13361 -4.79423,3.13886 -15.72116,8.63084 -5.29556,2.66159 -11.97673,6.06058 -14.84813,7.55225 -2.87143,1.4917 -5.37524,2.70874 -5.56529,2.70309 -1.03108,-0.0284 4.73897,-3.70639 12.74181,-8.12029 9.10003,-5.01906 22.12699,-11.01392 23.39277,-10.76589 z m 14.87023,17.88053 c 0.73526,-0.041 1.42089,0.37783 1.89636,1.29739 1.50721,2.91465 1.76638,9.92019 0.47519,12.83905 -0.35579,0.80435 -0.93458,1.76951 -1.28634,2.1439 -0.82361,0.87789 -2.12998,0.88023 -2.94178,0.009 -1.17721,-1.26358 -1.65544,-3.63198 -1.65544,-8.2109 0,-3.93067 0.0541,-4.32387 0.76694,-5.70896 0.77264,-1.50138 1.79974,-2.31671 2.74507,-2.36933 z m -0.31164,1.32612 c -0.50027,0.0961 -1.00482,0.85972 -1.43663,2.34502 -0.87373,3.00549 -0.474,9.59574 0.6918,11.42674 1.6667,2.61764 3.63724,-3.50935 2.87105,-8.927 -0.46788,-3.30856 -1.29241,-5.00493 -2.12622,-4.84476 z m -55.70591,6.73228 c 3.274,-0.16261 6.13372,1.62068 8.63305,5.35752 2.56475,3.83456 3.95622,9.06959 4.62153,17.38544 0.87827,10.97761 -1.91576,24.9473 -7.07044,35.35217 -2.30934,4.66153 -4.08284,6.81012 -6.83394,8.27941 -1.66106,0.88708 -2.2334,1.03123 -4.46239,1.11395 -3.76566,0.13983 -4.85234,-0.37001 -8.59105,-4.03362 -3.51992,-3.44916 -6.67654,-11.28146 -7.97884,-19.79899 -0.47212,-3.08848 -0.47284,-11.03454 -0.002,-14.14307 1.64555,-10.86806 6.40808,-20.05655 13.27005,-25.60076 3.0703,-2.4807 5.86778,-3.78561 8.41424,-3.91205 z m 0.36027,1.98034 c -2.77765,0 -6.42757,2.18068 -10.15809,6.06258 -4.75442,4.94734 -7.8472,11.31396 -9.52376,19.60669 -0.58574,2.89686 -0.67958,4.27398 -0.66747,9.8376 0.0119,5.53872 0.1118,6.91833 0.68957,9.59227 1.67024,7.72971 3.98228,12.95923 7.00855,15.85599 1.92638,1.84396 2.7383,2.40426 4.15298,2.86664 0.42336,0.13841 1.64951,0.20868 2.72517,0.1547 4.86407,-0.24395 7.92694,-3.52833 11.40685,-12.23125 3.65555,-9.14213 5.76277,-20.17106 5.3531,-27.99661 -0.18684,-3.56888 -1.20899,-10.92261 -1.90298,-13.66789 -1.42177,-5.6242 -5.43894,-10.08072 -9.08392,-10.08072 z m -2.59919,23.16954 c 1.42747,0 2.43828,1.31116 2.71411,3.51863 0.31177,2.49513 -0.0574,9.58356 -0.60558,11.62345 -0.43918,1.63398 -1.58879,4.17503 -1.24877,2.76054 0.82973,-3.45165 1.08402,-11.63891 0.45309,-14.5807 -0.34954,-1.62984 -1.05682,-2.29222 -2.09527,-1.96265 -1.44842,0.45971 -2.36432,4.50826 -2.38039,10.51171 -0.008,3.11715 -0.0882,3.81953 -0.389,3.51865 -0.27242,-0.27247 -0.37146,-1.80036 -0.36467,-5.54982 0.008,-4.67235 0.0762,-5.34448 0.6962,-6.90025 0.79642,-1.99814 1.82854,-2.93956 3.22028,-2.93956 z m 46.59766,17.90042 c 0.0733,0.008 0.0858,0.0518 0.0332,0.13702 -0.36203,0.58587 -3.64489,2.66762 -14.64922,9.28064 -6.01434,3.61426 -12.67988,7.67845 -14.81277,9.03309 -3.57103,2.26812 -5.04043,2.96169 -4.53091,2.13727 0.32492,-0.52574 5.4237,-4.22863 9.1657,-6.65492 9.04819,-5.86685 23.69303,-14.05549 24.79404,-13.9331 z m -80.25683,5.65148 c 2.53877,19.62378 7.04507,25.40378 14.61607,34.04372 0.79523,0.90753 2.74912,2.27755 2.39365,2.71413 -0.24772,0.30426 -2.15009,-1.01445 -3.07439,-1.95603 -10.04087,-10.22866 -12.62919,-16.25519 -14.96748,-34.2758 z"; - -export default { - fail, - ohno, - shrug, - shrug2, - yay -}; diff --git a/packages/components/src/SampleConfigurator/OptionGroup/index.js b/packages/components/src/SampleConfigurator/OptionGroup/index.js deleted file mode 100644 index ee9753e54ed..00000000000 --- a/packages/components/src/SampleConfigurator/OptionGroup/index.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react' -import { FormattedMessage } from 'react-intl' -import { injectIntl } from 'react-intl' - -const OptionGroup = (props) => { - return ( - - {props.options.map((name) => { - let output = [] - if (typeof name === 'object') { - // Subgroup - for (let subGroup of Object.keys(name)) { - output.push( -
    - -
    - ) - let children = [] - for (let option of name[subGroup]) - children.push( -
  • - props.sampleOption(option)} - className={props.activeOption === option ? 'active' : ''} - > - - -
  • - ) - output.push(
      {children}
    ) - } - } else - output.push( -
  • - props.sampleOption(name)} - className={props.activeOption === name ? 'active' : ''} - > - - -
  • - ) - - return output - })} -
    - ) -} - -export default injectIntl(OptionGroup) diff --git a/packages/components/src/SampleConfigurator/OptionGroup/stories.js b/packages/components/src/SampleConfigurator/OptionGroup/stories.js deleted file mode 100644 index f2d23347886..00000000000 --- a/packages/components/src/SampleConfigurator/OptionGroup/stories.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import OptionGroup from "."; - -const options = { - armholeDrop: { pct: 10, min: 1, max: 75 }, - backlineBend: { pct: 50, min: 50, max: 100 }, - chestEase: { pct: 8, min: 0, max: 20 }, - hipsEase: { pct: 8, min: 0, max: 20 }, - lengthBonus: { pct: 10, min: -20, max: 60 }, - necklineBend: { pct: 100, min: 40, max: 100 }, - necklineDrop: { pct: 20, min: 10, max: 35 }, - stretchFactor: { pct: 5, min: 0, max: 15 }, - shoulderStrapWidth: { pct: 15, min: 10, max: 40 }, - shoulderStrapPlacement: { pct: 40, min: 20, max: 80 } -}; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => - console.log(`Update ${type} with new value`, data), - gist: { - settings: { - options: {} - } - }, - pattern: { - config: { - name: "aaron", - options: options - } - }, - dflts: { options: {} }, - options: Object.keys(options) -}; - -storiesOf("Low level/OptionGroup", module).add("Simon metric", () => ( - -)); diff --git a/packages/components/src/SampleConfigurator/PatternOptions/index.js b/packages/components/src/SampleConfigurator/PatternOptions/index.js deleted file mode 100644 index e2506cb7869..00000000000 --- a/packages/components/src/SampleConfigurator/PatternOptions/index.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react' -import OptionGroup from '../OptionGroup' -import { FormattedMessage } from 'react-intl' - -const PatternOptions = (props) => { - const renderGroup = (group) => { - let output = [] - let children = ( -
      - -
    - ) - output.push( -
  • -
    - -
    - {children} -
  • - ) - - return output - } - - return
      {Object.keys(props.config.optionGroups).map((group) => renderGroup(group))}
    -} - -export default PatternOptions diff --git a/packages/components/src/SampleConfigurator/PatternOptions/stories.js b/packages/components/src/SampleConfigurator/PatternOptions/stories.js deleted file mode 100644 index 13e2fdbdf50..00000000000 --- a/packages/components/src/SampleConfigurator/PatternOptions/stories.js +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import PatternOptions from "."; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => - console.log(`Update ${type} with new value`, data), - gist: { - settings: { - options: {} - } - } -}; - -storiesOf("Low level/PatternOptions", module) - .add("Simon metric", () => ( - - )) - .add("Trayvon imperial", () => ( - - )); diff --git a/packages/components/src/SampleConfigurator/index.js b/packages/components/src/SampleConfigurator/index.js deleted file mode 100644 index 4effe99da6b..00000000000 --- a/packages/components/src/SampleConfigurator/index.js +++ /dev/null @@ -1,152 +0,0 @@ -import React, { useState } from 'react' -import { FormattedMessage } from 'react-intl' -import PatternOptions from './PatternOptions' -import { withBreasts, withoutBreasts } from '@freesewing/models' -import nonHuman from '../Workbench/Measurements/non-human.js' - -const SampleConfigurator = (props) => { - const [type, setType] = useState() - const [instance, setInstance] = useState() - - const sampleOption = (option) => { - setType('option') - setInstance(option) - props.updateGist( - { - type: 'option', - option - }, - 'settings', - 'sample' - ) - } - - const sampleMeasurement = (measurement) => { - setType('measurement') - setInstance(measurement) - props.updateGist( - { - type: 'measurement', - measurement - }, - 'settings', - 'sample' - ) - } - - const sampleModels = (models) => { - setType('models') - props.updateGist( - { - type: 'models', - models - }, - 'settings', - 'sample' - ) - } - - return ( - - ) -} - -export default SampleConfigurator diff --git a/packages/components/src/SampleConfigurator/stories.js b/packages/components/src/SampleConfigurator/stories.js deleted file mode 100644 index 7a8944b6a27..00000000000 --- a/packages/components/src/SampleConfigurator/stories.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import GistConfigurator from "."; -//import { IntlProvider } from "react-intl"; -//import { strings } from "@freesewing/i18n"; - -const props = { - raiseEvent: (type, data) => - console.log(`Action of type ${type} triggered, data passed is`, data), - updateValue: (type, data) => - console.log(`Update ${type} with new value`, data) -}; - -storiesOf("DraftConfigurator", module) - .add("Simon metric", () => ( - - )) - .add("Trayvon imperial", () => ( - - )); diff --git a/packages/components/src/Spinner/index.js b/packages/components/src/Spinner/index.js deleted file mode 100644 index dc1774679b0..00000000000 --- a/packages/components/src/Spinner/index.js +++ /dev/null @@ -1,67 +0,0 @@ -import React from 'react' - -const Spinner = (props) => { - return ( - - - - - - - - - - - - - - - - ) -} - -export default Spinner diff --git a/packages/components/src/Workbench/Design/index.js b/packages/components/src/Workbench/Design/index.js deleted file mode 100644 index 091641205af..00000000000 --- a/packages/components/src/Workbench/Design/index.js +++ /dev/null @@ -1,107 +0,0 @@ -import React from 'react' -import IconButton from '@material-ui/core/IconButton' -import IsolateIcon from '@material-ui/icons/Search' -import CameraIcon from '@material-ui/icons/CameraAlt' - -const Design = (props) => { - // Methods - const renderAttributes = (attr) => { - let list = [] - for (let a in attr.list) - list.push( -
  • - {a}: {renderAttributeValue(attr.list[a])} -
  • - ) - - return
      {list}
    - } - - const renderAttributeValue = (val) => { - if (Array.isArray(val)) { - if (val.length === 1) return val.pop() - let list = [] - for (let v of val) list.push(
  • {v}
  • ) - return
      {list}
    - } - - return val - } - - const round = (val) => Math.round(val * 10) / 10 - - if (!props.design || props.focus === null || Object.keys(props.focus).length < 1) return null - let info = [] - for (let part of Object.keys(props.focus)) { - let points = [] - let paths = [] - for (let i in props.focus[part].paths) { - let name = props.focus[part].paths[i] - let path = props.parts[part].paths[name] - paths.push( -
  • - path.{name} - console.log(`parts.${part}.paths.${name}:`, path)} - > - - - {path.attributes.length > 0 && ( -
      -
    • - attributes: {renderAttributes(path.attributes)} -
    • -
    - )} -
  • - ) - } - for (let i in props.focus[part].points) { - let name = props.focus[part].points[i] - let point = props.parts[part].points[name] - points.push( -
  • - point.{name} - console.log(`parts.${part}.points.${name}:`, point)} - > - - -
      -
    • - x: {round(point.x)} -
    • -
    • - y: {round(point.y)} -
    • - {point.attributes.length > 0 && ( -
    • - attributes: {renderAttributes(point.attributes)} -
    • - )} -
    -
  • - ) - } - info.push( -
  • - parts.{part} - props.raiseEvent('part', part)}> - - - {points.length > 0 &&
      {points}
    } - {paths.length > 0 &&
      {paths}
    } -
  • - ) - } - - return ( -
    -
      {info}
    -
    - ) -} - -export default Design diff --git a/packages/components/src/Workbench/DraftConfig/Events/event.js b/packages/components/src/Workbench/DraftConfig/Events/event.js deleted file mode 100644 index d18c1a043cf..00000000000 --- a/packages/components/src/Workbench/DraftConfig/Events/event.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from 'react' -import DebugIcon from '@material-ui/icons/PlayCircleOutline' -import InfoIcon from '@material-ui/icons/Info' -import WarningIcon from '@material-ui/icons/ErrorOutline' -import ErrorIcon from '@material-ui/icons/HighlightOff' -import Markdown from 'react-markdown' - -const Event = ({ type, event }) => { - const formatError = (err) => ( -
    - - - {` -\`\`\`js -${err.name}: ${err.message} -\`\`\` -`} - - - {`Error in \`${err.fileName}\` line \`${err.lineNumber}:${err.columnNumber}\``} - - - ={` -\`\`\`js -${err.stack} -\`\`\` -`} -
    - ) - - const formatObject = (obj) => ( - - source={` -\`\`\`json -${JSON.stringify(obj, null, 2)} -\`\`\` -`} - ) - - const formatEvent = (e, data = false) => { - if (!data) data = [] - if (typeof e === 'object') { - if (e instanceof Error === true) data.push(formatError(e)) - else if (Array.isArray(e)) { - for (const subevent of e) data.concat(formatEvent(subevent, data)) - } else data.push(formatObject(e)) - } else data.push({e}) - - return data - } - - return ( -
    -
    - {type === 'debug' && } - {type === 'info' && } - {type === 'warning' && } - {type === 'error' && } -
    - {formatEvent(event)} -
    - ) -} - -export default Event diff --git a/packages/components/src/Workbench/DraftConfig/Events/index.js b/packages/components/src/Workbench/DraftConfig/Events/index.js deleted file mode 100644 index 6a6afe491a9..00000000000 --- a/packages/components/src/Workbench/DraftConfig/Events/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react' -import Event from './event' - -const DraftEvents = ({ events }) => ( -
    - {['error', 'warning', 'debug'].map((type) => ( -
    - {events[type].map((event, index) => ( - - ))} -
    - ))} -
    -) - -export default DraftEvents diff --git a/packages/components/src/Workbench/DraftConfig/index.js b/packages/components/src/Workbench/DraftConfig/index.js deleted file mode 100644 index e1e3496d879..00000000000 --- a/packages/components/src/Workbench/DraftConfig/index.js +++ /dev/null @@ -1,135 +0,0 @@ -import React from 'react' -import Zoombox from '../Zoombox' -import Design from '../Design' -import DraftConfigurator from '../../DraftConfigurator' -import DesignIcon from '@material-ui/icons/Fingerprint' -import DumpIcon from '@material-ui/icons/LocalSee' -import ClearIcon from '@material-ui/icons/HighlightOff' -import AdvancedIcon from '@material-ui/icons/Policy' -import PaperlessIcon from '@material-ui/icons/Nature' -import CompleteIcon from '@material-ui/icons/Style' -import { FormattedMessage } from 'react-intl' -import ActionsIcon from '@material-ui/icons/PlayCircleOutline' -import Switch from '@material-ui/core/Switch'; - -const DraftPattern = (props) => { - - let focusCount = 0 - if (props.focus !== null) { - for (let p of Object.keys(props.focus)) { - for (let i in props.focus[p].points) focusCount++ - for (let i in props.focus[p].paths) focusCount++ - for (let i in props.focus[p].coords) focusCount++ - } - } - - return ( -
      -
    • - - - - -
        -
      • - props.setDesign(!props.design)} title='Toggle design mode'> - - }} - /> - props.setDesign(!props.design)} - /> - -
      • -
      • - props.updateGist(!props.gist.settings.advanced, 'settings', 'advanced')} title='Toggle advanced settings'> - - }} - /> - props.updateGist(!props.gist.settings.advanced, 'settings', 'advanced')} - /> - -
      • -
      • - props.updateGist(!props.gist.settings.paperless, 'settings', 'paperless')} title='Toggle paperless'> - - }} - /> - props.updateGist(!props.gist.settings.paperless, 'settings', 'paperless')} - /> - -
      • -
      • - props.updateGist(!props.gist.settings.complete, 'settings', 'complete')} title='Toggle complete'> - - }} - /> - props.updateGist(!props.gist.settings.complete, 'settings', 'complete')} - /> - -
      • -
      • - console.log(props.pattern)} title='Log pattern object to console'> - - console.log(pattern) - -
      • - {props.design && ( -
      • - props.raiseEvent('clearFocusAll', null)} title='Clear design mode'> - - - -
      • - )} -
      -
    • - {props.design && ( - - )} - -
    • - -
    • -
    - ) -} - -export default DraftPattern diff --git a/packages/components/src/Workbench/DraftPattern/Events/event.js b/packages/components/src/Workbench/DraftPattern/Events/event.js deleted file mode 100644 index 55239ae4a23..00000000000 --- a/packages/components/src/Workbench/DraftPattern/Events/event.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from 'react' -import DebugIcon from '@material-ui/icons/PlayCircleOutline' -import InfoIcon from '@material-ui/icons/Info' -import WarningIcon from '@material-ui/icons/ErrorOutline' -import ErrorIcon from '@material-ui/icons/HighlightOff' -import Markdown from 'react-markdown' - -const Event = ({ type, event }) => { - const formatError = (err) => ( -
    - - - {` -\`\`\`js -${err.name}: ${err.message} -\`\`\` -`} - - - {`Error in \`${err.fileName}\` line \`${err.lineNumber}:${err.columnNumber}\``} - - - {` -\`\`\`js -${err.stack} -\`\`\` -`} -
    - ) - - const formatObject = (obj) => ( - - {` -\`\`\`json -${JSON.stringify(obj, null, 2)} -\`\`\` -`} - ) - - const formatEvent = (e, data = false) => { - if (!data) data = [] - if (typeof e === 'object') { - if (e instanceof Error === true) data.push(formatError(e)) - else if (Array.isArray(e)) { - for (const subevent of e) data.concat(formatEvent(subevent, data)) - } else data.push(formatObject(e)) - } else data.push({e}) - - return data - } - - return ( -
    -
    - {type === 'debug' && } - {type === 'info' && } - {type === 'warning' && } - {type === 'error' && } -
    - {formatEvent(event)} -
    - ) -} - -export default Event diff --git a/packages/components/src/Workbench/DraftPattern/Events/index.js b/packages/components/src/Workbench/DraftPattern/Events/index.js deleted file mode 100644 index eeffa6b4fda..00000000000 --- a/packages/components/src/Workbench/DraftPattern/Events/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react' -import Event from './event' - -const DraftEvents = ({ events, types = ['error', 'warning', 'debug'] }) => ( -
    - {types.map((type) => ( -
    - {events[type].map((event, index) => ( - - ))} -
    - ))} -
    -) - -export default DraftEvents diff --git a/packages/components/src/Workbench/DraftPattern/index.js b/packages/components/src/Workbench/DraftPattern/index.js deleted file mode 100644 index 073c6481cd1..00000000000 --- a/packages/components/src/Workbench/DraftPattern/index.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react' -import Draft from '../../Draft' -import fileSaver from 'file-saver' -import theme from '@freesewing/plugin-theme' -import Events from './Events' - -const DraftPattern = (props) => { - const svgToFile = (svg) => { - const blob = new Blob([svg], { - type: 'image/svg+xml;charset=utf-8' - }) - fileSaver.saveAs(blob, 'freesewing-' + props.config.name + '.svg') - } - - if (props.svgExport) { - svgToFile( - new props.Pattern({ - ...props.gist.settings, - embed: false - }) - .use(theme) - .draft() - .render() - ) - props.setSvgExport(false) - } - - let focusCount = 0 - if (props.focus !== null) { - for (let p of Object.keys(props.focus)) { - for (let i in props.focus[p].points) focusCount++ - for (let i in props.focus[p].paths) focusCount++ - for (let i in props.focus[p].coords) focusCount++ - } - } - - return ( - <> - - - - - ) -} - -export default DraftPattern diff --git a/packages/components/src/Workbench/Export/index.js b/packages/components/src/Workbench/Export/index.js deleted file mode 100644 index ae58cd2ffc5..00000000000 --- a/packages/components/src/Workbench/Export/index.js +++ /dev/null @@ -1,210 +0,0 @@ -import React, { useState } from 'react' -import { FormattedMessage } from 'react-intl' -import fileSaver from 'file-saver' -import YAML from 'yaml' -import Button from '@material-ui/core/Button' -import theme from '@freesewing/plugin-theme' -import { plugin as strings } from '@freesewing/i18n' -import i18n from '@freesewing/plugin-i18n' -import Blockquote from '../../Blockquote' -import Spinner from '../../Spinner' -import Tiler from '@freesewing/utils/tiler' -import Backend from '@freesewing/utils/backend' - -const Xport = (props) => { - // State - const [link, setLink] = useState(false) - const [loading, setLoading] = useState(false) - - let data = props.gist - - // Remove embed setting - delete data.settings.embed - - // Methods - const handleExport = (type, format) => { - if (type === 'data') { - if (format === 'json') exportJsonData(data) - else if (format === 'yaml') exportYamlData(data) - else if (format === 'github gist') exportGithubGist(data) - } else { - if (format !== 'svg') setLoading(true) - const svg = new props.Pattern(data.settings) - .use(theme) - .use(i18n, { strings }) - .draft() - .render() - if (type === 'raw') { - if (format === 'svg') svgToFile(svg) - else if (format === 'postscript') convert(svg, 'ps', 'full').then((url) => ready(url)) - else if (format === 'pdf') convert(svg, 'pdf', 'full').then((url) => ready(url)) - } else if (type === 'tile') convert(svg, 'pdf', format).then((url) => ready(url)) - } - } - const ready = (url) => { - console.log('Inside ready', url) - setLink(url) - setLoading(false) - } - const exportJsonData = (data) => { - const blob = new Blob([JSON.stringify(data, null, 2)], { - type: 'application/json;charset=utf-8' - }) - fileSaver.saveAs(blob, 'data.json') - } - const exportYamlData = (data) => { - const blob = new Blob([YAML.stringify(data)], { - type: 'application/x-yaml;charset=utf-8' - }) - fileSaver.saveAs(blob, 'data.yaml') - } - const exportGithubGist = (data) => { - setLoading(true) - new Backend('https://backend.freesewing.org/') - .createGist({ - data: YAML.stringify(data), - design: data.design - }) - .then((res) => ready('https://gist.github.com/' + res.data.id)) - .catch((err) => console.log(err)) - .finally(() => setLoading(false)) - } - const svgToFile = (svg) => { - const blob = new Blob([svg], { - type: 'image/svg+xml;charset=utf-8' - }) - fileSaver.saveAs(blob, 'pattern.svg') - } - const tile = (svg, format, size) => - new Tiler() - .tile(svg, format, size) - .then((res) => { - if (res.status === 200) return res.data.link - return false - }) - .catch((err) => { - console.log(err) - return false - }) - const convert = (svg, format, size = 'full') => tile(svg, format, size) - - // Style - const styles = { - wrapper: { - display: 'flex', - flexDirection: 'row', - flexWrap: 'wrap', - justifyContent: 'space-around' - }, - column: { - width: '100%', - maxWidth: '350px' - }, - button: { - margin: '0.5rem', - width: 'calc(100% - 1rem)' - }, - blockquote: { - background: 'red' - }, - loader: { - textAlign: 'center', - margin: 'auto' - }, - download: { - textAlign: 'left' - }, - link: { - fontFamily: "'Roboto Condensed', sans-serif", - fontWeight: 'bold', - marginLeft: '2rem' - } - } - - const btnProps = { - size: 'large', - variant: 'contained', - color: 'primary', - style: styles.button - } - - if (loading) return - - return ( - <> -
    - {link ? ( -
    -
    -
    Your export is ready
    -

    You can download your exported pattern from the following link:

    -

    - - {link} - -

    -

    - -

    -
    -
    - ) : ( - <> -
    -
    - -
    - {['a4', 'a3', 'a2', 'a1', 'a0', 'letter', 'tabloid'].map((size) => ( - - ))} -
    -
    -
    - -
    - {['svg', 'postscript', 'pdf'].map((format) => ( - - ))} -
    - -
    - {['json', 'yaml', 'github gist'].map((format) => ( - - ))} -
    - - )} -
    - - ) -} - -export default Xport diff --git a/packages/components/src/Workbench/Footer.js b/packages/components/src/Workbench/Footer.js deleted file mode 100644 index 77b18575e30..00000000000 --- a/packages/components/src/Workbench/Footer.js +++ /dev/null @@ -1,69 +0,0 @@ -import React from 'react' -import Logo from '../Logo' -//import { FormattedMessage } from 'react-intl' - -const Footer = (props) => { - - return ( - - ) -} - -export default React.memo(Footer) diff --git a/packages/components/src/Workbench/Json/index.js b/packages/components/src/Workbench/Json/index.js deleted file mode 100644 index bf152a6a45d..00000000000 --- a/packages/components/src/Workbench/Json/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react' -import Prism from 'prismjs' - -const PatternJson = (props) => { - let gist = Prism.highlight( - JSON.stringify(props.gist, null, 2), - Prism.languages.javascript, - 'javascript' - ) - - return ( -
    -
    -
    -      
    -
    - ) -} - -export default PatternJson diff --git a/packages/components/src/Workbench/Measurements/index.js b/packages/components/src/Workbench/Measurements/index.js deleted file mode 100644 index ab830dedc2a..00000000000 --- a/packages/components/src/Workbench/Measurements/index.js +++ /dev/null @@ -1,166 +0,0 @@ -import React from 'react' -import Button from '@material-ui/core/Button' -import { FormattedMessage } from 'react-intl' -import FormFieldMeasurement from '../../.form/FormFieldMeasurement' -import { withBreasts, withoutBreasts } from '@freesewing/models' -import Icon from '../../Icon' -import nonHuman from './non-human' - -const Measurements = (props) => { - const styles = { - container: { - display: 'flex', - flexDirection: 'row', - width: '100%', - minHeight: '70vh' - }, - chooser: { - width: '100%', - maxWidth: '500px', - alignSelf: 'top' - }, - ul: { - listStyleType: 'none', - margin: '0', - padding: '0' - }, - li: { - display: 'inline', - padding: '0 5px 5px 0' - } - } - - const getValue = (m) => { - if (props.measurements === null) return '' - if (typeof props.measurements[m] === 'undefined') return '' - return props.measurements[m] - } - - if (props.required.length < 1) - return ( - - ) - - return ( -
    -
    -

    - -

    -
    Humans
    -
      - {Object.keys(withoutBreasts).map((m) => ( -
    • - -
    • - ))} - {Object.keys(withBreasts).map((m) => ( -
    • - -
    • - ))} -
    -
    Dolls
    -
      - {Object.keys(nonHuman.withoutBreasts.dolls).map((m) => ( -
    • - -
    • - ))} - {Object.keys(nonHuman.withBreasts.dolls).map((m) => ( -
    • - -
    • - ))} -
    -
    Giants
    -
      - {Object.keys(nonHuman.withoutBreasts.giants).map((m) => ( -
    • - -
    • - ))} - {Object.keys(nonHuman.withBreasts.giants).map((m) => ( -
    • - -
    • - ))} -
    -
    -
    -

    - -

    - {props.required.map((m) => ( - - ))} - {props.optional && props.optional.map((m) => ( - - ))} -
    -
    - ) -} - -export default Measurements diff --git a/packages/components/src/Workbench/Measurements/non-human.js b/packages/components/src/Workbench/Measurements/non-human.js deleted file mode 100644 index fb7aab88c0c..00000000000 --- a/packages/components/src/Workbench/Measurements/non-human.js +++ /dev/null @@ -1,51 +0,0 @@ -import { withBreasts, withoutBreasts } from '@freesewing/models' - -const nonHuman = { - withoutBreasts: { - dolls: {}, - giants: {} - }, - withBreasts: { - dolls: {}, - giants: {} - } -} -const round = val => Math.round(val*10)/10 - -for (let i=0.1;i<1;i+=0.1) { - const name = `Doll ${Math.round(i*10)}/10` - nonHuman.withBreasts.dolls[name] = {} - // withBreasts: Based on Anneke (size 34) - for (const [m, val] of Object.entries(withBreasts.size34)) { - nonHuman.withBreasts.dolls[name][m] = (m === 'shoulderSlope') - ? val - : round(val * i) - } - // withoutBreasts: Based on Ronan (size 42) - nonHuman.withoutBreasts.dolls[name] = {} - for (const [m, val] of Object.entries(withoutBreasts.size42)) { - nonHuman.withoutBreasts.dolls[name][m] = (m === 'shoulderSlope') - ? val - : round(val * i) - } -} -for (let i=1;i<=2.5;i+=0.5) { - const name = `Giant ${i}/1` - nonHuman.withBreasts.giants[name] = {} - // withBreasts: Based on Anneke (size 34) - for (const [m, val] of Object.entries(withBreasts.size34)) { - nonHuman.withBreasts.giants[name][m] = (m === 'shoulderSlope') - ? val - : round(val * i) - } - nonHuman.withoutBreasts.giants[name] = {} - // withoutBreasts: Based on Ronan (size 42) - for (const [m, val] of Object.entries(withoutBreasts.size42)) { - nonHuman.withoutBreasts.giants[name][m] = (m === 'shoulderSlope') - ? val - : round(val * i) - } -} - -export default nonHuman - diff --git a/packages/components/src/Workbench/Welcome/index.js b/packages/components/src/Workbench/Welcome/index.js deleted file mode 100644 index 1040e6d9ab9..00000000000 --- a/packages/components/src/Workbench/Welcome/index.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from "react"; -import Logo from "../../Logo"; -import { FormattedMessage } from "react-intl"; -import Button from "@material-ui/core/Button"; - -const Welcome = props => { - const styles = { - container: { - textAlign: "center", - maxWidth: "500px", - margin: "0 auto", - }, - bigButton: { - margin: "0.5rem", - width: "calc(100% - 3rem)" - }, - } - - return ( -
    - -

    - -

    -

    - -
    - -

    - - -
    - ) -} - -export default Welcome; diff --git a/packages/components/src/Workbench/Welcome/stories.js b/packages/components/src/Workbench/Welcome/stories.js deleted file mode 100644 index 9c784da3f7e..00000000000 --- a/packages/components/src/Workbench/Welcome/stories.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from "react"; -import { storiesOf } from "@storybook/react"; -import Welcome from "."; - -const props = { - language: "en" -}; - -storiesOf("Welcome", module).add("Basic", () => ); diff --git a/packages/components/src/Workbench/Zoombox/index.js b/packages/components/src/Workbench/Zoombox/index.js deleted file mode 100644 index 1d6fb183691..00000000000 --- a/packages/components/src/Workbench/Zoombox/index.js +++ /dev/null @@ -1,155 +0,0 @@ -import React, { useState, useRef, useEffect } from 'react' -import Draft from '../../Draft' -import IconButton from '@material-ui/core/IconButton' -import ZoomIcon from '@material-ui/icons/Cancel' - -const Zoombox = (props) => { - const [from, setFrom] = useState(false) - const [to, setTo] = useState(false) - const [dragging, setDragging] = useState(false) - const [factor, setFactor] = useState(1) - const [box, setBox] = useState(false) - const [panning, setPanning] = useState(false) - const [falseAlarm, setFalseAlarm] = useState(false) - const [panFrom, setPanFrom] = useState(false) - const ref = useRef(null) - - useEffect(() => { - let box = ref.current.getBoundingClientRect() - setBox(box) - setFactor(props.patternProps.width / box.width) - }, []) - - const resetZoom = (evt) => { - evt.stopPropagation() - evt.preventDefault() - setFrom(false) - setTo(false) - setDragging(false) - props.setViewBox(false) - } - const startPan = (evt) => { - if (!dragging && !panning) { - evt.stopPropagation() - evt.preventDefault() - setPanning(true) - setPanFrom([evt.clientX, evt.clientY]) - } - } - const endPan = (evt) => { - if (!dragging && panning) { - evt.stopPropagation() - evt.preventDefault() - setPanning(false) - setPanFrom(false) - updateViewBox() - } - } - const handlePan = (evt) => { - if (!dragging && panning) { - evt.stopPropagation() - evt.preventDefault() - if (from[0] + (evt.clientX - panFrom[0]) <= -5) { - // Bump into left - } else if (from[1] + (evt.clientY - panFrom[1]) <= -5) { - // Bump into top - } else if (to[0] + (evt.clientX - panFrom[0]) >= box.width + 5) { - // Bump into right - } else if (to[1] + (evt.clientY - panFrom[1]) >= box.height + 5) { - // Bump into bottom - } else { - setPanFrom([evt.clientX, evt.clientY]) - setFrom([from[0] + (evt.clientX - panFrom[0]), from[1] + (evt.clientY - panFrom[1])]) - setTo([to[0] + (evt.clientX - panFrom[0]), to[1] + (evt.clientY - panFrom[1])]) - } - } - } - const handleMouseDown = (evt) => { - evt.stopPropagation() - evt.preventDefault() - setFrom([evt.clientX - box.x, evt.clientY - box.y]) - setTo([evt.clientX - box.x, evt.clientY - box.y]) - setDragging(1) - setPanning(false) - } - const handleMouseUp = (evt) => { - if (dragging == 2) { - updateViewBox() - if (falseAlarm) setFalseAlarm(false) - } else { - setFalseAlarm(true) - let box = ref.current.getBoundingClientRect() - setBox(box) - setFactor(props.patternProps.width / box.width) - } - setDragging(false) - setPanning(false) - evt.stopPropagation() - evt.preventDefault() - } - const handleMouseMove = (evt) => { - if (dragging) { - evt.stopPropagation() - evt.preventDefault() - if (dragging === 1) setDragging(2) - if (falseAlarm) setFalseAlarm(false) - setTo([evt.clientX - box.x, evt.clientY - box.y]) - } - } - const updateViewBox = () => { - props.setViewBox( - from[0] * factor + - ' ' + - from[1] * factor + - ' ' + - (to[0] - from[0]) * factor + - ' ' + - (to[1] - from[1]) * factor - ) - } - - return ( - <> -
    - -
    - {box && from && to && dragging !== 1 && !falseAlarm && ( -
    - {!dragging && ( - - - - )} -
    - )} -
    -
    {false && JSON.stringify({ from, to, panFrom }, null, 2)}
    - - ) -} - -export default Zoombox diff --git a/packages/components/src/Workbench/index.js b/packages/components/src/Workbench/index.js deleted file mode 100644 index 38036c6e87c..00000000000 --- a/packages/components/src/Workbench/index.js +++ /dev/null @@ -1,370 +0,0 @@ -import React, { useState, useEffect } from 'react' -import withGist from '../withGist' -import { MuiThemeProvider, createTheme } from '@material-ui/core/styles' -import Navbar from './navbar' -import defaultGist from '@freesewing/utils/defaultGist' -import storage from '@freesewing/utils/storage' -import { dark, light } from '@freesewing/mui-theme' -import withLanguage from '../withLanguage' -import DraftPattern from './DraftPattern' -import DraftConfig from './DraftConfig' -import Json from './Json' -import Welcome from './Welcome' -import Measurements from './Measurements' -import { FormattedMessage } from 'react-intl' -import { languages } from '@freesewing/i18n' -import Button from '@material-ui/core/Button' -import UnhideIcon from '@material-ui/icons/ChevronRight' -import SampleConfigurator from '../SampleConfigurator' -import svgattrPlugin from '@freesewing/plugin-svgattr' -import Xport from './Export' -import axios from 'axios' -import yaml from 'yaml' -import Footer from './Footer' -import css from './style.css' - -const extraTranslations = {} - -const Workbench = ({ - updateGist, - setLanguage, - userLanguage = 'en', - language = 'en', - gist, - importGist, - freesewing, - Pattern, - units = 'metric', - translations = false, - addTranslations, - recreate = false, -}) => { - - if (translations) { - for (let key in translations) extraTranslations[key] = translations[key] - } - - const [display, setDisplay] = useState(null) - const [theme, setTheme] = useState('light') - const [measurements, setMeasurements] = useState(null) - const [svgExport, setSvgExport] = useState(false) - const [viewBox, setViewBox] = useState(false) - const [hideAside, setHideAside] = useState(false) - const [design, setDesign] = useState(true) - const [focus, setFocus] = useState(null) - const [error, setError] = useState(null) - - const raiseEvent = (type, data) => { - if (type === 'clearFocusAll') { - updateGist(false, 'settings', 'only') - return setFocus(null) - } - let f = {} - if (focus !== null) f = { ...focus } - if (typeof f[data.part] === 'undefined') f[data.part] = { paths: [], points: [], coords: [] } - if (type === 'point') f[data.part].points.push(data.name) - else if (type === 'path') f[data.part].paths.push(data.name) - else if (type === 'coords') f[data.part].coords.push(data.coords) - else if (type === 'clearFocus') { - let i = focus[data.part][data.type].indexOf(data.name) - f[data.part][data.type].splice(i, 1) - } else if (type === 'part') updateGist(data, 'settings', 'only') - - setFocus(f) - } - - // Get config from pattern object - const config = Pattern.config - - // Enable debug in Workbench - defaultGist.settings.debug = true - - useEffect(() => { - if (recreate) { - // Recreating from existing pattern config - axios - .get(`https://api.github.com/gists/${recreate.id}`) - .then((res) => { - if (res.data.files['pattern.yaml'].content) { - let g = yaml.parse(res.data.files['pattern.yaml'].content) - if (g.design !== Pattern.config.name) { - setError( - `You tried loading a configuration for ${g.design} into a ${Pattern.config.name} development environment` - ) - setDisplay('error') - } - setMeasurements(g.settings.measurements) - updateGist(g.settings, 'settings') - setLanguage(g.settings.locale) - } else { - setError('This gist does not seem to be a valid pattern configuration') - setDisplay('error') - } - }) - .catch((err) => { - setError(err) - setDisplay('error') - }) - } else { - let m = getMeasurements() - setMeasurements(m) - updateGist(m, 'settings', 'measurements') - setLanguage(userLanguage) - } - if (translations) addTranslations(translations) - }, []) - useEffect(() => { - if (language !== gist.settings.locale) updateGist(language, 'settings', 'locale') - }, [language]) - - const getMeasurements = () => storage.get(config.name + '-measurements') - const saveMeasurements = (data) => { - storage.set(config.name + '-measurements', data) - updateGist(data, 'settings', 'measurements') - } - const updateMeasurement = (name, val) => { - let updatedMeasurements = { ...measurements } - updatedMeasurements[name] = val - setMeasurements(updatedMeasurements) - saveMeasurements(updatedMeasurements) - } - const preloadMeasurements = (model) => { - let updatedMeasurements = { - ...measurements, - ...model - } - setMeasurements(updatedMeasurements) - saveMeasurements(updatedMeasurements) - } - const measurementsMissing = () => { - let required = config.measurements - if (required.length < 1) return false - if (measurements === null) return true - for (let m of required) { - if (typeof measurements[m] === 'undefined') { - console.log('measurement missing', m.measurements) - return true - } - } - - return false - } - const toggleDarkMode = () => { - if (theme === 'light') setTheme('dark') - else setTheme('light') - } - //const raiseEvent = (type = null, data = null) => {} - - const languageButtons = () => ( -

    - {Object.keys(languages).map((lang) => { - return ( - - ) - })} -

    - ) - - const styles = { - unhide: { - position: 'absolute', - left: 0, - top: 0 - } - } - - let main = null - let preMenu = null - let pattern - switch (display) { - case 'languages': - main = ( -
    -

    - -

    - {languageButtons()} -
    - ) - break - case 'draft': - if (measurementsMissing()) { - setDisplay('measurements') - break - } - pattern = new Pattern(gist.settings) - pattern.draft() - let patternProps = pattern.getRenderProps() - main = ( - - ) - preMenu = ( - - ) - break - case 'sample': - if (measurementsMissing()) { - setDisplay('measurements') - break - } - preMenu = ( - - ) - if (!gist.settings.sample) main = null - else { - pattern = new Pattern({ - ...gist.settings, - embed: true - }).use(svgattrPlugin, { - class: 'freesewing pattern draft' - }) - try { - pattern.sample() - } catch (err) { - console.log(err) - } - main =
    - } - break - case 'measurements': - main = ( - - ) - break - case 'xport': - main = ( - - ) - break - case 'json': - main = - break - default: - main = ( - <> - -
    {languageButtons()}
    - - ) - } - - const themes = { dark, light } - - return ( - - -
    - - {(['draft', 'sample'].indexOf(display) !== -1) - ? ( -
    -
    - {hideAside ? ( - setHideAside(false)}> - - - ) : ( - - )} -
    {main}
    -
    -
    - ) :
    {main}
    } -
    -
    -
    - ) -} - -export default withLanguage( - withGist(Workbench, { - gist: defaultGist, - store: true - }), - 'en', false, extraTranslations -) diff --git a/packages/components/src/Workbench/navbar.js b/packages/components/src/Workbench/navbar.js deleted file mode 100644 index 6c56fbd51df..00000000000 --- a/packages/components/src/Workbench/navbar.js +++ /dev/null @@ -1,124 +0,0 @@ -import React from 'react' -import AppBar from '@material-ui/core/AppBar' -import Toolbar from '@material-ui/core/Toolbar' -import { FormattedMessage } from 'react-intl' -import Icon from '../Icon' -import LanguageIcon from '@material-ui/icons/Translate' -import LightModeIcon from '@material-ui/icons/WbSunny' -import DarkModeIcon from '@material-ui/icons/Brightness3' -import DraftIcon from '@material-ui/icons/Gesture' -import TestIcon from '@material-ui/icons/DoneAll' -import MeasurementsIcon from '@material-ui/icons/Height' -import ExportIcon from '@material-ui/icons/ScreenShare' -import Logo from '../Logo' - -export default function ButtonAppBar(props) { - - const style = { - wrapper: { - flexGrow: 1, - width: '100%', - margin: 0, - padding: 0, - background: '#1a1d21', - zIndex: 15 - }, - button: { - height: '64px', - padding: '0 18px' - }, - iconButton: { - }, - icon: { - maxWidth: '24px', - maxHeight: '24px', - marginRight: '0.5rem' - }, - spacer: { - flexGrow: 1 - }, - darkModeIcon: { - transform: 'rotate(26deg)', - maxWidth: '24px', - maxHeight: '24px', - color: '#ffe066' - }, - } - - const buttonProps = { - color: 'primary', - size: 'large', - style: style.button - } - buttonProps['aria-haspopup'] = 'true' - - const iconStyle = { - marginRight: '0.5rem', - } - - const icons = { - draft: , - sample: , - measurements: , - xport: - } - const links = { - draft: , - sample: , - measurements: , - xport: - } - - return ( - - ) -} diff --git a/packages/components/src/Workbench/stories.js b/packages/components/src/Workbench/stories.js deleted file mode 100644 index 87966eb5a0d..00000000000 --- a/packages/components/src/Workbench/stories.js +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' -import Workbench from '.' -import freesewing from '@freesewing/core' - -const config = { - name: 'aaron', - version: '0.1', - design: 'Joost De Cock', - code: 'Joost De Cock', - department: 'menswear', - type: 'pattern', - difficulty: 1, - tags: ['story', 'test'], - optionGroups: { - fit: ['armholeDrop', 'backlineBend'] - }, - measurements: ['bicepsCircumference', 'hpsToHipsBack'], - parts: ['base'], - options: { - armholeDrop: { pct: 10, min: 1, max: 75 }, - backlineBend: { mm: 50, min: 50, max: 100 } - } -} - -const gist = { - settings: { - embed: true, - sa: 10, - complete: true, - paperless: false, - locale: 'en', - units: 'metric', - margin: 2, - options: { - armholeDrop: 50 - } - } -} - -const props = { - freesewing, - Pattern: () => 'aaron', - config, - from: gist -} - -storiesOf('Workbench', module) - .add('Metric', () => ) - .add('Imperial', () => ) diff --git a/packages/components/src/Workbench/style.css b/packages/components/src/Workbench/style.css deleted file mode 100644 index cc8b89928d6..00000000000 --- a/packages/components/src/Workbench/style.css +++ /dev/null @@ -1,42 +0,0 @@ -div.workbench.theme-wrapper > div > header a.navlink { - display: flex; - flex-direction: column; - align-items: center; - color: #f8f9fa; - text-align: center; - text-transform: uppercase; - font-size: 1rem; - font-weight: 500; - padding: 1.5rem 1rem 1rem !important; -} -div.workbench.theme-wrapper > div > header a.navlink svg { - color: inherit; - width: 42px; - height: 42px; - margin-bottom: 12px; -} -div.workbench.theme-wrapper > div > header a.navlink.theme svg { - transform: rotate(26deg); - color: #ffe066; -} -div.workbench.theme-wrapper > div > header a.navlink.active svg { - color: #51cf66; -} -div.workbench.theme-wrapper > div > header a.logo:hover, -div.workbench.theme-wrapper > div > header a.navlink:hover { - color: #d0bfff; - text-decoration: none; - transition: color 0.2s; -} -div.workbench.theme-wrapper div.fill { - width: 100%; - margin: 0; -} -div.workbench.theme-wrapper div.fill div.inner { - max-width: 1200px; - padding: 3rem; - margin: auto; - display: flex; - flex-direction: column; - min-height: 50vh; -} diff --git a/packages/components/src/index.js b/packages/components/src/index.js deleted file mode 100644 index c8264edefcc..00000000000 --- a/packages/components/src/index.js +++ /dev/null @@ -1,17 +0,0 @@ -export default [ - 'Blockquote', - 'Draft', - 'DraftConfigurator', - 'Example', - 'Icon', - 'Legend', - 'LineDrawing', - 'Logo', - 'Robot', - 'Spinner', - 'SampleConfigurator', - 'withGist', - 'withLanguage', - 'withStorage', - 'Workbench', -] diff --git a/packages/components/src/withGist/index.js b/packages/components/src/withGist/index.js deleted file mode 100644 index 79bf0c00dc3..00000000000 --- a/packages/components/src/withGist/index.js +++ /dev/null @@ -1,75 +0,0 @@ -import React from "react"; -import storage from "@freesewing/utils/storage"; - -const withGist = (WrappedComponent, settings = { gist: {}, store: false }) => { - return class extends React.Component { - constructor(props) { - super(props); - this.setGist = this.setGist.bind(this); - this.importGist = this.importGist.bind(this); - this.updateGist = this.updateGist.bind(this); - this.state = { gist: settings.gist || {} }; - } - - setGist(gist) { - this.setState({ gist }); - if (settings.store) storage.set(this.state.gist.name || "gist", gist); - } - - importGist(gist) { - if (typeof this.state.gist.settings === "undefined") - this.updateGist({}, "settings"); - if (typeof this.state.gist.settings.options === "undefined") - this.updateGist({}, "settings", "options"); - if (typeof gist.settings !== "undefined") { - // Load settings - for (let key of Object.keys(gist.settings)) { - if (key !== "options") - this.updateGist(gist.settings[key], "settings", key); - } - if (typeof gist.settings.options !== "undefined") { - // Load options - for (let key of Object.keys(gist.settings.options)) { - this.updateGist( - gist.settings.options[key], - "settings", - "options", - key - ); - } - } - } - // Load root level keys - for (let key of Object.keys(gist)) { - if (key !== "settings") this.updateGist(gist[key], key); - } - } - - updateGist(value, l1 = false, l2 = false, l3 = false) { - if (!l1) return; - let gist = this.state.gist; - - if (l2 && typeof gist[l1] === "undefined") gist[l1] = {}; - if (l3 && typeof gist[l1][l2] === "undefined") gist[l1][l2] = {}; - - if (l3) gist[l1][l2][l3] = value; - else if (l2) gist[l1][l2] = value; - else gist[l1] = value; - this.setState({ gist }); - if (settings.store) storage.set(this.state.gist.name || "gist", gist); - } - - render() { - return ( - - ); - } - }; -}; - -export default withGist; diff --git a/packages/components/src/withLanguage/index.js b/packages/components/src/withLanguage/index.js deleted file mode 100644 index 57202eb4060..00000000000 --- a/packages/components/src/withLanguage/index.js +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react' -import { IntlProvider } from 'react-intl' -import { strings } from '@freesewing/i18n' - -const withLanguage = (WrappedComponent, lang = 'en', store = false, translations = {}) => { - return class extends React.Component { - constructor(props) { - super(props) - this.strings = strings - this.setLanguage = this.setLanguage.bind(this) - this.addTranslations = this.addTranslations.bind(this) - this.state = { - language: lang, - strings: this.strings[lang] - } - } - - setLanguage(l) { - this.setState({ - language: l, - strings: this.strings[l] - }) - } - - addTranslations(translations) { - this.setState({ - language: this.state.language, - strings: { - ...this.strings[this.state.language], - ...translations - } - }) - } - - render() { - return ( - - - - ) - } - } -} - -export default withLanguage diff --git a/packages/components/src/withStorage/index.js b/packages/components/src/withStorage/index.js deleted file mode 100644 index 526b264f424..00000000000 --- a/packages/components/src/withStorage/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import React from "react"; -import storage from "@freesewing/utils/storage"; - -const withStorage = (WrappedComponent, name) => { - return class extends React.Component { - constructor(props) { - super(props); - this.setStorageData = this.setStorageData.bind(this); - this.updateStorageData = this.updateStorageData.bind(this); - this.state = { data: storage.get(name) || {} }; - } - - setStorageData(data) { - storage.set(name, data); - } - - updateStorageData(value, l1 = false, l2 = false, l3 = false) { - if (!l1) return; - let data = this.state.data; - - if (l2 && typeof data[l1] === "undefined") data[l1] = {}; - if (l3 && typeof data[l1][l2] === "undefined") data[l1][l2] = {}; - - if (l3) data[l1][l2][l3] = value; - else if (l2) data[l1][l2] = value; - else data[l1] = value; - this.setState({ data }); - storage.set(name, data); - } - - render() { - return ( - - ); - } - }; -}; - -export default withStorage; diff --git a/packages/css-theme/CHANGELOG.md b/packages/css-theme/CHANGELOG.md deleted file mode 100644 index fa6f6d82490..00000000000 --- a/packages/css-theme/CHANGELOG.md +++ /dev/null @@ -1,132 +0,0 @@ -# Change log for: @freesewing/css-theme - - -## 2.20.6 (2022-02-17) - -### Fixed - - - Set units on fontsizes to support scale setting - -## 2.20.0 (2022-01-24) - -### Added - - - Added support for `settings.scale` - - Included variables used by TailwindCSS themes for compatibility - -## 2.16.0 (2021-05-24) - -### Changed - - - Changes to code styling - -## 2.15.0 (2021-04-15) - -### Added - - - Added the path.bartack class - -### Changed - - - Removed old bartack styling for new plugin - - Better example styling to prevent UI jumping - -## 2.11.0 (2021-01-10) - -### Added - - - Proper formatting for markdown syntax highlighting - - Now includes the fonts so you don't have to - -### Changed - - - Plenty of changes for a new look - - Restyled the draft configurator - -## 2.10.1 (2020-11-07) - -### Changed - - - Removed unused CSS code - -## 2.9.0 (2020-10-02) - -### Added - - - Changes to UI colors - -## 2.7.1 (2020-07-24) - -### Added - - - Added themeing for events - -## 2.7.0 (2020-07-12) - -### Changed - - - Updated the width of the SVG paths of a draft to match plugin-theme - -## 2.6.0 (2020-05-01) - -### Added - - - New styled for updated Workbench component - -## 2.5.0 (2020-04-05) - -### Changed - - - The sidebar no longer has a different background - -### Fixed - - - Fixed incorrect border value on active sidebar link - -## 2.2.0 (2020-02-22) - -### Added - - - Added styling for table.data - -### Changed - - - Added new styles for the frontend changes in 2.2 - - Removed smaller fonts in ul.links - -## 2.1.1 (2019-10-13) - -### Fixed - - - Fixed padding issue on mobile - -## 2.1.0 (2019-10-06) - -### Changed - - - Made tweaks to the main/sidebar layout - -### Fixed - - - Reduced the sidebar height by 64px to take navbar into account - - Fixed blockquote width on XS screens - - Made sidebar wider - -## 2.0.2 (2019-09-06) - -### Fixed - - - Updated styles for DraftConfigurator component for pattern options 3 levels deep - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/css-theme/README.md b/packages/css-theme/README.md deleted file mode 100644 index 1d1480f4280..00000000000 --- a/packages/css-theme/README.md +++ /dev/null @@ -1,288 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/css-theme on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:css-theme - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/css-theme - -A CSS theme for FreeSewing web UIs - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/css-theme - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/css-theme/info.md b/packages/css-theme/info.md deleted file mode 100644 index 2201ea27009..00000000000 --- a/packages/css-theme/info.md +++ /dev/null @@ -1,4 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - diff --git a/packages/css-theme/package.json b/packages/css-theme/package.json deleted file mode 100644 index 9995cdfa4fe..00000000000 --- a/packages/css-theme/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@freesewing/css-theme", - "version": "3.0.0-alpha.0", - "description": "A CSS theme for FreeSewing web UIs", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "css", - "scss", - "sass", - "theme" - ], - "main": "dist/theme.css", - "scripts": { - "build": "npx node-sass --output-style compressed src/theme.scss dist/theme.css", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"css-theme: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "watch": "npx node-sass --watch --output-style compressed src/theme.scss dist/theme.css", - "cibuild_step6": "npx node-sass --output-style compressed src/theme.scss dist/theme.css" - }, - "peerDependencies": {}, - "dependencies": { - "open-color": "^1.7.0", - "@fontsource/permanent-marker": "latest", - "@fontsource/roboto-mono": "latest", - "@fontsource/ubuntu": "latest" - }, - "devDependencies": {}, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/css-theme/src/_components.scss b/packages/css-theme/src/_components.scss deleted file mode 100644 index 96ed5c41608..00000000000 --- a/packages/css-theme/src/_components.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import 'components/pattern'; -@import 'components/draft-configurator'; -@import 'components/draft-design'; -@import 'components/breadcrumbs'; -@import 'components/event'; -@import 'components/example'; -@import 'components/fab'; -@import 'components/main-menu'; -@import 'components/spinner'; -@import 'components/linedrawing'; -@import 'components/modelgraph'; -@import 'components/search'; -@import 'components/prevnext'; -@import 'components/zoombox'; diff --git a/packages/css-theme/src/_elements.scss b/packages/css-theme/src/_elements.scss deleted file mode 100644 index e5198021a92..00000000000 --- a/packages/css-theme/src/_elements.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import 'elements/a'; -@import 'elements/ul'; -@import 'elements/code'; -@import 'elements/blockquote'; -@import 'elements/figure'; -@import 'elements/table'; -@import 'elements/button'; -@import 'elements/jargon'; -@import 'elements/mark'; -@import 'elements/defs'; diff --git a/packages/css-theme/src/_fonts.scss b/packages/css-theme/src/_fonts.scss deleted file mode 100644 index e423aed3694..00000000000 --- a/packages/css-theme/src/_fonts.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import "~@fontsource/ubuntu/400.css"; -@import "~@fontsource/ubuntu/500.css"; -@import "~@fontsource/ubuntu/700.css"; -@import "~@fontsource/ubuntu/400-italic.css"; -@import "~@fontsource/ubuntu/500-italic.css"; -@import "~@fontsource/roboto-mono/400.css"; -@import "~@fontsource/roboto-mono/600.css"; -@import "~@fontsource/roboto-mono/400-italic.css"; -@import "~@fontsource/permanent-marker/index.css"; - diff --git a/packages/css-theme/src/_mixins.scss b/packages/css-theme/src/_mixins.scss deleted file mode 100644 index 6c1bfd3e8b7..00000000000 --- a/packages/css-theme/src/_mixins.scss +++ /dev/null @@ -1,42 +0,0 @@ -@mixin xs-screen { - @media (max-width: 599px) { - @content; - } -} -@mixin sm-screen { - @media (min-width: 600px) and (max-width: 959px) { - @content; - } -} -@mixin lg-screen { - @media (min-width: 960px) { - @content; - } -} - -@mixin body-font { - font-family: Ubuntu, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', - Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - font-weight: 300; -} -@mixin title-font { - font-family: 'Ubuntu', sans-serif; - font-weight: 700; -} -@mixin button-font { - font-family: 'Ubuntu', sans-serif; - font-weight: 700; -} -@mixin fixed-font { - font-family: 'Roboto mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, - monospace; -} -@mixin scribble-font { - font-family: 'Permanent Marker', cursive; -} -@mixin title-color-light { - color: $oc-gray-7; -} -@mixin title-color-dark { - color: $oc-gray-4; -} diff --git a/packages/css-theme/src/_prism.css b/packages/css-theme/src/_prism.css deleted file mode 100644 index 9c7483e6550..00000000000 --- a/packages/css-theme/src/_prism.css +++ /dev/null @@ -1,149 +0,0 @@ -/** - * atom-dark theme for `prism.js` - * Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax - * @author Joe Gibson (@gibsjose) - */ - -code[class*='language-'], -pre[class*='language-'] { - color: #c5c8c6; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: 'Roboto mono', Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace; - direction: ltr; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -/* Code blocks */ -pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; -} - -.react-markdown > pre, -.react-markdown > pre > code[class*='language-'], -:not(pre) > code[class*='language-'], -pre[class*='language-'] { - background: #1d1f21; -} - -/* Inline code */ -div.react-markdown p > code, -:not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: #7c7c7c; -} - -.token.punctuation { - color: #c5c8c6; -} - -.namespace { - opacity: 0.7; -} - -.token.property, -.token.keyword, -.token.tag { - color: #96cbfe; -} - -.token.class-name { - color: #ffffb6; - text-decoration: underline; -} - -.token.boolean, -.token.constant { - color: #99cc99; -} - -.token.symbol, -.token.deleted { - color: #f92672; -} - -.token.number { - color: #ff73fd; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #a8ff60; -} - -.token.variable { - color: #c6c5fe; -} - -.token.operator { - color: #ededed; -} - -.token.entity { - color: #ffffb6; - /* text-decoration: underline; */ -} - -.token.url { - color: #96cbfe; -} - -.language-css .token.string, -.style .token.string { - color: #87c38a; -} - -.token.atrule, -.token.attr-value { - color: #f9ee98; -} - -.token.function { - color: #dad085; -} - -.token.regex { - color: #e9c062; -} - -.token.important { - color: #fd971f; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/packages/css-theme/src/_reset.scss b/packages/css-theme/src/_reset.scss deleted file mode 100644 index a1463b5ef86..00000000000 --- a/packages/css-theme/src/_reset.scss +++ /dev/null @@ -1,11 +0,0 @@ -body { - margin: 0; - font-size: 18px; - line-height: 1.5; - scroll-behavior: smooth; - font-family: Ubuntu; - font-weight: 400; -} -img { - max-width: 100%; -} diff --git a/packages/css-theme/src/_scroll.scss b/packages/css-theme/src/_scroll.scss deleted file mode 100644 index 35675a46606..00000000000 --- a/packages/css-theme/src/_scroll.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Smooth scrolling by default -html { scroll-behavior: smooth; } -// But let people override it -@media screen and (prefers-reduced-motion: reduce) { - html { scroll-behavior: auto; } -} diff --git a/packages/css-theme/src/_theme-wrapper.scss b/packages/css-theme/src/_theme-wrapper.scss deleted file mode 100644 index 8734399c30f..00000000000 --- a/packages/css-theme/src/_theme-wrapper.scss +++ /dev/null @@ -1,25 +0,0 @@ -.theme-wrapper { - margin: 0; - padding: 0; - min-height: 100vh; - display: flex; - flex-direction: column; - justify-content: space-between; -} - -.theme-wrapper.light { - background: $fs-bg-light; - color: $fs-bg-dark; - .altbg { - background: $fs-altbg-light; - } -} - -.theme-wrapper.dark { - background: $fs-bg-dark; - color: $fs-bg-light; - .altbg { - background: $fs-altbg-dark; - } -} - diff --git a/packages/css-theme/src/_typography.scss b/packages/css-theme/src/_typography.scss deleted file mode 100644 index b39f6b2e9a5..00000000000 --- a/packages/css-theme/src/_typography.scss +++ /dev/null @@ -1,105 +0,0 @@ -h1, -h2, -h3, -h4, -h5, -h6, -button { - @include title-font; -} -h1 { - font-size: 3.5rem; - font-weight: 700; - margin: 1rem 0 2rem; - line-height: 1.1; -} -h2 { - font-size: 2.5rem; - margin: 3.5rem 0 1rem; - padding: 1rem 0 1rem; - font-weight: 700; - line-height: 1.1; -} -h3 { - font-size: 2rem; - margin: 1.75rem 0 1rem; - font-weight: 700; -} -h4 { - font-size: 1.75rem; - margin: 1.5rem 0 0.75rem; - font-weight: 500; -} -h5 { - font-size: 1.5rem; - margin: 1.25rem 0 0.5rem; - font-weight: 500; -} -h6 { - font-size: 1.25rem; - margin: 1rem 0 0.25rem; - font-weight: 500; -} -h2 a.anchor, -h3 a.anchor, -h4 a.anchor, -h5 a.anchor, -h6 a.anchor { - margin-left: -20px; - margin-right: 4px; -} -h5 + a, -h6 + a, -h5 + ol, -h6 + ol, -h5 + ul, -h6 + ul, -h5 + p, -h6 + p { - margin-top: -0.5rem; -} -.theme-wrapper.light { - h1, - h2, - h3, - h4, - h5, - h6 { - @include title-color-light; - } -} -.theme-wrapper.dark { - h1, - h2, - h3, - h4, - h5, - h6 { - @include title-color-dark; - } -} - -@include sm-screen { - h1 { - font-size: 3rem; - } - h2 { - font-size: 2.25rem; - } -} -@include xs-screen { - h1 { - font-size: 2.5rem; - margin: 1rem 0 1.5rem; - } - h2 { - font-size: 2rem; - margin: 2.5rem 0 0.5rem; - } - h3 { - font-size: 1.85rem; - } - h4 { - font-size: 1.65rem; - } -} diff --git a/packages/css-theme/src/_utility.scss b/packages/css-theme/src/_utility.scss deleted file mode 100644 index b65cd9710ef..00000000000 --- a/packages/css-theme/src/_utility.scss +++ /dev/null @@ -1,70 +0,0 @@ -@include xs-screen { - .not-xs { - display: none !important; - } - .only-xs { - display: inherit; - } -} -@include sm-screen { - .not-xs { - display: inherit; - } - .only-xs { - display: none !important; - } -} -@include lg-screen { - .not-xs { - display: inherit; - } - .only-xs { - display: none !important; - } -} - -.shadow { - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), - 0 2px 1px -1px rgba(0, 0, 0, 0.12); -} - -.theme-wrapper.dark .shadow { - border: 1px solid #fff3; -} - -.font-text { - @include body-font; -} -.font-title { - @include title-font; -} -.font-button { - @include button-font; -} -.poh:hover { - cursor: pointer; -} -.scribble { - font-family: 'Permanent marker'; - color: $oc-pink-5; -} -.fw-400 { - font-weight: 400; -} -.fw-500 { - font-weight: 500; -} -.fw-700 { - font-weight: 700; -} - -ul.inline { - list-style-type: none; - li:after { - content: ','; - margin-right: 0.5rem; - } - li { - display: inline; - } -} diff --git a/packages/css-theme/src/_variables.scss b/packages/css-theme/src/_variables.scss deleted file mode 100644 index 5c2d86693c4..00000000000 --- a/packages/css-theme/src/_variables.scss +++ /dev/null @@ -1,39 +0,0 @@ -$fs-blue: '#74c0fc'; -$fs-text-light: $oc-gray-9; -$fs-text-dark: $oc-gray-0; -$fs-bg-light: $oc-gray-0; -$fs-bg-dark: darken($oc-gray-9, 3); -$fs-altbg-light: $oc-gray-1; -$fs-altbg-dark: $oc-gray-8; -$fs-notice-light: $oc-yellow-7; -$fs-notice-dark: $oc-lime-3; -$fs-hoverbg-light: $oc-gray-1; -$fs-hoverbg-dark: $oc-gray-8; -$fs-accentbg-light: $oc-teal-5; -$fs-accentbg-dark: $oc-teal-8; -$fs-link-light: $oc-violet-8; -$fs-link-dark: $oc-violet-2; - -$fs-info-light: $oc-blue-6; -$fs-success-light: $oc-green-7; -$fs-danger-light: $oc-red-6; -$fs-warning-light: $oc-yellow-6; -$fs-accent-light: $oc-grape-6; - -$fs-pattern-fabric-light: $oc-gray-9; -$fs-pattern-lining-light: $oc-lime-7; -$fs-pattern-interfacing-light: $oc-red-7; -$fs-pattern-canvas-light: $oc-yellow-7; -$fs-pattern-various-light: $oc-grape-7; -$fs-pattern-mark-light: $oc-blue-4; -$fs-pattern-contrast-light: $oc-orange-7; -$fs-pattern-note-light: $oc-pink-7; - -$fs-pattern-fabric-dark: $oc-gray-1; -$fs-pattern-lining-dark: $oc-lime-4; -$fs-pattern-interfacing-dark: $oc-red-4; -$fs-pattern-canvas-dark: $oc-yellow-4; -$fs-pattern-various-dark: $oc-grape-4; -$fs-pattern-mark-dark: $oc-blue-4; -$fs-pattern-contrast-dark: $oc-orange-4; -$fs-pattern-note-dark: $oc-pink-4; diff --git a/packages/css-theme/src/components/_breadcrumbs.scss b/packages/css-theme/src/components/_breadcrumbs.scss deleted file mode 100644 index 055357682db..00000000000 --- a/packages/css-theme/src/components/_breadcrumbs.scss +++ /dev/null @@ -1,28 +0,0 @@ -nav.breadcrumbs { - ul { - @include button-font; - margin-left: 0; - padding-left: 0; - font-size: 95%; - font-weight: 500; - @include title-color-light; - line-height: 1.1; - li { - list-style-type: none; - display: inline-block; - } - li:first-child:before { - content: ''; - padding: 0; - } - li:before { - content: '»'; - padding: 0 0.5rem; - font-size: 125%; - font-weight: 700; - } - } -} -.theme-wrapper.dark nav.breadcrumbs ul { - @include title-color-dark; -} diff --git a/packages/css-theme/src/components/_draft-configurator.scss b/packages/css-theme/src/components/_draft-configurator.scss deleted file mode 100644 index 6f5969dd2ae..00000000000 --- a/packages/css-theme/src/components/_draft-configurator.scss +++ /dev/null @@ -1,197 +0,0 @@ -ul#draft-config { - margin: 1rem 0; - padding: 0; - div.collapsed { - display: none; - } - span.dflt, - span.p-dflt, - span.custom { - padding: 2px 4px; - border-radius: 4px; - } - button.mini-icon-btn { - margin: 0; - padding: 2px; - } - svg.icon-col-exp { - margin-bottom: -5px; - margin-right: 5px; - transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out; - opacity: 0.4; - } - svg.icon-col-exp.expanded { - transform: rotate(90deg); - opacity: 1; - } - ul { - margin: 0; - padding: 0; - } - li { - list-style-type: none; - } - li.action > span svg { - margin-right: 0.5rem; - } - > li { - padding: 0.25rem 0; - margin: 0; - font-size: 1.5rem; - font-weight: 500; - > span { - padding: 1rem; - svg { - padding-right: 0.5rem; - margin-bottom: -4px; - } - } - } - ul.config.level-1 > li { - font-size: 1.25rem; - font-weight: 400; - > div { - padding: 0.2rem 0.5rem 0.1rem 0.5rem; - } - > span { - padding: 0.2rem 0.5rem 0.1rem 1rem; - display: block; - svg { - margin-bottom: -5px; - } - } - > div:first-of-type > div:last-of-type { - font-size: 0.9rem; - } - > div.col-exp { - padding: 0.2rem 0.5rem 0.1rem 2rem; - font-size: 1.1rem; - } - > div.col-exp:hover { - background-color: inherit; - } - } - ul.config.level-2 > li { - font-size: 1.15rem; - font-weight: 400; - > span, - > div:first-of-type { - padding: 0.3rem 0.5rem 0.2rem 2rem; - line-height: 1; - display: block; - } - > div:first-of-type:hover, - > span:hover { - cursor: pointer; - } - > div.col-exp.expanded { - padding: 0 1rem 0 3rem; - font-size: 1.1rem; - } - span.subheading { - padding-left: 2.5rem; - } - span.subheading:after { - content: '...'; - } - span.subheading:after { - content: '...'; - } - > div:first-of-type > div:last-of-type { - font-size: 0.9rem; - } - } - ul.config.level-2 > li.expanded > div.col-exp { - padding-bottom: 1rem; - } - ul.config.level-3 > li { - font-size: 1.1rem; - font-weight: 400; - > div:first-of-type { - padding: 0.3rem 0.5rem 0.2rem 3rem; - line-height: 1.2; - display: block; - } - > div:first-of-type:hover, - > span:hover { - cursor: pointer; - } - > div.col-exp.expanded { - padding: 0 1rem 0 3rem; - font-size: 1rem; - } - > div:first-of-type > div:last-of-type { - font-size: 0.9rem; - } - } -} - -.theme-wrapper.light ul#draft-config { - color: $oc-gray-7; - > li > span > svg { - color: $oc-violet-5; - } - span.custom { - background: $oc-yellow-1; - border: 1px solid $oc-yellow-2; - } - span.p-dflt { - background: $oc-green-1; - border: 1px solid $oc-green-2; - } - button.mini-icon-btn.recipe:enabled { - color: $oc-blue-7; - } - button.mini-icon-btn.pattern:enabled { - color: $oc-green-8; - } - span.subheading:hover, - li.collapsed:hover, - ul.config.level-1 > li > span:hover { - background-color: $oc-gray-2; - cursor: pointer; - } - ul.config.level-3 > li { - > div:first-of-type:hover, - > span:hover { - background-color: $oc-gray-2; - } - } - li.action > span svg { - color: $oc-pink-5; - } -} -.theme-wrapper.dark ul#draft-config { - color: $oc-gray-3; - > li > span > svg { - color: $oc-violet-3; - } - span.custom { - background: $oc-yellow-8; - border: 1px solid $oc-yellow-9; - } - span.p-dflt { - background: $oc-green-8; - border: 1px solid $oc-green-9; - } - button.mini-icon-btn.recipe:enabled { - color: $oc-blue-7; - } - button.mini-icon-btn.pattern:enabled { - color: $oc-green-8; - } - span.subheading:hover, - li.collapsed:hover, - ul.config.level-1 > li > span:hover { - background-color: $oc-gray-9; - } - ul.config.level-3 > li { - > div:first-of-type:hover, - > span:hover { - background-color: $oc-gray-9; - } - } - li.action > span svg { - color: $oc-pink-3; - } -} diff --git a/packages/css-theme/src/components/_draft-design.scss b/packages/css-theme/src/components/_draft-design.scss deleted file mode 100644 index b027c620e04..00000000000 --- a/packages/css-theme/src/components/_draft-design.scss +++ /dev/null @@ -1,167 +0,0 @@ -svg.freesewing.draft { - g.design.point { - circle { - stroke: none; - fill-opacity: 0.5; - } - circle.hovertrap { - opacity: 0; - transition: opacity 0.1s ease-in; - } - circle.hovertrap:hover { - cursor: pointer; - opacity: 0.3; - } - } - path.design.hovertrap { - stroke-width: 5; - stroke-opacity: 0; - transition: stroke-opacity 0.1s ease-in; - } - path.design.hovertrap:hover { - cursor: pointer; - stroke-opacity: 0.2; - } - path.focus.point, - path.focus.coords { - stroke-width: 0.2; - stroke: $oc-red-6; - } - circle.focus.point, - circle.focus.coords { - fill: white; - fill-opacity: 0.01; - stroke: $oc-red-6; - stroke-width: 0.2; - } - circle.focus.point:hover, - circle.focus.coords:hover { - cursor: pointer; - } - path.focus.path { - stroke-width: 5; - stroke-opacity: 0.3; - stroke-dasharray: 4 5.5; - } - path.focus.path:hover { - cursor: pointer; - } - path.focus.point.c0, - circle.focus.point.c0, - path.focus.coords.c0, - circle.focus.coords.c0 { - stroke: $oc-red-6; - } - path.focus.point.c1, - circle.focus.point.c1, - path.focus.coords.c1, - circle.focus.coords.c01 { - stroke: $oc-green-6; - } - path.focus.point.c2, - circle.focus.point.c2, - path.focus.coords.c2, - circle.focus.coords.c02 { - stroke: $oc-blue-6; - } - path.focus.point.c3, - circle.focus.point.c3, - path.focus.coords.c3, - circle.focus.coords.c03 { - stroke: $oc-grape-6; - } - path.focus.coords, - circle.focus.coords { - stroke-dasharray: 3 3; - } - path.design.path.cp { - stroke: $oc-orange-5; - stroke-width: 0.5; - } - circle.design.path.cp { - stroke: $oc-orange-5; - stroke-width: 1; - } - path.focus.path.c0 { - stroke: $oc-red-6; - } - path.focus.path.c1 { - stroke: $oc-green-6; - } - path.focus.path.c2 { - stroke: $oc-blue-6; - } - path.focus.path.c3 { - stroke: $oc-grape-6; - } -} - -div.design { - @include button-font; - font-size: 115%; - margin: 1rem 0; - text-align: left; - .path, - .point { - border-left: 3px solid transparent; - padding-left: 5px; - margin-bottom: 3px; - font-size: 80%; - } - .path { - border-left: 3px dashed transparent; - } - .path.c0, - .point.c0 { - border-color: $oc-red-6; - } - .path.c1, - .point.c1 { - border-color: $oc-green-6; - } - .path.c2, - .point.c2 { - border-color: $oc-blue-6; - } - .path.c3, - .point.c3 { - border-color: $oc-grape-6; - } -} - -.theme-wrapper.light svg.freesewing.draft { - g.design.point { - circle { - fill: $fs-link-light; - } - circle.hovertrap { - stroke: $fs-link-light; - } - } - path.design.hovertrap { - stroke: $fs-link-light; - } - circle.design.path.cp { - fill: $fs-bg-light; - } -} - -.theme-wrapper.dark svg.freesewing.draft { - g.design.point { - circle { - fill: $fs-link-dark; - } - circle.hovertrap { - stroke: $fs-link-dark; - } - } - path.design.hovertrap { - stroke: $fs-link-dark; - } - circle.design.path.cp { - fill: $fs-bg-dark; - } - path.focus.path { - stroke-opacity: 0.5; - } -} diff --git a/packages/css-theme/src/components/_event.scss b/packages/css-theme/src/components/_event.scss deleted file mode 100644 index 04bc5a1db18..00000000000 --- a/packages/css-theme/src/components/_event.scss +++ /dev/null @@ -1,99 +0,0 @@ -div.draft-events { - margin: 2rem auto; - max-width: 900px; - div.draft-event { - margin: 0.5rem auto; - font-size: 85%; - padding: 0.5rem; - border: 1px dotted black; - border-radius: 3px; - position: relative; - div.icon { - position: absolute; - top: 0; - left: 6px; - padding: 2px; - border-bottom-left-radius: 12px; - border-bottom-right-radius: 12px; - color: white; - line-height: 0.4; - display: inline-block; - } - div.icon svg { - font-size: 20px; - } - div.icon.debug { - background: $oc-gray-8; - } - div.icon.info { - background: $oc-violet-6; - } - div.icon.warning { - background: $oc-orange-6; - } - div.icon.error { - background: $oc-red-6; - } - p:first-of-type { - margin-top: 0; - padding-left: 32px; - } - p:last-of-type { - margin-bottom: 0; - } - div.gatsby-highlight { - margin: 0.5rem 0; - } - } - div.draft-event.debug { - border-color: $oc-gray-8; - } - div.draft-event.info { - border-color: $oc-violet-6; - } - div.draft-event.warning { - border-color: $oc-orange-6; - } - div.draft-event.error { - border-color: $oc-red-6; - } - div.draft-event details summary { - margin-left: 1rem; - list-style-position: outside; - } - div.draft-event details summary:hover { - cursor: pointer; - } -} - -.theme-wrapper.dark div.draft-events { - div.draft-event.debug { - border-color: $oc-gray-6; - } - div.draft-event.info { - border-color: $oc-violet-4; - } - div.draft-event.warning { - border-color: $oc-orange-4; - } - div.draft-event.error { - border-color: $oc-red-4; - } - div.draft-event { - div.icon { - color: $oc-gray-9; - } - div.icon.debug { - background: $oc-gray-6; - } - div.icon.info { - background: $oc-violet-4; - } - div.icon.warning { - background: $oc-orange-4; - } - div.icon.error { - background: $oc-red-4; - } - } -} diff --git a/packages/css-theme/src/components/_example.scss b/packages/css-theme/src/components/_example.scss deleted file mode 100644 index ef57b9b6595..00000000000 --- a/packages/css-theme/src/components/_example.scss +++ /dev/null @@ -1,20 +0,0 @@ -figure.example { - border: 1px solid transparent; - div.example { - position: relative; - div.actions { - position: absolute; - right: 0; - top: 0; - } - } -} -figure.design.example { - border-color: $oc-gray-4; - svg.freesewing.draft.design { - border-bottom: 1px solid $oc-gray-4; - } - figcaption { - display: none; - } -} diff --git a/packages/css-theme/src/components/_fab.scss b/packages/css-theme/src/components/_fab.scss deleted file mode 100644 index 180fb2775e6..00000000000 --- a/packages/css-theme/src/components/_fab.scss +++ /dev/null @@ -1,28 +0,0 @@ -button.fab { - position: fixed; - bottom: 1rem; - width: 64px; - height: 64px !important; - z-index: 20; - font-size: 2rem; - border-radius: 50%; -} -button.fab.primary { - right: 1rem; -} -button.fab.secondary { - right: calc(1.5rem + 64px); -} - -.style-wrapper.light, -.theme-wrapper.light, -.style-wrapper.dark, -.theme-wrapper.dark { - button.fab.accent { - background-color: $fs-accent-light; - color: $fs-text-dark; - } - button.fab.accent:hover { - background-color: darken($fs-accent-light, 10%); - } -} diff --git a/packages/css-theme/src/components/_linedrawing.scss b/packages/css-theme/src/components/_linedrawing.scss deleted file mode 100644 index 426dc25be0b..00000000000 --- a/packages/css-theme/src/components/_linedrawing.scss +++ /dev/null @@ -1,58 +0,0 @@ -svg.fs.linedrawing { - path.primary { - stroke-width: 1.5; - } - path.primary-line { - stroke-width: 1.5; - fill: none; - } - path.secondary { - stroke-width: 0.75; - } - path.inside { - stroke-width: 1.5; - } - path.stitch { - stroke-width: 0.5; - stroke-dasharray: 3 1; - fill: none; - } -} - -.theme-wrapper.light svg.fs.linedrawing { - path.primary { - stroke: $oc-gray-8; - fill: $oc-gray-3; - } - path.secondary { - stroke: $oc-gray-8; - fill: none; - } - path.inside, rect.inside { - stroke: $oc-gray-8; - fill: $oc-gray-5; - } - path.stitch, - path.primary-line { - stroke: $oc-gray-8; - } -} -.theme-wrapper.dark svg.fs.linedrawing { - path.primary { - stroke: $oc-gray-5; - fill: $oc-gray-9; - } - path.secondary { - stroke: $oc-gray-5; - fill: none; - } - path.inside, rect.inside { - stroke: $oc-gray-5; - fill: $oc-gray-7; - } - path.stitch, - path.primary-line { - stroke: $oc-gray-5; - } -} - diff --git a/packages/css-theme/src/components/_main-menu.scss b/packages/css-theme/src/components/_main-menu.scss deleted file mode 100644 index f5ee1d22cb7..00000000000 --- a/packages/css-theme/src/components/_main-menu.scss +++ /dev/null @@ -1,158 +0,0 @@ -ul#main-menu { - margin: 0; - padding: 2rem 0; - li { - display: block; - a { - display: block; - padding: 0.1rem 1rem; - text-transform: capitalize; - } - a:hover { - text-decoration: none; - background: $oc-gray-2; - } - } - > li { - font-size: 1.4rem; - font-weight: 500; - a { - color: $oc-gray-7; - svg { - padding-right: 0.5rem; - margin-bottom: -2px; - color: $oc-violet-5; - } - } - a.active { - border-left: 4px solid $oc-green-5; - svg { - color: $oc-gray-7; - } - } - } - ul { - margin: 0; - padding: 0; - font-weight: 400; - text-transform: none; - } - ul[class^='level-'] { - > li { - line-height: 1.5; - > a { - padding: 0; - font-weight: 400; - text-transform: none; - } - > a:before { - content: ''; - background-color: currentColor; - border-radius: 50%; - width: 8px; - height: 8px; - display: inline-block; - margin-right: 0.5rem; - margin-bottom: 2px; - } - > a:hover:before { - color: $oc-violet-4; - } - > a.active { - font-weight: 500; - background-color: $oc-gray-3; - border-left: none; - } - > a.active:before { - background-color: $oc-green-5; - } - } - } - ul.level-1 > li { - > a { - padding: 0.1rem 0.5rem 0.1rem 1.5rem; - font-size: 1.2rem; - } - > a:before { - width: 7px; - height: 7px; - } - } - ul.level-2 > li { - > a { - padding: 0.3rem 0.5rem 0.3rem 3rem; - font-size: 1.1rem; - line-height: 1; - } - > a:before { - width: 7px; - height: 7px; - } - } - ul.level-3 > li { - > a { - padding-left: 4rem; - font-size: 1.05rem; - } - > a:before { - width: 6px; - height: 6px; - } - } - ul.level-4 > li { - > a { - padding-left: 5rem; - font-size: 1rem; - } - > a:before { - width: 5px; - height: 5px; - line-height: 4px; - } - } -} -@include sm-screen { - ul#main-menu { - padding: 1rem 0; - li a { - padding: 0.1rem 0.5rem; - font-size: 90%; - } - } -} - -.theme-wrapper.dark ul#main-menu { - li { - a:hover { - background: $oc-gray-9; - } - } - > li { - a { - color: $oc-gray-4; - svg { - color: $oc-violet-3; - } - } - a.active { - border-left: 4px solid $oc-green-4; - svg { - color: $oc-gray-4; - } - } - } - ul[class^='level-'] { - > li { - > a:hover:before { - color: $oc-violet-3; - } - > a.active { - background-color: $oc-gray-8; - border-left: none; - } - > a.active:before { - background-color: $oc-green-4; - } - } - } -} diff --git a/packages/css-theme/src/components/_modelgraph.scss b/packages/css-theme/src/components/_modelgraph.scss deleted file mode 100644 index ae974dd1e03..00000000000 --- a/packages/css-theme/src/components/_modelgraph.scss +++ /dev/null @@ -1,134 +0,0 @@ -svg.fs-model-graph { - circle.size { - fill: none; - stroke-width: 2; - stroke-dasharray: 10 10; - } - circle.sizebg { - stroke: none; - } - rect { - stroke-width: 5; - } - circle.shape, - path.shape { - stroke: none; - stroke-width: 5; - } - circle.shape.center { - stroke: none!important; - } - path.own { - stroke-width: 3; - stroke-dasharray: 20 30; - fill: none; - } - path.estimate { - stroke: none; - } - path.highlight { - stroke-width: 15; - stroke-linecap: round; - stroke-dasharray: 20 30; - } - path.hide { - stroke: none; - } - path.vdefault { - fill: none; - stroke-width: 5; - stroke-dasharray: 20 30; - } - div.text { - @include title-font; - font-size: 80px; - } - path.hovertrap { - fill: none; - stroke: #fff0; - stroke-width: 50; - } - text.size { - @include title-font; - font-size: 50px; - text-anchor: middle; - } -} - -.theme-wrapper.light svg.fs-model-graph { - circle.size { - stroke: $oc-gray-5; - } - circle.sizebg { - fill: #fff3; - } - rect { - stroke: $oc-blue-6; - fill: $oc-blue-5; - } - rect.estimate { - stroke: $oc-blue-6; - fill: #fff0; - } - rect.highlight { - fill: $oc-lime-7; - stroke: $oc-lime-8; - } - circle.shape, - path.shape { - stroke: $oc-blue-8; - fill: $oc-blue-7; - } - path.own { - stroke: #fffb; - } - path.highlight { - stroke: $oc-lime-7; - troke: none; - } - path.vdefault { - stroke: $oc-lime-7; - } - text.size { - fill: $oc-lime-7; - } -} - -.theme-wrapper.dark svg.fs-model-graph { - circle.size { - stroke: $oc-gray-5; - } - circle.sizebg { - fill: #21252933; - } - rect { - stroke: $oc-yellow-6; - fill: $oc-yellow-5; - } - rect.estimate { - stroke: $oc-yellow-6; - fill: #fff0; - } - rect.highlight { - fill: $oc-orange-7; - stroke: $oc-orange-8; - } - circle.shape, - path.shape { - stroke: $oc-yellow-8; - fill: $oc-yellow-7; - } - path.own { - stroke: #fffb; - } - path.highlight { - stroke: $oc-orange-7; - troke: none; - } - path.vdefault { - stroke: $oc-orange-7; - } - text.size { - fill: $oc-orange-7; - } -} diff --git a/packages/css-theme/src/components/_pattern.scss b/packages/css-theme/src/components/_pattern.scss deleted file mode 100644 index 213c0c35c4c..00000000000 --- a/packages/css-theme/src/components/_pattern.scss +++ /dev/null @@ -1,451 +0,0 @@ -/* These vars are needed for those components already using TailwindCSS */ -:root { - /* Pattern background color */ - --pattern-bg: #f8f9fa; - /* Color for the main fabric */ - --pattern-fabric: #212529; - /* Color for lining fabric */ - --pattern-lining: #74b816; - /* Color for interfacing */ - --pattern-interfacing: #f03e3e; - /* Color for canvas */ - --pattern-canvas: #f59f00; - /* Color for various fabric types */ - --pattern-various: #ae3ec9; - /* Color for marking things on a pattern */ - --pattern-mark: #4dabf7; - /* Color to provide contrast on a pattern */ - --pattern-contrast: #f76707; - /* Color for noting things on a pattern */ - --pattern-note: #f76707; - - /* Pattern xs text size */ - --pattern-text-xs: '0.2rem'; - /* Pattern sm text size */ - --pattern-text-sm: '0.3rem'; - /* Pattern default text size */ - --pattern-text: '0.4rem'; - /* Pattern lg text size */ - --pattern-text-lg: '0.6rem'; - /* Pattern xl text size */ - --pattern-text-xl: '0.8rem'; - /* Pattern 2xl text size */ - --pattern-text-2xl: '1.5rem'; - /* Pattern 3xl text size */ - --pattern-text-3xl: '2rem'; -} - - - -svg.freesewing.pattern { - max-width: 100%; - /* Reset */ - path, - circle { - fill: none; - stroke: none; - } - - /* Defaults */ - path, - circle { - stroke-opacity: 1; - stroke-width: calc(var(--freesewing-pattern-scale) * 0.7px); - stroke-linecap: round; - stroke-linejoin: round; - } - - /* Stroke classes */ - .stroke-xs { - stroke-width: calc(var(--freesewing-pattern-scale) * 0.1px); - } - .stroke-sm { - stroke-width: calc(var(--freesewing-pattern-scale) * 0.4px); - } - .stroke-lg { - stroke-width: calc(var(--freesewing-pattern-scale) * 1.3px); - } - .stroke-xl { - stroke-width: calc(var(--freesewing-pattern-scale) * 2px); - } - .stroke-xxl, - .stroke-2xl { - stroke-width: calc(var(--freesewing-pattern-scale) * 4px); - } - .stroke-3xl { - stroke-width: calc(var(--freesewing-pattern-scale) * 6px); - } - .stroke-4xl { - stroke-width: calc(var(--freesewing-pattern-scale) * 10px); - } - - .sa { - stroke-dasharray: 1, 3; - } - .help { - stroke-width: calc(var(--freesewing-pattern-scale) * 0.6px); - stroke-dasharray: 15, 5, 2, 5; - } - .dotted { - stroke-dasharray: 0.5, 1; - } - .dashed { - stroke-dasharray: 2, 2; - } - .lashed { - stroke-dasharray: 8, 3; - } - .hidden { - stroke: none !important; - fill: none !important; - } - - /* Text */ - text { - font-size: calc(6px * var(--freesewing-pattern-scale)); - @include title-font; - text-anchor: start; - font-weight: 400; - dominant-baseline: ideographic; - } - .text-xs { - font-size: calc(4px * var(--freesewing-pattern-scale)); - } - .text-sm { - font-size: calc(5px * var(--freesewing-pattern-scale)); - } - .text-l { - font-size: calc(8px * var(--freesewing-pattern-scale)); - } - .text-xl { - font-size: calc(10px * var(--freesewing-pattern-scale)); - } - .text-xxl, - .text-2xl { - font-size: calc(12px * var(--freesewing-pattern-scale)); - } - .text-3xl { - font-size: calc(16px * var(--freesewing-pattern-scale)); - } - .text-4xl { - font-size: calc(22px * var(--freesewing-pattern-scale)); - } - - .center { - text-anchor: middle; - } - .right { - text-anchor: end; - } - .font-bold { - font-weight: bold; - } - - .scribble { - @include scribble-font; - } - - /* Plugins */ - text.title-nr { - font-size: calc(32px * var(--freesewing-pattern-scale)); - @include title-font; - font-weight: 700; - stroke: none; - } - /* New style for sampled sizes */ - path.size-3XS, - path.size-2XS, - path.size-XS, - path.size-S, - path.size-M { - stroke-width: calc(var(--freesewing-pattern-scale) * 0.5px); - stroke-dasharray: 0.25 0.75; - } - path.made-to-measure, - path.size-L, - path.size-XL, - path.size-2XL, - path.size-3XL, - path.size-4XL { - stroke-width: calc(var(--freesewing-pattern-scale) * 0.5px); - } -} - -svg.freesewing.draft text { - fill: currentColor; -} -.theme-wrapper.light svg.freesewing.draft { - /* Stroke classes */ - path, - circle { - stroke: $fs-pattern-fabric-light; - } - .fabric { - stroke: $fs-pattern-fabric-light; - } - .lining { - stroke: $fs-pattern-lining-light; - } - .interfacing { - stroke: $fs-pattern-interfacing-light; - } - .canvas { - stroke: $fs-pattern-canvas-light; - } - .various { - stroke: $fs-pattern-various-light; - } - .mark { - stroke: $fs-pattern-mark-light; - } - .contrast { - stroke: $fs-pattern-contrast-light; - } - .note { - stroke: $fs-pattern-note-light; - } - /* Fill classes */ - .fill-fabric { - fill: $fs-pattern-fabric-light; - } - .fill-lining { - fill: $fs-pattern-lining-light; - } - .fill-interfacing { - fill: $fs-pattern-interfacing-light; - } - .fill-canvas { - fill: $fs-pattern-canvas-light; - } - .fill-various { - fill: $fs-pattern-various-light; - } - .fill-mark { - fill: $fs-pattern-mark-light; - } - .fill-contrast { - fill: $fs-pattern-contrast-light; - } - .fill-note { - fill: $fs-pattern-note-light; - } - .fill-bg { - fill: $fs-bg-light; - } - path.sample-focus { - fill: #000; - } - /* scalebox plugin */ - path.scalebox.metric { - stroke: none; - fill: $fs-bg-light; - } - path.scalebox.imperial { - stroke: none; - fill: $fs-bg-dark; - } - path.bartack { - stroke: $fs-pattern-mark-light; - } - path.logo { - fill: currentColor; - stroke: none; - } - /* New style for sampled sizes */ - path.made-to-measure { - stroke: #212529; - } - path.size-3XS { - stroke: $oc-lime-6; - } - path.size-2XS { - stroke: $oc-orange-6; - } - path.size-XS { - stroke: $oc-grape-6; - } - path.size-S { - stroke: $oc-indigo-6; - } - path.size-M { - stroke: $oc-cyan-6; - } - path.size-L { - stroke: $oc-indigo-6; - } - path.size-XL { - stroke: $oc-grape-6; - } - path.size-2XL { - stroke: $oc-orange-6; - } - path.size-3XL { - stroke: $oc-lime-6; - } - path.size-4XL { - stroke: $oc-teal-6; - } -} -.theme-wrapper.dark svg.freesewing.draft { - /* Stroke classes */ - path, - circle { - stroke: $fs-pattern-fabric-dark; - } - .fabric { - stroke: $fs-pattern-fabric-dark; - } - .lining { - stroke: $fs-pattern-lining-dark; - } - .interfacing { - stroke: $fs-pattern-interfacing-dark; - } - .canvas { - stroke: $fs-pattern-canvas-dark; - } - .various { - stroke: $fs-pattern-various-dark; - } - .mark { - stroke: $fs-pattern-mark-dark; - } - .contrast { - stroke: $fs-pattern-contrast-dark; - } - .note { - stroke: $fs-pattern-note-dark; - } - /* Fill classes */ - .fill-fabric { - fill: $fs-pattern-fabric-dark; - } - .fill-lining { - fill: $fs-pattern-lining-dark; - } - .fill-interfacing { - fill: $fs-pattern-interfacing-dark; - } - .fill-canvas { - fill: $fs-pattern-canvas-dark; - } - .fill-various { - fill: $fs-pattern-various-dark; - } - .fill-mark { - fill: $fs-pattern-mark-dark; - } - .fill-contrast { - fill: $fs-pattern-contrast-dark; - } - .fill-note { - fill: $fs-pattern-note-dark; - } - .fill-bg { - fill: $fs-bg-dark; - } - path.sample-focus { - fill: #fff; - } - /* scalebox plugin */ - path.scalebox.metric { - stroke: none; - fill: $fs-bg-dark; - } - path.scalebox.imperial { - stroke: none; - fill: $fs-bg-light; - } - path.bartack { - stroke: $fs-pattern-mark-dark; - } - path.logo { - fill: currentColor; - stroke: none; - } - /* New style for sampled sizes */ - path.made-to-measure { - stroke: #f8f9fa; - } - path.size-3XS { - stroke: $oc-lime-3; - } - path.size-2XS { - stroke: $oc-orange-3; - } - path.size-XS { - stroke: $oc-grape-3; - } - path.size-S { - stroke: $oc-indigo-3; - } - path.size-M { - stroke: $oc-cyan-3; - } - path.size-L { - stroke: $oc-indigo-3; - } - path.size-XL { - stroke: $oc-grape-3; - } - path.size-2XL { - stroke: $oc-orange-3; - } - path.size-3XL { - stroke: $oc-lime-3; - } - path.size-4XL { - stroke: $oc-teal-3; - } -} - -/* SVG defs (snippets) are in the shadow DOM */ -g.snippet.notch > circle, -g.snippet.button > circle, -g.snippet.buttonhole > path { - color: $fs-pattern-mark-light; -} -g.snippet.bnotch > circle, -g.snippet.bnotch > path { - color: $fs-pattern-note-light; -} -/* Same for paperless grid, also in shadow DOM */ -rect.grid { - stroke-width: 1; - stroke: currentColor; -} -path.gridline { - stroke-linecap: butt; - stroke-width: 0.3 !important; - stroke-dasharray: none; -} -path.gridline.sm { - stroke-width: 0.15 !important; -} -path.gridline.xs { - stroke-width: 0.1 !important; -} -path.gridline.metric.sm { - stroke-dasharray: 3 1; -} -path.gridline.metric.xs { - stroke-dasharray: 1 1; -} -path.gridline.imperial { - stroke-dasharray: 5 5; -} -path.gridline.imperial.sm { - stroke-dasharray: 2 2; -} -.light { - rect.grid, - path.gridline { - color: $oc-gray-5 !important; - } -} -.dark { - rect.grid, - path.gridline { - color: $oc-gray-6 !important; - } -} diff --git a/packages/css-theme/src/components/_prevnext.scss b/packages/css-theme/src/components/_prevnext.scss deleted file mode 100644 index 8ac9ba93481..00000000000 --- a/packages/css-theme/src/components/_prevnext.scss +++ /dev/null @@ -1,10 +0,0 @@ -div.prev-next { - margin: 4rem 0 0; - display: flex; - flex-direction: row; - align-content: center; - justify-content: space-between; - padding: 9px; - border-top: 1px solid $oc-gray-3; - color: transparent; -} diff --git a/packages/css-theme/src/components/_search.scss b/packages/css-theme/src/components/_search.scss deleted file mode 100644 index 0f397abd351..00000000000 --- a/packages/css-theme/src/components/_search.scss +++ /dev/null @@ -1,22 +0,0 @@ -ul.ais-Hits-list { - padding-left: 0; - li { - list-style-type: none; - } - - h2 { - margin-bottom: 0; - padding-bottom: 0; - } - div.path a { - @include button-font; - font-size: 95%; - } -} - -div.theme-wrapper.light ul.ais-Hits-list div.path a { - color: $oc-green-9; -} -div.theme-wrapper.dark ul.ais-Hits-list div.path a { - color: $oc-green-3; -} diff --git a/packages/css-theme/src/components/_spinner.scss b/packages/css-theme/src/components/_spinner.scss deleted file mode 100644 index dab36e95539..00000000000 --- a/packages/css-theme/src/components/_spinner.scss +++ /dev/null @@ -1,49 +0,0 @@ -svg.spinner { - path { - stroke: none; - fill: #000; - } - rect { - fill: none; - stroke: none; - } - rect.blink { - fill: #000; - } - circle { - fill: none; - stroke: rgba(0, 0, 0, 0.4); - } - circle.darker { - stroke: rgba(0, 0, 0, 0.6); - } - circle.lighter { - stroke: rgba(0, 0, 0, 0.2); - } -} -.dark, -.theme-wrapper.dark { - svg.spinner { - path { - stroke: none; - fill: #fff; - } - rect { - fill: none; - stroke: none; - } - rect.blink { - fill: #fff; - } - circle { - fill: none; - stroke: rgba(255, 255, 255, 0.4); - } - circle.darker { - stroke: rgba(255, 255, 255, 0.6); - } - circle.lighter { - stroke: rgba(255, 255, 255, 0.2); - } - } -} diff --git a/packages/css-theme/src/components/_zoombox.scss b/packages/css-theme/src/components/_zoombox.scss deleted file mode 100644 index 9b2bb1a502d..00000000000 --- a/packages/css-theme/src/components/_zoombox.scss +++ /dev/null @@ -1,34 +0,0 @@ -div.zoombox { - position: relative; - - div.mask { - margin: 0; - padding: 0; - width: 100%; - height: 100%; - left: 0; - top: 0; - position: absolute; - background: transparent; - } - div.mask:hover { - cursor: crosshair; - } - div.box { - position: absolute; - } - div.box.active { - border: 3px solid #49505766; - } - div.box.inactive { - border: 3px solid #1c7ed666; - } - div.box.inactive:hover { - cursor: move; - } - .close { - position: absolute; - right: -16px; - bottom: -16px; - } -} diff --git a/packages/css-theme/src/elements/_a.scss b/packages/css-theme/src/elements/_a.scss deleted file mode 100644 index 13294771e52..00000000000 --- a/packages/css-theme/src/elements/_a.scss +++ /dev/null @@ -1,24 +0,0 @@ -.style-wrapper a:not(.MuiButton-root), -.theme-wrapper a:not(.MuiButton-root) { - text-decoration: none; -} -.style-wrapper a:not(.MuiButton-root):hover, -.theme-wrapper a:not(.MuiButton-root):hover { - text-decoration: underline; -} -.style-wrapper.light a:not(.MuiButton-root), -.theme-wrapper.light a:not(.MuiButton-root) { - color: $fs-link-light; -} -.style-wrapper.dark a:not(.MuiButton-root), -.theme-wrapper.dark a:not(.MuiButton-root) { - color: $fs-link-dark; -} -.style-wrapper.light a.anchor svg path, -.theme-wrapper.light a.anchor svg path { - stroke: $fs-link-light; -} -.style-wrapper.dark a.anchor svg path, -.theme-wrapper.dark a.anchor svg path { - stroke: $fs-link-dark; -} diff --git a/packages/css-theme/src/elements/_blockquote.scss b/packages/css-theme/src/elements/_blockquote.scss deleted file mode 100644 index 6a207685df4..00000000000 --- a/packages/css-theme/src/elements/_blockquote.scss +++ /dev/null @@ -1,121 +0,0 @@ -blockquote { - width: calc(100% - 3rem); - max-width: 666px; - border-radius: 4px; - margin: 2rem auto; - padding: 1.5rem; - background: #fff; - border: 2px solid $oc-gray-2; - position: relative; - svg.icon { - color: $oc-gray-0; - position: absolute; - top: calc(50% - 18px); - left: -18px; - padding: 5px; - background: inherit; - border-radius: 50%; - border: none; - } -} -blockquote > :first-child { - margin-top: 0; -} -blockquote > p:last-of-type { - margin-bottom: 0; -} - -blockquote.note { - border-color: $oc-indigo-2; - svg.icon.note { - background-color: $oc-indigo-5; - } -} -blockquote.tip { - border-color: $oc-green-2; - svg.icon.tip { - background-color: $oc-green-5; - } -} -blockquote.warning { - border-color: $oc-orange-2; - svg.icon.warning { - background-color: $oc-orange-5; - } -} - -blockquote.fixme { - border: 2px $oc-yellow-3 dashed; -} -blockquote.fixme:after { - @include title-font; - content: 'FIXME'; - display: block; - position: absolute; - bottom: -25px; - left: 20px; - color: $oc-gray-8; - background: $oc-yellow-3; - padding: 4px 8px; - font-size: 16px; - line-height: 16px; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; - font-weight: 700; - text-shadow: none; -} - -@include xs-screen { - blockquote { - margin: 2rem -1.5rem; - border-left: 0; - border-right: 0; - border-radius: 0; - width: 100%; - svg.icon { - left: calc(50% - 18px); - top: -18px; - } - } - blockquote.fixme { - border-left: 0; - border-right: 0; - } -} - -.theme-wrapper.dark { - blockquote { - background: $oc-gray-9; - border-color: $oc-gray-7; - > svg.icon { - border: none; - } - } - blockquote.note { - border-color: $oc-indigo-9; - svg.icon.note { - background-color: $oc-indigo-9; - } - } - blockquote.tip { - border-color: $oc-green-9; - svg.icon.tip { - background-color: $oc-green-9; - } - } - blockquote.warning { - border-color: $oc-orange-9; - svg.icon.warning { - background-color: $oc-orange-9; - } - } - blockquote.fixme { - border: 2px $oc-yellow-3 dashed; - } -} -@include xs-screen { - .theme-wrapper.dark blockquote.fixme { - border-left: 0; - border-right: 0; - } -} diff --git a/packages/css-theme/src/elements/_button.scss b/packages/css-theme/src/elements/_button.scss deleted file mode 100644 index 16e41ba232f..00000000000 --- a/packages/css-theme/src/elements/_button.scss +++ /dev/null @@ -1,62 +0,0 @@ -.style-wrapper.dark, -.style-wrapper.light, -.theme-wrapper.dark, -.theme-wrapper.light { - .MuiButton-containedPrimary.info { - background-color: $fs-info-light; - } - .MuiButton-containedPrimary.info:hover { - background-color: darken($fs-info-light, 10%); - } - - .MuiButton-containedPrimary.success { - background-color: $fs-success-light; - } - .MuiButton-containedPrimary.success:hover { - background-color: darken($fs-success-light, 10%); - } - - .MuiButton-containedPrimary.warning { - background-color: $fs-warning-light; - } - .MuiButton-containedPrimary.warning:hover { - background-color: darken($fs-warning-light, 10%); - } - - .MuiButton-containedPrimary.danger { - background-color: $fs-danger-light; - } - .MuiButton-containedPrimary.danger:hover { - background-color: darken($fs-danger-light, 10%); - } - - .MuiButton-containedPrimary.accent { - background-color: $fs-accent-light; - } - .MuiButton-containedPrimary.accent:hover { - background-color: darken($fs-accent-light, 10%); - } -} - -.theme-wrapper.light { - .MuiButton-containedPrimary { - background-color: $fs-bg-dark; - } - .MuiButton-containedPrimary:hover { - background-color: #000; - } - .MuiButton-contained.Mui-disabled { - background-color: rgba(0, 0, 0, 0.12); - } -} -.theme-wrapper.dark { - .MuiButton-containedPrimary { - background-color: $fs-bg-light; - } - .MuiButton-containedPrimary:hover { - background-color: darken($fs-bg-light, 10%); - } - .MuiButton-contained.Mui-disabled { - background-color: rgba(2550, 255, 255, 0.12); - } -} diff --git a/packages/css-theme/src/elements/_code.scss b/packages/css-theme/src/elements/_code.scss deleted file mode 100644 index 0669a8e51b4..00000000000 --- a/packages/css-theme/src/elements/_code.scss +++ /dev/null @@ -1,142 +0,0 @@ -div.react-markdown pre, -code[class*='language-'], -pre[class*='language-'] { - text-shadow: none; -} -.theme-wrapper.light .draft-events :not(pre) > code, -.workbench.theme-wrapper.light :not(pre) > code, -.theme-wrapper.light :not(pre) > code[class*='language-'] { - padding: 0.1rem 0.25rem; - background: $oc-yellow-0; - border: 1px $oc-yellow-2 solid; - color: $oc-gray-9; -} -.theme-wrapper.dark .draft-events :not(pre) > code, -.workbench.theme-wrapper.dark :not(pre) > code, -.theme-wrapper.dark :not(pre) > code[class*='language-'] { - padding: 0.125rem 0.5rem; - background: $oc-gray-9; - border: 1px $oc-gray-7 solid; - color: $oc-gray-1; -} - -div.gatsby-highlight { - position: relative; -} -div.react-markdown pre { - padding: 1.5rem 1rem; - margin: 0; -} -div.react-markdown.dense pre, -div.react-markdown.dense pre code, -div.gatsby-highlight.dense pre { - padding: 0.5rem 1rem; -} - -pre.language-yaml:before, -pre.language-js:before, -pre.language-js-error:before, -pre.language-js-trace:before, -pre.language-jsx:before, -pre.language-md:before, -pre.language-mdx:before, -pre.language-json:before, -pre.language-svg:before, -pre.language-bash:before { - border-top: 2px dashed $oc-gray-9; - display: block; - position: absolute; - top: 0; - right: 20px; - color: black; - padding: 1px 4px; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; - font-weight: bold; - text-shadow: none; -} -pre.language-yaml:before { - content: 'yaml'; - background: rgba(255, 255, 0, 0.9); -} -pre.language-js:before { - content: 'js'; - background: rgba(255, 255, 0, 0.9); -} -pre.language-js-error:before { - content: 'error'; - background: $oc-red-6; - color: $oc-gray-0; -} -pre.language-js-trace:before { - content: 'stacktrace'; - background: $oc-orange-6; - color: $oc-gray-0; -} -pre.language-jsx:before { - content: 'jsx'; - background: rgba(255, 255, 0, 0.9); -} -pre.language-md:before { - content: 'markdown'; - background: rgba(130, 201, 30, 0.9); -} -pre.language-mdx:before { - content: 'mdx'; - background: rgba(130, 201, 30, 0.9); -} -pre.language-json:before { - content: 'json'; - background: rgba(255, 255, 0, 0.9); -} -pre.language-bash:before { - content: 'bash'; - background: rgba(29, 227, 0, 0.9); -} -pre.language-svg:before { - content: 'svg'; - background: rgba(129, 197, 255, 0.9); -} -div.react-markdown pre, -pre code[class*='language-'], -pre[class*='language-'] { - white-space: pre-wrap; - border-radius: 6px; - margin: 2rem 0; - padding: 1.5rem 0.5rem; -} -.theme-wrapper.dark pre[class*='language-'] { - border: 1px solid $oc-gray-8; -} -div.react-markdown pre, -div.react-markdown pre code[class*='language-'] { - margin: 0.5rem 0; - padding: 0 1rem; -} -div.react-markdown pre[class*='language-']:before { - display: none; -} -pre.language-js-error { - overflow: initial; - padding: 0.5rem 5rem 0.5rem 1rem !important; -} - -@include xs-screen { - pre code[class*='language-'], - pre[class*='language-'] { - margin: 2rem -1.5rem; - padding: 1.5rem; - border-radius: 0; - word-break: break-word; - } - pre.language-yaml:before, - pre.language-js:before, - pre.language-jsx:before, - pre.language-md:before, - pre.language-mdx:before, - pre.language-json:before, - pre.language-svg:before, - pre.language-bash:before { - right: calc(20px - 1.5rem); - } -} diff --git a/packages/css-theme/src/elements/_defs.scss b/packages/css-theme/src/elements/_defs.scss deleted file mode 100644 index 1923ffb67f9..00000000000 --- a/packages/css-theme/src/elements/_defs.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Shadow dom -g#notch { - circle.note { - stroke: $oc-violet-5; - fill: none; - } - circle.fill-note { - fill: $oc-violet-5; - stroke: none; - } -} -g#bnotch { - path, - circle { - stroke: $oc-violet-5; - fill: none; - } -} -g#button { - circle.btn { - stroke: $oc-violet-5; - fill: none; - } - circle.hole { - fill: $oc-violet-5; - stroke: none; - } -} -g#buttonhole { - path { - stroke: $oc-violet-5; - fill: none; - } -} diff --git a/packages/css-theme/src/elements/_figure.scss b/packages/css-theme/src/elements/_figure.scss deleted file mode 100644 index 66c915e2c5c..00000000000 --- a/packages/css-theme/src/elements/_figure.scss +++ /dev/null @@ -1,7 +0,0 @@ -figure { - margin: 1rem auto; -} -figure figcaption { - text-align: center; - font-size: 90%; -} diff --git a/packages/css-theme/src/elements/_jargon.scss b/packages/css-theme/src/elements/_jargon.scss deleted file mode 100644 index 761d767cb69..00000000000 --- a/packages/css-theme/src/elements/_jargon.scss +++ /dev/null @@ -1,41 +0,0 @@ -.jargon-term { - background: $oc-cyan-0; - text-decoration: none; -} -.jargon-term:after { - display: none; -} -.jargon-term:hover { - position: relative; - text-decoration: none; - cursor: help; -} -.jargon-term .jargon-info { - display: none; -} -.jargon-term:hover .jargon-info { - display: block; - position: absolute; - top: 1.5em; - left: 0; - background: $fs-bg-light; - color: $fs-text-light; - border: 1px solid #dcdcdc; - padding: 1rem; - border-radius: 4px; - font-size: 90%; - min-width: 250px; - max-width: 450px; - z-index: 1; -} -.theme-wrapper.dark { - .jargon-term { - background: $oc-cyan-9; - text-decoration: none; - } - .jargon-term:hover .jargon-info { - background: $fs-bg-dark; - color: $fs-text-dark; - border: 1px solid #5a5a5a; - } -} diff --git a/packages/css-theme/src/elements/_mark.scss b/packages/css-theme/src/elements/_mark.scss deleted file mode 100644 index 597e579abfa..00000000000 --- a/packages/css-theme/src/elements/_mark.scss +++ /dev/null @@ -1,10 +0,0 @@ -mark { - background: $oc-green-2 + aa; - color: inherit; -} -.theme-wrapper.dark { - mark { - background: #176226; - color: inherit; - } -} diff --git a/packages/css-theme/src/elements/_table.scss b/packages/css-theme/src/elements/_table.scss deleted file mode 100644 index 112bb63b152..00000000000 --- a/packages/css-theme/src/elements/_table.scss +++ /dev/null @@ -1,32 +0,0 @@ -.theme-wrapper.light tr.hover:hover { - background-color: $oc-gray-1; -} -.theme-wrapper.dark tr.hover:hover { - background-color: $oc-gray-8; -} - -// Data tables -table.data { - border-collapse: collapse; -} -table.data tr { - margin: 0; -} -table.data td { - margin: 0; - padding: 0.5rem 1rem; -} -table.data thead tr { - border-bottom: 1px solid $oc-gray-5; -} -table.data.with-breasts tbody td.size-34, -table.data.without-breasts tbody td.size-42, -table.data tbody tr.neckcircumference td { - font-weight: bold; -} -.theme-wrapper.light table.data tr:nth-child(even) { - background-color: $oc-gray-2; -} -.theme-wrapper.dark table.data tr:nth-child(even) { - background-color: $oc-gray-8; -} diff --git a/packages/css-theme/src/elements/_ul.scss b/packages/css-theme/src/elements/_ul.scss deleted file mode 100644 index 2e676aeae0c..00000000000 --- a/packages/css-theme/src/elements/_ul.scss +++ /dev/null @@ -1,34 +0,0 @@ -ul.links { - padding-left: 1.5rem; - line-height: 1.35; - font-weight: normal; - li { - list-style-type: none; - a { display: inline; } - } - li.active { font-weight: bold; } - li:before { - content: "\00a0"; - background: $oc-gray-5; - border-radius: 3.5px; - display: inline-block; - height: 7px; - width: 7px; - padding: 0; - margin: 0 0.5rem 0 0; - font-size: 9px; - transition: background 0.15s ease-in; - } - li.nodot:before { - content: none; - } - li.active:before, - li:hover:before { - background: $fs-link-light; - } -} -@include xs-screen { - ul.links { - padding-left: 0.5rem; - } -} diff --git a/packages/css-theme/src/theme.scss b/packages/css-theme/src/theme.scss deleted file mode 100644 index 32f63b3a283..00000000000 --- a/packages/css-theme/src/theme.scss +++ /dev/null @@ -1,12 +0,0 @@ -@import 'reset'; -@import '../../../node_modules/open-color/open-color.scss'; -@import 'variables'; -@import 'mixins'; -@import 'fonts'; -@import 'prism'; -@import 'theme-wrapper'; -@import 'typography'; -@import 'scroll'; -@import 'components'; -@import 'elements'; -@import 'utility'; diff --git a/packages/gatsby-remark-jargon/CHANGELOG.md b/packages/gatsby-remark-jargon/CHANGELOG.md deleted file mode 100644 index acd71d378cf..00000000000 --- a/packages/gatsby-remark-jargon/CHANGELOG.md +++ /dev/null @@ -1,22 +0,0 @@ -# Change log for: gatsby-remark-jargon - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.1.1 (2019-10-13) - -### Added - - - Added the gatsby-remark-jargon package, a gatbsy plugin wrapping remark-jargon - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/gatsby-remark-jargon/README.md b/packages/gatsby-remark-jargon/README.md deleted file mode 100644 index 43834ba68a6..00000000000 --- a/packages/gatsby-remark-jargon/README.md +++ /dev/null @@ -1,418 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    gatsby-remark-jargon on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:gatsby-remark-jargon - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# gatsby-remark-jargon - -A gatsby-transformer-remark sub-plugin for jargon terms - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## About - -This wraps the [remark-jargon](https://github.com/freesewing/freesewing/tree/develop/packages/remark-jargon) plugin -for Gatsby so you can use _jargon_ in the markdown/mdx of your Gatsby site: - -![An example of this plugin being used on freesewing.org](example.png) - -## Install - -```bash -npm install --save gatsby-remark-jargon -``` - -## Configuration - - -In `gatsby-config.js` include your jargon file, and add the remark plugin: - - -```js - { - resolve: 'gatsby-remark-jargon', - options: { jargon: require('./jargon.js') } - } -``` - -## Usage - -### The jargon file - -The jagon file is a simple key-value file: - -```js -const jargon = { - msf: "MSF Médecins Sans Frontières / Doctors Without Borders — An international, independent, medical humanitarian organisation. See msf.org" -} - -export default jargon -``` - -### Using jargon in markdown - -This plugin will only add markup to your jargon if you emphasize it. In the following example, -only the first mention of MSF will be changed: - -```md -_MSF_ was founded in 1971 by 13 doctors and journalists. Today, MSF is a worldwide movement of more than 67,000 people. -``` - -This will be rendered as: - -```html -

    - - - MSF - - MSF Médecins Sans Frontières / Doctors Without Borders — An international, independent, medical humanitarian organisation. See msf.org - - - - was founded in 1971 by 13 doctors and journalists. Today, MSF is a worldwide movement of more than 67,000 people. -

    -``` - -Which you can then style so that the definition is only show on hover/touch. - -### Styling your jargon - -You will need to add CSS to style your jargon properly, and hide the definition by default. -Below is an example to get you started: - -```css -// Add a dashed line under jargon terms -.jargon-term { - text-decoration: underline dotted #228be6 -} -// Add a question mark behind/above jargon terms -.jargon-term::after { - content: "?"; - font-weight: bold; - display: inline-block; - transform: translate(0, -0.5em); - font-size: 75%; - color: #228be6; - margin-left: 3px; -} -// Hover behavior for the therm itself -.jargon-term:hover { - position: relative; - text-decoration: none; - cursor: help; -} -// Hide info by default -.jargon-term .jargon-info { - display: none -} -// Show info on hover -.jargon-term:hover .jargon-info { - display: block; - position: absolute; - top: 1.5em; - left: 0; - background: #F8F8F8; - border: 1px solid #DCDCDC; - padding: 1rem; - border-radius: 4px; - font-size: 90%; - min-width: 250px; - max-width: 450px; - z-index: 1; -} -``` - -## Tips for using jargon - -### Lowercase your terms in the jargon file - -When looking for terms to match, we lowercase the term your emphazised. -So in the jargon file, you should use `msf`, but in your text, you can use `MSF`, `Msf`, or `msf`. - -### If you use HTML, only use inline elements - -Your jargon term definition can contain HTML, but only inline elements. -Typically, you will want to stick to: - - - Making things **bold** - - Inserting [links](#) - - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: gatsby-remark-jargon - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/gatsby-remark-jargon/build.js b/packages/gatsby-remark-jargon/build.js deleted file mode 100644 index 543259e899a..00000000000 --- a/packages/gatsby-remark-jargon/build.js +++ /dev/null @@ -1,43 +0,0 @@ -/* This script will build the package with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.js'], - external: ["@freesewing"], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Different formats -const formats = { - cjs: "dist/index.js", - esm: "dist/index.mjs", -} - -// Let esbuild generate different formats -let result -(async () => { - for (const [format, outfile] of Object.entries(formats)) { - result = await esbuild - .build({ ...options, outfile, format }) - .catch(() => process.exit(1)) - } - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -})() diff --git a/packages/gatsby-remark-jargon/example.png b/packages/gatsby-remark-jargon/example.png deleted file mode 100644 index f4c8c76162a..00000000000 Binary files a/packages/gatsby-remark-jargon/example.png and /dev/null differ diff --git a/packages/gatsby-remark-jargon/info.md b/packages/gatsby-remark-jargon/info.md deleted file mode 100644 index 6c95508771c..00000000000 --- a/packages/gatsby-remark-jargon/info.md +++ /dev/null @@ -1,134 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## About - -This wraps the [remark-jargon](https://github.com/freesewing/freesewing/tree/develop/packages/remark-jargon) plugin -for Gatsby so you can use _jargon_ in the markdown/mdx of your Gatsby site: - -![An example of this plugin being used on freesewing.org](example.png) - -## Install - -```bash -npm install --save gatsby-remark-jargon -``` - -## Configuration - - -In `gatsby-config.js` include your jargon file, and add the remark plugin: - - -```js - { - resolve: 'gatsby-remark-jargon', - options: { jargon: require('./jargon.js') } - } -``` - -## Usage - -### The jargon file - -The jagon file is a simple key-value file: - -```js -const jargon = { - msf: "MSF Médecins Sans Frontières / Doctors Without Borders — An international, independent, medical humanitarian organisation. See msf.org" -} - -export default jargon -``` - -### Using jargon in markdown - -This plugin will only add markup to your jargon if you emphasize it. In the following example, -only the first mention of MSF will be changed: - -```md -_MSF_ was founded in 1971 by 13 doctors and journalists. Today, MSF is a worldwide movement of more than 67,000 people. -``` - -This will be rendered as: - -```html -

    - - - MSF - - MSF Médecins Sans Frontières / Doctors Without Borders — An international, independent, medical humanitarian organisation. See msf.org - - - - was founded in 1971 by 13 doctors and journalists. Today, MSF is a worldwide movement of more than 67,000 people. -

    -``` - -Which you can then style so that the definition is only show on hover/touch. - -### Styling your jargon - -You will need to add CSS to style your jargon properly, and hide the definition by default. -Below is an example to get you started: - -```css -// Add a dashed line under jargon terms -.jargon-term { - text-decoration: underline dotted #228be6 -} -// Add a question mark behind/above jargon terms -.jargon-term::after { - content: "?"; - font-weight: bold; - display: inline-block; - transform: translate(0, -0.5em); - font-size: 75%; - color: #228be6; - margin-left: 3px; -} -// Hover behavior for the therm itself -.jargon-term:hover { - position: relative; - text-decoration: none; - cursor: help; -} -// Hide info by default -.jargon-term .jargon-info { - display: none -} -// Show info on hover -.jargon-term:hover .jargon-info { - display: block; - position: absolute; - top: 1.5em; - left: 0; - background: #F8F8F8; - border: 1px solid #DCDCDC; - padding: 1rem; - border-radius: 4px; - font-size: 90%; - min-width: 250px; - max-width: 450px; - z-index: 1; -} -``` - -## Tips for using jargon - -### Lowercase your terms in the jargon file - -When looking for terms to match, we lowercase the term your emphazised. -So in the jargon file, you should use `msf`, but in your text, you can use `MSF`, `Msf`, or `msf`. - -### If you use HTML, only use inline elements - -Your jargon term definition can contain HTML, but only inline elements. -Typically, you will want to stick to: - - - Making things **bold** - - Inserting [links](#) - - diff --git a/packages/gatsby-remark-jargon/package.json b/packages/gatsby-remark-jargon/package.json deleted file mode 100644 index 7b549cef765..00000000000 --- a/packages/gatsby-remark-jargon/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "gatsby-remark-jargon", - "version": "3.0.0-alpha.0", - "description": "A gatsby-transformer-remark sub-plugin for jargon terms", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "remark", - "mdx", - "jargon", - "gatsby", - "gatsby-plugin" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "build": "node build.js", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"gatsby-remark-jargon: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "cibuild_step6": "node build.js" - }, - "peerDependencies": {}, - "dependencies": { - "remark-jargon": "^3.0.0-alpha.0" - }, - "devDependencies": {}, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/gatsby-remark-jargon/src/index.js b/packages/gatsby-remark-jargon/src/index.js deleted file mode 100644 index 1f345c633d8..00000000000 --- a/packages/gatsby-remark-jargon/src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import remarkJargon from 'remark-jargon' - -export default ({ markdownAST }, options) => { - const transformer = remarkJargon(options) - - transformer(markdownAST, options) -} diff --git a/packages/mui-theme/CHANGELOG.md b/packages/mui-theme/CHANGELOG.md deleted file mode 100644 index 3e08ab40477..00000000000 --- a/packages/mui-theme/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -# Change log for: @freesewing/mui-theme - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.2.0 (2020-02-22) - -### Changed - - - Changed the light background to `#f8f9fa` rather than `#fff` - - Changed the navbar to be light/dark based on the theme, rather than always dark - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/mui-theme/README.md b/packages/mui-theme/README.md deleted file mode 100644 index 4355f710d71..00000000000 --- a/packages/mui-theme/README.md +++ /dev/null @@ -1,320 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/mui-theme on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:mui-theme - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/mui-theme - -A Material-UI theme for FreeSewing web UIs - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## Getting the theme - -After installing [@freesewing/mui-theme](https://www.npmjs.com/package/@freesewing/mui-theme), -import it: - -```js -import createTheme from "@freesewing/mui-theme"; -``` - -The default export (`createTheme` in our example above) is a method that -calls [`createMuiTheme`](https://material-ui.com/customization/themes/#createmuitheme-options-theme) under the hood. -It takes a single argument, the theme name: - -``` -object createTheme(string themeName = "light") -``` - -If the name you pass it is `dark` you'll get the dark theme. -Anything else, and you'll get the light theme. - -## Using the theme - -To use this theme, you need to pass it as the `theme` prop to -[`muiThemeProvider`](https://material-ui.com/customization/themes/#muithemeprovider): - -```js - - // ... your app here - -``` - -See [the Material-UI docs on themes](https://material-ui.com/customization/themes/) for more details. - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/mui-theme - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/mui-theme/build.js b/packages/mui-theme/build.js deleted file mode 100644 index 7248b245c69..00000000000 --- a/packages/mui-theme/build.js +++ /dev/null @@ -1,57 +0,0 @@ -/* This script will build the package with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.js'], - external: ["@freesewing"], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Different formats -const formats = { - cjs: "dist/index.js", - esm: "dist/index.mjs", -} - -// Let esbuild generate different formats -let result -(async () => { - for (const [format, outfile] of Object.entries(formats)) { - result = await esbuild - .build({ ...options, outfile, format }) - .catch(() => process.exit(1)) - } - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } - - // Also build a version that has all dependencies bundled - // This makes it easy to run tests - await esbuild - .build({ - ...options, - minify: false, - sourcemap: false, - outfile: 'tests/dist/index.mjs', - format: 'esm', - external: [], - }) - .catch(() => process.exit(1)) - -})() diff --git a/packages/mui-theme/info.md b/packages/mui-theme/info.md deleted file mode 100644 index aea7e9001c7..00000000000 --- a/packages/mui-theme/info.md +++ /dev/null @@ -1,36 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## Getting the theme - -After installing [@freesewing/mui-theme](https://www.npmjs.com/package/@freesewing/mui-theme), -import it: - -```js -import createTheme from "@freesewing/mui-theme"; -``` - -The default export (`createTheme` in our example above) is a method that -calls [`createMuiTheme`](https://material-ui.com/customization/themes/#createmuitheme-options-theme) under the hood. -It takes a single argument, the theme name: - -``` -object createTheme(string themeName = "light") -``` - -If the name you pass it is `dark` you'll get the dark theme. -Anything else, and you'll get the light theme. - -## Using the theme - -To use this theme, you need to pass it as the `theme` prop to -[`muiThemeProvider`](https://material-ui.com/customization/themes/#muithemeprovider): - -```js - - // ... your app here - -``` - -See [the Material-UI docs on themes](https://material-ui.com/customization/themes/) for more details. diff --git a/packages/mui-theme/package.json b/packages/mui-theme/package.json deleted file mode 100644 index eadfc0ed35a..00000000000 --- a/packages/mui-theme/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "@freesewing/mui-theme", - "version": "3.0.0-alpha.0", - "description": "A Material-UI theme for FreeSewing web UIs", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "material-ui", - "react", - "theme" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "build": "node build.js", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"mui-theme: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "cibuild_step6": "node build.js" - }, - "peerDependencies": { - "@material-ui/core": "^4.12.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "dependencies": {}, - "devDependencies": {}, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/mui-theme/src/index.js b/packages/mui-theme/src/index.js deleted file mode 100644 index b3e25e05527..00000000000 --- a/packages/mui-theme/src/index.js +++ /dev/null @@ -1,83 +0,0 @@ -const darkBg = '#212529' -const lightBg = '#f8f9fa' -const colors = { - light: { - primary: darkBg, - secondary: lightBg, - link: '#74c0fc', - paper: '#FFF', - }, - dark: { - primary: lightBg, - secondary: darkBg, - link: '#74c0fc', - paper: '#000', - }, -} -const asTitle = { - fontFamily: 'Ubuntu', - fontWeight: '700', -} -const important = '!important' - -const getTheme = (mode) => { - let c = colors[mode] - let forceColor = { - root: { - color: c.primary + important, - }, - } - return { - overrides: { - MuiButton: { root: asTitle }, - MuiMenuItem: { root: asTitle }, - MuiListItemText: { primary: asTitle }, - MuiRadio: forceColor, - MuiCheckbox: forceColor, - MuiSlider: { - container: { padding: '25px 0' }, - track: { height: '4px' }, - thumb: { width: '16px', height: '16px' }, - }, - MuiToolbar: { - root: { - maxWidth: '1600px', - margin: 'auto', - width: '100%', - }, - }, - }, - palette: { - primary: { - main: c.primary, - }, - secondary: { - main: c.secondary, - }, - type: mode, - background: { - paper: c.paper, - default: c.secondary, - }, - }, - typography: { - fontFamily: [ - 'Ubuntu', - '-apple-system', - 'BlinkMacSystemFont', - '"Segoe UI"', - 'Roboto', - '"Helvetica Neue"', - 'Arial', - 'sans-serif', - '"Apple Color Emoji"', - '"Segoe UI Emoji"', - '"Segoe UI Symbol"', - ].join(','), - }, - themeName: mode, - } -} - -export const light = getTheme('light') -export const dark = getTheme('dark') diff --git a/packages/remark-jargon/CHANGELOG.md b/packages/remark-jargon/CHANGELOG.md deleted file mode 100644 index f5dec49ceb8..00000000000 --- a/packages/remark-jargon/CHANGELOG.md +++ /dev/null @@ -1,22 +0,0 @@ -# Change log for: remark-jargon - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.1.1 (2019-10-13) - -### Added - - - Added the remark-jargon package, a remark plugin for jargon terms - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/remark-jargon/README.md b/packages/remark-jargon/README.md deleted file mode 100644 index 1d5e7bce693..00000000000 --- a/packages/remark-jargon/README.md +++ /dev/null @@ -1,415 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    remark-jargon on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:remark-jargon - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# remark-jargon - -A Remark plugin for jargon terms - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. -Please use [rehype-jargon](https://www.npmjs.com/package/rehype-jargon) instead. - -## About - -This [Remark](https://remark.js.org/) plugin allows you to use _jargon_ in your -markdown/mdx content and use a centrally managed file of jargon terms and their definitions. - -![An example of this plugin being used on freesewing.org](example.png) - -## Install - -To install this plugin, run: - -``` -npm install --save remark-jargon -``` - -## Getting started - -> **Tip**: See https://github.com/joostdecock/remark-jargon-example for a minimal repository that uses this plugin - -### Create your jargon file - -This plugin requires a _jargon file_ with terms defenitions. For example: - -```js -module.exports = { - remark: "remark is a markdown processor powered by plugins. See remark.js.org.", - freesewing: "FreeSewing is an open source platform for made-to-measure sewing patterns. See freesewing.org" -} -``` - -### Import the plugin - -Now import the plugin, and pass it your jargon: - -```js -var remark = require('remark') -var html = require('remark-html') -var plugin = require('remark-jargon') -var jargon = require('./jargon.js') - -remark() - .use(html) - .use(plugin, { jargon: jargon }) - .process('This is a plugin for _remark_ originally written for _freesewing_.', function (err, file) { - console.log(String(file)) - }) -``` - -> **Note** -> -> This plugin will only add markup to your jargon if you _emphasize_ it. - - -### Style your jargon - -You will need to add CSS to style your jargon properly, and hide the definition by default. -Below is an example to get you started: - -```css -// Add a dashed line under jargon terms -.jargon-term { - text-decoration: underline dotted #228be6 -} -// Add a question mark behind/above jargon terms -.jargon-term::after { - content: "?"; - font-weight: bold; - display: inline-block; - transform: translate(0, -0.5em); - font-size: 75%; - color: #228be6; - margin-left: 3px; -} -// Hover behavior for the therm itself -.jargon-term:hover { - position: relative; - text-decoration: none; - cursor: help; -} -// Hide info by default -.jargon-term .jargon-info { - display: none -} -// Show info on hover -.jargon-term:hover .jargon-info { - display: block; - position: absolute; - top: 1.5em; - left: 0; - background: #F8F8F8; - border: 1px solid #DCDCDC; - padding: 1rem; - border-radius: 4px; - font-size: 90%; - min-width: 250px; - max-width: 450px; - z-index: 1; -} -``` - -## Tips for using jargon - -### Lowercase your terms in the jargon file - -When looking for terms to match, we lowercase the term your emphazised. -So in the jargon file, you should use `msf`, but in your text, you can use `MSF`, `Msf`, or `msf`. - -### If you use HTML, only use inline elements - -Your jargon term definition can contain HTML, but only inline elements. -Typically, you will want to stick to: - - - Making things **bold** - - Inserting [links](#) - -## Getting help - -This plugin is written by/for [FreeSewing](https://github.com/freesewing). -For help or feedback, please stop by [the FreeSewing chat room](https://gitter.im/freesewing/development) or -[create an issue](https://github.com/freesewing/freesewing/issues/new). - - -## Use with Gatsby - -Please see [gatsby-remark-jargon](https://github.com/freesewing/freesewing/tree/develop/packages/gatsby-remark-jargon) for -info and instructions on how to use this plugin with [Gatsby](https://www.gatsbyjs.org/). - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: remark-jargon - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/remark-jargon/build.js b/packages/remark-jargon/build.js deleted file mode 100644 index d05fd01f45c..00000000000 --- a/packages/remark-jargon/build.js +++ /dev/null @@ -1,46 +0,0 @@ -/* This script will build the package with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.js'], - external: [ - "@freesewing", - "unist-util-visit", - ], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Different formats -const formats = { - cjs: "dist/index.js", - esm: "dist/index.mjs", -} - -// Let esbuild generate different formats -let result -(async () => { - for (const [format, outfile] of Object.entries(formats)) { - result = await esbuild - .build({ ...options, outfile, format }) - .catch(() => process.exit(1)) - } - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -})() diff --git a/packages/remark-jargon/example.png b/packages/remark-jargon/example.png deleted file mode 100644 index f4c8c76162a..00000000000 Binary files a/packages/remark-jargon/example.png and /dev/null differ diff --git a/packages/remark-jargon/info.md b/packages/remark-jargon/info.md deleted file mode 100644 index 511a144699d..00000000000 --- a/packages/remark-jargon/info.md +++ /dev/null @@ -1,131 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. -Please use [rehype-jargon](https://www.npmjs.com/package/rehype-jargon) instead. - -## About - -This [Remark](https://remark.js.org/) plugin allows you to use _jargon_ in your -markdown/mdx content and use a centrally managed file of jargon terms and their definitions. - -![An example of this plugin being used on freesewing.org](example.png) - -## Install - -To install this plugin, run: - -``` -npm install --save remark-jargon -``` - -## Getting started - -> **Tip**: See https://github.com/joostdecock/remark-jargon-example for a minimal repository that uses this plugin - -### Create your jargon file - -This plugin requires a _jargon file_ with terms defenitions. For example: - -```js -module.exports = { - remark: "remark is a markdown processor powered by plugins. See remark.js.org.", - freesewing: "FreeSewing is an open source platform for made-to-measure sewing patterns. See freesewing.org" -} -``` - -### Import the plugin - -Now import the plugin, and pass it your jargon: - -```js -var remark = require('remark') -var html = require('remark-html') -var plugin = require('remark-jargon') -var jargon = require('./jargon.js') - -remark() - .use(html) - .use(plugin, { jargon: jargon }) - .process('This is a plugin for _remark_ originally written for _freesewing_.', function (err, file) { - console.log(String(file)) - }) -``` - -> **Note** -> -> This plugin will only add markup to your jargon if you _emphasize_ it. - - -### Style your jargon - -You will need to add CSS to style your jargon properly, and hide the definition by default. -Below is an example to get you started: - -```css -// Add a dashed line under jargon terms -.jargon-term { - text-decoration: underline dotted #228be6 -} -// Add a question mark behind/above jargon terms -.jargon-term::after { - content: "?"; - font-weight: bold; - display: inline-block; - transform: translate(0, -0.5em); - font-size: 75%; - color: #228be6; - margin-left: 3px; -} -// Hover behavior for the therm itself -.jargon-term:hover { - position: relative; - text-decoration: none; - cursor: help; -} -// Hide info by default -.jargon-term .jargon-info { - display: none -} -// Show info on hover -.jargon-term:hover .jargon-info { - display: block; - position: absolute; - top: 1.5em; - left: 0; - background: #F8F8F8; - border: 1px solid #DCDCDC; - padding: 1rem; - border-radius: 4px; - font-size: 90%; - min-width: 250px; - max-width: 450px; - z-index: 1; -} -``` - -## Tips for using jargon - -### Lowercase your terms in the jargon file - -When looking for terms to match, we lowercase the term your emphazised. -So in the jargon file, you should use `msf`, but in your text, you can use `MSF`, `Msf`, or `msf`. - -### If you use HTML, only use inline elements - -Your jargon term definition can contain HTML, but only inline elements. -Typically, you will want to stick to: - - - Making things **bold** - - Inserting [links](#) - -## Getting help - -This plugin is written by/for [FreeSewing](https://github.com/freesewing). -For help or feedback, please stop by [the FreeSewing chat room](https://gitter.im/freesewing/development) or -[create an issue](https://github.com/freesewing/freesewing/issues/new). - - -## Use with Gatsby - -Please see [gatsby-remark-jargon](https://github.com/freesewing/freesewing/tree/develop/packages/gatsby-remark-jargon) for -info and instructions on how to use this plugin with [Gatsby](https://www.gatsbyjs.org/). diff --git a/packages/remark-jargon/package.json b/packages/remark-jargon/package.json deleted file mode 100644 index 7b4c534d13d..00000000000 --- a/packages/remark-jargon/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "remark-jargon", - "version": "3.0.0-alpha.0", - "description": "A Remark plugin for jargon terms", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "freesewing" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "build": "node build.js", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"remark-jargon: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "cibuild_step0": "node build.js" - }, - "peerDependencies": { - "remark": "^13.0.0", - "remark-html": "^13.0.1" - }, - "dependencies": { - "unist-util-visit": "^4.1.0" - }, - "devDependencies": {}, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/remark-jargon/src/index.js b/packages/remark-jargon/src/index.js deleted file mode 100644 index d0da579e6a3..00000000000 --- a/packages/remark-jargon/src/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import {visit} from 'unist-util-visit' - -export default (options) => { - if (!options || !options.jargon) { - throw Error('Required "jargon" option is missing in remark-jargon configuration') - } - - const isJargon = (node) => { - if ( - node.children.length === 1 && - node.children[0].type === 'text' && - Object.keys(options.jargon).indexOf(node.children[0].value.toLowerCase()) !== -1 - ) - return true - - return false - } - - const visitor = (node) => { - if (isJargon(node)) { - let term = node.children[0].value - let html = options.jargon[term.toLowerCase()] - let value = `${term}${html}` - let position = node.children[0].position - position.end.column = position.end.column + value.length - term.length - position.end.offset = position.end.column - 1 - node.children = [ - { - type: 'html', - value, - position, - indent: node.children[0].indent, - }, - ] - } - } - - const transform = (tree) => { - visit(tree, 'emphasis', visitor) - } - - return transform -} diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md deleted file mode 100644 index 0490a8b8f4d..00000000000 --- a/packages/utils/CHANGELOG.md +++ /dev/null @@ -1,130 +0,0 @@ -# Change log for: @freesewing/utils - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.17.3 (2021-08-16) - -### Fixed - - - Added missing `bustPointToUnderbust` measurement to `neckstimate` - -## 2.16.1 (2021-05-30) - -### Changed - - - neckstimate now takes an extra `noRound` parameter to return the unrounded value - - measurementDiffers takes an extra `absolute` value that can be set to false to get the non-absolute and non-rounded value - -## 2.13.1 (2021-02-14) - -### Added - - - Pass pattern handle to tiler - -## 2.7.1 (2020-07-24) - -### Added - - - Added backend calls for creating gists/issues on Github - -## 2.7.0 (2020-07-12) - -### Added - - - Added new `isDegMeasurement` method. See [#358](https://github.com/freesewing/freesewing/issues/358) - - `neckStimate` now supports all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - -### Changed - - - Changed `neckstimate` to handle new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358) - - Changed `neckstimate` to support all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - - Ported `neckstimate` to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - - Removed `Circumference` suffix from measurement names - - Added the `isDegMeasurement` method - -## 2.4.5 (2020-03-19) - -### Changed - - - neckstimate() now returns values rounded to nearest mm - -## 2.4.1 (2020-03-04) - -### Fixed - - - [#542](https://github.com/freesewing/freesewing.org/issues/542): Prevent neckstimate from throwing when getting an unexpected measurement - -## 2.2.0 (2020-02-22) - -### Changed - - - Neckstimate now uses proportions only - -## 2.1.6 (2019-11-24) - -### Fixed - - - [#317](https://github.com/freesewing/freesewing.org/issues/317): Fixed bug where format was not passed to formatImperial - -## 2.1.3 (2019-10-18) - -### Changed - - - Adjusted slope of the shoulderToShoulder measurement in neckstimate data - -### Fixed - - - [#250](https://github.com/freesewing/freesewing.org/issues/250): Model page stays empty with pre 2.0 model data: Error: 'neckstimate() requires a valid measurement name as second parameter. (received underBust)' - -## 2.1.1 (2019-10-13) - -### Fixed - - - Fixed an issue with the formatMm method not adding units - -## 2.1.0 (2019-10-06) - -### Added - - - Added backend methods for administration - - Added the resendActivationEmail method to backend - -### Fixed - - - Fixed an issue where optionDefault was not handling list options correctly - -## 2.0.3 (2019-09-15) - -### Fixed - - - Fix measurementDiffers to pass breasts parameter to neckstimate - -## 2.0.2 (2019-09-06) - -### Fixed - - - Removed lingering debug statement in formatImperial - -## 2.0.1 (2019-09-01) - -### Added - - - The `measurementDiffers` method is new. - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/utils/README.md b/packages/utils/README.md deleted file mode 100644 index 985db826352..00000000000 --- a/packages/utils/README.md +++ /dev/null @@ -1,288 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/utils on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:utils - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/utils - -A collection of utilities shared across freesewing projects - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/utils - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/packages/utils/build.js b/packages/utils/build.js deleted file mode 100644 index d5cb127e64c..00000000000 --- a/packages/utils/build.js +++ /dev/null @@ -1,68 +0,0 @@ -/* This script will build the various components with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: [ - './src/backend/index.js', - './src/camelCase/index.js', - './src/capitalize/index.js', - './src/cloneObject/index.js', - './src/convertSize/index.js', - './src/defaultGist/index.js', - './src/defaultSa/index.js', - './src/formatImperial/index.js', - './src/formatMm/index.js', - './src/isDegMeasurement/index.js', - './src/measurementAsMm/index.js', - './src/measurementDiffers/index.js', - './src/neckstimate/index.js', - './src/optionDefault/index.js', - './src/optionType/index.js', - './src/roundMm/index.js', - './src/roundMmDown/index.js', - './src/roundMmUp/index.js', - './src/sliderStep/index.js', - './src/smallestImperialStep/index.js', - './src/storage/index.js', - './src/tiler/index.js', - './src/validateEmail/index.js', - './src/validateTld/index.js', - ], - external: [ - "@freesewing", - "axios", - ], - format: 'cjs', - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - loader: { '.js': 'jsx' }, - outdir: './', - sourcemap: true, -} - - -// Let esbuild do its thing -// Only generating CJS since this will be dropped in v3 -let result -(async () => { - result = await esbuild - .build(options) - .catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -})() diff --git a/packages/utils/info.md b/packages/utils/info.md deleted file mode 100644 index 2201ea27009..00000000000 --- a/packages/utils/info.md +++ /dev/null @@ -1,4 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - diff --git a/packages/utils/package.json b/packages/utils/package.json deleted file mode 100644 index b41a1a96358..00000000000 --- a/packages/utils/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "@freesewing/utils", - "version": "3.0.0-alpha.0", - "description": "A collection of utilities shared across freesewing projects", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "freesewing" - ], - "main": "dist/index.js", - "scripts": { - "build": "node build.js", - "clean": "rimraf backend && rimraf camelCase && rimraf capitalize && rimraf cloneObject && rimraf convertSize && rimraf defaultGist && rimraf defaultSa && rimraf formatImperial && rimraf formatMm && rimraf isDegMeasurement && rimraf measurementAsMm && rimraf measurementDiffers && rimraf neckstimate && rimraf optionDefault && rimraf optionType && rimraf roundMm && rimraf roundMmDown && rimraf roundMmUp && rimraf sliderStep && rimraf smallestImperialStep && rimraf storage && rimraf tiler && rimraf validateEmail && rimraf validateTld", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"utils: No tests configured. Perhaps you'd like to do this?\" && exit 0", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "cibuild_step6": "node build.js" - }, - "peerDependencies": { - "tlds": "^1.221.1", - "axios": "^0.25.0" - }, - "dependencies": {}, - "devDependencies": {}, - "files": [ - "backend/*", - "camelCase/*", - "capitalize/*", - "cloneObject/*", - "convertSize/*", - "defaultGist/*", - "defaultSa/*", - "formatImperial/*", - "formatMm/*", - "isDegMeasurement/*", - "measurementAsMm/*", - "measurementDiffers/*", - "neckstimate/*", - "optionDefault/*", - "optionType/*", - "roundMm/*", - "roundMmDown/*", - "roundMmUp/*", - "sliderStep/*", - "smallestImperialStep/*", - "storage/*", - "tiler/*", - "validateEmail/*", - "validateTld/*" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/packages/utils/src/backend/index.js b/packages/utils/src/backend/index.js deleted file mode 100644 index 62b2e9dd5d2..00000000000 --- a/packages/utils/src/backend/index.js +++ /dev/null @@ -1,70 +0,0 @@ -import axios from 'axios' - -function useBackend(baseURL, timeout = 10000) { - // Configure Axios - const api = axios.create({ baseURL, timeout }) - - // Helper method for Authorization header - const auth = (token) => ({ - headers: { Authorization: 'Bearer ' + token } - }) - - const backend = {} - - // Oauth - backend.initOauth = (data) => api.post('/oauth/init', data) // Init Oauth (to get state) - backend.providerLogin = (data) => api.post('/oauth/login', data) // Finalize Oauth login - - // Signup flow - backend.signup = (email, password, language) => api.post('/signup', { email, password, language }) // Signup - backend.confirm = (confirmId) => api.post('/account', { id: confirmId }) // Confirm - backend.createAccount = (confirmId, consent) => api.post('/account', { id: confirmId, consent }) // Create account - backend.resendActivationEmail = (email, language) => api.post('/resend', { email, language }) // Re-send activation email - - // Other non-authenticated calls - backend.login = (username, password) => api.post('/login', { username, password }) // Login - backend.confirmationLogin = (id) => api.post('/confirm/login', { id }) // Confirmation-based login - backend.recoverAccount = (username) => api.post('/account/recover', { username: username }) // Ask for a password reset - backend.loadPattern = (handle) => api.get('/pattern/' + handle) // Load pattern anonymously - backend.loadPatrons = (handle) => api.get('/patrons') // Load patron list - backend.newsletterSubscribe = (email) => api.post('/newsletter/subscribe', { email }) // Subscribe email to newsletter - backend.newsletterUnsubscribe = (email) => api.post('/newsletter/unsubscribe', { email }) // Unsubscribe email from newsletter - // Users - backend.profile = (username, token) => api.get('/users/' + username, auth(token)) // Load user profile - backend.account = (token) => api.get('/account', auth(token)) // Try to authenticate based on stored token - backend.export = (token) => api.get('/account/export', auth(token)) // Export data - backend.restrict = (token) => api.get('/account/restrict', auth(token)) // Restrict data processing (freeze account) - backend.remove = (token) => api.delete('/account', auth(token)) // Remove account - backend.saveAccount = (data, token) => api.put('/account', data, auth(token)) // Update account - backend.availableUsername = (data, token) => api.post('/available/username', data, auth(token)) // Check is a username is available - backend.setPassword = (data, token) => api.post('/set/password', data, auth(token)) // (re)set a new password - - // People - backend.createPerson = (data, token) => api.post('/people', data, auth(token)) // Create person - backend.savePerson = (handle, data, token) => api.put('/people/' + handle, data, auth(token)) // Update person - backend.removePerson = (handle, token) => api.delete('/people/' + handle, auth(token)) // Remove person - - // Patterns - backend.loadPattern = (handle, token) => api.get('/patterns/' + handle, auth(token)) // Load pattern - backend.createPattern = (data, token) => api.post('/patterns', data, auth(token)) // Create pattern - backend.removePattern = (handle, token) => api.delete('/patterns/' + handle, auth(token)) // Remove pattern - backend.savePattern = (handle, data, token) => api.put('/patterns/' + handle, data, auth(token)) // Update pattern - - // Github - backend.createGist = (data) => api.post('/github/gist', data) // Export pattern as Github gist - backend.createIssue = (data) => api.post('/github/issue', data) // Create Github issue - - // Admin - backend.adminSearch = (query, token) => api.post('/admin/search', { query }, auth(token)) // Search users as admin - backend.adminSetPatronStatus = (data, token) => api.put('/admin/patron', data, auth(token)) // Set patron status for a user - backend.adminSetRole = (data, token) => api.put('/admin/role', data, auth(token)) // Set role for a user - backend.adminUnfreeze = (data, token) => api.put('/admin/unfreeze', data, auth(token)) // Unfreeze a user account - backend.adminImpersonate = (data, token) => api.post('/admin/impersonate', data, auth(token)) // Impersonate a user - backend.adminPatronList = (token) => api.get('/admin/patrons', auth(token)) // Get patron list - backend.adminSubscriberList = (token) => api.get('/admin/subscribers', auth(token)) // Get patron list - backend.adminStats = (token) => api.get('/admin/stats', auth(token)) // Get stats - - return backend -} - -export default useBackend diff --git a/packages/utils/src/camelCase/index.js b/packages/utils/src/camelCase/index.js deleted file mode 100644 index 6e5f73f857a..00000000000 --- a/packages/utils/src/camelCase/index.js +++ /dev/null @@ -1,11 +0,0 @@ -const camelCase = str => - str - .replace(/\s(.)/g, function($1) { - return $1.toUpperCase(); - }) - .replace(/\s/g, "") - .replace(/^(.)/, function($1) { - return $1.toLowerCase(); - }); - -export default camelCase; diff --git a/packages/utils/src/capitalize/index.js b/packages/utils/src/capitalize/index.js deleted file mode 100644 index 412f0757d91..00000000000 --- a/packages/utils/src/capitalize/index.js +++ /dev/null @@ -1,3 +0,0 @@ -const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1); - -export default capitalize; diff --git a/packages/utils/src/cloneObject/index.js b/packages/utils/src/cloneObject/index.js deleted file mode 100644 index 05c150d07a9..00000000000 --- a/packages/utils/src/cloneObject/index.js +++ /dev/null @@ -1,3 +0,0 @@ -const cloneObject = src => Object.assign({}, src); - -export default cloneObject; diff --git a/packages/utils/src/convertSize/index.js b/packages/utils/src/convertSize/index.js deleted file mode 100644 index 1bc95c1f57c..00000000000 --- a/packages/utils/src/convertSize/index.js +++ /dev/null @@ -1,32 +0,0 @@ -const convertSize = (size = 42, breasts = false) => { - let sizeConversion = { - withoutBreasts: { - 32: '3XS', - 34: 'XXS', - 36: 'XS', - 38: 'S', - 40: 'M', - 42: 'L', - 44: 'XL', - 46: '2XL', - 48: '3XL', - 50: '4XL' - }, - withBreasts: { - 28: '3XS', - 30: 'XXS', - 32: 'XS', - 34: 'S', - 36: 'M', - 38: 'L', - 40: 'XL', - 42: '2XL', - 44: '3XL', - 46: '4XL' - } - } - - return breasts ? sizeConversion.withBreasts[size] : sizeConversion.withoutBreasts[size] -} - -export default convertSize diff --git a/packages/utils/src/defaultGist/index.js b/packages/utils/src/defaultGist/index.js deleted file mode 100644 index b48023cd825..00000000000 --- a/packages/utils/src/defaultGist/index.js +++ /dev/null @@ -1,14 +0,0 @@ -const defaultGist = { - settings: { - embed: true, - sa: 0, - complete: true, - paperless: false, - locale: 'en', - units: 'metric', - margin: 2, - debug: false - } -} - -export default defaultGist diff --git a/packages/utils/src/defaultSa/index.js b/packages/utils/src/defaultSa/index.js deleted file mode 100644 index 5d1186b605c..00000000000 --- a/packages/utils/src/defaultSa/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const defaultSa = { - imperial: 15.875, - metric: 10 -}; - -export default defaultSa; diff --git a/packages/utils/src/formatImperial/index.js b/packages/utils/src/formatImperial/index.js deleted file mode 100644 index 65ca1ca1b32..00000000000 --- a/packages/utils/src/formatImperial/index.js +++ /dev/null @@ -1,11 +0,0 @@ -const formatImperial = (neg, inch, numo = false, deno = false, format = 'html') => { - if (format === 'html') { - if (numo) return `${neg}${inch} ${numo}/${deno}` - else return `${neg}${inch}` - } else { - if (numo) return `${neg}${inch} ${numo}/${deno}` - else return `${neg}${inch}` - } -} - -export default formatImperial diff --git a/packages/utils/src/formatMm/index.js b/packages/utils/src/formatMm/index.js deleted file mode 100644 index 71cf7f65488..00000000000 --- a/packages/utils/src/formatMm/index.js +++ /dev/null @@ -1,45 +0,0 @@ -import roundMm from '../roundMm' -import formatImperial from '../formatImperial' - -const formatMm = (val, units, format = 'html') => { - val = roundMm(val) - if (units === 'imperial') { - if (val == 0) return formatImperial('', 0, false, false, format) - let negative = '' - let inches = '' - let rest = '' - let fraction = val / 25.4 - if (fraction < 0) { - fraction = fraction * -1 - negative = '-' - } - if (Math.abs(fraction) < 1) rest = fraction - else { - inches = Math.floor(fraction) - rest = fraction - inches - } - let suffix = '' - if (format === 'html') suffix = '"' - let fraction128 = Math.round(rest * 128) - if (fraction128 == 0) return formatImperial(negative, inches, false, false, format) - if (fraction128 % 64 == 0) - return formatImperial(negative, inches, fraction128 / 64, 2, format) + suffix - if (fraction128 % 32 == 0) - return formatImperial(negative, inches, fraction128 / 32, 4, format) + suffix - if (fraction128 % 16 == 0) - return formatImperial(negative, inches, fraction128 / 16, 8, format) + suffix - if (fraction128 % 8 == 0) - return formatImperial(negative, inches, fraction128 / 8, 16, format) + suffix - if (fraction128 % 4 == 0) - return formatImperial(negative, inches, fraction128 / 4, 32, format) + suffix - if (fraction128 % 2 == 0) - return formatImperial(negative, inches, fraction128 / 2, 64, format) + suffix - - return negative + Math.round(fraction * 100) / 100 + suffix - } else { - if (format === 'html') return roundMm(val / 10) + 'cm' - else return roundMm(val / 10) - } -} - -export default formatMm diff --git a/packages/utils/src/index.js b/packages/utils/src/index.js deleted file mode 100644 index 7b8d0f7dbcf..00000000000 --- a/packages/utils/src/index.js +++ /dev/null @@ -1,26 +0,0 @@ -export default [ - 'backend', - 'camelCase', - 'capitalize', - 'cloneObject', - 'convertSize', - 'defaultGist', - 'defaultSa', - 'formatImperial', - 'formatMm', - 'isDegMeasurement', - 'measurementAsMm', - 'measurementDiffers', - 'neckstimate', - 'optionDefault', - 'optionType', - 'roundMm', - 'roundMmDown', - 'roundMmUp', - 'sliderStep', - 'smallestImperialStep', - 'storage', - 'tiler', - 'validateEmail', - 'validateTld', -] diff --git a/packages/utils/src/isDegMeasurement/index.js b/packages/utils/src/isDegMeasurement/index.js deleted file mode 100644 index b2ef37c0200..00000000000 --- a/packages/utils/src/isDegMeasurement/index.js +++ /dev/null @@ -1,5 +0,0 @@ -const deg = ['shoulderSlope'] - -const isDegMeasurement = (name) => (deg.indexOf(name) !== -1 ? true : false) - -export default isDegMeasurement diff --git a/packages/utils/src/measurementAsMm/index.js b/packages/utils/src/measurementAsMm/index.js deleted file mode 100644 index c19d9273ca2..00000000000 --- a/packages/utils/src/measurementAsMm/index.js +++ /dev/null @@ -1,37 +0,0 @@ -const measurementAsMm = (value, units = "metric") => { - if (typeof value === "number") - return value * (units === "imperial" ? 25.4 : 10); - - if (value.endsWith('.')) - return false; - - if (units === "metric") { - value = Number(value); - if (isNaN(value)) return false; - return value * 10; - } else { - const imperialFractionToMm = value => { - let chunks = value.trim().split("/"); - if (chunks.length !== 2 || chunks[1] === "") return false; - let num = Number(chunks[0]); - let denom = Number(chunks[1]); - if (isNaN(num) || isNaN(denom)) return false; - else return (num * 25.4) / denom; - }; - let chunks = value.split(" "); - if (chunks.length === 1) { - let val = chunks[0]; - if (!isNaN(Number(val))) return Number(val) * 25.4; - else return imperialFractionToMm(val); - } else if (chunks.length === 2) { - let inches = Number(chunks[0]); - if (isNaN(inches)) return false; - let fraction = imperialFractionToMm(chunks[1]); - if (fraction === false) return false; - return inches * 25.4 + fraction; - } - } - return false; -}; - -export default measurementAsMm; diff --git a/packages/utils/src/measurementDiffers/index.js b/packages/utils/src/measurementDiffers/index.js deleted file mode 100644 index b7404938077..00000000000 --- a/packages/utils/src/measurementDiffers/index.js +++ /dev/null @@ -1,20 +0,0 @@ -import neckstimate from '../neckstimate' - -// This returns how many sizes a measurement differs from the neckstimate value -// 0 and 2 is great -// 2 to 5 is hmmm -// and above 5 is probably wrong -const measurementDiffers = ( - neckCircumference, - measurementName, - measurementValue, - breasts = false, - absolute = true -) => { - - return absolute - ? Math.abs(Math.round((measurementValue - neckstimate(neckCircumference, measurementName, breasts)) / 20)) - : (measurementValue - neckstimate(neckCircumference, measurementName, breasts, true)) / 20 -} - -export default measurementDiffers diff --git a/packages/utils/src/neckstimate/complete.js b/packages/utils/src/neckstimate/complete.js deleted file mode 100644 index c173d1a6d55..00000000000 --- a/packages/utils/src/neckstimate/complete.js +++ /dev/null @@ -1,19 +0,0 @@ -// The completes the list of measurements with the ones -// we can calculate based on what we already have -export default function complete(m) { - // Added by plugin-bust: - m.bust = m.chest - - // Added by plugin-measurements: - m.crossSeamBack = m.crossSeam - m.crossSeamFront - m.seatBackArc = m.seatBack / 2 - m.waistBackArc = m.waistBack / 2 - if (m.bust && m.bustFront) m.bustBack = m.bust - m.bustFront - m.seatFront = m.seat - m.seatBack - m.seatFrontArc = m.seatFront / 2 - m.waistFront = m.waist - m.waistBack - m.waistFrontArc = m.waistFront / 2 - if (m.hightBust && m.highBustFront) m.highBustBack = m.highBust - m.highBustFront - - return m -} diff --git a/packages/utils/src/neckstimate/index.js b/packages/utils/src/neckstimate/index.js deleted file mode 100644 index ff17603a12d..00000000000 --- a/packages/utils/src/neckstimate/index.js +++ /dev/null @@ -1,45 +0,0 @@ -import withBreasts from './with-breasts' -import withoutBreasts from './without-breasts' -import ratio from './ratio' - -// This estimates a measurement based on the neck -const neckstimate = (neck = false, measurement = false, breasts = false, noRound=false) => { - let data = breasts ? withBreasts : withoutBreasts - - // Shoulder slope is in degrees now. Always return de default. - if (measurement === 'shoulderSlope') return withBreasts.shoulderSlope - - if (!neck) throw new Error('neckstimate() requires a neck measurement in mm as first parameter') - if (!measurement) { - // No measurement passed - throw new Error( - 'new neckstimate() requires a valid measurement name as second parameter. (received ' + - JSON.stringify(measurement) + - ')' - ) - } - if (typeof data[measurement] === 'undefined') { - if (typeof withBreasts[measurement] === 'undefined') { - // We used to throw this error, but let's just return null instead so things don't go off the rails - console.log( - new Error(`neckstimate() called with an invalid measurement name (${measurement})`) - ) - return null - } else { - console.log( - `WARNING: neckstimate() called for a breasts-only measurement (${measurement}) on a no-breasts person` - ) - // Return something anyway, rather than fall over - data = withBreasts - } - } - - // This is what should happen - let delta = (neck / data.neck) * data[measurement] - data[measurement] - - return noRound - ? data[measurement] + delta * ratio[measurement] - : Math.round(data[measurement] + delta * ratio[measurement]) -} - -export default neckstimate diff --git a/packages/utils/src/neckstimate/ratio.js b/packages/utils/src/neckstimate/ratio.js deleted file mode 100644 index 82378d489b4..00000000000 --- a/packages/utils/src/neckstimate/ratio.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Since linear measurements don't scale the same as circumference - * measurements, we apply a correction ratio. - */ - -let a = 0.5 // arc -let c = 1 // circumference -let v = 0.65 // vertical - -export default { - // Arc measurements - bustFront: a, - bustPointToUnderbust: a, - bustSpan: a, - highBustFront: a, - // Circumference measurements - ankle: c, - biceps: c, - chest: c, - highBust: c, - hips: c, - neck: c, - underbust: c, - // Vertical measurements - crotchDepth: v, - hpsToBust: v, - hpsToWaistBack: v, - hpsToWaistFront: v, - waistToHips: v, - waistToKnee: v, - waistToSeat: v, - waistToUnderbust: v, - waistToUpperLeg: v, - // Other - seatBack: 0.6, - waistBack: 0.85, - crossSeam: 0.6, - crossSeamFront: 0.3, - head: 0.35, - heel: 0.25, - inseam: 0.25, - knee: 0.65, - seat: 0.6, - shoulderToElbow: 0.5, - shoulderToShoulder: 0.65, - shoulderToWrist: 0.3, - upperLeg: 0.45, - waist: 0.85, - waistToFloor: 0.4, - wrist: 0.5 -} diff --git a/packages/utils/src/neckstimate/with-breasts.js b/packages/utils/src/neckstimate/with-breasts.js deleted file mode 100644 index 8d9bd35ed31..00000000000 --- a/packages/utils/src/neckstimate/with-breasts.js +++ /dev/null @@ -1,50 +0,0 @@ -import complete from './complete' - -/* - * These are a set of measurements of an average-sized woman. - * We simply extrapolate for other sizes (based on neck) - * by keeping the same proportions. - * That is almost certainly not the best sizing table you can get, - * but we are not in the business of standard sizes, so this will do. - */ - -export default complete({ - ankle: 245, - biceps: 270, - bustFront: 480, - bustPointToUnderbust: 100, - bustSpan: 160, - chest: 925, - crossSeam: 740, - crossSeamFront: 370, - crotchDepth: 270, - heel: 315, - head: 565, - highBust: 865, - highBustFront: 440, - hips: 900, - hpsToBust: 275, - hpsToWaistBack: 395, - hpsToWaistFront: 400, - inseam: 765, - knee: 380, - neck: 340, - seat: 1010, - seatBack: 520, - shoulderSlope: 13, - shoulderToElbow: 340, - shoulderToShoulder: 415, - shoulderToWrist: 590, - underbust: 780, - upperLeg: 570, - waist: 750, - waistBack: 380, - waistToArmhole: 17, - waistToFloor: 1050, - waistToHips: 125, - waistToKnee: 600, - waistToSeat: 250, - waistToUnderbust: 80, - waistToUpperLeg: 285, - wrist: 165 -}) diff --git a/packages/utils/src/neckstimate/without-breasts.js b/packages/utils/src/neckstimate/without-breasts.js deleted file mode 100644 index b6d7246f8be..00000000000 --- a/packages/utils/src/neckstimate/without-breasts.js +++ /dev/null @@ -1,42 +0,0 @@ -import complete from './complete' - -/* - * These are a set of measurements of an average-sized man. - * We simply extrapolate for other sizes (based on neck) - * by keeping the same proportions. - * That is almost certainly not the best sizing table you can get, - * but we are not in the business of standard sizes, so this will do. - */ -export default complete({ - ankle: 235, - biceps: 350, - chest: 1000, - crossSeam: 870, - crossSeamFront: 410, - crotchDepth: 340, - heel: 360, - head: 590, - highBust: 103, - hips: 840, - hpsToBust: 280, - hpsToWaistBack: 470, - inseam: 780, - knee: 410, - neck: 380, - seat: 1020, - seatBack: 560, - shoulderSlope: 13, - shoulderToElbow: 360, - shoulderToShoulder: 450, - shoulderToWrist: 630, - upperLeg: 625, - waist: 810, - waistBack: 410, - waistToArmhole: 21, - waistToFloor: 1160, - waistToHips: 130, - waistToKnee: 640, - waistToSeat: 270, - waistToUpperLeg: 340, - wrist: 175 -}) diff --git a/packages/utils/src/optionDefault/index.js b/packages/utils/src/optionDefault/index.js deleted file mode 100644 index 1742ecf3245..00000000000 --- a/packages/utils/src/optionDefault/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import optionType from '../optionType' - -const optionDefault = (name, option, recipe) => { - let type = optionType(option) - // Default from recipe? - let fromRecipe = false - if ( - recipe && - typeof recipe.settings !== 'undefined' && - typeof recipe.settings.options !== 'undefined' && - typeof recipe.settings.options[name] !== 'undefined' - ) - fromRecipe = true - - switch (type) { - case 'constant': - return option - break - case 'list': - if (fromRecipe) return recipe.settings.options[name] - return option.dflt - break - default: - let factor = type === 'pct' ? 100 : 1 - if (fromRecipe) return Math.round(10 * recipe.settings.options[name] * factor) / 10 - else return option[type] - break - } -} - -export default optionDefault diff --git a/packages/utils/src/optionType/index.js b/packages/utils/src/optionType/index.js deleted file mode 100644 index 226b598e2af..00000000000 --- a/packages/utils/src/optionType/index.js +++ /dev/null @@ -1,15 +0,0 @@ -const optionType = option => { - if (typeof option === "object") { - if (typeof option.pct !== "undefined") return "pct"; - if (typeof option.mm !== "undefined") return "mm"; - if (typeof option.deg !== "undefined") return "deg"; - if (typeof option.count !== "undefined") return "count"; - if (typeof option.bool !== "undefined") return "bool"; - if (typeof option.list !== "undefined") return "list"; - return "unknown"; - } - - return "constant"; -}; - -export default optionType; diff --git a/packages/utils/src/roundMm/index.js b/packages/utils/src/roundMm/index.js deleted file mode 100644 index b449da39301..00000000000 --- a/packages/utils/src/roundMm/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const roundMm = (val, units) => { - if (units === "imperial") return Math.round(val * 1000000) / 1000000; - else return Math.round(val * 10) / 10; -}; - -export default roundMm; diff --git a/packages/utils/src/roundMmDown/index.js b/packages/utils/src/roundMmDown/index.js deleted file mode 100644 index a8550ce3b27..00000000000 --- a/packages/utils/src/roundMmDown/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import smallestImperialStep from "../smallestImperialStep"; - -const roundMmDown = (val, units) => { - if (units === "imperial") return val - (val % smallestImperialStep); - else return Math.floor(val * 10) / 10; -}; - -export default roundMmDown; diff --git a/packages/utils/src/roundMmUp/index.js b/packages/utils/src/roundMmUp/index.js deleted file mode 100644 index 2d5f8446a1e..00000000000 --- a/packages/utils/src/roundMmUp/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import smallestImperialStep from "../smallestImperialStep"; - -const roundMmUp = (val, units) => { - if (units === "imperial") return val - (val % smallestImperialStep); - else return Math.ceil(val * 10) / 10; -}; - -export default roundMmUp; diff --git a/packages/utils/src/sliderStep/index.js b/packages/utils/src/sliderStep/index.js deleted file mode 100644 index dd6b3a3772e..00000000000 --- a/packages/utils/src/sliderStep/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const sliderStep = { - metric: 0.1, - imperial: 0.396875 -}; - -export default sliderStep; diff --git a/packages/utils/src/smallestImperialStep/index.js b/packages/utils/src/smallestImperialStep/index.js deleted file mode 100644 index eb5e20460b6..00000000000 --- a/packages/utils/src/smallestImperialStep/index.js +++ /dev/null @@ -1,3 +0,0 @@ -const smallestImperialStep = 0.396875; - -export default smallestImperialStep; diff --git a/packages/utils/src/storage/index.js b/packages/utils/src/storage/index.js deleted file mode 100644 index ce68c89dff0..00000000000 --- a/packages/utils/src/storage/index.js +++ /dev/null @@ -1,21 +0,0 @@ -const storage = { - set: (key, value, raw) => { - if (typeof localStorage === "undefined") return value; - const _key = "fs_" + key; - - if (typeof value === "undefined" || value === null) - localStorage.removeItem(_key); - else localStorage.setItem(_key, raw ? value : JSON.stringify(value)); - - return value; - }, - get: (key, raw) => { - if (typeof localStorage === "undefined") return null; - - const value = localStorage.getItem("fs_" + key); - - return raw ? value : JSON.parse(value); - } -}; - -export default storage; diff --git a/packages/utils/src/tiler/index.js b/packages/utils/src/tiler/index.js deleted file mode 100644 index 86d9895a6fb..00000000000 --- a/packages/utils/src/tiler/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import axios from 'axios' - -function useTiler(baseURL = 'https://tiler.freesewing.org', timeout = 10000) { - const api = axios.create({ baseURL, timeout }) - const tiler = { - tile: (svg, format = 'pdf', size = 'a4', url = 'https://freesewing.org/', design = 'Pattern') => - api.post('/api', { svg, format, size, url, design }) - } - - return tiler -} - -export default useTiler diff --git a/packages/utils/src/validateEmail/index.js b/packages/utils/src/validateEmail/index.js deleted file mode 100644 index 2f4c6771430..00000000000 --- a/packages/utils/src/validateEmail/index.js +++ /dev/null @@ -1,8 +0,0 @@ -/** Validates an email address for correct syntax */ -const validateEmail = email => { - // eslint-disable-next-line - let re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; - return re.test(email); -}; - -export default validateEmail; diff --git a/packages/utils/src/validateTld/index.js b/packages/utils/src/validateTld/index.js deleted file mode 100644 index a0e51a31a3b..00000000000 --- a/packages/utils/src/validateTld/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import tlds from "tlds"; -/** Validates the top level domain (TLT) for an email address */ -const validateTld = email => { - let tld = email - .split("@") - .pop() - .split(".") - .pop() - .toLowerCase(); - if (tlds.indexOf(tld) === -1) return tld; - else return true; -}; - -export default validateTld; diff --git a/plugins/plugin-export-dxf/.babelrc b/plugins/plugin-export-dxf/.babelrc deleted file mode 100644 index 1320b9a3272..00000000000 --- a/plugins/plugin-export-dxf/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@babel/preset-env"] -} diff --git a/plugins/plugin-export-dxf/CHANGELOG.md b/plugins/plugin-export-dxf/CHANGELOG.md deleted file mode 100644 index cd60c777c99..00000000000 --- a/plugins/plugin-export-dxf/CHANGELOG.md +++ /dev/null @@ -1,28 +0,0 @@ -# Change log for: @freesewing/plugin-export-dxf - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -## 2.6.0 (2020-05-01) - -### Added - - - This plugin can export your pattern as DXF-ASTM - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-export-dxf/README.md b/plugins/plugin-export-dxf/README.md deleted file mode 100644 index 7ba867fe45a..00000000000 --- a/plugins/plugin-export-dxf/README.md +++ /dev/null @@ -1,370 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/plugin-export-dxf on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-export-dxf - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/plugin-export-dxf - -A FreeSewing plugin to export your pattern as DXF-ASTM - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## About - -This plugin adds the ability to export patterns to DXF-ASTM. - -DXF (Drawing interchange format) is a file format developed by Autodesk -(of AutoCAD® fame). -The DXF-ASTM variety is a subset of the format, specifically targetted -at the garment industry. - -ASTM is the _American Society for Testing and Materials_ — a standards body — -that published the format. -DXF-ASTM is the successor of DXF-AAMA which was developed by the _American -Apparel Manufacturers Association_ which reveals the origins of the file format. - -## Usage - -Instantiate your pattern, and use the plugin. -It will add the `exportDxf()` method to the pattern object. -This method will return the DXF-ASTM output. - -```js -import models from '@freesewing/models' -import Aaron from '@freesewing/aaron' -import exportDxfPlugin from '@freesewing/plugin-export-dxf' - -const settings = { - // Make sure to set complete to false - complete: false, - measurements: models.withoutBreasts.size42 -} - -let dxf = new Aaron(settings).use(exportDxfPlugin).draft().exportDxf() -``` - -## Configuration - -This plugin takes a configuration object as a second parameter to the -`pattern.use()` method. - -### Precision - -The precision property determines the length of the line segments used -to approximate curves. The generated DXF-ASTM output will only contain -straight lines, so curves will be approximated wiht lines segments. - -The `precision` sets the length of those segments in mm. -In the example below, the `precision` is set to `25` resulting in -the use of line segments 25mm (1 inch) to approximate the curve. - -```js -let config = { - precision: 25 -} - -let dxf = new Aaron(settings).use(exportDxfPlugin, config) -``` - -The default `precision` is `1`, giving you 1mm long line segments -to approximate curves. - -## Reasons to use this plugin - -This plugin can export your pattern to DXF-ASTM so you can import it to -your 3D software of choice. - -## Reasons to not use this plugin - -### Because DXF is inferior to SVG in every way - -DXF (and DXF-AAMA and DXF-ASTM with it) are rooted in the world of industrial -manufacturing. And it shows. - -Nowadays, it's easy to think of the DXF file format as a bit of an embarassment. -But it is deliberatly kept dumb so that old industrial CNC milling machines, -plotters, laster cutters and whatnot, can handle the format. - -### Because this plugin does not implement all of DXF - -This plugin does the minimum to allow export of FreeSewing patterns into -3D garment tools. It expexts the input pattern to only include the outlines. - -That means, no seam allowance, or titles, no notches, and so on. - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-export-dxf - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-export-dxf/build.js b/plugins/plugin-export-dxf/build.js deleted file mode 100644 index 7248b245c69..00000000000 --- a/plugins/plugin-export-dxf/build.js +++ /dev/null @@ -1,57 +0,0 @@ -/* This script will build the package with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.js'], - external: ["@freesewing"], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Different formats -const formats = { - cjs: "dist/index.js", - esm: "dist/index.mjs", -} - -// Let esbuild generate different formats -let result -(async () => { - for (const [format, outfile] of Object.entries(formats)) { - result = await esbuild - .build({ ...options, outfile, format }) - .catch(() => process.exit(1)) - } - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } - - // Also build a version that has all dependencies bundled - // This makes it easy to run tests - await esbuild - .build({ - ...options, - minify: false, - sourcemap: false, - outfile: 'tests/dist/index.mjs', - format: 'esm', - external: [], - }) - .catch(() => process.exit(1)) - -})() diff --git a/plugins/plugin-export-dxf/info.md b/plugins/plugin-export-dxf/info.md deleted file mode 100644 index 53930f6a640..00000000000 --- a/plugins/plugin-export-dxf/info.md +++ /dev/null @@ -1,86 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - -## About - -This plugin adds the ability to export patterns to DXF-ASTM. - -DXF (Drawing interchange format) is a file format developed by Autodesk -(of AutoCAD® fame). -The DXF-ASTM variety is a subset of the format, specifically targetted -at the garment industry. - -ASTM is the _American Society for Testing and Materials_ — a standards body — -that published the format. -DXF-ASTM is the successor of DXF-AAMA which was developed by the _American -Apparel Manufacturers Association_ which reveals the origins of the file format. - -## Usage - -Instantiate your pattern, and use the plugin. -It will add the `exportDxf()` method to the pattern object. -This method will return the DXF-ASTM output. - -```js -import models from '@freesewing/models' -import Aaron from '@freesewing/aaron' -import exportDxfPlugin from '@freesewing/plugin-export-dxf' - -const settings = { - // Make sure to set complete to false - complete: false, - measurements: models.withoutBreasts.size42 -} - -let dxf = new Aaron(settings).use(exportDxfPlugin).draft().exportDxf() -``` - -## Configuration - -This plugin takes a configuration object as a second parameter to the -`pattern.use()` method. - -### Precision - -The precision property determines the length of the line segments used -to approximate curves. The generated DXF-ASTM output will only contain -straight lines, so curves will be approximated wiht lines segments. - -The `precision` sets the length of those segments in mm. -In the example below, the `precision` is set to `25` resulting in -the use of line segments 25mm (1 inch) to approximate the curve. - -```js -let config = { - precision: 25 -} - -let dxf = new Aaron(settings).use(exportDxfPlugin, config) -``` - -The default `precision` is `1`, giving you 1mm long line segments -to approximate curves. - -## Reasons to use this plugin - -This plugin can export your pattern to DXF-ASTM so you can import it to -your 3D software of choice. - -## Reasons to not use this plugin - -### Because DXF is inferior to SVG in every way - -DXF (and DXF-AAMA and DXF-ASTM with it) are rooted in the world of industrial -manufacturing. And it shows. - -Nowadays, it's easy to think of the DXF file format as a bit of an embarassment. -But it is deliberatly kept dumb so that old industrial CNC milling machines, -plotters, laster cutters and whatnot, can handle the format. - -### Because this plugin does not implement all of DXF - -This plugin does the minimum to allow export of FreeSewing patterns into -3D garment tools. It expexts the input pattern to only include the outlines. - -That means, no seam allowance, or titles, no notches, and so on. diff --git a/plugins/plugin-export-dxf/package.json b/plugins/plugin-export-dxf/package.json deleted file mode 100644 index c9ebcc0e820..00000000000 --- a/plugins/plugin-export-dxf/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "@freesewing/plugin-export-dxf", - "version": "3.0.0-alpha.0", - "description": "A FreeSewing plugin to export your pattern as DXF-ASTM", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "build": "node build.js", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "prettier": "npx prettier --write 'src/*.js' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.js" - }, - "peerDependencies": { - "@freesewing/core": "^3.0.0-alpha.0" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "^10.0.0", - "chai": "^4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/plugins/plugin-export-dxf/src/dxf.js b/plugins/plugin-export-dxf/src/dxf.js deleted file mode 100644 index cd476316c0b..00000000000 --- a/plugins/plugin-export-dxf/src/dxf.js +++ /dev/null @@ -1,248 +0,0 @@ -import { name, version, description, author, license } from '../package.json' - -function Dxf(config) { - this.config = config -} - -// Round to 2 decimals because DXF is stupid -Dxf.prototype.round = function (val) { - return Math.round(val * 100) / 100 -} - -/** Returns DXF code for optional banner */ -Dxf.prototype.banner = function (pattern) { - return `999 -${name.slice(1)} | v${version} -999 -${description} -999 -(c) ${new Date().getFullYear()} ${author} -999 -License: ${license} -999 -Pattern: ${pattern.config.name} | v${pattern.config.version} -999 -Export date: ${new Date().toISOString()}` -} - -/** Returns DXF code for tables */ -Dxf.prototype.tables = function (tables) { - let dxf = ` - 0 -SECTION - 2 -TABLES` - for (let lineType of tables.lineTypes) - dxf += ` - 0 -TABLE - 2 -LTYPE - 0 -LTYPE - 2 -${lineType.name} - 3 -${lineType.description} - 72 -65 - 73 -0 - 40 -0.00 - 0 -ENDTAB` - for (let layer of tables.layers) - dxf += ` - 0 -TABLE - 2 -LAYER - 0 -LAYER - 2 -${layer.name} - 62 -${layer.color} - 6 -${layer.lineType} - 0 -ENDTAB` - dxf += ` - 0 -ENDSEC` - - return dxf -} - -/** Returns DXF code to close/end a DXF file */ -Dxf.prototype.footer = function () { - return ` - 0 -EOF -` -} - -/** Returns DXF code for a line */ -Dxf.prototype.line = function (to, layer) { - return ` - 0 -VERTEX - 8 -${layer} - 10 -${this.round(to.x)} - 20 -${this.round(to.y)}` -} - -/** Returns DXF code for a curve */ -Dxf.prototype.curve = function (from, cp1, cp2, to, layer, part) { - let { Path } = part.shorthand() - let path = new Path().move(from).curve(cp1, cp2, to) - let steps = Math.floor(path.length() / this.config.precision) - let current - let dxf = '' - for (let i = 1; i < steps; i++) { - current = path.shiftAlong(i * this.config.precision) - dxf += this.line(current, layer) - } - if (current.dist(to) > 0.1) dxf += this.line(to, layer) - - return dxf -} - -/** Returns DXF code for a Path object */ -Dxf.prototype.path = function (path, layer, part) { - let dxf = ` - 0 -POLYLINE - 8 -${layer} - 70 -1` - let current, start - for (let op of path.ops) { - switch (op.type) { - case 'move': - start = op.to - dxf += this.line(op.to, layer) - break - case 'line': - dxf += this.line(op.to, layer) - break - case 'curve': - dxf += this.curve(current, op.cp1, op.cp2, op.to, layer, part) - break - case 'close': - dxf += this.line(start, layer) - break - case 'noop': - break - default: - throw new Error(`Unsupported path operation: ${op.type}`) - } - current = op.to - } - dxf += ` - 0 -SEQEND` - - return dxf -} - -/** Returns blocs portion of the DXF code for a Part object */ -Dxf.prototype.partBlocks = function (part, name, layer = 1) { - let dxf = ` - 0 -BLOCK - 8 -${layer} - 2 -${name} - 70 -0 - 10 -0.00 - 20 -0.00` - for (let key in part.paths) { - this.pathName = key - this.partName = name - let path = part.paths[key] - if (path.render) dxf += this.path(path, layer, part) - } - dxf += ` - 0 -ENDBLK` - - return dxf -} - -/** Returns entities portion of the DXF code for a Part object */ -Dxf.prototype.partEntities = function (part, name, layer = 1) { - return ` - 0 -INSERT - 8 -${layer} - 2 -${name} - 10 -0.00 - 20 -0.00` -} - -/** Exports (drafted) pattern as DXF-ASTM */ -Dxf.prototype.render = function (pattern) { - // Ensure pattern layout - pattern.pack() - - // Tables structure - let tables = { - lineTypes: [ - { - name: 'CONTINUOUS', - description: 'SOLIDLINE', - }, - ], - layers: [ - { - name: 1, - color: 7, - lineType: 'CONTINIOUS', - }, - ], - } - - let dxf = '' - dxf += this.banner(pattern) - dxf += this.tables(tables) - dxf += ` - 0 -SECTION - 2 -BLOCKS` - for (let partId in pattern.parts) { - if (pattern.parts[partId].render) dxf += this.partBlocks(pattern.parts[partId], partId) - } - dxf += ` - 0 -ENDSEC - 0 -SECTION - 2 -ENTITIES` - for (let partId in pattern.parts) { - if (pattern.parts[partId].render) dxf += this.partEntities(pattern.parts[partId], partId) - } - dxf += ` - 0 -ENDSEC` - dxf += this.footer() - - return dxf -} - -export default Dxf diff --git a/plugins/plugin-export-dxf/src/footer.js b/plugins/plugin-export-dxf/src/footer.js deleted file mode 100644 index 450757d19e9..00000000000 --- a/plugins/plugin-export-dxf/src/footer.js +++ /dev/null @@ -1,5 +0,0 @@ -const footer = ` -0 -EOF -` -export default footer diff --git a/plugins/plugin-export-dxf/src/header.js b/plugins/plugin-export-dxf/src/header.js deleted file mode 100644 index 629927a4ddc..00000000000 --- a/plugins/plugin-export-dxf/src/header.js +++ /dev/null @@ -1,13 +0,0 @@ -import { name, version, description, author, license } from '../package.json' - -const header = `999 -${name.slice(1)} | v${version} -999 -${description} -999 -(c) ${new Date().getFullYear()} ${author} -999 -License: ${license} -999` - -export default header diff --git a/plugins/plugin-export-dxf/src/index.js b/plugins/plugin-export-dxf/src/index.js deleted file mode 100644 index 7f5fc459d24..00000000000 --- a/plugins/plugin-export-dxf/src/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import pkg from '../package.json' - -import Dxf from './dxf' - -export default { - name: pkg.name, - version: pkg.version, - hooks: { - preRender: (svg) => svg.attributes.setIfUnset('freesewing:plugin-export-dxf', pkg.version), - postDraft: (pattern, config = { precision: 1 }) => { - pattern.exportDxf = () => new Dxf(config).render(pattern) - }, - }, -} diff --git a/plugins/plugin-export-dxf/tests/plugin.text.mjs b/plugins/plugin-export-dxf/tests/plugin.text.mjs deleted file mode 100644 index 2e23a5ce0f9..00000000000 --- a/plugins/plugin-export-dxf/tests/plugin.text.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import chai from 'chai' -//import freesewing from '@freesewing/core' -//import plugin from '../dist/index.js' - -const expect = chai.expect - -describe('Export-MDX Plugin Tests', () => { - it('FIXME: No plugin tests configured', () => { - expect(1).to.equal(1) - }) -}) diff --git a/plugins/plugin-export-dxf/tests/shared.test.mjs b/plugins/plugin-export-dxf/tests/shared.test.mjs deleted file mode 100644 index 9638f75571e..00000000000 --- a/plugins/plugin-export-dxf/tests/shared.test.mjs +++ /dev/null @@ -1,8 +0,0 @@ -// This file is auto-generated. -// Changes you make will be overwritten. -import plugin from './dist/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - - -// Run shared tests -sharedPluginTests(plugin) diff --git a/plugins/plugin-validate/.babelrc b/plugins/plugin-validate/.babelrc deleted file mode 100644 index 957cae3e64d..00000000000 --- a/plugins/plugin-validate/.babelrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "useBuiltIns": "entry" - } - ] - ] -} diff --git a/plugins/plugin-validate/.travis.yml b/plugins/plugin-validate/.travis.yml deleted file mode 100644 index 121b29f66a4..00000000000 --- a/plugins/plugin-validate/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "node" -install: - - npm install - - npm run build -script: - - npm run test - - npm run coverage diff --git a/plugins/plugin-validate/CHANGELOG.md b/plugins/plugin-validate/CHANGELOG.md deleted file mode 100644 index c4c54f587e0..00000000000 --- a/plugins/plugin-validate/CHANGELOG.md +++ /dev/null @@ -1,27 +0,0 @@ -# Change log for: @freesewing/plugin-validate - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-validate/README.md b/plugins/plugin-validate/README.md deleted file mode 100644 index 71937144573..00000000000 --- a/plugins/plugin-validate/README.md +++ /dev/null @@ -1,288 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/plugin-validate on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-validate - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/plugin-validate - -A FreeSewing plugin that validates aspects of your code - -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-validate - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Ari Grayzel-student

    💻

    BenJamesBen

    💻 📖

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Greg Sadetsky

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joe Schofield

    📖

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Nikhil Chelliah

    📖

    OysteinHoiby

    💻

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    SimonbJohnson

    🐛

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    anna-puk

    💻

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-validate/build.js b/plugins/plugin-validate/build.js deleted file mode 100644 index 7248b245c69..00000000000 --- a/plugins/plugin-validate/build.js +++ /dev/null @@ -1,57 +0,0 @@ -/* This script will build the package with esbuild */ -const esbuild = require('esbuild') -const pkg = require('./package.json') - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.js'], - external: ["@freesewing"], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Different formats -const formats = { - cjs: "dist/index.js", - esm: "dist/index.mjs", -} - -// Let esbuild generate different formats -let result -(async () => { - for (const [format, outfile] of Object.entries(formats)) { - result = await esbuild - .build({ ...options, outfile, format }) - .catch(() => process.exit(1)) - } - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } - - // Also build a version that has all dependencies bundled - // This makes it easy to run tests - await esbuild - .build({ - ...options, - minify: false, - sourcemap: false, - outfile: 'tests/dist/index.mjs', - format: 'esm', - external: [], - }) - .catch(() => process.exit(1)) - -})() diff --git a/plugins/plugin-validate/info.md b/plugins/plugin-validate/info.md deleted file mode 100644 index 2201ea27009..00000000000 --- a/plugins/plugin-validate/info.md +++ /dev/null @@ -1,4 +0,0 @@ -## 🚨🚨 This packages is deprecated 🚨🚨 - -This package will not be part of FreeSewing v3. - diff --git a/plugins/plugin-validate/package.json b/plugins/plugin-validate/package.json deleted file mode 100644 index bcc2033628a..00000000000 --- a/plugins/plugin-validate/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "@freesewing/plugin-validate", - "version": "3.0.0-alpha.0", - "description": "A FreeSewing plugin that validates aspects of your code", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "build": "node build.js", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.js", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.js", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "prettier": "npx prettier --write 'src/*.js' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.js" - }, - "peerDependencies": { - "@freesewing/core": "^3.0.0-alpha.0" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "^10.0.0", - "chai": "^4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - } -} diff --git a/plugins/plugin-validate/src/index.js b/plugins/plugin-validate/src/index.js deleted file mode 100644 index f5fee6ff279..00000000000 --- a/plugins/plugin-validate/src/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import pkg from '../package.json' - -const err = 'FIXME: plugin-validate is not updated for recent core versions' -export default { - name: pkg.name, - version: pkg.version, - hooks: { - preRender: (svg) => svg.attributes.setIfUnset('freesewing:plugin-validate', pkg.version), - preDraft: (pattern) => console.log(err), - postDraft: (pattern) => console.log(err), - }, -} diff --git a/plugins/plugin-validate/src/measurements.js b/plugins/plugin-validate/src/measurements.js deleted file mode 100644 index 15e3522ecda..00000000000 --- a/plugins/plugin-validate/src/measurements.js +++ /dev/null @@ -1,71 +0,0 @@ -const validateMeasurements = (m, raise) => { - // Helper method for raise.warning - const warn = (a, b, delta = 'lower than') => { - raise.warning( - `A \`${a}\` measurement that is ${delta} the \`${b}\` measurement may cause unexpected results` - ) - } - - // Helper method to check whether m1 < m2 - const notLower = (m1, m2) => { - if (m[m1] && m[m2] && m[m1] < m[m2]) warn(m1, m2, 'less than') - } - - // Helper method to check whether m1 < m2/2 - const notLowerThanHalf = (m1, m2) => { - if (m[m1] && m[m2] && m[m1] < m[m2] / 2) warn(m1, m2, 'less than half of') - } - - /* - * Bust / Chest - */ - notLower('bustFront', 'highBustFront') - notLower('bustFront', 'shoulderToShoulder') - notLower('highBustFront', 'shoulderToShoulder') - notLower('highBust', 'underbust') - notLower('chest', 'underbust') - notLowerThanHalf('bustFront', 'chest') - notLowerThanHalf('highBustFront', 'highBust') - - /* - * Knee / ankle / upper leg / biceps / wrist - */ - notLower('knee', 'ankle') - notLower('upperLeg', 'knee') - notLower('biceps', 'wrist') - - /* - * Neck / head - */ - notLower('neck', 'shoulderToShoulder') - notLower('head', 'neck') - - /* - * Waist / Hips / Seat - */ - notLower('seat', 'hips') - notLower('hips', 'waist') - notLower('seat', 'waist') - notLower('seatBack', 'seat') - notLower('waistBack', 'waist') - - /* - * Cross seam - */ - notLowerThanHalf('crossSeamFront', 'crossSeam') - - /* - * Vertical measurements - */ - notLower('waistToUpperLeg', 'crotchDepth') - notLower('hpsToWaistFront', 'hpsToWaistBack') - notLower('hpsToWaist', 'hpsToBust') - notLower('hpsToHips', 'hpsToWaist') - notLower('waistToKnee', 'waistToUpperleg') - notLower('waistToUpperLeg', 'waistToSeat') - notLower('waistToSeat', 'waistToHips') - notLower('waistToFloor', 'waistToKnee') - notLower('shoulderToWrist', 'shoulderToElbow') -} - -export default validateMeasurements diff --git a/plugins/plugin-validate/src/validate.js b/plugins/plugin-validate/src/validate.js deleted file mode 100644 index b903a962101..00000000000 --- a/plugins/plugin-validate/src/validate.js +++ /dev/null @@ -1,186 +0,0 @@ -const validate = {} - -validate.point = function (point, partId, pointId, debug) { - if (typeof point !== 'object') { - debug({ - type: 'error', - label: 'Problem with point', - msg: points, - }) - throw new Error(`Point pattern.parts.${partId}.points.${pointId} is not an object`) - } else if (typeof point.x !== 'number' || isNaN(point.x)) { - debug({ - type: 'error', - label: 'Problem with point X-value', - msg: points, - }) - throw new Error(`X-value of point pattern.parts.${partId}.points.${pointId} is not a number`) - } else if (typeof point.y !== 'number' || isNaN(point.y)) { - debug({ - type: 'error', - label: 'Problem with point Y-value', - msg: points, - }) - debug(dbg, 'Problem with point Y-value:', point) - throw new Error(`Y-value of point pattern.parts.${partId}.points.${pointId} is not a number`) - } else if ( - typeof point.attributes !== 'object' || - !(point.attributes.clone instanceof Function) - ) { - debug({ - type: 'error', - label: 'Problem with point attributes', - msg: points, - }) - throw new Error( - `attributes property of point pattern.parts.${partId}.points.${pointId} is not an object` - ) - } else if (!(point.clone instanceof Function)) { - debug({ - type: 'error', - label: 'Problem with point', - msg: points, - }) - throw new Error(`Point pattern.parts.${partId}.points.${pointId} is not a valid Point object`) - } - - return true -} - -validate.text = function (type, item, partId, itemId, debug) { - let text = item.attributes.getAsArray('data-text') - if (text === false) return true - else { - if (item.attributes.get('data-validate-skip-text') !== false) { - debug({ - type: 'warning', - label: '🌐 Possible translation issue', - msg: `This text might be a translation problem:, ${item} However, the error was suppresed, so moving on.`, - }) - return true - } - for (let t of text) { - if (typeof t !== 'string' && typeof t !== 'number') { - debug({ - type: 'error', - label: 'This text is not a string or number', - msg: t, - }) - throw new Error( - `${type} pattern.parts.${partId}.${type}s.${itemId} has text that is not a string nor a number. Set the 'data-validate-skip-text' attribute to true to suppress this error.` - ) - } else if (typeof t === 'string' && t.indexOf(' ') !== -1) { - debug({ - type: 'warning', - label: '🌐 Possible translation issue', - msg: t, - }) - debug({ - type: 'info', - label: '💡 Tip', - msg: `${type} pattern.parts.${partId}.${type}s.${itemId} has text containing spaces. Please insert translation identifiers, and not actual text. Set the 'data-validate-skip-text' attribute to true to suppress this warning.`, - }) - } - } - } - return true -} - -validate.path = function (path, partId, pathId, debug) { - if (typeof path !== 'object') { - debug({ - type: 'error', - label: 'Problem with path', - msg: path, - }) - throw new Error(`Path pattern.parts.${partId}.paths.${pathId} is not an object`) - } else if (typeof path.ops !== 'object') { - debug({ - type: 'error', - label: 'Problem with path ops', - msg: path, - }) - throw new Error(`ops property of path pattern.parts.${partId}.paths.${pathId} is not an object`) - } else if (path.ops.length < 2) { - debug({ - type: 'error', - label: 'Problem with path ops', - msg: path, - }) - throw new Error(`Path pattern.parts.${partId}.paths.${pathId} does not do anything`) - } else if (typeof path.attributes !== 'object') { - debug({ - type: 'error', - label: 'Problem with path attributes', - msg: path, - }) - throw new Error( - `attributes property of path pattern.parts.${partId}.paths.${pathId} is not an object` - ) - } else if (!(path.clone instanceof Function)) { - debug({ - type: 'error', - label: 'Problem with path', - msg: path, - }) - throw new Error(`Path pattern.parts.${partId}.paths.${pathId} is not a valid Path object`) - } else if (!(path.attributes.clone instanceof Function)) { - debug({ - type: 'error', - label: 'Problem with path attributes', - msg: path, - }) - throw new Error( - `attributes property of path pattern.parts.${partId}.paths.${pathId} is not a valid Attributes object` - ) - } - for (let o in path.ops) { - let op = path.ops[o] - if (op.type !== 'close') { - if (!validate.point(op.to, partId, '_unknown_', debug)) { - debug({ - type: 'error', - label: 'Problem with path TO point', - msg: op.to, - }) - throw new Error( - `Point in pattern.parts.${partId}.paths.${pathId}.ops[o].to is not a valid Point object` - ) - } - } else if (op.type === 'curve') { - if (!validate.point(op.cp1, partId, '_unknown_', debug)) { - debug({ - type: 'error', - label: 'Problem with path CP1 point', - msg: op.cp1, - }) - throw new Error( - `Point in pattern.parts.${partId}.paths.${pathId}.ops[o].cp1 is not a valid Point object` - ) - } else if (!validate.point(op.cp2, partId, '_unknown_', debug)) { - debug({ - type: 'error', - label: 'Problem with path CP2 point', - msg: op.cp2, - }) - throw new Error( - `Point in pattern.parts.${partId}.paths.${pathId}.ops[o].cp2 is not a valid Point object` - ) - } - } - } - - return true -} - -validate.snippet = function (snippet, partId, snippetId, debug) { - if (typeof snippet !== 'object') return false - if (!validate.point(snippet.anchor, partId, '_unknown_', debug)) return false - if (typeof snippet.attributes !== 'object') return false - if (!(snippet.clone instanceof Function)) return false - if (!(snippet.attributes.clone instanceof Function)) return false - - return true -} - -export default validate diff --git a/plugins/plugin-validate/tests/plugin.test.mjs b/plugins/plugin-validate/tests/plugin.test.mjs deleted file mode 100644 index c3bca9bcec5..00000000000 --- a/plugins/plugin-validate/tests/plugin.test.mjs +++ /dev/null @@ -1,12 +0,0 @@ -import chai from 'chai' -//import freesewing from '@freesewing/core' -//import plugin from '../dist/index.mjs' - -const expect = chai.expect - -describe('Validate Plugin Tests', () => { - it("FIXME: No plugin tests defined", () => { - expect(1).to.equal(1) - }) -}) - diff --git a/plugins/plugin-validate/tests/shared.test.mjs b/plugins/plugin-validate/tests/shared.test.mjs deleted file mode 100644 index 9638f75571e..00000000000 --- a/plugins/plugin-validate/tests/shared.test.mjs +++ /dev/null @@ -1,8 +0,0 @@ -// This file is auto-generated. -// Changes you make will be overwritten. -import plugin from './dist/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - - -// Run shared tests -sharedPluginTests(plugin) diff --git a/sites/strapi/.editorconfig b/sites/strapi/.editorconfig deleted file mode 100644 index 473e45184be..00000000000 --- a/sites/strapi/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{package.json,*.yml}] -indent_style = space -indent_size = 2 - -[*.md] -trim_trailing_whitespace = false diff --git a/sites/strapi/.env.example b/sites/strapi/.env.example deleted file mode 100644 index b667b6c4a16..00000000000 --- a/sites/strapi/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -HOST=0.0.0.0 -PORT=1337 diff --git a/sites/strapi/.eslintignore b/sites/strapi/.eslintignore deleted file mode 100644 index 90759a584c5..00000000000 --- a/sites/strapi/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -.cache -build -**/node_modules/** diff --git a/sites/strapi/.eslintrc b/sites/strapi/.eslintrc deleted file mode 100644 index b2ca93b1a58..00000000000 --- a/sites/strapi/.eslintrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": "eslint:recommended", - "env": { - "commonjs": true, - "es6": true, - "node": true, - "browser": false - }, - "parserOptions": { - "ecmaFeatures": { - "experimentalObjectRestSpread": true, - "jsx": false - }, - "sourceType": "module" - }, - "globals": { - "strapi": true - }, - "rules": { - "indent": ["error", 2, { "SwitchCase": 1 }], - "linebreak-style": ["error", "unix"], - "no-console": 0, - "quotes": ["error", "single"], - "semi": ["error", "always"] - } -} diff --git a/sites/strapi/CHANGELOG.md b/sites/strapi/CHANGELOG.md deleted file mode 100644 index 32feeff7e83..00000000000 --- a/sites/strapi/CHANGELOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# Change log for: @freesewing/strapi - - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/sites/strapi/README.md b/sites/strapi/README.md deleted file mode 100644 index 194bd010d68..00000000000 --- a/sites/strapi/README.md +++ /dev/null @@ -1,254 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

    @freesewing/strapi on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:strapi - All Contributors -

    Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

    - -# @freesewing/strapi - -Freesewing's Strapi instance - - - -## What am I looking at? 🤔 - -This repository is our *monorepo* -holding [all our NPM packages](https://freesewing.dev/reference/packages/). - -This folder holds: @freesewing/strapi - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Adam Tomkins

    📖

    Alexandre Ignjatovic

    💻

    AlfaLyr

    💻 🔌 🎨

    Andrew James

    📖

    Anneke

    📖 🌍

    Annie Kao

    📖

    Anternative

    📖

    Anthony

    💬

    Cameron Dubas

    📖

    Carsten Biebricher

    📖

    Cathy Zoller

    📖

    Chantal Lapointe

    🌍

    Damien PIQUET

    💻

    Darigov Research

    📖 🤔

    Elena FdR

    📖 📝

    Emmanuel Nyachoke

    💻 📖

    Enoch Riese

    💻

    EvEkSwed

    🌍

    Fantastik-Maman

    🌍

    Forrest O.

    📖

    Frédéric

    🌍

    Glenn Matthews

    📖

    Igor Couto

    🐛

    Ikko Ashimine

    📖

    Irapeke

    🌍

    Jacek Sawoszczuk

    📖

    Jason Williams

    📖

    Jeremy Jackson

    💻

    Joebidido

    🌍

    Joost De Cock

    🚧

    Josh Essman

    📖

    Kake

    📖

    Kapunahele Wong

    📖

    Karen

    📖 📋

    Katie McGinley

    📖

    Kieran Klaassen

    💻

    Kittycatou

    🌍

    Kris

    📖

    Kristin Ruben

    💻

    Loudepeuter

    🌍

    Lucian

    📋

    Marcus

    🌍

    Martin Tribo

    📖

    Nadege Michel

    ⚠️ 📖

    Natalia

    💻 🎨 📝

    Nathan Yergler

    📖

    Nick Dower

    📖 💻 🐛

    Patrick Forringer

    🔌

    Paul

    📖 📝 🌍

    Phillip Thelen

    💻

    Pixieish

    📖

    Prof. dr. Sorcha Ní Dhubhghaill

    📖

    Quentin FELIX

    💻 🎨

    Rik Hekker

    🐛

    Sam Livingston-Gray

    📖

    Sanne

    💻 📖

    Sara Latorre

    🌍

    SeaZeeZee

    📖 💻

    Slylele

    📖 🌍

    Soazillon

    🌍

    SoneaTheBest

    🌍

    Stefan Sydow

    🌍 📖 💻

    Tríona

    📖

    Unmutual

    📖

    Wouter van Wageningen

    💻 🎨 🔧

    amysews

    📖

    beautifulsummermoon

    🌍

    berce

    📖

    biou

    💻

    bobgeorgethe3rd

    💻 📖 🎨

    brmlyklr

    📖

    chri5b

    💻 ⚠️

    dingcycle

    🌍

    drowned-in-books

    💬

    econo202

    📖

    ericamattos

    🌍

    fightingrabbit

    💻

    gaylyndie

    📖

    grimlokason

    💻

    hellgy

    🎨

    jackseye

    📖

    marckiesel

    🌍

    mesil

    🐛

    starfetch

    💻 📖 🌍 🎨

    ttimearl

    🖋

    tuesgloomsday

    📖

    valadaptive

    💻

    viocky

    🌍

    woolishboy

    💻

    yc

    🌍
    - - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/sites/strapi/api/.gitkeep b/sites/strapi/api/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/sites/strapi/config/database.js b/sites/strapi/config/database.js deleted file mode 100644 index 53c6434669b..00000000000 --- a/sites/strapi/config/database.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = ({ env }) => ({ - defaultConnection: 'default', - connections: { - default: { - connector: 'mongoose', - settings: { - host: env('DATABASE_HOST', '127.0.0.1'), - srv: env.bool('DATABASE_SRV', false), - port: env.int('DATABASE_PORT', 27017), - database: env('DATABASE_NAME', 'strapi'), - username: env('DATABASE_USERNAME', null), - password: env('DATABASE_PASSWORD', null), - }, - options: { - authenticationDatabase: env('AUTHENTICATION_DATABASE', null), - ssl: env.bool('DATABASE_SSL', false), - }, - }, - }, -}) diff --git a/sites/strapi/config/functions/bootstrap.js b/sites/strapi/config/functions/bootstrap.js deleted file mode 100644 index 3e3b9c94d39..00000000000 --- a/sites/strapi/config/functions/bootstrap.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -/** - * An asynchronous bootstrap function that runs before - * your application gets started. - * - * This gives you an opportunity to set up your data model, - * run jobs, or perform some special logic. - * - * See more details here: https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#bootstrap - */ - -module.exports = () => {}; diff --git a/sites/strapi/config/functions/cron.js b/sites/strapi/config/functions/cron.js deleted file mode 100644 index fe26854cec6..00000000000 --- a/sites/strapi/config/functions/cron.js +++ /dev/null @@ -1,21 +0,0 @@ -'use strict'; - -/** - * Cron config that gives you an opportunity - * to run scheduled jobs. - * - * The cron format consists of: - * [SECOND (optional)] [MINUTE] [HOUR] [DAY OF MONTH] [MONTH OF YEAR] [DAY OF WEEK] - * - * See more details here: https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#cron-tasks - */ - -module.exports = { - /** - * Simple example. - * Every monday at 1am. - */ - // '0 1 * * 1': () => { - // - // } -}; diff --git a/sites/strapi/config/functions/responses/404.js b/sites/strapi/config/functions/responses/404.js deleted file mode 100644 index bcbfb078a8a..00000000000 --- a/sites/strapi/config/functions/responses/404.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = async (/* ctx */) => { - // return ctx.notFound('My custom message 404'); -}; diff --git a/sites/strapi/config/server.js b/sites/strapi/config/server.js deleted file mode 100644 index bb91d89d62d..00000000000 --- a/sites/strapi/config/server.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = ({ env }) => ({ - host: env('HOST', '0.0.0.0'), - port: env.int('PORT', 1337), - admin: { - auth: { - secret: env('ADMIN_JWT_SECRET', 'you could hardcode a fallback here'), - }, - }, -}) diff --git a/sites/strapi/extensions/.gitkeep b/sites/strapi/extensions/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/sites/strapi/favicon.ico b/sites/strapi/favicon.ico deleted file mode 100644 index 03eec51b180..00000000000 Binary files a/sites/strapi/favicon.ico and /dev/null differ diff --git a/sites/strapi/package.json b/sites/strapi/package.json deleted file mode 100644 index 1ad9001bb9e..00000000000 --- a/sites/strapi/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@freesewing/strapi", - "version": "3.0.0-alpha.0", - "description": "Freesewing's Strapi instance", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://posts.freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "design", - "diy", - "fashion", - "made to measure", - "parametric design", - "sewing" - ], - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "develop": "strapi develop", - "start": "strapi start", - "build": "strapi build", - "strapi": "strapi" - }, - "dependencies": { - "strapi": "3.6.10", - "strapi-admin": "3.6.10", - "strapi-connector-mongoose": "3.6.10", - "strapi-plugin-content-manager": "3.6.10", - "strapi-plugin-content-type-builder": "3.6.10", - "strapi-plugin-email": "3.6.10", - "strapi-plugin-i18n": "3.6.10", - "strapi-plugin-upload": "3.6.10", - "strapi-plugin-users-permissions": "3.6.10", - "strapi-utils": "3.6.10" - }, - "files": [], - "publishConfig": {}, - "engines": { - "node": ">=14.0.0", - "npm": ">=6" - }, - "private": true, - "rollup": {} -} diff --git a/sites/strapi/public/robots.txt b/sites/strapi/public/robots.txt deleted file mode 100644 index c6742d8a8cb..00000000000 --- a/sites/strapi/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Disallow: / diff --git a/sites/strapi/public/uploads/.gitkeep b/sites/strapi/public/uploads/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/sites/svgtopdf/.editorconfig b/sites/svgtopdf/.editorconfig deleted file mode 100644 index 9142239769f..00000000000 --- a/sites/svgtopdf/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_size = 2 -indent_style = space -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/sites/svgtopdf/.github/FUNDING.yml b/sites/svgtopdf/.github/FUNDING.yml deleted file mode 100644 index 099989e0726..00000000000 --- a/sites/svgtopdf/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -custom: https://freesewing.org/patrons/join diff --git a/sites/svgtopdf/.github/ISSUE_TEMPLATE/config.yml b/sites/svgtopdf/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 304b0af70a0..00000000000 --- a/sites/svgtopdf/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: Create issues on our monorepo - url: https://github.com/freesewing/freesewing/issues/new/choose - about: We prefer if you create all FreeSewing issues on the freesewing monorepo. It's easier for us to keep track of things this way. - - name: Chat on Discord - url: https://chat.freesewing.org/ - about: Reach out to us on Discord if you need help or have questions diff --git a/sites/svgtopdf/.gitignore b/sites/svgtopdf/.gitignore deleted file mode 100644 index 225d7216e62..00000000000 --- a/sites/svgtopdf/.gitignore +++ /dev/null @@ -1,67 +0,0 @@ -# Compiled code -build -dist -tests/dist - -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -coverage.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# next.js build output -.next diff --git a/sites/svgtopdf/CODE_OF_CONDUCT.md b/sites/svgtopdf/CODE_OF_CONDUCT.md deleted file mode 100644 index 81da982336e..00000000000 --- a/sites/svgtopdf/CODE_OF_CONDUCT.md +++ /dev/null @@ -1 +0,0 @@ -Please refer to [https://freesewing.dev/contributors/code-of-conduct/](https://freesewing.dev/contributors/code-of-conduct/) diff --git a/sites/svgtopdf/CONTRIBUTING.md b/sites/svgtopdf/CONTRIBUTING.md deleted file mode 100644 index ed1a2e66f4b..00000000000 --- a/sites/svgtopdf/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -Please refer to [https://freesewing.dev/contributors/](https://freesewing.dev/contributors/) diff --git a/sites/svgtopdf/LICENSE b/sites/svgtopdf/LICENSE deleted file mode 100644 index cdbde67f034..00000000000 --- a/sites/svgtopdf/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Joost De Cock - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/sites/svgtopdf/README.md b/sites/svgtopdf/README.md deleted file mode 100644 index 0dc8113b99a..00000000000 --- a/sites/svgtopdf/README.md +++ /dev/null @@ -1,79 +0,0 @@ -![FreeSewing](https://freesewing.org/banner.jpg) -

    Chat with us on Discord - Follow @freesewing_org on Twitter - Follow @freesewing_org on Twitter - Become a FreeSewing Patron -

    - -## What am I looking at? 🤔 - -This repository holds a stand-alone backend API to turn SVG patterns into (tiled) PDFs. - -Our end-goal is to handle this client-side, and have freesewing render to PDF directly. -However, given the complexities of the PDF format, this is non-trivial, so for the time -being we handle this with this backend. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -Our [core library](https://freesewing.dev/) is a *batteries-included* toolbox -for parametric design of sewing patterns. It's a modular system (check our list -of [plugins](https://freesewing.dev/plugins) and getting started is as simple as: - -```bash -npm init freesewing-pattern -``` - -We also have [a template repository](https://github.com/freesewing/pattern) if you prefer to start that way. - -Developer documentation is maintained on [freesewing.dev](https://freesewing.dev/) and -we also have a `#development-help` channel on [Discord](https://discord.freesewing.org/). - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, you too -should [become a patron](https://freesewing.org/patrons/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.org) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chat rooms on Discord](https://discord.freesewing.org) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - diff --git a/sites/svgtopdf/package.json b/sites/svgtopdf/package.json deleted file mode 100644 index e7085098f2b..00000000000 --- a/sites/svgtopdf/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@freesewing/svg2pdf", - "version": "3.0.0-alpha.0", - "description": "A freesewing.org backend to turn SVG patterns into (tiled) PDFs", - "main": "dist/index.js", - "module": "dist/index.mjs", - "scripts": { - "precommit": "npm run pretty && lint-staged", - "patch": "npm version patch -m ':bookmark: v%s' && npm run build", - "minor": "npm version minor -m ':bookmark: v%s' && npm run build", - "major": "npm version major -m ':bookmark: v%s' && npm run build", - "test": "echo \"Error: no test specified\" && exit 0", - "clean": "rimraf dist", - "prettier": "npx prettier --write 'src/**'", - "lint": "eslint --fix \"src/*.js\"", - "dev": "backpack", - "start": "backpack build && pm2 start build/main.js --name freesewing-tiler", - "build": "backpack build" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/freesewing/svg2pdf.git" - }, - "author": "Joost De Cock", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/svg2pdf/issues" - }, - "homepage": "https://github.com/freesewing/svg2pdf#readme", - "prettier": "@freesewing/prettier-config", - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "*.{js,json}": [ - "prettier --write", - "git add" - ] - }, - "dependencies": { - "body-parser": "1.20.0", - "cors": "2.8.5", - "express": "4.18.1", - "express-rate-limit": "^6.2.0", - "formidable": "2.0.1", - "rimraf": "3.0.2", - "shell-exec": "1.1.2" - }, - "devDependencies": { - "@freesewing/prettier-config": "latest", - "backpack-core": "^0.8.4", - "nodemon": "2.0.19" - } -} diff --git a/sites/svgtopdf/src/form.html b/sites/svgtopdf/src/form.html deleted file mode 100644 index d962a5608df..00000000000 --- a/sites/svgtopdf/src/form.html +++ /dev/null @@ -1,82 +0,0 @@ - - - Convert your SVG pattern - - - - -

    - - Freesewing logo - -

    -

    Convert your freesewing pattern

    -
    -

    Upload your pattern

    - -

    Choose a file format

    -

    - - -

    -

    - - -

    -

    Choose a paper size

    -

    - - -

    -

    - - -

    -

    - - -

    -

    - - -

    -

    - - -

    -

    - - -

    -

    - - -

    -

    - - -

    -

    We'll do the rest

    - -
    - - diff --git a/sites/svgtopdf/src/index.js b/sites/svgtopdf/src/index.js deleted file mode 100644 index 4145043dbda..00000000000 --- a/sites/svgtopdf/src/index.js +++ /dev/null @@ -1,146 +0,0 @@ -import express from 'express' -import cors from 'cors' -import bodyParser from 'body-parser' -import path from 'path' -import fs from 'fs' -import formidable from 'formidable' -import shellExec from 'shell-exec' -import rateLimit from 'express-rate-limit' - -const app = express() -app.use(cors()) -app.use(bodyParser.json({ limit: '5mb' })) -const port = process.env.PORT || 4000 -const formats = ['pdf', 'ps'] -const sizes = ['full', 'a4', 'a3', 'a2', 'a1', 'a0', 'letter', 'tabloid'] - -// Load form.html once instead of at every request) -const form = fs.readFileSync(path.resolve(__dirname, 'form.html')) - -app.get('/', async (req, res) => res.set('Content-Type', 'text/html').status(200).send(form)) - -const rateLimiter = rateLimit({ - windowMs: 15 * 60 * 1000, // 15 minutes - max: 50, // Limit to 50 requests per window (15m) - standardHeaders: true, - legacyHeaders: false, -}) - -app.post('/', rateLimiter, async (req, res) => { - let form = new formidable.IncomingForm() - form.parse(req, (err, fields, files) => { - if ( - err || - typeof files.svg === 'undefined' || - formats.indexOf(fields.format) === -1 || - sizes.indexOf(fields.size) === -1 - ) - return res.set('Content-Type', 'text/html').status(200).send(form) - let upload = files.svg.path - let cmd - if (fields.size === 'full') { - // Do not tile - let target = `/tmp/pattern.${fields.format}` - cmd = `/usr/bin/inkscape --export-${fields.format}=${target} ${upload}` - shellExec(cmd).then(() => { - return res.sendFile(target) - }) - } else { - // Do tile - let untiled = '/tmp/untiled.ps' - let tiled = '/tmp/tiled.ps' - cmd = `/usr/bin/inkscape --export-ps=${untiled} ${upload}` - shellExec(cmd).then(() => { - cmd = `/usr/local/bin/tile -a -m${fields.size} -s1 -t"On-demand tiler" ${untiled} > ${tiled}` - shellExec(cmd).then(() => { - if (fields.format === 'ps') return res.sendFile(tiled) - cmd = `/usr/bin/ps2pdf14 ${tiled} ${tiled}.pdf` - shellExec(cmd).then(() => { - return res.sendFile(tiled + '.pdf') - }) - }) - }) - } - }) -}) - -app.post('/api', rateLimiter, async (req, res) => { - if ( - typeof req.body.svg === 'undefined' || - typeof req.body.format === 'undefined' || - typeof req.body.size === 'undefined' || - formats.indexOf(req.body.format) === -1 || - sizes.indexOf(req.body.size) === -1 - ) - return res.sendStatus(400) - let site = 'https://static.freesewing.org/' - let storage = '/fs/storage/tmp/' - let dir = createTempDir(storage) - let svg = storage + dir + '/draft.svg' - let cmd = '' - let url = req.body.url || 'https://freesewing.org/' - let title = req.body.design || 'FreeSewing Pattern' - // Save svg to disk - fs.writeFile(svg, req.body.svg, (err) => { - if (err) { - console.log(err) - return res.sendStatus(500) - } - let target = storage + dir + '/pattern-' + req.body.size - if (req.body.size === 'full') { - // Do not tile - if (req.body.format === 'ps') { - target += '.ps' - cmd = '/usr/bin/inkscape --export-ps=' + target + ' ' + svg - shellExec(cmd).then(() => { - return res.send({ link: `${site}${dir}/pattern-full.ps` }) - }) - } else { - target += '.pdf' - cmd = '/usr/bin/inkscape --export-pdf=' + target + ' ' + svg - shellExec(cmd).then(() => { - return res.send({ link: `${site}tmp/${dir}/pattern-full.pdf` }) - }) - } - } else { - // Do tile - target += '.pdf' - let untiled = storage + dir + '/untiled.ps' - let tiled = storage + dir + '/tiled.ps' - cmd = `/usr/bin/inkscape --export-ps=${untiled} ${svg}` - shellExec(cmd).then(() => { - cmd = `/usr/local/bin/tile -a -m${req.body.size} -s1 -u"${url}" -t"${title}" ${untiled} > ${tiled}` - console.log('tile cmd', cmd) - shellExec(cmd).then(() => { - cmd = `/usr/bin/ps2pdf14 ${tiled} ${target}` - shellExec(cmd).then(() => { - return res.send({ link: `${site}tmp/${dir}/pattern-${req.body.size}.pdf` }) - }) - }) - }) - } - }) -}) - -const createTempDir = (folder) => { - let dir = newDir() - let path = folder + dir - fs.mkdirSync(path, { recursive: true }, (err) => { - if (err) console.log('mkdirFailed', err) - }) - - return dir -} - -const newDir = (length = 10) => { - let dir = '' - let possible = 'abcdefghijklmnopqrstuvwxyz' - for (let i = 0; i < length; i++) - dir += possible.charAt(Math.floor(Math.random() * possible.length)) - - return dir -} - -app.listen(port, (err) => { - console.log(`> listening on port ${port}`) -})