§
     ’Þj™ø  ã                  ó\  — U d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlZddlZddlZddlZddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZmZmZmZmZm Z  ej!         "                    dej!        e#         ¦  «         dZ$dZ%dZ&dZ'e&e'fZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5g d¢Z6g Z7d e8d!<    e9¦   «         Z:d"e8d#<   da;d$e8d%<   da<d&e8d'<   e G d(„ d)¦  «        ¦   «         Z=dæd.„Z>dæd/„Z?dçd1„Z@dèd4„ZAdéd6„ZBdêd7„ZCdëd9„ZDdìd;„ZEdíd?„ZFdîdïdB„ZGdîdðdC„ZH e
dDd¬E¦  «        ZIedF„ ¦   «         ZJdG„ ZKdH„ ZLdñdòdN„ZMdódO„ZNdôdP„ZOdëdQ„ZPdëdR„ZQdñdõdT„ZRdödV„ZSd÷dX„ZTdødZ„ZUdôd[„ZVdôd\„ZWdùdôd^„ZXdd_œdúda„ZYdûdc„ZZdüdd„Z[dýde„Z\dþdf„Z]dÿdg„Z^�d dh„Z_�d di„Z`dôdj„Za�d dk„Zbdódl„Zc�d�ddn„Zddo„ Ze e9¦   «         Zfdp„ Zgdddqœdr„Zh�ddu„Zi�ddv„Zj�ddw„Zk�ddy„Zl�ddz„Zm�dd{„Zn�d	d|„Zod}„ Zpdód~„Zqd„ Zrd€„ Zsdëd�„Zt�d d‚„Zu�d
d„„Zv�dd†„Zw�ddˆ„Zx�dd‰„Zy�ddŠ„Zz�dd‹„Z{�dd�„Z|�ddŽ„Z}dôd�„Z~dôd�„Z�dd’„Z€�dd”„Z��dd˜„Z‚�dd™dšœ�ddž„ZƒdIdIddddŸœ�dd¤„Z„dd¥œ�dd¦„Z…�dd§„Z†�dd©„Z‡�ddª„Zˆdî�dd«„Z‰dd¬œ�dd®„ZŠdd¬œ�dd¯„Z‹�dd°„ZŒdIdIdddddIdddd±œ
�dd´„Z��ddIdµœ�dd¹„ZŽdôdº„Z�dôd»„Z��d d½„Z‘�d!d¾„Z’dî�d"d¿„Z“dî�d#dÀ„Z”dî�d#dÁ„Z•�d$dÂ„Z–düdÃ„Z—�d dÄ„Z˜�d%dÆ„Z™�d&dÈ„ZšdIdÉœ�d'dË„Z›�d(dÍ„Zœ�d)dÎ„Z�dIdIdÏœ�d*dÑ„Zždî�d+dÒ„ZŸdIdÓœ�d,dÖ„Z �d-dØ„Z¡�d.dÚ„Z¢�d/dÝ„Z£�d0dÞ„Z¤�d1dá„Z¥ G dâ„ dã¦  «        Z¦ G dä„ dåe¦¦  «        Z§dS (2  a²  Spatial upsampler plugin API.

Every spatial upsampler (built-in or extension) class is listed in
``spatial_upsampler_handlers`` and declares its capabilities through
``query_upsampler_def()``:

```python
{
    "name": "FlashVSR",                      # display name
    "upsampler_types": ("postprocessing",),  # "postprocessing" and/or "vae"
    "media": ("video", "image"),             # media kinds the upsampler can process
    "profile": "video",                      # memory profile kind: video, image, or audio
    "config_key": "flashvsr",                # optional subkey under wgp_config["spatial_upsamplers"]
    "pos": 20,                               # default dropdown order for this handler's methods
    "method_pos": {"flashvsr": 20},          # optional per-method order; independent of multiplier
    "methods": [("FlashVSR", "flashvsr")],   # interchangeable post-processing methods (label, method key)
    "vae_methods": [],                       # VAE methods (label, method key); model-pipeline integration
    "multipliers": {"flashvsr": (2.0, 4.0)}, # optional; omit when a refiner has no scale
    "default_spatial_upsampling": "flashvsr*2",
    "postprocessing_category": "upsampler",   # "upsampler" or "refiner"
    "source_audio_conditioning": False,        # request a decoded source-audio input without changing final remux audio
    "description": "Restore detail while spatially upscaling media.", # processor-owned help/discovery description
    "method_descriptions": {"flashvsr": "..."}, # optional descriptions per method
    "method_parameters": {"flashvsr": [{      # optional runtime/UI/assistant descriptors
        "name": "spatial_upsampler_strength", # shared prefix required for UI controls
        "setting": "strength",                # upscale() keyword; defaults to name
        "type": "number",
        "component": "slider",
        "ui": ("postprocessing", "late_postprocessing"),
        "required": False,
        "default": 0.5,
        "minimum": 0.0,
        "maximum": 1.0,
        "description": "Restoration strength.",
    }]},
}
```

Decoded-media handlers declare category ``upsampler`` or ``refiner``. Methods
without declared multipliers serialize as their bare method key and do not show
a Scale dropdown. Handler descriptions power both the selector's dynamic help
and postprocessing discovery. UI parameters may use textbox, number, slider,
dropdown, checkbox, or images components; images are rendered by the shared
``AdvancedMediaGallery`` and support ``multiple=True``. Assistant discovery
keeps only call-relevant parameter fields and omits UI/runtime presentation
metadata.

Handlers must also implement:
- ``is_upsampling(value)``: does this handler own this ``spatial_upsampling`` value?
- ``split_value(value)`` -> ``(method, scale)`` or ``None``
- ``build_value(method, scale)`` -> ``spatial_upsampling`` value or ``None``
- ``validate_upsampling(value, image_mode)`` -> error text ("" when valid)

``wgp.py`` calls ``register_spatial_upsamplers(...)`` once and then accesses
handlers through this API instead of keeping per-upsampler globals.

Post-processing ("postprocessing" type) handlers are interchangeable and must
additionally implement ``upscale(sample, value, **kwargs)`` and may implement
``load_upsampler(value, **kwargs)``, ``download(...)``, ``enabled()`` and
``release_vram()``. They are automatically offered for late post-processing of
existing media. VAE ("vae") handlers are plugged into model pipelines through
the generic VAE upsampler hooks below; model defs declare support.

Discovery tests the existing optional ``enabled()`` method first. When it is
absent, handlers may expose a ``status`` property containing ``"enabled"`` or
``"disabled"``. Discovery reports ``"unknown"`` only when neither contract
provides a valid status. Disabled handlers may expose ``reason_disabled``.
Handlers may implement ``method_available(method)`` and ``method_visible(method)``.
Both default to True: hidden methods remain usable and are added to menus only
when restoring their selection; unavailable methods are excluded even then.

Handlers may also expose Config-tab controls with ``create_config_ui(...)`` and
normalize their own nested section under ``wgp_config["spatial_upsamplers"]``.
The shared Postprocessor VRAM Usage policy controls profile 0. At most one spatial
upsampler handler is retained: dispatching another handler releases the previous
one before loading the new selection. Handlers still own incompatible variant
switches within one handler (for example PiD version/backbone changes).

Upsamplers that allocate their own mmgp offload object must register it in
``shared.utils.offload_registry`` so its resources can be tracked and released
centrally (WanGP unload tool).
é    )Úannotations)Ú	dataclass)Úpartial)Úcontextmanager)Ú
ContextVarN)ÚAny)Úattention_shared_state)Úoffload_registryé   )Úmemory)Úcompatible_loaded_model)ÚPROCESSOR_STATUS_DISABLEDÚPROCESSOR_STATUS_ENABLEDÚPROCESSOR_STATUS_UNKNOWNÚhandler_reason_disabledÚhandler_statusÚhandler_method_in_choiceszpostprocessing.upsamplersÚpostprocessingÚvaeÚ	upsamplerÚrefinerÚspatial_upsampler_Úlate_postprocessingÚ
media_flowÚvideoÚimageÚaudioÚspatial_upsamplersÚpersistenceé   é   Ú*)
z2postprocessing.lanczos.wgp_bridge.LanczosUpsamplerz<postprocessing.dlss5.spatial_upsampler.DLSS5SpatialUpsamplerz1postprocessing.flashvsr.wgp_bridge.FlashVSRBridgez/postprocessing.seedvr2.wgp_bridge.SeedVR2Bridgez'postprocessing.pid.wgp_bridge.PiDBridgez=postprocessing.h3_face_refiner.wgp_bridge.H3FaceRefinerBridgez9postprocessing.chain_of_zoom.wgp_bridge.ChainOfZoomBridgez@postprocessing.ltx2_upsampler.wgp_bridge.LTXVideoUpsamplerBridgez1postprocessing.spatial_upsamplers.WanVaeUpsamplerz5models.minimax_h3.vae_upsampler.MiniMaxH3VaeUpsamplerú	list[Any]Ú_upsampler_handlerszset[str]Ú#_registered_upsampler_handler_pathsú
Any | NoneÚ_active_upsampler_handlerúdict[str, Any] | NoneÚ_upsampler_server_configc                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚUpsamplerConfigBindingr&   ÚhandlerÚstrÚ
config_keyzlist[tuple[str, Any]]ÚcontrolsN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úIC:\Users\johnn\OneDrive\Documents\AI\postprocessing\spatial_upsamplers.pyr+   r+   �   s3   € € € € € € àÐÐÑØ€O€O�OØ#Ð#Ð#Ñ#Ð#Ð#r5   r+   ÚscaleÚfloatÚreturnr-   c                óˆ   — t          | ¦  «        } |                      ¦   «         rt          t          | ¦  «        ¦  «        n| d›S )NÚg)r8   Ú
is_integerr-   Úint©r7   s    r6   Úformat_multiplierr?   –   s8   € Ý�%‰LŒL€EØ#×.Ò.Ñ0Ô0ÐB�3�s�5‰zŒz‰?Œ?ˆ?¸°l°lÐBr5   c                ó&   — dt          | ¦  «        › �S )NÚx)r?   r>   s    r6   Úformat_multiplier_labelrB   ›   s   € Ø)Õ  Ñ'Ô'Ð)Ð)Ð)r5   Úmethodc                óœ   — t          | pd¦  «                             ¦   «                              ¦   «         › t          › t	          |¦  «        › �S ©NÚ )r-   ÚstripÚlowerÚMULTIPLIER_SEPARATORr?   )rC   r7   s     r6   Úformat_multiplier_valuerJ   Ÿ   sG   € Ý�&�,˜BÑÔ×%Ò%Ñ'Ô'×-Ò-Ñ/Ô/ÐaÕ1EÐaÕGXÐY^ÑG_ÔG_ÐaÐaÐar5   Údefault_scaleúfloat | Nonec                ó  — t          | pd¦  «                             ¦   «                              ¦   «         }t          |pd¦  «                             ¦   «                              ¦   «         }|                     |¦  «        sd S |t	          |¦  «        d …         }|                     t
          ¦  «        r!|t	          t
          ¦  «        d …         }|sd S nt
          |v rd S 	 t          |p|¦  «        S # t          $ r Y d S w xY wrE   )r-   rG   rH   Ú
startswithÚlenrI   r8   Ú
ValueError)ÚvaluerC   rK   ÚtextÚsuffixs        r6   Úparse_multiplier_suffixrT   £   s  € Ýˆuˆ{˜ÑÔ×!Ò!Ñ#Ô#×)Ò)Ñ+Ô+€DÝ��˜2ÑÔ×$Ò$Ñ&Ô&×,Ò,Ñ.Ô.€FØ�?Š?˜6Ñ"Ô"ð ØˆtØ•#�f‘+”+�,�,Ô€FØ×ÒÕ-Ñ.Ô.ð Ø�Õ0Ñ1Ô1Ð2Ð2Ô3ˆØð 	Ø�4ð	å	 Ð	'Ð	'ØˆtðÝ�VÐ,˜}Ñ-Ô-Ð-øÝð ð ð Øˆtˆtðøøøs   Ã C1 Ã1
C?Ã>C?Úlabelc                óJ   — t          | pd¦  «                             d¦  «        S )NrF   z
 Upsampler)r-   Úremovesuffix)rU   s    r6   Úformat_method_labelrX   µ   s"   € Ýˆuˆ{˜ÑÔ×(Ò(¨Ñ6Ô6Ð6r5   c                óD   — t          | ¦  «        › dt          |¦  «        › �S )Nú )rX   rB   )rU   r7   s     r6   Úformat_method_scale_labelr[   ¹   s'   € Ý! %Ñ(Ô(ÐKÐKÕ+BÀ5Ñ+IÔ+IÐKÐKÐKr5   ÚNonec                óP   — | t           vrt                                | ¦  «         d S d S ©N)r$   Úappend©r,   s    r6   Úregister_upsamplerra   ½   s0   € ØÕ)Ð)Ð)Ý×"Ò" 7Ñ+Ô+Ð+Ð+Ð+ð *Ð)r5   Úpathc                óx   — |                       dd¦  «        \  }}t          t          j        |¦  «        |¦  «        S )Nú.r   )ÚrsplitÚgetattrÚ	importlibÚimport_module)rb   Úmodule_pathÚ
class_names      r6   Ú_load_upsampler_classrk   Â   s5   € Ø"Ÿkšk¨#¨qÑ1Ô1Ñ€K�Ý•9Ô*¨;Ñ7Ô7¸ÑDÔDÐDr5   Úhandler_defúdict[str, Any]Úfallback_namec                óÞ   — t          |                      dd¦  «        pd¦  «                             ¦   «         }|r|S t          | ¦  «        }|r|d         d         S |                     ¦   «         S ©Nr.   rF   r   r   )r-   ÚgetrG   Ú_method_choicesrH   )rl   rn   r.   Úmethod_choicess       r6   Ú_config_key_from_handler_defrt   Ç   ss   € Ý�[—_’_ \°2Ñ6Ô6Ð<¸"Ñ=Ô=×CÒCÑEÔE€JØð ØÐÝ$ [Ñ1Ô1€NØð $Ø˜aÔ  Ô#Ð#Ø×ÒÑ Ô Ð r5   Úhandler_modulesúlist[str] | Nonec                ó~  — i }| €t           n| D ]®}t          t          |pd¦  «                             ¦   «         ¦  «        }t	          |d¦  «        sŒCt          |                     ¦   «         ¦  «        }|                     t          d ¦  «         |sŒ‚| 	                    ¦   «         }||t          ||j        ¦  «        <   Œ¯|S )NrF   Údefault_config)Úspatial_upsampler_handlersrk   r-   rG   ÚhasattrÚdictrx   ÚpopÚPERSISTENCE_CONFIG_KEYÚquery_upsampler_defrt   r0   )ru   Úsectionsrb   Úhandler_clsÚconfigrl   s         r6   Údefault_config_sectionsr‚   Ñ   sÆ   € Ø€HØ.=Ð.EÕ*Ð*È?ð 	[ð 	[ˆÝ+­C°°
¸©O¬O×,AÒ,AÑ,CÔ,CÑDÔDˆÝ�{Ð$4Ñ5Ô5ð 	ØÝ�k×0Ò0Ñ2Ô2Ñ3Ô3ˆØ�
Š
Õ)¨4Ñ0Ô0Ð0Øð 	ØØ!×5Ò5Ñ7Ô7ˆØTZˆÕ-¨k¸;Ô;OÑPÔPÑQÐQØ€Or5   c                ó  — | a |€t          n|}|D ]q}t          |pd¦  «                             ¦   «         }|r	|t          v rŒ1t           t          |¦  «        | |¦  «        ¦  «         t                               |¦  «         Œrd S rE   )r)   ry   r-   rG   r%   ra   rk   Úadd)Úserver_configÚfiles_locatorru   Úmodulesrb   s        r6   Úregister_spatial_upsamplersrˆ   à   sŸ   € ð  -ÐØ,;Ð,CÕ(Ð(È€GØð 6ð 6ˆÝ�4�:˜2‰Œ×$Ò$Ñ&Ô&ˆØð 	�tÕBÐBÐBØÝÐ6Õ0°Ñ6Ô6°}ÀmÑTÔTÑUÔUÐUÝ+×/Ò/°Ñ5Ô5Ð5Ð5ð6ð 6r5   Úspatial_upsampler_ui_queries)Údefaultc               #  óº   K  — t                                i ¦  «        } 	 dV — t                                | ¦  «         dS # t                                | ¦  «         w xY w)zGReuse discovery within one form build, never across pages or refreshes.N)Ú_ui_queriesÚsetÚreset)Útokens    r6   Úui_query_scoper�   ð   s[   è è € õ �OŠO˜BÑÔ€Eð!Øˆˆˆå×Ò˜%Ñ Ô Ð Ð Ð ø�×Ò˜%Ñ Ô Ð Ð øøøs	   ž> ¾Ac                ó    — t                                ¦   «         }|€
 |¦   «         S t          | ¦  «        |f}||vr |¦   «         ||<   ||         S r^   )rŒ   rq   Úid)r,   ÚkindÚqueryÚcacheÚkeys        r6   Ú	_ui_queryr—   ú   sU   € Ý�OŠOÑÔ€EØ€}Øˆu‰wŒwˆÝˆg‰;Œ;˜Ð
€CØ
�%ÐÐØ�U‘W”Wˆˆc‰
Ø�Œ:Ðr5   c                ó.   — t          | d| j        ¦  «        S )NÚ
definition)r—   r~   r`   s    r6   Ú_handler_defrš     s   € Ý�W˜l¨GÔ,GÑHÔHÐHr5   FÚupsampler_typeú
str | NoneÚenabled_onlyÚboolc                ó¼   — g }t           D ]Q}| �&| t          |¦  «                             dd¦  «        vrŒ*|rt          |¦  «        sŒ<|                     |¦  «         ŒR|S )NÚupsampler_typesr4   )r$   rš   rq   Úhandler_enabledr_   )r›   r�   Úhandlersr,   s       r6   Úupsampler_handlersr£     sw   € Ø€HÝ&ð !ð !ˆØÐ%¨.ÅÈWÑ@UÔ@U×@YÒ@YÐZkÐmoÑ@pÔ@pÐ*pÐ*pØØð 	¥°Ñ 8Ô 8ð 	ØØ�Š˜Ñ Ô Ð Ð Ø€Or5   c                óP   — t          | d¦  «         pt          | d| j        ¦  «        S )NÚenabled)rz   r—   r¥   r`   s    r6   r¡   r¡     s(   € Ý�w 	Ñ*Ô*Ð*Ð\­i¸ÀÈGÌOÑ.\Ô.\Ð\r5   c                óF   — t          t          | ¦  «        d         ¦  «        S )NÚname)r-   rš   r`   s    r6   Ú_handler_namer¨     s   € Ý�|˜GÑ$Ô$ VÔ,Ñ-Ô-Ð-r5   c                ó°   — t          j        t          | ¦  «        g¦  «        }|s$t          | d¦  «        r|                      ¦   «          t
          | u rd ad S d S )NÚrelease_vram)r
   Úrelease_allr¨   rz   rª   r'   )r,   Úreleaseds     r6   Ú_release_upsampler_handlerr­     si   € õ  Ô+­]¸7Ñ-CÔ-CÐ,DÑEÔE€HØð � ¨Ñ8Ô8ð Ø×ÒÑÔÐÝ  GÐ+Ð+Ø$(Ð!Ð!Ð!ð ,Ð+r5   c                óV   — t           | u rd S t           �t          t           ¦  «         | a d S r^   )r'   r­   r`   s    r6   Ú_activate_upsamplerr¯   %  s5   € õ ! GÐ+Ð+ØˆÝ Ð,Ý"Õ#<Ñ=Ô=Ð=Ø 'ÐÐÐr5   úlist[dict[str, Any]]c                ó6   — d„ t          | |¦  «        D ¦   «         S )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS r4   )rš   ©Ú.0r,   s     r6   ú
<listcomp>z(query_upsampler_defs.<locals>.<listcomp>0  s    € ÐbÐbÐb g�L˜Ñ!Ô!ÐbÐbÐbr5   )r£   )r›   r�   s     r6   Úquery_upsampler_defsr¶   /  s"   € ØbÐbÕ1CÀNÐT`Ñ1aÔ1aÐbÑbÔbÐbr5   úlist[tuple[str, str]]c                ó\   — |                       dg ¦  «        |                       dg ¦  «        z   S )NÚmethodsÚvae_methods©rq   ©rl   s    r6   rr   rr   3  s)   € Ø�?Š?˜9 bÑ)Ô)¨K¯OªO¸MÈ2Ñ,NÔ,NÑNÐNr5   údict[str, str]c                ó4   — d„ t          | ¦  «        D ¦   «         S )Nc                ó   — i | ]\  }}||“Œ	S r4   r4   )r´   rU   r–   s      r6   ú
<dictcomp>z"_method_labels.<locals>.<dictcomp>8  s   € ÐFÐFÐF™:˜5 #ˆC�ÐFÐFÐFr5   )rr   r¼   s    r6   Ú_method_labelsrÁ   7  s   € ØFÐF­¸Ñ)EÔ)EÐFÑFÔFÐFr5   ú&tuple[Any | None, dict[str, Any], str]c                óÖ   — t          | ¦  «        }|€&d i t          | pd¦  «                             ¦   «         fS |t          |¦  «        t          | pd¦  «                             ¦   «         fS rE   )Úfind_upsampler_by_methodr-   rG   rš   ©rC   r,   s     r6   Úmethod_definitionrÆ   ;  sf   € Ý& vÑ.Ô.€GØ€Ø�R�˜V˜\ rÑ*Ô*×0Ò0Ñ2Ô2Ð2Ð2Ø•L Ñ)Ô)­3¨v¨|¸Ñ+<Ô+<×+BÒ+BÑ+DÔ+DÐDÐDr5   c                óV  — t          | ¦  «        \  }}} |€dS |                     di ¦  «        }t          |t          ¦  «        r1| |v r-t	          ||          pd¦  «                             ¦   «         }|r|S t	          |                     dd¦  «        pd¦  «                             ¦   «         S )NrF   Úmethod_descriptionsÚdescription)rÆ   rq   Ú
isinstancer{   r-   rG   )rC   r,   rl   ÚdescriptionsrÉ   s        r6   Úmethod_descriptionrÌ   B  s®   € Ý#4°VÑ#<Ô#<Ñ €Gˆ[˜&Ø€ØˆrØ—?’?Ð#8¸"Ñ=Ô=€LÝ�,¥Ñ%Ô%ð ¨&°LÐ*@Ð*@Ý˜, vÔ.Ð4°"Ñ5Ô5×;Ò;Ñ=Ô=ˆØð 	ØÐÝˆ{�Š˜}¨bÑ1Ô1Ð7°RÑ8Ô8×>Ò>Ñ@Ô@Ð@r5   c                óè   — t          | ¦  «        \  }}}t          |                     dt          ¦  «        pd¦  «                             ¦   «                              ¦   «         }|t          v r|nt          S )NÚpostprocessing_categoryrF   )rÆ   r-   rq   Ú!POSTPROCESSING_CATEGORY_UPSAMPLERrG   rH   ÚPOSTPROCESSING_CATEGORIES)rC   Ú_handlerrl   Ú_methodÚcategorys        r6   Úmethod_categoryrÔ   N  sg   € Ý%6°vÑ%>Ô%>Ñ"€Hˆk˜7Ý�;—?’?Ð#<Õ>_Ñ`Ô`ÐfÐdfÑgÔg×mÒmÑoÔo×uÒuÑwÔw€HØÕ#<Ð<Ð<ˆ8ˆ8ÕBcÐcr5   úUpsampling - Startingc                ór   — t          | ¦  «        \  }}}t          |                     d|¦  «        p|¦  «        S )NÚprogress_label)rÆ   r-   rq   )rC   rŠ   rÑ   rl   rÒ   s        r6   Úmethod_progress_labelrØ   T  s8   € Ý%6°vÑ%>Ô%>Ñ"€Hˆk˜7Ýˆ{�ŠÐ/°Ñ9Ô9ÐD¸WÑEÔEÐEr5   ©Ú
ui_contextrÚ   c               ób  — t          | ¦  «        \  }}} |                     di ¦  «        }t          |t          ¦  «        r|                     | d¦  «        nd}t          |t          t
          f¦  «        sg S g }|D ]µ}t          |t          ¦  «        r7t          |                     dd¦  «        pd¦  «                             ¦   «         sŒO|                     dd¦  «        }t          |t          ¦  «        r|fnt          |¦  «        }|�||vrŒ“|                     t          |¦  «        ¦  «         Œ¶|S )NÚmethod_parametersr4   r§   rF   Úui)	rÆ   rq   rÊ   r{   ÚlistÚtupler-   rG   r_   )	rC   rÚ   rÑ   rl   Ú
