{"componentChunkName":"component---gatsby-theme-spaceout-src-templates-article-template-tsx","path":"/decision-models-when-you-need-an-answer-not-another-paragraph","result":{"pageContext":{"article":{"id":"458b1496-6084-54c9-8a9e-99735ef1fe5a","slug":"/decision-models-when-you-need-an-answer-not-another-paragraph","secret":false,"title":"Decision models: when you need an answer, not another paragraph","author":"Luke Celitan","date":"October 15th, 2026","dateForSEO":"2026-10-15T00:00:00.000Z","timeToRead":11,"excerpt":"A practical look at probabilistic decisions, the new Decisions API, and where a small, constrained model belongs in an application.","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\": \"Decision models: when you need an answer, not another paragraph\",\n  \"excerpt\": \"A practical look at probabilistic decisions, the new Decisions API, and where a small, constrained model belongs in an application.\",\n  \"date\": \"2026-10-15T00:00:00.000Z\",\n  \"author\": \"Luke Celitan\",\n  \"hero\": \"cover.png\",\n  \"category\": \"Post\",\n  \"tech\": [\"AI\"]\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(\"p\", null, \"An LLM can write a beautifully worded response to \\u201CWhich team should handle this complaint?\\u201D But if you are building a ticket router, you probably do not want a beautifully worded response. You want \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"billing\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"technical\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"shipping\"), \", or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"other\"), \". And you want to know when the decision is uncertain enough to put a person in the loop.\"), mdx(\"p\", null, \"That is the pitch behind \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"decision models\"), \": instead of asking a model to generate prose and parsing the answer afterward, you give it a bounded set of possible answers and get a probability estimate back. Jev\\u2019s September 2026 launch has made this approach difficult to ignore. OpenAI\\u2019s newer Decisions API brings a similar interface into focus: predicates, choices and scores over text and images. The interesting question is not whether these models will replace LLMs. It is where an application needs a decision rather than a conversation.\"), mdx(\"h2\", {\n    \"id\": \"what-is-actually-different\"\n  }, \"What is actually different?\"), mdx(\"p\", null, \"In a conventional chat workflow, you ask a language model to classify a message, perhaps requesting JSON. The model generates tokens that spell out a label. Sampling settings can make that generation more or less variable, but even at a low temperature the model is still performing a generation task. You can constrain the output format; that does not automatically give you a useful estimate of uncertainty.\"), mdx(\"p\", null, \"A decision interface asks the model to evaluate supplied alternatives. A predicate returns a probability for a true/false condition; a choice returns one of your supplied categories and a distribution across them; a score evaluates ordered rubric levels. The output is shaped for application logic, not for reading as a paragraph.\"), mdx(\"p\", null, \"There is a subtle but important distinction here. \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Probabilistic\"), \" does not mean \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"guaranteed deterministic\"), \". The returned number is an estimate from a model, not an objective fact about the world. Identical requests might not be identical in every deployment, and model updates, input changes and unclear criteria can alter results. The practical advantage is a bounded output with a visible uncertainty signal\\u2014not a promise that evaluation becomes infallible.\"), mdx(\"p\", null, \"Thoughtworks Principal AI Engineer Ben O\\u2019Mahony describes Jev as a model that does not have the same injection of randomness used to nudge generative models toward novel responses. He describes three modes: a true/false judgment, a choice among options, and a numerical rating. The appeal is easy to see if the application needs a fast judgment many times over: there is no benefit in generating ten paragraphs to put one issue in a queue.\"), mdx(\"h2\", {\n    \"id\": \"three-kinds-of-decision\"\n  }, \"Three kinds of decision\"), mdx(\"p\", null, \"OpenAI\\u2019s Decisions API calls these question types \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"predicate\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"choice\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"score\"), \". Jev uses different terminology, but the broad shape of the workflow is familiar: define the question and possible answers before asking the model to evaluate the input.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Predicate:\"), \" \\u201CDoes this product photo show visible damage?\\u201D The result is an estimated probability that the condition is true. Your application decides whether that warrants review.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Choice:\"), \" \\u201CWhich team should handle this complaint?\\u201D The result is a category you supplied, alongside probabilities over the available categories. Include an \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"other\"), \" option when the categories cannot cover every case.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Score:\"), \" \\u201CHow severe is this issue?\\u201D Define ordered levels, such as cosmetic, workaround available and fully blocked. The numeric result can sit \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"between\"), \" levels because it is the probability-weighted average of their zero-based indices.\")), mdx(\"p\", null, \"Predicate decisions are the easiest to see end to end, because the question has only two sides. Here\\u2019s the classic one \\u2014 the example OpenAI itself uses to demonstrate the Decisions API: \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"should this car change lanes right now?\"), \" Adjust the gaps and the closing speed below and watch the probability, and the car, respond.\"), mdx(LaneChangeDecision, {\n    mdxType: \"LaneChangeDecision\"\n  }), mdx(\"p\", null, \"The scoring point above is worth dwelling on. Suppose a severity question produces probabilities of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.1\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.7\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.2\"), \" over levels \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"1\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"2\"), \". Its score is \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0 \\xD7 0.1 + 1 \\xD7 0.7 + 2 \\xD7 0.2 = 1.1\"), \". It is not saying there is a hidden severity category named \\u201C1.1\\u201D. It is summarizing a distribution. If you need to make a safety-critical decision, look at the level probabilities and your actual risk policy, not just the average.\"), mdx(\"p\", null, \"Drag the sliders below and watch the score move. It\\u2019s the same arithmetic every time \\u2014 only where the probability mass sits changes.\"), mdx(ScoreWeightedAverage, {\n    mdxType: \"ScoreWeightedAverage\"\n  }), mdx(\"h2\", {\n    \"id\": \"try-a-confidence-gate\"\n  }, \"Try a confidence gate\"), mdx(\"p\", null, \"A model output is only half a routing system. The other half is what \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"you\"), \" do with it. Pick a customer message below, then move the threshold. Notice that a higher threshold sends more cases for human review, even though the illustrative distribution does not change.\"), mdx(DecisionModelPlayground, {\n    mdxType: \"DecisionModelPlayground\"\n  }), mdx(\"p\", null, \"This is a toy visualization: its probabilities are preset, not produced by Jev or the Decisions API. A real threshold should come from labeled examples, measured error rates and the cost of getting a particular decision wrong. Automatically routing a low-stakes support ticket and rejecting a potentially legitimate insurance claim should not share a threshold just because both APIs return numbers between zero and one.\"), mdx(\"p\", null, \"One message at a time makes the mechanism clear, but the actual decision you\\u2019re making when you set a threshold is about a whole queue, not a single ticket. Here\\u2019s the same gate applied to eighteen tickets at once:\"), mdx(RoutingBatchSimulator, {\n    mdxType: \"RoutingBatchSimulator\"\n  }), mdx(\"p\", null, \"Notice that raising the threshold doesn\\u2019t change the underlying distribution for any ticket \\u2014 the confidence numbers above are fixed. It only changes how many of those tickets you\\u2019ve decided are safe to route without a person looking, and that\\u2019s a policy choice, not a fact the model handed you.\"), mdx(\"h2\", {\n    \"id\": \"calling-the-decisions-api\"\n  }, \"Calling the Decisions API\"), mdx(\"p\", null, \"Here is a small, concrete example using the documented OpenAI endpoint. The API is in public beta at the time of writing, and its documentation currently lists \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"gpt-6-luna\"), \" as the supported model. Verify the endpoint, model availability and current pricing before deploying: those details can change.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"curl https://api.openai.com/v1/decisions \\\\\\n  -H \\\"Authorization: Bearer $OPENAI_API_KEY\\\" \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -d '{\\n    \\\"model\\\": \\\"gpt-6-luna\\\",\\n    \\\"input\\\": \\\"I was charged twice for my order.\\\",\\n    \\\"questions\\\": [{\\n      \\\"type\\\": \\\"choice\\\",\\n      \\\"name\\\": \\\"department\\\",\\n      \\\"instructions\\\": \\\"Which department should handle this complaint?\\\",\\n      \\\"choices\\\": [\\n        {\\\"value\\\": \\\"billing\\\", \\\"description\\\": \\\"Payments, invoices, and refunds.\\\"},\\n        {\\\"value\\\": \\\"technical\\\", \\\"description\\\": \\\"Problems using the product.\\\"},\\n        {\\\"value\\\": \\\"shipping\\\", \\\"description\\\": \\\"Delivery and tracking.\\\"},\\n        {\\\"value\\\": \\\"other\\\", \\\"description\\\": \\\"Requests outside these categories.\\\"}\\n      ]\\n    }]\\n  }'\\n\")), mdx(\"p\", null, \"The documented illustrative response chooses \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"billing\"), \" and includes a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"probabilities\"), \" array with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.95\"), \" assigned to billing. It also includes a separate \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"confidence\"), \" field. Do not treat that field as interchangeable with the winning category\\u2019s probability; they are distinct fields in the response. Use the named answer to match a result to a question, especially when you send several independent questions with the same input.\"), mdx(\"p\", null, \"In application code, keep the gate explicit:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"function routeComplaint(answer, minimumProbability = 0.9) {\\n  if (answer?.type !== 'choice' || answer.name !== 'department') {\\n    return 'human-review';\\n  }\\n\\n  const winningOption = answer.probabilities?.find(\\n    (option) => option.value === answer.choice\\n  );\\n\\n  if (\\n    answer.choice === 'other' ||\\n    !winningOption ||\\n    winningOption.probability < minimumProbability\\n  ) {\\n    return 'human-review';\\n  }\\n\\n  return answer.choice;\\n}\\n\")), mdx(\"p\", null, \"This is deliberately an example policy, not a universal threshold. It routes the supplied winning category only if its estimated probability clears \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.9\"), \"; otherwise it sends the item to a person. A production implementation should validate allowed category values too, handle request failures, log the model and decision version, and monitor cases the gate routes incorrectly. Keep the API key on the server, not in the browser component above.\"), mdx(\"p\", null, \"You can ask several \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"independent\"), \" questions about shared input in one request\\u2014for instance, a product category and a damage predicate for the same image. If the second decision depends on the first, make separate requests or apply that dependency in your application. For images, this endpoint\\u2019s documented input format requires inline base64 data URLs rather than hosted image URLs or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"file_id\"), \" values.\"), mdx(\"h2\", {\n    \"id\": \"where-the-smaller-answer-wins\"\n  }, \"Where the smaller answer wins\"), mdx(\"p\", null, \"Ben showed me a useful example: inspect a codebase with a parser, find potential refactoring candidates based on known code smells, and have a decision model evaluate them. A coding agent can produce a large list of possible changes and detailed explanations. That is useful when you actually want it to investigate and write code. It is less useful when the immediate job is to rank candidates for a narrow review queue.\"), mdx(\"p\", null, \"The same pattern appears elsewhere: route support tickets, flag product photos for inspection, decide whether a retrieved passage is relevant, or score an issue against a carefully defined severity rubric. The model is one piece of a larger pipeline. A parser, a set of rules or an existing application produces candidate evidence; a decision model helps prioritize; a person or a more capable agent handles the cases that warrant investigation.\"), mdx(\"p\", null, \"This is also where decision models could sit around a coding agent. Instead of asking a generative model to be an all-purpose judge of another generative model, use a constrained evaluation for a question you can actually define: \\u201CDoes this patch touch a file outside the allowed directory?\\u201D or \\u201CDoes this change match one of these review-risk categories?\\u201D For a property you can verify with a deterministic check, though, use the check. A decision model should not replace a test suite, a type checker or a security rule it cannot outperform.\"), mdx(\"h2\", {\n    \"id\": \"what-they-do-not-solve\"\n  }, \"What they do not solve\"), mdx(\"p\", null, \"Fixed answers are a feature until the right answer is missing. If your categories overlap, your rubric is vague or your input omits crucial context, a neat-looking distribution can conceal a badly posed question. Include a fallback where appropriate, describe categories in terms that distinguish them, and use observable criteria rather than broad impressions.\"), mdx(\"p\", null, \"Nor is a model-generated probability automatically a calibrated probability of correctness. If you want to route automatically above \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.9\"), \", collect representative labeled examples and check what actually happens above that threshold. Inspect performance by category, by changing data and by the relative cost of false positives and false negatives. Revisit the threshold as the input mix changes. For consequential uses, a human-review path is a design requirement, not an embarrassing exception.\"), mdx(\"p\", null, \"The economic argument matters, but it needs the same care. The Decisions API documentation currently advertises responses around 10\\xD7 faster than the Responses API and lists input-only pricing for \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"gpt-6-luna\"), \" at $0.10 per million tokens, with applicable regional and long-context adjustments. Those are product claims and current published rates, not a benchmark for your particular workload. Measure end-to-end latency, cost and decision quality against a baseline you already use.\"), mdx(\"h2\", {\n    \"id\": \"train-your-own-decision-model\"\n  }, \"Train your own decision model\"), mdx(\"p\", null, \"You don\\u2019t have to wait on Jev or the Decisions API if you want this shape of model in your own pipeline. Unsloth now documents a path for fine-tuning open models \\u2014 Qwen and Gemma among them \\u2014 into decision models that read an input, score the options you give them, and return a choice with a calibrated probability, instead of generating text. They publish three guides covering this:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"training guide\"), \", for fine-tuning Qwen and Gemma for this task.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"dataset guide\"), \", for designing an effective dataset format.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Decisions API + serving guide\"), \", for serving the fine-tuned model behind a Decisions-API-shaped interface.\")), mdx(\"p\", null, \"The recipe: fine-tune with a Clef head using LoRA (r=64) for a single epoch. That\\u2019s a small amount of training, and the lift is the headline \\u2014 downstream accuracy on typed-decision benchmarks moves from roughly chance level (30\\u201337%) up to as high as 78%:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"typed-decisions\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"BANKING77\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"CLINC150\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Holdout acc\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Qwen3.5-0.8B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"36% \\u2192 73%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"7% \\u2192 74%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"19% \\u2192 76%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"78%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Qwen3.5-2B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"33% \\u2192 78%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1% \\u2192 58%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1% \\u2192 62%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"81%\")))), mdx(\"p\", null, \"Test sets were decontaminated against the training data. The dataset mix behind this is wider than just typed-decisions: twelve additional sources \\u2014 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ag_news\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"arc\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"banking77\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"boolq\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"clinc150\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"commonsense_qa\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"mmlu\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"mnli\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"prompt_injections\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"snli\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sst5\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wanli\"), \" \\u2014 folded into the same training format. The held-out test set has 3,000 rows: 2,000 from typed-decisions, 500 from BANKING77, and 500 from CLINC150.\"), mdx(\"p\", null, \"Several base models work, at noticeably different cost:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Test accuracy\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"VRAM\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Training time\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Qwen3.5-0.8B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"78%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4GB\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"42 min\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Qwen3.5-2B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"81%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"8GB\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"40 min\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Llama 3.2 3B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"79%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4.1GB\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"30 min\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Gemma 4 E4B\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"77%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"14.4GB\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"49 min\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Laya (fine-tuned)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"77%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"2.5GB\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10 min\")))), mdx(\"p\", null, \"Laya and Clef \\u2014 decision models in their own right \\u2014 are themselves fine-tunable further, using the same dataset format as the from-scratch recipe above. That\\u2019s the more interesting detail here: the barrier to having your own narrow, calibrated decision model isn\\u2019t a frontier lab\\u2019s training budget. It\\u2019s a LoRA adapter, one epoch, and a dataset shaped like the thing you actually want decided.\"), mdx(\"p\", null, \"Treat this the same way you\\u2019d treat any other vendor\\u2019s benchmark: useful signal, not a verdict on your workload. \\u201CHoldout acc\\u201D above is a test set Unsloth constructed; it tells you the recipe works, not that it\\u2019ll hit 78% on your ticket queue or your damage-photo classifier. Measure against your own labeled examples before trusting a number you didn\\u2019t produce yourself \\u2014 the same advice as the confidence gate earlier in this post, just pointed at a model you trained rather than one you called over an API.\"), mdx(\"h2\", {\n    \"id\": \"can-a-typed-decision-be-talked-out-of-its-answer\"\n  }, \"Can a typed decision be talked out of its answer?\"), mdx(\"p\", null, \"Jev\\u2019s whole pitch is that it isn\\u2019t a chatbot: feed it a question and the evidence, and it hands back a typed verdict instead of a paragraph. That also means there\\u2019s no sentence left over for anyone to double-check \\u2014 the verdict goes straight into whatever the application does next. Shortly after Jev\\u2019s launch, the Check Point Research team asked the adversarial question that pitch invites: does a different output shape mean a different set of weaknesses, or does Jev fail the same way a language model does, just faster and cheaper? They published their findings as \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://blog.checkpoint.com/ai-security/jev-is-not-a-language-model-but-it-breaks-like-one-prompt-injection-against-a-typed-decision-model/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"\\u201CJev is not a language model, but it breaks like one: prompt injection against a typed decision model\\u201D\"), \".\"), mdx(\"p\", null, \"Their setup: a due-diligence assistant reads an uploaded report about a fictional company, PonziCorp Financial Services, and returns a verdict \\u2014 a risk level and whether to recommend investing. The report is deliberately damning (15\\u201320% monthly returns, payouts funded by new investor money, open regulatory inquiries, delayed withdrawals), and with no attack present, every model they tested got it right every time. They then gave an attacker control of one section of the document and asked it to flip the verdict to low risk, recommend investing \\u2014 handing Jev the document three different ways (inline with the instructions, as a separate message as if fetched by a tool, and as a separate message explicitly marked untrusted), at three difficulty levels, with three agentic attackers running ten turns each, three independent runs per configuration.\"), mdx(\"p\", null, \"Their headline findings:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Every one of the nine attacker/difficulty combinations produced at least one complete break: risk downgraded to low, investment advised, on a document that flags every warning sign.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"It was cheap. Their strongest attacker broke through in 25 of 27 runs, landing the break on the fourth turn on average, at roughly 50 cents in API cost per successful break \\u2014 counting the cost of the failed attempts too.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Typed, structured input didn\\u2019t meaningfully help. The same document delivered three different ways, including one explicitly labeled untrusted, made no meaningful difference to success rate or speed.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"An explicit anti-injection instruction barely mattered: telling the model to ignore instructions embedded in documents it reads moved successful breaks from 18 to 17 out of 27 \\u2014 noise.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Reasoning was the strongest defense they measured, and Jev has no reasoning setting to turn on.\")), mdx(\"p\", null, \"Read the per-attacker table as a price list \\u2014 the right-hand numbers are what it cost to buy one flipped verdict:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Attacker\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Level 0 (basic)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Level 1 (+ warning)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Level 2 (+ long report)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Overall\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Attacker A (strongest)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"8/9 broken \\xB7 $0.39/break\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"9/9 \\xB7 $0.48\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"8/9 \\xB7 $0.64\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"25/27 \\xB7 $0.50\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Attacker B (medium)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"7/9 \\xB7 $0.54\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"7/9 \\xB7 $0.55\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1/9 \\xB7 $5.08\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"15/27 \\xB7 $0.85\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Attacker C (weakest)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"3/9 \\xB7 $0.63\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1/9 \\xB7 $2.00\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1/9 \\xB7 $2.00\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"5/27 \\xB7 $1.18\")))), mdx(\"p\", null, \"Delivery method mattered less than you\\u2019d hope. The middle row below \\u2014 a document explicitly marked untrusted \\u2014 changed nothing about whether Jev believed it:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"How the document was delivered\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Broken (of 27)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Average turns to break\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"One message\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"16\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4.6\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Separate message, marked untrusted\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"16\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"5.8\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Separate message, no marker\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"13\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"5.6\")))), mdx(\"p\", null, \"Check Point also ran the same attacks against two mainstream low-cost models that have a control Jev doesn\\u2019t: a reasoning-effort toggle. Turning reasoning on was the single largest security difference anywhere in their study:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Target\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Successful attack attempts\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Average turns to break\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Cost per break\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model I, no reasoning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"100%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4.0\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"$0.16\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model I, with reasoning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"70%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"6.2\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"$0.66\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model II, no reasoning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"67%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4.9\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"$0.56\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Jev\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"59%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"4.6\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"$0.54\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Model II, with reasoning\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"19%\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"8.2\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"$4.39\")))), mdx(\"p\", null, \"Their conclusion cuts against the instinct that a constrained output format is itself a safety boundary: the output shape constrains what a model can say, not what it can be convinced of. None of their attacks ever told the model what to output \\u2014 the ones that worked appended what looked like a legitimate addendum to the report (a clean audit opinion, a regulatory file number, a revised risk table), and the model then did its job correctly, on false evidence. What actually made a model harder to crack was more evidence to weigh and, where available, reasoning \\u2014 neither of which is a property of a typed output format.\"), mdx(\"p\", null, \"Their practical takeaways, if you\\u2019re deploying something like this:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Test your whole system, not just the model. Off-the-shelf attack lists told them nothing useful; adaptive attackers that adjust across turns are what actually probes a real deployment.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Give the decision as much evidence as you reasonably can \\u2014 the longer, richer report was significantly harder to break.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Don\\u2019t mistake an output format for a security boundary. Typed output and input validation are good engineering; they constrain what a model can say, not what it can be talked into.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Screen what goes in, not just what comes out. The manipulation arrived inside a document the application was built to read \\u2014 screening inputs before they reach a decision model addresses that directly.\")), mdx(\"p\", null, \"Check Point is upfront that this is a focused, directional study rather than a full benchmark \\u2014 one application, one manipulation objective, and an attacker that could see Jev\\u2019s probabilities as it worked. But it\\u2019s enough to support their actual conclusion: Jev suffers the same category of vulnerability as the language models it\\u2019s positioned against, just measured in cents rather than a jailbreak thread. A typed decision is still something you can talk out of its answer \\u2014 there just isn\\u2019t a sentence left over for anyone to notice.\"), mdx(\"h2\", {\n    \"id\": \"a-different-job-for-a-model\"\n  }, \"A different job for a model\"), mdx(\"p\", null, \"The \\u201Csystem one\\u201D label used around Jev borrows from Daniel Kahneman\\u2019s distinction between fast, intuitive thinking and slower, analytical thinking. It is a useful metaphor for fast evaluations, not an explanation of a model\\u2019s architecture. Similarly, the attention around Jev should not be mistaken for proof that constrained decision models suddenly appeared in September 2026. Related approaches predate the launch; the timing and packaging have made an existing technical direction newly legible.\"), mdx(\"p\", null, \"The takeaway is not to swap every LLM call for a decision model. Use an LLM when you need to write, explain, investigate or produce a rich object; OpenAI\\u2019s documentation points to Structured Outputs for custom generated schemas and function calling when you need a model to request a tool action. Use a decision interface when the question is narrow, the answer space is known and the application has a sensible way to act on uncertainty.\"), mdx(\"p\", null, \"Before choosing either, ask what output the software actually needs. If the answer is \\u201Cone of four queues, unless we are not sure,\\u201D generating another paragraph is probably solving the wrong problem.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["AI"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4klEQVQ4y11U20+UVxD/wLYkrWB9QRAEdpfVXWAXWFguy16AdRew7HK/LSy3YJSoS5EF3FQIL2C1EQXUgAgGrZFUiiCgXEoNUoj0gQKlLyrYCCFpbEpS/4Bf55xWH/owmW/mzMyZ85vffIIgCHBzc4O7uzvYN9N79uzhmvnfnzMf+5bJZCgoKIC9pAS5OTnIyspCNklebi7y8vIgsEQmHh4ePOH/4uPrCy8vrw/2vn37EBgYyAvl5+cjIyMDhYUFKC4u5rYgkUg+BLMugoKCYDQaUV5Whps3ezExMYH5+Xm4XC6IRCL40gXs8qioKNjtdpRQoRLqtthWjMzMDAg6nQ779++HNiEBjQ0N6OjowKWLFzE7+yPW13+D0+nExsYmdnZ20NjYyJ9qMpmoiJ0XYgWLiopgs9mQkpICwaDXo7m5Gf19fejp7kY3ScfVq+jp6cHr17+jsrIStbW1GB5+CKvVikLC78SJE1TYDhsV4l3+VzgtLQ2CKjISFy5cwNDQEG7cuMELtbS04P79QbS1tSGSzuvq6lBGEJw8eZJjV1VVhbLSUt4V767IhlwaitlshhARHsE7GBsbQ39/P3p7e9F0vglra2t49mwejycecz9LYHEM+Irycq5Zx8zPBlJYWAhLugUCA5c5FhYWMD09jZmZGT4AFvDixUu8+/sdxscnkJOTC7lcDmedE52dXRzPzs5O3m0GFc7LzeMTF9TR0bBYLFha+hnLy79gamoKd+/epY7H+QXb29s80d/fH557PflA5ubmsLW1RbKNJ0+m0NfXz7FO/yKdMFSpYDAYMProETY2N4kiP2Hk4Qhmf5jF9WvXYbVYwZig0WjAKFZdXY3dv3bx6tUGnj9fwuDgICorKqCnmGPHjhGGERGcU11dXXjzZosXZNwbpKHEx8fDz88P2dnZUKmiOG7D3w9jZWWFXrOM0dFRsHxvb2/OXfZsgeESTc92nHHg1/V1TNEzJycn+dRd51x81dRqNdrb2zEyMkLFVtHa2obLl9s5zlKpFKnEP7aG7GJBTOyPoQTGocXFRcJwGncG7vAO7317D7d6b+HRKMGxsYFxwpVhyngnEYsRrlTCmGxEJg0jLTWVT1wIoFXz9vGBlgg++OA7DA0PY4TwvEIbU3m8inwPMPv0KZZXV/Hn7i7+ePsWU8QEX38/HE0x4+Xma9weGIA1MxM5+fTkApEM1gMBqNeb0JxixbnEVLRZ81GvM6Eg8AgaDGbyZ+Ca/Ti6K6rRW3UaF3NsOKXWok53FLera3E5vxSOWD2qVRoILqkKrTHJaFLEo0mpwVchMXDJ1WiJMqA11ojzYXE4e0gOh+9hnPEJxukDwag5eAT1QWGoCwjFKW8J2YfhDAwjnwJCvTQSrfo0fG204JI5E22GNLJT8U1qNkkWWsmuD46AU6xEA8UycUrCcVak4JrZ7JzHkC04KPCUvwxnAkLgCAxFjSiMi4Ns5qul83pZNBqp8y8poZYly6K4zb7/lXDUiBV0roTw6cefwMP9I8gkwUjS6hAfrYZGHQNdnAba2DiYE5ORrNUji/ZU5H+Ii0GTAFNiEgJ8DiJEehhyiRSff+aJWOKq8P7nKqYtUMfEQBGuhIy4qSBKKCPCEaoI4zpMqYA4WIK99PdOTEqC0XQUsXFx0BE7tLQl8tAQrv8B+89GtwwedJoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/168ece755cc8a3f4341a6ffbcb92d106/a1946/cover.png","srcSet":"/static/168ece755cc8a3f4341a6ffbcb92d106/5b37e/cover.png 236w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/49058/cover.png 472w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/a1946/cover.png 944w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/6050d/cover.png 1200w","srcWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/99fbb/cover.webp","srcSetWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/77392/cover.webp 236w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/1f177/cover.webp 472w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/99fbb/cover.webp 944w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/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='M0%20200v200h401V0H0v200M165%2040c-5%201-15%206-17%209-1%202-1%202-2%201s-12%205-15%209l-6%2010c-3%207-4%208-2%208%203%201%204%206%204%2015%200%2020-5%2037-10%2035-1%200-2%201-2%207-1%2012-1%2013%201%208l3-5c4%200%2010%206%2021%2019%201%202%202%202%203%201%202-1%202-1%201%202-2%203%204%2013%207%2013l5-1c2%200%202%200-2-7-4-9-5-10-3-8l5%208c3%205%204%207%206%207%202%201%201%201-2%201l-9%202c-7%202-8%202-12-6-2-5-4-7-5-7l-4%201-2%202h-14c-5%201-5%201-4%204l5%2027c0%203%202%205%203%203h2l2-1%203-1%209-2a2125%202125%200%200111-5h1a344%20344%200%200137-7c0%204%204%200%208-7l6-12%202-4-2-4a53%2053%200%20014-62c4-5%2013-10%2017-10%203%200%203-1%203-6-1-6-5-11-11-14-4-3-4-3-1-2%207%201%2013%209%2013%2017%200%205%202%206%202%201%202-12%201-20-5-25l-14-8-14-5c-1-2-21-2-26-1m-34%206a387%20387%200%2000-75%2023%20503%20503%200%20009%2043l-1%204-1-6-5-23-4-17-11%205a355%20355%200%2000-21%2011l-1-1%2017%2074%2026%20112-13%208-13%207h7c7%200%2014-2%2015-4l4-2c2%200%205-1%207-3l16-7%209%208%207%208h31l-1-5-1-5v1l-1%201c-1%200-4-8-5-16-2-10-1-15%203-24a186%20186%200%200120-34c6-3%208-5%206-9l-1-3-17%205c-23%206-23%206-24%200l-3-18c-3-12-3-13-2-16%204-9%204-13%202-18s-2-7-2-16v-11l-4%202a506%20506%200%2001-47%2016c-15%206-15%205-13%204a311%20311%200%200165-24c-5-11%202-33%2010-32%204%200%205%201%205%205%201%203%201%202%201-2l-1-7c-2-1-2-1-4%201-3%202-4%202-2-1l2-5c4-13%2013-23%2023-27l7-3c2-3-2-3-19%201M6%2046a3787%203787%200%200149%20208c3%2014%203%2016%204%2015A4242%204242%200%20006%2046m164%203c-4%204-8%2011-11%2021l-3%203c-4%201-9%206-8%207l-1%201c-1-1-1-1%200%200l-1%201c-3-2-8%2016-6%2024%202%2016%209%2024%2020%2024h5l-6-1c-6-1-9-3-13-8-3-6-3-6%203-2l6%203%201%201h10l-5%201-4%201h3c9%202%2022-6%2027-17%206-14%200-31-14-36-3-1-3-1-2-5%204-13%2013-21%2020-18h3c0-2-3-3-11-4h-9l-4%204m-19%2031c-7%205-9%2019-3%2024%206%206%2013%203%2017-5%203-6%204-9%201-15s-9-8-15-4m59%208c-5%202-10%207-9%209l-1%201c-1-1-1-1%200%200h-1l-1%201v3h-2c1%201%200%205-1%208-5%2015%203%2039%2014%2046h4l-1-2-9-8%204%202c6%206%207%204%201-3-12-15-13-34%200-49%204-4%208-7%2013-7%203%200%204%200%204-2%200-3-8-3-15%201m-97%203c-6%206-7%2021-2%2021%204%200%208-15%206-20-1-4-2-4-4-1m106%203c-8%203-17%2017-17%2028%200%205%203%2013%205%2016h2c-10-24%200-43%2022-43%203%200%203%200%202-1h-14m4%2010c-9%204-11%2021-3%2030%203%204%2011%204%2016%200%2014-11%203-37-13-30m0%206c-5%202-7%2013-4%2018%201%202%206%205%209%205s7-6%207-11c0-11-6-16-12-12m20%2040l-3%205h2c14%200%2018%2013%209%2029l-3%209h-1v2c0%201%200%202-2%201l-4%205c-3%204-3%204-1%207s2%203%205-2l3-3-5%2010c-9%2011-10%2014-8%2016l3%208%202%206-3%203-18%209c-13%204-14%204-2-2%2012-7%2017-10%2017-13%201-3-1-8-2-8l-2-2c-2-3-2-3%201-6%203-4%204-4%201-8l-1-3-5%204-5%205%201%202%206%2010-5-5c-3-5-4-6-5-5l-2%202-1%201-11%205-12%205c-2%200-2%202%200%207l3%205-5%201-14%202h-9l10-1c16-1%2016-2%2013-9-1-3-2-4-4-3-6%201-6%201-4%205%202%205%201%205-6%206h-6l-1-4-1-6c1-1-3-4-6-4l-1%202%201%2010-1-6-3-11-1-6-1%204c-2%208-1%2014%202%2019%206%208%209%2013%209%2010-1-3%200-6%201-3s7%203%2019%200c11-3%2011-3%2014%202%201%203%203%204%203%203h1c1%201%200%203-2%203l-4-4c-2-5-2-4-10-3l-13%202c-6%200-6%200-5%202l2%204c2%202%203%205%202%205l-1-1-2-2-3-1h-1l2%203%202%203c0%202-5-3-5-6v-2l-4-5-6-8-2-4v7l2%2014%201%207%201-4%201-4v3l1%204a115%20115%200%200134%208l3%203c1%202%202%202%2011%202h9l-2-5-2-6c1-2-5-1-11%201l-10%202%2012-4%209-1%203%207%202%206h47l5-3%204-3-4-2c-5-2-18-11-18-12l7%204c11%207%2018%209%2019%207%204-5%204-5-3-13-8-8-13-18-15-27l-4-14-5-14c-1-5-2-7-3-6l2-5c2-4%202-6%202-9%200-4%201-7%2011-21%205-8%209-13%209-10l-2%203c-1%202-1%202%205%201%205%200%206-1%209-4%203-2%204-4%203-4v-2c-3-1-5-1-9%202-6%204-6%204-5%201l1-1%205-4-23-5c-3%200-3%200-2%204l-1%204h-6l-3-2h3c4%201%204%201%204-2s-1-4-3-4c-3%200-4%200-6%205m48%206c-5%205-9%207-12%208l-5%203-1%201-1-1c1-2%200-2-1-2-2%200-6%205-13%2017-3%207-3%207-2%2012%203%2012%2011%2033%2013%2033v-2h1c1%201%202%201%205-1l8-3%204-3a141%20141%200%200136-49l-7%209c-6%205-10%2011-12%2016a248%20248%200%2001-15%2024c-2%204-3%205-10%208l-9%204c-2%202-12-18-15-29-1-7-2-6-2%200%201%208%205%2021%2010%2031%204%208%205%209%208%209l3-1c-1-1-1-1%200%200l13-3c9-2%2010-3%207-3s-4%200-3-1l3-3%201-3v3c-1%202%200%203%202%203%203%201%207%200%208-2v-3c-1%201-2-2-2-5l1%201c2%202%204%202%206-1%201-3%202-4%201-1l13-11c15-16%2019-18%2033-20%2010-2%2015-2%2020-1%203%202%203%202%203%200%200-11-16-14-32-6-6%203-24%2020-31%2030-4%206-7%208-4%203%202-3%202-3%200-3l-4-1h7l6-8c13-16%2027-26%2040-27h7l-3-3-6-2c-2%200-2%200-1-1%202-1-23-13-41-19-17-5-17-5-27%203m-149%2061l-10%2022-4%208-1%203%202%2010%201%2011%201%203v-3c0-3%200-3%201-1%200%202%201%203%206%203s7-1%204-2v-1c2%200%201-3%200-3-2-1-2%200-2%201l-1%204-1-3v-1h-1l-1-2-1-3c0-3%200-3%201-1l4%203%205%201c1%200%202%200%202-2%200-1%201-1%202%201v2c2%204%202%206%200%206l-2-2c1-4-2-3-2%200-1%203-1%203%204%203h5l-5%201c-3%200-3%201-2%201l6%201h4l-3-7-3-6v-17l-1-21c-1-3-1-3-1%202%200%207-1%208-4%202-2-4-2-5-1-10%201-6%201-7-2-3m175%2017l-10%206-25%208c-3%200-4%201-2%202l7-1%205-2%202-1h8v1c1%201%200%201-2%201-2-1-7%201-5%201%208%201%2010%200%208-3-1-2%200-3%202%200%202%201%202%201%205-1%204-2%204-1%203-3%200-2-1-2-4%200-8%204-5%201%204-4l11-6c3-2-2-1-7%202m29%2022c-9%202-16%205-25%209-7%204-13%208-10%208l4%207%203%206h47v-3c0-4-3-16-6-21l-2-5c1-2-2-2-11-1M81%20275c-9%202-10%203-7%205%202%201%202%201%204-2%201-2%204-3%202-1l1%201c1-1%205%202%205%204s-2%201-2-1c-1-3-4-2-7%201l-3%203h2l13%201h11l-3-3-2-4-2%203c-2%203-2%203-2-2%200-7-2-8-10-5m203%202c-2%205-2%205%207%207%205%202%206%202%207%200%201-1-2-6-5-6l-4-2-4-3-1%204m-123-1l4%202%206%203c2%202%204%202%205%201h6l8%201h5l-7-3c-13-4-27-6-27-4m-12%2038l-1%203c0%202-1%202-3%202-3%200-5%202-5%206%200%203%203%205%207%205h3v-8c0-9%200-10-1-8m-125%209v7h4c5%200%208-3%208-7%200-5-4-8-9-8h-3v8m142%2040a10417%2010417%200%200160%2013l-24-8c-22-7-22-7-34-7h-11l9%202'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4klEQVQ4y11U20+UVxD/wLYkrWB9QRAEdpfVXWAXWFguy16AdRew7HK/LSy3YJSoS5EF3FQIL2C1EQXUgAgGrZFUiiCgXEoNUoj0gQKlLyrYCCFpbEpS/4Bf55xWH/owmW/mzMyZ85vffIIgCHBzc4O7uzvYN9N79uzhmvnfnzMf+5bJZCgoKIC9pAS5OTnIyspCNklebi7y8vIgsEQmHh4ePOH/4uPrCy8vrw/2vn37EBgYyAvl5+cjIyMDhYUFKC4u5rYgkUg+BLMugoKCYDQaUV5Whps3ezExMYH5+Xm4XC6IRCL40gXs8qioKNjtdpRQoRLqtthWjMzMDAg6nQ779++HNiEBjQ0N6OjowKWLFzE7+yPW13+D0+nExsYmdnZ20NjYyJ9qMpmoiJ0XYgWLiopgs9mQkpICwaDXo7m5Gf19fejp7kY3ScfVq+jp6cHr17+jsrIStbW1GB5+CKvVikLC78SJE1TYDhsV4l3+VzgtLQ2CKjISFy5cwNDQEG7cuMELtbS04P79QbS1tSGSzuvq6lBGEJw8eZJjV1VVhbLSUt4V767IhlwaitlshhARHsE7GBsbQ39/P3p7e9F0vglra2t49mwejycecz9LYHEM+Irycq5Zx8zPBlJYWAhLugUCA5c5FhYWMD09jZmZGT4AFvDixUu8+/sdxscnkJOTC7lcDmedE52dXRzPzs5O3m0GFc7LzeMTF9TR0bBYLFha+hnLy79gamoKd+/epY7H+QXb29s80d/fH557PflA5ubmsLW1RbKNJ0+m0NfXz7FO/yKdMFSpYDAYMProETY2N4kiP2Hk4Qhmf5jF9WvXYbVYwZig0WjAKFZdXY3dv3bx6tUGnj9fwuDgICorKqCnmGPHjhGGERGcU11dXXjzZosXZNwbpKHEx8fDz88P2dnZUKmiOG7D3w9jZWWFXrOM0dFRsHxvb2/OXfZsgeESTc92nHHg1/V1TNEzJycn+dRd51x81dRqNdrb2zEyMkLFVtHa2obLl9s5zlKpFKnEP7aG7GJBTOyPoQTGocXFRcJwGncG7vAO7317D7d6b+HRKMGxsYFxwpVhyngnEYsRrlTCmGxEJg0jLTWVT1wIoFXz9vGBlgg++OA7DA0PY4TwvEIbU3m8inwPMPv0KZZXV/Hn7i7+ePsWU8QEX38/HE0x4+Xma9weGIA1MxM5+fTkApEM1gMBqNeb0JxixbnEVLRZ81GvM6Eg8AgaDGbyZ+Ca/Ti6K6rRW3UaF3NsOKXWok53FLera3E5vxSOWD2qVRoILqkKrTHJaFLEo0mpwVchMXDJ1WiJMqA11ojzYXE4e0gOh+9hnPEJxukDwag5eAT1QWGoCwjFKW8J2YfhDAwjnwJCvTQSrfo0fG204JI5E22GNLJT8U1qNkkWWsmuD46AU6xEA8UycUrCcVak4JrZ7JzHkC04KPCUvwxnAkLgCAxFjSiMi4Ns5qul83pZNBqp8y8poZYly6K4zb7/lXDUiBV0roTw6cefwMP9I8gkwUjS6hAfrYZGHQNdnAba2DiYE5ORrNUji/ZU5H+Ii0GTAFNiEgJ8DiJEehhyiRSff+aJWOKq8P7nKqYtUMfEQBGuhIy4qSBKKCPCEaoI4zpMqYA4WIK99PdOTEqC0XQUsXFx0BE7tLQl8tAQrv8B+89GtwwedJoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/168ece755cc8a3f4341a6ffbcb92d106/3ddd4/cover.png","srcSet":"/static/168ece755cc8a3f4341a6ffbcb92d106/078a8/cover.png 163w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/e56da/cover.png 327w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/3ddd4/cover.png 653w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/c5cc7/cover.png 980w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/6050d/cover.png 1200w","srcWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/0acdf/cover.webp","srcSetWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/ac59e/cover.webp 163w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/7660b/cover.webp 327w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/0acdf/cover.webp 653w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/75470/cover.webp 980w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/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='M0%20200v200h401V0H0v200M165%2040c-5%201-15%206-17%209-1%202-1%202-2%201s-12%205-15%209l-6%2010c-3%207-4%208-2%208%203%201%204%206%204%2015%200%2020-5%2037-10%2035-1%200-2%201-2%207-1%2012-1%2013%201%208l3-5c4%200%2010%206%2021%2019%201%202%202%202%203%201%202-1%202-1%201%202-2%203%204%2013%207%2013l5-1c2%200%202%200-2-7-4-9-5-10-3-8l5%208c3%205%204%207%206%207%202%201%201%201-2%201l-9%202c-7%202-8%202-12-6-2-5-4-7-5-7l-4%201-2%202h-14c-5%201-5%201-4%204l5%2027c0%203%202%205%203%203h2l2-1%203-1%209-2a2125%202125%200%200111-5h1a344%20344%200%200137-7c0%204%204%200%208-7l6-12%202-4-2-4a53%2053%200%20014-62c4-5%2013-10%2017-10%203%200%203-1%203-6-1-6-5-11-11-14-4-3-4-3-1-2%207%201%2013%209%2013%2017%200%205%202%206%202%201%202-12%201-20-5-25l-14-8-14-5c-1-2-21-2-26-1m-34%206a387%20387%200%2000-75%2023%20503%20503%200%20009%2043l-1%204-1-6-5-23-4-17-11%205a355%20355%200%2000-21%2011l-1-1%2017%2074%2026%20112-13%208-13%207h7c7%200%2014-2%2015-4l4-2c2%200%205-1%207-3l16-7%209%208%207%208h31l-1-5-1-5v1l-1%201c-1%200-4-8-5-16-2-10-1-15%203-24a186%20186%200%200120-34c6-3%208-5%206-9l-1-3-17%205c-23%206-23%206-24%200l-3-18c-3-12-3-13-2-16%204-9%204-13%202-18s-2-7-2-16v-11l-4%202a506%20506%200%2001-47%2016c-15%206-15%205-13%204a311%20311%200%200165-24c-5-11%202-33%2010-32%204%200%205%201%205%205%201%203%201%202%201-2l-1-7c-2-1-2-1-4%201-3%202-4%202-2-1l2-5c4-13%2013-23%2023-27l7-3c2-3-2-3-19%201M6%2046a3787%203787%200%200149%20208c3%2014%203%2016%204%2015A4242%204242%200%20006%2046m164%203c-4%204-8%2011-11%2021l-3%203c-4%201-9%206-8%207l-1%201c-1-1-1-1%200%200l-1%201c-3-2-8%2016-6%2024%202%2016%209%2024%2020%2024h5l-6-1c-6-1-9-3-13-8-3-6-3-6%203-2l6%203%201%201h10l-5%201-4%201h3c9%202%2022-6%2027-17%206-14%200-31-14-36-3-1-3-1-2-5%204-13%2013-21%2020-18h3c0-2-3-3-11-4h-9l-4%204m-19%2031c-7%205-9%2019-3%2024%206%206%2013%203%2017-5%203-6%204-9%201-15s-9-8-15-4m59%208c-5%202-10%207-9%209l-1%201c-1-1-1-1%200%200h-1l-1%201v3h-2c1%201%200%205-1%208-5%2015%203%2039%2014%2046h4l-1-2-9-8%204%202c6%206%207%204%201-3-12-15-13-34%200-49%204-4%208-7%2013-7%203%200%204%200%204-2%200-3-8-3-15%201m-97%203c-6%206-7%2021-2%2021%204%200%208-15%206-20-1-4-2-4-4-1m106%203c-8%203-17%2017-17%2028%200%205%203%2013%205%2016h2c-10-24%200-43%2022-43%203%200%203%200%202-1h-14m4%2010c-9%204-11%2021-3%2030%203%204%2011%204%2016%200%2014-11%203-37-13-30m0%206c-5%202-7%2013-4%2018%201%202%206%205%209%205s7-6%207-11c0-11-6-16-12-12m20%2040l-3%205h2c14%200%2018%2013%209%2029l-3%209h-1v2c0%201%200%202-2%201l-4%205c-3%204-3%204-1%207s2%203%205-2l3-3-5%2010c-9%2011-10%2014-8%2016l3%208%202%206-3%203-18%209c-13%204-14%204-2-2%2012-7%2017-10%2017-13%201-3-1-8-2-8l-2-2c-2-3-2-3%201-6%203-4%204-4%201-8l-1-3-5%204-5%205%201%202%206%2010-5-5c-3-5-4-6-5-5l-2%202-1%201-11%205-12%205c-2%200-2%202%200%207l3%205-5%201-14%202h-9l10-1c16-1%2016-2%2013-9-1-3-2-4-4-3-6%201-6%201-4%205%202%205%201%205-6%206h-6l-1-4-1-6c1-1-3-4-6-4l-1%202%201%2010-1-6-3-11-1-6-1%204c-2%208-1%2014%202%2019%206%208%209%2013%209%2010-1-3%200-6%201-3s7%203%2019%200c11-3%2011-3%2014%202%201%203%203%204%203%203h1c1%201%200%203-2%203l-4-4c-2-5-2-4-10-3l-13%202c-6%200-6%200-5%202l2%204c2%202%203%205%202%205l-1-1-2-2-3-1h-1l2%203%202%203c0%202-5-3-5-6v-2l-4-5-6-8-2-4v7l2%2014%201%207%201-4%201-4v3l1%204a115%20115%200%200134%208l3%203c1%202%202%202%2011%202h9l-2-5-2-6c1-2-5-1-11%201l-10%202%2012-4%209-1%203%207%202%206h47l5-3%204-3-4-2c-5-2-18-11-18-12l7%204c11%207%2018%209%2019%207%204-5%204-5-3-13-8-8-13-18-15-27l-4-14-5-14c-1-5-2-7-3-6l2-5c2-4%202-6%202-9%200-4%201-7%2011-21%205-8%209-13%209-10l-2%203c-1%202-1%202%205%201%205%200%206-1%209-4%203-2%204-4%203-4v-2c-3-1-5-1-9%202-6%204-6%204-5%201l1-1%205-4-23-5c-3%200-3%200-2%204l-1%204h-6l-3-2h3c4%201%204%201%204-2s-1-4-3-4c-3%200-4%200-6%205m48%206c-5%205-9%207-12%208l-5%203-1%201-1-1c1-2%200-2-1-2-2%200-6%205-13%2017-3%207-3%207-2%2012%203%2012%2011%2033%2013%2033v-2h1c1%201%202%201%205-1l8-3%204-3a141%20141%200%200136-49l-7%209c-6%205-10%2011-12%2016a248%20248%200%2001-15%2024c-2%204-3%205-10%208l-9%204c-2%202-12-18-15-29-1-7-2-6-2%200%201%208%205%2021%2010%2031%204%208%205%209%208%209l3-1c-1-1-1-1%200%200l13-3c9-2%2010-3%207-3s-4%200-3-1l3-3%201-3v3c-1%202%200%203%202%203%203%201%207%200%208-2v-3c-1%201-2-2-2-5l1%201c2%202%204%202%206-1%201-3%202-4%201-1l13-11c15-16%2019-18%2033-20%2010-2%2015-2%2020-1%203%202%203%202%203%200%200-11-16-14-32-6-6%203-24%2020-31%2030-4%206-7%208-4%203%202-3%202-3%200-3l-4-1h7l6-8c13-16%2027-26%2040-27h7l-3-3-6-2c-2%200-2%200-1-1%202-1-23-13-41-19-17-5-17-5-27%203m-149%2061l-10%2022-4%208-1%203%202%2010%201%2011%201%203v-3c0-3%200-3%201-1%200%202%201%203%206%203s7-1%204-2v-1c2%200%201-3%200-3-2-1-2%200-2%201l-1%204-1-3v-1h-1l-1-2-1-3c0-3%200-3%201-1l4%203%205%201c1%200%202%200%202-2%200-1%201-1%202%201v2c2%204%202%206%200%206l-2-2c1-4-2-3-2%200-1%203-1%203%204%203h5l-5%201c-3%200-3%201-2%201l6%201h4l-3-7-3-6v-17l-1-21c-1-3-1-3-1%202%200%207-1%208-4%202-2-4-2-5-1-10%201-6%201-7-2-3m175%2017l-10%206-25%208c-3%200-4%201-2%202l7-1%205-2%202-1h8v1c1%201%200%201-2%201-2-1-7%201-5%201%208%201%2010%200%208-3-1-2%200-3%202%200%202%201%202%201%205-1%204-2%204-1%203-3%200-2-1-2-4%200-8%204-5%201%204-4l11-6c3-2-2-1-7%202m29%2022c-9%202-16%205-25%209-7%204-13%208-10%208l4%207%203%206h47v-3c0-4-3-16-6-21l-2-5c1-2-2-2-11-1M81%20275c-9%202-10%203-7%205%202%201%202%201%204-2%201-2%204-3%202-1l1%201c1-1%205%202%205%204s-2%201-2-1c-1-3-4-2-7%201l-3%203h2l13%201h11l-3-3-2-4-2%203c-2%203-2%203-2-2%200-7-2-8-10-5m203%202c-2%205-2%205%207%207%205%202%206%202%207%200%201-1-2-6-5-6l-4-2-4-3-1%204m-123-1l4%202%206%203c2%202%204%202%205%201h6l8%201h5l-7-3c-13-4-27-6-27-4m-12%2038l-1%203c0%202-1%202-3%202-3%200-5%202-5%206%200%203%203%205%207%205h3v-8c0-9%200-10-1-8m-125%209v7h4c5%200%208-3%208-7%200-5-4-8-9-8h-3v8m142%2040a10417%2010417%200%200160%2013l-24-8c-22-7-22-7-34-7h-11l9%202'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4klEQVQ4y11U20+UVxD/wLYkrWB9QRAEdpfVXWAXWFguy16AdRew7HK/LSy3YJSoS5EF3FQIL2C1EQXUgAgGrZFUiiCgXEoNUoj0gQKlLyrYCCFpbEpS/4Bf55xWH/owmW/mzMyZ85vffIIgCHBzc4O7uzvYN9N79uzhmvnfnzMf+5bJZCgoKIC9pAS5OTnIyspCNklebi7y8vIgsEQmHh4ePOH/4uPrCy8vrw/2vn37EBgYyAvl5+cjIyMDhYUFKC4u5rYgkUg+BLMugoKCYDQaUV5Whps3ezExMYH5+Xm4XC6IRCL40gXs8qioKNjtdpRQoRLqtthWjMzMDAg6nQ779++HNiEBjQ0N6OjowKWLFzE7+yPW13+D0+nExsYmdnZ20NjYyJ9qMpmoiJ0XYgWLiopgs9mQkpICwaDXo7m5Gf19fejp7kY3ScfVq+jp6cHr17+jsrIStbW1GB5+CKvVikLC78SJE1TYDhsV4l3+VzgtLQ2CKjISFy5cwNDQEG7cuMELtbS04P79QbS1tSGSzuvq6lBGEJw8eZJjV1VVhbLSUt4V767IhlwaitlshhARHsE7GBsbQ39/P3p7e9F0vglra2t49mwejycecz9LYHEM+Irycq5Zx8zPBlJYWAhLugUCA5c5FhYWMD09jZmZGT4AFvDixUu8+/sdxscnkJOTC7lcDmedE52dXRzPzs5O3m0GFc7LzeMTF9TR0bBYLFha+hnLy79gamoKd+/epY7H+QXb29s80d/fH557PflA5ubmsLW1RbKNJ0+m0NfXz7FO/yKdMFSpYDAYMProETY2N4kiP2Hk4Qhmf5jF9WvXYbVYwZig0WjAKFZdXY3dv3bx6tUGnj9fwuDgICorKqCnmGPHjhGGERGcU11dXXjzZosXZNwbpKHEx8fDz88P2dnZUKmiOG7D3w9jZWWFXrOM0dFRsHxvb2/OXfZsgeESTc92nHHg1/V1TNEzJycn+dRd51x81dRqNdrb2zEyMkLFVtHa2obLl9s5zlKpFKnEP7aG7GJBTOyPoQTGocXFRcJwGncG7vAO7317D7d6b+HRKMGxsYFxwpVhyngnEYsRrlTCmGxEJg0jLTWVT1wIoFXz9vGBlgg++OA7DA0PY4TwvEIbU3m8inwPMPv0KZZXV/Hn7i7+ePsWU8QEX38/HE0x4+Xma9weGIA1MxM5+fTkApEM1gMBqNeb0JxixbnEVLRZ81GvM6Eg8AgaDGbyZ+Ca/Ti6K6rRW3UaF3NsOKXWok53FLera3E5vxSOWD2qVRoILqkKrTHJaFLEo0mpwVchMXDJ1WiJMqA11ojzYXE4e0gOh+9hnPEJxukDwag5eAT1QWGoCwjFKW8J2YfhDAwjnwJCvTQSrfo0fG204JI5E22GNLJT8U1qNkkWWsmuD46AU6xEA8UycUrCcVak4JrZ7JzHkC04KPCUvwxnAkLgCAxFjSiMi4Ns5qul83pZNBqp8y8poZYly6K4zb7/lXDUiBV0roTw6cefwMP9I8gkwUjS6hAfrYZGHQNdnAba2DiYE5ORrNUji/ZU5H+Ii0GTAFNiEgJ8DiJEehhyiRSff+aJWOKq8P7nKqYtUMfEQBGuhIy4qSBKKCPCEaoI4zpMqYA4WIK99PdOTEqC0XQUsXFx0BE7tLQl8tAQrv8B+89GtwwedJoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/168ece755cc8a3f4341a6ffbcb92d106/502b1/cover.png","srcSet":"/static/168ece755cc8a3f4341a6ffbcb92d106/f2e6d/cover.png 114w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/4ddba/cover.png 229w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/502b1/cover.png 457w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/7ddc2/cover.png 686w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/435bf/cover.png 914w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/6050d/cover.png 1200w","srcWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/15384/cover.webp","srcSetWebp":"/static/168ece755cc8a3f4341a6ffbcb92d106/31fce/cover.webp 114w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/e3e25/cover.webp 229w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/15384/cover.webp 457w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/0258d/cover.webp 686w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/64ea2/cover.webp 914w,\n/static/168ece755cc8a3f4341a6ffbcb92d106/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='M0%20200v200h401V0H0v200M165%2040c-5%201-15%206-17%209-1%202-1%202-2%201s-12%205-15%209l-6%2010c-3%207-4%208-2%208%203%201%204%206%204%2015%200%2020-5%2037-10%2035-1%200-2%201-2%207-1%2012-1%2013%201%208l3-5c4%200%2010%206%2021%2019%201%202%202%202%203%201%202-1%202-1%201%202-2%203%204%2013%207%2013l5-1c2%200%202%200-2-7-4-9-5-10-3-8l5%208c3%205%204%207%206%207%202%201%201%201-2%201l-9%202c-7%202-8%202-12-6-2-5-4-7-5-7l-4%201-2%202h-14c-5%201-5%201-4%204l5%2027c0%203%202%205%203%203h2l2-1%203-1%209-2a2125%202125%200%200111-5h1a344%20344%200%200137-7c0%204%204%200%208-7l6-12%202-4-2-4a53%2053%200%20014-62c4-5%2013-10%2017-10%203%200%203-1%203-6-1-6-5-11-11-14-4-3-4-3-1-2%207%201%2013%209%2013%2017%200%205%202%206%202%201%202-12%201-20-5-25l-14-8-14-5c-1-2-21-2-26-1m-34%206a387%20387%200%2000-75%2023%20503%20503%200%20009%2043l-1%204-1-6-5-23-4-17-11%205a355%20355%200%2000-21%2011l-1-1%2017%2074%2026%20112-13%208-13%207h7c7%200%2014-2%2015-4l4-2c2%200%205-1%207-3l16-7%209%208%207%208h31l-1-5-1-5v1l-1%201c-1%200-4-8-5-16-2-10-1-15%203-24a186%20186%200%200120-34c6-3%208-5%206-9l-1-3-17%205c-23%206-23%206-24%200l-3-18c-3-12-3-13-2-16%204-9%204-13%202-18s-2-7-2-16v-11l-4%202a506%20506%200%2001-47%2016c-15%206-15%205-13%204a311%20311%200%200165-24c-5-11%202-33%2010-32%204%200%205%201%205%205%201%203%201%202%201-2l-1-7c-2-1-2-1-4%201-3%202-4%202-2-1l2-5c4-13%2013-23%2023-27l7-3c2-3-2-3-19%201M6%2046a3787%203787%200%200149%20208c3%2014%203%2016%204%2015A4242%204242%200%20006%2046m164%203c-4%204-8%2011-11%2021l-3%203c-4%201-9%206-8%207l-1%201c-1-1-1-1%200%200l-1%201c-3-2-8%2016-6%2024%202%2016%209%2024%2020%2024h5l-6-1c-6-1-9-3-13-8-3-6-3-6%203-2l6%203%201%201h10l-5%201-4%201h3c9%202%2022-6%2027-17%206-14%200-31-14-36-3-1-3-1-2-5%204-13%2013-21%2020-18h3c0-2-3-3-11-4h-9l-4%204m-19%2031c-7%205-9%2019-3%2024%206%206%2013%203%2017-5%203-6%204-9%201-15s-9-8-15-4m59%208c-5%202-10%207-9%209l-1%201c-1-1-1-1%200%200h-1l-1%201v3h-2c1%201%200%205-1%208-5%2015%203%2039%2014%2046h4l-1-2-9-8%204%202c6%206%207%204%201-3-12-15-13-34%200-49%204-4%208-7%2013-7%203%200%204%200%204-2%200-3-8-3-15%201m-97%203c-6%206-7%2021-2%2021%204%200%208-15%206-20-1-4-2-4-4-1m106%203c-8%203-17%2017-17%2028%200%205%203%2013%205%2016h2c-10-24%200-43%2022-43%203%200%203%200%202-1h-14m4%2010c-9%204-11%2021-3%2030%203%204%2011%204%2016%200%2014-11%203-37-13-30m0%206c-5%202-7%2013-4%2018%201%202%206%205%209%205s7-6%207-11c0-11-6-16-12-12m20%2040l-3%205h2c14%200%2018%2013%209%2029l-3%209h-1v2c0%201%200%202-2%201l-4%205c-3%204-3%204-1%207s2%203%205-2l3-3-5%2010c-9%2011-10%2014-8%2016l3%208%202%206-3%203-18%209c-13%204-14%204-2-2%2012-7%2017-10%2017-13%201-3-1-8-2-8l-2-2c-2-3-2-3%201-6%203-4%204-4%201-8l-1-3-5%204-5%205%201%202%206%2010-5-5c-3-5-4-6-5-5l-2%202-1%201-11%205-12%205c-2%200-2%202%200%207l3%205-5%201-14%202h-9l10-1c16-1%2016-2%2013-9-1-3-2-4-4-3-6%201-6%201-4%205%202%205%201%205-6%206h-6l-1-4-1-6c1-1-3-4-6-4l-1%202%201%2010-1-6-3-11-1-6-1%204c-2%208-1%2014%202%2019%206%208%209%2013%209%2010-1-3%200-6%201-3s7%203%2019%200c11-3%2011-3%2014%202%201%203%203%204%203%203h1c1%201%200%203-2%203l-4-4c-2-5-2-4-10-3l-13%202c-6%200-6%200-5%202l2%204c2%202%203%205%202%205l-1-1-2-2-3-1h-1l2%203%202%203c0%202-5-3-5-6v-2l-4-5-6-8-2-4v7l2%2014%201%207%201-4%201-4v3l1%204a115%20115%200%200134%208l3%203c1%202%202%202%2011%202h9l-2-5-2-6c1-2-5-1-11%201l-10%202%2012-4%209-1%203%207%202%206h47l5-3%204-3-4-2c-5-2-18-11-18-12l7%204c11%207%2018%209%2019%207%204-5%204-5-3-13-8-8-13-18-15-27l-4-14-5-14c-1-5-2-7-3-6l2-5c2-4%202-6%202-9%200-4%201-7%2011-21%205-8%209-13%209-10l-2%203c-1%202-1%202%205%201%205%200%206-1%209-4%203-2%204-4%203-4v-2c-3-1-5-1-9%202-6%204-6%204-5%201l1-1%205-4-23-5c-3%200-3%200-2%204l-1%204h-6l-3-2h3c4%201%204%201%204-2s-1-4-3-4c-3%200-4%200-6%205m48%206c-5%205-9%207-12%208l-5%203-1%201-1-1c1-2%200-2-1-2-2%200-6%205-13%2017-3%207-3%207-2%2012%203%2012%2011%2033%2013%2033v-2h1c1%201%202%201%205-1l8-3%204-3a141%20141%200%200136-49l-7%209c-6%205-10%2011-12%2016a248%20248%200%2001-15%2024c-2%204-3%205-10%208l-9%204c-2%202-12-18-15-29-1-7-2-6-2%200%201%208%205%2021%2010%2031%204%208%205%209%208%209l3-1c-1-1-1-1%200%200l13-3c9-2%2010-3%207-3s-4%200-3-1l3-3%201-3v3c-1%202%200%203%202%203%203%201%207%200%208-2v-3c-1%201-2-2-2-5l1%201c2%202%204%202%206-1%201-3%202-4%201-1l13-11c15-16%2019-18%2033-20%2010-2%2015-2%2020-1%203%202%203%202%203%200%200-11-16-14-32-6-6%203-24%2020-31%2030-4%206-7%208-4%203%202-3%202-3%200-3l-4-1h7l6-8c13-16%2027-26%2040-27h7l-3-3-6-2c-2%200-2%200-1-1%202-1-23-13-41-19-17-5-17-5-27%203m-149%2061l-10%2022-4%208-1%203%202%2010%201%2011%201%203v-3c0-3%200-3%201-1%200%202%201%203%206%203s7-1%204-2v-1c2%200%201-3%200-3-2-1-2%200-2%201l-1%204-1-3v-1h-1l-1-2-1-3c0-3%200-3%201-1l4%203%205%201c1%200%202%200%202-2%200-1%201-1%202%201v2c2%204%202%206%200%206l-2-2c1-4-2-3-2%200-1%203-1%203%204%203h5l-5%201c-3%200-3%201-2%201l6%201h4l-3-7-3-6v-17l-1-21c-1-3-1-3-1%202%200%207-1%208-4%202-2-4-2-5-1-10%201-6%201-7-2-3m175%2017l-10%206-25%208c-3%200-4%201-2%202l7-1%205-2%202-1h8v1c1%201%200%201-2%201-2-1-7%201-5%201%208%201%2010%200%208-3-1-2%200-3%202%200%202%201%202%201%205-1%204-2%204-1%203-3%200-2-1-2-4%200-8%204-5%201%204-4l11-6c3-2-2-1-7%202m29%2022c-9%202-16%205-25%209-7%204-13%208-10%208l4%207%203%206h47v-3c0-4-3-16-6-21l-2-5c1-2-2-2-11-1M81%20275c-9%202-10%203-7%205%202%201%202%201%204-2%201-2%204-3%202-1l1%201c1-1%205%202%205%204s-2%201-2-1c-1-3-4-2-7%201l-3%203h2l13%201h11l-3-3-2-4-2%203c-2%203-2%203-2-2%200-7-2-8-10-5m203%202c-2%205-2%205%207%207%205%202%206%202%207%200%201-1-2-6-5-6l-4-2-4-3-1%204m-123-1l4%202%206%203c2%202%204%202%205%201h6l8%201h5l-7-3c-13-4-27-6-27-4m-12%2038l-1%203c0%202-1%202-3%202-3%200-5%202-5%206%200%203%203%205%207%205h3v-8c0-9%200-10-1-8m-125%209v7h4c5%200%208-3%208-7%200-5-4-8-9-8h-3v8m142%2040a10417%2010417%200%200160%2013l-24-8c-22-7-22-7-34-7h-11l9%202'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/168ece755cc8a3f4341a6ffbcb92d106/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":["AI"],"category":"Post","slug":"/decision-models-when-you-need-an-answer-not-another-paragraph","id":"458b1496-6084-54c9-8a9e-99735ef1fe5a","title":"Decision models: when you need an answer, not another paragraph","appDescription":null,"mailchimp":false,"next":[{"id":"35785696-8049-5733-8600-561a58544bb0","slug":"/speaking-to-the-browser-and-getting-it-to-speak-back","secret":false,"title":"Speaking to the Browser (and Getting It to Speak Back)","author":"Luke Celitan","date":"October 14th, 2026","dateForSEO":"2026-10-14T00:00:00.000Z","timeToRead":10,"excerpt":"Brief description of Speaking to the Browser (and Getting It to Speak Back)","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\": \"Speaking to the Browser (and Getting It to Speak Back)\",\n  \"excerpt\": \"Brief description of Speaking to the Browser (and Getting It to Speak Back)\",\n  \"date\": \"2026-10-14T00:00:00.000Z\",\n  \"hero\": \"cover2.png\",\n  \"author\": \"Luke Celitan\",\n  \"appDescription\": \"Tech\",\n  \"category\": \"Post\",\n  \"tech\": [\"TypeScript\"]\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\": \"speaking-to-the-browser-and-getting-it-to-speak-back\"\n  }, \"Speaking to the Browser (and Getting It to Speak Back)\"), mdx(\"p\", null, \"Your browser can turn text into speech, and some browsers can turn speech back into text. That sounds like a loop you could close in an afternoon \\u2014 write one, pipe it into the other, ship it. In practice the web treats these as two unrelated APIs with their own support matrices, their own failure modes, and no interest in talking to each other. Let\\u2019s build a small demo of both, and make sure it doesn\\u2019t fall over the moment one half decides not to show up.\"), mdx(\"h2\", {\n    \"id\": \"try-your-browsers-speech-apis\"\n  }, \"Try your browser\\u2019s speech APIs\"), mdx(SpeechPlayground, {\n    mdxType: \"SpeechPlayground\"\n  }), mdx(\"p\", null, \"Try typing something, changing the rate, and hitting \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Speak\"), \". If your browser offers speech recognition, try \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Start listening\"), \" too \\u2014 a small row of bars should twitch along with your voice, which is a surprisingly satisfying way to confirm the browser is actually listening and not just pretending politely. Expect a microphone permission prompt; please don\\u2019t dictate passwords, secrets, or anything you wouldn\\u2019t want read back to you at double speed.\"), mdx(\"h2\", {\n    \"id\": \"two-apis-not-one-conversation\"\n  }, \"Two APIs, not one conversation\"), mdx(\"p\", null, \"The Web Speech API has two useful pieces here:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Speech synthesis\"), \" takes a string and plays it through the device\\u2019s audio output using \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"speechSynthesis\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"SpeechSynthesisUtterance\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Speech recognition\"), \" takes microphone input and returns candidate transcripts through \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"SpeechRecognition\"), \". Some browsers expose it as \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"webkitSpeechRecognition\"), \" instead.\")), mdx(\"p\", null, \"Support is not symmetrical. Synthesis is more widely available than recognition; recognition may depend on a particular browser, network service, language, and microphone permission. A browser supporting playback doesn\\u2019t mean it can transcribe. Feature-detect each one separately, and don\\u2019t make a text input unusable just because dictation isn\\u2019t supported.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const canSpeak =\\n  'speechSynthesis' in window && 'SpeechSynthesisUtterance' in window;\\n\\nconst SpeechRecognition =\\n  window.SpeechRecognition || window.webkitSpeechRecognition;\\n\\nconst canListen = Boolean(SpeechRecognition);\\n\")), mdx(\"p\", null, \"Run browser checks in client-side code. If your site server-renders React, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"window\"), \" won\\u2019t exist while the server renders. A component can guard with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"typeof window !== 'undefined'\"), \", and should render a useful fallback when an API is missing. Think of detection as a first check, not a promise: a supported API may still fail at runtime.\"), mdx(\"h2\", {\n    \"id\": \"getting-the-browser-to-talk\"\n  }, \"Getting the browser to talk\"), mdx(\"p\", null, \"Start with an utterance. It holds both the words and the settings for a single request to speak:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"function speak(text, rate = 1) {\\n  if (!('speechSynthesis' in window) ||\\n      !('SpeechSynthesisUtterance' in window)) {\\n    return false;\\n  }\\n\\n  window.speechSynthesis.cancel(); // Replace anything already queued.\\n\\n  const utterance = new SpeechSynthesisUtterance(text);\\n  utterance.lang = 'en-US';\\n  utterance.rate = rate;\\n  utterance.onend = () => console.log('Finished speaking');\\n  utterance.onerror = (event) => console.error('Speech failed', event);\\n\\n  window.speechSynthesis.speak(utterance);\\n  return true;\\n}\\n\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"cancel()\"), \" here is a product choice, not a requirement: without it, successive clicks can queue multiple utterances. If you\\u2019re building a reader that should queue paragraphs, keep the queue instead. You can also use \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pause()\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"resume()\"), \" to control playback. In a tiny playground, replacing the last request makes repeated clicks predictable. For a longer article reader, you might instead track which paragraph is playing and preserve the reader\\u2019s position.\"), mdx(\"p\", null, \"The default voice is enough to get started. If you want a voice picker, call \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"speechSynthesis.getVoices()\"), \" and let the reader choose from the returned voices. Be prepared for the list to be empty initially: some browsers populate it asynchronously and fire \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"voiceschanged\"), \" later. A selected voice can disappear when the environment changes, so the default should remain a valid fallback. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"lang\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"voice\"), \" are related, but requesting a particular language doesn\\u2019t guarantee that a matching voice is installed.\"), mdx(\"p\", null, \"Rate is worth exposing because it has an immediate, audible effect; \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"1\"), \" is the normal rate. Other utterance controls include pitch and volume. Resist adding every possible slider to the first version: a rate slider and a text field tell you enough to see whether the feature is useful. If you do add voice selection, label voices clearly and remember that the voice list reflects a reader\\u2019s device, not a stable collection you can test against on your own computer.\"), mdx(\"p\", null, \"Also, don\\u2019t assume calling \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"speak()\"), \" guarantees audible output. Playback can fail or be affected by platform audio settings and browser behavior. Put it behind an explicit button, report errors, and provide a Stop button. The text should remain visible whether the audio works or not. Don\\u2019t trigger speech automatically when a page loads: surprising someone with sound is a fairly reliable way to make them close the tab.\"), mdx(\"h2\", {\n    \"id\": \"getting-words-back-from-a-microphone\"\n  }, \"Getting words back from a microphone\"), mdx(\"p\", null, \"Recognition is event-driven. Create an instance, configure it, listen for results, and start it in response to a user action:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const Recognition = window.SpeechRecognition || window.webkitSpeechRecognition;\\n\\nif (Recognition) {\\n  const recognition = new Recognition();\\n  recognition.lang = 'en-US';\\n  recognition.interimResults = true;\\n  recognition.continuous = false;\\n\\n  recognition.onresult = (event) => {\\n    const transcript = Array.from(event.results, (result) =>\\n      result[0].transcript\\n    ).join(' ');\\n    console.log(transcript);\\n  };\\n\\n  recognition.onerror = (event) => {\\n    console.error('Recognition failed:', event.error);\\n  };\\n\\n  recognition.onend = () => {\\n    console.log('No longer listening');\\n  };\\n\\n  recognition.start();\\n}\\n\")), mdx(\"p\", null, \"An \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"onresult\"), \" event contains a list of results; each result can contain alternative guesses. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"result[0]\"), \" is the top candidate, not a promise of perfect transcription. With \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"interimResults\"), \" enabled, the browser can revise the words while you\\u2019re speaking. Treat interim text as a preview, and distinguish final results (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"result.isFinal\"), \") before saving a transcript or submitting a form. If you accumulate final text across several events, don\\u2019t append the entire result list on every callback or you\\u2019ll duplicate earlier words.\"), mdx(\"p\", null, \"Here\\u2019s one way to separate confirmed words from the current preview inside \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"onresult\"), \":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const final = [];\\nconst interim = [];\\n\\nfor (const result of event.results) {\\n  const words = result[0].transcript;\\n  (result.isFinal ? final : interim).push(words);\\n}\\n\\nsetConfirmedText(final.join(' '));\\nsetPreviewText(interim.join(' '));\\n\")), mdx(\"p\", null, \"That example rebuilds the displayed words from the results in the current session. If you\\u2019re implementing multiple separate dictation sessions in a single text box, preserve previously confirmed text separately and add new sessions deliberately. Otherwise, pressing Start again can overwrite what the person already dictated. For a form, never auto-submit because a recognizer thought it heard the final word: give the person a chance to read and edit it.\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"continuous = false\"), \" asks for a single recognition session; it does \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"not\"), \" mean the mic will stay on until you decide to stop. Sessions can end on silence, errors, or browser-specific conditions. Update your button when \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"onend\"), \" fires rather than assuming that pressing Start means you\\u2019re still recording. Call \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"stop()\"), \" to finish an active session, or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"abort()\"), \" when leaving the page and you want to discard pending recognition.\"), mdx(\"p\", null, \"Permission can be denied, there may be no microphone, or the browser may not support the selected language. Surface those errors in the UI rather than silently failing. And be careful with the word \\u201Clocal\\u201D: depending on browser implementation, audio may be sent to a service to perform recognition. Don\\u2019t promise offline or private transcription merely because the API lives on \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"window\"), \". Recognition can also depend on a secure context or a browser\\u2019s permission policies, especially when a demo is embedded elsewhere. Test on the deployed site, not just in your local development tab.\"), mdx(\"p\", null, \"One failure mode is almost comically mundane: the browser grants permission, opens a perfectly healthy audio stream, and still reports \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"no-speech\"), \" because the operating system\\u2019s default input device is pointed at a microphone that isn\\u2019t plugged in, is muted, or is a Bluetooth headset that disconnected an hour ago. The API isn\\u2019t lying to you; it heard exactly what you gave it, which was nothing. If a demo stays stubbornly silent no matter how firmly you enunciate, check the OS sound settings before you start rewriting the recognition code.\"), mdx(\"h2\", {\n    \"id\": \"giving-the-microphone-something-to-show-for-itself\"\n  }, \"Giving the microphone something to show for itself\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SpeechRecognition\"), \" is a black box: audio goes in, words eventually come out, and you get no feedback in between except waiting. That\\u2019s a bad experience when the API is silently struggling with your microphone, your network, or the eleven seconds of throat-clearing before you actually said anything. A live level meter fixes that instantly \\u2014 if the bars move, the mic is capturing you; if they don\\u2019t, stop blaming the transcript and go check your hardware.\"), mdx(\"p\", null, \"The trick is that \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SpeechRecognition\"), \" doesn\\u2019t expose the raw audio it\\u2019s using, so you have to open a second, independent stream with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"getUserMedia\"), \" purely to look at it, and run that through a Web Audio \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"AnalyserNode\"), \":\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const stream = await navigator.mediaDevices.getUserMedia({ audio: true });\\nconst audioContext = new (window.AudioContext || window.webkitAudioContext)();\\nconst source = audioContext.createMediaStreamSource(stream);\\nconst analyser = audioContext.createAnalyser();\\nanalyser.fftSize = 64;\\nsource.connect(analyser);\\n\\nconst data = new Uint8Array(analyser.frequencyBinCount);\\n\\nfunction draw() {\\n  analyser.getByteFrequencyData(data);\\n  // data[i] is 0\\u2013255 per frequency bin \\u2014 map a handful of them to bar heights\\n  requestAnimationFrame(draw);\\n}\\ndraw();\\n\")), mdx(\"p\", null, \"A few things worth not getting wrong: don\\u2019t connect the analyser to \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"audioContext.destination\"), \" \\u2014 that would route the microphone straight back out of the speakers, which is both useless and a fast way to summon feedback. Drive the animation with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"requestAnimationFrame\"), \", not React state; updating two dozen bars sixty times a second through \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"setState\"), \" will make the rest of the page stutter for no benefit, when directly writing to each bar\\u2019s \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"style.height\"), \" via a ref is both simpler and free. And treat the extra \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"getUserMedia\"), \" stream as a second piece of hardware you now own: stop every track and close the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"AudioContext\"), \" the moment listening ends, whether that\\u2019s a manual Stop click or \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SpeechRecognition\"), \" ending the session on its own \\u2014 an \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"AudioContext\"), \" you forget to close keeps the microphone indicator lit and the audio graph alive long after anyone cares.\"), mdx(\"p\", null, \"A bouncing equalizer looks delightful and proves nothing about transcription quality. Treat it as reassurance that the pipe is open, not confirmation that the words on the way out are correct \\u2014 the transcript text is still the thing that actually matters.\"), mdx(\"h2\", {\n    \"id\": \"put-the-two-halves-together\"\n  }, \"Put the two halves together\"), mdx(\"p\", null, \"The playground above intentionally keeps them independent. Dictation fills a transcript; \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Use transcript as text\"), \" copies it into an editable text area; \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Speak\"), \" reads that text aloud. This gives the reader a chance to fix recognition mistakes before speaking them back. It also means the text-to-speech half works perfectly well when recognition isn\\u2019t available or microphone access is refused.\"), mdx(\"p\", null, \"There\\u2019s a subtle trap if you try to make the two halves fully automatic: speech from your own speakers might be picked up by your microphone and transcribed again. Headphones may help, but a simpler interaction is to avoid listening and speaking simultaneously. Explicit controls make it much clearer when the microphone is active and when the page is producing audio.\"), mdx(\"p\", null, \"A production version should keep the same separation of concerns:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Check synthesis and recognition independently, then render a useful message for each unsupported feature.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Start recognition from an explicit user gesture, handle \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"result\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"error\"), \", and \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"end\"), \", and offer a visible Stop control.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Let people edit the transcript before treating it as final content.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Start speech from an explicit action, offer cancellation, and clean up active speech and recognition when the component unmounts.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Keep text on screen and controls labelled; audio is an enhancement, not the only way to access the result.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Treat any extra visual flourish, like a live level meter, as a second consumer of the microphone: close its own stream and audio graph the moment listening stops, independently of whatever \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"SpeechRecognition\"), \" is doing.\")), mdx(\"p\", null, \"In React, attach browser API listeners while the instance belongs to the component and tidy up on unmount:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-jsx\"\n  }, \"useEffect(() => {\\n  return () => {\\n    recognitionRef.current?.abort();\\n    window.speechSynthesis?.cancel();\\n  };\\n}, []);\\n\")), mdx(\"p\", null, \"Only run that cleanup in the browser. Avoid keeping a recognition instance in ordinary render-local variables: every render would replace them, and your Stop button might no longer refer to the running session. A ref is a better fit. Update React state from \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"onresult\"), \" and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"onend\"), \" so the UI follows the actual session, not what you hoped would happen. Keep the browser-specific object out of serialised state, while storing values such as the transcript and whether listening is active in state for rendering.\"), mdx(\"h2\", {\n    \"id\": \"why-isnt-everyone-talking-to-their-browser-already\"\n  }, \"Why isn\\u2019t everyone talking to their browser already?\"), mdx(\"p\", null, \"Voice is not a novelty for everyone. Dictation and voice control are core assistive technology for people with motor impairments or repetitive strain injuries who can\\u2019t reliably use a keyboard or mouse, and tools like Dragon NaturallySpeaking and the voice control built into iOS, macOS, and Windows predate the Web Speech API entirely and are still more capable than anything a browser gives you for free. Screen reader users, meanwhile, are already fluent in spoken interfaces \\u2014 but through a completely different pipeline than \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"speechSynthesis\"), \": a screen reader like VoiceOver, NVDA, or JAWS reads the accessibility tree, not literal page text, and most of them ignore whatever a page does with the Web Speech API. Don\\u2019t build a \\u201Cread this page aloud\\u201D button assuming it helps a screen reader user; it\\u2019s redundant at best. The real accessibility win here is narrower: an optional dictation shortcut for people who find typing painful, slow, or impossible, sitting \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"alongside\"), \" the keyboard and visible text, never replacing them.\"), mdx(\"p\", null, \"Dictation also has a genuine, well-earned reputation for being annoying. Correcting a misheard word is often slower than retyping the whole sentence, there\\u2019s no visual affordance telling a first-time user what they\\u2019re allowed to say, and a bit of background noise or a regional accent can turn a confident sentence into word soup with no warning until it\\u2019s too late. Voice interfaces do best in narrow, bounded domains \\u2014 set a timer, play a song, answer yes or no \\u2014 where the system only has to disambiguate between a handful of likely intents. Open-ended dictation into a text field is a much harder problem, and it\\u2019s as much a trust problem as an accuracy one: the system has to get the words right \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"and\"), \" you have to feel safe enough to stop watching the screen while it works. Most people never quite make that second leap, which makes voice a fast way to produce a rough draft and a slow way to produce a finished one.\"), mdx(\"p\", null, \"Browser support for the recognition half has also been stubbornly inconsistent, and it\\u2019s worth knowing why. Chrome shipped \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"webkitSpeechRecognition\"), \" back in the early 2010s, but it has historically worked by streaming your audio to a Google speech-recognition service over the network \\u2014 effective, but offline is a no, and audio leaves the device by default. Firefox never shipped the recognition interface at all, largely over that same objection: Mozilla wasn\\u2019t willing to wire a core web API to one vendor\\u2019s cloud service, and no on-device alternative was good enough to ship instead for a long time. Safari added \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SpeechRecognition\"), \" later than Chrome and routes it through Apple\\u2019s on-device dictation engine instead of a cloud service \\u2014 better for privacy, but it arrived with its own rough edges and platform quirks. The practical result is the feature-detection dance this post keeps doing: assume nothing, check both pieces independently, and expect the recognition half in particular to simply not exist for a meaningful slice of your visitors.\"), mdx(\"p\", null, \"The underlying models have improved dramatically even where the browser API hasn\\u2019t changed shape. Speech recognition moved from older statistical pipelines to end-to-end deep learning models over the 2010s, and that shift plus a decade of additional training data made recognition meaningfully more robust to accents and background noise. On-device models got small and fast enough to run locally on phones and laptops, cutting the network round-trip out of some platform-level dictation features entirely. Open models like OpenAI\\u2019s Whisper, released in 2022, showed that strong general-purpose transcription doesn\\u2019t have to live behind one vendor\\u2019s API \\u2014 though that progress mostly hasn\\u2019t reached \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"window.SpeechRecognition\"), \" itself, since the browser API is just a thin wrapper around whatever engine each browser maker chooses to wire up behind it. It\\u2019s also worth saying plainly that accuracy has never been evenly distributed: research, including a widely cited 2020 study led by Stanford researchers, found that commercial speech recognition systems performed consistently worse on African American Vernacular English than on the other dialects tested \\u2014 a reminder that \\u201Cspeech recognition is good now\\u201D is doing a lot of averaging over whose speech it was trained on.\"), mdx(\"p\", null, \"Before shipping any of this, try a browser without recognition, refuse the microphone permission, start and stop quickly, and switch away from the page while audio is playing. Check that the transcript is readable without sound and that every control works with a keyboard. These are far more useful tests than getting the demo to recognize one perfectly pronounced sentence on your own machine, in your own accent, on your own hardware.\"), mdx(\"h2\", {\n    \"id\": \"so-when-do-we-get-computer-do-the-thing\"\n  }, \"So when do we get \\u201CComputer, do the thing\\u201D?\"), mdx(\"p\", null, \"Picture the Star Trek version: no wake word, no narrow command list, you just talk to the room and it understands what you meant, does the right thing, and tells you when it\\u2019s done. We\\u2019re closer to pieces of that than we\\u2019ve ever been \\u2014 just not assembled the way the show implied. The transcription half, turning speech into text reliably, is in genuinely good shape now, including on-device. The part that was always missing wasn\\u2019t better ears; it was a brain behind them \\u2014 something that could take a loose, conversational sentence and figure out what you actually meant, rather than matching it against a fixed list of commands. That\\u2019s the part large language models are now bolted onto the front of, which is why voice assistants built in the last couple of years feel qualitatively different from \\u201CHey Siri, set a timer\\u201D: they can finally handle the sentence you\\u2019d actually say, not the sentence you learned to say \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"to\"), \" a computer.\"), mdx(\"p\", null, \"What\\u2019s still missing isn\\u2019t accuracy, it\\u2019s trust. Letting something that occasionally mishears you also take real actions \\u2014 send the email, delete the file, spend the money \\u2014 needs a level of confirmation, reversibility, and context-awareness that a hallway conversation on the bridge never needed, because Starfleet\\u2019s computer was never wrong. Ours still is, often enough that \\u201Care you sure?\\u201D remains a permanent fixture of the UI. So: not never, and probably sooner than it feels like from inside a decade of \\u201Cset a timer for ten minutes\\u201D \\u2014 but the last mile was never really about the microphone.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["TypeScript"],"category":"Post","appDescription":"Tech","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFBElEQVQ4yz1UW1NTVxg9KnaUCIkkhCRckkCAkISTEC4JgUBAIqFyCZdqEqhErNwUBMFWvHJTLJeCgtwcAcWCUkfti+NYO1WnM9pReKhKbfWp/pDV7+yHPuzZl3P2+tZa3/dt7uixY/B4PAgGgxgbG0Nrayuam5txsvskenv7MDgwiAsXLtC+G8ePH0ddXR06OjowNTWJ+oMHURsIYGNjA+vr6/B6y8EJHysrvTh//jwBNcHv96GewK9dm8bdO2uYnp7G6Ogorl69wgCPHm1lQfv6eumfa/D7fFi4cQOvX79Gfr4TXFNTE+rr6xEI+FFTU43yslLU1gbQ1dWF4KEg5ufnsbS0hMePH2N1dZWdnzt3Dp2dnXS+yIKNjoyywBkZVnD5+Xnw+Q6ggui63UXYt+9L+rkDx8iKhsOHoY3XoqysDH4K2Nbehva2Nqam59QpTE1OYnl5GWfPnkVPzymkWS3gSko8MJoMqKqugj3bBpstC3NzcySrBW/erKOlpQUcxxHrWjQ2HkGxpxg2u43Z8/3lywy8v78fAVIVpZCDMxhTkO3IJjA7ysrLUFFRgQcPHlJCerGyskKSr1PSislbPwsqACpVSiTrk9h+ZGQE4+PjcDpzoNbEgRPtCkUemanRamAwGpg3lynyo0ePmFcCUE6OA3ZilaBLQHJyEng+lV3mzamkoBk+SqQgN8WgBxefoIUuUUcs7XQhnkk5c+YMhoaGMDMzzRJhMhmRmJSIJAKTR0VCFa0iAmpY062oJpZ7i90wpRohlUVQUlz5jL7ZwiOL/EtLs6C9vZ1JnpmZwatXfzBZ278IITA5JLsliJRHIk4dy1gKrASm0TEqbA3ZAk6Q5iAPLRYz0intqbwJzrxc7Cnag2oqI8GCmdlZCmhmQGHhYdgZuhNiiRiySBmxkmJ3hIQFqPu6DtwvT59icHAQObkOJt3pzGUeCawFC9QaNWPNm3mIdokYkEIZRYlRYMfOHRBy0EalNDU1haeExT158gSbmx9w//59uEi+Nl7D2FgIxEwgGZkZDFRQoVarEbI9BDGxMWwIkgULJiYmsPn+LywsLIB7+fIltc0bPHz4M969e4/bP94mk/ei3FuBgsICZr6K/Nm//ysYjUZs2boF20K2QRQmYorEknAMDAwwDKFuuefPnuMDMRz/YRz31n7C2z/f4tM/n/D5388YHh6mnu1DQ0MDmhobsVsiYUVuMZtxuuc03EVFsFqtWFpYxPKtZXz8+yM476FKVH1TA0dpDnJKc+E+UIyKoBf76krha/EjeKIBrqoCKI0qhKnDIdXJYHZZ4PGXQJeViNzyPLZ20lx6kF6bCF6OBGcykguM0BeaoMvTQ+PQQZ2dwOZYu5Z9N7h58B4rVFlxkFoUEJtkkKerINyX0FqYxUYpOIU1BgUHilAUKGazs9rF1nZvLrJpOCqdKPS5UUDDWeOCPE2FKGs0G/I0JRTpMf/vhTWXmJcCGa9gQwAXDoVZYoxEVFo0pKlRkBhkEBukiDDJEWeLR3SmGrE2LVOgTI9lc5w9HjFZGnBr9+6hs+sETn73LY7Qa6KjFougYk2l6jdQy4WJwyGhwk2kthOyfaSpERepLa/ToyrcraTWG78ygV9/e4bFmzfBdXd3scIM0iOrVCqQRICZGRnQaDQIDQ2FSBSKWKo5M89Dr9ezx3jo0iXcvbuGO6t3qD1ncevmLSq5Tbx48Tv+AwUNEh/NjEwLAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/51cde1192c8339db35365d76af1c7224/a1946/cover2.png","srcSet":"/static/51cde1192c8339db35365d76af1c7224/5b37e/cover2.png 236w,\n/static/51cde1192c8339db35365d76af1c7224/49058/cover2.png 472w,\n/static/51cde1192c8339db35365d76af1c7224/a1946/cover2.png 944w,\n/static/51cde1192c8339db35365d76af1c7224/6050d/cover2.png 1200w","srcWebp":"/static/51cde1192c8339db35365d76af1c7224/99fbb/cover2.webp","srcSetWebp":"/static/51cde1192c8339db35365d76af1c7224/77392/cover2.webp 236w,\n/static/51cde1192c8339db35365d76af1c7224/1f177/cover2.webp 472w,\n/static/51cde1192c8339db35365d76af1c7224/99fbb/cover2.webp 944w,\n/static/51cde1192c8339db35365d76af1c7224/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%201c0%202%201%202%202%201%202%200%202%200%201%201S2%204%204%204c3-1%206%200%204%201h1l2%201c-1%201-1%201%201%201h1c-1%201-1%201%201%201h1c-1%201-1%201%201%201%203-1%206%200%204%201-1%201-1%201%201%201h1v1c2-1%202%202%201%205l-7-1h-1c2%202-2%201-8%200-6-3-9-2-2%200%204%202%204%202%202%202-3%200-3%200-2%201h9c2%201%202%201%201%202v1c1-1%202%200%202%201l-2%201c-7-3-15-5-15-4l1%201v1c-2%200-1%202%203%203%206%202%208%201%203-1-7-2-5-3%203%200%208%202%2010%203%204%202-3%200-3%200%200%201l4%201c1-1%201%200%201%202s0%202-2%202a653%20653%200%2000-2%201l4%201%202%207%201%2013%201%205%202%201c0%202%200%202-1%201s-2%200-3%201v1l1%208v7l-4-6-9-14C2%2047%202%2046%207%2048l8%201h4l2-1-2-1-3-1h-2l-6-1H3c-1%201-1%201-2-1-1-1-1%202-1%2012%200%2012%200%2013%203%2020l4%2010c1%201%200%201-3%201l-4%201h4c3%200%204%200%204%202-1%201-1%201%200%200l1%201v1l4%206%2012%2015c3%202%204%204%203%204-1%201%200%201%201%201%203%200%203%202-1%202-1%200-2%200-1-1l-1-1-3-2A357%20357%200%20008%2099c1-1%200-1-1-1-3%200-6-4-5-5v-1c-2%200-2%202-2%2026a166%20166%200%20001%2031v5l3-1h2l-2%201%201%201c1%201%201%201-1%201l-3%201c-1-1-1%201-1%205%200%206%201%207%206%2012l6%204%207%204%204%203%208%206%203%201%202%201-2%201h-5c-2%200-2%200%200-1v-2l-2%201-6%202c-4%200-7%200-7%202l17%201%2011%201-13%201-13-1%203%203%2012%207%208%205c0%202%2015%205%2024%205l10%201-2%202-5%203a783%20783%200%2000-14%204c10%201%2010%201%202%202l-8%201%207%203c9%205%2023%207%2039%207%2011%200%2012%201%2011%202l-2%201h-2l-1%202-1%201h-1c1%201-6%204-9%204s1%202%2011%206c9%203%2016%204%2022%202%203%200%203-2-1-9-3-8-2-7%202%201l4%207h5l10-2c3-2%205-3%206-2s2%200%204-2c4-5%209-6%209-2%200%203-14%2016-19%2016v2c-1-1-5%201-5%202%200%202%2015%204%2023%204%209-1%2016-4%2021-11l2-1-2%2010c0%208%200%208%202%206l2-3%201%201c1%201%202%200%208-4%208-5%2016-14%2018-22%203-6%203-6%207-1l3%204-3%205-2%206-1%201-2%203-2%202v1h-2c1%202-1%205-7%2010-7%205-8%205-6%202s2-11%201-11l-1%203-2%204v2h-2c1%201%200%203-3%204a635%20635%200%2001-65-2c-1-1-1-1-1%201s0%202-19%202H84v-7l-1%202-2%203-2%201c0%202-2%201-2-1h-1c0%202-1%202-3%202-3%200-3%200-3-4l2-8v-4l-1%204-2%208-1%204h-6c-7%200-7%201-4-16%203-16%203-20%200-21-2-1-4-1-4%202h2l-1%203c-2%200-9%2028-9%2031l-23%201H0v74h11l13%201h2c4-2%205-1%205%205l1%206c2%200%209-5%209-6h1c2%203%2010%201%2010-3%200-2%201-2%208-3h7v8l1%202c0%202%200%202%202%201%203-3%203-2%200%201l-2%204c1%201%201%201-1%203l-2%205-3%202c-1%200-1-1%201-4v-2c-1%200-1-1%201-3%202-3%201-5-2-4h-2c-2%200-8%207-8%208l1%203v2l-1%202c0%201-1%201-2-1h-4v1c3%200%204%203%202%205l-2%204h2c1-2%201-2%201%200-1%204%200%203%201%200l4-3h2l-2%203-3%203h21c14%200%2021%200%2020-1l-3-1c-2%200%201-2%205-4l8-2%203-1%202-2v2c0%202%200%203-1%202l-1%201c1%200%200%202-2%203l-2%203h2l4-1%201-1%201%201a621%20621%200%200086-1c-1%202%201%202%2015%202a84%2084%200%200018-1l12%201h13l-1-6v-10c-1-4%201-6%201-3%202%206%203%207%205%205l5-3c2%200%203%200%202-1l-2-1v-2l-1-2c-1%201-2-3-2-5%201-2-2-3-6-3-2%200-2%201-2%204v4l-1-3-1-3v3l-1%203v1l-1%201v2l-1%202%201%201c2%201%202%201%201%202s-1%201%201%201h-2c-3%200-4%200-3%201l4%201c1%200%202%200%201%201l-1%201-2%202c-3%201-3%200-4-4v-10l-1-9v-5h7c1%201%201%200%201-1%200-2%200-2-4-2h-4l5-1c4%200%204%200%204%202%200%203%201%204%204%203l1-1c-2%200-1-4%201-4%204-1%207%200%208%203l-1%204v1c4%202%205%201%204-4l1-5%202%206c1%209%204%2010%203%201v-7h6l5%201%202%204%202%209c1%205%202%207%204%205%201-1%201-2-1-9l-2-9%2016-1h15l1%202v6l4%207c3%204%203%204%203%202v-3c1%200%203%203%203%206l2%203v2c-1%201-1%201%201%202s3%202%202%203l3-1%204-3%204%202c4%200%204%200%203-2l-1-2-1-3c0-3-3-10-6-15-2-2-2-3%200-3%201-1%201-1-1-1l-2-1h6l16-1h15l1%203%201%203%205%201c4%201%205%202%207%204l2%201-3-4-2-2c0%201-6-1-8-3v-2h14l5-1%202-1v-38c0-21%200-37-1-36l-7%201c-7%200-8-1-6-3h-2c-2%201-2%201-1%202l-2%201c-4%200-4%200-3-2v-2l-3-5c-2-4-2-4-2-2l1%207%202%204h-54l1-2%206-5c13-9%2014-10%2012-17l-1-7-1-4%202%202%204%202%203%202c2%202%202%202%201%203s-1%201%201%201l3-1c2%200%201-2-1-2l-2-2-4-4c-3-2-3-2-1-2%204%201%204%200%200-7l-3-6%202-3c4-4%204-6%202-10l-1-4%202-7c0-8%201-8%2014-6l14%201c3%200%204%200%203%202l1%201v1h4v-3l-2-2h-1c2%200-3-8-7-12l-3-3%203%201c6%201%2013%201%2020-3l6-2v-6a4288%204288%200%2000-3-167h-1c0-2%202-5%203-5l1-5V1l-5-1h-6v3l-1%205-1-4-2-4c-1%200-2%202-2%209-1%208-2%2012-6%2023-6%2015-11%2027-12%2026l-4-12c-7-21-13-31-11-16l1%203%202-1%201%201v1l-1%201-1%201%202%201c-1%201%200%201%201%201%202%200%202%200%201%201s-1%201%201%201v3c2%200%206%2010%206%2016%201%206-7%2021-9%2020l-2%201-3%201v2l-2%201c-2%200-2%200%200%201%201%201%201%201-1%202-1%200-2%201-2%204l-2%204c-1%200-1-8%201-12v-4c-1%200-2-2-3-8-1-12-3-17-2-8l1%209v11l-2-4c0-4-1-5-2-5l-3%201v1c2%201%202%205%201%206v1l2%201-2%201v1c2%201%202%201-3%205-16%2014-40%2022-51%2018-3-1-4-3-1-3l1%201h6l11-2c17-3%2019-5%204-4-11%200-11%200-7-1%203-2%2013-9%2011-9l-9%203c-11%203-13%203-7%200%202-1%203-3%202-3l-1-6c0-4%200-5%201-3%201%201%201%201%201-1l-1-2v-3c0-3%200-3-1-2s-1%201-1-2v-3c0-3%200-4-1-2l-1%203v-3l-2-5h1l1-1-1-3-1%201c-1%201-1%201-1-1v-4l-2-1c0%202-1%201-2-2l-6-8c-3-3-3-4-1-4l1%201%201%201h2l2%201c2%200%209%209%2011%2015l2%202v2c0%202%200%202%201%201l2-1h-1l-1-1c2-3-13-25-21-32l-4-3c-2-4-25-18-26-16l-5-2h-1c-2%200-2%200-1-1V5h-5l-2-1h-1c-2%200-2%200-1-1h-1l-2-1-2-1h-3l-15-1c-18%201-19%201-20%203l-4%201h-5l-4%202h2l5%201%202%201%206-2a1474%201474%200%200015%202c-12%200-17%201-20%202-3%202-3%202%200%201h34c12%202%2015%203%2015%205-1%201%200%202%201%203%205%201%2015%206%2015%207l-7-3c-9-4-11-5-11-3%201%201%200%201-1%201v1c1%201%201%201-1%201-3%200-3%202-1%202%203%201%206%200%204-1v-1l3%201v1l-2%201%202%201%202-1v-1c3%200%203%201%201%203v1h1l4%201%201%201h1l1%201v1h1l6%204c14%2010%2025%2029%2027%2043%200%205%201%207%202%207l2-1-1-1h-1l-1-6c0-5%200-5%202-4l2%202%201%201c0-1-3-14-5-17-1-2-1-2-1%200%201%203-1%203-2%200-2-8-14-21-24-29l-5-4v-1c-1-2%201-1%208%204%208%205%2016%2012%2019%2017%201%202%203%203%203%202v2h1c1-1%201%200%204%203%205%209%2010%2035%206%2035v-4c0-6-5-29-7-27l2%207%203%2015c0%209%200%2010%202%2010%202%201%201%201-2%201-4%200-4%200-11-8-7-7-10-11-5-7%202%202%201-5-4-15-9-17-32-33-49-33l-5-1c1-2-10%200-23%203-6%201-7%202-5%202h-1c-2%200-3%200-2%201l-1%201c-2-1-8%202-8%203l-1%201h1c3%200%209%202%208%203h3c3-3%2024-6%2034-5%2014%202%2031%2014%2038%2027%203%205%205%207%208%209%208%205%203%203-8-2-22-12-33-15-38-13h-8c-1%201-1%201%202%201l3%202c0%202-2%205-3%204l-9-6-1%202c-1%201-1%201%201%201%202-1%2010%205%2010%207h-3l-6-1%204%202c5%202%206%205%201%204l-9-3c-1-2-7-3-7-2s10%206%2014%206l4%203h3c1%201%201%200%201-1v-4l1%203%203%207%202%204%202%204%203%204-6-6-6-8c0-2%200-2-1-1s-12-4-21-10c-29-18-44-24-64-24-9%200-10-1-7-3%202-2%202-5%201-5-4%200-4-2-1-7l4-4-3-1c-3%200-3%200-2-2h4c1%201%202%202%203%201l-1-2c-2%200-1-3%201-3l1%201c-1%202%201%201%207-3%205-4%205-4%203-6-2-1-2-1-1-3%202-2-1-1-6%203l-7%204v1l-1%201c-1-1-1-1%200%200l-1%202v-1c0-2-6%206-13%2013l-6%209-2%203c-2%200%206-12%2014-22%201-1%200-1-1-2l-2-2v-2h2l2-1%201-2v-1c-1-2%200-3%204-2%203%200%203%200%202-2V7l1-2V2l1-1h1c0-1-6-1-7%201l-2%201V1l1-1-7%204-5%203h-4l3-4c3-2%203-3%202-3s-4%202-6%205l-6%204c-2%200-2%200-1%201l1%201h-2c-2-1-2-1%202-5%203-2%205-5%207-5%201-1-1-1-6-1h-8l-6%208-9%2011c-4%205-6%207-3%202%202-4%201-5-3-7-4-3-3-3-7%202-3%205-4%208-1%204%202-3%203-1%201%205l-3%205c-3%200-7%2011-9%2022a227%20227%200%2001-2%2018c-1%202-1%202-2-1l-3-7-1-5v-5l-1-3h-2l2-1c2%200%202%200%201-1v-1l-1-1v-2l1-2v-3l1-1c-1-1%2011-20%2013-21%201-1%202-1%202-4s5-5%206-4%202%200%205-3l3-4-8-1h-8l-3%204-4%204%202-4c3-4%203-4%201-4l-3%203-3%203%201-3%202-3H22L0%201m134%202c-5%203-7%204-5%202h-5v4c-2%200-2%202%200%202%201%201%201%201%200%200l1-1%205-2c4-4%207-4%205-1v1h1l1-1h1v1l1%201%202%201c1%202%201%202%201-5%200-2%200-2%202-1%201%202%202%202%205%200%204-2%206-2%206%201l2%201%202-1V4l-1-1c-2%201-2%200-2-2h-6c1-1%200-1-5-1s-7%201-11%203m101-2a134%20134%200%200149%2033c6%206%208%209%207%2010l2%201c3%201%2010%2014%208%2015l1%203%202%207%201%204%202%207c0%207%200%207%201%206l1%206-1%206h4l3%201V90c3-32-16-66-46-86l-6-4h-15l-13%201m49%202c11%208%2025%2025%2031%2037s10%2015%205%205l-3-7c-1-3%200-7%201-5h2l1%201-2%202v1c1%200%202%200%201%201l1%201h2c-1%201%200%202%201%202v2l1%202%201%201%201%201%201%203v3l1%201c2%200%201%202-1%203s-2%201%201%201%205%202%203%202c-1%201-1%201%201%202s2%201%201-2l-1-4-1-4-2-9-3-7%205%2010c5%2012%207%2013%202%202-5-15-15-32-24-43l-5-5h-24l3%203m34%200l3%205%203%205%204%206%203%204%201%204c1%200%202%201%201%202%202-2%208%209%209%2014v6l1-6c1-6%200-7-2-11l-2-5%204-1h5l-4%201-2%202%203%201c1-1%201%200%201%201%200%202%201%201%201-3%201-4%201-4-2-5-3%200-2-2%201-2v2c5%200%204-2-1-10-10-14-8-13-19-13h-10l2%203m0%206v1h-1c-2%200-1%201%203%206%205%206%2013%2021%2016%2028l3%206%201%202c-1%202%201%207%203%207v4l1%203%202%201c2%201%202%201%200%201l-3%201h3c2%200%203%200%203-2h1c1%200%201%202-1%205-3%205-3%205%202%205l3-1-1-1v-1l-4-20-1-2-3%201c-3%201-3%200-6-8-6-16-20-41-21-36m-90%201c-1%201%200%202%203%203l4%202%208%205%2010%206%204%201%201%201c-1%201%201%202%202%201v-5c-2%201-4%200-3-1l-1-1c-1%201-3%200-4-1l-2-1-5-2-5-2c-2%200-7-3-6-5h-3v-1h-3M92%2012c-1%201-6%203-5%201l-2-1-1%201-1%201v2h4c-1-1%200-1%201-1s1%201-1%203c-4%205-5%206-8%204h-2l2%202%201%201h-1c-2-1-6%200-6%202l-1%201-1%201c1%201%200%202-1%202v-3l1-4%201-1v-1h-2l-1%201-1%201-3%201-1%205v3l-1%2013v1l2%204%201%204%202-7%206-12%201-1%201-1%205-5a775%20775%200%200111-17m74%203h-1c-1-1-1-1-1%201h-1c-1-2-1-2-3%200l-3%202c-2%200-2%201-2%202%200%202%200%202-1%201-2-1-3%200-1%202h5l8-2%2010-4c4-1%203-3-1-3h-3l-2-1c-3%200-4%201-4%202M53%2037l-4%2014-5%2028%202%208%204%208c0%204%202%204%202%200%201-3%201-3%201%200v3l1%201-1%202h-2l1%206%201%206%201%201%201-4v-9l1-5%201%205c2%202%202%205%202%205l3%205c2%202%204%204%204%206l2%201%201%201c-1%201-1%201%200%200v-5c1-1%201-2-1-3v-4l-1-1c1%200-2-6-5-9l-4-6-3-4-1-2c0-2%200-2-1-1l-2-5c-2-9%200-29%203-40l1-5c0-2-1-1-2%203m326-1l-5%209-3%205-4%208-5%2012c-2%206-12%2019-14%2019l-5%206c-4%207-4%207-4%200l1-6-5%205-11%209c-4%202-5%203-3%203s-13%209-19%2011l-4%201%204%202c5%203%2020%202%2018%200h2l7-2c6-3%206-2%200%203l-5%204%208-3c12-4%2012-4%2010-2v2l-4%204a2550%202550%200%2000-9%206c2%201%202%208%200%208l-3%201c0-1-2%200-3%202l-1%202%204-2v1c0%202%200%202%204-2l4-3%203%207-1-4c-1-4%201-8%205-9l2-2c0-2%203-1%203%200l1-1%203-2v-2c-2-1%200-4%205-7l3-3h-2c-2%202-2%201-1-2s1-3-2-3c-1-1%200-1%203-1h7l5-1%204-1v-2l-7%201c-6%201-13-3-8-4%201-1%200-1-1-1-4-1-4-3-1-3%205%202%2019%202%2019%201-1-1-3-2-12-2-2%200-3-1-3-2l-3-3-2-1%202-1%201-1c-1-1%208-6%2014-8%202%200%202%200%201-1l-2-2-1-2v-1h1l1-1-1-1h-1l-1%201c-2-1-1-3%201-3l1-1%202-4%204-5%203-3c2-2%203-3%200-2v-2h-2v-9l2-6%203-8-3%204M88%2040l1%201c2%200%202%201-1%206-2%204-2%204-1%201l-1-3c-1%200-2%201-1%202l-1%204c-1%202-1%202-1-1%201-5-1-2-4%205-2%207-3%2016-1%2013h1l2%201%201%202h-1c-1-1-5-2-6-1l-1%209-1%207c-1-1-1%200-1%202%200%204%201%206%202%204v-1l-1-2h1c1%202%201%201%204-6l2-5v-1c-2%200-2%200-1-1l1-2%202-1%201-3v-2l2-4%201-6c-3%204-1-2%203-9l4-8c0-1-4-2-5-1m32%2014c-1%203-3%205-4%205v1c2%201-1%2010-4%2011h-2l2%202%203%201-3%201-1%201v2l-4-2-6-2c-3%200-4-1-4-2a572%20572%200%20003-16c-2-1-4%204-3%205v2c-2%202-2%205-2%2011%200%204%200%204%206%205l6%201h-7c-11%200-5%202%2011%202h15l-5-1c-4%200-4%200-1-1%203%200%203-1%204-3%201-8%203-18%205-21l2-4-4-1c-4-3-4-3-7%203m21%2012c-5%209-6%2022-2%2035l1%204c-3-4-2%200%200%204s3%205%203%202v-1l2%204c-1%202%200%203%201%202h1c-1%203%201%206%202%204h1v2h1v1h1l-2%202c-2%202-2%202%200%204v2c-1%200-7-6-10-11-1-3-3-4-4-3l-1-1v-1l-1-1c-1-1-2-2-3-1-2%201%2013%2023%2016%2022l1%201c-4%205-17-10-23-25l-3-9-2-8-2-7v-2H99v2l-1%201-1%201%205%202%203%201-6%201c-2%201-1%201%203%201h6l-2%201-2%201-3%202-3%201h11l-6%201-3%201c0%202-1%202-4%202s-3%200-2-1v-1l-4%201c-1%201-1%201%201%201%203%200%201%203-3%204-2%200-3%200-2%201v1l-2%201-1%203c0%203%200%203%203%203h4l-3%201h-4c-1-1-1%200-2%202%200%203%200%203-2%201h-1l3%203%202%204%203%2012v1c-1-1-1%200-1%201%200%202%205%205%206%203s4%202%204%206l1%203%201%203v1h-1c0%202%200%202%202%202h1l1%201h1l2-2%204-2c1-1%202-1%204%201l2%202-6-7-7-7-5-8-7-12-3-3-1-1%205-2c5-2%206-3%202-3-2%200-2%200%202-2h6l3%201c-1%201%200%201%201%201v5c-1%201%200%201%201%201%202%200%202%200%201%201v2c2%200%202%200%201%201v1c3%200%204%200%203%202-1%201%200%202%202%203l2%202%201%201c2%200%202%204%201%206v1l2-1h1v2c3-1%202%200-1%202s-3%202-5-1l-1-2-1-2-1-2-1-1-1-1-1-1-1-2-1-2v-1c2-2%201-3-1-2l-2-1%201-2-1-1c-1-1-3-3-3-5-1-3-2-3-3-2-2%203%203%2013%2013%2025l5%207c-2%202-12-9-20-22l-4-5c0%203%204%209%208%2015l5%207h2v2c8%208%2011%2010%2012%209l1%201v1h2c2-1%203%200%201%202v2c1%201%203%202%203%200v-1l1%201c-1%201%200%202%201%201v1l6%205%207%206-9-4c-6-5-11-7-6-3%203%203%200%205-4%202l-5-1c0%201-1%201%200%200l-1-1h-1l-1-2v1h-5c-2-2-2-2%200-2l1-2-2%201h-4l-2-1c-1%200-1%202%201%203%202%202%200%204-3%205-3%200-4%201-4%202%200%202%203%201%205-1%201-2%207-1%206%201%200%201%201%202%203%201%204%200%207%202%205%203v1l1%202h-3l4%202c2%200%202%200%201%201v3l1%201h1v1c-2%203-2%204%201%202%202-2%204-7%203-7-2-1%201-3%203-2l1-1c-1-2-1-2%208%200l13%203c6%200%208%201%207%203%200%202%201%202%206%202%207-1%2013%201%2014%203h2c1-1%202-1%203%201%200%202%201%202%204%202%203-1%203-1%203%201s0%202%201%201l3-1-1%202v1c2-1%202%200%203%201%201%202%201%202%201%200%201-2%203-2%203-1h1c1-2%201-1%201%203%200%202%200%203%201%202l2-2%201-1c0-1%201-2%202-1l1%202%203%209%203%2016c3%2014%206%2022%208%2020l1%201v1h2l2%201-1-2v-7c-1%200-2-1-2-3l-2-3c-1%200-4-5-4-8-3-14-6-24-11-33l-5-10-4-7-4-17-2-8-2%203c-2%202-2%202-3-2l-1-6c0-3%200-3-1%200l-1%204-1-4c-3-4-6-6-12-4l-4%201%204%202c2%201%203%202%201%202l-4-1c-2-2-2-2-14%203-9%204-16%206-17%204a216%20216%200%200141-33c-2%200-2%200-1-1%204-2%202-23-4-32-4-7-17-20-25-24l-3%204m62%2018c5%2011%205%2015%200%2020l-3%205c0%202-5%206-13%208-11%204-16%207-26%2014l-12%2010%207-4c13-11%2026-18%2024-14-2%202%200%201%207-3l7-3-4%203a356%20356%200%2000-22%2012c-9%205-10%205-8%206%201%202%202%201%204%200l2-2c-1-1%208-5%2011-5l7-5%202-1h3l3-1c1-1%200-1-1-1s-1-1%202-2l3-2%201-1h2c3-2%204-2%204-1l3-1c2%200%203-1%203-2l-3%201c-6%203-3%200%204-5%207-4%208-5%207-2h1c2-1%202-3%201-11-1-3-2-4-3-3v-1l-1-1-2-2-3-3%202%204%202%204-2%204c-2%204-7%2010-7%208l3-4c4-4%204-7%201-13s-7-11-6-6m43%2012l-4%201c0-1-4%200-7%202-4%202-6%203-4%203l4%202c2%202%208%201%207-1l4-1c12%202%2012%202%207%200s-7-5-3-3h8l-1-2v-1h-11m-117%2064c-1%201%200%202%203%201v1c-1%201%200%202%205%205%209%206%2018%2010%2028%2011%208%200%2010-1%201-2-7%200-21-7-30-14-3-2-4-3-5-2h-2m-29%2052l-17%206-4%203c-3%202-3%202-1%202l30-10%205-2h-4l-9%201m30%2017l-7%202a1100%201100%200%2001-26%2020c2%201%2037-19%2037-21l-1-2-3%201m177%2032c0%201-7%204-10%204l-4%202-2%202h6l-2%201c-1%200-2%200-1%201l-1%201h-3l-2-1-1-1c-1-1%200-1%201-1v-1l-4-2c-2%200-2%200-1-1v-1c-2%200-4%202-3%203l-2%201-4%205-4%206c-1%202-1%202%201%202l2%201c-1%201%200%201%203%201%204%200%205%201%203%202-1%201%202%201%206%201l8-1c1-3%206-6%207-4v2c-1%202-1%203%201%203l1-3v-4c1%200%202-3%201-4v-4l1%201%202-1%204-3v-1l2-2c1-1%201-1-1-1l-2-1-1-2h-1m-149%2061v8h4c4%200%206-1%206-6%200-4-2-6-5-6-3%201-3%200-3-2l-1-2-1%208m-120%205l1%208%201-3c0-2%200-3%203-2%203%200%205-2%205-5%200-5-2-7-6-7h-4v9m72-7c-4%205-1%2010%204%2010h3c0%202-3%203-5%203h-2c0%202%204%202%207%201%202-2%202-3%202-9v-7h-4c-3%200-4%201-5%202m29%200c-4%204-2%2010%204%2010l4-2c3-7-4-13-8-8m42%200c-2%202-3%207-1%209%203%202%207%201%209-2%203-6-4-12-8-7M6%20375c-2%201-1%204%201%207l2%204v1c2%202%200%204-5%206-4%202-5%203-2%205%202%202%206%203%204%201l-1-1c-2%202-3-2-2-3%202-1%204%200%204%202l1%201%202%201h14l-2-3c-3-2-3-2-4%200h-1l-3-5c-3-3-4-6-2-6l2-2c1-2%201-2-2-5s-6-4-6-3m24%200v10l-1%2010-1%205h9c9%200%2011-1%206-3-1-1-2-2-1-3%200-2%200-2-3%200-3%204-4%204-4%201l1-10c2-1%204-8%202-9-1-1-6-2-8-1m230%2015l-2%204v4c-1%202-1%202%205%202%204%200%206-1%205-2l-1-1v-3c1-1%202%200%203%202l2%204c2%200%201-6%200-7l-2-3h-3l-6%201%201-1%201-1-3%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFBElEQVQ4yz1UW1NTVxg9KnaUCIkkhCRckkCAkISTEC4JgUBAIqFyCZdqEqhErNwUBMFWvHJTLJeCgtwcAcWCUkfti+NYO1WnM9pReKhKbfWp/pDV7+yHPuzZl3P2+tZa3/dt7uixY/B4PAgGgxgbG0Nrayuam5txsvskenv7MDgwiAsXLtC+G8ePH0ddXR06OjowNTWJ+oMHURsIYGNjA+vr6/B6y8EJHysrvTh//jwBNcHv96GewK9dm8bdO2uYnp7G6Ogorl69wgCPHm1lQfv6eumfa/D7fFi4cQOvX79Gfr4TXFNTE+rr6xEI+FFTU43yslLU1gbQ1dWF4KEg5ufnsbS0hMePH2N1dZWdnzt3Dp2dnXS+yIKNjoyywBkZVnD5+Xnw+Q6ggui63UXYt+9L+rkDx8iKhsOHoY3XoqysDH4K2Nbehva2Nqam59QpTE1OYnl5GWfPnkVPzymkWS3gSko8MJoMqKqugj3bBpstC3NzcySrBW/erKOlpQUcxxHrWjQ2HkGxpxg2u43Z8/3lywy8v78fAVIVpZCDMxhTkO3IJjA7ysrLUFFRgQcPHlJCerGyskKSr1PSislbPwsqACpVSiTrk9h+ZGQE4+PjcDpzoNbEgRPtCkUemanRamAwGpg3lynyo0ePmFcCUE6OA3ZilaBLQHJyEng+lV3mzamkoBk+SqQgN8WgBxefoIUuUUcs7XQhnkk5c+YMhoaGMDMzzRJhMhmRmJSIJAKTR0VCFa0iAmpY062oJpZ7i90wpRohlUVQUlz5jL7ZwiOL/EtLs6C9vZ1JnpmZwatXfzBZ278IITA5JLsliJRHIk4dy1gKrASm0TEqbA3ZAk6Q5iAPLRYz0intqbwJzrxc7Cnag2oqI8GCmdlZCmhmQGHhYdgZuhNiiRiySBmxkmJ3hIQFqPu6DtwvT59icHAQObkOJt3pzGUeCawFC9QaNWPNm3mIdokYkEIZRYlRYMfOHRBy0EalNDU1haeExT158gSbmx9w//59uEi+Nl7D2FgIxEwgGZkZDFRQoVarEbI9BDGxMWwIkgULJiYmsPn+LywsLIB7+fIltc0bPHz4M969e4/bP94mk/ei3FuBgsICZr6K/Nm//ysYjUZs2boF20K2QRQmYorEknAMDAwwDKFuuefPnuMDMRz/YRz31n7C2z/f4tM/n/D5388YHh6mnu1DQ0MDmhobsVsiYUVuMZtxuuc03EVFsFqtWFpYxPKtZXz8+yM476FKVH1TA0dpDnJKc+E+UIyKoBf76krha/EjeKIBrqoCKI0qhKnDIdXJYHZZ4PGXQJeViNzyPLZ20lx6kF6bCF6OBGcykguM0BeaoMvTQ+PQQZ2dwOZYu5Z9N7h58B4rVFlxkFoUEJtkkKerINyX0FqYxUYpOIU1BgUHilAUKGazs9rF1nZvLrJpOCqdKPS5UUDDWeOCPE2FKGs0G/I0JRTpMf/vhTWXmJcCGa9gQwAXDoVZYoxEVFo0pKlRkBhkEBukiDDJEWeLR3SmGrE2LVOgTI9lc5w9HjFZGnBr9+6hs+sETn73LY7Qa6KjFougYk2l6jdQy4WJwyGhwk2kthOyfaSpERepLa/ToyrcraTWG78ygV9/e4bFmzfBdXd3scIM0iOrVCqQRICZGRnQaDQIDQ2FSBSKWKo5M89Dr9ezx3jo0iXcvbuGO6t3qD1ncevmLSq5Tbx48Tv+AwUNEh/NjEwLAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/51cde1192c8339db35365d76af1c7224/3ddd4/cover2.png","srcSet":"/static/51cde1192c8339db35365d76af1c7224/078a8/cover2.png 163w,\n/static/51cde1192c8339db35365d76af1c7224/e56da/cover2.png 327w,\n/static/51cde1192c8339db35365d76af1c7224/3ddd4/cover2.png 653w,\n/static/51cde1192c8339db35365d76af1c7224/c5cc7/cover2.png 980w,\n/static/51cde1192c8339db35365d76af1c7224/6050d/cover2.png 1200w","srcWebp":"/static/51cde1192c8339db35365d76af1c7224/0acdf/cover2.webp","srcSetWebp":"/static/51cde1192c8339db35365d76af1c7224/ac59e/cover2.webp 163w,\n/static/51cde1192c8339db35365d76af1c7224/7660b/cover2.webp 327w,\n/static/51cde1192c8339db35365d76af1c7224/0acdf/cover2.webp 653w,\n/static/51cde1192c8339db35365d76af1c7224/75470/cover2.webp 980w,\n/static/51cde1192c8339db35365d76af1c7224/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%201c0%202%201%202%202%201%202%200%202%200%201%201S2%204%204%204c3-1%206%200%204%201h1l2%201c-1%201-1%201%201%201h1c-1%201-1%201%201%201h1c-1%201-1%201%201%201%203-1%206%200%204%201-1%201-1%201%201%201h1v1c2-1%202%202%201%205l-7-1h-1c2%202-2%201-8%200-6-3-9-2-2%200%204%202%204%202%202%202-3%200-3%200-2%201h9c2%201%202%201%201%202v1c1-1%202%200%202%201l-2%201c-7-3-15-5-15-4l1%201v1c-2%200-1%202%203%203%206%202%208%201%203-1-7-2-5-3%203%200%208%202%2010%203%204%202-3%200-3%200%200%201l4%201c1-1%201%200%201%202s0%202-2%202a653%20653%200%2000-2%201l4%201%202%207%201%2013%201%205%202%201c0%202%200%202-1%201s-2%200-3%201v1l1%208v7l-4-6-9-14C2%2047%202%2046%207%2048l8%201h4l2-1-2-1-3-1h-2l-6-1H3c-1%201-1%201-2-1-1-1-1%202-1%2012%200%2012%200%2013%203%2020l4%2010c1%201%200%201-3%201l-4%201h4c3%200%204%200%204%202-1%201-1%201%200%200l1%201v1l4%206%2012%2015c3%202%204%204%203%204-1%201%200%201%201%201%203%200%203%202-1%202-1%200-2%200-1-1l-1-1-3-2A357%20357%200%20008%2099c1-1%200-1-1-1-3%200-6-4-5-5v-1c-2%200-2%202-2%2026a166%20166%200%20001%2031v5l3-1h2l-2%201%201%201c1%201%201%201-1%201l-3%201c-1-1-1%201-1%205%200%206%201%207%206%2012l6%204%207%204%204%203%208%206%203%201%202%201-2%201h-5c-2%200-2%200%200-1v-2l-2%201-6%202c-4%200-7%200-7%202l17%201%2011%201-13%201-13-1%203%203%2012%207%208%205c0%202%2015%205%2024%205l10%201-2%202-5%203a783%20783%200%2000-14%204c10%201%2010%201%202%202l-8%201%207%203c9%205%2023%207%2039%207%2011%200%2012%201%2011%202l-2%201h-2l-1%202-1%201h-1c1%201-6%204-9%204s1%202%2011%206c9%203%2016%204%2022%202%203%200%203-2-1-9-3-8-2-7%202%201l4%207h5l10-2c3-2%205-3%206-2s2%200%204-2c4-5%209-6%209-2%200%203-14%2016-19%2016v2c-1-1-5%201-5%202%200%202%2015%204%2023%204%209-1%2016-4%2021-11l2-1-2%2010c0%208%200%208%202%206l2-3%201%201c1%201%202%200%208-4%208-5%2016-14%2018-22%203-6%203-6%207-1l3%204-3%205-2%206-1%201-2%203-2%202v1h-2c1%202-1%205-7%2010-7%205-8%205-6%202s2-11%201-11l-1%203-2%204v2h-2c1%201%200%203-3%204a635%20635%200%2001-65-2c-1-1-1-1-1%201s0%202-19%202H84v-7l-1%202-2%203-2%201c0%202-2%201-2-1h-1c0%202-1%202-3%202-3%200-3%200-3-4l2-8v-4l-1%204-2%208-1%204h-6c-7%200-7%201-4-16%203-16%203-20%200-21-2-1-4-1-4%202h2l-1%203c-2%200-9%2028-9%2031l-23%201H0v74h11l13%201h2c4-2%205-1%205%205l1%206c2%200%209-5%209-6h1c2%203%2010%201%2010-3%200-2%201-2%208-3h7v8l1%202c0%202%200%202%202%201%203-3%203-2%200%201l-2%204c1%201%201%201-1%203l-2%205-3%202c-1%200-1-1%201-4v-2c-1%200-1-1%201-3%202-3%201-5-2-4h-2c-2%200-8%207-8%208l1%203v2l-1%202c0%201-1%201-2-1h-4v1c3%200%204%203%202%205l-2%204h2c1-2%201-2%201%200-1%204%200%203%201%200l4-3h2l-2%203-3%203h21c14%200%2021%200%2020-1l-3-1c-2%200%201-2%205-4l8-2%203-1%202-2v2c0%202%200%203-1%202l-1%201c1%200%200%202-2%203l-2%203h2l4-1%201-1%201%201a621%20621%200%200086-1c-1%202%201%202%2015%202a84%2084%200%200018-1l12%201h13l-1-6v-10c-1-4%201-6%201-3%202%206%203%207%205%205l5-3c2%200%203%200%202-1l-2-1v-2l-1-2c-1%201-2-3-2-5%201-2-2-3-6-3-2%200-2%201-2%204v4l-1-3-1-3v3l-1%203v1l-1%201v2l-1%202%201%201c2%201%202%201%201%202s-1%201%201%201h-2c-3%200-4%200-3%201l4%201c1%200%202%200%201%201l-1%201-2%202c-3%201-3%200-4-4v-10l-1-9v-5h7c1%201%201%200%201-1%200-2%200-2-4-2h-4l5-1c4%200%204%200%204%202%200%203%201%204%204%203l1-1c-2%200-1-4%201-4%204-1%207%200%208%203l-1%204v1c4%202%205%201%204-4l1-5%202%206c1%209%204%2010%203%201v-7h6l5%201%202%204%202%209c1%205%202%207%204%205%201-1%201-2-1-9l-2-9%2016-1h15l1%202v6l4%207c3%204%203%204%203%202v-3c1%200%203%203%203%206l2%203v2c-1%201-1%201%201%202s3%202%202%203l3-1%204-3%204%202c4%200%204%200%203-2l-1-2-1-3c0-3-3-10-6-15-2-2-2-3%200-3%201-1%201-1-1-1l-2-1h6l16-1h15l1%203%201%203%205%201c4%201%205%202%207%204l2%201-3-4-2-2c0%201-6-1-8-3v-2h14l5-1%202-1v-38c0-21%200-37-1-36l-7%201c-7%200-8-1-6-3h-2c-2%201-2%201-1%202l-2%201c-4%200-4%200-3-2v-2l-3-5c-2-4-2-4-2-2l1%207%202%204h-54l1-2%206-5c13-9%2014-10%2012-17l-1-7-1-4%202%202%204%202%203%202c2%202%202%202%201%203s-1%201%201%201l3-1c2%200%201-2-1-2l-2-2-4-4c-3-2-3-2-1-2%204%201%204%200%200-7l-3-6%202-3c4-4%204-6%202-10l-1-4%202-7c0-8%201-8%2014-6l14%201c3%200%204%200%203%202l1%201v1h4v-3l-2-2h-1c2%200-3-8-7-12l-3-3%203%201c6%201%2013%201%2020-3l6-2v-6a4288%204288%200%2000-3-167h-1c0-2%202-5%203-5l1-5V1l-5-1h-6v3l-1%205-1-4-2-4c-1%200-2%202-2%209-1%208-2%2012-6%2023-6%2015-11%2027-12%2026l-4-12c-7-21-13-31-11-16l1%203%202-1%201%201v1l-1%201-1%201%202%201c-1%201%200%201%201%201%202%200%202%200%201%201s-1%201%201%201v3c2%200%206%2010%206%2016%201%206-7%2021-9%2020l-2%201-3%201v2l-2%201c-2%200-2%200%200%201%201%201%201%201-1%202-1%200-2%201-2%204l-2%204c-1%200-1-8%201-12v-4c-1%200-2-2-3-8-1-12-3-17-2-8l1%209v11l-2-4c0-4-1-5-2-5l-3%201v1c2%201%202%205%201%206v1l2%201-2%201v1c2%201%202%201-3%205-16%2014-40%2022-51%2018-3-1-4-3-1-3l1%201h6l11-2c17-3%2019-5%204-4-11%200-11%200-7-1%203-2%2013-9%2011-9l-9%203c-11%203-13%203-7%200%202-1%203-3%202-3l-1-6c0-4%200-5%201-3%201%201%201%201%201-1l-1-2v-3c0-3%200-3-1-2s-1%201-1-2v-3c0-3%200-4-1-2l-1%203v-3l-2-5h1l1-1-1-3-1%201c-1%201-1%201-1-1v-4l-2-1c0%202-1%201-2-2l-6-8c-3-3-3-4-1-4l1%201%201%201h2l2%201c2%200%209%209%2011%2015l2%202v2c0%202%200%202%201%201l2-1h-1l-1-1c2-3-13-25-21-32l-4-3c-2-4-25-18-26-16l-5-2h-1c-2%200-2%200-1-1V5h-5l-2-1h-1c-2%200-2%200-1-1h-1l-2-1-2-1h-3l-15-1c-18%201-19%201-20%203l-4%201h-5l-4%202h2l5%201%202%201%206-2a1474%201474%200%200015%202c-12%200-17%201-20%202-3%202-3%202%200%201h34c12%202%2015%203%2015%205-1%201%200%202%201%203%205%201%2015%206%2015%207l-7-3c-9-4-11-5-11-3%201%201%200%201-1%201v1c1%201%201%201-1%201-3%200-3%202-1%202%203%201%206%200%204-1v-1l3%201v1l-2%201%202%201%202-1v-1c3%200%203%201%201%203v1h1l4%201%201%201h1l1%201v1h1l6%204c14%2010%2025%2029%2027%2043%200%205%201%207%202%207l2-1-1-1h-1l-1-6c0-5%200-5%202-4l2%202%201%201c0-1-3-14-5-17-1-2-1-2-1%200%201%203-1%203-2%200-2-8-14-21-24-29l-5-4v-1c-1-2%201-1%208%204%208%205%2016%2012%2019%2017%201%202%203%203%203%202v2h1c1-1%201%200%204%203%205%209%2010%2035%206%2035v-4c0-6-5-29-7-27l2%207%203%2015c0%209%200%2010%202%2010%202%201%201%201-2%201-4%200-4%200-11-8-7-7-10-11-5-7%202%202%201-5-4-15-9-17-32-33-49-33l-5-1c1-2-10%200-23%203-6%201-7%202-5%202h-1c-2%200-3%200-2%201l-1%201c-2-1-8%202-8%203l-1%201h1c3%200%209%202%208%203h3c3-3%2024-6%2034-5%2014%202%2031%2014%2038%2027%203%205%205%207%208%209%208%205%203%203-8-2-22-12-33-15-38-13h-8c-1%201-1%201%202%201l3%202c0%202-2%205-3%204l-9-6-1%202c-1%201-1%201%201%201%202-1%2010%205%2010%207h-3l-6-1%204%202c5%202%206%205%201%204l-9-3c-1-2-7-3-7-2s10%206%2014%206l4%203h3c1%201%201%200%201-1v-4l1%203%203%207%202%204%202%204%203%204-6-6-6-8c0-2%200-2-1-1s-12-4-21-10c-29-18-44-24-64-24-9%200-10-1-7-3%202-2%202-5%201-5-4%200-4-2-1-7l4-4-3-1c-3%200-3%200-2-2h4c1%201%202%202%203%201l-1-2c-2%200-1-3%201-3l1%201c-1%202%201%201%207-3%205-4%205-4%203-6-2-1-2-1-1-3%202-2-1-1-6%203l-7%204v1l-1%201c-1-1-1-1%200%200l-1%202v-1c0-2-6%206-13%2013l-6%209-2%203c-2%200%206-12%2014-22%201-1%200-1-1-2l-2-2v-2h2l2-1%201-2v-1c-1-2%200-3%204-2%203%200%203%200%202-2V7l1-2V2l1-1h1c0-1-6-1-7%201l-2%201V1l1-1-7%204-5%203h-4l3-4c3-2%203-3%202-3s-4%202-6%205l-6%204c-2%200-2%200-1%201l1%201h-2c-2-1-2-1%202-5%203-2%205-5%207-5%201-1-1-1-6-1h-8l-6%208-9%2011c-4%205-6%207-3%202%202-4%201-5-3-7-4-3-3-3-7%202-3%205-4%208-1%204%202-3%203-1%201%205l-3%205c-3%200-7%2011-9%2022a227%20227%200%2001-2%2018c-1%202-1%202-2-1l-3-7-1-5v-5l-1-3h-2l2-1c2%200%202%200%201-1v-1l-1-1v-2l1-2v-3l1-1c-1-1%2011-20%2013-21%201-1%202-1%202-4s5-5%206-4%202%200%205-3l3-4-8-1h-8l-3%204-4%204%202-4c3-4%203-4%201-4l-3%203-3%203%201-3%202-3H22L0%201m134%202c-5%203-7%204-5%202h-5v4c-2%200-2%202%200%202%201%201%201%201%200%200l1-1%205-2c4-4%207-4%205-1v1h1l1-1h1v1l1%201%202%201c1%202%201%202%201-5%200-2%200-2%202-1%201%202%202%202%205%200%204-2%206-2%206%201l2%201%202-1V4l-1-1c-2%201-2%200-2-2h-6c1-1%200-1-5-1s-7%201-11%203m101-2a134%20134%200%200149%2033c6%206%208%209%207%2010l2%201c3%201%2010%2014%208%2015l1%203%202%207%201%204%202%207c0%207%200%207%201%206l1%206-1%206h4l3%201V90c3-32-16-66-46-86l-6-4h-15l-13%201m49%202c11%208%2025%2025%2031%2037s10%2015%205%205l-3-7c-1-3%200-7%201-5h2l1%201-2%202v1c1%200%202%200%201%201l1%201h2c-1%201%200%202%201%202v2l1%202%201%201%201%201%201%203v3l1%201c2%200%201%202-1%203s-2%201%201%201%205%202%203%202c-1%201-1%201%201%202s2%201%201-2l-1-4-1-4-2-9-3-7%205%2010c5%2012%207%2013%202%202-5-15-15-32-24-43l-5-5h-24l3%203m34%200l3%205%203%205%204%206%203%204%201%204c1%200%202%201%201%202%202-2%208%209%209%2014v6l1-6c1-6%200-7-2-11l-2-5%204-1h5l-4%201-2%202%203%201c1-1%201%200%201%201%200%202%201%201%201-3%201-4%201-4-2-5-3%200-2-2%201-2v2c5%200%204-2-1-10-10-14-8-13-19-13h-10l2%203m0%206v1h-1c-2%200-1%201%203%206%205%206%2013%2021%2016%2028l3%206%201%202c-1%202%201%207%203%207v4l1%203%202%201c2%201%202%201%200%201l-3%201h3c2%200%203%200%203-2h1c1%200%201%202-1%205-3%205-3%205%202%205l3-1-1-1v-1l-4-20-1-2-3%201c-3%201-3%200-6-8-6-16-20-41-21-36m-90%201c-1%201%200%202%203%203l4%202%208%205%2010%206%204%201%201%201c-1%201%201%202%202%201v-5c-2%201-4%200-3-1l-1-1c-1%201-3%200-4-1l-2-1-5-2-5-2c-2%200-7-3-6-5h-3v-1h-3M92%2012c-1%201-6%203-5%201l-2-1-1%201-1%201v2h4c-1-1%200-1%201-1s1%201-1%203c-4%205-5%206-8%204h-2l2%202%201%201h-1c-2-1-6%200-6%202l-1%201-1%201c1%201%200%202-1%202v-3l1-4%201-1v-1h-2l-1%201-1%201-3%201-1%205v3l-1%2013v1l2%204%201%204%202-7%206-12%201-1%201-1%205-5a775%20775%200%200111-17m74%203h-1c-1-1-1-1-1%201h-1c-1-2-1-2-3%200l-3%202c-2%200-2%201-2%202%200%202%200%202-1%201-2-1-3%200-1%202h5l8-2%2010-4c4-1%203-3-1-3h-3l-2-1c-3%200-4%201-4%202M53%2037l-4%2014-5%2028%202%208%204%208c0%204%202%204%202%200%201-3%201-3%201%200v3l1%201-1%202h-2l1%206%201%206%201%201%201-4v-9l1-5%201%205c2%202%202%205%202%205l3%205c2%202%204%204%204%206l2%201%201%201c-1%201-1%201%200%200v-5c1-1%201-2-1-3v-4l-1-1c1%200-2-6-5-9l-4-6-3-4-1-2c0-2%200-2-1-1l-2-5c-2-9%200-29%203-40l1-5c0-2-1-1-2%203m326-1l-5%209-3%205-4%208-5%2012c-2%206-12%2019-14%2019l-5%206c-4%207-4%207-4%200l1-6-5%205-11%209c-4%202-5%203-3%203s-13%209-19%2011l-4%201%204%202c5%203%2020%202%2018%200h2l7-2c6-3%206-2%200%203l-5%204%208-3c12-4%2012-4%2010-2v2l-4%204a2550%202550%200%2000-9%206c2%201%202%208%200%208l-3%201c0-1-2%200-3%202l-1%202%204-2v1c0%202%200%202%204-2l4-3%203%207-1-4c-1-4%201-8%205-9l2-2c0-2%203-1%203%200l1-1%203-2v-2c-2-1%200-4%205-7l3-3h-2c-2%202-2%201-1-2s1-3-2-3c-1-1%200-1%203-1h7l5-1%204-1v-2l-7%201c-6%201-13-3-8-4%201-1%200-1-1-1-4-1-4-3-1-3%205%202%2019%202%2019%201-1-1-3-2-12-2-2%200-3-1-3-2l-3-3-2-1%202-1%201-1c-1-1%208-6%2014-8%202%200%202%200%201-1l-2-2-1-2v-1h1l1-1-1-1h-1l-1%201c-2-1-1-3%201-3l1-1%202-4%204-5%203-3c2-2%203-3%200-2v-2h-2v-9l2-6%203-8-3%204M88%2040l1%201c2%200%202%201-1%206-2%204-2%204-1%201l-1-3c-1%200-2%201-1%202l-1%204c-1%202-1%202-1-1%201-5-1-2-4%205-2%207-3%2016-1%2013h1l2%201%201%202h-1c-1-1-5-2-6-1l-1%209-1%207c-1-1-1%200-1%202%200%204%201%206%202%204v-1l-1-2h1c1%202%201%201%204-6l2-5v-1c-2%200-2%200-1-1l1-2%202-1%201-3v-2l2-4%201-6c-3%204-1-2%203-9l4-8c0-1-4-2-5-1m32%2014c-1%203-3%205-4%205v1c2%201-1%2010-4%2011h-2l2%202%203%201-3%201-1%201v2l-4-2-6-2c-3%200-4-1-4-2a572%20572%200%20003-16c-2-1-4%204-3%205v2c-2%202-2%205-2%2011%200%204%200%204%206%205l6%201h-7c-11%200-5%202%2011%202h15l-5-1c-4%200-4%200-1-1%203%200%203-1%204-3%201-8%203-18%205-21l2-4-4-1c-4-3-4-3-7%203m21%2012c-5%209-6%2022-2%2035l1%204c-3-4-2%200%200%204s3%205%203%202v-1l2%204c-1%202%200%203%201%202h1c-1%203%201%206%202%204h1v2h1v1h1l-2%202c-2%202-2%202%200%204v2c-1%200-7-6-10-11-1-3-3-4-4-3l-1-1v-1l-1-1c-1-1-2-2-3-1-2%201%2013%2023%2016%2022l1%201c-4%205-17-10-23-25l-3-9-2-8-2-7v-2H99v2l-1%201-1%201%205%202%203%201-6%201c-2%201-1%201%203%201h6l-2%201-2%201-3%202-3%201h11l-6%201-3%201c0%202-1%202-4%202s-3%200-2-1v-1l-4%201c-1%201-1%201%201%201%203%200%201%203-3%204-2%200-3%200-2%201v1l-2%201-1%203c0%203%200%203%203%203h4l-3%201h-4c-1-1-1%200-2%202%200%203%200%203-2%201h-1l3%203%202%204%203%2012v1c-1-1-1%200-1%201%200%202%205%205%206%203s4%202%204%206l1%203%201%203v1h-1c0%202%200%202%202%202h1l1%201h1l2-2%204-2c1-1%202-1%204%201l2%202-6-7-7-7-5-8-7-12-3-3-1-1%205-2c5-2%206-3%202-3-2%200-2%200%202-2h6l3%201c-1%201%200%201%201%201v5c-1%201%200%201%201%201%202%200%202%200%201%201v2c2%200%202%200%201%201v1c3%200%204%200%203%202-1%201%200%202%202%203l2%202%201%201c2%200%202%204%201%206v1l2-1h1v2c3-1%202%200-1%202s-3%202-5-1l-1-2-1-2-1-2-1-1-1-1-1-1-1-2-1-2v-1c2-2%201-3-1-2l-2-1%201-2-1-1c-1-1-3-3-3-5-1-3-2-3-3-2-2%203%203%2013%2013%2025l5%207c-2%202-12-9-20-22l-4-5c0%203%204%209%208%2015l5%207h2v2c8%208%2011%2010%2012%209l1%201v1h2c2-1%203%200%201%202v2c1%201%203%202%203%200v-1l1%201c-1%201%200%202%201%201v1l6%205%207%206-9-4c-6-5-11-7-6-3%203%203%200%205-4%202l-5-1c0%201-1%201%200%200l-1-1h-1l-1-2v1h-5c-2-2-2-2%200-2l1-2-2%201h-4l-2-1c-1%200-1%202%201%203%202%202%200%204-3%205-3%200-4%201-4%202%200%202%203%201%205-1%201-2%207-1%206%201%200%201%201%202%203%201%204%200%207%202%205%203v1l1%202h-3l4%202c2%200%202%200%201%201v3l1%201h1v1c-2%203-2%204%201%202%202-2%204-7%203-7-2-1%201-3%203-2l1-1c-1-2-1-2%208%200l13%203c6%200%208%201%207%203%200%202%201%202%206%202%207-1%2013%201%2014%203h2c1-1%202-1%203%201%200%202%201%202%204%202%203-1%203-1%203%201s0%202%201%201l3-1-1%202v1c2-1%202%200%203%201%201%202%201%202%201%200%201-2%203-2%203-1h1c1-2%201-1%201%203%200%202%200%203%201%202l2-2%201-1c0-1%201-2%202-1l1%202%203%209%203%2016c3%2014%206%2022%208%2020l1%201v1h2l2%201-1-2v-7c-1%200-2-1-2-3l-2-3c-1%200-4-5-4-8-3-14-6-24-11-33l-5-10-4-7-4-17-2-8-2%203c-2%202-2%202-3-2l-1-6c0-3%200-3-1%200l-1%204-1-4c-3-4-6-6-12-4l-4%201%204%202c2%201%203%202%201%202l-4-1c-2-2-2-2-14%203-9%204-16%206-17%204a216%20216%200%200141-33c-2%200-2%200-1-1%204-2%202-23-4-32-4-7-17-20-25-24l-3%204m62%2018c5%2011%205%2015%200%2020l-3%205c0%202-5%206-13%208-11%204-16%207-26%2014l-12%2010%207-4c13-11%2026-18%2024-14-2%202%200%201%207-3l7-3-4%203a356%20356%200%2000-22%2012c-9%205-10%205-8%206%201%202%202%201%204%200l2-2c-1-1%208-5%2011-5l7-5%202-1h3l3-1c1-1%200-1-1-1s-1-1%202-2l3-2%201-1h2c3-2%204-2%204-1l3-1c2%200%203-1%203-2l-3%201c-6%203-3%200%204-5%207-4%208-5%207-2h1c2-1%202-3%201-11-1-3-2-4-3-3v-1l-1-1-2-2-3-3%202%204%202%204-2%204c-2%204-7%2010-7%208l3-4c4-4%204-7%201-13s-7-11-6-6m43%2012l-4%201c0-1-4%200-7%202-4%202-6%203-4%203l4%202c2%202%208%201%207-1l4-1c12%202%2012%202%207%200s-7-5-3-3h8l-1-2v-1h-11m-117%2064c-1%201%200%202%203%201v1c-1%201%200%202%205%205%209%206%2018%2010%2028%2011%208%200%2010-1%201-2-7%200-21-7-30-14-3-2-4-3-5-2h-2m-29%2052l-17%206-4%203c-3%202-3%202-1%202l30-10%205-2h-4l-9%201m30%2017l-7%202a1100%201100%200%2001-26%2020c2%201%2037-19%2037-21l-1-2-3%201m177%2032c0%201-7%204-10%204l-4%202-2%202h6l-2%201c-1%200-2%200-1%201l-1%201h-3l-2-1-1-1c-1-1%200-1%201-1v-1l-4-2c-2%200-2%200-1-1v-1c-2%200-4%202-3%203l-2%201-4%205-4%206c-1%202-1%202%201%202l2%201c-1%201%200%201%203%201%204%200%205%201%203%202-1%201%202%201%206%201l8-1c1-3%206-6%207-4v2c-1%202-1%203%201%203l1-3v-4c1%200%202-3%201-4v-4l1%201%202-1%204-3v-1l2-2c1-1%201-1-1-1l-2-1-1-2h-1m-149%2061v8h4c4%200%206-1%206-6%200-4-2-6-5-6-3%201-3%200-3-2l-1-2-1%208m-120%205l1%208%201-3c0-2%200-3%203-2%203%200%205-2%205-5%200-5-2-7-6-7h-4v9m72-7c-4%205-1%2010%204%2010h3c0%202-3%203-5%203h-2c0%202%204%202%207%201%202-2%202-3%202-9v-7h-4c-3%200-4%201-5%202m29%200c-4%204-2%2010%204%2010l4-2c3-7-4-13-8-8m42%200c-2%202-3%207-1%209%203%202%207%201%209-2%203-6-4-12-8-7M6%20375c-2%201-1%204%201%207l2%204v1c2%202%200%204-5%206-4%202-5%203-2%205%202%202%206%203%204%201l-1-1c-2%202-3-2-2-3%202-1%204%200%204%202l1%201%202%201h14l-2-3c-3-2-3-2-4%200h-1l-3-5c-3-3-4-6-2-6l2-2c1-2%201-2-2-5s-6-4-6-3m24%200v10l-1%2010-1%205h9c9%200%2011-1%206-3-1-1-2-2-1-3%200-2%200-2-3%200-3%204-4%204-4%201l1-10c2-1%204-8%202-9-1-1-6-2-8-1m230%2015l-2%204v4c-1%202-1%202%205%202%204%200%206-1%205-2l-1-1v-3c1-1%202%200%203%202l2%204c2%200%201-6%200-7l-2-3h-3l-6%201%201-1%201-1-3%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFBElEQVQ4yz1UW1NTVxg9KnaUCIkkhCRckkCAkISTEC4JgUBAIqFyCZdqEqhErNwUBMFWvHJTLJeCgtwcAcWCUkfti+NYO1WnM9pReKhKbfWp/pDV7+yHPuzZl3P2+tZa3/dt7uixY/B4PAgGgxgbG0Nrayuam5txsvskenv7MDgwiAsXLtC+G8ePH0ddXR06OjowNTWJ+oMHURsIYGNjA+vr6/B6y8EJHysrvTh//jwBNcHv96GewK9dm8bdO2uYnp7G6Ogorl69wgCPHm1lQfv6eumfa/D7fFi4cQOvX79Gfr4TXFNTE+rr6xEI+FFTU43yslLU1gbQ1dWF4KEg5ufnsbS0hMePH2N1dZWdnzt3Dp2dnXS+yIKNjoyywBkZVnD5+Xnw+Q6ggui63UXYt+9L+rkDx8iKhsOHoY3XoqysDH4K2Nbehva2Nqam59QpTE1OYnl5GWfPnkVPzymkWS3gSko8MJoMqKqugj3bBpstC3NzcySrBW/erKOlpQUcxxHrWjQ2HkGxpxg2u43Z8/3lywy8v78fAVIVpZCDMxhTkO3IJjA7ysrLUFFRgQcPHlJCerGyskKSr1PSislbPwsqACpVSiTrk9h+ZGQE4+PjcDpzoNbEgRPtCkUemanRamAwGpg3lynyo0ePmFcCUE6OA3ZilaBLQHJyEng+lV3mzamkoBk+SqQgN8WgBxefoIUuUUcs7XQhnkk5c+YMhoaGMDMzzRJhMhmRmJSIJAKTR0VCFa0iAmpY062oJpZ7i90wpRohlUVQUlz5jL7ZwiOL/EtLs6C9vZ1JnpmZwatXfzBZ278IITA5JLsliJRHIk4dy1gKrASm0TEqbA3ZAk6Q5iAPLRYz0intqbwJzrxc7Cnag2oqI8GCmdlZCmhmQGHhYdgZuhNiiRiySBmxkmJ3hIQFqPu6DtwvT59icHAQObkOJt3pzGUeCawFC9QaNWPNm3mIdokYkEIZRYlRYMfOHRBy0EalNDU1haeExT158gSbmx9w//59uEi+Nl7D2FgIxEwgGZkZDFRQoVarEbI9BDGxMWwIkgULJiYmsPn+LywsLIB7+fIltc0bPHz4M969e4/bP94mk/ei3FuBgsICZr6K/Nm//ysYjUZs2boF20K2QRQmYorEknAMDAwwDKFuuefPnuMDMRz/YRz31n7C2z/f4tM/n/D5388YHh6mnu1DQ0MDmhobsVsiYUVuMZtxuuc03EVFsFqtWFpYxPKtZXz8+yM476FKVH1TA0dpDnJKc+E+UIyKoBf76krha/EjeKIBrqoCKI0qhKnDIdXJYHZZ4PGXQJeViNzyPLZ20lx6kF6bCF6OBGcykguM0BeaoMvTQ+PQQZ2dwOZYu5Z9N7h58B4rVFlxkFoUEJtkkKerINyX0FqYxUYpOIU1BgUHilAUKGazs9rF1nZvLrJpOCqdKPS5UUDDWeOCPE2FKGs0G/I0JRTpMf/vhTWXmJcCGa9gQwAXDoVZYoxEVFo0pKlRkBhkEBukiDDJEWeLR3SmGrE2LVOgTI9lc5w9HjFZGnBr9+6hs+sETn73LY7Qa6KjFougYk2l6jdQy4WJwyGhwk2kthOyfaSpERepLa/ToyrcraTWG78ygV9/e4bFmzfBdXd3scIM0iOrVCqQRICZGRnQaDQIDQ2FSBSKWKo5M89Dr9ezx3jo0iXcvbuGO6t3qD1ncevmLSq5Tbx48Tv+AwUNEh/NjEwLAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/51cde1192c8339db35365d76af1c7224/502b1/cover2.png","srcSet":"/static/51cde1192c8339db35365d76af1c7224/f2e6d/cover2.png 114w,\n/static/51cde1192c8339db35365d76af1c7224/4ddba/cover2.png 229w,\n/static/51cde1192c8339db35365d76af1c7224/502b1/cover2.png 457w,\n/static/51cde1192c8339db35365d76af1c7224/7ddc2/cover2.png 686w,\n/static/51cde1192c8339db35365d76af1c7224/435bf/cover2.png 914w,\n/static/51cde1192c8339db35365d76af1c7224/6050d/cover2.png 1200w","srcWebp":"/static/51cde1192c8339db35365d76af1c7224/15384/cover2.webp","srcSetWebp":"/static/51cde1192c8339db35365d76af1c7224/31fce/cover2.webp 114w,\n/static/51cde1192c8339db35365d76af1c7224/e3e25/cover2.webp 229w,\n/static/51cde1192c8339db35365d76af1c7224/15384/cover2.webp 457w,\n/static/51cde1192c8339db35365d76af1c7224/0258d/cover2.webp 686w,\n/static/51cde1192c8339db35365d76af1c7224/64ea2/cover2.webp 914w,\n/static/51cde1192c8339db35365d76af1c7224/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%201c0%202%201%202%202%201%202%200%202%200%201%201S2%204%204%204c3-1%206%200%204%201h1l2%201c-1%201-1%201%201%201h1c-1%201-1%201%201%201h1c-1%201-1%201%201%201%203-1%206%200%204%201-1%201-1%201%201%201h1v1c2-1%202%202%201%205l-7-1h-1c2%202-2%201-8%200-6-3-9-2-2%200%204%202%204%202%202%202-3%200-3%200-2%201h9c2%201%202%201%201%202v1c1-1%202%200%202%201l-2%201c-7-3-15-5-15-4l1%201v1c-2%200-1%202%203%203%206%202%208%201%203-1-7-2-5-3%203%200%208%202%2010%203%204%202-3%200-3%200%200%201l4%201c1-1%201%200%201%202s0%202-2%202a653%20653%200%2000-2%201l4%201%202%207%201%2013%201%205%202%201c0%202%200%202-1%201s-2%200-3%201v1l1%208v7l-4-6-9-14C2%2047%202%2046%207%2048l8%201h4l2-1-2-1-3-1h-2l-6-1H3c-1%201-1%201-2-1-1-1-1%202-1%2012%200%2012%200%2013%203%2020l4%2010c1%201%200%201-3%201l-4%201h4c3%200%204%200%204%202-1%201-1%201%200%200l1%201v1l4%206%2012%2015c3%202%204%204%203%204-1%201%200%201%201%201%203%200%203%202-1%202-1%200-2%200-1-1l-1-1-3-2A357%20357%200%20008%2099c1-1%200-1-1-1-3%200-6-4-5-5v-1c-2%200-2%202-2%2026a166%20166%200%20001%2031v5l3-1h2l-2%201%201%201c1%201%201%201-1%201l-3%201c-1-1-1%201-1%205%200%206%201%207%206%2012l6%204%207%204%204%203%208%206%203%201%202%201-2%201h-5c-2%200-2%200%200-1v-2l-2%201-6%202c-4%200-7%200-7%202l17%201%2011%201-13%201-13-1%203%203%2012%207%208%205c0%202%2015%205%2024%205l10%201-2%202-5%203a783%20783%200%2000-14%204c10%201%2010%201%202%202l-8%201%207%203c9%205%2023%207%2039%207%2011%200%2012%201%2011%202l-2%201h-2l-1%202-1%201h-1c1%201-6%204-9%204s1%202%2011%206c9%203%2016%204%2022%202%203%200%203-2-1-9-3-8-2-7%202%201l4%207h5l10-2c3-2%205-3%206-2s2%200%204-2c4-5%209-6%209-2%200%203-14%2016-19%2016v2c-1-1-5%201-5%202%200%202%2015%204%2023%204%209-1%2016-4%2021-11l2-1-2%2010c0%208%200%208%202%206l2-3%201%201c1%201%202%200%208-4%208-5%2016-14%2018-22%203-6%203-6%207-1l3%204-3%205-2%206-1%201-2%203-2%202v1h-2c1%202-1%205-7%2010-7%205-8%205-6%202s2-11%201-11l-1%203-2%204v2h-2c1%201%200%203-3%204a635%20635%200%2001-65-2c-1-1-1-1-1%201s0%202-19%202H84v-7l-1%202-2%203-2%201c0%202-2%201-2-1h-1c0%202-1%202-3%202-3%200-3%200-3-4l2-8v-4l-1%204-2%208-1%204h-6c-7%200-7%201-4-16%203-16%203-20%200-21-2-1-4-1-4%202h2l-1%203c-2%200-9%2028-9%2031l-23%201H0v74h11l13%201h2c4-2%205-1%205%205l1%206c2%200%209-5%209-6h1c2%203%2010%201%2010-3%200-2%201-2%208-3h7v8l1%202c0%202%200%202%202%201%203-3%203-2%200%201l-2%204c1%201%201%201-1%203l-2%205-3%202c-1%200-1-1%201-4v-2c-1%200-1-1%201-3%202-3%201-5-2-4h-2c-2%200-8%207-8%208l1%203v2l-1%202c0%201-1%201-2-1h-4v1c3%200%204%203%202%205l-2%204h2c1-2%201-2%201%200-1%204%200%203%201%200l4-3h2l-2%203-3%203h21c14%200%2021%200%2020-1l-3-1c-2%200%201-2%205-4l8-2%203-1%202-2v2c0%202%200%203-1%202l-1%201c1%200%200%202-2%203l-2%203h2l4-1%201-1%201%201a621%20621%200%200086-1c-1%202%201%202%2015%202a84%2084%200%200018-1l12%201h13l-1-6v-10c-1-4%201-6%201-3%202%206%203%207%205%205l5-3c2%200%203%200%202-1l-2-1v-2l-1-2c-1%201-2-3-2-5%201-2-2-3-6-3-2%200-2%201-2%204v4l-1-3-1-3v3l-1%203v1l-1%201v2l-1%202%201%201c2%201%202%201%201%202s-1%201%201%201h-2c-3%200-4%200-3%201l4%201c1%200%202%200%201%201l-1%201-2%202c-3%201-3%200-4-4v-10l-1-9v-5h7c1%201%201%200%201-1%200-2%200-2-4-2h-4l5-1c4%200%204%200%204%202%200%203%201%204%204%203l1-1c-2%200-1-4%201-4%204-1%207%200%208%203l-1%204v1c4%202%205%201%204-4l1-5%202%206c1%209%204%2010%203%201v-7h6l5%201%202%204%202%209c1%205%202%207%204%205%201-1%201-2-1-9l-2-9%2016-1h15l1%202v6l4%207c3%204%203%204%203%202v-3c1%200%203%203%203%206l2%203v2c-1%201-1%201%201%202s3%202%202%203l3-1%204-3%204%202c4%200%204%200%203-2l-1-2-1-3c0-3-3-10-6-15-2-2-2-3%200-3%201-1%201-1-1-1l-2-1h6l16-1h15l1%203%201%203%205%201c4%201%205%202%207%204l2%201-3-4-2-2c0%201-6-1-8-3v-2h14l5-1%202-1v-38c0-21%200-37-1-36l-7%201c-7%200-8-1-6-3h-2c-2%201-2%201-1%202l-2%201c-4%200-4%200-3-2v-2l-3-5c-2-4-2-4-2-2l1%207%202%204h-54l1-2%206-5c13-9%2014-10%2012-17l-1-7-1-4%202%202%204%202%203%202c2%202%202%202%201%203s-1%201%201%201l3-1c2%200%201-2-1-2l-2-2-4-4c-3-2-3-2-1-2%204%201%204%200%200-7l-3-6%202-3c4-4%204-6%202-10l-1-4%202-7c0-8%201-8%2014-6l14%201c3%200%204%200%203%202l1%201v1h4v-3l-2-2h-1c2%200-3-8-7-12l-3-3%203%201c6%201%2013%201%2020-3l6-2v-6a4288%204288%200%2000-3-167h-1c0-2%202-5%203-5l1-5V1l-5-1h-6v3l-1%205-1-4-2-4c-1%200-2%202-2%209-1%208-2%2012-6%2023-6%2015-11%2027-12%2026l-4-12c-7-21-13-31-11-16l1%203%202-1%201%201v1l-1%201-1%201%202%201c-1%201%200%201%201%201%202%200%202%200%201%201s-1%201%201%201v3c2%200%206%2010%206%2016%201%206-7%2021-9%2020l-2%201-3%201v2l-2%201c-2%200-2%200%200%201%201%201%201%201-1%202-1%200-2%201-2%204l-2%204c-1%200-1-8%201-12v-4c-1%200-2-2-3-8-1-12-3-17-2-8l1%209v11l-2-4c0-4-1-5-2-5l-3%201v1c2%201%202%205%201%206v1l2%201-2%201v1c2%201%202%201-3%205-16%2014-40%2022-51%2018-3-1-4-3-1-3l1%201h6l11-2c17-3%2019-5%204-4-11%200-11%200-7-1%203-2%2013-9%2011-9l-9%203c-11%203-13%203-7%200%202-1%203-3%202-3l-1-6c0-4%200-5%201-3%201%201%201%201%201-1l-1-2v-3c0-3%200-3-1-2s-1%201-1-2v-3c0-3%200-4-1-2l-1%203v-3l-2-5h1l1-1-1-3-1%201c-1%201-1%201-1-1v-4l-2-1c0%202-1%201-2-2l-6-8c-3-3-3-4-1-4l1%201%201%201h2l2%201c2%200%209%209%2011%2015l2%202v2c0%202%200%202%201%201l2-1h-1l-1-1c2-3-13-25-21-32l-4-3c-2-4-25-18-26-16l-5-2h-1c-2%200-2%200-1-1V5h-5l-2-1h-1c-2%200-2%200-1-1h-1l-2-1-2-1h-3l-15-1c-18%201-19%201-20%203l-4%201h-5l-4%202h2l5%201%202%201%206-2a1474%201474%200%200015%202c-12%200-17%201-20%202-3%202-3%202%200%201h34c12%202%2015%203%2015%205-1%201%200%202%201%203%205%201%2015%206%2015%207l-7-3c-9-4-11-5-11-3%201%201%200%201-1%201v1c1%201%201%201-1%201-3%200-3%202-1%202%203%201%206%200%204-1v-1l3%201v1l-2%201%202%201%202-1v-1c3%200%203%201%201%203v1h1l4%201%201%201h1l1%201v1h1l6%204c14%2010%2025%2029%2027%2043%200%205%201%207%202%207l2-1-1-1h-1l-1-6c0-5%200-5%202-4l2%202%201%201c0-1-3-14-5-17-1-2-1-2-1%200%201%203-1%203-2%200-2-8-14-21-24-29l-5-4v-1c-1-2%201-1%208%204%208%205%2016%2012%2019%2017%201%202%203%203%203%202v2h1c1-1%201%200%204%203%205%209%2010%2035%206%2035v-4c0-6-5-29-7-27l2%207%203%2015c0%209%200%2010%202%2010%202%201%201%201-2%201-4%200-4%200-11-8-7-7-10-11-5-7%202%202%201-5-4-15-9-17-32-33-49-33l-5-1c1-2-10%200-23%203-6%201-7%202-5%202h-1c-2%200-3%200-2%201l-1%201c-2-1-8%202-8%203l-1%201h1c3%200%209%202%208%203h3c3-3%2024-6%2034-5%2014%202%2031%2014%2038%2027%203%205%205%207%208%209%208%205%203%203-8-2-22-12-33-15-38-13h-8c-1%201-1%201%202%201l3%202c0%202-2%205-3%204l-9-6-1%202c-1%201-1%201%201%201%202-1%2010%205%2010%207h-3l-6-1%204%202c5%202%206%205%201%204l-9-3c-1-2-7-3-7-2s10%206%2014%206l4%203h3c1%201%201%200%201-1v-4l1%203%203%207%202%204%202%204%203%204-6-6-6-8c0-2%200-2-1-1s-12-4-21-10c-29-18-44-24-64-24-9%200-10-1-7-3%202-2%202-5%201-5-4%200-4-2-1-7l4-4-3-1c-3%200-3%200-2-2h4c1%201%202%202%203%201l-1-2c-2%200-1-3%201-3l1%201c-1%202%201%201%207-3%205-4%205-4%203-6-2-1-2-1-1-3%202-2-1-1-6%203l-7%204v1l-1%201c-1-1-1-1%200%200l-1%202v-1c0-2-6%206-13%2013l-6%209-2%203c-2%200%206-12%2014-22%201-1%200-1-1-2l-2-2v-2h2l2-1%201-2v-1c-1-2%200-3%204-2%203%200%203%200%202-2V7l1-2V2l1-1h1c0-1-6-1-7%201l-2%201V1l1-1-7%204-5%203h-4l3-4c3-2%203-3%202-3s-4%202-6%205l-6%204c-2%200-2%200-1%201l1%201h-2c-2-1-2-1%202-5%203-2%205-5%207-5%201-1-1-1-6-1h-8l-6%208-9%2011c-4%205-6%207-3%202%202-4%201-5-3-7-4-3-3-3-7%202-3%205-4%208-1%204%202-3%203-1%201%205l-3%205c-3%200-7%2011-9%2022a227%20227%200%2001-2%2018c-1%202-1%202-2-1l-3-7-1-5v-5l-1-3h-2l2-1c2%200%202%200%201-1v-1l-1-1v-2l1-2v-3l1-1c-1-1%2011-20%2013-21%201-1%202-1%202-4s5-5%206-4%202%200%205-3l3-4-8-1h-8l-3%204-4%204%202-4c3-4%203-4%201-4l-3%203-3%203%201-3%202-3H22L0%201m134%202c-5%203-7%204-5%202h-5v4c-2%200-2%202%200%202%201%201%201%201%200%200l1-1%205-2c4-4%207-4%205-1v1h1l1-1h1v1l1%201%202%201c1%202%201%202%201-5%200-2%200-2%202-1%201%202%202%202%205%200%204-2%206-2%206%201l2%201%202-1V4l-1-1c-2%201-2%200-2-2h-6c1-1%200-1-5-1s-7%201-11%203m101-2a134%20134%200%200149%2033c6%206%208%209%207%2010l2%201c3%201%2010%2014%208%2015l1%203%202%207%201%204%202%207c0%207%200%207%201%206l1%206-1%206h4l3%201V90c3-32-16-66-46-86l-6-4h-15l-13%201m49%202c11%208%2025%2025%2031%2037s10%2015%205%205l-3-7c-1-3%200-7%201-5h2l1%201-2%202v1c1%200%202%200%201%201l1%201h2c-1%201%200%202%201%202v2l1%202%201%201%201%201%201%203v3l1%201c2%200%201%202-1%203s-2%201%201%201%205%202%203%202c-1%201-1%201%201%202s2%201%201-2l-1-4-1-4-2-9-3-7%205%2010c5%2012%207%2013%202%202-5-15-15-32-24-43l-5-5h-24l3%203m34%200l3%205%203%205%204%206%203%204%201%204c1%200%202%201%201%202%202-2%208%209%209%2014v6l1-6c1-6%200-7-2-11l-2-5%204-1h5l-4%201-2%202%203%201c1-1%201%200%201%201%200%202%201%201%201-3%201-4%201-4-2-5-3%200-2-2%201-2v2c5%200%204-2-1-10-10-14-8-13-19-13h-10l2%203m0%206v1h-1c-2%200-1%201%203%206%205%206%2013%2021%2016%2028l3%206%201%202c-1%202%201%207%203%207v4l1%203%202%201c2%201%202%201%200%201l-3%201h3c2%200%203%200%203-2h1c1%200%201%202-1%205-3%205-3%205%202%205l3-1-1-1v-1l-4-20-1-2-3%201c-3%201-3%200-6-8-6-16-20-41-21-36m-90%201c-1%201%200%202%203%203l4%202%208%205%2010%206%204%201%201%201c-1%201%201%202%202%201v-5c-2%201-4%200-3-1l-1-1c-1%201-3%200-4-1l-2-1-5-2-5-2c-2%200-7-3-6-5h-3v-1h-3M92%2012c-1%201-6%203-5%201l-2-1-1%201-1%201v2h4c-1-1%200-1%201-1s1%201-1%203c-4%205-5%206-8%204h-2l2%202%201%201h-1c-2-1-6%200-6%202l-1%201-1%201c1%201%200%202-1%202v-3l1-4%201-1v-1h-2l-1%201-1%201-3%201-1%205v3l-1%2013v1l2%204%201%204%202-7%206-12%201-1%201-1%205-5a775%20775%200%200111-17m74%203h-1c-1-1-1-1-1%201h-1c-1-2-1-2-3%200l-3%202c-2%200-2%201-2%202%200%202%200%202-1%201-2-1-3%200-1%202h5l8-2%2010-4c4-1%203-3-1-3h-3l-2-1c-3%200-4%201-4%202M53%2037l-4%2014-5%2028%202%208%204%208c0%204%202%204%202%200%201-3%201-3%201%200v3l1%201-1%202h-2l1%206%201%206%201%201%201-4v-9l1-5%201%205c2%202%202%205%202%205l3%205c2%202%204%204%204%206l2%201%201%201c-1%201-1%201%200%200v-5c1-1%201-2-1-3v-4l-1-1c1%200-2-6-5-9l-4-6-3-4-1-2c0-2%200-2-1-1l-2-5c-2-9%200-29%203-40l1-5c0-2-1-1-2%203m326-1l-5%209-3%205-4%208-5%2012c-2%206-12%2019-14%2019l-5%206c-4%207-4%207-4%200l1-6-5%205-11%209c-4%202-5%203-3%203s-13%209-19%2011l-4%201%204%202c5%203%2020%202%2018%200h2l7-2c6-3%206-2%200%203l-5%204%208-3c12-4%2012-4%2010-2v2l-4%204a2550%202550%200%2000-9%206c2%201%202%208%200%208l-3%201c0-1-2%200-3%202l-1%202%204-2v1c0%202%200%202%204-2l4-3%203%207-1-4c-1-4%201-8%205-9l2-2c0-2%203-1%203%200l1-1%203-2v-2c-2-1%200-4%205-7l3-3h-2c-2%202-2%201-1-2s1-3-2-3c-1-1%200-1%203-1h7l5-1%204-1v-2l-7%201c-6%201-13-3-8-4%201-1%200-1-1-1-4-1-4-3-1-3%205%202%2019%202%2019%201-1-1-3-2-12-2-2%200-3-1-3-2l-3-3-2-1%202-1%201-1c-1-1%208-6%2014-8%202%200%202%200%201-1l-2-2-1-2v-1h1l1-1-1-1h-1l-1%201c-2-1-1-3%201-3l1-1%202-4%204-5%203-3c2-2%203-3%200-2v-2h-2v-9l2-6%203-8-3%204M88%2040l1%201c2%200%202%201-1%206-2%204-2%204-1%201l-1-3c-1%200-2%201-1%202l-1%204c-1%202-1%202-1-1%201-5-1-2-4%205-2%207-3%2016-1%2013h1l2%201%201%202h-1c-1-1-5-2-6-1l-1%209-1%207c-1-1-1%200-1%202%200%204%201%206%202%204v-1l-1-2h1c1%202%201%201%204-6l2-5v-1c-2%200-2%200-1-1l1-2%202-1%201-3v-2l2-4%201-6c-3%204-1-2%203-9l4-8c0-1-4-2-5-1m32%2014c-1%203-3%205-4%205v1c2%201-1%2010-4%2011h-2l2%202%203%201-3%201-1%201v2l-4-2-6-2c-3%200-4-1-4-2a572%20572%200%20003-16c-2-1-4%204-3%205v2c-2%202-2%205-2%2011%200%204%200%204%206%205l6%201h-7c-11%200-5%202%2011%202h15l-5-1c-4%200-4%200-1-1%203%200%203-1%204-3%201-8%203-18%205-21l2-4-4-1c-4-3-4-3-7%203m21%2012c-5%209-6%2022-2%2035l1%204c-3-4-2%200%200%204s3%205%203%202v-1l2%204c-1%202%200%203%201%202h1c-1%203%201%206%202%204h1v2h1v1h1l-2%202c-2%202-2%202%200%204v2c-1%200-7-6-10-11-1-3-3-4-4-3l-1-1v-1l-1-1c-1-1-2-2-3-1-2%201%2013%2023%2016%2022l1%201c-4%205-17-10-23-25l-3-9-2-8-2-7v-2H99v2l-1%201-1%201%205%202%203%201-6%201c-2%201-1%201%203%201h6l-2%201-2%201-3%202-3%201h11l-6%201-3%201c0%202-1%202-4%202s-3%200-2-1v-1l-4%201c-1%201-1%201%201%201%203%200%201%203-3%204-2%200-3%200-2%201v1l-2%201-1%203c0%203%200%203%203%203h4l-3%201h-4c-1-1-1%200-2%202%200%203%200%203-2%201h-1l3%203%202%204%203%2012v1c-1-1-1%200-1%201%200%202%205%205%206%203s4%202%204%206l1%203%201%203v1h-1c0%202%200%202%202%202h1l1%201h1l2-2%204-2c1-1%202-1%204%201l2%202-6-7-7-7-5-8-7-12-3-3-1-1%205-2c5-2%206-3%202-3-2%200-2%200%202-2h6l3%201c-1%201%200%201%201%201v5c-1%201%200%201%201%201%202%200%202%200%201%201v2c2%200%202%200%201%201v1c3%200%204%200%203%202-1%201%200%202%202%203l2%202%201%201c2%200%202%204%201%206v1l2-1h1v2c3-1%202%200-1%202s-3%202-5-1l-1-2-1-2-1-2-1-1-1-1-1-1-1-2-1-2v-1c2-2%201-3-1-2l-2-1%201-2-1-1c-1-1-3-3-3-5-1-3-2-3-3-2-2%203%203%2013%2013%2025l5%207c-2%202-12-9-20-22l-4-5c0%203%204%209%208%2015l5%207h2v2c8%208%2011%2010%2012%209l1%201v1h2c2-1%203%200%201%202v2c1%201%203%202%203%200v-1l1%201c-1%201%200%202%201%201v1l6%205%207%206-9-4c-6-5-11-7-6-3%203%203%200%205-4%202l-5-1c0%201-1%201%200%200l-1-1h-1l-1-2v1h-5c-2-2-2-2%200-2l1-2-2%201h-4l-2-1c-1%200-1%202%201%203%202%202%200%204-3%205-3%200-4%201-4%202%200%202%203%201%205-1%201-2%207-1%206%201%200%201%201%202%203%201%204%200%207%202%205%203v1l1%202h-3l4%202c2%200%202%200%201%201v3l1%201h1v1c-2%203-2%204%201%202%202-2%204-7%203-7-2-1%201-3%203-2l1-1c-1-2-1-2%208%200l13%203c6%200%208%201%207%203%200%202%201%202%206%202%207-1%2013%201%2014%203h2c1-1%202-1%203%201%200%202%201%202%204%202%203-1%203-1%203%201s0%202%201%201l3-1-1%202v1c2-1%202%200%203%201%201%202%201%202%201%200%201-2%203-2%203-1h1c1-2%201-1%201%203%200%202%200%203%201%202l2-2%201-1c0-1%201-2%202-1l1%202%203%209%203%2016c3%2014%206%2022%208%2020l1%201v1h2l2%201-1-2v-7c-1%200-2-1-2-3l-2-3c-1%200-4-5-4-8-3-14-6-24-11-33l-5-10-4-7-4-17-2-8-2%203c-2%202-2%202-3-2l-1-6c0-3%200-3-1%200l-1%204-1-4c-3-4-6-6-12-4l-4%201%204%202c2%201%203%202%201%202l-4-1c-2-2-2-2-14%203-9%204-16%206-17%204a216%20216%200%200141-33c-2%200-2%200-1-1%204-2%202-23-4-32-4-7-17-20-25-24l-3%204m62%2018c5%2011%205%2015%200%2020l-3%205c0%202-5%206-13%208-11%204-16%207-26%2014l-12%2010%207-4c13-11%2026-18%2024-14-2%202%200%201%207-3l7-3-4%203a356%20356%200%2000-22%2012c-9%205-10%205-8%206%201%202%202%201%204%200l2-2c-1-1%208-5%2011-5l7-5%202-1h3l3-1c1-1%200-1-1-1s-1-1%202-2l3-2%201-1h2c3-2%204-2%204-1l3-1c2%200%203-1%203-2l-3%201c-6%203-3%200%204-5%207-4%208-5%207-2h1c2-1%202-3%201-11-1-3-2-4-3-3v-1l-1-1-2-2-3-3%202%204%202%204-2%204c-2%204-7%2010-7%208l3-4c4-4%204-7%201-13s-7-11-6-6m43%2012l-4%201c0-1-4%200-7%202-4%202-6%203-4%203l4%202c2%202%208%201%207-1l4-1c12%202%2012%202%207%200s-7-5-3-3h8l-1-2v-1h-11m-117%2064c-1%201%200%202%203%201v1c-1%201%200%202%205%205%209%206%2018%2010%2028%2011%208%200%2010-1%201-2-7%200-21-7-30-14-3-2-4-3-5-2h-2m-29%2052l-17%206-4%203c-3%202-3%202-1%202l30-10%205-2h-4l-9%201m30%2017l-7%202a1100%201100%200%2001-26%2020c2%201%2037-19%2037-21l-1-2-3%201m177%2032c0%201-7%204-10%204l-4%202-2%202h6l-2%201c-1%200-2%200-1%201l-1%201h-3l-2-1-1-1c-1-1%200-1%201-1v-1l-4-2c-2%200-2%200-1-1v-1c-2%200-4%202-3%203l-2%201-4%205-4%206c-1%202-1%202%201%202l2%201c-1%201%200%201%203%201%204%200%205%201%203%202-1%201%202%201%206%201l8-1c1-3%206-6%207-4v2c-1%202-1%203%201%203l1-3v-4c1%200%202-3%201-4v-4l1%201%202-1%204-3v-1l2-2c1-1%201-1-1-1l-2-1-1-2h-1m-149%2061v8h4c4%200%206-1%206-6%200-4-2-6-5-6-3%201-3%200-3-2l-1-2-1%208m-120%205l1%208%201-3c0-2%200-3%203-2%203%200%205-2%205-5%200-5-2-7-6-7h-4v9m72-7c-4%205-1%2010%204%2010h3c0%202-3%203-5%203h-2c0%202%204%202%207%201%202-2%202-3%202-9v-7h-4c-3%200-4%201-5%202m29%200c-4%204-2%2010%204%2010l4-2c3-7-4-13-8-8m42%200c-2%202-3%207-1%209%203%202%207%201%209-2%203-6-4-12-8-7M6%20375c-2%201-1%204%201%207l2%204v1c2%202%200%204-5%206-4%202-5%203-2%205%202%202%206%203%204%201l-1-1c-2%202-3-2-2-3%202-1%204%200%204%202l1%201%202%201h14l-2-3c-3-2-3-2-4%200h-1l-3-5c-3-3-4-6-2-6l2-2c1-2%201-2-2-5s-6-4-6-3m24%200v10l-1%2010-1%205h9c9%200%2011-1%206-3-1-1-2-2-1-3%200-2%200-2-3%200-3%204-4%204-4%201l1-10c2-1%204-8%202-9-1-1-6-2-8-1m230%2015l-2%204v4c-1%202-1%202%205%202%204%200%206-1%205-2l-1-1v-3c1-1%202%200%203%202l2%204c2%200%201-6%200-7l-2-3h-3l-6%201%201-1%201-1-3%201'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/51cde1192c8339db35365d76af1c7224/6050d/cover2.png"}}},{"id":"c3ce0c39-12cf-59ae-a2a3-bf935e2f5510","slug":"/agi-and-the-llm-wall","secret":false,"title":"The AGI Illusion: Why Scaling LLMs Won’t Get Us There (And What Actually Will)","author":"Luke Celitan","date":"September 7th, 2026","dateForSEO":"2026-09-07T00:00:00.000Z","timeToRead":7,"excerpt":"The industry keeps selling the idea that if we just add enough GPUs, next-token prediction will wake up. Here is why the LLM route to AGI is hitting a data wall, and what we actually need to build instead.","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\": \"The AGI Illusion: Why Scaling LLMs Won’t Get Us There (And What Actually Will)\",\n  \"excerpt\": \"The industry keeps selling the idea that if we just add enough GPUs, next-token prediction will wake up. Here is why the LLM route to AGI is hitting a data wall, and what we actually need to build instead.\",\n  \"date\": \"2026-09-07T00:00:00.000Z\",\n  \"hero\": \"agi_cover2.png\",\n  \"author\": \"Luke Celitan\",\n  \"category\": \"Post\",\n  \"tech\": [\"AI\", \"Architecture\", \"LLMs\"],\n  \"slug\": \"agi-and-the-llm-wall\"\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\": \"the-billion-dollar-echo-chamber\"\n  }, \"The Billion-Dollar Echo Chamber\"), mdx(\"h2\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"If you sit in enough vendor meetings right now\\u2014or browse the timeline of any\\nheavily funded AI founder in 2026\\u2014you\\u2019ll hear the same underlying hum of\\nreligious certainty: \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Artificial General Intelligence is just a matter of\\nscale.\")), mdx(\"p\", null, \"The pitch goes like this: we take an autoregressive language model, feed it the\\nentire internet, wire up a data centre the size of a small European country,\\nspend a billion dollars on training compute, and somewhere around the\\nhundred-trillion parameter mark, the model wakes up, stops hallucinating, and\\nstarts doing our jobs.\"), mdx(\"p\", null, \"I\\u2019ve been writing for a while about the gap between AI hype and engineering\\nreality. Most recently, I ran a benchmark proving that\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/ai-cant-count-give-it-a-calculator\"\n  }, \"your shiny new model can\\u2019t even add a column of numbers\"), \"\\nwithout simulating it like a child doing long division out loud. But the AGI\\nconversation is different. It\\u2019s not just a debate over whether a model got the\\nmaths wrong; it\\u2019s an architectural fallacy masquerading as a roadmap.\"), mdx(\"p\", null, \"Right now, the industry is confusing the map for the territory. We are confusing\\nthe ability to \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"describe\"), \" reasoning with the ability to \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"actually reason\"), \".\"), mdx(\"p\", null, \"So let\\u2019s do what we always do here. Let\\u2019s strip away the marketing, look at the\\nhard data from 2025 and 2026, examine the actual mechanics of Large Language\\nModels, and ask the uncomfortable question: how far along the LLM route to AGI\\nare we actually, and is it even the right road?\"), mdx(\"h2\", {\n    \"id\": \"defining-the-goalpost\"\n  }, \"Defining the Goalpost\"), mdx(\"p\", null, \"Before we talk about whether we can get there, we have to define \\u201Cthere.\\u201D\"), mdx(\"p\", null, \"The tech industry loves to define AGI as \\u201Cpassing the Turing test,\\u201D or \\u201Cscoring\\nin the 99th percentile on the bar exam,\\u201D or \\u201Cpassing the medical boards.\\u201D But as\\nI\\u2019ve learned from building\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/local-ai-agents-llama-cpp-rust-ai-tools\"\n  }, \"local, sovereign agents in Rust\"), \",\\npassing a static benchmark is a trick of memorisation and interpolation. If the\\nanswers exist in the latent space of the training data, the model will find\\nthem. That isn\\u2019t intelligence; that\\u2019s search compression.\"), mdx(\"p\", null, \"Real AGI isn\\u2019t a test-taker. It\\u2019s an entity that can:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Operate in novel environments\"), \" where the rules aren\\u2019t in its training\\ndata.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Learn continuously\"), \" without needing a full, billion-dollar weight update.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Reason non-linearly\"), \", backtracking, simulating outcomes, and altering\\nstate before acting.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Maintain agency\"), \" over long horizons without requiring a prompt to push it\\nforward.\")), mdx(\"p\", null, \"If you look at that list, you realise the problem: the standard LLM architecture\\nis fundamentally opposed to almost all of it.\"), mdx(\"h2\", {\n    \"id\": \"the-data-wall-reality-check\"\n  }, \"The \\u201CData Wall\\u201D Reality Check\"), mdx(\"p\", null, \"Let\\u2019s start with the fuel that runs the entire operation: data.\"), mdx(\"p\", null, \"Back in 2024, researchers at Epoch AI and other institutions started sounding\\nthe alarm about the \\u201Cdata wall.\\u201D The hypothesis was simple: we are going to run\\nout of high-quality, human-generated text on the internet to train these\\nincreasingly massive models.\"), mdx(\"p\", null, \"Fast forward to late 2026. The data wall isn\\u2019t a hypothesis anymore; it\\u2019s the\\ndefining constraint of the industry. The stock of high-quality public text is\\neffectively exhausted. You cannot scrape Reddit, Wikipedia, and Stack Overflow\\nagain and expect a 10x capability leap.\"), mdx(\"p\", null, \"To circumvent this, the industry pivoted to two strategies:\"), mdx(\"h3\", {\n    \"id\": \"1-synthetic-data-the-ouroboros\"\n  }, \"1. Synthetic Data (The Ouroboros)\"), mdx(\"p\", null, \"Labs are now using frontier models to generate training data for the next\\ngeneration of models. On paper, it sounds elegant. In practice, it\\u2019s a\\nstatistical trap. Training a model heavily on AI-generated data leads to \\u201Cmodel\\ncollapse\\u201D over multiple generations. The distribution tails shrink. The model\\nbecomes an amplified version of its own biases. It learns how to write perfect\\nboilerplate code, but it loses the messy, human edge required to invent a\\ncompletely novel architectural pattern. Synthetic data is great for fine-tuning\\nspecific tasks, but it does not expand the frontiers of general intelligence.\"), mdx(\"h3\", {\n    \"id\": \"2-inference-time-scaling-thinking-out-loud\"\n  }, \"2. Inference-Time Scaling (Thinking Out Loud)\"), mdx(\"p\", null, \"Because pre-training on raw data hit diminishing returns, the focus shifted to\\n\\u201Cinference-time compute.\\u201D Models like the OpenAI o-series (and now GPT-6) are\\ntrained to spend more time \\u201Cthinking\\u201D before they output a final answer. They\\nuse iterative reasoning, chain-of-thought, and self-correction.\"), mdx(\"p\", null, \"This is a massive improvement, and it\\u2019s why these models are so much better at\\ncoding and math than the models of 2024. But let\\u2019s be clear about what is\\nactually happening: the model isn\\u2019t gaining AGI. It is just being forced to\\ngenerate thousands of hidden tokens\\u2014simulating a reasoning loop\\u2014because its\\nunderlying architecture still requires it to predict the next word to function.\"), mdx(Mermaid, {\n    chart: \"graph TD\\nA[Prompt Input] --> B[Generate Hidden Token]\\nB --> C{Is task solved?}\\nC -- No --> D[Generate Next Hidden Token]\\nD --> B\\nC -- Yes --> E[Output Final Answer]\\nstyle B fill:#e6f3ff,stroke:#333,stroke-width:1px\\nstyle D fill:#e6f3ff,stroke:#333,stroke-width:1px\\nstyle E fill:#d4edda,stroke:#333,stroke-width:2px\",\n    mdxType: \"Mermaid\"\n  }), mdx(\"p\", null, \"Inference-time scaling is an admission that raw next-token pre-training hit a\\nwall. We are applying a brute-force patch to an architectural limitation.\"), mdx(\"h2\", {\n    \"id\": \"the-arc-agi-illusion\"\n  }, \"The ARC-AGI Illusion\"), mdx(\"p\", null, \"To understand how deep the illusion goes, we need to look at Fran\\xE7ois Chollet\\u2019s\\nARC-AGI benchmark.\"), mdx(\"p\", null, \"Unlike the Bar Exam or standard coding tests, ARC-AGI doesn\\u2019t test memorisation.\\nIt tests fluid intelligence. It presents the model with novel visual-logic\\npuzzles it has never seen before, requiring the model to deduce the underlying\\nrule from a few examples and apply it to a test case. It is designed to be easy\\nfor humans and incredibly hard for AI.\"), mdx(\"p\", null, \"In 2025, the top scores were hovering around the 24% mark. By September 2026,\\nthe headlines exploded: OpenAI\\u2019s GPT-6 Astra achieved a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"99.9% score\"), \" on\\nARC-AGI-3.\"), mdx(\"p\", null, \"AGI achieved, right?\"), mdx(\"p\", null, \"Not exactly. If you dig into the paper, that 99.9% score was achieved using a\\nmassive, highly complex \\u201Charness\\u201D\\u2014a specialized scaffolding of software wrapped\\naround the model that forced it to generate code, test the code, verify the\\noutput against the puzzle, back-track, and try again, looping thousands of times\\nper puzzle.\"), mdx(\"p\", null, \"When researchers stripped away the scaffolding and ran the same GPT-6 Astra\\nmodel under a standard, minimal-interface harness, the score plummeted to\\n\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"62.7%\"), \".\"), mdx(\"p\", null, \"The LLM itself wasn\\u2019t reasoning. The \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"scaffolding\"), \" was simulating reasoning by\\nwrapping the LLM in a brute-force search algorithm. The model was just\\ngenerating code variations. Hitting a benchmark through exhaustive programmatic\\ntrial-and-error is not AGI. It is just better interpolation, wrapped in a\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"while\"), \" loop.\"), mdx(\"h2\", {\n    \"id\": \"the-economics-of-the-plateau\"\n  }, \"The Economics of the Plateau\"), mdx(\"p\", null, \"This brings us to the financial reality, which is usually where the hype train\\nderails.\"), mdx(\"p\", null, \"The exponential cost of training these models is colliding violently with the\\nlogarithmic gains in capability. Let\\u2019s look at the estimated training costs for\\nflagship models over the last few years:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Year\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Era\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Estimated Training Cost\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Notable Capability Leap\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"2020\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"GPT-3\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"~$4 Million\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Few-shot prompting, basic code generation\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"2023\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"GPT-4\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"~$100 Million\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Advanced reasoning, passing standardized tests\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"2025\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"GPT-5 / o1\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"~$300 Million\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Inference-time reasoning, advanced math/logic\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"2026/27\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"GPT-6 / Astra\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \">$1 Billion\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": \"left\"\n  }, \"Saturated static benchmarks, agentic workflows\")))), mdx(\"p\", null, \"Training costs are climbing by roughly 2.5x to 3.5x per year. We are approaching\\nthe billion-dollar threshold for a single training run. But are we getting a\\nbillion dollars worth of new intelligence?\"), mdx(\"p\", null, \"The industry\\u2019s own actions give us the answer. Notice how every major provider\\nnow ships \\u201Ctiered\\u201D model families? We have the Frontier tier (GPT-6, Claude 4.5\\nOpus), the Mid tier, and the Budget tier (Nano/Mini).\"), mdx(\"p\", null, \"Providers do this because the flagship models have become astronomically\\nexpensive to run, and for 95% of real-world enterprise tasks\\u2014routing data,\\nsummarising text, basic code autocomplete\\u2014the budget models from 2025 are\\nalready perfectly adequate. You don\\u2019t need a billion-dollar supercomputer to\\nparse a JSON payload.\"), mdx(\"p\", null, \"The performance at the very top of the leaderboard has converged. The massive\\ncapability leaps we saw from 2020 to 2023 have slowed into an expensive,\\nincremental grind. The industry is spending exponential capital for fractional\\ngains on edge-case reasoning, hoping that if they just push hard enough, the\\nmodel will suddenly learn to think.\"), mdx(\"h2\", {\n    \"id\": \"why-next-token-prediction-cant-reason-the-architecture\"\n  }, \"Why Next-Token Prediction Can\\u2019t Reason (The Architecture)\"), mdx(\"p\", null, \"Let me be precise about what an LLM actually is, because the anthropomorphism is\\nkilling our ability to engineer properly.\"), mdx(\"p\", null, \"An LLM is a phenomenal, high-dimensional statistical map of human language. It\\npredicts the most likely next token based on the context window. It doesn\\u2019t\\n\\u201Cthink.\\u201D It interpolates. When it gives you a brilliant architectural design,\\nit\\u2019s because a brilliant architectural design exists in the latent space it\\nmapped from human data.\"), mdx(\"p\", null, \"But true AGI requires breaking free from the context window entirely. Here is\\nwhy the architecture fails:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"The compute asymmetry:\"), \" As I showed in the\\n\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/ai-cant-count-give-it-a-calculator\"\n  }, \"counting experiment\"), \", LLMs have no\\ninternal state memory that persists outside of the context window. They\\ncannot update their internal model of the world without emitting a token. If\\nan AGI needs to silently simulate a complex 10-year business strategy, an LLM\\nhas to generate tokens for every single micro-step of that simulation. It is\\ncomputationally absurd.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"The novelty cliff:\"), \" LLMs interpolate beautifully between known concepts.\\nThey extrapolate terribly. Put an LLM in a genuinely novel situation with no\\nprior training data\\u2014like a newly invented programming language with zero\\ninternet footprint\\u2014and it hallucinates confidently. AGI requires robust\\nextrapolation.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"The static brain problem:\"), \" When an LLM learns something new in its context\\nwindow (e.g., you paste in documentation), that knowledge vanishes the moment\\nthe session ends. You can bolt on RAG (Retrieval-Augmented Generation) and\\nvector databases\\u2014which I advocate for highly in local setups\\u2014but that is\\nexternal tooling, not internal learning. The core weights remain frozen in\\ntime, unchanged until the next hundred-million-dollar training run.\")), mdx(Mermaid, {\n    chart: \"graph LR\\nsubgraph \\\"The LLM (Static)\\\"\\n    A[Context Window] --> B[Frozen Weights]\\n    B --> C[Next Token]\\nend\\nsubgraph \\\"True AGI (Dynamic)\\\"\\n    D[Environment State] --> E[Active Reasoning]\\n    E --> F[Weight Update / Learning]\\n    F --> G[Action]\\n    G --> D\\nend\\nstyle B fill:#ff9999,stroke:#333\\nstyle F fill:#99ff99,stroke:#333\",\n    mdxType: \"Mermaid\"\n  }), mdx(\"h2\", {\n    \"id\": \"what-actually-gets-us-there\"\n  }, \"What Actually Gets Us There?\"), mdx(\"p\", null, \"If LLMs are just the language centre of the brain, what does the rest of the\\narchitecture look like? We aren\\u2019t going to reach AGI by making the language\\ncentre bigger. We have to build the rest of the system.\"), mdx(\"p\", null, \"Here is the architectural shift I\\u2019m watching for over the next five years:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Neuro-symbolic systems:\"), \" We need to combine the fuzzy, probabilistic\\nbrilliance of neural networks with the hard, deterministic logic of symbolic\\nsystems. Give the AI a calculator; don\\u2019t ask it to be one. Let the LLM handle\\nthe semantic parsing, and hand the logic over to a deterministic solver.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Continuous local learning:\"), \" We need architectures where weights update\\ndynamically in real-time based on successful outcomes. An agent needs to\\nlearn that a specific bash command fails on a specific server, and remember\\nit tomorrow, without needing a billion-dollar cluster to re-train its\\nweights.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"True world models:\"), \" We must move beyond text prediction to predicting\\nphysics, state changes, and causal relationships. Video models are a baby\\nstep toward this, but they are still largely statistical. An AGI needs a\\ngrounded understanding that if it deletes a database table, the application\\ncrashes. Right now, it just knows that the word \\u201Cdelete\\u201D is often followed by\\nthe word \\u201Cerror\\u201D in its training set.\")), mdx(\"h2\", {\n    \"id\": \"final-thoughts\"\n  }, \"Final Thoughts\"), mdx(\"p\", null, \"Are we close to AGI? No.\"), mdx(\"p\", null, \"Are we close to highly capable, hyper-competent narrow agents? Yes. We are\\nalready there. If you build them right\\u2014with strict boundaries, typed toolchains,\\nand local control, exactly like we explored in the\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/local-ai-agents-llama-cpp-rust-ai-tools\"\n  }, \"Local AI Agents piece\"), \"\\u2014they will\\nabsolutely change how software is built and businesses are run.\"), mdx(\"p\", null, \"But the idea that an LLM will magically transition into Artificial General\\nIntelligence just by reading more synthetic data and running on a larger GPU\\ncluster is an illusion. We haven\\u2019t built a mechanical brain; we\\u2019ve built a\\nmechanical parrot with an eidetic memory and a silver tongue.\"), mdx(\"p\", null, \"The next leap in intelligence isn\\u2019t going to come from a bigger data centre.\\nIt\\u2019s going to come from an entirely new architecture that abandons next-token\\nprediction as the core engine of thought. Until then, stop waiting for the API\\nto wake up, and start building the guardrails.\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"The AI industry might be stuck on the data wall, but your engineering doesn\\u2019t\\nhave to be. If you want to see how to actually wire up bounded, reliable agents\\ntoday, check out my deep dive on\\n\", mdx(\"a\", {\n    parentName: \"em\",\n    \"href\": \"/local-ai-agents-llama-cpp-rust-ai-tools\"\n  }, \"building a native AI platform in Rust\"), \".\")));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["AI","Architecture","LLMs"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFIElEQVQ4yzWU+U/UZxDGv5FyybUcciMg930qoC4sNyw3LCyXiixyn7uwCBSQ+yqHoByCeGBsvWIs1tpqrWmqJm3atEnTpEnTpH/Jp+9+U3+YzOy+78w88zzvfCVzS3McHO2xOmqFwskeW3sbHBR2mJkfwcrGGk8fT46I2NLaQj4zxYaedv7542fevX7ON88e0XihnqSkBHx9vZGsbaxwclbg6eUuJ9g52GJhZc4xV2dKitWo87NxdXeRz+wVtphbfkJebiZXRoeIiY3G+ZgTtiInOfkkzi6OSKYLJkRePh4CpaWcqFSeJiDQn7HhATIz0tA11JKdpcJaIDbdP+bmTHp6KmERofgH+HHyVLwMwDSlVKDOwVEgNI1iQuvl7Ul7SxMPD/Z5+/VTVhdn+OntS5ZmxmltOi83NZmNrTUhIYEkJMbIKBVODngLeqT9rQ0y0pXymKaxC9V5DBsNvDp8wreCn8WZCb58eMBXT+5za3uDqKgwmV8TTUdFUdOYKtUZ4uOjiY2NRLq9s0F5aSEKIYymvJiWpovMTY6xv3WVlfkJpsaHaGtupKqynHv7O4wY++TGTi4KLAXSoOATdLbp5NgESiBcJ/VsCkFBJwTZWXR3tPLo3i0hSAF2Cns8vD1IOJkgc3bZ0CWo2CNZKGplYykrHxoWxP3bu3xxZ4fcbBXS5uoicbFRgjsPjvv50Nqs48b1NZJOJwtLIS09ncycbE4rlUhmEnk5GaQqUzCzMJMRubq5sLe5zr9//sJfv/6IdH11QebBw9ONirJijPoetteXRecQ4hMFsgwVyrRUSisryczNxcffl8BAPywEOhu7ozKPV0aM/Pb+DX///gFpZmKUwKAAqrQaDL1dLEyNs7OxTGGRmvLyMs6dq6O0tAg30TBINKnQlAkACvlFfLSB3g7evTrkwZ1dpOy8PMqqtOQXl1BXq2V5flouqEw9S01NNUqVipKSItGggOpqLYP6TiRJEo/cTh7XxdVJiNKMvqeTxdlJpLDISMKihEVGUCKS1hbnmBobRluloba2hsjoKCGOA/l5OaJwMcVCLNObi46OoLNVR77YmhGjntWlOTbXV5B6OlrwFoLExkTRomtgeW6aB3f32RPvc2l2ShQfoeF8vbyzB3ubVFZVUioQt11q5PXhYz69PCBz/t2LZ+xcu4q0fX2VuMQ4PMTqaSpKGDB08+mwgX59O026enSNdXS261hemOD9m+fMCI41lWX0dreJpmsUFeWzK/znd3e5IbzUnKjhfJiaUq8zNISr0fimUeieTLZjPOl20ahso8hyjEPtlkRtcDZX8lsYzGhAr6xnsrCd1oRyrtUPsVTRx0i2DskYomU2tZ3plBYmky4xn9bJ3Nl2FlVCcREvCpuIb2Q4tJbB4Gr6/MoxnNDQH6CRY2OQlu7jpfT6lqH3rxAFw6uZTmtjNquT2cwOFtR9TKa2sCT8UoGeReFH4i+gD6zAEFxJf0iVbB9jfZAGY6iWAWGm31JviIYOvyJ6gzXoQ8SlUJEQpqX1eCGd/iX0BJbTFVBGj7hnCBOFwrWyH4ispj+imqGYOnr/P+sLrUQKCQ7H18dPrJOKglw1N9fX+Gxygu2VZZ4e3OaHw6fc39li1HiZmdEx+ru6uFh3jsHePrQVVazPzxMTEU2WKlN8CwqQPHx9cPfxwlP4uFOJXF2ZF8u+w6vnj3n57AEfvn8hf+pN/929ucX42BDFYnP6+/soFM+nRixDoVA66YzY+6xM/gMUjgdqGdBBJwAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/1395b60047362fd2d001b28c3144c1df/a1946/agi_cover2.png","srcSet":"/static/1395b60047362fd2d001b28c3144c1df/5b37e/agi_cover2.png 236w,\n/static/1395b60047362fd2d001b28c3144c1df/49058/agi_cover2.png 472w,\n/static/1395b60047362fd2d001b28c3144c1df/a1946/agi_cover2.png 944w,\n/static/1395b60047362fd2d001b28c3144c1df/6050d/agi_cover2.png 1200w","srcWebp":"/static/1395b60047362fd2d001b28c3144c1df/99fbb/agi_cover2.webp","srcSetWebp":"/static/1395b60047362fd2d001b28c3144c1df/77392/agi_cover2.webp 236w,\n/static/1395b60047362fd2d001b28c3144c1df/1f177/agi_cover2.webp 472w,\n/static/1395b60047362fd2d001b28c3144c1df/99fbb/agi_cover2.webp 944w,\n/static/1395b60047362fd2d001b28c3144c1df/9000d/agi_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%2037v37h3c2-1%203-1%202%203v4l1-4c2-7%205-9%2010-4%206%205%2014%2025%2014%2033%200%207-14%2090-15%2091l-6%202c-8%200-9%201-9%204%200%202%200%203%201%202%200-2%202-2%202%201l-1%201H1l2%201h1l-2%202c-3%200-3%2035%200%2035%204%200%204%201%201%2018l-3%2017v120h41a324%20324%200%200043-2l-3-2h3l22%201a457%20457%200%200041-2h-6a232%20232%200%2001-37%200l-5%201a260%20260%200%2000-18-2l-1-11-2-12-1-5c0-6%200-6%202-5h39l-2%201-1%202-1%201c-3%200-7%203-9%206l-3%204%201-3%202-4c0-2-3-1-4%201s-3%203-4%202v3l-1%201v1l-1%201-1%202-2%203-2%204v4l5-1c0%201%201%201%202-1l1-2c-2-2-1-6%201-7h2c2%201%206-3%208-7%202-5%202-5%206-5l8-1c4%200%204%200%204%203v3l1-3%201-3h19l4-1c4%200%205%200%205%204v3h-5c-4%200-5%200-5-2-1-1-1%200-1%203%200%202%200%203%201%202%200-2%201-2%205-2l5%201v7c1%2010%202%2010%202%200%200-7%200-8%202-8l4%201%202%202c1%202%201%202%201%200%200-3%200-3-5-3-5-1-5-1-5-5%200-3%201-3%204-3%202%200%203%200%203-2%200-1%200-2%202-2%203%200%203%204%200%204-1%201%201%201%204%201%205%200%205%200%204-1-3-3-3-5%200-5l2%202%204%201c4%200%204%200%204%202-1%202%200%205%201%208v6h-1l2%201h3l-2-6a95%2095%200%2001-3-12l1-2%201%202h1l1-2%201%202v2l1%201c-1%201%200%201%201%201%203%200%203%200%203%203%200%201%200%202%201%201%201-4%203-2%205%204s2%206%202%202l-2-5%201-2%201%201h1c1-1%201%200%203%204l3%202c-1-2%200-2%201-2%202%200%202%200%201-1-2-1-2-2-2-7s0-5%203-5c2%200%202%200%202%206l1%208c1%201%201%200%201-7v-7l1%205%201%208c-1%202%200%203%201%203l2-1-1-1-1-7-1-7h8l1%2019c-1%201%200%201%201%202%202%201%202%201%202-1l1%201v-22l1%202%201%203v-3c0-3%203-2%204%201l1%204v-4c0-4%203-4%203%201l1%203%201%2010%201%2013c2%204%203%204%202-1l1-5%201-10%201-9%202-2c0-2%201-3%205-3%203%200%204%201%204%202l-1%202c-4%200-6%2021-2%2023%202%202%201%207-1%207s-3%200-2%202h2c0-1%202-1%204%201l3%202c-1%201%200%201%202%201l4-1c-1-1%202-1%208-1l9%201c-1%201%201%201%205%201h6l-5-1c-5%200-4-1%204-1h10l-1-4%201-3%201%205c0%201%207%202%2010%201l2%201-10%201c-7%201-3%201%2010%201h19v-5l1%203%202%202c3%200%205-2%204-6l1-7%201-3%202%204%201%207c0%204%202%205%203%203l4-1c3-1%203-1%203%201s1%202%204%202l4-1c-1-1%200-1%201-1l3%201%2014%201h14v-59c0-57%200-72-2-69-1%201-2-1-2-5%200-2%200-2-1-1v14l-2%205-5%201-4-1%201-1-3%201c-1%201-2%200-2-1h-1c0%202%200%202-1%201-2-3-6-3-5-1%200%202%200%202-19%202l-22-1c-1-2-1-3%207-6%207-4%2012-5%2014-3%202%201%203%200%201-3-1-2-4-2-14%201a22%2022%200%2001-7%201l-2%203v-1l-1-1h-1l2-2v-2h2c-1-1%200-2%202-2l1-1-3-1c2-2%200-3-1-2l-1%202v1c-2%200-2-1-1-5%200-2%200-2%201%200%201%201%201%201%201-2%200-2%200-3%202-3l4-1%205-1%209-2-2-2-1%201v-3c0-4%200-5-1-3s-1%201-1-3l1-6%204%201c2%200%203%200%202-1v-1h-1c-3%200-3%200-1-1%201-1%201-1-1-1-1%201-2%200-2-1l2-1c2%200%204-3%204-4-1-3%202-2%205%200l1%202-2%201h9l-1-1-1-1-1-2h-1l-1%202v-9l-1-3v3c0%202%200%203-1%202l-2%201-1%202-2-1%201-1v-2c1-1%200-3-2-3l-1%203%201%204h-5c-6%201-5%201-5-6l-1-4c-1%201-1%200-1-3v-3c0-4%200-4-1-3s-1%201-1-2v-2c-1%201-1%200-1-3%201-6%203-9%205-6%201%201%201%201%201-1%201-1%201-1%201%201l1%203%203-3c3-3%203-3%203-1l1%202c1%200%201-3-1-8v-5l-4%203-4%203c0-1%201-3%204-5l2-4-3%203c-3%203-4%203-4-2l-6-29c-7-29-7-28%207-30l5-1h-5c-2%200-4%200-3-1l-1-1-1%202-2%201v-8c-1-5-1-9%201-6h1l-1-2v-1l-1-1c-2%200-1-4%201-5l1-4c0-5%204-8%2010-8l8%201h2c0-2%204-4%209-3l8-1c2-2%208-1%207%200l-11%202-2%201c1%201%200%202-2%202-4%200-8%201-6%202s-2%203-8%204c-4%200-7%201-7%202%200%202-3%205-5%205-1%200-2%200-1%201%204%201%204%201%201%202l-3%201h3c5%200%207%202%208%209s1%207%205%207l3%201%203%201%204%201%206%201%201%202%203%201%204%202%207%204%205%203%203%203%203%201V85l-3%202c-4%204-5%203-1-1%204-3%204-4%203-8l1-4%201-38V0h-14c-13%200-15%200-13%202s1%2026-1%2028c-2%204-6%2011-5%2012h-1l-1-1c1%202-14%2016-16%2015l-1%201-1%201-7%202c-8%203-23%204-31%202-10-2-24-9-28-14l-3-3-1-1-1-3c-2-1-7-12-8-15v-6l-2-6v-1c1%200%202-1%202-4l1-6%201-3H0v37M360%202v1c-1-1-2%200-2%201%200%202-3%203-4%201h-9v1l1%204c0%202%200%203-2%203h-2c-3%200-2%202%201%204s3%203%200%202h-2c0%202-3%201-4-1h-2l-2%201-2%203c-1%202-1%201-3-4%200-2-2-1-2%201l-1%201-1%202c1%203%200%203-2%200l-2-1-1-1h-4c-2-1-2-1-2%201v3l-1-5-1-3c-2%201-2%205%200%209l-1%202h-5l1-3v-2l2%202c1%202%201%202%200%200v-5h-4l-2%202-1%201-1%203c0%203-2%208-2%205s-4-2-5%202c0%202-1%203-4%203s-3%200-2-1v-2c-2%200-2-1-2-2%201%200%201-1%200%200v-1l-1-4-1-7v-5l-1%201h-1v1l-1%201c-1-1-1%200-1%201%200%204-2%206-3%203-1-1-1-1-1%201l2%205c3%202%203%202%201%204v3c2%202%203%206%201%205-2-2-1%201%201%204%205%206%2013%2011%2020%2013l11%203c9%204%2022%202%2035-4l5-2c2%200%206-3%208-6l2-2%201-1c0-1%200-2%201-1l1-1v-1c2%202%209-18%209-23l-1-9c-1-7-2-9-3-7h-1l-4-1c-3%200-4%200-4%202M154%2036h-2c-2%200-29%207-28%208l12-3%2013-2-1%209c-2%2010-3%2013%200%2011h1l1%201h3l-5%201-5-1c0-1-9%200-15%202-4%201-4%201-2%202l1%203c-1%202-1%202-1%200s-3-4-5-3l2%201c3%200-1%202-5%203-4%200-6%202-6%206v4l-1-4-1-2-1%202c-2%201-2%207%200%207l1-1h1v2c-1%201%200%209%201%209l2-3c1-3%201-3%201-1s0%203%202%202v1l-1%201-3%202c-2%202-2%202%200%204l2%203%201%201%202%201%201%202v-4l1-6c1-2%201-1%201%206v8l4-1-5%202-18%206c-10%204-11%204-11%207v3l4-2%204-2h1l5-1%206-2c2%200%202%200%200%201l-23%209-1%205-1%204h-1l1%202%201%201%201%202v4c1%200%201%201-1%201-1%202-1%202%202%202%202%200%203%200%203%202s0%202%201%201c2-2%201-5-2-6-2-1-2-1%200-1s2-1%202-5c0-6%202-15%202-10%200%203%201%204%203%202%201-1%201%200%201%204l-1%206v-4l-1-4c-1%200-2%201-2%205-1%206-1%205%207%203l-1%202-3%202c-2-2-3%201-3%209v8l3-1%205-1c2%200%202%200%200%201-3%201-3%202-3%205%200%204-1%204-1%200%200-3-1-3-3-2l-6%201-2%201%204%201c3-1%205%202%204%204l-1%204-1-2-1-4v8c2%201%203%205%201%204-1%200-2-1-1-2l-1-1-1-2c-1-2-2-2-4-2-6%200-6%202-1%202%203%200%204%200%203%201l-1%202-1%202v-2c0-2%200-2-2-2-4%200-4%200-4%2010v7c2-1%2010%200%2011%201%201%202%202%201%202-1l-1-3c-1%200-2-1-2-3l1-4%203-1c5-3%205-1%201%2011-2%205-2%207-1%208v2l-1%201v2c-1%201-2%202-2%205%200%204%200%204-1%201%200-3-2-4-2-1l-1%203c-1%201%200%2010%201%2010l1-5%201-2a1574%201574%200%20000%2044v4h6c-2%201-3%202-3%204%200%203%200%203-1%201-1-6-4-4-5%203%200%204%200%204%202%204l9-2c6-2%207-2%207-4%201-2%201-2%201%200s0%202%202%202a129%20129%200%200126-4l19-1h11v-8l1%204c0%203%200%203%201%202%201-2%201-2%201%200s1%202%2014%202c20%201%2040%205%2059%2012%2011%203%2012%203%2012-2%200-2-1-3-5-4-6-3-5-4%201-1l4%201-1-7-2-3-2-2h1c2%200%203-1%200-3v-1l2%201c1%202%201%201%201-4v-5l-4%202-4%202%202%202c3%202%202%203-2%200l-4-2-1%206c0%206%200%207%202%209l2%202h-2l-3-1v-8c0-11%200-14-5-16-3-1-4-2-3-4l1-3c-1-1-2%200-2%203l-2%202-2-1%201-2c2-3%203-4%200-4v-1c1-2%200-3-2-1s-1%200%200-3l2-3c0-1-1-1-2%201-2%203-4%202-2-1v-2l-2%202-1%202v-2c-1-3-3-2-3%202%200%202%200%202%202%201h1c0%201%201%202%202%201l1%203-1%204-2%201v-3l-1-4-1%203c0%203%200%203-3%202l-1-1c2%200%203-6%201-6l-1-2c0-6-1%201-2%209h-1c-2-2-2-1-3%2011v12l-12-1a197%20197%200%2000-29-3l2-3%201-4c2-1%201-3-1-2l-1%201h-2c-1-1%201-3%204-3l2-1-1-1v-2h5c2-3-6-10-8-7l-3%201-2%202h-5l2-1h3l-1-1-1-1v-1h-1l-2%201c-2%202-3%201-3-3%200-5-1-6-2-4l-3%201c-2%200-2%200-2%203v2l-2%202c0%202%200%202-1%201s0-2%201-3l3-2h-6c3%200%203%200%202-2l-5-1h-2c1-1%200-1-2-2-3-1-3-1-3-7l-1-7c-1%200-2%202-2%208v9h3c3%200%203%200%201%201l-2%202h-1c-2-1-3%200-3%203%200%202%203%203%203%200l1%202c1%203%200%204-2%204s-2%200-1-1v-1c-2%200-5%202-3%202v1l-1%207-1%207-1-3c0-4-1-6-2-7l-1-1h1l1-1-1-3h-1l-1%209v8h3l4-1%201-1h2c2%202%203%200%203-6%200-7%201-10%203-10v1l-1%209v8h-4l-9%201h-4v-36c0-1-1-1-3%201-3%202-4%202-2%200v-16l1-7v6c0%205%200%207%202%208%201%201%201%201%201-2%200-11%201-16%204-17l3-1-3%201h-3v-10a594%20594%200%20003-19v-14l-2-1c0-2%200-2%201-1l2%201v-11c1%201%201%200%201-4s0-6%202-7c2-2%201-7-2-6v-1c0-3%204-2%203%200%200%202%200%202%201%201h1l1-2h1c1%201%201%201%201-1h1l1%202v-7l1-3c0-2%200-2%201-1h9c37-5%2090%2012%20113%2035%2011%2011%2013%2021%206%2034-3%206-11%2015-11%2012l-2-2-1-1c1-2-2-3-5-3s-3%2010%200%2010v1c-2%200-2%201-2%208l1%2011c0%203%200%203%202%202h1l3%202c3%200%203%202%200%201-2%200-2%200-1%201l3%201h2v-13l-1-12%205-5c11-12%2014-23%2012-36v-4c0-5-6-13-14-20-5-4-6-5-5-10l4%203%204%202c1-1%201-1%201%201v1c1-1%201-1%201%201l2%202%201-1%201-2%201-2%202-3c2-1%202-2%202-6%200-8-2-11-4-5l-3%205c-2%202-2%202-2-1-2-7-3-10-5-12l-4-6c-2-2-2-3-3-2l-1-2v-3c2%200%200-4-5-16-3-6-5-10-6-9l-3-5-4-8c-6-6-27-17-28-15-1%201-1%201-1-1-1-3-23-9-34-9-6%200-3%202%206%204%2015%202%2018%203%2019%207l3%2015h-7l-17-2%207%202c5%200%205%201%203%201h-4l1%206c0%205%200%206-1%204l-1-7c0-3%200-4-2-4l-5-1h-3l-2%208-1%208%204-2%205-2%205%203%206%203-2%203c-3%203-2%204%203%204%203%200%203%200%202%201l-2%201h-3c-7%200-10%201-11%206h-1c0-2-1-2-4-2-2%200-3%200-1%201l2%202c1%202%200%203-2%200-2-1-2-1-1%204v6h9l11%202c4%200%204%200%204-3v-1c1%202%201%202%202-1l1-5%201-1c5%200%205%200%203%201-1%201-1%201%201%201h2c-1%201%204%202%205%201l1%201%204%202%2010%204%206%203v5c0%205%200%206-1%205a206%20206%200%2000-28-9c-12-3-32-5-46-4-9%201-9%201-9%204%200%202%200%202-1%200%200-2-1-2-4-2s-3%200%202-1c8-2%2011-2%2018-2h7V94a170%20170%200%20012-27l1-4v-2c-9-1-11-2-3-2%205%200%205%200%205-2l-2-8c0-13-1-14-3-14l-4%201m-40%2012l-7%204v7l-1%209c-3%202-2%202%203%201l5-2c1%200%202%200%201-1l1-1h2l1-2c-1-1%200-6%201-10l2-9-8%204m85%201a98%2098%200%20016%2021c2%201%205%2021%203%2022-1%201-1%201%201%201%202%201%202%201%202-2l-3-19%204%201h5v1h1c3%200%208%203%206%204l1%202c4%202%205%202%203%200l-4-12-4-11-11-5c-6-3-10-4-10-3M17%2081l-7%2040c-9%2046-9%2045-9%2051a488%20488%200%200015-77c2-10%203-16%202-17-1-2-1-2-1%203m86%203h-1v1c1%201%201%201-1%201l-3-1-3%2011c0%202%200%202%203%201%202-1%202-1%201-4v-5c1-1%201-1%201%202l3%207%204%207c2%203%202%203%204%202l3-1-3-5-3-10c-1-5-2-7-4-7l-1%201m118%206l-3%203-2%202-1%202v4c-1%203-1%203%204%203l1%202%201%201%201%206c0%207%200%207%202%208%203%201%203%202%203%204-1%203%200%203%202%204h3l-2-1c-1%200-2-1-2-3s0-2%203-1l4%202-5-4-7-3v-13l4-2%203-3%202-2c2-2%200-8-3-8h-1l-2-3-5%202M65%20101l-1%203%201%202h-2c0%202%200%202%202%202v1l1%202v6h-5v-1l-1-1-3-1-2-1%201%202%201%202c-1%202%203%205%206%204l4-4%202-2%202%201%201-1%202-2c3%200%203%200%202%201v1h1l1%201%201-2%201-2%202-1c1-2%201-3-3%200-2%201-2%201-4-1s-4-3-3%200h-1l-2-4c-1-3-1-3-2-2h-2l1-1%202-4-3%202m25%203l-7%205%203-1c4-3%204-3%203%203l1%204h1c0%202%201%202%204%200%203-1%203-1%202-5v-3l1%203c1%204%201%204%209%201%204-2%204-2%202-3l-4-4c-1-3-1-3-4-2l-3-1c0-2-1-1-8%203m26%2032a481%20481%200%20000%2011c0-4%201-5%202-3%201%201%201%200%201-2%200-4%200-4-1-2-1%201-1%200-1-3v-5l-1%204m123%2037c0%204%200%205%202%205l2%202h-1c-2%200-2%201-2%204s0%204%202%204l4%202a900%20900%200%20011-14c0-3-1-4-4-5-4-3-4-3-4%202m-178%208l1%203h2c1%201%200%203-1%204h-1c0-1%200-2-1-1l-1-1c1-2-1-5-4-5l-4%203-1%202c0-2%200-2-2-2-2%201-4%200-2-1l1-2-4%203h1v2l-2%205h1c1-2%205-3%209-3l2-2%203-3v2c-2%203-2%204%200%204h1l1%201h2c1%202%203%200%203-2s0-2%201-1c2%204%203%202%201-2l-4-5c-4-1-5-1-2%201m13%201c-1%200-2%201-2%203-1%203%200%203%202%203v3c-2%202-2%202-2%200l-2-1%201%204%202%209c0%204%200%205%201%203s1-2%201%201l1%208v3c3-2%201%203-3%206l-3%203%204-2c3-2%203-2%202%200l-1%203%206-4%201-1h2c2-1%202-1%200-2v-1l2-1-3-1c-2%200-2%200-1-5%201-4%201-6-1-10l-2-5v-2c-2-1-2-2-2-5%200-2%200-3-2-4-2%200-3-1-1-2h2c2-1%201-4-2-3m53%2017c-1%2013-1%2016%202%2015%201-1%201-2-1-4v-2h2l-1-1v-2c1-2%202-2%202-1%201%201%201%200%201-1%200-2%201-4%203-5%203-2%205-2%202%201l-1%204h1c0-1%201-2%202-1%201%200%202-1%202-3%201-3%201-3%202-2%200%202%201%202%201%201%201-1%202%200%203%203l3%203-2-4c-2-4-3-5-7-6l-7-4-3-1-2-1c-2-2-2%200-2%2011m249-6l-2%201-1%201h-1v1l-3%202c-3%202-4%202-5%200h-1v1c-1-1-3%200-4%201s-3%202-4%201v2c-1-1-1%200-1%203v5l-1-4-3-8%204%2017c0-1%202-4%204-4l1-1%201-1%201%201%201-1%206-4c12-5%2013-5%2012-6v-2c1-2%203-2%208-1l5%201c-1%200-1%201%201%202h2c1-1%201-1%201%201%202%203%202%202%203-3%200-5%200-5-2-4l-3-1-4-1h-9c-4-1-5-1-6%201m1%2017l-4%202c-3%200-4%201-2%201l2%206%202%205%208-5c1-1%200-1-1-1v-1c2-2%202-2%200-2-2-1-2-1-1-2l1-2-1-1h-4m-58%207l-7%201c-11-1-13%201-14%2010-1%206%200%206%201%206%202%200%202%200-1%202l-2%202v15c0-7%200-7%202-7s2%200%201%201c-3%202-1%209%201%209s2%200%200%201l-2%203-1%201v2l1%2013%202%2010h19v-3l-2-4-1-1%201-1c2%202%202-1-1-4s-5-9-2-9l3-3%203-3h5c5%200%209-1%206-3-2-2%201-1%204%200l6%201c5-1%205-2-1-3l-6-1-3-1-4-1c-1-1-1-1%201-1%203%201%207-1%205-3-1-2-15%200-17%202s-2%202-2-3l-1-5%201%201%201%202v2h1l14-1%2014-1v-5l-1-1%202-1%201%201%202%201%201-2v-3l4-1c0-2-4-1-5%200l-2%201c-2-1-2-2-1-3%202-3%200-2-3%201l-4%202-2%202c-1%202-3%203-5%201-1-1-2-2-3-1l-1-1h-1c-2%201-2%201-3-1s-5-1-6%202c-2%203-4%203-7%201l-4-2-1-4-3-5c-1%200-1-1%201-1%202-1%202-1%201-2l-1-1%2011-2c8-1%2014-3%208-3l-3%201M88%20228c-2%204-2%207-1%207v3l-2%205h-4v1l1%209v4l-1-8c0-4%200-4-2-3l-1%203-1%203v1l1%202-1%201c-1-1-1%200-1%201l-1%204-1%206c-1%205-1%205%201%205s3-1%203-8c0-10%201-10%201%200v8l1-7%201-7v12h3c4-1%204-2%205-15v-22c-1%201-1%201%200%200v-6l-1%201m172%207c8%205%2012%2015%2010%2027-1%207%200%2015%202%2016l1-2v-2l1-4%201-9v-5c-1-1-3-8-2-10l-1-1-1-1c-1-3-11-11-13-11-1%200-1%201%202%202m-113%204v2l-2%202-2%203h-3c-3%200-3%200-1%202l3%201c4-1%208%209%203%2010-2%201-3-1-3-3l-1-1v2c1%203%201%203-3%203h23c2%200%202%200%201-4s-2-5-4-5c-3%200-3-3%201-4%202%200%203-1%203-2%201-1%201-2%202-1l2-1c0-2-2-2-5%201l-4%201-2%201h-4l1-2%202-2c0-4-1-4-3%201-2%202-2%204-1%205v2c-1%201-2-2-2-6l1-3c2%200%203-3%201-3-2-1-2-1-3%201m54%204c-5%203-6%205-2%203%201-1%201%200%201%208%200%207%201%2011%202%207h1c0%202%202%203%202%201l1-4v-2l-1%202c-2%203-2%200%200-3%201-4%202-12%200-9v-2c2-4%201-4-4-1m-24%203c-1%201-1%205%201%206v-6l1%203%202%203c1%201%200%201-2%201l-3-1-1-1h-3l3%202%201%201c0%202%206%202%207%200l2-1v1l-1%201h1c2-1%202-1%201%202%200%204%201%204%203%200l1-2v5l2-2v-2c2-4%202-5%200-5-1-1-1-1%200%200l-1%201h-2l-1%201c-2%200-2-1%201-3l1-2c-2%200-4%201-4%203l-1%201v-1l-1-1-2-2c0-2-1-3-2-3-2-1-1-1-3%201m-166%201h-1l-1-1-4%2013-3%2016c0%202%200%203%207%203l9%201c1%200%202-2%204-14l1-17a4170%204170%200%2001-7%2018l-1-2c0-2%200-2%201%200v-3c0-3%200-4%201-3v-4l1-6v-1c-3-2-6-2-7%200m283%2022h-1c-1-1-1-1-1%201-1%202%200%202%201%202%202-1%201%201-2%202l-3%204-1%205%201%201h1c0%201%207%203%208%202v-10c0-6-1-6-2%200v-9l-1%202m-39%208l1%202-1%204c-1%203-1%203%202%203l3-1h1l3%201c2%200%203%200%202-1h2c4%202%206%201%206-2-1-3-4-4-4-1-1%202-1%202-1%200s-1-3-2-3-2%200-1%201c0%202-1%201-6-1l-5-2M75%20315l-4%208c-2%206-2%209%201%205l4-2%204%202c3%204%203%201%200-6-2-7-4-9-5-7m11%202c-5%207%200%2015%209%2013%203-1%203-1%203-5%200-3%200-3-3-3l-3%201%202%201%201%202c0%202-1%202-3%202-4%200-5-2-5-6%200-5%203-7%207-5%203%201%205%200%202-2s-8-1-10%202m78%203c-4%205-1%2010%204%2010s7-5%204-10c-1-3-6-3-8%200m101%2042c0%202%206%203%207%201%200-1%209-3%2010-1l1%203c1%203%200%203-4%204-5%200-5%201%205%201l10%201%202-1%201-4c-1-2%204-3%2010-3l3-1-1-1h-8c-7%200-8%200-9%202l1%204v1c-2%200-2-1-2-4v-3l-13-1c-12%200-13%200-13%202m56-2c-1%202%201%2015%203%2015h1l2%201%201%202%202%201c1-1%201%200%201%201%200%202%200%202-3%201-3%200-3%200-2%201l3%202c3-1%205%201%205%206%201%204%201%204-1%203-1-2-1-2-1%200l-2%202c-4%200-2%201%203%201l4%201v-11l-1-14-2-11-2-1-2%202h-2c-1-2-6-3-7-2m-49%2013h-3l-2%201%203%201c4%200%205%202%205%2011%201%2010%201%2011%205%2010%202%200%203-1%202-4%200-2%200-3%201-2l1%201c2%200%202%200%201%201-3%203-1%204%209%204l9-1c0-1-2-2-9-1-5%200-8%200-6-1%204%200%207-2%207-4%200-1%208-2%209-1v-4c0-7-1-8-1-3%200%204%200%204-2%204-3%200-4-2-4-9v-3h-8l-7%201-3%201-4-1%203-1%203-1c0-1-8-1-9%201m-68%2025l-8%201h55a130%20130%200%2000-37-1h-10'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFIElEQVQ4yzWU+U/UZxDGv5FyybUcciMg930qoC4sNyw3LCyXiixyn7uwCBSQ+yqHoByCeGBsvWIs1tpqrWmqJm3atEnTpEnTpH/Jp+9+U3+YzOy+78w88zzvfCVzS3McHO2xOmqFwskeW3sbHBR2mJkfwcrGGk8fT46I2NLaQj4zxYaedv7542fevX7ON88e0XihnqSkBHx9vZGsbaxwclbg6eUuJ9g52GJhZc4xV2dKitWo87NxdXeRz+wVtphbfkJebiZXRoeIiY3G+ZgTtiInOfkkzi6OSKYLJkRePh4CpaWcqFSeJiDQn7HhATIz0tA11JKdpcJaIDbdP+bmTHp6KmERofgH+HHyVLwMwDSlVKDOwVEgNI1iQuvl7Ul7SxMPD/Z5+/VTVhdn+OntS5ZmxmltOi83NZmNrTUhIYEkJMbIKBVODngLeqT9rQ0y0pXymKaxC9V5DBsNvDp8wreCn8WZCb58eMBXT+5za3uDqKgwmV8TTUdFUdOYKtUZ4uOjiY2NRLq9s0F5aSEKIYymvJiWpovMTY6xv3WVlfkJpsaHaGtupKqynHv7O4wY++TGTi4KLAXSoOATdLbp5NgESiBcJ/VsCkFBJwTZWXR3tPLo3i0hSAF2Cns8vD1IOJkgc3bZ0CWo2CNZKGplYykrHxoWxP3bu3xxZ4fcbBXS5uoicbFRgjsPjvv50Nqs48b1NZJOJwtLIS09ncycbE4rlUhmEnk5GaQqUzCzMJMRubq5sLe5zr9//sJfv/6IdH11QebBw9ONirJijPoetteXRecQ4hMFsgwVyrRUSisryczNxcffl8BAPywEOhu7ozKPV0aM/Pb+DX///gFpZmKUwKAAqrQaDL1dLEyNs7OxTGGRmvLyMs6dq6O0tAg30TBINKnQlAkACvlFfLSB3g7evTrkwZ1dpOy8PMqqtOQXl1BXq2V5flouqEw9S01NNUqVipKSItGggOpqLYP6TiRJEo/cTh7XxdVJiNKMvqeTxdlJpLDISMKihEVGUCKS1hbnmBobRluloba2hsjoKCGOA/l5OaJwMcVCLNObi46OoLNVR77YmhGjntWlOTbXV5B6OlrwFoLExkTRomtgeW6aB3f32RPvc2l2ShQfoeF8vbyzB3ubVFZVUioQt11q5PXhYz69PCBz/t2LZ+xcu4q0fX2VuMQ4PMTqaSpKGDB08+mwgX59O026enSNdXS261hemOD9m+fMCI41lWX0dreJpmsUFeWzK/znd3e5IbzUnKjhfJiaUq8zNISr0fimUeieTLZjPOl20ahso8hyjEPtlkRtcDZX8lsYzGhAr6xnsrCd1oRyrtUPsVTRx0i2DskYomU2tZ3plBYmky4xn9bJ3Nl2FlVCcREvCpuIb2Q4tJbB4Gr6/MoxnNDQH6CRY2OQlu7jpfT6lqH3rxAFw6uZTmtjNquT2cwOFtR9TKa2sCT8UoGeReFH4i+gD6zAEFxJf0iVbB9jfZAGY6iWAWGm31JviIYOvyJ6gzXoQ8SlUJEQpqX1eCGd/iX0BJbTFVBGj7hnCBOFwrWyH4ispj+imqGYOnr/P+sLrUQKCQ7H18dPrJOKglw1N9fX+Gxygu2VZZ4e3OaHw6fc39li1HiZmdEx+ru6uFh3jsHePrQVVazPzxMTEU2WKlN8CwqQPHx9cPfxwlP4uFOJXF2ZF8u+w6vnj3n57AEfvn8hf+pN/929ucX42BDFYnP6+/soFM+nRixDoVA66YzY+6xM/gMUjgdqGdBBJwAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/1395b60047362fd2d001b28c3144c1df/3ddd4/agi_cover2.png","srcSet":"/static/1395b60047362fd2d001b28c3144c1df/078a8/agi_cover2.png 163w,\n/static/1395b60047362fd2d001b28c3144c1df/e56da/agi_cover2.png 327w,\n/static/1395b60047362fd2d001b28c3144c1df/3ddd4/agi_cover2.png 653w,\n/static/1395b60047362fd2d001b28c3144c1df/c5cc7/agi_cover2.png 980w,\n/static/1395b60047362fd2d001b28c3144c1df/6050d/agi_cover2.png 1200w","srcWebp":"/static/1395b60047362fd2d001b28c3144c1df/0acdf/agi_cover2.webp","srcSetWebp":"/static/1395b60047362fd2d001b28c3144c1df/ac59e/agi_cover2.webp 163w,\n/static/1395b60047362fd2d001b28c3144c1df/7660b/agi_cover2.webp 327w,\n/static/1395b60047362fd2d001b28c3144c1df/0acdf/agi_cover2.webp 653w,\n/static/1395b60047362fd2d001b28c3144c1df/75470/agi_cover2.webp 980w,\n/static/1395b60047362fd2d001b28c3144c1df/9000d/agi_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%2037v37h3c2-1%203-1%202%203v4l1-4c2-7%205-9%2010-4%206%205%2014%2025%2014%2033%200%207-14%2090-15%2091l-6%202c-8%200-9%201-9%204%200%202%200%203%201%202%200-2%202-2%202%201l-1%201H1l2%201h1l-2%202c-3%200-3%2035%200%2035%204%200%204%201%201%2018l-3%2017v120h41a324%20324%200%200043-2l-3-2h3l22%201a457%20457%200%200041-2h-6a232%20232%200%2001-37%200l-5%201a260%20260%200%2000-18-2l-1-11-2-12-1-5c0-6%200-6%202-5h39l-2%201-1%202-1%201c-3%200-7%203-9%206l-3%204%201-3%202-4c0-2-3-1-4%201s-3%203-4%202v3l-1%201v1l-1%201-1%202-2%203-2%204v4l5-1c0%201%201%201%202-1l1-2c-2-2-1-6%201-7h2c2%201%206-3%208-7%202-5%202-5%206-5l8-1c4%200%204%200%204%203v3l1-3%201-3h19l4-1c4%200%205%200%205%204v3h-5c-4%200-5%200-5-2-1-1-1%200-1%203%200%202%200%203%201%202%200-2%201-2%205-2l5%201v7c1%2010%202%2010%202%200%200-7%200-8%202-8l4%201%202%202c1%202%201%202%201%200%200-3%200-3-5-3-5-1-5-1-5-5%200-3%201-3%204-3%202%200%203%200%203-2%200-1%200-2%202-2%203%200%203%204%200%204-1%201%201%201%204%201%205%200%205%200%204-1-3-3-3-5%200-5l2%202%204%201c4%200%204%200%204%202-1%202%200%205%201%208v6h-1l2%201h3l-2-6a95%2095%200%2001-3-12l1-2%201%202h1l1-2%201%202v2l1%201c-1%201%200%201%201%201%203%200%203%200%203%203%200%201%200%202%201%201%201-4%203-2%205%204s2%206%202%202l-2-5%201-2%201%201h1c1-1%201%200%203%204l3%202c-1-2%200-2%201-2%202%200%202%200%201-1-2-1-2-2-2-7s0-5%203-5c2%200%202%200%202%206l1%208c1%201%201%200%201-7v-7l1%205%201%208c-1%202%200%203%201%203l2-1-1-1-1-7-1-7h8l1%2019c-1%201%200%201%201%202%202%201%202%201%202-1l1%201v-22l1%202%201%203v-3c0-3%203-2%204%201l1%204v-4c0-4%203-4%203%201l1%203%201%2010%201%2013c2%204%203%204%202-1l1-5%201-10%201-9%202-2c0-2%201-3%205-3%203%200%204%201%204%202l-1%202c-4%200-6%2021-2%2023%202%202%201%207-1%207s-3%200-2%202h2c0-1%202-1%204%201l3%202c-1%201%200%201%202%201l4-1c-1-1%202-1%208-1l9%201c-1%201%201%201%205%201h6l-5-1c-5%200-4-1%204-1h10l-1-4%201-3%201%205c0%201%207%202%2010%201l2%201-10%201c-7%201-3%201%2010%201h19v-5l1%203%202%202c3%200%205-2%204-6l1-7%201-3%202%204%201%207c0%204%202%205%203%203l4-1c3-1%203-1%203%201s1%202%204%202l4-1c-1-1%200-1%201-1l3%201%2014%201h14v-59c0-57%200-72-2-69-1%201-2-1-2-5%200-2%200-2-1-1v14l-2%205-5%201-4-1%201-1-3%201c-1%201-2%200-2-1h-1c0%202%200%202-1%201-2-3-6-3-5-1%200%202%200%202-19%202l-22-1c-1-2-1-3%207-6%207-4%2012-5%2014-3%202%201%203%200%201-3-1-2-4-2-14%201a22%2022%200%2001-7%201l-2%203v-1l-1-1h-1l2-2v-2h2c-1-1%200-2%202-2l1-1-3-1c2-2%200-3-1-2l-1%202v1c-2%200-2-1-1-5%200-2%200-2%201%200%201%201%201%201%201-2%200-2%200-3%202-3l4-1%205-1%209-2-2-2-1%201v-3c0-4%200-5-1-3s-1%201-1-3l1-6%204%201c2%200%203%200%202-1v-1h-1c-3%200-3%200-1-1%201-1%201-1-1-1-1%201-2%200-2-1l2-1c2%200%204-3%204-4-1-3%202-2%205%200l1%202-2%201h9l-1-1-1-1-1-2h-1l-1%202v-9l-1-3v3c0%202%200%203-1%202l-2%201-1%202-2-1%201-1v-2c1-1%200-3-2-3l-1%203%201%204h-5c-6%201-5%201-5-6l-1-4c-1%201-1%200-1-3v-3c0-4%200-4-1-3s-1%201-1-2v-2c-1%201-1%200-1-3%201-6%203-9%205-6%201%201%201%201%201-1%201-1%201-1%201%201l1%203%203-3c3-3%203-3%203-1l1%202c1%200%201-3-1-8v-5l-4%203-4%203c0-1%201-3%204-5l2-4-3%203c-3%203-4%203-4-2l-6-29c-7-29-7-28%207-30l5-1h-5c-2%200-4%200-3-1l-1-1-1%202-2%201v-8c-1-5-1-9%201-6h1l-1-2v-1l-1-1c-2%200-1-4%201-5l1-4c0-5%204-8%2010-8l8%201h2c0-2%204-4%209-3l8-1c2-2%208-1%207%200l-11%202-2%201c1%201%200%202-2%202-4%200-8%201-6%202s-2%203-8%204c-4%200-7%201-7%202%200%202-3%205-5%205-1%200-2%200-1%201%204%201%204%201%201%202l-3%201h3c5%200%207%202%208%209s1%207%205%207l3%201%203%201%204%201%206%201%201%202%203%201%204%202%207%204%205%203%203%203%203%201V85l-3%202c-4%204-5%203-1-1%204-3%204-4%203-8l1-4%201-38V0h-14c-13%200-15%200-13%202s1%2026-1%2028c-2%204-6%2011-5%2012h-1l-1-1c1%202-14%2016-16%2015l-1%201-1%201-7%202c-8%203-23%204-31%202-10-2-24-9-28-14l-3-3-1-1-1-3c-2-1-7-12-8-15v-6l-2-6v-1c1%200%202-1%202-4l1-6%201-3H0v37M360%202v1c-1-1-2%200-2%201%200%202-3%203-4%201h-9v1l1%204c0%202%200%203-2%203h-2c-3%200-2%202%201%204s3%203%200%202h-2c0%202-3%201-4-1h-2l-2%201-2%203c-1%202-1%201-3-4%200-2-2-1-2%201l-1%201-1%202c1%203%200%203-2%200l-2-1-1-1h-4c-2-1-2-1-2%201v3l-1-5-1-3c-2%201-2%205%200%209l-1%202h-5l1-3v-2l2%202c1%202%201%202%200%200v-5h-4l-2%202-1%201-1%203c0%203-2%208-2%205s-4-2-5%202c0%202-1%203-4%203s-3%200-2-1v-2c-2%200-2-1-2-2%201%200%201-1%200%200v-1l-1-4-1-7v-5l-1%201h-1v1l-1%201c-1-1-1%200-1%201%200%204-2%206-3%203-1-1-1-1-1%201l2%205c3%202%203%202%201%204v3c2%202%203%206%201%205-2-2-1%201%201%204%205%206%2013%2011%2020%2013l11%203c9%204%2022%202%2035-4l5-2c2%200%206-3%208-6l2-2%201-1c0-1%200-2%201-1l1-1v-1c2%202%209-18%209-23l-1-9c-1-7-2-9-3-7h-1l-4-1c-3%200-4%200-4%202M154%2036h-2c-2%200-29%207-28%208l12-3%2013-2-1%209c-2%2010-3%2013%200%2011h1l1%201h3l-5%201-5-1c0-1-9%200-15%202-4%201-4%201-2%202l1%203c-1%202-1%202-1%200s-3-4-5-3l2%201c3%200-1%202-5%203-4%200-6%202-6%206v4l-1-4-1-2-1%202c-2%201-2%207%200%207l1-1h1v2c-1%201%200%209%201%209l2-3c1-3%201-3%201-1s0%203%202%202v1l-1%201-3%202c-2%202-2%202%200%204l2%203%201%201%202%201%201%202v-4l1-6c1-2%201-1%201%206v8l4-1-5%202-18%206c-10%204-11%204-11%207v3l4-2%204-2h1l5-1%206-2c2%200%202%200%200%201l-23%209-1%205-1%204h-1l1%202%201%201%201%202v4c1%200%201%201-1%201-1%202-1%202%202%202%202%200%203%200%203%202s0%202%201%201c2-2%201-5-2-6-2-1-2-1%200-1s2-1%202-5c0-6%202-15%202-10%200%203%201%204%203%202%201-1%201%200%201%204l-1%206v-4l-1-4c-1%200-2%201-2%205-1%206-1%205%207%203l-1%202-3%202c-2-2-3%201-3%209v8l3-1%205-1c2%200%202%200%200%201-3%201-3%202-3%205%200%204-1%204-1%200%200-3-1-3-3-2l-6%201-2%201%204%201c3-1%205%202%204%204l-1%204-1-2-1-4v8c2%201%203%205%201%204-1%200-2-1-1-2l-1-1-1-2c-1-2-2-2-4-2-6%200-6%202-1%202%203%200%204%200%203%201l-1%202-1%202v-2c0-2%200-2-2-2-4%200-4%200-4%2010v7c2-1%2010%200%2011%201%201%202%202%201%202-1l-1-3c-1%200-2-1-2-3l1-4%203-1c5-3%205-1%201%2011-2%205-2%207-1%208v2l-1%201v2c-1%201-2%202-2%205%200%204%200%204-1%201%200-3-2-4-2-1l-1%203c-1%201%200%2010%201%2010l1-5%201-2a1574%201574%200%20000%2044v4h6c-2%201-3%202-3%204%200%203%200%203-1%201-1-6-4-4-5%203%200%204%200%204%202%204l9-2c6-2%207-2%207-4%201-2%201-2%201%200s0%202%202%202a129%20129%200%200126-4l19-1h11v-8l1%204c0%203%200%203%201%202%201-2%201-2%201%200s1%202%2014%202c20%201%2040%205%2059%2012%2011%203%2012%203%2012-2%200-2-1-3-5-4-6-3-5-4%201-1l4%201-1-7-2-3-2-2h1c2%200%203-1%200-3v-1l2%201c1%202%201%201%201-4v-5l-4%202-4%202%202%202c3%202%202%203-2%200l-4-2-1%206c0%206%200%207%202%209l2%202h-2l-3-1v-8c0-11%200-14-5-16-3-1-4-2-3-4l1-3c-1-1-2%200-2%203l-2%202-2-1%201-2c2-3%203-4%200-4v-1c1-2%200-3-2-1s-1%200%200-3l2-3c0-1-1-1-2%201-2%203-4%202-2-1v-2l-2%202-1%202v-2c-1-3-3-2-3%202%200%202%200%202%202%201h1c0%201%201%202%202%201l1%203-1%204-2%201v-3l-1-4-1%203c0%203%200%203-3%202l-1-1c2%200%203-6%201-6l-1-2c0-6-1%201-2%209h-1c-2-2-2-1-3%2011v12l-12-1a197%20197%200%2000-29-3l2-3%201-4c2-1%201-3-1-2l-1%201h-2c-1-1%201-3%204-3l2-1-1-1v-2h5c2-3-6-10-8-7l-3%201-2%202h-5l2-1h3l-1-1-1-1v-1h-1l-2%201c-2%202-3%201-3-3%200-5-1-6-2-4l-3%201c-2%200-2%200-2%203v2l-2%202c0%202%200%202-1%201s0-2%201-3l3-2h-6c3%200%203%200%202-2l-5-1h-2c1-1%200-1-2-2-3-1-3-1-3-7l-1-7c-1%200-2%202-2%208v9h3c3%200%203%200%201%201l-2%202h-1c-2-1-3%200-3%203%200%202%203%203%203%200l1%202c1%203%200%204-2%204s-2%200-1-1v-1c-2%200-5%202-3%202v1l-1%207-1%207-1-3c0-4-1-6-2-7l-1-1h1l1-1-1-3h-1l-1%209v8h3l4-1%201-1h2c2%202%203%200%203-6%200-7%201-10%203-10v1l-1%209v8h-4l-9%201h-4v-36c0-1-1-1-3%201-3%202-4%202-2%200v-16l1-7v6c0%205%200%207%202%208%201%201%201%201%201-2%200-11%201-16%204-17l3-1-3%201h-3v-10a594%20594%200%20003-19v-14l-2-1c0-2%200-2%201-1l2%201v-11c1%201%201%200%201-4s0-6%202-7c2-2%201-7-2-6v-1c0-3%204-2%203%200%200%202%200%202%201%201h1l1-2h1c1%201%201%201%201-1h1l1%202v-7l1-3c0-2%200-2%201-1h9c37-5%2090%2012%20113%2035%2011%2011%2013%2021%206%2034-3%206-11%2015-11%2012l-2-2-1-1c1-2-2-3-5-3s-3%2010%200%2010v1c-2%200-2%201-2%208l1%2011c0%203%200%203%202%202h1l3%202c3%200%203%202%200%201-2%200-2%200-1%201l3%201h2v-13l-1-12%205-5c11-12%2014-23%2012-36v-4c0-5-6-13-14-20-5-4-6-5-5-10l4%203%204%202c1-1%201-1%201%201v1c1-1%201-1%201%201l2%202%201-1%201-2%201-2%202-3c2-1%202-2%202-6%200-8-2-11-4-5l-3%205c-2%202-2%202-2-1-2-7-3-10-5-12l-4-6c-2-2-2-3-3-2l-1-2v-3c2%200%200-4-5-16-3-6-5-10-6-9l-3-5-4-8c-6-6-27-17-28-15-1%201-1%201-1-1-1-3-23-9-34-9-6%200-3%202%206%204%2015%202%2018%203%2019%207l3%2015h-7l-17-2%207%202c5%200%205%201%203%201h-4l1%206c0%205%200%206-1%204l-1-7c0-3%200-4-2-4l-5-1h-3l-2%208-1%208%204-2%205-2%205%203%206%203-2%203c-3%203-2%204%203%204%203%200%203%200%202%201l-2%201h-3c-7%200-10%201-11%206h-1c0-2-1-2-4-2-2%200-3%200-1%201l2%202c1%202%200%203-2%200-2-1-2-1-1%204v6h9l11%202c4%200%204%200%204-3v-1c1%202%201%202%202-1l1-5%201-1c5%200%205%200%203%201-1%201-1%201%201%201h2c-1%201%204%202%205%201l1%201%204%202%2010%204%206%203v5c0%205%200%206-1%205a206%20206%200%2000-28-9c-12-3-32-5-46-4-9%201-9%201-9%204%200%202%200%202-1%200%200-2-1-2-4-2s-3%200%202-1c8-2%2011-2%2018-2h7V94a170%20170%200%20012-27l1-4v-2c-9-1-11-2-3-2%205%200%205%200%205-2l-2-8c0-13-1-14-3-14l-4%201m-40%2012l-7%204v7l-1%209c-3%202-2%202%203%201l5-2c1%200%202%200%201-1l1-1h2l1-2c-1-1%200-6%201-10l2-9-8%204m85%201a98%2098%200%20016%2021c2%201%205%2021%203%2022-1%201-1%201%201%201%202%201%202%201%202-2l-3-19%204%201h5v1h1c3%200%208%203%206%204l1%202c4%202%205%202%203%200l-4-12-4-11-11-5c-6-3-10-4-10-3M17%2081l-7%2040c-9%2046-9%2045-9%2051a488%20488%200%200015-77c2-10%203-16%202-17-1-2-1-2-1%203m86%203h-1v1c1%201%201%201-1%201l-3-1-3%2011c0%202%200%202%203%201%202-1%202-1%201-4v-5c1-1%201-1%201%202l3%207%204%207c2%203%202%203%204%202l3-1-3-5-3-10c-1-5-2-7-4-7l-1%201m118%206l-3%203-2%202-1%202v4c-1%203-1%203%204%203l1%202%201%201%201%206c0%207%200%207%202%208%203%201%203%202%203%204-1%203%200%203%202%204h3l-2-1c-1%200-2-1-2-3s0-2%203-1l4%202-5-4-7-3v-13l4-2%203-3%202-2c2-2%200-8-3-8h-1l-2-3-5%202M65%20101l-1%203%201%202h-2c0%202%200%202%202%202v1l1%202v6h-5v-1l-1-1-3-1-2-1%201%202%201%202c-1%202%203%205%206%204l4-4%202-2%202%201%201-1%202-2c3%200%203%200%202%201v1h1l1%201%201-2%201-2%202-1c1-2%201-3-3%200-2%201-2%201-4-1s-4-3-3%200h-1l-2-4c-1-3-1-3-2-2h-2l1-1%202-4-3%202m25%203l-7%205%203-1c4-3%204-3%203%203l1%204h1c0%202%201%202%204%200%203-1%203-1%202-5v-3l1%203c1%204%201%204%209%201%204-2%204-2%202-3l-4-4c-1-3-1-3-4-2l-3-1c0-2-1-1-8%203m26%2032a481%20481%200%20000%2011c0-4%201-5%202-3%201%201%201%200%201-2%200-4%200-4-1-2-1%201-1%200-1-3v-5l-1%204m123%2037c0%204%200%205%202%205l2%202h-1c-2%200-2%201-2%204s0%204%202%204l4%202a900%20900%200%20011-14c0-3-1-4-4-5-4-3-4-3-4%202m-178%208l1%203h2c1%201%200%203-1%204h-1c0-1%200-2-1-1l-1-1c1-2-1-5-4-5l-4%203-1%202c0-2%200-2-2-2-2%201-4%200-2-1l1-2-4%203h1v2l-2%205h1c1-2%205-3%209-3l2-2%203-3v2c-2%203-2%204%200%204h1l1%201h2c1%202%203%200%203-2s0-2%201-1c2%204%203%202%201-2l-4-5c-4-1-5-1-2%201m13%201c-1%200-2%201-2%203-1%203%200%203%202%203v3c-2%202-2%202-2%200l-2-1%201%204%202%209c0%204%200%205%201%203s1-2%201%201l1%208v3c3-2%201%203-3%206l-3%203%204-2c3-2%203-2%202%200l-1%203%206-4%201-1h2c2-1%202-1%200-2v-1l2-1-3-1c-2%200-2%200-1-5%201-4%201-6-1-10l-2-5v-2c-2-1-2-2-2-5%200-2%200-3-2-4-2%200-3-1-1-2h2c2-1%201-4-2-3m53%2017c-1%2013-1%2016%202%2015%201-1%201-2-1-4v-2h2l-1-1v-2c1-2%202-2%202-1%201%201%201%200%201-1%200-2%201-4%203-5%203-2%205-2%202%201l-1%204h1c0-1%201-2%202-1%201%200%202-1%202-3%201-3%201-3%202-2%200%202%201%202%201%201%201-1%202%200%203%203l3%203-2-4c-2-4-3-5-7-6l-7-4-3-1-2-1c-2-2-2%200-2%2011m249-6l-2%201-1%201h-1v1l-3%202c-3%202-4%202-5%200h-1v1c-1-1-3%200-4%201s-3%202-4%201v2c-1-1-1%200-1%203v5l-1-4-3-8%204%2017c0-1%202-4%204-4l1-1%201-1%201%201%201-1%206-4c12-5%2013-5%2012-6v-2c1-2%203-2%208-1l5%201c-1%200-1%201%201%202h2c1-1%201-1%201%201%202%203%202%202%203-3%200-5%200-5-2-4l-3-1-4-1h-9c-4-1-5-1-6%201m1%2017l-4%202c-3%200-4%201-2%201l2%206%202%205%208-5c1-1%200-1-1-1v-1c2-2%202-2%200-2-2-1-2-1-1-2l1-2-1-1h-4m-58%207l-7%201c-11-1-13%201-14%2010-1%206%200%206%201%206%202%200%202%200-1%202l-2%202v15c0-7%200-7%202-7s2%200%201%201c-3%202-1%209%201%209s2%200%200%201l-2%203-1%201v2l1%2013%202%2010h19v-3l-2-4-1-1%201-1c2%202%202-1-1-4s-5-9-2-9l3-3%203-3h5c5%200%209-1%206-3-2-2%201-1%204%200l6%201c5-1%205-2-1-3l-6-1-3-1-4-1c-1-1-1-1%201-1%203%201%207-1%205-3-1-2-15%200-17%202s-2%202-2-3l-1-5%201%201%201%202v2h1l14-1%2014-1v-5l-1-1%202-1%201%201%202%201%201-2v-3l4-1c0-2-4-1-5%200l-2%201c-2-1-2-2-1-3%202-3%200-2-3%201l-4%202-2%202c-1%202-3%203-5%201-1-1-2-2-3-1l-1-1h-1c-2%201-2%201-3-1s-5-1-6%202c-2%203-4%203-7%201l-4-2-1-4-3-5c-1%200-1-1%201-1%202-1%202-1%201-2l-1-1%2011-2c8-1%2014-3%208-3l-3%201M88%20228c-2%204-2%207-1%207v3l-2%205h-4v1l1%209v4l-1-8c0-4%200-4-2-3l-1%203-1%203v1l1%202-1%201c-1-1-1%200-1%201l-1%204-1%206c-1%205-1%205%201%205s3-1%203-8c0-10%201-10%201%200v8l1-7%201-7v12h3c4-1%204-2%205-15v-22c-1%201-1%201%200%200v-6l-1%201m172%207c8%205%2012%2015%2010%2027-1%207%200%2015%202%2016l1-2v-2l1-4%201-9v-5c-1-1-3-8-2-10l-1-1-1-1c-1-3-11-11-13-11-1%200-1%201%202%202m-113%204v2l-2%202-2%203h-3c-3%200-3%200-1%202l3%201c4-1%208%209%203%2010-2%201-3-1-3-3l-1-1v2c1%203%201%203-3%203h23c2%200%202%200%201-4s-2-5-4-5c-3%200-3-3%201-4%202%200%203-1%203-2%201-1%201-2%202-1l2-1c0-2-2-2-5%201l-4%201-2%201h-4l1-2%202-2c0-4-1-4-3%201-2%202-2%204-1%205v2c-1%201-2-2-2-6l1-3c2%200%203-3%201-3-2-1-2-1-3%201m54%204c-5%203-6%205-2%203%201-1%201%200%201%208%200%207%201%2011%202%207h1c0%202%202%203%202%201l1-4v-2l-1%202c-2%203-2%200%200-3%201-4%202-12%200-9v-2c2-4%201-4-4-1m-24%203c-1%201-1%205%201%206v-6l1%203%202%203c1%201%200%201-2%201l-3-1-1-1h-3l3%202%201%201c0%202%206%202%207%200l2-1v1l-1%201h1c2-1%202-1%201%202%200%204%201%204%203%200l1-2v5l2-2v-2c2-4%202-5%200-5-1-1-1-1%200%200l-1%201h-2l-1%201c-2%200-2-1%201-3l1-2c-2%200-4%201-4%203l-1%201v-1l-1-1-2-2c0-2-1-3-2-3-2-1-1-1-3%201m-166%201h-1l-1-1-4%2013-3%2016c0%202%200%203%207%203l9%201c1%200%202-2%204-14l1-17a4170%204170%200%2001-7%2018l-1-2c0-2%200-2%201%200v-3c0-3%200-4%201-3v-4l1-6v-1c-3-2-6-2-7%200m283%2022h-1c-1-1-1-1-1%201-1%202%200%202%201%202%202-1%201%201-2%202l-3%204-1%205%201%201h1c0%201%207%203%208%202v-10c0-6-1-6-2%200v-9l-1%202m-39%208l1%202-1%204c-1%203-1%203%202%203l3-1h1l3%201c2%200%203%200%202-1h2c4%202%206%201%206-2-1-3-4-4-4-1-1%202-1%202-1%200s-1-3-2-3-2%200-1%201c0%202-1%201-6-1l-5-2M75%20315l-4%208c-2%206-2%209%201%205l4-2%204%202c3%204%203%201%200-6-2-7-4-9-5-7m11%202c-5%207%200%2015%209%2013%203-1%203-1%203-5%200-3%200-3-3-3l-3%201%202%201%201%202c0%202-1%202-3%202-4%200-5-2-5-6%200-5%203-7%207-5%203%201%205%200%202-2s-8-1-10%202m78%203c-4%205-1%2010%204%2010s7-5%204-10c-1-3-6-3-8%200m101%2042c0%202%206%203%207%201%200-1%209-3%2010-1l1%203c1%203%200%203-4%204-5%200-5%201%205%201l10%201%202-1%201-4c-1-2%204-3%2010-3l3-1-1-1h-8c-7%200-8%200-9%202l1%204v1c-2%200-2-1-2-4v-3l-13-1c-12%200-13%200-13%202m56-2c-1%202%201%2015%203%2015h1l2%201%201%202%202%201c1-1%201%200%201%201%200%202%200%202-3%201-3%200-3%200-2%201l3%202c3-1%205%201%205%206%201%204%201%204-1%203-1-2-1-2-1%200l-2%202c-4%200-2%201%203%201l4%201v-11l-1-14-2-11-2-1-2%202h-2c-1-2-6-3-7-2m-49%2013h-3l-2%201%203%201c4%200%205%202%205%2011%201%2010%201%2011%205%2010%202%200%203-1%202-4%200-2%200-3%201-2l1%201c2%200%202%200%201%201-3%203-1%204%209%204l9-1c0-1-2-2-9-1-5%200-8%200-6-1%204%200%207-2%207-4%200-1%208-2%209-1v-4c0-7-1-8-1-3%200%204%200%204-2%204-3%200-4-2-4-9v-3h-8l-7%201-3%201-4-1%203-1%203-1c0-1-8-1-9%201m-68%2025l-8%201h55a130%20130%200%2000-37-1h-10'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFIElEQVQ4yzWU+U/UZxDGv5FyybUcciMg930qoC4sNyw3LCyXiixyn7uwCBSQ+yqHoByCeGBsvWIs1tpqrWmqJm3atEnTpEnTpH/Jp+9+U3+YzOy+78w88zzvfCVzS3McHO2xOmqFwskeW3sbHBR2mJkfwcrGGk8fT46I2NLaQj4zxYaedv7542fevX7ON88e0XihnqSkBHx9vZGsbaxwclbg6eUuJ9g52GJhZc4xV2dKitWo87NxdXeRz+wVtphbfkJebiZXRoeIiY3G+ZgTtiInOfkkzi6OSKYLJkRePh4CpaWcqFSeJiDQn7HhATIz0tA11JKdpcJaIDbdP+bmTHp6KmERofgH+HHyVLwMwDSlVKDOwVEgNI1iQuvl7Ul7SxMPD/Z5+/VTVhdn+OntS5ZmxmltOi83NZmNrTUhIYEkJMbIKBVODngLeqT9rQ0y0pXymKaxC9V5DBsNvDp8wreCn8WZCb58eMBXT+5za3uDqKgwmV8TTUdFUdOYKtUZ4uOjiY2NRLq9s0F5aSEKIYymvJiWpovMTY6xv3WVlfkJpsaHaGtupKqynHv7O4wY++TGTi4KLAXSoOATdLbp5NgESiBcJ/VsCkFBJwTZWXR3tPLo3i0hSAF2Cns8vD1IOJkgc3bZ0CWo2CNZKGplYykrHxoWxP3bu3xxZ4fcbBXS5uoicbFRgjsPjvv50Nqs48b1NZJOJwtLIS09ncycbE4rlUhmEnk5GaQqUzCzMJMRubq5sLe5zr9//sJfv/6IdH11QebBw9ONirJijPoetteXRecQ4hMFsgwVyrRUSisryczNxcffl8BAPywEOhu7ozKPV0aM/Pb+DX///gFpZmKUwKAAqrQaDL1dLEyNs7OxTGGRmvLyMs6dq6O0tAg30TBINKnQlAkACvlFfLSB3g7evTrkwZ1dpOy8PMqqtOQXl1BXq2V5flouqEw9S01NNUqVipKSItGggOpqLYP6TiRJEo/cTh7XxdVJiNKMvqeTxdlJpLDISMKihEVGUCKS1hbnmBobRluloba2hsjoKCGOA/l5OaJwMcVCLNObi46OoLNVR77YmhGjntWlOTbXV5B6OlrwFoLExkTRomtgeW6aB3f32RPvc2l2ShQfoeF8vbyzB3ubVFZVUioQt11q5PXhYz69PCBz/t2LZ+xcu4q0fX2VuMQ4PMTqaSpKGDB08+mwgX59O026enSNdXS261hemOD9m+fMCI41lWX0dreJpmsUFeWzK/znd3e5IbzUnKjhfJiaUq8zNISr0fimUeieTLZjPOl20ahso8hyjEPtlkRtcDZX8lsYzGhAr6xnsrCd1oRyrtUPsVTRx0i2DskYomU2tZ3plBYmky4xn9bJ3Nl2FlVCcREvCpuIb2Q4tJbB4Gr6/MoxnNDQH6CRY2OQlu7jpfT6lqH3rxAFw6uZTmtjNquT2cwOFtR9TKa2sCT8UoGeReFH4i+gD6zAEFxJf0iVbB9jfZAGY6iWAWGm31JviIYOvyJ6gzXoQ8SlUJEQpqX1eCGd/iX0BJbTFVBGj7hnCBOFwrWyH4ispj+imqGYOnr/P+sLrUQKCQ7H18dPrJOKglw1N9fX+Gxygu2VZZ4e3OaHw6fc39li1HiZmdEx+ru6uFh3jsHePrQVVazPzxMTEU2WKlN8CwqQPHx9cPfxwlP4uFOJXF2ZF8u+w6vnj3n57AEfvn8hf+pN/929ucX42BDFYnP6+/soFM+nRixDoVA66YzY+6xM/gMUjgdqGdBBJwAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/1395b60047362fd2d001b28c3144c1df/502b1/agi_cover2.png","srcSet":"/static/1395b60047362fd2d001b28c3144c1df/f2e6d/agi_cover2.png 114w,\n/static/1395b60047362fd2d001b28c3144c1df/4ddba/agi_cover2.png 229w,\n/static/1395b60047362fd2d001b28c3144c1df/502b1/agi_cover2.png 457w,\n/static/1395b60047362fd2d001b28c3144c1df/7ddc2/agi_cover2.png 686w,\n/static/1395b60047362fd2d001b28c3144c1df/435bf/agi_cover2.png 914w,\n/static/1395b60047362fd2d001b28c3144c1df/6050d/agi_cover2.png 1200w","srcWebp":"/static/1395b60047362fd2d001b28c3144c1df/15384/agi_cover2.webp","srcSetWebp":"/static/1395b60047362fd2d001b28c3144c1df/31fce/agi_cover2.webp 114w,\n/static/1395b60047362fd2d001b28c3144c1df/e3e25/agi_cover2.webp 229w,\n/static/1395b60047362fd2d001b28c3144c1df/15384/agi_cover2.webp 457w,\n/static/1395b60047362fd2d001b28c3144c1df/0258d/agi_cover2.webp 686w,\n/static/1395b60047362fd2d001b28c3144c1df/64ea2/agi_cover2.webp 914w,\n/static/1395b60047362fd2d001b28c3144c1df/9000d/agi_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%2037v37h3c2-1%203-1%202%203v4l1-4c2-7%205-9%2010-4%206%205%2014%2025%2014%2033%200%207-14%2090-15%2091l-6%202c-8%200-9%201-9%204%200%202%200%203%201%202%200-2%202-2%202%201l-1%201H1l2%201h1l-2%202c-3%200-3%2035%200%2035%204%200%204%201%201%2018l-3%2017v120h41a324%20324%200%200043-2l-3-2h3l22%201a457%20457%200%200041-2h-6a232%20232%200%2001-37%200l-5%201a260%20260%200%2000-18-2l-1-11-2-12-1-5c0-6%200-6%202-5h39l-2%201-1%202-1%201c-3%200-7%203-9%206l-3%204%201-3%202-4c0-2-3-1-4%201s-3%203-4%202v3l-1%201v1l-1%201-1%202-2%203-2%204v4l5-1c0%201%201%201%202-1l1-2c-2-2-1-6%201-7h2c2%201%206-3%208-7%202-5%202-5%206-5l8-1c4%200%204%200%204%203v3l1-3%201-3h19l4-1c4%200%205%200%205%204v3h-5c-4%200-5%200-5-2-1-1-1%200-1%203%200%202%200%203%201%202%200-2%201-2%205-2l5%201v7c1%2010%202%2010%202%200%200-7%200-8%202-8l4%201%202%202c1%202%201%202%201%200%200-3%200-3-5-3-5-1-5-1-5-5%200-3%201-3%204-3%202%200%203%200%203-2%200-1%200-2%202-2%203%200%203%204%200%204-1%201%201%201%204%201%205%200%205%200%204-1-3-3-3-5%200-5l2%202%204%201c4%200%204%200%204%202-1%202%200%205%201%208v6h-1l2%201h3l-2-6a95%2095%200%2001-3-12l1-2%201%202h1l1-2%201%202v2l1%201c-1%201%200%201%201%201%203%200%203%200%203%203%200%201%200%202%201%201%201-4%203-2%205%204s2%206%202%202l-2-5%201-2%201%201h1c1-1%201%200%203%204l3%202c-1-2%200-2%201-2%202%200%202%200%201-1-2-1-2-2-2-7s0-5%203-5c2%200%202%200%202%206l1%208c1%201%201%200%201-7v-7l1%205%201%208c-1%202%200%203%201%203l2-1-1-1-1-7-1-7h8l1%2019c-1%201%200%201%201%202%202%201%202%201%202-1l1%201v-22l1%202%201%203v-3c0-3%203-2%204%201l1%204v-4c0-4%203-4%203%201l1%203%201%2010%201%2013c2%204%203%204%202-1l1-5%201-10%201-9%202-2c0-2%201-3%205-3%203%200%204%201%204%202l-1%202c-4%200-6%2021-2%2023%202%202%201%207-1%207s-3%200-2%202h2c0-1%202-1%204%201l3%202c-1%201%200%201%202%201l4-1c-1-1%202-1%208-1l9%201c-1%201%201%201%205%201h6l-5-1c-5%200-4-1%204-1h10l-1-4%201-3%201%205c0%201%207%202%2010%201l2%201-10%201c-7%201-3%201%2010%201h19v-5l1%203%202%202c3%200%205-2%204-6l1-7%201-3%202%204%201%207c0%204%202%205%203%203l4-1c3-1%203-1%203%201s1%202%204%202l4-1c-1-1%200-1%201-1l3%201%2014%201h14v-59c0-57%200-72-2-69-1%201-2-1-2-5%200-2%200-2-1-1v14l-2%205-5%201-4-1%201-1-3%201c-1%201-2%200-2-1h-1c0%202%200%202-1%201-2-3-6-3-5-1%200%202%200%202-19%202l-22-1c-1-2-1-3%207-6%207-4%2012-5%2014-3%202%201%203%200%201-3-1-2-4-2-14%201a22%2022%200%2001-7%201l-2%203v-1l-1-1h-1l2-2v-2h2c-1-1%200-2%202-2l1-1-3-1c2-2%200-3-1-2l-1%202v1c-2%200-2-1-1-5%200-2%200-2%201%200%201%201%201%201%201-2%200-2%200-3%202-3l4-1%205-1%209-2-2-2-1%201v-3c0-4%200-5-1-3s-1%201-1-3l1-6%204%201c2%200%203%200%202-1v-1h-1c-3%200-3%200-1-1%201-1%201-1-1-1-1%201-2%200-2-1l2-1c2%200%204-3%204-4-1-3%202-2%205%200l1%202-2%201h9l-1-1-1-1-1-2h-1l-1%202v-9l-1-3v3c0%202%200%203-1%202l-2%201-1%202-2-1%201-1v-2c1-1%200-3-2-3l-1%203%201%204h-5c-6%201-5%201-5-6l-1-4c-1%201-1%200-1-3v-3c0-4%200-4-1-3s-1%201-1-2v-2c-1%201-1%200-1-3%201-6%203-9%205-6%201%201%201%201%201-1%201-1%201-1%201%201l1%203%203-3c3-3%203-3%203-1l1%202c1%200%201-3-1-8v-5l-4%203-4%203c0-1%201-3%204-5l2-4-3%203c-3%203-4%203-4-2l-6-29c-7-29-7-28%207-30l5-1h-5c-2%200-4%200-3-1l-1-1-1%202-2%201v-8c-1-5-1-9%201-6h1l-1-2v-1l-1-1c-2%200-1-4%201-5l1-4c0-5%204-8%2010-8l8%201h2c0-2%204-4%209-3l8-1c2-2%208-1%207%200l-11%202-2%201c1%201%200%202-2%202-4%200-8%201-6%202s-2%203-8%204c-4%200-7%201-7%202%200%202-3%205-5%205-1%200-2%200-1%201%204%201%204%201%201%202l-3%201h3c5%200%207%202%208%209s1%207%205%207l3%201%203%201%204%201%206%201%201%202%203%201%204%202%207%204%205%203%203%203%203%201V85l-3%202c-4%204-5%203-1-1%204-3%204-4%203-8l1-4%201-38V0h-14c-13%200-15%200-13%202s1%2026-1%2028c-2%204-6%2011-5%2012h-1l-1-1c1%202-14%2016-16%2015l-1%201-1%201-7%202c-8%203-23%204-31%202-10-2-24-9-28-14l-3-3-1-1-1-3c-2-1-7-12-8-15v-6l-2-6v-1c1%200%202-1%202-4l1-6%201-3H0v37M360%202v1c-1-1-2%200-2%201%200%202-3%203-4%201h-9v1l1%204c0%202%200%203-2%203h-2c-3%200-2%202%201%204s3%203%200%202h-2c0%202-3%201-4-1h-2l-2%201-2%203c-1%202-1%201-3-4%200-2-2-1-2%201l-1%201-1%202c1%203%200%203-2%200l-2-1-1-1h-4c-2-1-2-1-2%201v3l-1-5-1-3c-2%201-2%205%200%209l-1%202h-5l1-3v-2l2%202c1%202%201%202%200%200v-5h-4l-2%202-1%201-1%203c0%203-2%208-2%205s-4-2-5%202c0%202-1%203-4%203s-3%200-2-1v-2c-2%200-2-1-2-2%201%200%201-1%200%200v-1l-1-4-1-7v-5l-1%201h-1v1l-1%201c-1-1-1%200-1%201%200%204-2%206-3%203-1-1-1-1-1%201l2%205c3%202%203%202%201%204v3c2%202%203%206%201%205-2-2-1%201%201%204%205%206%2013%2011%2020%2013l11%203c9%204%2022%202%2035-4l5-2c2%200%206-3%208-6l2-2%201-1c0-1%200-2%201-1l1-1v-1c2%202%209-18%209-23l-1-9c-1-7-2-9-3-7h-1l-4-1c-3%200-4%200-4%202M154%2036h-2c-2%200-29%207-28%208l12-3%2013-2-1%209c-2%2010-3%2013%200%2011h1l1%201h3l-5%201-5-1c0-1-9%200-15%202-4%201-4%201-2%202l1%203c-1%202-1%202-1%200s-3-4-5-3l2%201c3%200-1%202-5%203-4%200-6%202-6%206v4l-1-4-1-2-1%202c-2%201-2%207%200%207l1-1h1v2c-1%201%200%209%201%209l2-3c1-3%201-3%201-1s0%203%202%202v1l-1%201-3%202c-2%202-2%202%200%204l2%203%201%201%202%201%201%202v-4l1-6c1-2%201-1%201%206v8l4-1-5%202-18%206c-10%204-11%204-11%207v3l4-2%204-2h1l5-1%206-2c2%200%202%200%200%201l-23%209-1%205-1%204h-1l1%202%201%201%201%202v4c1%200%201%201-1%201-1%202-1%202%202%202%202%200%203%200%203%202s0%202%201%201c2-2%201-5-2-6-2-1-2-1%200-1s2-1%202-5c0-6%202-15%202-10%200%203%201%204%203%202%201-1%201%200%201%204l-1%206v-4l-1-4c-1%200-2%201-2%205-1%206-1%205%207%203l-1%202-3%202c-2-2-3%201-3%209v8l3-1%205-1c2%200%202%200%200%201-3%201-3%202-3%205%200%204-1%204-1%200%200-3-1-3-3-2l-6%201-2%201%204%201c3-1%205%202%204%204l-1%204-1-2-1-4v8c2%201%203%205%201%204-1%200-2-1-1-2l-1-1-1-2c-1-2-2-2-4-2-6%200-6%202-1%202%203%200%204%200%203%201l-1%202-1%202v-2c0-2%200-2-2-2-4%200-4%200-4%2010v7c2-1%2010%200%2011%201%201%202%202%201%202-1l-1-3c-1%200-2-1-2-3l1-4%203-1c5-3%205-1%201%2011-2%205-2%207-1%208v2l-1%201v2c-1%201-2%202-2%205%200%204%200%204-1%201%200-3-2-4-2-1l-1%203c-1%201%200%2010%201%2010l1-5%201-2a1574%201574%200%20000%2044v4h6c-2%201-3%202-3%204%200%203%200%203-1%201-1-6-4-4-5%203%200%204%200%204%202%204l9-2c6-2%207-2%207-4%201-2%201-2%201%200s0%202%202%202a129%20129%200%200126-4l19-1h11v-8l1%204c0%203%200%203%201%202%201-2%201-2%201%200s1%202%2014%202c20%201%2040%205%2059%2012%2011%203%2012%203%2012-2%200-2-1-3-5-4-6-3-5-4%201-1l4%201-1-7-2-3-2-2h1c2%200%203-1%200-3v-1l2%201c1%202%201%201%201-4v-5l-4%202-4%202%202%202c3%202%202%203-2%200l-4-2-1%206c0%206%200%207%202%209l2%202h-2l-3-1v-8c0-11%200-14-5-16-3-1-4-2-3-4l1-3c-1-1-2%200-2%203l-2%202-2-1%201-2c2-3%203-4%200-4v-1c1-2%200-3-2-1s-1%200%200-3l2-3c0-1-1-1-2%201-2%203-4%202-2-1v-2l-2%202-1%202v-2c-1-3-3-2-3%202%200%202%200%202%202%201h1c0%201%201%202%202%201l1%203-1%204-2%201v-3l-1-4-1%203c0%203%200%203-3%202l-1-1c2%200%203-6%201-6l-1-2c0-6-1%201-2%209h-1c-2-2-2-1-3%2011v12l-12-1a197%20197%200%2000-29-3l2-3%201-4c2-1%201-3-1-2l-1%201h-2c-1-1%201-3%204-3l2-1-1-1v-2h5c2-3-6-10-8-7l-3%201-2%202h-5l2-1h3l-1-1-1-1v-1h-1l-2%201c-2%202-3%201-3-3%200-5-1-6-2-4l-3%201c-2%200-2%200-2%203v2l-2%202c0%202%200%202-1%201s0-2%201-3l3-2h-6c3%200%203%200%202-2l-5-1h-2c1-1%200-1-2-2-3-1-3-1-3-7l-1-7c-1%200-2%202-2%208v9h3c3%200%203%200%201%201l-2%202h-1c-2-1-3%200-3%203%200%202%203%203%203%200l1%202c1%203%200%204-2%204s-2%200-1-1v-1c-2%200-5%202-3%202v1l-1%207-1%207-1-3c0-4-1-6-2-7l-1-1h1l1-1-1-3h-1l-1%209v8h3l4-1%201-1h2c2%202%203%200%203-6%200-7%201-10%203-10v1l-1%209v8h-4l-9%201h-4v-36c0-1-1-1-3%201-3%202-4%202-2%200v-16l1-7v6c0%205%200%207%202%208%201%201%201%201%201-2%200-11%201-16%204-17l3-1-3%201h-3v-10a594%20594%200%20003-19v-14l-2-1c0-2%200-2%201-1l2%201v-11c1%201%201%200%201-4s0-6%202-7c2-2%201-7-2-6v-1c0-3%204-2%203%200%200%202%200%202%201%201h1l1-2h1c1%201%201%201%201-1h1l1%202v-7l1-3c0-2%200-2%201-1h9c37-5%2090%2012%20113%2035%2011%2011%2013%2021%206%2034-3%206-11%2015-11%2012l-2-2-1-1c1-2-2-3-5-3s-3%2010%200%2010v1c-2%200-2%201-2%208l1%2011c0%203%200%203%202%202h1l3%202c3%200%203%202%200%201-2%200-2%200-1%201l3%201h2v-13l-1-12%205-5c11-12%2014-23%2012-36v-4c0-5-6-13-14-20-5-4-6-5-5-10l4%203%204%202c1-1%201-1%201%201v1c1-1%201-1%201%201l2%202%201-1%201-2%201-2%202-3c2-1%202-2%202-6%200-8-2-11-4-5l-3%205c-2%202-2%202-2-1-2-7-3-10-5-12l-4-6c-2-2-2-3-3-2l-1-2v-3c2%200%200-4-5-16-3-6-5-10-6-9l-3-5-4-8c-6-6-27-17-28-15-1%201-1%201-1-1-1-3-23-9-34-9-6%200-3%202%206%204%2015%202%2018%203%2019%207l3%2015h-7l-17-2%207%202c5%200%205%201%203%201h-4l1%206c0%205%200%206-1%204l-1-7c0-3%200-4-2-4l-5-1h-3l-2%208-1%208%204-2%205-2%205%203%206%203-2%203c-3%203-2%204%203%204%203%200%203%200%202%201l-2%201h-3c-7%200-10%201-11%206h-1c0-2-1-2-4-2-2%200-3%200-1%201l2%202c1%202%200%203-2%200-2-1-2-1-1%204v6h9l11%202c4%200%204%200%204-3v-1c1%202%201%202%202-1l1-5%201-1c5%200%205%200%203%201-1%201-1%201%201%201h2c-1%201%204%202%205%201l1%201%204%202%2010%204%206%203v5c0%205%200%206-1%205a206%20206%200%2000-28-9c-12-3-32-5-46-4-9%201-9%201-9%204%200%202%200%202-1%200%200-2-1-2-4-2s-3%200%202-1c8-2%2011-2%2018-2h7V94a170%20170%200%20012-27l1-4v-2c-9-1-11-2-3-2%205%200%205%200%205-2l-2-8c0-13-1-14-3-14l-4%201m-40%2012l-7%204v7l-1%209c-3%202-2%202%203%201l5-2c1%200%202%200%201-1l1-1h2l1-2c-1-1%200-6%201-10l2-9-8%204m85%201a98%2098%200%20016%2021c2%201%205%2021%203%2022-1%201-1%201%201%201%202%201%202%201%202-2l-3-19%204%201h5v1h1c3%200%208%203%206%204l1%202c4%202%205%202%203%200l-4-12-4-11-11-5c-6-3-10-4-10-3M17%2081l-7%2040c-9%2046-9%2045-9%2051a488%20488%200%200015-77c2-10%203-16%202-17-1-2-1-2-1%203m86%203h-1v1c1%201%201%201-1%201l-3-1-3%2011c0%202%200%202%203%201%202-1%202-1%201-4v-5c1-1%201-1%201%202l3%207%204%207c2%203%202%203%204%202l3-1-3-5-3-10c-1-5-2-7-4-7l-1%201m118%206l-3%203-2%202-1%202v4c-1%203-1%203%204%203l1%202%201%201%201%206c0%207%200%207%202%208%203%201%203%202%203%204-1%203%200%203%202%204h3l-2-1c-1%200-2-1-2-3s0-2%203-1l4%202-5-4-7-3v-13l4-2%203-3%202-2c2-2%200-8-3-8h-1l-2-3-5%202M65%20101l-1%203%201%202h-2c0%202%200%202%202%202v1l1%202v6h-5v-1l-1-1-3-1-2-1%201%202%201%202c-1%202%203%205%206%204l4-4%202-2%202%201%201-1%202-2c3%200%203%200%202%201v1h1l1%201%201-2%201-2%202-1c1-2%201-3-3%200-2%201-2%201-4-1s-4-3-3%200h-1l-2-4c-1-3-1-3-2-2h-2l1-1%202-4-3%202m25%203l-7%205%203-1c4-3%204-3%203%203l1%204h1c0%202%201%202%204%200%203-1%203-1%202-5v-3l1%203c1%204%201%204%209%201%204-2%204-2%202-3l-4-4c-1-3-1-3-4-2l-3-1c0-2-1-1-8%203m26%2032a481%20481%200%20000%2011c0-4%201-5%202-3%201%201%201%200%201-2%200-4%200-4-1-2-1%201-1%200-1-3v-5l-1%204m123%2037c0%204%200%205%202%205l2%202h-1c-2%200-2%201-2%204s0%204%202%204l4%202a900%20900%200%20011-14c0-3-1-4-4-5-4-3-4-3-4%202m-178%208l1%203h2c1%201%200%203-1%204h-1c0-1%200-2-1-1l-1-1c1-2-1-5-4-5l-4%203-1%202c0-2%200-2-2-2-2%201-4%200-2-1l1-2-4%203h1v2l-2%205h1c1-2%205-3%209-3l2-2%203-3v2c-2%203-2%204%200%204h1l1%201h2c1%202%203%200%203-2s0-2%201-1c2%204%203%202%201-2l-4-5c-4-1-5-1-2%201m13%201c-1%200-2%201-2%203-1%203%200%203%202%203v3c-2%202-2%202-2%200l-2-1%201%204%202%209c0%204%200%205%201%203s1-2%201%201l1%208v3c3-2%201%203-3%206l-3%203%204-2c3-2%203-2%202%200l-1%203%206-4%201-1h2c2-1%202-1%200-2v-1l2-1-3-1c-2%200-2%200-1-5%201-4%201-6-1-10l-2-5v-2c-2-1-2-2-2-5%200-2%200-3-2-4-2%200-3-1-1-2h2c2-1%201-4-2-3m53%2017c-1%2013-1%2016%202%2015%201-1%201-2-1-4v-2h2l-1-1v-2c1-2%202-2%202-1%201%201%201%200%201-1%200-2%201-4%203-5%203-2%205-2%202%201l-1%204h1c0-1%201-2%202-1%201%200%202-1%202-3%201-3%201-3%202-2%200%202%201%202%201%201%201-1%202%200%203%203l3%203-2-4c-2-4-3-5-7-6l-7-4-3-1-2-1c-2-2-2%200-2%2011m249-6l-2%201-1%201h-1v1l-3%202c-3%202-4%202-5%200h-1v1c-1-1-3%200-4%201s-3%202-4%201v2c-1-1-1%200-1%203v5l-1-4-3-8%204%2017c0-1%202-4%204-4l1-1%201-1%201%201%201-1%206-4c12-5%2013-5%2012-6v-2c1-2%203-2%208-1l5%201c-1%200-1%201%201%202h2c1-1%201-1%201%201%202%203%202%202%203-3%200-5%200-5-2-4l-3-1-4-1h-9c-4-1-5-1-6%201m1%2017l-4%202c-3%200-4%201-2%201l2%206%202%205%208-5c1-1%200-1-1-1v-1c2-2%202-2%200-2-2-1-2-1-1-2l1-2-1-1h-4m-58%207l-7%201c-11-1-13%201-14%2010-1%206%200%206%201%206%202%200%202%200-1%202l-2%202v15c0-7%200-7%202-7s2%200%201%201c-3%202-1%209%201%209s2%200%200%201l-2%203-1%201v2l1%2013%202%2010h19v-3l-2-4-1-1%201-1c2%202%202-1-1-4s-5-9-2-9l3-3%203-3h5c5%200%209-1%206-3-2-2%201-1%204%200l6%201c5-1%205-2-1-3l-6-1-3-1-4-1c-1-1-1-1%201-1%203%201%207-1%205-3-1-2-15%200-17%202s-2%202-2-3l-1-5%201%201%201%202v2h1l14-1%2014-1v-5l-1-1%202-1%201%201%202%201%201-2v-3l4-1c0-2-4-1-5%200l-2%201c-2-1-2-2-1-3%202-3%200-2-3%201l-4%202-2%202c-1%202-3%203-5%201-1-1-2-2-3-1l-1-1h-1c-2%201-2%201-3-1s-5-1-6%202c-2%203-4%203-7%201l-4-2-1-4-3-5c-1%200-1-1%201-1%202-1%202-1%201-2l-1-1%2011-2c8-1%2014-3%208-3l-3%201M88%20228c-2%204-2%207-1%207v3l-2%205h-4v1l1%209v4l-1-8c0-4%200-4-2-3l-1%203-1%203v1l1%202-1%201c-1-1-1%200-1%201l-1%204-1%206c-1%205-1%205%201%205s3-1%203-8c0-10%201-10%201%200v8l1-7%201-7v12h3c4-1%204-2%205-15v-22c-1%201-1%201%200%200v-6l-1%201m172%207c8%205%2012%2015%2010%2027-1%207%200%2015%202%2016l1-2v-2l1-4%201-9v-5c-1-1-3-8-2-10l-1-1-1-1c-1-3-11-11-13-11-1%200-1%201%202%202m-113%204v2l-2%202-2%203h-3c-3%200-3%200-1%202l3%201c4-1%208%209%203%2010-2%201-3-1-3-3l-1-1v2c1%203%201%203-3%203h23c2%200%202%200%201-4s-2-5-4-5c-3%200-3-3%201-4%202%200%203-1%203-2%201-1%201-2%202-1l2-1c0-2-2-2-5%201l-4%201-2%201h-4l1-2%202-2c0-4-1-4-3%201-2%202-2%204-1%205v2c-1%201-2-2-2-6l1-3c2%200%203-3%201-3-2-1-2-1-3%201m54%204c-5%203-6%205-2%203%201-1%201%200%201%208%200%207%201%2011%202%207h1c0%202%202%203%202%201l1-4v-2l-1%202c-2%203-2%200%200-3%201-4%202-12%200-9v-2c2-4%201-4-4-1m-24%203c-1%201-1%205%201%206v-6l1%203%202%203c1%201%200%201-2%201l-3-1-1-1h-3l3%202%201%201c0%202%206%202%207%200l2-1v1l-1%201h1c2-1%202-1%201%202%200%204%201%204%203%200l1-2v5l2-2v-2c2-4%202-5%200-5-1-1-1-1%200%200l-1%201h-2l-1%201c-2%200-2-1%201-3l1-2c-2%200-4%201-4%203l-1%201v-1l-1-1-2-2c0-2-1-3-2-3-2-1-1-1-3%201m-166%201h-1l-1-1-4%2013-3%2016c0%202%200%203%207%203l9%201c1%200%202-2%204-14l1-17a4170%204170%200%2001-7%2018l-1-2c0-2%200-2%201%200v-3c0-3%200-4%201-3v-4l1-6v-1c-3-2-6-2-7%200m283%2022h-1c-1-1-1-1-1%201-1%202%200%202%201%202%202-1%201%201-2%202l-3%204-1%205%201%201h1c0%201%207%203%208%202v-10c0-6-1-6-2%200v-9l-1%202m-39%208l1%202-1%204c-1%203-1%203%202%203l3-1h1l3%201c2%200%203%200%202-1h2c4%202%206%201%206-2-1-3-4-4-4-1-1%202-1%202-1%200s-1-3-2-3-2%200-1%201c0%202-1%201-6-1l-5-2M75%20315l-4%208c-2%206-2%209%201%205l4-2%204%202c3%204%203%201%200-6-2-7-4-9-5-7m11%202c-5%207%200%2015%209%2013%203-1%203-1%203-5%200-3%200-3-3-3l-3%201%202%201%201%202c0%202-1%202-3%202-4%200-5-2-5-6%200-5%203-7%207-5%203%201%205%200%202-2s-8-1-10%202m78%203c-4%205-1%2010%204%2010s7-5%204-10c-1-3-6-3-8%200m101%2042c0%202%206%203%207%201%200-1%209-3%2010-1l1%203c1%203%200%203-4%204-5%200-5%201%205%201l10%201%202-1%201-4c-1-2%204-3%2010-3l3-1-1-1h-8c-7%200-8%200-9%202l1%204v1c-2%200-2-1-2-4v-3l-13-1c-12%200-13%200-13%202m56-2c-1%202%201%2015%203%2015h1l2%201%201%202%202%201c1-1%201%200%201%201%200%202%200%202-3%201-3%200-3%200-2%201l3%202c3-1%205%201%205%206%201%204%201%204-1%203-1-2-1-2-1%200l-2%202c-4%200-2%201%203%201l4%201v-11l-1-14-2-11-2-1-2%202h-2c-1-2-6-3-7-2m-49%2013h-3l-2%201%203%201c4%200%205%202%205%2011%201%2010%201%2011%205%2010%202%200%203-1%202-4%200-2%200-3%201-2l1%201c2%200%202%200%201%201-3%203-1%204%209%204l9-1c0-1-2-2-9-1-5%200-8%200-6-1%204%200%207-2%207-4%200-1%208-2%209-1v-4c0-7-1-8-1-3%200%204%200%204-2%204-3%200-4-2-4-9v-3h-8l-7%201-3%201-4-1%203-1%203-1c0-1-8-1-9%201m-68%2025l-8%201h55a130%20130%200%2000-37-1h-10'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/1395b60047362fd2d001b28c3144c1df/6050d/agi_cover2.png"}}}]}},"staticQueryHashes":["1609575157","2068910035","2361467917","2361467917","3838421970","500183989","5650841"]}