{"componentChunkName":"component---gatsby-theme-spaceout-src-templates-article-template-tsx","path":"/azure-functions-with-typescript","result":{"pageContext":{"article":{"id":"29268019-a0db-5d6e-adc8-85b3a994ee4f","slug":"/azure-functions-with-typescript","secret":false,"title":"Azure Functions with typescript","author":"Luke Celitan","date":"April 4th, 2024","dateForSEO":"2024-04-04T00:00:00.000Z","timeToRead":4,"excerpt":"A quick rundown on how to create an Azure Function using typescript","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Azure Functions with typescript\",\n  \"excerpt\": \"A quick rundown on how to create an Azure Function using typescript\",\n  \"date\": \"2024-04-04T00:00:00.000Z\",\n  \"hero\": \"cover.png\",\n  \"author\": \"Luke Celitan\",\n  \"appDescription\": \"Serverless\",\n  \"category\": \"Post\",\n  \"tech\": [\"TS\", \"Nodejs\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"azure-functions-with-typescript\"\n  }, \"Azure Functions with typescript\"), mdx(\"h2\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"The so-called \\u201CServerless\\u201D technology was introduced by AWS with their Lambda\\nservice, and Azure quickly followed suit with their own rendition, Azure\\nFunctions. Azure Functions is an excellent way to run small pieces of code in\\nthe cloud without having to worry about the underlying infrastructure. Here is a\\nquick guide on how to create Azure Functions using TypeScript.\"), mdx(\"h2\", {\n    \"id\": \"azure-functions-v4\"\n  }, \"Azure Functions v4\"), mdx(\"p\", null, \"Azure Functions v4 is the latest version of Azure Functions. In addition to many\\nlanguages supported by Azure Functions including C#, JavaScript, Java, Python,\\nand PowerShell, Azure Functions v4 has added support for TypeScript.\"), mdx(\"p\", null, \"The almost native support for TypeScript in Azure Functions v4 is a great\\naddition, as it\\u2019s included in the development runtime, CLI commands, and\\ntemplates. In the JavaScript version, users have to add those cumbersome binding\\nJSONs, but this isn\\u2019t necessary in the TypeScript version. Unfortunately, the\\nunderlying Func engine (Azure Core Tools) does not support custom path aliases\\n(@utils) in the tsconfig.json, a feature beloved by TypeScript developers.\"), mdx(\"h2\", {\n    \"id\": \"the-serverless-use-cases\"\n  }, \"The Serverless use cases\"), mdx(\"p\", null, \"Back in the day, when serverless was starting to gain serious hype, dreams of\\nautomatic upscaling went wild. Despite Azure Functions clearly defining its\\npurpose, some people started using them as a replacement for traditional web\\nservers. It became quickly evident that the costs for functions were higher than\\ncontainers or VMs.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Azure Functions are exceptional for small pieces of code that are triggered by\\nevents.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They\\u2019re also an excellent solution for moving interfaces and functions that\\nare significant bottlenecks for the main application.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"They can circumvent current limitations of the main application by creating a\\nnew function that performs tasks incompatible with the main server, or when\\nchanges to the system are costly or risky.\")), mdx(\"h2\", {\n    \"id\": \"development\"\n  }, \"Development\"), mdx(\"p\", null, \"We are obviously working with Node.js here, making the development fairly\\nstraightforward. The func CLI tool, part of the\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.npmjs.com/package/azure-functions-core-tools\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"Azure Core Tools\"), \", is\\nused to create the functions.\"), mdx(\"p\", null, \"The actual SDK package is\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.npmjs.com/package/@azure/functions\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"@azure/functions\"), \", which is\\nused to create the functions and handle requests.\"), mdx(\"p\", null, \"The Node.js \\u201Cprogramming model\\u201D should not be confused with the Azure Functions\\n\\u201Cruntime\\u201D. The programming model defines how you author your code and is\\nspecific to JavaScript/TypeScript. The runtime defines the underlying behavior\\nof Azure Functions and is shared across all languages. The programming model\\nversion is tied firmly to the version of the @azure/functions npm package, and\\nis versioned independently from the runtime.\"), mdx(\"p\", null, \"Unfortunately, both the runtime and the programming model are on \\u201C4\\u201D as their\\nlatest major version, but this is purely coincidental. You cannot mix the v3 and\\nv4 programming models in the same function app. As soon as you register one v4\\nfunction in your app, any v3 functions registered in function.json files are\\nignored.\"), mdx(\"h2\", {\n    \"id\": \"chart-to-image-function\"\n  }, \"Chart to image function\"), mdx(\"p\", null, \"My Azure Function example/template is an HTTP trigger function that creates a\\nPNG based on the node-canvas package given specific request parameters.\"), mdx(\"p\", null, \"Recently, I was tasked with proving a concept for a chart to image conversion.\\nMy main application\\u2019s current stack was having a hard time accepting\\nCanvas-node, known for its difficult installation\", \"*\", \". Azure Function seemed like\\nan elegant solution for this problem.\"), mdx(\"p\", null, \"*\", \"This is a subjective opinion based on the node-canvas issues on the GitHub\\nrepo.\"), mdx(\"p\", null, \"As usual, I added much-needed development tools such as ESLint, Prettier, Husky,\\nand Commitlint for proper code quality maintenance. Additionally, I added the\\nVitest test for unit and integration testing.\"), mdx(\"p\", null, \"You can see a full github repo example\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/MassivDash/chart2img\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"here\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-ts\"\n  }, \"import {\\n  app,\\n  HttpRequest,\\n  HttpResponseInit,\\n  InvocationContext,\\n} from '@azure/functions';\\n\\nimport { extractColors, createCanvas } from '../utils';\\nimport { barChartOptions } from '../charts';\\nimport { Chart, ChartConfiguration, ChartItem, Plugin } from 'chart.js/auto';\\n\\nexport async function barChart(\\n  request: HttpRequest,\\n  context: InvocationContext,\\n): Promise<HttpResponseInit> {\\n  try {\\n    context.log(`Http function processed request for url \\\"${request.url}\\\"`);\\n\\n    const { canvas, ctx } = createCanvas(400, 400);\\n\\n    const plugin: Plugin = {\\n      id: 'customCanvasBackgroundColor',\\n      beforeDraw: (chart, _args, options) => {\\n        const { ctx } = chart;\\n        ctx.save();\\n        ctx.globalCompositeOperation = 'destination-over';\\n        ctx.fillStyle = options.color || '#99ffff';\\n        ctx.fillRect(0, 0, chart.width, chart.height);\\n        ctx.restore();\\n      },\\n    };\\n\\n    const plugins = [plugin];\\n\\n    const labels = request.query.get('labels')?.split(',');\\n    const dataValues = request.query.get('data')?.split(',').map(Number);\\n\\n    if (\\n      !labels ||\\n      labels.length === 0 ||\\n      !dataValues ||\\n      dataValues.length === 0\\n    ) {\\n      throw new Error('Unable to create');\\n    }\\n\\n    const backgroundColorsRaw = request.query.get('backgroundColors');\\n    const borderColorsRaw = request.query.get('borderColors');\\n\\n    const backgroundColors = extractColors(backgroundColorsRaw);\\n    const borderColors = extractColors(borderColorsRaw);\\n    const data = {\\n      labels: labels,\\n      datasets: [\\n        {\\n          label: 'My First Dataset',\\n          data: dataValues,\\n          backgroundColor: backgroundColors,\\n          borderColor: borderColors,\\n          borderWidth: 1,\\n        },\\n      ],\\n    };\\n\\n    const chartConfig = {\\n      type: 'bar',\\n      data: data,\\n      options: barChartOptions,\\n      plugins,\\n    };\\n\\n    new Chart(ctx as unknown as ChartItem, chartConfig as ChartConfiguration);\\n\\n    const pngBuffer = canvas.toBuffer('image/png');\\n\\n    // Set the headers and send the PNG buffer in the response\\n    request.headers.set('Content-Type', 'image/png');\\n    request.headers.set('Content-Length', pngBuffer.length.toString());\\n    return {\\n      status: 200,\\n      body: pngBuffer,\\n      headers: request.headers,\\n    };\\n  } catch (error) {\\n    context.log(error);\\n    return {\\n      status: 500,\\n      body: 'Internal server error',\\n    };\\n  }\\n}\\n\\napp.http('barChart', {\\n  methods: ['GET', 'POST'],\\n  authLevel: 'anonymous',\\n  handler: barChart,\\n});\\n\")), mdx(\"p\", null, \"This function expects almost all data to come in the query parameters, and it\\ndynamically creates the bar chart image. When calling the function, labels,\\ndata, background, and border colors must be supplied.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"https://spacechart.azurewebsites.net/api/barChart?labels=SpaceGhost,Moltar,Metallus,Transit,Zorak,The%20Creature%20King,Blip&data=100,59,80,81,56,55,40&backgroundColors=rgba(255,%2099,%20132,%200.2),rgba(255,%20159,%2064,%200.2),rgba(255,%20205,%2086,%200.2),rgba(75,%20192,%20192,%200.2),rgba(54,%20162,%20235,%200.2),rgba(153,%20102,%20255,%200.2),rgba(201,%20203,%20207,%200.2)&borderColors=rgb(255,%2099,%20132),rgb(255,%20159,%2064),rgb(255,%20205,%2086),rgb(75,%20192,%20192),rgb(54,%20162,%20235),rgb(153,%20102,%20255),rgb(201,%20203,%20207)\\n\")), mdx(\"p\", null, \"The final result is a simple bar chart image that can be downloaded or used in\\napplications, emails, or other mediums that might work better with images.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"400px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"100%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAACWElEQVQ4y41U2XLiMBDk//8uhN0Hx2RrcQDfNvg+NL09sp1gh0qtqK5uCak1mpG1ExFsm9QtUNaQGf+jpSD6ATs1aNsWURRZJEmC0QsA14McPyBkzCzux3NNhnOCxPlkOI6jNe373sIEKXAKIF4IIeNjYvFm7c1a+eRP/b9XSF5g93hkY4w1N3dOzv5yAnfNTkDuWRayjpuCprqOMKOBGLHQ9dZwMc3zHGEYwsRHwN9D/FfIdQ8EB8viH4DrC0z6B0sYRtfPP2toi7ApjKkTJpxHIUxxpQ4sax9kU6eMaOTCgSYDlqA+I9SmucuyDLfbjQuY7OoNpnJhSpf6aFn7k3a4gQO5/+bcs432m6Hm7n6/EwVAQ9AQNECpfJzZnbXyO+Hwivhrw2dHztoaYVMhIsK6/OJ6PabI2gZTfTYRKutx9S665D2P/0rs05Scz5x9av3/Jc3gcO63HD5CB6OmwbmqcSHOVYVLPbOOUV+pfWUibprnhkthGk7w8gFOMuKNcJIBbjrx2zxWdw8p2gSzMqx1xzjGMetwoMGvpMch7tZMZM2oTvYOqsnKEE9adjMIYx49UR7JMrEdEwyDsYbL17Uy1Lun0Mj0YYjjCLE3IuDtCI5iEb5/aZ+3Z+x/MByGweau67rPxyGPDJILkF4EydmQQZa5T8OfItwedypMy3w2NqcVK6taecn1YvLU8LEo+rUEQYCyLHEvSvvVKIpZP97ZrV6w+6q+rKLs+fp2Xc93spt1ZyNYNn4MYjFTvdvuuDy22vRO6rG1VYx6GddnbjFSray10ML+A1NaEFAZa1RoAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/b37843f27eae334b70c2e5221186402c/28a80/barChart.webp 400w\"],\n    \"sizes\": \"(max-width: 400px) 100vw, 400px\",\n    \"type\": \"image/webp\"\n  }), \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/b37843f27eae334b70c2e5221186402c/a3397/barChart.png 400w\"],\n    \"sizes\": \"(max-width: 400px) 100vw, 400px\",\n    \"type\": \"image/png\"\n  }), \"\\n          \", mdx(\"img\", {\n    parentName: \"picture\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/b37843f27eae334b70c2e5221186402c/a3397/barChart.png\",\n    \"alt\": \"Space chart\",\n    \"title\": \"Space chart\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  }), \"\\n        \"), \"\\n    \")), mdx(\"h2\", {\n    \"id\": \"conclusion\"\n  }, \"Conclusion\"), mdx(\"p\", null, \"In summary, serverless functions like Azure Functions have surfaced as\\ninnovative solutions that offer a different perspective to addressing common\\nproblems in scaling and software compatibility. As showcased by the example\\nabove, serverless functions can tackle specific tasks that might not be feasible\\nor efficient within a primary application\\u2019s context.\"), mdx(\"p\", null, \"The advent of AWS\\u2019s Lambda service marked the beginning of a new era of\\nserverless computing, and the technology was soon embraced by Azure in the form\\nof Azure Functions. This new technology was appealing as it allowed small code\\npieces to be executed in the cloud without worrying about managing the\\nunderlying infrastructure. Whatever Azure lacks in first-mover advantage, it\\ntries to compensate with new features and support for a wide array of languages,\\nnotably recently introducing TypeScript support.\"), mdx(\"p\", null, \"However, serverless computing comes with its unique challenges and\\nmisconceptions. Despite their seemingly endless benefits, Azure Functions or its\\nequivalents are not the ultimate solution to every problem\\u2014they cannot and\\nshould not replace traditional web servers entirely. It\\u2019s crucial to understand\\nthat even though serverless functions can auto-scale, their costs can exceed\\nthose of containers or VMs, which can be surprising and detrimental for\\nuncritical adopters.\"), mdx(\"p\", null, \"Instead, serverless functions excel when applied to small tasks, driven by\\nevents. They also function well when moving interfaces and tasks that weigh\\nheavily on the primary application, allowing for improved overall performance.\\nThey can also serve as a perfect solution to address compatibility issues,\\ncircumventing limitations present within the primary application by offering a\\nplatform to build functions that can carry out tasks that the main server is\\nincompatible with.\"), mdx(\"p\", null, \"To conclude, serverless functions, along with exciting emerging technological\\nadvances in the industry, should be seen as beneficial tools within a\\ndeveloper\\u2019s toolbox. However, like any tool, their adoption should be based on\\nneeds, feasibility, and context. A careful understanding of their use cases,\\ncosts, advantages, and disadvantages is mandatory for making an informed choice\\nabout when and how to use Azure Functions or any serverless technology. It is\\nessential to remember that advancements in technology inevitably come with their\\nown set of challenges, and serverless functions are no exception. Therefore,\\nthey should be approached with caution, critical evaluation, and a readiness to\\nadapt and learn.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["TS","Nodejs"],"category":"Post","appDescription":"Serverless","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEVElEQVQ4y21UayycaRT+/vvjl19sm25T20VLd5edJsW4zpjBYLTGaK0q47LubRO6iYhqyLIJVkRco4KgWja7tu7XBnEnEloV9/v9Fgl59j2vzsRu9ktOzve973mf9znnPOcT5ubmsLi4iKWlJSwvL2N1dRVra2vY2tri67OzsygqKkJ6ejoGBgYwNjaGw8NDbG9v8xiyzc1NnQmXAVdWVjgYGW2S7+npQVNTEzo6OlBTUwOFQsHBd3d3sbOzw+O0oBsbGxDm5+c54GV2tLG3t4fR0VG0t7dzluPj4ygvL4dMJoOenh7i4+NxcHCgA9SCCgsLCzp2BEgbBEoXEKuuri40NzejtbUVxcXFsLa2hpGREaysrDA5OYn9/f1/gQpadgRIzGZmZlBbW4uqqirU19ejt7cXg4ODGBkZgVKphCAI0NfXh6GhIerq6nB8fKyr+f8CEuPGxkZu+fn5yMzMhEqlgkajgZmZGQc0MDCASCRCW1sb6Dk6OtI1SZeytoa0QcDkiUFqaioCAwMhkUgQFBQES0tLDmhhYQE/Pz/ExcVhaGiI15MD/rcpBKa9gNKurKyEv78/Z2ZsbAw7OzskJiYiNzcXCQkJiIqK4nFUSyLBAS+zXF9f5zdRCciT5vr7+xETEwNTU1Pk5OTwuPPzc5yenuLs7AwnJydcQjqGBEhGTMkmJib4Nz3EmjRHHW1oaOBMSFLampHXlomao0uZAGhhamqK1ywiIgKlpaVcEqTBkJAQDkqZaGtM7AmULqXMyAtEXws4PT3Np0IsFsPJyQnZ2dm8MQUFBejq7ubgdIiM0iwrK0NFRcUFOwZIWMIbpjkS72c2DX19fXy0HBwc8Pf79ygsLORSoe5SGUpKSpCUlMQvoAkKDQ2FWq1GXl4ehoeHMceyFZ4/e4YKNlKtLc3oZ4De3kp8w7oZHhaGWNYIicSZMc3Cu7dvERUZCVe5HA+ZXH7LyEBMdDRsbW0glUqQlZWJstevIUhUAXD118AnNAaq8Dg8CImGmY0zTO45wlrhA2VwBHzCYkFxtp4q7p2/nPnO0RW3bCWQ+j6Gd3Ak1BFPIdwQu+KO7D7MnD1hLlXittQLlgo17no9gvmX9VsSL/zgpoKluy/bV+KO/AHMXbx5HMVct5HhaxsXXLOWQqBgWUAYPIKjuLf3fQKXn0L5u5NfMOxUgXB+pIE8IJx7t8Cfeaz8cTg3kYca3zq446a9G4zFcghfWYlx5Ud7XBE54OpdR9y0Y2kwViaOCs7Y3EUJE3bAgjExZWvfu/rghq2Mn7nNyFy/J8E1do6yFHk+ZDV0kcHL+z4Unl54lZqGto5ONLW04kNvH/748y+k/ZqB2KfP4e7hCYr99HkWmVm/40mwBuWVVejo7EZefgE704aCopKLnwOJe35+junoQrSfPn7kMmhpaWGzXIFO9l+sq3uHIiajeqbLVykpqK6uxi8vXqCZ6TYtLRXJyclIefkS/wA8nocLH7tgqAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/a1946/cover.png","srcSet":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/5b37e/cover.png 236w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/49058/cover.png 472w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/a1946/cover.png 944w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/6050d/cover.png 1200w","srcWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/99fbb/cover.webp","srcSetWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/77392/cover.webp 236w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/1f177/cover.webp 472w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/99fbb/cover.webp 944w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/9000d/cover.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M197%201l-1%202-1%201c-2%200-2%200-2%202l-2%204-1%201v3l-3-1c-1-1-1-1-1%201l-1%203c-2%201%201%203%206%204%204%202%205%202%206%200l3-1v-1l2-3h3l4%202c3%200%204%200%203-1%200-2%201-2%204-2l4%201-4%201c-2%200-2%200-1%201h5l2-1c-2%200%200-2%203-2%205%200%2013%205%2012%207v3l-2%201c-4%201-4%203%202%204l3%202h-3l-1%201%203%201c4-1%204%201%200%204l-2%203h-4c-4%200-4%200-2%201%203%201%203%203%200%202l-3%201v1l1%201c-1%201%200%201%202%201l6%203%204%203%201%201c0%202-11%202-12%201h-4l-4%201c-3%201-2%201%2011%203l17%205%203%201h-3c-3%200-3%200-1%201%203%202-3%202-12%201h-12l9%203c8%200%207%201%200%201l-10%201%201%201%202%201h5c2%201%202%201%200%201s-3%201%200%203c1%201%201%201-1%201-4%200-6%202-3%202h3l-2%202c-2%201-3%203-3%205l-1%202c-2-1-1%200%201%202v2c-2%200-2%203%200%205%202%201-2%202-11%201-7%200-7%200-6%201l3%202c2%200%202%201%203%203%200%202%200%202-2%202l-2-1%201-1-1-1c-1%200-2%200-1%201l-3%201-8-1-13-3h-9l-8-1-10-2c-3%200-8-4-8-6h-1l-1-1v-3h2c4%201%203-2-2-4-6-3-6-3-6%200s0%203-6%202c-4%200-5%200-4%201l6%201c3%200%204%200%204%202l4%2017h7l-2-3-1-2c1%201%203%200%204-1%202-1%206%200%206%202%200%201%202%202%2010%203h4c1%201%205%203%206%202l1%204c0%204%202%206%2010%208l3%201-3%201c-4%202-7%201-28-5-19-6-18-5-16-4l31%2010c12%203%2012%203%2014%201s3-3%203%200l-2%201-1%202%207%201%202%201-3%201h-3v1l20%204a1141%201141%200%200080%2013c4%202%205%202%206%201v-1l-1-1%203%201c4%201%2040%202%2047%201%204-1%208-4%208-6l-6-7%201%202c5%206%201%2010-10%2011-3%200-4%200-3-1%2012-2%2015-4%2011-9l-1-3v-1h-2c-2%200-2%200-1-1h-1c-2%200-2%200-1-1v-1h-1l-1-1h-1l-1-1h-2c1-1-21-9-22-8l-1-1-2-2-2-4c-1-1-1-1-1%201v4l-10-3%201-7c2-6%202-11%202-19%201-15%200-18-3-18l-16-3%209%201c10%201%2011%200%201-2l-6-1%206%201c8%200%208%201%201-14a85%2085%200%2000-72-45c-8%200-11-1-11-5h-2l-1-1V4c2-2%201-3-3-4-1%200-2%201-2%204%200%204-1%205-5%204h-4V1m-27%2071c-1%202%201%204%202%202%202-1%2012%200%2031%206l9%201%206%201%203%201c3%200-2-3-6-4-15-4-22-5-22-4h-5l-6-2-5-2h-5c-1-1-2-1-2%201m-49%2010l-7%203c-2%200-3%204-2%204l18%201-1-4-1-2c0%202%200%202-3%200l-3-2h-1m94%2036l-1%208c0%203%202%203%203%200%200-1%201-2%203-1l13-2h-4c-5%200-7-1-7-5%200-2%201-3%206-3l6-1h-7l-9-2c-3%200-3%200-3%206m-61%209c2%205%204%207%205%206%201-2%2019%205%2031%2011l7%204h-16v-1h-3l-5-1v1l-1-1c-1-2-6-3-6-2l19%2015%204%203c-1%200-1%202%201%204%201%201%201%201%202-1%200-2%200-2%205-1l3%202v9c0%205%200%206%201%204l1-9v-4l8%202%209%202v4c0%203%200%204-2%204v1c1%201%201%201-1%201l-7%201c-7%201-3%203%207%203%204%200%204%200%204%204s2%204%203%200c0-3%201-3%203-3%206%200%2016-1%2018-3%201-1%201-1-1-1l-2-1-3-1c-4%200-4-9-1-9a97%2097%200%200043-20l-18-3a935%20935%200%2001-108-20m141%203v4l1%202c0%202%201%202%207%202l6-1v-1c2-2-2-5-9-8-2-1-3%200-5%202m-82%205a552%20552%200%200075%2012h2l-2-1-4-2h-4l-15-2a1049%201049%200%2001-52-7m-59%202c-2%200-2%201-1%201v3l1%201h-2v1c2%202%202%202%200%202v1c2%202%201%203-2%204s-4%203-1%204c4%202%209%201%2012-2%207-7%201-19-7-15m-33%2051v4l-1%202c-2%200-2%201-2%203s0%203%202%203l1%202-1%202-2%201c-2%200-7-7-7-10h-1l-1%203c0%203%200%203%201%202s1-1%202%201l-1%204v4c-2%200-2-3-1-5%202-2%201-2-3-1-4%200-5%204-3%206l2%202-4-2c-2-2-2-2-4-1-3%201-3%204%200%203v1l-1%206%201%205c0%202%201%204%203%205l2%204%201%202c1%200%201%2010-1%2010l-1%203-1%204-1%204-1%205c-1%201%200%202%201%203%201%202%201%202-1%202s-3-1-3-6l1-7c2-2%200-8-3-11-4-4-4-6%200-7l2-3c-1-2-3-3-3-1l-2%202-2%202c-1%201-5%202-5%200%200-1-1-1-1%201-1%202-2%205-2%2011l-1%206c-2%205%200%2019%202%2018h7l-3%201c-1%200-2%200-1%201l-3%201-3%201h-3l-4%201H57l3%201%204%201h2l3-1v1c-2%201%203%201%209-1%202%200%202%200%201%201-2%202-2%202%201%202l3-1h2l2-1h-1l-1-1c0-1%203-3%205-3v1l-2%203c-1%202%200%202%208%202l4%201-1%201v2l-1%202-49%201H0v90h12l21%202c10%201%2015%201%2037-3h4l-5-3-5-2%207%201c19%201%2031%200%2020-3l-23-7h5a832%20832%200%200087%200c32%200%2036%200%2032%201l-11%202c-7%202-9%202-10%201h-1c-1%202-1%202%204%204l4%201-4%201c-2%202-4%202-7%202h-4l-2-1h-4l-2%201h-3l-3-1c0-1-3-1-4%201l-1%202%203%201%209%202c8%202%2013%203%2013%201-1-1%200-1%206-1l8%201%206%201%2011%201h10c0%202%2019%205%2041%206l15%201v12h6c6%200%207-1%207-7l1-5%201-3v-4c2-4%203-6%203-11%200-4%200-4%204-4%203-1%204%200%205%204l3%205%201%203%203%203%201%201v4c-1%207-2%2011-4%2010-3-1-6%200-5%202h4l3%201h2c2%201%2013%201%2012-1v-9c0-5-1-7-2-8v-2l-4-8-4-9c1-1%2023-2%2025%200%201%200%201%201-1%201-3%203%2019%206%2030%204%207-1%206-1-2-2-9-2-5-2%209-2%209%200%2013%200%2011-1-5-1-5-2%200-2l15%201h10v6c0%204%200%205-2%205v-1c1-1%201-1-1-1l-2%201-4%201c-4%200-5%200-4%201%200%202-5%205-10%205l-7%202-8%201h-4l2%202c0%201-18%204-29%204l-11%201%202%201h4c2%201-3%202-7%201l-3%201%201%201%201%201c-1%201%200%202%202%202a133%20133%200%200033-1l-3%204c-4%201-1%202%206%202l6-1h7l18%201h13v-7l-10%201h-28l11-9a323%20323%200%200021-4c-1-1%200-1%202-3l4-2%201-46v-44h-40l-40-1%2028-1c17%200%2027%200%2025-1l-10-1-7-1%201-2c0-1%201-2%202-1l1-1-2-1h-1l-1%201c-4%200-2-3%203-4%204-1%205-2%203-8-3-7-3-12-1-12l1-1-2-1c-3%200-5-2-3-3s0-10-3-11v1c1%200%201%203-1%205l-1%203c0%204%200%205-3%205l-3%202h3c2%200%202%200%202%205%200%204%200%205-2%205l-2%202c-1%202-2%201-1-2l-1-5c-1-1-2-2-1-4l-1-3c-2%200-2-1-2-10l-1-12c-1-1-1%202-1%2011%200%208%200%2012-1%2011l-2%201c0%201-1%202-2%201-2%200-3%201%200%203%202%202%201%203-1%203s-3-1-3-2h-1l-1-1v-3l2-6c1-5%201-6-2-8l-2-4-1-1v-2c0-3-2-5-8-6-2-1-3-1-2%201l-1%201c-1-1-1%200-1%201h-4c-4%200-4%205-1%208%203%202%203%202%201%202-2%201-2%202-2%206l1%204h1l-1%202h-3l-2%201c-4-1-4%204-1%205%206%202%209%200%209-6l1-2c1%200%205%203%203%203s-4%203-3%206v9c-1%206-1%206-4%206s-4-1-2-3c1-1%200-3-1-2l-1-1-1-1-1%204c1%203%201%203-2%202h-4l-1-9-1-9c-1-1-2-2-1-4%200-3-3-7-5-5%200%201-1%202-3%202l-1%202-3%205c-2%202-2%204%201%204l1%202%201%201%201%203%201%204c3%200-2%205-5%206l-4%201h-2l-2-2-1-2c-2%200-3-5-3-13l-2-4-2-4c0-2-2-3-2-3-2%200-2-1-1-3l-1-2h-1l-7-1-1%203-2%201h-1l-1-1v5c2%203%201%203-4%209l-2%202-2-2c-1-1-2-3-1-4l-1-3-2%201h-1l-4%202c-1%201-2%202-3%201v-2c1-1%201-2-1-3l-2-2-2%202-2%201%201-2%201-1c-1-1%200-1%201-1l2-1h-1l-2-1c0-2-2-3-4-1h-2c0-2-2-1-1%201l1%202v2l-1%205%202%2010c2%208%202%208-5%208-4%200-5%201-5%202%200%202%200%202%202%201h5l4%201%205%201%204%202%206%201c1%201%201%201-1%201h-17l-8-2c-5-2-7-7-5-11%202-2-1-6-3-5l-2-1c-2-1-4%207-2%209%202%201%200%202-4%201-3-1-3-1-1-13l3-7c1%201%203%203%202%204l1%201c2-1%201-10-1-16-2-3-3-5-2-6%201-2%200-7-2-6l-2-1c0-2-3-1-3%201l-2%202c-1%200-2-1-1-2h-1c-3%204-3%206%201%205%203-1%203-1%203%201s-2%203-2%201h-5v1l-1%201-3-3c-2-3-4-4-5-2v2h-1l-1%202-2%204v-3l2-5c1-2%201-2-1-2-3-1-4%200-2%201l-1%204c-1%203-1%203-2%201s-1-2-2%202c-1%203-2%205-4%205h-3c0-2%202-3%204-3l1-2%201-3%201-4-4%203-2%202c-1-1-1%200-1%201l-1%202c-2%200-6%207-6%209l-1%201c-2%200-3%203-1%205l1%205c0%204%200%204-2%204-5%200-9%205-5%208%201%202%201%202%204%200%203-1%206-2%2014-1%206%200%206%201%200%202-4%200-6%201-4%202l-4%201-9%201h-5v-1l1-1c-1-1%200-1%201-1l1-1-3-1c-2%200-4-4-3-6h-1c-4%200-7-1-5-2v-4l-1-1-1-2-1-5v-2c-1-2%200-6%203-6%205-2%204-10-1-12h-2l2-1h5l1-2%203-1c1%200%201%201-1%202l-2%203%203-2c4-3%2013-1%2013%203%200%202%202%201%203-1%201-3%203-5%206-5s3%200%202-1c-2-1-2-1%200-1%201%200%202%200%201-1v-1l-2-1c-1%201-3%200-5-1l-2-2%204-3%207-2c2%200%203-2%202-4%200-2-2-2-4%200-1%202-9%202-13%200-3-2-4-2-4-1h-1c-2%200-3%200-2%202h-2l-3-1-1-1v-1l-1%201-1%201-2-2h-3l1-1-2-2c-3-1-4-2-3-3%201-3%201-17-1-17l-1%202m85%2015l-1%202-2%202-3%204-1%202c-5%204-3%208%204%2010%209%203%2017-8%2012-17-2-5-6-6-9-3M19%20245l-1%203c-1%202-1%202-3-1l-1-1v6c-1%201-1%200-1-1l-4%207-4%203-1%202c2%202-1%207-3%206-1-1-1-1-1%203v4h5c4%200%204%200%203-1l-1-3-1-2v-2c0-3%201-3%203-2%203%200%201%2013-1%2016l-2%202h2c5%200%209%200%2011-2l17-1h19c4-1%203-1-6-1l-16-1H20l2-1%203-1h-4c-4%201-5%200-2-2l1-2-2-1c0-1%201-2%203-2%206%200%208-2%207-5l-2-4c-2-2-3-9-3-12s-1-6-3-6l-1%202m32%2015c-2%200-4%206-3%207l-1%203h-2c-1-2-1-2-3-1h-3l-2%202%202%201h3l-3%201-2%201%202%201%207-2%205-1%202-1c2%200%203%200%202-3v-6c-1-2-1-3-4-2m343%207c-3%202-5%202-6%201-2-2-5-1-4%201l-10%204-11%204h25l7-2c-2-1-2-1%201-3%202-1%204-2%204-4s0-2-6-1m-219%202l-4%201c-5%201-5%201-2%202l3%202c0%202%203%203%2010%203%202%200%203%200%202%201l-4%201-14%204c-4%200-5-2-2-2s-2-2-6-2c-3%200-2%202%201%203%203%200%203%200%201%201s-2%201%201%201%203%200%202%201%2012%201%2034%201c33%200%2036-1%2019-3l-4-1c1-1%200-1-2-1-5%200-12-2-9-2%202%200%200-2-3-2-5%200-16-3-15-4%202-2%200-4-4-4h-4m71%209c-10%200-13%201-8%202h13c3-1%204-1%202%201l-2%203c0%202%203%202%2029%202%2029%200%2030%200%2027-4-1-2-3-2-10-1-15%202-37%202-35%200l4-1c3-1%203-1-1-1l-5-1-3-1-11%201m11%2042c-2%200-2%201-2%207l1%207%201-2%202-2c5%200%207-4%205-9-2-2-2-2-7-1m-54%2041l-3%203h-3l3%201%203%201-5%201c-3%201-5%203-5%204l-2%202c-3%200-1%202%202%201%203%200%205-2%203-2-3%200%208-3%2014-3h4l-1%201%2011-6-15-2-5-1h-1m47%200c-17%200-20%201-17%204%202%202%202%203%202%207l-1%205%205%201a293%20293%200%200027%205v-1l1%203%201%203%201-3%202-4%201-3v-2l-1-3-2-2h4c3-1%204-3%202-2l-2-1-1-1-6-5-16-1m-88%2031c-3%202-6%203-4%201l-1-1-2%201c-1%201%200%201%201%201v1l-3%201-2%201c-2%202-2%203-1%203l2-1%204-1%203-1-3%201c-3%202-3%202%206%202h9l-1-3-4-8-4%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEVElEQVQ4y21UayycaRT+/vvjl19sm25T20VLd5edJsW4zpjBYLTGaK0q47LubRO6iYhqyLIJVkRco4KgWja7tu7XBnEnEloV9/v9Fgl59j2vzsRu9ktOzve973mf9znnPOcT5ubmsLi4iKWlJSwvL2N1dRVra2vY2tri67OzsygqKkJ6ejoGBgYwNjaGw8NDbG9v8xiyzc1NnQmXAVdWVjgYGW2S7+npQVNTEzo6OlBTUwOFQsHBd3d3sbOzw+O0oBsbGxDm5+c54GV2tLG3t4fR0VG0t7dzluPj4ygvL4dMJoOenh7i4+NxcHCgA9SCCgsLCzp2BEgbBEoXEKuuri40NzejtbUVxcXFsLa2hpGREaysrDA5OYn9/f1/gQpadgRIzGZmZlBbW4uqqirU19ejt7cXg4ODGBkZgVKphCAI0NfXh6GhIerq6nB8fKyr+f8CEuPGxkZu+fn5yMzMhEqlgkajgZmZGQc0MDCASCRCW1sb6Dk6OtI1SZeytoa0QcDkiUFqaioCAwMhkUgQFBQES0tLDmhhYQE/Pz/ExcVhaGiI15MD/rcpBKa9gNKurKyEv78/Z2ZsbAw7OzskJiYiNzcXCQkJiIqK4nFUSyLBAS+zXF9f5zdRCciT5vr7+xETEwNTU1Pk5OTwuPPzc5yenuLs7AwnJydcQjqGBEhGTMkmJib4Nz3EmjRHHW1oaOBMSFLampHXlomao0uZAGhhamqK1ywiIgKlpaVcEqTBkJAQDkqZaGtM7AmULqXMyAtEXws4PT3Np0IsFsPJyQnZ2dm8MQUFBejq7ubgdIiM0iwrK0NFRcUFOwZIWMIbpjkS72c2DX19fXy0HBwc8Pf79ygsLORSoe5SGUpKSpCUlMQvoAkKDQ2FWq1GXl4ehoeHMceyFZ4/e4YKNlKtLc3oZ4De3kp8w7oZHhaGWNYIicSZMc3Cu7dvERUZCVe5HA+ZXH7LyEBMdDRsbW0glUqQlZWJstevIUhUAXD118AnNAaq8Dg8CImGmY0zTO45wlrhA2VwBHzCYkFxtp4q7p2/nPnO0RW3bCWQ+j6Gd3Ak1BFPIdwQu+KO7D7MnD1hLlXittQLlgo17no9gvmX9VsSL/zgpoKluy/bV+KO/AHMXbx5HMVct5HhaxsXXLOWQqBgWUAYPIKjuLf3fQKXn0L5u5NfMOxUgXB+pIE8IJx7t8Cfeaz8cTg3kYca3zq446a9G4zFcghfWYlx5Ud7XBE54OpdR9y0Y2kwViaOCs7Y3EUJE3bAgjExZWvfu/rghq2Mn7nNyFy/J8E1do6yFHk+ZDV0kcHL+z4Unl54lZqGto5ONLW04kNvH/748y+k/ZqB2KfP4e7hCYr99HkWmVm/40mwBuWVVejo7EZefgE704aCopKLnwOJe35+junoQrSfPn7kMmhpaWGzXIFO9l+sq3uHIiajeqbLVykpqK6uxi8vXqCZ6TYtLRXJyclIefkS/wA8nocLH7tgqAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/3ddd4/cover.png","srcSet":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/078a8/cover.png 163w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/e56da/cover.png 327w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/3ddd4/cover.png 653w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/c5cc7/cover.png 980w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/6050d/cover.png 1200w","srcWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/0acdf/cover.webp","srcSetWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/ac59e/cover.webp 163w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/7660b/cover.webp 327w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/0acdf/cover.webp 653w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/75470/cover.webp 980w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/9000d/cover.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M197%201l-1%202-1%201c-2%200-2%200-2%202l-2%204-1%201v3l-3-1c-1-1-1-1-1%201l-1%203c-2%201%201%203%206%204%204%202%205%202%206%200l3-1v-1l2-3h3l4%202c3%200%204%200%203-1%200-2%201-2%204-2l4%201-4%201c-2%200-2%200-1%201h5l2-1c-2%200%200-2%203-2%205%200%2013%205%2012%207v3l-2%201c-4%201-4%203%202%204l3%202h-3l-1%201%203%201c4-1%204%201%200%204l-2%203h-4c-4%200-4%200-2%201%203%201%203%203%200%202l-3%201v1l1%201c-1%201%200%201%202%201l6%203%204%203%201%201c0%202-11%202-12%201h-4l-4%201c-3%201-2%201%2011%203l17%205%203%201h-3c-3%200-3%200-1%201%203%202-3%202-12%201h-12l9%203c8%200%207%201%200%201l-10%201%201%201%202%201h5c2%201%202%201%200%201s-3%201%200%203c1%201%201%201-1%201-4%200-6%202-3%202h3l-2%202c-2%201-3%203-3%205l-1%202c-2-1-1%200%201%202v2c-2%200-2%203%200%205%202%201-2%202-11%201-7%200-7%200-6%201l3%202c2%200%202%201%203%203%200%202%200%202-2%202l-2-1%201-1-1-1c-1%200-2%200-1%201l-3%201-8-1-13-3h-9l-8-1-10-2c-3%200-8-4-8-6h-1l-1-1v-3h2c4%201%203-2-2-4-6-3-6-3-6%200s0%203-6%202c-4%200-5%200-4%201l6%201c3%200%204%200%204%202l4%2017h7l-2-3-1-2c1%201%203%200%204-1%202-1%206%200%206%202%200%201%202%202%2010%203h4c1%201%205%203%206%202l1%204c0%204%202%206%2010%208l3%201-3%201c-4%202-7%201-28-5-19-6-18-5-16-4l31%2010c12%203%2012%203%2014%201s3-3%203%200l-2%201-1%202%207%201%202%201-3%201h-3v1l20%204a1141%201141%200%200080%2013c4%202%205%202%206%201v-1l-1-1%203%201c4%201%2040%202%2047%201%204-1%208-4%208-6l-6-7%201%202c5%206%201%2010-10%2011-3%200-4%200-3-1%2012-2%2015-4%2011-9l-1-3v-1h-2c-2%200-2%200-1-1h-1c-2%200-2%200-1-1v-1h-1l-1-1h-1l-1-1h-2c1-1-21-9-22-8l-1-1-2-2-2-4c-1-1-1-1-1%201v4l-10-3%201-7c2-6%202-11%202-19%201-15%200-18-3-18l-16-3%209%201c10%201%2011%200%201-2l-6-1%206%201c8%200%208%201%201-14a85%2085%200%2000-72-45c-8%200-11-1-11-5h-2l-1-1V4c2-2%201-3-3-4-1%200-2%201-2%204%200%204-1%205-5%204h-4V1m-27%2071c-1%202%201%204%202%202%202-1%2012%200%2031%206l9%201%206%201%203%201c3%200-2-3-6-4-15-4-22-5-22-4h-5l-6-2-5-2h-5c-1-1-2-1-2%201m-49%2010l-7%203c-2%200-3%204-2%204l18%201-1-4-1-2c0%202%200%202-3%200l-3-2h-1m94%2036l-1%208c0%203%202%203%203%200%200-1%201-2%203-1l13-2h-4c-5%200-7-1-7-5%200-2%201-3%206-3l6-1h-7l-9-2c-3%200-3%200-3%206m-61%209c2%205%204%207%205%206%201-2%2019%205%2031%2011l7%204h-16v-1h-3l-5-1v1l-1-1c-1-2-6-3-6-2l19%2015%204%203c-1%200-1%202%201%204%201%201%201%201%202-1%200-2%200-2%205-1l3%202v9c0%205%200%206%201%204l1-9v-4l8%202%209%202v4c0%203%200%204-2%204v1c1%201%201%201-1%201l-7%201c-7%201-3%203%207%203%204%200%204%200%204%204s2%204%203%200c0-3%201-3%203-3%206%200%2016-1%2018-3%201-1%201-1-1-1l-2-1-3-1c-4%200-4-9-1-9a97%2097%200%200043-20l-18-3a935%20935%200%2001-108-20m141%203v4l1%202c0%202%201%202%207%202l6-1v-1c2-2-2-5-9-8-2-1-3%200-5%202m-82%205a552%20552%200%200075%2012h2l-2-1-4-2h-4l-15-2a1049%201049%200%2001-52-7m-59%202c-2%200-2%201-1%201v3l1%201h-2v1c2%202%202%202%200%202v1c2%202%201%203-2%204s-4%203-1%204c4%202%209%201%2012-2%207-7%201-19-7-15m-33%2051v4l-1%202c-2%200-2%201-2%203s0%203%202%203l1%202-1%202-2%201c-2%200-7-7-7-10h-1l-1%203c0%203%200%203%201%202s1-1%202%201l-1%204v4c-2%200-2-3-1-5%202-2%201-2-3-1-4%200-5%204-3%206l2%202-4-2c-2-2-2-2-4-1-3%201-3%204%200%203v1l-1%206%201%205c0%202%201%204%203%205l2%204%201%202c1%200%201%2010-1%2010l-1%203-1%204-1%204-1%205c-1%201%200%202%201%203%201%202%201%202-1%202s-3-1-3-6l1-7c2-2%200-8-3-11-4-4-4-6%200-7l2-3c-1-2-3-3-3-1l-2%202-2%202c-1%201-5%202-5%200%200-1-1-1-1%201-1%202-2%205-2%2011l-1%206c-2%205%200%2019%202%2018h7l-3%201c-1%200-2%200-1%201l-3%201-3%201h-3l-4%201H57l3%201%204%201h2l3-1v1c-2%201%203%201%209-1%202%200%202%200%201%201-2%202-2%202%201%202l3-1h2l2-1h-1l-1-1c0-1%203-3%205-3v1l-2%203c-1%202%200%202%208%202l4%201-1%201v2l-1%202-49%201H0v90h12l21%202c10%201%2015%201%2037-3h4l-5-3-5-2%207%201c19%201%2031%200%2020-3l-23-7h5a832%20832%200%200087%200c32%200%2036%200%2032%201l-11%202c-7%202-9%202-10%201h-1c-1%202-1%202%204%204l4%201-4%201c-2%202-4%202-7%202h-4l-2-1h-4l-2%201h-3l-3-1c0-1-3-1-4%201l-1%202%203%201%209%202c8%202%2013%203%2013%201-1-1%200-1%206-1l8%201%206%201%2011%201h10c0%202%2019%205%2041%206l15%201v12h6c6%200%207-1%207-7l1-5%201-3v-4c2-4%203-6%203-11%200-4%200-4%204-4%203-1%204%200%205%204l3%205%201%203%203%203%201%201v4c-1%207-2%2011-4%2010-3-1-6%200-5%202h4l3%201h2c2%201%2013%201%2012-1v-9c0-5-1-7-2-8v-2l-4-8-4-9c1-1%2023-2%2025%200%201%200%201%201-1%201-3%203%2019%206%2030%204%207-1%206-1-2-2-9-2-5-2%209-2%209%200%2013%200%2011-1-5-1-5-2%200-2l15%201h10v6c0%204%200%205-2%205v-1c1-1%201-1-1-1l-2%201-4%201c-4%200-5%200-4%201%200%202-5%205-10%205l-7%202-8%201h-4l2%202c0%201-18%204-29%204l-11%201%202%201h4c2%201-3%202-7%201l-3%201%201%201%201%201c-1%201%200%202%202%202a133%20133%200%200033-1l-3%204c-4%201-1%202%206%202l6-1h7l18%201h13v-7l-10%201h-28l11-9a323%20323%200%200021-4c-1-1%200-1%202-3l4-2%201-46v-44h-40l-40-1%2028-1c17%200%2027%200%2025-1l-10-1-7-1%201-2c0-1%201-2%202-1l1-1-2-1h-1l-1%201c-4%200-2-3%203-4%204-1%205-2%203-8-3-7-3-12-1-12l1-1-2-1c-3%200-5-2-3-3s0-10-3-11v1c1%200%201%203-1%205l-1%203c0%204%200%205-3%205l-3%202h3c2%200%202%200%202%205%200%204%200%205-2%205l-2%202c-1%202-2%201-1-2l-1-5c-1-1-2-2-1-4l-1-3c-2%200-2-1-2-10l-1-12c-1-1-1%202-1%2011%200%208%200%2012-1%2011l-2%201c0%201-1%202-2%201-2%200-3%201%200%203%202%202%201%203-1%203s-3-1-3-2h-1l-1-1v-3l2-6c1-5%201-6-2-8l-2-4-1-1v-2c0-3-2-5-8-6-2-1-3-1-2%201l-1%201c-1-1-1%200-1%201h-4c-4%200-4%205-1%208%203%202%203%202%201%202-2%201-2%202-2%206l1%204h1l-1%202h-3l-2%201c-4-1-4%204-1%205%206%202%209%200%209-6l1-2c1%200%205%203%203%203s-4%203-3%206v9c-1%206-1%206-4%206s-4-1-2-3c1-1%200-3-1-2l-1-1-1-1-1%204c1%203%201%203-2%202h-4l-1-9-1-9c-1-1-2-2-1-4%200-3-3-7-5-5%200%201-1%202-3%202l-1%202-3%205c-2%202-2%204%201%204l1%202%201%201%201%203%201%204c3%200-2%205-5%206l-4%201h-2l-2-2-1-2c-2%200-3-5-3-13l-2-4-2-4c0-2-2-3-2-3-2%200-2-1-1-3l-1-2h-1l-7-1-1%203-2%201h-1l-1-1v5c2%203%201%203-4%209l-2%202-2-2c-1-1-2-3-1-4l-1-3-2%201h-1l-4%202c-1%201-2%202-3%201v-2c1-1%201-2-1-3l-2-2-2%202-2%201%201-2%201-1c-1-1%200-1%201-1l2-1h-1l-2-1c0-2-2-3-4-1h-2c0-2-2-1-1%201l1%202v2l-1%205%202%2010c2%208%202%208-5%208-4%200-5%201-5%202%200%202%200%202%202%201h5l4%201%205%201%204%202%206%201c1%201%201%201-1%201h-17l-8-2c-5-2-7-7-5-11%202-2-1-6-3-5l-2-1c-2-1-4%207-2%209%202%201%200%202-4%201-3-1-3-1-1-13l3-7c1%201%203%203%202%204l1%201c2-1%201-10-1-16-2-3-3-5-2-6%201-2%200-7-2-6l-2-1c0-2-3-1-3%201l-2%202c-1%200-2-1-1-2h-1c-3%204-3%206%201%205%203-1%203-1%203%201s-2%203-2%201h-5v1l-1%201-3-3c-2-3-4-4-5-2v2h-1l-1%202-2%204v-3l2-5c1-2%201-2-1-2-3-1-4%200-2%201l-1%204c-1%203-1%203-2%201s-1-2-2%202c-1%203-2%205-4%205h-3c0-2%202-3%204-3l1-2%201-3%201-4-4%203-2%202c-1-1-1%200-1%201l-1%202c-2%200-6%207-6%209l-1%201c-2%200-3%203-1%205l1%205c0%204%200%204-2%204-5%200-9%205-5%208%201%202%201%202%204%200%203-1%206-2%2014-1%206%200%206%201%200%202-4%200-6%201-4%202l-4%201-9%201h-5v-1l1-1c-1-1%200-1%201-1l1-1-3-1c-2%200-4-4-3-6h-1c-4%200-7-1-5-2v-4l-1-1-1-2-1-5v-2c-1-2%200-6%203-6%205-2%204-10-1-12h-2l2-1h5l1-2%203-1c1%200%201%201-1%202l-2%203%203-2c4-3%2013-1%2013%203%200%202%202%201%203-1%201-3%203-5%206-5s3%200%202-1c-2-1-2-1%200-1%201%200%202%200%201-1v-1l-2-1c-1%201-3%200-5-1l-2-2%204-3%207-2c2%200%203-2%202-4%200-2-2-2-4%200-1%202-9%202-13%200-3-2-4-2-4-1h-1c-2%200-3%200-2%202h-2l-3-1-1-1v-1l-1%201-1%201-2-2h-3l1-1-2-2c-3-1-4-2-3-3%201-3%201-17-1-17l-1%202m85%2015l-1%202-2%202-3%204-1%202c-5%204-3%208%204%2010%209%203%2017-8%2012-17-2-5-6-6-9-3M19%20245l-1%203c-1%202-1%202-3-1l-1-1v6c-1%201-1%200-1-1l-4%207-4%203-1%202c2%202-1%207-3%206-1-1-1-1-1%203v4h5c4%200%204%200%203-1l-1-3-1-2v-2c0-3%201-3%203-2%203%200%201%2013-1%2016l-2%202h2c5%200%209%200%2011-2l17-1h19c4-1%203-1-6-1l-16-1H20l2-1%203-1h-4c-4%201-5%200-2-2l1-2-2-1c0-1%201-2%203-2%206%200%208-2%207-5l-2-4c-2-2-3-9-3-12s-1-6-3-6l-1%202m32%2015c-2%200-4%206-3%207l-1%203h-2c-1-2-1-2-3-1h-3l-2%202%202%201h3l-3%201-2%201%202%201%207-2%205-1%202-1c2%200%203%200%202-3v-6c-1-2-1-3-4-2m343%207c-3%202-5%202-6%201-2-2-5-1-4%201l-10%204-11%204h25l7-2c-2-1-2-1%201-3%202-1%204-2%204-4s0-2-6-1m-219%202l-4%201c-5%201-5%201-2%202l3%202c0%202%203%203%2010%203%202%200%203%200%202%201l-4%201-14%204c-4%200-5-2-2-2s-2-2-6-2c-3%200-2%202%201%203%203%200%203%200%201%201s-2%201%201%201%203%200%202%201%2012%201%2034%201c33%200%2036-1%2019-3l-4-1c1-1%200-1-2-1-5%200-12-2-9-2%202%200%200-2-3-2-5%200-16-3-15-4%202-2%200-4-4-4h-4m71%209c-10%200-13%201-8%202h13c3-1%204-1%202%201l-2%203c0%202%203%202%2029%202%2029%200%2030%200%2027-4-1-2-3-2-10-1-15%202-37%202-35%200l4-1c3-1%203-1-1-1l-5-1-3-1-11%201m11%2042c-2%200-2%201-2%207l1%207%201-2%202-2c5%200%207-4%205-9-2-2-2-2-7-1m-54%2041l-3%203h-3l3%201%203%201-5%201c-3%201-5%203-5%204l-2%202c-3%200-1%202%202%201%203%200%205-2%203-2-3%200%208-3%2014-3h4l-1%201%2011-6-15-2-5-1h-1m47%200c-17%200-20%201-17%204%202%202%202%203%202%207l-1%205%205%201a293%20293%200%200027%205v-1l1%203%201%203%201-3%202-4%201-3v-2l-1-3-2-2h4c3-1%204-3%202-2l-2-1-1-1-6-5-16-1m-88%2031c-3%202-6%203-4%201l-1-1-2%201c-1%201%200%201%201%201v1l-3%201-2%201c-2%202-2%203-1%203l2-1%204-1%203-1-3%201c-3%202-3%202%206%202h9l-1-3-4-8-4%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEVElEQVQ4y21UayycaRT+/vvjl19sm25T20VLd5edJsW4zpjBYLTGaK0q47LubRO6iYhqyLIJVkRco4KgWja7tu7XBnEnEloV9/v9Fgl59j2vzsRu9ktOzve973mf9znnPOcT5ubmsLi4iKWlJSwvL2N1dRVra2vY2tri67OzsygqKkJ6ejoGBgYwNjaGw8NDbG9v8xiyzc1NnQmXAVdWVjgYGW2S7+npQVNTEzo6OlBTUwOFQsHBd3d3sbOzw+O0oBsbGxDm5+c54GV2tLG3t4fR0VG0t7dzluPj4ygvL4dMJoOenh7i4+NxcHCgA9SCCgsLCzp2BEgbBEoXEKuuri40NzejtbUVxcXFsLa2hpGREaysrDA5OYn9/f1/gQpadgRIzGZmZlBbW4uqqirU19ejt7cXg4ODGBkZgVKphCAI0NfXh6GhIerq6nB8fKyr+f8CEuPGxkZu+fn5yMzMhEqlgkajgZmZGQc0MDCASCRCW1sb6Dk6OtI1SZeytoa0QcDkiUFqaioCAwMhkUgQFBQES0tLDmhhYQE/Pz/ExcVhaGiI15MD/rcpBKa9gNKurKyEv78/Z2ZsbAw7OzskJiYiNzcXCQkJiIqK4nFUSyLBAS+zXF9f5zdRCciT5vr7+xETEwNTU1Pk5OTwuPPzc5yenuLs7AwnJydcQjqGBEhGTMkmJib4Nz3EmjRHHW1oaOBMSFLampHXlomao0uZAGhhamqK1ywiIgKlpaVcEqTBkJAQDkqZaGtM7AmULqXMyAtEXws4PT3Np0IsFsPJyQnZ2dm8MQUFBejq7ubgdIiM0iwrK0NFRcUFOwZIWMIbpjkS72c2DX19fXy0HBwc8Pf79ygsLORSoe5SGUpKSpCUlMQvoAkKDQ2FWq1GXl4ehoeHMceyFZ4/e4YKNlKtLc3oZ4De3kp8w7oZHhaGWNYIicSZMc3Cu7dvERUZCVe5HA+ZXH7LyEBMdDRsbW0glUqQlZWJstevIUhUAXD118AnNAaq8Dg8CImGmY0zTO45wlrhA2VwBHzCYkFxtp4q7p2/nPnO0RW3bCWQ+j6Gd3Ak1BFPIdwQu+KO7D7MnD1hLlXittQLlgo17no9gvmX9VsSL/zgpoKluy/bV+KO/AHMXbx5HMVct5HhaxsXXLOWQqBgWUAYPIKjuLf3fQKXn0L5u5NfMOxUgXB+pIE8IJx7t8Cfeaz8cTg3kYca3zq446a9G4zFcghfWYlx5Ud7XBE54OpdR9y0Y2kwViaOCs7Y3EUJE3bAgjExZWvfu/rghq2Mn7nNyFy/J8E1do6yFHk+ZDV0kcHL+z4Unl54lZqGto5ONLW04kNvH/748y+k/ZqB2KfP4e7hCYr99HkWmVm/40mwBuWVVejo7EZefgE704aCopKLnwOJe35+junoQrSfPn7kMmhpaWGzXIFO9l+sq3uHIiajeqbLVykpqK6uxi8vXqCZ6TYtLRXJyclIefkS/wA8nocLH7tgqAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/502b1/cover.png","srcSet":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/f2e6d/cover.png 114w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/4ddba/cover.png 229w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/502b1/cover.png 457w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/7ddc2/cover.png 686w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/435bf/cover.png 914w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/6050d/cover.png 1200w","srcWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/15384/cover.webp","srcSetWebp":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/31fce/cover.webp 114w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/e3e25/cover.webp 229w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/15384/cover.webp 457w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/0258d/cover.webp 686w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/64ea2/cover.webp 914w,\n/static/96cc0c73a4e35c7fe3e8d7299b488a0e/9000d/cover.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M197%201l-1%202-1%201c-2%200-2%200-2%202l-2%204-1%201v3l-3-1c-1-1-1-1-1%201l-1%203c-2%201%201%203%206%204%204%202%205%202%206%200l3-1v-1l2-3h3l4%202c3%200%204%200%203-1%200-2%201-2%204-2l4%201-4%201c-2%200-2%200-1%201h5l2-1c-2%200%200-2%203-2%205%200%2013%205%2012%207v3l-2%201c-4%201-4%203%202%204l3%202h-3l-1%201%203%201c4-1%204%201%200%204l-2%203h-4c-4%200-4%200-2%201%203%201%203%203%200%202l-3%201v1l1%201c-1%201%200%201%202%201l6%203%204%203%201%201c0%202-11%202-12%201h-4l-4%201c-3%201-2%201%2011%203l17%205%203%201h-3c-3%200-3%200-1%201%203%202-3%202-12%201h-12l9%203c8%200%207%201%200%201l-10%201%201%201%202%201h5c2%201%202%201%200%201s-3%201%200%203c1%201%201%201-1%201-4%200-6%202-3%202h3l-2%202c-2%201-3%203-3%205l-1%202c-2-1-1%200%201%202v2c-2%200-2%203%200%205%202%201-2%202-11%201-7%200-7%200-6%201l3%202c2%200%202%201%203%203%200%202%200%202-2%202l-2-1%201-1-1-1c-1%200-2%200-1%201l-3%201-8-1-13-3h-9l-8-1-10-2c-3%200-8-4-8-6h-1l-1-1v-3h2c4%201%203-2-2-4-6-3-6-3-6%200s0%203-6%202c-4%200-5%200-4%201l6%201c3%200%204%200%204%202l4%2017h7l-2-3-1-2c1%201%203%200%204-1%202-1%206%200%206%202%200%201%202%202%2010%203h4c1%201%205%203%206%202l1%204c0%204%202%206%2010%208l3%201-3%201c-4%202-7%201-28-5-19-6-18-5-16-4l31%2010c12%203%2012%203%2014%201s3-3%203%200l-2%201-1%202%207%201%202%201-3%201h-3v1l20%204a1141%201141%200%200080%2013c4%202%205%202%206%201v-1l-1-1%203%201c4%201%2040%202%2047%201%204-1%208-4%208-6l-6-7%201%202c5%206%201%2010-10%2011-3%200-4%200-3-1%2012-2%2015-4%2011-9l-1-3v-1h-2c-2%200-2%200-1-1h-1c-2%200-2%200-1-1v-1h-1l-1-1h-1l-1-1h-2c1-1-21-9-22-8l-1-1-2-2-2-4c-1-1-1-1-1%201v4l-10-3%201-7c2-6%202-11%202-19%201-15%200-18-3-18l-16-3%209%201c10%201%2011%200%201-2l-6-1%206%201c8%200%208%201%201-14a85%2085%200%2000-72-45c-8%200-11-1-11-5h-2l-1-1V4c2-2%201-3-3-4-1%200-2%201-2%204%200%204-1%205-5%204h-4V1m-27%2071c-1%202%201%204%202%202%202-1%2012%200%2031%206l9%201%206%201%203%201c3%200-2-3-6-4-15-4-22-5-22-4h-5l-6-2-5-2h-5c-1-1-2-1-2%201m-49%2010l-7%203c-2%200-3%204-2%204l18%201-1-4-1-2c0%202%200%202-3%200l-3-2h-1m94%2036l-1%208c0%203%202%203%203%200%200-1%201-2%203-1l13-2h-4c-5%200-7-1-7-5%200-2%201-3%206-3l6-1h-7l-9-2c-3%200-3%200-3%206m-61%209c2%205%204%207%205%206%201-2%2019%205%2031%2011l7%204h-16v-1h-3l-5-1v1l-1-1c-1-2-6-3-6-2l19%2015%204%203c-1%200-1%202%201%204%201%201%201%201%202-1%200-2%200-2%205-1l3%202v9c0%205%200%206%201%204l1-9v-4l8%202%209%202v4c0%203%200%204-2%204v1c1%201%201%201-1%201l-7%201c-7%201-3%203%207%203%204%200%204%200%204%204s2%204%203%200c0-3%201-3%203-3%206%200%2016-1%2018-3%201-1%201-1-1-1l-2-1-3-1c-4%200-4-9-1-9a97%2097%200%200043-20l-18-3a935%20935%200%2001-108-20m141%203v4l1%202c0%202%201%202%207%202l6-1v-1c2-2-2-5-9-8-2-1-3%200-5%202m-82%205a552%20552%200%200075%2012h2l-2-1-4-2h-4l-15-2a1049%201049%200%2001-52-7m-59%202c-2%200-2%201-1%201v3l1%201h-2v1c2%202%202%202%200%202v1c2%202%201%203-2%204s-4%203-1%204c4%202%209%201%2012-2%207-7%201-19-7-15m-33%2051v4l-1%202c-2%200-2%201-2%203s0%203%202%203l1%202-1%202-2%201c-2%200-7-7-7-10h-1l-1%203c0%203%200%203%201%202s1-1%202%201l-1%204v4c-2%200-2-3-1-5%202-2%201-2-3-1-4%200-5%204-3%206l2%202-4-2c-2-2-2-2-4-1-3%201-3%204%200%203v1l-1%206%201%205c0%202%201%204%203%205l2%204%201%202c1%200%201%2010-1%2010l-1%203-1%204-1%204-1%205c-1%201%200%202%201%203%201%202%201%202-1%202s-3-1-3-6l1-7c2-2%200-8-3-11-4-4-4-6%200-7l2-3c-1-2-3-3-3-1l-2%202-2%202c-1%201-5%202-5%200%200-1-1-1-1%201-1%202-2%205-2%2011l-1%206c-2%205%200%2019%202%2018h7l-3%201c-1%200-2%200-1%201l-3%201-3%201h-3l-4%201H57l3%201%204%201h2l3-1v1c-2%201%203%201%209-1%202%200%202%200%201%201-2%202-2%202%201%202l3-1h2l2-1h-1l-1-1c0-1%203-3%205-3v1l-2%203c-1%202%200%202%208%202l4%201-1%201v2l-1%202-49%201H0v90h12l21%202c10%201%2015%201%2037-3h4l-5-3-5-2%207%201c19%201%2031%200%2020-3l-23-7h5a832%20832%200%200087%200c32%200%2036%200%2032%201l-11%202c-7%202-9%202-10%201h-1c-1%202-1%202%204%204l4%201-4%201c-2%202-4%202-7%202h-4l-2-1h-4l-2%201h-3l-3-1c0-1-3-1-4%201l-1%202%203%201%209%202c8%202%2013%203%2013%201-1-1%200-1%206-1l8%201%206%201%2011%201h10c0%202%2019%205%2041%206l15%201v12h6c6%200%207-1%207-7l1-5%201-3v-4c2-4%203-6%203-11%200-4%200-4%204-4%203-1%204%200%205%204l3%205%201%203%203%203%201%201v4c-1%207-2%2011-4%2010-3-1-6%200-5%202h4l3%201h2c2%201%2013%201%2012-1v-9c0-5-1-7-2-8v-2l-4-8-4-9c1-1%2023-2%2025%200%201%200%201%201-1%201-3%203%2019%206%2030%204%207-1%206-1-2-2-9-2-5-2%209-2%209%200%2013%200%2011-1-5-1-5-2%200-2l15%201h10v6c0%204%200%205-2%205v-1c1-1%201-1-1-1l-2%201-4%201c-4%200-5%200-4%201%200%202-5%205-10%205l-7%202-8%201h-4l2%202c0%201-18%204-29%204l-11%201%202%201h4c2%201-3%202-7%201l-3%201%201%201%201%201c-1%201%200%202%202%202a133%20133%200%200033-1l-3%204c-4%201-1%202%206%202l6-1h7l18%201h13v-7l-10%201h-28l11-9a323%20323%200%200021-4c-1-1%200-1%202-3l4-2%201-46v-44h-40l-40-1%2028-1c17%200%2027%200%2025-1l-10-1-7-1%201-2c0-1%201-2%202-1l1-1-2-1h-1l-1%201c-4%200-2-3%203-4%204-1%205-2%203-8-3-7-3-12-1-12l1-1-2-1c-3%200-5-2-3-3s0-10-3-11v1c1%200%201%203-1%205l-1%203c0%204%200%205-3%205l-3%202h3c2%200%202%200%202%205%200%204%200%205-2%205l-2%202c-1%202-2%201-1-2l-1-5c-1-1-2-2-1-4l-1-3c-2%200-2-1-2-10l-1-12c-1-1-1%202-1%2011%200%208%200%2012-1%2011l-2%201c0%201-1%202-2%201-2%200-3%201%200%203%202%202%201%203-1%203s-3-1-3-2h-1l-1-1v-3l2-6c1-5%201-6-2-8l-2-4-1-1v-2c0-3-2-5-8-6-2-1-3-1-2%201l-1%201c-1-1-1%200-1%201h-4c-4%200-4%205-1%208%203%202%203%202%201%202-2%201-2%202-2%206l1%204h1l-1%202h-3l-2%201c-4-1-4%204-1%205%206%202%209%200%209-6l1-2c1%200%205%203%203%203s-4%203-3%206v9c-1%206-1%206-4%206s-4-1-2-3c1-1%200-3-1-2l-1-1-1-1-1%204c1%203%201%203-2%202h-4l-1-9-1-9c-1-1-2-2-1-4%200-3-3-7-5-5%200%201-1%202-3%202l-1%202-3%205c-2%202-2%204%201%204l1%202%201%201%201%203%201%204c3%200-2%205-5%206l-4%201h-2l-2-2-1-2c-2%200-3-5-3-13l-2-4-2-4c0-2-2-3-2-3-2%200-2-1-1-3l-1-2h-1l-7-1-1%203-2%201h-1l-1-1v5c2%203%201%203-4%209l-2%202-2-2c-1-1-2-3-1-4l-1-3-2%201h-1l-4%202c-1%201-2%202-3%201v-2c1-1%201-2-1-3l-2-2-2%202-2%201%201-2%201-1c-1-1%200-1%201-1l2-1h-1l-2-1c0-2-2-3-4-1h-2c0-2-2-1-1%201l1%202v2l-1%205%202%2010c2%208%202%208-5%208-4%200-5%201-5%202%200%202%200%202%202%201h5l4%201%205%201%204%202%206%201c1%201%201%201-1%201h-17l-8-2c-5-2-7-7-5-11%202-2-1-6-3-5l-2-1c-2-1-4%207-2%209%202%201%200%202-4%201-3-1-3-1-1-13l3-7c1%201%203%203%202%204l1%201c2-1%201-10-1-16-2-3-3-5-2-6%201-2%200-7-2-6l-2-1c0-2-3-1-3%201l-2%202c-1%200-2-1-1-2h-1c-3%204-3%206%201%205%203-1%203-1%203%201s-2%203-2%201h-5v1l-1%201-3-3c-2-3-4-4-5-2v2h-1l-1%202-2%204v-3l2-5c1-2%201-2-1-2-3-1-4%200-2%201l-1%204c-1%203-1%203-2%201s-1-2-2%202c-1%203-2%205-4%205h-3c0-2%202-3%204-3l1-2%201-3%201-4-4%203-2%202c-1-1-1%200-1%201l-1%202c-2%200-6%207-6%209l-1%201c-2%200-3%203-1%205l1%205c0%204%200%204-2%204-5%200-9%205-5%208%201%202%201%202%204%200%203-1%206-2%2014-1%206%200%206%201%200%202-4%200-6%201-4%202l-4%201-9%201h-5v-1l1-1c-1-1%200-1%201-1l1-1-3-1c-2%200-4-4-3-6h-1c-4%200-7-1-5-2v-4l-1-1-1-2-1-5v-2c-1-2%200-6%203-6%205-2%204-10-1-12h-2l2-1h5l1-2%203-1c1%200%201%201-1%202l-2%203%203-2c4-3%2013-1%2013%203%200%202%202%201%203-1%201-3%203-5%206-5s3%200%202-1c-2-1-2-1%200-1%201%200%202%200%201-1v-1l-2-1c-1%201-3%200-5-1l-2-2%204-3%207-2c2%200%203-2%202-4%200-2-2-2-4%200-1%202-9%202-13%200-3-2-4-2-4-1h-1c-2%200-3%200-2%202h-2l-3-1-1-1v-1l-1%201-1%201-2-2h-3l1-1-2-2c-3-1-4-2-3-3%201-3%201-17-1-17l-1%202m85%2015l-1%202-2%202-3%204-1%202c-5%204-3%208%204%2010%209%203%2017-8%2012-17-2-5-6-6-9-3M19%20245l-1%203c-1%202-1%202-3-1l-1-1v6c-1%201-1%200-1-1l-4%207-4%203-1%202c2%202-1%207-3%206-1-1-1-1-1%203v4h5c4%200%204%200%203-1l-1-3-1-2v-2c0-3%201-3%203-2%203%200%201%2013-1%2016l-2%202h2c5%200%209%200%2011-2l17-1h19c4-1%203-1-6-1l-16-1H20l2-1%203-1h-4c-4%201-5%200-2-2l1-2-2-1c0-1%201-2%203-2%206%200%208-2%207-5l-2-4c-2-2-3-9-3-12s-1-6-3-6l-1%202m32%2015c-2%200-4%206-3%207l-1%203h-2c-1-2-1-2-3-1h-3l-2%202%202%201h3l-3%201-2%201%202%201%207-2%205-1%202-1c2%200%203%200%202-3v-6c-1-2-1-3-4-2m343%207c-3%202-5%202-6%201-2-2-5-1-4%201l-10%204-11%204h25l7-2c-2-1-2-1%201-3%202-1%204-2%204-4s0-2-6-1m-219%202l-4%201c-5%201-5%201-2%202l3%202c0%202%203%203%2010%203%202%200%203%200%202%201l-4%201-14%204c-4%200-5-2-2-2s-2-2-6-2c-3%200-2%202%201%203%203%200%203%200%201%201s-2%201%201%201%203%200%202%201%2012%201%2034%201c33%200%2036-1%2019-3l-4-1c1-1%200-1-2-1-5%200-12-2-9-2%202%200%200-2-3-2-5%200-16-3-15-4%202-2%200-4-4-4h-4m71%209c-10%200-13%201-8%202h13c3-1%204-1%202%201l-2%203c0%202%203%202%2029%202%2029%200%2030%200%2027-4-1-2-3-2-10-1-15%202-37%202-35%200l4-1c3-1%203-1-1-1l-5-1-3-1-11%201m11%2042c-2%200-2%201-2%207l1%207%201-2%202-2c5%200%207-4%205-9-2-2-2-2-7-1m-54%2041l-3%203h-3l3%201%203%201-5%201c-3%201-5%203-5%204l-2%202c-3%200-1%202%202%201%203%200%205-2%203-2-3%200%208-3%2014-3h4l-1%201%2011-6-15-2-5-1h-1m47%200c-17%200-20%201-17%204%202%202%202%203%202%207l-1%205%205%201a293%20293%200%200027%205v-1l1%203%201%203%201-3%202-4%201-3v-2l-1-3-2-2h4c3-1%204-3%202-2l-2-1-1-1-6-5-16-1m-88%2031c-3%202-6%203-4%201l-1-1-2%201c-1%201%200%201%201%201v1l-3%201-2%201c-2%202-2%203-1%203l2-1%204-1%203-1-3%201c-3%202-3%202%206%202h9l-1-3-4-8-4%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/96cc0c73a4e35c7fe3e8d7299b488a0e/6050d/cover.png"}}},"authors":[{"authorsPage":true,"bio":"Hello everybody 👋 !  My name is Luke and I am the creator and owner of the spaceout.pl. Personally, I am a big geek with huge love for Star Wars, Marvel and DC comic books, Funk and 80s music. I take most of my design inspiration from offline experiences like going to art museums, galleries and working with other creative people on various projects. I also work with various Activist and NGO groups as a pro-bono designer and developer.\n","id":"f69d27c7-7f9a-5fbd-b05d-1a324fd10c0a","name":"Luke Celitan","featured":true,"social":[{"url":"https://www.facebook.com/spaceout/"},{"url":"https://twitter.com/spaceout.pl"},{"url":"https://www.instagram.com/spaceout.pl/"},{"url":"https://huggingface.co/MassivDash"},{"url":"https://bsky.app/profile/lukecelitan.bsky.social"}],"slug":"/authors/luke-celitan","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/afb2b/spaceghost.jpg 13w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/7c20e/spaceghost.jpg 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/03612/spaceghost.jpg 75w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/58718/spaceghost.webp 13w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/74aad/spaceghost.webp 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/ed320/spaceghost.webp 75w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 50px) 100vw, 50px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/7c20e/spaceghost.jpg 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/59538/spaceghost.jpg 150w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fd013/spaceghost.jpg 200w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/74aad/spaceghost.webp 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/d9b14/spaceghost.webp 150w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/6b183/spaceghost.webp 200w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 100px) 100vw, 100px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/a2637/spaceghost.jpg 82w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/15203/spaceghost.jpg 164w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/2d087/spaceghost.webp 82w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/29d87/spaceghost.webp 164w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 305px) 100vw, 305px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"}}}],"basePath":"/","tech":["TS","Nodejs"],"category":"Post","slug":"/azure-functions-with-typescript","id":"29268019-a0db-5d6e-adc8-85b3a994ee4f","title":"Azure Functions with typescript","appDescription":"Serverless","mailchimp":false,"next":[{"id":"62d54027-c7c6-590e-8a64-c664a30230e3","slug":"/static-race","secret":false,"title":"Static race","author":"Luke Celitan","date":"March 22nd, 2024","dateForSEO":"2024-03-22T00:00:00.000Z","timeToRead":5,"excerpt":"A static serve race between nginx, actix, express and restify","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Static race\",\n  \"excerpt\": \"A static serve race between nginx, actix, express and restify\",\n  \"date\": \"2024-03-22T00:00:00.000Z\",\n  \"hero\": \"cover2.png\",\n  \"author\": \"Luke Celitan\",\n  \"appDescription\": \"Sever Analysis\",\n  \"category\": \"Post\",\n  \"tech\": [\"Rust\", \"Nodejs\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"static-race-who-will-become-the-static-king-\"\n  }, \"Static race, who will become the static king ?\"), mdx(\"p\", null, \"In the world of web development, the choice of server framework can\\nsignificantly impact the performance and efficiency of a website. In the most\\nreal life scenarios you will need an instance to serve static assets to the\\nclient whatever application you are building. Html, css, jss, images and others\\nstatic assets are the backbone of any frontend.\"), mdx(\"p\", null, \"Static serving is the most cheapest and most reliable way to deliver content on\\nthe intrent so far. Until you start moving your assetes to CDN providers, most\\nlikely you will decide the serve the static files localy.\"), mdx(\"p\", null, \"I decided to create a simple test to find out which serving option is the most\\nperformant on my own.\"), mdx(\"p\", null, \"Today, we\\u2019re diving into a comparative analysis of four different server\\nframeworks: Actix, Express, Nginx, and Restify. The focus of this comparison is\\non the average wait times for a browser to download resources from the server,\\nincluding HTML and images.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"The data presented in the data analysis reflects the results from 2000 calls\\nper each server requesting a simple HTML site with a single 12.7MB image.\")), mdx(\"p\", null, \"This metric is crucial as it gives us insight into the responsiveness of each\\nserver framework under load. Additionally, the \\u2018HTML + Image Stack\\u2019 represents\\nthe total time needed to stream the website to the client, including all\\nresources, with 1000 calls each.\"), mdx(\"h2\", {\n    \"id\": \"test-methodology\"\n  }, \"Test Methodology\"), mdx(\"p\", null, \"The test was straightforward: open a static website consisting of a simple HTML\\npage (200kb) and a single image (12.7mb) and download it fully to the client\\nbrowser.\"), mdx(\"p\", null, \"All applications are running on the same machine, boasting 2GB of RAM and SSD\\nstorage, and were tested sequentially to ensure fairness. Each application has a\\nSSL let\\u2019s encrypt certificate and is located in the same region (Warsaw).\"), mdx(\"p\", null, \"The links for reference\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://nginxtest.spaceout.pl/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://nginxtest.spaceout.pl/\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://expresstest.spaceout.pl/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://expresstest.spaceout.pl/\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://astrox.spaceout.pl/rustTest\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://astrox.spaceout.pl/rustTest\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://restifytest.spaceout.pl/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://restifytest.spaceout.pl/\"))), mdx(\"p\", null, \"All application were created with minimal reproduction except for rust based\\nactix, astro x website is a another rust based project, I am working on, i has\\nsome more middlewares but still serves as a static server as well.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Html markup used in the test\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-html\"\n  }, \"<!DOCTYPE html>\\n<html>\\n  <head>\\n    <title>Express Static Files Test</title>\\n  </head>\\n  <body>\\n    <h1>Nginx Static Files Test</h1>\\n    <img src=\\\"./webdev2.png\\\" alt=\\\"Web Development Image\\\" />\\n  </body>\\n</html>\\n\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Test Picture\")), mdx(\"p\", null, \"This is the test picture we will be stressing my hosting with. Here obviously\\noptimized, but in the test the upscaled 12.7MB version was used. Definetly\\nchosen in order to get some bigger diffrences in how framework utilize bigger\\ni/o operations.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"4096px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"100%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEwUlEQVQ4yz2PW0xTBxzGz6ZS0GkQ2tJSaoFKgSrrDeg5nF5OS9vT09N7T0+hN6CtQikVSstlUBSi4AWncdFtAg5BLhFxbsa5ZZtzmT44H4zJsi1zOrdByyRuLmYPe3N1S5b88j39f1++P5A6K0udlacnlekpZWpSuTqhTJ9D/md1EklN/cukMjWlWHn3JemJTMpX3pEB6en6XybVjyfV6VldahZdnUHTF/QvmcOeLOB/LpvWFgzpOcP6omFtHkvN6lMzaGpGtzKtTZ/XAusXzWuLppV54/qy9en7jrVLjj+uun6/1vjkA/LRguPj4+jKZddvHzZ8d8H+6xKxtkw8uUysLppX5oyrcziQWrKtX214es3zw6Lrm/mGZ1+03jpj/Oho/d93YpfGHah09+3z/kfXwwNNhq/PB57dbHuw7H28RD6cMf34ngG4f0r1YNb2/PPg0kHr0XbTi9XT+yNGDw6++OvSvU/HtJKKn++eev7w3HiE/OnG2PNvjx8K49eP4N9PGe+9bQBuHZF/OSq/NoYfCevGI4b7nx1sD+pDPu29m6en3+qDaoVTJ3o+WTjUGzJdmei9e2XoZASbT2J3ThtvnzICXx1TT/dquv1YvMXYE8D2eBROJ+yxSZtNCKHT+u1mu1btN6OtLu1wxD4eJ+JNsElbHW9S3jhhAhaSaNyv8eHSfY3qoFXhtcncXsTvRnAEtmjgqM9I4hq/Dbfr4HgLFg/gZgxSK8SoUnRxxACciaMxtypgBq2oLORQO3QSmXyXUQ8ioDTmRS+MNuvlUlAk9JrVjQbIhYEKSCAVV8pqKs8N4hlZPxZGLRoQgkA1LLHraxGVQCbmmpUCs7r2ZIL0m2GpgJ8I2Ee7HCGyXq+BzXqlA6udHbEDBK48HMGaLfIKHq+IWUDaZd7meo8FElYUCfncBqNiKKzz4mLSIH+zv9Hj0IBKuB5VNROKqaQN6Aw6R9tMCZ+2EZe2O2VOizTUoh/qINhMelVFCa6SuAxQ7x7LQJvlWI/Lqof4VbsE1aIQiUwMOIBYkOxwIISmusuvHe+0BEhZh9/gxKDiInrmyahPP9pNdgfw/lbb2ZGWJptcIqmqrhH6LIo+rwbA1fDWLVvKigsbcfBw1O41IS4c7mu1Rp1IyCZn0PJAAY9dSIPEwiCB+SwwAgm0aojQy0Q8NsDbwdqwcROvhOU1Qj6DvLyUS6fmZYbsNdZRc7cCr27YlEXZnpubk7O5lM0gdTUqsApFasrKShARD2Ax6BlZzC/xGuvarCoOk7oxi7KTzUg4ERzanXGzs7M352RvysraS6psKjFYxdVCglwa7bUtmwGsTlxXVV7GYXDZBWFrvVVRTaFQcrdtrSwuLOcwt+duK6Buz1SUFjEORQlReTHI5+rqRNRCFoueD8Di1w1wdQW3hMkoYNBpO3ewKks5lSVsAHiFW1QgLGMXM6k52dk1u3baVBJOIY1Fp1Lz8/Jp1BwKBQh3xYKRaDDcvrcj6mhoUCAIn19Jp9OYDAanmMMsZOXlU2nUfKFE7HK73X4/4fE43W4rQVgIAuhJ7u87MNx3YCSTicFkd/9AV/8brfv2hTu74gODieRQfDDZ1tkVjsV6hv67HO7df6AnmUwMDvwD/xuxW/BgrjoAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/ed94921b7dc3ff52596570b15cc5ba1f/a3bc4/webdev2.webp 2500w\", \"/static/ed94921b7dc3ff52596570b15cc5ba1f/0b20a/webdev2.webp 4096w\"],\n    \"sizes\": \"(max-width: 4096px) 100vw, 4096px\",\n    \"type\": \"image/webp\"\n  }), \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/ed94921b7dc3ff52596570b15cc5ba1f/412e4/webdev2.png 2500w\", \"/static/ed94921b7dc3ff52596570b15cc5ba1f/120cf/webdev2.png 4096w\"],\n    \"sizes\": \"(max-width: 4096px) 100vw, 4096px\",\n    \"type\": \"image/png\"\n  }), \"\\n          \", mdx(\"img\", {\n    parentName: \"picture\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/ed94921b7dc3ff52596570b15cc5ba1f/120cf/webdev2.png\",\n    \"alt\": \"Web Dev Commandos\",\n    \"title\": \"Web Dev Commandos\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  }), \"\\n        \"), \"\\n    \")), mdx(\"h3\", {\n    \"id\": \"the-test\"\n  }, \"The Test\"), mdx(\"p\", null, \"A simple simulation of a desepearte user clicking refresh 1000 times and waiting\\neach time before the images finshes to load, created using playwright e2e\\nframework\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"import { chromium, Browser, Page } from 'playwright';\\nimport { test } from '@playwright/test';\\nimport { PlaywrightHar } from 'playwright-har';\\n\\ntest('should reload page 1000 times and generate HAR file', async () => {\\n  test.setTimeout(1200000000);\\n  const browser = await chromium.launch();\\n  const context = await browser.newContext({\\n    extraHTTPHeaders: {\\n      'Cache-Control': 'no-cache, no-store, must-revalidate',\\n    },\\n    recordHar: { path: './hars/nginx.har' },\\n  });\\n  const page = await context.newPage();\\n\\n  const playwrightHar = new PlaywrightHar(page);\\n  await playwrightHar.start();\\n\\n  await page.goto('https:/nginxtest.spaceout.pl');\\n  await page.waitForLoadState('networkidle');\\n  await page.waitForFunction(() => {\\n    const images = Array.from(document.querySelectorAll('img'));\\n    return images.every((img) => img.complete);\\n  });\\n\\n  const reloads = Array.from({ length: 1000 });\\n  for await (const _ of reloads) {\\n    await page.reload();\\n    await page.waitForFunction(() => {\\n      const images = Array.from(document.querySelectorAll('img'));\\n      return images.every((img) => img.complete);\\n    });\\n    await page.waitForLoadState('networkidle');\\n  }\\n\\n  await playwrightHar.stop('./hars/nginx.har');\\n  await browser.close();\\n});\\n\")), mdx(\"h2\", {\n    \"id\": \"data-analysis\"\n  }, \"Data Analysis\"), mdx(\"h3\", {\n    \"id\": \"fastest-and-slowest-runs\"\n  }, \"Fastest and slowest runs\"), mdx(MinMaxServerChart, {\n    html: minMaxHtml.sort(function (a, b) {\n      return a.min - b.min;\n    }),\n    image: minMaxImage.sort(function (a, b) {\n      return a.min - b.min;\n    }),\n    mdxType: \"MinMaxServerChart\"\n  }), mdx(\"p\", null, \"Actix, a server framework written in Rust, has been turning heads with its\\nimpressive HTML return times. It clocked in at a blistering 34.154ms, showcasing\\nthe efficiency of Rust\\u2019s design for concurrent web services. Nginx, the stalwart\\nof high-performance web servers, is hot on Actix\\u2019s heels with a return time of\\n34.349ms. This close competition highlights the advancements in web server\\ntechnology and the fine margins that separate the top performers.\"), mdx(\"p\", null, \"When it comes to handling larger files, Nginx takes the lead. It served a 12.7MB\\nfile in just 596.061ms, edging out Actix, which completed the task in 612.17ms.\\nThis demonstrates Nginx\\u2019s robustness and its ability to handle a mix of tasks\\nwithout breaking a sweat.\"), mdx(\"p\", null, \"Node.js-based solutions, while versatile and popular, show significantly higher\\nmaximum scores in these benchmarks. The Express framework, for instance, has\\ngained notoriety for being slower in HTML delivery. Similarly, Restify leads the\\npack in the image serving category, albeit on the slower end of the spectrum.\"), mdx(\"h3\", {\n    \"id\": \"average-serving-time\"\n  }, \"Average serving time\"), mdx(\"p\", null, \"Avarage wait times for a browser to download the resource from the server. \\u201CAll\\u201D\\ncolumn represents all 2000 calls for html and one 12.7mb image.\"), mdx(\"p\", null, \"The html + image stack represents the total time needed to stream the website\\nthe client with all resources, 1000 calls each.\"), mdx(AvgServerChart, {\n    data: avg.sort(function (a, b) {\n      return a.all - b.all;\n    }),\n    mdxType: \"AvgServerChart\"\n  }), mdx(\"p\", null, \"On an avarage \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"the fastest serving framework is the rust based actix server,\\nwith an avarage serving time of 559.72ms (0.55s)\"), \", it is also a winner in the\\nthe html (45.48ms) and image category (972.60ms).\"), mdx(\"h3\", {\n    \"id\": \"in-details-comparison\"\n  }, \"In details comparison.\"), mdx(\"p\", null, \"The min, avg, max analysis suggests that the Actix is the most preformant\\nframework. I have prepared the funnel and scatter charts to help anlayse the\\noverall spread and stability of each framework.\"), mdx(\"h4\", {\n    \"id\": \"actix-httpsactixrs\"\n  }, \"Actix (\", mdx(\"a\", {\n    parentName: \"h4\",\n    \"href\": \"https://actix.rs/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://actix.rs/\"), \")\"), mdx(\"p\", null, \"Actix is a powerful, pragmatic, and extremely fast web framework for Rust. It is\\nbuilt on the Actor Model, which allows applications to be written as a group of\\nindependently executing but cooperating \\u201CActors\\u201D that communicate via messages.\\nThis model offers high performance and scalability through its asynchronous\\nprogramming model and lightweight design\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Actix is the average request time category winner, with solid numbers to back\\nit up, for 1000 requests most of them were delivered better than the\\ncompetition in both html and image file\")), mdx(\"p\", null, \"The scatter graph indicates solid and consistent content delivery, overall it\\nlooks like the most stable way to server static content on the web.\"), mdx(\"div\", {\n    className: \"chartGridHolder\"\n  }, mdx(FunnelTime, {\n    data: actixData,\n    mdxType: \"FunnelTime\"\n  }), mdx(ScatterChart, {\n    data: actixData,\n    fill: '#d83e09',\n    mdxType: \"ScatterChart\"\n  })), mdx(\"h4\", {\n    \"id\": \"nginx-httpswwwnginxcom\"\n  }, \"Nginx (\", mdx(\"a\", {\n    parentName: \"h4\",\n    \"href\": \"https://www.nginx.com/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://www.nginx.com/\"), \")\"), mdx(\"p\", null, \"Nginx, pronounced as \\u201Cengine-x\\u201D, is a versatile web server that has gained\\npopularity for its high performance, stability, and low resource usage.\\nInitially released in 2004 by Russian developer Igor Sysoev, Nginx was designed\\nto address the C10k problem, which is the challenge of handling ten thousand\\nconcurrent connections. Over the years, it has evolved to serve a variety of\\nroles including a reverse proxy, load balancer, mail proxy, and HTTP cache.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Nginx is the fastest responder in this test, will overall solid scores.\\nDefinetly a good choice if possible, the data indicates it provides stable and\\nconsistent delivery. On avarage he was still 17.67%\", \"*\", \" behind Actix framework,\\nmaking it second best choice for serving static content\")), mdx(\"div\", {\n    className: \"chartGridHolder\"\n  }, mdx(FunnelTime, {\n    data: nginxData,\n    mdxType: \"FunnelTime\"\n  }), mdx(ScatterChart, {\n    data: nginxData,\n    fill: '#fe5218',\n    mdxType: \"ScatterChart\"\n  })), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"* slower % calculation\\n\\nDifference = Score - Base = 599 ms - 509.040587 ms = 89.959413 ms\\nPercentage slower = (Difference / Base) * 100 = (89.959413 ms / 509.040587 ms) * 100 \\u2248 17.67 %\\n\")), mdx(\"h4\", {\n    \"id\": \"express\"\n  }, \"Express\"), mdx(\"p\", null, \"Express.js, often referred to simply as Express, is the most popular backend web\\napplication framework for Node.js. Renowned for its minimalist and unopinionated\\napproach, it offers a robust set of features for web and mobile applications.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Express times are much more hectic and spread out than the nginx and actix,\\nwith a 25.65% slower times than rust based actix.\")), mdx(\"div\", {\n    className: \"chartGridHolder\"\n  }, mdx(FunnelTime, {\n    data: expressData,\n    mdxType: \"FunnelTime\"\n  }), mdx(ScatterChart, {\n    data: expressData,\n    fill: '#ff6c3d',\n    mdxType: \"ScatterChart\"\n  })), mdx(\"h4\", {\n    \"id\": \"restify-httpsrestifycom\"\n  }, \"Restify (\", mdx(\"a\", {\n    parentName: \"h4\",\n    \"href\": \"https://restify.com/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://restify.com/\"), \")\"), mdx(\"p\", null, \"Restify.js is a Node.js web service framework designed for building efficient\\nand scalable RESTful web services. It is optimized for introspection and\\nperformance, making it a suitable choice for production use at scale. Restify.js\\nfocuses on providing a semantically correct implementation of REST, adhering\\nclosely to HTTP and REST specifications, which is reflected in its support for\\nRFC standards throughout its codebase and documentation.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"The last runner on the list is restify which is 27.16% slower than actix. He\\nreally tried to beat express but in the end express image and average delivery\\nwas 1.51% slower than express\")), mdx(\"div\", {\n    className: \"chartGridHolder\"\n  }, mdx(FunnelTime, {\n    data: restifyData,\n    mdxType: \"FunnelTime\"\n  }), mdx(ScatterChart, {\n    data: restifyData,\n    fill: '#ff6c3d',\n    mdxType: \"ScatterChart\"\n  })), mdx(\"h3\", {\n    \"id\": \"final-thoughts\"\n  }, \"Final thoughts\"), mdx(\"p\", null, \"It looks like the best choice for serving static files is the Actix framework,\\nbut I would not be quiting on nginx just yet. Ngnix is still a great option\\nespecially with its build in features like load balancers, reverse proxy and\\nothers. If you are not building a rust based application the Nginx is the way to\\ngo.\"), mdx(\"p\", null, \"Node frameworks showed significantly weaker scores than the \\u201Cnative\\u201D drivers,\\nthis was especially seen on the large image transfers. In my opinion if the\\nperformance is what you are looking for the you should try to use underlying\\nservices for serving static content.\"), mdx(\"p\", null, \"The raw test data can be accessed at \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/MassivDash/staticRace\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"https://github.com/MassivDash/staticRace\")));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["Rust","Nodejs"],"category":"Post","appDescription":"Sever Analysis","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEcklEQVQ4y21V+0+bVRjuv0BGyKD3q7SFQoECZcBKC1RaGu5k3MM9boAoYUEGrpbbSgQkwEQ3mFwyjMMIGIhhCwEdQX+BgCLhMi4rMf4Xj+c90OgSf3hy3nO+r8/7vO/7fKcChUIBtVqN8PBwxMbGIikpCVarFfn5+cjMzER2djZKS0tQUV7O44KCAv6MYpfLBafDyd/Ly8tFWVkZBHK5HDKZDBqNBgaDAVFRUTCbzZw4MTERNpsN6enpSElJgcViQVpaGt9TUnqWlZXFyPLQ0NCAwYEBCKRSKSQSCUipVqvlpDExMYiOjubwqyZyWhMSEviZ0WjkCVpaWjA0NIS5uTmsra1BQGR+qFQqTqrT6aDX6zk5tYJAZ7SPj49HOSufFJPKvr4+zM/PY3t7m4MrFIvFEIlEvHRSqlQqeV+pDUREhKSG2uFwONDf34/Z2VksLCxgZ2cHPp8PBwcHHAIiEwqFHBRTAuorKQ4MDER3dzf29vYwOTmJkZERXh6p6+rqwtbWFjY3N3F2doaTk5MrQlJGRH5i2t+4cYM3mkiSk5NRVFTEe/TL69dYXV1FW1sbh9PpRGNjI5aWlnB+fs4TC/xkpMhfNpVMvWxtbeVNJ9KcnBzY7Xa0t7djfHycW4XaMjU1hY6ODqysrODw8PBqKEQSFBTEbbC4uIjHY49RWVnJS6tia11dHZ8wTba5uZknKi0t5S3p7e3F8vIyH8zp6em/UyaVpIxUDA4O4tXLl9zEZF7yHk2XkhIZqaJk9fX1PJHb7eYlHx0dXRH6p0yrf7K5ubmoqa7mkyRSMq7H40FGRgbrWwNP0NnZyXtbWFjI1/39/f/YhiE4OJhnLi+vQEBAAGprazE6Osr7NvzFMCYmJjipyWRiVQxhZmYGx2y6f7LpUlUkQiBjFlGrNczIYbClpsLD7FBUXIzqmhrcvXcPxSUlaGxqgtfbjzJm6CdPnmKQWaeJna2vb2BqepopbmJfUhJuM68KVHIp3lPJYTZFo+OT+/hp+Ue4Ox+g+E4BNn9ex8baK/ww/x2qKsrw9fgY6murkOmww2ZJRkZ6KowGPSLCdLDeTkK2y8kI66chrnoG3YfzeP/z3+Aa3sadp4cIvfscqb0bqHn+Fo6BXxFzfxERH30Pel9ZNwVF7TdQ1DyD5oNZ6Bu/RXjzCxg/fgGBwnuJW1/+DfPYX9D2n0HrPYXe+wZKrw9CzymCOg8R8tkbSHouOOSPLiH3XoF+S3tZnw9SBnkPs42i+xjp4xfImfTBMnYB+1dvkTV5Ce2jEyi6T6DqZeQ9FB+/A3nX0TWuY3am9LBPT+n+HaKOXQgf7ELy6R7ELKa9nMXyh2x9uAfF/4B+9y7+gMa9C4HBdAs6YxyHNjIWKl0kFKEGSNVhECq0ECt1kGrCIVbpGPSQqPXseQR/Nyw6AZFxyTAlWmG22GGxuyAI04VCG6qBWsWuLTm7vmTsyxGzS0IYDFFIMIQhN68QfBPi6zOJKAQK5o5QDfvrYBM2RrJ7Ms6ENJsV/wBuwUQ2oclRXAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/8419c26418bf950f0604335b2cb7b494/a1946/cover2.png","srcSet":"/static/8419c26418bf950f0604335b2cb7b494/5b37e/cover2.png 236w,\n/static/8419c26418bf950f0604335b2cb7b494/49058/cover2.png 472w,\n/static/8419c26418bf950f0604335b2cb7b494/a1946/cover2.png 944w,\n/static/8419c26418bf950f0604335b2cb7b494/6050d/cover2.png 1200w","srcWebp":"/static/8419c26418bf950f0604335b2cb7b494/99fbb/cover2.webp","srcSetWebp":"/static/8419c26418bf950f0604335b2cb7b494/77392/cover2.webp 236w,\n/static/8419c26418bf950f0604335b2cb7b494/1f177/cover2.webp 472w,\n/static/8419c26418bf950f0604335b2cb7b494/99fbb/cover2.webp 944w,\n/static/8419c26418bf950f0604335b2cb7b494/9000d/cover2.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20143v143h17l16-1h1l11%201h9l3-5c3-4%203-4%201-4s-2%200%200-3l4-3%201-1%207-8%206-7v-1l2-1c1%201%203-2%202-3-1-2%202-1%203%201%203%202%207%204%207%202l3-1c3%200%203%200%202-1l-1-2-1-1-2%201c-2%203-3%201-1-2l4-10%201-1v2h1l5-2h3l-2-2c-1-2-2-2-4-1-2%202-5%200-3-3v-9c-1-1-1-1%201-2h1v5c0%203%200%204%203%201h3l4%201c4-1%207%202%205%204l-4%208-5%207-1%203%202%2010c1%207%203%2010%2013%2019s10%209%2023%209h11l-4-5-4-5c-1%200-12-11-10-11l-3-2c-1-2-3-3-3-2l-1-1%201-5%201-2%203-4c2-4%204-5%204-2s1%203%202%204%201%201%201-1%200-2%201%200l2%202c2%201%202-2%200-6-1-2%200-3%201-3v1c0%202%209%2012%2015%2016%207%204%2011%204%2021-1l8-4%203%203c2%202%203%203%204%201s5%200%205%203l1%201v1c-2%202-2%202%201%205%205%203%205%208%202%209l-2%201-1%201h-1l-1%201h-2l-3%203-3%202h11c10%200%2019-2%2010-2-3%200-4%200-3-1%202%200%200-2-2-2l-2-1c0-2%204-3%206-3%203%201%208-3%209-5l1-3v-1l-3-3-1-2-2%202-4%202c-1-1-1-1%201-2%203-2%203-3-1-3l-3%201%203-1%203-2h-3l-5-1c-2-1-2-1%200-2%204-2%204-3-1-2h-4l2-1c4-2%204-3%201-3-2%201-2%201%200-1%201-1%201-1-2-1-9%202-9%202-5%200l3-3-2%201h-3c-1%200-1-1%201-1l2-2-4%201h-5c-1-1-1-1%201-2s2-1-1-1-5-3-2-3l-1-1c-2-1-2-1%200-1s3-1%200-3c-1-2-1-2%204-2l9%201c3%202%203%202%203%200%200-3-1-3-7-4-10-2-11-2-10-3h1l1-1-1-1v-6l4%202c2%203%2010%204%2010%201a3333%203333%200%20005-3c2-1%202-1%201%202s2%2013%205%2015l1%203c-1%204%205%208%2015%2011h7c1%200%202%202%202%208%201%207%205%2012%209%2012l3%201%201%201%201-2%201-3%201-9-1%202-1%202-1-1c1-1%200-2-1-2v-12c-1-3%200-6%201-6l1-3c0-3-3-5-7-7-3-1-3-1-2%202l-1%202v6l-4-3%202-1v-1c-3-1-7%203-5%204v1h-2c0%202%200%202-1%201l-3-1c-2%201-7-1-6-2l-1-1c-2%200-6-6-6-8s-1-3-3-3c-3-1-2-1%203-2%201-1%202-3%200-3l-4-2-3-3%204-1c9-1%2020%202%2019%205%200%204%202%202%202-2l6-13%202%201c1%202%202%202%202%201h1l1%202%203%206%202%205c0%203%203%208%205%208l5%205c3%204%2013%2011%2018%2012%202%201%203%205%201%208l-1%203c1%201%200%206-1%206v-1l-4-1c-4%200-5%201-6%203%200%203%200%203-2%203l-3%201-1%201-3%201-8%204c-3%200-12%204-12%205l-1%201h-3l-6%202c-13%205-14%205%2015%205a215%20215%200%200030-1c-1%201%2015%201%2042%201a373%20373%200%200045-1l22%201h22V143c0-79%200-142-1-141%200%202-1%203-5%205a1500%201500%200%2000-6%201l1-2-2%202c-2%202-3%201-2-1l1-1c1%200%206-4%205-5h-18l-2%201h-1c1-2%200-2-4-2s-5%200-4%201v3h-3l1-1c3-2-4-2-30-3l-27%201h-1l-22-1h-20l-4%205c-4%205-5%204-2-1l3-4h-14a69%2069%200%2000-18%201h-3l-3%202-8%203c-5%203-8%204-4%201s1-2-5%202c-7%203-9%204-8%202s0-2-2%200l-3%201c-1-1%202-4%208-8l5-4a714%20714%200%2000-63%201L70%200H0v143M395%2017c-5%208-4%207-7%206h-2l-1%201c0-1-3%201-3%204-1%201-2%202-3%201v1l-1%203-2%202-1%201-2%202h-2l-2%201c-2%203-5%204-4%201h-2c-3%202-4%202-4%201%200-2%200-2-1-1h-5v-2c-1-1-1-2%201-3l2-3%203-2c1-1%202-1%201-2-2%200-8%203-6%204l1%201c-4%200-7%201-7%202l-1%201-1%201v4l-2%202-3%202-2%203-2%205c1%204-1%206-3%205-1-1-2-1-2%202l-2%202v-3l-1-2h-2v-2c-1%200-1-7%201-7l1-3c0-1%201-3%204-4l4-3c0-2-2-1-7%202-5%202-7%201-2-2l2-2c-2-1-7%201-12%205-4%203-4%204%201%202%203-2%206-2%206%201%200%201-6%2013-8%2014v4l4-3c4-4%204-3%204%202%200%203%200%203%203%203%203-1%202%200-3%203l-4%204-1%201c0-1-5%201-9%204l-8%206-4-2h-9c-4%201-5%201-10-2-11-6-23%201-28%2015v7l2%205c0%204%200%204-5%208-6%203-8%204-6%201l1-2%202-2c3-1%205-4%204-4v-3l-1-2v-2h-6c-2%201-2%202-5%202-2%200-2%200-1%202%201%201%201%201-1%201h-1l-1%204v3l1%202-1%201v1h-1l-2-4c1-1%200-2-1-2l-5-6c-5-8-8-8-22-2-6%202-6%202-11%201-7-3-12-2-18%200-8%204-11%2010-6%2014%201%201%201%201-2%202h-2l3%202%209%201%205%201%206%202c7%200%2014%206%2013%2010%200%202%200%202-1%201s-1%200-1%203l-1%207%201%202%202-1%202-1v2c0%202%200%202%202%200l2-3%201-3%203-4c0-4%203-9%204-9l-1%204c-2%203-4%2013-2%2010l3-1c2%200%202-1%202-3v-2l1%202%201%203v-3c1-2%201-2%202-1l2%201c1-1%201%200%201%201l2-1c1-2%201-2%201%202l-1%204%201-3%202-3v3c0%203%200%203%202%202%202-3%202-2%202%201-1%203%200%203%2010%204l9%203c5%202%205%201%205-2l1-3v4c0%204%200%204%202%204l1%201%201%201v1l2%201%201%201c1%202%204%202%205%201h1l-1%202c-2%202-2%203%200%203l2-1c1-1%202-1%203%202%203%202%203%203%201%204s-3%200-2-2h-1l-1-1c1-2-1-1-2%201-2%201-2%204-1%205l1-1%202-1v1l1%201c2-1%205%200%204%201l2%201-1%202-2%202%202%201h4c3-1%207%201%205%203h1c2-2%201%201-1%202s-2%202-1%202v1c-1%201%200%201%201%201%202%201%203%201%202%202l1%201%201%201%201%201c2%200%202%200%201%201v2l2-1%202%201c2%204%202%203%201-1-3-5-2-6%201-3s3%201-2-4l-5-5c-2%200-2-1-2-3l-1-5-2-9c0-10-2-14-5-13-3%200-4-1-3-6%200-4%202-6%202-2l1%202%201-1c-1-1%204-3%205-2l1-1h2l2-1%201-3%201%201v2l1-2v-6l-1-5v-2l-1-4v-1l2%202%201%203v-3l2-2%201%201c-1%202%201%204%203%205%202%200%202-1%201-2v-8l1%202%202%204%201%203v-4l-1-4v-2l1-2h1l2%201c2-2%203-1%202%202l1%203%201-1v-3l1%201%204%202c3%201%207%202%209%204%206%204%209%205%209%203l1-2v3c-1%202-1%202%201%202h1l1%201h1l1%201h1l1%201%201-1h1l-2%204-2%202h1c2-2%203-1%203%201%201%202%202%202%203%202l5%201v3c0%201%201%202%203%202%203%200%203%200%202-1v-1c2%200%203%202%203%204l-1%201-2-1h-1l-1%201-1%201v1l4%201c2%200%203%200%202%201h-3l-4%201c-1%201-1%201%201%201l7%201c3%202%203%202%202%203-2%201-1%202%201%201%202%200%200%2010-2%2011l-2%201c-1%202-3%200-3-3l-3-5-2-2v3l-1%204c-1%200-3-4-3-10%200-4%200-5-4-9l-4-5-11-13c-2-1-7%200-6%202l-2%204-1-3c0-3%200-3-4-3-3%200-4%200-4%202v2h2c1-1%201-1%202%201s0%203-6%202c-2%200-3%200-2%201%202%202%2013%201%2018-2l2-1a111%20111%200%2001-6%2013l3%202c1%201%201%201-1%201l-5%203c-4%203-4%205-1%203%204-2%205-2%203%200v1l2-1%201-1v3c0%202%201%203%203%203l1%201-3%203c-3%202-3%202-1%202h4l3%201-2%202-2%202h2c2%200%202%200%201%201l-2%201h9c3-2%203-2%203%200l2%201c2%200%204%202%202%203l-2%201h2l1%201-3%202c-3%200-4%202-1%202h5c-2-2-2-2%200-2s2%201%202%203%200%203-1%202c-3-1-3%202%200%204%203%203%204%206%201%208-2%201-1%205%202%204h3l2-4c0-5%201-6%201-3l3%203c2%201%202%201%201-2v-2l2%202%203%206c1%203%201%203%202%201%201-1%201%200%201%204%200%2010-7%2012-13%203-2-3-3-4-4-2-3%204-10%205-14%203l-9-9-6-12-2-2c0-1-2-4-5-6-4-4-4-4-5-2l-2%206-4%2010v5c2%202%202%205%202%208-1%204-1%204%201%203%201-2%201-2%202-1%200%202%201%202%202-1%202-3%202-3%202-1l-1%203v2c1%201%201%201-1%201-3-1-6%202-4%205v2c-1%201-1%201-1-1l-1-2-2-1h-3c-4%202-8%201-14-3-3-1-5-3-5-4l-2-4c-3-4-3-7-3-16%200-7%200-7-7-15l-3-5c0-3-1-2-2%201%200%205-2%2010-3%209-1%200-2-1-1-2l-2-3-1-3-2-4c-3-4-3-6-2-10%201-3%201-3-3-5-4-1-5-1-4%201v2l-1-2c0-1-8-1-9%201h-1c0-2-3-1-4%201-2%203-1%204%207%204%204%201%206%201%209-1%204-2%206-1%202%202-1%202-3%205-3%209l-2%201-2%202c-1%202-1%202%202%203%202%200%202%201%201%202v1l1%201c0%202%202%203%204%202%201-1%201-1%201%201v4c-2%200-2%202-2%202l-3%204-2%202%205-1c3%200%204%200%202%201s-2%201%202%201l6%203c3%202%203%201%203-5l1-6c2%200%2010%2023%2010%2031l1%202%202-8v-1c2%200%203%203%203%209%201%205%201%206%203%204%201-1%201-1%201%201-2%204-2%205-1%205l2%201c0%202%202%201%203-1v-5c-3-4-2-6%200-3%202%202%203%208%202%208-1%201%201%2013%202%2013%202%200%202-4%201-6v-1c3%200%203%206%200%208-1%201-1%204%201%204l1%201h-2l-3%201h-2l-4-1-2-1h-4c-2%202%203%205%205%204%204-1%201%202-6%206-10%204-8%205%201%201%206-3%209-4%2011-3%201%200%202%200%201-1%200-2%201-3%208-4h6l7-1h3l-2%201-1%201h-4c-2%201-2%201%201%201%202%200%202%200%201%201h-6l-1%201h-4c-1%201-1%201%201%202%201%202%201%202-3%204-6%203-2%202%206-1l9-4%207-4%206-3%201-1h2l6-1%2010-2%201%201v-1c0-2%201-4%208-6l7-2c1%202%203%200%203-3l12-6%2024-14-17%209-18%208c-2-3%2010-11%2025-19l10-4v-99a644%20644%200%20000-105c-1-1-2%200-5%205m-41%2041h-3l-1%202c0%202%200%202-1%201-1-2-1-2-1%201l-4%202-3-1-1-1-1%201v3c-1%201-1%201%202%201l2%201h3c1-1%202%200%204%202%202%203%203%203%205%202l2-2-1-1-2-3c-1-3-1-4%201-5%201%200%202-2%201-3h-2m-93%2032c-5%202-8%205-8%207s0%202%201%201c1-2%201-2%201%201l1%205c1%202%201%202%201%200l1-2%201%202v5h-1l2%202%201%202c-1%201%201%204%203%206%203%204%204%205%208%204%205%200%2012-4%2010-5-1-1-1-1%201-1l3-9c0-2%201-3%202-3%202-1%202-1%201-2-1%200-3-2-3-5-2-4-3-6-6-6v1h-5c-2%200-2-2%200-2l1-1h-15m0%2033l-5%209-1%201c-2%200-2%202-1%204%202%203%205%203%204%200l1-2v2h1c1-1%202%201%201%203l2%202%206%204%203%204%203-3%202-3-2-4-2-4h2c2%200%203%201%203%202l3%204c2%202%202%202%203%201v-4c-1-2-2-2-2-1h-2c-2-2-2-3%201-3%202-1%204-2%204-4%201-2%201-2-2-1-7%201-8%201-8%203-2%203-4%203-3%200l-1-1-1%203c0%202%200%202-1%201h-2c0%202-2%203-2%201l-1%201c-1%201-1%201-1-1l-3-3-2-2c0-2%205-6%206-6%202%200%202-1%201-3s-2-2-4%200m-123%205c-5%202-8%205-10%208-1%204-1%204%201%203l1%201%205%201h6l6%202c3%200%204%200%203%202h1v1l1%203v-2h2l3%202v2l-2%205c0%204-3%209-7%2010l-3%202%203%201c3%202%203%202%206%200l4-1c2%201%205%200%205-2s0-2-1-1c-2%201-2%201-2-1l1-2%202-3c1-2%201-2%201%200s0%202%202%201l2-2%201-6v3l1%202%201%202%201-1c2-2%203-2%203%201l2%202%205%205h-5l-1-1c0%201-1%202-2%201-1%200-2-1-1-3%200-3%200-3-1%201-2%204-1%207%200%206l1%201-1%201c-1%200%200%204%203%206%202%202%205%202%203-1l-1-10%201%205c1%205%201%205%204%204%201-1%201-1-1-2l-2-4v-3l3%202c2%202%203%202%203%201v-2c-2-2-2-2%201-2l2-2v-3c2-1%202-2%200-3-2-2-1-3%202-1h2l-1-1h1l4-1-2-1h-1l2-2%201-1%201-3-3%202c-3%203-10%206-10%204l-2-1c-2%200-2%200-1%201%202%200%205%205%203%205l-2-2-2-2%201%202c0%202%200%202-3-1-2-2-3-3-3-1l-1-2c-1-3-2-6-4-7-4-5-7-10-7-12s0-2-1%200c-1%203-1%201-1-3%200-3%200-3-1-2-2%201-3%201-6-1-4-2-12-3-16%200m65%2029c-2%200-4%202-5%203%200%202-2%203-2%203l1%202%202%201%201%201h1c1-2%200-2-1-2-2%200-2%200-1-1v-2l2-1v1c-1%201-1%201%201%201h3l-2%201v1h2c0-1%202%200%203%202l3%203-1-5c-1-8-3-10-7-8m-104%205l-4%201h-5c-5-1-10%200-15%205-4%204-5%208-2%207l3%201%204%203%205%201%203%201c4%200%209%205%208%209%200%202%200%202%201%201%203-3%204-1%201%202l-2%204c0%202%204-2%205-4l1-2c1%201%202-1%204-2%202-3%203-3%203%202%200%202%200%203%201%202l5%202%202%201c2%200%202%200%201%201-2%202-2%202%200%202l1%202%203%202c3%202%204%203%203%204-2%201%201%202%207%201%204%200%205%200%204%201s-1%201%201%201%202-1%202-4l1-3v-1l-2-2h1c0%202%202%201%202-1l-4-5c-4-4-4-6%200-2%206%205%208%206%208%204h1c2%201%201-2-1-4s-3-3-2-5l-1-2-1-1v-2l-1-1c1-2-1-4-14-12l-11-8h-7l-9%201m59%2030l-2%205-2%2013-2%2015c1%204%200%206-4%203v-1c1%201%202%200%202-4%200-5-4-7-7-4v5c-2%203-2%203%200%203l5%202c2%202%203%203%204%202h6l4%201h-5c-4%200-7%202-2%202%202%200%202%200-1%202l-2%201%205-1%204-1-2%202-3%201%203-1a627%20627%200%20007%200v3l-2%201h5c0%202-6%204-9%204l-4%201%202%201%201%201h2l2-2h7l-1%201c-1%200-4%207-3%209%200%203%203%201%204-4l1-4v10l1-6c0-4%201-4%201-2l1%204%201-5v-3l1%206c0%203%200%203%201%202l1-5v-2l1%203h1l-1-6c-3-8-1-27%203-31l1-6c0-4%200-4%201-3h2v-2l-1-2c1%200%200-3-2-5-2-4-3-4-3-3l1%203v6l-4%201c-4%202-6%201-6-4%201-3%201-3-2-5-4-1-5-1-3%201v2c-3%202-6%200-7-4h-1m50%2010c-1%200%200%202%202%202l2%202-4%201c-5%201-7%202-7%204s0%202-1%201c0-2-1-2-2-2l-3%201v2l2%201c1-1%201%200%201%201l2%202%201-2%202-3%2011-1h12l-1-1h-2l-1-1v-2l1-1h2c1-2%200-3-4-4-2-1-2-1-1%201%202%203%201%205-1%203-3-4-10-6-11-4m-99%2045l-2%202h2c1-1%202%200%202%201l-1%201v3c-1%201%200%201%202%201%201%200%202%200%201%201-1%200-1%201%201%202l1%201-1%201-2%202-2%202%203-1h2v1l2-1%201-13c1-5-5-7-9-3m290%20103v10h-18a20965%2020965%200%2001-87%201%203134%203134%200%2000-174%200l-60-1H0v5l1%206v1l-1%2014v14h96a1046%201046%200%200098-1%204136%204136%200%2000206-1c1%201%201-2%201-28-1-27-2-40-2-20'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEcklEQVQ4y21V+0+bVRjuv0BGyKD3q7SFQoECZcBKC1RaGu5k3MM9boAoYUEGrpbbSgQkwEQ3mFwyjMMIGIhhCwEdQX+BgCLhMi4rMf4Xj+c90OgSf3hy3nO+r8/7vO/7fKcChUIBtVqN8PBwxMbGIikpCVarFfn5+cjMzER2djZKS0tQUV7O44KCAv6MYpfLBafDyd/Ly8tFWVkZBHK5HDKZDBqNBgaDAVFRUTCbzZw4MTERNpsN6enpSElJgcViQVpaGt9TUnqWlZXFyPLQ0NCAwYEBCKRSKSQSCUipVqvlpDExMYiOjubwqyZyWhMSEviZ0WjkCVpaWjA0NIS5uTmsra1BQGR+qFQqTqrT6aDX6zk5tYJAZ7SPj49HOSufFJPKvr4+zM/PY3t7m4MrFIvFEIlEvHRSqlQqeV+pDUREhKSG2uFwONDf34/Z2VksLCxgZ2cHPp8PBwcHHAIiEwqFHBRTAuorKQ4MDER3dzf29vYwOTmJkZERXh6p6+rqwtbWFjY3N3F2doaTk5MrQlJGRH5i2t+4cYM3mkiSk5NRVFTEe/TL69dYXV1FW1sbh9PpRGNjI5aWlnB+fs4TC/xkpMhfNpVMvWxtbeVNJ9KcnBzY7Xa0t7djfHycW4XaMjU1hY6ODqysrODw8PBqKEQSFBTEbbC4uIjHY49RWVnJS6tia11dHZ8wTba5uZknKi0t5S3p7e3F8vIyH8zp6em/UyaVpIxUDA4O4tXLl9zEZF7yHk2XkhIZqaJk9fX1PJHb7eYlHx0dXRH6p0yrf7K5ubmoqa7mkyRSMq7H40FGRgbrWwNP0NnZyXtbWFjI1/39/f/YhiE4OJhnLi+vQEBAAGprazE6Osr7NvzFMCYmJjipyWRiVQxhZmYGx2y6f7LpUlUkQiBjFlGrNczIYbClpsLD7FBUXIzqmhrcvXcPxSUlaGxqgtfbjzJm6CdPnmKQWaeJna2vb2BqepopbmJfUhJuM68KVHIp3lPJYTZFo+OT+/hp+Ue4Ox+g+E4BNn9ex8baK/ww/x2qKsrw9fgY6murkOmww2ZJRkZ6KowGPSLCdLDeTkK2y8kI66chrnoG3YfzeP/z3+Aa3sadp4cIvfscqb0bqHn+Fo6BXxFzfxERH30Pel9ZNwVF7TdQ1DyD5oNZ6Bu/RXjzCxg/fgGBwnuJW1/+DfPYX9D2n0HrPYXe+wZKrw9CzymCOg8R8tkbSHouOOSPLiH3XoF+S3tZnw9SBnkPs42i+xjp4xfImfTBMnYB+1dvkTV5Ce2jEyi6T6DqZeQ9FB+/A3nX0TWuY3am9LBPT+n+HaKOXQgf7ELy6R7ELKa9nMXyh2x9uAfF/4B+9y7+gMa9C4HBdAs6YxyHNjIWKl0kFKEGSNVhECq0ECt1kGrCIVbpGPSQqPXseQR/Nyw6AZFxyTAlWmG22GGxuyAI04VCG6qBWsWuLTm7vmTsyxGzS0IYDFFIMIQhN68QfBPi6zOJKAQK5o5QDfvrYBM2RrJ7Ms6ENJsV/wBuwUQ2oclRXAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/8419c26418bf950f0604335b2cb7b494/3ddd4/cover2.png","srcSet":"/static/8419c26418bf950f0604335b2cb7b494/078a8/cover2.png 163w,\n/static/8419c26418bf950f0604335b2cb7b494/e56da/cover2.png 327w,\n/static/8419c26418bf950f0604335b2cb7b494/3ddd4/cover2.png 653w,\n/static/8419c26418bf950f0604335b2cb7b494/c5cc7/cover2.png 980w,\n/static/8419c26418bf950f0604335b2cb7b494/6050d/cover2.png 1200w","srcWebp":"/static/8419c26418bf950f0604335b2cb7b494/0acdf/cover2.webp","srcSetWebp":"/static/8419c26418bf950f0604335b2cb7b494/ac59e/cover2.webp 163w,\n/static/8419c26418bf950f0604335b2cb7b494/7660b/cover2.webp 327w,\n/static/8419c26418bf950f0604335b2cb7b494/0acdf/cover2.webp 653w,\n/static/8419c26418bf950f0604335b2cb7b494/75470/cover2.webp 980w,\n/static/8419c26418bf950f0604335b2cb7b494/9000d/cover2.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20143v143h17l16-1h1l11%201h9l3-5c3-4%203-4%201-4s-2%200%200-3l4-3%201-1%207-8%206-7v-1l2-1c1%201%203-2%202-3-1-2%202-1%203%201%203%202%207%204%207%202l3-1c3%200%203%200%202-1l-1-2-1-1-2%201c-2%203-3%201-1-2l4-10%201-1v2h1l5-2h3l-2-2c-1-2-2-2-4-1-2%202-5%200-3-3v-9c-1-1-1-1%201-2h1v5c0%203%200%204%203%201h3l4%201c4-1%207%202%205%204l-4%208-5%207-1%203%202%2010c1%207%203%2010%2013%2019s10%209%2023%209h11l-4-5-4-5c-1%200-12-11-10-11l-3-2c-1-2-3-3-3-2l-1-1%201-5%201-2%203-4c2-4%204-5%204-2s1%203%202%204%201%201%201-1%200-2%201%200l2%202c2%201%202-2%200-6-1-2%200-3%201-3v1c0%202%209%2012%2015%2016%207%204%2011%204%2021-1l8-4%203%203c2%202%203%203%204%201s5%200%205%203l1%201v1c-2%202-2%202%201%205%205%203%205%208%202%209l-2%201-1%201h-1l-1%201h-2l-3%203-3%202h11c10%200%2019-2%2010-2-3%200-4%200-3-1%202%200%200-2-2-2l-2-1c0-2%204-3%206-3%203%201%208-3%209-5l1-3v-1l-3-3-1-2-2%202-4%202c-1-1-1-1%201-2%203-2%203-3-1-3l-3%201%203-1%203-2h-3l-5-1c-2-1-2-1%200-2%204-2%204-3-1-2h-4l2-1c4-2%204-3%201-3-2%201-2%201%200-1%201-1%201-1-2-1-9%202-9%202-5%200l3-3-2%201h-3c-1%200-1-1%201-1l2-2-4%201h-5c-1-1-1-1%201-2s2-1-1-1-5-3-2-3l-1-1c-2-1-2-1%200-1s3-1%200-3c-1-2-1-2%204-2l9%201c3%202%203%202%203%200%200-3-1-3-7-4-10-2-11-2-10-3h1l1-1-1-1v-6l4%202c2%203%2010%204%2010%201a3333%203333%200%20005-3c2-1%202-1%201%202s2%2013%205%2015l1%203c-1%204%205%208%2015%2011h7c1%200%202%202%202%208%201%207%205%2012%209%2012l3%201%201%201%201-2%201-3%201-9-1%202-1%202-1-1c1-1%200-2-1-2v-12c-1-3%200-6%201-6l1-3c0-3-3-5-7-7-3-1-3-1-2%202l-1%202v6l-4-3%202-1v-1c-3-1-7%203-5%204v1h-2c0%202%200%202-1%201l-3-1c-2%201-7-1-6-2l-1-1c-2%200-6-6-6-8s-1-3-3-3c-3-1-2-1%203-2%201-1%202-3%200-3l-4-2-3-3%204-1c9-1%2020%202%2019%205%200%204%202%202%202-2l6-13%202%201c1%202%202%202%202%201h1l1%202%203%206%202%205c0%203%203%208%205%208l5%205c3%204%2013%2011%2018%2012%202%201%203%205%201%208l-1%203c1%201%200%206-1%206v-1l-4-1c-4%200-5%201-6%203%200%203%200%203-2%203l-3%201-1%201-3%201-8%204c-3%200-12%204-12%205l-1%201h-3l-6%202c-13%205-14%205%2015%205a215%20215%200%200030-1c-1%201%2015%201%2042%201a373%20373%200%200045-1l22%201h22V143c0-79%200-142-1-141%200%202-1%203-5%205a1500%201500%200%2000-6%201l1-2-2%202c-2%202-3%201-2-1l1-1c1%200%206-4%205-5h-18l-2%201h-1c1-2%200-2-4-2s-5%200-4%201v3h-3l1-1c3-2-4-2-30-3l-27%201h-1l-22-1h-20l-4%205c-4%205-5%204-2-1l3-4h-14a69%2069%200%2000-18%201h-3l-3%202-8%203c-5%203-8%204-4%201s1-2-5%202c-7%203-9%204-8%202s0-2-2%200l-3%201c-1-1%202-4%208-8l5-4a714%20714%200%2000-63%201L70%200H0v143M395%2017c-5%208-4%207-7%206h-2l-1%201c0-1-3%201-3%204-1%201-2%202-3%201v1l-1%203-2%202-1%201-2%202h-2l-2%201c-2%203-5%204-4%201h-2c-3%202-4%202-4%201%200-2%200-2-1-1h-5v-2c-1-1-1-2%201-3l2-3%203-2c1-1%202-1%201-2-2%200-8%203-6%204l1%201c-4%200-7%201-7%202l-1%201-1%201v4l-2%202-3%202-2%203-2%205c1%204-1%206-3%205-1-1-2-1-2%202l-2%202v-3l-1-2h-2v-2c-1%200-1-7%201-7l1-3c0-1%201-3%204-4l4-3c0-2-2-1-7%202-5%202-7%201-2-2l2-2c-2-1-7%201-12%205-4%203-4%204%201%202%203-2%206-2%206%201%200%201-6%2013-8%2014v4l4-3c4-4%204-3%204%202%200%203%200%203%203%203%203-1%202%200-3%203l-4%204-1%201c0-1-5%201-9%204l-8%206-4-2h-9c-4%201-5%201-10-2-11-6-23%201-28%2015v7l2%205c0%204%200%204-5%208-6%203-8%204-6%201l1-2%202-2c3-1%205-4%204-4v-3l-1-2v-2h-6c-2%201-2%202-5%202-2%200-2%200-1%202%201%201%201%201-1%201h-1l-1%204v3l1%202-1%201v1h-1l-2-4c1-1%200-2-1-2l-5-6c-5-8-8-8-22-2-6%202-6%202-11%201-7-3-12-2-18%200-8%204-11%2010-6%2014%201%201%201%201-2%202h-2l3%202%209%201%205%201%206%202c7%200%2014%206%2013%2010%200%202%200%202-1%201s-1%200-1%203l-1%207%201%202%202-1%202-1v2c0%202%200%202%202%200l2-3%201-3%203-4c0-4%203-9%204-9l-1%204c-2%203-4%2013-2%2010l3-1c2%200%202-1%202-3v-2l1%202%201%203v-3c1-2%201-2%202-1l2%201c1-1%201%200%201%201l2-1c1-2%201-2%201%202l-1%204%201-3%202-3v3c0%203%200%203%202%202%202-3%202-2%202%201-1%203%200%203%2010%204l9%203c5%202%205%201%205-2l1-3v4c0%204%200%204%202%204l1%201%201%201v1l2%201%201%201c1%202%204%202%205%201h1l-1%202c-2%202-2%203%200%203l2-1c1-1%202-1%203%202%203%202%203%203%201%204s-3%200-2-2h-1l-1-1c1-2-1-1-2%201-2%201-2%204-1%205l1-1%202-1v1l1%201c2-1%205%200%204%201l2%201-1%202-2%202%202%201h4c3-1%207%201%205%203h1c2-2%201%201-1%202s-2%202-1%202v1c-1%201%200%201%201%201%202%201%203%201%202%202l1%201%201%201%201%201c2%200%202%200%201%201v2l2-1%202%201c2%204%202%203%201-1-3-5-2-6%201-3s3%201-2-4l-5-5c-2%200-2-1-2-3l-1-5-2-9c0-10-2-14-5-13-3%200-4-1-3-6%200-4%202-6%202-2l1%202%201-1c-1-1%204-3%205-2l1-1h2l2-1%201-3%201%201v2l1-2v-6l-1-5v-2l-1-4v-1l2%202%201%203v-3l2-2%201%201c-1%202%201%204%203%205%202%200%202-1%201-2v-8l1%202%202%204%201%203v-4l-1-4v-2l1-2h1l2%201c2-2%203-1%202%202l1%203%201-1v-3l1%201%204%202c3%201%207%202%209%204%206%204%209%205%209%203l1-2v3c-1%202-1%202%201%202h1l1%201h1l1%201h1l1%201%201-1h1l-2%204-2%202h1c2-2%203-1%203%201%201%202%202%202%203%202l5%201v3c0%201%201%202%203%202%203%200%203%200%202-1v-1c2%200%203%202%203%204l-1%201-2-1h-1l-1%201-1%201v1l4%201c2%200%203%200%202%201h-3l-4%201c-1%201-1%201%201%201l7%201c3%202%203%202%202%203-2%201-1%202%201%201%202%200%200%2010-2%2011l-2%201c-1%202-3%200-3-3l-3-5-2-2v3l-1%204c-1%200-3-4-3-10%200-4%200-5-4-9l-4-5-11-13c-2-1-7%200-6%202l-2%204-1-3c0-3%200-3-4-3-3%200-4%200-4%202v2h2c1-1%201-1%202%201s0%203-6%202c-2%200-3%200-2%201%202%202%2013%201%2018-2l2-1a111%20111%200%2001-6%2013l3%202c1%201%201%201-1%201l-5%203c-4%203-4%205-1%203%204-2%205-2%203%200v1l2-1%201-1v3c0%202%201%203%203%203l1%201-3%203c-3%202-3%202-1%202h4l3%201-2%202-2%202h2c2%200%202%200%201%201l-2%201h9c3-2%203-2%203%200l2%201c2%200%204%202%202%203l-2%201h2l1%201-3%202c-3%200-4%202-1%202h5c-2-2-2-2%200-2s2%201%202%203%200%203-1%202c-3-1-3%202%200%204%203%203%204%206%201%208-2%201-1%205%202%204h3l2-4c0-5%201-6%201-3l3%203c2%201%202%201%201-2v-2l2%202%203%206c1%203%201%203%202%201%201-1%201%200%201%204%200%2010-7%2012-13%203-2-3-3-4-4-2-3%204-10%205-14%203l-9-9-6-12-2-2c0-1-2-4-5-6-4-4-4-4-5-2l-2%206-4%2010v5c2%202%202%205%202%208-1%204-1%204%201%203%201-2%201-2%202-1%200%202%201%202%202-1%202-3%202-3%202-1l-1%203v2c1%201%201%201-1%201-3-1-6%202-4%205v2c-1%201-1%201-1-1l-1-2-2-1h-3c-4%202-8%201-14-3-3-1-5-3-5-4l-2-4c-3-4-3-7-3-16%200-7%200-7-7-15l-3-5c0-3-1-2-2%201%200%205-2%2010-3%209-1%200-2-1-1-2l-2-3-1-3-2-4c-3-4-3-6-2-10%201-3%201-3-3-5-4-1-5-1-4%201v2l-1-2c0-1-8-1-9%201h-1c0-2-3-1-4%201-2%203-1%204%207%204%204%201%206%201%209-1%204-2%206-1%202%202-1%202-3%205-3%209l-2%201-2%202c-1%202-1%202%202%203%202%200%202%201%201%202v1l1%201c0%202%202%203%204%202%201-1%201-1%201%201v4c-2%200-2%202-2%202l-3%204-2%202%205-1c3%200%204%200%202%201s-2%201%202%201l6%203c3%202%203%201%203-5l1-6c2%200%2010%2023%2010%2031l1%202%202-8v-1c2%200%203%203%203%209%201%205%201%206%203%204%201-1%201-1%201%201-2%204-2%205-1%205l2%201c0%202%202%201%203-1v-5c-3-4-2-6%200-3%202%202%203%208%202%208-1%201%201%2013%202%2013%202%200%202-4%201-6v-1c3%200%203%206%200%208-1%201-1%204%201%204l1%201h-2l-3%201h-2l-4-1-2-1h-4c-2%202%203%205%205%204%204-1%201%202-6%206-10%204-8%205%201%201%206-3%209-4%2011-3%201%200%202%200%201-1%200-2%201-3%208-4h6l7-1h3l-2%201-1%201h-4c-2%201-2%201%201%201%202%200%202%200%201%201h-6l-1%201h-4c-1%201-1%201%201%202%201%202%201%202-3%204-6%203-2%202%206-1l9-4%207-4%206-3%201-1h2l6-1%2010-2%201%201v-1c0-2%201-4%208-6l7-2c1%202%203%200%203-3l12-6%2024-14-17%209-18%208c-2-3%2010-11%2025-19l10-4v-99a644%20644%200%20000-105c-1-1-2%200-5%205m-41%2041h-3l-1%202c0%202%200%202-1%201-1-2-1-2-1%201l-4%202-3-1-1-1-1%201v3c-1%201-1%201%202%201l2%201h3c1-1%202%200%204%202%202%203%203%203%205%202l2-2-1-1-2-3c-1-3-1-4%201-5%201%200%202-2%201-3h-2m-93%2032c-5%202-8%205-8%207s0%202%201%201c1-2%201-2%201%201l1%205c1%202%201%202%201%200l1-2%201%202v5h-1l2%202%201%202c-1%201%201%204%203%206%203%204%204%205%208%204%205%200%2012-4%2010-5-1-1-1-1%201-1l3-9c0-2%201-3%202-3%202-1%202-1%201-2-1%200-3-2-3-5-2-4-3-6-6-6v1h-5c-2%200-2-2%200-2l1-1h-15m0%2033l-5%209-1%201c-2%200-2%202-1%204%202%203%205%203%204%200l1-2v2h1c1-1%202%201%201%203l2%202%206%204%203%204%203-3%202-3-2-4-2-4h2c2%200%203%201%203%202l3%204c2%202%202%202%203%201v-4c-1-2-2-2-2-1h-2c-2-2-2-3%201-3%202-1%204-2%204-4%201-2%201-2-2-1-7%201-8%201-8%203-2%203-4%203-3%200l-1-1-1%203c0%202%200%202-1%201h-2c0%202-2%203-2%201l-1%201c-1%201-1%201-1-1l-3-3-2-2c0-2%205-6%206-6%202%200%202-1%201-3s-2-2-4%200m-123%205c-5%202-8%205-10%208-1%204-1%204%201%203l1%201%205%201h6l6%202c3%200%204%200%203%202h1v1l1%203v-2h2l3%202v2l-2%205c0%204-3%209-7%2010l-3%202%203%201c3%202%203%202%206%200l4-1c2%201%205%200%205-2s0-2-1-1c-2%201-2%201-2-1l1-2%202-3c1-2%201-2%201%200s0%202%202%201l2-2%201-6v3l1%202%201%202%201-1c2-2%203-2%203%201l2%202%205%205h-5l-1-1c0%201-1%202-2%201-1%200-2-1-1-3%200-3%200-3-1%201-2%204-1%207%200%206l1%201-1%201c-1%200%200%204%203%206%202%202%205%202%203-1l-1-10%201%205c1%205%201%205%204%204%201-1%201-1-1-2l-2-4v-3l3%202c2%202%203%202%203%201v-2c-2-2-2-2%201-2l2-2v-3c2-1%202-2%200-3-2-2-1-3%202-1h2l-1-1h1l4-1-2-1h-1l2-2%201-1%201-3-3%202c-3%203-10%206-10%204l-2-1c-2%200-2%200-1%201%202%200%205%205%203%205l-2-2-2-2%201%202c0%202%200%202-3-1-2-2-3-3-3-1l-1-2c-1-3-2-6-4-7-4-5-7-10-7-12s0-2-1%200c-1%203-1%201-1-3%200-3%200-3-1-2-2%201-3%201-6-1-4-2-12-3-16%200m65%2029c-2%200-4%202-5%203%200%202-2%203-2%203l1%202%202%201%201%201h1c1-2%200-2-1-2-2%200-2%200-1-1v-2l2-1v1c-1%201-1%201%201%201h3l-2%201v1h2c0-1%202%200%203%202l3%203-1-5c-1-8-3-10-7-8m-104%205l-4%201h-5c-5-1-10%200-15%205-4%204-5%208-2%207l3%201%204%203%205%201%203%201c4%200%209%205%208%209%200%202%200%202%201%201%203-3%204-1%201%202l-2%204c0%202%204-2%205-4l1-2c1%201%202-1%204-2%202-3%203-3%203%202%200%202%200%203%201%202l5%202%202%201c2%200%202%200%201%201-2%202-2%202%200%202l1%202%203%202c3%202%204%203%203%204-2%201%201%202%207%201%204%200%205%200%204%201s-1%201%201%201%202-1%202-4l1-3v-1l-2-2h1c0%202%202%201%202-1l-4-5c-4-4-4-6%200-2%206%205%208%206%208%204h1c2%201%201-2-1-4s-3-3-2-5l-1-2-1-1v-2l-1-1c1-2-1-4-14-12l-11-8h-7l-9%201m59%2030l-2%205-2%2013-2%2015c1%204%200%206-4%203v-1c1%201%202%200%202-4%200-5-4-7-7-4v5c-2%203-2%203%200%203l5%202c2%202%203%203%204%202h6l4%201h-5c-4%200-7%202-2%202%202%200%202%200-1%202l-2%201%205-1%204-1-2%202-3%201%203-1a627%20627%200%20007%200v3l-2%201h5c0%202-6%204-9%204l-4%201%202%201%201%201h2l2-2h7l-1%201c-1%200-4%207-3%209%200%203%203%201%204-4l1-4v10l1-6c0-4%201-4%201-2l1%204%201-5v-3l1%206c0%203%200%203%201%202l1-5v-2l1%203h1l-1-6c-3-8-1-27%203-31l1-6c0-4%200-4%201-3h2v-2l-1-2c1%200%200-3-2-5-2-4-3-4-3-3l1%203v6l-4%201c-4%202-6%201-6-4%201-3%201-3-2-5-4-1-5-1-3%201v2c-3%202-6%200-7-4h-1m50%2010c-1%200%200%202%202%202l2%202-4%201c-5%201-7%202-7%204s0%202-1%201c0-2-1-2-2-2l-3%201v2l2%201c1-1%201%200%201%201l2%202%201-2%202-3%2011-1h12l-1-1h-2l-1-1v-2l1-1h2c1-2%200-3-4-4-2-1-2-1-1%201%202%203%201%205-1%203-3-4-10-6-11-4m-99%2045l-2%202h2c1-1%202%200%202%201l-1%201v3c-1%201%200%201%202%201%201%200%202%200%201%201-1%200-1%201%201%202l1%201-1%201-2%202-2%202%203-1h2v1l2-1%201-13c1-5-5-7-9-3m290%20103v10h-18a20965%2020965%200%2001-87%201%203134%203134%200%2000-174%200l-60-1H0v5l1%206v1l-1%2014v14h96a1046%201046%200%200098-1%204136%204136%200%2000206-1c1%201%201-2%201-28-1-27-2-40-2-20'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEcklEQVQ4y21V+0+bVRjuv0BGyKD3q7SFQoECZcBKC1RaGu5k3MM9boAoYUEGrpbbSgQkwEQ3mFwyjMMIGIhhCwEdQX+BgCLhMi4rMf4Xj+c90OgSf3hy3nO+r8/7vO/7fKcChUIBtVqN8PBwxMbGIikpCVarFfn5+cjMzER2djZKS0tQUV7O44KCAv6MYpfLBafDyd/Ly8tFWVkZBHK5HDKZDBqNBgaDAVFRUTCbzZw4MTERNpsN6enpSElJgcViQVpaGt9TUnqWlZXFyPLQ0NCAwYEBCKRSKSQSCUipVqvlpDExMYiOjubwqyZyWhMSEviZ0WjkCVpaWjA0NIS5uTmsra1BQGR+qFQqTqrT6aDX6zk5tYJAZ7SPj49HOSufFJPKvr4+zM/PY3t7m4MrFIvFEIlEvHRSqlQqeV+pDUREhKSG2uFwONDf34/Z2VksLCxgZ2cHPp8PBwcHHAIiEwqFHBRTAuorKQ4MDER3dzf29vYwOTmJkZERXh6p6+rqwtbWFjY3N3F2doaTk5MrQlJGRH5i2t+4cYM3mkiSk5NRVFTEe/TL69dYXV1FW1sbh9PpRGNjI5aWlnB+fs4TC/xkpMhfNpVMvWxtbeVNJ9KcnBzY7Xa0t7djfHycW4XaMjU1hY6ODqysrODw8PBqKEQSFBTEbbC4uIjHY49RWVnJS6tia11dHZ8wTba5uZknKi0t5S3p7e3F8vIyH8zp6em/UyaVpIxUDA4O4tXLl9zEZF7yHk2XkhIZqaJk9fX1PJHb7eYlHx0dXRH6p0yrf7K5ubmoqa7mkyRSMq7H40FGRgbrWwNP0NnZyXtbWFjI1/39/f/YhiE4OJhnLi+vQEBAAGprazE6Osr7NvzFMCYmJjipyWRiVQxhZmYGx2y6f7LpUlUkQiBjFlGrNczIYbClpsLD7FBUXIzqmhrcvXcPxSUlaGxqgtfbjzJm6CdPnmKQWaeJna2vb2BqepopbmJfUhJuM68KVHIp3lPJYTZFo+OT+/hp+Ue4Ox+g+E4BNn9ex8baK/ww/x2qKsrw9fgY6murkOmww2ZJRkZ6KowGPSLCdLDeTkK2y8kI66chrnoG3YfzeP/z3+Aa3sadp4cIvfscqb0bqHn+Fo6BXxFzfxERH30Pel9ZNwVF7TdQ1DyD5oNZ6Bu/RXjzCxg/fgGBwnuJW1/+DfPYX9D2n0HrPYXe+wZKrw9CzymCOg8R8tkbSHouOOSPLiH3XoF+S3tZnw9SBnkPs42i+xjp4xfImfTBMnYB+1dvkTV5Ce2jEyi6T6DqZeQ9FB+/A3nX0TWuY3am9LBPT+n+HaKOXQgf7ELy6R7ELKa9nMXyh2x9uAfF/4B+9y7+gMa9C4HBdAs6YxyHNjIWKl0kFKEGSNVhECq0ECt1kGrCIVbpGPSQqPXseQR/Nyw6AZFxyTAlWmG22GGxuyAI04VCG6qBWsWuLTm7vmTsyxGzS0IYDFFIMIQhN68QfBPi6zOJKAQK5o5QDfvrYBM2RrJ7Ms6ENJsV/wBuwUQ2oclRXAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/8419c26418bf950f0604335b2cb7b494/502b1/cover2.png","srcSet":"/static/8419c26418bf950f0604335b2cb7b494/f2e6d/cover2.png 114w,\n/static/8419c26418bf950f0604335b2cb7b494/4ddba/cover2.png 229w,\n/static/8419c26418bf950f0604335b2cb7b494/502b1/cover2.png 457w,\n/static/8419c26418bf950f0604335b2cb7b494/7ddc2/cover2.png 686w,\n/static/8419c26418bf950f0604335b2cb7b494/435bf/cover2.png 914w,\n/static/8419c26418bf950f0604335b2cb7b494/6050d/cover2.png 1200w","srcWebp":"/static/8419c26418bf950f0604335b2cb7b494/15384/cover2.webp","srcSetWebp":"/static/8419c26418bf950f0604335b2cb7b494/31fce/cover2.webp 114w,\n/static/8419c26418bf950f0604335b2cb7b494/e3e25/cover2.webp 229w,\n/static/8419c26418bf950f0604335b2cb7b494/15384/cover2.webp 457w,\n/static/8419c26418bf950f0604335b2cb7b494/0258d/cover2.webp 686w,\n/static/8419c26418bf950f0604335b2cb7b494/64ea2/cover2.webp 914w,\n/static/8419c26418bf950f0604335b2cb7b494/9000d/cover2.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20143v143h17l16-1h1l11%201h9l3-5c3-4%203-4%201-4s-2%200%200-3l4-3%201-1%207-8%206-7v-1l2-1c1%201%203-2%202-3-1-2%202-1%203%201%203%202%207%204%207%202l3-1c3%200%203%200%202-1l-1-2-1-1-2%201c-2%203-3%201-1-2l4-10%201-1v2h1l5-2h3l-2-2c-1-2-2-2-4-1-2%202-5%200-3-3v-9c-1-1-1-1%201-2h1v5c0%203%200%204%203%201h3l4%201c4-1%207%202%205%204l-4%208-5%207-1%203%202%2010c1%207%203%2010%2013%2019s10%209%2023%209h11l-4-5-4-5c-1%200-12-11-10-11l-3-2c-1-2-3-3-3-2l-1-1%201-5%201-2%203-4c2-4%204-5%204-2s1%203%202%204%201%201%201-1%200-2%201%200l2%202c2%201%202-2%200-6-1-2%200-3%201-3v1c0%202%209%2012%2015%2016%207%204%2011%204%2021-1l8-4%203%203c2%202%203%203%204%201s5%200%205%203l1%201v1c-2%202-2%202%201%205%205%203%205%208%202%209l-2%201-1%201h-1l-1%201h-2l-3%203-3%202h11c10%200%2019-2%2010-2-3%200-4%200-3-1%202%200%200-2-2-2l-2-1c0-2%204-3%206-3%203%201%208-3%209-5l1-3v-1l-3-3-1-2-2%202-4%202c-1-1-1-1%201-2%203-2%203-3-1-3l-3%201%203-1%203-2h-3l-5-1c-2-1-2-1%200-2%204-2%204-3-1-2h-4l2-1c4-2%204-3%201-3-2%201-2%201%200-1%201-1%201-1-2-1-9%202-9%202-5%200l3-3-2%201h-3c-1%200-1-1%201-1l2-2-4%201h-5c-1-1-1-1%201-2s2-1-1-1-5-3-2-3l-1-1c-2-1-2-1%200-1s3-1%200-3c-1-2-1-2%204-2l9%201c3%202%203%202%203%200%200-3-1-3-7-4-10-2-11-2-10-3h1l1-1-1-1v-6l4%202c2%203%2010%204%2010%201a3333%203333%200%20005-3c2-1%202-1%201%202s2%2013%205%2015l1%203c-1%204%205%208%2015%2011h7c1%200%202%202%202%208%201%207%205%2012%209%2012l3%201%201%201%201-2%201-3%201-9-1%202-1%202-1-1c1-1%200-2-1-2v-12c-1-3%200-6%201-6l1-3c0-3-3-5-7-7-3-1-3-1-2%202l-1%202v6l-4-3%202-1v-1c-3-1-7%203-5%204v1h-2c0%202%200%202-1%201l-3-1c-2%201-7-1-6-2l-1-1c-2%200-6-6-6-8s-1-3-3-3c-3-1-2-1%203-2%201-1%202-3%200-3l-4-2-3-3%204-1c9-1%2020%202%2019%205%200%204%202%202%202-2l6-13%202%201c1%202%202%202%202%201h1l1%202%203%206%202%205c0%203%203%208%205%208l5%205c3%204%2013%2011%2018%2012%202%201%203%205%201%208l-1%203c1%201%200%206-1%206v-1l-4-1c-4%200-5%201-6%203%200%203%200%203-2%203l-3%201-1%201-3%201-8%204c-3%200-12%204-12%205l-1%201h-3l-6%202c-13%205-14%205%2015%205a215%20215%200%200030-1c-1%201%2015%201%2042%201a373%20373%200%200045-1l22%201h22V143c0-79%200-142-1-141%200%202-1%203-5%205a1500%201500%200%2000-6%201l1-2-2%202c-2%202-3%201-2-1l1-1c1%200%206-4%205-5h-18l-2%201h-1c1-2%200-2-4-2s-5%200-4%201v3h-3l1-1c3-2-4-2-30-3l-27%201h-1l-22-1h-20l-4%205c-4%205-5%204-2-1l3-4h-14a69%2069%200%2000-18%201h-3l-3%202-8%203c-5%203-8%204-4%201s1-2-5%202c-7%203-9%204-8%202s0-2-2%200l-3%201c-1-1%202-4%208-8l5-4a714%20714%200%2000-63%201L70%200H0v143M395%2017c-5%208-4%207-7%206h-2l-1%201c0-1-3%201-3%204-1%201-2%202-3%201v1l-1%203-2%202-1%201-2%202h-2l-2%201c-2%203-5%204-4%201h-2c-3%202-4%202-4%201%200-2%200-2-1-1h-5v-2c-1-1-1-2%201-3l2-3%203-2c1-1%202-1%201-2-2%200-8%203-6%204l1%201c-4%200-7%201-7%202l-1%201-1%201v4l-2%202-3%202-2%203-2%205c1%204-1%206-3%205-1-1-2-1-2%202l-2%202v-3l-1-2h-2v-2c-1%200-1-7%201-7l1-3c0-1%201-3%204-4l4-3c0-2-2-1-7%202-5%202-7%201-2-2l2-2c-2-1-7%201-12%205-4%203-4%204%201%202%203-2%206-2%206%201%200%201-6%2013-8%2014v4l4-3c4-4%204-3%204%202%200%203%200%203%203%203%203-1%202%200-3%203l-4%204-1%201c0-1-5%201-9%204l-8%206-4-2h-9c-4%201-5%201-10-2-11-6-23%201-28%2015v7l2%205c0%204%200%204-5%208-6%203-8%204-6%201l1-2%202-2c3-1%205-4%204-4v-3l-1-2v-2h-6c-2%201-2%202-5%202-2%200-2%200-1%202%201%201%201%201-1%201h-1l-1%204v3l1%202-1%201v1h-1l-2-4c1-1%200-2-1-2l-5-6c-5-8-8-8-22-2-6%202-6%202-11%201-7-3-12-2-18%200-8%204-11%2010-6%2014%201%201%201%201-2%202h-2l3%202%209%201%205%201%206%202c7%200%2014%206%2013%2010%200%202%200%202-1%201s-1%200-1%203l-1%207%201%202%202-1%202-1v2c0%202%200%202%202%200l2-3%201-3%203-4c0-4%203-9%204-9l-1%204c-2%203-4%2013-2%2010l3-1c2%200%202-1%202-3v-2l1%202%201%203v-3c1-2%201-2%202-1l2%201c1-1%201%200%201%201l2-1c1-2%201-2%201%202l-1%204%201-3%202-3v3c0%203%200%203%202%202%202-3%202-2%202%201-1%203%200%203%2010%204l9%203c5%202%205%201%205-2l1-3v4c0%204%200%204%202%204l1%201%201%201v1l2%201%201%201c1%202%204%202%205%201h1l-1%202c-2%202-2%203%200%203l2-1c1-1%202-1%203%202%203%202%203%203%201%204s-3%200-2-2h-1l-1-1c1-2-1-1-2%201-2%201-2%204-1%205l1-1%202-1v1l1%201c2-1%205%200%204%201l2%201-1%202-2%202%202%201h4c3-1%207%201%205%203h1c2-2%201%201-1%202s-2%202-1%202v1c-1%201%200%201%201%201%202%201%203%201%202%202l1%201%201%201%201%201c2%200%202%200%201%201v2l2-1%202%201c2%204%202%203%201-1-3-5-2-6%201-3s3%201-2-4l-5-5c-2%200-2-1-2-3l-1-5-2-9c0-10-2-14-5-13-3%200-4-1-3-6%200-4%202-6%202-2l1%202%201-1c-1-1%204-3%205-2l1-1h2l2-1%201-3%201%201v2l1-2v-6l-1-5v-2l-1-4v-1l2%202%201%203v-3l2-2%201%201c-1%202%201%204%203%205%202%200%202-1%201-2v-8l1%202%202%204%201%203v-4l-1-4v-2l1-2h1l2%201c2-2%203-1%202%202l1%203%201-1v-3l1%201%204%202c3%201%207%202%209%204%206%204%209%205%209%203l1-2v3c-1%202-1%202%201%202h1l1%201h1l1%201h1l1%201%201-1h1l-2%204-2%202h1c2-2%203-1%203%201%201%202%202%202%203%202l5%201v3c0%201%201%202%203%202%203%200%203%200%202-1v-1c2%200%203%202%203%204l-1%201-2-1h-1l-1%201-1%201v1l4%201c2%200%203%200%202%201h-3l-4%201c-1%201-1%201%201%201l7%201c3%202%203%202%202%203-2%201-1%202%201%201%202%200%200%2010-2%2011l-2%201c-1%202-3%200-3-3l-3-5-2-2v3l-1%204c-1%200-3-4-3-10%200-4%200-5-4-9l-4-5-11-13c-2-1-7%200-6%202l-2%204-1-3c0-3%200-3-4-3-3%200-4%200-4%202v2h2c1-1%201-1%202%201s0%203-6%202c-2%200-3%200-2%201%202%202%2013%201%2018-2l2-1a111%20111%200%2001-6%2013l3%202c1%201%201%201-1%201l-5%203c-4%203-4%205-1%203%204-2%205-2%203%200v1l2-1%201-1v3c0%202%201%203%203%203l1%201-3%203c-3%202-3%202-1%202h4l3%201-2%202-2%202h2c2%200%202%200%201%201l-2%201h9c3-2%203-2%203%200l2%201c2%200%204%202%202%203l-2%201h2l1%201-3%202c-3%200-4%202-1%202h5c-2-2-2-2%200-2s2%201%202%203%200%203-1%202c-3-1-3%202%200%204%203%203%204%206%201%208-2%201-1%205%202%204h3l2-4c0-5%201-6%201-3l3%203c2%201%202%201%201-2v-2l2%202%203%206c1%203%201%203%202%201%201-1%201%200%201%204%200%2010-7%2012-13%203-2-3-3-4-4-2-3%204-10%205-14%203l-9-9-6-12-2-2c0-1-2-4-5-6-4-4-4-4-5-2l-2%206-4%2010v5c2%202%202%205%202%208-1%204-1%204%201%203%201-2%201-2%202-1%200%202%201%202%202-1%202-3%202-3%202-1l-1%203v2c1%201%201%201-1%201-3-1-6%202-4%205v2c-1%201-1%201-1-1l-1-2-2-1h-3c-4%202-8%201-14-3-3-1-5-3-5-4l-2-4c-3-4-3-7-3-16%200-7%200-7-7-15l-3-5c0-3-1-2-2%201%200%205-2%2010-3%209-1%200-2-1-1-2l-2-3-1-3-2-4c-3-4-3-6-2-10%201-3%201-3-3-5-4-1-5-1-4%201v2l-1-2c0-1-8-1-9%201h-1c0-2-3-1-4%201-2%203-1%204%207%204%204%201%206%201%209-1%204-2%206-1%202%202-1%202-3%205-3%209l-2%201-2%202c-1%202-1%202%202%203%202%200%202%201%201%202v1l1%201c0%202%202%203%204%202%201-1%201-1%201%201v4c-2%200-2%202-2%202l-3%204-2%202%205-1c3%200%204%200%202%201s-2%201%202%201l6%203c3%202%203%201%203-5l1-6c2%200%2010%2023%2010%2031l1%202%202-8v-1c2%200%203%203%203%209%201%205%201%206%203%204%201-1%201-1%201%201-2%204-2%205-1%205l2%201c0%202%202%201%203-1v-5c-3-4-2-6%200-3%202%202%203%208%202%208-1%201%201%2013%202%2013%202%200%202-4%201-6v-1c3%200%203%206%200%208-1%201-1%204%201%204l1%201h-2l-3%201h-2l-4-1-2-1h-4c-2%202%203%205%205%204%204-1%201%202-6%206-10%204-8%205%201%201%206-3%209-4%2011-3%201%200%202%200%201-1%200-2%201-3%208-4h6l7-1h3l-2%201-1%201h-4c-2%201-2%201%201%201%202%200%202%200%201%201h-6l-1%201h-4c-1%201-1%201%201%202%201%202%201%202-3%204-6%203-2%202%206-1l9-4%207-4%206-3%201-1h2l6-1%2010-2%201%201v-1c0-2%201-4%208-6l7-2c1%202%203%200%203-3l12-6%2024-14-17%209-18%208c-2-3%2010-11%2025-19l10-4v-99a644%20644%200%20000-105c-1-1-2%200-5%205m-41%2041h-3l-1%202c0%202%200%202-1%201-1-2-1-2-1%201l-4%202-3-1-1-1-1%201v3c-1%201-1%201%202%201l2%201h3c1-1%202%200%204%202%202%203%203%203%205%202l2-2-1-1-2-3c-1-3-1-4%201-5%201%200%202-2%201-3h-2m-93%2032c-5%202-8%205-8%207s0%202%201%201c1-2%201-2%201%201l1%205c1%202%201%202%201%200l1-2%201%202v5h-1l2%202%201%202c-1%201%201%204%203%206%203%204%204%205%208%204%205%200%2012-4%2010-5-1-1-1-1%201-1l3-9c0-2%201-3%202-3%202-1%202-1%201-2-1%200-3-2-3-5-2-4-3-6-6-6v1h-5c-2%200-2-2%200-2l1-1h-15m0%2033l-5%209-1%201c-2%200-2%202-1%204%202%203%205%203%204%200l1-2v2h1c1-1%202%201%201%203l2%202%206%204%203%204%203-3%202-3-2-4-2-4h2c2%200%203%201%203%202l3%204c2%202%202%202%203%201v-4c-1-2-2-2-2-1h-2c-2-2-2-3%201-3%202-1%204-2%204-4%201-2%201-2-2-1-7%201-8%201-8%203-2%203-4%203-3%200l-1-1-1%203c0%202%200%202-1%201h-2c0%202-2%203-2%201l-1%201c-1%201-1%201-1-1l-3-3-2-2c0-2%205-6%206-6%202%200%202-1%201-3s-2-2-4%200m-123%205c-5%202-8%205-10%208-1%204-1%204%201%203l1%201%205%201h6l6%202c3%200%204%200%203%202h1v1l1%203v-2h2l3%202v2l-2%205c0%204-3%209-7%2010l-3%202%203%201c3%202%203%202%206%200l4-1c2%201%205%200%205-2s0-2-1-1c-2%201-2%201-2-1l1-2%202-3c1-2%201-2%201%200s0%202%202%201l2-2%201-6v3l1%202%201%202%201-1c2-2%203-2%203%201l2%202%205%205h-5l-1-1c0%201-1%202-2%201-1%200-2-1-1-3%200-3%200-3-1%201-2%204-1%207%200%206l1%201-1%201c-1%200%200%204%203%206%202%202%205%202%203-1l-1-10%201%205c1%205%201%205%204%204%201-1%201-1-1-2l-2-4v-3l3%202c2%202%203%202%203%201v-2c-2-2-2-2%201-2l2-2v-3c2-1%202-2%200-3-2-2-1-3%202-1h2l-1-1h1l4-1-2-1h-1l2-2%201-1%201-3-3%202c-3%203-10%206-10%204l-2-1c-2%200-2%200-1%201%202%200%205%205%203%205l-2-2-2-2%201%202c0%202%200%202-3-1-2-2-3-3-3-1l-1-2c-1-3-2-6-4-7-4-5-7-10-7-12s0-2-1%200c-1%203-1%201-1-3%200-3%200-3-1-2-2%201-3%201-6-1-4-2-12-3-16%200m65%2029c-2%200-4%202-5%203%200%202-2%203-2%203l1%202%202%201%201%201h1c1-2%200-2-1-2-2%200-2%200-1-1v-2l2-1v1c-1%201-1%201%201%201h3l-2%201v1h2c0-1%202%200%203%202l3%203-1-5c-1-8-3-10-7-8m-104%205l-4%201h-5c-5-1-10%200-15%205-4%204-5%208-2%207l3%201%204%203%205%201%203%201c4%200%209%205%208%209%200%202%200%202%201%201%203-3%204-1%201%202l-2%204c0%202%204-2%205-4l1-2c1%201%202-1%204-2%202-3%203-3%203%202%200%202%200%203%201%202l5%202%202%201c2%200%202%200%201%201-2%202-2%202%200%202l1%202%203%202c3%202%204%203%203%204-2%201%201%202%207%201%204%200%205%200%204%201s-1%201%201%201%202-1%202-4l1-3v-1l-2-2h1c0%202%202%201%202-1l-4-5c-4-4-4-6%200-2%206%205%208%206%208%204h1c2%201%201-2-1-4s-3-3-2-5l-1-2-1-1v-2l-1-1c1-2-1-4-14-12l-11-8h-7l-9%201m59%2030l-2%205-2%2013-2%2015c1%204%200%206-4%203v-1c1%201%202%200%202-4%200-5-4-7-7-4v5c-2%203-2%203%200%203l5%202c2%202%203%203%204%202h6l4%201h-5c-4%200-7%202-2%202%202%200%202%200-1%202l-2%201%205-1%204-1-2%202-3%201%203-1a627%20627%200%20007%200v3l-2%201h5c0%202-6%204-9%204l-4%201%202%201%201%201h2l2-2h7l-1%201c-1%200-4%207-3%209%200%203%203%201%204-4l1-4v10l1-6c0-4%201-4%201-2l1%204%201-5v-3l1%206c0%203%200%203%201%202l1-5v-2l1%203h1l-1-6c-3-8-1-27%203-31l1-6c0-4%200-4%201-3h2v-2l-1-2c1%200%200-3-2-5-2-4-3-4-3-3l1%203v6l-4%201c-4%202-6%201-6-4%201-3%201-3-2-5-4-1-5-1-3%201v2c-3%202-6%200-7-4h-1m50%2010c-1%200%200%202%202%202l2%202-4%201c-5%201-7%202-7%204s0%202-1%201c0-2-1-2-2-2l-3%201v2l2%201c1-1%201%200%201%201l2%202%201-2%202-3%2011-1h12l-1-1h-2l-1-1v-2l1-1h2c1-2%200-3-4-4-2-1-2-1-1%201%202%203%201%205-1%203-3-4-10-6-11-4m-99%2045l-2%202h2c1-1%202%200%202%201l-1%201v3c-1%201%200%201%202%201%201%200%202%200%201%201-1%200-1%201%201%202l1%201-1%201-2%202-2%202%203-1h2v1l2-1%201-13c1-5-5-7-9-3m290%20103v10h-18a20965%2020965%200%2001-87%201%203134%203134%200%2000-174%200l-60-1H0v5l1%206v1l-1%2014v14h96a1046%201046%200%200098-1%204136%204136%200%2000206-1c1%201%201-2%201-28-1-27-2-40-2-20'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/8419c26418bf950f0604335b2cb7b494/6050d/cover2.png"}}},{"id":"384d3fab-354b-5d56-87c6-5156b53e3e99","slug":"/importance-of-design-system","secret":false,"title":"Importance of design system","author":"Luke Celitan","date":"December 12th, 2022","dateForSEO":"2022-12-12T00:00:00.000Z","timeToRead":3,"excerpt":"Why You Need A Design System, And How To Create One","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Importance of design system\",\n  \"author\": \"Luke Celitan\",\n  \"date\": \"2022-12-12T00:00:00.000Z\",\n  \"hero\": \"./designSystem1.jpg\",\n  \"excerpt\": \"Why You Need A Design System, And How To Create One\",\n  \"category\": \"Post\",\n  \"tech\": [\"TS\", \"Nodejs\", \"ReactIcon\", \"Rust\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"what-is-a-design-system\"\n  }, \"What is a Design System?\"), mdx(\"p\", null, \"A design system is a collection of reusable components and guidelines for\\ndesigning and building digital products. It can be used to create a consistent\\nuser experience across multiple devices and platforms, and to streamline the\\ndesign and development process. Design systems often include style guides, UI\\nkits, code libraries, and other resources that developers and designers can use\\nto create consistent, cohesive user experiences. When used correctly, design\\nsystems can help teams work more efficiently, improve the quality of their work,\\nand ship better products faster.\"), mdx(\"h2\", {\n    \"id\": \"why-is-it-important-to-have-a-design-system\"\n  }, \"Why is it important to have a design system?\"), mdx(\"p\", null, \"A design system is a collection of reusable components and guidelines for design\\nand development. It can be used by a team of designers and developers to build\\ndigital products, such as websites and applications, in a consistent and\\ncohesive way. There are many benefits to having a design system, such as:\\n-Improved efficiency: A design system enables team members to work more\\nefficiently by reusing common components instead of starting from scratch each\\ntime. -Reduced errors and inconsistencies: By following the same design rules\\nand using the same components, mistakes and inconsistencies are reduced. -Faster\\nturnaround times: Using a design system can help speed up the development\\nprocess as team members are familiar with the components and how they fit\\ntogether. -Increased satisfaction: When designers and developers have a greater\\ndegree of control over the end product, they are usually more satisfied with\\ntheir work. This leads to improved morale and motivation within the team.\"), mdx(\"h2\", {\n    \"id\": \"what-are-the-different-types-of-design-systems\"\n  }, \"What are the different types of design systems?\"), mdx(\"p\", null, \"There are many different types of design systems, but they all share some\\ncommonalities. A design system is a set of reusable components and guidelines\\nthat can be used to build digital products. Design systems can help create\\nconsistency and coherence across a product, and make it easier to scale and\\nmaintain a product over time. The most common type of design system is a\\ncomponent library. A component library is a collection of UI components that can\\nbe reused in different contexts. Component libraries can be static (e.g.\\nBootstrap) or dynamic (e.g. React). Another type of design system is a style\\nguide. A style guide is a set of rules and guidelines for how to use the\\ncomponents in a component library. Style guides can be used to enforce\\nconsistency across a team, or across an entire organization. Other types of\\ndesign systems include pattern libraries and front-end frameworks. Pattern\\nlibraries are collections of UI patterns that can be reused in different\\ncontexts. Front-end frameworks are sets of code that can be used to build web\\napplications. Front-end frameworks often come with their own component libraries\\nand style guides.\"), mdx(\"h2\", {\n    \"id\": \"how-do-i-know-if-i-need-a-design-system\"\n  }, \"How do I know if I need a design system?\"), mdx(\"p\", null, \"If you\\u2019re not sure whether you need a design system, ask yourself the following\\nquestions: - Do you have a lot of different products or platforms that need to\\nbe designed? - Do you find yourself constantly reinventing the wheel when it\\ncomes to design? - Are your designers wasting time on creating assets that could\\nbe reused? - Do you have trouble maintaining consistency across your designs? If\\nyou answered yes to any of these questions, then it\\u2019s likely that a design\\nsystem would be beneficial for your organization. A design system can help to\\nstreamline your design process, improve efficiency, and create consistency\\nacross your products.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1024px\"\n    }\n  }, \"\\n      \", mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"100%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAADpElEQVQ4y5VUWW/cVBT2L+KJPwBv8ILEDwBVzUuLFAoPBKkVEggolRgQDeoCgQZVrUSStqKTVEmhTdIlmSwzWWbixLPZ49iO17Gv17vaXDcRFMQLn45lSz7nu+ee850j5C/AGMv/P4TjV8HB8iJnOaWM0qLkyxnlzzH1ieX/PEPgHhwTt1dVzUWkABFKMuKDFEQQEwoRySChhDMSzktx+f0XhYAwTTK6vHb421KgHiHgwECLxep682l/rlZsS5QzNntku0s3u/QoLGiZ4nEauZBmxPSIG7Bq1Yp35bs/zl8ZX6hU5r8af/LpeP3i9caNe7uinGkWbQ9Q//cWfvgUHpqkKHLKhDilXYN4Hip0y9lSzp4eb/ddK0Kq4hhWGA7B5NTOhcvWzWo+9QDK7WBoAFcyUs3mVRJAQkSFOA5iMa437A/OTSbrLVrbhj0jRmUdp+akS19sXL4RfD9NeibTosJpqnlXZmVwTFoyMRxMSL74YP/cyBV6p5pXruaLq4YUH3bo/KPOyOjtU6PTP91xJbXYEqFsEcxvztPmJ0sqaXWx2GNrs90Px341ND/S3dQGWUTAEJtWJra8mfviwjNT0bFm49VdFMY8PBeGIRlYpDKZvXUGvfdl+tGlx1EEHUBtD3kB5i7NdvjzzOC7H+qLK2ZngAf9UOxkME5zQgQ/IqpDP67Er7yRjJzPTo0tjV7YOF/RL07EN6f958vu9kE8u6TefyzrVuL4LJl5VKxvsbLaVAhiyu8wcRef/Yx+c6tY+MN+893lV99uvHbau/Vtx57dbB9E1rBwQW77xAXU3DsyD5wgJFyFAs9ePCqcZ81iasa/t7wr4jOftF5/p/7+mCj+UrPn6keyb7por4clFfV11NVxbTc1bMx1KYQJPdCotSKlG6LX97zDqDqtXPu6Wa2sdK7O709vAJChFO51ELdWD+kGBCHOIMOYB3ORqFC5VpWrm0ov3KoNNclLNC9eahw8FHee67aTRSGyPayoUDOg5yKYkRzjUmFRSjoa8XQwlN0nNe/z61JdKvugO8RNi7ZeNPZBZxCmuPD7+tpqF2JeZsoQLvscZ2XBHJ/6IdVcZm8rw4Yc9+3U9IdW0lWxC0ia0RSyCJQpvDyUAkTUA1QxSVsjokqULVNfVw53DE0aKmra1bgKqOFRyydhynA5l39HC3xIEeJTSfiERAkBMA9QEcAiyPIgpSChvJdcwvxvhighJ+vh5U3CXiyOEvl/2onPv/EnyS4vAU5+UKMAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/75751e1afed5261f6013a18327da63a8/53334/designSystem.webp 1024w\"],\n    \"sizes\": \"(max-width: 1024px) 100vw, 1024px\",\n    \"type\": \"image/webp\"\n  }), \"\\n          \", mdx(\"source\", {\n    parentName: \"picture\",\n    \"srcSet\": [\"/static/75751e1afed5261f6013a18327da63a8/658fc/designSystem.png 1024w\"],\n    \"sizes\": \"(max-width: 1024px) 100vw, 1024px\",\n    \"type\": \"image/png\"\n  }), \"\\n          \", mdx(\"img\", {\n    parentName: \"picture\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/75751e1afed5261f6013a18327da63a8/658fc/designSystem.png\",\n    \"alt\": \"design system\",\n    \"title\": \"design system\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  }), \"\\n        \"), \"\\n    \")), mdx(\"h2\", {\n    \"id\": \"how-do-i-create-and-maintain-a-design-system-when-we-have-so-many-internal-products\"\n  }, \"How do I create and maintain a design system when we have so many internal products?\"), mdx(\"p\", null, \"Design systems are a great way to ensure consistency, usability and\\naccessibility across your products. But they can also be challenging to create\\nand maintain, especially when you have a large and diverse portfolio of internal\\nproducts. How do you balance the needs of different teams, stakeholders and\\nusers? How do you keep your design system up to date and relevant? How do you\\navoid duplication, fragmentation and confusion?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Define the scope and purpose of your design system\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Involve your users and stakeholders from the start\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Establish a clear governance and ownership model\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Document and communicate your design system effectively\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Use tools and platforms that support collaboration and automation\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Iterate and evolve your design system over time\")));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["TS","Nodejs","ReactIcon","Rust"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIEBQH/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAdCFOvNbrORdiHQf/8QAGhAAAgMBAQAAAAAAAAAAAAAAAgMAARQREv/aAAgBAQABBQJjLAiYVWBehM+QjuIMKXnXM65nVP/EABYRAAMAAAAAAAAAAAAAAAAAAAABEv/aAAgBAwEBPwGWSymUz//EABYRAQEBAAAAAAAAAAAAAAAAAAAREP/aAAgBAgEBPwHIj//EAB8QAAECBgMAAAAAAAAAAAAAAAACEQMQISIxoTJh4f/aAAgBAQAGPwLw6HGhrteV6qmNmNnE/8QAHBAAAwADAQEBAAAAAAAAAAAAAAERITFBYZHw/9oACAEBAAE/IUxcb2wnXDIn4Grqp30csjT4+GjLOw9f0ZnWfg/Rn//aAAwDAQACAAMAAAAQMMcB/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAFh/9oACAEDAQE/EIsiyrKs/8QAFxEAAwEAAAAAAAAAAAAAAAAAABFRAf/aAAgBAgEBPxB5R5RIJD//xAAgEAEAAgICAQUAAAAAAAAAAAABABEhMUFR0WFxgfDx/9oACAEBAAE/EHamsgr5MUd4jaRC8ijw+0BFtprs3LAwio2WtruUgJKWOX5CgDiBdHGz0mjg+m5aoXCVEKPP5n//2Q==","aspectRatio":1,"src":"/static/60f53bc1df34e9dd797daa54291216ad/58fe7/designSystem1.jpg","srcSet":"/static/60f53bc1df34e9dd797daa54291216ad/e0f30/designSystem1.jpg 236w,\n/static/60f53bc1df34e9dd797daa54291216ad/86afd/designSystem1.jpg 472w,\n/static/60f53bc1df34e9dd797daa54291216ad/58fe7/designSystem1.jpg 944w,\n/static/60f53bc1df34e9dd797daa54291216ad/0ff54/designSystem1.jpg 1200w","srcWebp":"/static/60f53bc1df34e9dd797daa54291216ad/99fbb/designSystem1.webp","srcSetWebp":"/static/60f53bc1df34e9dd797daa54291216ad/77392/designSystem1.webp 236w,\n/static/60f53bc1df34e9dd797daa54291216ad/1f177/designSystem1.webp 472w,\n/static/60f53bc1df34e9dd797daa54291216ad/99fbb/designSystem1.webp 944w,\n/static/60f53bc1df34e9dd797daa54291216ad/9000d/designSystem1.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M232%2048h-3c-2%200-2%200%200%201v2l-2-1h-7c-6%200-6%200-4%201%205%202%204%204-1%203l-7%201c-2%201-1%201%205%201%204%200%206%200%204%201s-2%201%202%201h6l5-1c2%200%202%200%201%202l-1%202%202-1c1-2%206-4%2012-5s16-5%2015-6l-7-1-5%201c2%201%202%201-1%202-4%201-6%201-2-1%202-1%202-1%200-1-1%200-2%200-1-1l-5-1-6%201M36%2052c-3%202-5%206-5%2011%200%203%200%203%201%202%202-2%202-2%203%201l4%207%202%203%203-2c9-9%202-28-8-22m211%206c-12%205-15%2028-6%2038l4%203h8c12-2%2018-8%2016-18l1-5c2-2-1-11-5-15-6-5-11-6-18-3m-123%203c0%203%200%204-1%203s-1%200-1%205c0%204%200%205%201%204%200-2%202-3%202-1%200%203-3%2011-4%2011v-2c2-4%201-4-1%200-3%204-5%202-3-2l1-3c-1%200-2%201-2%203l-2%201c0-4-3-4-4%201l-3%203-1%201-1%201c-4%201-4%201%200-2%204-5%207-13%204-14-7-1-7-1-7-5%200-2%200-3%201-2s4%201%204-1l-4-1-5%201%202%201c2%200%201%205-1%205s-2%200-1%201c3%200%202%202%200%205-3%203-4%203-3-1l1-6c0-2%200-3-1-1%200%202-1%202-2%202l-5-1c-3%200-3%200-3-4%200-3%200-3-1%200%200%203%200%203-5%203h-5l4%201c4%201%206%202%204%203-1%201-5%202-7%201l-1%201-4%201h-4c-1-2-1-2-4%200-2%201-3%200-3-4%200-2%200-2-2%200-1%202-1%203-2%202h-2l-3-1c-1-1-2%200-3%202l-6%206-3%202%205%201%2010%201h2c-3%201%205%202%2013%202%204%200%204%200%204%202-1%202%201%204%205%204l2%201-3%201h-3l-2%201c-3%200-4%202-1%202%202%200%202%200-1%202l-3%201h3l5%201h1c-1-2%202-3%206-2%202%201%203%203%201%205v1l2-2%205-2%206-1%207-2c2%200%203-1%203-2h1c0%202%202%203%2011%204%209%200%2011%202%202%202h-6l3%204c3%204%204%205%207%205s3%200%201-1l-2-1h2l3%201%202%201v-2c2-1%200-4-4-4l-3-1h3l4-1%201-1c2%202%206%200%206-3%201-4%202-4%2019-8%202%200%202%200%201-2l-2-3c-1-1-1%200-1%202s0%203-1%202h-10v-3c0-3%200-3%203-3l4-2%204-2c2%200%202%200%200-1-3-1-3-1%202-1l6-1h4c3%200%207-3%205-5l-1%201c-1%202-2%202-6%202-2%200-4%200-3%201l-4%201-10%201c-4%200-5%200-4-1l6-1c4-1%204-1-2-1-5%200-6%200-9%203l-5%203-4%203c-3%203-6%204-4%201%203-8%204-20%200-25v3m201%207h-6l-6%201c-2%200-1%207%201%207l1%202-1%202c-2%200-2%202-2%2011v12l1-11c0-11%200-11%203-12%203-2%204-1%202%201l-1%204c0%203%200%203%203%203h3l-3-1-2-1%202-1c2-1%202-1%203%201%202%203%203%206%202%207v1l-2%201c-3%200-2%203%202%208l3%203-1-6v-7h3c2%200%202%200%201%201s-2%202-1%2010v3l3-3%203-5%202-2%201-2%201-2%202-1c2-2%202-12%201-15v-1l-1-3-3-4h-7c-5%200-6%200-3-1l4-1h-4l-4%201m-98%2013c-6%201-6%201-6%208v7h-4l-5-1v-3l1-2c0-2-2-3-2%200-1%201-1%200-1-2v-4h5c3-1%205-1%204-2-2-1-29%204-29%206l1%201%201%202c1%201%201%201%201-1s1-3%206-4c10-2%209-2%2010%204a32%2032%200%20003%2012l-7-1-2-1%201%202c1%202%201%202-2%202s-3%200-2-1l1-2-2%201h-1c-1-1%200-2%204-2%204-1%204-1%204-4-1-5-2-5-8-4-5%200-5%200-6%204v5l-1%201h-2l1%201v1c-1%200-2-1-2-3s0-2-6-2l-5%201v-6c0-6-1-6-3-6s-2%200-2%206l-1%208c-3%203%208%2014%2012%2013l3%201-2%201h4l1-1c-3%200-2-2%201-2%203-1%203%200%202%201%200%201%200%202%202%201l3-5%201-4%206-2a17833%2017833%200%200034-5h3l-2-3-5-6c-1-3-1-3-2-1%200%203%200%203-4%202h-4l-2-5c0-3%202-5%207-5l4-1-1-1-5%201m24%2020l-5%202h-2l-3%201-7%201h-3c3%200%204%200%204%202%200%201%200%202%201%201l1%201%202%202c2%201%203%201%202%202-2%201-1%202%202%202l5%202%202%201c1-1-2-4-5-4l-2-1c1-1%203-2%209-2%207%200%207%200%202%201l-3%201c3%200%203%200%201%201h-2l2%204c2%203%203%204%206%205%205%201%209%203%2011%207l2%202c0-2%204-1%204%201l-2%201c-2-1-2%200-2%202s0%203-2%203l-4%201-1-1v-1l-1%202%204%201%205-1%201-2c0-2%201-3%203%200%202%201%202%201%206-2l4-4h-4c-4%200-5%200-4-4%200-3%204-3%204%200%200%202%201%203%202%203%202%201%202%200%202-2%200-3-3-5-7-5h-2l4-2c2%200%203-1%203-2%201-1%201-1%202%201v2l3-2c3-2%204-2%2014-1l29%204c2%200%205%206%205%2010%200%202%200%202%204%202%203%200%203%200%203-3s0-3%201-2l5%202%203%203c0%201%200%202%201%201v-6h5c4%200%205%201%206%202v-2c0-3-1-6-3-7-3-3-3-4%201-4l6-2a1141%201141%200%2001-103-18l-15%201m-115%208v3l-6-1-9-1c-4%200-4%200-4%202%200%204%208%206%2011%203h1c1%202-1%202-24%201l-18-2-1%203c1%204%201%204%2022%205%2010%201%2011%201%2010-1l1-2c1-1%201%200%201%201%200%203%202%204%2015%204l7%201v-4c0-3-1-3-2-3-2%200-2%200-1-1l1-3%201-2%201%202%202%202c3-1%204%201%201%202-2%200-2%201-2%204l1%203%201-3c0-4%202-4%202%200%201%204%206%204%206%200s-8-13-12-13l-5-2v2m148%200v1l9%201c30%205%2066%208%2059%205a1467%201467%200%2000-68-7m-231%205c-19%205-24%206-23%207%202%200%202%201%202%203-1%202-1%202%204%201%209-1%209-1%2010-5%200-4%202-4%202%200l1%203%201-1%202-2c2%200%202%200%201%201s-1%201%202%201l17-2h13v-3c0-3%200-3-5-3-13-2-20-2-27%200m3%2010l-24%204c-4%200%204%202%2010%202l10%201h15c12%200%2013%200%2012%202%200%201%200%202%202%203%203%200%204%202%202%202l-5%204c-3%202-4%204-3%204l2-1h1c-1%201%2010%204%2022%204l11%202%203-1%202-1%2014%201%2015%201%201%201v1c1%202%201%202-2%203-4%201-5%201-1%201l4-1h1c3%202%203%201%201-1-2-3-2-4%201-2l1%202%201%201c1-1%204%202%204%204l-2%203-2%201-6%201c-6%200-8%201-6%205h1c0-2%206-3%2016-1%204%200%204%200%202%201s-2%201-1%202l3-1h1l1%201v-13l1-12-3%202h-3v-2c3%201%206-2%205-5%200-4-2-5-4-2-3%202-6%202-7%200%200-2%200-2%202-2%201%201%203%200%205-1l2-2-2-1c-2-2-4-2-11%200-14%202-14%202-14-2l-1-4h6c3%200%205%200%204-1a916%20916%200%2000-87-3m240%207c0%208%200%209%202%209h4c6%202%2013%202%2012%201-2-1-3-3%200-3%201%201%201%200%201-4v-4l1%204%201%205v-5c0-3%201-4%203-6%203-3%203-4-8-4l-13-2h-3v9m-56-6c-2%201-2%205-2%2043v43h7v-42c0-39%200-42-2-44h-3m6%2043v45h-16l-12-1c5%200%205%200%205-3%200-2%200-3-2-3s-2%200%201-4l3-5h-1c-1%201-1%201-1-1l1-4c0-2%201-1%201%201l1%204v-4c0-6%201-9%203-9l1-1-3-1c-4%200-4%200-4%203%200%206-2%2014-4%2017s-2%202-1-2l3-7c0-5%200-5-2-5l-2%201%202%201%201%202-1%204-4%201h-4v-7c0-7%201-9%204-6s5%203%206%201c2-3%201-3-4-3s-6%200-6-7c0-3%200-3%204-3l4-1-5-1-5-1c-1-1-1-1-1%201%201%203-3%204-4%201v-3l-1-1c-3%200-4-2-2-4%202-1%202-2%202-3-1%200-2%200-3%202h-4l-16-1c-2%200-2%201-2%202%201%201%200%202-1%202-1%201-1%201%201%201l2%201%208%201c9-1%2010-1%2012%202%203%204%202%204-3%203h-12c-6%200-6%200-6-2%200-1%200-2-1-1-1%200-1%208%201%2022l-1%2012c0%204%200%205%203%207%2010%209%2015%2015%2011%2017l-1%202-2%204-4%203h-1c0-1-5%200-7%202h-2l-1-1c0-2-2-3-4-2l-1-3c0-2%200-3-1-1-3%2014-17%2031-27%2033-3%200-3%200-3-4%200-8%200-8%208-8h7l-7-1-6-1h5l8-2%202-2-2-3-1-4%201-2%202-4c2-3%202-3%205-2%202%202%203%202%203%201l-2-1c-2-1-2-1%200-3l2-1h8l-4-1h-3v-23l-1-25v-2h-10c-9%200-10%200-10%202h17c2%201%200%201-5%201-7%200-8%200-8%202%200%203%202%204%208%203l5-1%201-2c1-1%201%201%201%204v6h-8c-7%200-8%200-8-2%200-1-1-2-5-2l-4-1%201%205c0%204-1%206-2%203h-10l3-1c3%201%203%200%203-3s0-3-3-3l-4-2c-1-2-1-2-1%202l-1%208v5h-10c-10%200-12-1-10-5v-3l4-1%204%201c0%202%201%200%202-2l-1-3-1%202-4%201-4-1-1-1-1%204c0%207-2%2015-5%2018l-3%202%201-3v-1l1-1%201-1-14-1c-14%200-14%200-12%202l2%201c2-1%202%203%201%207s-1%204-6%204l-6-1-2%203c-2%203-2%203-3%202%200-2%200-2-1-1s-1%200-1-2l1-3-2%203-2%204%201-4v-3l-2%202c-1%203-1%203-2%202-1-2-1-2-2%200-3%208-10%2013-17%2013l-4%201%2023%204%2011%202c3%202%2012%203%2018%203%204%200%204%200%207%206l4%207-16%201a99%2099%200%2000-22%202c-2%200-2%200%200%203v6c-1%201%200%201%202%201l4%201%202%201%206%202h8l13-2c10%200%2010%200%2011-3s1-3-6-3c-5%200-6%200-6%202%200%201%200%203-2%203h-2v-4c1-4%202-4%206-4%207%200%2013%202%2013%204l-2%204c0%202%205%204%2011%203%203-1%206-1%209%201%204%201%2010%201%2018-1%202%200%202%200%201%201l-4%201c-2%200-2%200%201%201l4%203c2%201%202%201%202-6l1-8%201%203c0%204%202%208%205%208l1%201-3%201-4%201h8l39%202c-3%202-43%204-45%202l-2-2v2c1%201%201%201-3%201s-5%200-7-4c-3-4-4-5-4-2l-2%201-2%201h4l2%201v1l1%201-6%201c-5%200-6%200-7-3-3-4-7-7-8-5-2%201-2%202%201%204l2%204h-3c-2%200-4-1-8-5-2-3-6-5-7-5s-1%201%203%205l6%205H0v37l1%2038h46a733%20733%200%200145%203l4%201c3%200%203%200%202-1h9c6%202%206%203%201%203h-4l2%201h10c2-2%202-2-4-3l-6-3c1-1%2011%202%2013%204l4%201c2-1%202-1-1-2l-7-3c-8-1-1-1%2035-1a36539%2036539%200%200046%202c-5%200-5%202%200%203%204%200%204%200%202%201l-3%201h3c3%201%205%205%202%205v1l1%201c0%203%200%203%201%201l2-3c0-2%203-3%203-1l2%201h7l-3-2c-5-1-4-2%201-3h17c0%201-6%203-10%203-3%200-3%201-3%203%200%204%200%205%202%203%200-2%201-2%201-1l2%201%202-2h1c1%202%205%202%205%201-1-1%200-3%201-3v-2c-1%200-1-1%201-2%201-2%202-2%203-1l6%203c4%200%204%200%202%201h-6c-4-1-5-1-3%201l5%201c5%200%2019-3%2017-4-3%200-5-2-3-2l1-1%202-2h-3c-13%201-23-1-14-3l7-1a832%20832%200%200166%202c1-2%203-2%2044-2%2038%200%2043%200%2043-2l1-37v-36h-53l2-3%206-10%204-6h14c1%201%202%201%202-1l3-3c4-2%206-2-18-1a31425%2031425%200%2001-111%208l-11%201c-3%201%204%201%2030-1a451%20451%200%2001-79-2h-1l-3%201h-2l2-1%203-1h-3c-2%200-2%200-1-1l4-1c1%201%201%200%201-2s0-3%201-2l1%202v3h22a335%20335%200%200064-2l19-1%201-17v-16l-51%201-52-1v-3l1-2v5h37l-17-1-17-1%203-1c3%201%203%201%203-2l1-2v5l15-1c12%200%2015%200%2016%202%200%201%209%201%209-1l11-2a1274%201274%200%200023%202l1-1c1-2%205-2%205%200%200%203%202%200%203-4%201-3%201-4%201-1l-1%204%205-1h4l-1-6c0-6%201-6%201%201l1%205h7l11%202%203%202h-4l-10%201h-7v33h9a3693%203693%200%200161-5l7-2%201-1c3%200%200-2-5-3l-6-2%203-10%203-11h-24l-27-1c-4-2-5-4-3-4l3%201h1l28-1c27%200%2034-1%2032-3-2-4%205-9%2012-8h2c1-2%200-2-3-2l-4-2v-3h-1l-1-1-1-1c-2-1-1-3%201-3%201-1%200-1-2-1h-5a402%20402%200%2000-56-2c-3%200-4%200-3-2%200-2%201-2%205-2%203%200%204%200%204-2h1c0%203%202%202%202%200%201-3%203-2%204%201%200%202%201%202%208%202h7v-8l1-7v15h12v-14l1%207v7h3c2%200%203%200%203-3%201-4%203-5%206-5l4-2c2-2%202-2-2-3-2-1-1-1%201-1%204%200%206%202%203%204-1%202-1%202%202%202s3%200%203-2c-1-1%200-2%201-3%202-1%202-2%200-3-1-1-22-3-37-3h-6l6%201%2015%201%2011%201h-7a430%20430%200%2000-26-2c0-2-24-4-45-4l-9-1h17c20%200%2020%200%2024-3l4-2v3c0%202%200%203%202%203l7%201c4%200%208-2%208-5l2-1c2%200%202%200%201%201v5l1-2%201-2v5h20c1%202%203%201%203-1l-1-3%201-2c1-2%202-2%204%201%203%203%203%203%200%203-2-1-3%200-3%201%200%202%201%202%204%202%204%200%204-2%201-6-1-1-2-3-1-4l-1-1-2-1-2%202c-1%201-1%200-1-2%200-4-1-5-7-6-2-1-3-1-3%201-1%201%200%202%202%202%202%201%201%201-2%201l-5%202c-2%202-5%202-5%201l2-2c5-1%201-2-10-2l-14-2-1%201c1%201%200%202-1%202l-1-1c0-1-1-2-3-2-4%200-6-2-2-2%205%200%202-2-4-2-6-1-6-1-5-3s2-2%202%200c1%201%205%202%205%200s-2-3-8-4a320%20320%200%2001-13%200l-3%201c-1%200-2%200-1-1l-3-1h-4l-2%201c0%202%202%203%2015%204l10%201-3%201-14-2c-9%200-11-1-11-2s-2%201-3%205c-2%205-2%2017-1%2019l18%201%2017%201-18-1h-17v16l1%2015%201%202-1%201-1%205-1%207a527%20527%200%20010-81c1-5-1-5-6-1-6%205-16%206-23%200-5-3-5-3-5%203l1%205h6c11%200%2016%201%2016%203l2%201h-12c-15%200-17-1-15-4s1-12%200-12c-1-1-2%200-2%202l-1-3-1-9-1%2043m91-24c0%205%200%207-2%207h-1v-4c-2-5-5-3-4%203%201%204%202%205%2014%205%207%201%207%201%206-1l-1-3c-7%200-7%200-1-1l7-1h-6c-4%200-6%200-4-1h8c7%200%2010%203%207%207-1%202-1%202%202%202s3%200%202-1l-1-4c0-3%203-2%204%201%201%202%201%202%201-1l1-4v-4l-1-3h-2l-3-1-4-1c-10%200-17%200-16-1s1-1-2-1h-4v7m-54%201c0%205%200%206-2%208s-2%203-2%208c0%206%200%207-1%206l-3%201c0%201-1%202-3%202h-2v12c1%2012%201%2012-2%2014-2%202-2%203-2%208v7h4c4%200%204%200%204-4%200-2%200-3%201-2%201%204%202-1%202-15v-17c-2-2-1-4%201-4l1%2024%201%2024v-61l3-2c2-2%202-3%202-7-1-7-3-8-2-2m-31%208l-1%205v4h9l13%201h4v-4c0-5-2-6-12-6-5%200-5%200-2%201%204%200%204%200%204%204%200%203%200%203-1%201%200-3-1-4-6-4-4%200-6-1-7-2h-1M23%20163c-8%204-13%2015-13%2030v5c0-9%202-8%202%201%201%2010%203%2017%206%2023%202%204%205%207%205%205l-5-10c-2-2-3-13-2-16%201-4%202-4%206%200%203%203%204%205%2010%2018%204%2010%206%2011%2010%207%206-6%207-13%207-28%201-15-1-20-6-28-5-9-12-11-20-7m271%2022h-1c-3%200-4%202-4%205l1%204h30v-3c0-3%200-3-2-2l-13-1c-9%200-10%200-10-2v-2l-1%201m-1%2020c4%202%206%204%206%207v1l1-4v-3h9l9%201h1l5-1%205%201h5l3-1%203%201v1l2-1c0-2%2013-1%2013%200h2l5-1h5l-17-1a3780%203780%200%2001-57%200m-32%207c0%201-3%202-3%200l-3-1-3%201v1c4%200%202%203-1%203l11%201%2015-1c0-4-1-5-8-4l-6-1v-1l-2%202m-111%2063v5h19c14%200%2017%200%2012-1-14-2-18-2-19-1l-3%201c-2%200-2%200-2-4%200-5%200-5-2-5s-3%201-3%202c0%202%200%202-1%200s-1-1-1%203m48-1l-1%201-1%202v2l-1%201h-1l-2%203-4%202c-2%201%206%202%208%200h1l17%201c20%200%2019-2-1-2l-12-1h-5c0-1%202-3%204-3v-4l-1-4-1%202m-14%2046l-1%207c1%207%201%208%207%207%204-1%203-5-2-6-3%200-4-2-1-2%202%200%203-2%204-5%201-2%200-2-2-2l-5%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIEBQH/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAdCFOvNbrORdiHQf/8QAGhAAAgMBAQAAAAAAAAAAAAAAAgMAARQREv/aAAgBAQABBQJjLAiYVWBehM+QjuIMKXnXM65nVP/EABYRAAMAAAAAAAAAAAAAAAAAAAABEv/aAAgBAwEBPwGWSymUz//EABYRAQEBAAAAAAAAAAAAAAAAAAAREP/aAAgBAgEBPwHIj//EAB8QAAECBgMAAAAAAAAAAAAAAAACEQMQISIxoTJh4f/aAAgBAQAGPwLw6HGhrteV6qmNmNnE/8QAHBAAAwADAQEBAAAAAAAAAAAAAAERITFBYZHw/9oACAEBAAE/IUxcb2wnXDIn4Grqp30csjT4+GjLOw9f0ZnWfg/Rn//aAAwDAQACAAMAAAAQMMcB/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAFh/9oACAEDAQE/EIsiyrKs/8QAFxEAAwEAAAAAAAAAAAAAAAAAABFRAf/aAAgBAgEBPxB5R5RIJD//xAAgEAEAAgICAQUAAAAAAAAAAAABABEhMUFR0WFxgfDx/9oACAEBAAE/EHamsgr5MUd4jaRC8ijw+0BFtprs3LAwio2WtruUgJKWOX5CgDiBdHGz0mjg+m5aoXCVEKPP5n//2Q==","aspectRatio":1,"src":"/static/60f53bc1df34e9dd797daa54291216ad/1dc0b/designSystem1.jpg","srcSet":"/static/60f53bc1df34e9dd797daa54291216ad/3a5ce/designSystem1.jpg 163w,\n/static/60f53bc1df34e9dd797daa54291216ad/05730/designSystem1.jpg 327w,\n/static/60f53bc1df34e9dd797daa54291216ad/1dc0b/designSystem1.jpg 653w,\n/static/60f53bc1df34e9dd797daa54291216ad/f72c7/designSystem1.jpg 980w,\n/static/60f53bc1df34e9dd797daa54291216ad/0ff54/designSystem1.jpg 1200w","srcWebp":"/static/60f53bc1df34e9dd797daa54291216ad/0acdf/designSystem1.webp","srcSetWebp":"/static/60f53bc1df34e9dd797daa54291216ad/ac59e/designSystem1.webp 163w,\n/static/60f53bc1df34e9dd797daa54291216ad/7660b/designSystem1.webp 327w,\n/static/60f53bc1df34e9dd797daa54291216ad/0acdf/designSystem1.webp 653w,\n/static/60f53bc1df34e9dd797daa54291216ad/75470/designSystem1.webp 980w,\n/static/60f53bc1df34e9dd797daa54291216ad/9000d/designSystem1.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M232%2048h-3c-2%200-2%200%200%201v2l-2-1h-7c-6%200-6%200-4%201%205%202%204%204-1%203l-7%201c-2%201-1%201%205%201%204%200%206%200%204%201s-2%201%202%201h6l5-1c2%200%202%200%201%202l-1%202%202-1c1-2%206-4%2012-5s16-5%2015-6l-7-1-5%201c2%201%202%201-1%202-4%201-6%201-2-1%202-1%202-1%200-1-1%200-2%200-1-1l-5-1-6%201M36%2052c-3%202-5%206-5%2011%200%203%200%203%201%202%202-2%202-2%203%201l4%207%202%203%203-2c9-9%202-28-8-22m211%206c-12%205-15%2028-6%2038l4%203h8c12-2%2018-8%2016-18l1-5c2-2-1-11-5-15-6-5-11-6-18-3m-123%203c0%203%200%204-1%203s-1%200-1%205c0%204%200%205%201%204%200-2%202-3%202-1%200%203-3%2011-4%2011v-2c2-4%201-4-1%200-3%204-5%202-3-2l1-3c-1%200-2%201-2%203l-2%201c0-4-3-4-4%201l-3%203-1%201-1%201c-4%201-4%201%200-2%204-5%207-13%204-14-7-1-7-1-7-5%200-2%200-3%201-2s4%201%204-1l-4-1-5%201%202%201c2%200%201%205-1%205s-2%200-1%201c3%200%202%202%200%205-3%203-4%203-3-1l1-6c0-2%200-3-1-1%200%202-1%202-2%202l-5-1c-3%200-3%200-3-4%200-3%200-3-1%200%200%203%200%203-5%203h-5l4%201c4%201%206%202%204%203-1%201-5%202-7%201l-1%201-4%201h-4c-1-2-1-2-4%200-2%201-3%200-3-4%200-2%200-2-2%200-1%202-1%203-2%202h-2l-3-1c-1-1-2%200-3%202l-6%206-3%202%205%201%2010%201h2c-3%201%205%202%2013%202%204%200%204%200%204%202-1%202%201%204%205%204l2%201-3%201h-3l-2%201c-3%200-4%202-1%202%202%200%202%200-1%202l-3%201h3l5%201h1c-1-2%202-3%206-2%202%201%203%203%201%205v1l2-2%205-2%206-1%207-2c2%200%203-1%203-2h1c0%202%202%203%2011%204%209%200%2011%202%202%202h-6l3%204c3%204%204%205%207%205s3%200%201-1l-2-1h2l3%201%202%201v-2c2-1%200-4-4-4l-3-1h3l4-1%201-1c2%202%206%200%206-3%201-4%202-4%2019-8%202%200%202%200%201-2l-2-3c-1-1-1%200-1%202s0%203-1%202h-10v-3c0-3%200-3%203-3l4-2%204-2c2%200%202%200%200-1-3-1-3-1%202-1l6-1h4c3%200%207-3%205-5l-1%201c-1%202-2%202-6%202-2%200-4%200-3%201l-4%201-10%201c-4%200-5%200-4-1l6-1c4-1%204-1-2-1-5%200-6%200-9%203l-5%203-4%203c-3%203-6%204-4%201%203-8%204-20%200-25v3m201%207h-6l-6%201c-2%200-1%207%201%207l1%202-1%202c-2%200-2%202-2%2011v12l1-11c0-11%200-11%203-12%203-2%204-1%202%201l-1%204c0%203%200%203%203%203h3l-3-1-2-1%202-1c2-1%202-1%203%201%202%203%203%206%202%207v1l-2%201c-3%200-2%203%202%208l3%203-1-6v-7h3c2%200%202%200%201%201s-2%202-1%2010v3l3-3%203-5%202-2%201-2%201-2%202-1c2-2%202-12%201-15v-1l-1-3-3-4h-7c-5%200-6%200-3-1l4-1h-4l-4%201m-98%2013c-6%201-6%201-6%208v7h-4l-5-1v-3l1-2c0-2-2-3-2%200-1%201-1%200-1-2v-4h5c3-1%205-1%204-2-2-1-29%204-29%206l1%201%201%202c1%201%201%201%201-1s1-3%206-4c10-2%209-2%2010%204a32%2032%200%20003%2012l-7-1-2-1%201%202c1%202%201%202-2%202s-3%200-2-1l1-2-2%201h-1c-1-1%200-2%204-2%204-1%204-1%204-4-1-5-2-5-8-4-5%200-5%200-6%204v5l-1%201h-2l1%201v1c-1%200-2-1-2-3s0-2-6-2l-5%201v-6c0-6-1-6-3-6s-2%200-2%206l-1%208c-3%203%208%2014%2012%2013l3%201-2%201h4l1-1c-3%200-2-2%201-2%203-1%203%200%202%201%200%201%200%202%202%201l3-5%201-4%206-2a17833%2017833%200%200034-5h3l-2-3-5-6c-1-3-1-3-2-1%200%203%200%203-4%202h-4l-2-5c0-3%202-5%207-5l4-1-1-1-5%201m24%2020l-5%202h-2l-3%201-7%201h-3c3%200%204%200%204%202%200%201%200%202%201%201l1%201%202%202c2%201%203%201%202%202-2%201-1%202%202%202l5%202%202%201c1-1-2-4-5-4l-2-1c1-1%203-2%209-2%207%200%207%200%202%201l-3%201c3%200%203%200%201%201h-2l2%204c2%203%203%204%206%205%205%201%209%203%2011%207l2%202c0-2%204-1%204%201l-2%201c-2-1-2%200-2%202s0%203-2%203l-4%201-1-1v-1l-1%202%204%201%205-1%201-2c0-2%201-3%203%200%202%201%202%201%206-2l4-4h-4c-4%200-5%200-4-4%200-3%204-3%204%200%200%202%201%203%202%203%202%201%202%200%202-2%200-3-3-5-7-5h-2l4-2c2%200%203-1%203-2%201-1%201-1%202%201v2l3-2c3-2%204-2%2014-1l29%204c2%200%205%206%205%2010%200%202%200%202%204%202%203%200%203%200%203-3s0-3%201-2l5%202%203%203c0%201%200%202%201%201v-6h5c4%200%205%201%206%202v-2c0-3-1-6-3-7-3-3-3-4%201-4l6-2a1141%201141%200%2001-103-18l-15%201m-115%208v3l-6-1-9-1c-4%200-4%200-4%202%200%204%208%206%2011%203h1c1%202-1%202-24%201l-18-2-1%203c1%204%201%204%2022%205%2010%201%2011%201%2010-1l1-2c1-1%201%200%201%201%200%203%202%204%2015%204l7%201v-4c0-3-1-3-2-3-2%200-2%200-1-1l1-3%201-2%201%202%202%202c3-1%204%201%201%202-2%200-2%201-2%204l1%203%201-3c0-4%202-4%202%200%201%204%206%204%206%200s-8-13-12-13l-5-2v2m148%200v1l9%201c30%205%2066%208%2059%205a1467%201467%200%2000-68-7m-231%205c-19%205-24%206-23%207%202%200%202%201%202%203-1%202-1%202%204%201%209-1%209-1%2010-5%200-4%202-4%202%200l1%203%201-1%202-2c2%200%202%200%201%201s-1%201%202%201l17-2h13v-3c0-3%200-3-5-3-13-2-20-2-27%200m3%2010l-24%204c-4%200%204%202%2010%202l10%201h15c12%200%2013%200%2012%202%200%201%200%202%202%203%203%200%204%202%202%202l-5%204c-3%202-4%204-3%204l2-1h1c-1%201%2010%204%2022%204l11%202%203-1%202-1%2014%201%2015%201%201%201v1c1%202%201%202-2%203-4%201-5%201-1%201l4-1h1c3%202%203%201%201-1-2-3-2-4%201-2l1%202%201%201c1-1%204%202%204%204l-2%203-2%201-6%201c-6%200-8%201-6%205h1c0-2%206-3%2016-1%204%200%204%200%202%201s-2%201-1%202l3-1h1l1%201v-13l1-12-3%202h-3v-2c3%201%206-2%205-5%200-4-2-5-4-2-3%202-6%202-7%200%200-2%200-2%202-2%201%201%203%200%205-1l2-2-2-1c-2-2-4-2-11%200-14%202-14%202-14-2l-1-4h6c3%200%205%200%204-1a916%20916%200%2000-87-3m240%207c0%208%200%209%202%209h4c6%202%2013%202%2012%201-2-1-3-3%200-3%201%201%201%200%201-4v-4l1%204%201%205v-5c0-3%201-4%203-6%203-3%203-4-8-4l-13-2h-3v9m-56-6c-2%201-2%205-2%2043v43h7v-42c0-39%200-42-2-44h-3m6%2043v45h-16l-12-1c5%200%205%200%205-3%200-2%200-3-2-3s-2%200%201-4l3-5h-1c-1%201-1%201-1-1l1-4c0-2%201-1%201%201l1%204v-4c0-6%201-9%203-9l1-1-3-1c-4%200-4%200-4%203%200%206-2%2014-4%2017s-2%202-1-2l3-7c0-5%200-5-2-5l-2%201%202%201%201%202-1%204-4%201h-4v-7c0-7%201-9%204-6s5%203%206%201c2-3%201-3-4-3s-6%200-6-7c0-3%200-3%204-3l4-1-5-1-5-1c-1-1-1-1-1%201%201%203-3%204-4%201v-3l-1-1c-3%200-4-2-2-4%202-1%202-2%202-3-1%200-2%200-3%202h-4l-16-1c-2%200-2%201-2%202%201%201%200%202-1%202-1%201-1%201%201%201l2%201%208%201c9-1%2010-1%2012%202%203%204%202%204-3%203h-12c-6%200-6%200-6-2%200-1%200-2-1-1-1%200-1%208%201%2022l-1%2012c0%204%200%205%203%207%2010%209%2015%2015%2011%2017l-1%202-2%204-4%203h-1c0-1-5%200-7%202h-2l-1-1c0-2-2-3-4-2l-1-3c0-2%200-3-1-1-3%2014-17%2031-27%2033-3%200-3%200-3-4%200-8%200-8%208-8h7l-7-1-6-1h5l8-2%202-2-2-3-1-4%201-2%202-4c2-3%202-3%205-2%202%202%203%202%203%201l-2-1c-2-1-2-1%200-3l2-1h8l-4-1h-3v-23l-1-25v-2h-10c-9%200-10%200-10%202h17c2%201%200%201-5%201-7%200-8%200-8%202%200%203%202%204%208%203l5-1%201-2c1-1%201%201%201%204v6h-8c-7%200-8%200-8-2%200-1-1-2-5-2l-4-1%201%205c0%204-1%206-2%203h-10l3-1c3%201%203%200%203-3s0-3-3-3l-4-2c-1-2-1-2-1%202l-1%208v5h-10c-10%200-12-1-10-5v-3l4-1%204%201c0%202%201%200%202-2l-1-3-1%202-4%201-4-1-1-1-1%204c0%207-2%2015-5%2018l-3%202%201-3v-1l1-1%201-1-14-1c-14%200-14%200-12%202l2%201c2-1%202%203%201%207s-1%204-6%204l-6-1-2%203c-2%203-2%203-3%202%200-2%200-2-1-1s-1%200-1-2l1-3-2%203-2%204%201-4v-3l-2%202c-1%203-1%203-2%202-1-2-1-2-2%200-3%208-10%2013-17%2013l-4%201%2023%204%2011%202c3%202%2012%203%2018%203%204%200%204%200%207%206l4%207-16%201a99%2099%200%2000-22%202c-2%200-2%200%200%203v6c-1%201%200%201%202%201l4%201%202%201%206%202h8l13-2c10%200%2010%200%2011-3s1-3-6-3c-5%200-6%200-6%202%200%201%200%203-2%203h-2v-4c1-4%202-4%206-4%207%200%2013%202%2013%204l-2%204c0%202%205%204%2011%203%203-1%206-1%209%201%204%201%2010%201%2018-1%202%200%202%200%201%201l-4%201c-2%200-2%200%201%201l4%203c2%201%202%201%202-6l1-8%201%203c0%204%202%208%205%208l1%201-3%201-4%201h8l39%202c-3%202-43%204-45%202l-2-2v2c1%201%201%201-3%201s-5%200-7-4c-3-4-4-5-4-2l-2%201-2%201h4l2%201v1l1%201-6%201c-5%200-6%200-7-3-3-4-7-7-8-5-2%201-2%202%201%204l2%204h-3c-2%200-4-1-8-5-2-3-6-5-7-5s-1%201%203%205l6%205H0v37l1%2038h46a733%20733%200%200145%203l4%201c3%200%203%200%202-1h9c6%202%206%203%201%203h-4l2%201h10c2-2%202-2-4-3l-6-3c1-1%2011%202%2013%204l4%201c2-1%202-1-1-2l-7-3c-8-1-1-1%2035-1a36539%2036539%200%200046%202c-5%200-5%202%200%203%204%200%204%200%202%201l-3%201h3c3%201%205%205%202%205v1l1%201c0%203%200%203%201%201l2-3c0-2%203-3%203-1l2%201h7l-3-2c-5-1-4-2%201-3h17c0%201-6%203-10%203-3%200-3%201-3%203%200%204%200%205%202%203%200-2%201-2%201-1l2%201%202-2h1c1%202%205%202%205%201-1-1%200-3%201-3v-2c-1%200-1-1%201-2%201-2%202-2%203-1l6%203c4%200%204%200%202%201h-6c-4-1-5-1-3%201l5%201c5%200%2019-3%2017-4-3%200-5-2-3-2l1-1%202-2h-3c-13%201-23-1-14-3l7-1a832%20832%200%200166%202c1-2%203-2%2044-2%2038%200%2043%200%2043-2l1-37v-36h-53l2-3%206-10%204-6h14c1%201%202%201%202-1l3-3c4-2%206-2-18-1a31425%2031425%200%2001-111%208l-11%201c-3%201%204%201%2030-1a451%20451%200%2001-79-2h-1l-3%201h-2l2-1%203-1h-3c-2%200-2%200-1-1l4-1c1%201%201%200%201-2s0-3%201-2l1%202v3h22a335%20335%200%200064-2l19-1%201-17v-16l-51%201-52-1v-3l1-2v5h37l-17-1-17-1%203-1c3%201%203%201%203-2l1-2v5l15-1c12%200%2015%200%2016%202%200%201%209%201%209-1l11-2a1274%201274%200%200023%202l1-1c1-2%205-2%205%200%200%203%202%200%203-4%201-3%201-4%201-1l-1%204%205-1h4l-1-6c0-6%201-6%201%201l1%205h7l11%202%203%202h-4l-10%201h-7v33h9a3693%203693%200%200161-5l7-2%201-1c3%200%200-2-5-3l-6-2%203-10%203-11h-24l-27-1c-4-2-5-4-3-4l3%201h1l28-1c27%200%2034-1%2032-3-2-4%205-9%2012-8h2c1-2%200-2-3-2l-4-2v-3h-1l-1-1-1-1c-2-1-1-3%201-3%201-1%200-1-2-1h-5a402%20402%200%2000-56-2c-3%200-4%200-3-2%200-2%201-2%205-2%203%200%204%200%204-2h1c0%203%202%202%202%200%201-3%203-2%204%201%200%202%201%202%208%202h7v-8l1-7v15h12v-14l1%207v7h3c2%200%203%200%203-3%201-4%203-5%206-5l4-2c2-2%202-2-2-3-2-1-1-1%201-1%204%200%206%202%203%204-1%202-1%202%202%202s3%200%203-2c-1-1%200-2%201-3%202-1%202-2%200-3-1-1-22-3-37-3h-6l6%201%2015%201%2011%201h-7a430%20430%200%2000-26-2c0-2-24-4-45-4l-9-1h17c20%200%2020%200%2024-3l4-2v3c0%202%200%203%202%203l7%201c4%200%208-2%208-5l2-1c2%200%202%200%201%201v5l1-2%201-2v5h20c1%202%203%201%203-1l-1-3%201-2c1-2%202-2%204%201%203%203%203%203%200%203-2-1-3%200-3%201%200%202%201%202%204%202%204%200%204-2%201-6-1-1-2-3-1-4l-1-1-2-1-2%202c-1%201-1%200-1-2%200-4-1-5-7-6-2-1-3-1-3%201-1%201%200%202%202%202%202%201%201%201-2%201l-5%202c-2%202-5%202-5%201l2-2c5-1%201-2-10-2l-14-2-1%201c1%201%200%202-1%202l-1-1c0-1-1-2-3-2-4%200-6-2-2-2%205%200%202-2-4-2-6-1-6-1-5-3s2-2%202%200c1%201%205%202%205%200s-2-3-8-4a320%20320%200%2001-13%200l-3%201c-1%200-2%200-1-1l-3-1h-4l-2%201c0%202%202%203%2015%204l10%201-3%201-14-2c-9%200-11-1-11-2s-2%201-3%205c-2%205-2%2017-1%2019l18%201%2017%201-18-1h-17v16l1%2015%201%202-1%201-1%205-1%207a527%20527%200%20010-81c1-5-1-5-6-1-6%205-16%206-23%200-5-3-5-3-5%203l1%205h6c11%200%2016%201%2016%203l2%201h-12c-15%200-17-1-15-4s1-12%200-12c-1-1-2%200-2%202l-1-3-1-9-1%2043m91-24c0%205%200%207-2%207h-1v-4c-2-5-5-3-4%203%201%204%202%205%2014%205%207%201%207%201%206-1l-1-3c-7%200-7%200-1-1l7-1h-6c-4%200-6%200-4-1h8c7%200%2010%203%207%207-1%202-1%202%202%202s3%200%202-1l-1-4c0-3%203-2%204%201%201%202%201%202%201-1l1-4v-4l-1-3h-2l-3-1-4-1c-10%200-17%200-16-1s1-1-2-1h-4v7m-54%201c0%205%200%206-2%208s-2%203-2%208c0%206%200%207-1%206l-3%201c0%201-1%202-3%202h-2v12c1%2012%201%2012-2%2014-2%202-2%203-2%208v7h4c4%200%204%200%204-4%200-2%200-3%201-2%201%204%202-1%202-15v-17c-2-2-1-4%201-4l1%2024%201%2024v-61l3-2c2-2%202-3%202-7-1-7-3-8-2-2m-31%208l-1%205v4h9l13%201h4v-4c0-5-2-6-12-6-5%200-5%200-2%201%204%200%204%200%204%204%200%203%200%203-1%201%200-3-1-4-6-4-4%200-6-1-7-2h-1M23%20163c-8%204-13%2015-13%2030v5c0-9%202-8%202%201%201%2010%203%2017%206%2023%202%204%205%207%205%205l-5-10c-2-2-3-13-2-16%201-4%202-4%206%200%203%203%204%205%2010%2018%204%2010%206%2011%2010%207%206-6%207-13%207-28%201-15-1-20-6-28-5-9-12-11-20-7m271%2022h-1c-3%200-4%202-4%205l1%204h30v-3c0-3%200-3-2-2l-13-1c-9%200-10%200-10-2v-2l-1%201m-1%2020c4%202%206%204%206%207v1l1-4v-3h9l9%201h1l5-1%205%201h5l3-1%203%201v1l2-1c0-2%2013-1%2013%200h2l5-1h5l-17-1a3780%203780%200%2001-57%200m-32%207c0%201-3%202-3%200l-3-1-3%201v1c4%200%202%203-1%203l11%201%2015-1c0-4-1-5-8-4l-6-1v-1l-2%202m-111%2063v5h19c14%200%2017%200%2012-1-14-2-18-2-19-1l-3%201c-2%200-2%200-2-4%200-5%200-5-2-5s-3%201-3%202c0%202%200%202-1%200s-1-1-1%203m48-1l-1%201-1%202v2l-1%201h-1l-2%203-4%202c-2%201%206%202%208%200h1l17%201c20%200%2019-2-1-2l-12-1h-5c0-1%202-3%204-3v-4l-1-4-1%202m-14%2046l-1%207c1%207%201%208%207%207%204-1%203-5-2-6-3%200-4-2-1-2%202%200%203-2%204-5%201-2%200-2-2-2l-5%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIEBQH/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAdCFOvNbrORdiHQf/8QAGhAAAgMBAQAAAAAAAAAAAAAAAgMAARQREv/aAAgBAQABBQJjLAiYVWBehM+QjuIMKXnXM65nVP/EABYRAAMAAAAAAAAAAAAAAAAAAAABEv/aAAgBAwEBPwGWSymUz//EABYRAQEBAAAAAAAAAAAAAAAAAAAREP/aAAgBAgEBPwHIj//EAB8QAAECBgMAAAAAAAAAAAAAAAACEQMQISIxoTJh4f/aAAgBAQAGPwLw6HGhrteV6qmNmNnE/8QAHBAAAwADAQEBAAAAAAAAAAAAAAERITFBYZHw/9oACAEBAAE/IUxcb2wnXDIn4Grqp30csjT4+GjLOw9f0ZnWfg/Rn//aAAwDAQACAAMAAAAQMMcB/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAFh/9oACAEDAQE/EIsiyrKs/8QAFxEAAwEAAAAAAAAAAAAAAAAAABFRAf/aAAgBAgEBPxB5R5RIJD//xAAgEAEAAgICAQUAAAAAAAAAAAABABEhMUFR0WFxgfDx/9oACAEBAAE/EHamsgr5MUd4jaRC8ijw+0BFtprs3LAwio2WtruUgJKWOX5CgDiBdHGz0mjg+m5aoXCVEKPP5n//2Q==","aspectRatio":1,"src":"/static/60f53bc1df34e9dd797daa54291216ad/eaa58/designSystem1.jpg","srcSet":"/static/60f53bc1df34e9dd797daa54291216ad/5a3ee/designSystem1.jpg 114w,\n/static/60f53bc1df34e9dd797daa54291216ad/41f8f/designSystem1.jpg 229w,\n/static/60f53bc1df34e9dd797daa54291216ad/eaa58/designSystem1.jpg 457w,\n/static/60f53bc1df34e9dd797daa54291216ad/c309b/designSystem1.jpg 686w,\n/static/60f53bc1df34e9dd797daa54291216ad/e3008/designSystem1.jpg 914w,\n/static/60f53bc1df34e9dd797daa54291216ad/0ff54/designSystem1.jpg 1200w","srcWebp":"/static/60f53bc1df34e9dd797daa54291216ad/15384/designSystem1.webp","srcSetWebp":"/static/60f53bc1df34e9dd797daa54291216ad/31fce/designSystem1.webp 114w,\n/static/60f53bc1df34e9dd797daa54291216ad/e3e25/designSystem1.webp 229w,\n/static/60f53bc1df34e9dd797daa54291216ad/15384/designSystem1.webp 457w,\n/static/60f53bc1df34e9dd797daa54291216ad/0258d/designSystem1.webp 686w,\n/static/60f53bc1df34e9dd797daa54291216ad/64ea2/designSystem1.webp 914w,\n/static/60f53bc1df34e9dd797daa54291216ad/9000d/designSystem1.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M232%2048h-3c-2%200-2%200%200%201v2l-2-1h-7c-6%200-6%200-4%201%205%202%204%204-1%203l-7%201c-2%201-1%201%205%201%204%200%206%200%204%201s-2%201%202%201h6l5-1c2%200%202%200%201%202l-1%202%202-1c1-2%206-4%2012-5s16-5%2015-6l-7-1-5%201c2%201%202%201-1%202-4%201-6%201-2-1%202-1%202-1%200-1-1%200-2%200-1-1l-5-1-6%201M36%2052c-3%202-5%206-5%2011%200%203%200%203%201%202%202-2%202-2%203%201l4%207%202%203%203-2c9-9%202-28-8-22m211%206c-12%205-15%2028-6%2038l4%203h8c12-2%2018-8%2016-18l1-5c2-2-1-11-5-15-6-5-11-6-18-3m-123%203c0%203%200%204-1%203s-1%200-1%205c0%204%200%205%201%204%200-2%202-3%202-1%200%203-3%2011-4%2011v-2c2-4%201-4-1%200-3%204-5%202-3-2l1-3c-1%200-2%201-2%203l-2%201c0-4-3-4-4%201l-3%203-1%201-1%201c-4%201-4%201%200-2%204-5%207-13%204-14-7-1-7-1-7-5%200-2%200-3%201-2s4%201%204-1l-4-1-5%201%202%201c2%200%201%205-1%205s-2%200-1%201c3%200%202%202%200%205-3%203-4%203-3-1l1-6c0-2%200-3-1-1%200%202-1%202-2%202l-5-1c-3%200-3%200-3-4%200-3%200-3-1%200%200%203%200%203-5%203h-5l4%201c4%201%206%202%204%203-1%201-5%202-7%201l-1%201-4%201h-4c-1-2-1-2-4%200-2%201-3%200-3-4%200-2%200-2-2%200-1%202-1%203-2%202h-2l-3-1c-1-1-2%200-3%202l-6%206-3%202%205%201%2010%201h2c-3%201%205%202%2013%202%204%200%204%200%204%202-1%202%201%204%205%204l2%201-3%201h-3l-2%201c-3%200-4%202-1%202%202%200%202%200-1%202l-3%201h3l5%201h1c-1-2%202-3%206-2%202%201%203%203%201%205v1l2-2%205-2%206-1%207-2c2%200%203-1%203-2h1c0%202%202%203%2011%204%209%200%2011%202%202%202h-6l3%204c3%204%204%205%207%205s3%200%201-1l-2-1h2l3%201%202%201v-2c2-1%200-4-4-4l-3-1h3l4-1%201-1c2%202%206%200%206-3%201-4%202-4%2019-8%202%200%202%200%201-2l-2-3c-1-1-1%200-1%202s0%203-1%202h-10v-3c0-3%200-3%203-3l4-2%204-2c2%200%202%200%200-1-3-1-3-1%202-1l6-1h4c3%200%207-3%205-5l-1%201c-1%202-2%202-6%202-2%200-4%200-3%201l-4%201-10%201c-4%200-5%200-4-1l6-1c4-1%204-1-2-1-5%200-6%200-9%203l-5%203-4%203c-3%203-6%204-4%201%203-8%204-20%200-25v3m201%207h-6l-6%201c-2%200-1%207%201%207l1%202-1%202c-2%200-2%202-2%2011v12l1-11c0-11%200-11%203-12%203-2%204-1%202%201l-1%204c0%203%200%203%203%203h3l-3-1-2-1%202-1c2-1%202-1%203%201%202%203%203%206%202%207v1l-2%201c-3%200-2%203%202%208l3%203-1-6v-7h3c2%200%202%200%201%201s-2%202-1%2010v3l3-3%203-5%202-2%201-2%201-2%202-1c2-2%202-12%201-15v-1l-1-3-3-4h-7c-5%200-6%200-3-1l4-1h-4l-4%201m-98%2013c-6%201-6%201-6%208v7h-4l-5-1v-3l1-2c0-2-2-3-2%200-1%201-1%200-1-2v-4h5c3-1%205-1%204-2-2-1-29%204-29%206l1%201%201%202c1%201%201%201%201-1s1-3%206-4c10-2%209-2%2010%204a32%2032%200%20003%2012l-7-1-2-1%201%202c1%202%201%202-2%202s-3%200-2-1l1-2-2%201h-1c-1-1%200-2%204-2%204-1%204-1%204-4-1-5-2-5-8-4-5%200-5%200-6%204v5l-1%201h-2l1%201v1c-1%200-2-1-2-3s0-2-6-2l-5%201v-6c0-6-1-6-3-6s-2%200-2%206l-1%208c-3%203%208%2014%2012%2013l3%201-2%201h4l1-1c-3%200-2-2%201-2%203-1%203%200%202%201%200%201%200%202%202%201l3-5%201-4%206-2a17833%2017833%200%200034-5h3l-2-3-5-6c-1-3-1-3-2-1%200%203%200%203-4%202h-4l-2-5c0-3%202-5%207-5l4-1-1-1-5%201m24%2020l-5%202h-2l-3%201-7%201h-3c3%200%204%200%204%202%200%201%200%202%201%201l1%201%202%202c2%201%203%201%202%202-2%201-1%202%202%202l5%202%202%201c1-1-2-4-5-4l-2-1c1-1%203-2%209-2%207%200%207%200%202%201l-3%201c3%200%203%200%201%201h-2l2%204c2%203%203%204%206%205%205%201%209%203%2011%207l2%202c0-2%204-1%204%201l-2%201c-2-1-2%200-2%202s0%203-2%203l-4%201-1-1v-1l-1%202%204%201%205-1%201-2c0-2%201-3%203%200%202%201%202%201%206-2l4-4h-4c-4%200-5%200-4-4%200-3%204-3%204%200%200%202%201%203%202%203%202%201%202%200%202-2%200-3-3-5-7-5h-2l4-2c2%200%203-1%203-2%201-1%201-1%202%201v2l3-2c3-2%204-2%2014-1l29%204c2%200%205%206%205%2010%200%202%200%202%204%202%203%200%203%200%203-3s0-3%201-2l5%202%203%203c0%201%200%202%201%201v-6h5c4%200%205%201%206%202v-2c0-3-1-6-3-7-3-3-3-4%201-4l6-2a1141%201141%200%2001-103-18l-15%201m-115%208v3l-6-1-9-1c-4%200-4%200-4%202%200%204%208%206%2011%203h1c1%202-1%202-24%201l-18-2-1%203c1%204%201%204%2022%205%2010%201%2011%201%2010-1l1-2c1-1%201%200%201%201%200%203%202%204%2015%204l7%201v-4c0-3-1-3-2-3-2%200-2%200-1-1l1-3%201-2%201%202%202%202c3-1%204%201%201%202-2%200-2%201-2%204l1%203%201-3c0-4%202-4%202%200%201%204%206%204%206%200s-8-13-12-13l-5-2v2m148%200v1l9%201c30%205%2066%208%2059%205a1467%201467%200%2000-68-7m-231%205c-19%205-24%206-23%207%202%200%202%201%202%203-1%202-1%202%204%201%209-1%209-1%2010-5%200-4%202-4%202%200l1%203%201-1%202-2c2%200%202%200%201%201s-1%201%202%201l17-2h13v-3c0-3%200-3-5-3-13-2-20-2-27%200m3%2010l-24%204c-4%200%204%202%2010%202l10%201h15c12%200%2013%200%2012%202%200%201%200%202%202%203%203%200%204%202%202%202l-5%204c-3%202-4%204-3%204l2-1h1c-1%201%2010%204%2022%204l11%202%203-1%202-1%2014%201%2015%201%201%201v1c1%202%201%202-2%203-4%201-5%201-1%201l4-1h1c3%202%203%201%201-1-2-3-2-4%201-2l1%202%201%201c1-1%204%202%204%204l-2%203-2%201-6%201c-6%200-8%201-6%205h1c0-2%206-3%2016-1%204%200%204%200%202%201s-2%201-1%202l3-1h1l1%201v-13l1-12-3%202h-3v-2c3%201%206-2%205-5%200-4-2-5-4-2-3%202-6%202-7%200%200-2%200-2%202-2%201%201%203%200%205-1l2-2-2-1c-2-2-4-2-11%200-14%202-14%202-14-2l-1-4h6c3%200%205%200%204-1a916%20916%200%2000-87-3m240%207c0%208%200%209%202%209h4c6%202%2013%202%2012%201-2-1-3-3%200-3%201%201%201%200%201-4v-4l1%204%201%205v-5c0-3%201-4%203-6%203-3%203-4-8-4l-13-2h-3v9m-56-6c-2%201-2%205-2%2043v43h7v-42c0-39%200-42-2-44h-3m6%2043v45h-16l-12-1c5%200%205%200%205-3%200-2%200-3-2-3s-2%200%201-4l3-5h-1c-1%201-1%201-1-1l1-4c0-2%201-1%201%201l1%204v-4c0-6%201-9%203-9l1-1-3-1c-4%200-4%200-4%203%200%206-2%2014-4%2017s-2%202-1-2l3-7c0-5%200-5-2-5l-2%201%202%201%201%202-1%204-4%201h-4v-7c0-7%201-9%204-6s5%203%206%201c2-3%201-3-4-3s-6%200-6-7c0-3%200-3%204-3l4-1-5-1-5-1c-1-1-1-1-1%201%201%203-3%204-4%201v-3l-1-1c-3%200-4-2-2-4%202-1%202-2%202-3-1%200-2%200-3%202h-4l-16-1c-2%200-2%201-2%202%201%201%200%202-1%202-1%201-1%201%201%201l2%201%208%201c9-1%2010-1%2012%202%203%204%202%204-3%203h-12c-6%200-6%200-6-2%200-1%200-2-1-1-1%200-1%208%201%2022l-1%2012c0%204%200%205%203%207%2010%209%2015%2015%2011%2017l-1%202-2%204-4%203h-1c0-1-5%200-7%202h-2l-1-1c0-2-2-3-4-2l-1-3c0-2%200-3-1-1-3%2014-17%2031-27%2033-3%200-3%200-3-4%200-8%200-8%208-8h7l-7-1-6-1h5l8-2%202-2-2-3-1-4%201-2%202-4c2-3%202-3%205-2%202%202%203%202%203%201l-2-1c-2-1-2-1%200-3l2-1h8l-4-1h-3v-23l-1-25v-2h-10c-9%200-10%200-10%202h17c2%201%200%201-5%201-7%200-8%200-8%202%200%203%202%204%208%203l5-1%201-2c1-1%201%201%201%204v6h-8c-7%200-8%200-8-2%200-1-1-2-5-2l-4-1%201%205c0%204-1%206-2%203h-10l3-1c3%201%203%200%203-3s0-3-3-3l-4-2c-1-2-1-2-1%202l-1%208v5h-10c-10%200-12-1-10-5v-3l4-1%204%201c0%202%201%200%202-2l-1-3-1%202-4%201-4-1-1-1-1%204c0%207-2%2015-5%2018l-3%202%201-3v-1l1-1%201-1-14-1c-14%200-14%200-12%202l2%201c2-1%202%203%201%207s-1%204-6%204l-6-1-2%203c-2%203-2%203-3%202%200-2%200-2-1-1s-1%200-1-2l1-3-2%203-2%204%201-4v-3l-2%202c-1%203-1%203-2%202-1-2-1-2-2%200-3%208-10%2013-17%2013l-4%201%2023%204%2011%202c3%202%2012%203%2018%203%204%200%204%200%207%206l4%207-16%201a99%2099%200%2000-22%202c-2%200-2%200%200%203v6c-1%201%200%201%202%201l4%201%202%201%206%202h8l13-2c10%200%2010%200%2011-3s1-3-6-3c-5%200-6%200-6%202%200%201%200%203-2%203h-2v-4c1-4%202-4%206-4%207%200%2013%202%2013%204l-2%204c0%202%205%204%2011%203%203-1%206-1%209%201%204%201%2010%201%2018-1%202%200%202%200%201%201l-4%201c-2%200-2%200%201%201l4%203c2%201%202%201%202-6l1-8%201%203c0%204%202%208%205%208l1%201-3%201-4%201h8l39%202c-3%202-43%204-45%202l-2-2v2c1%201%201%201-3%201s-5%200-7-4c-3-4-4-5-4-2l-2%201-2%201h4l2%201v1l1%201-6%201c-5%200-6%200-7-3-3-4-7-7-8-5-2%201-2%202%201%204l2%204h-3c-2%200-4-1-8-5-2-3-6-5-7-5s-1%201%203%205l6%205H0v37l1%2038h46a733%20733%200%200145%203l4%201c3%200%203%200%202-1h9c6%202%206%203%201%203h-4l2%201h10c2-2%202-2-4-3l-6-3c1-1%2011%202%2013%204l4%201c2-1%202-1-1-2l-7-3c-8-1-1-1%2035-1a36539%2036539%200%200046%202c-5%200-5%202%200%203%204%200%204%200%202%201l-3%201h3c3%201%205%205%202%205v1l1%201c0%203%200%203%201%201l2-3c0-2%203-3%203-1l2%201h7l-3-2c-5-1-4-2%201-3h17c0%201-6%203-10%203-3%200-3%201-3%203%200%204%200%205%202%203%200-2%201-2%201-1l2%201%202-2h1c1%202%205%202%205%201-1-1%200-3%201-3v-2c-1%200-1-1%201-2%201-2%202-2%203-1l6%203c4%200%204%200%202%201h-6c-4-1-5-1-3%201l5%201c5%200%2019-3%2017-4-3%200-5-2-3-2l1-1%202-2h-3c-13%201-23-1-14-3l7-1a832%20832%200%200166%202c1-2%203-2%2044-2%2038%200%2043%200%2043-2l1-37v-36h-53l2-3%206-10%204-6h14c1%201%202%201%202-1l3-3c4-2%206-2-18-1a31425%2031425%200%2001-111%208l-11%201c-3%201%204%201%2030-1a451%20451%200%2001-79-2h-1l-3%201h-2l2-1%203-1h-3c-2%200-2%200-1-1l4-1c1%201%201%200%201-2s0-3%201-2l1%202v3h22a335%20335%200%200064-2l19-1%201-17v-16l-51%201-52-1v-3l1-2v5h37l-17-1-17-1%203-1c3%201%203%201%203-2l1-2v5l15-1c12%200%2015%200%2016%202%200%201%209%201%209-1l11-2a1274%201274%200%200023%202l1-1c1-2%205-2%205%200%200%203%202%200%203-4%201-3%201-4%201-1l-1%204%205-1h4l-1-6c0-6%201-6%201%201l1%205h7l11%202%203%202h-4l-10%201h-7v33h9a3693%203693%200%200161-5l7-2%201-1c3%200%200-2-5-3l-6-2%203-10%203-11h-24l-27-1c-4-2-5-4-3-4l3%201h1l28-1c27%200%2034-1%2032-3-2-4%205-9%2012-8h2c1-2%200-2-3-2l-4-2v-3h-1l-1-1-1-1c-2-1-1-3%201-3%201-1%200-1-2-1h-5a402%20402%200%2000-56-2c-3%200-4%200-3-2%200-2%201-2%205-2%203%200%204%200%204-2h1c0%203%202%202%202%200%201-3%203-2%204%201%200%202%201%202%208%202h7v-8l1-7v15h12v-14l1%207v7h3c2%200%203%200%203-3%201-4%203-5%206-5l4-2c2-2%202-2-2-3-2-1-1-1%201-1%204%200%206%202%203%204-1%202-1%202%202%202s3%200%203-2c-1-1%200-2%201-3%202-1%202-2%200-3-1-1-22-3-37-3h-6l6%201%2015%201%2011%201h-7a430%20430%200%2000-26-2c0-2-24-4-45-4l-9-1h17c20%200%2020%200%2024-3l4-2v3c0%202%200%203%202%203l7%201c4%200%208-2%208-5l2-1c2%200%202%200%201%201v5l1-2%201-2v5h20c1%202%203%201%203-1l-1-3%201-2c1-2%202-2%204%201%203%203%203%203%200%203-2-1-3%200-3%201%200%202%201%202%204%202%204%200%204-2%201-6-1-1-2-3-1-4l-1-1-2-1-2%202c-1%201-1%200-1-2%200-4-1-5-7-6-2-1-3-1-3%201-1%201%200%202%202%202%202%201%201%201-2%201l-5%202c-2%202-5%202-5%201l2-2c5-1%201-2-10-2l-14-2-1%201c1%201%200%202-1%202l-1-1c0-1-1-2-3-2-4%200-6-2-2-2%205%200%202-2-4-2-6-1-6-1-5-3s2-2%202%200c1%201%205%202%205%200s-2-3-8-4a320%20320%200%2001-13%200l-3%201c-1%200-2%200-1-1l-3-1h-4l-2%201c0%202%202%203%2015%204l10%201-3%201-14-2c-9%200-11-1-11-2s-2%201-3%205c-2%205-2%2017-1%2019l18%201%2017%201-18-1h-17v16l1%2015%201%202-1%201-1%205-1%207a527%20527%200%20010-81c1-5-1-5-6-1-6%205-16%206-23%200-5-3-5-3-5%203l1%205h6c11%200%2016%201%2016%203l2%201h-12c-15%200-17-1-15-4s1-12%200-12c-1-1-2%200-2%202l-1-3-1-9-1%2043m91-24c0%205%200%207-2%207h-1v-4c-2-5-5-3-4%203%201%204%202%205%2014%205%207%201%207%201%206-1l-1-3c-7%200-7%200-1-1l7-1h-6c-4%200-6%200-4-1h8c7%200%2010%203%207%207-1%202-1%202%202%202s3%200%202-1l-1-4c0-3%203-2%204%201%201%202%201%202%201-1l1-4v-4l-1-3h-2l-3-1-4-1c-10%200-17%200-16-1s1-1-2-1h-4v7m-54%201c0%205%200%206-2%208s-2%203-2%208c0%206%200%207-1%206l-3%201c0%201-1%202-3%202h-2v12c1%2012%201%2012-2%2014-2%202-2%203-2%208v7h4c4%200%204%200%204-4%200-2%200-3%201-2%201%204%202-1%202-15v-17c-2-2-1-4%201-4l1%2024%201%2024v-61l3-2c2-2%202-3%202-7-1-7-3-8-2-2m-31%208l-1%205v4h9l13%201h4v-4c0-5-2-6-12-6-5%200-5%200-2%201%204%200%204%200%204%204%200%203%200%203-1%201%200-3-1-4-6-4-4%200-6-1-7-2h-1M23%20163c-8%204-13%2015-13%2030v5c0-9%202-8%202%201%201%2010%203%2017%206%2023%202%204%205%207%205%205l-5-10c-2-2-3-13-2-16%201-4%202-4%206%200%203%203%204%205%2010%2018%204%2010%206%2011%2010%207%206-6%207-13%207-28%201-15-1-20-6-28-5-9-12-11-20-7m271%2022h-1c-3%200-4%202-4%205l1%204h30v-3c0-3%200-3-2-2l-13-1c-9%200-10%200-10-2v-2l-1%201m-1%2020c4%202%206%204%206%207v1l1-4v-3h9l9%201h1l5-1%205%201h5l3-1%203%201v1l2-1c0-2%2013-1%2013%200h2l5-1h5l-17-1a3780%203780%200%2001-57%200m-32%207c0%201-3%202-3%200l-3-1-3%201v1c4%200%202%203-1%203l11%201%2015-1c0-4-1-5-8-4l-6-1v-1l-2%202m-111%2063v5h19c14%200%2017%200%2012-1-14-2-18-2-19-1l-3%201c-2%200-2%200-2-4%200-5%200-5-2-5s-3%201-3%202c0%202%200%202-1%200s-1-1-1%203m48-1l-1%201-1%202v2l-1%201h-1l-2%203-4%202c-2%201%206%202%208%200h1l17%201c20%200%2019-2-1-2l-12-1h-5c0-1%202-3%204-3v-4l-1-4-1%202m-14%2046l-1%207c1%207%201%208%207%207%204-1%203-5-2-6-3%200-4-2-1-2%202%200%203-2%204-5%201-2%200-2-2-2l-5%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/60f53bc1df34e9dd797daa54291216ad/0ff54/designSystem1.jpg"}}}]}},"staticQueryHashes":["1609575157","2068910035","2361467917","2361467917","3838421970","500183989","5650841"]}