parametersÚvaluesÚoutputÚ	parameterÚcontextss	            r6   rÜ   rÜ   Y  s*  € Ý$5°fÑ$=Ô$=Ñ!€Hˆk˜6Ø—’Ð!4°bÑ9Ô9€JÝ+5°jÅ$Ñ+GÔ+GÐOˆZ�^Š^˜F BÑ'Ô'Ð'ÈR€FÝ�f�t¥U˜mÑ,Ô,ð Øˆ	Ø€FØð 'ð 'ˆ	Ý˜)¥TÑ*Ô*ð 	µ#°i·m²mÀFÈBÑ6OÔ6OÐ6UÐSUÑ2VÔ2V×2\Ò2\Ñ2^Ô2^ð 	ØØ—=’=  rÑ*Ô*ˆÝ",¨XµsÑ";Ô";ÐP�H�;�;ÅÀxÁÄˆØÐ! j¸Ð&@Ð&@ØØ�Š•d˜9‘o”oÑ&Ô&Ð&Ð&Ø€Mr5   Úsettingc                óT   ‡— t          ˆfd„t          | ¦  «        D ¦   «         ¦  «        S )Nc              3  ór   •K  — | ]1}t          |                     d |d         ¦  «        ¦  «        ‰k    V — Œ2dS )rå   r§   N)r-   rq   )r´   rã   rå   s     €r6   ú	<genexpr>z&method_uses_setting.<locals>.<genexpr>l  sC   øè è € ÐvÐvÈy�s�9—=’= ¨I°fÔ,=Ñ>Ô>Ñ?Ô?À7ÒJÐvÐvÐvÐvÐvÐvr5   )ÚanyrÜ   )rC   rå   s    `r6   Úmethod_uses_settingrê   k  s0   ø€ ÝÐvÐvÐvÐvÕ\mÐntÑ\uÔ\uÐvÑvÔvÑvÔvÐvr5   c           	     ó<  — t          |t          ¦  «        si S t          | ¦  «        }|€i S i }t          |d         ¦  «        D ]Y}t	          |d         ¦  «        }||vrŒ||         }|�|dk    s|g k    rŒ3||t	          |                     d|¦  «        ¦  «        <   ŒZ|S )Nr   r§   rF   rå   )rÊ   r{   Úsplit_upsampling_valuerÜ   r-   rq   )Úspatial_upsamplingÚparameter_valuesÚsplitrâ   rã   r§   rQ   s          r6   Úruntime_parameter_kwargsrð   o  s½   € ÝÐ&­Ñ-Ô-ð Øˆ	Ý"Ð#5Ñ6Ô6€EØ€}Øˆ	Ø€FÝ& u¨Q¤xÑ0Ô0ð <ð <ˆ	Ý�9˜VÔ$Ñ%Ô%ˆØÐ'Ð'Ð'ØØ  Ô&ˆØˆ=˜E RšK˜K¨5°Bª;¨;ØØ6;ˆ�s�9—=’= ¨DÑ1Ô1Ñ2Ô2Ñ3Ð3Ø€Mr5   c                óR   — t          | d¦  «        r|                      ||¦  «        n|S )NrX   )rz   rX   )r,   rU   rC   s      r6   Ú_handler_method_labelrò   �  s.   € Ý9@ÀÐJ_Ñ9`Ô9`Ðkˆ7×&Ò& u¨fÑ5Ô5Ð5ÐfkÐkr5   c                óz   — 	 t          |                      dd¦  «        ¦  «        S # t          t          f$ r Y dS w xY w)NÚposéè  )r8   rq   Ú	TypeErrorrP   r¼   s    r6   Ú_handler_posr÷   …  sJ   € ðÝ�[—_’_ U¨DÑ1Ô1Ñ2Ô2Ð2øÝ•zÐ"ð ð ð Øˆtˆtðøøøs   ‚"% ¥:¹:c                óØ   — |                       di ¦  «        }t          |t          ¦  «        r1||v r-	 t          ||         ¦  «        S # t          t
          f$ r Y nw xY wt          | ¦  «        S )NÚ
method_pos)rq   rÊ   r{   r8   rö   rP   r÷   )rl   rC   rù   s      r6   Ú_method_posrú   Œ  s|   € Ø—’ ¨rÑ2Ô2€JÝ�*�dÑ#Ô#ð ¨°*Ð(<Ð(<ð	Ý˜ FÔ+Ñ,Ô,Ð,øÝ�:Ð&ð 	ð 	ð 	ØˆDð	øøøå˜Ñ$Ô$Ð$s   ±A ÁAÁAc                ó�   ‡ — t          ‰ pd¦  «                             ¦   «         sd S t          ˆ fd„t          D ¦   «         d ¦  «        S )NrF   c              3  óF   •K  — | ]}|                      ‰¦  «        ¯|V — Œd S r^   )Úis_upsampling)r´   r,   rí   s     €r6   rè   z!find_upsampler.<locals>.<genexpr>™  s7   øè è € ÐiÐi˜W¸w×?TÒ?TÐUgÑ?hÔ?hÐi�ÐiÐiÐiÐiÐiÐir5   )r-   rG   Únextr$   ©rí   s   `r6   Úfind_upsamplerr   –  sQ   ø€ ÝÐ!Ð' RÑ(Ô(×.Ò.Ñ0Ô0ð ØˆtÝÐiÐiÐiÐiÕ(;ÐiÑiÔiÐkoÑpÔpÐpr5   c                óÄ   — t          | ¦  «        }|€d S |                     | ¦  «        d         }|d„ t          |¦  «                             dg ¦  «        D ¦   «         v r|nd S )Nr   c                ó   — g | ]\  }}|‘ŒS r4   r4   ©r´   Ú_r–   s      r6   rµ   z1find_postprocessing_upsampler.<locals>.<listcomp>¡  s   € Ð \Ð \Ð \©¨¨C Ð \Ð \Ð \r5   r¹   ©r   Úsplit_valuerš   rq   ©rí   r,   rC   s      r6   Úfind_postprocessing_upsamplerr  œ  sp   € ÝÐ/Ñ0Ô0€GØ€ØˆtØ× Ò Ð!3Ñ4Ô4°QÔ7€FØÐ \Ð \µ<ÀÑ3HÔ3H×3LÒ3LÈYÐXZÑ3[Ô3[Ð \Ñ \Ô \Ð\Ð\ˆ7ˆ7ÐbfÐfr5   c                óú   — t          |pd¦  «                             ¦   «         }|r|S t          | ¦  «        }|€dnAt          t          |¦  «                             dd¦  «        ¦  «                             ¦   «         S )NrF   Údefault_prompt)r-   rG   r  rš   rq   )rí   Úpromptr,   s      r6   Ú"resolve_late_postprocessing_promptr  ¤  sv   € Ý��˜2ÑÔ×$Ò$Ñ&Ô&€FØð ØˆÝ+Ð,>Ñ?Ô?€GØ�ˆ2ˆ2¥c­,°wÑ*?Ô*?×*CÒ*CÐDTÐVXÑ*YÔ*YÑ&ZÔ&Z×&`Ò&`Ñ&bÔ&bÐbr5   c                óÄ   — t          | ¦  «        }|€d S |                     | ¦  «        d         }|d„ t          |¦  «                             dg ¦  «        D ¦   «         v r|nd S )Nr   c                ó   — g | ]\  }}|‘ŒS r4   r4   r  s      r6   rµ   z&find_vae_upsampler.<locals>.<listcomp>±  s   € Ð `Ð `Ð `©¨¨C Ð `Ð `Ð `r5   rº   r  r  s      r6   Úfind_vae_upsamplerr  ¬  sp   € ÝÐ/Ñ0Ô0€GØ€ØˆtØ× Ò Ð!3Ñ4Ô4°QÔ7€FØÐ `Ð `µ<ÀÑ3HÔ3H×3LÒ3LÈ]Ð\^Ñ3_Ô3_Ð `Ñ `Ô `Ð`Ð`ˆ7ˆ7ÐfjÐjr5   c                ó$   — t          | ¦  «        d uS r^   )r  rÿ   s    r6   Úis_vae_upsamplingr  ´  s   € ÝÐ0Ñ1Ô1¸Ð=Ð=r5   Tc                óN  — ddl }g }t          D ]–}| rt          |¦  «        t          k    rŒt	          |dd¦  «        pt	          |dd¦  «        }|€ŒBd |j        |¦  «        j        v rd| ini } |di |¤Ž}|�-|                     t          |t          ¦  «        r|n|g¦  «         Œ—|S )zIInventory optional assets through their owners, without downloading them.r   NÚquery_download_defsÚquery_download_defr�   r4   )
Úinspectr$   r   r   rf   Ú	signaturerà   ÚextendrÊ   rÞ   )r�   r  Údefinitionsr,   r”   ÚkwargsÚresults          r6   r  r  ¸  sß   € à€N€N€Nà€KÝ&ð 	Qð 	QˆØð 	�N¨7Ñ3Ô3Õ7PÒPÐPØÝ˜Ð!6¸Ñ=Ô=ÐmÅÈÐRfÐhlÑAmÔAmˆØˆ=ØØ3AÐEVÀWÔEVÐW\ÑE]ÔE]ÔEhÐ3hÐ3h�. ,Ð/Ð/ÐnpˆØ���˜��ˆØÐØ×Ò­°F½DÑ)AÔ)AÐO˜v˜vÈÀxÑPÔPÐPøØÐr5   c                óÂ   — t          | ¦  «        }|�t          |d¦  «        sdS |                     ddt          |¦  «        d         › d�¦  «          |j        |fd| i|¤ŽS )NÚdownloadFÚstatus_textzDownloading r§   z Model Filesrí   )r   rz   Ú
setdefaultrš   r  )rí   Úprocess_filesr  r,   s       r6   Údownload_for_valuer   Ê  sy   € ÝÐ/Ñ0Ô0€GØ€�g g¨zÑ:Ô:€ØˆuØ
×Ò�mÐ%_µLÀÑ4IÔ4IÈ&Ô4QÐ%_Ð%_Ð%_Ñ`Ô`Ð`Øˆ7Ô˜MÐ[Ð[Ð>PÐ[ÐTZÐ[Ð[Ð[r5   c                óú  ‡ ‡— 	 t          j        ‰ ¦  «                             dddd¦  «         ‰ S # t          $ r Y nw xY wt          j        ‰ ¦  «        pd                     dd¦  «                             d¦  «        Št          ˆfd„t          ‰dd…         ¦  «        D ¦   «         d 	                    ‰¦  «        ¦  «        }|t          vr-t                               |¦  «         t          d|› d�¦  «         d
ˆ fd	„	S )zsAdapt plugin wrappers written for the older progress_callback(phase, current, total) by dropping the optional unit.NÚunknownú\ú/c              3  ól   •K  — | ].\  }}|                      ¦   «         d k    ¯d‰|dz            › d�V — Œ/dS )ÚpluginszPlugin 'r   ú'N)rH   )r´   ÚiÚpartÚpartss      €r6   rè   z,_unit_compatible_progress.<locals>.<genexpr>Ý  sS   øè è € ÐoÐo±°°DÐUY×U_ÒU_ÑUaÔUaÐenÒUnÐUnÐ,˜U 1 q¡5œ\Ð,Ð,Ð,ÐUnÐUnÐUnÐUnÐoÐor5   éÿÿÿÿz[Upsamplers] Warning: z† wraps the post-processing progress callback without its optional 'unit' argument; progress units will not be shown. Please update it.c                ó   •—  ‰| ||¦  «        S r^   r4   )ÚphaseÚcurrentÚtotalÚunitÚprogress_callbacks       €r6   ú<lambda>z+_unit_compatible_progress.<locals>.<lambda>á  s   ø€ Ð>OÐ>OÐPUÐW^Ð`eÑ>fÔ>f€ r5   )NNN)r  r  Úbindrö   ÚgetsourcefileÚreplacerï   rþ   Ú	enumerateÚjoinÚ_progress_compat_warningsr„   Úprint)r1  Úownerr*  s   ` @r6   Ú_unit_compatible_progressr;  Õ  s>  øø€ ðÝÔÐ+Ñ,Ô,×1Ò1°$¸¸dÀDÑIÔIÐIØ Ð øÝð ð ð ØˆðøøøåÔ"Ð#4Ñ5Ô5ÐB¸×KÒKÈDÐRUÑVÔV×\Ò\Ð]`ÑaÔa€EÝÐoÐoÐoÐo½IÀeÈCÈRÈCÄjÑ<QÔ<QÐoÑoÔoÐqt×qyÒqyÐzñ  rAô  rAñ  Bô  B€EØÕ-Ð-Ð-Ý!×%Ò% eÑ,Ô,Ð,Ýð  u uð  uð  uð  uñ  	vô  	vð  	vØfÐfÐfÐfÐfÐfs   „+0 °
=¼=)Úmain_offloadobjÚloaded_model_contextc               ól  ‡— ‰                      d¦  «        �t          ‰d         ¦  «        ‰d<   t          | ¦  «         t          ¦   «         }d‰d<   ‰                      d¦  «        €#t	          t
          j        t          ¬¦  «        ‰d<   t          | ¦  «        d         }ˆfd„t          ‰¦  «        D ¦   «         }‰ 
                    t          ||¦  «        ¦  «         t          | ||fi ‰¤Ž}	t          ¦   «         5  	 |�|j        n|}
