a )g1@s*ddlmZmZmZeZddlZddlZddlZddlm Z ddl m Z m Z ddlmZmZddlmZddlmZdd gZGd ddeZGd d d eeZGd ddeeZGdddeeZddZddZddZdd Z ddZ!ddZ"ddZ#ddZ$e%ej ej&re$e_ n e'd e(dS)!)absolute_importdivisionprint_functionN)intern)MappingSet)to_bytesto_text) is_sequence)NativeJinjaText AnsibleUnsafewrap_varc@seZdZdZdS)r TN)__name__ __module__ __qualname__ __UNSAFE__rr>/usr/lib/python3.9/site-packages/ansible/utils/unsafe_proxy.pyr FscseZdZfddZddZddZddZfd d Zfd d Zfd dZ ddZ fddZ ddZ fddZ e ZfddZfddZfddZdSfdd ZdTfd"d# Zfd$d%Zfd&d'ZdUfd)d* Zfd+d,ZdVfd-d. Zfd/d0ZdWfd2d3 Zfd4d5ZdXfd7d8 ZdYfd9d: Zfd;d<ZdZfd=d> Zd[fd?d@ Z d\fdAdB Z!d]fdDdE Z"d^fdFdG Z#fdHdIZ$fdJdKZ%d_fdMdN Z&fdOdPZ'fdQdRZ(Z)S)`AnsibleUnsafeBytescs tSN)super __bytes__self __class__rr _strip_unsafeKsz AnsibleUnsafeBytes._strip_unsafecCs|j|ffSrrrrrrr __reduce__NszAnsibleUnsafeBytes.__reduce__cCs|Sr)decoderrrr__str__QszAnsibleUnsafeBytes.__str__cCs|SrrrrrrrTszAnsibleUnsafeBytes.__bytes__csttSr)AnsibleUnsafeTextr__repr__rrrrr"WszAnsibleUnsafeBytes.__repr__cstt|Sr)r!r __format__r format_specrrrr#ZszAnsibleUnsafeBytes.__format__cs(t|trt|S|t|Sr) isinstanceintr __getitem__rrkeyrrrr(]s  zAnsibleUnsafeBytes.__getitem__cCs|dddSNrrrrr __reversed__bszAnsibleUnsafeBytes.__reversed__cs|t|Srrr__add__rvaluerrrr/eszAnsibleUnsafeBytes.__add__cCs|||Srrr/r0rrr__radd__hszAnsibleUnsafeBytes.__radd__cs|t|Srrr__mul__r0rrrr5kszAnsibleUnsafeBytes.__mul__cs|t|Srrr__mod__r0rrrr7pszAnsibleUnsafeBytes.__mod__cs|t|Srrr__rmod__r0rrrr9sszAnsibleUnsafeBytes.__rmod__cs|tSrrr capitalizerrrrr;vszAnsibleUnsafeBytes.capitalize cs|t||SrrrcenterrwidthZfillcharrrrr>yszAnsibleUnsafeBytes.centerutf-8strictcsttj||dSN)encodingerrors)r!rrrrDrErrrr|szAnsibleUnsafeBytes.decodecs|t|Srrr removeprefixrprefixrrrrHszAnsibleUnsafeBytes.removeprefixcs|t|Srrr removesuffixrsuffixrrrrLszAnsibleUnsafeBytes.removesuffixcs|t|Srrr expandtabsrtabsizerrrrQszAnsibleUnsafeBytes.expandtabscs|t|Srrrjoin)rZiterable_of_bytesrrrrUszAnsibleUnsafeBytes.joincs|t||Srrrljustr?rrrrWszAnsibleUnsafeBytes.ljustcs|tSrrrlowerrrrrrYszAnsibleUnsafeBytes.lowerNcs|t|Srrrlstriprcharsrrrr[szAnsibleUnsafeBytes.lstripcs$|jtfddt|DS)Nc3s|]}|VqdSrr.0eclsrr z/AnsibleUnsafeBytes.partition..rtupler partitionrseprrarrgszAnsibleUnsafeBytes.partitionr,cs|t|||SrrrreplaceroldnewcountrrrrkszAnsibleUnsafeBytes.replacecs|t||Srrrrjustr?rrrrqszAnsibleUnsafeBytes.rjustcs$|jtfddt|DS)Nc3s|]}|VqdSrrr^rarrrcrdz0AnsibleUnsafeBytes.rpartition..rrfr rpartitionrhrrarrsszAnsibleUnsafeBytes.rpartitioncs|t|Srrrrstripr\rrrruszAnsibleUnsafeBytes.rstripcs$|jfddtj||dDS)Ncsg|] }|qSrrr^rarr rdz,AnsibleUnsafeBytes.split..rimaxsplitrrsplitrrirxrrarrzszAnsibleUnsafeBytes.splitcs$|jfddtj||dDS)Ncsg|] }|qSrrr^rarrrvrdz-AnsibleUnsafeBytes.rsplit..rwrrrsplitr{rrarr}szAnsibleUnsafeBytes.rsplitFcs"|jfddtj|dDS)Ncsg|] }|qSrrr^rarrrvrdz1AnsibleUnsafeBytes.splitlines..keependsrr splitlinesrrrrarrszAnsibleUnsafeBytes.splitlinescs|t|Srrrstripr\rrrrszAnsibleUnsafeBytes.stripcs|tSrrrswapcaserrrrrszAnsibleUnsafeBytes.swapcasecs|tSrrrtitlerrrrrszAnsibleUnsafeBytes.titlerdcs|tj||dS)N)deleterr translate)rtablerrrrrszAnsibleUnsafeBytes.translatecs|tSrrrupperrrrrrszAnsibleUnsafeBytes.uppercs|t|Srrrzfillrr@rrrrszAnsibleUnsafeBytes.zfill)r<)rArB)rO)r<)N)r,)r<)N)Nr,)Nr,)F)N)rd)*rrrrrr rr"r#r(r-r/r3r5__rmul__r7r9r;r>rrHrLrQrUrWrYr[rgrkrqrsrurzr}rrrrrrr __classcell__rrrrrJsL                  rcseZdZfddZddZddZfddZfd d Zfd d Zfd dZ ddZ fddZ ddZ fddZ e ZfddZfddZfddZfddZdXfd d! ZdYfd$d% Zfd&d'Zfd(d)ZdZfd+d, Zfd-d.Zfd/d0Zfd1d2Zd[fd3d4 Zfd5d6Zd\fd8d9 Zfd:d;Zd]fd=d> Zd^fd?d@ Z fdAdBZ!d_fdCdD Z"d`fdEdF Z#dafdGdH Z$dbfdJdK Z%dcfdLdM Z&fdNdOZ'fdPdQZ(fdRdSZ)fdTdUZ*fdVdWZ+Z,S)dr!cs tSr)rr rrrrrszAnsibleUnsafeText._strip_unsafecCs|j|ffSrrrrrrrszAnsibleUnsafeText.__reduce__cCs|Srrrrrrr szAnsibleUnsafeText.__str__cs|tSr)rrr"rrrrr"szAnsibleUnsafeText.__repr__cs|t|Sr)rrr#r$rrrr#szAnsibleUnsafeText.__format__cs|t|Sr)rrr(r)rrrr(szAnsibleUnsafeText.__getitem__cs|jfddtDS)Nc3s|]}|VqdSrr)r_crarrrcrdz-AnsibleUnsafeText.__iter__..)rr__iter__rrrarrszAnsibleUnsafeText.__iter__cCs|dddSr+rrrrrr-szAnsibleUnsafeText.__reversed__cs|t|Srr.r0rrrr/szAnsibleUnsafeText.__add__cCs|||Srr2r0rrrr3szAnsibleUnsafeText.__radd__cs|t|Srr4r0rrrr5szAnsibleUnsafeText.__mul__cs|t|Srr6r0rrrr7szAnsibleUnsafeText.__mod__cs|t|Srr8r0rrrr9szAnsibleUnsafeText.__rmod__cs|tSrr:rrrrr;szAnsibleUnsafeText.capitalizecs|tSr)rrcasefoldrrrrrszAnsibleUnsafeText.casefold cs|t||Srr=r?rrrr>szAnsibleUnsafeText.centerrArBcsttj||dSrC)rrencoderFrrrrszAnsibleUnsafeText.encodecs|t|SrrGrIrrrrHszAnsibleUnsafeText.removeprefixcs|t|SrrKrMrrrrLszAnsibleUnsafeText.removesuffixrOcs|t|SrrPrRrrrrQszAnsibleUnsafeText.expandtabscs|tj|i|Sr)rrformat)rargskwargsrrrrszAnsibleUnsafeText.formatcs|t|Sr)rr format_map)rmappingrrrrszAnsibleUnsafeText.format_mapcs|t|SrrT)riterablerrrrU szAnsibleUnsafeText.joincs|t||SrrVr?rrrrW szAnsibleUnsafeText.ljustcs|tSrrXrrrrrYszAnsibleUnsafeText.lowerNcs|t|SrrZr\rrrr[szAnsibleUnsafeText.lstripcs$|jtfddt|DS)Nc3s|]}|VqdSrrr^rarrrcrdz.AnsibleUnsafeText.partition..rerhrrarrgszAnsibleUnsafeText.partitionr,cs|t|||SrrjrlrrrrkszAnsibleUnsafeText.replacecs|t||Srrpr?rrrrqszAnsibleUnsafeText.rjustcs$|jtfddt|DS)Nc3s|]}|VqdSrrr^rarrrc"rdz/AnsibleUnsafeText.rpartition..rrrhrrarrs szAnsibleUnsafeText.rpartitioncs|t|Srrtr\rrrru$szAnsibleUnsafeText.rstripcs$|jfddtj||dDS)Ncsg|] }|qSrrr^rarrrv)rdz+AnsibleUnsafeText.split..rwryr{rrarrz'szAnsibleUnsafeText.splitcs$|jfddtj||dDS)Ncsg|] }|qSrrr^rarrrv-rdz,AnsibleUnsafeText.rsplit..rwr|r{rrarr}+szAnsibleUnsafeText.rsplitFcs"|jfddtj|dDS)Ncsg|] }|qSrrr^rarrrv1rdz0AnsibleUnsafeText.splitlines..r~rrrrarr/szAnsibleUnsafeText.splitlinescs|t|Srrr\rrrr3szAnsibleUnsafeText.stripcs|tSrrrrrrr6szAnsibleUnsafeText.swapcasecs|tSrrrrrrr9szAnsibleUnsafeText.titlecs|t|Srr)rrrrrr<szAnsibleUnsafeText.translatecs|tSrrrrrrr?szAnsibleUnsafeText.uppercs|t|SrrrrrrrBszAnsibleUnsafeText.zfill)r)rArB)rO)r)N)r,)r)N)Nr,)Nr,)F)N)-rrrrrr r"r#r(rr-r/r3r5rr7r9r;rr>rrHrLrQrrrUrWrYr[rgrkrqrsrurzr}rrrrrrrrrrrrr!sR                       r!c@s eZdZdS)NativeJinjaUnsafeTextN)rrrrrrrrFsrcCstdd|DS)Ncss"|]\}}t|t|fVqdSrr )r_kitemrrrrcKrdz_wrap_dict..)dictitemsvrrr _wrap_dictJsrcCst|}|dd|DS)z^Wraps a sequence with unsafe, not meant for strings, primarily ``tuple`` and ``list`` css|]}t|VqdSrrr_rrrrrcSrdz!_wrap_sequence..)type)rZv_typerrr_wrap_sequenceNsrcCstdd|DS)Ncss|]}t|VqdSrrrrrrrcWrdz_wrap_set..)setrrrr _wrap_setVsrcCs|dust|tr|St|tr*t|}n`t|tr>t|}nLt|rPt|}n:t|trdt |}n&t|t rxt |}nt|t rt |}|Sr)r&r rrrrr rr rbytesrstrr!rrrrr Zs          cOstt|i|Sr)r rrrrrrto_unsafe_bytesnsrcOstt|i|Sr)r r rrrrto_unsafe_textrsrcCst|ddduS)NrFT)getattr)objrrr _is_unsafevsrcCst|tr|}t|S)zThis is a monkey patch for ``sys.intern`` that will strip the unsafe wrapper prior to interning the string. This will not exist in future versions. )r&r!r _sys_intern)stringrrr_internzs rz>skipped sys.intern patch; appears to have already been patched))Z __future__rrrrZ __metaclass__systypeswarningsrrcollections.abcrrZansible.module_utils._textrr Z'ansible.module_utils.common.collectionsr Zansible.utils.native_jinjar __all__objectr rrrr!rrrrr rrrrr&BuiltinFunctionTypewarnRuntimeWarningrrrr5s4   z