§
    ‰eîiÿ¦  ã                   ó  — U d Z ddlZddlmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZ ddlmZ  ej        e¦  «        Ze G d„ d¦  «        ¦   «         Zd	d
i dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d"“d#d“d$d%“i d&d'd(d)d*d+d,œd-d.œd/d0i dd1“dd2“dd3“dd4“dd5“dd3“dd2“dd“dd“dd“dd5“dd1“d d2“d!d6“d7d5“d8d2“d9d:“d;d2d3d<d2d:d=œ¥g d>¢g d?¢g d@¢dAdBgdCdDgdEdFgdGdHggdIœdJdKdLdMdNdOd,œdPdQdRdSœdTdUi ddV“ddW“ddX“ddY“ddZ“ddX“dd[“dd[“dd\“dd]“ddZ“ddY“d dX“d!d^“d7d_“d8d`“d9da“dbdcddded[dVd=œ¥i d&d'd(d)d*dfd,œd-d.œdgdhi ddi“ddj“ddk“ddl“ddZ“ddj“ddk“ddm“ddn“ddo“ddZ“ddi“d dj“d!dp“d7d_“d8dq“d9dr“dmdsdndtdjdld=œ¥i d&d'd(d)d*d+d,œd-d.œdudvi ddw“ddx“ddy“ddz“dd{“ddw“dd|“dd}“dd~“dd“dd{“dd€“d dw“d#dy“d$d�“d!d‚“dƒd‚“d„d…d†d‡dˆœ¥i d&d'd(d)d*dfd,œd‰d.œdŠd‹i ddŒ“dd�“ddŽ“dd�“dd�“ddŽ“dd�“dd‘“dd’“dd““dd�“ddŒ“d dŒ“d#d�“d$d”“d!d•“dƒd•“d–d—d˜d™dˆœ¥i d&d'd(d)d*d+d,œd-d.œdšd›i ddœ“dd�“ddž“ddŸ“dd “ddž“dd�“dd“dd“dd“dd “ddœ“d dž“d!d¡“d7d “d8d�“d9d¢“d£dždœd¤d�d¢d=œ¥g d¥¢g d¦¢g d§¢d¨d©gdªd«gd¬d­gd®d¯ggdIœd°d±d²d³d´dµd,œd‰d¶d·dSœd¸d¹i ddº“dd»“dd¼“dd½“dd¾“dd¼“dd¾“dd¿“dd¼“ddº“dd»“ddÀ“d dº“d!dÁ“d7d¾“d8d»“d9dÀ“dºd¾d¼d»d¿dÀd=œ¥g dÂ¢g dÃ¢g dÄ¢dÅdÆgdÇdÈgd®d¯gdÉdÊggdIœdËdÌdÍdÎdÏdÐd,œd‰dÑdÒdSœdÓdÔi ddÕ“ddÖ“dd×“ddØ“ddÙ“dd×“ddÖ“dd“dd“dd“ddÙ“ddÕ“d d×“d!dÚ“d7dÙ“d8dÖ“d9dÛ“dÜd×dÝd<dÖdÛd=œ¥g dÞ¢g dß¢g dà¢dádâgdCdDgd®d¯gdãdäggdIœdådædçdèdédêd,œd‰dëdìdSœdíœ	Ze	ee	eef         f         edî<   daee         edï<   d	aeedð<   dñefdò„Zdóedñee	eef                  fdô„Zdõe	eef         dñefdö„Zdñe
e	eef                  fd÷„Zdøedñefdù„Zdñefdú„Zdøedñefdû„Zdñefdü„Zdýe dñdfdþ„Z!�ddÿedñef�d „Z"�ddÿedñef�d„Z#�ddÿedñef�d„Z$dñe	eef         f�d„Z%dS (  u0  Hermes CLI skin/theme engine.

A data-driven skin system that lets users customize the CLI's visual appearance.
Skins are defined as YAML files in ~/.hermes/skins/ or as built-in presets.
No code changes are needed to add a new skin.

SKIN YAML SCHEMA
================

All fields are optional. Missing values inherit from the ``default`` skin.

.. code-block:: yaml

    # Required: skin identity
    name: mytheme                         # Unique skin name (lowercase, hyphens ok)
    description: Short description        # Shown in /skin listing

    # Colors: hex values for Rich markup (banner, UI, response box)
    colors:
      banner_border: "#CD7F32"            # Panel border color
      banner_title: "#FFD700"             # Panel title text color
      banner_accent: "#FFBF00"            # Section headers (Available Tools, etc.)
      banner_dim: "#B8860B"               # Dim/muted text (separators, labels)
      banner_text: "#FFF8DC"              # Body text (tool names, skill names)
      ui_accent: "#FFBF00"               # General UI accent
      ui_label: "#DAA520"                # UI labels (warm gold; teal clashed w/ default banner gold)
      ui_ok: "#4caf50"                   # Success indicators
      ui_error: "#ef5350"                # Error indicators
      ui_warn: "#ffa726"                 # Warning indicators
      prompt: "#FFF8DC"                  # Prompt text color
      input_rule: "#CD7F32"              # Input area horizontal rule
      response_border: "#FFD700"         # Response box border (ANSI)
      status_bar_bg: "#1a1a2e"           # Status bar background
      status_bar_text: "#C0C0C0"         # Status bar default text
      status_bar_strong: "#FFD700"       # Status bar highlighted text
      status_bar_dim: "#8B8682"          # Status bar separators/muted text
      status_bar_good: "#8FBC8F"         # Healthy context usage
      status_bar_warn: "#FFD700"         # Warning context usage
      status_bar_bad: "#FF8C00"          # High context usage
      status_bar_critical: "#FF6B6B"     # Critical context usage
      session_label: "#DAA520"           # Session label color
      session_border: "#8B8682"          # Session ID dim color
      status_bar_bg: "#1a1a2e"          # TUI status/usage bar background
      voice_status_bg: "#1a1a2e"        # TUI voice status background
      completion_menu_bg: "#1a1a2e"      # Completion menu background
      completion_menu_current_bg: "#333355"  # Active completion row background
      completion_menu_meta_bg: "#1a1a2e"     # Completion meta column background
      completion_menu_meta_current_bg: "#333355"  # Active completion meta background

    # Spinner: customize the animated spinner during API calls
    spinner:
      waiting_faces:                      # Faces shown while waiting for API
        - "(âš”)"
        - "(â›¨)"
      thinking_faces:                     # Faces shown during reasoning
        - "(âŒ�)"
        - "(<>)"
      thinking_verbs:                     # Verbs for spinner messages
        - "forging"
        - "plotting"
      wings:                              # Optional left/right spinner decorations
        - ["âŸªâš”", "âš”âŸ«"]                  # Each entry is [left, right] pair
        - ["âŸªâ–²", "â–²âŸ«"]

    # Branding: text strings used throughout the CLI
    branding:
      agent_name: "Hermes Agent"          # Banner title, status display
      welcome: "Welcome message"          # Shown at CLI startup
      goodbye: "Goodbye! âš•"              # Shown on exit
      response_label: " âš• Hermes "       # Response box header label
      prompt_symbol: "â�¯ "                # Input prompt symbol
      help_header: "(^_^)? Commands"      # /help header text

    # Tool prefix: character for tool output lines (default: â”Š)
    tool_prefix: "â”Š"

    # Tool emojis: override the default emoji for any tool (used in spinners & progress)
    tool_emojis:
      terminal: "âš”"           # Override terminal tool emoji
      web_search: "ðŸ”®"        # Override web_search tool emoji
      # Any tool not listed here uses its registry default