|
�|
                     ¦   «          |	�%t!          | d¦  «        r|                      ¦   «          n |	€t!          | d	¦  «        r | j        |fi ‰¤Ž  | j        ||fd
|	i‰¤Ž|	�)|	j                             ¦   «          t)          | ¦  «         n'|rt+          j        |g¦  «         nt)          | ¦  «         cd d d ¦  «         S # |	�)|	j                             ¦   «          t)          | ¦  «         w |rt+          j        |g¦  «         w t)          | ¦  «         w xY w# 1 swxY w Y   d S )Nr1  r   ÚprofileÚ	init_pipe©r…   r§   c                óŠ   •— i | ]?}t          |¦  «                             t          ¦  «        ¯)|‰                     |¦  «        “Œ@S r4   )r-   rN   ÚPARAMETER_PREFIXr|   )r´   r§   r  s     €r6   rÀ   z*upscale_postprocessing.<locals>.<dictcomp>í  sB   ø€ ÐsÐsÐs°4ÍCÐPTÉIÌI×L`ÒL`ÕaqÑLrÔLrÐs˜˜fŸjšj¨Ñ.Ô.ÐsÐsÐsr5   Úrelease_private_runtimeÚload_upsamplerr=  )rq   r;  r¯   Úpersistent_modelsr   Úprocessor_memoryr@  r)   rš   rß   Úupdaterð   r   r	   Ú
offloadobjÚ
unload_allrz   rD  rE  Úupscaler­   r
   Úunload_vram)r,   Úsamplerí   r<  r=  r  Ú
persistentr§   rî   Úborrowed_contextÚcore_offloadobjs        `     r6   Úupscale_postprocessingrQ  ä  sÆ  ø€ Ø‡z‚zÐ%Ñ&Ô&Ð2Ý&?ÀÐGZÔ@[Ñ&\Ô&\ˆÐ"Ñ#Ý˜Ñ Ô Ð Ý"Ñ$Ô$€JØ€Fˆ9ÑØ‡z‚z�+ÑÔÐ&Ý%Õ&6Ô&@ÕPhÐiÑiÔiˆˆ{ÑÝ˜Ñ Ô  Ô(€DØsÐsÐsÐs½5À¹=¼=ÐsÑsÔsÐØ
‡M‚MÕ*Ð+=Ð?OÑPÔPÑQÔQÐQÝ.¨wÐ8JÐL`ÐkÐkÐdjÐkÐkÐÝ	Ñ	!Ô	!ð 4ð 4ð	4ØAUÐAaÐ2Ô=Ð=ÐgvˆOØÐ*Ø×*Ò*Ñ,Ô,Ð,ØÐ+µ¸ÐAZÑ0[Ô0[Ð+Ø×/Ò/Ñ1Ô1Ð1Ð1Ø!Ð)­g°gÐ?OÑ.PÔ.PÐ)Ø&�Ô&Ð'9ÐDÐD¸VÐDÐDÐDØ"�7”? 6Ð+=ÐoÐoÐTdÐoÐhnÐoÐoàÐ+Ø Ô+×6Ò6Ñ8Ô8Ð8Ý*¨7Ñ3Ô3Ð3Ð3Øð 4Ý Ô,¨d¨VÑ4Ô4Ð4Ð4å*¨7Ñ3Ô3Ð3ð#4ð 4ð 4ð 4ñ 4ô 4ð 4ð 4øð  Ð+Ø Ô+×6Ò6Ñ8Ô8Ð8Ý*¨7Ñ3Ô3Ð3Ð3Øð 4Ý Ô,¨d¨VÑ4Ô4Ð4Ð4å*¨7Ñ3Ô3Ð3Ð3øøøð#4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s-   Ã9H)Ã;A8GÅ3AH)ÇAH&È&H)È)H-È0H-Ú
image_moder=   c                ó´   — t          | ¦  «        rdS t          | ¦  «        }t          | ¦  «        dk    r|€d| › d�S |�|                     | |¦  «        }|r|S dS )Nz:VAE Spatial Upsampling is only available during generationr   z%No spatial upsampler registered for 'r'  rF   )r  r  rO   Úvalidate_upsampling)rí   rR  Úedit_upsamplerÚerrors       r6   Ú*validate_postprocessing_spatial_upsamplingrW    s�   € ÝÐ+Ñ,Ô,ð LØKÐKÝ2Ð3EÑFÔF€NÝ
ÐÑÔ Ò"Ð" ~Ð'=ØLÐ7IÐLÐLÐLÐLØÐ!Ø×2Ò2Ð3EÀzÑRÔRˆØð 	ØˆLØˆ2r5   c                óR   — t          | d¦  «        o|                      ||||¦  «        S )NÚsupports_model_vae_method)rz   rY  )r,   rC   Ú
model_typeÚ	model_defrR  s        r6   Ú"_handler_supports_model_vae_methodr\    s@   € Ý�7Ð7Ñ8Ô8ð  J¸W×=^Ò=^Ð_eÐgqÐs|ð  Iñ  >Jô  >Jð  Jr5   c                ó°  — g }t          t          ¦  «        D ]§}t          |¦  «        }|                     dg ¦  «        D ]\  }}t	          ||| ||¦  «        rg|                     t          ||¦  «        t          |pd¦  «                             ¦   «         t          |pd¦  «        t          |||¦  «        |f¦  «         Œ€Œ¨d„ t          |¦  «        D ¦   «         S )Nrº   rF   c                ó"   — g | ]\  }}}}}||f‘ŒS r4   r4   ©r´   r  rU   rC   s       r6   rµ   z2query_model_vae_method_choices.<locals>.<listcomp>  s'   € ÐJÐJÐJÑ 6  1 a¨°ˆU�FˆOÐJÐJÐJr5   )r£   ÚUPSAMPLER_TYPE_VAErš   rq   r\  r_   rú   r-   Úcasefoldrò   Úsorted)rZ  r[  rR  Úchoicesr,   rl   rU   rC   s           r6   Úquery_model_vae_method_choicesrd    s  € Ø€GÝ%Õ&8Ñ9Ô9ð jð jˆÝ" 7Ñ+Ô+ˆØ(Ÿ_š_¨]¸BÑ?Ô?ð 	jð 	j‰MˆE�6Ý1°'¸6À:ÈyÐZdÑeÔeð jØ—’¥¨K¸Ñ @Ô @Å#ÀeÀkÈrÑBRÔBR×B[ÒB[ÑB]ÔB]Õ_bÐciÐcoÐmoÑ_pÔ_põ  sHð  IPð  RWð  Y_ñ  s`ô  s`ð  bhð   iñ  jô  jð  jøð	jð KÐJ½&À¹/¼/ÐJÑJÔJÐJr5   Úmediumc                ó  — t          | ¦  «        }|€dS t          |d¦  «        r|                     | ||||¦  «        S |                     | ¦  «        d         }t	          |||||¦  «        rdnt          | ¦  «        › d|› �S )NrF   Úvalidate_model_vae_upsamplingr   z is not available for )r  rz   rg  r  r\  Úformat_upsampling_label)rí   rR  rZ  r[  re  r,   rC   s          r6   rg  rg    sË   € Ý Ð!3Ñ4Ô4€GØ€ØˆrÝˆwÐ7Ñ8Ô8ð tØ×4Ò4Ð5GÈÐU_ÐajÐlrÑsÔsÐsØ× Ò Ð!3Ñ4Ô4°QÔ7€FÝ3°G¸VÀZÐQZÐ\fÑgÔgð  |ˆ2ˆ2õ  qHð  I[ñ  q\ô  q\ð  n|ð  n|ð  tzð  n|ð  n|ð  |r5   c                óx   — t          | ¦  «        }|�t          |d¦  «        sd S |                     | |||¦  «        S )NÚmodel_load_upsampling_value)r  rz   rj  ©rí   rZ  r[  rR  r,   s        r6   Úmodel_load_vae_upsampling_valuerl  )  sE   € Ý Ð!3Ñ4Ô4€GØ€�g gÐ/LÑMÔM€ØˆtØ×.Ò.Ð/AÀ:ÈyÐZdÑeÔeÐer5   c                óŠ   — t          t          ¦  «        D ]-}t          |d¦  «        r|                     | ¦  «        }|�|c S Œ.d S )NÚ!loaded_model_vae_upsampling_value)r£   r`  rz   rn  )Úmodelr,   rQ   s      r6   rn  rn  0  sU   € Ý%Õ&8Ñ9Ô9ð ð ˆÝ�7Ð?Ñ@Ô@ð 	Ø×=Ò=¸eÑDÔDˆEØÐ Ø���øØˆ4r5   c                óš   — t          | ¦  «        }|�t          |¦  «         |�t          |d¦  «        si S |                     | |||¦  «        S )NÚ$model_load_kwargs_for_vae_upsampling)r  r¯   rz   rq  rk  s        r6   rq  rq  9  sZ   € Ý Ð!3Ñ4Ô4€GØÐÝ˜GÑ$Ô$Ð$Ø€�g gÐ/UÑVÔV€Øˆ	Ø×7Ò7Ð8JÈJÐXaÐcmÑnÔnÐnr5   c                ót   — t          |¦  «        }|�t          |d¦  «        s| S |                     | |¦  «        S ©NÚ!post_model_process_vae_upsampling)r  rz   rt  )rM  rí   r,   s      r6   rt  rt  B  s@   € Ý Ð!3Ñ4Ô4€GØ€�g gÐ/RÑSÔS€ØˆØ×4Ò4°VÐ=OÑPÔPÐPr5   c                óH   — t          | ¦  «        }|d uot          |d¦  «        S rs  )r  rz   )rí   r,   s     r6   Ú%has_post_model_process_vae_upsamplingrv  I  s+   € Ý Ð!3Ñ4Ô4€GØ˜$ÐÐX¥7¨7Ð4WÑ#XÔ#XÐXr5   c           	     óÐ   — |dk    r| S ddl m} ddlm} | j        dd…         \  }} || dt          ||z  dz  ¦  «        t          ||z  dz  ¦  «        f|j        j        ¬¦  «        S )	zWBrings the output of a VAE decoder that always upsamples x2 to the selected multiplier.ç       @r   )ÚImage)Úresize_lanczos_spatialéþÿÿÿNr    )ÚsizerC   )ÚPILry  Úpostprocessing.lanczosrz  ÚshapeÚroundÚ
ResamplingÚBICUBIC)rM  r7   ry  rz  ÚheightÚwidths         r6   Úresize_x2_vae_outputr…  N  s©   € à�‚|€|ØˆØÐÐÐÐÐØ=Ð=Ð=Ð=Ð=Ð=à”L   Ô%�M€FˆEØ!Ð! &¨$µe¸FÀU¹NÈQÑ<NÑ6OÔ6OÕQVÐW\Ð_dÑWdÐghÑWhÑQiÔQiÐ5jÐsxô  tDô  tLð  Mñ  Mô  Mð  Mr5   c                ód   — | �t          | d¦  «        sd S t          | ¦  «          | j        |fi |¤ŽS )NÚprepare_vae_upsampler)rz   r¯   r‡  )r,   rí   r  s      r6   r‡  r‡  Y  sE   € Ø€�g gÐ/FÑGÔG€ØˆtÝ˜Ñ Ô Ð Ø(ˆ7Ô(Ð);ÐFÐF¸vÐFÐFÐFr5   c                óT   — | �!|�!t          ¦   «         st          | ¦  «         d S d S d S d S r^   )rF  r­   )r,   Úsessions     r6   Úrelease_vae_upsamplerrŠ  `  sA   € ØÐ˜wÐ2Õ;LÑ;NÔ;NÐ2Ý" 7Ñ+Ô+Ð+Ð+Ð+ð ÐÐ2Ð2Ð2Ð2r5   c                óÄ   — t          | pd¦  «                             ¦   «         } | sd S t          D ]0}t          |¦  «        }| d„ t	          |¦  «        D ¦   «         v r|c S Œ1d S )NrF   c                ó   — g | ]\  }}|‘ŒS r4   r4   r  s      r6   rµ   z,find_upsampler_by_method.<locals>.<listcomp>k  s   € ÐEÐEÐE™f˜a �cÐEÐEÐEr5   )r-   rG   r$   rš   rr   ©rC   r,   rl   s      r6   rÄ   rÄ   e  s~   € Ý��˜2ÑÔ×$Ò$Ñ&Ô&€FØð ØˆtÝ&ð ð ˆÝ" 7Ñ+Ô+ˆØÐEÐE­¸Ñ(DÔ(DÐEÑEÔEÐEÐEØˆNˆNˆNð Fàˆ4r5   r   c                óN   — t          | ¦  «        }|€t          d| › d�¦  «        ‚|S )Nz,No spatial upsampler registered for method 'r'  )rÄ   ÚRuntimeErrorrÅ   s     r6   Úrequire_upsampler_by_methodr�  p  s3   € Ý& vÑ.Ô.€GØ€ÝÐSÈ&ÐSÐSÐSÑTÔTÐTØ€Nr5   útuple[float, ...]c                óÊ   — t          | ¦  «        }|€dS t          t          |¦  «                             di ¦  «                             t	          | ¦  «        d¦  «        ¦  «        S )Nr4   Úmultipliers)rÄ   rß   rš   rq   r-   rÅ   s     r6   Úmethod_multipliersr”  w  sU   € Ý& vÑ.Ô.€GØ€ØˆrÝ•˜gÑ&Ô&×*Ò*¨=¸"Ñ=Ô=×AÒAÅ#ÀfÁ+Ä+ÈrÑRÔRÑSÔSÐSr5   úlist[tuple[str, float]]c                ó4   — d„ t          | ¦  «        D ¦   «         S )Nc                ó0   — g | ]}t          |¦  «        |f‘ŒS r4   )rB   )r´   r7   s     r6   rµ   z,ratio_choices_for_method.<locals>.<listcomp>  s&   € Ð\Ð\Ð\¸Õ$ UÑ+Ô+¨UÐ3Ð\Ð\Ð\r5   )r”  )rC   s    r6   Úratio_choices_for_methodr˜  ~  s    € Ø\Ð\ÕASÐTZÑA[ÔA[Ð\Ñ\Ô\Ð\r5   c                ó@  — t          |                      di ¦  «                             |d¦  «        ¦  «        }|sd S |                      dd¦  «        }t          |¦  «        }|�5|                     |¦  «        }|�|d         |k    r|d         |v r|d         S |d         S )Nr“  r4   Údefault_spatial_upsamplingrF   r   r   )rß   rq   r   r  )rl   rC   r“  Údefault_valuer,   rï   s         r6   Ú_default_multiplier_from_defrœ  ‚  s©   € Ý˜Ÿš¨°rÑ:Ô:×>Ò>¸vÀrÑJÔJÑKÔK€KØð ØˆtØ—O’OÐ$@À"ÑEÔE€MÝ˜]Ñ+Ô+€GØÐØ×#Ò# MÑ2Ô2ˆØÐ  q¤¨VÒ!3Ð!3¸¸a¼ÀKÐ8OÐ8OØ˜”8ˆOØ�qŒ>Ðr5   c                ó`  — t          | ¦  «        }|€dS t          |¦  «        }t          |                     di ¦  «                             t	          | pd¦  «                             ¦   «         d¦  «        ¦  «        sdS t          |t	          | pd¦  «                             ¦   «         ¦  «        pdS )Nrx  r“  rF   r4   ç      ð?)rÄ   rš   rß   rq   r-   rG   rœ  r�  s      r6   Údefault_multiplier_for_methodrŸ  �  s    € Ý& vÑ.Ô.€GØ€ØˆsÝ˜wÑ'Ô'€KÝ�—’ °Ñ3Ô3×7Ò7½¸F¸LÀbÑ8IÔ8I×8OÒ8OÑ8QÔ8QÐSUÑVÔVÑWÔWð ØˆsÝ'¨µS¸¸À2Ñ5FÔ5F×5LÒ5LÑ5NÔ5NÑOÔOÐVÐSVÐVr5   c                óÚ   — t          | ¦  «        }|st          | ¦  «        S 	 t          |¦  «        }n&# t          t          f$ r t          | ¦  «        }Y nw xY w||v r|nt          | ¦  «        S r^   )r”  rŸ  r8   rö   rP   )rC   r7   r“  s      r6   Únormalize_multiplier_for_methodr¡  ™  s…   € Ý$ VÑ,Ô,€KØð 5Ý,¨VÑ4Ô4Ð4ð6Ý�e‘”ˆˆøÝ•zÐ"ð 6ð 6ð 6Ý-¨fÑ5Ô5ˆˆˆð6øøøà˜[Ð(Ð(ˆ5ˆ5Õ.KÈFÑ.SÔ.SÐSs   ¢2 ² AÁAútuple[str, float] | Nonec                óR   — t          | ¦  «        }|€d n|                     | ¦  «        S r^   )r   r  )rQ   r,   s     r6   rì   rì   ¤  s+   € Ý˜UÑ#Ô#€GØ�?ˆ4ˆ4¨×(;Ò(;¸EÑ(BÔ(BÐBr5   c                óT   — t          | ¦  «        }|€d n|                     | |¦  «        S r^   )rÄ   Úbuild_value)rC   r7   r,   s      r6   Úbuild_upsampling_valuer¦  ©  s-   € Ý& vÑ.Ô.€GØ�?ˆ4ˆ4¨×(;Ò(;¸FÀEÑ(JÔ(JÐJr5   c                óÄ   — t          | pd¦  «                             ¦   «         }|sdS t          |¦  «        }|€|S t          |d         ¦  «        }|€d n	 |j        |Ž }|p|S )NrF   r   )r-   rG   rì   rÄ   r¥  )rQ   rR   rï   r,   Ú
normalizeds        r6   Únormalize_upsampling_valuer©  ®  sw   € Ýˆuˆ{˜ÑÔ×!Ò!Ñ#Ô#€DØð ØˆrÝ" 4Ñ(Ô(€EØ€}ØˆÝ& u¨Q¤xÑ0Ô0€GØ ˜��Ð.A¨gÔ.AÀ5Ð.I€JØÐ˜Ðr5   c                ó€  — t          | pd¦  «                             ¦   «         }|sdS t          |¦  «        }|€|S |                     |¦  «        }|€|S |\  }}t	          t          |¦  «        ¦  «                             |¦  «        }|rt          |||¦  «        }|r!t          |¦  «        rt          ||¦  «        n|n|S rE   )
r-   rG   r   r  rÁ   rš   rq   rò   r”  r[   )rQ   rR   r,   rï   rC   r7   rU   s          r6   rh  rh  º  sÕ   € Ýˆuˆ{˜ÑÔ×!Ò!Ñ#Ô#€DØð ØˆrÝ˜TÑ"Ô"€GØ€ØˆØ×Ò Ñ%Ô%€EØ€}ØˆØ�M€FˆEÝ�<¨Ñ0Ô0Ñ1Ô1×5Ò5°fÑ=Ô=€EØð >Ý% g¨u°fÑ=Ô=ˆØafÐpÕ7IÈ&Ñ7QÔ7QÐ\Õ% e¨UÑ3Ô3Ð3ÐW\ÐW\ÐlpÐpr5   ú1tuple[list[tuple[str, float]], float | None, str]c                óæ   — t          | pd¦  «                             ¦   «         } t          | ¦  «        }| st          d¦  «        }|rt          | pd|¦  «        nd }||| sdnt	          | |¦  «        pdfS )NrF   Úlanczos)r-   rG   r˜  r¡  r¦  )rC   r7   Úratio_choicess      r6   Únormalize_upsampling_stater¯  Ë  s‰   € Ý��˜2ÑÔ×$Ò$Ñ&Ô&€FÝ,¨VÑ4Ô4€MØð <Ý0°Ñ;Ô;ˆØKXÐbÕ+¨FÐ,?°iÀÑGÔGÐGÐ^b€EØ˜%¨6Ð!b  Õ7MÈfÐV[Ñ7\Ô7\Ð7bÐ`bÐbÐbr5   ú*tuple[list[tuple[str, float]], float, str]c                óT   — t          |¦  «        }t          | |€dn|d         ¦  «        S )Nrx  r   )rì   r¯  )rC   Úcurrent_valuerï   s      r6   Ú%normalize_upsampling_value_for_methodr³  Ô  s+   € Ý" =Ñ1Ô1€EÝ% f°U°]¨c¨cÈÈaÌÑQÔQÐQr5   Úchoiceútuple[str, str]útuple[float, str, str]c                óÖ   — | \  }}t          |¦  «        }|€dnt          t          |¦  «        |¦  «        }|t          |pd¦  «                             ¦   «         t          |pd¦  «        fS )Nrõ   rF   )rÄ   rú   rš   r-   ra  )r´  rU   rC   r,   Úpositions        r6   Ú_method_choice_sort_keyr¹  Ù  sh   € Ø�M€Eˆ6Ý& vÑ.Ô.€GØ�ˆtˆt­K½ÀWÑ8MÔ8MÈvÑ,VÔ,V€HØ•S˜˜ "Ñ%Ô%×.Ò.Ñ0Ô0µ#°f°lÀÑ2CÔ2CÐCÐCr5   rF   ©Úselected_methodÚimage_outputsr»  ú3tuple[list[tuple[str, str]], list[tuple[str, str]]]c               ó  ‡‡‡	— g g }}t          t          ¦  «        D ]´Št          ‰¦  «        Š	d„ ‰	                     dg ¦  «        D ¦   «         }d|vr|st	          ‰¦  «        sŒG‰	                     dt
          t          f¦  «        }| rt          nt
          |vrŒ|ˆˆ	ˆfd„‰	                     dg ¦  «        D ¦   «         }t
          |v r||z  }Œ¯||z  }Œµd„ t          |¦  «        D ¦   «         d„ t          |¦  «        D ¦   «         fS )Nc                ó   — g | ]\  }}|‘ŒS r4   r4   r  s      r6   rµ   z7query_postprocessing_method_choices.<locals>.<listcomp>ä  s   € ÐHÐHÐH™v˜q #�sÐHÐHÐHr5   r¹   r­  Úmediac           
     óâ   •— g | ]k\  }}t          ‰|‰¬ ¦  «        ¯t          ‰|¦  «        t          |pd¦  «                             ¦   «         t          |pd¦  «        t	          ‰||¦  «        |f‘ŒlS )rº  rF   )r   rú   r-   ra  rò   )r´   rU   rC   r,   rl   r»  s      €€€r6   rµ   z7query_postprocessing_method_choices.<locals>.<listcomp>ê  sÞ   ø€ ð  að  að  añ  boð  bgð  ioõ  Unð  ovð  x~ð  P_ð  U`ñ  U`ô  U`ð  a•K ¨VÑ4Ô4µc¸%¸+À2Ñ6FÔ6F×6OÒ6OÑ6QÔ6QÕSVÐW]ÐWcÐacÑSdÔSdÕf{ð  }Dð  FKð  MSñ  gTô  gTð  V\ð  ]ð  að  að  ar5   c                ó"   — g | ]\  }}}}}||f‘ŒS r4   r4   r_  s       r6   rµ   z7query_postprocessing_method_choices.<locals>.<listcomp>ï  s'   € ÐUÐUÐUÑ 6  1 a¨°ˆU�FˆOÐUÐUÐUr5   c                ó"   — g | ]\  }}}}}||f‘ŒS r4   r4   r_  s       r6   rµ   z7query_postprocessing_method_choices.<locals>.<listcomp>ï  sO   € ð  Xbð  Xbð  Xbñ  mCÐlmÐopÐrsÐuzð  }CÐY^Ð`fÐXgð  Xbð  Xbð  Xbr5   )r£   ÚUPSAMPLER_TYPE_POSTPROCESSINGrš   rq   r¡   ÚUPSAMPLER_PROFILE_VIDEOÚUPSAMPLER_PROFILE_IMAGErb  )
