a àMÒeáã@sPddlZddlmZmZddlmZeGdd„dejjƒƒZ eedœdd„Z dS) éN)ÚAnyÚCallable)Ú immutablec@sPeZdZdefeeegejj fdœdd„Z dd„Z dd„Z d d „Z d d „Zd S)ÚDictF)Ú dictionaryÚno_copyÚ map_factorycCs8|rt|tjjƒr||_n|ƒ|_|j |¡d|_dS)aMake an immutable dictionary from the specified dictionary. If *no_copy* is `True`, then *dictionary* will be wrapped instead of copied. Only set this if you are sure there will be no external references to the dictionary. N)Ú isinstanceÚ collectionsÚabcÚMutableMappingÚ_odictÚupdateÚ_hash)Úselfrrr©rú1/usr/lib/python3.9/site-packages/dns/immutable.pyÚ__init__ s  z Dict.__init__cCs |j |¡S©N)r Ú __getitem__)rÚkeyrrrrszDict.__getitem__cCsB|jdur<ózconstify..css|]}t|ƒVqdSrr*r,rrrr/>r0T) r Ú bytearrayÚbytesÚtuplerÚ ExceptionÚlistr&Úitemsr+r)r(ZcdictÚkÚvrrrr+1s       r+) Úcollections.abcr ÚtypingrrZdns._immutable_ctxrr ÚMappingrr+rrrrÚs  '