USAGE
=====

.. code-block:: python

    from hermes_cli.skin_engine import get_active_skin, list_skins, set_active_skin

    skin = get_active_skin()
    print(skin.colors["banner_title"])    # "#FFD700"
    print(skin.get_branding("agent_name"))  # "Hermes Agent"

    set_active_skin("ares")               # Switch to built-in ares skin
    set_active_skin("mytheme")            # Switch to user skin from ~/.hermes/skins/

BUILT-IN SKINS
==============

- ``default`` â€” Classic Hermes gold/kawaii (the current look)
- ``ares``    â€” Crimson/bronze war-god theme with custom spinner wings
- ``mono``    â€” Clean grayscale monochrome
- ``slate``   â€” Cool blue developer-focused theme
- ``daylight`` â€” Light background theme with dark text and blue accents
- ``warm-lightmode`` â€” Warm brown/gold text for light terminal backgrounds

USER SKINS
==========

Drop a YAML file in ``~/.hermes/skins/<name>.yaml`` following the schema above.
Activate with ``/skin <name>`` in the CLI or ``display.skin: <name>`` in config.yaml.
é    N)Ú	dataclassÚfield)ÚPath)ÚAnyÚDictÚListÚOptionalÚTuple©Úget_hermes_homec                   ór  — e Zd ZU dZeed<   dZeed<    ee¬¦  «        Z	e
eef         ed<    ee¬¦  «        Ze
eef         ed<    ee¬¦  «        Ze
eef         ed<   d	Zeed
<    ee¬¦  «        Ze
eef         ed<   dZeed<   dZeed<   ddededefd„Zdeeeef                  fd„Zddededefd„ZdS )Ú
SkinConfigzComplete skin configuration.ÚnameÚ Údescription)Údefault_factoryÚcolorsÚspinnerÚbrandingõ   â”ŠÚtool_prefixÚtool_emojisÚbanner_logoÚbanner_heroÚkeyÚfallbackÚreturnc                 ó8   — | j                              ||¦  «        S )z Get a color value with fallback.)r   Úget©Úselfr   r   s      ú8/home/div/.hermes/hermes-agent/hermes_cli/skin_engine.pyÚ	get_colorzSkinConfig.get_color�   s   € àŒ{�Š˜s HÑ-Ô-Ð-ó    c                 ó"  — | j                              dg ¦  «        }g }|D ]n}t          |t          t          f¦  «        rPt          |¦  «        dk    r=|                     t          |d         ¦  «        t          |d         ¦  «        f¦  «         Œo|S )z.Get spinner wing pairs, or empty list if none.Úwingsé   r   é   )r   r   Ú
isinstanceÚlistÚtupleÚlenÚappendÚstr)r!   ÚrawÚresultÚpairs       r"   Úget_spinner_wingszSkinConfig.get_spinner_wings‘   s‚   € àŒl×Ò˜w¨Ñ+Ô+ˆØˆØð 	<ð 	<ˆDÝ˜$¥¥u Ñ.Ô.ð <µ3°t±9´9À²>°>Ø—’�s 4¨¤7™|œ|­S°°a´©\¬\Ð:Ñ;Ô;Ð;øØˆr$   c                 ó8   — | j                              ||¦  «        S )z#Get a branding value with fallback.)r   r   r    s      r"   Úget_brandingzSkinConfig.get_brandingš   s   € àŒ}× Ò   hÑ/Ô/Ð/r$   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r.   Ú__annotations__r   r   Údictr   r   r   r   r   r   r   r   r   r#   r   r
   r2   r4   © r$   r"   r   r   €   s}  € € € € € € à&Ð&Ø