r¼  r   r»  Úvideo_post_choicesÚimage_post_choicesÚmethod_keysrÀ  rc  r,   rl   s
     `     @@r6   Ú#query_postprocessing_method_choicesrÊ  à  s¢  øøø€ Ø-/°Ð*ÐÝ%Õ&CÑDÔDð *ð *ˆÝ" 7Ñ+Ô+ˆØHÐH¨¯ª¸ÀBÑ)GÔ)GÐHÑHÔHˆØ˜KÐ'Ð'Ð1DÐ'ÍÐX_ÑH`ÔH`Ð'ØØ—’ Õ*AÕCZÐ)[Ñ\Ô\ˆØ'4ÐQÕ#Ð#Õ:QÐZ_Ð_Ð_Øð að  að  að  að  að  að  s~÷  sBò  sBð  CLð  NPñ  sQô  sQð  añ  aô  aˆÝ" eÐ+Ð+Ø 'Ñ)ÐÐà 'Ñ)ÐÐØUÐU½&ÐASÑ:TÔ:TÐUÑUÔUð  Xbð  Xbõ  GMð  N`ñ  Gaô  Gað  Xbñ  Xbô  Xbð  bð  br5   ©r¼  r   Úvae_choicesÚexcluded_methodsÚexclude_method_fnrÌ  úlist[tuple[str, str]] | NonerÍ  úset[str] | Nonec               ój  ‡‡— t          | ¦  «        pd\  }}t          |||¬¦  «        \  }}	‰pt          ¦   «         Šˆˆfd„|D ¦   «         }ˆˆfd„|	D ¦   «         }	dgt          ||	z   t	          |pg ¦  «        z   t
          ¬¦  «        z   }
|d„ |
D ¦   «         vrd}t          ||¦  «        \  }}}||||
|d	œS )
N©rF   rx  )r¼  r   r»  c                óN   •— g | ]!}|d          ‰v¯‰r ‰|d          ¦  «        °|‘Œ"S ©r   r4   ©r´   r´  rÎ  rÍ  s     €€r6   rµ   z"dropdown_state.<locals>.<listcomp>ö  óo   ø€ ð  eð  eð  e VÀVÈAÄYÐVfÐEfÐEfð  qBÐEfð  GXð  GXð  Y_ð  `aô  Ybñ  Gcô  GcÐEf˜&ÐEfÐEfÐEfr5   c                óN   •— g | ]!}|d          ‰v¯‰r ‰|d          ¦  «        °|‘Œ"S rÔ  r4   rÕ  s     €€r6   rµ   z"dropdown_state.<locals>.<listcomp>÷  rÖ  r5   )r\   rF   )r–   c                ó   — h | ]\  }}|’ŒS r4   r4   )r´   r  rQ   s      r6   ú	<setcomp>z!dropdown_state.<locals>.<setcomp>ù  s   € Ð;Ð;Ð;¡  5�eÐ;Ð;Ð;r5   rF   )rC   r7   rQ   rs   r®  )rì   rÊ  r�   rb  rÞ   r¹  r¯  )rí   r¼  r   rÌ  rÍ  rÎ  rC   r7   rÇ  rÈ  rs   r®  rQ   s       ``       r6   Údropdown_staterÚ  ò  sV  øø€ Ý*Ð+=Ñ>Ô>ÐKÀ)�M€FˆEÝ-PÐ_lð  CVð  hnð  .oñ  .oô  .oÑ*ÐÐ*Ø'Ð0­3©5¬5Ðð eð  eð  eð  eð  eÐ/Að  eñ  eô  eÐð eð  eð  eð  eð  eÐ/Að  eñ  eô  eÐØ"�^¥fÐ-?ÐBTÑ-TÕW[Ð\gÐ\mÐkmÑWnÔWnÑ-nõ  uLð  'Mñ  'Mô  'Mñ  M€NØÐ;Ð;¨NÐ;Ñ;Ô;Ð;Ð;ØˆÝ"<¸VÀUÑ"KÔ"KÑ€M�5˜%Ø u°uÐP^Ðq~ÐÐÐr5   )rî   c               óh   — t          | |d¬¦  «        }t          |d         t          |¦  «        |d<   |S )NT)r¼  r   rC   rà   )rÚ  Úparameter_ui_stateÚ PARAMETER_UI_LATE_POSTPROCESSING)rí   r¼  rî   Ústates       r6   Úlate_postprocessing_ui_staterß  ÿ  s9   € ÝÐ-¸]Ð`dÐeÑeÔe€EÝ,¨U°8¬_Õ>^Ð`pÑqÔq€Eˆ,ÑØ€Lr5   c                óø  — i }t          ¦   «         D ]É}t          t          |¦  «        ¦  «        D ]ª\  }}t          || ¬¦  «        D ]“}t	          |d         ¦  «        }|                     t          ¦  «        st          d|› dt          › d�¦  «        ‚||v r>||         }dD ]2}||v r,||v r(||         ||         k    rt          d|› d|› d�¦  «        ‚Œ3ŒŽ|||<   Œ”Œ«ŒÊt          | 	                    ¦   «         ¦  «        S )	NrÙ   r§   z$Spatial postprocessor UI parameter 'z' must start with 'r'  )ÚtypeÚ	componentÚmultiplez' has incompatible 'z' declarations)
r£   rr   rš   rÜ   r-   rN   rC  rP   rÞ   rá   )	rÚ   r  r,   Ú_labelrC   rã   r§   Úpreviousr–   s	            r6   Úui_parameter_definitionsræ    sj  € Ø€KÝ%Ñ'Ô'ð .ð .ˆÝ-­l¸7Ñ.CÔ.CÑDÔDð 	.ð 	.‰NˆF�FÝ.¨vÀ*ÐMÑMÔMð 
.ð 
.�	Ý˜9 VÔ,Ñ-Ô-�Ø—’Õ'7Ñ8Ô8ð zÝ$Ð%xÈDÐ%xÐ%xÕeuÐ%xÐ%xÐ%xÑyÔyÐyØ˜;Ð&Ð&Ø*¨4Ô0�HØ@ð Cð C˜Ø (˜?˜?¨s°iÐ/?Ð/?ÀHÈSÄMÐU^Ð_bÔUcÒDcÐDcÝ",ð  .BÐTXð  .Bð  .BÐnqð  .Bð  .Bð  .Bñ  #Cô  #Cð  CøØØ$-�˜DÑ!Ð!ð
.ð	.õ �×"Ò"Ñ$Ô$Ñ%Ô%Ð%r5   rã   c                ó  — t          |                      dd¦  «        pd¦  «                             ¦   «                              ¦   «         }|p;dddddœ                     t          |                      dd¦  «        ¦  «        d	¦  «        S )
Nrâ  rF   ÚcheckboxÚnumberÚimages)ÚbooleanÚintegerré  Úarrayrá  ÚstringÚtextbox)r-   rq   rG   rH   )rã   Úcomponent_types     r6   Úparameter_component_typerñ    s´   € Ý˜Ÿš {°BÑ7Ô7Ð=¸2Ñ>Ô>×DÒDÑFÔF×LÒLÑNÔN€NØð  f¨ÀÐT\ÐgoÐpÐp×tÒtÕuxð  zC÷  zGò  zGð  HNð  PXñ  zYô  zYñ  vZô  vZð  \eñ  fô  fð  fr5   c                ó¤   — |                       dt          | ¦  «        dk    rg nd ¦  «        }t          |t          ¦  «        rt          |¦  «        n|S )NrŠ   rê  )rq   rñ  rÊ   rÞ   )rã   rQ   s     r6   Úparameter_defaultró    sM   € Ø�MŠM˜)Õ+CÀIÑ+NÔ+NÐRZÒ+ZÐ+Z R RÐ`dÑeÔe€EÝ$ U­DÑ1Ô1Ð<�4�‰;Œ;ˆ;°uÐ<r5   c                ój  ‡
— t          |¦  «        }d„ t          | |¬¦  «        D ¦   «         Š
ˆ
fd„|D ¦   «         }t          ‰
¦  «        }t          |t          ¦  «        r|ni }i }|D ]H}t          |d         ¦  «        }||v r|                     |¦  «        nd }	|	€t          |¦  «        n|	||<   ŒI|||dœS )Nc                ó:   — i | ]}t          |d          ¦  «        |“ŒS ©r§   ©r-   ©r´   rã   s     r6   rÀ   z&parameter_ui_state.<locals>.<dictcomp>#  s'   € ÐtÐtÐt°i•�I˜fÔ%Ñ&Ô&¨	ÐtÐtÐtr5   rÙ   c                óH   •— g | ]}‰                      |d          |¦  «        ‘ŒS rö  r»   )r´   rã   Úselecteds     €r6   rµ   z&parameter_ui_state.<locals>.<listcomp>$  s,   ø€ Ð[Ð[Ð[À)�8—<’< 	¨&Ô 1°9Ñ=Ô=Ð[Ð[Ð[r5   r§   )r  Úactiverá   )ræ  rÜ   r�   rÊ   r{   r-   rq   ró  )rC   rÚ   rî   r  rû  r.  rá   rã   r§   rQ   rú  s             @r6   rÜ  rÜ  !  så   ø€ Ý*¨:Ñ6Ô6€KØtÐtÕCTÐU[ÐhrÐCsÑCsÔCsÐtÑtÔt€HØ[Ð[Ð[Ð[È{Ð[Ñ[Ô[€KÝ�‰]Œ]€FÝ",Ð-=½tÑ"DÔ"DÐLÐÐÈ"€GØ€FØ ð Pð Pˆ	Ý�9˜VÔ$Ñ%Ô%ˆØ%)¨V ^ ^�—’˜DÑ!Ô!Ð!¸ˆØ7<°}Õ(¨Ñ3Ô3Ð3È%ˆˆt‰ˆØ&°&ÀFÐKÐKÐKr5   )Ú
field_helpÚmedia_profilec               óÖ  ‡‡‡— t          |dd¦  «        }|g}i }| D ]A\  }}t          |¦  «        }|�+|                     |g ¦  «                             ||f¦  «         ŒB|                     ¦   «         D �]â\  }}	t          |¦  «        }
t          |
                     d|	d         d         ¦  «        ¦  «        }t          |
                     dt          ¦  «        ¦  «         	                    ¦   «         t          k    rdnd}t          |
                     dd	¦  «        pd	¦  «                             ¦   «         Š|
                     d
