
    l0j                     $    d Z ddlZddlmZ d ZdS )zS
schemas.py
-------------

Tools for dealing with schemas, particularly JSONschema
    N   )decode_textc                    t          | t                    rfd| D             S t          | t                    rd| v rmt                              |                     d                              }|                     t          j        |                     t          |            n'| 
                                D ]}t          |           | S )a  
    Given a JSON Schema containing `$ref` keys recursively
    evaluate to find and replace referenced files with their
    actual values using trimesh.resolvers.Resolver objects.

    Parameters
    ---------------
    item : any
      JSON schema including `$ref` to other files
    resolver : trimesh.visual.resolver.Resolver
      Resolver to fetch referenced assets

    Returns
    ----------
    result : any
      JSONSchema with references replaced
    c                 0    g | ]}t          |          S  )resolve).0iresolvers     R/home/wildlama/miniconda3/envs/lam/lib/python3.11/site-packages/trimesh/schemas.py
<listcomp>zresolve.<locals>.<listcomp>!   s#    3338$$333    z$ref)
isinstancelistdictr   getpopupdatejsonloadsr   values)itemr   rawr
   s    `  r   r   r      s    $ $ %3333d3333	D$		 %T>> hll488F+;+;<<==CKK
3(((D(#### [[]] % %8$$$$Kr   )__doc__r   utilr   r   r   r   r   <module>r      sE           ! ! ! ! !r   