€I€I�IØ€K�ÐÐÑØ"˜U°4Ð8Ñ8Ô8€FˆD��c�ŒNÐ8Ð8Ñ8Ø#˜e°DÐ9Ñ9Ô9€GˆT�#�s�(Œ^Ð9Ð9Ñ9Ø$˜u°TÐ:Ñ:Ô:€Hˆd�3˜�8ŒnÐ:Ð:Ñ:Ø€K�ÐÐÑØ"' %¸Ð"=Ñ"=Ô"=€K��c˜3�h”Ð=Ð=Ñ=Ø€K�ÐÐÑØ€K�ÐÐÑð.ð .˜Sð .¨Cð .¸ð .ð .ð .ð .ð 4¨¨c°3¨h¬Ô#8ð ð ð ð ð0ð 0 ð 0¨sð 0¸Cð 0ð 0ð 0ð 0ð 0ð 0r$   r   Údefaultu"   Classic Hermes â€” gold and kawaiiÚbanner_borderú#CD7F32Úbanner_titleú#FFD700Úbanner_accentz#FFBF00Ú
banner_dimz#B8860BÚbanner_textú#FFF8DCÚ	ui_accentÚui_labelz#DAA520Úui_okz#4caf50Úui_errorz#ef5350Úui_warnz#ffa726ÚpromptÚ
input_ruleÚresponse_borderÚstatus_bar_bgú#1a1a2eÚsession_labelÚsession_borderz#8B8682zHermes AgentzAWelcome to Hermes Agent! Type your message or /help for commands.õ   Goodbye! âš•u    âš• Hermes õ   â�¯ ú(^_^)? Available Commands)Ú
agent_nameÚwelcomeÚgoodbyeÚresponse_labelÚprompt_symbolÚhelp_headerr   )r   r   r   r   r   r   Úaresu$   War-god theme â€” crimson and bronzez#9F1C1Cz#C7A96Bz#DD4A3Az#6B1717z#F1E6CFz#2A1212Ústatus_bar_textÚstatus_bar_strongÚstatus_bar_dimz#6E584Bz#7BC96Fz#EF5350)Ústatus_bar_goodÚstatus_bar_warnÚstatus_bar_badÚstatus_bar_criticalrO   rP   )õ   (âš”)õ   (â›¨)õ   (â–²)ú(<>)z(/))rb   rc   rd   õ   (âŒ�)re   )ÚforgingÚmarchingzsizing the fieldzholding the linezhammering plansztempering steelzplotting impactzraising the shieldu   âŸªâš”u   âš”âŸ«u   âŸªâ–²u   â–²âŸ«u   âŸªâ•¸u   â•ºâŸ«u   âŸªâ›¨u   â›¨âŸ«)Úwaiting_facesÚthinking_facesÚthinking_verbsr&   z
Ares Agentz?Welcome to Ares Agent! Type your message or /help for commands.u   Farewell, warrior! âš”u
    âš” Ares u   âš” â�¯ u   (âš”) Available Commandsu   â•ŽuW  [bold #A3261F] â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—       â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—[/]
[bold #B73122]â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�      â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•� â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â•šâ•�â•�â–ˆâ–ˆâ•”â•�â•�â•�[/]
[#C93C24]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#D84A28]â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�  â•šâ•�â•�â•�â•�â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#E15A2D]â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘      â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#EB6C32]â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�â•�â•�â•�â•�â•�      â•šâ•�â•�  â•šâ•�â•� â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•�â•�   â•šâ•�â•�[/]u�  [#9F1C1C]â €â €â €â €â €â €â €â €â €â €â €â €â €â£¤â£¤â €â €â €â €â €â €â €â €â €â €â €â €â €[/]
[#9F1C1C]â €â €â €â €â €â €â €â €â €â¢€â£´â£¿â Ÿâ »â£¿â£¦â¡€â €â €â €â €â €â €â €â €â €[/]
[#C7A96B]â €â €â €â €â €â €â €â£ â£¾â¡¿â ‹â €â €â €â ™â¢¿â£·â£„â €â €â €â €â €â €â €[/]
[#C7A96B]â €â €â €â €â €â¢€â£¾â¡¿â ‹â €â €â¢ â¡„â €â €â ™â¢¿â£·â¡€â €â €â €â €â €[/]
[#DD4A3A]â €â €â €â €â£°â£¿â Ÿâ €â €â €â£°â£¿â£¿â£†â €â €â €â »â£¿â£†â €â €â €â €[/]
[#DD4A3A]â €â €â €â¢°â£¿â �â €â €â¢€â£¾â¡¿â ‰â¢¿â£·â¡€â €â €â ¹â£¿â¡†â €â €â €[/]
[#9F1C1C]â €â €â €â£¿â¡Ÿâ €â €â£ â£¿â Ÿâ €â €â €â »â£¿â£„â €â €â¢»â£¿â €â €â €[/]
[#9F1C1C]â €â €â €â£¿â¡‡â €â €â ™â ‹â €â €âš”â €â €â ™â ‹â €â €â¢¸â£¿â €â €â €[/]
[#6B1717]â €â €â €â¢¿â£§â €â €â €â €â €â €â €â €â €â €â €â €â €â£¼â¡¿â €â €â €[/]
[#6B1717]â €â €â €â ˜â¢¿â£·â£„â €â €â €â €â €â €â €â €â €â£ â£¾â¡¿â ƒâ €â €â €[/]
[#C7A96B]â €â €â €â €â ˆâ »â£¿â£·â£¦â£¤â£€â£€â£¤â£¤â£¶â£¿â ¿â ‹â €â €â €â €[/]
[#C7A96B]â €â €â €â €â €â €â €â ‰â ›â ¿â ¿â ¿â ¿â ›â ‰â €â €â €â €â €â €â €[/]
[#DD4A3A]â €â €â €â €â €â €â €â €â €â €âš”â €â €â €â €â €â €â €â €â €â €[/]
[dim #6B1717]â €â €â €â €â €â €â €â €war god onlineâ €â €â €â €â €â €â €â €[/])r   r   r   r   r   r   r   r   Úmonou   Monochrome â€” clean grayscaleú#555555z#e6edf3z#aaaaaaz#444444z#c9d1d9z#888888z#ccccccz#999999z#1F1F1Fz#C9D1D9z#E6EDF3z#777777z#B5B5B5z#AAAAAAz#D0D0D0z#F0F0F0z[?] Available CommandsÚslateu   Cool blue â€” developer-focusedz#4169e1z#7eb8f6z#8EA8FFz#4b5563z#63D0A6z#F7A072z#e6a855z#151C2Fz#7EB8F6z#4B5563z#E6A855z#FF7A7AÚdaylightzELight theme for bright terminals with dark text and cool blue accentsz#2563EBz#0F172Az#1D4ED8z#475569z#111827z#0F766Ez#15803Dz#B91C1Cz#B45309z#93C5FDz#64748Bz#E5EDF8Úvoice_status_bgz#F8FAFCz#DBEAFEz#EEF2FFz#BFDBFE)Úcompletion_menu_bgÚcompletion_menu_current_bgÚcompletion_menu_meta_bgÚcompletion_menu_meta_current_bgu   â”‚úwarm-lightmodeuG   Warm light mode â€” dark brown/gold text for light terminal backgroundsz#8B6914z#5C3D11z#8B4513z#8B7355z#2C1810z#2E7D32z#C62828z#E65100z#A0845Cz#F5F0E8z#F5EFE0z#E8DCC8z#F0E8D8z#DFCFB0Úposeidonu)   Ocean-god theme â€” deep blue and seafoamz#2A6FB9z#A9DFFFz#5DB8F5z#153C73z#EAF7FFz#0F2440z#496884z#6ED7B0z#D94F4F)õ   (â‰ˆ)õ   (Î¨)õ   (âˆ¿)õ   (â—Œ)u   (â— ))rx   ry   rw   rf   rz   )zcharting currentszsounding the depthzreading foam lineszsteering the tridentztracking undertowzplotting sea laneszcalling the swellzmeasuring pressureu   âŸªâ‰ˆu   â‰ˆâŸ«u   âŸªÎ¨u   Î¨âŸ«u   âŸªâˆ¿u   âˆ¿âŸ«u   âŸªâ—Œu   â—ŒâŸ«zPoseidon AgentzCWelcome to Poseidon Agent! Type your message or /help for commands.u   Fair winds! Î¨u    Î¨ Poseidon u   Î¨ â�¯ u   (Î¨) Available Commandsu=  [bold #B8E8FF]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—       â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—[/]
[bold #97D6FF]â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘      â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•� â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â•šâ•�â•�â–ˆâ–ˆâ•”â•�â•�â•�[/]
[#75C1F6]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#4FA2E0]â–ˆâ–ˆâ•”â•�â•�â•�â•� â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#2E7CC7]â–ˆâ–ˆâ•‘     â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘      â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#1B4F95]â•šâ•�â•�      â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�â•šâ•�â•�â•�â•�â•�â•�  â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�  â•šâ•�â•�â•�â•�      â•šâ•�â•�  â•šâ•�â•� â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•�â•�   â•šâ•�â•�[/]u9  [#2A6FB9]â €â €â €â €â €â €â €â €â €â €â €â¢€â£€â¡€â €â €â €â €â €â €â €â €â €â €â €[/]
[#5DB8F5]â €â €â €â €â €â €â €â €â €â£ â£¾â£¿â£·â£„â €â €â €â €â €â €â €â €â €[/]
[#5DB8F5]â €â €â €â €â €â €â €â¢ â£¿â �â €Î¨â €â ¹â£¿â¡„â €â €â €â €â €â €â €[/]
[#A9DFFF]â €â €â €â €â €â €â €â£¿â¡Ÿâ €â €â €â €â €â¢»â£¿â €â €â €â €â €â €â €[/]
[#A9DFFF]â €â €â €â‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ£¿â¡‡â €â €â €â €â €â¢¸â£¿â‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ €â €â €[/]
[#5DB8F5]â €â €â €â €â €â €â €â£¿â¡‡â €â €â €â €â €â¢¸â£¿â €â €â €â €â €â €â €[/]
[#2A6FB9]â €â €â €â €â €â €â €â¢¿â£§â €â €â €â €â €â£¼â¡¿â €â €â €â €â €â €â €[/]
[#2A6FB9]â €â €â €â €â €â €â €â ˜â¢¿â£·â£„â£€â£ â£¾â¡¿â ƒâ €â €â €â €â €â €â €[/]
[#153C73]â €â €â €â €â €â €â €â €â ˆâ »â£¿â£¿â¡¿â Ÿâ �â €â €â €â €â €â €â €â €[/]
[#153C73]â €â €â €â €â €â €â €â €â €â €â ˆâ �â €â €â €â €â €â €â €â €â €â €â €[/]
[#5DB8F5]â €â €â €â €â €â‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ €â €â €â €â €[/]
[#A9DFFF]â €â €â €â €â €â €â‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ‰ˆâ €â €â €â €â €â €[/]
[dim #153C73]â €â €â €â €â €â €â €deep waters holdâ €â €â €â €â €â €â €[/]Úsisyphusu6   Sisyphean theme â€” austere grayscale with persistencez#B7B7B7z#F5F5F5z#E7E7E7z#4A4A4Az#D3D3D3z#919191z#656565z#202020)õ   (â—‰)rz   õ   (â—¬)u   (â¬¤)z(::))r|   r}   rz   u   (â—‹)u   (â—�))zfinding tractionzmeasuring the gradezresetting the boulderzcounting the ascentztesting leveragezsetting the shoulderzpushing uphillzenduring the loopu   âŸªâ—‰u   â—‰âŸ«u   âŸªâ—¬u   â—¬âŸ«u   âŸªâ¬¤u   â¬¤âŸ«zSisyphus AgentzCWelcome to Sisyphus Agent! Type your message or /help for commands.u   The boulder waits. â—‰u    â—‰ Sisyphus u   â—‰ â�¯ u   (â—‰) Available Commandsu  [bold #F5F5F5]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ•—  â–ˆâ–ˆâ•—â–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—       â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—[/]
[bold #E7E7E7]â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â•šâ–ˆâ–ˆâ•— â–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�      â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•� â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â•šâ•�â•�â–ˆâ–ˆâ•”â•�â•�â•�[/]
[#D7D7D7]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•� â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#BFBFBF]â•šâ•�â•�â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â–ˆâ–ˆâ•‘  â•šâ–ˆâ–ˆâ•”â•�  â–ˆâ–ˆâ•”â•�â•�â•�â•� â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#8F8F8F]â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘     â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘      â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#626262]â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�â•šâ•�â•�â•�â•�â•�â•�â•�   â•šâ•�â•�   â•šâ•�â•�     â•šâ•�â•�  â•šâ•�â•� â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�      â•šâ•�â•�  â•šâ•�â•� â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•�â•�   â•šâ•�â•�[/]ur  [#B7B7B7]â €â €â €â €â €â €â €â €â €â €â¢€â£€â£€â£€â¡€â €â €â €â €â €â €â €â €â €â €[/]
[#D3D3D3]â €â €â €â €â €â €â €â£ â£¾â£¿â£¿â£¿â£¿â£·â£„â €â €â €â €â €â €â €â €[/]
[#E7E7E7]â €â €â €â €â €â €â£¾â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£·â €â €â €â €â €â €â €[/]
[#F5F5F5]â €â €â €â €â €â¢¸â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â¡‡â €â €â €â €â €â €[/]
[#E7E7E7]â €â €â €â €â €â €â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â €â €â €â €â €â €â €[/]
[#D3D3D3]â €â €â €â €â €â €â ˜â¢¿â£¿â£¿â£¿â£¿â£¿â¡¿â ƒâ €â €â €â €â €â €â €[/]
[#B7B7B7]â €â €â €â €â €â €â €â €â ™â ¿â£¿â ¿â ‹â €â €â €â €â €â €â €â €â €[/]
[#919191]â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €â €[/]
[#656565]â €â €â €â €â €â €â €â €â €â£°â¡„â €â €â €â €â €â €â €â €â €â €â €[/]
[#656565]â €â €â €â €â €â €â €â €â£°â£¿â£¿â£†â €â €â €â €â €â €â €â €â €â €[/]
[#4A4A4A]â €â €â €â €â €â €â €â£°â£¿â£¿â£¿â£¿â£†â €â €â €â €â €â €â €â €â €[/]
[#4A4A4A]â €â €â €â €â €â£€â£´â£¿â£¿â£¿â£¿â£¿â£¿â£¦â£€â €â €â €â €â €â €[/]
[#656565]â €â €â €â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â”�â €â €â €[/]
[dim #4A4A4A]â €â €â €â €â €â €â €â €â €the boulderâ €â €â €â €â €â €â €â €â €[/]Ú	charizardu)   Volcanic theme â€” burnt orange and emberz#C75B1Dz#FFD39Az#F29C38z#7A3511z#FFF0D4z#2B160Ez#6C4724z#6BCB77z#E2832B)õ   (âœ¦)rd   õ   (â—‡)re   õ   (ðŸ”¥))r   rd   r€   rf   r�   )zbanking into the draftzmeasuring burnzreading the updraftztracking ember fallzsetting wing anglezholding the flame corezplotting a hot landingzcoiling for liftu   âŸªâœ¦u   âœ¦âŸ«u   âŸªâ—‡u   â—‡âŸ«zCharizard AgentzDWelcome to Charizard Agent! Type your message or /help for commands.u   Flame out! âœ¦u    âœ¦ Charizard u   âœ¦ â�¯ u   (âœ¦) Available Commandsu  [bold #FFF0D4] â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•—  â–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—        â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•— â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ•—   â–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—[/]
[bold #FFD39A]â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘â•šâ•�â•�â–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—      â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•”â•�â•�â•�â•�â•� â–ˆâ–ˆâ•”â•�â•�â•�â•�â•�â–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•‘â•šâ•�â•�â–ˆâ–ˆâ•”â•�â•�â•�[/]
[#F29C38]â–ˆâ–ˆâ•‘     â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•”â•� â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—  â–ˆâ–ˆâ•”â–ˆâ–ˆâ•— â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#E2832B]â–ˆâ–ˆâ•‘     â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘ â–ˆâ–ˆâ–ˆâ•”â•�  â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ•�â•�â•�â•�â•�â–ˆâ–ˆâ•”â•�â•�â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•”â•�â•�â•�  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#C75B1D]â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�      â–ˆâ–ˆâ•‘  â–ˆâ–ˆâ•‘â•šâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•”â•�â–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ–ˆâ•—â–ˆâ–ˆâ•‘ â•šâ–ˆâ–ˆâ–ˆâ–ˆâ•‘   â–ˆâ–ˆâ•‘[/]
[#7A3511] â•šâ•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�  â•šâ•�â•�â•šâ•�â•�â•�â•�â•�â•�       â•šâ•�â•�  â•šâ•�â•� â•šâ•�â•�â•�â•�â•�â•� â•šâ•�â•�â•�â•�â•�â•�â•�â•šâ•�â•�  â•šâ•�â•�â•�â•�   â•šâ•�â•�[/]uè  [#FFD39A]â €â €â €â €â €â €â €â €â£€â£¤â ¶â ¶â ¶â£¤â£€â €â €â €â €â €â €â €â €[/]
[#F29C38]â €â €â €â €â €â €â£´â Ÿâ �â €â €â €â €â ˆâ »â£¦â €â €â €â €â €â €[/]
[#F29C38]â €â €â €â €â €â£¼â �â €â €â €âœ¦â €â €â €â €â ¹â£§â €â €â €â €â €[/]
[#E2832B]â €â €â €â €â¢°â¡Ÿâ €â €â£€â£¤â£¤â£¤â£€â €â €â €â¢»â¡†â €â €â €â €[/]
[#E2832B]â €â €â£ â¡¾â ›â �â£ â£¾â Ÿâ ‰â €â ‰â »â£·â£„â €â ˆâ ›â¢·â£„â €â €[/]
[#C75B1D]â €â£¼â Ÿâ €â¢€â£¾â Ÿâ �â €â €â €â €â €â ˆâ »â£·â¡€â €â »â£§â €[/]
[#C75B1D]â¢¸â¡Ÿâ €â €â£¿â¡Ÿâ €â €â €ðŸ”¥â €â €â €â €â¢»â£¿â €â €â¢»â¡‡[/]
[#7A3511]â €â »â£¦â¡€â ˜â¢¿â£§â¡€â €â €â €â €â €â¢€â£¼â¡¿â ƒâ¢€â£´â Ÿâ €[/]
[#7A3511]â €â €â ˆâ »â£¦â£€â ™â¢¿â£·â£¤â£¤â£¤â£¾â¡¿â ‹â£€â£´â Ÿâ �â €â €[/]
[#C75B1D]â €â €â €â €â ˆâ ™â ›â ¶â ¤â ­â ­â ¤â ¶â ›â ‹â �â €â €â €â €[/]
[#F29C38]â €â €â €â €â €â €â €â €â£°â¡¿â¢¿â£†â €â €â €â €â €â €â €â €â €[/]
[#F29C38]â €â €â €â €â €â €â €â£¼â¡Ÿâ €â €â¢»â£§â €â €â €â €â €â €â €â €[/]
[dim #7A3511]â €â €â €â €â €â €â €tail flame litâ €â €â €â €â €â €â €â €[/])	r<   rZ   rl   rn   ro   ru   rv   r{   r~   Ú_BUILTIN_SKINSÚ_active_skinÚ_active_skin_namer   c                  ó$   — t          ¦   «         dz  S )zUser skins directory.Úskinsr   r;   r$   r"   Ú
_skins_dirr‡   Š  s   € åÑÔ˜wÑ&Ð&r$   Úpathc                 ó,  — 	 ddl }t          | dd¬¦  «        5 }|                     |¦  «        }ddd¦  «         n# 1 swxY w Y   t          |t          ¦  «        rd|v r|S n3# t
          $ r&}t                               d| |¦  «         Y d}~nd}~ww xY wdS )z(Load a skin definition from a YAML file.r   NÚrzutf-8)Úencodingr   zFailed to load skin from %s: %s)ÚyamlÚopenÚ	safe_loadr)   r:   Ú	ExceptionÚloggerÚdebug)rˆ   rŒ   ÚfÚdataÚes        r"   Ú_load_skin_from_yamlr•   �  s÷   € ðAØˆˆˆÝ�$˜ gÐ.Ñ.Ô.ð 	%°!Ø—>’> !Ñ$Ô$ˆDð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�d�DÑ!Ô!ð 	 f° n nØˆKøøÝð Að Að AÝ�ŠÐ6¸¸aÑ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@øøøøðAøøøàˆ4s4   ‚A! ˜:®A! º>¾A! Á>ÁA! Á!
BÁ+BÂBr“   c                 ó,  — t           d         }t          |                     di ¦  «        ¦  «        }|                     |                      di ¦  «        ¦  «         t          |                     di ¦  «        ¦  «        }|                     |                      di ¦  «        ¦  «         t          |                     di ¦  «        ¦  «        }|                     |                      di ¦  «        ¦  «         t	          |                      dd¦  «        |                      dd¦  «        ||||                      d	|                     d	d
¦  «        ¦  «        |                      di ¦  «        |                      dd¦  «        |                      dd¦  «        ¬¦	  «	        S )zBBuild a SkinConfig from a raw dict (built-in or loaded from YAML).r<   r   r   r   r   Úunknownr   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )r‚   r:   r   Úupdater   )r“   r<   r   r   r   s        r"   Ú_build_skin_configr™   œ  sS  € õ ˜YÔ'€GÝ�'—+’+˜h¨Ñ+Ô+Ñ,Ô,€FØ
‡M‚M�$—(’(˜8 RÑ(Ô(Ñ)Ô)Ð)Ý�7—;’;˜y¨"Ñ-Ô-Ñ.Ô.€GØ‡N‚N�4—8’8˜I rÑ*Ô*Ñ+Ô+Ð+Ý�G—K’K 
¨BÑ/Ô/Ñ0Ô0€HØ‡O‚O�D—H’H˜Z¨Ñ,Ô,Ñ-Ô-Ð-åØ�XŠX�f˜iÑ(Ô(Ø—H’H˜]¨BÑ/Ô/ØØØØ—H’H˜]¨G¯KªK¸ÀuÑ,MÔ,MÑNÔNØ—H’H˜]¨BÑ/Ô/Ø—H’H˜]¨BÑ/Ô/Ø—H’H˜]¨BÑ/Ô/ð
ñ 
ô 
ð 
r$   c                  ó  ‡— g } t                                ¦   «         D ]2\  }}|                      ||                     dd¦  «        ddœ¦  «         Œ3t	          ¦   «         }|                     ¦   «         ršt          |                     d¦  «        ¦  «        D ]w}t          |¦  «        }|rd|                     d|j	        ¦  «        Št          ˆfd„| D ¦   «         ¦  «        rŒJ|                      ‰|                     dd¦  «        ddœ¦  «         Œx| S )	zŽList all available skins (built-in + user-installed).

    Returns list of {"name": ..., "description": ..., "source": "builtin"|"user"}.
    r   r   Úbuiltin)r   r   Úsourcez*.yamlr   c              3   ó0   •K  — | ]}|d          ‰k    V — ŒdS )r   Nr;   )Ú.0ÚsÚ	skin_names     €r"   ú	<genexpr>zlist_skins.<locals>.<genexpr>È  s,   øè è € Ð>Ð>°!�q˜”y IÒ-Ð>Ð>Ð>Ð>Ð>Ð>r$   Úuser)r‚   Úitemsr-   r   r‡   Úis_dirÚsortedÚglobr•   ÚstemÚany)r0   r   r“   Ú
skins_pathr’   r    s        @r"   Ú
list_skinsrª   ´  s8  ø€ ð
 €FÝ$×*Ò*Ñ,Ô,ð ð ‰
ˆˆdØ�ŠØØŸ8š8 M°2Ñ6Ô6Øð
ð 
ñ 	ô 	ð 	ð 	õ ‘”€JØ×ÒÑÔð Ý˜
Ÿš¨Ñ1Ô1Ñ2Ô2ð 	ð 	ˆAÝ'¨Ñ*Ô*ˆDØð 	Ø ŸHšH V¨Q¬VÑ4Ô4�	åÐ>Ð>Ð>Ð>°vÐ>Ñ>Ô>Ñ>Ô>ð ØØ—’Ø%Ø#'§8¢8¨M¸2Ñ#>Ô#>Ø$ðð ñ ô ð øð €Mr$   r   c                 óF  — t          ¦   «         }|| › d�z  }|                     ¦   «         r t          |¦  «        }|rt          |¦  «        S | t          v rt          t          |          ¦  «        S t
                               d| ¦  «         t          t          d         ¦  «        S )z<Load a skin by name. Checks user skins first, then built-in.z.yamlz"Skin '%s' not found, using defaultr<   )r‡   Úis_filer•   r™   r‚   r�   Úwarning)r   r©   Ú	user_filer“   s       r"   Ú	load_skinr¯   Ó  sž   € õ ‘”€JØ ˜^˜^˜^Ñ+€IØ×ÒÑÔð ,Ý# IÑ.Ô.ˆØð 	,Ý% dÑ+Ô+Ð+ð �~ÐÐÝ!¥.°Ô"6Ñ7Ô7Ð7õ ‡N‚NÐ7¸Ñ>Ô>Ð>Ý�n¨YÔ7Ñ8Ô8Ð8r$   c                  óF   — t           €t          t          ¦  «        a t           S )z.Get the currently active skin config (cached).)rƒ   r¯   r„   r;   r$   r"   Úget_active_skinr±   æ  s   € õ ÐÝ Õ!2Ñ3Ô3ˆÝÐr$   c                 ó2   — | a t          | ¦  «        at          S )z3Switch the active skin. Returns the new SkinConfig.)r„   r¯   rƒ   )r   s    r"   Úset_active_skinr³   î  s   € ð ÐÝ˜T‘?”?€LÝÐr$   c                  ó   — t           S )z*Get the name of the currently active skin.)r„   r;   r$   r"   Úget_active_skin_namerµ   ö  s   € åÐr$   Úconfigc                 óD  — |                       d¦  «        pi }t          |t          ¦  «        si }|                      dd¦  «        }t          |t          ¦  «        r7|                     ¦   «         r#t          |                     ¦   «         ¦  «         dS t          d¦  «         dS )z|Initialize the active skin from CLI config at startup.

    Call this once during CLI init with the loaded config dict.
    ÚdisplayÚskinr<   N)r   r)   r:   r.   Ústripr³   )r¶   r¸   r    s      r"   Úinit_skin_from_configr»   û  s™   € ð
 �jŠj˜Ñ#Ô#Ð) r€GÝ�g�tÑ$Ô$ð ØˆØ—’˜F IÑ.Ô.€IÝ�)�SÑ!Ô!ð # i§o¢oÑ&7Ô&7ð #Ý˜	ŸšÑ)Ô)Ñ*Ô*Ð*Ð*Ð*å˜	Ñ"Ô"Ð"Ð"Ð"r$   r   c                 ól   — 	 t          ¦   «                              d| ¦  «        S # t          $ r | cY S w xY w)z7Get the interactive prompt symbol from the active skin.rX   ©r±   r4   r�   ©r   s    r"   Úget_active_prompt_symbolr¿     sG   € ðÝÑ Ô ×-Ò-¨o¸xÑHÔHÐHøÝð ð ð Øˆˆˆðøøøó   ‚!$ ¤3²3c                 ól   — 	 t          ¦   «                              d| ¦  «        S # t          $ r | cY S w xY w)z*Get the /help header from the active skin.rY   r½   r¾   s    r"   Úget_active_help_headerrÂ     sG   € ðÝÑ Ô ×-Ò-¨m¸XÑFÔFÐFøÝð ð ð ØˆˆˆðøøørÀ   c                 ól   — 	 t          ¦   «                              d| ¦  «        S # t          $ r | cY S w xY w)z*Get the goodbye line from the active skin.rV   r½   r¾   s    r"   Úget_active_goodbyerÄ   !  sG   € ðÝÑ Ô ×-Ò-¨i¸ÑBÔBÐBøÝð ð ð ØˆˆˆðøøørÀ   c            	      ó  — 	 t          ¦   «         } n# t          $ r i cY S w xY w|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }|                      d|¦  «        }|                      dd	¦  «        }|                      d
|¦  «        }|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }	|                      d|¦  «        }
|                      d|¦  «        }|                      d|¦  «        }|                      d|                      dd¦  «        ¦  «        }|                      d|¦  «        }|                      d|                      d|¦  «        ¦  «        }|                      d|¦  «        }|                      d|	¦  «        }|                      dd¦  «        }|                      dd¦  «        }|                      d|¦  «        }|                      d |¦  «        }i d!|“d"|› d#�“d|“d$|› d#�“d%|› d#�“d&d'|	› d(|
› �“d)d'|	› d(|› d*�“d+d'|	› d(|› �“d,d'|	› d(|› d*�“d-d'|	› d(|› d*�“d.d'|	› d(|› d*�“d/d'|	› d(|› d*�“d0|“d1|› d*�“d2d'|› d(|› �“d3d'|› d(|› �“d4d'|› d(|› �“i d5d'|› d(|› �“d6d'|› d(|› �“d7|“d8|› d*�“d9|› d*�“d:|“d;|› d*�“d<|› d#�“d=|“d>|› d*�“d?|“d@|› d*�“dA|“dB|“dC|› d*�“dD|› d*�“dE|› d#�“¥||› d*�d'|› d(|› �d'|› d(|› d*�dFœ¥S )GzÞReturn prompt_toolkit style overrides derived from the active skin.

    These are layered on top of the CLI's base TUI style so /skin can refresh
    the live prompt_toolkit UI immediately without rebuilding the app.
    rJ   rD   rK   r>   r?   r@   rC   rB   rm   rF   rI   z#FF8C00rH   z#FF6B6BrM   rN   r[   r\   r]   r^   rG   z#8FBC8Fr_   r`   rA   ra   rp   rq   rr   z#333355rs   rt   z
input-areaÚplaceholderz italiczprompt-workingÚhintz
status-barzbg:Ú zstatus-bar-strongz boldzstatus-bar-dimzstatus-bar-goodzstatus-bar-warnzstatus-bar-badzstatus-bar-criticalz
input-rulezimage-badgezcompletion-menuzcompletion-menu.completionz"completion-menu.completion.currentzcompletion-menu.meta.completionz'completion-menu.meta.completion.currentzclarify-borderzclarify-titlezclarify-questionzclarify-choicezclarify-selectedzclarify-active-otherzclarify-countdownzsudo-promptzsudo-borderz
sudo-titlez	sudo-textzapproval-borderzapproval-titlezapproval-desczapproval-cmd)zapproval-choicezapproval-selectedzvoice-statuszvoice-status-recording)r±   r�   r#   )r¹   rJ   rK   ÚtitleÚtextÚdimÚlabelÚwarnÚerrorÚ	status_bgÚstatus_textÚstatus_strongÚ
status_dimÚstatus_goodÚstatus_warnÚ
status_badÚstatus_criticalÚvoice_bgÚmenu_bgÚmenu_current_bgÚmenu_meta_bgÚmenu_meta_current_bgs                         r"   Ú"get_prompt_toolkit_style_overridesrÜ   *  s  € ðÝÑ Ô ˆˆøÝð ð ð Øˆ	ˆ	ˆ	ðøøøð �^Š^˜H iÑ0Ô0€FØ—’ ¨iÑ8Ô8€JØ�NŠN˜>¨9Ñ5Ô5€EØ�>Š>˜-¨Ñ0Ô0€DØ
�.Š.˜ yÑ
1Ô
1€CØ�NŠN˜: uÑ-Ô-€EØ�>Š>˜) YÑ/Ô/€DØ�NŠN˜: yÑ1Ô1€EØ—’˜°	Ñ:Ô:€IØ—.’.Ð!2°DÑ9Ô9€KØ—N’NÐ#6¸Ñ>Ô>€MØ—’Ð 0°#Ñ6Ô6€JØ—.’.Ð!2°D·N²NÀ7ÈIÑ4VÔ4VÑWÔW€KØ—.’.Ð!2°DÑ9Ô9€KØ—’Ð 0°$·.².ÀÐRVÑ2WÔ2WÑXÔX€JØ—n’nÐ%:¸EÑBÔB€OØ�~Š~Ð/°Ñ;Ô;€HØ�nŠnÐ1°9Ñ=Ô=€GØ—n’nÐ%AÀ9ÑMÔM€OØ—>’>Ð";¸WÑEÔE€LØŸ>š>Ð*KÈ_Ñ]Ô]Ðð'Ø�fð'à˜#���ð'ð 	�&ð'ð 	˜S˜/˜/˜/ð	'ð
 	�3���ð'ð 	Ð5˜IÐ5Ð5¨Ð5Ð5ð'ð 	ÐC 9ÐCÐC¨}ÐCÐCÐCð'ð 	Ð8 	Ð8Ð8¨JÐ8Ð8ð'ð 	Ð? Ð?Ð?¨[Ð?Ð?Ð?ð'ð 	Ð? Ð?Ð?¨[Ð?Ð?Ð?ð'ð 	Ð= 	Ð=Ð=¨JÐ=Ð=Ð=ð'ð 	ÐG YÐGÐG°ÐGÐGÐGð'ð 	�jð'ð 	˜%���ð'ð 	Ð1 Ð1Ð1¨4Ð1Ð1ð'ð  	%Ð&<¨GÐ&<Ð&<°dÐ&<Ð&<ð!'ð" 	-Ð.M°OÐ.MÐ.MÀeÐ.MÐ.Mð#'ð 'ð$ 	*Ð+E°Ð+EÐ+EÀÐ+EÐ+Eð%'ð& 	2Ð3WÐ9MÐ3WÐ3WÐPUÐ3WÐ3Wð''ð( 	˜*ð)'ð* 	˜E˜˜˜ð+'ð, 	˜t˜N˜N˜Nð-'ð. 	˜#ð/'ð0 	˜u˜O˜O˜Oð1'ð2 	 5Ð 1Ð 1Ð 1ð3'ð4 	˜Zð5'ð6 	˜%���ð7'ð8 	�zð9'ð: 	˜�o�o�oð;'ð< 	�Tð='ð> 	˜:ð?'ð@ 	˜T˜.˜.˜.ðA'ðB 	˜D˜˜˜ðC'ðD 	˜3˜˜˜ðE'ð 'ðF Ø %˜_˜_˜_Ø0˜hÐ0Ð0¨Ð0Ð0Ø"?¨Ð"?Ð"?°5Ð"?Ð"?Ð"?ðM'ð 'ð 'ð 's   ‚ ‘ Ÿ )rR   )rS   )rQ   )&r8   ÚloggingÚdataclassesr   r   Úpathlibr   Útypingr   r   r   r	   r
   Úhermes_constantsr   Ú	getLoggerr5   r�   r   r‚   r.   r9   rƒ   r„   r‡   r•   r™   rª   r¯   r±   r³   rµ   r:   r»   r¿   rÂ   rÄ   rÜ   r;   r$   r"   ú<module>rã      sÏ  ððoð oð oðb €€€Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à ,Ð ,Ð ,Ð ,Ð ,Ð ,à	ˆÔ	˜8Ñ	$Ô	$€ð ð0ð 0ð 0ð 0ð 0ñ 0ô 0ñ „ð0ðH Ø;ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜Yð
ð  ˜ið!
ð$
ð )ØZØ%Ø,Ø#Ø6ð
ð 
ð ðA!ð !ðF Ø=ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð4 HÐGÐGØJÐJÐJðð ð ð
 ˜8Ð$Ø˜8Ð$Ø˜8Ð$Ø˜8Ð$ð	ð
ð 
ð 'ØXØ/Ø*Ø'Ø5ð
ð 
ð ðWðRðsGð GðR Ø7ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð2 à(ØZØ%Ø,Ø#Ø3ð
ð 
ð ðK&ð &ðP Ø8ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð2 à(ØZØ%Ø,Ø#Ø6ð
ð 
ð ðK&ð &ðP Ø^ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜ið
ð  ˜Yð!
ð" ˜yð#
ð$ #,Ø*3Ø'0Ø/8ð+
ð 
ð 
ð. à(ØZØ%Ø,Ø#Ø3ð
ð 
ð ðG$ð $ðL !Ø`ð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜ið
ð  ˜Yð!
ð" ˜yð#
ð$ #,Ø*3Ø'0Ø/8ð+
ð 
ð 
ð. à(ØZØ(Ø/Ø&Ø6ð
ð 
ð  ðG$ð $ðL ØBð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð4 JÐIÐIØJÐJÐJðð ð ð ˜8Ð$Ø˜'Ð"Ø˜8Ð$Ø˜8Ð$ð	ð
ð 
ð  +Ø\Ø'Ø-Ø&Ø4ð
ð 
ð ðdðNðuGð GðR ØOð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð4 JÐIÐIØKÐKÐKðð ð ð ˜8Ð$Ø˜8Ð$Ø˜8Ð$Ø˜8Ð$ð	ð
ð 
ð  +Ø\Ø/Ø.Ø'Ø5ð
ð 
ð ðXðUðuHð HðT ØBð
Ø˜Yð
à˜Ið
ð ˜Yð
ð ˜)ð	
ð
 ˜9ð
ð ˜ð
ð ˜	ð
ð �Yð
ð ˜	ð
ð �yð
ð �ið
ð ˜)ð
ð ˜yð
ð ˜Yð
ð ˜yð
ð    ð!
ð" ˜ið#
ð$  )Ø(Ø'Ø#,Ø&Ø'ð/
ð 
ð 
ð4 KÐJÐJØLÐLÐLðð ð ð ˜8Ð$Ø˜8Ð$Ø˜8Ð$Ø˜8Ð$ð	ð
ð 
ð  ,Ø]Ø'Ø/Ø'Ø5ð
ð 
ð ðpðOðuGð Gði\-ð \-€��S˜$˜s C˜xœ.Ð(Ô)ð \ð \ñ \ðF &*€ˆh�zÔ"Ð )Ð )Ñ )Ø"Ð �3Ð "Ð "Ñ "ð'�Dð 'ð 'ð 'ð 'ð

˜tð 
¨°°c¸3°h´Ô(@ð 
ð 
ð 
ð 
ð˜T # s (œ^ð °
ð ð ð ð ð0�D˜˜c 3˜hœÔ(ð ð ð ð ð>9�Cð 9˜Jð 9ð 9ð 9ð 9ð&˜ð ð ð ð ð˜#ð  *ð ð ð ð ð˜cð ð ð ð ð
# $ð #¨4ð #ð #ð #ð #ñ(ð  sð ¸ð ñ ð ð ñð  Sð È3ð ñ ð ð ñð  ð ¸#ð ñ ð ð ðH¨D°°c°¬Nð Hñ Hð Hð Hð Hð Hr$   