i ¦  «        }t          |t          ¦  «        r7t          |                     |d	¦  «        pd	¦  «                             ¦   «         nd	Šd|› d|› �g}‰r|                     ‰¦  «         ‰r‰‰k    r|                     ‰¦  «         |
                     di ¦  «        Št          ‰t          ¦  «        r,ˆfd„|	D ¦   «         }ˆˆfd„|D ¦   «         }|d„ |D ¦   «         z  }|                     d                     |¦  «        ¦  «         �Œäd                     |¦  «        S )NÚSPATIAL_UPSAMPLER_HELP_INTROz…Spatial upsamplers increase resolution. Visual refiners improve targeted decoded content without necessarily changing its dimensions.r§   r   rÎ   zVisual RefinerzSpatial UpsamplerrÉ   rF   Úmedia_descriptionsz### u    â€” rÈ   c           	     ó¢   •— g | ]K\  }}t          |¦  «        t          ‰                     |d ¦  «        pd ¦  «                             ¦   «         f‘ŒLS )rF   )r-   rq   rG   )r´   rU   rC   rÈ   s      €r6   rµ   z)spatial_help_markdown.<locals>.<listcomp>E  sU   ø€ ÐyÐyÐyÑ`mÐ`eÐgm�˜E™
œ
¥CÐ(;×(?Ò(?ÀÈÑ(KÔ(KÐ(QÈrÑ$RÔ$R×$XÒ$XÑ$ZÔ$ZÐ[ÐyÐyÐyr5   c                ó.   •— g | ]\  }}|¯|‰‰fv¯||f‘ŒS r4   r4   )r´   rU   ÚdetailrÉ   Úmedia_descriptions      €€r6   rµ   z)spatial_help_markdown.<locals>.<listcomp>F  s\   ø€ ð  Bð  Bð  B©=¨5°&Àvð  BÐRXÐalÐnð  aAð  SAð  SA˜˜v�ð  SAð  SAð  SAr5   c                ó$   — g | ]\  }}d |› d|› �‘ŒS )z- **z:** r4   )r´   rU   r  s      r6   rµ   z)spatial_help_markdown.<locals>.<listcomp>G  s-   € ÐNÐNÐN±]°U¸FÐ0˜UÐ0Ð0¨Ð0Ð0ÐNÐNÐNr5   z

)rf   rÄ   r  r_   Úitemsrš   r-   rq   rÏ   rH   ÚPOSTPROCESSING_CATEGORY_REFINERrG   rÊ   r{   r7  )rs   rý  rü  Úintror   Úhandler_choicesrU   rC   r,   rc  rl   r§   rÓ   r   ÚlinesÚdetailsrÉ   r  rÈ   s                   @@@r6   Úspatial_help_markdownr  /  sÐ  øøø€ Ý�JÐ >ð  AHñ  Iô  I€EØˆw€HØ€OØ'ð Lð L‰ˆˆvÝ*¨6Ñ2Ô2ˆØÐØ×&Ò& w°Ñ3Ô3×:Ò:¸EÀ6¸?ÑKÔKÐKøØ+×1Ò1Ñ3Ô3ð ,ñ ,Ñˆ�Ý" 7Ñ+Ô+ˆÝ�;—?’? 6¨7°1¬:°a¬=Ñ9Ô9Ñ:Ô:ˆÝ'*¨;¯?ª?Ð;TÕVwÑ+xÔ+xÑ'yÔ'y×'Ò'ñ  (Bô  (Bõ  Feò  (eð  (eÐ#Ð#ð  k~ˆÝ˜+Ÿ/š/¨-¸Ñ<Ô<ÐBÀÑCÔC×IÒIÑKÔKˆØ(Ÿ_š_Ð-AÀ2ÑFÔFÐÝ\fÐgyÕ{ñ  ]Aô  ]Að  I�CÐ 2× 6Ò 6°}ÀbÑ IÔ IÐ OÈRÑPÔP×VÒVÑXÔXÐXð  GIÐØ-˜Ð-Ð- 8Ð-Ð-Ð.ˆØð 	&Ø�LŠL˜Ñ%Ô%Ð%Øð 	,Ð!2°kÒ!AÐ!AØ�LŠLÐ*Ñ+Ô+Ð+Ø)ŸošoÐ.CÀRÑHÔHÐÝÐ)­4Ñ0Ô0ð 	OØyÐyÐyÐyÐqxÐyÑyÔyˆGð Bð  Bð  Bð  Bð  B¸Gð  Bñ  Bô  BˆGØÐNÐNÀgÐNÑNÔNÑNˆEØ�Š˜Ÿš EÑ*Ô*Ñ+Ô+Ð+Ñ+Ø�;Š;�xÑ Ô Ð r5   c               ó*   — dt          | ||¬¦  «        fS )Nú"Spatial Upsampler / Visual Refiner©rý  rü  )r  )rs   rý  rü  s      r6   Úspatial_help_popupr  L  s2   € Ø/Õ1FÀ~Ðerð  @Jð  2Kñ  2Kô  2Kð  Kð  Kr5   c               óÔ   — |› d�d                      d„ | D ¦   «         ¦  «        z   }dt          j        |                     d¦  «        ¦  «                             ¦   «         d d…         › �S )Nú|c              3  ó:   K  — | ]\  }}t          |¦  «        V — Œd S r^   r÷  )r´   rä  rC   s      r6   rè   z"spatial_help_id.<locals>.<genexpr>Q  s,   è è € Ð.`Ð.`¹~¸vÀv­s°6©{¬{Ð.`Ð.`Ð.`Ð.`Ð.`Ð.`r5   Úspatial_upsampling_zutf-8é   )r7  ÚhashlibÚsha1ÚencodeÚ	hexdigest)rs   rý  r  s      r6   Úspatial_help_idr  P  so   € Ø Ð#Ð#Ð# c§h¢hÐ.`Ð.`ÐQ_Ð.`Ñ.`Ô.`Ñ&`Ô&`Ñ`€IØ[¥¤¨i×.>Ò.>¸wÑ.GÔ.GÑ!HÔ!H×!RÒ!RÑ!TÔ!TÐUXÐVXÐUXÔ!YÐ[Ð[Ð[r5   )
r¼  r   rÌ  rÍ  rÎ  Úelem_classesÚupdate_formrü  Úhelp_target_idrî   r  r  c       
        ó  ‡ ‡‡‡‡‡‡+‡,— t          |¦  «        pd\  }}t          t          ||¦  «        pd‰‰‰‰‰¬¦  «        }‰rt          nt          }‰                      ¦   «         5  ‰                      |d         |d         ddd|
|¬	¦  «        }|	�zt          |d         ||	¬
¦  «        \  }}t          |d         |¬¦  «        }|r-‰  	                    |	 
                    |
|||¬¦  «        ¬¦  «        n|	                     ||||¬¦  «        }‰                      |d         |d         r|d         nd t          |d         o|d         ¦  «        dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ‰                      |d         d|¬¦  «        }|	€-‰                      t          |d         |¬¦  «        d|¬¦  «        }‰rt           nt"          Š,t%          |pi ¦  «        }t'          |d         ‰,|¦  «        }|d         }i i g cŠ+}}|D �]9}t)          |d         ¦  «        }t+          |¦  «        }||d         v }|d         |         }t)          |                     d|                     t0          ¦  «                             dd¦  «                             ¦   «         ¦  «        ¦  «        } ‰s|                     d| ¦  «        } t)          |                     dd¦  «        pd¦  «        pd }!|dk    rãd d!lm}" ‰                      |¬"¦  «        5 }# |"d#t;          |                     d$d%¦  «        ¦  «        t;          |                     d&d'¦  «        ¦  «        | |t          |                     d(d¦  «        ¦  «         ¬)¦  «        }$|$                     |¬*¦  «         d d d ¦  «         n# 1 swxY w Y   |$j        }%||#g|$                      ¦   «         z   z  }�ng‰                      |¬"¦  «        5 }#|d+k    rY‰  !                    |                     d,d ¦  «        |                     d-d¦  «        ||                     d.d¦  «        | |!|¬/¦  «        }%nÓ|d0k    rC‰                      |                     d1|                     d2d3¦  «        ¦  «        || |!|¬4¦  «        }%nŠ|d5k    r'‰  "                    t          |¦  «        | |!|¬6¦  «        }%n]|d7k    r‰  #                    || |!|¬6¦  «        }%n=‰                      |pd| |!t;          |                     d8d¦  «        ¦  «        |¬9¦  «        }%d d d ¦  «         n# 1 swxY w Y   ||#|%gz  }|%‰+|<   |#||<   �Œ;|d         }&|r|&n‰  $                    |&¦  «        }'ˆˆˆ ˆˆˆ+ˆ,ˆfd:„}(ˆ fd;„})ˆ+fd<„}*|sË‰  %                    |j&        g|(|||'g|||g| '                    ¦   «         ¢‰+ '                    ¦   «         ¢|'‘d=¬>¦  «         ‰  %                    |j&        g|)||g||gd=¬>¦  «         ‰+rU‰  %                    d?„ ‰+ '                    ¦   «         D ¦   «         |*tQ          ‰+ '                    ¦   «         ¦  «        |'d=¬>¦  «         ||||'||
p|j)        ‰+||g|¢|'‘|g| '                    ¦   «         ¢‰+ '                    ¦   «         ¢|'‘d@œ
S )ANrÒ  rF   rË  rs   rC   Tr!   r  )rc  rQ   Úvisibler7   rU   Úelem_idr  r  )rý  )ÚtitleÚmarkdown©rQ   r®  r7   r   ÚScale)rc  rQ   r  r7   rU   r  rQ   F)rQ   r  r  r  r§   rû  rá   rU   r  rZ   Ú
label_longrÉ   rê  r   )ÚAdvancedMediaGallery©r  r   rƒ  éð   Úcolumnsé   rã  )Ú
media_moderƒ  r)  rU   ÚinitialÚsingle_image_mode)r  ÚsliderÚminimumÚmaximumÚstep)rQ   r1  rU   Úinfor  Údropdownrc  Úenumr4   )rc  rQ   rU   r2  r  rè  )rQ   rU   r2  r  ré  r
  )rQ   rU   r2  r
  r  c                ó  •‡‡‡	‡
