← eval3_submission_v2t

rich_3944

failed CONTEXT NO_PATCH UNSUBMITTED agent_error · 13 tool calls · 15 s · Textualize/rich

Task input

fix fonts

Fixes https://github.com/Textualize/rich/issues/3943

Tool calls (13)

#ToolArgumentsResult
1run_command
{
 "command": "grep -rn \"fonts\" . | head -20"
}
{"status": "ok", "stdout": "./assets/logo.svg:4: <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; fo
full
{"status": "ok", "stdout": "./assets/logo.svg:4:    <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; font-stretch: normal; font-variant: normal; font-feature-settings: normal; src: url(\"data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRp4LlJ8AAhdoAAABdkdQT1NaRxfrAAIY4AAAFfxHU1VCvcA6eQACLtwAAFUwT1MvMmlt1xQAAZHIAAAAYFNUQVR4cGiMAAKEDAAAABxjbWFwI+mTbgABkigAADpwZ2FzcAAAABAAAhdgAAAACGdseWYLbS8pAAABDAABaVpoZWFkC8n2/gABd4QAAAA2aGhlYQM6BAMAAZGkAAAAJGhtdHjgF35pAAF3vAAAGeZsb2NhNWuROgABaogAAAz8bWF4cAbrArwAAWpoAAAAIG5hbWVz25rrAAHMoAAABIJwb3N0XaJ9IgAB0SQAAEY7cHJlcGgGjIUAAcyYAAAABwAEALT9RAP8CDQAAwAHACcAMwAAUyERISURIREBFAYjIiY1NTY2NTQmIyIHBiMiJjU0NjYzMhYWFRQGBwM0NjMyFhUUBiMiJrQDSPy4Atz9kgFEIBITH2xKL0s5Lw8LFho9VidWYSdZZXgoHh4oKB4eKAg09RBoCiD14AOuFhoaFqgGRU87TxYGGxMbIhFBaTxpdA/+9h4oKB4fKysAAAIAPAAABHQFXgAHAAoAAEEhAyMBMwEjASEDA3f9tnl4AcepAciE/WgB9fkBb/6RBV76ogHjAwT//wA8AAAEdAb4BiYAAQAAAAYGNAoA//8APAAABHQG4wYmAAEAAAAGBjX9AP//ADwAAAR0BwoGJgABAAAABgY4AAD//wA8AAAEdAa6BiYAAQAAAAYGOQQA//8APAAABHQHAQYmAAEAAAAGBjsEAP//ADwAAAR0BqQGJgABAAAABgY9BAD//wA8/kMEdAVeBiYAAQAAAAcGMAERAAD//wA8AAAEdAdCBiYAAQAAAAYGPgQA//8APAAABHQG5wYmAAEAAAAGBj8EAAAC/+gAAATCBV4ADwASAABBIQMjASEHIRMhFSETIRUhASEDAp3+Q3CIAaQC4RH+CXABhv6RcQFl/iv+IwFuoAFt/pMFXnX+C3X99nUB5wMH////6AAABMIG+AYmAAsAAAAHBjQAiwAAAAMA2QAABCQFXgALABQAKQAAQTQmJiMhESEyPgIDNCYjIxEzMjYTFA4CIyERITIeAhUUBgYHHgIDm1iPU/73AQMzcGE8N56C7P9/jsBYkbFa/qkBNVaoiVNKdUFNkV4BeXJ5Lv3hFThnAtyAa/4ddv4EbpZaJwVeIE6GZVp8SQ4NRYsAAAEAkP/sBGIFcQAdAABBMhYXByYmIyIGAhUUEhYzMjY3FwYGIyIkAjU0EiQCzIOuUE5Dk094z354y3x3mTZIOsOPof73nJ8BBQVxQUBZOS1u/v/f2f7+ckQtXDhTowE75egBOqAA//8AkP/sBGIG+AYmAA4AAAAHBjQAkAAA//8AkP/sBGIG+AYmAA4AAAAHBjYAhgAA//8AkP4xBGIFcQYmAA4AAAAGBjdiAP//AJD/7ARiBwoGJgAOAAAABwY4AIYAAP//AJD/7ARiBuEGJgAOAAAABwY6AIoAAAACALoAAAREBV4ADAAZAABBNC4CIyMRMzI+AjcUAgYGIyERITIWFhIDuVWInUm9wEydhVKLcLfUZf7WARV14LVrArbA43Ak+4EwfuW12v7vlDcFXjWR/vUAAwAvAAAEVQVeAAMAEAAdAABBFSE1BTQuAiMjETMyPgI3FAIGBiMhESEyFhYSAp39kgObVYidSb3ATJ2FUotwt9Rl/tYBFXXg
2-3 ×2run_command
{
 "command": "grep -rn \"font\" . | grep \".py\" | head -20"
}
{"status": "ok", "stdout": "./assets/logo.svg:4: <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; fo
full
{"status": "ok", "stdout": "./assets/logo.svg:4:    <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; font-stretch: normal; font-variant: normal; font-feature-settings: normal; src: url(\"data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRp4LlJ8AAhdoAAABdkdQT1NaRxfrAAIY4AAAFfxHU1VCvcA6eQACLtwAAFUwT1MvMmlt1xQAAZHIAAAAYFNUQVR4cGiMAAKEDAAAABxjbWFwI+mTbgABkigAADpwZ2FzcAAAABAAAhdgAAAACGdseWYLbS8pAAABDAABaVpoZWFkC8n2/gABd4QAAAA2aGhlYQM6BAMAAZGkAAAAJGhtdHjgF35pAAF3vAAAGeZsb2NhNWuROgABaogAAAz8bWF4cAbrArwAAWpoAAAAIG5hbWVz25rrAAHMoAAABIJwb3N0XaJ9IgAB0SQAAEY7cHJlcGgGjIUAAcyYAAAABwAEALT9RAP8CDQAAwAHACcAMwAAUyERISURIREBFAYjIiY1NTY2NTQmIyIHBiMiJjU0NjYzMhYWFRQGBwM0NjMyFhUUBiMiJrQDSPy4Atz9kgFEIBITH2xKL0s5Lw8LFho9VidWYSdZZXgoHh4oKB4eKAg09RBoCiD14AOuFhoaFqgGRU87TxYGGxMbIhFBaTxpdA/+9h4oKB4fKysAAAIAPAAABHQFXgAHAAoAAEEhAyMBMwEjASEDA3f9tnl4AcepAciE/WgB9fkBb/6RBV76ogHjAwT//wA8AAAEdAb4BiYAAQAAAAYGNAoA//8APAAABHQG4wYmAAEAAAAGBjX9AP//ADwAAAR0BwoGJgABAAAABgY4AAD//wA8AAAEdAa6BiYAAQAAAAYGOQQA//8APAAABHQHAQYmAAEAAAAGBjsEAP//ADwAAAR0BqQGJgABAAAABgY9BAD//wA8/kMEdAVeBiYAAQAAAAcGMAERAAD//wA8AAAEdAdCBiYAAQAAAAYGPgQA//8APAAABHQG5wYmAAEAAAAGBj8EAAAC/+gAAATCBV4ADwASAABBIQMjASEHIRMhFSETIRUhASEDAp3+Q3CIAaQC4RH+CXABhv6RcQFl/iv+IwFuoAFt/pMFXnX+C3X99nUB5wMH////6AAABMIG+AYmAAsAAAAHBjQAiwAAAAMA2QAABCQFXgALABQAKQAAQTQmJiMhESEyPgIDNCYjIxEzMjYTFA4CIyERITIeAhUUBgYHHgIDm1iPU/73AQMzcGE8N56C7P9/jsBYkbFa/qkBNVaoiVNKdUFNkV4BeXJ5Lv3hFThnAtyAa/4ddv4EbpZaJwVeIE6GZVp8SQ4NRYsAAAEAkP/sBGIFcQAdAABBMhYXByYmIyIGAhUUEhYzMjY3FwYGIyIkAjU0EiQCzIOuUE5Dk094z354y3x3mTZIOsOPof73nJ8BBQVxQUBZOS1u/v/f2f7+ckQtXDhTowE75egBOqAA//8AkP/sBGIG+AYmAA4AAAAHBjQAkAAA//8AkP/sBGIG+AYmAA4AAAAHBjYAhgAA//8AkP4xBGIFcQYmAA4AAAAGBjdiAP//AJD/7ARiBwoGJgAOAAAABwY4AIYAAP//AJD/7ARiBuEGJgAOAAAABwY6AIoAAAACALoAAAREBV4ADAAZAABBNC4CIyMRMzI+AjcUAgYGIyERITIWFhIDuVWInUm9wEydhVKLcLfUZf7WARV14LVrArbA43Ak+4EwfuW12v7vlDcFXjWR/vUAAwAvAAAEVQVeAAMAEAAdAABBFSE1BTQuAiMjETMyPgI3FAIGBiMhESEyFhYSAp39kgObVYidSb3ATJ2FUotwt9Rl/tYBFXXg
4run_command
{
 "command": "grep -rn \"font\" . | grep \".py\" | grep -v \"assets\" | head -20"
}
{"status": "ok", "stdout": "./tests/test_style.py:128: expected = \"color: #7f7fbf; text-decoration-color: #7f7fbf; background-color: #800000; font-weight: bold
full
{"status": "ok", "stdout": "./tests/test_style.py:128:    expected = \"color: #7f7fbf; text-decoration-color: #7f7fbf; background-color: #800000; font-weight: bold; font-style: italic; text-decoration: underline; text-decoration: line-through; text-decoration: overline\"\n./tests/test_console.py:518:    expected = '<!DOCTYPE html>\\n<html>\\n<head>\\n<meta charset=\"UTF-8\">\\n<style>\\n.r1 {font-weight: bold}\\n.r2 {color: #ff00ff; text-decoration-color: #ff00ff; font-weight: bold}\\n.r3 {color: #008000; text-decoration-color: #008000; font-weight: bold}\\nbody {\\n    color: #000000;\\n    background-color: #ffffff;\\n}\\n</style>\\n</head>\\n<body>\\n    <pre style=\"font-family:Menlo,\\'DejaVu Sans Mono\\',consolas,\\'Courier New\\',monospace\"><code style=\"font-family:inherit\"><span class=\"r1\">foo &lt;</span><span class=\"r2\">script</span><span class=\"r1\">&gt; </span><span class=\"r3\">&#x27;test&#x27;</span><span class=\"r1\"> </span><a class=\"r1\" href=\"https://example.org\">Click</a>\\n</code></pre>\\n</body>\\n</html>\\n'\n./tests/test_console.py:527:    expected = '<!DOCTYPE html>\\n<html>\\n<head>\\n<meta charset=\"UTF-8\">\\n<style>\\n\\nbody {\\n    color: #000000;\\n    background-color: #ffffff;\\n}\\n</style>\\n</head>\\n<body>\\n    <pre style=\"font-family:Menlo,\\'DejaVu Sans Mono\\',consolas,\\'Courier New\\',monospace\"><code style=\"font-family:inherit\"><span style=\"font-weight: bold\">foo </span><span style=\"font-weight: bold\"><a href=\"https://example.org\">Click</a></span>\\n</code></pre>\\n</body>\\n</html>\\n'\n./tests/test_console.py:531:EXPECTED_SVG = '<svg class=\"rich-terminal\" viewBox=\"0 0 1238 74.4\" xmlns=\"http://www.w3.org/2000/svg\">\\n    <!-- Generated with Rich https://www.textualize.io -->\\n    <style>\\n\\n    @font-face {\\n        font-family: \"Fira Code\";\\n        src: local(\"FiraCode-Regular\"),\\n                url(\"https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2\
5run_command
{
 "command": "grep -n \"font_aspect_ratio\" rich/console.py"
}
{"status": "ok", "stdout": "2336: font_aspect_ratio: float = 0.61,\n2349: font_aspect_ratio (float, optional): The width to height ratio of the font used in the
full
{"status": "ok", "stdout": "2336:        font_aspect_ratio: float = 0.61,\n2349:            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n2397:        char_width = char_height * font_aspect_ratio\n2588:        font_aspect_ratio: float = 0.61,\n2601:            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n2612:            font_aspect_ratio=font_aspect_ratio,\n", "exit_code": 0}
6read_file
{
 "filepath": "rich/console.py",
 "start_line": 2330,
 "end_line": 2410
}
{"status": "ok", "filepath": "rich/console.py", "content": " self,\n *,\n title: str = \"Rich\",\n theme: Optional[TerminalTheme] = None,\n clear: bool = True,\
full
{"status": "ok", "filepath": "rich/console.py", "content": "        self,\n        *,\n        title: str = \"Rich\",\n        theme: Optional[TerminalTheme] = None,\n        clear: bool = True,\n        code_format: str = CONSOLE_SVG_FORMAT,\n        font_aspect_ratio: float = 0.61,\n        unique_id: Optional[str] = None,\n    ) -> str:\n        \"\"\"\n        Generate an SVG from the console contents (requires record=True in Console constructor).\n\n        Args:\n            title (str, optional): The title of the tab in the output image\n            theme (TerminalTheme, optional): The ``TerminalTheme`` object to use to style the terminal\n            clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``\n            code_format (str, optional): Format string used to generate the SVG. Rich will inject a number of variables\n                into the string in order to form the final SVG output. The default template used and the variables\n                injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable.\n            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n                string. Defaults to 0.61, which is the width to height ratio of Fira Code (the default font).\n                If you aren't specifying a different font inside ``code_format``, you probably don't need this.\n            unique_id (str, optional): unique id that is used as the prefix for various elements (CSS styles, node\n                ids). If not set, this defaults to a computed value based on the recorded content.\n        \"\"\"\n\n        from rich.cells import cell_len\n\n        style_cache: Dict[Style, str] = {}\n\n        def get_svg_style(style: Style) -> str:\n            \"\"\"Convert a Style to CSS rules for SVG.\"\"\"\n            if style in style_cache:\n                return style_cache[style]\n            css_rules = []\n            color = (\n
7run_command
{
 "command": "grep -n \"font_aspect_ratio\" rich/console.py"
}
{"status": "ok", "stdout": "2336: font_aspect_ratio: float = 0.61,\n2349: font_aspect_ratio (float, optional): The width to height ratio of the font used in the
full
{"status": "ok", "stdout": "2336:        font_aspect_ratio: float = 0.61,\n2349:            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n2397:        char_width = char_height * font_aspect_ratio\n2588:        font_aspect_ratio: float = 0.61,\n2601:            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n2612:            font_aspect_ratio=font_aspect_ratio,\n", "exit_code": 0}
8read_file
{
 "end_line": 2620,
 "filepath": "rich/console.py",
 "start_line": 2570
}
{"status": "ok", "filepath": "rich/console.py", "content": " terminal_x=margin_left + padding_left,\n terminal_y=margin_top + padding_top,\n styles=styles,\n ch
full
{"status": "ok", "filepath": "rich/console.py", "content": "            terminal_x=margin_left + padding_left,\n            terminal_y=margin_top + padding_top,\n            styles=styles,\n            chrome=chrome,\n            backgrounds=backgrounds,\n            matrix=matrix,\n            lines=lines,\n        )\n        return svg\n\n    def save_svg(\n        self,\n        path: str,\n        *,\n        title: str = \"Rich\",\n        theme: Optional[TerminalTheme] = None,\n        clear: bool = True,\n        code_format: str = CONSOLE_SVG_FORMAT,\n        font_aspect_ratio: float = 0.61,\n        unique_id: Optional[str] = None,\n    ) -> None:\n        \"\"\"Generate an SVG file from the console contents (requires record=True in Console constructor).\n\n        Args:\n            path (str): The path to write the SVG to.\n            title (str, optional): The title of the tab in the output image\n            theme (TerminalTheme, optional): The ``TerminalTheme`` object to use to style the terminal\n            clear (bool, optional): Clear record buffer after exporting. Defaults to ``True``\n            code_format (str, optional): Format string used to generate the SVG. Rich will inject a number of variables\n                into the string in order to form the final SVG output. The default template used and the variables\n                injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable.\n            font_aspect_ratio (float, optional): The width to height ratio of the font used in the ``code_format``\n                string. Defaults to 0.61, which is the width to height ratio of Fira Code (the default font).\n                If you aren't specifying a different font inside ``code_format``, you probably don't need this.\n            unique_id (str, optional): unique id that is used as the prefix for various elements (CSS styles, node\n                ids). If not set, this defaults to a computed value based on t
9run_command
{
 "command": "cat /dev/null > /tmp/issue_repro.py\necho \"from rich.console import Console\nconsole = Console(record=True)\nconsole.print('Hello World')\nsvg = console.export_svg()\nprint(svg)\" >> /tmp/issue_repro.py\npython3 /tmp/issue_repro.py | grep \"font-family\""
}
{"status": "ok", "stdout": " font-family: \"Fira Code\";\n font-family: \"Fira Code\";\n font-family: Fira Code, monospace;\n font-family: arial;\n", "exit_code
full
{"status": "ok", "stdout": "        font-family: \"Fira Code\";\n        font-family: \"Fira Code\";\n        font-family: Fira Code, monospace;\n        font-family: arial;\n", "exit_code": 0}
10run_command
{
 "command": "grep -rn \"Fira Code\" . | head -20"
}
{"status": "ok", "stdout": "./assets/logo.svg:4: <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; fo
full
{"status": "ok", "stdout": "./assets/logo.svg:4:    <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; font-stretch: normal; font-variant: normal; font-feature-settings: normal; src: url(\"data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRp4LlJ8AAhdoAAABdkdQT1NaRxfrAAIY4AAAFfxHU1VCvcA6eQACLtwAAFUwT1MvMmlt1xQAAZHIAAAAYFNUQVR4cGiMAAKEDAAAABxjbWFwI+mTbgABkigAADpwZ2FzcAAAABAAAhdgAAAACGdseWYLbS8pAAABDAABaVpoZWFkC8n2/gABd4QAAAA2aGhlYQM6BAMAAZGkAAAAJGhtdHjgF35pAAF3vAAAGeZsb2NhNWuROgABaogAAAz8bWF4cAbrArwAAWpoAAAAIG5hbWVz25rrAAHMoAAABIJwb3N0XaJ9IgAB0SQAAEY7cHJlcGgGjIUAAcyYAAAABwAEALT9RAP8CDQAAwAHACcAMwAAUyERISURIREBFAYjIiY1NTY2NTQmIyIHBiMiJjU0NjYzMhYWFRQGBwM0NjMyFhUUBiMiJrQDSPy4Atz9kgFEIBITH2xKL0s5Lw8LFho9VidWYSdZZXgoHh4oKB4eKAg09RBoCiD14AOuFhoaFqgGRU87TxYGGxMbIhFBaTxpdA/+9h4oKB4fKysAAAIAPAAABHQFXgAHAAoAAEEhAyMBMwEjASEDA3f9tnl4AcepAciE/WgB9fkBb/6RBV76ogHjAwT//wA8AAAEdAb4BiYAAQAAAAYGNAoA//8APAAABHQG4wYmAAEAAAAGBjX9AP//ADwAAAR0BwoGJgABAAAABgY4AAD//wA8AAAEdAa6BiYAAQAAAAYGOQQA//8APAAABHQHAQYmAAEAAAAGBjsEAP//ADwAAAR0BqQGJgABAAAABgY9BAD//wA8/kMEdAVeBiYAAQAAAAcGMAERAAD//wA8AAAEdAdCBiYAAQAAAAYGPgQA//8APAAABHQG5wYmAAEAAAAGBj8EAAAC/+gAAATCBV4ADwASAABBIQMjASEHIRMhFSETIRUhASEDAp3+Q3CIAaQC4RH+CXABhv6RcQFl/iv+IwFuoAFt/pMFXnX+C3X99nUB5wMH////6AAABMIG+AYmAAsAAAAHBjQAiwAAAAMA2QAABCQFXgALABQAKQAAQTQmJiMhESEyPgIDNCYjIxEzMjYTFA4CIyERITIeAhUUBgYHHgIDm1iPU/73AQMzcGE8N56C7P9/jsBYkbFa/qkBNVaoiVNKdUFNkV4BeXJ5Lv3hFThnAtyAa/4ddv4EbpZaJwVeIE6GZVp8SQ4NRYsAAAEAkP/sBGIFcQAdAABBMhYXByYmIyIGAhUUEhYzMjY3FwYGIyIkAjU0EiQCzIOuUE5Dk094z354y3x3mTZIOsOPof73nJ8BBQVxQUBZOS1u/v/f2f7+ckQtXDhTowE75egBOqAA//8AkP/sBGIG+AYmAA4AAAAHBjQAkAAA//8AkP/sBGIG+AYmAA4AAAAHBjYAhgAA//8AkP4xBGIFcQYmAA4AAAAGBjdiAP//AJD/7ARiBwoGJgAOAAAABwY4AIYAAP//AJD/7ARiBuEGJgAOAAAABwY6AIoAAAACALoAAAREBV4ADAAZAABBNC4CIyMRMzI+AjcUAgYGIyERITIWFhIDuVWInUm9wEydhVKLcLfUZf7WARV14LVrArbA43Ak+4EwfuW12v7vlDcFXjWR/vUAAwAvAAAEVQVeAAMAEAAdAABBFSE1BTQuAiMjETMyPgI3FAIGBiMhESEyFhYSAp39kgObVYidSb3ATJ2FUotwt9Rl/tYBFXXg
11run_command
{
 "command": "grep -rn \"CONSOLE_SVG_FORMAT\" rich/console.py"
}
{"status": "ok", "stdout": "42:from ._export_format import CONSOLE_HTML_FORMAT, CONSOLE_SVG_FORMAT\n2335: code_format: str = CONSOLE_SVG_FORMAT,\n2348: injected
full
{"status": "ok", "stdout": "42:from ._export_format import CONSOLE_HTML_FORMAT, CONSOLE_SVG_FORMAT\n2335:        code_format: str = CONSOLE_SVG_FORMAT,\n2348:                injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable.\n2587:        code_format: str = CONSOLE_SVG_FORMAT,\n2600:                injected by Rich can be found by inspecting the ``console.CONSOLE_SVG_FORMAT`` variable.\n", "exit_code": 0}
12read_file
{
 "filepath": "rich/_export_format.py"
}
{"status": "ok", "filepath": "rich/_export_format.py", "content": "CONSOLE_HTML_FORMAT = \"\"\"\\\n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<s
full
{"status": "ok", "filepath": "rich/_export_format.py", "content": "CONSOLE_HTML_FORMAT = \"\"\"\\\n<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<style>\n{stylesheet}\nbody {{\n    color: {foreground};\n    background-color: {background};\n}}\n</style>\n</head>\n<body>\n    <pre style=\"font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><code style=\"font-family:inherit\">{code}</code></pre>\n</body>\n</html>\n\"\"\"\n\nCONSOLE_SVG_FORMAT = \"\"\"\\\n<svg class=\"rich-terminal\" viewBox=\"0 0 {width} {height}\" xmlns=\"http://www.w3.org/2000/svg\">\n    <!-- Generated with Rich https://www.textualize.io -->\n    <style>\n\n    @font-face {{\n        font-family: \"Fira Code\";\n        src: local(\"FiraCode-Regular\"),\n                url(\"https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2\") format(\"woff2\"),\n                url(\"https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff\") format(\"woff\");\n        font-style: normal;\n        font-weight: 400;\n    }}\n    @font-face {{\n        font-family: \"Fira Code\";\n        src: local(\"FiraCode-Bold\"),\n                url(\"https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2\") format(\"woff2\"),\n                url(\"https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff\") format(\"woff\");\n        font-style: bold;\n        font-weight: 700;\n    }}\n\n    .{unique_id}-matrix {{\n        font-family: Fira Code, monospace;\n        font-size: {char_height}px;\n        line-height: {line_height}px;\n        font-variant-east-asian: full-width;\n    }}\n\n    .{unique_id}-title {{\n        font-size: 18px;\n        font-weight: bold;\n        font-family: arial;\n    }}\n\n    {styles}\n    </style>\n\n    <defs>\n    <clipPath id=\"{unique_id}-clip-terminal\">\n      <rect x=\"0\" y=\"0\" width=\"{terminal_width}\" height=\"{terminal_height}\" />\n    </cli
13run_command
{
 "command": "grep -rn \"Fira Code\" . | head -20"
}
{"status": "ok", "stdout": "./assets/logo.svg:4: <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; fo
full
{"status": "ok", "stdout": "./assets/logo.svg:4:    <style bx:fonts=\"Fira Code\">@font-face { font-family: \"Fira Code\"; font-style: normal; font-weight: 300; font-stretch: normal; font-variant: normal; font-feature-settings: normal; src: url(\"data:font/ttf;base64,AAEAAAAQAQAABAAAR0RFRp4LlJ8AAhdoAAABdkdQT1NaRxfrAAIY4AAAFfxHU1VCvcA6eQACLtwAAFUwT1MvMmlt1xQAAZHIAAAAYFNUQVR4cGiMAAKEDAAAABxjbWFwI+mTbgABkigAADpwZ2FzcAAAABAAAhdgAAAACGdseWYLbS8pAAABDAABaVpoZWFkC8n2/gABd4QAAAA2aGhlYQM6BAMAAZGkAAAAJGhtdHjgF35pAAF3vAAAGeZsb2NhNWuROgABaogAAAz8bWF4cAbrArwAAWpoAAAAIG5hbWVz25rrAAHMoAAABIJwb3N0XaJ9IgAB0SQAAEY7cHJlcGgGjIUAAcyYAAAABwAEALT9RAP8CDQAAwAHACcAMwAAUyERISURIREBFAYjIiY1NTY2NTQmIyIHBiMiJjU0NjYzMhYWFRQGBwM0NjMyFhUUBiMiJrQDSPy4Atz9kgFEIBITH2xKL0s5Lw8LFho9VidWYSdZZXgoHh4oKB4eKAg09RBoCiD14AOuFhoaFqgGRU87TxYGGxMbIhFBaTxpdA/+9h4oKB4fKysAAAIAPAAABHQFXgAHAAoAAEEhAyMBMwEjASEDA3f9tnl4AcepAciE/WgB9fkBb/6RBV76ogHjAwT//wA8AAAEdAb4BiYAAQAAAAYGNAoA//8APAAABHQG4wYmAAEAAAAGBjX9AP//ADwAAAR0BwoGJgABAAAABgY4AAD//wA8AAAEdAa6BiYAAQAAAAYGOQQA//8APAAABHQHAQYmAAEAAAAGBjsEAP//ADwAAAR0BqQGJgABAAAABgY9BAD//wA8/kMEdAVeBiYAAQAAAAcGMAERAAD//wA8AAAEdAdCBiYAAQAAAAYGPgQA//8APAAABHQG5wYmAAEAAAAGBj8EAAAC/+gAAATCBV4ADwASAABBIQMjASEHIRMhFSETIRUhASEDAp3+Q3CIAaQC4RH+CXABhv6RcQFl/iv+IwFuoAFt/pMFXnX+C3X99nUB5wMH////6AAABMIG+AYmAAsAAAAHBjQAiwAAAAMA2QAABCQFXgALABQAKQAAQTQmJiMhESEyPgIDNCYjIxEzMjYTFA4CIyERITIeAhUUBgYHHgIDm1iPU/73AQMzcGE8N56C7P9/jsBYkbFa/qkBNVaoiVNKdUFNkV4BeXJ5Lv3hFThnAtyAa/4ddv4EbpZaJwVeIE6GZVp8SQ4NRYsAAAEAkP/sBGIFcQAdAABBMhYXByYmIyIGAhUUEhYzMjY3FwYGIyIkAjU0EiQCzIOuUE5Dk094z354y3x3mTZIOsOPof73nJ8BBQVxQUBZOS1u/v/f2f7+ckQtXDhTowE75egBOqAA//8AkP/sBGIG+AYmAA4AAAAHBjQAkAAA//8AkP/sBGIG+AYmAA4AAAAHBjYAhgAA//8AkP4xBGIFcQYmAA4AAAAGBjdiAP//AJD/7ARiBwoGJgAOAAAABwY4AIYAAP//AJD/7ARiBuEGJgAOAAAABwY6AIoAAAACALoAAAREBV4ADAAZAABBNC4CIyMRMzI+AjcUAgYGIyERITIWFhIDuVWInUm9wEydhVKLcLfUZf7WARV14LVrArbA43Ak+4EwfuW12v7vlDcFXjWR/vUAAwAvAAAEVQVeAAMAEAAdAABBFSE1BTQuAiMjETMyPgI3FAIGBiMhESEyFhYSAp39kgObVYidSb3ATJ2FUotwt9Rl/tYBFXXg