ó
    �®žjn  ã                   ó*   • S SK r S SKJr  S\S\4S jrg)é    N)ÚPipelineOptionsÚpipeline_optionsÚreturnc                 ó°   • [        U 5      R                  U R                  SS9-   n[        R                  " UR                  S5      SS9R                  5       $ )a‚  Build a stable cache key from the public option values.

``serialize_as_any=True`` serializes every value by its concrete runtime
type, so a concrete subtype assigned to a base-typed field (e.g. an API vs.
a local VLM picture-description backend) keeps its distinguishing fields
instead of being truncated to the base schema and colliding. The options
class name guards against two option classes that dump identically.

# ponytail: serialize_as_any masks SecretStr/opaque objects to a constant;
# none are reachable from PipelineOptions today. If such a field is added,
# key it explicitly here rather than reintroducing a full type walker.
T)Úserialize_as_anyzutf-8F)Úusedforsecurity)ÚtypeÚ__qualname__Úmodel_dump_jsonÚhashlibÚmd5ÚencodeÚ	hexdigest)r   Úpayloads     ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/utils/pipeline_cache.pyÚcreate_pipeline_options_hashr   	   sV   € ô Ð#Ó$×1Ñ1Ð4D×4TÑ4TØð 5Uð 5ñ €Gô �;Š;�w—~‘~ gÓ.ÀÑF×PÑPÓRÐRó    )r   Ú"docling.datamodel.pipeline_optionsr   Ústrr   © r   r   Ú<module>r      s#   ðó å >ðS°?ð SÀsõ Sr   