— t          | |¦  «        \  }}}t          |‰‰‰‰‰¬¦  «        Šˆfd„dD ¦   «         \  } }}}t          |¦  «        }dD ]}|                     |d ¦  «         Œt	          | ‰|¦  «        Šd„ ‰d         D ¦   «         Š	ˆˆˆˆ	fd„Š
‰                     ‰d         ‰d	         ¬
¦  «        ‰                     ||r|nd t          | o|¦  «        ¬¦  «        |gˆˆfd„‰D ¦   «         ¢ˆ
fd„‰D ¦   «         ¢‰d         ‘R S )NrË  c              3  ó(   •K  — | ]}‰|         V — Œd S r^   r4   )r´   r–   Úmethod_states     €r6   rè   zGcreate_generation_spatial_ui.<locals>.refresh_method.<locals>.<genexpr>�  s(   øè è € Ð.zÐ.zÀS¨|¸CÔ/@Ð.zÐ.zÐ.zÐ.zÐ.zÐ.zr5   )rC   r®  r7   rQ   )Úspatial_upsampler_paramÚspatial_upsampler_param2c                ó    — i | ]}|d          |“ŒS rö  r4   rø  s     r6   rÀ   zHcreate_generation_spatial_ui.<locals>.refresh_method.<locals>.<dictcomp>•  s   € ÐmÐmÐm¸)˜ 6Ô*¨IÐmÐmÐmr5   r  c           
     óÂ  •— ‰|          }d‰d         |          i}t          |¦  «        dk    r§|                     ‰r|                     d¦  «        n(|                     d|                     d¦  «        ¦  «        |                     d¦  «        |                     dd¦  «        |                     d	d
¦  «        |                     dd
¦  «        ¬¦  «          ‰j        di |¤ŽS )NrQ   rá   r.  rU   r%  rÉ   r/  r   r0  r   r1  )rU   r2  r/  r0  r1  r4   )rñ  rH  rq   )r§   rã   ÚchangesÚgrr   Úmethod_parameter_stateÚselected_defss      €€€€r6   Úupdate_parameterzNcreate_generation_spatial_ui.<locals>.refresh_method.<locals>.update_parameter—  s  ø€ Ø% dÔ+ˆIØÐ 6°xÔ @ÀÔ FÐGˆGÝ'¨	Ñ2Ô2°hÒ>Ð>Ø—’Ð?Rð  &L Y§]¢]°7Ñ%;Ô%;Ð%;ÐXa×XeÒXeÐfrÐt}÷  uBò  uBð  CJñ  uKô  uKñ  YLô  YLð  S\÷  S`ò  S`ð  anñ  Soô  Soð  yB÷  yFò  yFð  GPð  RSñ  yTô  yTð  ^g÷  ^kò  ^kð  luð  wxñ  ^yô  ^yð  @I÷  @Mò  @Mð  NTð  VWñ  @Xô  @X�ñ  Yô  Yð  YØ�2”9Ð'Ð'˜wÐ'Ð'Ð'r5   rs   rC   )rc  rQ   )rc  rQ   r  c              3  óT   •K  — | ]"}‰                      |‰d          v ¬¦  «        V — Œ#dS )rû  r'  N)rH  )r´   r§   r=  r>  s     €€r6   rè   zGcreate_generation_spatial_ui.<locals>.refresh_method.<locals>.<genexpr>Ÿ  s=   øè è € ÐoÐoÐRV�"—)’) DÐ,BÀ8Ô,LÐ$L�)ÑMÔMÐoÐoÐoÐoÐoÐor5   c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r^   r4   )r´   r§   r@  s     €r6   rè   zGcreate_generation_spatial_ui.<locals>.refresh_method.<locals>.<genexpr>   s/   øè è € ÐJÐJ¨TÐ"Ð" 4Ñ(Ô(ÐJÐJÐJÐJÐJÐJr5   rá   )r³  rÚ  r{   r|   rÜ  rH  rž   )rC   rQ   Úcurrent_parametersr  r®  r7   r§   r>  r7  r?  r@  rÎ  rÍ  r=  r¼  r   Úparameter_componentsrÚ   rÌ  s          @@@@€€€€€€€€r6   Úrefresh_methodz4create_generation_spatial_ui.<locals>.refresh_method�  sÂ  øøøøø€ Ý;¸FÀEÑJÔJ‰ˆˆ1ˆeÝ% e¸=Ð^qð  @Kð  ^nð  BSð  Tñ  Tô  TˆØ.zÐ.zÐ.zÐ.zÐLyÐ.zÑ.zÔ.zÑ+ˆ�˜u eÝ!Ð"4Ñ5Ô5ÐØKð 	/ð 	/ˆDØ×"Ò" 4¨Ñ.Ô.Ð.Ð.Ý!3°F¸JÐHZÑ![Ô![ÐØmÐmÐG]Ð^kÔGlÐmÑmÔmˆð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð —	’	 ,Ð/?Ô"@ÈÐU]ÔH^�	Ñ_Ô_Ø—	’	 -ÀÐ7W°u°uÐSWÕaeÐflÐf~Ðq~ÑaÔa�	ñ  Aô  Að  CHðnàoÐoÐoÐoÐoÐZnÐoÑoÔoðnð KÐJÐJÐJÐ5IÐJÑJÔJðnð McÐckÔLlðnð nð 	nr5   c                ó–   •— t          | |¦  «        \  }}}‰                     |t          | ot          | ¦  «        ¦  «        ¬¦  «        |fS )N)rQ   r  )r¯  rH  rž   r”  )rC   r7   r  rQ   r=  s       €r6   Úrefresh_ratioz3create_generation_spatial_ui.<locals>.refresh_ratio¢  sK   ø€ Ý4°V¸UÑCÔC‰ˆˆ5�%Ø�yŠy˜u­d°6Ð3XÕ>PÐQWÑ>XÔ>XÑ.YÔ.YˆyÑZÔZÐ\aÐaÐar5   c                 ó>   •— t          t          ‰| ¦  «        ¦  «        S r^   )r{   Úzip)rá   rD  s    €r6   Úcollect_parametersz8create_generation_spatial_ui.<locals>.collect_parameters¦  s   ø€ Ý•CÐ,¨fÑ5Ô5Ñ6Ô6Ð6r5   Úhidden)ÚtriggersÚfnÚinputsÚoutputsÚshow_progressc                ó   — g | ]	}|j         ‘Œ
S r4   )Úchange)r´   râ  s     r6   rµ   z0create_generation_spatial_ui.<locals>.<listcomp>­  s   € Ð\Ð\Ð\°˜IÔ,Ð\Ð\Ð\r5   )
rQ   rC   Úratiorà   Úhelpr  rD  Úparameter_rowsÚextra_componentsÚmedia_outputs)*rì   rÚ  r¦  rÆ  rÅ  ÚRowÚDropdownr  r  rH  Úrender_markerr3  rž   ÚTextboxÚMarkdownr  rÝ  ÚPARAMETER_UI_POSTPROCESSINGr{   rÜ  r-   rñ  rq   ÚremoveprefixrC  r5  r!  Úshared.gradio.galleryr&  r=   ÚmountÚgalleryÚget_toggable_elementsÚSliderÚCheckboxÚNumberÚStateÚonÚinputrá   rÞ   r   )-r=  rí   r¼  r   rÌ  rÍ  rÎ  r  r  rü  r  rî   rC   r7   rÞ  rý  Úmethod_componentÚ
help_titleÚhelp_markdownÚhelp_idÚhelp_componentÚratio_componentÚvalue_componentÚparameter_stateÚparameter_defsrU  Úparameter_extrasrã   r§   rð  r  r,  rU   r2  r&  Úrowra  râ  Úinitial_parametersÚparameters_componentrE  rG  rJ  rD  rÚ   s-   ` `````                                    @@r6   Úcreate_generation_spatial_uirv  U  sÉ
  øøøøøøøø€ Ý*Ð+=Ñ>Ô>ÐKÀ)�M€FˆEÝÕ1°&¸%Ñ@Ô@ÐFÀBÐVcð  zMð  [fð  yIð  ]nð  oñ  oô  o€EØ/<ÐYÕ+Ð+ÕBY€MØ	�Š‰Œð mð mØŸ;š;¨uÐ5EÔ/FÈeÐT\ÌoÐgkÐstð  }að  kyð  HT˜;ñ  Uô  UÐØÐ!Ý(:¸5ÐAQÔ;RÐboð  }Gð  )Hñ  )Hô  )HÑ%ˆJ˜Ý% eÐ,<Ô&=È]Ð[Ñ[Ô[ˆGð NYð  s˜RŸYšY¨Z×-EÒ-EÀnÐV]Ðeoð  {HÐ-Eñ  .Iô  .I˜Yñ  Jô  Jð  Jð  _i÷  _nò  _nð  oð  AHð  PZð  erð  _nñ  _sô  _sˆNØŸ+š+¨e°OÔ.DÐ^cÐdsÔ^tÐL~ÈEÐRYÌNÈNÐz~õ  IMð  NSð  T\ô  N]ð  Nxð  bgð  hwô  bxñ  Iyô  Iyð  ABð  JQð  `l˜+ñ  mô  mˆðmð mð mñ mô mð mð mð mð mð mð møøøð mð mð mð mð —j’j u¨W¤~¸uÐS_�jÑ`Ô`€OØÐØŸšÕ+@ÀÐGWÔAXÐhuÐ+vÑ+vÔ+vð  AEð  T`˜ñ  aô  aˆà5HÐiÕ1Ð1ÕNi€JÝÐ,Ð2°Ñ3Ô3ÐÝ(¨¨x¬¸*ÐFVÑWÔW€OØ$ ]Ô3€NØ=?ÀÀRÐ:Ð˜.Ð*:Ø#ð #ñ #ˆ	Ý�9˜VÔ$Ñ%Ô%ˆÝ1°)Ñ<Ô<ˆØ˜/¨(Ô3Ð3ˆØ! (Ô+¨DÔ1ˆÝ�I—M’M '¨4×+<Ò+<Õ=MÑ+NÔ+N×+VÒ+VÐWZÐ\_Ñ+`Ô+`×+fÒ+fÑ+hÔ+hÑiÔiÑjÔjˆØ"ð 	7Ø—M’M ,°Ñ6Ô6ˆEÝ�9—=’= °Ñ3Ô3Ð9°rÑ:Ô:ÐB¸dˆØ˜XÒ%Ð%ØBÐBÐBÐBÐBÐBà—’ �Ñ(Ô(ð 7¨CØ.Ð.¸'Í#ÈiÏmÊmÐ\dÐfiÑNjÔNjÑJkÔJkÕuxð  zC÷  zGò  zGð  HQð  STñ  zUô  zUñ  vVô  vVð  ^cð  mtõ  LPð  QZ÷  Q^ò  Q^ð  _ið  koñ  Qpô  Qpñ  Lqô  Lqð  Hqð  rñ  rô  r�Ø—’¨+�Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð  œˆIØ  ¨×(EÒ(EÑ(GÔ(GÑ GÑGÐÑà—’ �Ñ(Ô(ð 
Y¨CØ! XÒ-Ð-Ø "§	¢	¨)¯-ª-¸	À1Ñ*EÔ*EÀyÇ}Â}ÐU^Ð`aÑGbÔGbÐjqð  yB÷  yFò  yFð  GMð  OPñ  yQô  yQð  Y^ð  eið  xD 	ñ  !Eô  !E�I�IØ# zÒ1Ð1Ø "§¢°I·M²MÀ)ÈYÏ]Ê]Ð[aÐceÑMfÔMfÑ4gÔ4gÐovð  Dð  KOð  ^j ñ  !kô  !k�I�IØ# zÒ1Ð1Ø "§¢µ$°w±-´-ÀuÐSWÐfr Ñ sÔ s�I�IØ# xÒ/Ð/Ø "§	¢	°¸uÈ4Ð^j 	Ñ kÔ k�I�Ià "§
¢
°°¸BÀeÐRVÕ^aÐbk×boÒboÐpwÐyzÑb{Ôb{Ñ^|Ô^|ð  LX 
ñ  !Yô  !Y�Ið
Yð 
Yð 
Yñ 
Yô 
Yð 
Yð 
Yð 
Yð 
Yð 
Yð 
Yøøøð 
Yð 
Yð 
Yð 
Yð   iÐ 0Ñ0ÐØ%.Ð˜TÑ"Ø"ˆ�tÑÑà(¨Ô2ÐØ1<Ð^Ð-Ð-À"Ç(Â(ÐK]ÑB^ÔB^Ððnð nð nð nð nð nð nð nð nð nð nð nð*bð bð bð bð bð7ð 7ð 7ð 7ð 7ð ð WØ
�ŠÐ(Ô.Ð/°NÐL\Ð^mð  pDð  LEð  P`ð  bqð  sBð  OSð  ES÷  EZò  EZñ  E\ô  E\ð  OSð  _s÷  _zò  _zñ  _|ô  _|ð  OSð  ~Rð  OSð  ckˆñ  	lô  	lð  	lØ
�Š˜Ô-Ð.°=ÐJZÐ\kÐIlð  xGð  IXð  wYð  iqˆñ  	rô  	rð  	rØð 	WØ�EŠEÐ\Ð\Ð>R×>YÒ>YÑ>[Ô>[Ð\Ñ\Ô\Ðasõ  }Að  BV÷  B]ò  B]ñ  B_ô  B_ñ  }`ô  }`ð  j~ð  NVˆEñ  Wô  Wð  WØ$Ð0@È?Ðj~ð  IWð  kyð  kUð  }Mô  }UØ$8ÈNÐqð  qjð  CSð  qjð  Uið  qjØ,Ð}¨~×/DÒ/DÑ/FÔ/FÐ}ÐI]×IdÒIdÑIfÔIfÐ}Ðh|Ð}ðð ð s9   Á&C1E#Å#E'Å*E'ÌBNÎN!	Î$N!	Ï"D3T!Ô!T%	Ô(T%	©Úinclude_hiddenÚinclude_nameúbool | Nonerx  c               ó0  — g }t          t          |¦  «        D �]e}t          |¦  «        }|�|                     dd¦  «        }|rdnd|vrŒ3|                     di ¦  «        }|                     dg ¦  «        D �]\  }	}
t	          ||
|¬¦  «        sŒt          |                     |
d	¦  «        ¦  «        }|pd
D ]Ã}|                     |
|¦  «        }|�©|rt          |	|¦  «        nt          |	¦  «        }| 	                    t          ||
¦  «        t          |	pd¦  «                             ¦   «         t          |¦  «        t          |pd¦  «        | r|n|rt          |¦  «        nt          |	¦  «        |f¦  «         ŒÄ�Œ�Œgd„ t          |¦  «        D ¦   «         S )zaFlat (label, value) choices covering every method x multiplier of the post-processing upsamplers.NrÀ  ©r   r   r   r   r“  r¹   rw  r4   )rž  rF   c                ó$   — g | ]\  }}}}}}||f‘ŒS r4   r4   )r´   r  rU   rQ   s       r6   rµ   z;query_postprocessing_upsampling_choices.<locals>.<listcomp>Æ  s)   € ÐKÐKÐKÑ7˜q ! Q¨¨5°%ˆU�EˆNÐKÐKÐKr5   )r£   rÄ  rš   rq   r   rß   r¥  r[   r-   r_   rú   ra  r8   rB   rb  )ry  r�   r¼  rx  rc  r,   rl   rÀ  r“  rU   rC   Údeclared_multipliersr7   rQ   Údisplay_labels                  r6   Ú'query_postprocessing_upsampling_choicesr€  ³  s0  € à€GÝ%Õ&CÀ\ÑRÔRð xñ xˆÝ" 7Ñ+Ô+ˆØÐ$Ø—O’O GÐ-?Ñ@Ô@ˆEØ(Ð5��¨g¸eÐCÐCØØ!—o’o m°RÑ8Ô8ˆØ(Ÿ_š_¨Y¸Ñ;Ô;ð 	xñ 	x‰MˆE�6Ý,¨W°fÈ^Ð\Ñ\Ô\ð ØÝ#(¨¯ª¸ÀÑ)DÔ)DÑ#EÔ#EÐ Ø-Ð7°ð xð x�Ø×+Ò+¨F°EÑ:Ô:�ØÐ$ØOcÐ$sÕ$=¸eÀUÑ$KÔ$KÐ$KÕilÐmrÑisÔis�MØ—N’N¥K°¸VÑ$DÔ$DÅcÈ%È+ÐSUÑFVÔFV×F_ÒF_ÑFaÔFaÕchÐinÑcoÔcoÕqtÐuzð  vAð  Añ  rBô  rBð  Uað  Doð  DQð  DQð  J^ð  hnõ  hð  @Eñ  hFô  hFð  hFõ  dgð  hmñ  dnô  dnð  qvð  $wñ  xô  xð  xøñ	xñ		xð LÐK½6À'¹?¼?ÐKÑKÔKÐKr5   c                ó˜  — t          | ¦  «        }t          |                     dd¦  «        pd¦  «                             ¦   «                              ¦   «         }|t
          t          t          fv r|S t          | dd¦  «        rt          S |                     dd¦  «        }|t          fk    rt          S |t          fk    rt          S t
          S )Nr?  rF   Úuses_image_profileFrÀ  r4   )	rš   r-   rq   rG   rH   rÅ  rÆ  ÚUPSAMPLER_PROFILE_AUDIOrf   )r,   rl   r?  rÀ  s       r6   Úprofile_type_for_handlerr„  É  s¿   € Ý˜wÑ'Ô'€KÝ�+—/’/ )¨RÑ0Ô0Ð6°BÑ7Ô7×=Ò=Ñ?Ô?×EÒEÑGÔG€GØÕ*Õ,CÕE\Ð]Ð]Ð]ØˆÝˆwÐ,¨eÑ4Ô4ð 'Ý&Ð&Ø�OŠO˜G RÑ(Ô(€EØÕ(Ð*Ò*Ð*Ý&Ð&ØÕ(Ð*Ò*Ð*Ý&Ð&Ý"Ð"r5   c                ó  — t          | ¦  «        }t          |                     dd¦  «        pd¦  «                             ¦   «         }|r|S t	          |¦  «        }|r|d         d         S | j        j                             ¦   «         S rp   )rš   r-   rq   rG   rr   Ú	__class__r0   rH   )r,   rl   r.   rs   s       r6   Úconfig_key_for_handlerr‡  Ø  s†   € Ý˜wÑ'Ô'€KÝ�[—_’_ \°2Ñ6Ô6Ð<¸"Ñ=Ô=×CÒCÑEÔE€JØð ØÐÝ$ [Ñ1Ô1€NØð $Ø˜aÔ  Ô#Ð#ØÔÔ%×+Ò+Ñ-Ô-Ð-r5   r…   c                ó¶   — |                       t          i ¦  «        }t          |t          ¦  «        si }|| t          <   n|                      t          |¦  «         |S r^   )rq   ÚUPSAMPLER_CONFIG_KEYrÊ   r{   r  )r…   Úconfigss     r6   Ú_nested_configsr‹  ã  sZ   € Ø×ÒÕ 4°bÑ9Ô9€GÝ�g�tÑ$Ô$ð @ØˆØ.5ˆÕ*Ñ+Ð+à× Ò Õ!5°wÑ?Ô?Ð?Ø€Nr5   c                óž   — 	 t          | ¦  «        } n# t          t          f$ r
 t          } Y nw xY w| t          t          t
          fv r| nt          S r^   )r=   rö   rP   ÚPERSIST_UNLOADÚPERSIST_RAMÚPERSIST_AUTOr#  s    r6   Únormalize_persistencer�  í  sX   € ðÝ�E‘
”
ˆˆøÝ•zÐ"ð ð ð Ýˆˆˆðøøøà�n­k½<ÐHÐHÐHˆ5ˆ5ÍnÐ\s   ‚ ’-¬-c                ó®   — | €t           n| }|€t          d¦  «        ‚t          t          |¦  «                             t
          t          ¦  «        ¦  «        S )Nz%Spatial upsamplers are not registered)r)   r�  r�  r‹  rq   r}   r�  )r…   r�   s     r6   r   r   õ  sN   € Ø)6Ð)>Õ%Ð%ÀM€FØ€~ÝÐBÑCÔCÐCÝ ¥°Ñ!8Ô!8×!<Ò!<Õ=SÕUaÑ!bÔ!bÑcÔcÐcr5   c                ó   — dS )NTr4   rA  s    r6   rF  rF  ü  s   € Øˆ4r5   c                ó   — dS )z4Postprocessors use the shared profile 0 VRAM policy.Tr4   rA  s    r6   Úautomatic_memoryr”     s   € àˆ4r5   c                óR   — t          |¦  «        }|t          | ¦  «        t          <   |S r^   )r�  r‹  r}   )r…   rQ   s     r6   Úwrite_persistencer–    s'   € Ý! %Ñ(Ô(€EØ=B…O�MÑ"Ô"Õ#9Ñ:Ø€Lr5   c                ó¢   — t          | d¦  «        r!t          |                      ¦   «         ¦  «        ni }|                     t          d ¦  «         |S )Nrx   )rz   r{   rx   r|   r}   ©r,   r�   s     r6   Ú_default_configr™    sK   € Ý/6°wÐ@PÑ/QÔ/QÐY�T�'×(Ò(Ñ*Ô*Ñ+Ô+Ð+ÐWY€FØ
‡J‚JÕ% tÑ,Ô,Ð,Ø€Mr5   c                ój   — t          | d¦  «        r"t          |                      |¦  «        ¦  «        ni S )NÚlegacy_config)rz   r{   r›  )r,   r…   s     r6   Ú_legacy_configrœ    s3   € Ý9@ÀÈ/Ñ9ZÔ9ZÐb�4�×%Ò% mÑ4Ô4Ñ5Ô5Ð5Ð`bÐbr5   útuple[str, ...]c                óh   — t          | d¦  «        r!t          |                      ¦   «         ¦  «        ndS )NÚlegacy_config_keysr4   )rz   rß   rŸ  r`   s    r6   Ú_legacy_config_keysr     s2   € Ý29¸'ÐCWÑ2XÔ2XÐ`�5�×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ð^`Ð`r5   r�   c                ó¾   — t          | d¦  «        r"t          |                      |¦  «        ¦  «        nt          |¦  «        }|                     t          d ¦  «         |S )NÚnormalize_config_section)rz   r{   r¢  r|   r}   r˜  s     r6   Ú_normalize_config_sectionr£    sV   € Ý?FÀwÐPjÑ?kÔ?kÐ}�T�'×2Ò2°6Ñ:Ô:Ñ;Ô;Ð;ÕquÐv|Ñq}Ôq}€FØ
‡J‚JÕ% tÑ,Ô,Ð,Ø€Mr5   ©Úprefer_legacyr¥  c               ó¨  — |                       t          i ¦  «        }t          |¦  «        }t          |t          ¦  «        r|                      |i ¦  «        ni }t          |t          ¦  «        r|ni }t          |t          ¦  «        o||v }|s|st          || ¦  «        ni }i t          |¦  «        ¥t	          |pi ¦  «        ¥|¥}t          ||¦  «        S r^   )rq   r‰  r‡  rÊ   r{   rœ  r™  r£  )	r…   r,   r¥  rŠ  r.   ÚnestedÚnested_existsÚlegacyrá   s	            r6   Úread_config_sectionrª    sÔ   € Ø×ÒÕ 4°bÑ9Ô9€GÝ'¨Ñ0Ô0€JÝ,6°wÅÑ,EÔ,EÐMˆW�[Š[˜ RÑ(Ô(Ð(È2€FÝ! &­$Ñ/Ô/Ð7ˆVˆV°R€FÝ˜w­Ñ-Ô-ÐG°*ÀÐ2G€MØ7DÐaÈMÐa�^˜G ]Ñ3Ô3Ð3Ð_a€FØI• Ñ(Ô(ÐI­D°°¸2Ñ,>Ô,>ÐIÀ&ÐI€FÝ$ W¨fÑ5Ô5Ð5r5   r.   c                ó  ‡— t          ˆfd„t          D ¦   «         d ¦  «        }|€U|                      t          i ¦  «        }t	          |t
          ¦  «        r#t          |                     ‰i ¦  «        ¦  «        ni S t          | |¦  «        S )Nc              3  óB   •K  — | ]}t          |¦  «        ‰k    ¯|V — Œd S r^   )r‡  )r´   Ú	candidater.   s     €r6   rè   z-read_config_section_by_key.<locals>.<genexpr>+  s8   øè è € ÐvÐv )ÕF\Ð]fÑFgÔFgÐkuÒFuÐFu�IÐFuÐFuÐFuÐFuÐvÐvr5   )rþ   r$   rq   r‰  rÊ   r{   rª  )r…   r.   r,   rŠ  s    `  r6   Úread_config_section_by_keyr®  *  s…   ø€ ÝÐvÐvÐvÐvÕ/BÐvÑvÔvÐx|Ñ}Ô}€GØ€Ø×#Ò#Õ$8¸"Ñ=Ô=ˆÝ4>¸wÍÑ4MÔ4MÐU�t�G—K’K 
