??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
 Udac@`s'ddlmZmZmZeZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZmZddlmZddlmZddlmZyddlZWnek rCddl ZnXddl!j"Z#ddl$m%Z%dd l&m'Z'dd l(m)Z)m*Z*dd l+m,Z,dd l-m.Z.dd l/m0Z0m1Z1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8m9Z9ddl:m;Z;e.j<j=j>j?Z?e.j<j=j@ZAe6aBdZCdfdYZDdZEdZFdZGdZHedZIedZJedZKdZLdZMdZNdZOd ZPd!ZQeRd"ZSeRd#ZTd$ZUeRd%ZVd&ZWeRd'ZXeRd(ZYdS()i(tabsolute_importtdivisiontprint_functionN(tcontextmanager(t LooseVersiont StrictVersion(tsha256(tBytesIO(t YAMLError(t AnsibleError(t get_collections_galaxy_meta_info(tCollectionVersionMetadatat GalaxyError(t user_agent(tsix(tto_bytest to_nativetto_text(tAnsibleCollectionRef(tDisplay(t secure_hasht secure_hash_s(topen_urlitCollectionRequirementcB`seZddgZdddedZdZdZedZ edZ d Z d Z d Z d Zd ZeddZeddZeddZRS(s MANIFEST.jsont manifest_files FILES.jsont files_filec C`st||_||_||_||_t||_||_| |_g|_| |_ | |_ |j ||dS(s Represents a collection requirement, the versions that are available to be installed as well as any dependencies the collection has. :param namespace: The collection namespace. :param name: The collection name. :param b_path: Byte str of the path to the collection tarball if it has already been downloaded. :param api: The GalaxyAPI to use if the collection is from Galaxy. :param versions: A list of versions of the collection that are available. :param requirement: The version requirement string used to verify the list of versions fit the requirements. :param force: Whether the force flag applied to the collection. :param parent: The name of the parent the collection is a dependency of. :param metadata: The galaxy.api.CollectionVersionMetadata that has already been retrieved from the Galaxy server. :param files: The files that exist inside the collection. This is based on the FILES.json file inside the collection artifact. :param skip: Whether to skip installing the collection. Should be set if the collection is already installed and force is not set. N( t namespacetnametb_pathtapitsettversionstforcetskipt required_byt _metadatat_filestadd_requirement( tselfRRRRRt requirementR tparenttmetadatatfilesR!((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt__init__9s         cC`std|j|jfS(Ns%s.%s(RRR(R&((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt__str__\scC`sd|j|jfS(Nu%s.%s(RR(R&((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt __unicode___scC`sOy6tg|jD]}|dkr|^qdtSWntk rJdSXdS(Nt*tkey(tmaxRRt ValueError(R&tv((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytlatest_versionbs6 cC`sO|js/t|jdkr"iS|jn|jj}|dkrKiS|S(Ni(R#tlenRt _get_metadatat dependenciestNone(R&R6((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR6is    c `s|jjftfdjD}t|dkrojrrbdnd}jdkrjnd}dt||f}t|n>dkrdtf}nd tf}tj d d p j j }d j fd jD}dj tjdt} td||| |fn|_dS(Nc3`s*|] }j|r|VqdS(N(t_meets_requirements(t.0R2(R(R'R&(s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pys ysis--force-with-depss--forceR.tunknowns]Cannot meet requirement %s:%s as it is already installed at version '%s'. Use %s to overwrites,Cannot meet requirement %s for dependency %ss<Cannot meet dependency requirement '%s:%s' for collection %st nonstringtpassthrus c3`s@|]6\}}d|r$t|ndt|fVqdS(s %s - '%s:%s'tbaseN(R(R9tptr(R&(s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pys ss, R/s_%s from source '%s'. Available versions before last requirement added: %s Requirements from: %s(R"tappendRRR4R!R3RR R7RRt api_servertjointsortedR( R&R(R't new_versionst force_flagtversiontmsgtcollection_sourcetreq_byR((R(R'R&s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR%ws,%  ! cC`sv|jr$tjdt|dStjj||j|j}t|dd}tjdt||j |f|j dkr|j j }|j j}i}|jj||dtt||||jjd||_ ntjj|rtj|ntj|y tj|j dd}|jd } t|| .\} } tjt| jdd} WdQXt|d ||t|d ||xn| d D]b} | d }|d krqn| ddkrt||||d| dqt |||qWWdQXWnRt!k rqtj|tjj"|}tj#|sktj$|nnXdS(Ns(Skipping '%s' as it is already installedterrorstsurrogate_or_strictsInstalling '%s:%s' to '%s'trequiredtheaderstmodeR?s FILES.jsons MANIFEST.jsonR*Rt.tftypetfilet expected_hasht chksum_sha256(%R!tdisplayRtostpathRBRRRR3RR7R#t download_urltartifact_sha256Rt_add_auth_tokentFalset_download_filetvalidate_certstexiststshutiltrmtreetmakedirsttarfiletopent getmembert_tarfile_extracttjsontloadstreadt_extract_tar_filet_extract_tar_dirt Exceptiontdirnametlistdirtrmdir(R&RVt b_temp_pathtcollection_pathtb_collection_pathRWt artifact_hashRMtcollection_tartfiles_member_objtdummyt files_objR*t file_infot file_nametb_namespace_path((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytinstallsJ #   '    cC`s#t|jg|_|jdS(N(RR3RR5(R&((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytset_latest_versionscC`s5|jr dS|jj|j|j|j|_dS(N(R#Rtget_collection_version_metadataRRR3(R&((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR5s c C`sXitjd6tjd6tjd6tjd6tjd6tjd6tjd6}xt|jdD]}t |d kr|d dkrd nd }|j || }||}|s|}tj}n|r|d kr|d krt j d t |||fqbn|d ksb|d kr-qbn|t|t|sbPqbqbWtStS( s Supports version identifiers can be '==', '!=', '>', '>=', '<', '<=', '*'. Each requirement is delimited by ',' s!=s==t=s>=t>s<=t)        $$c C`s|jdd\}}d}xg|D]I}y|dkpd|jdpd|jdpd|jds|jdr|jd}n|j|||} | }| jg} n=|j||} g| D]} tjj | r| ^q} Wn.t k r } | j dkrng} nX| sMt j d ||j|jfq%nt j d ||j|jfPq%Wtd ||ft||d|| ||d |d |} | S(NROiR.R~R}s!=R|is2Collection '%s' is not available from server %s %ss*Collection '%s' obtained from server %s %ssFailed to find collection %s:%sR(R)(RR7t startswithtlstripR{RFtget_collection_versionsRt version_retmatchR t http_codeRTtvvvRRAR R(t collectiontapisR'R R(RRt galaxy_metaRtrespRR2terrR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt from_nameIs6 */  ! (s MANIFEST.jsons manifest_file(s FILES.jsons files_fileN(t__name__t __module__RR7RZR+R,R-tpropertyR3R6R%RyRzR5R8t staticmethodRRR(((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR5s$ "    6   ) *c C`s:t|dd}tjj|d}tjj|sRtdt|nt|}t||d|d}t |}tjj|d|d|d|df}t|dd} tjj| r#tjj | rtd t|q#|s#td t|q#nt || ||d S( s Creates the Ansible collection artifact in a .tar.gz file. :param collection_path: The path to the collection to build. This should be the directory that contains the galaxy.yml file. :param output_path: The path to create the collection build artifact. This should be a directory. :param force: Whether to overwrite an existing collection build artifact or fail. :return: The path to the collection build artifact. RJRKs galaxy.ymls3The collection galaxy.yml path '%s' does not exist.RRs%s-%s-%s.tar.gzRFsQThe output collection artifact '%s' already exists, but is a directory - abortingsWThe file '%s' already exists. You can use --force to re-create the collection artifact.N( RRURVRBR]R Rt_get_galaxy_ymlt_build_files_manifestt_build_manifesttisdirt_build_collection_tar( Rot output_pathR Rpt b_galaxy_pathtcollection_metat file_manifesttcollection_manifesttcollection_outputtb_collection_output((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytbuild_collectionvs&   cC`s|j|}|rd}x-t|jdD]}|r1|}Pq1q1W|sdtd|ntjd|j|jft|j ||WdQXtjd|j|jfn tjd|j|j|fdS(s~ Publish an Ansible collection tarball into an Ansible Galaxy server. :param collection_path: The path to the collection tarball to publish. :param api: A GalaxyAPI to publish the collection to. :param wait: Whether to wait until the import process is complete. :param timeout: The time in seconds to wait for the import process to finish, 0 is indefinite. t/soPublishing the collection did not return valid task info. Cannot wait for task status. Returned task info: '%s's8Collection has been published to the Galaxy server %s %sNsRCollection has been successfully published and imported to the Galaxy server %s %ssCollection has been pushed to the Galaxy server %s %s, not waiting until import has completed due to --no-wait being set. Import task results can be found at %s( tpublish_collectionR7treversedRR RTRRAt_display_progresstwait_import_task(RoRtwaitttimeoutt import_urittask_idt path_segment((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs    c C`st|}t} tjdt&t||| |||||} WdQXtjdtuxm| jD]_} y| j|| Wqztk r} |rtjdt | t | fqqzXqzWWdQXWdQXdS(s Install Ansible collections to the path specified. :param collections: The collections to install, should be a list of tuples with (name, requirement, Galaxy server). :param output_path: The path to install the collections to. :param apis: A list of GalaxyAPIs to query when searching for a collection. :param validate_certs: Whether to validate the certificates if downloading a tarball. :param ignore_errors: Whether to ignore any errors when installing the collection. :param no_deps: Ignore any collection dependencies and only install the base requirements. :param force: Re-install a collection if it has already been installed. :param force_deps: Re-install a collection as well as its dependencies if they have already been installed. sProcess install dependency mapNs#Starting collection install processsXFailed to install collection %s but skipping due to --ignore-errors being set. Error: %s( t_find_existing_collectionst_tempdirRTRt_build_dependency_maptvaluesRyR RR( t collectionsRRR\t ignore_errorstno_depsR t force_depstexisting_collectionsRntdependency_mapRR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytinstall_collectionss       cC`s?|jd\}}}tj|r+|Std|dS(s Validates the collection name as an input from the user or a requirements file fit the requirements. :param name: The input name with optional range specifier split by ':'. :return: The input value, required for argparse validation. t:sInvalid collection name '%s', name must be in the format .. Please make sure namespace and collection name contains characters from [a-zA-Z0-9_] only.N(t partitionRtis_valid_collection_nameR (RRRt((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytvalidate_collection_names cc`s7tjdttjdd}|Vtj|dS(NtdirRJRK(ttempfiletmkdtempRtCtDEFAULT_LOCAL_TMPR^R_(Rn((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs!cc`s(|j|}||fV|jdS(N(t extractfiletclose(ttarRttar_obj((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRds cc`sd}dtfdY}t}zymtj}||atjd|d||f}t|_|jz dVWdt|_ |j XWnt k rnXWd|aXdS(NcS`s|jdtj}xtrxdD]}|j|ddttjdxctry%|jdtdd\}}}Wnt j k rPqVXt ||}|||qVWt |dtr)|jd dSq)WqWdS( Ns(Starting display_progress display threads|/-\stnewlineg?tblockRtfinishs7Received end signal for display_progress display thread( tdebugt threadingtcurrent_threadRRTRZttimetsleepRtqueuetEmptytgetattr(t display_queuetactual_displaytttctmethodtargstkwargstfunc((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytprogresss       % t DisplayThreadcB`seZdZdZRS(cS`s ||_dS(N(R(R&R((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR+sc`sfd}|S(Nc`sjj||fdS(N(Rtput(RR(tattrR&(s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt call_displays((R&RR((RR&s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyt __getattr__s(RRR+R(((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs ttargetR( tobjectRTRtQueueRtThreadRtdaemontstartRRBRj(RRt old_displayRR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs"          cC`st}t}t}t}t}xp|D]h}|jdtr`|j|dni|d6|d6|d6|jdd}|j|dq4Wtt|t|t|t|}y+t|d} tj | } WdQXWn5t k r2} t dt |t | fnXt| j } |j| } | rt d t |d jt| fn| j|}t|d krtjd t|d j|fnx'|D]}|| krd| |s s"Skipping '%s' for collection buildsLSkipping '%s' as it is a symbolic link to a directory outside the collectionRRRPR*s galaxy.ymlc3`s:|]0\}}| s"|krtj|VqdS(N(tfnmatch(R9t b_patternR'(R(R)(s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pys s RQRR$t hash_funcRS(RURlRVRBR4RRtanyRTRtislinktrealpatht_is_child_pathRtcopyR@RR(Rtb_top_level_dirt b_abs_pathtb_rel_base_dirtrel_patht b_link_targettmanifest_entry(t_walkt b_ignore_dirstb_ignore_filestentry_templateR(R(R)s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR8s@ &!          (R RZRRR%R7tMANIFEST_FORMAT(RpRR((R8R9R:R;Rs=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRws*$0  0 cK`sii|d6|d6|d6|d6|d6|d6|d6|d6|rJ|ndd 6| d 6| d 6| d 6| d 6| d6d6idd6dd6dd6dd6td6d6td6}|S(NRRRFtauthorstreadmettagst descriptionRt license_fileR6t repositoryt documentationthomepagetissuesRs FILES.jsonRQRPRR$RSR%tfile_manifest_file(R7R<(RRRFR=R>R?R@R RAR6RBRCRDRERR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs0   cC`sttj|dtdd}t|dt|dd Checks that path is a path within the parent_path specified. RJRK( RRURVtisabsRkRRBRR(RVt parent_pathRRt b_link_dirR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyR0s $cC`swd}t}|j|}xL|rl|dk rM|j||jn|j||j|}q!W|jS(Ni(RRgR7RtflushRR(t read_fromtwrite_toRt sha256_digestR((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pyRs      (Zt __future__RRRRt __metaclass__RR*ReRRUR^RKtsysRaRRRR t contextlibRtdistutils.versionRRthashlibRtioRt yaml.errorRRt ImportErrorRtansible.constantst constantsRtansible.errorsR tansible.galaxyR tansible.galaxy.apiR R tansible.galaxy.user_agentR tansible.module_utilsRtansible.module_utils._textRRRtansible.utils.collection_loaderRtansible.utils.displayRtansible.utils.hashingRRtansible.module_utils.urlsRtmovesturllibtparseRzterrorR}RTR<RRRRRRRdRRRRRRRR7RmR[RiRhRR0R(((s=/usr/lib/python2.7/site-packages/ansible/galaxy/collection.pytsx               B # $ " : ? P ! 9  + /  ) .