
    j                     "    d Z ddlZddlmZ d Zy)zS
schemas.py
-------------

Tools for dealing with schemas, particularly JSONschema
    N   )decode_textc                    t        | t              r| D cg c]  }t        ||       c}S t        | t              rd| v r[t	        |j                  | j                  d                  }| j                  t        j                  |             t        | |       | S | j                         D ]  }t        ||        | S c c}w )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
    z$ref)
isinstancelistresolvedictr   getpopupdatejsonloadsvalues)itemresolveriraws       </DATA/.local/lib/python3.12/site-packages/trimesh/schemas.pyr   r      s    $ $.23d8$d33	D$	T> hll488F+;<=CKK

3(D(#
 K [[]8$ #K 4s   B=)__doc__r   utilr   r        r   <module>r      s     !r   