¨BÑ/Ô/Ñ0Ô0Ð0ÐSUÐUÝ˜}¨gÑ6Ô6Ð6r5   c                ó¤   — t          |i t          |¦  «        ¥t          |pi ¦  «        ¥¦  «        }|t          | ¦  «        t	          |¦  «        <   |S r^   )r£  r™  r{   r‹  r‡  )r…   r,   r�   s      r6   Úwrite_config_sectionr°  2  sS   € Ý& wÐ0bµ?À7Ñ3KÔ3KÐ0bÍtÐTZÐT`Ð^`ÑOaÔOaÐ0bÑcÔc€FØFL…O�MÑ"Ô"Õ#9¸'Ñ#BÔ#BÑCØ€Mr5   )r¥  Úapply_pre_1_1_defaultsr±  c          
     óÞ  ‡ — t          t                               d„ t          D ¦   «         ¦  «        ¦  «        }t	          ‰                      t          d ¦  «        ˆ fd„|D ¦   «         f¦  «        }t          ‰ ¦  «                             t          d ¦  «         t          D ]z}t          |¦  «        st          |d¦  «        rYt          ‰ |t          ‰ ||¬¦  «        ¦  «        }|r6t          |d¦  «        r&|                     |¦  «        rt          ‰ ||¦  «         Œ{|D ]}‰                      |d ¦  «         Œt	          ‰                      t          d ¦  «        ˆ fd„|D ¦   «         f¦  «        }||k    S )Nc              3  ó>   K  — | ]}t          |¦  «        D ]}|V — ŒŒd S r^   )r   )r´   r,   r–   s      r6   rè   z+migrate_upsampler_config.<locals>.<genexpr>9  s:   è è € Ð%uÐ%u¨gÕXkÐlsÑXtÔXtÐ%uÐ%uÐQT cÐ%uÐ%uÐ%uÐ%uÐ%uÐ%uÐ%ur5   c                óD   •— i | ]}|‰v ¯|‰                      |¦  «        “ŒS r4   r»   ©r´   r–   r…   s     €r6   rÀ   z,migrate_upsampler_config.<locals>.<dictcomp>:  s[   ø€ ð  COð  COð  COÐcfÐy|ð  ANð  zNð  zNÀ3È×HYÒHYÐZ]ÑH^ÔH^ð  zNð  zNð  zNr5   r›  r¤  r±  c                óD   •— i | ]}|‰v ¯|‰                      |¦  «        “ŒS r4   r»   rµ  s     €r6   rÀ   z,migrate_upsampler_config.<locals>.<dictcomp>C  s[   ø€ ð  BNð  BNð  BNÐbeÐx{ð  @Mð  yMð  yMÀ#À}×GXÒGXÐY\ÑG]ÔG]ð  yMð  yMð  yMr5   )rß   r{   Úfromkeysr$   Úreprrq   r‰  r‹  r|   r}   r™  rz   r°  rª  r±  )	r…   r¥  r±  Úlegacy_keysÚbeforer,   r�   r–   Úafters	   `        r6   Úmigrate_upsampler_configr¼  8  sî  ø€ Ý�ŸšÐ%uÐ%uÕ9LÐ%uÑ%uÔ%uÑuÔuÑvÔv€KÝ�=×$Ò$Õ%9¸4Ñ@Ô@ð  COð  COð  COð  COÐjuð  COñ  COô  COð  Pñ  Qô  Q€FÝ�MÑ"Ô"×&Ò&Õ'=¸tÑDÔDÐDÝ&ð Eð EˆÝ˜7Ñ#Ô#ð 	E¥w¨w¸Ñ'HÔ'Hð 	EÝ)¨-¸ÕBUÐVcÐelð  }Jð  CKñ  CKô  CKñ  Lô  LˆFØ%ð E­'°'Ð;SÑ*TÔ*Tð EÐY`×YwÒYwÐx~ÑYÔYð EÝ$ ]°G¸VÑDÔDÐDøØð %ð %ˆØ×Ò˜#˜tÑ$Ô$Ð$Ð$Ý�-×#Ò#Õ$8¸$Ñ?Ô?ð  BNð  BNð  BNð  BNÐitð  BNñ  BNô  BNð  Oñ  Pô  P€EØ�UŠ?Ðr5   c                óR   — t          | ¦  «        }t          |€|j        n||¦  «        S r^   )r�  rª  r…   )rC   r…   r,   s      r6   Úconfig_for_methodr¾  G  s.   € Ý)¨&Ñ1Ô1€GÝ¸Ð8M˜wÔ4Ð4ÐS`ÐbiÑjÔjÐjr5   ©Úlock_configrÀ  úlist[UpsamplerConfigBinding]c               ó.  — g }d„ t           D ¦   «         }|s|S |                      ¦   «         5  |D ]Í}t          ||t          ||¦  «        ¦  «        }|                      t          |¦  «        d         ¦  «        5 }|                     | ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        |_        |r>| 	                    t          |t          |¦  «        t          |¦  «        ¦  «        ¦  «         ŒÎ	 d d d ¦  «         n# 1 swxY w Y   |S )Nc                ó2   — g | ]}t          |d ¦  «        ¯|‘ŒS )Úcreate_config_ui)rz   r³   s     r6   rµ   z$create_config_ui.<locals>.<listcomp>N  s(   € ÐcÐcÐc˜G½gÀgÐOaÑ>bÔ>bÐc�ÐcÐcÐcr5   r§   r¿  )r$   ÚTabsr°  rª  ÚTabrš   rÄ  rž   r  r_   r+   r‡  rÞ   )	r=  r…   rÀ  Úbindingsr¢   r,   r�   Útabr/   s	            r6   rÄ  rÄ  L  s½  € Ø€HØcÐcÕ':ÐcÑcÔc€HØð ØˆØ	�Š‰Œð rð rØð 	rð 	rˆGÝ)¨-¸ÕBUÐVcÐelÑBmÔBmÑnÔnˆFØ—’� WÑ-Ô-¨fÔ5Ñ6Ô6ð Y¸#Ø"×3Ò3°B¸ÈKÐ3ÑXÔX�ðYð Yð Yñ Yô Yð Yð Yð Yð Yð Yð Yøøøð Yð Yð Yð Yå˜x™.œ.ˆCŒKØð rØ—’Õ 6°wÕ@VÐW^Ñ@_Ô@_ÕaeÐfnÑaoÔaoÑ pÔ pÑqÔqÐqøð	rðrð rð rñ rô rð rð rð rð rð rð røøøð rð rð rð rð €Os7   ¬AD
Á8BÂD
ÂB!Â!D
Â$B!Â%AD
Ä
DÄDrÇ  c                ó   — d„ | D ¦   «         S )Nc                ó,   — g | ]}|j         D ]\  }}|‘ŒŒS r4   )r/   )r´   Úbindingr  râ  s       r6   rµ   z%config_components.<locals>.<listcomp>]  s,   € ÐSÐSÐS˜'À'ÔBRÐSÐS±,°!°YˆIÐSÐSÐSÐSr5   r4   )rÇ  s    r6   Úconfig_componentsrÌ  \  s   € ØSÐS XÐSÑSÔSÐSr5   údict[str, dict[str, Any]]c                óf  — t          |pg ¦  «        }i d}}| D ]v}i }|j        D ]7\  }}|t          |¦  «        k    rt          d¦  «        ‚||         ||<   |dz  }Œ8t	          |j        i t          |j        ¦  «        ¥|¥¦  «        ||j        <   Œw|t          |¦  «        k    rt          d¦  «        ‚|S )Nr   zCSpatial upsampler config UI values do not match registered controlsr   )rÞ   r/   rO   rP   r£  r,   r™  r.   )rÇ  rá   ÚupdatesÚindexrË  r�   Úfieldr  s           r6   Úcollect_config_updaterÒ  `  sà   € Ý�&�,˜BÑÔ€FØ˜ˆU€GØð Að AˆØˆØÔ(ð 	ð 	‰HˆE�1Ø�˜F™œÒ#Ð#Ý Ð!fÑgÔgÐgØ" 5œMˆF�5‰MØ�Q‰JˆEˆEÝ&?ÀÄÐQÕTcÐdkÔdsÑTtÔTtÐQÐx~ÐQñ  'Aô  'Aˆ�Ô"Ñ#Ð#Ø•�F‘”ÒÐÝÐ^Ñ_Ô_Ð_Ø€Nr5   rÏ  ú	list[str]c                ó<  — g }| D ]–}|j         |v r‹t          |j        d¦  «        rv|j                             ||j                  ¦  «        }t	          |t
          ¦  «        r|r|                     |¦  «         Œrt	          |t          ¦  «        r|d„ |D ¦   «         z  }Œ—|S )NÚvalidate_config_sectionc                ó   — g | ]}|¯|‘ŒS r4   r4   )r´   rR   s     r6   rµ   z3validate_config_update_messages.<locals>.<listcomp>x  s   € Ð>Ð>Ð> d¸Ð>˜TÐ>Ð>Ð>r5   )r.   rz   r,   rÕ  rÊ   r-   r_   rÞ   )rÇ  rÏ  ÚmessagesrË  Úmessages        r6   Úvalidate_config_update_messagesrÙ  p  s²   € Ø€HØð ?ð ?ˆØÔ Ð(Ð(­W°W´_ÐF_Ñ-`Ô-`Ð(Ø”o×=Ò=¸gÀgÔFXÔ>YÑZÔZˆGÝ˜'¥3Ñ'Ô'ð ?¨Gð ?Ø—’ Ñ(Ô(Ð(Ð(Ý˜G¥TÑ*Ô*ð ?ØÐ>Ð>¨gÐ>Ñ>Ô>Ñ>�øØ€Or5   c                ód   — |D ],}|j         |v r!t          | |j        ||j                  ¦  «         Œ-d S r^   )r.   r°  r,   )r…   rÇ  rÏ  rË  s       r6   Úapply_config_updaterÛ  |  sJ   € Øð ^ð ^ˆØÔ Ð(Ð(Ý  °´ÀÈÔI[ÔA\Ñ]Ô]Ð]øð^ð ^r5   Ú
old_configÚ
new_configc                ó°  — t          |¦  «        }t          j        | ¦  «        t          j        |¦  «        k    }|rt          nd }|�t	          |¦  «         t
          D ]x}t          |d¦  «        sŒt          | |¦  «        }t          ||¦  «        }t          |d¦  «        r|                     |||¦  «        }n||k    }|s|r||urt	          |¦  «         Œyd S )Nrª   Úconfig_requires_release)	r�   rG  Úconfig_valuesr'   r­   r$   rz   rª  rß  )	rÜ  rÝ  Úchanged_keysÚmemory_changedÚreleased_handlerr,   Úold_sectionÚnew_sectionÚshould_releases	            r6   Ú!release_changed_config_upsamplersrç  ‚  s  € Ý�|Ñ$Ô$€LÝ%Ô3°JÑ?Ô?ÕCSÔCaÐblÑCmÔCmÒm€NØ4BÐLÕ0Ð0ÈÐØÐ#Ý"Ð#3Ñ4Ô4Ð4Ý&ð 
0ð 
0ˆÝ�w Ñ/Ô/ð 	ØÝ)¨*°gÑ>Ô>ˆÝ)¨*°gÑ>Ô>ˆÝ�7Ð5Ñ6Ô6ð 	8Ø$×<Ò<¸[È+ÐWcÑdÔdˆNˆNà(¨KÒ7ˆNØð 	0˜nð 	0°'ÐAQÐ2QÐ2QÝ& wÑ/Ô/Ð/øð
0ð 
0r5   c                  ó,   — e Zd ZdZd„ Zd„ Zd„ Zd	d„ZdS )
ÚSimpleScaleSuffixMixinz[Value helpers writing '<method>*<multiplier>' while accepting the legacy concatenated form.c                ó\   — |                       ¦   «         }d„ t          |¦  «        D ¦   «         S )Nc                ó   — g | ]\  }}|‘ŒS r4   r4   r  s      r6   rµ   z7SimpleScaleSuffixMixin._method_keys.<locals>.<listcomp>š  s   € Ð?Ð?Ð?™˜˜3�Ð?Ð?Ð?r5   )r~   rr   )Úselfrl   s     r6   Ú_method_keysz#SimpleScaleSuffixMixin._method_keys˜  s/   € Ø×.Ò.Ñ0Ô0ˆØ?Ð?¥/°+Ñ">Ô">Ð?Ñ?Ô?Ð?r5   c                ó   — t          |pd¦  «                             ¦   «                              ¦   «         }t          |                      ¦   «         t
          d¬¦  «        D ]ž}|                     |¦  «        r‡|t          |¦  «        d …         }t          |                      ¦   «          	                    di ¦  «         	                    |d¦  «        ¦  «        }|s
|s|dfnd c S t          ||d¦  «        }|€d n||fc S ŒŸd S )NrF   T)r–   Úreverser“  r4   rž  rx  )r-   rG   rH   rb  rí  rO   rN   rß   r~   rq   rT   )rì  rQ   rR   rC   rS   r“  r7   s          r6   r  z"SimpleScaleSuffixMixin.split_valueœ  s  € Ý�5�;˜BÑÔ×%Ò%Ñ'Ô'×-Ò-Ñ/Ô/ˆÝ˜T×.Ò.Ñ0Ô0µcÀ4ÐHÑHÔHð 	Bð 	BˆFØ�Š˜vÑ&Ô&ð BØ�c &™kœk˜l˜lÔ+�Ý# D×$<Ò$<Ñ$>Ô$>×$BÒ$BÀ=ÐRTÑ$UÔ$U×$YÒ$YÐZ`ÐbdÑ$eÔ$eÑfÔf�Ø"ð AØ06Ð@˜F C˜=˜=¸DÐ@Ð@Ð@Ý/°°f¸cÑBÔB�Ø$˜}�t�t°6¸5°/ÐAÐAÐAðBð ˆtr5   c                ó®  — t          |pd¦  «                             ¦   «                              ¦   «         }||                      ¦   «         vrd S |                      ¦   «                              di ¦  «                             |d¦  «        }|s|S t          |pd¦  «        }||vr$t          |                      ¦   «         |¦  «        pd}t          ||¦  «        S )NrF   r“  r4   r   )	r-   rG   rH   rí  r~   rq   r8   rœ  rJ   )rì  rC   r7   r“  s       r6   r¥  z"SimpleScaleSuffixMixin.build_value¨  sÓ   € Ý�V�\˜rÑ"Ô"×(Ò(Ñ*Ô*×0Ò0Ñ2Ô2ˆØ˜×*Ò*Ñ,Ô,Ð,Ð,Ø�4Ø×.Ò.Ñ0Ô0×4Ò4°]ÀBÑGÔG×KÒKÈFÐTVÑWÔWˆØð 	ØˆMÝ�e�j˜qÑ!Ô!ˆØ˜Ð#Ð#Ý0°×1IÒ1IÑ1KÔ1KÈVÑTÔTÐYÐXYˆEÝ& v¨uÑ5Ô5Ð5r5   r9   rž   c                ó0   — |                       |¦  «        d uS r^   )r  )rì  rQ   s     r6   rý   z$SimpleScaleSuffixMixin.is_upsampling´  s   € Ø×Ò Ñ&Ô&¨dÐ2Ð2r5   N©r9   rž   )r0   r1   r2   Ú__doc__rí  r  r¥  rý   r4   r5   r6   ré  ré  •  s^   € € € € € ØeÐeð@ð @ð @ð
ð 
ð 
ð
6ð 
6ð 
6ð3ð 3ð 3ð 3ð 3ð 3r5   ré  c                  óX   — e Zd ZdZdd„Zdd„Zdd
„Zdd„Zdd„Zdd„Z	dd„Z
dd„Zd„ ZdS )ÚWanVaeUpsamplera!  Capability declaration for the Wan VAE 2x upscaling decoder.

    VAE upsamplers are plugged directly into model pipelines: models declare
    support through their model def and the upsampler API decides whether a main
    model reload or an external VAE upsampler runtime is needed.
    Nc                ó   — d S r^   r4   )rì  r…   r†   s      r6   Ú__init__zWanVaeUpsampler.__init__À  s   € Øˆr5   r9   rm   c                óL   — dt           fdt          ddddig dgddidt          dd	œS )
NúVAE Upscalingr|  r   é   )rù  r   )rž  g      ø?rx  zvae*2zµRuns through the compatible generation model's existing VAE path, so it adds no separate decoded-media pass and has little extra VRAM impact. It can create more detail than Lanczos.)r§   r    rÀ  r?  r.   rô   rù   r¹   rº   r“  rš  rÎ   rÉ   )r`  rÅ  rÏ   )rì  s    r6   r~   z#WanVaeUpsampler.query_upsampler_defÃ  sJ   € à#Ý 2Ð4Ø'Ý.ØØØ  "˜+ØØ4Ð5Ø! ?Ð3Ø*1Ý'Hð Sð
ð 
ð 	
r5   rR  r=   r-   c                óˆ   — |                       |¦  «        }|�*|d         |                      ¦   «         d         d         v rdndS )Nr   r“  r   rF   z4VAE Spatial Upsampling only supports x1, x1.5 and x2)r  r~   )rì  rí   rR  rï   s       r6   rT  z#WanVaeUpsampler.validate_upsamplingÔ  sS   € Ø× Ò Ð!3Ñ4Ô4ˆØÐ&¨5°¬8°t×7OÒ7OÑ7QÔ7QÐR_Ô7`ÐafÔ7gÐ+gÐ+gˆrˆrð  ndð  	dr5   rž   c                ó>   — |dk    o||                      dg ¦  «        v S )Nr   Úvae_upsamplerr»   )rì  rC   rZ  r[  rR  s        r6   rY  z)WanVaeUpsampler.supports_model_vae_methodØ  s%   € Ø˜ŠÐS :°·²¸ÐPRÑ1SÔ1SÐ#SÐSr5   re  c                ót   — |                       ||¦  «        }|r|S |                      d|||¦  «        rdnd|› �S )Nr   rF   z,VAE Spatial Upsampling is not available for )rT  rY  )rì  rí   rR  rZ  r[  re  rV  s          r6   rg  z-WanVaeUpsampler.validate_model_vae_upsamplingÛ  si   € Ø×(Ò(Ð);¸ZÑHÔHˆØð 	ØˆLØ×3Ò3°E¸:ÀyÐR\Ñ]Ô]ð  [ˆrˆrð  d[ð  SYð  d[ð  d[ð  	[r5   rœ   c                ó:   — |                       d|||¦  «        r|nd S )Nr   )rY  ©rì  rí   rZ  r[  rR  s        r6   rj  z+WanVaeUpsampler.model_load_upsampling_valueá  s*   € Ø%)×%CÒ%CÀEÈ:ÐW`ÐblÑ%mÔ%mÐwÐ!Ð!ÐswÐwr5   c                ól   — |�%t          |d¦  «        rt          |j        d¦  «        sd n|j        j        S )Nr   Úupsampling_set)rz   r   r  )rì  ro  s     r6   rn  z1WanVaeUpsampler.loaded_model_vae_upsampling_valueä  s?   € Ø�}­G°E¸5Ñ,AÔ,A�}ÍÐQVÔQZÐ\lÑImÔIm�}ˆtˆtÐsxÔs|ô  tLð  	Lr5   c                ó
   — d|iS )NÚVAE_upsamplingr4   r   s        r6   rq  z4WanVaeUpsampler.model_load_kwargs_for_vae_upsamplingç  s   € Ø Ð"4Ð5Ð5r5   c                óT   — t          ||                      |¦  «        d         ¦  «        S )Nr   )r…  r  )rì  rM  rí   s      r6   rt  z1WanVaeUpsampler.post_model_process_vae_upsamplingê  s'   € Ý# F¨D×,<Ò,<Ð=OÑ,PÔ,PÐQRÔ,SÑTÔTÐTr5   )NN©r9   rm   ©rR  r=   r9   r-   )rR  r=   r9   rž   ©rR  r=   re  r-   r9   r-   ©rR  r=   r9   rœ   ©r9   rœ   ©rR  r=   r9   rm   )r0   r1   r2   ró  r÷  r~   rT  rY  rg  rj  rn  rq  rt  r4   r5   r6   rõ  rõ  ¸  sæ   € € € € € ðð ðð ð ð ð
ð 
ð 
ð 
ð"dð dð dð dðTð Tð Tð Tð[ð [ð [ð [ðxð xð xð xðLð Lð Lð Lð6ð 6ð 6ð 6ðUð Uð Uð Uð Ur5   rõ  )r7   r8   r9   r-   )rC   r-   r7   r8   r9   r-   )rC   r-   rK   r8   r9   rL   )rU   r-   r9   r-   )rU   r-   r7   r8   r9   r-   )r9   r\   )rb   r-   )rl   rm   rn   r-   r9   r-   r^   )ru   rv   r9   rm   )ru   rv   r9   r\   )NF)r›   rœ   r�   rž   r9   r#   rò  )r9   r-   )r›   rœ   r�   rž   r9   r°   )rl   rm   r9   r·   )rl   rm   r9   r½   )r9   rÂ   )rÕ   )rÚ   rœ   r9   r°   )rå   r-   r9   rž   r  )rU   r-   rC   r-   r9   r-   )rl   rm   r9   r8   )rl   rm   rC   r-   r9   r8   )r9   r&   )T)r�   rž   r9   r°   r  )rC   r-   rR  r=   r9   rž   )rR  r=   r9   r·   r  r	  r
  r  )r9   r   )r9   r‘  )r9   r•  )rl   rm   rC   r-   r9   rL   )r9   r8   )r9   r¢  )r9   r«  )r9   r°  )r´  rµ  r9   r¶  )FF)r¼  rž   r   rž   r»  r-   r9   r½  )
r¼  rž   r   rž   rÌ  rÏ  rÍ  rÐ  r9   rm   )r¼  rž   r9   rm   )rÚ   r-   r9   r°   )rã   rm   r9   r-   )rã   rm   )rÚ   r-   r9   rm   )rý  r-   r9   r-   )rý  r-   r9   rµ  )r¼  rž   r   rž   rÌ  rÏ  rÍ  rÐ  r  rž   r  rœ   r9   rm   )TFN)
ry  rž   r�   rž   r¼  rz  rx  rž   r9   r·   )r…   rm   r9   rm   )r9   r=   )r…   r(   r9   r=   )r…   r(   r9   rž   )r…   rm   r9   r=   )r9   r�  )r�   rm   r9   rm   )r…   rm   r¥  rž   r9   rm   )r…   rm   r.   r-   r9   rm   )r…   rm   r�   rm   r9   rm   )r…   rm   r¥  rž   r±  rž   r9   rž   )r…   r(   r9   rm   )r…   rm   rÀ  rž   r9   rÁ  )rÇ  rÁ  r9   r#   )rÇ  rÁ  r9   rÍ  )rÇ  rÁ  rÏ  rÍ  r9   rÓ  )r…   rm   rÇ  rÁ  rÏ  rÍ  r9   r\   )rÜ  rm   rÝ  rm   r9   r\   )¨ró  Ú
__future__r   Údataclassesr   Ú	functoolsr   Ú
contextlibr   Úcontextvarsr   r  rg   r  ÚsysÚtypingr   Úshared.attentionr	   Úshared.utilsr
   rF   r   rG  Úmodel_contextr   Úprocessor_statusr   r   r   r   r   r   r‡   r  r0   rÄ  r`  rÏ   r  rÐ   rC  r]  rÝ  ÚPARAMETER_UI_MEDIA_FLOWrÅ  rÆ  rƒ  r‰  r}   r�  rŽ  r�  rI   ry   r$   r3   r�   r%   r'   r)   r+   r?   rB   rJ   rT   rX   r[   ra   rk   rt   r‚   rˆ   rŒ   r�   r—   rš   r£   r¡   r¨   r­   r¯   r¶   rr   rÁ   rÆ   rÌ   rÔ   rØ   rÜ   rê   rð   rò   r÷   rú   r   r  r  r  r  r  r   r8  r;  rQ  rW  r\  rd  rg  rl  rn  rq  rt  rv  r…  r‡  rŠ  rÄ   r�  r”  r˜  rœ  rŸ  r¡  rì   r¦  r©  rh  r¯  r³  r¹  rÊ  rÚ  rß  ræ  rñ  ró  rÜ  r  r  r  rv  r€  r„  r‡  r‹  r�  r   rF  r”  r–  r™  rœ  r   r£  rª  r®  r°  r¼  r¾  rÄ  rÌ  rÒ  rÙ  rÛ  rç  ré  rõ  r4   r5   r6   ú<module>r     s7  ððQð Qð Qðf #Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø "Ð "Ð "Ð "Ð "Ð "Ø €€€Ø Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø )Ð )Ð )Ð )Ð )Ð )Ø (Ð (Ð (Ð (Ð (Ð (Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð  pð „× Ò Ð2°C´KÀÔ4IÑ JÔ JÐ Jà 0Ð ØÐ Ø$/Ð !Ø"+Ð Ø>Ð@_Ð`Ð Ø'Ð Ø.Ð Ø#8Ð  Ø&Ð Ø!Ð Ø!Ð Ø!Ð Ø+Ð Ø&Ð Ø€Ø€Ø€ØÐ ðð ð Ð ð "$Ð Ð #Ð #Ð #Ñ #Ø03°±´Ð #Ð 5Ð 5Ð 5Ñ 5Ø(,Ð Ð ,Ð ,Ð ,Ñ ,Ø26Ð Ð 6Ð 6Ð 6Ñ 6ð ð$ð $ð $ð $ð $ñ $ô $ñ „ð$ðCð Cð Cð Cð
*ð *ð *ð *ðbð bð bð bðð ð ð ð$7ð 7ð 7ð 7ðLð Lð Lð Lð,ð ,ð ,ð ,ð
Eð Eð Eð Eð
!ð !ð !ð !ðð ð ð ð ð
6ð 
6ð 
6ð 
6ð 
6ð ˆjÐ7ÀÐFÑFÔF€ð ð!ð !ñ „ð!ðð ð ðIð Ið Iðð ð ð ð ð]ð ]ð ]ð ]ð.ð .ð .ð .ð)ð )ð )ð )ð(ð (ð (ð (ðcð cð cð cð cðOð Oð Oð OðGð Gð Gð GðEð Eð Eð Eð	Að 	Að 	Að 	Aðdð dð dð dðFð Fð Fð Fð Fð
 ;?ð ð ð ð ð ð ð$wð wð wð wðð ð ð ð$lð lð lð lðð ð ð ð%ð %ð %ð %ñqð qð qð qñgð gð gð gðcð cð cð cñkð kð kð kð>ð >ð >ð >ññ ð ð ð ð$\ð \ð \ð  ˜C™EœEÐ ðgð gð gð TXÐnrð 4ð 4ð 4ð 4ð 4ñ@
ð 
ð 
ð 
ñJð Jð Jð JñKð Kð Kð Kñ|ð |ð |ð |ñfð fð fð fñð ð ð ñoð oð oð oðQð Qð QðYð Yð Yð Yð
Mð Mð MðGð Gð Gð,ð ,ð ,ð ,ñ
ð ð ð ñð ð ð ñTð Tð Tð Tñ]ð ]ð ]ð ]ñ
ð 
ð 
ð 
ñWð Wð Wð WñTð Tð Tð TñCð Cð Cð Cñ
Kð Kð Kð Kð
	ð 	ð 	ð 	ðqð qð qð qñ"cð cð cð cñRð Rð Rð Rñ
Dð Dð Dð Dñbð  CEð bð bñ bð bð bð bð$ AFÐchð  W[ð  AEð  Y]ð 
@ð 
@ñ 
@ð 
@ð 
@ð 
@ð _cð ð ñ ð ð ð ñ&ð &ð &ð &ñ$fð fð fð fñ
=ð =ð =ð =ð
Lñ Lð Lð Lð Lð MQð !ð !ñ !ð !ð !ð !ð: JNð Kð Kñ Kð Kð Kð Kñ\ð \ð \ð \ð
 SXÐuzð  imð  SWð  koð  ~Bð  X]ð  jnð  MQð  dhð [ð [ñ [ð [ð [ð [ñ|Lð  afð Lð Lñ Lð Lð Lð Lð,#ð #ð #ð #ð.ð .ð .ð .ñð ð ð ñ]ð ]ð ]ð ]ðdñ dð dð dð dðñ ð ð ð ðñ ð ð ð ñ
ð ð ð ðð ð ð ñcð cð cð cñað að að añð ð ð ð Z_ð 6ð 6ñ 6ð 6ð 6ð 6ñ7ð 7ð 7ð 7ñð ð ð ð V[ð  |Að ð ñ ð ð ð ðkñ kð kð kð kð
 PUð ð ñ ð ð ð ñ Tð Tð Tð Tñð ð ð ñ 	ð 	ð 	ð 	ñ^ð ^ð ^ð ^ñ0ð 0ð 0ð 0ð& 3ð  3ð  3ð  3ð  3ñ  3ô  3ð  3ðF3Uð 3Uð 3Uð 3Uð 3UÐ,ñ 3Uô 3Uð 3Uð 3Uð 3Ur5   