shell bypass 403

GrazzMean Shell

Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.145.45.174
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : dnf.zip
PKʀFZ�g�900history.sqlitenu�[���SQLite format 3@  6C6.,P�������������H��(��GnKSCK>==
������!trans_item;comps_environment_group�
trans�3comps_group_packageM

����������peU59rpmfusion-free-updatesCpackages-microsoft-com-prod
#pgdg-common	pgdg11%epel-modular
+powerdns-rec-47
	!powertools%@commandlineepel	extrasappstream	baseos
@Systemanaconda
-�C���������������������~xrlf`ZTNHB<60*$�� � �e�0�z�C��U��g�4��~��H����Z��#�j�2�}�G��Y�"�jԉ2ӈ}҈Ġ͈Xˇ"ʆlɆ5ȅ~DžGƅ��e��+��t��=����M����]��&.o-7�3��������
�ݜ��	��
n�X�9�
8�LA���������������������|vpjd^XRL:�>1�l.�'�F�s��L�y��%�S�١-ΟZ����6��a����9��bI���%{�Iq�fh�]� T�;A�Q3�d'�w&��;������/��[�Ņ3Ă_�<������%
���
BA��
��Z�
��F�
*)2�


3�@���������������������}wqke_YSMGA;5/)#���������=�;6�o0�,�?&�i"��E�j
��M���/�a�ۘ/՗[����<��e����0��m����O��sH�&��T��~~�+z�Zw�t�5o�bk�i�Ad�p`�[�IY�sV�R�MO�}D�6?�\:�7�:,�a(�"�%�Ed|4����������|��%#����LJ�	�	���~sa��PNL2��1���7<�p�
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�#$!cmake-data3.26.52.el8noarch�3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64�" *+authselect-libs1.2.52.el8_7x86_64
>�2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'B>;-crypto-policies-scripts202307311.git3177e06.el8noarch
;�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR!0+!ca-certificates2021.2.5080.0.el8_4noarch�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch�
��	coreCoreCore
��		
M
��������o\J<-��������x`I:+
�
�
�
�
�
�
{
n
^
P
=
)

�����x`G/������eL3
�
�
�
�
�
�
�
g
P
>
#
M	tbootL	1selinux-policy-mlsK		rdma-coreJ	)	dracut-networkI	7dracut-config-genericH	)	sg3_utils-libsG		sg3_utilsF	'	prefixdevnameE	'	microcode_ctl
D		lsscsiC		lshwB	)	linux-firmwareA		libsysfs@	%	kernel-tools?	-	iwl7260-firmware>	-	iwl6050-firmware=	3	iwl6000g2a-firmware<	-	iwl6000-firmware;	-	iwl5150-firmware:	-	iwl5000-firmware9	-	iwl3160-firmware8	-	iwl2030-firmware7	-	iwl2000-firmware6	+	iwl135-firmware5	+	iwl105-firmware4	-	iwl1000-firmware3	+	iwl100-firmware2	5	dracut-config-rescue1	-	dnf-plugins-core0	#	biosdevname/	!	authselect.	1	NetworkManager-tui-	3	NetworkManager-team
,		yum+		xfsprogs*	#	vim-minimal)	!	util-linux(		tuned'		systemd&		sudo%		sssd-kcm$	#	sssd-common#	%	shadow-utils"		setup!	;	selinux-policy-targeted
 		rpm		rootfiles		procps-ng	+	policycoreutils
		passwd
		parted	)	openssh-server	+	openssh-clients		ncurses
		man-db		less	#	kexec-tools
		kbd	!	irqbalance		iputils		iprutils		iproute	#	initscripts		hostname

		grubby		glibc		firewalld
	!	filesystem			e2fsprogs
		dnf		curl
		cronie		coreutils		bash	!	basesystem		audit	)	NetworkManager
M
��
x
`�
P��
?����
)C
/�{laUG6)�������xbL6����������������k�\ MD'r^

�
�
�
�
�
�
�
�
�
�
	tbootM	1selinux-policy-mlsL	rdma-coreK	)dracut-networkJ	7dracut-config-genericI	)sg3_utils-libsH	sg3_utilsG	'prefixdevnameF	'microcode_ctlE	lsscsiD		lshwC	)linux-firmwareB
	libsysfsA	%kernel-tools@	-iwl7260-firmware?	-iwl6050-firmware>	3iwl6000g2a-firmware=	-iwl6000-firmware<	-iwl5150-firmware;	-iwl5000-firmware:	-iwl3160-firmware9	-iwl2030-firmware8	-iwl2000-firmware7	+iwl135-firmware6	+iwl105-firmware5	-iwl1000-firmware4	+iwl100-firmware3	5dracut-config-rescue2	-dnf-plugins-core1	#biosdevname0	!authselect/	1NetworkManager-tui.	3NetworkManager-team-	yum,
	xfsprogs+	#vim-minimal*	!util-linux)
	tuned(	systemd'		sudo&
	sssd-kcm%	#sssd-common$	%shadow-utils#
	setup"	;selinux-policy-targeted!	rpm 	rootfiles	procps-ng	+policycoreutils	passwd	parted	)openssh-server	+openssh-clients	ncurses	man-db		less	#kexec-tools	kbd	!irqbalance	iputils
	iprutils	iproute	#initscripts
	hostname	grubby
	glibc	firewalld	!filesystem
	e2fsprogs		dnf		curl	cronie	coreutils		bash	!basesystem
	audit	)	NetworkManager
��93++minimal-environmentMinimal InstallMinimal Install
��	
	��
6��
�	��8PI��	���AU/indexsqlite_autoindex_comps_environmen	���{tabletranstransCREATE TABLE trans (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        dt_begin INTEGER NOT NULL,      /* (unix timestamp) date and time of transaction begin */
        dt_end INTEGER,                 /* (unix timestamp) date and time of transaction end */
        rpmdb_version_begin TEXT,
        rpmdb_version_end TEXT,
        releasever TEXT NOT NULL,       /* var: $releasever */
        user_id INTEGER NOT NULL,       /* user ID (UID) */
        cmdline TEXT,                   /* recorded command line (program, options, arguments) */
        state INTEGER NOT NULL          /* (enum) */
    , comment TEXT DEFAULT '')�;--�)tableitem_replaced_byitem_replaced_byCREATE TABLE item_replaced_by (              /* M:N relationship between transaction items */
        trans_item_id INTEGER REFERENCES trans_item(id),
        by_trans_item_id INTEGER REFERENCES trans_item(id),
        PRIMARY KEY (trans_item_id, by_trans_item_id)
    )?S-indexsqlite_autoindex_item_replaced_by_1item_replaced_by	
��^!!�tabletrans_itemtrans_itemCREATE TABLE trans_item (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        trans_id INTEGER REFERENCES trans(id),
        item_id INTEGER REFERENCES item(id),
        repo_id INTEGER REFERENCES repo(id),
        action INTEGER NOT NULL,                                /* (enum) */
        reason INTEGER NOT NULL,                                /* (enum) */
        state INTEGER NOT NULL                                  /* (enum) */
    )�'�1tableitemitemCREATE TABLE item (
        id INTEGER PRIMARY KEY,
        item_type INTEGER NOT NULL              /* (enum) 1: rpm, 2: group, 3: env ...*/
    )�))�?tableconsole_outputconsole_outputCREATE TABLE console_output (
        id INTEGER PRIMARY KEY,
        trans_id INTEGER REFERENCES trans(id),
        file_descriptor INTEGER NOT NULL,       /* stdout: 1, stderr : 2 */
        line TEXT NOT NULL
    )��tablereporepoCREATE TABLE repo (
        id INTEGER PRIMARY KEY,
        repoid TEXT NOT NULL            /* repository ID aka 'repoid' */
    )P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)x
�B��
���g	�	�F���?�B�n�7tableconfigconfigCREATE TABLE config (
        key TEXT PRIMARY KEY,
        value TEXT NOT NULL
    )+?indexsqlite_autoindex_config_1config^1!yindextrans_item_item_idtrans_itemCREATE INDEX trans_item_item_id ON trans_item(item_id)a3!}indextrans_item_trans_idtrans_itemCREATE INDEX trans_item_trans_id ON trans_item(trans_id)9Qindexrpm_namerpmCREATE INDEX rpm_name ON rpm(name)�L;;�/tablecomps_environment_groupcomps_environment_groupCREATE TABLE comps_environment_group (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        environment_id INTEGER NOT NULL,
        groupid TEXT NOT NULL,
        installed INTEGER NOT NULL,
        group_type INTEGER NOT NULL,
        FOREIGN KEY(environment_id) REFERENCES comps_environment(item_id),
        CONSTRAINT comps_environment_group_unique_groupid UNIQUE (environment_id, groupid)
    )Ma;indexsqlite_autoindex_comps_environment_group_1comps_environment_groupAU/indexsqlite_autoindex_comps_environment_1comps_environment�;//�%tablecomps_environmentcomps_environmentCREATE TABLE comps_environment (
        item_id INTEGER UNIQUE NOT NULL,
        environmentid TEXT NOT NULL,
        name TEXT NOT NULL,
        translated_name TEXT NOT NULL,
        pkg_types INTEGER NOT NULL,
        FOREIGN KEY(item_id) REFERENCES item(id)
    )EY3indexsqlite_autoindex_comps_group_package_1comps_group_package�33�Ytablecomps_group_packagecomps_group_packageCREATE TABLE comps_group_package (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        group_id INTEGER NOT NULL,
        name TEXT NOT NULL,
        installed INTEGER NOT NULL,
        pkg_type INTEGER NOT NULL,
        FOREIGN KEY(group_id) REFERENCES comps_group(item_id),
        CONSTRAINT comps_group_package_unique_name UNIQUE (group_id, name)
    )5I#indexsqlite_autoindex_comps_group_1comps_group�###�
tablecomps_groupcomps_groupCREATE TABLE comps_group (
        item_id INTEGER UNIQUE NOT NULL,
        groupid TEXT NOT NULL,
        name TEXT NOT NULL,
        translated_name TEXT NOT NULL,
        pkg_types INTEGER NOT NULL,
        FOREIGN KEY(item_id) REFERENCES item(id)
    )%
9indexsqlite_autoindex_rpm_2rpm%9indexsqlite_autoindex_rpm_1rpm
��#tablerpmrpmCREATE TABLE rpm (
        item_id INTEGER UNIQUE NOT NULL,
        name TEXT NOT NULL,
        epoch INTEGER NOT NULL,                 /* empty epoch is stored as 0 */
        version TEXT NOT NULL,
        release TEXT NOT NULL,
        arch TEXT NOT NULL,
        FOREIGN KEY(item_id) REFERENCES item(id),
        CONSTRAINT rpm_unique_nevra UNIQUE (name, epoch, version, release, arch)
    )3
G!indexsqlite_autoindex_trans_with_1trans_with�	!!�utabletrans_withtrans_with
CREATE TABLE trans_with (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        trans_id INTEGER REFERENCES trans(id),
        item_id INTEGER REFERENCES item(id),
        CONSTRAINT trans_with_unique_trans_item UNIQUE (trans_id, item_id)
    )
���standard	core
���standard		core�;-
i��
L���T
�B
�l��r
�^�
�C
3�WlibICE��}Aplatform-python-setuptools�\
openjadeJ�)libtasn1-devel
P�+perl-Devel-REPL3�69gcc-toolset-13-runtime
l%Aelfutils-debuginfod-client%�%unbound-libs
	�/libkcapi-hmaccalc�
x%perl-B-Debug��+rubygem-openssl
/<3grub2-tools-minimal8$
clang
�
�u1perl-UNIVERSAL-can
��)mariadb-backup�g+perl-Net-LibIDN�E�W�/python3-pyparsing?p!perl-RedisJ�)perl-MCE-tools�0��
�Aperl-ExtUtils-InstallPaths�/9perl-Crypt-Random-Seedt000000ggj4���M-iwl6000-firmware
������c?perl-HTTP-MultiPartParserR
�9perl-Test-CheckChanges�:?�����������vj^RF:2��)���;����o��	�����=��
���q��xu	�fL�SLpJL�5LR4�47��4��������|pdXL@Lu�+�i�U	
������O�6��
^��	�>*�����^�!��	��Ym�?9>+�f
��
version1.2
��
	version
d���wI)���mL-
�
�
�
p
L
)����uM���`7
�
�
�
�
[
/	�	�	�	�	|	Q	%���`7��~^?!����gA����qO/���tS#���o@���wW8����fC&�!dfiptables1.8.420.el8x86_64 c!eipset-libs7.11.el8x86_64bdipset7.11.el8x86_64!aciprutils2.4.191.el8x86_64 `biproute5.12.04.el8x86_64&_#ainitscripts10.00.151.el8x86_64^`info6.56.el8x86_64&]'_ima-evm-utils1.3.212.el8x86_64!\^hwdata0.3148.10.el8noarch[]hostname3.206.el8x86_64Z\hdparm9.544.el8x86_64Y	[hardlink1.36.el8x86_64XZgzip1.912.el8x86_64WYgrubby8.4042.el8x86_640V3	#Xgrub2-tools-minimal2.02106.el8.0.2x86_64.U/	#Wgrub2-tools-extra2.02106.el8.0.2x86_64(T#	#Vgrub2-tools2.02106.el8.0.2x86_64-S-	#Ugrub2-pc-modules2.02106.el8.0.2noarch%R	#Tgrub2-pc2.02106.el8.0.2x86_64)Q%	#Sgrub2-common2.02106.el8.0.2noarch$P!Rgroff-base1.22.318.el8x86_64OQgrep3.16.el8x86_64NPgpgme1.13.19.el8x86_64.M7Ogobject-introspection1.56.11.el8x86_64LNgnutls3.6.164.el8x86_64%K%Mgnupg2-smime2.2.202.el8x86_64JLgnupg22.2.202.el8x86_64I	Kgmp6.1.210.el8x86_64%H%Jglibc-common2.28164.el8x86_64,G3Iglibc-all-langpacks2.28164.el8x86_64FHglibc2.28164.el8x86_64 EGglib22.56.4156.el8x86_64(D%Fgettext-libs0.19.8.117.el8x86_64#CEgettext0.19.8.117.el8x86_64 B	Dgdbm-libs1.181.el8x86_64A	Cgdbm1.181.el8x86_64@Bgawk4.2.12.el8x86_64"?Afuse-libs2.9.712.el8x86_64$>@freetype2.9.14.el8_3.1x86_64,=5?firewalld-filesystem0.9.37.el8noarch!<>firewalld0.9.37.el8noarch";	=findutils4.6.020.el8x86_64 :!<filesystem3.86.el8x86_64!9;file-libs5.3320.el8x86_648:file5.3320.el8x86_6479expat2.2.54.el8x86_6468ethtool5.87.el8x86_64%5'7elfutils-libs0.1851.el8x86_64'4+6elfutils-libelf0.1851.el8x86_6433C5elfutils-default-yama-scope0.1851.el8noarch22A4elfutils-debuginfod-client0.1851.el8x86_64'1)3e2fsprogs-libs1.45.62.el8x86_64"02e2fsprogs1.45.62.el8x86_641/'31dracut-squash049191.git20210920.el8x86_642.)30dracut-network049191.git20210920.el8x86_648-53/dracut-config-rescue049191.git20210920.el8x86_64*,3.dracut049191.git20210920.el8x86_64)+--dnf-plugins-core4.0.213.el8noarch *,dnf-data4.7.04.el8noarch)+dnf4.7.04.el8noarch (	*dmidecode3.210.el8x86_64')diffutils3.66.el8x86_64/&1(device-mapper-libs1.02.17710.el8x86_64*%''device-mapper1.02.17710.el8x86_64$$!	&dbus-tools1.12.814.el8x86_64##	%dbus-libs1.12.814.el8x86_64!"$dbus-glib0.1102.el8x86_64%!#	#dbus-daemon1.12.814.el8x86_64% #	"dbus-common1.12.814.el8noarch	!dbus1.12.814.el8x86_64') cyrus-sasl-lib2.1.275.el8x86_64curl7.61.122.el8x86_64'+cryptsetup-libs2.3.34.el8x86_64=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch&)cronie-anacron1.5.24.el8x86_64cronie1.5.24.el8x86_64')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpio2.1210.el8x86_64(-coreutils-common8.3012.el8x86_64!coreutils8.3012.el8x86_64"chkconfig1.19.11.el8x86_640+!ca-certificates2021.2.5080.0.el8_4noarchc-ares1.13.05.el8x86_64#!bzip2-libs1.0.626.el8x86_64
brotli1.0.63.el8x86_64##biosdevname0.7.32.el8x86_64
bash4.4.202.el8x86_64
!basesystem115.el8noarch'	+authselect-libs1.2.23.el8x86_64"!
authselect1.2.23.el8x86_648!G	audit-libs3.00.17.20191104git1c2f876.el8.1x86_643Gaudit3.00.17.20191104git1c2f876.el8.1x86_64acl2.2.531.el8.1x86_64,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64()	NetworkManager1.32.104.el8x86_64
a����c2��i6
�
�
m
7
���sN+��{H
�
�
�
�
j
L
'
	�	�	�	f	D	#����^9���|N(���vQ.���nL$����[7���d@����]$����iD���E�libss1.45.62.el8x86_64!�D�libsolv0.7.191.el8x86_64'�C%�libsmartcols2.32.128.el8x86_64"�B!�libsigsegv2.115.el8x86_64�A�libsepol2.93.el8x86_64"�@#�libsemanage2.96.el8x86_64'�?-�libselinux-utils2.95.el8x86_64!�>!�libselinux2.95.el8x86_64#�=!�libseccomp2.5.11.el8x86_646�<5)�libreport-filesystem2.9.515.el8.rocky.2x86_64!�;�librepo1.14.02.el8x86_64&�:%�libref_array0.1.539.el8x86_64%�9%�libpwquality1.4.43.el8x86_64 �8�libpsl0.20.26.el8x86_64!�7�libpng1.6.345.el8x86_64$�6#�libpipeline1.5.02.el8x86_64!�5�libpcap1.9.15.el8x86_64'�4'�libpath_utils0.2.139.el8x86_643�3=�libnsl21.2.02.20180605git4a062cf.el8x86_64#�2!�libnl3-cli3.5.01.el8x86_64�1�libnl33.5.01.el8x86_64(�0!�libnghttp21.33.03.el8_3.1x86_64!�/�libnftnl1.1.54.el8x86_64%�.#	�libnfsidmap2.3.346.el8x86_64&�-%�libnfnetlink1.0.113.el8x86_64/�,9�libnetfilter_conntrack1.0.65.el8x86_64�+�libndp1.76.el8x86_64#�*�libmount2.32.128.el8x86_64%�)#�libmodulemd2.13.01.el8x86_64�(�libmnl1.0.46.el8x86_64�'�libldb2.3.02.el8x86_64 �&�libksba1.3.57.el8x86_64*�%/�libkcapi-hmaccalc1.2.02.el8x86_64!�$�libkcapi1.2.02.el8x86_64'�#'�libini_config1.3.139.el8x86_64 �"�libidn22.2.01.el8x86_64"�!!�libibverbs35.01.el8x86_64$� %�libgpg-error1.311.el8x86_64 ��libgomp8.5.03.el8x86_64"��libgcrypt1.8.56.el8x86_64��libgcc8.5.03.el8x86_64��libffi3.122.el8x86_64#��libfdisk2.32.128.el8x86_64+�1�libedit3.123.20170329cvs.el8x86_64 ��libdnf0.63.03.el8x86_64"��libdhash0.5.039.el8x86_64(�#�libdb-utils5.3.2842.el8_4x86_64"��libdb5.3.2842.el8_4x86_64"��libdaemon0.1415.el8x86_64"��libcurl7.61.122.el8x86_64&��libcroco0.6.124.el8_2.1x86_64"��libcomps0.1.162.el8x86_64$�!�libcom_err1.45.62.el8x86_64'�'�libcollection0.7.039.el8x86_64#��libcap-ng0.7.111.el8x86_64��libcap2.265.el8x86_64�
�libbpf0.4.01.el8x86_64#��libblkid2.32.128.el8x86_64)�+�libbasicobjects0.1.139.el8x86_64!�
�libattr2.4.483.el8x86_64"�	�libassuan2.5.13.el8x86_64#�!�libarchive3.3.31.el8x86_64"��libacl2.2.531.el8.1x86_64��less5301.el8x86_64$��krb5-libs1.18.214.el8x86_64 ��kpartx0.8.417.el8x86_64 ��kmod-libs2518.el8x86_64��kmod2518.el8x86_64'�'�keyutils-libs1.5.109.el8x86_64&�#�kexec-tools2.0.2057.el8x86_641/#�kernel-tools-libs4.18.0348.el8.0.2x86_64,~%#�kernel-tools4.18.0348.el8.0.2x86_64-})#kernel-modules4.18.0348.el8.0.2x86_64*|##~kernel-core4.18.0348.el8.0.2x86_64%{#}kernel4.18.0348.el8.0.2x86_64!z|kbd-misc2.0.410.el8noarch#y!{kbd-legacy2.0.410.el8noarchxzkbd2.0.410.el8x86_64wyjson-c0.13.12.el8x86_64vxjansson2.113.el8x86_641u-	!wiwl7260-firmware25.30.13.0103.el8.1noarch0t-viwl6050-firmware41.28.5.1103.el8.1noarch4s3!uiwl6000g2a-firmware18.168.6.1103.el8.1noarch0r-tiwl6000-firmware9.221.4.1103.el8.1noarch/q-siwl5150-firmware8.24.2.2103.el8.1noarch1p-!riwl5000-firmware8.83.5.1_1103.el8.1noarch1o-	!qiwl3160-firmware25.30.13.0103.el8.1noarch1n-!piwl2030-firmware18.168.6.1103.el8.1noarch1m-!oiwl2000-firmware18.168.6.1103.el8.1noarch0l+!niwl135-firmware18.168.6.1103.el8.1noarch0k+!miwl105-firmware18.168.6.1103.el8.1noarch0j-	liwl1000-firmware39.31.5.1103.el8.1noarch/i+kiwl100-firmware39.31.5.1103.el8.1noarch#h!jirqbalance1.4.06.el8x86_64"giiputils201806297.el8x86_64&f'hiptables-libs1.8.420.el8x86_64*e/giptables-ebtables1.8.420.el8x86_64
T����c:���c:
�
�
�
U
&���n@���Z9
�
�
�
f
>
	�	�	�	x	=	���V3����gF"���pF ���yS,���~_@���uR,���h?����fC����'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.13.141.el8x86_64�--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.13.141.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i
U�{R0	���yV/�����tK!���wI
�
�
�
\
0
��zM#���uJ#
�
�
�
o
O
'	�	�	�	�	[	0	��}L$����^6����iC����rM%���b@�����R$�- �bash4.4.202.el8x86_64!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�*%c-ares-devel1.13.011.el8_10x86_64�'%c-ares-devel1.13.010.el8x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64$c-ares1.13.011.el8_10x86_64�!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c,!#bind-utils 9.11.3616.el8_10.2x86_64e*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b.%#bind-license 9.11.3616.el8_10.2noarchd,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`+#bind-libs 9.11.3616.el8_10.2x86_64b)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,-bind-export-libs 9.11.266.el8x86_64beep1.4.129.el8x86_64�bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?
`����b:���xU3
�
�
�
{
X
0
���{X����gH#
�
�
�
�
b
3
	�	�	�	|	R	,	���d9����c?����L���sT+��uL���f>���^.��qH�%�%#'python3-six1.11.08.el8noarch2�$=&python3-setuptools-wheel39.2.06.el8noarch&�##%python3-rpm4.14.319.el8x86_64(�")$python3-pyudev0.21.07.el8noarch3�!/)#python3-pip-wheel9.0.320.el8.rocky.0noarch,� %#"python3-perf4.18.0348.el8.0.2x86_64*�-	!python3-nftables0.9.321.el8x86_64-�5 python3-linux-procfs0.6.31.el8noarch)�1python3-libselinux2.95.el8x86_64.�%)python3-libs3.6.841.el8.rocky.0x86_64(�)python3-libdnf0.63.03.el8x86_64*�-python3-libcomps0.1.162.el8x86_64(�)python3-hawkey0.63.03.el8x86_64%�#python3-gpg1.13.19.el8x86_64.�5python3-gobject-base3.28.32.el8x86_64)�-python3-firewall0.9.37.el8noarch2�=python3-dnf-plugins-core4.0.213.el8noarch$�#python3-dnf4.7.04.el8noarch*�/python3-decorator4.2.12.el8noarch&�%python3-dbus1.2.415.el8x86_64)�-	python3-dateutil2.6.16.el8noarch+�/python3-configobj5.0.611.el8noarch3�;publicsuffix-list-dafsa201807231.el8noarch#�procps-ng3.3.156.el8x86_64&�
'prefixdevname0.1.06.el8x86_64�popt1.181.el8x86_64*�1
polkit-pkla-compat0.112.el8x86_64%�
#polkit-libs0.11512.el8x86_64 �	polkit0.11512.el8x86_64'�+
policycoreutils2.916.el8x86_644�A	platform-python-setuptools39.2.06.el8noarch5�3)platform-python-pip9.0.320.el8.rocky.0noarch1�+)platform-python3.6.841.el8.rocky.0x86_64�pigz2.44.el8x86_64�pcre210.322.el8x86_64�pcre8.426.el8x86_64&�'pciutils-libs3.7.01.el8x86_64!�pciutils3.7.01.el8x86_64�passwd0.803.el8x86_64�~parted3.239.el8x86_64�}�pam1.3.115.el8x86_64(�|'�p11-kit-trust0.23.221.el8x86_64"�{�p11-kit0.23.221.el8x86_64!�z�os-prober1.749.el8x86_64(�y)�openssl-pkcs110.4.102.el8x86_64&�x%	�openssl-libs1.1.1k4.el8x86_64!�w	�openssl1.1.1k4.el8x86_64(�v)�openssh-server8.0p110.el8x86_64)�u+�openssh-clients8.0p110.el8x86_64!�t�openssh8.0p110.el8x86_64#�s�openldap2.4.4618.el8x86_64'�r%�numactl-libs2.0.1213.el8x86_64�q�npth1.54.el8x86_64"�p	�nftables0.9.321.el8x86_64 �o�newt0.52.2011.el8x86_64�n�nettle3.4.17.el8x86_64,�m%)�ncurses-libs6.19.20180224.el8x86_64,�l%)�ncurses-base6.19.20180224.el8noarch'�k)�ncurses6.19.20180224.el8x86_64�j�mpfr3.1.61.el8x86_64!�i�mozjs6060.9.04.el8x86_64*�h'�microcode_ctl202106081.el8x86_64#�g�memstrack0.1.111.el8x86_64"�f�man-db2.7.6.118.el8x86_64�e�lzo2.0814.el8x86_64#�d�lz4-libs1.8.33.el8_4x86_64"�c�lua-libs5.3.412.el8x86_64�b�lsscsi0.323.el8x86_64!�a�lshwB.02.19.26.el8x86_64#�`�lmdb-libs0.9.241.el8x86_648�_)3�linux-firmware20210702103.gitd79c2677.el8noarch �^�libzstd1.4.41.el8x86_64 �]�libyaml0.1.75.el8x86_64!�\�libxml22.9.711.el8x86_64"�[�libxcrypt4.1.16.el8x86_64!�Z�libverto0.3.05.el8x86_64"�Y�libuuid2.32.128.el8x86_64%�X#�libutempter1.1.614.el8x86_64 �W�libuser0.6223.el8x86_64!�V�libusbx1.0.234.el8x86_64%�U%�libunistring0.9.93.el8x86_64!�T�libtirpc1.1.45.el8x86_64#�S�libtevent0.11.00.el8x86_64�R�libteam1.312.el8x86_64�Q�libtdb1.4.31.el8x86_64 �P�libtasn14.133.el8x86_64"�O�libtalloc2.3.21.el8x86_64"�N�libsysfs2.1.024.el8x86_64"�M�libstdc++8.5.03.el8x86_64$�L#�libsss_sudo2.5.22.el8x86_64)�K-�libsss_nss_idmap2.5.22.el8x86_64%�J%�libsss_idmap2.5.22.el8x86_64'�I)�libsss_certmap2.5.22.el8x86_64&�H'�libsss_autofs2.5.22.el8x86_64&�G'�libssh-config0.9.43.el8noarch�F�libssh0.9.43.el8x86_64
?AL���jA����mK)	���kF���e���b<A���]$
�
�
r
3��v8��n!
�
�
A	�	�	q	Q	1	���~����gF'���b,���I
�
P�
.
����i?x&!�#!clamav-lib1.0.71.el8x86_64�*/clamav-filesystem1.0.71.el8noarch�,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2$#clamav-data1.0.71.el8noarch�&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1clamav1.0.71.el8x86_64�!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	Ccmake3.26.52.el8x86_64!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	BE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yM?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarchL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v9Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_648Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�%!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[&!clamav-lib0.103.101.el8x86_64
3)-clamav-freshclam1.0.71.el8x86_64`
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
������&���|eN7 ���������~�.!clamav-lib�/clamav-filesystem�#clamav-data�clamav�-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi
����������qR3�������xm]M=-
�
�
�
�
�
}
o
^
O
>
-

�������ulcZQH;(������jN1
�
�
�
�
�
�

r
g
\
M
>
/
 

	�	�	�	�	�	��	�	�	�	v	_	H	5	!		���������tcUG8)�������r_L9&�����}eM+��������wne\SF8*������~ncWK?3������vgT@1�����	curl�Aelfutils-debuginfod-client
ZAelfutils-debuginfod-client2
elfutils�
elfutils
elfutils$
elfutils
Y
elfutils+efi-srpm-macros�edk2-ovmf&)e2fsprogs-libs
X)e2fsprogs-libs1e2fsprogs
W
e2fsprogs0dwz�'dracut-squash/)dracut-network.5dracut-config-rescue�5dracut-config-rescue5dracut-config-rescue#5dracut-config-rescue
V5dracut-config-rescue-dracut�dracutdracut"dracut
U
dracut,!dosfstools
dnsmasq%-dnf-plugins-core�-dnf-plugins-core-dnf-plugins-core!-dnf-plugins-core	-dnf-plugins-corea-dnf-plugins-core+
dnf-data�
dnf-data
dnf-data 
dnf-data	dnf-data*dnf�dnfdnfdnf	dnf)dmidecode�dmidecodedmidecode
dmidecode
T
dmidecode(
diffutils'dhcp-libs#dhcp-common#dhcp-client
"Gdevice-mapper-persistent-data	!Edevice-mapper-multipath-libs1device-mapper-libs�1device-mapper-libs1device-mapper-libs1device-mapper-libs
S1device-mapper-libs�1device-mapper-libs&=device-mapper-event-libs3device-mapper-event'device-mapper�'device-mapper'device-mapper'device-mapper
R'device-mapper�'device-mapper%9dejavu-sans-mono-fonts/dejavu-sans-fonts�3dejavu-fonts-common�
dconf$!dbus-tools!dbus-tools!dbus-tools
Q!dbus-tools$dbus-libsdbus-libsdbus-libs
P
dbus-libs#
dbus-glib"#dbus-daemon#dbus-daemon#dbus-daemon
O#dbus-daemon!#dbus-common#dbus-common#dbus-common
N#dbus-common 	dbus	dbus	dbus
Mdbus#daxctl-libs�)cyrus-sasl-lib�)cyrus-sasl-lib/cyrus-sasl-gssapi�/cyrus-sasl-gssapi-cyrus-sasl-devel�-cyrus-sasl-develj!cyrus-sasl�!cyrus-sasl	curl�	curl
	curl	curl
Lcurlcups-libs�cups-libs�cups-libscups-libs
cups-libscups-libs
Kcups-libs�
ctags�
ctags	'csnappy�+cryptsetup-libs+cryptsetup-libs+cryptsetup-libs
J+cryptsetup-libs`+cryptsetup-libs!cryptsetup;crypto-policies-scripts
;crypto-policies-scripts;crypto-policies-scripts
I;crypto-policies-scripts+crypto-policies	+crypto-policies+crypto-policies
H+crypto-policiescrontabs)cronie-anacron�)cronie-anacron
G)cronie-anacroncronie�cronie
F
cronie)cracklib-dictscracklibcpp cpp
�cpp�cpp	�cpp�	cpio
Ecpio-coreutils-common-coreutils-common
D-coreutils-commoncoreutilscoreutils
C
coreutils-copy-jdk-configs�#compiler-rt#compiler-rt
�#compiler-rt�#compiler-rt	zcolordiff	l#colord-libs#
collectd�-cmake-rpm-macros-cmake-rpm-macros
�-cmake-rpm-macros�-cmake-rpm-macros	D-cmake-filesystem-cmake-filesystem
�-cmake-filesystem�-cmake-filesystemK!cmake-data!cmake-data
�!cmake-data�!cmake-data	C
cmake
cmake
�
cmake�
cmake	B/clang-tools-extra/clang-tools-extra
�/clang-tools-extra�/clang-tools-extra	y?clang-resource-filesystem?clang-resource-filesystem
�?clang-resource-filesystem�?clang-resource-filesystem	x!clang-libs!clang-libs
�!clang-libs�!clang-libs	w#clang-devel#clang-devel
�#clang-devel�#clang-devel	v
clang
!����������xk^QE9-!�����������ui]QE9-!	
�
�
�
�
�
�
�
�
�
�
�
t
h
\
P
D
8
,


�����������vj^QE9-!	����������sgZM@4(
�
�
�
�
�
�
�
�
�
�
u
h
[
N
A
5
)


	�	�	�	�	�	�	�	�	�	z	l	]	O	A	3	%			���������}oaSE7)
����������seWI;-���������wi[M?1#���������yj\N@2$���������{m^OA3%���������yk]O@1#���������xi[L>/!�				�
			
�						�			�				�			�				�				�				�				�			�			�				��~				��}				��|				��{			��z				��y				��x			��w			��v				��u				��t				��s				��r				��q				��p				��o				��n				��m			��l				��k				��j			��i			��h			��g				��f				��e				��d			��c			��b				��a			��`				��_				��^				��]				��\				��[				��Z				��Y				��X				��W				��V				��U				��T				��S				��R				��Q				��P			��O				��N			��M				��L				��K				��J			��I				��H				��G				��F				��E				��D				��C				��B				��A				��@				��?				��>				��=				��<				��;				��:				��9				��8				��7				��6				��5				��4				��3				��2				��1				��0				��/				��.				��-				��,				��+				��*				��)				��(				��'				��&				��%				��$				��#				��"				��!				�� 				��				��				��				��				��				��				��				��				��				��				��				��				��				��				��				��				��				��				��
				��				��				��
				��					��			��				��			��				��				��				��			��				��			�
				
~				~}			}
|				|
{				{z			z
y				y
x				xw			wv			vu			ut			ts			sr			rq			qp			po			on			nm			ml			lk			kj			ji			i
h				h
g				g
f				f
e				e
d				dc			cb			ba			a
`				`
_				_
^				^]			]\			\[			[
Z				ZY			Y
X				X
W				WV			V
U				UT			T
S				S
R				R
Q				Q
P				P
O				O
N				NM			M
L				L
K				K
J				J
I				I
H				H
G				G
F				F
E				E
D				D
C				C
B				B
A				A
@				@
?				?>			>
=				=<			<
;				;
:				:
9				9
8				8
7				7
6				6
5				54			4
3				32			2
1				1
0				0/			/
.				.-			-
,				,+			+
*				*
)				)
(				(
'				'
&				&
%				%
$				$
#				#
"				"
!				!
 				 			
							
				
				
							
				
				
				
							
				
				
				
				
							
			
			
				
			

									
										
							
										
�����������rdVH:,���������vhZL>0"
�
�
�
�
�
�
�
�
�
u
f
X
I
:
,


���������rdUG8*���������yjZJ:)
�
�
�
�
�
�
�
�
p
_
N
>
/


	�	�	�	�	�	�	�		o	_	O	?	/		��������}m]M=-
��������}m]M=-��������yiXG7'��������qaQA0��������yj[L=.��������xiZJ:*���������vgXI:+
����w			
��v			
��u			
��t			
��s			
��r			
��q			
��p			
��o			
��n			
��m			
��l			
��k			
��j			
��i			
��h			
��g			
��f			
��e			
��d			
��c			
��b			
�
�a		
�
�`		
�
�_		
��^			
��]			
��\			
�
�[		
��Z			
��Y			
��X			
��W			
��V			
��U			
��T			
��S			
��R			
�
�Q			��P			��O			��N			��M			��L			��K			��J			��I			��H			��G			�
�F		��E			��D			��C			��B			��A			��@	R�?	�
�>		J
�=		�
�<		I
�;		�
�:		H
�9		�
�8		G
�7		��6	E�5	��4	D�3	��2	C�1	�
�0		B
�/		�.	8�-	~
�,		7
�+		}�*	5�)	|
�(		4
�'		{
�&		3
�%		z
�$		2
�#		y�"	1�!	x
� 		/
�		w
�		.
�		v
�		-
�		u
�		%
�		t
�		"
�		s
�		
�		r
�		
�		q
�		
�		p
�		�
�		o
�		�
�
		n
�		�
�		m
�
		�
�			l
�		�
�		k
�		�
�		j�	��	i
�		�
�		h
�		�
�		g
�~		�
�}		f
�|		�
�{		e�z	��y	d
�x	-�w	c�v		
�u		b
�t		a�s			`�r			_
�q		^�p			]
�o		\�n	��m	F
�l		[
�k		Z�j	K�i	A�h	?�g	>�f	��e	��d	��c	��b	��a	�
�`		�
�_	1
�^	0�]		�\		
�[	
�Z	�Y				Y�X			X�W				W�V				V�U			U�T				T�S				S�R			R�Q			Q�P				P�O			O�N				N�M			M�L				L�K				K�J				J�I				I�H				H�G				G�F			F�E			E�D			D�C			C�B				B�A				A�@				@�?				?�>				>�=			=�<			<�;				;�:			:�9			9�8			8�7				7�6				6�5			5�4				4�3				3�2				2�1			1�0			0�/				/�.				.�-				-�,				,�+				+�*				*�)				)�(				(�'				'�&				&�%				%�$				$�#				#�"				"�!				!� 				 �				�				�				�				�				�				�				�				�				�				�				�				�				�				�				�			�			�				�
				
�				
^���yU2
���yM'
�
�
�
v
A
����_=���yO*
�
�
�
t
P
+
	�	�	�	j	E	$	���zX8���T)���b:���j:���o8���e@��vF
���a;�'�#!�systemd-pam23951.el8_5.3x86_64(�%!�systemd-libs23951.el8_5.3x86_64#�!�systemd23951.el8_5.3x86_64+�)�sssd-nfs-idmap2.5.22.el8_5.4x86_64%��sssd-kcm2.5.22.el8_5.4x86_64(�~#�sssd-common2.5.22.el8_5.4x86_64(�}#sssd-client2.5.22.el8_5.4x86_646�|;!~selinux-policy-targeted3.14.380.el8_5.2noarch-�{)!}selinux-policy3.14.380.el8_5.2noarch9�zA!|rpm-plugin-systemd-inhibit4.14.319.el8_5.2x86_641�y1!{rpm-plugin-selinux4.14.319.el8_5.2x86_64'�x!zrpm-libs4.14.319.el8_5.2x86_64-�w)!yrpm-build-libs4.14.319.el8_5.2x86_64"�v!xrpm4.14.319.el8_5.2x86_64"�u#wrocky-repos8.53.el8noarch$�t'vrocky-release8.53.el8noarch%�s)urocky-gpg-keys8.53.el8noarch*�r#!tpython3-rpm4.14.319.el8_5.2x86_64/�q%)spython3-perf4.18.0348.12.2.el8_5x86_644�p=rpython3-dnf-plugins-core4.0.214.el8_5noarch)�o#!qpolkit-libs0.11513.el8_5.1x86_64$�n!ppolkit0.11513.el8_5.1x86_64(�m%	oopenssl-libs1.1.1k5.el8_5x86_64#�l	nopenssl1.1.1k5.el8_5x86_64$�kmlibstdc++8.5.04.el8_5x86_64-�j-llibsss_nss_idmap2.5.22.el8_5.4x86_64)�i%klibsss_idmap2.5.22.el8_5.4x86_64+�h)jlibsss_certmap2.5.22.el8_5.4x86_64*�g'ilibsss_autofs2.5.22.el8_5.4x86_64"�fhlibgomp8.5.04.el8_5x86_64!�eglibgcc8.5.04.el8_5x86_64%�d!flibarchive3.3.31.el8_5x86_644�c/)ekernel-tools-libs4.18.0348.12.2.el8_5x86_64/�b%)dkernel-tools4.18.0348.12.2.el8_5x86_64,�a-cdnf-plugins-core4.0.214.el8_5noarch,�`+bcryptsetup-libs2.3.34.el8_5.1x86_64(�_#alibsss_sudo2.5.22.el8_5.4x86_641�^))`kernel-modules4.18.0348.12.2.el8_5x86_64.�]#)_kernel-core4.18.0348.12.2.el8_5x86_64)�\)^kernel4.18.0348.12.2.el8_5x86_64(�[-]xkeyboard-config2.281.el8noarch%�Z%\libxkbcommon0.9.11.el8x86_64�Y[nano2.9.81.el8x86_64�XZrsync3.1.312.el8x86_64�WYzlib1.2.1117.el8x86_64�VXyum4.7.04.el8noarch"�UWxz-libs5.2.43.el8.1x86_64�TVxz5.2.43.el8.1x86_64!�SUxfsprogs5.0.09.el8x86_64�RTwhich2.2116.el8x86_64"�QSvirt-what1.1812.el8x86_64)�P#Rvim-minimal8.0.176316.el8x86_64%�O!Qutil-linux2.32.128.el8x86_64�NPtzdata2021e1.el8noarch�MOtuned2.16.01.el8noarch&�L%Ntrousers-lib0.3.151.el8x86_64"�KMtrousers0.3.151.el8x86_64!�JLtpm2-tss2.3.24.el8x86_64�IKteamd1.312.el8x86_64$�H%Jsystemd-udev23951.el8x86_64#�G#Isystemd-pam23951.el8x86_64$�F%Hsystemd-libs23951.el8x86_64�EGsystemd23951.el8x86_64"�DFsudo1.8.297.el8_4.1x86_64'�C)Esssd-nfs-idmap2.5.22.el8x86_64!�BDsssd-kcm2.5.22.el8x86_64$�A#Csssd-common2.5.22.el8x86_64$�@#Bsssd-client2.5.22.el8x86_64&�?)Asquashfs-tools4.320.el8x86_64&�>#@sqlite-libs3.26.015.el8x86_64�=?snappy1.1.83.el8x86_64�<>slang2.3.23.el8x86_64'�;-=shared-mime-info1.93.el8x86_64%�:%<shadow-utils4.614.el8x86_64&�9);sg3_utils-libs1.445.el8x86_64!�8:sg3_utils1.445.el8x86_64�79setup2.12.26.el8noarch2�6;8selinux-policy-targeted3.14.380.el8noarch)�5)7selinux-policy3.14.380.el8noarch�46sed4.52.el8x86_645�3A5rpm-plugin-systemd-inhibit4.14.319.el8x86_64-�214rpm-plugin-selinux4.14.319.el8x86_64#�13rpm-libs4.14.319.el8x86_64)�0)2rpm-build-libs4.14.319.el8x86_64�/1rpm4.14.319.el8x86_64!�.0rootfiles8.122.el8noarch"�-#/rocky-repos8.51.el8noarch$�,'.rocky-release8.51.el8noarch%�+)-rocky-gpg-keys8.51.el8noarch �*,readline7.010.el8x86_64!�)+rdma-core35.01.el8x86_64-�(1*python3-syspurpose1.28.213.el8x86_64+�'/)python3-slip-dbus0.6.411.el8noarch&�&%(python3-slip0.6.411.el8noarch
\����Z1���wS+
�H�
�
�
v
V(�
1
���X0l���~X-
�
�
�
_
8
	�	�	�	{	V	,	������vH���]-���f6���zU5����nN0����hG$#curl7.61.134.el8_10.2x86_64�&	cups-libs2.2.660.el8_10x86_64�--dnf-plugins-core4.0.2114.1.el8noarch	 dnf-data4.7.04.el8noarch*"dnf-data4.7.020.el8noarch�"dnf-data4.7.019.el8noarch$dnf-data4.7.016.el8_8noarch "dnf-data4.7.011.el8noarch	dnf4.7.04.el8noarch)dnf4.7.020.el8noarch�dnf4.7.019.el8noarchdnf4.7.016.el8_8noarchdnf4.7.011.el8noarch	 	dmidecode3.51.el8x86_64� 	dmidecode3.35.el8x86_64$	dmidecode3.34.el8_8.1x86_64
 	dmidecode3.34.el8x86_64
T 	dmidecode3.210.el8x86_64(diffutils3.66.el8x86_64'$dhcp-libs4.3.645.el8x86_64&#dhcp-common4.3.645.el8noarch&#dhcp-client4.3.645.el8x86_64
6Gdevice-mapper-persistent-data0.9.04.el8x86_64	6Edevice-mapper-multipath-libs0.8.417.el8x86_64/1device-mapper-libs1.02.1819.el8x86_64/1device-mapper-libs1.02.1816.el8x86_64
S01device-mapper-libs1.02.18114.el8x86_64�21device-mapper-libs1.02.18113.el8_9x86_6421device-mapper-libs1.02.17711.el8_5x86_64�/1device-mapper-libs1.02.17710.el8x86_64&6=device-mapper-event-libs1.02.17710.el8x86_6413device-mapper-event1.02.17710.el8x86_64*'device-mapper1.02.1819.el8x86_64*'device-mapper1.02.1816.el8x86_64
R+'device-mapper1.02.18114.el8x86_64�-'device-mapper1.02.18113.el8_9x86_64-'device-mapper1.02.17711.el8_5x86_64�*'device-mapper1.02.17710.el8x86_64%.9dejavu-sans-mono-fonts2.357.el8noarch)/dejavu-sans-fonts2.357.el8noarch�curl7.61.134.el8x86_64�#	cups-libs2.2.657.el8x86_64�##daxctl-libs71.17.el8x86_64�+3dejavu-fonts-common2.357.el8noarch�dconf0.28.04.el8x86_64$%!	dbus-tools1.12.826.el8x86_64)!	!dbus-tools1.12.824.el8_8.1x86_64)!	!dbus-tools1.12.823.el8_7.1x86_64
Q$!	dbus-tools1.12.814.el8x86_64$$	dbus-libs1.12.826.el8x86_64(	!dbus-libs1.12.824.el8_8.1x86_64(	!dbus-libs1.12.823.el8_7.1x86_64
P#	dbus-libs1.12.814.el8x86_64#!dbus-glib0.1102.el8x86_64"&#	dbus-daemon1.12.826.el8x86_64*#	!dbus-daemon1.12.824.el8_8.1x86_64*#	!dbus-daemon1.12.823.el8_7.1x86_64
O%#	dbus-daemon1.12.814.el8x86_64!&#	dbus-common1.12.826.el8noarch*#	!dbus-common1.12.824.el8_8.1noarch*#	!dbus-common1.12.823.el8_7.1noarch
N%#	dbus-common1.12.814.el8noarch 	dbus1.12.826.el8x86_64#	!dbus1.12.824.el8_8.1x86_64#	!dbus1.12.823.el8_7.1x86_64
M	dbus1.12.814.el8x86_64*)cyrus-sasl-lib2.1.276.el8_5x86_64�')cyrus-sasl-lib2.1.275.el8x86_64-/cyrus-sasl-gssapi2.1.276.el8_5x86_64�+/cyrus-sasl-gssapi2.1.275.el8x86_64,-cyrus-sasl-devel2.1.276.el8_5x86_64�*-cyrus-sasl-devel2.1.275.el8x86_64j&!cyrus-sasl2.1.276.el8_5x86_64�$!cyrus-sasl2.1.275.el8x86_64curl7.61.133.el8x86_64
#!curl7.61.130.el8_8.3x86_64#!curl7.61.125.el8_7.3x86_64
Lcurl7.61.122.el8x86_64%	cups-libs2.2.654.el8_9x86_64'	!cups-libs2.2.651.el8_8.2x86_64
'	!cups-libs2.2.651.el8_8.1x86_64#	cups-libs2.2.650.el8x86_64
K#	cups-libs2.2.640.el8x86_64�ctags5.823.el8x86_64�ctags5.822.el8x86_64	'0?csnappy016.20181121git973f62f.el8x86_64�(+cryptsetup-libs2.3.77.el8x86_64(+cryptsetup-libs2.3.75.el8x86_64(+cryptsetup-libs2.3.72.el8x86_64
J,+cryptsetup-libs2.3.34.el8_5.1x86_64`'+cryptsetup-libs2.3.34.el8x86_64'!cryptsetup2.3.34.el8_5.1x86_64
8������������������������~xr�l�f�`�Z�T�NHB�<�60�*�$�
��������������������������|��zsmugnag[`UYORIKC<6D0=*$H
6
�/
�(
�!
�
�
�
�
�
�
�
�
�
�
��
�
�
��
�
��
�
�
}�
w�
q�
k�
e�
_�
Y�
S
L
F
@
:
4�
.
(�
"�
�



�������������������������~wqjd]WPJC=�70*�$������������/�'�������wog_WOG?7/�'���
�
�
�
��
�
�
�
�
�
��
�
�
��
�
�
�
�
w
o�
g_
_�
W�
O�
G
?
7
/
'



�	��	�O	��	�	�	�	��	�	�	�	�	��	�	�w	�	�	o	wg	o_	g	_	W	O	G	?	7	/	'W	O	G		�����������?�7�/�'��wog_WOG?7/'��wog���������������@w8oWg_WO�G?�7/�'���x
Dj
(i
&h
$g
"f
 b
a
`
^
Y
X
W
V
U
T
S
P
N
M
L
G
D�C�B�A�@�;�:�8�7�6�5�4�3�2�/�.�*�&�%�#�"�!�����������
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
~�
v�
p�
l�
h�
f�
b�
`�
^�
\�
X�
T�
N�
LW=O��g����Z�|�{�z�X��K��(�8���
������������
������d���������������n�������������������������
����
��������T���������
G���������������������c���������������b���
������������������������������������
������
����������a�������������������
����������~���������
E���������`���|���z��
a~
`~~}
_}}||{{zzy
yyxxw	�wwv	�vvu	�uut	�tts	�ssr	�rrq	�qqp	�ppo	�oon	�nnm	�mml	�llk	�kkjjiihhggffeeddccbbaa``__^^]]\\[[Z
=ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJ	�JJI	�IIH	�HHGGFFEEDDCCBBAA@@?	�??>	�>>==<<;;::9	�99887766554433221_110^00//..-x--,
{,,+
y++**))(	�(('	�''&&%%$$##""!! 	�  v



	R		P]\[Z		
hg@H������xph`XPH@80( ����������������xph`XPH@80X
�`8P`
�@80( ���@�80�( ���
0
(
 �����������������xp�h`X PH0@P80(H 
�
�@
�
�x
�p
�
�
�h
�
x�����������������xph�`�X�P�H
�	@	P(	`	p	�	����xph`XPH@80( 
�
�
�



	�	�	�	�(	� 	�h
H�`
@�
8
0
(�
 �
X
P
H
��0�p����������
@�
���������
p�
hx
`p
Xh
P`
HX
8P�xH�h@@880(� �
p�(�@
h�
�
`�
�
X�
�
P	�
x 	��	��	��	����	�x	�p	��	x�	h�	X�	H�	8�	0
�	(	 		
�	
�	
���������������h�`�X�P�H@80��( H
����
����
����������
��x
�p
�hx
�==<<;;::998�887�77665�554�443�332�221�1100/�//.�..-�%%$$##"�""!!  
�
�	��
��
V

		WfVbU`��OR�F�D�B@@><8;6:492~0}.��`�_�^�V�	���L�T
��
������N�b
����N�M������������
����
����
������J�����
����f���������������������
I���
��������o�e�����������@�������	�����������������������������������������>>��>g��??��?h��?���?	�������~�}�|�OONNMMLLKjKKJ�JJI�II

�m
�a
�l
�k
�j
�i
�h
|g
t--,,++*	�**))((''&&%�
�b���=��G�GGF	F�FmFFE�EED�DDC�CCB�BBA	A�AiAA@@��	��	�
�	
�S\
���T^w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�gf}e{dycwbuat`s_r^q]p\o[lZkYYXXWWVVUUTTSSR�RRQQPP{
�z
�y
�x
�t
�|
�{
�z
�y
�H�HH
� �N�L���r��X(
>e �^&#!�+ )(H8u"{�z�y�x�t
�Q
��nX
�r
�c
}v&�J|
�w(Y
Sq
Mp
K�P
"o
 Z*n
�P
o
6,n

�	��	��	��	��	�s	�f	�e	�d	��	�
^����cC��d;
�
�
�
d
A
����a7���gE!
�
�
�
V
	�	�	�	X	6	���vT2���wQ'���yW-����fA���rD���lN(	���g;���b7�:�aK�varnish6.0.81.module+el8.5.0+736+fec10e21.1x86_64%�`-�rust-srpm-macros52.el8noarch(�_/�redhat-rpm-config1251.el8noarch-�^+�qt5-srpm-macros5.15.21.el8.0.1noarch(�]1�python3-rpm-macros341.el8noarch(�\1�python-srpm-macros341.el8noarch'�[/�python-rpm-macros341.el8noarch&�Z-�perl-srpm-macros125.el8noarch)�Y5�openblas-srpm-macros22.el8noarch&�X/�ocaml-srpm-macros54.el8noarch$�W)�go-srpm-macros217.el8noarch(�V+�ghc-srpm-macros1.4.27.el8noarch$�U+�efi-srpm-macros33.el8noarch�T�dwz0.1210.el8x86_64#�S�annobin9.721.el8_5.2x86_64�R�pv1.6.67.el8x86_64&�Q%�lksctp-tools1.0.183.el8x86_64&�P#�gdk-pixbuf22.36.125.el8x86_640�O;�fontpackages-filesystem1.4422.el8noarch$�N!�fontconfig2.13.14.el8x86_64)�M/�dejavu-sans-fonts2.357.el8noarch+�L3�dejavu-fonts-common2.357.el8noarch#�K	�cups-libs2.2.640.el8x86_64"�J!�avahi-libs0.720.el8x86_64,�I5�xorg-x11-fonts-Type17.519.el8noarch+�H3	�xorg-x11-font-utils7.541.el8x86_64$�G#�tzdata-java2021e1.el8noarch"�F�ttmkfdir3.0.954.el8x86_64 �E�pixman0.38.41.el8x86_64�D�pango1.42.48.el8x86_64$�C�nss-util3.67.07.el8_5x86_64'�B#�nss-sysinit3.67.07.el8_5x86_64.�A1�nss-softokn-freebl3.67.07.el8_5x86_64'�@#�nss-softokn3.67.07.el8_5x86_64�?�nss3.67.07.el8_5x86_64 �>�nspr4.32.01.el8_4x86_64�=�lua5.3.412.el8x86_64 �<�libxcb1.13.11.el8x86_64!�;�libtiff4.0.920.el8x86_64!�:�libthai0.1.272.el8x86_64'�9'�libjpeg-turbo1.5.312.el8x86_64#�8!�libfontenc1.1.38.el8x86_64"�7�libdatrie0.2.97.el8x86_64 �6�libXtst1.2.37.el8x86_64$�5!�libXrender0.9.107.el8x86_64"�4�libXrandr1.5.21.el8x86_64$�3#�libXinerama1.1.41.el8x86_64�2�libXi1.7.101.el8x86_64�1�libXft2.3.31.el8x86_64"�0�libXfixes5.0.37.el8x86_64 �/�libXext1.3.41.el8x86_64$�.!�libXdamage1.1.414.el8x86_64$�-!�libXcursor1.1.153.el8x86_64'�,'�libXcomposite0.4.414.el8x86_64�+�libXau1.0.93.el8x86_64&�*'�libX11-common1.6.85.el8noarch�)�libX111.6.85.el8x86_64$�(%�jbigkit-libs2.114.el8x86_64H�';G�javapackages-filesystem5.3.02.module+el8.3.0+125+5da1ae29noarch>�&C	'�java-1.8.0-openjdk-headless1.8.0.322.b062.el8_5x86_64;�%=	'�java-1.8.0-openjdk-devel1.8.0.322.b062.el8_5x86_645�$1	'�java-1.8.0-openjdk1.8.0.322.b062.el8_5x86_64%�##�jasper-libs2.0.145.el8x86_64*�"1�hicolor-icon-theme0.172.el8noarch!�!�harfbuzz1.7.53.el8x86_64� �gtk22.24.325.el8x86_640�7�gtk-update-icon-cache3.22.308.el8x86_64$��graphite21.3.1010.el8x86_64��giflib5.1.43.el8x86_64.�3�gdk-pixbuf2-modules2.36.125.el8x86_64 ��fribidi1.0.48.el8x86_64'�-�copy-jdk-configs4.02.el8noarch ��cairo1.15.123.el8x86_64��atk2.28.11.el8x86_64!��alsa-lib1.2.54.el8x86_64"�%�epel-release813.el8noarch+�1�pkgconf-pkg-config1.4.21.el8x86_64#�!�pkgconf-m41.4.21.el8noarch ��pkgconf1.4.21.el8x86_64(�+�libxcrypt-devel4.1.16.el8x86_64#�!�libpkgconf1.4.21.el8x86_641�))�kernel-headers4.18.0348.12.2.el8_5x86_64'�'�glibc-headers2.28164.el8x86_64%�#�glibc-devel2.28164.el8x86_64&�
#�binutils2.30108.el8_5.1x86_64A�+G�rust-std-static1.54.03.module+el8.5.0+712+d335422ax86_646�G�rust1.54.03.module+el8.5.0+712+d335422ax86_64;�
G�llvm-libs12.0.12.module+el8.5.0+692+8756646fx86_64!�	�libmpc1.1.09.1.el8x86_64��isl0.16.16.el8x86_64��gcc8.5.04.el8_5x86_64��cpp8.5.04.el8_5x86_64-�#!�vim-minimal8.0.176316.el8_5.4x86_64(�%!�systemd-udev23951.el8_5.3x86_64
7��h"��P

�
~
8��f ��N
�
|
6	�	�	d	��L�z4��b��0���wA��N��<��D7	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD6	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD5	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD4	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryA3	�dracut: Turning off host-only mode: '/dev' is not mounted!A2	�dracut: Turning off host-only mode: '/run' is not mounted!B1	�dracut: Turning off host-only mode: '/proc' is not mounted!A0	�dracut: Turning off host-only mode: '/sys' is not mounted!4/	igrep: /proc/cpuinfo: No such file or directory4.	igrep: /proc/cpuinfo: No such file or directory4-	igrep: /proc/cpuinfo: No such file or directory4,	igrep: /proc/cpuinfo: No such file or directoryn+	�[dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.d*	�Glibkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryD)	�dracut: No '/dev/log' or 'logger' included for syslog logginge(	�I/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directory^'	�;grub2-editenv: error: cannot open `/boot/grub2/grubenv.new': No such file or directory.D&	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD%	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD$	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD#	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD"	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD!	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD 	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD
	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD
	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD		�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�/bin/sed: can't read /proc/cpuinfo: No such file or directory]	�9warning: file /etc/dnf/protected.d/sudo.conf: remove failed: No such file or directory7		qRunning in chroot, ignoring request: daemon-reload
8}�t.��\
�
�
D��r,�x2
�
�
`
	�	�	H	�v0��^��5��#��Q�9��g!��O	�}Do	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDn	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDm	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDl	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDk	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDj	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDi	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDh	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDg	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDf	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDe	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDd	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDc	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDb	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDa	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD`	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD_	�u/bin/sed: can't read /proc/cpuinfo: No such file or directory]^	�9Qwarning: file /etc/dnf/protected.d/sudo.conf: remove failed: No such file or directory,]	YLFailed to connect to bus: Host is downU\	�)LSystem has not been booted with systemd as init system (PID 1). Can't operate.,[	YLFailed to connect to bus: Host is downUZ	�)LSystem has not been booted with systemd as init system (PID 1). Can't operate.DY	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDX	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDW	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDV	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDU	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDT	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDS	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDR	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDQ	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDP	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDO	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDN	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDM	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDL	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDK	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDJ	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDI	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDH	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDG	�dracut: No '/dev/log' or 'logger' included for syslog logginglF	�W/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryDE	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDD	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDC	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDB	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryDA	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD@	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD?	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD>	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD=	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD<	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD;	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD:	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD9	�/bin/sed: can't read /proc/cpuinfo: No such file or directoryD8	�/bin/sed: can't read /proc/cpuinfo: No such file or directory
wP���M 
�
�
�
�
X�
�
	�	�e
`	v	D	'	���Z5��C
>�h4
����R�����p�sH��J��i�Cg@�t��}P#Q������W�9
�
�"�#(+elfutils-libelf0.1893.el8x86_64 3Aelfutils-debuginfod-client0.1893.el8x86_64!elfutils0.1893.el8x86_64953dracut-config-rescue049228.git20230802.el8x86_64+3dracut049228.git20230802.el8x86_64+-dnf-plugins-core4.0.2123.el8noarch ethtool5.132.el8x86_64
a&'elfutils-libs0.1893.el8x86_64"&'elfutils-libs0.1883.el8x86_64+&'elfutils-libs0.1874.el8x86_64
`+-dnf-plugins-core4.0.2125.el8noarch�')elfutils-devel0.1893.el8x86_644Celfutils-default-yama-scope0.1893.el8noarch9Melfutils-debuginfod-client-devel0.1893.el8x86_64"%epel-release813.el8noarch�--	!emacs-filesystem26.110.el8_8.2noarch,.7elfutils-libelf-devel0.1893.el8x86_64!"%epel-release821.el8noarch��"%epel-release814.el8noarch�)-	emacs-filesystem26.111.el8noarch#%'elfutils-libs0.1851.el8x86_645.7elfutils-libelf-devel0.1883.el8x86_64*.7elfutils-libelf-devel0.1874.el8x86_64
_.7elfutils-libelf-devel0.1851.el8x86_64�(+elfutils-libelf0.1883.el8x86_64)(+elfutils-libelf0.1874.el8x86_64
^'+elfutils-libelf0.1851.el8x86_644')elfutils-devel0.1883.el8x86_64(')elfutils-devel0.1874.el8x86_64
]')elfutils-devel0.1851.el8x86_64�4Celfutils-default-yama-scope0.1883.el8noarch'4Celfutils-default-yama-scope0.1874.el8noarch
\3Celfutils-default-yama-scope0.1851.el8noarch39Melfutils-debuginfod-client-devel0.1883.el8x86_64&9Melfutils-debuginfod-client-devel0.1874.el8x86_64
[9Melfutils-debuginfod-client-devel0.1851.el8x86_64�3Aelfutils-debuginfod-client0.1883.el8x86_64%3Aelfutils-debuginfod-client0.1874.el8x86_64
Z2Aelfutils-debuginfod-client0.1851.el8x86_642!elfutils0.1883.el8x86_64$!elfutils0.1874.el8x86_64
Y!elfutils0.1851.el8x86_64$+efi-srpm-macros33.el8noarch�4;edk2-ovmf20210527gite1999b264f1f3.el8noarch&()e2fsprogs-libs1.45.65.el8x86_64
X')e2fsprogs-libs1.45.62.el8x86_641#e2fsprogs1.45.65.el8x86_64
W"e2fsprogs1.45.62.el8x86_640dwz0.1210.el8x86_64�1'3dracut-squash049191.git20210920.el8x86_64/2)3dracut-network049191.git20210920.el8x86_64.953dracut-config-rescue049223.git20230119.el8x86_64#;57dracut-config-rescue049218.git20221019.el8_7x86_64
V853dracut-config-rescue049191.git20210920.el8x86_64-+3dracut049223.git20230119.el8x86_64"-7dracut049218.git20221019.el8_7x86_64
U*3dracut049191.git20210920.el8x86_64,!!dosfstools4.16.el8x86_64
 dnsmasq2.7919.el8x86_64%,-dnf-plugins-core4.0.214.el8_5noarcha)-dnf-plugins-core4.0.213.el8noarch+
�}&'elfutils-libs0.1902.el8x86_64�.7elfutils-libelf-devel0.1902.el8x86_64�(+elfutils-libelf0.1902.el8x86_64�')elfutils-devel0.1902.el8x86_64�4Celfutils-default-yama-scope0.1902.el8noarch�9Melfutils-debuginfod-client-devel0.1902.el8x86_64�3Aelfutils-debuginfod-client0.1902.el8x86_64�!elfutils0.1902.el8x86_64�953dracut-config-rescue049233.git20240115.el8x86_64�+3dracut049233.git20240115.el8x86_64��ethtool5.87.el8x86_646"%epel-release819.el8noarch�"%epel-release818.el8noarch&"%epel-release815.el8noarch�,3environment-modules4.5.24.el8x86_64$,3environment-modules4.5.23.el8x86_64-,3environment-modules4.5.22.el8x86_64	�,-	emacs-filesystem26.17.el8_7.1noarchc(-	emacs-filesystem26.17.el8noarch�
_��y>tx��Cy
J���p���wW2
����eD"
�S
�>
�
a
<
���oO1�����]4�
�
�
�
k
I1
*
	�	�	�	�	h	D	!����U0�W)���d��>����}*%#glibc-common2.28236.el8_9.7x86_64,%git-core2.43.51.el8_10x86_640 git2.43.51.el8_10x86_64/13gdk-pixbuf2-modules2.36.126.el8_10x86_64.:Igcc-toolset-13-libstdc++-devel13.2.16.2.el8x86_64-29gcc-toolset-13-gcc-c++13.2.16.2.el8x86_64,.1gcc-toolset-13-gcc13.2.16.2.el8x86_64+5Egcc-toolset-13-binutils-gold2.4021.el8x86_64*0;gcc-toolset-13-binutils2.4021.el8x86_64)=I!gcc-toolset-12-libstdc++-devel12.2.17.6.el8_10x86_64()%git-core-doc2.43.51.el8_10noarch1:Igcc-toolset-13-libstdc++-devel13.1.14.3.el8x86_64
k29gcc-toolset-13-gcc-c++13.1.14.3.el8x86_64
j.1gcc-toolset-13-gcc13.1.14.3.el8x86_64
i5Egcc-toolset-13-binutils-gold2.4014.el8x86_64
h0;gcc-toolset-13-binutils2.4014.el8x86_64
g.9gcc-toolset-12-runtime12.06.el8x86_64�.9gcc-toolset-12-runtime12.05.el8x86_64	�:Igcc-toolset-12-libstdc++-devel12.2.17.4.el8x86_64�<Igcc-toolset-12-libstdc++-devel12.1.13.4.el8_7x86_64	23%glibc-all-langpacks2.28251.el8_10.2x86_64�$%glibc2.28251.el8_10.2x86_64�"%glibc2.28251.el8_10.2i686�!glib22.56.4164.el8x86_64�)#gdk-pixbuf22.36.126.el8_10x86_64�+%%glibc-common2.28236.el8_9.12x86_64�*%#glibc-common2.28225.el8_8.6x86_64
&%glibc-common2.28225.el8x86_64623%glibc-all-langpacks2.28251.el8_10.4x86_64�$%glibc2.28251.el8_10.4x86_64�"%glibc2.28251.el8_10.4i686�=I!gcc-toolset-12-libstdc++-devel12.2.17.8.el8_10x86_64h59!gcc-toolset-12-gcc-c++12.2.17.8.el8_10x86_64g&%glibc-common2.28211.el8x86_64	7*%#glibc-common2.28164.el8_5.3x86_64�%%glibc-common2.28164.el8x86_64H13#glibc-all-langpacks2.28236.el8_9.7x86_64+23%glibc-all-langpacks2.28236.el8_9.12x86_64�13#glibc-all-langpacks2.28225.el8_8.6x86_64
-3glibc-all-langpacks2.28225.el8x86_645-3glibc-all-langpacks2.28211.el8x86_64	613#glibc-all-langpacks2.28164.el8_5.3x86_64�,3glibc-all-langpacks2.28164.el8x86_64G##glibc2.28236.el8_9.7x86_64*!#glibc2.28236.el8_9.7i686)$%glibc2.28236.el8_9.12x86_64�"%glibc2.28236.el8_9.12i686�##glibc2.28225.el8_8.6x86_64
!#glibc2.28225.el8_8.6i686
glibc2.28225.el8x86_644glibc2.28225.el8i6863glibc2.28211.el8x86_64	5glibc2.28211.el8i686	1##glibc2.28164.el8_5.3x86_64�glibc2.28164.el8x86_64F!glib22.56.4161.el8x86_642%#glib22.56.4158.el8_6.1x86_64
o glib22.56.4156.el8x86_64E++glib-networking2.56.11.1.el8x86_64,#+gl-manpages1.115.20161227.el8noarchl(%git-core-doc2.39.31.el8_8noarch�(%git-core-doc2.31.13.el8_7noarch	�&%git-core-doc2.27.01.el8noarch�$git-core2.39.31.el8_8x86_64�$git-core2.31.13.el8_7x86_64	�"git-core2.27.01.el8x86_64�git2.39.31.el8_8x86_64�git2.31.13.el8_7x86_64	�git2.27.01.el8x86_64�giflib5.1.43.el8x86_64�(+ghc-srpm-macros1.4.27.el8noarch�(%gettext-libs0.19.8.117.el8x86_64D#gettext0.19.8.117.el8x86_64C,-geolite2-country201806051.el8noarch.)'geolite2-city201806051.el8noarch-$#geoipupdate2.5.03.el8x86_64
�$#geoipupdate2.5.02.el8x86_64l&#genisoimage1.1.1139.el8x86_64,.3gdk-pixbuf2-modules2.36.125.el8x86_64�&#gdk-pixbuf22.36.125.el8x86_64�gdisk1.0.36.el8x86_64!	gdbm-libs1.182.el8x86_64
n 	gdbm-libs1.181.el8x86_64B"!	gdbm-devel1.182.el8x86_64
m"!	gdbm-devel1.181.el8x86_64�	gdbm1.182.el8x86_64
l	gdbm1.181.el8x86_64A(%!gdb-headless8.220.el8.0.1x86_64
�$%gdb-headless8.219.el8x86_64	�$%gdb-headless8.216.el8x86_64+!gdb8.220.el8.0.1x86_64
�gdb8.219.el8x86_64�!gd-devel2.2.57.el8x86_64	Wgd2.2.57.el8x86_64�.9gcc-toolset-13-runtime13.02.el8x86_64
l
���������������������}wqke_YSMGA;5/)#����������������������{uoic]WQKE?93-'!	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

y
s
m
g
a
[
U
O
I
C
=
7
1
+
%




����������������}ume]UME=5-%
����������������}ume]UME=5-%

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
}
u
m
e
]
U
M
E
=
5
-
%



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	}	u	m	e	]	U	M	E	=	5	-	%			
	����������������}ume]UME=5-%
����������������}ume]UME=5-%
����������������}ume]UME=5-%
����������������}ume]UME=5-%
����������������}ume]UME=5-%
����������������}um���~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
		
�e@����������������xph`XPH@80( ����������������xph	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@����������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



��������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
����������yj[L=.��������yj[L=.
�
�
�
�
�
�
�
�
w
g
X
I
:
+


���������teVG8)���������ufWH9*
�
�
�
�
�
�
�
�
�
r
c
S
C
3
$

	�	�	�	�	�	�	�	�	}	m	^	O	@	1	!		��������zj[L=.��������xiZK<-��������yj[L=.��������wgXI9)
��������}n^O?0 ��������whYI:+
���������teVG8(���d			.��c			.�
�b		-�
�a		,�
�`		+��_			+��^			+��]			+��\			+��[			+��Z			+��Y			+�
�X		*�
�W		)�
�V		(��U			'��T			'��S			'��R			'��Q			'��P			'��O			'��N			'�
�M		'��L			'��K			'��J			'��I			'��H			'��G			'��F			'�
�E		&�
�D		%��C			%��B			%�
�A		$�
�@		#�
�?		"��>			!�
�=		!��<			!�
�;		!��:			!
�9		!~�8			 }
�7		 |�6			{
�5		z
�4		y
�3		x�2			w
�1		v�0			u
�/		t
�.		s
�-		r�,			q�+			p
�*		o
�)		n
�(		m�'			l
�&		k�%			j�$			i�#			h�"			g�!			f� 			e�			d�			c�			b�			a�			`�			_�			^�			]�			\�			[�			Z�			Y�			X�			W�			V�			U�			T�			S�
			R�			Q�			P�
			O�				N�			M�			L�			K�			J�			I�			H�			G�			F�			E
�		D�~			C
�}		B�|			A�{			@�z			?�y			>�x			=
�w		<
�v		;�u			:�t			9�s			8�r			7�q			6�p			5�o			4
�n		3�m			2�l			1
�k		0�j			/�i			.�h			-�g			,
�f		+�e			*�d			)�c			(�b			'�a			&�`			%�_			$
�^		#�]			"�\			!
�[		 �Z			
�Y		
�X		
�W		�V			
�U		�T	
�S		�R			�Q			�P			�O			�N			�M			�L			�K			�J			�I			�H			�G			�F			
�E			�D			�C			
�B				�A			�@			�?			�>			�=			�<			�;			�:			�9			�8			��7			��6			��5			��4			��3			��2			��1			��0			��/			��.			��-			�
�,		�
�+		�
�*		��)			��(			��'			��&			��%			��$			�
�#		��"			
�
�!		
�
� 		
��			��			��			�
�		��			��			��			��			��			��			��			��			��			��			��			��			��			��			�
�
		��			
��			
��
			
��				
��			
��			
��			
��			
��			
��			
��			
��			
��			
��			
��~			
��}			
��|			
��{			
��z			
��y			
��x			
�
���������������������������zupkfa\WRMHC>94/*% ��������������������������{vqlgb]XSNID?:50+&!

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
t
n
h
b
\
V
P
J
D
>
8
2
,
&
 




���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
t
n
h
b
\
V
P
J
D
>
8
2
,
&
 




	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	~	x	r	l	f	`	Z	T	N	H	B	<	6	0	*	$						���������������������|vpjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%	������������������}vohaZSLE>70)"
�������������������zsle^WPIB;4-&
��������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[Z	Y	X	W	V	U	T	S	R	Q	P	O	N	M	L	K	J	I	H	G	F	E	D	C	B	A	@	?	>	=	<	;	:	9	8	7	6	5	4	3	2	1	0	/	.	-	,	+	*	)	(	'	&	%	$	#	"	!	 																			
			
												�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�		~	}	|	{	z	y	x	w	v	u	t	s	r	q	p	o	n	m	l	k	j	i	h	g	f	e	d	c	b	a	`	_	^	]	\	[	Z	Y	X	W	V	U	T	S	R	Q	P	O	N	M	L	K	J	I	H	G	F	E	D	C	B	A	@	?	>	=	<	;	:	9	8	7	6	5	4	3	2	1	0	/	.	-	,	+	*	)	(	'	&	%	$	#	"	!	 																			
			
											
������������������{tmf_XQJC<5.' ������������������xqjc	�	�	�	�	�	�	�	�	�	�	�	�	�	~	w	p	i	b	[	T	M	F	?	8	1	*	#					������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%	������������������}vohaZSLE>70)"
����������������������������yrkd]VOHA:3,%	������������������}vohaZSLE>70)"

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
s
l
e
^
W
P
I
B
;
4
-
&





	�	�	�	�	����\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



��������+�+�+�+�+�+�*�)�(�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�&�%�%�%�$�#�"�!�!�!�!�!�!� � ��������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#
"
!
 





	









�
�
�
�LMLLLKLJLIKHKGJFJEJDJCJBJAJ@J?J>J=J<J;J:J9J8J7J6J5J4J3J2J1J0J/J.J-J,J+J*J)J(J'J&J%J$J#J"J!I HHHHHHHHHGFEDDCBAAA
AAA
A	AA@?>=<;;:�9�8�7�6�5�4�3�2�1�0�0�0�0�/�/�/�/�/�/�/�/�/�.�.�.�.�.�.�-�,�+�+�sLQ
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�	��������������LPLOLN
�����nH"������wcO�;&�������~kXE~/�����~lZH=<�����s���xbbYOE;X-I����:�����+ihN4O
�
�
�
�
��
��
�
r
d
P
<
/
"


�����������reXK>*�����hF$
�
��
�
�
��
d
@
x
	�	�	�	�	f	N	6	���O>,�������}l[D-������ubO<)�������teYMB6%��#Igcc-toolset-13-libstdc++-devel-�X%epel-release�5firewalld-filesystem�firewalld�#Igcc-toolset-12-libstdc++-develh9gcc-toolset-12-gcc-c++g1gcc-toolset-12-gccf%freetds-libsR'freetds-develQfreetdsPfuse-libs�5firewalld-filesystem�firewalld�findutils�file-libs�	file�#expat-devel�
expat�'elfutils-libs�7elfutils-libelf-devel�+elfutils-libelf�)elfutils-devel� Celfutils-default-yama-scope�%Melfutils-debuginfod-client-devel�Aelfutils-debuginfod-client�ethtool6%epel-release�%epel-release&%epel-release�%epel-release�%epel-release�3environment-modules$3environment-modules-3environment-modules	�-emacs-filesystem#-emacs-filesystem,-emacs-filesystemc-emacs-filesystem�'elfutils-libs"'elfutils-libs+'elfutils-libs
`'elfutils-libs57elfutils-libelf-devel!7elfutils-libelf-devel*7elfutils-libelf-devel
_7elfutils-libelf-devel�+elfutils-libelf +elfutils-libelf)+elfutils-libelf
^+elfutils-libelf4)elfutils-devel)elfutils-devel()elfutils-devel
])elfutils-devel� Celfutils-default-yama-scope Celfutils-default-yama-scope' Celfutils-default-yama-scope
\Celfutils-default-yama-scope3%Melfutils-debuginfod-client-devel%Melfutils-debuginfod-client-devel&%Melfutils-debuginfod-client-devel
[%Melfutils-debuginfod-client-devel�Aelfutils-debuginfod-client#Igcc-toolset-13-libstdc++-devel
k9gcc-toolset-13-gcc-c++,9gcc-toolset-13-gcc-c++
j1gcc-toolset-13-gcc+1gcc-toolset-13-gcc
i!Egcc-toolset-13-binutils-gold*!Egcc-toolset-13-binutils-gold
h;gcc-toolset-13-binutils);gcc-toolset-13-binutils
g9gcc-toolset-12-runtime�9gcc-toolset-12-runtime	�#Igcc-toolset-12-libstdc++-devel(#Igcc-toolset-12-libstdc++-devel�#Igcc-toolset-12-libstdc++-devel	9gcc-toolset-12-gcc-c++'9gcc-toolset-12-gcc-c++�9gcc-toolset-12-gcc-c++	~1gcc-toolset-12-gcc&1gcc-toolset-12-gcc�1gcc-toolset-12-gcc	}!Egcc-toolset-12-binutils-gold�!Egcc-toolset-12-binutils-gold	|;gcc-toolset-12-binutils�;gcc-toolset-12-binutils	{1gcc-plugin-annobin%1gcc-plugin-annobin
�1gcc-plugin-annobin�1gcc-plugin-annobin	�)gcc-gdb-plugin$)gcc-gdb-plugin
�)gcc-gdb-plugin�gcc-c++#gcc-c++
�gcc-c++�gcc-c++	�gcc-c++*gcc"gcc
�gcc�gcc	�gcc�gc)	gawk
kgawk@fuse-libs(fuse-libs
j
fuse-libs?#fuse-common	fuseftp
d
fstrm	[fribidi	�fribidi�)freetype-devel
i)freetype-devel�
freetype
hfreetype>%freetds-libs_'freetds-devel^freetds]
freeglut!
freeglut(;fontpackages-filesystem�-fontconfig-devel�!fontconfig�	flex	V5firewalld-filesystem
E5firewalld-filesystem
g5firewalld-filesystem�5firewalld-filesystem=firewalld
Dfirewalld
ffirewalld�
firewalld<fio�findutils'findutils

findutils;!filesystem:file-libs&file-libs1file-libs
e
file-libs9	file%	file0	file
dfile8-fftw-libs-double'#expat-devel/#expat-devel
c#expat-devel�#expat-devel�
expat.
expat
b
expat�	expat7ethtool
a
Y����^���g?
�
�
�
T
��~X-���a8

�
�
�
d
;
	�	�	�	W	/	��|G���f;���rP)
���|W,����W/���d<
��]-���h=��'�:!<perl-devel5.26.3420.el8x86_64*�9+;perl-Time-HiRes1.97582.el8x86_64)�8/	:perl-Test-Harness3.421.el8noarch(�7%	9perl-JSON-PP2.97.0013.el8noarch-�67	8perl-ExtUtils-ParseXS3.352.el8noarch0�597perl-ExtUtils-Manifest1.70395.el8noarch/�4;	6perl-ExtUtils-MakeMaker7.341.el8noarch-�375perl-ExtUtils-Install2.144.el8noarch-�27	4perl-ExtUtils-Command7.341.el8noarchC�11I3perl-Encode-Locale1.0510.module+el8.4.0+529+e3b3e624noarch.�032perl-CPAN-Meta-YAML0.018397.el8noarch6�/C1perl-CPAN-Meta-Requirements2.140396.el8noarch,�.)0perl-CPAN-Meta2.150010396.el8noarch%�-!/zlib-devel1.2.1117.el8x86_64$�,#.pcre2-utf3210.322.el8x86_64$�+#-pcre2-utf1610.322.el8x86_64$�*#,pcre2-devel10.322.el8x86_64)�)'	+openssl-devel1.1.1k5.el8_5x86_64'�()*libverto-devel0.3.05.el8x86_64%�'))libsepol-devel2.93.el8x86_64'�&-(libselinux-devel2.95.el8x86_64#�%'libkadm51.18.214.el8x86_64*�$-&libcom_err-devel1.45.62.el8x86_64%�#!%krb5-devel1.18.214.el8x86_64-�"3$keyutils-libs-devel1.5.109.el8x86_64(�!##libdb-devel5.3.2842.el8_4x86_64"� !"pcre-utf328.426.el8x86_64"�!!pcre-utf168.426.el8x86_64"�! pcre-devel8.426.el8x86_64 �pcre-cpp8.426.el8x86_64�	make4.2.110.el8x86_64�tar1.305.el8x86_64$�#libmetalink0.1.37.el8x86_64�wget1.19.510.el8x86_64!�sqlite3.26.015.el8x86_64+�3perl-threads-shared1.582.el8x86_64$�%	perl-threads2.212.el8x86_64&�)perl-podlators4.111.el8noarch$�#	perl-parent0.2371.el8noarch(�#perl-macros5.26.3420.el8x86_64&�perl-libs5.26.3420.el8x86_64-�-perl-interpreter5.26.3420.el8x86_64'�'perl-constant1.33396.el8noarch0�9perl-Unicode-Normalize1.25396.el8x86_64(�+	perl-Time-Local1.2801.el8noarch2�
3perl-Text-Tabs+Wrap2013.0523395.el8noarch.�5perl-Text-ParseWords3.30395.el8noarch'�'
perl-Term-Cap1.17395.el8noarch-�
3perl-Term-ANSIColor4.06396.el8noarch%�	'	perl-Storable3.113.el8x86_64%�#
perl-Socket2.0273.el8x86_64/�9	perl-Scalar-List-Utils1.492.el8x86_64)�)perl-Pod-Usage1.69395.el8noarch)�+	perl-Pod-Simple3.35395.el8noarch*�-perl-Pod-Perldoc3.28396.el8noarch*�-	perl-Pod-Escapes1.07395.el8noarch&�)perl-PathTools3.741.el8x86_64*�-perl-MIME-Base643.15396.el8x86_64!�perl-IO1.38420.el8x86_64'�)perl-HTTP-Tiny0.0741.el8noarch(�~-	perl-Getopt-Long2.504.el8noarch+�})�perl-File-Temp0.230.6001.el8noarch&�|)�perl-File-Path2.152.el8noarch'�{'�perl-Exporter5.72396.el8noarch$�z!�perl-Errno1.28420.el8x86_64$�y#�perl-Encode2.973.el8x86_64+�x-�perl-Data-Dumper2.167399.el8x86_64#�w�perl-Carp1.42396.el8noarch(�v-	�emacs-filesystem26.17.el8noarch#�u#�perl-libnet3.113.el8noarch �t�perl-URI1.733.el8noarch(�s-�perl-TermReadKey2.377.el8x86_64?�r+G�perl-Net-SSLeay1.881.module+el8.4.0+512+d4f0fc54x86_64C�q+G�perl-Mozilla-CA201601047.module+el8.4.0+529+e3b3e624noarchC�p1G�perl-IO-Socket-SSL2.0664.module+el8.4.0+512+d4f0fc54noarch)�o/�perl-IO-Socket-IP0.395.el8noarch"�n�perl-Git2.27.01.el8noarch%�m!	�perl-Error0.170252.el8noarch)�l+�perl-Digest-MD52.55396.el8x86_64%�k#�perl-Digest1.17395.el8noarch&�j%�git-core-doc2.27.01.el8noarch"�i�git-core2.27.01.el8x86_64�h�git2.27.01.el8x86_64@�g	[�npm6.14.111.10.24.0.1.module+el8.3.0+101+f84c7154x86_64C�f-	G�nodejs-full-i18n10.24.01.module+el8.3.0+101+f84c7154x86_649�e	G�nodejs10.24.01.module+el8.3.0+101+f84c7154x86_64�d�zip3.023.el8x86_64�c�unzip6.045.el8_4x86_64#�b�logrotate3.14.04.el8x86_64
+�������������������������~ytoje`[VQLGB=83.)$�������������������������zupkfa\WRMHC>94/*% 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

y
s
m
g
a
[
U
O
I
C
=
7
1
+
%






���������������������}wqke_YSMGA;5/)#����������������������{uoic]WQKE?93-'!	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

y
s
m
g
a
[
U
O
I
C
=
7
1
+
%





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	}	w	q	k	e	_	Y	S	M	G	A	;	5	/	)	#					����������������������{uoic]WQKE?93-'!	���������������������ysmga[UOIC=71+%
���������������������}wqke_YSMGA;5/)#����������������������{uoic]WQKE?93-'!	���������������������ysmga[UOIC=71+��
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	���������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 

	
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$�
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �����������������
N���xJ���m@
�
�
�
V
)���nD��yD
�
�
�
_
2	�	�	�	z	M	!���f4���d<��^��B��v6���M�|4���m:
��"�!	�gdbm-devel1.181.el8x86_64&�)�readline-devel7.010.el8x86_64-�')�ncurses-devel6.19.20180224.el8x86_640�-)�ncurses-c++-libs6.19.20180224.el8x86_64%�#�bzip2-devel1.0.626.el8x86_64$�%�libffi-devel3.122.el8x86_64'�%�sqlite-devel3.26.015.el8x86_64K�=I�python2-setuptools-wheel39.0.113.module+el8.4.0+403+9ae17a31noarchE�1I�python2-setuptools39.0.113.module+el8.4.0+403+9ae17a31noarchC�/I�python2-pip-wheel9.0.318.module+el8.4.0+403+9ae17a31noarch=�~#I�python2-pip9.0.318.module+el8.4.0+403+9ae17a31noarchH�}%[python2-libs2.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64C�|[~python22.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64,�{/}libmemcached-libs1.0.1815.el8x86_64'�z%|libmemcached1.0.1815.el8x86_64!�y{libevent2.1.85.el8x86_64#�xzmemcached1.5.222.el8x86_64=�wKyrubygems2.7.6.3107.module+el8.5.0+739+43897a5enoarchA�v%Kxrubygem-rdoc6.0.1.1107.module+el8.5.0+739+43897a5enoarch@�u'Kwrubygem-psych3.0.2107.module+el8.5.0+739+43897a5ex86_64B�t+Kvrubygem-openssl2.1.2107.module+el8.5.0+739+43897a5ex86_64?�s%Kurubygem-json2.1.0107.module+el8.5.0+739+43897a5ex86_64E�r1Ktrubygem-io-console0.4.6107.module+el8.5.0+739+43897a5ex86_64G�q5Ksrubygem-did_you_mean1.2.0107.module+el8.5.0+739+43897a5enoarchE�p1Krrubygem-bigdecimal1.3.4107.module+el8.5.0+739+43897a5ex86_64<�oKqruby-libs2.5.9107.module+el8.5.0+739+43897a5ex86_64;�nKpruby-irb2.5.9107.module+el8.5.0+739+43897a5enoarch7�mKoruby2.5.9107.module+el8.5.0+739+43897a5ex86_64$�l#ngeoipupdate2.5.02.el8x86_64%�k#mGeoIP-devel1.6.127.el8x86_64-�j1lGeoIP-GeoLite-data2018.065.el8noarch�ikGeoIP1.6.127.el8x86_64&�h)jperl-Text-Diff1.452.el8noarch&�g%	iperl-IO-Zlib1.10420.el8noarch)�f-hperl-IO-Compress2.0811.el8noarch/�e9gperl-Compress-Raw-Zlib2.0811.el8x86_640�d;fperl-Compress-Raw-Bzip22.0811.el8x86_64(�c-eperl-Archive-Tar2.301.el8noarch-�b3dperl-Algorithm-Diff1.19039.el8noarch*�a)cperl-local-lib2.0000242.el8noarch)�`+bperl-inc-latest0.5009.el8noarch*�_1aperl-Text-Template1.511.el8noarch&�^)`perl-Text-Glob0.114.el8noarch*�]-_perl-Sub-Install0.92814.el8noarch+�\/^perl-Sub-Exporter0.98715.el8noarch1�[7]perl-Software-License0.1030132.el8noarch*�Z'\perl-Pod-Html1.22.02420.el8noarch+�Y-[perl-Perl-OSType1.010396.el8noarch)�X-Zperl-Params-Util1.0722.el8x86_64+�W/	Yperl-Params-Check0.38395.el8noarch0�V9Xperl-Package-Generator1.10611.el8noarch'�U'Wperl-Net-Ping2.55420.el8noarch2�T5Vperl-Module-Metadata1.000033395.el8noarch6�SEUperl-Module-Load-Conditional0.68395.el8noarch*�R-	Tperl-Module-Load0.32395.el8noarch2�Q5	!Sperl-Module-CoreList5.201811301.el8noarch-�P/Rperl-Module-Build0.42.245.el8noarch'�O+Qperl-MRO-Compat0.134.el8noarch5�NC	Pperl-Locale-Maketext-Simple0.21420.el8noarch.�M5Operl-Locale-Maketext1.28396.el8noarch%�L%Nperl-IPC-Cmd1.021.el8noarch'�K+Mperl-File-Which1.222.el8noarch*�J/Lperl-File-HomeDir1.0024.el8noarch.�I9	Kperl-ExtUtils-MM-Utils7.341.el8noarch2�H9	Jperl-ExtUtils-CBuilder0.2802302.el8noarch'�G+	Iperl-Digest-SHA6.021.el8x86_64'�F+Hperl-Devel-Size0.812.el8x86_64-�E/Gperl-Data-Section0.2000073.el8noarch*�D/Fperl-Data-OptList0.1106.el8noarch+�C3Eperl-Compress-Bzip22.266.el8x86_64#�BDperl-CPAN2.18397.el8noarch(�A-Cperl-Archive-Zip1.603.el8noarch-�@3Bperl-ExtUtils-Embed1.34420.el8noarch+�?/Apython3-pyparsing2.1.107.el8noarch+�>/@perl-Math-Complex1.59420.el8noarch-�=-	?perl-Math-BigInt1.9998.117.el8noarch*�<3>systemtap-sdt-devel4.53.el8x86_64(�;%=perl-version0.99.241.el8x86_64
R^�&���`5
�
�
�
_
5
	��|K�����e9
�
�
�
d
7�
	�	�	�	g	J	,	
���~\<����d>|���{T+���[2���a2����xS/���}H���Z)�0/%glibc-gconv-extra2.28251.el8_10.4x86_64�./%glibc-gconv-extra2.28251.el8_10.4i686�0	7grub2-pc2.02142.el8_7.3.rocky.0.2x86_64
u%	#grub2-pc2.02106.el8.0.2x86_64R0%	/grub2-common2.02156.el8.rocky.0.1noarch�0%	/grub2-common2.02150.el8.rocky.0.2noarch�0%	/grub2-common2.02150.el8.rocky.0.1noarch24%	7grub2-common2.02148.el8_8.1.rocky.0.3noarch;4%	7grub2-common2.02142.el8_7.3.rocky.0.2noarch
t)%	#grub2-common2.02106.el8.0.2noarchQ$!groff-base1.22.318.el8x86_64Pgrep3.16.el8x86_64O#graphviz2.40.145.el8x86_645#graphviz2.40.144.el8x86_64�#graphviz2.40.143.el8x86_642$graphite21.3.1010.el8x86_64�#gpm-libs1.20.717.el8x86_64�gpgme1.13.19.el8x86_64N gpgme1.13.112.el8x86_64� gpgme1.13.111.el8x86_64
s4;google-droid-sans-fonts2012071513.el8noarch1.7gobject-introspection1.56.11.el8x86_64M$)go-srpm-macros217.el8noarch�*%gnutls-devel3.6.168.el8_9.1x86_64�(%gnutls-devel3.6.168.el8_9x86_64
�+%!gnutls-devel3.6.168.el8_10.3x86_64k+%!gnutls-devel3.6.168.el8_10.2x86_644(%gnutls-devel3.6.166.el8_7x86_64
N)#gnutls-dane3.6.168.el8_9.1x86_64�'#gnutls-dane3.6.168.el8_9x86_64
�*#!gnutls-dane3.6.168.el8_10.3x86_64j*#!gnutls-dane3.6.168.el8_10.2x86_643'#gnutls-dane3.6.166.el8_7x86_64
M(!gnutls-c++3.6.168.el8_9.1x86_64�&!gnutls-c++3.6.168.el8_9x86_64
�)!!gnutls-c++3.6.168.el8_10.3x86_64i)!!gnutls-c++3.6.168.el8_10.2x86_642&!gnutls-c++3.6.166.el8_7x86_64
L$gnutls3.6.168.el8_9.1x86_64�"gnutls3.6.168.el8_9x86_641%!gnutls3.6.168.el8_10.2x86_64�"gnutls3.6.166.el8_7x86_64d"gnutls3.6.165.el8_6x86_64
rgnutls3.6.164.el8x86_64L(%gnupg2-smime2.2.203.el8_6x86_64
q%%gnupg2-smime2.2.202.el8x86_64K"gnupg22.2.203.el8_6x86_64
pgnupg22.2.202.el8x86_64J!gnupg11.4.2315.el8x86_64.!gnupg11.4.2314.el8x86_64�#	gmp-devel6.1.212.el8x86_64�#	gmp-devel6.1.210.el8x86_64R!	gmp-c++6.1.212.el8x86_64�!	gmp-c++6.1.210.el8x86_64Q	gmp6.1.212.el8x86_64�	gmp6.1.210.el8x86_64I()glusterfs-libs6.056.4.el8x86_642=glusterfs-client-xlators6.056.4.el8x86_64''glusterfs-cli6.056.4.el8x86_640''glusterfs-api6.056.4.el8x86_64/#glusterfs6.056.4.el8x86_64,'%glibc-headers2.28251.el8_10.2x86_64�+'#glibc-headers2.28236.el8_9.7x86_640,'%glibc-headers2.28236.el8_9.12x86_64�+'#glibc-headers2.28225.el8_8.6x86_64
''glibc-headers2.28225.el8x86_64:''glibc-headers2.28211.el8x86_64	9+'#glibc-headers2.28164.el8_5.3x86_64�''glibc-headers2.28164.el8x86_64�0/%glibc-gconv-extra2.28251.el8_10.2x86_64�./%glibc-gconv-extra2.28251.el8_10.2i686�//#glibc-gconv-extra2.28236.el8_9.7x86_64/-/#glibc-gconv-extra2.28236.el8_9.7i686.0/%glibc-gconv-extra2.28236.el8_9.12x86_64�./%glibc-gconv-extra2.28236.el8_9.12i686�//#glibc-gconv-extra2.28225.el8_8.6x86_64
-/#glibc-gconv-extra2.28225.el8_8.6i686
+/glibc-gconv-extra2.28225.el8x86_649)/glibc-gconv-extra2.28225.el8i6868+/glibc-gconv-extra2.28211.el8x86_64	3)/glibc-gconv-extra2.28211.el8i686	2*#%glibc-devel2.28251.el8_10.4x86_64�*#%glibc-devel2.28251.el8_10.2x86_64�)##glibc-devel2.28236.el8_9.7x86_64-*#%glibc-devel2.28236.el8_9.12x86_64�)##glibc-devel2.28225.el8_8.6x86_64
	%#glibc-devel2.28225.el8x86_647%#glibc-devel2.28211.el8x86_64	8)##glibc-devel2.28164.el8_5.3x86_64�%#glibc-devel2.28164.el8x86_64�+%%glibc-common2.28251.el8_10.4x86_64�*%!gnutls3.6.168.el8_10.3x86_64�0	7grub2-pc2.02148.el8_8.1.rocky.0.3x86_64<,'%glibc-headers2.28251.el8_10.4x86_64�
�����������oaRG6��������vjaXOF8*
�
�
�
�
�
�
�
�
��
v
k
`
U
J
?
4
)


���B7�����hO�>,��������}l[��D-
�
�
�
�
�
�
u�l��
b
O
<
)

	�Y�	�	�	�	�	�	�P	tC	e4	Y	M	B	6	%		(������p���t_bP>,M���������zqbQ?-	��������ycM7!������}hS=&������gnutls�'glibc-headers�/glibc-gconv-extra�/glibc-gconv-extra�#glibc-devel�%glibc-common�3glibc-all-langpacks�
glibc�
glibc�%gnutls-develk#gnutls-danej!gnutls-c++i3grub2-tools-minimalA3grub2-tools-minimal
y3grub2-tools-minimalV/grub2-tools-extra�/grub2-tools-extra�/grub2-tools-extra7/grub2-tools-extra@/grub2-tools-extra
x/grub2-tools-extraU+grub2-tools-efi�+grub2-tools-efi�+grub2-tools-efi6+grub2-tools-efi?+grub2-tools-efi	�#grub2-tools�#grub2-tools�#grub2-tools5#grub2-tools>#grub2-tools
w#grub2-toolsT-grub2-pc-modules�-grub2-pc-modules�-grub2-pc-modules4-grub2-pc-modules=-grub2-pc-modules
v-grub2-pc-modulesS
grub2-pc�
grub2-pc�
grub2-pc3
grub2-pc<
grub2-pc
ugrub2-pcR%grub2-common�%grub2-common�%grub2-common2%grub2-common;%grub2-common
t%grub2-commonQ!groff-basePgrepO
graphviz5
graphviz�
graphviz2graphite2�
gpm-libs�
gpgme�
gpgme
s	gpgmeN;google-droid-sans-fonts17gobject-introspectionM)go-srpm-macros�%gnutls-devel4%gnutls-devel�%gnutls-devel
�%gnutls-devel
N#gnutls-dane3#gnutls-dane�#gnutls-dane
�#gnutls-dane
M!gnutls-c++2!gnutls-c++�!gnutls-c++
�!gnutls-c++
Lgnutls�gnutls�gnutls1gnutlsdgnutls
rgmp-devel�gmp-c++�gmp�'glibc-headers�/glibc-gconv-extra�/glibc-gconv-extra�#glibc-devel�%glibc-common�3glibc-all-langpacks�
glibc�
glibc�
glib2�#gdk-pixbuf2�
gnutlsL%gnupg2-smime
q%gnupg2-smimeKgnupg2
p
gnupg2Jgnupg1.gnupg1�gmp-develRgmp-c++QgmpI)glusterfs-libs=glusterfs-client-xlators'glusterfs-cli0'glusterfs-api/glusterfs'glibc-headers�'glibc-headers0'glibc-headers
'glibc-headers:'glibc-headers	9'glibc-headers�'glibc-headers�/glibc-gconv-extra�/glibc-gconv-extra�/glibc-gconv-extra//glibc-gconv-extra./glibc-gconv-extra
/glibc-gconv-extra
/glibc-gconv-extra9/glibc-gconv-extra8/glibc-gconv-extra	3/glibc-gconv-extra	2#glibc-devel�#glibc-devel-#glibc-devel
	#glibc-devel7#glibc-devel	8#glibc-devel�#glibc-devel�%glibc-common�%glibc-common,%glibc-common
%glibc-common6%glibc-common	7%glibc-common�%glibc-commonH3glibc-all-langpacks�3glibc-all-langpacks+3glibc-all-langpacks
3glibc-all-langpacks53glibc-all-langpacks	63glibc-all-langpacks�3glibc-all-langpacksG
glibc�
glibc�
glibc*
glibc)
glibc

glibc

glibc4
glibc3
glibc	5
glibc	1
glibc�	glibcF
glib22
glib2
o	glib2E+glib-networking#gl-manpagesl%git-core-doc1%git-core-doc�%git-core-doc	�%git-core-doc�
git-core0
git-core�
git-core	�
git-core�git/git�git	�git�giflib�+ghc-srpm-macros�%gettext-libsDgettextC-geolite2-country.'geolite2-city-#geoipupdate
�#geoipupdatel#genisoimage,3gdk-pixbuf2-modules.3gdk-pixbuf2-modules�#gdk-pixbuf2�
gdiskgdbm-libs
n
gdbm-libsB!gdbm-devel
m!gdbm-devel�	gdbm
lgdbmA%gdb-headless
�%gdb-headless	�%gdb-headless+gdb
�gdb�
gd-devel	Wgd�
���
�
�0�
�
v	�	}	�
��!� �����}ee/	
b�b�$574:ae9fc2ce4407ccfbb807e1bb97243237995feb33576:170e9de710540dd8de568cf0c8eb520f111920f58install memcachedxee%	
bܓbܘ563:184285bf1c6d1520abc222a4ab08f0195e8721c2574:ae9fc2ce4407ccfbb807e1bb97243237995feb338install rubyee3	
b�jb�l562:e6723adcc5c51f0add3f705ac4d0117662e94d6e563:184285bf1c6d1520abc222a4ab08f0195e8721c28install geoipupdateee3	
b�_b�`561:dfdfa86e47c9bcf69f11b109ea181f9f5c605fff562:e6723adcc5c51f0add3f705ac4d0117662e94d6e8install GeoIP-develyee'	
b�2b�6559:66b8252c0afe9c809bf26cd0b89283abcaeec443561:dfdfa86e47c9bcf69f11b109ea181f9f5c605fff8install GeoIP}ee/	
b�ib�q519:e1122eaad2cf693707fea77e751af8f61345b9f9559:66b8252c0afe9c809bf26cd0b89283abcaeec4438install perl-CPAN�eeC	
b�b��518:6dd3ac833c8ac9943493d20206804814617df79c519:e1122eaad2cf693707fea77e751af8f61345b9f98install perl-ExtUtils-Embed~ee1	
b�<b�A500:5fac39290d544ebb1b929adfa0a4145b52eb26a6518:6dd3ac833c8ac9943493d20206804814617df79c8install perl-devel�ee7	
b˼b��488:286cc9188ae4a2d00dc6ef8bda4ae397af80c758500:5fac39290d544ebb1b929adfa0a4145b52eb26a68install openssl-develee3	
b˧b˩487:761790dbe668b93f78fa297eb0934fb98c743534488:286cc9188ae4a2d00dc6ef8bda4ae397af80c7588install libdb-devel~ee1	
b�hb�k483:0c89f664943f4dcd5cc034bfdaf23bd6fb3cb082487:761790dbe668b93f78fa297eb0934fb98c7435348install pcre-develzee)	
bņbň482:e8768439f4ba5fe633058b9008473b34ee95c308483:0c89f664943f4dcd5cc034bfdaf23bd6fb3cb0828install sqlitexee%	
b�b�
481:52e3e01ec8393ec93a434808ffa1ad54aa65a35d482:e8768439f4ba5fe633058b9008473b34ee95c3088install makezee)	
b��b��480:5f02d5ffd61fb7367b8b95a8d197aa41da180ea0481:52e3e01ec8393ec93a434808ffa1ad54aa65a35d8install tar -yxee%	
b�qb�u478:cde957b8d148a68f1e98bc01da44747df1faa878480:5f02d5ffd61fb7367b8b95a8d197aa41da180ea08install wgetyee'	
b�4b�6479:d9709d6c42f77fc0bbc1e0cea73b0c0009223a30478:cde957b8d148a68f1e98bc01da44747df1faa8788remove sqlitezee)	
b�ib�k478:cde957b8d148a68f1e98bc01da44747df1faa878479:d9709d6c42f77fc0bbc1e0cea73b0c0009223a308install sqlitewee#	
b�b�!430:277e0a1224ce372649770f6a14a36b09ae5ddc22478:cde957b8d148a68f1e98bc01da44747df1faa8788install gitz
ee)	
b��b��427:941db01a0f70a8bb32cdb14ee2d9704afaa9b137430:277e0a1224ce372649770f6a14a36b09ae5ddc228install nodejs{ee+	
b�[b�d409:160f620bcb5077b7435b2cb391d587cb55b303a2427:941db01a0f70a8bb32cdb14ee2d9704afaa9b1378install varnishvee!	
b�6b�8408:fd8160f3b5bb8f0f8831b9d7e38938da3d302926409:160f620bcb5077b7435b2cb391d587cb55b303a28install pv�<
ee�+	
b��b��349:741c2785cfb12fbaa31cc44b8d2edf9c63ff293b408:fd8160f3b5bb8f0f8831b9d7e38938da3d3029268install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless�	ee5	
b�rb�t348:bcc049a0efb4fa2baaa95e388ab7d6f774e57533349:741c2785cfb12fbaa31cc44b8d2edf9c63ff293b8install epel-releasexee%	
b��b�332:48e2756caa6251a45b72c83ef8b9e8165bedb124348:bcc049a0efb4fa2baaa95e388ab7d6f774e575338install rustree	
b�b��326:7d9b2e6704b2f53d12754256ac0a62b7dd44af68332:48e2756caa6251a45b72c83ef8b9e8165bedb1248update~ee1	
b�ib�k327:db74053ab333f0f362dc267ab8d521956a8ec68b326:7d9b2e6704b2f53d12754256ac0a62b7dd44af688remove libsss_sudowee#	
b�Pb�R328:df9ef3da088301ef7f274392630ade0cb7085d46327:db74053ab333f0f362dc267ab8d521956a8ec68b8remove sudo{ee+	
b�	b�	327:5391bae9175ca9a0c1756f54cbb709026c4496cc328:df9ef3da088301ef7f274392630ade0cb7085d468install nano -yyee'	
b��b��326:b91ac66a0fbb4eaa5bb14a4088718c8a3d35e014327:5391bae9175ca9a0c1756f54cbb709026c4496cc8install rsync�ee7	
b��b��343:4704eef26ebc79920b9c5b98233ca8cab552b9a7326:b91ac66a0fbb4eaa5bb14a4088718c8a3d35e0148remove NetworkManagerkae
	
b�	b��0:da39a3ee5e6b4b0d3255bfef95601890afd80709343:4704eef26ebc79920b9c5b98233ca8cab552b9a78�
�}}
�
y�t�x
�
�	�	r�f�c�\�S�C�9�/��HT�=ee5	
b�b�652:8b7e8d9bc83b08e53d7bac3a97900595e2bee603653:3920bbd5183b4dec65f6980d2b14fc7bd2a1e9d58install perl-Pod-POM�<eeC	
b�b�651:80a1e6034a72a746a69c43ed5fa69d9f94b2dd84652:8b7e8d9bc83b08e53d7bac3a97900595e2bee6038install perl-Perl4-CoreLibs�;ee;	
bwb|649:5069ba2dd5497d23c240d28a65d5b135cb02f320651:80a1e6034a72a746a69c43ed5fa69d9f94b2dd848install perl-Net-LibIDN�:ee7	
bqbs648:e16bf3cd2de7c5ebcf3f9656ac870de811dcba04649:5069ba2dd5497d23c240d28a65d5b135cb02f3208install perl-Net-HTTP�9ee;	
bkbm647:485abdbbef252160fd7619b27fb1cf7b7a751ceb648:e16bf3cd2de7c5ebcf3f9656ac870de811dcba048install perl-Net-Daemon�8ee9	
bbbc646:2c3eefe42dac4245fc5ede477675261c01d07630647:485abdbbef252160fd7619b27fb1cf7b7a751ceb8install perl-Image-Xpm�7ee9	
bSbU645:f05d7791b793a16a937eaa7e17152b2e197bf08d646:2c3eefe42dac4245fc5ede477675261c01d076308install perl-Image-Xbm�6ee;	
bKbM644:4a696e6dfac41d07157fb35581e8b436d202ef61645:f05d7791b793a16a937eaa7e17152b2e197bf08d8install perl-Image-Base�5eeC	
b=b>643:c0e3592d9cd5a2ba5032ef9f32d9c5137efc4bd2644:4a696e6dfac41d07157fb35581e8b436d202ef618install perl-HTTP-Negotiate�4ee?	
b2b3642:a897b844e10c74f12104b3096ff13f2b4c24725f643:c0e3592d9cd5a2ba5032ef9f32d9c5137efc4bd28install perl-HTTP-Cookies3ee3	
b"b$641:3638fbb865eb273dd352acd1036411a0cd92dce2642:a897b844e10c74f12104b3096ff13f2b4c24725f8install perl-Filter�2ee?	
bb640:7b00dd5644ca54f1e00f9cc77b14dba5726338b5641:3638fbb865eb273dd352acd1036411a0cd92dce28install perl-File-Listing}1ee/	
bb639:9ec0c6af3bf7c057db04ca55f758ccff8396dba8640:7b00dd5644ca54f1e00f9cc77b14dba5726338b58install perl-FCGI�0ee9	
b�b�635:85045a898f4039821585a9adaac1c13de6ccdbeb639:9ec0c6af3bf7c057db04ca55f758ccff8396dba88install perl-DBD-MySQL|/ee-	
b�b�626:9ab45fb50bca502b728a87885c4719a0f1ece368635:85045a898f4039821585a9adaac1c13de6ccdbeb8install perl-CGI�.eeA	
b�b�620:a3537645a9fbac01ea3dbf64da0a2ee5eecf86a6626:9ab45fb50bca502b728a87885c4719a0f1ece3688install perl-Business-ISBN�-ee5	
b�b�619:6140b0558a9cff43b8319d0b5ebdfd9c3e6cb9d4620:a3537645a9fbac01ea3dbf64da0a2ee5eecf86a68install perl-B-Utils�,ee9	
b�b�618:77c12904e1d5056be172cecae695c95b740a730f619:6140b0558a9cff43b8319d0b5ebdfd9c3e6cb9d48install perl-AppConfig�+eeC	
b�b�610:1595ea1e67ce610120fcbdac3fd07074d40554eb618:77c12904e1d5056be172cecae695c95b740a730f8install GraphicsMagick-perl{*ee+	
b�b�609:9a15c627ecf64bccf788573f2a3d0d93562bbd15610:1595ea1e67ce610120fcbdac3fd07074d40554eb8install stunnelx)ee%	
b�hb�k608:ce3b9b9e9d7c42eb85978cc92175ee06959eb0e7609:9a15c627ecf64bccf788573f2a3d0d93562bbd158install tmux|(ee-	
b�b�607:fcb479f24b6c8bf5b230dc3968019c4779340f25608:ce3b9b9e9d7c42eb85978cc92175ee06959eb0e78install xz-devel|'ee-	
b�b��591:e7b70e6c676f92f5df49fe7486ca6bdaeaf82b49607:fcb479f24b6c8bf5b230dc3968019c4779340f258install tk-devel~&ee1	
b�]b�a590:536a6b83a153da3df6c66f33094c8fdb5dd70410591:e7b70e6c676f92f5df49fe7486ca6bdaeaf82b498install gdbm-devel�%ee9	
b�b�587:bf0b7b62fd6fa7d9b9fc420169e6a0513eb69def590:536a6b83a153da3df6c66f33094c8fdb5dd704108install readline-devel$ee3	
b��b��586:0625dd1c697b9aed33e3323ca1b2fd30037d6c39587:bf0b7b62fd6fa7d9b9fc420169e6a0513eb69def8install bzip2-devel�#ee5	
b�b�585:8e532bf2325f760e1902272587b79999f85ec81c586:0625dd1c697b9aed33e3323ca1b2fd30037d6c398install libffi-devel�"ee5	
b�9b�:584:bb07e400f9a69bb65add2a03765ed66c72c661c5585:8e532bf2325f760e1902272587b79999f85ec81c8install sqlite-devel{!ee+	
b�.b�5578:6cf42c9bf66179e0f5a9e375b4703088611d76ce584:bb07e400f9a69bb65add2a03765ed66c72c661c58install python2� ee5	
b�Sb�V576:170e9de710540dd8de568cf0c8eb520f111920f5578:6cf42c9bf66179e0f5a9e375b4703088611d76ce8install libmemcached
T����b5���rE
�
�
�
~
X
:
����g>���sP"
�
�
�
|
8	�	�	n	-���O��[��d9��{Z/���9��w7���A���vT2
��!�\�libmcpp2.7.220.el8x86_64#�[!�libXxf86vm1.1.49.el8x86_64%�Z%�libXxf86misc1.0.41.el8x86_64�Y�libXt1.1.512.el8x86_64�X�libXmu1.1.31.el8x86_64)�W-�perl-HTTP-Daemon6.0123.el8noarch"�V!�perl-Clone0.395.el8x86_64"�U%�epel-release814.el8noarch'�T+�perl-XML-Simple2.251.el8noarch(�S+�perl-XML-Parser2.4411.el8x86_64@�R-G�perl-libwww-perl6.341.module+el8.4.0+529+e3b3e624noarch)�Q/�perl-XML-SAX-Base1.094.el8noarch$�P%�perl-XML-SAX1.001.el8noarch1�O?�perl-XML-NamespaceSupport1.124.el8noarch)�N+	�perl-XML-LibXML2.01322.el8x86_64=�M'G�perl-Try-Tiny0.307.module+el8.4.0+529+e3b3e624noarch:�LI�perl-NTLM1.0917.module+el8.4.0+529+e3b3e624noarchA�K-I�perl-Digest-HMAC1.0317.module+el8.4.0+529+e3b3e624noarch>�J)G�perl-Data-Dump1.237.module+el8.4.0+529+e3b3e624noarchD�I3I�perl-WWW-RobotRules6.0218.module+el8.4.0+529+e3b3e624noarch)�H/�perl-Thread-Queue3.131.el8noarch)�G+�perl-Sys-Syslog0.35397.el8x86_64%�F%�perl-Pod-POM2.0113.el8noarch,�E3�perl-Perl4-CoreLibs0.0049.el8noarch(�D+�perl-Net-LibIDN0.1235.el8x86_64�C�libidn1.345.el8x86_64=�B'G�perl-Net-HTTP6.172.module+el8.4.0+529+e3b3e624noarch'�A+�perl-Net-Daemon0.492.el8noarch'�@)�perl-Image-Xpm1.1310.el8noarch'�?)�perl-Image-Xbm1.1011.el8noarch(�>+�perl-Image-Base1.1715.el8noarchD�=3I�perl-HTTP-Negotiate6.0119.module+el8.4.0+529+e3b3e624noarchA�</G�perl-HTTP-Cookies6.042.module+el8.4.0+529+e3b3e624noarch$�;#�perl-Filter1.582.el8x86_64B�:/I�perl-File-Listing6.0417.module+el8.4.0+529+e3b3e624noarch:�9	I�perl-FCGI0.7811.module+el8.4.0+506+21d0a743x86_649�8G�perl-DBI1.6413.module+el8.4.0+509+59a8d9b3x86_64?�7)G�perl-DBD-MySQL4.0463.module+el8.4.0+577+b8fe2d92x86_646�6A�mariadb-connector-c-config3.1.112.el8_3noarch/�53�mariadb-connector-c3.1.112.el8_3x86_64!�4�mailcap2.1.483.el8noarch>�3'	I�perl-TimeDate2.3015.module+el8.4.0+529+e3b3e624noarchD�23I�perl-LWP-MediaTypes6.0215.module+el8.4.0+529+e3b3e624noarch>�1%I�perl-IO-HTML1.00111.module+el8.4.0+529+e3b3e624noarchA�0/G�perl-HTTP-Message6.181.module+el8.4.0+529+e3b3e624noarch?�/)I�perl-HTTP-Date6.0219.module+el8.4.0+529+e3b3e624noarchA�.-I�perl-HTML-Tagset3.2034.module+el8.4.0+529+e3b3e624noarchA�--I�perl-HTML-Parser3.7215.module+el8.4.0+529+e3b3e624x86_64 �,�perl-CGI4.382.el8noarch(�++�perl-GD-Barcode1.1536.el8noarch�*�perl-GD2.711.el8x86_643�);�perl-Business-ISBN-Data201911074.el8noarch+�(1�perl-Business-ISBN3.0054.el8noarch �'�libXpm3.5.128.el8x86_64�&�gd2.2.57.el8x86_64%�%%�perl-B-Utils0.2715.el8x86_64'�$)�perl-AppConfig1.7116.el8noarch-�#3�GraphicsMagick-perl1.3.362.el8x86_64(�")�GraphicsMagick1.3.362.el8x86_64&�!%�libtool-ltdl2.4.625.el8x86_64&� #�libwmf-lite0.2.98.el8_0x86_64 ��libwebp1.0.05.el8x86_64��libSM1.2.31.el8x86_64 ��libICE1.0.915.el8x86_64��lcms22.92.el8x86_64!��stunnel5.565.el8_3x86_64��tmux2.71.el8x86_64#��xz-devel5.2.43.el8.1x86_64"�	�tcl-devel8.6.82.el8x86_64�	�tcl8.6.82.el8x86_64(�'�libuuid-devel2.32.128.el8x86_64'�%�libpng-devel1.6.345.el8x86_64+�)�freetype-devel2.9.14.el8_3.1x86_64*�-�fontconfig-devel2.13.14.el8x86_64$�#�expat-devel2.2.54.el8x86_64.�5�xorg-x11-proto-devel2020.13.el8noarch!�	�tk-devel8.6.81.el8x86_64�	�tk8.6.81.el8x86_64&�%�libxcb-devel1.13.11.el8x86_64*�
-�libXrender-devel0.9.107.el8x86_64%�%�libXft-devel2.3.31.el8x86_64%�%�libXau-devel1.0.93.el8x86_64#�
!�libX11-xcb1.6.85.el8x86_64%�	%�libX11-devel1.6.85.el8x86_64
^�oO��(�fB����pK&
�
�
�
|
V
6
������mvNH!����^@ 
�
�
�
�
o
L-
*
	�	�	�	r	L	 �������jD����vP*����^6���sP/��"libcurl7.61.122.el8x86_64�&libcroco0.6.124.el8_2.1x86_64�&+libconfig-devel1.59.el8x86_64	N libconfig1.59.el8x86_64	M"libcomps0.1.181.el8x86_64
�"libcomps0.1.162.el8x86_64�*-libcom_err-devel1.45.65.el8x86_64
�*-libcom_err-devel1.45.62.el8x86_64$$!libcom_err1.45.65.el8x86_64
�$!libcom_err1.45.62.el8x86_64�''libcollection0.7.040.el8x86_64
�''libcollection0.7.039.el8x86_64�#libcap-ng0.7.111.el8x86_64� libcap2.486.el8_9x86_64X libcap2.485.el8_8x86_64]libcap2.484.el8x86_64
�libcap2.265.el8x86_64�%libcacard2.7.02.el8_1x86_64F%#libc-client2007f24.el8x86_64Slibbsd0.9.14.el8x86_64�libbpf0.5.01.el8x86_64
�libbpf0.4.01.el8x86_64�#libblkid2.32.146.el8x86_64�#libblkid2.32.143.el8x86_64W%libblkid2.32.142.el8_8x86_64\%libblkid2.32.139.el8_7x86_64
�#libblkid2.32.138.el8x86_64	:#libblkid2.32.128.el8x86_64�)+libbasicobjects0.1.140.el8x86_64
�)+libbasicobjects0.1.139.el8x86_64�&'libbabeltrace1.5.44.el8x86_64
� libacl2.2.533.el8x86_64�'%libXpm-devel3.5.1211.el8x86_64E%%libXpm-devel3.5.1211.el8i686D!libXpm3.5.1211.el8x86_64ClibXpm3.5.1211.el8i686B#!libX11-xcb1.6.88.el8x86_64A%%libX11-devel1.6.88.el8x86_64@&'libX11-common1.6.88.el8noarch?libX111.6.88.el8x86_64>libX111.6.88.el8i686=&'libbabeltrace1.5.43.el8x86_64 !libattr2.4.483.el8x86_64�&'libatomic_ops7.6.23.el8x86_64E"libassuan2.5.13.el8x86_64�++libargon2-devel201712273.el8x86_64�%libargon2201712273.el8x86_64�#!libarchive3.3.35.el8x86_64[#!libarchive3.3.34.el8x86_64	�%!libarchive3.3.33.el8_5x86_64�%!libarchive3.3.31.el8_5x86_64d#!libarchive3.3.31.el8x86_64�!libaio0.3.1121.el8x86_64"libacl2.2.531.el8.1x86_64�#!libXxf86vm1.1.49.el8x86_64�%%libXxf86misc1.0.41.el8x86_64�libXv1.0.117.el8x86_64D libXtst1.2.37.el8x86_64�%#libXt-devel1.1.512.el8x86_64plibXt1.1.512.el8x86_64�libXt1.1.512.el8i686	/*-libXrender-devel0.9.107.el8x86_64�$!libXrender0.9.107.el8x86_64�"libXrandr1.5.21.el8x86_64�(%libXpm-devel3.5.129.el8_7x86_64	�&%libXpm-devel3.5.129.el8_7i686	�&%libXpm-devel3.5.128.el8x86_64P$%libXpm-devel3.5.128.el8i686	."libXpm3.5.129.el8_7x86_64	� libXpm3.5.129.el8_7i686	� libXpm3.5.128.el8x86_64�libXpm3.5.128.el8i686	-libXmu1.1.31.el8x86_64�$#libXinerama1.1.41.el8x86_64�libXi1.7.101.el8x86_64�%%libXft-devel2.3.31.el8x86_64�libXft2.3.31.el8x86_64�"libXfixes5.0.37.el8x86_64�&'libXext-devel1.3.41.el8x86_64o libXext1.3.41.el8x86_64�libXext1.3.41.el8i686	,$!libXdamage1.1.414.el8x86_64�$!libXcursor1.1.153.el8x86_64�''libXcomposite0.4.414.el8x86_64�!libXaw1.0.1310.el8x86_64C%%libXau-devel1.0.93.el8x86_64�libXau1.0.93.el8x86_64�libXau1.0.93.el8i686	+#!libX11-xcb1.6.86.el8x86_64
�#!libX11-xcb1.6.85.el8x86_64�%%libX11-devel1.6.86.el8x86_64
�%%libX11-devel1.6.85.el8x86_64�&'libX11-common1.6.86.el8noarch
�&'libX11-common1.6.85.el8noarch�
����������whYJ;,
��������~n^O?/
�
�
�
�
�
�
�
�
�
v
g
W
G
6
%

��������}m]M>/ ��������{l]N?0!
�
�
�
�
�
�
�
�
|
m
^
O
@
1
"

	�	�	�	�	�	�	�	�	{	l	\	L	=	.			��������zj[L=.��������xiZK<-��������xiZK<-��������xiZK<-��������yj[L=.��������zk\L=.���������xiZK<-
��
�Q		L�
�P		L�
�O		L�
�N		L��M			L��L			L��K			L��J			L��I			L��H			L��G			L��F			L��E			L��D			L��C			L��B			L��A			L��@			L�
�?		L��>			L�
�=		L��<			L�;			L~
�:		L}�9			L|�8			L{�7			Lz�6			Ly�5			Lx�4			Lw�3			Lv�2			Lu�1			Lt�0			Ls�/			Lr�.			Lq�-			Lp�,			Lo�+			Ln�*			Lm�)			Ll�(			Lk�'			Lj�&			Li�%			Lh�$			Lg�#			Lf�"			Le�!			Ld� 			Lc�			Lb�			La�			L`�			L_�			L^�			L]�			L\�			L[�			LZ�			LY�			LX�			LW�			LV
�		LU�			LT�			LS�			LR�			LQ�
			LP�			LO�			LN�
			LM�				LL�			LK�			LJ�			LI�			LH�			LG�			LF�			LE�			LD�			LC�			LB
�~		LA�}			L@�|			L?�{			L>�z			L=�y			L<�x			L;�w			L:�v			L9�u			L8�t			L7�s			L6�r			L5�q			L4�p			L3�o			L2�n			L1
�m		L0
�l		L/�k			L.�j			L-�i			L,�h			L+�g			L*�f			L)�e			L(�d			L'
�c		L&�b			L%�a			L$�`			L#�_			L"�^			L!�]			L �\			L�[			L�Z			L�Y			L�X			L�W			L�V			L�U			L
�T		L
�S		L�R			L�Q			L�P			L�O			L�N			L�M			L�L			L
�K		L�J			L
�I			L
�H		K	�G			K
�F			J	�E			J�D			J�C			J�B			J�A			J�@			J�?			J�>			J�=			J�<			J��;			J��:			J��9			J��8			J��7			J��6			J��5			J��4			J��3			J��2			J��1			J��0			J��/			J��.			J��-			J��,			J��+			J��*			J��)			J��(			J��'			J��&			J��%			J��$			J��#			J��"			J�
�!		J�
� 		I�
�		H��			H�	�			H��			H��			H��			H��			H��			H��			H�
�		G�	
�		F�	
�	E�	�	D��	D�
�		C�
�		B��			A��			A��
			A��			A�
�		A��
			A��				A��			A��			A�
�		@�
�		?�
�		>�
�		=�
�		<�
�		;��			;�
�		:�
�~		9�
�}		8�
�|		7�
�{		6�
�z		5�
�y		4�
�x		3�
�w		2�
�v		1��u			0�
�t		0��s			0��r			0��q			/��p			/��o			/��n			/��m			/��l			/��k			/��j			/�
�i		/��h			.��g			.��f			.�
�e		.�
N"��|R'����R
�
�
�
}
[
+
���d8���"f=
�
�
�
tI
E	�	��	�	B�m��oE���sE���vO���d>��j5��}Q)�&'perl-CDB_File1.0515.el8x86_64�#perl-CPAN2.18399.el8noarchoF5Iperl-CPAN-Meta-Check0.0146.module+el8.9.0+1491+3507a112noarch
�H9Kperl-CPAN-DistnameInfo0.1213.module+el8.9.0+1491+3507a112noarch
�+1perl-Class-Load-XS0.1010.el8x86_647'+perl-Class-Load0.259.el8noarch6+3perl-Class-Iterator0.322.el8noarch5,5perl-Class-Inspector1.322.el8noarch�))perl-Class-ISA0.361022.el8noarch�/;perl-Class-Factory-Util1.727.el8noarchR0;perl-Class-ErrorHandler0.0414.el8noarch44Cperl-Class-Data-Inheritable0.0827.el8noarchQA]perl-Class-DBI-Plugin-DeepAbstractSearch0.0833.el8noarch3.7perl-Class-DBI-Plugin0.0342.el8noarch2))perl-Class-DBI3.0.1738.el8noarch18Cperl-Class-C3-Componentised1.00100210.el8noarch0%'perl-Class-C30.341.el8noarch/1=perl-Class-Accessor-Lite0.0816.el8noarch.7Cperl-Class-Accessor-Grouped0.1001410.el8noarch-+3perl-Class-Accessor0.512.el8noarchP$!perl-Child0.01311.el8noarch,/1perl-Carp-Fix-1_251.00000120.el8noarch+&)perl-Carp-Clan6.066.el8noarch�-7perl-Carp-Assert-More1.241.el8noarch*)-perl-Carp-Assert0.2117.el8noarch)(-perl-Carp-Always0.169.el8noarch(#perl-Carp1.42396.el8noarch�)/perl-Capture-Tiny0.464.el8noarchO-7perl-Canary-Stability20125.el8noarchN+1perl-Cairo-GObject1.0051.el8x86_64'#!perl-Cairo1.1071.el8x86_64&-5perl-Cache-Memcached1.3021.el8noarch%')perl-Cache-LRU0.0412.el8noarch$+3perl-Cache-FastMmap1.484.el8x86_64#)-perl-Cache-Cache1.0815.el8noarch"&'perl-CSS-Tiny1.2011.el8noarch!.3perl-CPAN-Meta-YAML0.018397.el8noarch06Cperl-CPAN-Meta-Requirements2.140396.el8noarch/E5Gperl-CPAN-Meta-Check0.0146.module+el8.6.0+961+8164b543noarch	�E5Gperl-CPAN-Meta-Check0.0146.module+el8.4.0+523+766394a0noarch�,)perl-CPAN-Meta2.150010396.el8noarch.G9Iperl-CPAN-DistnameInfo0.1213.module+el8.6.0+961+8164b543noarch	�G9Iperl-CPAN-DistnameInfo0.1213.module+el8.4.0+523+766394a0noarch�./perl-CPAN-Changes0.40000213.el8noarch #perl-CPAN2.18397.el8noarchB#!perl-CLASS1.0028.el8noarch+1perl-CGI-SpeedyCGI2.2239.el8x86_64%'perl-CGI-Fast2.153.el8noarch.7perl-CGI-Emulate-PSGI0.2312.el8noarch(-perl-CGI-Compile0.231.el8noarch perl-CGI4.382.el8noarch�%'perl-CDB_File1.021.el8x86_64$%perl-CBOR-XS1.714.el8x86_641=perl-Bytes-Random-Secure0.2914.el8noarch3;perl-Business-ISBN-Data201911074.el8noarch�+1perl-Business-ISBN3.0054.el8noarch�*/perl-Browser-Open0.0423.el8noarch'+perl-Bit-Vector7.411.el8x86_64�'+perl-BerkeleyDB0.632.el8x86_64%%perl-Bencode1.5021.el8noarch/%%perl-Bencode1.5017.el8noarch//perl-BSD-Resource1.291.10011.el8x86_64!perl-BDB1.9212.el8x86_64%%perl-B-Utils0.2715.el8x86_64�$#perl-B-Lint1.2011.el8noarch�'+perl-B-Keywords1.201.el8noarch-7perl-B-Hooks-OP-Check0.228.el8x86_643Aperl-B-Hooks-OP-Annotation0.4425.el8x86_64/;perl-B-Hooks-EndOfScope0.216.el8noarchM$%perl-B-Debug1.262.el8noarch�)-perl-B-Compiling0.0616.el8x86_64#!perl-B-COW0.0042.el8x86_641?perl-Authen-Simple-Passwd0.626.el8noarch
*1perl-Authen-Simple0.522.el8noarch)-perl-Authen-SASL2.1613.el8noarch�*1perl-Authen-Radius0.311.el8noarch/9perl-Authen-Passphrase0.0082.el8noarch
(+perl-Authen-PAM0.1637.el8x86_64	
�z�h
�
\��?
�
,	�	 ��Kee7	
b�b�717:8495bcbcaeb4a4a3d40af71d90abdd0f03b74ef4719:60a794497da8825d9e11e06e10297c42064e1fa78install perl-Tk-devel{Jee+	
bEbK679:6449224badcdd553549df94fc90e9e306dbc840c717:8495bcbcaeb4a4a3d40af71d90abdd0f03b74ef48install perl -y�IeeM	
bb678:5c5978c196e399c608a74f3aafa7795fdfc2cd54679:6449224badcdd553549df94fc90e9e306dbc840c8install perl-Template-Toolkit -y�HeeA	
b�b�669:cfeb6c2d7bd36e59afac611871a491e03d030fa6678:5c5978c196e399c608a74f3aafa7795fdfc2cd548install perl-Image-Info -y�GeeC	
b�b�668:8d77f8cae79062d5245db197ca4fd6b45376bd55669:cfeb6c2d7bd36e59afac611871a491e03d030fa68install perl-HTTP-Daemon -y�Fee7	
b�b�667:4bdb0b57b4003613240173a241afd16c00d23d3c668:8d77f8cae79062d5245db197ca4fd6b45376bd558install perl-Clone -yPEe

7
be667:4bdb0b57b4003613240173a241afd16c00d23d3cinstall perl-Clone -y�>Dee�/	
b1b6667:6fcad10ffcc0e66b4ce0e206f57dfc76ede6788d667:4bdb0b57b4003613240173a241afd16c00d23d3c8-y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm�Cee;	
b�b�666:07e34de657563bc0a41b329522334d84934c05b0667:6fcad10ffcc0e66b4ce0e206f57dfc76ede6788d8install perl-XML-Simple�Bee;	
b�b�665:98e9c279ae4b84ed991ecbb2bae8c618e1b5d930666:07e34de657563bc0a41b329522334d84934c05b08install perl-XML-Parser�Aee;	
b�b�656:a829cad4be19ca191cb3ee71d383575c01b51cb6665:98e9c279ae4b84ed991ecbb2bae8c618e1b5d9308install perl-XML-LibXML�@eeC	
b�b�655:e5e67b6abebe59946d6e18e792eafdb58f655131656:a829cad4be19ca191cb3ee71d383575c01b51cb68install perl-WWW-RobotRules�?ee?	
b�b�654:51a94272f75f384c14beaeb211b9dffb9456718d655:e5e67b6abebe59946d6e18e792eafdb58f6551318install perl-Thread-Queue�>ee;	
b�b�653:3920bbd5183b4dec65f6980d2b14fc7bd2a1e9d5654:51a94272f75f384c14beaeb211b9dffb9456718d8install perl-Sys-Syslog
Z����Z*��~V*
�
�
�
y
F
���g.��n6
�
�
�
[
,
	�	�	�	Y	,����]2���C���lB���oB���e;���~G����c7��}W:���68gtk33.22.308.el8x86_641�5;7gstreamer1-plugins-base1.16.12.el8x86_64$�4!6gstreamer11.16.12.el8x86_64�35gsl2.51.el8x86_64#�24graphviz2.40.143.el8x86_644�1;3google-droid-sans-fonts2012071513.el8noarch'�0'2glusterfs-cli6.056.4.el8x86_64'�/'1glusterfs-api6.056.4.el8x86_64,�.-0geolite2-country201806051.el8noarch)�-'/geolite2-city201806051.el8noarch&�,#.genisoimage1.1.1139.el8x86_64$�+%-gdb-headless8.216.el8x86_64"�*,gcc-c++8.5.04.el8_5x86_64�)+gc7.6.43.el8x86_64!�(*freeglut3.0.08.el8x86_64*�'-)fftw-libs-double3.3.511.el8x86_644�&;(edk2-ovmf20210527gite1999b264f1f3.el8noarch �%'dnsmasq2.7919.el8x86_64�$&dconf0.28.04.el8x86_64$�##%colord-libs1.4.21.el8x86_64#�"$celt0510.5.1.315.el8x86_64(�!'#cairo-gobject1.15.123.el8x86_64'� %"boost-thread1.66.010.el8x86_64'�%!boost-system1.66.010.el8x86_64&�# boost-regex1.66.010.el8x86_64'�%boost-random1.66.010.el8x86_640�7boost-program-options1.66.010.el8x86_64*�+boost-iostreams1.66.010.el8x86_64*�+boost-date-time1.66.010.el8x86_64'�%boost-chrono1.66.010.el8x86_64'�%boost-atomic1.66.010.el8x86_64&�%at-spi2-core2.28.01.el8x86_64%�#at-spi2-atk2.26.21.el8x86_64+�-apr-util-openssl1.6.16.el8.1x86_64'�%apr-util-bdb1.6.16.el8.1x86_64#�apr-util1.6.16.el8.1x86_64�apr1.6.312.el8x86_64,�1adwaita-icon-theme3.28.02.el8noarch.�5adwaita-cursor-theme3.28.02.el8noarch.�1adobe-mappings-pdf201804071.el8noarch:�Iadobe-mappings-cmap-deprecated201712053.el8noarch/�
3adobe-mappings-cmap201712053.el8noarch1�;abattis-cantarell-fonts0.0.256.el8noarch&�%
OpenEXR-libs2.2.012.el8x86_64 �
LibRaw0.19.53.el8x86_64(�	'perl-Tk-devel804.0342.el8x86_64"�
perl-Tk804.0342.el8x86_64&�!	perl-utils5.26.3420.el8noarch*�%!perl-perlfaq5.201806051.el8noarch#�perl-open1.11420.el8noarch+�)perl-libnetcfg5.26.3420.el8noarch*�/perl-experimental0.0192.el8noarch&�'perl-encoding2.223.el8x86_64#�#perl-bignum0.492.el8noarch&�%perl-autodie2.29396.el8noarch,�5perl-Unicode-Collate1.252.el8x86_64)�~+perl-Time-Piece1.31420.el8x86_64,�}1�perl-Text-Balanced2.03395.el8noarch,�|-	�perl-Test-Simple1.3021351.el8noarch#�{�perl-Test1.30420.el8noarch)�z+�perl-SelfLoader1.23420.el8noarch)�y+�perl-Pod-Parser1.63396.el8noarch+�x-�perl-Pod-Checker1.73395.el8noarch5�wC�perl-PerlIO-via-QuotedPrint0.08395.el8noarch,�v1	�perl-Module-Loaded0.08420.el8noarch8�uA	!�perl-Module-CoreList-tools5.201811301.el8noarch&�t%�perl-Memoize1.03420.el8noarch*�s-�perl-Math-BigRat0.26141.el8noarch6�r?�perl-Math-BigInt-FastCalc0.500.6006.el8x86_64)�q/�perl-Locale-Codes3.571.el8noarch/�p9�perl-IPC-System-Simple1.2517.el8noarch'�o'�perl-IPC-SysV2.07397.el8x86_64*�n1�perl-Filter-Simple0.942.el8noarch'�m+�perl-File-Fetch0.562.el8noarch0�l9�perl-ExtUtils-Miniperl1.06420.el8noarch"�k�perl-Env1.04395.el8noarch*�j/�perl-Encode-devel2.973.el8x86_640�i9�perl-Devel-SelfStubber1.06420.el8noarch)�h+�perl-Devel-Peek1.26420.el8x86_64)�g/�perl-Devel-PPPort3.365.el8x86_64%�f%�perl-DB_File1.8421.el8x86_64*�e1�perl-Config-Perl-V0.301.el8noarch$�d%�perl-B-Debug1.262.el8noarch1�c;�perl-Attribute-Handlers0.99420.el8noarch!�b�perl5.26.3420.el8x86_64-�a7�perl-Template-Toolkit2.294.el8x86_64'�`+�perl-Image-Info1.418.el8noarch(�_+�perl-IO-stringy2.1119.el8noarch-�^7�xorg-x11-server-utils7.727.el8x86_64�]�mcpp2.7.220.el8x86_64
�N�7��o�=�������U#���rB
�
�
�
[
 ���a6�T��Y3	
�
�
�
b
7
	�	�	�	s	K	"���vN ���gE����T"���nF���isA��T'+perl-Parse-Yapp1.213.el8noarch��,B/Iperl-Parse-PMFile0.417.module+el8.9.0+1491+3507a112noarch
�*'perl-Pod-Html1.22.02422.el8noarch�*'perl-Pod-Html1.22.02421.el8noarch
A/Gperl-Parse-PMFile0.417.module+el8.6.0+961+8164b543noarch
i�&)perl-PathTools3.741.el8x86_64')perl-Path-Tiny0.1045.el8noarch�(+perl-Path-Class0.3714.el8noarch&'+perl-Parse-Yapp1.212.el8noarch817perl-Parse-RecDescent1.9670156.el8noarch%A/Gperl-Parse-PMFile0.417.module+el8.4.0+523+766394a0noarch�,5perl-Parse-Gitignore0.047.el8noarch$(+perl-Parse-EDID1.0.75.el8noarch#/7perl-Parse-DebControl2.00518.el8noarch"1=perl-Parse-CPAN-Packages2.4016.el8noarch!�'%perl-SGMLSpm1.03ii42.el8noarch�+1perl-Router-Simple0.1714.el8noarchO*)perl-Role-Tiny2.0000062.el8noarch�*-perl-Return-Type0.00510.el8noarchN1=perl-Regexp-Pattern-Perl0.0041.el8noarchM11!perl-Regexp-Common201706020111.el8noarchL,5perl-Regexp-Assemble0.388.el8noarchK)-perl-Ref-Util-XS0.1172.el8x86_64�&'perl-Ref-Util0.2034.el8noarch�#!perl-Redis1.9953.el8noarchJ%'perl-Readonly2.055.el8noarch�(-perl-Razor-Agent2.861.el8x86_64I!perl-RPM21.410.el8x86_64H(-perl-REST-Client27315.el8noarchG.7perl-RDF-Trine-sqlite1.0198.el8noarchF-5perl-RDF-Trine-redis1.0198.el8noarchE2?perl-RDF-Trine-postgresql1.0198.el8noarchD-5perl-RDF-Trine-mysql1.0198.el8noarchC')perl-RDF-Trine1.0198.el8noarchB()perl-RDF-Query2.91811.el8noarchA)-perl-PublicInbox1.7.02.el8noarch@.9perl-Proc-ProcessTable0.593.el8x86_64?)-perl-Proc-Daemon0.2312.el8noarch>(+perl-Probe-Perl0.0316.el8noarch='+perl-Prima-Test1.601.el8x86_64<"!perl-Prima1.601.el8x86_64;))perl-Pod-Usage1.69395.el8noarch&)perl-Pod-Tests1.206.el8noarch:')perl-Pod-Strip1.0227.el8noarch9')perl-Pod-Spell1.2013.el8noarch8*/perl-Pod-Snippets0.1416.el8noarch7)+	perl-Pod-Simple3.35395.el8noarch(+perl-Pod-Readme1.2.31.el8noarch6(-perl-Pod-Plainer1.047.el8noarch�*-perl-Pod-Perldoc3.28396.el8noarch)+perl-Pod-Parser1.63396.el8noarch�%%perl-Pod-POM2.0113.el8noarch�.;perl-Pod-MinimumVersion5026.el8noarch5*/perl-Pod-Markdown3.0056.el8noarch�()perl-Pod-LaTeX0.61302.el8noarch�*'perl-Pod-Html1.22.02420.el8noarchZ./perl-Pod-Eventual0.09400115.el8noarch4*-	perl-Pod-Escapes1.07395.el8noarch6Aperl-Pod-Coverage-TrustPod0.1000057.el8noarch30;perl-Pod-Coverage-Moose0.0713.el8noarch2*/perl-Pod-Coverage0.2314.el8noarch�+-perl-Pod-Checker1.73395.el8noarch�:Qperl-Plack-Middleware-ReverseProxy0.169.el8noarch1$!perl-Plack1.00477.el8noarch00;perl-PerlIO-via-Timeout0.3213.el8noarch/5Cperl-PerlIO-via-QuotedPrint0.08395.el8noarch�0;perl-PerlIO-utf8_strict0.0075.el8x86_64�)-perl-PerlIO-gzip0.2010.el8x86_64./9perl-PerlIO-buffersize0.0022.el8x86_64-+1perl-PerlIO-Layers0.0123.el8x86_64,+/perl-Perl6-Caller0.10018.el8noarch+,3perl-Perl4-CoreLibs0.0049.el8noarch�+-perl-Perl-OSType1.010396.el8noarchY1=perl-Perl-MinimumVersion1.3820.el8noarch*1=perl-Perl-Destruct-Level0.0220.el8x86_64�+7perl-Perl-Critic-Pulp991.el8noarch))-perl-Perl-Critic1.1345.el8noarch("!perl-Pegex0.751.el8noarch'
^`�
�;�$
�
p
CZ�
 ����eB��8����s�G%
�
�
�
j
D�
%
	�	�	�	x	T	1	������]2
�����y�L������n\5G�!{��dB t����nO-���Lel8_10x86_64�##libgcc8.5.022.el8_10x86_64�#libfdisk2.32.146.el8x86_64�!libdnf0.63.019.el8x86_64�('libcurl-devel7.61.134.el8x86_64�%#libgfortran8.5.020.el8x86_64^ libgcc8.5.020.el8x86_64]#libfdisk2.32.143.el8x86_64\#libdnf0.63.017.el8_9x86_64[('libcurl-devel7.61.133.el8x86_64Z"libcurl7.61.133.el8x86_64Y(+	libglvnd-opengl1.3.21.el8x86_64s(#libgfortran8.5.022.el8_10x86_64�!libdrm2.4.1152.el8x86_64
�!	libglvnd1.3.42.el8x86_64F�!libgs9.2713.el8_10x86_64Mlibgs9.2711.el8x86_64
�libgs9.271.el8x86_64M*1libgpg-error-devel1.311.el8x86_64g$%libgpg-error1.311.el8x86_64�"libgomp8.5.04.el8_5x86_64f libgomp8.5.03.el8x86_64�!libgomp8.5.020.el8x86_64_!libgomp8.5.018.el8x86_64f#libgomp8.5.016.el8_7x86_64
�(+	libglvnd-opengl1.3.42.el8x86_64L(+	libglvnd-opengl1.3.41.el8x86_64	�"libcurl7.61.134.el8x86_64�
�libgs9.274.el8x86_64	�%%	libglvnd-glx1.3.42.el8x86_64K&'	libglvnd-gles1.3.42.el8x86_64J%%	libglvnd-egl1.3.42.el8x86_64I')	libglvnd-devel1.3.42.el8x86_64H,3	libglvnd-core-devel1.3.42.el8x86_64G%%	libglvnd-glx1.3.41.el8x86_64	�%%	libglvnd-glx1.3.21.el8x86_64L&'	libglvnd-gles1.3.41.el8x86_64	�&'	libglvnd-gles1.3.21.el8x86_64K%%	libglvnd-egl1.3.41.el8x86_64	�%%	libglvnd-egl1.3.21.el8x86_64J')	libglvnd-devel1.3.41.el8x86_64	�')	libglvnd-devel1.3.21.el8x86_64r,3	libglvnd-core-devel1.3.41.el8x86_64	�,3	libglvnd-core-devel1.3.21.el8x86_64q!	libglvnd1.3.41.el8x86_64	�!	libglvnd1.3.21.el8x86_64I&#libgfortran8.5.04.el8_5x86_64!%#libgfortran8.5.018.el8x86_64e'#libgfortran8.5.016.el8_7x86_64
�*+libgcrypt-devel1.8.57.el8_6x86_64
�(+libgcrypt-devel1.8.56.el8x86_64f$libgcrypt1.8.57.el8_6x86_64
�"libgcrypt1.8.56.el8x86_64�!libgcc8.5.04.el8_5x86_64elibgcc8.5.03.el8x86_64� libgcc8.5.018.el8x86_64d"libgcc8.5.016.el8_7x86_64
�#!libfontenc1.1.38.el8x86_64�$%libffi-devel3.124.el8x86_64c$%libffi-devel3.123.el8x86_64
�$%libffi-devel3.122.el8x86_64�libffi3.124.el8x86_64blibffi3.123.el8x86_64
�libffi3.122.el8x86_64�%libfdisk2.32.142.el8_8x86_64a%libfdisk2.32.139.el8_7x86_64
�#libfdisk2.32.138.el8x86_64	;#libfdisk2.32.128.el8x86_64�*%!libfbclient24.0.0.24962.el8x86_64�!libevent2.1.85.el8x86_64y!libepoxy1.5.81.el8x86_64H+1libedit3.123.20170329cvs.el8x86_64�!libdrm2.4.1141.el8x86_64�!libdrm2.4.1111.el8x86_64	�!libdrm2.4.1062.el8x86_64G libdnf0.63.03.el8x86_64�#libdnf0.63.014.el8_8x86_64`#libdnf0.63.011.1.el8x86_64	"libdhash0.5.040.el8x86_64
�"libdhash0.5.039.el8x86_64�(#libdb-utils5.3.2842.el8_4x86_64�(#libdb-devel5.3.2842.el8_4x86_64!"libdb5.3.2842.el8_4x86_64�"libdatrie0.2.97.el8x86_64�"libdaemon0.1415.el8x86_64�,'!libcurl-devel7.61.130.el8_8.3x86_64_,'!libcurl-devel7.61.125.el8_7.3x86_64
�('libcurl-devel7.61.122.el8x86_64M&!libcurl7.61.130.el8_8.3x86_64^�$libdnf0.63.020.el8_10x86_64�-'#libcurl-devel7.61.134.el8_10.2x86_64�'#libcurl7.61.134.el8_10.2x86_64�'#libgs-devel9.2713.el8_10x86_64L$libgomp8.5.022.el8_10x86_64�$#libgs-devel9.2711.el8x86_64�##libgs-devel9.271.el8x86_64zlibgs9.276.el8x86_64�
hz�n
�
M�H�>
�
1	�	u�P�.����~�h�
nggK	
b�eb�m1983:db69e3b8a562c4a03b9ffff7387d17e8e548c3d01995:668daf2c58e66efd6cb2669893c0290455422eab8install net-snmp net-snmp-devel�mgg7	
bZ�bZ�1982:62acecd0c70b8951c030aa1976da9190d6e0a1851983:db69e3b8a562c4a03b9ffff7387d17e8e548c3d08install libssh2-devel}lgg+	
bZ�bZ�1981:a3ad441e80e4503dfb315dd3338240612c549d771982:62acecd0c70b8951c030aa1976da9190d6e0a1858install libssh2�kggA	
bG�bG�1980:6b50ca3190129cf7ea14af7d38c643ae03aa289a1981:a3ad441e80e4503dfb315dd3338240612c549d778install libmemcached-devel�jgg;	
bE�bE�1979:cda4e624269617e22509a1844e7f9c1170a27c8c1980:6b50ca3190129cf7ea14af7d38c643ae03aa289a8install libmcrypt-develigg/	
bE�bE�1978:ad17da1b51ddc241f53761fe5369011741badf6c1979:cda4e624269617e22509a1844e7f9c1170a27c8c8install libmcrypt�hgg?	
bBbB1956:c206891e93736b0c228f25adf454d2530cbe875c1978:ad17da1b51ddc241f53761fe5369011741badf6c8install ImageMagick-devel�ggg9	
bV�bV�1954:d598f35e73d705ae7ec0b266d5b926363a5f67ee1956:c206891e93736b0c228f25adf454d2530cbe875c8install openldap-devel�	fggC	
b/�b/�1952:d6792383a79b0e657589c40524c4cb955c099b761954:d598f35e73d705ae7ec0b266d5b926363a5f67ee8install libzip libzip-devel�eggM	
b/lb/r1949:210db3f324be2ebff8b34769d531fd9c7ef271e71952:d6792383a79b0e657589c40524c4cb955c099b768install libxslt libxslt-devel -y�dggM	
b/b/1947:83b5ff3a5c8ea5481717315583bf637add3943511949:210db3f324be2ebff8b34769d531fd9c7ef271e78install libtidy libtidy-devel -y�cggO	
b.�b.�1945:b5765f9d0a5c423cacb8a282a112fbdd2e3b9bc11947:83b5ff3a5c8ea5481717315583bf637add3943518install libsodium-devel libsodium�bggQ	
b.~b.�1944:8328c540b52e5ff38772022aab536659f69fa10b1945:b5765f9d0a5c423cacb8a282a112fbdd2e3b9bc18install unixODBC unixODBC-devel -y�aggg	
b.b.1941:508e1a5f71ef6d3c61f414eec349320d2d4e97c91944:8328c540b52e5ff38772022aab536659f69fa10b8install freetds freetds-libs freetds-devel -y�`ggO	
b-�b-�1939:311aeb1e43a5eefb4e2e69093deafc8620f265181941:508e1a5f71ef6d3c61f414eec349320d2d4e97c98install oniguruma oniguruma-devel�	_ggC	
b-�b-�1937:afd60bb2bc5b5a8332bd22de4e9273f7eadde2a91939:311aeb1e43a5eefb4e2e69093deafc8620f265188install libicu libicu-devel�^gg7	
b-hb-k1936:4d7a117e0ab1c100c62ad9277bf76977bd00445c1937:afd60bb2bc5b5a8332bd22de4e9273f7eadde2a98install uw-imap-utils�]gg9	
b-Ub-X1934:b1725e344a630ae66d549ed63f72e06d3e2182821936:4d7a117e0ab1c100c62ad9277bf76977bd00445c8install uw-imap-static~\gg-	
b,$b,*1932:4c1fb77cc78e9744013da5d661fe64cc869d66331934:b1725e344a630ae66d549ed63f72e06d3e2182828install autoconf�[gg?	
b+�b+�1931:07a4c03d0250cc1a067ad84fd98c5e390e1647711932:4c1fb77cc78e9744013da5d661fe64cc869d66338install libc-client-devel�Zgg3	
b+.b+01930:39ff4f460197f485fee7c7cdc408d22f519652ad1931:07a4c03d0250cc1a067ad84fd98c5e390e1647718install libc-clientYgg/	
b*�b*�1928:757285a5a2e307d906d9f40b1a2619330dac516b1930:39ff4f460197f485fee7c7cdc408d22f519652ad8install gmp-devel�Xgga	
b*xb*{1927:0c539354b42e57e7b90895046f522cc99d7ebedc1928:757285a5a2e307d906d9f40b1a2619330dac516b8install libXpm perl-Image-Xpm libXpm-devel�Wgg7	
b*
b*1926:137742ac2ca64b83bea6fc61f9452296f9ba1b5b1927:0c539354b42e57e7b90895046f522cc99d7ebedc8install libjpeg-devel�Vgg7	
b)�b)�1925:55b2f005db62f4ae80bc29fb7388dcec057b1bfb1926:137742ac2ca64b83bea6fc61f9452296f9ba1b5b8install libwebp-devel�Ugg7	
b)�b)�1924:53f71b6aadbdb2a685abe67c1ba88c58dacf63ef1925:55b2f005db62f4ae80bc29fb7388dcec057b1bfb8install libcurl-devel�Tgg7	
b)ib)l1922:f517551392ff6514e6dfa7d062b3f199db901c211924:53f71b6aadbdb2a685abe67c1ba88c58dacf63ef8install libxml2-devel
R����lB���}U+
�
�
�
c
8
��d8	���h9
�
�
�
b
8
	�	�	�	h	B	���wI ���` ���i2���g?���Y(��o,��I�o-�B�&+K�rubygem-openssl2.1.2109.module+el8.5.0+740+b85cbe0dx86_64?�%%K�rubygem-json2.1.0109.module+el8.5.0+740+b85cbe0dx86_64E�$1K�rubygem-io-console0.4.6109.module+el8.5.0+740+b85cbe0dx86_64G�#5K�rubygem-did_you_mean1.2.0109.module+el8.5.0+740+b85cbe0dnoarchE�"1K�rubygem-bigdecimal1.3.4109.module+el8.5.0+740+b85cbe0dx86_64<�!K�ruby-libs2.5.9109.module+el8.5.0+740+b85cbe0dx86_64;� K�ruby-irb2.5.9109.module+el8.5.0+740+b85cbe0dnoarch7�K�ruby2.5.9109.module+el8.5.0+740+b85cbe0dx86_64)�'�libxml2-devel2.9.712.el8_5x86_64@�#M�httpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64E�-M�httpd-filesystem2.4.3743.module+el8.5.0+746+b6ce3176.2noarch:�M�httpd2.4.3743.module+el8.5.0+746+b6ce3176.2x86_641�))�kernel-modules4.18.0348.20.1.el8_5x86_64.�#)�kernel-core4.18.0348.20.1.el8_5x86_64)�)�kernel4.18.0348.20.1.el8_5x86_64 ��libnsl2.28164.el8x86_648�I!�oracle-instantclient11.2-basic11.2.0.4.01x86_64+�-�openldap-clients2.4.4618.el8x86_64+�+�libargon2-devel201712273.el8x86_64%��libargon2201712273.el8x86_64"��argon2201712273.el8x86_646�E!�oracle-instantclient-sqlplus21.5.0.0.01x86_643�?!�oracle-instantclient-jdbc21.5.0.0.01x86_644�A!�oracle-instantclient-devel21.5.0.0.01x86_644�A!�oracle-instantclient-basic21.5.0.0.01x86_64(�
!�rpm-devel4.14.319.el8_5.2x86_64"�!�popt-devel1.181.el8x86_64%�'	�net-snmp-libs5.822.el8x86_64<�
+?�lm_sensors-libs3.4.023.20180522git70f7e08.el8x86_64=�	-?�lm_sensors-devel3.4.023.20180522git70f7e08.el8x86_64&�'�libzstd-devel1.4.41.el8x86_64.�7�elfutils-libelf-devel0.1851.el8x86_64'�)�elfutils-devel0.1851.el8x86_649�M�elfutils-debuginfod-client-devel0.1851.el8x86_64&�)	�net-snmp-devel5.822.el8x86_64+�3	�net-snmp-agent-libs5.822.el8x86_64 �	�net-snmp5.822.el8x86_64&�'�libssh2-devel1.9.05.el8x86_64 ��libssh21.9.05.el8x86_64-�1�libmemcached-devel1.0.1815.el8x86_64)�~+�libmcrypt-devel2.5.826.el8x86_64#�}libmcrypt2.5.826.el8x86_64.�|/~ImageMagick-devel6.9.10.861.el8x86_64(�{#}ImageMagick6.9.10.861.el8x86_64#�z#|libgs-devel9.271.el8x86_64"�y#{lcms2-devel2.92.el8x86_64&�x%zjasper-devel2.0.145.el8x86_64'�w'yilmbase-devel2.2.013.el8x86_64'�v'xOpenEXR-devel2.2.012.el8x86_64+�u/wmesa-libGLU-devel9.0.015.el8x86_64'�t'vlibtiff-devel4.0.920.el8x86_64(�s+	ulibglvnd-opengl1.3.21.el8x86_64'�r)	tlibglvnd-devel1.3.21.el8x86_64,�q3	slibglvnd-core-devel1.3.21.el8x86_64%�p#rlibXt-devel1.1.512.el8x86_64&�o'qlibXext-devel1.3.41.el8x86_64$�n#plibSM-devel1.2.31.el8x86_64&�m%olibICE-devel1.0.915.el8x86_64,�l#+ngl-manpages1.115.20161227.el8noarch)�k)mopenldap-devel2.4.4618.el8x86_64*�j-lcyrus-sasl-devel2.1.275.el8x86_64=�i%Gklibzip-devel1.5.12.module+el8.4.0+413+c9202ddax86_647�hGjlibzip1.5.12.module+el8.4.0+413+c9202ddax86_64*�g1ilibgpg-error-devel1.311.el8x86_64(�f+hlibgcrypt-devel1.8.56.el8x86_64'�e'glibxslt-devel1.1.326.el8x86_64&�d'flibtidy-devel5.6.05.el8x86_64 �celibtidy5.6.05.el8x86_64)�b+dlibsodium-devel1.0.182.el8x86_64#�aclibsodium1.0.182.el8x86_64'�`)bunixODBC-devel2.3.71.el8x86_64%�_%afreetds-libs1.3.31.el8x86_64&�^'`freetds-devel1.3.31.el8x86_64 �]_freetds1.3.31.el8x86_64(�\+^oniguruma-devel6.8.22.el8x86_64"�[]oniguruma6.8.22.el8x86_64&�Z%\libicu-devel60.32.el8_1x86_64'�Y'[uw-imap-utils2007f24.el8x86_64(�X)Zuw-imap-static2007f24.el8x86_64#�WYpam-devel1.3.115.el8x86_64�VXm41.4.187.el8x86_64!�UWautoconf2.6929.el8noarch
����������scSC3#��������ueVF7(

�
�
�
�
�
�
�
�
�
t
e
V
G
8
)

��������|l]N?0!��������tcRA0
�
�
�
�
�
�
�
�
�
p
_
N
=
-


	�	�	�	�	�	�	�	�	w	f	U	E	5	$		��������rbSC4$��������wgXH8(��������sbRA1 ��������{k[K:)	��������ueUE5%��������raP?.��������}l[J:*
���
�	z�
�	z�
�	z�
�	z�
�	z�
�	z�
�	z��y��y��~x��}x��|		w�
�{	w��z		w��y		w�
�x	v�
�w		uI
�v		u��u	u(�t	u��s	u'�r	u��q	u&�p	u��o	uu�n	u��m	u��l	u�
�k		u�
�j		u�
�i		u�
�h		u�
�g		u�
�f		u�
�e		u�
�d		u�
�c		u*
�b		u�
�a		us
�`		u�
�_		u
�^		u��]	u��\	u�
�[		u�
�Z		u��Y	u��X	u�
�W		uf
�V		u�
�U		ue
�T		u��S	ud�R	u�
�Q		u�
�P		u�
�O	uw�N	u�
�M	uv�L	u�
�K	uu�J	u�
�I	ut�H	u�
�G	us�F	u�
�E	ur�D	u�
�C	uq�B	u�
�A	up�@	u�
�?	uo�>	u�
�=	un�<	u�
�;	um�:	u�
�9	ul�8	u�
�7	uk�6	u�
�5		u�
�4		u�
�3		u�
�2		u��1		uJ
�0		u��/		uI
�.		u��-		uH
�,		u��+		u?
�*		u�
�)	u>�(	u�
�'		u�
�&		u��%		u9
�$		u��#		u(
�"		u��!		u'
� 		u��		u 
�		u�
�		u
�		u�
�		ul
�		u�
�		u
�		u��	uy�	u��	ux�	u�
�		uw
�		u��	uv�	u�
�		uu
�		u��
	ut�	u��	us�
	u��		ur�	u�
�		uq
�		u�
�		up
�		u��	uo�	u��	uN�	u�
�		u=
�~		u�
�}		u<
�|		u�
�{		u;
�z		u��y			u��x			u�
�w		u�
�v		t��u	s��t	r��s	r��r	r��q	r�
�p		q�
�o		p�
�n		p�
�m		p�
�l		o�
�k		o�
�j		o�
�i		o��h			n��g			n��f			n��e			n��d			n��c			n��b			n��a			n�
�`		n�
�_		n��^			n�
�]		n�
�\		m�
�[		l�
�Z		k�	
�Y		j�
�X		i
�W		h~�V			h}�U			h|	�T			h{	�S			hz	�R			hy	�Q			hx	�P			h��O			hw�N			h��M			hz�L			hv�K			hu�J			hM�I			hL�H			ht�G			hs�F			hr�E			hq�D			hp�C			ho�B			hn
�A		gm�@			gl
�?		fk
�>		fj�=			ei�<			eh
�;		eg
�:		df
�9		de
�8		cd
�7		cc
�6		bb
�5		aa
�4		a`
�3		a_
�2		`^	
�1		`]
�0		_\
�/		_&
�.		^[
�-		]Z�,			]Y�+			\X
�*		\W
�)		[V
�(		ZU
�'		YT�&			YS
q��LE>70)"

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
s
l
e
^
W
P
I
B
;
4
-
&





	�	�	�	�	�	�	�	�jc\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



����	�	�	�	�	�	�	�	�	�	�	~	w	p	i	b	[	T	M	F	?	8	1	*	#					������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%	������������������}vohaZSLE>70)"
�������������������������������yrkd]VOHA:3,%	������������������}vohaZS������������������{tmf_XQJC<5.' ������������������xqL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLqLpLoLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSLRLQLPLOLNLMLLLKLJLILHLGLFLELDLCLBLAL@L?L>L=L<L;L:L9L8L7L6L5L4L3L2L1L0L/L.L-L,L+L*L)L(L'L&L%L$L#L"L!L LLLLLLLLLLLLLLLLLLL
LLL
L	LLLLLLLLLL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLqLpLoLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L��L�
�+�#�*��Sgg=	
b&b&1921:5b7c7513d73dbcf7462fb7c35b62e7da7064ca461922:f517551392ff6514e6dfa7d062b3f199db901c218install postgresql-devel�Rgg1	
b%b%1920:d4efe22cc412914d69680715115c4ef6c32a64d41921:5b7c7513d73dbcf7462fb7c35b62e7da7064ca468install postgresqlyQgg#	
b�b�1923:497ba1d3e10dba3d7ead4b2a9c9f1f61b922b8311920:d4efe22cc412914d69680715115c4ef6c32a64d48remove sudo|Pgg)	
b�b�1926:e70df29b756f4a850b6fd388c6f95f7a0c11b2391923:497ba1d3e10dba3d7ead4b2a9c9f1f61b922b8318remove rrdtool}Ogg+	
b�b'2060:81b5c21ab68fccbc8e530d17e0a75a9be9e5cc851926:e70df29b756f4a850b6fd388c6f95f7a0c11b2398remove qemu-kvm�Ngg=	
b�b�2063:87f13495fb339b5237404d1dd6a59898e34e10c92060:81b5c21ab68fccbc8e530d17e0a75a9be9e5cc858remove postgresql-server�Mgg3	
bnbu2066:ae922fbb5ebfaf1f7fd777123dae3373bc41ab4b2063:87f13495fb339b5237404d1dd6a59898e34e10c98remove spamassassin��5L
eg��	
b�b@719:60a794497da8825d9e11e06e10297c42064e1fa72066:ae922fbb5ebfaf1f7fd777123dae3373bc41ab4b8install perl-AWS-Signature4 perl-Algorithm-C3 perl-Algorithm-Combinatorics perl-Algorithm-Diff perl-Algorithm-Loops perl-Any-Moose perl-Any-URI-Escape perl-AnyEvent perl-AnyEvent-AIO perl-AnyEvent-BDB perl-AnyEvent-CacheDNS perl-AnyEvent-HTTP perl-Apache-DBI perl-Apache-Reload perl-Apache-Session perl-Apache-Session-Browseable perl-Apache-Session-LDAP perl-Apache-Session-NoSQL perl-Apache-Session-Redis perl-Apache2-SOAP perl-App-Nopaste perl-App-cpanminus perl-AppConfig perl-Archive-Any-Lite perl-Archive-Extract perl-Archive-Peek perl-Archive-Tar perl-Archive-Zip perl-Archive-Zip-SimpleZip perl-Array-Diff perl-Array-Unique perl-Array-Utils perl-Astro-SunTime perl-Attribute-Handlers perl-AuthCAS perl-Authen-Captcha perl-Authen-Credential perl-Authen-DecHpwd perl-Authen-Krb5 perl-Authen-PAM perl-Authen-Passphrase perl-Authen-Radius perl-Authen-SASL perl-Authen-Simple perl-Authen-Simple-Passwd perl-B-COW perl-B-Compiling perl-B-Debug perl-B-Hooks-EndOfScope perl-B-Hooks-OP-Annotation perl-B-Hooks-OP-Check perl-B-Keywords perl-B-Lint perl-B-Utils perl-BDB perl-BSD-Resource perl-Bencode perl-BerkeleyDB perl-Bit-Vector perl-Browser-Open perl-Business-ISBN perl-Business-ISBN-Data perl-Bytes-Random-Secure perl-CBOR-XS perl-CDB_File perl-CGI perl-CGI-Compile perl-CGI-Emulate-PSGI perl-CGI-Fast perl-CGI-SpeedyCGI perl-CLASS perl-CPAN perl-CPAN-Changes perl-CPAN-DistnameInfo perl-CPAN-Meta perl-CPAN-Meta-Check perl-CPAN-Meta-Requirements perl-CPAN-Meta-YAML perl-CSS-Tiny perl-Cache-Cache perl-Cache-FastMmap perl-Cache-LRU perl-Cache-Memcached perl-Cairo perl-Cairo-GObject perl-Canary-Stability perl-Capture-Tiny perl-Carp perl-Carp-Always perl-Carp-Assert perl-Carp-Assert-More perl-Carp-Clan perl-Carp-Fix-1_25 perl-Child perl-Class-Accessor perl-Class-Accessor-Grouped perl-Class-Accessor-Lite perl-Class-C3 perl-Class-C3-Componentised perl-Class-DBI perl-Class-DBI-Plugin perl-Class-DBI-Plugin-DeepAbstractSearch perl-Class-Data-Inheritable perl-Class-ErrorHandler perl-Class-Factory-Util perl-Class-ISA perl-Class-Inspector perl-Class-Iterator perl-Class-Load perl-Class-Load-XS perl-Class-Measure perl-Class-Method-Modifiers perl-Class-MethodMaker perl-Class-Mix perl-Class-Singleton perl-Class-Std perl-Class-Std-Fast perl-Class-Tiny perl-Class-Trigger perl-Class-Unload perl-Class-XSAccessor perl-Clipboard perl-Clone perl-Clone-Choose perl-Clone-PP perl-Collectd perl-Color-ANSI-Util perl-Color-RGB-Util perl-ColorThemeBase-Static perl-ColorThemeRole-ANSI perl-ColorThemeUtil-ANSI perl-Compress-Bzip2 perl-Compress-LZF perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-Compress-Stream-Zstd perl-Config-Any perl-Config-AutoConf perl-Config-General perl-Config-Generator perl-Config-GitLike perl-Config-Grammar perl-Config-IniFiles perl-Config-Perl-V perl-Config-Simple perl-Config-Std perl-Config-Tiny perl-Config-Validator perl-Const-Fast perl-Context-Preserve perl-Contextual-Return perl-Convert-ASN1 perl-Convert-Base32 perl-Convert-Bencode perl-Convert-Bencode_XS perl-Convert-BinHex perl-Convert-PEM perl�

�4P����������������xph`PH�80( ������������������������xph`XPH����������������
	�	�	�	�	�	�	�	�
H( 
�
�
�
�0�����@�	�	�	�	�	�	�	�	�	x
(`X������xph����������
 


 
0XPH@����H@8�xp�h`XPH@8�0�( �
(��
�
�
X
�
P
�
@
x
8
p
h
0
`@80`(X (�xph`X�	p	h	`	X	P	H	@	8	0	(	 	�			�����������������xph`XPH@80( �����������������xX
�
�
��xpPh`XPH@80( 	��	��	��	��	�	�h
�P
�
�
�( �
�
�
�
�
��
���H�
���������0( xph`XPH@80( �
�
�
�
�
��
��
�
�
��
�
�
�
�
�
�
�
�
x
pP
h
`
X
P�
H�
@
8
0�Hnjk��
-���
+���
)�������������~�����������p�����j����� .i-h,g+
+
����3n2m1l0k/
U/j��3�������������������������������������������!��^��������������������������������"�
�#^"]!\ [ZXWVUYTSRQPONML��
>���
�����
�	������P��t	�t�s	�s�r	�r�q	�q�p	�p�o	�o�n�m�l�k
^k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\@\�[�Z�Y�X�W2W�V�U�T�S�R�Q�P$P�O�N�M�L�K�J�I�H�G�F�E�DC~BB}A|@{?z>y=x<T<w;v:u9t8s7r6q5p4o�(�'�&�|�%�z�$�x�#���������h<;:9
�*
�(
�'
��`&
d%
R+f*e)d(c'b&a%`$_80kk����p��n��l��b�=`A@?>�HG
FED
C	BP KJIh-
�,
�
h�B��V�DkTk�
`
0�)�8�0�/�.�4�-�,P8:�8�7�6�
��5�4�3�2�1
�
�
�@
�i
�
�.
���h �*��k�L�kR��k�� �+����,
���v�]Q~2)
�
�
�
�
�
�
�
�
|
o
a

V
>
3
&l


�����]����kU?��G.�����F6������rvcQH>.�
�
�
��e
�
�
�
�
�
�
~
p�W
Z
C
,
��
	�	�	��Y	�	��	�	�	~	n�	S	/	&		��~iT?*-!������}hS>)���������m��XB,C-�������~��iS='���������0~������mhsXB/iptables-ebtables�-httpd-filesystem8�-iwl3160-firmwareG-iwl3160-firmware
-iwl3160-firmwareN-iwl3160-firmwarek-iwl3160-firmware
�-iwl3160-firmware�-iwl3160-firmwareo-iwl2030-firmwareF-iwl2030-firmware
-iwl2030-firmwareM-iwl2030-firmwarej-iwl2030-firmware
�-iwl2030-firmware�-iwl2030-firmwaren-iwl2000-firmwareE-iwl2000-firmware
-iwl2000-firmwareL'iptables-libs�	htop	3grub2-tools-minimal��-iwl5000-firmwareO-iwl5000-firmwarel-iwl5000-firmware
�-iwl5000-firmware�-iwl5000-firmwarep
httpd7
harfbuzz6-iwl5150-firmwareq-iwl5000-firmware
#httpd-tools9
iptables�iproute�hwdata�grubby�3grub2-tools-minimal�
-iwl5150-firmwareP-iwl5150-firmwarem-iwl5150-firmware
�-iwl5150-firmware�-iwl5000-firmwareH-iwl2000-firmwarei-iwl2000-firmware
�-iwl2000-firmware�-iwl2000-firmwarem+iwl135-firmwareD+iwl135-firmware
+iwl135-firmwareK+iwl135-firmwareh+iwl135-firmware
�+iwl135-firmware�+iwl135-firmwarel+iwl105-firmwareC+iwl105-firmware
+iwl105-firmwareJ+iwl105-firmwareg+iwl105-firmware
�+iwl105-firmware�+iwl105-firmwarek-iwl1000-firmwareB-iwl1000-firmware
-iwl1000-firmwareI-iwl1000-firmwaref-iwl1000-firmware
�-iwl1000-firmware�-iwl1000-firmwarej+iwl100-firmwareA+iwl100-firmware
+iwl100-firmwareH+iwl100-firmwaree+iwl100-firmware
�!irqbalance@iputils?'iptables-libs>/iptables-ebtables=
iptables<iproute;hwdata:grubby9h
-iwl1000-firmware�+iwl100-firmware�-iwl6000-firmware�-iwl6000-firmwarer-iwl5150-firmwareI-iwl5150-firmware

ipmitool
�#httpd-tools
�-httpd-filesystem
�
httpd
�+iwl100-firmware�+iwl100-firmwareiiso-codesA+isns-utils-libsisl�#Iiscsi-initiator-utils-iscsiuio7iscsi-initiator-utils!irqbalanceG!irqbalance
�!irqbalanceh)ipxe-roms-qemu@iputils
�iputilsg'iptables-libs
'iptables-libsF'iptables-libs
�'iptables-libsf/iptables-ebtables
/iptables-ebtablesE/iptables-ebtables
�/iptables-ebtablese
iptables


iptablesD
iptables
iptablesd!ipset-libsc	ipsetbiprutilsa!iproute-tciprouteCiproute
~iproute`
ipmitool?ipcalc#initscripts
}#initscripts_	info
|info^'ima-evm-utils]'ilmbase-develwilmbase>hwdataBhwdata
{
hwdata\)hunspell-en-US=
hunspell<#httpd-tools�#httpd-tools�#httpd-toolsU#httpd-tools	�#httpd-tools�#httpd-tools�#httpd-tools;-httpd-filesystem�-httpd-filesystem�-httpd-filesystemT-httpd-filesystem	�-httpd-filesystem�-httpd-filesystem�-httpd-filesystem:
httpd�
httpd�
httpdS
httpd	�
httpd�
httpd�
httpd9hostname[
hivex81hicolor-icon-theme�
hdparmZ
harfbuzz�hardlinkY	gzip�gzipX
guile7	gtk3	�	gtk36	gtk2�7gtk-update-icon-cache	�7gtk-update-icon-cache�;gstreamer1-plugins-base5!gstreamer14
gssproxygsl3?gsettings-desktop-schemasgrubby
z
grubbyW-iwl5150-firmware�-iwl5000-firmware�-iwl3160-firmware�-iwl2030-firmware�-iwl2000-firmware�+iwl135-firmware�+iwl105-firmware�-iwl1000-firmware�+iwl100-firmware�#httpd-toolsn-httpd-filesystemm
httpdl-iwl5150-firmware�-iwl5000-firmware�-iwl3160-firmware�-iwl2030-firmware�-iwl2000-firmware�+iwl135-firmware�+iwl105-firmware�
^�K���nJ(��)�U5
�
�u
�
�
aK�
:
����V+� �L��Y/��!
�
�
�
c
;�b�
	�	�	�	]�5�	8	���s
����xU0���X5����cB����v'#libsss_sudo2.9.44.el8_10x86_64�,-libsss_nss_idmap2.9.44.el8_10x86_64�(%libsss_idmap2.9.44.el8_10x86_64�*)libsss_certmap2.9.44.el8_10x86_64�)'libsss_autofs2.9.44.el8_10x86_64�libtdb1.4.83.el8x86_64qlibtdb1.4.71.el8x86_64~libtdb1.4.61.el8x86_64
�libtdb1.4.31.el8x86_64�()libtasn1-devel4.134.el8_7x86_64
P"libtasn14.134.el8_7x86_64
� libtasn14.133.el8x86_64�"libtalloc2.4.10.el8x86_64�"libtalloc2.4.03.el8x86_64p"libtalloc2.3.41.el8x86_64}"libtalloc2.3.32.el8x86_64
�"libtalloc2.3.21.el8x86_64�"libsysfs2.1.025.el8x86_64
�"libsysfs2.1.024.el8x86_64�*+libstdc++-devel8.5.04.el8_5x86_64\,+libstdc++-devel8.5.022.el8_10x86_64P)+libstdc++-devel8.5.020.el8x86_64
�)+libstdc++-devel8.5.018.el8x86_64�++libstdc++-devel8.5.016.el8_7x86_64	�$libstdc++8.5.04.el8_5x86_64k"libstdc++8.5.03.el8x86_64�&libstdc++8.5.022.el8_10x86_64�#libstdc++8.5.020.el8x86_64o#libstdc++8.5.018.el8x86_64|%libstdc++8.5.016.el8_7x86_64
�'#libsss_sudo2.9.43.el8_10x86_64�,-libsss_nss_idmap2.9.43.el8_10x86_64�(%libsss_idmap2.9.43.el8_10x86_64�*)libsss_certmap2.9.43.el8_10x86_64�)'libsss_autofs2.9.43.el8_10x86_64�''libssh-config0.9.614.el8noarch� libssh0.9.614.el8x86_64�!libsoup2.62.35.el8x86_64�'%libsmartcols2.32.146.el8x86_64�(#libsss_sudo2.9.14.el8_9.5x86_64�--libsss_nss_idmap2.9.14.el8_9.5x86_64�)%libsss_idmap2.9.14.el8_9.5x86_64�+)libsss_certmap2.9.14.el8_9.5x86_64�*'libsss_autofs2.9.14.el8_9.5x86_64�)'libssh-config0.9.613.el8_9noarch�"libssh0.9.613.el8_9x86_64�&#libsss_sudo2.9.14.el8_9x86_64n&#libsss_sudo2.8.23.el8_8x86_64{(#libsss_sudo2.7.34.el8_7.3x86_64
�(#libsss_sudo2.5.22.el8_5.4x86_64_$#libsss_sudo2.5.22.el8x86_64�+-libsss_nss_idmap2.9.14.el8_9x86_64m+-libsss_nss_idmap2.8.23.el8_8x86_64z--libsss_nss_idmap2.7.34.el8_7.3x86_64
�--libsss_nss_idmap2.5.22.el8_5.4x86_64j)-libsss_nss_idmap2.5.22.el8x86_64�'%libsss_idmap2.9.14.el8_9x86_64l'%libsss_idmap2.8.23.el8_8x86_64y)%libsss_idmap2.7.34.el8_7.3x86_64
�)%libsss_idmap2.5.22.el8_5.4x86_64i%%libsss_idmap2.5.22.el8x86_64�))libsss_certmap2.9.14.el8_9x86_64k))libsss_certmap2.8.23.el8_8x86_64x+)libsss_certmap2.7.34.el8_7.3x86_64
�+)libsss_certmap2.5.22.el8_5.4x86_64h')libsss_certmap2.5.22.el8x86_64�('libsss_autofs2.9.14.el8_9x86_64j('libsss_autofs2.8.23.el8_8x86_64w*'libsss_autofs2.7.34.el8_7.3x86_64
�*'libsss_autofs2.5.22.el8_5.4x86_64g&'libsss_autofs2.5.22.el8x86_64�&'libssh2-devel1.9.05.el8x86_64�''libssh2-devel1.10.01.el8x86_64
7 libssh21.9.05.el8x86_64�!libssh21.10.01.el8x86_64
6&'libssh-config0.9.63.el8noarch
�)'libssh-config0.9.610.el8_8noarchv&'libssh-config0.9.43.el8noarch�libssh0.9.63.el8x86_64
�"libssh0.9.610.el8_8x86_64ulibssh0.9.43.el8x86_64�libss1.45.65.el8x86_64
�libss1.45.62.el8x86_64�6Alibspf21.2.1111.20210922git4915c308.el8x86_64
55?libspf21.2.111.20210922git4915c308.el8x86_64�!libsoup2.62.34.el8x86_64i!libsoup2.62.33.el8x86_64t!libsoup2.62.32.el8x86_64*!libsolv0.7.206.el8x86_64h#libsolv0.7.204.el8_7x86_64
�!libsolv0.7.203.el8x86_64	!libsolv0.7.191.el8x86_64�)+libsodium-devel1.0.182.el8x86_64b#libsodium1.0.182.el8x86_64a
G���e���`:
�
�
�
o
F
����a9���q4
�
�
�
|
V
2

	�	�		Z	6��G��M��M��>��'�v-���qC���A��B�})Gmariadb-errmsg10.3.281.module+el8.4.0+427+adf35707x86_64B�|)G~mariadb-common10.3.281.module+el8.4.0+427+adf35707x86_64B�{)G}mariadb-backup10.3.281.module+el8.4.0+427+adf35707x86_64;�zG|mariadb10.3.281.module+el8.4.0+427+adf35707x86_64#�y%{libxshmfence1.32.el8x86_64+�x/zlibwayland-server1.19.01.el8x86_64(�w)ylibwayland-egl1.19.01.el8x86_64+�v/xlibwayland-cursor1.19.01.el8x86_64+�u/wlibwayland-client1.19.01.el8x86_64"�t	vlibvorbis1.3.62.el8x86_64#�s	ulibvisual0.4.025.el8x86_64@�r%Mtlibvirt-libs6.0.037.1.module+el8.5.0+732+d204e9f7x86_64F�q1Mslibvirt-daemon-kvm6.0.037.1.module+el8.5.0+732+d204e9f7x86_64V�pQMrlibvirt-daemon-driver-storage-scsi6.0.037.1.module+el8.5.0+732+d204e9f7x86_64U�oOMqlibvirt-daemon-driver-storage-rbd6.0.037.1.module+el8.5.0+732+d204e9f7x86_64W�nSMplibvirt-daemon-driver-storage-mpath6.0.037.1.module+el8.5.0+732+d204e9f7x86_64Y�mWMolibvirt-daemon-driver-storage-logical6.0.037.1.module+el8.5.0+732+d204e9f7x86_64^�laMnlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64W�kSMmlibvirt-daemon-driver-storage-iscsi6.0.037.1.module+el8.5.0+732+d204e9f7x86_64Y�jWMllibvirt-daemon-driver-storage-gluster6.0.037.1.module+el8.5.0+732+d204e9f7x86_64V�iQMklibvirt-daemon-driver-storage-disk6.0.037.1.module+el8.5.0+732+d204e9f7x86_64V�hQMjlibvirt-daemon-driver-storage-core6.0.037.1.module+el8.5.0+732+d204e9f7x86_64Q�gGMilibvirt-daemon-driver-storage6.0.037.1.module+el8.5.0+732+d204e9f7x86_64P�fEMhlibvirt-daemon-driver-secret6.0.037.1.module+el8.5.0+732+d204e9f7x86_64N�eAMglibvirt-daemon-driver-qemu6.0.037.1.module+el8.5.0+732+d204e9f7x86_64R�dIMflibvirt-daemon-driver-nwfilter6.0.037.1.module+el8.5.0+732+d204e9f7x86_64Q�cGMelibvirt-daemon-driver-nodedev6.0.037.1.module+el8.5.0+732+d204e9f7x86_64Q�bGMdlibvirt-daemon-driver-network6.0.037.1.module+el8.5.0+732+d204e9f7x86_64S�aKMclibvirt-daemon-driver-interface6.0.037.1.module+el8.5.0+732+d204e9f7x86_64B�`)Mblibvirt-daemon6.0.037.1.module+el8.5.0+732+d204e9f7x86_64!�_	alibuv1.41.11.el8_4x86_64"�^`libusal1.1.1139.el8x86_64#�]	_libtheora1.1.121.el8x86_64*�\+^libstdc++-devel8.5.04.el8_5x86_648�[G]libserf1.3.99.module+el8.4.0+407+38733e5ax86_64"�Z\librsvg22.42.74.el8x86_64!�Y	[librbd112.2.79.el8x86_64#�X	Zlibrados212.2.79.el8x86_64�WYlibpq13.31.el8_4x86_64 �VXlibpmem1.6.11.el8x86_64#�UWlibpaper1.1.2422.el8x86_64!�TVlibogg1.3.210.el8x86_64&�S%Ulibmaxminddb1.2.010.el8x86_64:�RGTlibiscsi1.18.08.module+el8.4.0+534+4680a14ex86_64�QSlibipt1.6.18.el8x86_64�PRlibijs0.355.el8x86_64=�O!	IQlibguestfs1.40.228.module+el8.5.0+670+c4aa478cx86_64"�NPlibgtop22.38.03.el8x86_64�MOlibgs9.271.el8x86_64%�L%	Nlibglvnd-glx1.3.21.el8x86_64&�K'	Mlibglvnd-gles1.3.21.el8x86_64%�J%	Llibglvnd-egl1.3.21.el8x86_64!�I	Klibglvnd1.3.21.el8x86_64!�HJlibepoxy1.5.81.el8x86_64!�GIlibdrm2.4.1062.el8x86_64%�FHlibcacard2.7.02.el8_1x86_64&�E'Glibatomic_ops7.6.23.el8x86_64�DFlibXv1.0.117.el8x86_64!�CElibXaw1.0.1310.el8x86_64%�B'Djbig2dec-libs0.161.el8x86_64!�ACiso-codes3.792.el8noarch6�@)/Bipxe-roms-qemu201812148.git133f4c47.el8noarch#�?Aipmitool1.8.1818.el8x86_64!�>@ilmbase2.2.013.el8x86_64/�=)%?hunspell-en-US0.20140811.112.el8noarch!�<>hunspell1.6.21.el8x86_64@�;#M=httpd-tools2.4.3743.module+el8.5.0+727+743c5577.1x86_64E�:-M<httpd-filesystem2.4.3743.module+el8.5.0+727+743c5577.1noarch:�9M;httpd2.4.3743.module+el8.5.0+727+743c5577.1x86_648�8I:hivex1.3.1821.module+el8.5.0+670+c4aa478cx86_64 �79guile2.0.147.el8x86_64
he@0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@����������xph`XPH@80( ����������������xph`XPH@8����������������xph`XPH@80( ����������������xph


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOM


	
	������������������������������������������������MKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! NLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! �
J_��|L ���c5
�
�
z2
P
���\,���`2
�
�
Z�
1
	�	�	�	W	&���`�m>	���U*��`:���l;���^3���_')perl-File-Type0.2235.el8noarch-5perl-File-TreeCreate0.0.11.el8noarch*/perl-File-Tempdir0.0212.el8noarch+)perl-File-Temp0.230.6001.el8noarch�&)perl-File-Tail1.313.el8noarch*/perl-File-Slurper0.0126.el8noarch++perl-File-Slurp9999.1919.el8noarch�2Aperl-File-ShareDir-Install0.137.el8noarch+1perl-File-ShareDir1.1043.el8noarch�(+perl-File-Share0.2520.el8noarch(-perl-File-Remove1.576.el8noarchy0;perl-File-ReadBackwards1.0511.el8noarchx*3perl-File-Path-Tiny0.99.el8noarch&)perl-File-Path2.152.el8noarch�&)perl-File-Next1.181.el8noarch)/perl-File-NFSLock1.294.el8noarch*1perl-File-MimeInfo0.287.el8noarchw%'perl-File-Map0.673.el8x86_64
C/Kperl-File-Listing6.0417.module+el8.9.0+1521+0101edcenoarch
�B/Iperl-File-Listing6.0417.module+el8.6.0+965+850557f9noarch	�B/Iperl-File-Listing6.0417.module+el8.4.0+529+e3b3e624noarch�*1perl-File-LibMagic1.169.el8x86_64*/perl-File-KeePass2.0321.el8noarch*/perl-File-HomeDir1.0024.el8noarchJ1=perl-File-Find-Rule-Perl1.1513.el8noarch
+3perl-File-Find-Rule0.348.el8noarchv4Aperl-File-Find-Object-Rule0.03111.el8noarch	.7perl-File-Find-Object0.3.25.el8noarchu/;perl-File-Find-Iterator0.422.el8noarch'+perl-File-Fetch0.562.el8noarch�;	Kperl-FCGI0.7811.module+el8.9.0+1513+81d20ec9x86_64
�09perl-ExtUtils-Miniperl1.06422.el8noarch�-3perl-ExtUtils-Embed1.34422.el8noarch�,3perl-File-FcntlLock0.2216.el8x86_64/;perl-File-Edit-Portable1.251.el8noarch.9perl-File-DesktopEntry0.227.el8noarcht9Mperl-File-Copy-Recursive-Reduced0.0066.el8noarch0=perl-File-Copy-Recursive0.403.el8noarchs-3perl-File-CheckTree4.42303.el8noarch�)/perl-File-BaseDir0.081.el8noarchr*-perl-Fennec-Lite0.00422.el8noarch(+perl-Fedora-VSP0.0019.el8noarch�-7perl-FCGI-ProcManager0.289.el8noarch(-perl-FCGI-Client0.094.el8noarch:	Iperl-FCGI0.7811.module+el8.6.0+916+2b7f97e1x86_64	�:	Iperl-FCGI0.7811.module+el8.4.0+506+21d0a743x86_64�0;perl-ExtUtils-XSBuilder0.2834.el8noarch0;perl-ExtUtils-PkgConfig1.1610.el8noarch-7	perl-ExtUtils-ParseXS3.352.el8noarch609perl-ExtUtils-Miniperl1.06421.el8noarch	�09perl-ExtUtils-Miniperl1.06420.el8noarch�09perl-ExtUtils-Manifest1.70395.el8noarch58Mperl-ExtUtils-MakeMaker-CPANfile0.094.el8noarch�/;	perl-ExtUtils-MakeMaker7.341.el8noarch4.9	perl-ExtUtils-MM-Utils7.341.el8noarchI3Aperl-ExtUtils-InstallPaths0.0127.el8noarch�-7perl-ExtUtils-Install2.144.el8noarch3/7perl-ExtUtils-Helpers0.02612.el8noarch�2?perl-ExtUtils-HasCompiler0.0221.el8noarch�)/perl-ExtUtils-F771.244.el8noarch�-3perl-ExtUtils-Embed1.34421.el8noarch	�-3perl-ExtUtils-Embed1.34420.el8noarch@/7perl-ExtUtils-Depends0.80001.el8noarch�.5perl-ExtUtils-Config0.00817.el8noarch�-7	perl-ExtUtils-Command7.341.el8noarch2.9perl-ExtUtils-CChecker0.111.el8noarch�29	perl-ExtUtils-CBuilder0.2802302.el8noarchH.1perl-Exporter-Tiny1.0000004.el8noarchq+1perl-Exporter-Tidy0.0814.el8noarch�+1perl-Exporter-Lite0.0814.el8noarch�/7perl-Exporter-Declare0.11415.el8noarch�''perl-Exporter5.72396.el8noarch�$#perl-Expect1.3510.el8noarch�6Gperl-Exception-Class-TryCatch1.1316.el8noarch�
P��o$���tL"
�
�
y
T
/
���T-�qH
�
�
�
[
'	�	�	~	P	%���V/���X4���kB���lE���f>��{N'��l+���zK"��'�M+�perl-generators1.109.el8noarch9�LG�perl-YAML1.243.module+el8.4.0+500+6a3000fcnoarch&�K)�perl-XML-XPath1.423.el8noarch,�J3�perl-XML-TokeParser0.0525.el8noarch)�I-�perl-XML-Catalog1.0311.el8noarch(�H-�perl-Unix-Syslog1.129.el8x86_64+�G3�perl-Text-Unidecode1.305.el8noarch)�F/�perl-Text-Soundex3.058.el8x86_64>�E'G�perl-Sys-Virt6.0.01.module+el8.4.0+534+4680a14ex86_64C�D-	I�perl-Sys-Guestfs1.40.228.module+el8.5.0+670+c4aa478cx86_64G�C9I�perl-String-ShellQuote1.0424.module+el8.4.0+523+766394a0noarch(�B/�perl-String-CRC321.64.el8x86_64$�A%�perl-Socket60.286.el8x86_64*�@/�perl-SNMP_Session1.1317.el8noarch(�?-�perl-Pod-Plainer1.047.el8noarch(�>)�perl-Pod-LaTeX0.61302.el8noarchA�=/G�perl-Parse-PMFile0.417.module+el8.4.0+523+766394a0noarch&�<'�perl-PCP-PMDA5.3.15.el8x86_64%�;%�perl-PCP-MMV5.3.15.el8x86_64,�:3�perl-PCP-LogSummary5.3.15.el8x86_64+�91�perl-PCP-LogImport5.3.15.el8x86_64(�8+�perl-NetAddr-IP4.0797.el8x86_64(�7+�perl-Net-Server2.0093.el8noarch)�6/�perl-Net-SMTP-SSL1.045.el8noarch$�5%�perl-Net-DNS1.151.el8noarch+�4/�perl-Mozilla-LDAP1.5.325.el8x86_64,�33�perl-Module-Runtime0.0162.el8noarch-�27�perl-Module-Pluggable5.27.el8noarchF�15G�perl-Module-CPANfile1.10027.module+el8.4.0+523+766394a0noarch&�0)�perl-MailTools2.202.el8noarch)�/-	�perl-Mail-Sender0.9037.el8noarch'�.'�perl-Mail-SPF2.9.015.el8noarch&�-)�perl-Mail-DKIM0.541.el8noarchG�,;G�perl-LWP-Protocol-https6.074.module+el8.4.0+529+e3b3e624noarch!�+	�perl-LDAP0.667.el8noarch%�*�perl-JSON2.97.0012.el8noarch'�))�perl-IO-String1.0832.el8noarch-�(5�perl-IO-Socket-INET62.7212.el8noarch)�'/�perl-IO-Multiplex1.169.el8noarch&�&%�perl-Git-SVN2.27.01.el8noarch$�%#�perl-GSSAPI0.2825.el8x86_64@�$+G�perl-File-pushd1.0146.module+el8.4.0+523+766394a0noarch+�#+�perl-File-Slurp9999.1919.el8noarch+�"1�perl-File-ShareDir1.1043.el8noarch-�!3�perl-File-CheckTree4.42303.el8noarch(� +�perl-Fedora-VSP0.0019.el8noarch+�1�perl-Encode-Detect1.0128.el8x86_64%�)�perl-Date-Calc6.49.el8noarch?�+G�perl-DBD-SQLite1.582.module+el8.4.0+515+5c88ffe5x86_64<�#G�perl-DBD-Pg3.7.44.module+el8.4.0+518+09bc1d47x86_641�?�perl-Crypt-OpenSSL-Random0.153.el8x86_64.�9�perl-Crypt-OpenSSL-RSA0.311.el8x86_641�?�perl-Crypt-OpenSSL-Bignum0.095.el8x86_64*�/�perl-Convert-ASN10.2717.el8noarch,�5�perl-Class-Inspector1.322.el8noarch)�)�perl-Class-ISA0.361022.el8noarch&�)�perl-Carp-Clan6.066.el8noarchE�5G�perl-CPAN-Meta-Check0.0146.module+el8.4.0+523+766394a0noarchG�9I�perl-CPAN-DistnameInfo0.1213.module+el8.4.0+523+766394a0noarch'�+�perl-Bit-Vector7.411.el8x86_64$�#�perl-B-Lint1.2011.el8noarch)�-�perl-Authen-SASL2.1613.el8noarchD�1G�perl-App-cpanminus1.70445.module+el8.4.0+523+766394a0noarch!��pcp-libs5.3.15.el8x86_64!�
�pcp-conf5.3.15.el8x86_64��orc0.4.283.el8x86_64"�%�opus1.30.4.beta.el8x86_64"�
�openjpeg22.4.04.el8x86_64<�	!I�netcf-libs0.2.812.module+el8.4.0+534+4680a14ex86_64;�G�mod_http21.15.73.module+el8.5.0+695+1fa8055ex86_64)�'�mesa-libglapi21.1.51.el8.0x86_64'�#�mesa-libgbm21.1.51.el8.0x86_64%�#�mesa-libGLU9.0.015.el8x86_64&�!�mesa-libGL21.1.51.el8.0x86_64'�#�mesa-libEGL21.1.51.el8.0x86_64+�+�mesa-filesystem21.1.51.el8.0x86_64,�-�mesa-dri-drivers21.1.51.el8.0x86_64H�5G�mariadb-server-utils10.3.281.module+el8.4.0+427+adf35707x86_64B�)G�mariadb-server10.3.281.module+el8.4.0+427+adf35707x86_64I�~7G�mariadb-gssapi-server10.3.281.module+el8.4.0+427+adf35707x86_64
�������������������{tmf_XQJC<5.' ������������������xjc\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



����LE>70)"

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
s
l
e
^
W
P
I
B
;
4
-
&





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	~	w	p	i	b	[	T	M	F	?	8	1	*	#					������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%���������������yrkd]VOHA:3,%	������������������}vohaZSq	������������������}vohaZSLE>70)"
�����������������L4L3L2L1L0L/L.L-L,L+L*L)L(L'L&L%L$L#L"L!L LLLLLLLLLLLLLLLLLLL
LLL
L	LLLLLLLLLL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLqLpLoLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSLRLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSLRLQLPLOLNLMLLLKLJLILHLGLFLELDLCLBLAL@L?L>L=L<L;L:L9L8L7L6L5LQLPLOLNLMLLLKLJLILHLGLFLELDLCLBLAL@L?L>L=L<L;L:L9L8L7L6L5L4L3L2L1L0L/L.L-L,L+L*L)L(L'L&L%L$L#L"L!L LLLLLLLoLLLLLLLLLLLLL
LLL
L	LLLLLLLLLL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������p`QB3$��������paRC4%
�
�
�
�
�
�
�
�
�
q
b
S
D
5
&

	�	�	�	�	�	�	�	�	�	r	c	T	E	6	'			���������sdUF7(
���������teVG8)���������ufWH9*���������rcTE6'	��������o_O?/��������o_O?/��������o_O?/���
�;		Lz	
�:		Ly	
�9		Lx	
�8		Lw	
�7		Lv	
�6		Lu	
�5		Lt	
�4		Ls	
�3		Lr	
�2		Lq	
�1		Lp	
�0		Lo	
�/		Ln	
�.		Lm	
�-		Ll	
�,		Lk	
�+		Lj	
�*		Li	
�)		Lh	
�(		Lg	
�'		Lf	
�&		Le	
�%		Ld	
�$		Lc	
�#		Lb	
�"		La	
�!		L`	
� 		L_	
�		L^	
�		L]	
�		L\	
�		L[	
�		LZ	
�		LY	
�		LX	
�		LW	
�		LV	
�		LU	
�		LT	
�		LS	
�		LR	
�		LQ	
�		LP	
�		LO	
�		LN	�			LM	�
			LL	�			LK�			LJ�
			LI�				LH�			LG�			LF�			LE�			LF�			LA�			L?�			LD�			LC�			LB�			LA�~			L@�}			L?�|			L>�{			L=
�z		L<
�y		L;
�x		L:
�w		L9�v			L8�u			L7�t			L6�s			L5�r			L4�q			L3�p			L2�o			L��n			L1�m			L0�l			L/�k			L.�j			L-�i			L,�h			L+�g			L*�f			L)�e			L(�d			L'�c			L&�b			L%�a			L$�`			L#�_			L"�^			L!�]			L �\			L�[			L�Z			L�Y			L�X			L�W			L�V			L�U			L�T			L�S			L�R			L�Q			L�P			L�O			L�N			L�M			L�L			L�K			L�J			L
�I			L�H			L�G			L
�F			L	�E			L�D			L�C			L�B			L�A			L�@			L�?			L�>			L�=			L�<			L��;			L��:			L��9			L��8			L��7			L��6			L��5			L��4			L��3			L��2			L��1			L��0			L��/			L��.			L��-			L��,			L��+			L��*			L��)			L��(			L��'			L��&			L��%			L��$			L��#			L��"			L��!			L�� 			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��
			L��			L�
�		L�
�
		L�
�			L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�~		L�
�}		L�
�|		L�
�{		L�
�z		L�
�y		L�
�x		L�
�w		L�
�v		L�
�u		L�
�t		L�
�s		L�
�r		L�
�q		L�
�p		L�
�o		L�
�n		L�
�m		L�
�l		L�
�k		L�
�j		L�
�i		L�
�h		L�
�g		L�
�f		L�
�e		L�
�d		L�
�c		L�
�b		L�
�a		L�
�`		L�
�_		L�
�^		L�
�]		L�
�\		L�
�[		L�
�Z		L�
�Y		L�
�X		L�
�W		L�
�V		L�
�U		L�
�T		L�
�S		L�
�R		L�
�J��)���sF�@���J
�
�
�
l
Ba7
���oD��a��]8
�
�
}
P
,
	�	��	o	Ay	���R&���w/����o8����Y���l����H9Kperl-String-ShellQuote1.0424.module+el8.9.0+1491+3507a112noarch
��&)perl-SOAP-Lite1.277.el8noarchP)+perl-SelfLoader1.23422.el8noarch�;Qperl-Shared-Examples-Net-Amazon-S30.9912.el8noarch�;Qperl-Shared-Examples-Net-Amazon-S30.9911.el8noarchH�()perl-SOAP-WSDL3.00314.el8noarchQG9Iperl-String-ShellQuote1.0424.module+el8.6.0+961+8164b543noarch
)+perl-SelfLoader1.23421.el8noarch
l�-7perl-Spreadsheet-XLSX0.181.el8noarchW5Cperl-Spreadsheet-ParseExcel0.66001.el8x86_64�<Uperl-SQL-Translator-Producer-Diagram1.613.el8noarchY+3perl-SQL-Translator1.613.el8noarchX,1perl-SQL-Statement1.41213.el8noarchW'+perl-SQL-Interp1.271.el8noarchV1?perl-SQL-Abstract-Classic1.913.el8noarchU)/perl-SQL-Abstract1.872.el8noarchT1;perl-SOAP-WSDL-examples3.00314.el8noarchS/7perl-SOAP-WSDL-Apache3.00314.el8noarchR*-perl-Sub-Install0.92814.el8noarch]&'perl-Sub-Info0.0025.el8noarch�()perl-Sub-Infix0.00410.el8noarch�)/perl-Sub-Identify0.146.el8x86_64�9Gperl-Sub-Exporter-Progressive0.0010135.el8noarch�6?perl-Sub-Exporter-Lexical0.09229211.el8noarch�9Eperl-Sub-Exporter-ForMethods0.10005213.el8noarch+/perl-Sub-Exporter0.98715.el8noarch\)-perl-String-Util1.2611.el8noarch~/9perl-String-Similarity1.0434.el8x86_64}G9Iperl-String-ShellQuote1.0424.module+el8.4.0+523+766394a0noarch�*1perl-String-Random0.306.el8noarch|*1perl-String-Format1.181.el8noarch{/1perl-String-Escape2010.00229.el8noarchz(/perl-String-CRC321.64.el8x86_64�+1perl-String-Approx3.2813.el8x86_64y-5perl-Stream-Buffered0.0314.el8noarchx%'	perl-Storable3.113.el8x86_64	5Cperl-Statistics-Descriptive3.07026.el8noarchw3?perl-Statistics-ChiSquare1.00002.el8noarchv07perl-Statistics-Basic1.661116.el8noarchu-7perl-Spreadsheet-XLSX0.171.el8noarcht4Cperl-Spreadsheet-WriteExcel2.4017.el8noarchs8Cperl-Spreadsheet-ParseExcel0.650024.1.el8x86_64r$#perl-Spiffy0.4619.el8noarchq)+perl-Spellunker0.4.016.el8noarchp##perl-Specio0.422.el8noarch�,3perl-Sort-Naturally1.0322.el8noarcho,3perl-Sort-MergeSort0.3113.el8noarchn%'perl-Sort-Key1.335.el8x86_64m5Eperl-Software-License-CCpack1.1119.el8noarchl17perl-Software-License0.1030132.el8noarch[$%perl-Socket60.286.el8x86_64�+1perl-Socket-MsgHdr0.0511.el8x86_64k0;perl-Socket-GetAddrInfo0.2219.el8noarchj%#perl-Socket2.0273.el8x86_64:Qperl-Shared-Examples-Net-Amazon-S30.981.el8noarchi(+perl-Set-Scalar1.2915.el8noarchh*/perl-Set-Infinite0.6529.el8noarchg)-perl-Set-Crontab1.0323.el8noarchf,3perl-Sereal-Encoder4.0181.el8x86_64e,3perl-Sereal-Decoder4.0181.el8x86_64d$#perl-Sereal4.0181.el8noarchc)/perl-Sentry-Raven1.112.el8noarchb)+perl-SelfLoader1.23420.el8noarch�.1perl-Search-Xapian1.2.25.44.el8x86_64a(-perl-Scope-Upper0.322.el8x86_64`(-perl-Scope-Guard0.217.el8noarch�1?perl-Schedule-Cron-Events1.961.el8noarch_*1perl-Schedule-Cron1.013.el8noarch^;Mperl-Scalar-Util-LooksLikeNumber1.39.214.el8x86_64]+1perl-Scalar-String0.0038.el8x86_64\39perl-Scalar-Properties1.10086020.el8noarch[/9perl-Scalar-List-Utils1.492.el8x86_64)'perl-Safe-Isa1.0000101.el8noarchZ)!!perl-SUPER1.2014111710.el8noarch��
M���Q-��b
�
~
4���g<���F
�
�
�
o
+	�	�	�	M	��xA��T��{V)����e6���d0���\3���{Z,��pK)�;�7-iscsi-initiator-utils6.2.1.44.git095f59c.el8x86_64$�!iproute-tc5.12.04.el8x86_64�ipcalc0.2.44.el8x86_64"�gssproxy0.8.019.el8x86_643�?gsettings-desktop-schemas3.32.06.el8x86_64(�)glusterfs-libs6.056.4.el8x86_642�=glusterfs-client-xlators6.056.4.el8x86_64#�glusterfs6.056.4.el8x86_64+�+glib-networking2.56.11.1.el8x86_64�gdisk1.0.36.el8x86_64%�#fuse-common3.2.112.el8x86_64�fuse2.9.712.el8x86_64!�elfutils0.1851.el8x86_64!�
!dosfstools4.16.el8x86_64$�dhcp-libs4.3.645.el8x86_64&�#
dhcp-common4.3.645.el8noarch&�
#dhcp-client4.3.645.el8x86_646�	Gdevice-mapper-persistent-data0.9.04.el8x86_646�E
device-mapper-multipath-libs0.8.417.el8x86_646�=	device-mapper-event-libs1.02.17710.el8x86_641�3device-mapper-event1.02.17710.el8x86_64.�9dejavu-sans-mono-fonts2.357.el8noarch+�/cyrus-sasl-gssapi2.1.275.el8x86_64$�!cyrus-sasl2.1.275.el8x86_64'�!cryptsetup2.3.34.el8_5.1x86_64�bzip21.0.626.el8x86_64,�-bind-export-libs 9.11.266.el8x86_64%�#augeas-libs1.12.06.el8x86_64�~attr2.4.483.el8x86_64�}�zstd1.4.41.el8x86_64�|�yajl2.1.010.el8x86_647�{K�xorg-x11-fonts-ISO8859-1-100dpi7.519.el8noarch*�z-�xapian-core-libs1.4.183.el8x86_64"�y	�valgrind3.17.05.el8x86_649�xG�utf8proc2.1.15.module+el8.4.0+407+38733e5ax86_64!�w�usbredir0.8.01.el8x86_642�v7�urw-base35-z003-fonts2017080110.el8noarchA�uU�urw-base35-standard-symbols-ps-fonts2017080110.el8noarch2�t7�urw-base35-p052-fonts2017080110.el8noarch9�sE�urw-base35-nimbus-sans-fonts2017080110.el8noarch:�rG�urw-base35-nimbus-roman-fonts2017080110.el8noarch<�qK�urw-base35-nimbus-mono-ps-fonts2017080110.el8noarch4�p;�urw-base35-gothic-fonts2017080110.el8noarch4�o;�urw-base35-fonts-common2017080110.el8noarch-�n-�urw-base35-fonts2017080110.el8noarch6�m?�urw-base35-d050000l-fonts2017080110.el8noarch2�l7�urw-base35-c059-fonts2017080110.el8noarch5�k=�urw-base35-bookman-fonts2017080110.el8noarch!�j�unixODBC2.3.71.el8x86_64;�iI�supermin5.1.1910.module+el8.4.0+534+4680a14ex86_64A�h+G�subversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64A�g+G�subversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64<�f!G�subversion1.10.24.module+el8.4.0+407+38733e5ax86_64&�e%�spice-server0.14.34.el8x86_64%�d%�spamassassin3.4.44.el8x86_64D�c#	'G�sgabios-bin0.20170427git3.module+el8.4.0+534+4680a14enoarch@�b)G�seavgabios-bin1.13.02.module+el8.4.0+534+4680a14enoarch=�a#G�seabios-bin1.13.02.module+el8.4.0+534+4680a14enoarch�`�scrub2.5.216.el8x86_64(�_%�rrdtool-perl1.7.016.el8_4x86_64#�^�rrdtool1.7.016.el8_4x86_64(�]!�rpm-build4.14.319.el8_5.2x86_64�\�rest0.8.12.el8x86_64�[�radvd2.1715.el8x86_64B�Z'M�qemu-kvm-core4.2.059.module+el8.5.0+726+ce09ee88.1x86_64D�Y+M�qemu-kvm-common4.2.059.module+el8.5.0+726+ce09ee88.1x86_64G�X1M�qemu-kvm-block-ssh4.2.059.module+el8.5.0+726+ce09ee88.1x86_64G�W1M�qemu-kvm-block-rbd4.2.059.module+el8.5.0+726+ce09ee88.1x86_64I�V5M�qemu-kvm-block-iscsi4.2.059.module+el8.5.0+726+ce09ee88.1x86_64K�U9M�qemu-kvm-block-gluster4.2.059.module+el8.5.0+726+ce09ee88.1x86_64H�T3M�qemu-kvm-block-curl4.2.059.module+el8.5.0+726+ce09ee88.1x86_64=�SM�qemu-kvm4.2.059.module+el8.5.0+726+ce09ee88.1x86_64=�RM�qemu-img4.2.059.module+el8.5.0+726+ce09ee88.1x86_64!�Q�procmail3.2247.el8x86_64B�P/G�postgresql-server10.172.module+el8.5.0+685+b03fcc47x86_64;�O!G�postgresql10.172.module+el8.5.0+685+b03fcc47x86_64)�N/�perl-libintl-perl1.292.el8x86_64
��	
�
�
��	
�
�
}
d
K
2
��
������v�kU?)��`������{cK3�^
�
�
�
�
m
O
1�@
	�	�	�	�	k	J����	-		�����������th\PD8, ��������|kZ�F2
�����L��kWC/���v����r`N<*:������xaJ3#�"�����
���{ocWG7'���������wmc8%��rmwareGn	=java-1.8.0-openjdk-devel;1java-1.8.0-openjdk:kernel]=java-17-openjdk-headless[+java-17-openjdkZkmod-libs�	kmod�/kernel-tools-libs�%kernel-tools�)kernel-headers�-iwl7260-firmware�-iwl6050-firmware�3iwl6000g2a-firmware�-iwl6000-firmware� Cjava-1.8.0-openjdk-headless<)kernel-headers�3iwl6000g2a-firmware�-iwl6000-firmware� Cjava-1.8.0-openjdk-headlessq=java-1.8.0-openjdk-develp1java-1.8.0-openjdko)kernel-modules_#kernel-core^7java-17-openjdk-devel\kmod-libs
�kmod-libs�	kmod
�	kmod�3keyutils-libs-devel"'keyutils-libs�
keyutils#kexec-tools�/kernel-tools-libs�/kernel-tools-libsS/kernel-tools-libs
/kernel-tools-libsW/kernel-tools-libst/kernel-tools-libs
�/kernel-tools-libs�/kernel-tools-libs�/kernel-tools-libsc/kernel-tools-libs%kernel-tools�%kernel-toolsR%kernel-tools
%kernel-toolsV%kernel-toolss%kernel-tools
�%kernel-tools�%kernel-tools�%kernel-toolsb%kernel-tools~)kernel-modules)kernel-modules�)kernel-modules
u)kernel-modules�)kernel-modules�)kernel-modulesP)kernel-modules	�)kernel-modules�)kernel-modules�)kernel-modules^)kernel-modules})kernel-headers�)kernel-headersQ)kernel-headers
)kernel-headersU)kernel-headersr)kernel-headers
�)kernel-headers�)kernel-headers�)kernel-headers�#kernel-core#kernel-core�#kernel-core
t#kernel-core�#kernel-core�#kernel-coreO#kernel-core	�#kernel-core�#kernel-core�#kernel-core]#kernel-core|kernel
kernel�kernel
skernel�kernel�kernelNkernel	�kernel�kernel�kernel\
kernel{
kbd-miscPkbd-miscz!kbd-legacyO!kbd-legacyykbdNkbdxjson-glibjson-c	
json-cw%jbigkit-libs�'jbig2dec-libsB;javapackages-filesystem� Cjava-1.8.0-openjdk-headless
� Cjava-1.8.0-openjdk-headless
? Cjava-1.8.0-openjdk-headless� Cjava-1.8.0-openjdk-headlessX Cjava-1.8.0-openjdk-headless	� Cjava-1.8.0-openjdk-headless� Cjava-1.8.0-openjdk-headless�=java-1.8.0-openjdk-devel
�=java-1.8.0-openjdk-devel
>=java-1.8.0-openjdk-devel�=java-1.8.0-openjdk-develW=java-1.8.0-openjdk-devel	�=java-1.8.0-openjdk-devel�=java-1.8.0-openjdk-devel�1java-1.8.0-openjdk
�1java-1.8.0-openjdk
=1java-1.8.0-openjdk�1java-1.8.0-openjdkV1java-1.8.0-openjdk	�1java-1.8.0-openjdk�1java-1.8.0-openjdk�#jasper-libs�%jasper-develxjansson
�janssonv-iwl7260-firmwareM-iwl7260-firmware
-iwl7260-firmwareT-iwl7260-firmwareq-iwl7260-firmware
�-iwl7260-firmware�-iwl7260-firmwareu-iwl6050-firmwareL-iwl6050-firmware
-iwl6050-firmwareS-iwl6050-firmwarep-iwl6050-firmware
�-iwl6050-firmware�-iwl6050-firmwaret3iwl6000g2a-firmwareK3iwl6000g2a-firmware
3iwl6000g2a-firmwareR3iwl6000g2a-firmwareo3iwl6000g2a-firmware
�3iwl6000g2a-firmware�3iwl6000g2a-firmwares-iwl6000-firmwareJ-iwl6000-firmware
-iwl6000-firmwareQ-iwl6000-firmwarenD	less�	less�	less�#lcms2-devely
lcms2�krb5-libs�krb5-libs�krb5-libsVkrb5-libsZkrb5-libs
�krb5-libs�!krb5-devel�!krb5-devel�!krb5-develU!krb5-develY!krb5-devel
�!krb5-devel#kpartx�kpartxTkpartxXkpartxukpartx
�kpartx�kpartx�/kernel-tools-libs�%kernel-tools�-iwl7260-firmware�-iwl6050-firmware�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� ������������������
Y���jE!����e?
�
�
�
�
]
0
���~Z(���`8
�
�
�
|
P
-
	�	�	�	Z	.����e7��{D���R"���g3���_.���\.���k?��~O��0�s=uperl-File-Copy-Recursive0.403.el8noarch)�r/tperl-File-BaseDir0.081.el8noarch.�q1sperl-Exporter-Tiny1.0000004.el8noarch,�p5rperl-Exception-Class1.442.el8noarch)�o/qperl-Eval-Closure0.145.el8noarch2�n?pperl-DynaLoader-Functions0.0032.el8noarch1�m=operl-Dist-CheckConflicts0.1111.el8noarch)�l-nperl-Digest-SHA12.1323.el8x86_64)�k+mperl-Digest-CRC0.22.25.el8x86_64*�j1	lperl-Devel-Symdump2.185.el8noarch-�i7	kperl-Devel-StackTrace2.032.el8noarch,�h3jperl-Devel-LexAlias0.0516.el8x86_644�gEiperl-Devel-GlobalDestruction0.145.el8noarch+�f3hperl-Devel-CheckLib1.115.el8noarch*�e/gperl-Devel-Caller2.0615.el8x86_64/�d9fperl-Devel-CallChecker0.0083.el8x86_646�cGeperl-DateTime-TimeZone-Tzfile0.0113.el8noarch7�bIdperl-DateTime-TimeZone-SystemV0.0103.el8noarch.�a9cperl-DateTime-TimeZone2.191.el8noarch,�`5bperl-DateTime-Locale1.172.el8noarch5�_G	aperl-DateTime-Format-Strptime1.752.el8noarch2�^?	`perl-DateTime-Format-Mail0.4036.el8noarch5�]E_perl-DateTime-Format-ISO86010.0817.el8noarch1�\?^perl-DateTime-Format-HTTP0.429.el8noarch7�[E]perl-DateTime-Format-Builder0.810015.el8noarch&�Z'\perl-DateTime1.501.el8x86_64*�Y/[perl-Date-ISO86010.0052.el8noarch(�X)Zperl-Data-UUID1.22110.el8x86_64-�W5Yperl-Config-AutoConf0.3152.el8noarch.�V7Xperl-Class-XSAccessor1.1914.el8x86_64(�U+Wperl-Class-Tiny1.0066.el8noarch+�T5Vperl-Class-Singleton1.59.el8noarch3�SCUperl-Class-Method-Modifiers2.128.el8noarch/�R;Tperl-Class-Factory-Util1.727.el8noarch4�QCSperl-Class-Data-Inheritable0.0827.el8noarch+�P3Rperl-Class-Accessor0.512.el8noarch)�O/Qperl-Capture-Tiny0.464.el8noarch-�N7Pperl-Canary-Stability20125.el8noarch/�M;Operl-B-Hooks-EndOfScope0.216.el8noarch+�L'#Nperl-AnyEvent7.146.el8.rockyx86_64 �KMopensp1.5.228.el8x86_64"�JLopenjade1.3.257.el8x86_64$�I!Kxml-common0.6.350.el8noarch'�H'Juserspace-rcu0.10.14.el8x86_64-�G/!Isystemd-container23951.el8_5.3x86_64)�F/Hsyslinux-nonlinux6.045.el8noarch2�EAGsyslinux-extlinux-nonlinux6.045.el8noarch)�D/Fsyslinux-extlinux6.045.el8x86_64 �CEsyslinux6.045.el8x86_64$�B'	Dsmartmontools7.11.el8x86_64%�A#Csgml-common0.6.350.el8noarch �@Brpcbind1.2.58.el8x86_64)�?/Arocky-logos-httpd85.03.el8noarch"�>	@quota-nls4.0414.el8noarch�=	?quota4.0414.el8x86_64'�<)>python3-pyyaml3.1212.el8x86_64�;=psmisc23.15.el8x86_64(�:-<perl-Sys-MemInfo0.996.el8x86_64%�9%;perl-Sys-CPU0.6114.el8x86_64'�8+:perl-Parse-Yapp1.212.el8noarch'�7+9perl-Date-Manip6.602.el8noarch�68patch2.7.611.el8x86_64)�517numad0.526.20150602git.el8x86_64#�4	6nfs-utils2.3.346.el8x86_64/�355net-tools2.00.52.20160912git.el8x86_64!�24mtools4.0.1814.el8x86_64�13mdadm4.2rc2.el8x86_64�02lzop1.0320.el8x86_64&�/1lvm2-libs2.03.1210.el8x86_64!�.0lvm22.03.1210.el8x86_64!�-/libxslt1.1.326.el8x86_64*�,/.libverto-libevent0.3.05.el8x86_64 �+	-libusb0.1.512.el8x86_64!�*,libsoup2.62.32.el8x86_64!�)+librdmacm35.01.el8x86_64&�(#*libquadmath8.5.04.el8_5x86_64$�')libproxy0.4.155.2.el8x86_64$�&%(libpciaccess0.141.el8x86_64#�%'libmodman2.0.117.el8x86_64 �$&libicu60.32.el8_1x86_64!�#%libibumad35.01.el8x86_64 �"$libgusb0.3.01.el8x86_64&�!##libgfortran8.5.04.el8_5x86_64&� '"libbabeltrace1.5.43.el8x86_64!�!libaio0.3.1121.el8x86_64"� keyutils1.5.109.el8x86_64"�json-glib1.4.41.el8x86_64'�+isns-utils-libs0.991.el8x86_64D�I-iscsi-initiator-utils-iscsiuio6.2.1.44.git095f59c.el8x86_64
�N��lx�C����lE
�
�
�
R
/��4$	�	�	�	�	^	0	
���c@���c-
Sq��*H���]/��yV�e>��f#����xH���FnoarchqA+Iperl%perl-Git2.43.51.el8_10noarchqA+Iperl-File-pushd1.0146.module+el8.9.0+1491+3507a112noarch
�(%perl-Git-SVN2.31.13.el8_7noarch	�$perl-Git2.31.13.el8_7noarch	�@+Gperl-File-pushd1.0146.module+el8.6.0+961+8164b543noarch	��)%perl-Git-SVN2.43.51.el8_10noarchr!perl-Fsdb3.01.el8noarch	)/perl-GIS-Distance0.201.el8noarch�(%perl-Git-SVN2.39.31.el8_8noarch�$perl-Git2.39.31.el8_8noarch�!perl-Fsdb3.11.el8noarchA*1perl-Finance-Quote1.521.el8noarch@�+1perl-HTML-Restrict3.0.02.el8noarch?B-Kperl-HTML-Parser3.7215.module+el8.9.0+1521+0101edcex86_64
�A-Iperl-HTML-Parser3.7215.module+el8.6.0+965+850557f9x86_64	�A-Iperl-HTML-Parser3.7215.module+el8.4.0+529+e3b3e624x86_64�&)perl-HTML-Lint2.327.el8noarch>,3perl-HTML-Formatter2.1610.el8noarch=&)perl-HTML-Form6.071.el8noarch<3Aperl-HTML-Element-Extended1.1821.el8noarch;$!perl-Guard1.02319.el8x86_64:�+1perl-HTML-Restrict3.0.11.el8noarchB.9perl-GIS-Distance-Fast0.161.el8x86_64�!perl-Fsdb3.41.el8noarch"perl-Gtk30.0381.el8noarch9<Mperl-Graphics-ColorNamesLite-WWW1.14.0002.el8noarch8*/perl-GraphViz-XML2.2412.el8noarch7&'perl-GraphViz2.2412.el8noarch6&!perl-Graph0.97.0415.el8noarch5-5perl-GnuPG-Interface0.5214.el8noarch4)+perl-Glib-devel1.32911.el8x86_6437Iperl-Glib-Object-Introspection0.0481.el8x86_642#perl-Glib1.32911.el8x86_641&%perl-Git-SVN2.27.01.el8noarch�"perl-Git2.27.01.el8noarch�5Eperl-Getopt-Long-Descriptive0.1041.el8noarch0(-	perl-Getopt-Long2.504.el8noarch�-5perl-Getopt-ArgvFile1.1134.el8noarch/7=!perl-Geography-Countries200904130127.el8noarch.##perl-Geo-IP1.519.el8x86_64-)/perl-Geo-Distance0.251.el8noarch,"perl-GTop0.1827.el8x86_64+$#perl-GSSAPI0.2825.el8x86_64�.9perl-GIS-Distance-Fast0.151.el8x86_64*)/perl-GIS-Distance0.191.el8noarch)(+perl-GDTextUtil0.8642.el8noarch(%%	perl-GDGraph1.5411.el8noarch'-7perl-GD-SecurityImage1.754.el8noarch&(+perl-GD-Barcode1.1536.el8noarch�perl-GD2.711.el8x86_64�##perl-Future0.461.el8noarch%1Aperl-FusionInventory-Agent2.61.el8noarch$1=perl-Function-Parameters2.1.37.el8x86_64#"perl-Fsdb2.741.el8noarch"27perl-Frontier-RPC-doc0.07b4p136.el8noarch!5=perl-Frontier-RPC-Client0.07b4p136.el8noarch ./perl-Frontier-RPC0.07b4p136.el8noarch*+perl-FreezeThaw0.500128.el8noarch/9perl-Font-TTF-XMLparse1.0611.el8noarch&'perl-Font-TTF1.0611.el8noarch('perl-Font-AFM1.2031.el8.1noarch*1perl-Finance-Quote1.512.el8noarch*1perl-Filter-Simple0.942.el8noarch�$#perl-Filter1.582.el8x86_64�2Aperl-Filesys-Notify-Simple0.138.el8noarch(+perl-Filesys-Df0.9236.el8x86_64@+Gperl-File-pushd1.0146.module+el8.4.0+523+766394a0noarch�)+perl-File-chdir0.10115.el8noarchzM!perl-Fsdb3.91.el8noarch�A-Iperl-HTML-Tagset3.2034.module+el8.4.0+529+e3b3e624noarch�.9perl-HTML-TableExtract2.159.el8noarchE)+perl-HTML-Table2.08a32.el8noarchD6Gperl-HTML-StripScripts-Parser1.0325.el8noarchC/9perl-HTML-StripScripts1.0622.el8noarch�/9perl-HTML-StripScripts1.0611.el8noarchB0=perl-HTML-Selector-XPath0.262.el8noarchA*1perl-HTML-Scrubber0.193.el8noarch@+1perl-HTML-Restrict3.0.21.el8noarch�
V���pC���jC
�
�
�
s
D
���U'���\-
�
�
�
m
=
	�	�	w	D	���m@���]1���^3	��~N���kB���]-���g@���oB��$�I�perltidy201802201.el8noarch,�H5�perl-namespace-clean0.277.el8noarch1�G=�perl-namespace-autoclean0.2810.el8noarch*�F/�perl-common-sense3.7.48.el8x86_64&�E)�perl-YAML-Tiny1.732.el8noarch&�D)�perl-YAML-Syck1.305.el8x86_64)�C/	�perl-YAML-LibYAML0.701.el8x86_64%�B'�perl-XML-Twig3.527.el8noarch(�A+�perl-XML-RegExp0.0414.el8noarch$�@%�perl-XML-DOM1.465.el8noarch+�?3�perl-Variable-Magic0.623.el8x86_64)�>/�perl-Unicode-UTF80.625.el8x86_642�=9�perl-Unicode-LineBreak2017.0046.el8x86_644�<C�perl-Unicode-EastAsianWidth1.3313.el8noarch-�;7�perl-Types-Serialiser1.012.el8noarch(�:+�perl-Tie-IxHash1.2313.el8noarch+�91�perl-Text-WrapI18N0.0630.el8noarch,�83�perl-Text-CharWidth0.0432.el8x86_64,�7-�perl-Test2-Suite0.0001111.el8noarch+�61�perl-Test-Warnings0.0267.el8noarch&�5)�perl-Test-Warn0.325.el8noarch(�4+�perl-Test-Taint1.0619.el8x86_64+�31�perl-Test-Requires0.1010.el8noarch/�29�perl-Test-Pod-Coverage1.1010.el8noarch%�1'�perl-Test-Pod1.518.el8noarch-�05�perl-Test-NoWarnings1.0416.el8noarch-�/5�perl-Test-LongString0.1710.el8noarch(�.+�perl-Test-Fatal0.0149.el8noarch+�-3�perl-Test-Exception0.437.el8noarch/�,7�perl-Test-Differences0.64008.el8noarch'�+)�perl-Test-Deep1.1274.el8noarch(�*+�perl-Term-Table0.0122.el8noarch+�)1�perl-Taint-Runtime0.0332.el8x86_64$�(#�perl-Switch2.1710.el8noarch*�'-	�perl-Sub-Uplevel0.28004.el8noarch%�&'�perl-Sub-Name0.217.el8x86_64&�%'�perl-Sub-Info0.0025.el8noarch)�$/�perl-Sub-Identify0.146.el8x86_649�#G�perl-Sub-Exporter-Progressive0.0010135.el8noarch#�"#�perl-Specio0.422.el8noarch(�!-�perl-Scope-Guard0.217.el8noarch)� !!�perl-SUPER1.2014111710.el8noarch'�%�perl-SGMLSpm1.03ii42.el8noarch*�)�perl-Role-Tiny2.0000062.el8noarch)�-�perl-Ref-Util-XS0.1172.el8x86_64&�'�perl-Ref-Util0.2034.el8noarch%�'�perl-Readonly2.055.el8noarch*�/�perl-Pod-Markdown3.0056.el8noarch*�/�perl-Pod-Coverage0.2314.el8noarch0�;�perl-PerlIO-utf8_strict0.0075.el8x86_641�=�perl-Perl-Destruct-Level0.0220.el8x86_64'�)�perl-Path-Tiny0.1045.el8noarch6�I�perl-Params-ValidationCompiler0.271.el8noarch,�5�perl-Params-Validate1.295.el8x86_64-�5�perl-Params-Classify0.0152.el8x86_64%�)�perl-PadWalker2.32.el8x86_64.�7�perl-Package-Stash-XS0.2817.el8x86_64*�1�perl-Package-Stash0.379.el8noarch7�K�perl-Package-DeprecationManager0.175.el8noarch,�3�perl-Number-Compare0.0319.el8noarch!�
	�perl-NKF2.1.48.el8x86_64,�5�perl-Module-ScanDeps1.243.el8noarch9�O�perl-Module-Install-ReadmeFromPod0.304.el8noarch9�
K�perl-Module-Install-AuthorTests0.00216.el8noarch+�	3�perl-Module-Install1.192.el8noarch3�A�perl-Module-Implementation0.0915.el8noarch'�+�perl-MIME-Types2.173.el8noarch,�/�perl-MIME-Charset1.012.24.el8noarch+�3�perl-Locale-gettext1.079.el8x86_64/�9�perl-List-MoreUtils-XS0.4283.el8x86_64,�3�perl-List-MoreUtils0.4282.el8noarch$�%	�perl-JSON-XS3.043.el8x86_64&�'�perl-Importer0.0251.el8noarch,�-�perl-Import-Into1.0020057.el8noarch'�'�perl-IPC-Run30.04812.el8noarch$�~%�perl-IPC-Run0.991.el8noarch$�}#perl-IO-Tty1.1211.el8x86_64#�|#~perl-IO-All0.876.el8noarch&�{)	}perl-HTML-Tree5.072.el8noarch)�z+|perl-File-chdir0.10115.el8noarch(�y-{perl-File-Remove1.576.el8noarch0�x;zperl-File-ReadBackwards1.0511.el8noarch*�w1yperl-File-MimeInfo0.287.el8noarch+�v3xperl-File-Find-Rule0.348.el8noarch.�u7wperl-File-Find-Object0.3.25.el8noarch.�t9vperl-File-DesktopEntry0.227.el8noarch
��������wcO;'�����kQ7�
�
�
�
�
�
�
�
�
v
e
T
C
2�
"

��	�����ve�R?,��������xm^O@1"V
�
�
�
�
�
��
�
�
|
j
X
F
4
#

	�	�	�	�	�	�	�	�	x	k	^	L	:	(	�������wgYK=/!�����}iUA-�������xh\J@1#������������ypgVE4#�����x`H7&��������}o]K9.�������teAA���#mesa-libEGLvmcY#msodbcsql17X'mesa-libglapiy#mesa-libgbmx!mesa-libGLwe=mod_http2z,5openblas-srpm-macros�+oniguruma-develM+oniguruma-devel+oniguruma-devel\onigurumaloniguruma�oniguruma[/ocaml-srpm-macros�
numad5%numactl-libs%numactl-libs�%numactl-libs�
nss-utilk
nss-util�
nss-util
�
nss-util�
nss-utila
nss-util	�
nss-util�#nss-sysinitj#nss-sysinit�#nss-sysinit
�#nss-sysinit�#nss-sysinit`#nss-sysinit	�#nss-sysinit�1nss-softokn-freebli1nss-softokn-freebl�1nss-softokn-freebl
�1nss-softokn-freebl�1nss-softokn-freebl_1nss-softokn-freebl	�1nss-softokn-freebl�#nss-softoknh#nss-softokn�#nss-softokn
�#nss-softokn�#nss-softokn^#nss-softokn	�#nss-softokn�nssgnss�nss
�nss�nss]nss	�nss�	nspr�	nspr	�	nspr�	npth�npm�-nodejs-full-i18n�nodejs�
nftables

nftables�
nftables
�
nftables�nfs-utils4	newt�%nettle-devel
Qnettle�!netcf-libs�netcat�net-tools3'net-snmp-libs	'net-snmp-libs'net-snmp-libs
W'net-snmp-libs�'net-snmp-libs
�'net-snmp-libs�)net-snmp-develf)net-snmp-devel
�)net-snmp-devel
V)net-snmp-devel�)net-snmp-devel	�)net-snmp-devel�3net-snmp-agent-libse3net-snmp-agent-libs
�3net-snmp-agent-libs
U3net-snmp-agent-libs�3net-snmp-agent-libs	�3net-snmp-agent-libs�
net-snmpd
net-snmp
�
net-snmp
T
net-snmp�
net-snmp	�
net-snmp�!ndctl-libs�%ncurses-libs~%ncurses-libs
'%ncurses-libs�'ncurses-devel}'ncurses-devel
&'ncurses-devel�-ncurses-c++-libs|-ncurses-c++-libs
%-ncurses-c++-libs�%ncurses-base{%ncurses-base
$%ncurses-base�ncurseszncurses
#ncurses�	nanoY!mysql-libsc!mysql-libs�!mysql-libs�!mysql-libs	Q!mysql-libs	
#mysql-develb#mysql-devel�#mysql-devel�#mysql-devel	P#mysql-devel		%mysql-commona%mysql-common�%mysql-common�%mysql-common	O%mysql-common	mtools2#mssql-tools�#msodbcsql17
:#msodbcsql17�	mpfr�mpdecimal
mmozjs60�%monitor-edid�
mod_perl�mod_http2`mod_http2
�mod_http2�mod_http2\mod_http2	�mod_http2�
miniz�'microcode_ctly'microcode_ctl
"'microcode_ctl�'microcode_ctl
�'microcode_ctl�'microcode_ctl�#mhash-devel	%
mhash	$'mesa-libglapi_'mesa-libglapi
�'mesa-libglapi�'mesa-libglapi	�'mesa-libglapi�#mesa-libgbm^#mesa-libgbm
�#mesa-libgbm�#mesa-libgbm	�#mesa-libgbm�/mesa-libGLU-develu#mesa-libGLU�!mesa-libGL]!mesa-libGL
�!mesa-libGL�!mesa-libGL	�!mesa-libGL�#mesa-libEGL\#mesa-libEGL
�#mesa-libEGL�#mesa-libEGL	�#mesa-libEGL�+mesa-filesystem�-mesa-dri-drivers�memstrackxmemstrack
�memstrack�memcachedx
mdadm1	mcpp�5mariadb-server-utils�5mariadb-server-utils	�5mariadb-server-utils�5mariadb-server-utils�)mariadb-server�)mariadb-server	�)mariadb-server�)mariadb-server7mariadb-gssapi-server�7mariadb-gssapi-server	�7mariadb-gssapi-server�7mariadb-gssapi-server~)mariadb-errmsg�)mariadb-errmsg	�)mariadb-errmsg�)mariadb-errmsg}Amariadb-connector-c-config�3mariadb-connector-c�)mariadb-common�)mariadb-common	�)mariadb-common�)mariadb-common|
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������p`P@0 ��������p`P@0!
�
�
�
�
�
�
�
�
|
m
^
O
@
1
"

	�	�	�	�	�	�	�	�	x	h	X	H	8	(			��������yiZK<-��������scSC3#��������scSC3#��������scSC3#��������scSC3#��������scSC3#��������scSC3#���
� 		L_
�		L^
�		L]
�		L\
�		L[
�		LZ
�		LY
�		LX
�		LW
�		LV
�		LU
�		LT
�		LS
�		LR
�		LQ
�		LP
�		LO
�		LN
�		LM
�
		LL
�		LK
�		LJ
�
		LI
�			LH
�		LG
�		LF
�		LE
�		LD
�		LC
�		LB
�		LA
�		L@
�		L?
�		L>
�~		L=
�}		L<
�|		L;
�{		L:
�z		L9
�y		L8
�x		L7
�w		L6
�v		L5
�u		L4
�t		L3
�s		L2
�r		L1
�q		L0
�p		L/
�o		L.
�n		L-
�m		L,
�l		L+
�k		L*
�j		L)
�i		L(
�h		L'
�g		L&
�f		L%
�e		L$
�d		L#
�c		L"
�b		L!
�a		L 
�`		L
�_		L
�^		L
�]		L
�\		L
�[		L
�Z		L
�Y		L
�X		L
�W		L
�V		L
�U		L
�T		L
�S		L
�R		L
�Q		L
�P		L
�O		L
�N		L

�M		L
�L		L
�K		L

�J		L	
�I		L
�H		L
�G		L
�F		L
�E		L
�D		L
�C		L
�B		L
�A		L�@			L��?			L��>			L��=			L��<			L��;			L��:			L��9			L��8			L��7			L�
�6		L�
�5		L�
�4		L�
�3		L�
�2		L�
�1		L�
�0		L�
�/		L�
�.		L�
�-		L��,			L�
�+		L�
�*		L�
�)		L�
�(		L�
�'		L�
�&		L�
�%		L�
�$		L�
�#		L�
�"		L�
�!		L�� 			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L��			L�	�
			L�	�			L�	�			L�	�
			L�	�				L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�		L�	
�~		L�	
�}		L�	
�|		L�	
�{		L�	
�z		L�	
�y		L�	
�x		L�	
�w		L�	
�v		L�	
�u		L�	
�t		L�	
�s		L�	
�r		L�	
�q		L�	
�p		L�	
�o		L�	
�n		L�	
�m		L�	
�l		L�	
�k		L�	
�j		L�	
�i		L�	
�h		L�	
�g		L�	
�f		L�	
�e		L�	
�d		L�	
�c		L�	
�b		L�	
�a		L�	
�`		L�	
�_		L�	
�^		L�	
�]		L�	
�\		L�	
�[		L�	
�Z		L�	
�Y		L�	
�X		L�	
�W		L�	
�V		L�	
�U		L�	
�T		L�	
�S		L�	
�R		L�	
�Q		L�	
�P		L�	
�O		L�	
�N		L�	
�M		L�	
�L		L�	
�K		L�	
�J		L�	
�I		L�	
�H		L�	
�G		L�	
�F		L�	
�E		L�	
�D		L�	
�C		L�	
�B		L�	
�A		L�	
�@		L	
�?		L~	
�>		L}	
�=		L|	
�<		L{	
���������������x�ph`XPH@80( 0�(���������������xph`XPH@80( �����������������xph` XPH@80( 
�
�
�
�
�
�
�
��
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



�����������������xph`XPH@8�0�( �����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�����������������xph`XPH@80( �����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@8a)� *�`U�[�Z�X�SrRQdPbONMLK
JIH
G	\	FEZDVCBA@?\�Ax�z�y�x�w�4�vt�		� �	��	��	��
��
����	��	��	��	��	��������������������������
��R��
�	�����F�����D����������>���<���:���8���6�����������������(�����������"������������������
����������������������������������������������������������������������������������������	P�������������	N�������������
;���
9���
7��
5�~
3~�}
1}�|
/|�{�z	Mz�z�y�x�w�v�v�u�u�t�t�s�s�r�r�q�q�p�p�o�o�n�n�m�m�l�l�k�k�j�j�i�i�h�h�g�g�f�f�e�e�d�d�c�c�b�b�a�`�`�_�_�^�^�]�]�\�[�[�Z�Z�YY�X�X�W�V�V�UU�U�T�T�S�R�Q�Q�P�O�O�N�N�M�M	JM�M�L�L	IL�L�K�K�J�I�I�H�H�G�F�F�E�D�C�C�B�BA~@}?|>{=	=z<	}<y;	{;x:�:w9v8�8u7�7t6�6s5r4q3p2�2o1�1n00�0m//�/l.�.k-v-j,t,i+h*g)f(�(e'�'d&c%b$�$a#l#`"�"_!�!^ � ]�\�[�Z�Y�X�WVUT
V����`6���O#
�
�
�
k
D
���_2���P#
�
�
�
�
W
/
	�	�	x	G	���e:���d6
���_6
���e;��v7���~@��qD���e4�?'	Kperl-TimeDate2.3015.+1perl-UNIVERSAL-ref0.1428.el8x86_64/9perl-UNIVERSAL-moniker0.0834.el8noarch01!perl-UNIVERSAL-isa1.201710124.el8noarch11!perl-UNIVERSAL-can1.2014032815.el8noarch(+perl-Types-UUID0.0048.el8noarch')perl-Types-URI0.0067.el8noarch-7perl-Types-Serialiser1.012.el8noarch�-5perl-Types-Path-Tiny0.0067.el8noarch,3perl-Types-DateTime0.0025.el8noarch*)perl-Type-Tiny1.0040042.el8noarch�&'perl-Type-Tie0.0145.el8noarch�>'Iperl-Try-Tiny0.307.module+el8.9.0+1521+0101edcenoarch
�='Gperl-Try-Tiny0.307.module+el8.6.0+965+850557f9noarch
='Gperl-Try-Tiny0.307.module+el8.4.0+529+e3b3e624noarch�('perl-Tk-devel804.0342.el8x86_64	,3perl-Tk-TableMatrix1.2337.el8x86_64�"perl-Tk804.0342.el8x86_64?'	Kperl-TimeDate2.3015.module+el8.9.0+1521+0101edcenoarch
�>'	Iperl-TimeDate2.3015.module+el8.6.0+965+850557f9noarch
>'	Iperl-TimeDate2.3015.module+el8.4.0+529+e3b3e624noarch�,+perl-Time-y20382010040321.el8x86_64�.7perl-Time-Piece-MySQL0.0613.el8noarch�)+perl-Time-Piece1.31422.el8x86_64�)+perl-Time-Piece1.31421.el8x86_64
)+perl-Time-Piece1.31420.el8x86_64�03perl-Time-ParseDate2015.10313.el8noarch�%'perl-Time-Out0.211.el8noarch
]&'perl-Time-Out0.1118.el8noarch�(-perl-Time-Moment0.446.el8x86_64�(+	perl-Time-Local1.2801.el8noarch*+perl-Time-HiRes1.97582.el8x86_649&)perl-Time-Fake0.112.el8noarch�0=perl-Time-Duration-Parse0.155.el8noarch�*1perl-Time-Duration1.213.el8noarch�(+perl-Tie-IxHash1.2313.el8noarch�-5perl-Tie-Hash-Method0.0212.el8noarch�')perl-Tie-Cache0.2115.el8noarch�+)perl-Throwable0.20001312.el8noarch�)/perl-Thread-Queue3.131.el8noarch�+1perl-Text-WrapI18N0.0630.el8noarch�+3perl-Text-Unidecode1.305.el8noarch�*1perl-Text-Template1.511.el8noarch_1=perl-Text-TabularDisplay1.3818.el8noarch�23perl-Text-Tabs+Wrap2013.0523395.el8noarch
(+perl-Text-Table1.1337.el8noarch�)/perl-Text-Soundex3.058.el8x86_64�)-perl-Text-Reform1.2025.el8noarch�09perl-Text-RecordParser1.6.518.el8noarch�.5perl-Text-ParseWords3.30395.el8noarch8Mperl-Text-Levenshtein-Damerau-XS3.211.el8x86_64�'+perl-Text-Iconv1.742.el8x86_64�&)perl-Text-Glob0.114.el8noarch^'+perl-Text-Fuzzy0.291.el8x86_64�(-perl-Text-Format0.616.el8noarch�&)perl-Text-Diff1.452.el8noarchh,3perl-Text-CharWidth0.0432.el8x86_64�(-perl-Text-CSV_XS1.401.el8x86_64�%'perl-Text-CSV2.002.el8noarch�,1perl-Text-Balanced2.03395.el8noarch�05perl-Text-Autoformat1.7500001.el8noarch�*/perl-Text-Aligner0.1311.el8noarch�-5perl-Text-ASCIITable0.2211.el8noarch�&#perl-TestML0.54.058.el8noarch�0=perl-Test2-Tools-Explain0.022.el8noarch�,-perl-Test2-Suite0.0001111.el8noarch�4Eperl-Test2-Plugin-NoWarnings0.081.el8noarch�*-perl-Test-mysqld1.00131.el8noarch�&'perl-Test-XML0.0816.el8noarch�1=perl-Test-Without-Module0.2010.el8noarch�+1perl-Test-Warnings0.0267.el8noarch�&)perl-Test-Warn0.325.el8noarch�4Eperl-Test-WWW-Mechanize-PSGI0.396.el8noarch�/;perl-Test-WWW-Mechanize1.542.el8noarch�)/perl-Test-Version2.098.el8noarch�()perl-Test-Vars0.01413.el8noarch�+1perl-Test-Valgrind1.1912.el8noarch�0;perl-Test-UseAllModules0.1715.el8noarch�,3	perl-Test-Unit-Lite0.1233.el8noarch�.1perl-Test-TypeTiny1.0040042.el8noarch�')perl-Test-Trap0.3.44.el8noarch�1;perl-Test-TrailingSpace0.03021.el8noarch�)/perl-Test-Toolbox0.411.el8noarch�&)perl-Test-Time0.083.el8noarch�)/perl-Test-TempDir0.111.el8noarch�(+perl-Test-Taint1.0619.el8x86_64�%'perl-Test-TCP2.221.el8noarch�
S����R.����gD 
�
�
�
y
X
3

���X(���wE
�
�
�
V
	�	�	�	U	)���A��1��q2��xM ���j?���T.��rN���iB��.�7perl-CGI-Emulate-PSGI0.2312.el8noarch(�-perl-CGI-Compile0.231.el8noarch%�'perl-CDB_File1.021.el8x86_64$�%perl-CBOR-XS1.714.el8x86_641�=perl-Bytes-Random-Secure0.2914.el8noarch*�/perl-Browser-Open0.0423.el8noarch'�+perl-BerkeleyDB0.632.el8x86_64%�%perl-Bencode1.5017.el8noarch/�/perl-BSD-Resource1.291.10011.el8x86_64!�perl-BDB1.9212.el8x86_64'�+perl-B-Keywords1.201.el8noarch-�7perl-B-Hooks-OP-Check0.228.el8x86_643�Aperl-B-Hooks-OP-Annotation0.4425.el8x86_64)�-perl-B-Compiling0.0616.el8x86_64#�!perl-B-COW0.0042.el8x86_641�
?perl-Authen-Simple-Passwd0.626.el8noarch*�1perl-Authen-Simple0.522.el8noarch*�1
perl-Authen-Radius0.311.el8noarch/�
9perl-Authen-Passphrase0.0082.el8noarch(�	+perl-Authen-PAM0.1637.el8x86_64(�-
perl-Authen-Krb51.928.el8x86_64,�3	perl-Authen-DecHpwd2.0078.el8x86_64-�9perl-Authen-Credential1.21.el8noarch-�3perl-Authen-Captcha1.02417.el8noarch$�%perl-AuthCAS1.710.el8noarch*�1perl-Astro-SunTime0.067.el8noarch(�-perl-Array-Utils0.525.el8noarch*�/perl-Array-Unique0.0815.el8noarch'�+	perl-Array-Diff0.091.el8noarch3�Aperl-Archive-Zip-SimpleZip0.0251.el8noarch*�~/perl-Archive-Peek0.3517.el8noarch<�}U	�perl-Archive-Extract-zip-Archive-Zip0.881.el8noarch4�|E	�perl-Archive-Extract-xz-unxz0.881.el8noarch9�{O	�perl-Archive-Extract-txz-tar-unxz0.881.el8noarchJ�zq	�perl-Archive-Extract-tgz-Archive-Tar-Compress-Zlib0.881.el8noarchS�y�	�perl-Archive-Extract-tbz-Archive-Tar-IO-Uncompress-Bunzip20.881.el8noarch<�xU	�perl-Archive-Extract-tar-Archive-Tar0.881.el8noarch8�wM	�perl-Archive-Extract-lzma-unlzma0.881.el8noarch=�vW	�perl-Archive-Extract-gz-Compress-Zlib0.881.el8noarchF�ui	�perl-Archive-Extract-bz2-IO-Uncompress-Bunzip20.881.el8noarch<�tU	�perl-Archive-Extract-Z-Compress-Zlib0.881.el8noarch,�s5	�perl-Archive-Extract0.881.el8noarch.�r7�perl-Archive-Any-Lite0.1112.el8noarch)�q-�perl-App-Nopaste1.0134.el8noarch*�p/�perl-Apache2-SOAP0.7331.el8noarch1�o?�perl-Apache-Session-Redis0.213.el8noarch1�n?�perl-Apache-Session-NoSQL0.213.el8noarch/�m=�perl-Apache-Session-LDAP0.49.el8noarch7�lI�perl-Apache-Session-Browseable1.3.41.el8noarch,�k3�perl-Apache-Session1.9315.el8noarch+�j1�perl-Apache-Reload0.1312.el8noarch7�iI�perl-Apache-LogFormat-Compiler0.3510.el8noarch(�h+�perl-Apache-DBI1.1219.el8noarch*�g1�perl-AnyEvent-HTTP2.245.el8noarch/�f9�perl-AnyEvent-CacheDNS0.0817.el8noarch)�e/�perl-AnyEvent-BDB1.134.el8noarch)�d/�perl-AnyEvent-AIO1.131.el8noarch,�c3�perl-Any-URI-Escape0.0119.el8noarch'�b)�perl-Any-Moose0.2714.el8noarch-�a5�perl-Algorithm-Loops1.0322.el8noarch5�`E�perl-Algorithm-Combinatorics0.2717.el8x86_64*�_/�perl-Algorithm-C30.1016.el8noarch+�^3�perl-AWS-Signature41.022.el8noarch�]�netcat1.2182.el8x86_64#�\%�monitor-edid3.42.el8x86_64"�[�mod_perl2.0.121.el8x86_64�Z�miniz2.1.03.el8x86_64�Y�libx861.130.el8x86_64#�X!�libtommath1.1.01.el8x86_64%�W#�libtomcrypt1.18.25.el8x86_645�V?�libspf21.2.111.20210922git4915c308.el8x86_64!�U�libretls3.4.21.el8x86_64 �T�libraqm0.7.04.el8x86_64�S�liblzf3.616.el8x86_64*�R%!�libfbclient24.0.0.24962.el8x86_64�Q�libbsd0.9.14.el8x86_64!�P�gnupg11.4.2314.el8x86_640�O?�csnappy016.20181121git973f62f.el8x86_64!�N�collectd5.9.05.el8x86_64-�M-�ImageMagick-perl6.9.10.861.el8x86_64-�L-�ImageMagick-libs6.9.10.861.el8x86_64)�K)�xz-lzma-compat5.2.43.el8.1x86_64�J�sombok2.4.07.el8x86_64
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@��~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOM
�L�
�
�
�
T
+	�	�	�	~	O	(
	���^1���mC���X+���uJ���uF�
-��\.���Y6�[3�����N&���m>
�
�
�
Xperl-Crypt-Cracklib1.+3perl-Crypt-Cracklib1.724.el8x86_64e/9perl-Crypt-CipherSaber1.0112.el8noarchd')perl-Crypt-CBC2.3325.el8noarchc,3perl-Crypt-Blowfish2.1416.el8x86_64b&'perl-Crypt-DH0.0722.el8noarchh,3perl-Crypt-DES_EDE30.0137.el8noarchg))perl-Crypt-DES2.0719.1.el8x86_64f*1perl-Class-Measure0.101.el8noarch�"perl-Coro6.5702.el8x86_64`)/perl-Cookie-Baker0.112.el8noarch_*1perl-Convert-UUlib1.81.el8x86_64^*+perl-Convert-UU0.520127.el8noarch]*/perl-Convert-TNEF0.1817.el8noarch\)-perl-Convert-PEM0.0831.el8noarch[-3perl-Convert-BinHex1.12513.el8noarchZ0;perl-Convert-Bencode_XS0.0627.el8x86_64Y-5perl-Convert-Bencode1.0326.el8noarchX+3perl-Convert-Base320.065.el8noarchW*/perl-Convert-ASN10.2717.el8noarch�39perl-Contextual-Return0.00401410.el8noarchV.7perl-Context-Preserve0.0311.el8noarchU)+perl-Const-Fast0.01419.el8noarchT,7perl-Config-Validator1.41.el8noarchS(-perl-Config-Tiny2.241.el8noarchR(+perl-Config-Std0.9037.el8noarchQ+1perl-Config-Simple4.5932.el8noarchP*1perl-Config-Perl-V0.301.el8noarch�05perl-Config-IniFiles3.0000023.el8noarchO+3perl-Config-Grammar1.139.el8noarchN+3perl-Config-GitLike1.183.el8noarchM,7perl-Config-Generator1.11.el8noarchL,3perl-Config-General2.6310.el8noarchK-5perl-Config-AutoConf0.3152.el8noarchW(+perl-Config-Any0.3210.el8noarchJ2?perl-Compress-Stream-Zstd0.2023.el8x86_64I/9perl-Compress-Raw-Zlib2.0811.el8x86_64e0;perl-Compress-Raw-Bzip22.0811.el8x86_64d)/perl-Compress-LZF3.814.el8x86_64H+3perl-Compress-Bzip22.266.el8x86_64C1=perl-ColorThemeUtil-ANSI0.0012.el8noarchG1=perl-ColorThemeRole-ANSI0.0012.el8noarchF3Aperl-ColorThemeBase-Static0.0082.el8noarchE,3perl-Color-RGB-Util0.6012.el8noarchD-5perl-Color-ANSI-Util0.1642.el8noarchC&'perl-Collectd5.9.05.el8x86_64B&'perl-Clone-PP1.0710.el8noarchA*/perl-Clone-Choose0.0107.el8noarch@"!perl-Clone0.395.el8x86_64�&)perl-Clipboard0.261.el8noarch?.7perl-Class-XSAccessor1.1914.el8x86_64V*/perl-Class-Unload0.1112.el8noarch>*1perl-Class-Trigger0.151.el8noarch=(+perl-Class-Tiny1.0066.el8noarchU-3perl-Class-Std-Fast0.0.811.el8noarch<()perl-Class-Std0.01312.el8noarch;+5perl-Class-Singleton1.59.el8noarchT')perl-Class-Mix0.0067.el8noarch:/9perl-Class-MethodMaker2.2417.el8x86_6493Cperl-Class-Method-Modifiers2.128.el8noarchS�&)perl-Clipboard0.291.el8noarchS*/perl-Convert-ASN10.2718.el8noarchp')perl-Crypt-RC42.0223.el8noarchs.5perl-Crypt-PasswdMD51.4.017.el8noarchr+1perl-Crypt-PWSafe31.2214.el8noarchq0;perl-Crypt-OpenSSL-X5091.8131.el8x86_64p1?perl-Crypt-OpenSSL-Random0.153.el8x86_64�.9perl-Crypt-OpenSSL-RSA0.311.el8x86_64�1?perl-Crypt-OpenSSL-Bignum0.095.el8x86_64�(-perl-Crypt-MySQL0.048.el8x86_64o(+perl-Crypt-IDEA1.1016.el8x86_64n4Cperl-Crypt-GeneratePassword0.0517.el8noarchm')perl-Crypt-GPG1.6419.el8noarchl09perl-Crypt-Eksblowfish0.00926.el8x86_64k&)perl-Crypt-ECB2.221.el8noarchj-/perl-Crypt-DH-GMP0.0001216.el8x86_64i+3perl-Cpanel-JSON-XS4.141.el8x86_64a
������eI�.���Y���zcJ����jU8������iRB?'
�
�
�
�
�
�
o
O
:
#
������wb-M-�2����~`E6'#��	
�
�
�
�
�
�
t
]�
A�
0
!

	�	�	�	�	�	{	m��	[	I��	:		�����xhH4������qhN9�����fE1�������w�Z>*��F�perl-Fsdb�%perl-Git-SVNr
perl-Gitqperl-Fsdb/perl-HTTP-Message
�)perl-HTTP-Date
�/perl-HTTP-Cookies
�-perl-HTML-Tagset
�-perl-HTML-Parser
�+perl-File-pushd
�/perl-File-Listing
�perl-FCGI
�9perl-HTML-StripScripts�9perl-GIS-Distance-Fast�/perl-GIS-Distance�%perl-Git-SVN�
perl-Git�9perl-ExtUtils-Miniperl�1perl-HTML-Restrict�1perl-HTML-RestrictBperl-FsdbA1perl-Finance-Quote@3perl-File-CheckTree�/perl-File-BaseDirr-perl-Fennec-Lite+perl-Fedora-VSP�7perl-FCGI-ProcManager-perl-FCGI-Clientperl-FCGI	�perl-FCGI�;perl-ExtUtils-XSBuilder;perl-ExtUtils-PkgConfig7perl-ExtUtils-ParseXS69perl-ExtUtils-Miniperl	�9perl-ExtUtils-Miniperl�9perl-ExtUtils-Manifest5%Mperl-ExtUtils-MakeMaker-CPANfile�;perl-ExtUtils-MakeMaker49perl-ExtUtils-MM-UtilsI/perl-HTTP-Message	�/perl-HTTP-Message�)perl-HTTP-LiteQ9perl-HTTP-Headers-FastP;perl-HTTP-Entity-ParserO)perl-HTTP-Date	�)perl-HTTP-Date�5perl-HTTP-Daemon-SSLN-perl-HTTP-Daemon�'perl-HTTP-DAVM/perl-HTTP-Cookies	�/perl-HTTP-Cookies� Cperl-HTTP-Cache-TransparentL)perl-HTTP-BodyK Cperl-HTML-TreeBuilder-XPathJ!Eperl-HTML-TreeBuilder-LibXMLI)perl-HTML-Tree{ Cperl-HTML-TokeParser-SimpleH9perl-HTML-Template-ProG1perl-HTML-TemplateF-perl-HTML-Tagset	�-perl-HTML-Tagset�9perl-HTML-TableExtractE+perl-HTML-TableD"Gperl-HTML-StripScripts-ParserC9perl-HTML-StripScriptsB=perl-HTML-Selector-XPathA1perl-HTML-Scrubber@1perl-HTML-Restrict?-perl-HTML-Parser	�-perl-HTML-Parser�)perl-HTML-Lint>3perl-HTML-Formatter=)perl-HTML-Form<Aperl-HTML-Element-Extended;!perl-Guard:perl-Gtk39%Mperl-Graphics-ColorNamesLite-WWW8/perl-GraphViz-XML7'perl-GraphViz6!perl-Graph55perl-GnuPG-Interface4+perl-Glib-devel3#Iperl-Glib-Object-Introspection2perl-Glib1%perl-Git-SVN	�%perl-Git-SVN�
perl-Git	�
perl-Git�!Eperl-Getopt-Long-Descriptive0-perl-Getopt-Long�5perl-Getopt-ArgvFile/=perl-Geography-Countries.#perl-Geo-IP-/perl-Geo-Distance,perl-GTop+#perl-GSSAPI�9perl-GIS-Distance-Fast*/perl-GIS-Distance)+perl-GDTextUtil(%perl-GDGraph'7perl-GD-SecurityImage&+perl-GD-Barcode�perl-GD�#perl-Future%Aperl-FusionInventory-Agent$=perl-Function-Parameters#perl-Fsdb	perl-Fsdb"7perl-Frontier-RPC-doc!=perl-Frontier-RPC-Client /perl-Frontier-RPC+perl-FreezeThaw9perl-Font-TTF-XMLparse'perl-Font-TTF'perl-Font-AFM1perl-Finance-Quote1perl-Filter-Simple�#perl-Filter�Aperl-Filesys-Notify-Simple+perl-Filesys-Df+perl-File-pushd	�+perl-File-pushd�+perl-File-chdirz+perl-File-WhichK)perl-File-Type5perl-File-TreeCreate/perl-File-Tempdir)perl-File-Temp�)perl-File-Tail/perl-File-Slurper+perl-File-Slurp�Aperl-File-ShareDir-Install1perl-File-ShareDir�+perl-File-Share-perl-File-Removey;perl-File-ReadBackwardsx3perl-File-Path-Tiny)perl-File-Path�)perl-File-Next/perl-File-NFSLock1perl-File-MimeInfow'perl-File-Map
/perl-File-Listing	�/perl-File-Listing�1perl-File-LibMagic/perl-File-KeePass/perl-File-HomeDirJ=perl-File-Find-Rule-Perl
3perl-File-Find-RulevAperl-File-Find-Object-Rule	7perl-File-Find-Objectu;perl-File-Find-Iterator+perl-File-Fetch�3perl-File-FcntlLock;perl-File-Edit-Portable9perl-File-DesktopEntryt%Mperl-File-Copy-Recursive-Reduced=perl-File-Copy-Recursives
T����S*���vP"
�
�
�
i
B
��qE��oE
�
�
�
c
3
	�	�	�	Z	1	��h4��yJ���b7��uG���[.���S)���nE���X-�0�p;rperl-Crypt-OpenSSL-X5091.8131.el8x86_64(�o-qperl-Crypt-MySQL0.048.el8x86_64(�n+pperl-Crypt-IDEA1.1016.el8x86_644�mCoperl-Crypt-GeneratePassword0.0517.el8noarch'�l)nperl-Crypt-GPG1.6419.el8noarch0�k9mperl-Crypt-Eksblowfish0.00926.el8x86_64&�j)lperl-Crypt-ECB2.221.el8noarch-�i/kperl-Crypt-DH-GMP0.0001216.el8x86_64&�h'jperl-Crypt-DH0.0722.el8noarch,�g3iperl-Crypt-DES_EDE30.0137.el8noarch)�f)hperl-Crypt-DES2.0719.1.el8x86_64+�e3gperl-Crypt-Cracklib1.724.el8x86_64/�d9fperl-Crypt-CipherSaber1.0112.el8noarch'�c)eperl-Crypt-CBC2.3325.el8noarch,�b3dperl-Crypt-Blowfish2.1416.el8x86_64+�a3cperl-Cpanel-JSON-XS4.141.el8x86_64"�`bperl-Coro6.5702.el8x86_64)�_/aperl-Cookie-Baker0.112.el8noarch*�^1`perl-Convert-UUlib1.81.el8x86_64*�]+_perl-Convert-UU0.520127.el8noarch*�\/^perl-Convert-TNEF0.1817.el8noarch)�[-]perl-Convert-PEM0.0831.el8noarch-�Z3\perl-Convert-BinHex1.12513.el8noarch0�Y;[perl-Convert-Bencode_XS0.0627.el8x86_64-�X5Zperl-Convert-Bencode1.0326.el8noarch+�W3Yperl-Convert-Base320.065.el8noarch3�V9Xperl-Contextual-Return0.00401410.el8noarch.�U7Wperl-Context-Preserve0.0311.el8noarch)�T+Vperl-Const-Fast0.01419.el8noarch,�S7Uperl-Config-Validator1.41.el8noarch(�R-Tperl-Config-Tiny2.241.el8noarch(�Q+Sperl-Config-Std0.9037.el8noarch+�P1Rperl-Config-Simple4.5932.el8noarch0�O5Qperl-Config-IniFiles3.0000023.el8noarch+�N3Pperl-Config-Grammar1.139.el8noarch+�M3Operl-Config-GitLike1.183.el8noarch,�L7Nperl-Config-Generator1.11.el8noarch,�K3Mperl-Config-General2.6310.el8noarch(�J+Lperl-Config-Any0.3210.el8noarch2�I?Kperl-Compress-Stream-Zstd0.2023.el8x86_64)�H/Jperl-Compress-LZF3.814.el8x86_641�G=Iperl-ColorThemeUtil-ANSI0.0012.el8noarch1�F=Hperl-ColorThemeRole-ANSI0.0012.el8noarch3�EAGperl-ColorThemeBase-Static0.0082.el8noarch,�D3Fperl-Color-RGB-Util0.6012.el8noarch-�C5Eperl-Color-ANSI-Util0.1642.el8noarch&�B'Dperl-Collectd5.9.05.el8x86_64&�A'Cperl-Clone-PP1.0710.el8noarch*�@/Bperl-Clone-Choose0.0107.el8noarch&�?)Aperl-Clipboard0.261.el8noarch*�>/@perl-Class-Unload0.1112.el8noarch*�=1?perl-Class-Trigger0.151.el8noarch-�<3>perl-Class-Std-Fast0.0.811.el8noarch(�;)=perl-Class-Std0.01312.el8noarch'�:)<perl-Class-Mix0.0067.el8noarch/�99;perl-Class-MethodMaker2.2417.el8x86_64*�81:perl-Class-Measure0.081.el8noarch+�719perl-Class-Load-XS0.1010.el8x86_64'�6+8perl-Class-Load0.259.el8noarch+�537perl-Class-Iterator0.322.el8noarch0�4;6perl-Class-ErrorHandler0.0414.el8noarchA�3]5perl-Class-DBI-Plugin-DeepAbstractSearch0.0833.el8noarch.�274perl-Class-DBI-Plugin0.0342.el8noarch)�1)3perl-Class-DBI3.0.1738.el8noarch8�0C2perl-Class-C3-Componentised1.00100210.el8noarch%�/'1perl-Class-C30.341.el8noarch1�.=0perl-Class-Accessor-Lite0.0816.el8noarch7�-C/perl-Class-Accessor-Grouped0.1001410.el8noarch$�,!.perl-Child0.01311.el8noarch/�+1-perl-Carp-Fix-1_251.00000120.el8noarch-�*7,perl-Carp-Assert-More1.241.el8noarch)�)-+perl-Carp-Assert0.2117.el8noarch(�(-*perl-Carp-Always0.169.el8noarch+�'1)perl-Cairo-GObject1.0051.el8x86_64#�&!(perl-Cairo1.1071.el8x86_64-�%5'perl-Cache-Memcached1.3021.el8noarch'�$)&perl-Cache-LRU0.0412.el8noarch+�#3%perl-Cache-FastMmap1.484.el8x86_64)�"-$perl-Cache-Cache1.0815.el8noarch&�!'#perl-CSS-Tiny1.2011.el8noarch.� /"perl-CPAN-Changes0.40000213.el8noarch#�!!perl-CLASS1.0028.el8noarch+�1 perl-CGI-SpeedyCGI2.2239.el8x86_64%�'perl-CGI-Fast2.153.el8noarch
K�W)���P*������[4���Z"
�
�
�
S
 ���N��xD
�
��
�
L
	�	�	�	Z	*���qH���f9���X.���X��9����.9perl-DateTime-TimeZone2.621.el8noarchO'+perl-Date-Manip6.603.el8noarch�)+perl-Devel-Peek1.26422.el8x86_64�6Aperl-Devel-REPL-Plugin-DDC1.0030291.el8noarch7Lmperl-Devel-REPL-Plugin-CompletionDriver-Keywords1.0030291.el8noarch6Gcperl-Devel-REPL-Plugin-CompletionDriver-INC1.0030291.el8noarch5-7perl-Date-Holidays-DE2.061.el8noarch1-7perl-Date-Holidays-DE2.051.el8noarch�%)perl-Date-Calc6.49.el8noarch�.7perl-Data-Validate-IP0.2711.el8noarch�)-perl-Data-Uniqid0.1224.el8noarch�()perl-Data-UUID1.22110.el8x86_64X')perl-Data-Taxi0.9625.el8noarch�.7perl-Data-Stream-Bulk0.1123.el8noarch�-5perl-Data-Serializer0.6014.el8noarch�1=perl-Data-Section-Simple0.0717.el8noarch�7Aperl-Devel-REPL-Plugin-DDC1.00302817.el8noarch�Mmperl-Devel-REPL-Plugin-CompletionDriver-Keywords1.00302817.el8noarch�Hcperl-Devel-REPL-Plugin-CompletionDriver-INC1.00302817.el8noarch�=Operl-Devel-REPL-Plugin-Completion1.0030291.el8noarch4>Operl-Devel-REPL-Plugin-Completion1.00302817.el8noarch�++perl-Devel-REPL1.0030291.el8noarch3,+perl-Devel-REPL1.00302817.el8noarch�)+perl-Devel-Peek1.26421.el8x86_64	�)+perl-Devel-Peek1.26420.el8x86_64�,5perl-Devel-PatchPerl1.642.el8noarch�.9perl-Devel-PartialDump0.208.el8noarch�)/perl-Devel-PPPort3.365.el8x86_64�0;perl-Devel-OverloadInfo0.0057.el8noarch�,3perl-Devel-LexAlias0.0516.el8x86_64h(+perl-Devel-Leak0.0341.el8x86_64�)+perl-Devel-Hide0.00106.el8noarch�4Eperl-Devel-GlobalDestruction0.145.el8noarchg/1perl-Devel-Declare0.00601914.el8x86_64�)-perl-Devel-Cycle1.1216.el8noarch�(-perl-Devel-Cover1.334.el8x86_64�+3perl-Devel-CheckLib1.115.el8noarchf1=perl-Devel-CheckCompiler0.0711.el8noarch�*/perl-Devel-Caller2.0615.el8x86_64e/7perl-Devel-CallParser0.00220.el8x86_64�/9perl-Devel-CallChecker0.0083.el8x86_64d,3perl-Devel-ArgNames0.0319.el8noarch�09perl-DepGen-Perl-Tests0.1.211.el8noarch�8Kperl-Declare-Constraints-Simple0.0336.el8noarch�,3perl-DateTimeX-Easy0.0911.el8noarch2-3perl-DateTimeX-Easy0.08926.el8noarch�6Gperl-DateTime-TimeZone-Tzfile0.0113.el8noarchc7Iperl-DateTime-TimeZone-SystemV0.0103.el8noarchb.9perl-DateTime-TimeZone2.191.el8noarcha,/perl-DateTime-Set0.390012.el8noarch�,5perl-DateTime-Locale1.172.el8noarch`3Cperl-DateTime-Format-W3CDTF0.079.el8noarch�5G	perl-DateTime-Format-Strptime1.752.el8noarch_4Cperl-DateTime-Format-SQLite0.1128.el8noarch�6Eperl-DateTime-Format-RFC33391.2.013.el8noarch�3;perl-DateTime-Format-Pg0.1601312.el8noarch�4Eperl-DateTime-Format-Natural1.092.el8noarch�3Aperl-DateTime-Format-MySQL0.0612.el8noarch�2?	perl-DateTime-Format-Mail0.4036.el8noarch^5Eperl-DateTime-Format-ISO86010.0817.el8noarch]2?perl-DateTime-Format-ICal0.0933.el8noarch�1?perl-DateTime-Format-HTTP0.429.el8noarch\5Gperl-DateTime-Format-Flexible0.341.el8noarch�3A	perl-DateTime-Format-Excel0.3127.el8noarch�2Aperl-DateTime-Format-Epoch0.169.el8noarch�7Iperl-DateTime-Format-DateParse0.0524.el8noarch�7Eperl-DateTime-Format-Builder0.810015.el8noarch[7Iperl-DateTime-Event-Recurrence0.1911.el8noarch�1=perl-DateTime-Event-ICal0.1314.el8noarch�7Eperl-DateTime-Calendar-Mayan0.060127.el8noarch�&'perl-DateTime1.501.el8x86_64Z)-perl-Date-Simple3.0329.el8x86_64�'+perl-Date-Range1.412.el8noarch�'+perl-Date-Manip6.602.el8noarch7*/perl-Date-ISO86010.0052.el8noarchY
�������������������{tmf_XQJC<5.' ������������������xjc\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



����LE>70)"

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
s
l
e
^
W
P
I
B
;
4
-
&





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	~	w	p	i	b	[	T	M	F	?	8	1	*	#					������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%���������������yrkd]VOHA:3,%	������������������}vohaZSq	������������������}vohaZSLE>70)"
�����������������L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLqLpLoLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSLRLQLPLOLNLMLLLKLJLILHLGLFLELDLCLBLAL@L?L>L=L<L;L:L9L8L7L6L5L4L3L2L1L0L/L.L-L,L+L*L)L(L'L&L%L$L#L"L!L LLLLLLLLLLLLLLLLLLL
LLL
L	LLLLLLLLLL�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLq
�T���T��ydT?�,n�������rYE)
�
�
�
�
�
}
f�
J
-

�\����{eN,������kK.
�
�
�
�
z
S
/
	�	�	�	�D	�	x	]	D	+	����(�����{Y9!���}ZC%���tS1!��������lT<$������tW9&l��1perl-MIME-EncWords'perl-Net-HTTP
�perl-NTLM
�+perl-Mozilla-CA
�5perl-Module-CPANfile
�-perl-Mail-SPF_XS
9/perl-Math-Complex�#perl-Net-IP�1perl-Net-INET6Glue�'perl-Net-HTTP
'perl-Net-HTTP�=perl-Net-Facebook-Oauth2�;perl-Net-FTP-RetrHandle�Aperl-Net-FTP-AutoReconnect�3perl-Net-Domain-TLD�+perl-Net-Daemon�%perl-Net-DNS�'perl-Net-CUPS�1perl-Net-CIDR-Lite�'perl-Net-CIDR�%perl-Net-BGP�1perl-Net-Amazon-S3�1perl-Net-Amazon-S3F1perl-Net-Amazon-S3�1perl-Nagios-Plugin�perl-NTLM
perl-NTLM�
perl-NKF�/perl-Mozilla-LDAP�+perl-Mozilla-CA
+perl-Mozilla-CA�/perl-MouseX-Types�3perl-MouseX-Foreign�!perl-Mouse�!Eperl-MooseX-Types-Stringlike� Cperl-MooseX-Types-Path-Tiny�!Eperl-MooseX-Types-Path-Class�$Kperl-MooseX-Types-LoadableClass�9perl-MooseX-Types-JSON�-]perl-MooseX-Types-DateTime-MoreCoercions�Aperl-MooseX-Types-DateTime�=perl-MooseX-Types-Common�/perl-MooseX-Types�"Gperl-MooseX-StrictConstructor�=perl-MooseX-SimpleConfig�%Mperl-MooseX-Role-WithOverloading�#Iperl-MooseX-Role-Parameterized�!Eperl-MooseX-Object-Pluggable�5perl-MooseX-NonMoose�1perl-MooseX-Getopt�Aperl-MooseX-ConfigFromFile�!Eperl-MooseX-AttributeHelpers�5perl-MooseX-ArrayRef�3perl-MooseX-Aliases�!perl-Moose�)perl-MooX-late�?perl-MooX-Types-MooseLike�5perl-MooX-HandlesVia�perl-MooX�
perl-Moo�9perl-Monitoring-Plugin�1perl-Module-Loaded�%perl-Memoize�)perl-Mail-DKIM�$Kperl-Mail-AuthenticationResults�-perl-Mojolicious�-perl-Module-Util�7perl-Module-Signature�5perl-Module-ScanDeps�"Gperl-Module-Runtime-Conflicts�3perl-Module-Runtime�3perl-Module-Refresh�7perl-Module-Pluggable�5perl-Module-MetadataT5perl-Module-Manifest�1perl-Module-Loaded
1perl-Module-Loaded�7perl-Module-Load-Util�!Eperl-Module-Load-ConditionalS-perl-Module-LoadR#Iperl-Module-Install-Repository�&Operl-Module-Install-ReadmeFromPod�#Iperl-Module-Install-ExtraTests�$Kperl-Module-Install-AuthorTests�3perl-Module-Install�Aperl-Module-Implementation�-perl-Module-Find�9perl-Module-ExtractUse�;perl-Module-Extract-Use�Aperl-Module-CoreList-tools�5perl-Module-CoreListQ3perl-Module-Compile�5perl-Module-CPANfile
5perl-Module-CPANfile�Aperl-Module-CPANTS-Analyse�=perl-Module-Build-XSUtil�9perl-Module-Build-Tiny�!Eperl-Module-Build-Deprecated�/perl-Module-BuildP-perl-Modern-Perl�'perl-Mock-Sub�3perl-Mixin-Linewise�5perl-MetaCPAN-Client�/perl-Meta-Builder�9perl-Messaging-Message�%perl-Memoize
%perl-Memoize�+perl-Math-Round�;perl-Math-Random-Secure�9perl-Math-Random-ISAAC�/perl-Math-Complex
�/perl-Math-Complex>5perl-Math-Calc-Units�-perl-Math-BigRat�5perl-Math-BigInt-GMP�?perl-Math-BigInt-FastCalc�-perl-Math-BigInt=-perl-Math-Base36�9perl-Math-Base-Convert�)perl-MailTools�3perl-Mail-Transport�1perl-Mail-Sendmail�-perl-Mail-Sender�-perl-Mail-SPF_XS�'perl-Mail-SPF�=perl-Mail-RFC822-Address�/perl-Mail-Message�5perl-Mail-IMAPClient�)perl-Mail-DKIM�'perl-Mail-Box�+perl-MRO-CompatO!perl-MLDBM�+perl-MIME-tools�+perl-MIME-Types�3perl-MIME-Lite-HTML�)perl-MIME-Lite�1perl-MIME-EncWords�/perl-MIME-Charset�-perl-MIME-Base64
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

	�	�	�	�	�	�	�	�	p	`	P	@	0	 		��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ���
�		LB
�		LA
�		L@
�		L?
�		L>
�~		L=
�}		L<
�|		L;
�{		L:
�z		L9
�y		L8
�x		L7
�w		L6
�v		L5
�u		L4
�t		L3
�s		L2
�r		L1
�q		L0
�p		L/
�o		L.
�n		L-
�m		L,
�l		L+
�k		L*
�j		L)
�i		L(
�h		L'
�g		L&
�f		L%
�e		L$
�d		L#
�c		L"
�b		L!
�a		L 
�`		L
�_		L
�^		L
�]		L
�\		L
�[		L
�Z		L
�Y		L
�X		L
�W		L
�V		L
�U		L
�T		L
�S		L
�R		L
�Q		L
�P		L
�O		L
�N		L

�M		L
�L		L
�K		L

�J		L	
�I		L
�H		L
�G		L
�F		L
�E		L
�D		L
�C		L
�B		L
�A		L
�@		L�
�?		L�
�>		L�
�=		L�
�<		L�
�;		L�
�:		L�
�9		L�
�8		L�
�7		L�
�6		L�
�5		L�
�4		L�
�3		L�
�2		L�
�1		L�
�0		L�
�/		L�
�.		L�
�-		L�
�,		L�
�+		L�
�*		L�
�)		L�
�(		L�
�'		L�
�&		L�
�%		L�
�$		L�
�#		L�
�"		L�
�!		L�
� 		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�
		L�
�		L�
�		L�
�
		L�
�			L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�~		L�
�}		L�
�|		L�
�{		L�
�z		L�
�y		L�
�x		L�
�w		L�
�v		L�
�u		L�
�t		L�
�s		L�
�r		L�
�q		L�
�p		L�
�o		L�
�n		L�
�m		L�
�l		L�
�k		L�
�j		L�
�i		L�
�h		L�
�g		L�
�f		L�
�e		L�
�d		L�
�c		L�
�b		L�
�a		L�
�`		L�
�_		L�
�^		L�
�]		L�
�\		L�
�[		L�
�Z		L�
�Y		L�
�X		L�
�W		L�
�V		L�
�U		L�
�T		L�
�S		L�
�R		L�
�Q		L�
�P		L�
�O		L�
�N		L�
�M		L�
�L		L�
�K		L�
�J		L�
�I		L�
�H		L�
�G		L�
�F		L�
�E		L�
�D		L�
�C		L�
�B		L�
�A		L�
�@		L
�?		L~
�>		L}
�=		L|
�<		L{
�;		Lz
�:		Ly
�9		Lx
�8		Lw
�7		Lv
�6		Lu
�5		Lt
�4		Ls
�3		Lr
�2		Lq
�1		Lp
�0		Lo
�/		Ln
�.		Lm
�-		Ll
�,		Lk
�+		Lj
�*		Li
�)		Lh
�(		Lg
�'		Lf
�&		Le
�%		Ld
�$		Lc
�#		Lb
�"		La
�!		L`
Q���wE���],
�
�
�
p
E
���uM%���O"
�
�
�
o
E
	�	�	�	_	*���tI���c7��xL���['��~H��n8���c3���d0�)�A-�perl-Devel-Cycle1.1216.el8noarch(�@-�perl-Devel-Cover1.334.el8x86_641�?=�perl-Devel-CheckCompiler0.0711.el8noarch/�>7�perl-Devel-CallParser0.00220.el8x86_64,�=3�perl-Devel-ArgNames0.0319.el8noarch0�<9�perl-DepGen-Perl-Tests0.1.211.el8noarch8�;K�perl-Declare-Constraints-Simple0.0336.el8noarch-�:3�perl-DateTimeX-Easy0.08926.el8noarch,�9/�perl-DateTime-Set0.390012.el8noarch3�8C�perl-DateTime-Format-W3CDTF0.079.el8noarch4�7C�perl-DateTime-Format-SQLite0.1128.el8noarch6�6E�perl-DateTime-Format-RFC33391.2.013.el8noarch3�5;�perl-DateTime-Format-Pg0.1601312.el8noarch4�4E�perl-DateTime-Format-Natural1.092.el8noarch3�3A�perl-DateTime-Format-MySQL0.0612.el8noarch2�2?�perl-DateTime-Format-ICal0.0933.el8noarch5�1G�perl-DateTime-Format-Flexible0.341.el8noarch3�0A	�perl-DateTime-Format-Excel0.3127.el8noarch2�/A�perl-DateTime-Format-Epoch0.169.el8noarch7�.I�perl-DateTime-Format-DateParse0.0524.el8noarch7�-I�perl-DateTime-Event-Recurrence0.1911.el8noarch1�,=�perl-DateTime-Event-ICal0.1314.el8noarch7�+E�perl-DateTime-Calendar-Mayan0.060127.el8noarch)�*-�perl-Date-Simple3.0329.el8x86_64'�)+�perl-Date-Range1.412.el8noarch-�(7�perl-Date-Holidays-DE2.051.el8noarch.�'7�perl-Data-Validate-IP0.2711.el8noarch)�&-�perl-Data-Uniqid0.1224.el8noarch'�%)�perl-Data-Taxi0.9625.el8noarch.�$7�perl-Data-Stream-Bulk0.1123.el8noarch-�#5�perl-Data-Serializer0.6014.el8noarch1�"=�perl-Data-Section-Simple0.0717.el8noarch)�!-�perl-Data-Report0.1030.el8noarch+� )�perl-Data-Perl0.00200917.el8noarch+�1�perl-Data-Password1.1212.el8noarch-�7�perl-Data-MessagePack1.016.el8x86_64*�/�perl-Data-Integer0.0067.el8noarch*�/�perl-Data-HexDump0.0228.el8noarch(�)�perl-Data-GUID0.04913.el8noarch(�+�perl-Data-Float0.0137.el8noarch(�+�perl-Data-Faker0.1015.el8noarch+�/�perl-Data-Entropy0.00711.el8noarch/�9�perl-Data-Dumper-Names0.0332.el8noarch2�=�perl-Data-Dumper-Concise2.02312.el8noarch0�;�perl-Data-Dump-Streamer2.4013.el8x86_64-�5�perl-Data-Dump-Color0.2414.el8noarch)�-�perl-Data-Denter0.1529.el8noarch)�/�perl-Data-Compare1.261.el8noarch(�-�perl-Data-Binary0.011.el8noarch'�'�perl-DBM-Deep2.00163.el8noarch.�7�perl-DBIx-XHTML_Table1.4917.el8noarch)�-�perl-DBIx-Simple1.3712.el8noarch(�
)�perl-DBIx-Safe1.2.537.el8noarch(�-�perl-DBIx-RunSQL0.213.el8noarch*�1�perl-DBIx-QueryLog0.424.el8noarch2�
?�perl-DBIx-ContextualFetch1.0340.el8noarch,�	3�perl-DBIx-Connector0.5611.el8noarchA�_�perl-DBIx-Class-Storage-Debug-PrettyPrint1.872.el8noarch+�+�perl-DBIx-Class0.0828424.el8noarch%�'�perl-DBD-ODBC1.612.el8x86_64%�'�perl-DBD-Mock1.552.el8noarch)�/�perl-DBD-Firebird1.341.el8x86_64$�%�perl-DBD-CSV0.551.el8noarch'�)�perl-Cwd-Guard0.0511.el8noarch)�)�perl-Curses-UI0.960915.el8noarch$�#�perl-Curses1.3614.el8x86_64(�+�perl-Crypt-X5090.5119.el8noarch/�~;�perl-Crypt-UnixCrypt_XS0.117.el8x86_64+�}1perl-Crypt-URandom0.3614.el8noarch+�|1~perl-Crypt-Twofish2.1722.el8x86_64+�{1}perl-Crypt-SmbHash0.1238.el8noarch.�z5|perl-Crypt-ScryptKDF0.01014.el8x86_64+�y1{perl-Crypt-Salsa200.0313.el8noarch*�x/zperl-Crypt-SSLeay0.7232.el8x86_64(�w-yperl-Crypt-SMIME0.256.el8x86_64+�v3xperl-Crypt-Rijndael1.142.el8x86_641�u=wperl-Crypt-Random-Source0.1411.el8noarch/�t9vperl-Crypt-Random-Seed0.0316.el8noarch'�s)uperl-Crypt-RC42.0223.el8noarch.�r5tperl-Crypt-PasswdMD51.4.017.el8noarch+�q1sperl-Crypt-PWSafe31.2214.el8noarch
T��|R ��S#
�
�
�
�
d
=
���uH ���R%
�
�
�
~
V
)
	�	�	�	l	B	���uG���uG���k&���V�}G"���\,���O#���h2hh?Z##perl-Inline0.864.el8noarchr%'perl-Inline-C0.819,3perl-Image-ExifTool12.701.el8noarch�5C	perl-Locale-Maketext-Simple0.21421.el8noarch
5C	perl-Locale-Maketext-Simple0.21420.el8noarchN.5perl-Locale-Maketext1.28396.el8noarchM)/perl-Locale-Codes3.571.el8noarch�+3perl-List-SomeUtils0.581.el8noarch	+3perl-List-SomeUtils0.568.el8noarch�/9perl-List-MoreUtils-XS0.4283.el8x86_64�,3perl-List-MoreUtils0.4282.el8noarch�')perl-Linux-Pid0.0440.el8x86_64�*3perl-Linux-Inotify22.16.el8x86_64�,5perl-Lingua-Translit0.287.el8noarch�/7perl-Lingua-Preferred0.2.432.el8noarch�/9perl-Lingua-EN-Inflect1.9041.el8noarch�*-perl-Lexical-Var0.00921.el8x86_64�7Gperl-Lexical-SealRequireHints0.01111.el8x86_64�2=perl-Lexical-Persistence1.02317.el8noarch�$#perl-Lchown1.0114.el8x86_64�5Gperl-LWP-UserAgent-Determined1.077.el8noarch�H;Iperl-LWP-Protocol-https6.074.module+el8.9.0+1521+0101edcenoarch
�G;Gperl-LWP-Protocol-https6.074.module+el8.6.0+965+850557f9noarch
G;Gperl-LWP-Protocol-https6.074.module+el8.4.0+529+e3b3e624noarch�1=perl-LWP-Protocol-http106.0321.el8noarch�.9perl-LWP-Protocol-PSGI0.112.el8noarch�(+perl-LWP-Online1.0829.el8noarch�E3Kperl-LWP-MediaTypes6.0215.module+el8.9.0+1521+0101edcenoarch
�D3Iperl-LWP-MediaTypes6.0215.module+el8.6.0+965+850557f9noarch	�D3Iperl-LWP-MediaTypes6.0215.module+el8.4.0+529+e3b3e624noarch�!	perl-LDAP0.667.el8noarch�#!perl-Jcode2.0730.el8noarch$%	perl-JSON-XS3.043.el8x86_64�+1perl-JSON-WebToken0.1015.el8noarch~-5perl-JSON-RPC-Daemon1.0614.el8noarch}*/perl-JSON-RPC-CGI1.0614.el8noarch|.7perl-JSON-RPC-Apache21.0614.el8noarch{&'perl-JSON-RPC1.0614.el8noarchz'+perl-JSON-Parse0.561.el8x86_64y(%	perl-JSON-PP2.97.0013.el8noarch7-/perl-JSON-MaybeXS1.0040006.el8noarchx(+perl-JSON-Color0.1303.el8noarchw&'perl-JSON-Any1.3914.el8noarchv%perl-JSON2.97.0012.el8noarch�*1perl-Inline-Python0.571.el8x86_64E+1perl-Inline-Python0.5619.el8x86_64u)/perl-Inline-Files0.716.el8noarcht%'perl-Inline-C0.822.el8noarchD%'perl-Inline-C0.821.el8noarch�%'perl-Inline-C0.819.el8noarchs##perl-Inline0.864.el8noarchr&'perl-Importer0.0251.el8noarch�,-perl-Import-Into1.0020057.el8noarch�')perl-Image-Xpm1.1310.el8noarch�')perl-Image-Xbm1.1011.el8noarch�)+perl-Image-Size3.30016.el8noarchq'+perl-Image-Info1.418.el8noarch�,3perl-Image-ExifTool12.601.el8noarch�,3perl-Image-ExifTool12.421.el8noarchC,3perl-Image-ExifTool12.381.el8noarchp(+perl-Image-Base1.1715.el8noarch�%%perl-Ima-DBI0.3530.el8noarcho!perl-IRI0.0095.el8noarchn/9perl-IPC-System-Simple1.2517.el8noarch�''perl-IPC-SysV2.07397.el8x86_64�,5perl-IPC-SharedCache1.340.el8noarchm+1perl-IPC-ShareLite0.1730.el8x86_64l''perl-IPC-Run30.04812.el8noarch$%perl-IPC-Run0.991.el8noarch~%%perl-IPC-Cmd1.021.el8noarchL(+perl-IO-stringy2.1119.el8noarch�&%	perl-IO-Zlib1.10422.el8noarch�&%	perl-IO-Zlib1.10421.el8noarch
�&%	perl-IO-Zlib1.10420.el8noarchg$#perl-IO-Tty1.1211.el8x86_64}##perl-IO-Tee0.662.el8noarchk')perl-IO-String1.0832.el8noarch�/9perl-IO-Socket-Timeout0.3213.el8noarchjD1Iperl-IO-Socket-SSL2.0664.module+el8.9.0+1517+e71a7a62noarch
�C1Gperl-IO-Socket-SSL2.0664.module+el8.6.0+957+15d660adnoarch	�C1Gperl-IO-Socket-SSL2.0664.module+el8.4.0+512+d4f0fc54noarch�1=perl-IO-Socket-Multicast1.1212.el8x86_64i)/perl-IO-Socket-IP0.395.el8noarch�-5perl-IO-Socket-INET62.7212.el8noarch�,3perl-IO-SessionData1.0316.el8noarchh()perl-IO-Pipely0.00516.el8noarchg
N���wD��t)
�
�
e
%��f,���J
�
�
�
d
;

	�	�	�	[	+���`/���sC���Z*���j<��|G��q>��zH��|O"���&�)perl-File-Next1.181.el8noarch)�/perl-File-NFSLock1.294.el8noarch%�
'perl-File-Map0.673.el8x86_64*�1perl-File-LibMagic1.169.el8x86_64*�/
perl-File-KeePass2.0321.el8noarch1�
=perl-File-Find-Rule-Perl1.1513.el8noarch4�	Aperl-File-Find-Object-Rule0.03111.el8noarch/�;
perl-File-Find-Iterator0.422.el8noarch,�3	perl-File-FcntlLock0.2216.el8x86_64/�;perl-File-Edit-Portable1.251.el8noarch9�Mperl-File-Copy-Recursive-Reduced0.0066.el8noarch*�-perl-Fennec-Lite0.00422.el8noarch-�7perl-FCGI-ProcManager0.289.el8noarch(�-perl-FCGI-Client0.094.el8noarch0�;perl-ExtUtils-XSBuilder0.2834.el8noarch0�;perl-ExtUtils-PkgConfig1.1610.el8noarch8�Mperl-ExtUtils-MakeMaker-CPANfile0.094.el8noarch3�~Aperl-ExtUtils-InstallPaths0.0127.el8noarch/�}7�perl-ExtUtils-Helpers0.02612.el8noarch2�|?�perl-ExtUtils-HasCompiler0.0221.el8noarch)�{/�perl-ExtUtils-F771.244.el8noarch/�z7�perl-ExtUtils-Depends0.80001.el8noarch.�y5�perl-ExtUtils-Config0.00817.el8noarch.�x9�perl-ExtUtils-CChecker0.111.el8noarch+�w1�perl-Exporter-Tidy0.0814.el8noarch+�v1�perl-Exporter-Lite0.0814.el8noarch/�u7�perl-Exporter-Declare0.11415.el8noarch$�t#�perl-Expect1.3510.el8noarch6�sG�perl-Exception-Class-TryCatch1.1316.el8noarch-�r3�perl-Exception-Base0.25011.el8noarch.�q9�perl-Excel-Writer-XLSX1.033.el8noarch"�p!�perl-Event1.271.el8x86_643�o9�perl-Eval-WithLexicals1.00300610.el8noarch*�n/�perl-Env-Sanctify1.1217.el8noarch-�m5�perl-Encode-IMAPUTF71.0515.el8noarch-�l5�perl-Encode-HanExtra0.2328.el8x86_64/�k9�perl-Encode-EUCJPASCII0.0328.el8x86_64*�j-�perl-Email-Valid1.20212.el8noarch*�i/�perl-Email-Simple2.2166.el8noarch-�h/�perl-Email-Sender1.3000319.el8noarch.�g5�perl-Email-MessageID1.40614.el8noarch3�f?�perl-Email-MIME-Encodings1.31517.el8noarch4�eC�perl-Email-MIME-ContentType1.0241.el8noarch(�d+�perl-Email-MIME1.9491.el8noarch0�c9�perl-Email-Date-Format1.00511.el8noarch-�b7�perl-Email-Address-XS1.046.el8x86_64+�a1�perl-Email-Address1.9125.el8noarch-�`3�perl-Email-Abstract3.00815.el8noarch�_�perl-EV4.223.el8x86_64/�^9�perl-Directory-Scratch0.1817.el8noarch+�]5�perl-Directory-Queue2.11.el8noarch&�\'�perl-Dir-Self0.1114.el8noarch,�[5�perl-Digest-Perl-MD51.918.el8noarch-�Z5�perl-Digest-MD5-File0.0823.el8noarch'�Y+�perl-Digest-MD41.923.el8x86_64/�X9�perl-Device-SerialPort1.0435.el8x86_64(�W-�perl-Devel-Timer0.131.el8noarch;�VQ�perl-Devel-StackTrace-WithLexicals2.0115.el8noarch4�UE�perl-Devel-StackTrace-AsHTML0.159.el8noarch,�T3�perl-Devel-Refcount0.1027.el8x86_64;�SI�perl-Devel-REPL-Plugin-Refresh1.00302817.el8noarch7�RA�perl-Devel-REPL-Plugin-PPI1.00302817.el8noarch;�QI�perl-Devel-REPL-Plugin-Nopaste1.00302817.el8noarchA�PU�perl-Devel-REPL-Plugin-MultiLine-PPI1.00302817.el8noarch:�OG�perl-Devel-REPL-Plugin-LexEnv1.00302817.el8noarch=�NM�perl-Devel-REPL-Plugin-Interrupt1.00302817.el8noarch7�MA�perl-Devel-REPL-Plugin-DDS1.00302817.el8noarch7�LA�perl-Devel-REPL-Plugin-DDC1.00302817.el8noarchM�Km�perl-Devel-REPL-Plugin-CompletionDriver-Keywords1.00302817.el8noarchH�Jc�perl-Devel-REPL-Plugin-CompletionDriver-INC1.00302817.el8noarch>�IO�perl-Devel-REPL-Plugin-Completion1.00302817.el8noarch,�H+�perl-Devel-REPL1.00302817.el8noarch,�G5�perl-Devel-PatchPerl1.642.el8noarch.�F9�perl-Devel-PartialDump0.208.el8noarch0�E;�perl-Devel-OverloadInfo0.0057.el8noarch(�D+�perl-Devel-Leak0.0341.el8x86_64)�C+�perl-Devel-Hide0.00106.el8noarch/�B1�perl-Devel-Declare0.00601914.el8x86_64
Q��j��vD��v5
�
�
�
n
A
����kG~��Q�yH 
��
�
�
_
8
	�	�	y	J	�����^5�*��]/	��tC��Q"%���W-���Z �-1perl-MIME-EncWords1.015.01.el8noarchG5Iperl-Module-CPANfile1.10027.module+el8.9.0+1491+3507a112noarch
�+3perl-Locale-gettext1.079.el8x86_64�')perl-Locale-US3.0413.el8noarch�?-Aperl-Mail-SPF_XS1.2.1111.20210922git4915c308.el8x86_64
9+/perl-Math-Complex1.59422.el8noarch�&%perl-Memoize1.03422.el8noarch�,)!perl-Mail-DKIM1.202009071.el8noarch�=K!perl-Mail-AuthenticationResults2.202101121.el8noarch�+/perl-Math-Complex1.59421.el8noarch
�7Iperl-Module-Install-Repository0.0619.el8noarch�9Operl-Module-Install-ReadmeFromPod0.304.el8noarch�8Iperl-Module-Install-ExtraTests0.00823.el8noarch�9Kperl-Module-Install-AuthorTests0.00216.el8noarch�+3perl-Module-Install1.192.el8noarch�3Aperl-Module-Implementation0.0915.el8noarch�)-perl-Module-Find0.1315.el8noarch�/9perl-Module-ExtractUse0.3431.el8noarch�1;perl-Module-Extract-Use1.04310.el8noarch�8A	!perl-Module-CoreList-tools5.201811301.el8noarch�25	!perl-Module-CoreList5.201811301.el8noarchQ+3perl-Module-Compile0.384.el8noarch�F5Gperl-Module-CPANfile1.10027.module+el8.6.0+961+8164b543noarch
F5Gperl-Module-CPANfile1.10027.module+el8.4.0+523+766394a0noarch�2Aperl-Module-CPANTS-Analyse0.991.el8noarch�0=perl-Module-Build-XSUtil0.197.el8noarch�09perl-Module-Build-Tiny0.03915.el8noarch�7Eperl-Module-Build-Deprecated0.421015.el8noarch�-/perl-Module-Build0.42.245.el8noarchP.-!perl-Modern-Perl1.202002011.el8noarch�%'perl-Mock-Sub1.098.el8noarch�-3perl-Mixin-Linewise0.10815.el8noarch�05perl-MetaCPAN-Client2.0280001.el8noarch�*/perl-Meta-Builder0.0047.el8noarch�-9perl-Messaging-Message1.71.el8noarch�&%perl-Memoize1.03421.el8noarch
&%perl-Memoize1.03420.el8noarch�(+perl-Math-Round0.0718.el8noarch�5;perl-Math-Random-Secure0.08.000114.el8noarch�09perl-Math-Random-ISAAC1.00426.el8noarch�+/perl-Math-Complex1.59420.el8noarch>-5perl-Math-Calc-Units1.0726.el8noarch�*-perl-Math-BigRat0.26141.el8noarch�.5perl-Math-BigInt-GMP1.60045.el8x86_64�6?perl-Math-BigInt-FastCalc0.500.6006.el8x86_64�--	perl-Math-BigInt1.9998.117.el8noarch=)-perl-Math-Base360.1418.el8noarch�/9perl-Math-Base-Convert0.1112.el8noarch�&)perl-MailTools2.202.el8noarch�,3perl-Mail-Transport3.0043.el8noarch�*1perl-Mail-Sendmail0.804.el8noarch�)-	perl-Mail-Sender0.9037.el8noarch�>-?perl-Mail-SPF_XS1.2.111.20210922git4915c308.el8x86_64�''perl-Mail-SPF2.9.015.el8noarch�0=perl-Mail-RFC822-Address0.336.el8noarch�*/perl-Mail-Message3.0086.el8noarch�,5perl-Mail-IMAPClient3.427.el8noarch�&)perl-Mail-DKIM0.541.el8noarch�&'perl-Mail-Box3.0081.el8noarch�'+perl-MRO-Compat0.134.el8noarchO#!perl-MLDBM2.0519.el8noarch�(+perl-MIME-tools5.5099.el8noarch�'+perl-MIME-Types2.173.el8noarch�,3perl-MIME-Lite-HTML1.2424.el8noarch�()perl-MIME-Lite3.03016.el8noarch�.1perl-MIME-EncWords1.014.315.el8noarch�,/perl-MIME-Charset1.012.24.el8noarch�*-perl-MIME-Base643.15396.el8x86_64')perl-MCE-tools1.8621.el8noarch�(+perl-MCE-Shared1.8621.el8noarch�!perl-MCE1.8621.el8noarch�()perl-Log-Trace1.07030.el8noarch�@]perl-Log-Log4perl-Config-DOMConfigurator1.501.el8noarch�7Kperl-Log-Log4perl-Appender-RRDs1.501.el8noarch�6Iperl-Log-Log4perl-Appender-DBI1.501.el8noarch�)/perl-Log-Log4perl1.501.el8noarch�4Eperl-Log-Dispatch-FileRotate1.361.el8noarch�1;perl-Log-Dispatch-Array1.00314.el8noarch�)/perl-Log-Dispatch2.681.el8noarch�03perl-Log-Contextual0.00800110.el8noarch�.5perl-LockFile-Simple0.20817.el8noarch�
Hl@��������@�8���xp�h`XPH@80( ���H���@������������x�ph`XPH@80( @��8���H@80���(� �����x�p�h`�XP0H(@8�0��(  �������h�`�X�P��������������xp�h�`�XP�H@�8x0p(h `XPH
�
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H�
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(���������������xph`XPH@80( �������������������xp	 				����������������xph`XP�������Q�P�LK	J	I	H	G	F	E	M�&	/B	@	?	O.���+�&�%��� ���������Q�P�3�2�1�0��#�"�!��� �����������������������
���
�	���������������������������	�	��K
�
J�I�H
�
G	�	F�EDCB�A@�?�>�=�<�;�:�9�8�7�	�6�5�4�3�2�1�0�/�.�-�,�+�*�)�	�(�'�&�%�	
�$���#�	�"�	
������,�~�|�z�tA$*
�#
z"
V������>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�����������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�����`c�N�D�:b9^r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A@~?}>|={<z;y:x9w8v7u6t5s4r3q2p1n0m/l.k-j,i+h*g)f(e'd&c%b$a#`"_!^ ]\[ZYXWVUT�N>�7�6���4�S�R
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$��
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������

S���sF���k6	
�
�
�
V
%���_+���V%
�
�
t
D
	�	�	�	P	'���mF���a4��j9��h1��zH���R���U*���mA��0�b7dperl-IO-CaptureOutput1.110415.el8noarch(�a+cperl-IO-Capture0.0534.el8noarch#�`#bperl-IO-AIO4.721.el8x86_64)�_/aperl-Hook-LexWrap0.266.el8noarch"�^`perl-Heap0.8033.el8noarch2�]=_perl-Hash-StoredIterator0.00812.el8x86_64-�\5^perl-Hash-MultiValue0.1616.el8noarch0�[9]perl-Hash-Merge-Simple0.05115.el8noarch(�Z+\perl-Hash-Merge0.3008.el8noarch*�Y/[perl-Hash-Flatten1.1926.el8noarch+�X3Zperl-Hash-FieldHash0.159.el8x86_645�WEYperl-HTTP-Server-Simple-PSGI0.1615.el8noarch0�V;Xperl-HTTP-Server-Simple0.5210.el8noarch4�UCWperl-HTTP-Response-Encoding0.0632.el8noarch/�T;Vperl-HTTP-Request-AsCGI1.229.el8noarch1�S?Uperl-HTTP-ProxyAutoConfig0.325.el8noarch2�R?Tperl-HTTP-MultiPartParser0.0210.el8noarch'�Q)Sperl-HTTP-Lite2.4419.el8noarch.�P9Rperl-HTTP-Headers-Fast0.223.el8noarch/�O;Qperl-HTTP-Entity-Parser0.212.el8noarch-�N5Pperl-HTTP-Daemon-SSL1.0430.el8noarch%�M'Operl-HTTP-DAV0.496.el8noarch2�LCNperl-HTTP-Cache-Transparent1.49.el8noarch'�K)Mperl-HTTP-Body1.2216.el8noarch4�JCLperl-HTML-TreeBuilder-XPath0.1430.el8noarch5�IEKperl-HTML-TreeBuilder-LibXML0.2625.el8noarch4�HCJperl-HTML-TokeParser-Simple3.1625.el8noarch1�G9Iperl-HTML-Template-Pro0.951022.el8x86_64+�F1Hperl-HTML-Template2.9710.el8noarch.�E9Gperl-HTML-TableExtract2.159.el8noarch)�D+Fperl-HTML-Table2.08a32.el8noarch6�CGEperl-HTML-StripScripts-Parser1.0325.el8noarch/�B9Dperl-HTML-StripScripts1.0611.el8noarch0�A=Cperl-HTML-Selector-XPath0.262.el8noarch*�@1Bperl-HTML-Scrubber0.193.el8noarch+�?1Aperl-HTML-Restrict3.0.02.el8noarch&�>)@perl-HTML-Lint2.327.el8noarch,�=3?perl-HTML-Formatter2.1610.el8noarch&�<)>perl-HTML-Form6.071.el8noarch3�;A=perl-HTML-Element-Extended1.1821.el8noarch$�:!<perl-Guard1.02319.el8x86_64"�9;perl-Gtk30.0381.el8noarch<�8M:perl-Graphics-ColorNamesLite-WWW1.14.0002.el8noarch*�7/9perl-GraphViz-XML2.2412.el8noarch&�6'8perl-GraphViz2.2412.el8noarch&�5!7perl-Graph0.97.0415.el8noarch-�456perl-GnuPG-Interface0.5214.el8noarch)�3+5perl-Glib-devel1.32911.el8x86_647�2I4perl-Glib-Object-Introspection0.0481.el8x86_64#�13perl-Glib1.32911.el8x86_645�0E2perl-Getopt-Long-Descriptive0.1041.el8noarch-�/51perl-Getopt-ArgvFile1.1134.el8noarch7�.=!0perl-Geography-Countries200904130127.el8noarch#�-#/perl-Geo-IP1.519.el8x86_64)�,/.perl-Geo-Distance0.251.el8noarch"�+-perl-GTop0.1827.el8x86_64.�*9,perl-GIS-Distance-Fast0.151.el8x86_64)�)/+perl-GIS-Distance0.191.el8noarch(�(+*perl-GDTextUtil0.8642.el8noarch%�'%	)perl-GDGraph1.5411.el8noarch-�&7(perl-GD-SecurityImage1.754.el8noarch#�%#'perl-Future0.461.el8noarch1�$A&perl-FusionInventory-Agent2.61.el8noarch1�#=%perl-Function-Parameters2.1.37.el8x86_64"�"$perl-Fsdb2.741.el8noarch2�!7#perl-Frontier-RPC-doc0.07b4p136.el8noarch5� ="perl-Frontier-RPC-Client0.07b4p136.el8noarch.�/!perl-Frontier-RPC0.07b4p136.el8noarch*�+ perl-FreezeThaw0.500128.el8noarch/�9perl-Font-TTF-XMLparse1.0611.el8noarch&�'perl-Font-TTF1.0611.el8noarch(�'perl-Font-AFM1.2031.el8.1noarch*�1perl-Finance-Quote1.512.el8noarch2�Aperl-Filesys-Notify-Simple0.138.el8noarch(�+perl-Filesys-Df0.9236.el8x86_64'�)perl-File-Type0.2235.el8noarch-�5perl-File-TreeCreate0.0.11.el8noarch*�/perl-File-Tempdir0.0212.el8noarch&�)perl-File-Tail1.313.el8noarch*�/perl-File-Slurper0.0126.el8noarch2�Aperl-File-ShareDir-Install0.137.el8noarch(�+perl-File-Share0.2520.el8noarch*�3perl-File-Path-Tiny0.99.el8noarch
��YA,����lY��>'
�
��
u
�
�
�
}
j
U
?
*

	�	�	�	�	�	}	^	F	)��		
����
�
]��~
�
D��l
�
2��Y
�
�~bT;"�����{V:"�����mU?%������
gR�=)������~bL/�vN�7�����
��|_M8�������mYI4	�����v\A+
�'perl-PCP-PMDA

%perl-PCP-MMV
3perl-PCP-LogSummary
1perl-PCP-LogImport

+perl-Net-SSLeay
	'perl-Net-Ping
3-perl-Pod-Checker�'perl-Net-Ping� Cperl-PerlIO-via-QuotedPrint�;perl-PerlIO-utf8_strict�-perl-PerlIO-gzip.9perl-PerlIO-buffersize-1perl-PerlIO-Layers,/perl-Perl6-Caller+3perl-Perl4-CoreLibs�-perl-Perl-OSTypeY=perl-Perl-MinimumVersion*=perl-Perl-Destruct-Level�7perl-Perl-Critic-Pulp)W+perl-Pod-Parser�%perl-Pod-POM�;perl-Pod-MinimumVersion5/perl-Pod-Markdown�)perl-Pod-LaTeX�'perl-Pod-Html
'perl-Pod-HtmlZ/perl-Pod-Eventual4-perl-Pod-EscapesAperl-Pod-Coverage-TrustPod3;perl-Pod-Coverage-Moose2/perl-Pod-Coverage�'Qperl-Plack-Middleware-ReverseProxy1!perl-Plack0;perl-Ocsinventory-AgentGW-perl-Pod-Perldoc;perl-PerlIO-via-Timeout//perl-Parse-PMFile
-perl-Perl-Critic(!perl-Pegex')perl-PathTools)perl-Path-Tiny�+perl-Path-Class&+perl-Parse-Yapp87perl-Parse-RecDescent%/perl-Parse-PMFile�5perl-Parse-Gitignore$+perl-Parse-EDID#7perl-Parse-DebControl"=perl-Parse-CPAN-Packages!#Iperl-Params-ValidationCompiler�5perl-Params-Validate�-perl-Params-UtilX1perl-Params-Coerce 5perl-Params-Classify�/perl-Params-CheckW9perl-Parallel-Iterator?perl-Parallel-ForkManager)perl-PadWalker�5perl-Package-Variant7perl-Package-Stash-XS�1perl-Package-Stash�9perl-Package-GeneratorV$Kperl-Package-DeprecationManager�9perl-Package-Constants3perl-PPIx-Utilities-perl-PPIx-Regexp3perl-PPIx-QuoteLike'perl-PPI-HTML
perl-PPI!Eperl-POSIX-strftime-Compiler3perl-POE-Test-Loops3perl-POE-Loop-Event
perl-POE9perl-PHP-Serialization
perl-PDL'perl-PCP-PMDA�%perl-PCP-MMV�3perl-PCP-LogSummary�1perl-PCP-LogImport�+perl-PAR-Packer'perl-PAR-Dist
perl-PAR#perl-OpenGL
;perl-Ocsinventory-Agent1perl-Object-Remote?perl-Object-Realize-Later
)perl-Object-ID	5perl-Object-Accessor7perl-OLE-Storage_Lite-perl-Number-Misc1perl-Number-Format3perl-Number-Compare�;perl-Number-Bytes-Human+perl-No-Worries-perl-Nmap-Parser+perl-NetAddr-IP�'perl-Net-XMPP'perl-Net-UPnP+perl-Net-Telnet�+perl-Net-Server�7perl-Net-STOMP-Client�+perl-Net-SSLeay�-perl-Net-SSLGlue�'perl-Net-SNMP�)perl-Net-SMTPS�/perl-Net-SMTP-SSL�7perl-Net-SFTP-Foreign�'perl-Net-PingU'perl-Net-Pcap�/perl-Net-Patricia�-perl-Net-OpenSSH�9perl-Net-OpenID-Server�=perl-Net-OpenID-Consumer�9perl-Net-OpenID-Common�)perl-Net-OAuth�-perl-Net-Netmask�+perl-Net-NBName�-perl-Net-LibIDN2�);perl-Ocsinventory-AgentV'perl-PCP-PMDAv%perl-PCP-MMVu3perl-PCP-LogSummaryt1perl-PCP-LogImports+perl-Parse-Yapp�/perl-Parse-PMFile
�'perl-PCP-PMDA
�%perl-PCP-MMV
�3perl-PCP-LogSummary
�1perl-PCP-LogImport
�+perl-Net-SSLeay
�'perl-Pod-Html�'perl-PCP-PMDA�%perl-PCP-MMV�3perl-PCP-LogSummary�1perl-PCP-LogImport�'perl-Readonly�-perl-Razor-AgentIperl-RPM2H-perl-REST-ClientG7perl-RDF-Trine-sqliteF5perl-RDF-Trine-redisE?perl-RDF-Trine-postgresqlD5perl-RDF-Trine-mysqlC)perl-RDF-TrineB)perl-RDF-QueryA-perl-PublicInbox@9perl-Proc-ProcessTable?-perl-Proc-Daemon>+perl-Probe-Perl=+perl-Prima-Test<!perl-Prima;)perl-Pod-Usage)perl-Pod-Tests:)perl-Pod-Strip9)perl-Pod-Spell8/perl-Pod-Snippets7+perl-Pod-Simple+perl-Pod-Readme6-perl-Pod-Plainer�
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

	�	�	�	�	�	�	�	�	p	`	P	@	0	 		��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ���
�f		L%
�e		L$
�d		L#
�c		L"
�b		L!
�a		L 
�`		L
�_		L
�^		L
�]		L
�\		L
�[		L
�Z		L
�Y		L
�X		L
�W		L
�V		L
�U		L
�T		L
�S		L
�R		L
�Q		L
�P		L
�O		L
�N		L

�M		L
�L		L
�K		L

�J		L	
�I		L
�H		L
�G		L
�F		L
�E		L
�D		L
�C		L
�B		L
�A		L
�@		L�
�?		L�
�>		L�
�=		L�
�<		L�
�;		L�
�:		L�
�9		L�
�8		L�
�7		L�
�6		L�
�5		L�
�4		L�
�3		L�
�2		L�
�1		L�
�0		L�
�/		L�
�.		L�
�-		L�
�,		L�
�+		L�
�*		L�
�)		L�
�(		L�
�'		L�
�&		L�
�%		L�
�$		L�
�#		L�
�"		L�
�!		L�
� 		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�
		L�
�		L�
�		L�
�
		L�
�			L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�~		L�
�}		L�
�|		L�
�{		L�
�z		L�
�y		L�
�x		L�
�w		L�
�v		L�
�u		L�
�t		L�
�s		L�
�r		L�
�q		L�
�p		L�
�o		L�
�n		L�
�m		L�
�l		L�
�k		L�
�j		L�
�i		L�
�h		L�
�g		L�
�f		L�
�e		L�
�d		L�
�c		L�
�b		L�
�a		L�
�`		L�
�_		L�
�^		L�
�]		L�
�\		L�
�[		L�
�Z		L�
�Y		L�
�X		L�
�W		L�
�V		L�
�U		L�
�T		L�
�S		L�
�R		L�
�Q		L�
�P		L�
�O		L�
�N		L�
�M		L�
�L		L�
�K		L�
�J		L�
�I		L�
�H		L�
�G		L�
�F		L�
�E		L�
�D		L�
�C		L�
�B		L�
�A		L�
�@		L
�?		L~
�>		L}
�=		L|
�<		L{
�;		Lz
�:		Ly
�9		Lx
�8		Lw
�7		Lv
�6		Lu
�5		Lt
�4		Ls
�3		Lr
�2		Lq
�1		Lp
�0		Lo
�/		Ln
�.		Lm
�-		Ll
�,		Lk
�+		Lj
�*		Li
�)		Lh
�(		Lg
�'		Lf
�&		Le
�%		Ld
�$		Lc
�#		Lb
�"		La
�!		L`
� 		L_
�		L^
�		L]
�		L\
�		L[
�		LZ
�		LY
�		LX
�		LW
�		LV
�		LU
�		LT
�		LS
�		LR
�		LQ
�		LP
�		LO
�		LN
�		LM
�
		LL
�		LK
�		LJ
�
		LI
�			LH
�		LG
�		LF
�		LE
�		LD
�		LC
VO�Y*��
<��oB
�
�
�
X
/
	�	�	�	R	)	��r>��v<
��s?���]'�(��:��k0
���
�
i��c<�vI��w
�����\3��~<G>'Iperl-Net-HTTP6.172.module+el8.9.0+1521+0101edcenoarch
�#!perl-Mouse2.5.92.el8x86_64�&'perl-Net-CUPS0.6411.el8x86_64�*1perl-Net-CIDR-Lite0.221.el8noarch�%'perl-Net-CIDR0.201.el8noarch�$%perl-Net-BGP0.181.el8noarch�*1perl-Net-Amazon-S30.981.el8noarch�+1perl-Nagios-Plugin0.3716.el8noarch�:Iperl-NTLM1.0917.module+el8.4.0+529+e3b3e624noarch�!	perl-NKF2.1.48.el8x86_64�+/perl-Mozilla-LDAP1.5.325.el8x86_64�C+Gperl-Mozilla-CA201601047.module+el8.4.0+529+e3b3e624noarch�*/perl-MouseX-Types0.0624.el8noarch�-3perl-MouseX-Foreign1.00012.el8noarch��!='Gperl-Net-HTTP6.172.module+el8.4.0+529+e3b3e624noarch�0=perl-Net-Facebook-Oauth20.112.el8noarch�/;perl-Net-FTP-RetrHandle0.227.el8noarch�2Aperl-Net-FTP-AutoReconnect0.328.el8noarch�,3perl-Net-Domain-TLD1.7512.el8noarch�'+perl-Net-Daemon0.492.el8noarch�$%perl-Net-DNS1.151.el8noarch�,1	perl-Module-Loaded0.08421.el8noarch
6Eperl-MooseX-Types-Stringlike0.00317.el8noarch�5Cperl-MooseX-Types-Path-Tiny0.01210.el8noarch�5Eperl-MooseX-Types-Path-Class0.0910.el8noarch�9Kperl-MooseX-Types-LoadableClass0.01511.el8noarch�/9perl-MooseX-Types-JSON1.0017.el8noarch�A]perl-MooseX-Types-DateTime-MoreCoercions0.1515.el8noarch�3Aperl-MooseX-Types-DateTime0.1315.el8noarch�5=perl-MooseX-Types-Common0.00101410.el8noarch�)/perl-MooseX-Types0.509.el8noarch�6Gperl-MooseX-StrictConstructor0.2112.el8noarch�1=perl-MooseX-SimpleConfig0.1115.el8noarch�9Mperl-MooseX-Role-WithOverloading0.1715.el8x86_64�6Iperl-MooseX-Role-Parameterized1.112.el8noarch�7Eperl-MooseX-Object-Pluggable0.001418.el8noarch�-5perl-MooseX-NonMoose0.2615.el8noarch�*1perl-MooseX-Getopt0.746.el8noarch�3Aperl-MooseX-ConfigFromFile0.1417.el8noarch�5Eperl-MooseX-AttributeHelpers0.2512.el8noarch�.5perl-MooseX-ArrayRef0.00512.el8noarch�,3perl-MooseX-Aliases0.1116.el8noarch�$!perl-Moose2.20119.el8x86_64�()perl-MooX-late0.01519.el8noarch�2?perl-MooX-Types-MooseLike0.2913.el8noarch�15perl-MooX-HandlesVia0.00100816.el8noarch�#perl-MooX0.10119.el8noarch�$perl-Moo2.0030047.el8noarch�.9perl-Monitoring-Plugin0.401.el8noarch�(-perl-Mojolicious8.421.el8noarch�)-perl-Module-Util1.0922.el8noarch�-7perl-Module-Signature0.835.el8noarch�,5perl-Module-ScanDeps1.243.el8noarch�7Gperl-Module-Runtime-Conflicts0.00310.el8noarch�,3perl-Module-Runtime0.0162.el8noarch�,3perl-Module-Refresh0.1725.el8noarch�-7perl-Module-Pluggable5.27.el8noarch�25perl-Module-Metadata1.000033395.el8noarchT,5perl-Module-Manifest1.098.el8noarch�,1	perl-Module-Loaded0.08420.el8noarch�.7perl-Module-Load-Util0.0032.el8noarch�6Eperl-Module-Load-Conditional0.68395.el8noarchS+;Kperl-NTLM1.0917.module+el8.9.0+1521+0101edcenoarch
�D+Iperl-Mozilla-CA201601047.module+el8.9.0+1521+0101edcenoarch
�,1	perl-Module-Loaded0.08422.el8noarch�+1perl-Net-Amazon-S30.9912.el8noarch�+1perl-Net-Amazon-S30.9911.el8noarchF='Gperl-Net-HTTP6.172.module+el8.6.0+965+850557f9noarch
:Iperl-NTLM1.0917.module+el8.6.0+965+850557f9noarch
C+Gperl-Mozilla-CA201601047.module+el8.6.0+965+850557f9noarch
1=perl-Net-OpenID-Consumer1.1811.el8noarch�/9perl-Net-OpenID-Common1.2011.el8noarch�')perl-Net-OAuth0.2820.el8noarch�*-perl-Net-Netmask2.00011.el8noarch�(+perl-Net-NBName0.2641.el8noarch�(-perl-Net-LibIDN21.017.el8x86_64�(+perl-Net-LibIDN0.1235.el8x86_64�$#perl-Net-IP1.2620.el8noarch�,1perl-Net-INET6Glue0.60313.el8noarch�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������


	
	��������������������������������������������������������������������������������������������������������������������������������������������������������
S���zM"���g9

�
�
�
c
=
���g7
���V(
�
�
r
:
	�	�	w	E	���_5��q:��X-	���X)����S ���Q%���Y.���nF�7�5E�perl-Module-Build-Deprecated0.421015.el8noarch.�4-!�perl-Modern-Perl1.202002011.el8noarch%�3'�perl-Mock-Sub1.098.el8noarch-�23�perl-Mixin-Linewise0.10815.el8noarch0�15�perl-MetaCPAN-Client2.0280001.el8noarch*�0/�perl-Meta-Builder0.0047.el8noarch-�/9�perl-Messaging-Message1.71.el8noarch(�.+�perl-Math-Round0.0718.el8noarch5�-;�perl-Math-Random-Secure0.08.000114.el8noarch0�,9�perl-Math-Random-ISAAC1.00426.el8noarch-�+5�perl-Math-Calc-Units1.0726.el8noarch.�*5�perl-Math-BigInt-GMP1.60045.el8x86_64)�)-�perl-Math-Base360.1418.el8noarch/�(9�perl-Math-Base-Convert0.1112.el8noarch,�'3�perl-Mail-Transport3.0043.el8noarch*�&1�perl-Mail-Sendmail0.804.el8noarch>�%-?�perl-Mail-SPF_XS1.2.111.20210922git4915c308.el8x86_640�$=�perl-Mail-RFC822-Address0.336.el8noarch*�#/�perl-Mail-Message3.0086.el8noarch,�"5�perl-Mail-IMAPClient3.427.el8noarch&�!'�perl-Mail-Box3.0081.el8noarch#� !�perl-MLDBM2.0519.el8noarch(�+�perl-MIME-tools5.5099.el8noarch,�3�perl-MIME-Lite-HTML1.2424.el8noarch(�)�perl-MIME-Lite3.03016.el8noarch.�1�perl-MIME-EncWords1.014.315.el8noarch'�)�perl-MCE-tools1.8621.el8noarch(�+�perl-MCE-Shared1.8621.el8noarch!��perl-MCE1.8621.el8noarch(�)�perl-Log-Trace1.07030.el8noarch@�]�perl-Log-Log4perl-Config-DOMConfigurator1.501.el8noarch7�K�perl-Log-Log4perl-Appender-RRDs1.501.el8noarch6�I�perl-Log-Log4perl-Appender-DBI1.501.el8noarch)�/�perl-Log-Log4perl1.501.el8noarch4�E�perl-Log-Dispatch-FileRotate1.361.el8noarch1�;�perl-Log-Dispatch-Array1.00314.el8noarch)�/�perl-Log-Dispatch2.681.el8noarch0�3�perl-Log-Contextual0.00800110.el8noarch.�5�perl-LockFile-Simple0.20817.el8noarch'�)�perl-Locale-US3.0413.el8noarch+�
3�perl-List-SomeUtils0.568.el8noarch'�)�perl-Linux-Pid0.0440.el8x86_64*�3�perl-Linux-Inotify22.16.el8x86_64,�
5�perl-Lingua-Translit0.287.el8noarch/�	7�perl-Lingua-Preferred0.2.432.el8noarch/�9�perl-Lingua-EN-Inflect1.9041.el8noarch*�-�perl-Lexical-Var0.00921.el8x86_647�G�perl-Lexical-SealRequireHints0.01111.el8x86_642�=�perl-Lexical-Persistence1.02317.el8noarch$�#�perl-Lchown1.0114.el8x86_645�G�perl-LWP-UserAgent-Determined1.077.el8noarch1�=�perl-LWP-Protocol-http106.0321.el8noarch.�9�perl-LWP-Protocol-PSGI0.112.el8noarch(�+�perl-LWP-Online1.0829.el8noarch#�!�perl-Jcode2.0730.el8noarch+�~1�perl-JSON-WebToken0.1015.el8noarch-�}5perl-JSON-RPC-Daemon1.0614.el8noarch*�|/~perl-JSON-RPC-CGI1.0614.el8noarch.�{7}perl-JSON-RPC-Apache21.0614.el8noarch&�z'|perl-JSON-RPC1.0614.el8noarch'�y+{perl-JSON-Parse0.561.el8x86_64-�x/zperl-JSON-MaybeXS1.0040006.el8noarch(�w+yperl-JSON-Color0.1303.el8noarch&�v'xperl-JSON-Any1.3914.el8noarch+�u1wperl-Inline-Python0.5619.el8x86_64)�t/vperl-Inline-Files0.716.el8noarch%�s'uperl-Inline-C0.819.el8noarch#�r#tperl-Inline0.864.el8noarch)�q+sperl-Image-Size3.30016.el8noarch,�p3rperl-Image-ExifTool12.381.el8noarch%�o%qperl-Ima-DBI0.3530.el8noarch!�npperl-IRI0.0095.el8noarch,�m5operl-IPC-SharedCache1.340.el8noarch+�l1nperl-IPC-ShareLite0.1730.el8x86_64#�k#mperl-IO-Tee0.662.el8noarch/�j9lperl-IO-Socket-Timeout0.3213.el8noarch1�i=kperl-IO-Socket-Multicast1.1212.el8x86_64,�h3jperl-IO-SessionData1.0316.el8noarch(�g)iperl-IO-Pipely0.00516.el8noarch*�f/hperl-IO-Interface1.0916.el8x86_64,�e3gperl-IO-Interactive1.0231.el8noarch+�d3fperl-IO-Handle-Util0.025.el8noarch&�c)eperl-IO-FDPass1.212.el8x86_64
��av���lX<!�����rU>$
�
�
�
�
�
x
\
@
"
�����zeQ<
�����z_=*
�
�
�
�
�
e
M
7
	�	�	�	�	�	�	p	X	E	0		�����oWC,�����zXB$������nZD/����}hO1�����zbD0�� ���a�l�
_F3������z_K6������I��+perl-Time-Piece�3perl-Test-CheckDeps���+perl-Types-UUID)perl-Types-URI7perl-Types-Serialiser�5perl-Types-Path-Tiny3perl-Types-DateTime)perl-Type-Tiny�'perl-Type-Tie�'perl-Try-Tiny
�'perl-Try-Tiny
'perl-Try-Tiny�'perl-TimeDate
�'perl-Time-Out
]'perl-Tk-devel	3perl-Tk-TableMatrix�perl-Tk'perl-TimeDate�+perl-Time-y2038�7perl-Time-Piece-MySQL�+perl-Time-Piece�3perl-Time-ParseDate�'perl-Time-Out�-perl-Time-Moment�+perl-Time-Local+perl-Time-HiRes9)perl-Time-Fake�=perl-Time-Duration-Parse�1perl-Time-Duration�+perl-Tie-IxHash�5perl-Tie-Hash-Method�)perl-Tie-Cache�)perl-Throwable�/perl-Thread-Queue�1perl-Text-WrapI18N�3perl-Text-Unidecode�1perl-Text-Template_=perl-Text-TabularDisplay�3perl-Text-Tabs+Wrap
+perl-Text-Table�/perl-Text-Soundex�-perl-Text-Reform�9perl-Text-RecordParser�5perl-Text-ParseWords%Mperl-Text-Levenshtein-Damerau-XS�+perl-Text-Iconv�)perl-Text-Glob^+perl-Text-Fuzzy�-perl-Text-Format�)perl-Text-Diffh3perl-Text-CharWidth�-perl-Text-CSV_XS�'perl-Text-CSV�1perl-Text-Balanced�5perl-Text-Autoformat�/perl-Text-Aligner�5perl-Text-ASCIITable�#perl-TestML�=perl-Test2-Tools-Explain�-perl-Test2-Suite�!Eperl-Test2-Plugin-NoWarnings�-perl-Test-mysqld�'perl-Test-XML�=perl-Test-Without-Module�1perl-Test-Warnings�)perl-Test-Warn�!Eperl-Test-WWW-Mechanize-PSGI�;perl-Test-WWW-Mechanize�/perl-Test-Version�)perl-Test-Vars�1perl-Test-Valgrind�;perl-Test-UseAllModules�3perl-Test-Unit-Lite�1perl-Test-TypeTiny�)perl-Test-Trap�;perl-Test-TrailingSpace�/perl-Test-Toolbox�)perl-Test-Time�/perl-Test-TempDir�+perl-Test-Taint�'perl-Test-TCP�1perl-Test-Synopsis�1perl-Test-SubCalls�1perl-Test-Spelling�-perl-Test-Simple�3perl-Test-Signature�5perl-Test-SharedFork�-perl-Test-Script�Aperl-Test-RequiresInternet�1perl-Test-Requires�-perl-Test-Regexp�1perl-Test-Refcount�9perl-Test-RandomResult�?perl-Test-RDF-Trine-Store�-perl-Test-Prereq�5perl-Test-PostgreSQL� Cperl-Test-Portability-Files�;perl-Test-Pod-LinkCheck�9perl-Test-Pod-Coverage�'perl-Test-Pod�!Eperl-Test-Perl-Critic-Policy�7perl-Test-Perl-Critic�-perl-Test-Output�-perl-Test-Object�9perl-Test-Number-Delta�5perl-Test-NoWarnings�-perl-Test-NoTabs�1perl-Test-Net-LDAP�+perl-Test-Needs�;perl-Test-Name-FromLine�+perl-Test-Mouse�)perl-Test-Most�+perl-Test-Moose�)perl-Test-Mojo�1perl-Test-Mojibake�-perl-Test-Modern�1perl-Test-MockTime�5perl-Test-MockObject�5perl-Test-MockModule�5perl-Test-Mock-Guard�=perl-Test-MinimumVersion�9perl-Test-MemoryGrowth�9perl-Test-Memory-Cycle�1perl-Test-Manifest�5perl-Test-LongString�3perl-Test-LeakTrace�;perl-Test-LWP-UserAgent�1perl-Test-Kwalitee�)perl-Test-JSON�1perl-Test-Identity�5perl-Test-HasVersion�/perl-Test-Harness8;perl-Test-File-Contents�+perl-Test-Fatal�5perl-Test-Fake-HTTPD�9perl-Test-FailWarnings�3perl-Test-Exception�'perl-Test-EOL�9perl-Test-Distribution�9perl-Test-DistManifest�7perl-Test-Differences�9perl-Test-Dependencies�)perl-Test-Deep�/perl-Test-Compile�?perl-Test-CleanNamespaces�+perl-Test-Class�;perl-Test-CheckManifest�'perl-TimeDate
+perl-Time-Piece

B%f;���U,��}>f%��~R)����|G���g>
�
�
�
�
V
'
��qC���e6
�
�
~
R
!	�	�	�	p	A	���^0���r>���X(���qD���@'Kperl-Sys-Virt8.0.01.module+el8.10.0+1835+43f01cbbx86_64{@'Kperl-Sys-Virt8.0.01.module+el8.10.0+1590+a67ab969x86_64w-7perl-Template-Toolkit2.294.el8x86_64�*+perl-TeX-Hyphen1.1810.1.el8noarch�(-perl-Task-Weaken1.061.el8noarch�(+perl-Taint-Util0.0822.el8x86_64�+1perl-Taint-Runtime0.0332.el8x86_64�?'Iperl-Sys-Virt8.0.01.module+el8.9.0+1224+600d2aafx86_64
�?'Iperl-Sys-Virt8.0.01.module+el8.8.0+1279+230c2115x86_64�?'Iperl-Sys-Virt8.0.01.module+el8.7.0+1084+97b81f61x86_64
>'Gperl-Sys-Virt6.0.01.module+el8.4.0+534+4680a14ex86_64�)+perl-Sys-Syslog0.35397.el8x86_64�2?perl-Sys-Statistics-Linux0.6621.el8noarch�+1perl-Sys-SigAction0.2314.el8noarch�%'perl-Sys-Mmap0.191.el8x86_64�(-perl-Sys-MemInfo0.996.el8x86_64:C-	Iperl-Sys-Guestfs1.40.228.module+el8.5.0+670+c4aa478cx86_64�%%perl-Sys-CPU0.6114.el8x86_649+-perl-Symbol-Util0.020324.el8noarch�$#perl-Switch2.1710.el8noarch�*-	perl-Sub-Uplevel0.28004.el8noarch�*)perl-Sub-Quote2.0060033.el8noarch�*/perl-Sub-Override0.0920.el8noarch�0;perl-Test-LWP-UserAgent0.0339.el8noarch�*1perl-Test-Kwalitee1.283.el8noarch�')perl-Test-JSON0.1126.el8noarch�+1perl-Test-Identity0.0124.el8noarch�.5perl-Test-HasVersion0.01413.el8noarch�)/	perl-Test-Harness3.421.el8noarch80;perl-Test-File-Contents0.2311.el8noarch�(+perl-Test-Fatal0.0149.el8noarch�,5perl-Test-Fake-HTTPD0.091.el8noarch�09perl-Test-FailWarnings0.00817.el8noarch�+3perl-Test-Exception0.437.el8noarch�&'perl-Test-EOL2.0010.el8noarch�/9perl-Test-Distribution2.0032.el8noarch�09perl-Test-DistManifest1.01415.el8noarch�/7perl-Test-Differences0.64008.el8noarch�.9perl-Test-Dependencies0.241.el8noarch�')perl-Test-Deep1.1274.el8noarch�*/perl-Test-Compile2.2.22.el8noarch�1?perl-Test-CleanNamespaces0.246.el8noarch�(+perl-Test-Class0.5015.el8noarch�/;perl-Test-CheckManifest1.424.el8noarch�-3perl-Test-CheckDeps0.01023.el8noarch�/9perl-Test-CheckChanges0.1426.el8noarch�1=perl-Test-CPAN-Meta-JSON0.1615.el8noarch�,3perl-Test-CPAN-Meta0.2519.el8noarch�&)perl-Test-Base0.899.el8noarch�.5perl-Test-Assertions1.05430.el8noarch�+-perl-Test-Assert0.050431.el8noarch�&'perl-Test-API0.0106.el8noarch�#perl-Test1.30422.el8noarch�#perl-Test1.30421.el8noarch
#perl-Test1.30420.el8noarch�(-perl-TermReadKey2.377.el8x86_64�(+perl-Term-Table0.0122.el8noarch�')perl-Term-Size0.2094.el8x86_64�*/perl-Term-ShellUI0.9218.el8noarch�'+perl-Term-Shell0.113.el8noarch�.9perl-Term-ReadLine-Gnu1.367.el8x86_64�5Eperl-Term-ProgressBar-Simple0.0320.el8noarch�4Cperl-Term-ProgressBar-Quiet0.3120.el8noarch�-7perl-Term-ProgressBar2.227.el8noarch�''perl-Term-Cap1.17395.el8noarch-3perl-Term-ANSIColor4.06396.el8noarch

Q���e7��j0
�
�
�
g
7
���b.���xG
�
�
|
B
		�	�	`	4���P��kE���f>���R���sF���Y,��~Q"���{R��(�-perl-Number-Misc1.213.el8noarch+�1perl-Number-Format1.7513.el8noarch0�;perl-Number-Bytes-Human0.1110.el8noarch&�+perl-No-Worries1.71.el8noarch(�-perl-Nmap-Parser1.378.el8noarch&�'perl-Net-XMPP1.0517.el8noarch&�'	perl-Net-UPnP1.4.64.el8noarch'�+perl-Net-Telnet3.053.el8noarch,�~7perl-Net-STOMP-Client2.51.el8noarch*�}-�perl-Net-SSLGlue1.05810.el8noarch)�|'�perl-Net-SNMP6.0.125.el8.1noarch&�{)�perl-Net-SMTPS0.104.el8noarch-�z7�perl-Net-SFTP-Foreign1.904.el8noarch&�y'�perl-Net-Pcap0.1814.el8x86_64*�x/�perl-Net-Patricia1.2223.el8x86_64(�w-�perl-Net-OpenSSH0.801.el8noarch/�v9�perl-Net-OpenID-Server1.0914.el8noarch1�u=�perl-Net-OpenID-Consumer1.1811.el8noarch/�t9�perl-Net-OpenID-Common1.2011.el8noarch'�s)�perl-Net-OAuth0.2820.el8noarch*�r-�perl-Net-Netmask2.00011.el8noarch(�q+�perl-Net-NBName0.2641.el8noarch(�p-�perl-Net-LibIDN21.017.el8x86_64$�o#�perl-Net-IP1.2620.el8noarch,�n1�perl-Net-INET6Glue0.60313.el8noarch0�m=�perl-Net-Facebook-Oauth20.112.el8noarch/�l;�perl-Net-FTP-RetrHandle0.227.el8noarch2�kA�perl-Net-FTP-AutoReconnect0.328.el8noarch,�j3�perl-Net-Domain-TLD1.7512.el8noarch&�i'�perl-Net-CUPS0.6411.el8x86_64*�h1�perl-Net-CIDR-Lite0.221.el8noarch%�g'�perl-Net-CIDR0.201.el8noarch$�f%�perl-Net-BGP0.181.el8noarch*�e1�perl-Net-Amazon-S30.981.el8noarch+�d1�perl-Nagios-Plugin0.3716.el8noarch*�c/�perl-MouseX-Types0.0624.el8noarch-�b3�perl-MouseX-Foreign1.00012.el8noarch#�a!�perl-Mouse2.5.92.el8x86_646�`E�perl-MooseX-Types-Stringlike0.00317.el8noarch5�_C�perl-MooseX-Types-Path-Tiny0.01210.el8noarch5�^E�perl-MooseX-Types-Path-Class0.0910.el8noarch9�]K�perl-MooseX-Types-LoadableClass0.01511.el8noarch/�\9�perl-MooseX-Types-JSON1.0017.el8noarchA�[]�perl-MooseX-Types-DateTime-MoreCoercions0.1515.el8noarch3�ZA�perl-MooseX-Types-DateTime0.1315.el8noarch5�Y=�perl-MooseX-Types-Common0.00101410.el8noarch)�X/�perl-MooseX-Types0.509.el8noarch6�WG�perl-MooseX-StrictConstructor0.2112.el8noarch1�V=�perl-MooseX-SimpleConfig0.1115.el8noarch9�UM�perl-MooseX-Role-WithOverloading0.1715.el8x86_646�TI�perl-MooseX-Role-Parameterized1.112.el8noarch7�SE�perl-MooseX-Object-Pluggable0.001418.el8noarch-�R5�perl-MooseX-NonMoose0.2615.el8noarch*�Q1�perl-MooseX-Getopt0.746.el8noarch3�PA�perl-MooseX-ConfigFromFile0.1417.el8noarch5�OE�perl-MooseX-AttributeHelpers0.2512.el8noarch.�N5�perl-MooseX-ArrayRef0.00512.el8noarch,�M3�perl-MooseX-Aliases0.1116.el8noarch$�L!�perl-Moose2.20119.el8x86_64(�K)�perl-MooX-late0.01519.el8noarch2�J?�perl-MooX-Types-MooseLike0.2913.el8noarch1�I5�perl-MooX-HandlesVia0.00100816.el8noarch#�H�perl-MooX0.10119.el8noarch$�G�perl-Moo2.0030047.el8noarch.�F9�perl-Monitoring-Plugin0.401.el8noarch(�E-�perl-Mojolicious8.421.el8noarch)�D-�perl-Module-Util1.0922.el8noarch-�C7�perl-Module-Signature0.835.el8noarch7�BG�perl-Module-Runtime-Conflicts0.00310.el8noarch,�A3�perl-Module-Refresh0.1725.el8noarch,�@5�perl-Module-Manifest1.098.el8noarch.�?7�perl-Module-Load-Util0.0032.el8noarch7�>I�perl-Module-Install-Repository0.0619.el8noarch8�=I�perl-Module-Install-ExtraTests0.00823.el8noarch)�<-�perl-Module-Find0.1315.el8noarch/�;9�perl-Module-ExtractUse0.3431.el8noarch1�:;�perl-Module-Extract-Use1.04310.el8noarch+�93�perl-Module-Compile0.384.el8noarch2�8A�perl-Module-CPANTS-Analyse0.991.el8noarch0�7=�perl-Module-Build-XSUtil0.197.el8noarch0�69�perl-Module-Build-Tiny0.03915.el8noarch
�������������������{tmf_XQJC<5.' ������������������xjc\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



����LE>70)"

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
z
s
l
e
^
W
P
I
B
;
4
-
&





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	~	w	p	i	b	[	T	M	F	?	8	1	*	#					������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$������������������|ung`YRKD=6/(!�������������������yrkd]VOHA:3,%���������������yrkd]VOHA:3,%	������������������}vohaZSq	������������������}vohaZSLE>70)"
�����������������h	Rh	Qh	Ph	Oh	Nh	Mh	Lh	Kh	Jh	Ih	Hh	Gh	Fh	Eh	Dh	Ch	Bg	Ag	@f	?f	>e	=e	<e	;d	:d	9c	8c	7b	6a	5a	4a	3`	2`	1_	0_	/^	.]	-]	,\	+\	*[	)Z	(Y	'Y	&X	%W	$V	#U	"T	!T	 S	R	Q	Q	Q	P	P	P	O	O	O	O	O	O	O	O	O	O	O	
O	O	O	
O		O	O	O	O	O	O	O	O	O	O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�O�N�N�N�M�M�M�L�L�L�L�L�L�L�L�L�L�L�L�LL~L}L|L{LzLyLxLwLvLuLtLsLrLqLpu	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	u	~u	}u	|u	{u	zu	yu	xu	wt	vs	ur	tr	sr	rr	qq	pp	op	np	mo	lo	ko	jo	in	hn	gn	fn	en	dn	cn	bn	an	`n	_n	^n	]m	\l	[k	Zj	Yi	Xh	Wh	Vh	Uh	Th	SLoLnLmLlLkLjLiLhLgLfLeLdLcLbLaL`L_L^L]L\L[LZLYLXLWLVLULTLSLRLQLPLOLNLMLLLKLJLILHLGLFLELDLCLBLAL@L?L>L=L<L;L:L9L8u	�L7L6L5L4L3L2L1L0L/L.L-L,L+L*L)L(L'L&L%L$L#L"L!L LLLLLLLLLLLLLLLLLLL
LLL
L	LLLLLLLLL
#M������U(���j<
�
�
�
`Z
;���wF����h9
�
�
�
{
M
#	�	�	�	k	9	���i5	���_,���~U0���Y,����_1���J0
���jI#E3Kperl-WWW-RobotRules6.0218.module+el8.9.0+1521+0101edcenoarch
� perl-URI1.733.el8noarch�IaD3Iperl-WWW-RobotRules6.0218.module+el8.6.0+965+850557f9noarch
*/perl-URI-FromHash0.0512.el8noarch*'perl-URI-Find2016080610.el8noarch
)+perl-URI-Encode1.1.111.el8noarch	�*1perl-User-Identity1.021.el8noarch�[%%perl-XString0.0022.el8x86_64:*-perl-XMLRPC-Lite0.71719.el8noarch9-5perl-XML-XPathEngine0.1423.el8noarch8&)perl-XML-XPath1.423.el8noarch�)+perl-XML-Writer0.62515.el8noarch7%'perl-XML-Twig3.527.el8noarch�(+perl-XML-TreePP0.4314.el8noarch6,5perl-XML-TreeBuilder5.422.el8noarch5,3perl-XML-TokeParser0.0525.el8noarch�(+perl-XML-Stream1.2417.el8noarch4'+perl-XML-Simple2.251.el8noarch�/7perl-XML-SemanticDiff1.00075.el8noarch3+3perl-XML-SAX-Writer0.575.el8noarch2)/perl-XML-SAX-Base1.094.el8noarch�$%perl-XML-SAX1.001.el8noarch�(+perl-XML-RegExp0.0414.el8noarch�$%perl-XML-RSS1.611.el8noarch1-5perl-XML-Parser-Lite0.7224.el8noarch0(+perl-XML-Parser2.4411.el8x86_64�1?perl-XML-NamespaceSupport1.124.el8noarch�2?perl-XML-NamespaceFactory1.0212.el8noarch/+1perl-XML-Namespace0.0212.el8noarch.(-perl-XML-LibXSLT1.966.el8x86_64-)+	perl-XML-LibXML2.01322.el8x86_64�*-perl-XML-Hash-LX0.70.05.el8noarch,+1perl-XML-Generator1.0430.el8noarch+3Aperl-XML-Filter-BufferText1.0132.el8noarch*,/perl-XML-Entities1.000212.el8noarch)(+perl-XML-Dumper0.8135.el8noarch($%perl-XML-DOM1.465.el8noarch�*/perl-XML-CommonNS0.0612.el8noarch')-perl-XML-Catalog1.0311.el8noarch�13perl-X2Go-Server-DB4.1.0.317.el8.1x86_64�/3perl-X2Go-Server-DB4.1.0.317.el8x86_64&.-perl-X2Go-Server4.1.0.317.el8.1noarch�,-perl-X2Go-Server4.1.0.317.el8noarch%+'perl-X2Go-Log4.1.0.317.el8.1noarch�)'perl-X2Go-Log4.1.0.317.el8noarch$-;perl-X11-Protocol-Other316.el8noarch#*/perl-X11-Protocol0.5636.el8noarch"!perl-X100.0410.el8noarch!)-perl-Web-Scraper0.3813.el8noarch $#perl-Web-ID1.9274.el8noarch!perl-Want0.298.el8x86_64.7perl-WWW-Twilio-TwiML1.0512.el8noarch,3perl-WWW-Twilio-API0.2110.el8noarchD3Iperl-WWW-RobotRules6.0218.module+el8.4.0+529+e3b3e624noarch�>Uperl-WWW-Pastebin-PastebinCom-Create1.00319.el8noarch,1perl-WWW-Mechanize1.971.el8.1noarch0=perl-WWW-Form-UrlEncoded0.263.el8noarch&'perl-WWW-Curl4.1721.el8x86_64+3perl-Variable-Magic0.623.el8x86_64�27perl-Validation-Class7.90005711.el8noarch=Uperl-VM-EC2-Security-CredentialCache0.2516.el8noarch$#perl-VM-EC21.2816.el8noarch*1perl-User-Identity0.998.el8noarch(-perl-Unix-Syslog1.129.el8x86_64�)/perl-Unicode-UTF80.625.el8x86_64�,3perl-Unicode-String2.1012.el8x86_6409perl-Unicode-Normalize1.25396.el8x86_64-5perl-Unicode-MapUTF81.1140.el8noarch*/perl-Unicode-Map80.1333.el8x86_64*-perl-Unicode-Map0.11249.el8x86_6429perl-Unicode-LineBreak2017.0046.el8x86_64�4Cperl-Unicode-EastAsianWidth1.3313.el8noarch�,5perl-Unicode-Collate1.252.el8x86_64�/9perl-Unicode-CheckUTF81.0327.el8x86_64')perl-UUID-Tiny1.0418.el8noarch+1perl-URL-Encode-XS0.0317.el8x86_64
&'perl-URI-cpan1.0074.el8noarch
T���t@���f;
�
�
�
`
(
���M���S
�
�
�
_
4
	�	�	�	S	%���m0���b7
���h>���_5��oD ���l8���W#���j<��)�Z'\perl-Safe-Isa1.0000101.el8noarch<�YU[perl-SQL-Translator-Producer-Diagram1.613.el8noarch+�X3Zperl-SQL-Translator1.613.el8noarch,�W1Yperl-SQL-Statement1.41213.el8noarch'�V+Xperl-SQL-Interp1.271.el8noarch1�U?Wperl-SQL-Abstract-Classic1.913.el8noarch)�T/Vperl-SQL-Abstract1.872.el8noarch1�S;Uperl-SOAP-WSDL-examples3.00314.el8noarch/�R7Tperl-SOAP-WSDL-Apache3.00314.el8noarch(�Q)Sperl-SOAP-WSDL3.00314.el8noarch&�P)Rperl-SOAP-Lite1.277.el8noarch+�O1Qperl-Router-Simple0.1714.el8noarch*�N-Pperl-Return-Type0.00510.el8noarch1�M=Operl-Regexp-Pattern-Perl0.0041.el8noarch1�L1!Nperl-Regexp-Common201706020111.el8noarch,�K5Mperl-Regexp-Assemble0.388.el8noarch#�J!Lperl-Redis1.9953.el8noarch(�I-Kperl-Razor-Agent2.861.el8x86_64!�HJperl-RPM21.410.el8x86_64(�G-Iperl-REST-Client27315.el8noarch.�F7Hperl-RDF-Trine-sqlite1.0198.el8noarch-�E5Gperl-RDF-Trine-redis1.0198.el8noarch2�D?Fperl-RDF-Trine-postgresql1.0198.el8noarch-�C5Eperl-RDF-Trine-mysql1.0198.el8noarch'�B)Dperl-RDF-Trine1.0198.el8noarch(�A)Cperl-RDF-Query2.91811.el8noarch)�@-Bperl-PublicInbox1.7.02.el8noarch.�?9Aperl-Proc-ProcessTable0.593.el8x86_64)�>-@perl-Proc-Daemon0.2312.el8noarch(�=+?perl-Probe-Perl0.0316.el8noarch'�<+>perl-Prima-Test1.601.el8x86_64"�;!=perl-Prima1.601.el8x86_64&�:)<perl-Pod-Tests1.206.el8noarch'�9);perl-Pod-Strip1.0227.el8noarch'�8):perl-Pod-Spell1.2013.el8noarch*�7/9perl-Pod-Snippets0.1416.el8noarch(�6+8perl-Pod-Readme1.2.31.el8noarch.�5;7perl-Pod-MinimumVersion5026.el8noarch.�4/6perl-Pod-Eventual0.09400115.el8noarch6�3A5perl-Pod-Coverage-TrustPod0.1000057.el8noarch0�2;4perl-Pod-Coverage-Moose0.0713.el8noarch:�1Q3perl-Plack-Middleware-ReverseProxy0.169.el8noarch$�0!2perl-Plack1.00477.el8noarch0�/;1perl-PerlIO-via-Timeout0.3213.el8noarch)�.-0perl-PerlIO-gzip0.2010.el8x86_64/�-9/perl-PerlIO-buffersize0.0022.el8x86_64+�,1.perl-PerlIO-Layers0.0123.el8x86_64+�+/-perl-Perl6-Caller0.10018.el8noarch1�*=,perl-Perl-MinimumVersion1.3820.el8noarch+�)7+perl-Perl-Critic-Pulp991.el8noarch)�(-*perl-Perl-Critic1.1345.el8noarch"�'!)perl-Pegex0.751.el8noarch(�&+(perl-Path-Class0.3714.el8noarch1�%7'perl-Parse-RecDescent1.9670156.el8noarch,�$5&perl-Parse-Gitignore0.047.el8noarch(�#+%perl-Parse-EDID1.0.75.el8noarch/�"7$perl-Parse-DebControl2.00518.el8noarch1�!=#perl-Parse-CPAN-Packages2.4016.el8noarch+� 1"perl-Params-Coerce0.1430.el8noarch/�9!perl-Parallel-Iterator1.0024.el8noarch1�? perl-Parallel-ForkManager2.025.el8noarch1�5perl-Package-Variant1.00300215.el8noarch/�9	perl-Package-Constants0.0619.el8noarch0�3perl-PPIx-Utilities1.00100035.el8noarch)�-perl-PPIx-Regexp0.0681.el8noarch,�3perl-PPIx-QuoteLike0.0081.el8noarch&�'perl-PPI-HTML1.0821.el8noarch!�perl-PPI1.2701.el8noarch5�Eperl-POSIX-strftime-Compiler0.4211.el8noarch-�3perl-POE-Test-Loops1.36018.el8noarch-�3perl-POE-Loop-Event1.30515.el8noarch!�perl-POE1.3685.el8noarch/�9perl-PHP-Serialization0.3416.el8noarch"�perl-PDL2.32.01.el8x86_64(�+perl-PAR-Packer1.0522.el8x86_64&�'perl-PAR-Dist0.4923.el8noarch!�perl-PAR1.0172.el8noarch&�
#perl-OpenGL0.700016.el8x86_640�;perl-Ocsinventory-Agent2.9.11.el8noarch.�1
perl-Object-Remote0.0040014.el8noarch1�
?perl-Object-Realize-Later0.217.el8noarch(�	)perl-Object-ID0.1.218.el8noarch-�5	
perl-Object-Accessor0.4819.el8noarch.�7	perl-OLE-Storage_Lite0.1927.el8noarch
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

	�	�	�	�	�	�	�	�	p	`	P	@	0	 		��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ��������p`P@0 ���
�I		L
�H		L
�G		L
�F		L
�E		L
�D		L
�C		L
�B		L
�A		L
�@		L�
�?		L�
�>		L�
�=		L�
�<		L�
�;		L�
�:		L�
�9		L�
�8		L�
�7		L�
�6		L�
�5		L�
�4		L�
�3		L�
�2		L�
�1		L�
�0		L�
�/		L�
�.		L�
�-		L�
�,		L�
�+		L�
�*		L�
�)		L�
�(		L�
�'		L�
�&		L�
�%		L�
�$		L�
�#		L�
�"		L�
�!		L�
� 		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�
		L�
�		L�
�		L�
�
		L�
�			L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�		L�
�~		L�
�}		L�
�|		L�
�{		L�
�z		L�
�y		L�
�x		L�
�w		L�
�v		L�
�u		L�
�t		L�
�s		L�
�r		L�
�q		L�
�p		L�
�o		L�
�n		L�
�m		L�
�l		L�
�k		L�
�j		L�
�i		L�
�h		L�
�g		L�
�f		L�
�e		L�
�d		L�
�c		L�
�b		L�
�a		L�
�`		L�
�_		L�
�^		L�
�]		L�
�\		L�
�[		L�
�Z		L�
�Y		L�
�X		L�
�W		L�
�V		L�
�U		L�
�T		L�
�S		L�
�R		L�
�Q		L�
�P		L�
�O		L�
�N		L�
�M		L�
�L		L�
�K		L�
�J		L�
�I		L�
�H		L�
�G		L�
�F		L�
�E		L�
�D		L�
�C		L�
�B		L�
�A		L�
�@		L
�?		L~
�>		L}
�=		L|
�<		L{
�;		Lz
�:		Ly
�9		Lx
�8		Lw
�7		Lv
�6		Lu
�5		Lt
�4		Ls
�3		Lr
�2		Lq
�1		Lp
�0		Lo
�/		Ln
�.		Lm
�-		Ll
�,		Lk
�+		Lj
�*		Li
�)		Lh
�(		Lg
�'		Lf
�&		Le
�%		Ld
�$		Lc
�#		Lb
�"		La
�!		L`
� 		L_
�		L^
�		L]
�		L\
�		L[
�		LZ
�		LY
�		LX
�		LW
�		LV
�		LU
�		LT
�		LS
�		LR
�		LQ
�		LP
�		LO
�		LN
�		LM
�
		LL
�		LK
�		LJ
�
		LI
�			LH
�		LG
�		LF
�		LE
�		LD
�		LC
�		LB
�		LA
�		L@
�		L?
�		L>
�~		L=
�}		L<
�|		L;
�{		L:
�z		L9
�y		L8
�x		L7
�w		L6
�v		L5
�u		L4
�t		L3
�s		L2
�r		L1
�q		L0
�p		L/
�o		L.
�n		L-
�m		L,
�l		L+
�k		L*
�j		L)
�i		L(
�h		L'
�g		L&
Q�\"����X2�����X.���d<
�
�
�
^
:
���hA�}R)
�
�
z
M
	�	�	�	�	b	;	���nG ����_5����hG&��n8���:���yN1��5+�4+/platform-python3.6.862.el8_10.rocky.0x86_64##perl-bignum0.492.el8noarch&%perl-autodie2.29396.el8noarch perl-asa1.041.el8noarch?%%perl-aliased0.3414.el8noarch>+1perl-ZMQ-Constants1.0423.el8noarch=&)perl-YAML-Tiny1.732.el8noarch�&)perl-YAML-Syck1.305.el8x86_64�%%perl-YAML-PP0.0261.el8noarch<)/	perl-YAML-LibYAML0.701.el8x86_64�9Gperl-YAML1.243.module+el8.6.0+953+b8fc4031noarch
9Gperl-YAML1.243.module+el8.4.0+500+6a3000fcnoarch�53)platform-python-pip9.0.320.el8.rocky.0noarch5+1platform-python3.6.856.el8_9.3.rocky.0x86_64�5+1platform-python3.6.851.el8_8.2.rocky.0x86_64
G5+1platform-python3.6.851.el8_8.1.rocky.0x86_64�5+1platform-python3.6.848.el8_7.1.rocky.0x86_64
�1+)platform-python3.6.841.el8.rocky.0x86_64+1pkgconf-pkg-config1.4.21.el8x86_64�#!pkgconf-m41.4.21.el8noarch� pkgconf1.4.21.el8x86_64� pixman0.38.44.el8x86_64x"pixman0.38.43.el8_9x86_64
� pixman0.38.42.el8x86_64
 pixman0.38.41.el8x86_64�!pinentry1.1.02.el8x86_64	�pigz2.44.el8x86_64)-pgdg-redhat-repo42.035PGDGnoarch
;)-pgdg-redhat-repo42.034PGDGnoarch�%-pgdg-redhat-repo42.033noarch�%-pgdg-redhat-repo42.032noarch	q$perltidy201802201.el8noarch�(%perl-version0.99.241.el8x86_64;&!perl-utils5.26.3422.el8noarch�&!perl-utils5.26.3421.el8noarch
&!perl-utils5.26.3420.el8noarch+3perl-threads-shared1.582.el8x86_64$%	perl-threads2.212.el8x86_64++perl-strictures2.0000066.el8noarchF&-perl-srpm-macros125.el8noarch�(/perl-podlinkcheck1510.el8noarchE&)perl-podlators4.111.el8noarch*%!perl-perlfaq5.201806051.el8noarch$#	perl-parent0.2371.el8noarch#perl-open1.11422.el8noarch�#perl-open1.11421.el8noarch
#perl-open1.11420.el8noarch.5perl-namespace-sweep0.00610.el8noarchD,5perl-namespace-clean0.277.el8noarch�1=perl-namespace-autoclean0.2810.el8noarch�*/perl-match-simple0.0104.el8noarchC(#perl-macros5.26.3422.el8x86_64�(#perl-macros5.26.3421.el8x86_64
�(#perl-macros5.26.3420.el8x86_64*)perl-local-lib2.0000242.el8noarchaA-Iperl-libwww-perl6.341.module+el8.9.0+1521+0101edcenoarch
�@-Gperl-libwww-perl6.341.module+el8.6.0+965+850557f9noarch
@-Gperl-libwww-perl6.341.module+el8.4.0+529+e3b3e624noarch�&perl-libs5.26.3422.el8x86_64�&perl-libs5.26.3421.el8x86_64
�&perl-libs5.26.3420.el8x86_64+)perl-libnetcfg5.26.3422.el8noarch�+)perl-libnetcfg5.26.3421.el8noarch
+)perl-libnetcfg5.26.3420.el8noarch##perl-libnet3.113.el8noarch�)/perl-libintl-perl1.292.el8x86_64�--perl-interpreter5.26.3422.el8x86_64�--perl-interpreter5.26.3421.el8x86_64
�--perl-interpreter5.26.3420.el8x86_64)+perl-inc-latest0.5009.el8noarch`'+perl-generators1.109.el8noarch�*/perl-experimental0.0192.el8noarch&'perl-encoding2.223.el8x86_64'!perl-devel5.26.3422.el8x86_64�'!perl-devel5.26.3421.el8x86_64
'!perl-devel5.26.3420.el8x86_64:)3perl-constant-defer615.el8noarchB.7perl-constant-boolean0.0229.el8noarchA''perl-constant1.33396.el8noarch*/perl-common-sense3.7.48.el8x86_64�%%perl-boolean0.4611.el8noarch@
5��$������t\H����w`F*�����y^E2
�
�
�
�
�
l
]
L
6
(
������pZC1�����tU6!
�
�
�
�
�
�
n
Y
@
&
	�	�	�	�	�	�	�	v	g	P	>	*	�������dK;+������n]I5!�������jL2	�������r`G7'�������|pd�WG/���������~^3platfn53platform-python-pip	jpixmanx3platform-python-pip+platform-python�+platform-python
G+platform-python�+platform-python
�+platform-python1pkgconf-pkg-config�!pkgconf-m4�pkgconf�pixman
�pixman
pixman�
pinentry	�	pigz-pgdg-redhat-repo
;-pgdg-redhat-repo�-pgdg-redhat-repo�-pgdg-redhat-repo	q
perltidy�-perl-libwww-perl
�3perl-WWW-RobotRules
�<)perl-UUID-Tiny1perl-URL-Encode-XS
'perl-URI-cpan/perl-URI-FromHash'perl-URI-Find
+perl-URI-Encode	
perl-URI�9perl-UNIVERSAL-require1perl-UNIVERSAL-ref9perl-UNIVERSAL-moniker1perl-UNIVERSAL-isa"Aplatform-python-setuptools�Aplatform-python-setuptools
�Aplatform-python-setuptools3platform-python-pip3platform-python-pip�+platform-python%perl-version;!perl-utils�!perl-utils
!perl-utils3perl-threads-shared%perl-threads+perl-stricturesF-perl-srpm-macros�/perl-podlinkcheckE)perl-podlators%perl-perlfaq#perl-parentperl-open�perl-open
perl-open5perl-namespace-sweepD5perl-namespace-clean�=perl-namespace-autoclean�/perl-match-simpleC#perl-macros�#perl-macros
�#perl-macros)perl-local-liba-perl-libwww-perl
-perl-libwww-perl�perl-libs�perl-libs
�perl-libs)perl-libnetcfg�)perl-libnetcfg
)perl-libnetcfg#perl-libnet�/perl-libintl-perl�-perl-interpreter�-perl-interpreter
�-perl-interpreter+perl-inc-latest`+perl-generators�/perl-experimental'perl-encoding!perl-devel�!perl-devel
!perl-devel:3perl-constant-deferB7perl-constant-booleanA'perl-constant/perl-common-sense�%perl-boolean@#perl-bignum%perl-autodie
perl-asa?%perl-aliased>1perl-ZMQ-Constants=)perl-YAML-Tiny�)perl-YAML-Syck�%perl-YAML-PP</perl-YAML-LibYAML�perl-YAML
perl-YAML�
perl-XXX;%perl-XString:-perl-XMLRPC-Lite95perl-XML-XPathEngine8)perl-XML-XPath�+perl-XML-Writer7'perl-XML-Twig�+perl-XML-TreePP65perl-XML-TreeBuilder53perl-XML-TokeParser�+perl-XML-Stream4+perl-XML-Simple�7perl-XML-SemanticDiff33perl-XML-SAX-Writer2/perl-XML-SAX-Base�%perl-XML-SAX�+perl-XML-RegExp�%perl-XML-RSS15perl-XML-Parser-Lite0+perl-XML-Parser�?perl-XML-NamespaceSupport�?perl-XML-NamespaceFactory/1perl-XML-Namespace.-perl-XML-LibXSLT-+perl-XML-LibXML�-perl-XML-Hash-LX,1perl-XML-Generator+Aperl-XML-Filter-BufferText*/perl-XML-Entities)+perl-XML-Dumper(%perl-XML-DOM�/perl-XML-CommonNS'-perl-XML-Catalog�3perl-X2Go-Server-DB�3perl-X2Go-Server-DB&-perl-X2Go-Server�-perl-X2Go-Server%'perl-X2Go-Log�'perl-X2Go-Log$;perl-X11-Protocol-Other#/perl-X11-Protocol"
perl-X10!-perl-Web-Scraper #perl-Web-IDperl-Want7perl-WWW-Twilio-TwiML3perl-WWW-Twilio-API3perl-WWW-RobotRules
3perl-WWW-RobotRules�)Uperl-WWW-Pastebin-PastebinCom-Create1perl-WWW-Mechanize=perl-WWW-Form-UrlEncoded'perl-WWW-Curl3perl-Variable-Magic�7perl-Validation-Class)Uperl-VM-EC2-Security-CredentialCache#perl-VM-EC21perl-User-Identity�1perl-User-Identity-perl-Unix-Syslog�/perl-Unicode-UTF8�3perl-Unicode-String9perl-Unicode-Normalize5perl-Unicode-MapUTF8/perl-Unicode-Map8-perl-Unicode-Map9perl-Unicode-LineBreak� Cperl-Unicode-EastAsianWidth�5perl-Unicode-Collate�9perl-Unicode-CheckUTF8
Q���^1���uN
�
�
�
l
/���n?���K
�
�
z
J
	�	�	�	^	2���e8
��T)���],���T#���e5��wF���V#���m:�+�+1�perl-Test-Manifest2.0216.el8noarch,�*3�perl-Test-LeakTrace0.1611.el8x86_640�);�perl-Test-LWP-UserAgent0.0339.el8noarch*�(1�perl-Test-Kwalitee1.283.el8noarch'�')�perl-Test-JSON0.1126.el8noarch+�&1�perl-Test-Identity0.0124.el8noarch.�%5�perl-Test-HasVersion0.01413.el8noarch0�$;�perl-Test-File-Contents0.2311.el8noarch,�#5�perl-Test-Fake-HTTPD0.091.el8noarch0�"9�perl-Test-FailWarnings0.00817.el8noarch&�!'�perl-Test-EOL2.0010.el8noarch/� 9�perl-Test-Distribution2.0032.el8noarch0�9�perl-Test-DistManifest1.01415.el8noarch.�9�perl-Test-Dependencies0.241.el8noarch*�/�perl-Test-Compile2.2.22.el8noarch1�?�perl-Test-CleanNamespaces0.246.el8noarch(�+�perl-Test-Class0.5015.el8noarch/�;�perl-Test-CheckManifest1.424.el8noarch-�3�perl-Test-CheckDeps0.01023.el8noarch/�9�perl-Test-CheckChanges0.1426.el8noarch1�=�perl-Test-CPAN-Meta-JSON0.1615.el8noarch,�3�perl-Test-CPAN-Meta0.2519.el8noarch&�)�perl-Test-Base0.899.el8noarch.�5�perl-Test-Assertions1.05430.el8noarch+�-�perl-Test-Assert0.050431.el8noarch&�'�perl-Test-API0.0106.el8noarch'�)�perl-Term-Size0.2094.el8x86_64*�/�perl-Term-ShellUI0.9218.el8noarch'�+�perl-Term-Shell0.113.el8noarch.�9�perl-Term-ReadLine-Gnu1.367.el8x86_645�
E�perl-Term-ProgressBar-Simple0.0320.el8noarch4�C�perl-Term-ProgressBar-Quiet0.3120.el8noarch-�7�perl-Term-ProgressBar2.227.el8noarch*�
+�perl-TeX-Hyphen1.1810.1.el8noarch(�	-�perl-Task-Weaken1.061.el8noarch(�+�perl-Taint-Util0.0822.el8x86_642�?�perl-Sys-Statistics-Linux0.6621.el8noarch+�1�perl-Sys-SigAction0.2314.el8noarch%�'�perl-Sys-Mmap0.191.el8x86_64+�-�perl-Symbol-Util0.020324.el8noarch*�)�perl-Sub-Quote2.0060033.el8noarch*�/�perl-Sub-Override0.0920.el8noarch(�)�perl-Sub-Infix0.00410.el8noarch6�?�perl-Sub-Exporter-Lexical0.09229211.el8noarch9�E�perl-Sub-Exporter-ForMethods0.10005213.el8noarch)�~-�perl-String-Util1.2611.el8noarch/�}9perl-String-Similarity1.0434.el8x86_64*�|1~perl-String-Random0.306.el8noarch*�{1}perl-String-Format1.181.el8noarch/�z1|perl-String-Escape2010.00229.el8noarch+�y1{perl-String-Approx3.2813.el8x86_64-�x5zperl-Stream-Buffered0.0314.el8noarch5�wCyperl-Statistics-Descriptive3.07026.el8noarch3�v?xperl-Statistics-ChiSquare1.00002.el8noarch0�u7wperl-Statistics-Basic1.661116.el8noarch-�t7vperl-Spreadsheet-XLSX0.171.el8noarch4�sCuperl-Spreadsheet-WriteExcel2.4017.el8noarch8�rCtperl-Spreadsheet-ParseExcel0.650024.1.el8x86_64$�q#sperl-Spiffy0.4619.el8noarch)�p+rperl-Spellunker0.4.016.el8noarch,�o3qperl-Sort-Naturally1.0322.el8noarch,�n3pperl-Sort-MergeSort0.3113.el8noarch%�m'operl-Sort-Key1.335.el8x86_645�lEnperl-Software-License-CCpack1.1119.el8noarch+�k1mperl-Socket-MsgHdr0.0511.el8x86_640�j;lperl-Socket-GetAddrInfo0.2219.el8noarch:�iQkperl-Shared-Examples-Net-Amazon-S30.981.el8noarch(�h+jperl-Set-Scalar1.2915.el8noarch*�g/iperl-Set-Infinite0.6529.el8noarch)�f-hperl-Set-Crontab1.0323.el8noarch,�e3gperl-Sereal-Encoder4.0181.el8x86_64,�d3fperl-Sereal-Decoder4.0181.el8x86_64$�c#eperl-Sereal4.0181.el8noarch)�b/dperl-Sentry-Raven1.112.el8noarch.�a1cperl-Search-Xapian1.2.25.44.el8x86_64(�`-bperl-Scope-Upper0.322.el8x86_641�_?aperl-Schedule-Cron-Events1.961.el8noarch*�^1`perl-Schedule-Cron1.013.el8noarch;�]M_perl-Scalar-Util-LooksLikeNumber1.39.214.el8x86_64+�\1^perl-Scalar-String0.0038.el8x86_643�[9]perl-Scalar-Properties1.10086020.el8noarch
G;L�����Y1\s��';��\;����pS0����D��h<
�
�
z
H
���Q���oJ%
�
�
�
r
S

	�	�	�	b	9	���Z���Z'��,�-�7Epolicycoreutils-python-utils2.926.el8_10noarch�*+policycoreutils2.926.el8_10x86_64�7Aplatform-python-setuptools39.2.08.el8_10noarch�*##polkit-libs0.11515.el8_10.2x86_64%#polkit0.11515.el8_10.2x86_644Epolicycoreutils-python-utils2.925.el8noarch'+policycoreutils2.925.el8x86_6453)platform-python-pip9.0.324.el8.rocky.0noarch9!Cpostgresql11.152.module_el8+13988+76873a69x86_64	m;!Gpostgresql10.172.module+el8.5.0+685+b03fcc47x86_64�"!popt-devel1.181.el8x86_64�popt1.181.el8x86_64*1polkit-pkla-compat0.112.el8x86_64%#polkit-libs0.11515.el8x86_64�)#!polkit-libs0.11513.el8_5.2x86_64�)#!polkit-libs0.11513.el8_5.1x86_64o%#polkit-libs0.11512.el8x86_64
 polkit0.11515.el8x86_64�$!polkit0.11513.el8_5.2x86_64�$!polkit0.11513.el8_5.1x86_64n polkit0.11512.el8x86_64	4Epolicycoreutils-python-utils2.924.el8noarch�4Epolicycoreutils-python-utils2.920.el8noarch	�'+policycoreutils2.924.el8x86_64�'+policycoreutils2.920.el8x86_64	�'+policycoreutils2.916.el8x86_644Aplatform-python-setuptools39.2.07.el8noarch�8Aplatform-python-setuptools39.2.06.el8_7.1noarch
�4Aplatform-python-setuptools39.2.06.el8noarch53)platform-python-pip9.0.323.el8.rocky.0noarch�Gcpython22.7.1813.module+el8.8.0+1314+be03569e.1.rocky.0.2x86_64E_python22.7.1811.module+el8.7.0+1062+663ba31c.rocky.0.2x86_64
!(1python-srpm-macros345.el8noarch�(1python-srpm-macros343.el8noarch
 (1python-srpm-macros341.el8noarch�'/python-rpm-macros345.el8noarch�'/python-rpm-macros343.el8noarch
'/python-rpm-macros341.el8noarch�pv1.6.67.el8x86_64�3;publicsuffix-list-dafsa201807231.el8noarchpsmisc23.15.el8x86_64;#!protobuf-c1.3.08.el8x86_64
�#!protobuf-c1.3.06.el8x86_64	d"protobuf3.5.015.el8x86_64	\#procps-ng3.3.159.el8x86_64
�#procps-ng3.3.156.el8x86_64$procps-ng3.3.1514.el8x86_64�$procps-ng3.3.1513.el8x86_64�!procmail3.2247.el8x86_64�&'prefixdevname0.1.06.el8x86_64
23#postgresql11-server11.222PGDG.rhel8x86_64
a23#postgresql11-server11.211PGDG.rhel8x86_64�23#postgresql11-server11.191PGDG.rhel8x86_64L23#postgresql11-server11.181PGDG.rhel8x86_64	t0/#postgresql11-libs11.222PGDG.rhel8x86_64
`0/#postgresql11-libs11.211PGDG.rhel8x86_64�0/#postgresql11-libs11.191PGDG.rhel8x86_64K0/#postgresql11-libs11.181PGDG.rhel8x86_64	s11#postgresql11-devel11.222PGDG.rhel8x86_64
_11#postgresql11-devel11.211PGDG.rhel8x86_64�11#postgresql11-devel11.191PGDG.rhel8x86_64J11#postgresql11-devel11.181PGDG.rhel8x86_64	�+%#postgresql1111.222PGDG.rhel8x86_64
^+%#postgresql1111.211PGDG.rhel8x86_64�+%#postgresql1111.191PGDG.rhel8x86_64I+%#postgresql1111.181PGDG.rhel8x86_64	r@/Cpostgresql-server11.152.module_el8+13988+76873a69x86_64	pB/Gpostgresql-server10.172.module+el8.5.0+685+b03fcc47x86_64�>+Cpostgresql-libs11.152.module_el8+13988+76873a69x86_64	n?-Cpostgresql-devel11.152.module_el8+13988+76873a69x86_64	o<!Gpostgresql9.6.221.module+el8.5.0+687+7cd82e08x86_64I
�P`XPH	@80	������������������xph`XPH@80( ��
p���x�����������xph`XPH@80( ��������p��������xph
h`XP
�H@
`80( ����������������(xph`XPH@8h0( X��������h�������xph`XPH@80( ����������������xph`XPH@8����������������
X��������xp0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
P
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����xph`XPH@80( ��������������
x��xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�	x	p	h	`
H	X	P	H	@	8	0	(	 	`	
@P
8
0
(
 



������ ��������������H@	�v��St���g�D�,�+����������������������������������������
]`_^]\[Z�	�2�1�0�/�.�-�,�+�*�)�(�'�&���������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>=~<};|:{9z8y7x6w5v4u3t2s1r0q/p.o-n,m+l*k)j(i'h&g%f$
[$e#d"c!b a�u�t�s�r�q�p�o�n�m�l�k�j�i�h�&g%f$e#d"c!b a`_^]\[ZYXWVUTSRQPO
	
NML
K	JIHGFEDCBA�@�?�>�=�<�;�	�:�9�8�7�6�5�4�3������������
���
�	������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�k����w�r�A�F u	�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�B�A�@�?�>=~<};|:{9z8y7x6w5v4u3t2s1r0q/p.o-n,m+l*k)j(i'h�%�$�#�"�!� �������
S���e5��tG
�
�
�
j
<
���Z*���Y,
�
�
�
f
0
	�	�	y	L	���vB���W,��c:
��zJ���lB��~S���j7���V'��&�~'perl-Type-Tie0.0145.el8noarch,�}3�perl-Tk-TableMatrix1.2337.el8x86_64,�|+�perl-Time-y20382010040321.el8x86_64.�{7�perl-Time-Piece-MySQL0.0613.el8noarch0�z3�perl-Time-ParseDate2015.10313.el8noarch&�y'�perl-Time-Out0.1118.el8noarch(�x-�perl-Time-Moment0.446.el8x86_64&�w)�perl-Time-Fake0.112.el8noarch0�v=�perl-Time-Duration-Parse0.155.el8noarch*�u1�perl-Time-Duration1.213.el8noarch-�t5�perl-Tie-Hash-Method0.0212.el8noarch'�s)�perl-Tie-Cache0.2115.el8noarch+�r)�perl-Throwable0.20001312.el8noarch1�q=�perl-Text-TabularDisplay1.3818.el8noarch(�p+�perl-Text-Table1.1337.el8noarch)�o-�perl-Text-Reform1.2025.el8noarch0�n9�perl-Text-RecordParser1.6.518.el8noarch8�mM�perl-Text-Levenshtein-Damerau-XS3.211.el8x86_64'�l+�perl-Text-Iconv1.742.el8x86_64'�k+�perl-Text-Fuzzy0.291.el8x86_64(�j-�perl-Text-Format0.616.el8noarch(�i-�perl-Text-CSV_XS1.401.el8x86_64%�h'�perl-Text-CSV2.002.el8noarch0�g5�perl-Text-Autoformat1.7500001.el8noarch*�f/�perl-Text-Aligner0.1311.el8noarch-�e5�perl-Text-ASCIITable0.2211.el8noarch&�d#�perl-TestML0.54.058.el8noarch0�c=�perl-Test2-Tools-Explain0.022.el8noarch4�bE�perl-Test2-Plugin-NoWarnings0.081.el8noarch*�a-�perl-Test-mysqld1.00131.el8noarch&�`'�perl-Test-XML0.0816.el8noarch1�_=�perl-Test-Without-Module0.2010.el8noarch4�^E�perl-Test-WWW-Mechanize-PSGI0.396.el8noarch/�];�perl-Test-WWW-Mechanize1.542.el8noarch)�\/�perl-Test-Version2.098.el8noarch(�[)�perl-Test-Vars0.01413.el8noarch+�Z1�perl-Test-Valgrind1.1912.el8noarch0�Y;�perl-Test-UseAllModules0.1715.el8noarch,�X3	�perl-Test-Unit-Lite0.1233.el8noarch.�W1�perl-Test-TypeTiny1.0040042.el8noarch'�V)�perl-Test-Trap0.3.44.el8noarch1�U;�perl-Test-TrailingSpace0.03021.el8noarch)�T/�perl-Test-Toolbox0.411.el8noarch&�S)�perl-Test-Time0.083.el8noarch)�R/�perl-Test-TempDir0.111.el8noarch%�Q'�perl-Test-TCP2.221.el8noarch*�P1�perl-Test-Synopsis0.161.el8noarch*�O1�perl-Test-SubCalls1.102.el8noarch*�N1�perl-Test-Spelling0.251.el8noarch,�M3�perl-Test-Signature1.1121.el8noarch-�L5�perl-Test-SharedFork0.3513.el8noarch(�K-�perl-Test-Script1.252.el8noarch3�JA�perl-Test-RequiresInternet0.0515.el8noarch/�I-!�perl-Test-Regexp201704010110.el8noarch*�H1�perl-Test-Refcount0.103.el8noarch/�G9�perl-Test-RandomResult0.0012.el8noarch2�F?�perl-Test-RDF-Trine-Store1.0198.el8noarch*�E-�perl-Test-Prereq2.00211.el8noarch,�D5�perl-Test-PostgreSQL1.281.el8noarch3�CC�perl-Test-Portability-Files0.104.el8noarch1�B;�perl-Test-Pod-LinkCheck0.00820.el8noarch5�AE�perl-Test-Perl-Critic-Policy1.1345.el8noarch-�@7�perl-Test-Perl-Critic1.047.el8noarch*�?-�perl-Test-Output1.03.19.el8noarch(�>-�perl-Test-Object0.084.el8noarch/�=9�perl-Test-Number-Delta1.0615.el8noarch(�<-�perl-Test-NoTabs2.027.el8noarch*�;1�perl-Test-Net-LDAP0.072.el8noarch+�:+�perl-Test-Needs0.0020063.el8noarch0�9;�perl-Test-Name-FromLine0.1315.el8noarch(�8+�perl-Test-Mouse2.5.92.el8x86_64'�7)�perl-Test-Most0.3511.el8noarch)�6+�perl-Test-Moose2.20119.el8x86_64&�5)�perl-Test-Mojo8.421.el8noarch*�41�perl-Test-Mojibake1.313.el8noarch*�3-�perl-Test-Modern0.01315.el8noarch*�21�perl-Test-MockTime0.177.el8noarch2�15!�perl-Test-MockObject1.201807055.el8noarch/�05�perl-Test-MockModule0.170.05.el8noarch-�/5�perl-Test-Mock-Guard0.1015.el8noarch5�.=�perl-Test-MinimumVersion0.10108211.el8noarch.�-9�perl-Test-MemoryGrowth0.035.el8noarch/�,9�perl-Test-Memory-Cycle1.0613.el8noarch
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�LJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMK�~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 
��qr]H3����������o^M<$

�
�
�
�
�
�
�
o
]
K
9
!
	�����}dK2���������e]F/
�
�
�
�
�
�
�
�
p
^
L
:
(

	�	�	�	�	�	�	n	V	8	�������xfT�?(������vX:������r�XG6%����q���mYE1�
������}dJ0�������n\J8&�������}fO>!��ho)python3-hawkey�%python3-bind|-python3-firewall�!Epolicycoreutils-python-utils�+policycoreutils��)python3-libdnf�;python3-policycoreutils�;python3-policycoreutils	�#python3-ply	f/python3-pip-wheel'/python3-pip-wheel�/python3-pip-wheel
�/python3-pip-wheel!#python3-pip~#python3-pip
�#python3-pip	g%python3-perf&%python3-perf�%python3-perf�%python3-perf
)%python3-perf�%python3-perfz%python3-perf
�%python3-perf�%python3-perf�%python3-perfq%python3-perf -python3-nftables%-python3-nftables�-python3-nftables
�-python3-nftables5python3-linux-procfs$5python3-linux-procfs�5python3-linux-procfs
�5python3-linux-procfs3python3-libsemanage	�1python3-libselinux�1python3-libselinux
�1python3-libselinux%python3-libs#%python3-libs�%python3-libs
I%python3-libs�%python3-libs
�%python3-libs)python3-libdnf")python3-libdnf�)python3-libdnf�)python3-libdnf	!)python3-libdnf-python3-libcomps
�-python3-libcomps)python3-hawkey!)python3-hawkey�)python3-hawkey�)python3-hawkey	 )python3-hawkey#python3-gpg #python3-gpg
�#python3-gpg5python3-gobject-base-python3-firewall-python3-firewall
H-python3-firewall
�-python3-firewall�-python3-firewall=python3-dnf-plugins-core=python3-dnf-plugins-core�=python3-dnf-plugins-core�=python3-dnf-plugins-core	=python3-dnf-plugins-corep=python3-dnf-plugins-core#python3-dnf#python3-dnf�#python3-dnf�#python3-dnf	#python3-dnf/python3-decorator%python3-dbus-python3-dateutil/python3-configobj+python3-certifi
e%python3-bind}%python3-bind
�%python3-bind
%python3-bind%python3-bind	e'python3-audit'python3-audit�'python3-audit	�+python3-appdirs
f=python2-setuptools-wheel|=python2-setuptools-wheel
�=python2-setuptools-wheel�1python2-setuptools{1python2-setuptools
�1python2-setuptools�/python2-pip-wheel
�/python2-pip-wheel
$/python2-pip-wheel#python2-pip
�#python2-pip
##python2-pip~%python2-libsz%python2-libs
�%python2-libs
A%python2-libs%python2-libs
"%python2-libs}python2ypython2
�python2
@python2python2
!python2|1python-srpm-macros�1python-srpm-macros
 1python-srpm-macros�/python-rpm-macros�/python-rpm-macros
/python-rpm-macros�pv�;publicsuffix-list-dafsapsmisc;!protobuf-c
�!protobuf-c	d
protobuf	\procps-ng�procps-ng�procps-ng
�procps-ng
procmail�'prefixdevname
3postgresql11-server
a3postgresql11-server�3postgresql11-serverL3postgresql11-server	t/postgresql11-libs
`/postgresql11-libs�/postgresql11-libsK/postgresql11-libs	s1postgresql11-devel
_1postgresql11-devel�1postgresql11-develJ1postgresql11-devel	�%postgresql11
^%postgresql11�%postgresql11I%postgresql11	r/postgresql-server	p/postgresql-server�+postgresql-libs	n-postgresql-devel	o!postgresql	m!postgresqlI!postgresql�!popt-devel�	popt1polkit-pkla-compat#polkit-libs#polkit-libs�#polkit-libs�#polkit-libso#polkit-libs
polkitpolkit�polkit�polkitnpolkit	!Epolicycoreutils-python-utils!Epolicycoreutils-python-utils�!Epolicycoreutils-python-utils	�+policycoreutils+policycoreutils�+policycoreutils	�+policycoreutils-;python3-policycoreutils�%python3-perf�;python3-policycoreutils(
J	�s/��J
�
�
j
,��k'��U
�
t
&	�	�	�N	�	V�	)���u$����^8��s?��ncU'��G�S'6���|P$�	����,)python3-libdnf0.63.020.el8_10x86_64�,)python3-hawkey0.63.020.el8_10x86_64�--python3-firewall0.9.118.el8_10noarch�2%1python3-libs3.6.851.el8_8.1.rocky.0x86_64�.%#python3-bind 9.11.3616.el8_10.2noarch|))python3-libdnf0.63.019.el8x86_64"))python3-hawkey0.63.019.el8x86_64!&#python3-gpg1.13.112.el8x86_64 *-python3-firewall0.9.114.el8noarch2%1python3-libs3.6.848.el8_7.1.rocky.0x86_64
�.%)python3-libs3.6.841.el8.rocky.0x86_64()python3-libdnf0.63.03.el8x86_64+)python3-libdnf0.63.017.el8_9x86_64�+)python3-libdnf0.63.014.el8_8x86_64�+)python3-libdnf0.63.011.1.el8x86_64	!*-python3-libcomps0.1.181.el8x86_64
�*-python3-libcomps0.1.162.el8x86_64()python3-hawkey0.63.03.el8x86_64+)python3-hawkey0.63.017.el8_9x86_64�+)python3-hawkey0.63.014.el8_8x86_64�+)python3-hawkey0.63.011.1.el8x86_64	 %#python3-gpg1.13.19.el8x86_64&#python3-gpg1.13.111.el8x86_64
�.5python3-gobject-base3.28.32.el8x86_64--python3-firewall0.9.37.el8_5.1noarch�)-python3-firewall0.9.37.el8noarch*-python3-firewall0.9.313.el8noarch
�,-python3-firewall0.9.111.el8_8noarch
H4=python3-dnf-plugins-core4.0.214.el8_5noarchp2=python3-dnf-plugins-core4.0.213.el8noarch3=python3-dnf-plugins-core4.0.2125.el8noarch3=python3-dnf-plugins-core4.0.2123.el8noarch�5=python3-dnf-plugins-core4.0.2119.el8_8noarch�5=python3-dnf-plugins-core4.0.2114.1.el8noarch	$#python3-dnf4.7.04.el8noarch%#python3-dnf4.7.020.el8noarch%#python3-dnf4.7.019.el8noarch�'#python3-dnf4.7.016.el8_8noarch�%#python3-dnf4.7.011.el8noarch	*/python3-decorator4.2.12.el8noarch&%python3-dbus1.2.415.el8x86_64)-	python3-dateutil2.6.16.el8noarch&'python3-audit3.1.21.el8x86_64+/python3-configobj5.0.611.el8noarch-+!python3-certifi2018.10.157.el8noarch
e,%python3-bind 9.11.368.el8_8.2noarch
,%python3-bind 9.11.368.el8_8.1noarch,%python3-bind 9.11.365.el8_7.2noarch	e,%python3-bind 9.11.3614.el8_10noarch}+%python3-bind 9.11.3611.el8_9noarch
�&'python3-audit3.0.75.el8x86_64�&'python3-audit3.0.74.el8x86_64	�(+python3-appdirs1.4.38.el8noarch
fM=Mpython2-setuptools-wheel39.0.114.module+el8.10.0+1813+4b021305noarch|L=Kpython2-setuptools-wheel39.0.113.module+el8.9.0+1531+a18208f5noarch
�K=Ipython2-setuptools-wheel39.0.113.module+el8.4.0+403+9ae17a31noarch�G1Mpython2-setuptools39.0.114.module+el8.10.0+1813+4b021305noarch{F1Kpython2-setuptools39.0.113.module+el8.9.0+1531+a18208f5noarch
�E1Ipython2-setuptools39.0.113.module+el8.4.0+403+9ae17a31noarch�D/Kpython2-pip-wheel9.0.319.module+el8.9.0+1531+a18208f5noarch
�C/Ipython2-pip-wheel9.0.319.module+el8.6.0+793+57002515noarch
$C/Ipython2-pip-wheel9.0.318.module+el8.4.0+403+9ae17a31noarch>#Kpython2-pip9.0.319.module+el8.9.0+1531+a18208f5noarch
�=#Ipython2-pip9.0.319.module+el8.6.0+793+57002515noarch
#=#Ipython2-pip9.0.318.module+el8.4.0+403+9ae17a31noarch~H%[python2-libs2.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64}K%apython2-libs2.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64zJ%_python2-libs2.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64
�L%cpython2-libs2.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
AL%cpython2-libs2.7.1813.module+el8.8.0+1314+be03569e.1.rocky.0.2x86_64J%_python2-libs2.7.1811.module+el8.7.0+1062+663ba31c.rocky.0.2x86_64
"C[python22.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64|Fapython22.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64yE_python22.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64
�
V���tJ���X&
�
�
�
w
I
���c4��kB
�
�
p
?
	�	�	�	w	G	���b3���wI���]2��|O'���c;
���U'���pC���lH"��'�T'Vuw-imap-devel2007f24.el8x86_64%�S#Ulibc-client2007f24.el8x86_64#�R	Tgmp-devel6.1.210.el8x86_64!�Q	Sgmp-c++6.1.210.el8x86_64&�P%RlibXpm-devel3.5.128.el8x86_64-�O3Qlibjpeg-turbo-devel1.5.312.el8x86_64&�N'Plibwebp-devel1.0.05.el8x86_64(�M'Olibcurl-devel7.61.122.el8x86_64'�L'Nlibxml2-devel2.9.711.el8x86_64*�K-Mcmake-filesystem3.20.24.el8x86_64%�J#Llibpq-devel13.31.el8_4x86_64<�I!GKpostgresql9.6.221.module+el8.5.0+687+7cd82e08x86_64�HJxclip0.138.el8x86_64-�G/Ix2goserver-common4.1.0.317.el8noarch+�F+Hperl-strictures2.0000066.el8noarch(�E/Gperl-podlinkcheck1510.el8noarch.�D5Fperl-namespace-sweep0.00610.el8noarch*�C/Eperl-match-simple0.0104.el8noarch)�B3Dperl-constant-defer615.el8noarch.�A7Cperl-constant-boolean0.0229.el8noarch%�@%Bperl-boolean0.4611.el8noarch �?Aperl-asa1.041.el8noarch%�>%@perl-aliased0.3414.el8noarch+�=1?perl-ZMQ-Constants1.0423.el8noarch%�<%>perl-YAML-PP0.0261.el8noarch �;=perl-XXX0.354.el8noarch%�:%<perl-XString0.0022.el8x86_64*�9-;perl-XMLRPC-Lite0.71719.el8noarch-�85:perl-XML-XPathEngine0.1423.el8noarch)�7+9perl-XML-Writer0.62515.el8noarch(�6+8perl-XML-TreePP0.4314.el8noarch,�557perl-XML-TreeBuilder5.422.el8noarch(�4+6perl-XML-Stream1.2417.el8noarch/�375perl-XML-SemanticDiff1.00075.el8noarch+�234perl-XML-SAX-Writer0.575.el8noarch$�1%3perl-XML-RSS1.611.el8noarch-�052perl-XML-Parser-Lite0.7224.el8noarch2�/?1perl-XML-NamespaceFactory1.0212.el8noarch+�.10perl-XML-Namespace0.0212.el8noarch(�--/perl-XML-LibXSLT1.966.el8x86_64*�,-.perl-XML-Hash-LX0.70.05.el8noarch+�+1-perl-XML-Generator1.0430.el8noarch3�*A,perl-XML-Filter-BufferText1.0132.el8noarch,�)/+perl-XML-Entities1.000212.el8noarch(�(+*perl-XML-Dumper0.8135.el8noarch*�'/)perl-XML-CommonNS0.0612.el8noarch/�&3(perl-X2Go-Server-DB4.1.0.317.el8x86_64,�%-'perl-X2Go-Server4.1.0.317.el8noarch)�$'&perl-X2Go-Log4.1.0.317.el8noarch-�#;%perl-X11-Protocol-Other316.el8noarch*�"/$perl-X11-Protocol0.5636.el8noarch!�!#perl-X100.0410.el8noarch)� -"perl-Web-Scraper0.3813.el8noarch$�#!perl-Web-ID1.9274.el8noarch!� perl-Want0.298.el8x86_64.�7perl-WWW-Twilio-TwiML1.0512.el8noarch,�3perl-WWW-Twilio-API0.2110.el8noarch>�Uperl-WWW-Pastebin-PastebinCom-Create1.00319.el8noarch,�1perl-WWW-Mechanize1.971.el8.1noarch0�=perl-WWW-Form-UrlEncoded0.263.el8noarch&�'perl-WWW-Curl4.1721.el8x86_642�7perl-Validation-Class7.90005711.el8noarch=�Uperl-VM-EC2-Security-CredentialCache0.2516.el8noarch$�#perl-VM-EC21.2816.el8noarch*�1perl-User-Identity0.998.el8noarch,�3perl-Unicode-String2.1012.el8x86_64-�5perl-Unicode-MapUTF81.1140.el8noarch*�/perl-Unicode-Map80.1333.el8x86_64*�-perl-Unicode-Map0.11249.el8x86_64/�9perl-Unicode-CheckUTF81.0327.el8x86_64'�)perl-UUID-Tiny1.0418.el8noarch+�
1perl-URL-Encode-XS0.0317.el8x86_64&�'perl-URI-cpan1.0074.el8noarch*�/
perl-URI-FromHash0.0512.el8noarch*�
'perl-URI-Find2016080610.el8noarch)�	+perl-URI-Encode1.1.111.el8noarch/�9
perl-UNIVERSAL-require0.1817.el8noarch+�1	perl-UNIVERSAL-ref0.1428.el8x86_64/�9perl-UNIVERSAL-moniker0.0834.el8noarch0�1!perl-UNIVERSAL-isa1.201710124.el8noarch1�1!perl-UNIVERSAL-can1.2014032815.el8noarch(�+perl-Types-UUID0.0048.el8noarch'�)perl-Types-URI0.0067.el8noarch-�5perl-Types-Path-Tiny0.0067.el8noarch,�3perl-Types-DateTime0.0025.el8noarch*�)perl-Type-Tiny1.0040042.el8noarch
����������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������rcTE6'	��������veTC2!
�
�
�
�
�
�
�
�
w
f
U
D
3
"

	�	�	�	�	�	�	�	x	g	V	E	4	#		�������yhWF5$�������ziXG6%�������{jYH7&�������|kZI8'�������~m\K:)�������n]L;*��������p`P?/����
�%		XR
�$		WQ
�#		VP
�"		UO
�!		TN� 			TM
�		SL
�		RK�	QF
�		Q

�		Q��	P��	P�
�		P��	OK�	OJ�	O��	OI�	OH�	OG�	OF�	OE�	O��	OA�
	O��	O?�	O��
	O��		O��	O��	OB�	O��	O@�	O?�	O��	O��	O��	O��	O��~	O��}	O��|	O��{	O��z	O>
�y		O��x	O��w	O��v	O7�u	O6�t	O��s	O��r	O4�q	O��p	O��o	O��n	O��m	O3�l	O2�k	O��j	O1�i	O0�h	Oz�g	Ov�f	Ou�e	Os�d	Or�c	Oq�b	Op�a	Oo�`	On�_	Om�^	Ol�]	Ok�\	Oj�[	Oi�Z	Oh�Y	Og�X	Of�W	Oe�V	Od�U	Oc�T	Ob�S	O.�R	O`�Q	O_�P	O��O	O+�N	O[�M	OZ�L	OX�K	OV�J	OU�I	OT�H	O&�G	O%�F	OQ�E	OM�D	OL�C	OH�B	O��A	OF�@	O �?	OC�>	O�=	O�<	O�;	OB�:	O�9	O�8	O:�7	O7�6	O6�5	O�4	O�3	O�2	O2�1	O1�0	O�/	O0�.	O/�-	O.�,	O�+	O�*	O�)	O(�(	O�'	O'�&	O�%	O
�$	O�#	O�"	O
�!	O	� 	O�	O�	O$�	O"�	O!�	O �	O�	O�	O�	O�	O�	O�	O�	O�	O�	N��	N�
�		N��	M��
	M�
�		MB�			LJ�
			LI�				LH�			LG�			LF�			LE�			LD�			LC�			LB�			LA�			L@
�		L?
�		L>
�~		L=
�}		L<
�|		L;
�{		L:
�z		L9
�y		L8
�x		L7
�w		L6
�v		L5
�u		L4
�t		L3
�s		L2
�r		L1
�q		L0
�p		L/
�o		L.
�n		L-
�m		L,
�l		L+
�k		L*
�j		L)
�i		L(
�h		L'
�g		L&
�f		L%
�e		L$
�d		L#
�c		L"
�b		L!
�a		L 
�`		L
�_		L
�^		L
�]		L
�\		L
�[		L
�Z		L
�Y		L
�X		L
�W		L
�V		L
�U		L
�T		L
�S		L
�R		L
�Q		L
�P		L
�O		L
�N		L

�M		L
�L		L
�K		L

�J		L	
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$�
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
��-Convert-TNEF perl-Convert-UU perl-Convert-UUlib perl-Cookie-Baker perl-Coro perl-Cpanel-JSON-XS perl-Crypt-Blowfish perl-Crypt-CBC perl-Crypt-CipherSaber perl-Crypt-Cracklib perl-Crypt-DES perl-Crypt-DES_EDE3 perl-Crypt-DH perl-Crypt-DH-GMP perl-Crypt-ECB perl-Crypt-Eksblowfish perl-Crypt-GPG perl-Crypt-GeneratePassword perl-Crypt-IDEA perl-Crypt-MySQL perl-Crypt-OpenSSL-Bignum perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random perl-Crypt-OpenSSL-X509 perl-Crypt-PWSafe3 perl-Crypt-PasswdMD5 perl-Crypt-RC4 perl-Crypt-Random-Seed perl-Crypt-Random-Source perl-Crypt-Rijndael perl-Crypt-SMIME perl-Crypt-SSLeay perl-Crypt-Salsa20 perl-Crypt-ScryptKDF perl-Crypt-SmbHash perl-Crypt-Twofish perl-Crypt-URandom perl-Crypt-UnixCrypt_XS perl-Crypt-X509 perl-Curses perl-Curses-UI perl-Cwd-Guard perl-DBD-CSV perl-DBD-Firebird perl-DBD-Mock perl-DBD-MySQL perl-DBD-ODBC perl-DBD-Pg perl-DBD-SQLite perl-DBI perl-DBIx-Class perl-DBIx-Class-Storage-Debug-PrettyPrint perl-DBIx-Connector perl-DBIx-ContextualFetch perl-DBIx-QueryLog perl-DBIx-RunSQL perl-DBIx-Safe perl-DBIx-Simple perl-DBIx-XHTML_Table perl-DBM-Deep perl-DB_File perl-Data-Binary perl-Data-Compare perl-Data-Denter perl-Data-Dump perl-Data-Dump-Color perl-Data-Dump-Streamer perl-Data-Dumper perl-Data-Dumper-Concise perl-Data-Dumper-Names perl-Data-Entropy perl-Data-Faker perl-Data-Float perl-Data-GUID perl-Data-HexDump perl-Data-Integer perl-Data-MessagePack perl-Data-OptList perl-Data-Password perl-Data-Perl perl-Data-Report perl-Data-Section perl-Data-Section-Simple perl-Data-Serializer perl-Data-Stream-Bulk perl-Data-Taxi perl-Data-UUID perl-Data-Uniqid perl-Data-Validate-IP perl-Date-Calc perl-Date-Holidays-DE perl-Date-ISO8601 perl-Date-Manip perl-Date-Range perl-Date-Simple perl-DateTime perl-DateTime-Calendar-Mayan perl-DateTime-Event-ICal perl-DateTime-Event-Recurrence perl-DateTime-Format-Builder perl-DateTime-Format-DateParse perl-DateTime-Format-Epoch perl-DateTime-Format-Excel perl-DateTime-Format-Flexible perl-DateTime-Format-HTTP perl-DateTime-Format-ICal perl-DateTime-Format-ISO8601 perl-DateTime-Format-Mail perl-DateTime-Format-MySQL perl-DateTime-Format-Natural perl-DateTime-Format-Pg perl-DateTime-Format-RFC3339 perl-DateTime-Format-SQLite perl-DateTime-Format-Strptime perl-DateTime-Format-W3CDTF perl-DateTime-Locale perl-DateTime-Set perl-DateTime-TimeZone perl-DateTime-TimeZone-SystemV perl-DateTime-TimeZone-Tzfile perl-DateTimeX-Easy perl-Declare-Constraints-Simple perl-DepGen-Perl-Tests perl-Devel-ArgNames perl-Devel-CallChecker perl-Devel-CallParser perl-Devel-Caller perl-Devel-CheckCompiler perl-Devel-CheckLib perl-Devel-Cover perl-Devel-Cycle perl-Devel-Declare perl-Devel-GlobalDestruction perl-Devel-Hide perl-Devel-Leak perl-Devel-LexAlias perl-Devel-OverloadInfo perl-Devel-PPPort perl-Devel-PartialDump perl-Devel-PatchPerl perl-Devel-Peek perl-Devel-REPL perl-Devel-REPL-Plugin-Completion perl-Devel-REPL-Plugin-CompletionDriver-INC perl-Devel-REPL-Plugin-CompletionDriver-Keywords perl-Devel-REPL-Plugin-DDC perl-Devel-REPL-Plugin-DDS perl-Devel-REPL-Plugin-Interrupt perl-Devel-REPL-Plugin-LexEnv perl-Devel-REPL-Plugin-MultiLine-PPI perl-Devel-REPL-Plugin-Nopaste perl-Devel-REPL-Plugin-PPI perl-Devel-REPL-Plugin-Refresh perl-Devel-Refcount perl-Devel-SelfStubber perl-Devel-Size perl-Devel-StackTrace perl-Devel-StackTrace-AsHTML perl-Devel-StackTrace-WithLexicals perl-Devel-Symdump perl-Devel-Timer perl-Device-SerialPort perl-Digest perl-Digest-CRC perl-Digest-HMAC perl-Digest-MD4 perl-Digest-MD5 perl-Digest-MD5-File perl-Digest-Perl-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-Dir-Self perl-Directory-Queue perl-Directory-Scratch perl-Dist-CheckConflicts perl-DynaLoader-Functions perl-EV perl-Email-Abstract perl-Email-Address perl-Email-Address-XS perl-Email-Date-Format perl-Email-MIME perl-Email-MIME-ContentType perl-Email-MIME-Encodings perl-Email-MessageID perl-Email-Sender perl-Email-Simple perl-Email-Valid perl-Encode perl-Encode perl-Encode-Detect perl-Encode-EUCJPASCII perl-Encode-HanExtra perl-Encode-IMAPUTF7 perl-Encode-Locale perl-Encode-devel p�erl-Encode-devel perl-Env perl-Env-Sanctify perl-Errno perl-Error perl-Eval-Closure perl-Eval-WithLexicals perl-Event perl-Excel-Writer-XLSX perl-Exception-Base perl-Exception-Class perl-Exception-Class-TryCatch perl-Expect perl-Exporter perl-Exporter-Declare perl-Exporter-Lite perl-Exporter-Tidy perl-Exporter-Tiny perl-ExtUtils-CBuilder perl-ExtUtils-CChecker perl-ExtUtils-Command perl-ExtUtils-Config perl-ExtUtils-Depends perl-ExtUtils-Embed perl-ExtUtils-F77 perl-ExtUtils-HasCompiler perl-ExtUtils-Helpers perl-ExtUtils-Install perl-ExtUtils-InstallPaths perl-ExtUtils-MM-Utils perl-ExtUtils-MakeMaker perl-ExtUtils-MakeMaker-CPANfile perl-ExtUtils-Manifest perl-ExtUtils-Miniperl perl-ExtUtils-ParseXS perl-ExtUtils-PkgConfig perl-ExtUtils-XSBuilder perl-FCGI perl-FCGI-Client perl-FCGI-ProcManager perl-Fedora-VSP perl-Fennec-Lite perl-File-BaseDir perl-File-CheckTree perl-File-Copy-Recursive perl-File-Copy-Recursive-Reduced perl-File-DesktopEntry perl-File-Edit-Portable perl-File-FcntlLock perl-File-Fetch perl-File-Find-Iterator perl-File-Find-Object perl-File-Find-Object-Rule perl-File-Find-Rule perl-File-Find-Rule-Perl perl-File-HomeDir perl-File-KeePass perl-File-LibMagic perl-File-Listing perl-File-Map perl-File-MimeInfo perl-File-NFSLock perl-File-Next perl-File-Path perl-File-Path-Tiny perl-File-ReadBackwards perl-File-Remove perl-File-Share perl-File-ShareDir perl-File-ShareDir-Install perl-File-Slurp perl-File-Slurper perl-File-Tail perl-File-Temp perl-File-Tempdir perl-File-TreeCreate perl-File-Type perl-File-Which perl-File-chdir perl-File-pushd perl-Filesys-Df perl-Filesys-Notify-Simple perl-Filter perl-Filter-Simple perl-Finance-Quote perl-Font-AFM perl-Font-TTF perl-Font-TTF-XMLparse perl-FreezeThaw perl-Frontier-RPC perl-Frontier-RPC-Client perl-Frontier-RPC-doc perl-Fsdb perl-Function-Parameters perl-FusionInventory-Agent perl-Future perl-GD perl-GD-Barcode perl-GD-SecurityImage perl-GDGraph perl-GDTextUtil perl-GIS-Distance perl-GIS-Distance-Fast perl-GSSAPI perl-GTop perl-Geo-Distance perl-Geo-IP perl-Geography-Countries perl-Getopt-ArgvFile perl-Getopt-Long perl-Getopt-Long-Descriptive perl-Git perl-Git-SVN perl-Glib perl-Glib-Object-Introspection perl-Glib-devel perl-GnuPG-Interface perl-Graph perl-GraphViz perl-GraphViz-XML perl-Graphics-ColorNamesLite-WWW perl-Gtk3 perl-Guard perl-HTML-Element-Extended perl-HTML-Form perl-HTML-Formatter perl-HTML-Lint perl-HTML-Parser perl-HTML-Restrict perl-HTML-Scrubber perl-HTML-Selector-XPath perl-HTML-StripScripts perl-HTML-StripScripts-Parser perl-HTML-Table perl-HTML-TableExtract perl-HTML-Tagset perl-HTML-Template perl-HTML-Template-Pro perl-HTML-TokeParser-Simple perl-HTML-Tree perl-HTML-TreeBuilder-LibXML perl-HTML-TreeBuilder-XPath perl-HTTP-Body perl-HTTP-Cache-Transparent perl-HTTP-Cookies perl-HTTP-DAV perl-HTTP-Daemon perl-HTTP-Daemon-SSL perl-HTTP-Date perl-HTTP-Entity-Parser perl-HTTP-Headers-Fast perl-HTTP-Lite perl-HTTP-Message perl-HTTP-MultiPartParser perl-HTTP-Negotiate perl-HTTP-ProxyAutoConfig perl-HTTP-Request-AsCGI perl-HTTP-Response-Encoding perl-HTTP-Server-Simple perl-HTTP-Server-Simple-PSGI perl-HTTP-Tiny perl-Hash-FieldHash perl-Hash-Flatten perl-Hash-Merge perl-Hash-Merge-Simple perl-Hash-MultiValue perl-Hash-StoredIterator perl-Heap perl-Hook-LexWrap perl-IO perl-IO-AIO perl-IO-All perl-IO-Capture perl-IO-CaptureOutput perl-IO-Compress perl-IO-FDPass perl-IO-HTML perl-IO-Handle-Util perl-IO-Interactive perl-IO-Interface perl-IO-Multiplex perl-IO-Pipely perl-IO-SessionData perl-IO-Socket-INET6 perl-IO-Socket-IP perl-IO-Socket-Multicast perl-IO-Socket-SSL perl-IO-Socket-Timeout perl-IO-String perl-IO-Tee perl-IO-Tty perl-IO-Zlib perl-IO-stringy perl-IPC-Cmd perl-IPC-Run perl-IPC-Run3 perl-IPC-ShareLite perl-IPC-SharedCache perl-IPC-SysV perl-IPC-System-Simple perl-IRI perl-Ima-DBI perl-Image-Base perl-Image-ExifTool perl-Image-Info perl-Image-Size perl-Image-Xbm perl-Image-Xpm perl-Import-Into perl-Importer perl-Inline perl-Inline-C perl-Inline-Files perl-Inline-Python perl-JSON perl-JSON-Any perl-JSON-Color perl-JSON-MaybeXS perl-JS�ON-PP perl-JSON-Parse perl-JSON-RPC perl-JSON-RPC-Apache2 perl-JSON-RPC-CGI perl-JSON-RPC-Daemon perl-JSON-WebToken perl-JSON-XS perl-Jcode perl-LDAP perl-LWP-MediaTypes perl-LWP-Online perl-LWP-Protocol-PSGI perl-LWP-Protocol-http10 perl-LWP-Protocol-https perl-LWP-UserAgent-Determined perl-Lchown perl-Lexical-Persistence perl-Lexical-SealRequireHints perl-Lexical-Var perl-Lingua-EN-Inflect perl-Lingua-Preferred perl-Lingua-Translit perl-Linux-Inotify2 perl-Linux-Pid perl-List-MoreUtils perl-List-MoreUtils-XS perl-List-SomeUtils perl-Locale-Codes perl-Locale-Maketext perl-Locale-Maketext-Simple perl-Locale-US perl-Locale-gettext perl-LockFile-Simple perl-Log-Contextual perl-Log-Dispatch perl-Log-Dispatch-Array perl-Log-Dispatch-FileRotate perl-Log-Log4perl perl-Log-Log4perl-Appender-DBI perl-Log-Log4perl-Appender-RRDs perl-Log-Log4perl-Config-DOMConfigurator perl-Log-Trace perl-MCE perl-MCE-Shared perl-MCE-tools perl-MIME-Base64 perl-MIME-Charset perl-MIME-EncWords perl-MIME-Lite perl-MIME-Lite-HTML perl-MIME-Types perl-MIME-tools perl-MLDBM perl-MRO-Compat perl-Mail-Box perl-Mail-DKIM perl-Mail-IMAPClient perl-Mail-Message perl-Mail-RFC822-Address perl-Mail-SPF perl-Mail-SPF_XS perl-Mail-Sender perl-Mail-Sendmail perl-Mail-Transport perl-MailTools perl-Math-Base-Convert perl-Math-Base36 perl-Math-BigInt perl-Math-BigInt-FastCalc perl-Math-BigInt-GMP perl-Math-BigRat perl-Math-Calc-Units perl-Math-Complex perl-Math-Random-ISAAC perl-Math-Random-Secure perl-Math-Round perl-Memoize perl-Messaging-Message perl-Meta-Builder perl-MetaCPAN-Client perl-Mixin-Linewise perl-Mock-Sub perl-Modern-Perl perl-Module-Build perl-Module-Build-Deprecated perl-Module-Build-Tiny perl-Module-Build-XSUtil perl-Module-CPANTS-Analyse perl-Module-CPANfile perl-Module-Compile perl-Module-CoreList perl-Module-CoreList-tools perl-Module-Extract-Use perl-Module-ExtractUse perl-Module-Find perl-Module-Implementation perl-Module-Install perl-Module-Install-AuthorTests perl-Module-Install-ExtraTests perl-Module-Install-ReadmeFromPod perl-Module-Install-Repository perl-Module-Load perl-Module-Load-Conditional perl-Module-Load-Util perl-Module-Loaded perl-Module-Manifest perl-Module-Metadata perl-Module-Pluggable perl-Module-Refresh perl-Module-Runtime perl-Module-Runtime-Conflicts perl-Module-ScanDeps perl-Module-Signature perl-Module-Util perl-Mojolicious perl-Monitoring-Plugin perl-Moo perl-MooX perl-MooX-HandlesVia perl-MooX-Types-MooseLike perl-MooX-late perl-Moose perl-MooseX-Aliases perl-MooseX-ArrayRef perl-MooseX-AttributeHelpers perl-MooseX-ConfigFromFile perl-MooseX-Getopt perl-MooseX-NonMoose perl-MooseX-Object-Pluggable perl-MooseX-Role-Parameterized perl-MooseX-Role-WithOverloading perl-MooseX-SimpleConfig perl-MooseX-StrictConstructor perl-MooseX-Types perl-MooseX-Types-Common perl-MooseX-Types-DateTime perl-MooseX-Types-DateTime-MoreCoercions perl-MooseX-Types-JSON perl-MooseX-Types-LoadableClass perl-MooseX-Types-Path-Class perl-MooseX-Types-Path-Tiny perl-MooseX-Types-Stringlike perl-Mouse perl-MouseX-Foreign perl-MouseX-Types perl-Mozilla-CA perl-Mozilla-LDAP perl-NKF perl-NTLM perl-Nagios-Plugin perl-Net-Amazon-S3 perl-Net-BGP perl-Net-CIDR perl-Net-CIDR-Lite perl-Net-CUPS perl-Net-DNS perl-Net-Daemon perl-Net-Domain-TLD perl-Net-FTP-AutoReconnect perl-Net-FTP-RetrHandle perl-Net-Facebook-Oauth2 perl-Net-HTTP perl-Net-INET6Glue perl-Net-IP perl-Net-LibIDN perl-Net-LibIDN2 perl-Net-NBName perl-Net-Netmask perl-Net-OAuth perl-Net-OpenID-Common perl-Net-OpenID-Consumer perl-Net-OpenID-Server perl-Net-OpenSSH perl-Net-Patricia perl-Net-Pcap perl-Net-Ping perl-Net-SFTP-Foreign perl-Net-SMTP-SSL perl-Net-SMTPS perl-Net-SNMP perl-Net-SSLGlue perl-Net-SSLeay perl-Net-STOMP-Client perl-Net-Server perl-Net-Telnet perl-Net-UPnP perl-Net-XMPP perl-NetAddr-IP perl-Nmap-Parser perl-No-Worries perl-Number-Bytes-Human perl-Number-Compare perl-Number-Format perl-Number-Misc perl-OLE-Storage_Lite perl-Object-Accessor perl-Object-ID perl-Object-Realize-Later perl-Object-Remote perl-Ocsinventory-Agent perl-OpenGL perl-PAR perl-PAR-Dist perl-PAR-Pack�er perl-PCP-LogImport perl-PCP-LogSummary perl-PCP-MMV perl-PCP-PMDA perl-PDL perl-PHP-Serialization perl-POE perl-POE-Loop-Event perl-POE-Test-Loops perl-POSIX-strftime-Compiler perl-PPI perl-PPI-HTML perl-PPIx-QuoteLike perl-PPIx-Regexp perl-PPIx-Utilities perl-Package-Constants perl-Package-DeprecationManager perl-Package-Generator perl-Package-Stash perl-Package-Stash-XS perl-Package-Variant perl-PadWalker perl-Parallel-ForkManager perl-Parallel-Iterator perl-Params-Check perl-Params-Classify perl-Params-Coerce perl-Params-Util perl-Params-Validate perl-Params-ValidationCompiler perl-Parse-CPAN-Packages perl-Parse-DebControl perl-Parse-EDID perl-Parse-Gitignore perl-Parse-PMFile perl-Parse-RecDescent perl-Parse-Yapp perl-Path-Class perl-Path-Tiny perl-PathTools perl-Pegex perl-Perl-Critic perl-Perl-Critic-Pulp perl-Perl-Destruct-Level perl-Perl-MinimumVersion perl-Perl-OSType perl-Perl4-CoreLibs perl-Perl6-Caller perl-PerlIO-Layers perl-PerlIO-buffersize perl-PerlIO-gzip perl-PerlIO-utf8_strict perl-PerlIO-via-QuotedPrint perl-PerlIO-via-Timeout perl-Plack perl-Plack-Middleware-ReverseProxy perl-Pod-Checker perl-Pod-Coverage perl-Pod-Coverage-Moose perl-Pod-Coverage-TrustPod perl-Pod-Escapes perl-Pod-Eventual perl-Pod-Html perl-Pod-LaTeX perl-Pod-Markdown perl-Pod-MinimumVersion perl-Pod-POM perl-Pod-Parser perl-Pod-Perldoc perl-Pod-Plainer perl-Pod-Readme perl-Pod-Simple perl-Pod-Snippets perl-Pod-Spell perl-Pod-Strip perl-Pod-Tests perl-Pod-Usage perl-Prima perl-Prima-Test perl-Probe-Perl perl-Proc-Daemon perl-Proc-ProcessTable perl-PublicInbox perl-RDF-Query perl-RDF-Trine perl-RDF-Trine-mysql perl-RDF-Trine-postgresql perl-RDF-Trine-redis perl-RDF-Trine-sqlite perl-REST-Client perl-RPM2 perl-Razor-Agent perl-Readonly perl-Redis perl-Ref-Util perl-Ref-Util-XS perl-Regexp-Assemble perl-Regexp-Common perl-Regexp-Pattern-Perl perl-Return-Type perl-Role-Tiny perl-Router-Simple perl-SGMLSpm perl-SNMP_Session perl-SOAP-Lite perl-SOAP-WSDL perl-SOAP-WSDL-Apache perl-SOAP-WSDL-examples perl-SQL-Abstract perl-SQL-Abstract-Classic perl-SQL-Interp perl-SQL-Statement perl-SQL-Translator perl-SQL-Translator-Producer-Diagram perl-SUPER perl-Safe-Isa perl-Scalar-List-Utils perl-Scalar-Properties perl-Scalar-String perl-Scalar-Util-LooksLikeNumber perl-Schedule-Cron perl-Schedule-Cron-Events perl-Scope-Guard perl-Scope-Upper perl-Search-Xapian perl-SelfLoader perl-Sentry-Raven perl-Sereal perl-Sereal-Decoder perl-Sereal-Encoder perl-Set-Crontab perl-Set-Infinite perl-Set-Scalar perl-Shared-Examples-Net-Amazon-S3 perl-Socket perl-Socket-GetAddrInfo perl-Socket-MsgHdr perl-Socket6 perl-Software-License perl-Software-License-CCpack perl-Sort-Key perl-Sort-MergeSort perl-Sort-Naturally perl-Specio perl-Spellunker perl-Spiffy perl-Spreadsheet-ParseExcel perl-Spreadsheet-WriteExcel perl-Spreadsheet-XLSX perl-Statistics-Basic perl-Statistics-ChiSquare perl-Statistics-Descriptive perl-Storable perl-Stream-Buffered perl-String-Approx perl-String-CRC32 perl-String-Escape perl-String-Format perl-String-Random perl-String-ShellQuote perl-String-Similarity perl-String-Util perl-Sub-Exporter perl-Sub-Exporter-ForMethods perl-Sub-Exporter-Lexical perl-Sub-Exporter-Progressive perl-Sub-Identify perl-Sub-Infix perl-Sub-Info perl-Sub-Install perl-Sub-Name perl-Sub-Override perl-Sub-Quote perl-Sub-Uplevel perl-Switch perl-Symbol-Util perl-Sys-CPU perl-Sys-Guestfs perl-Sys-MemInfo perl-Sys-Mmap perl-Sys-SigAction perl-Sys-Statistics-Linux perl-Sys-Syslog perl-Sys-Virt perl-Taint-Runtime perl-Taint-Util perl-Task-Weaken perl-TeX-Hyphen perl-Template-Toolkit perl-Term-ANSIColor perl-Term-Cap perl-Term-ProgressBar perl-Term-ProgressBar-Quiet perl-Term-ProgressBar-Simple perl-Term-ReadLine-Gnu perl-Term-Shell perl-Term-ShellUI perl-Term-Size perl-Term-Table perl-TermReadKey perl-Test perl-Test-API perl-Test-Assert perl-Test-Assertions perl-Test-Base perl-Test-CPAN-Meta perl-Test-CPAN-Meta-JSON perl-Test-CheckChanges perl-Test-CheckDeps perl-Test-CheckManifest perl-Test-Class perl-Test-CleanNamespaces perl-Test-Compile perl-Test-Deep perl-Test-Dependencies perl-Test-Differences perl-Test-DistManifest perl-Test-Distribution perl-Test-EOL perl-Test-Exception perl-Test-FailWarnings perl-Test-Fake-HTTPD perl-Test-Fatal perl-Test-File-Contents perl-Test-Harness perl-Test-HasVersion perl-Test-Identity perl-Test-JSON perl-Test-Kwalitee perl-Test-LWP-UserAgent perl-Test-LeakTrace perl-Test-LongString perl-Test-Manifest perl-Test-Memory-Cycle perl-Test-MemoryGrowth perl-Test-MinimumVersion perl-Test-Mock-Guard perl-Test-MockModule perl-Test-MockObject perl-Test-MockTime perl-Test-Modern perl-Test-Mojibake perl-Test-Mojo perl-Test-Moose perl-Test-Most perl-Test-Mouse perl-Test-Name-FromLine perl-Test-Needs perl-Test-Net-LDAP perl-Test-NoTabs perl-Test-NoWarnings perl-Test-Number-Delta perl-Test-Object perl-Test-Output perl-Test-Perl-Critic perl-Test-Perl-Critic-Policy perl-Test-Pod perl-Test-Pod-Coverage perl-Test-Pod-LinkCheck perl-Test-Portability-Files perl-Test-PostgreSQL perl-Test-Prereq perl-Test-RDF-Trine-Store perl-Test-RandomResult perl-Test-Refcount perl-Test-Regexp perl-Test-Requires perl-Test-RequiresInternet perl-Test-Script perl-Test-SharedFork perl-Test-Signature perl-Test-Simple perl-Test-Spelling perl-Test-SubCalls perl-Test-Synopsis perl-Test-TCP perl-Test-Taint perl-Test-TempDir perl-Test-Time perl-Test-Toolbox perl-Test-TrailingSpace perl-Test-Trap perl-Test-TypeTiny perl-Test-Unit-Lite perl-Test-UseAllModules perl-Test-Valgrind perl-Test-Vars perl-Test-Version perl-Test-WWW-Mechanize perl-Test-WWW-Mechanize-PSGI perl-Test-Warn perl-Test-Warnings perl-Test-Without-Module perl-Test-XML perl-Test-mysqld perl-Test2-Plugin-NoWarnings perl-Test2-Suite perl-Test2-Tools-Explain perl-TestML perl-Text-ASCIITable perl-Text-Aligner perl-Text-Autoformat perl-Text-Balanced perl-Text-CSV perl-Text-CSV_XS perl-Text-CharWidth perl-Text-Diff perl-Text-Format perl-Text-Fuzzy perl-Text-Glob perl-Text-Iconv perl-Text-Levenshtein-Damerau-XS perl-Text-ParseWords perl-Text-RecordParser perl-Text-Reform perl-Text-Soundex perl-Text-Table perl-Text-Tabs+Wrap perl-Text-TabularDisplay perl-Text-Template perl-Text-Unidecode perl-Text-WrapI18N perl-Thread-Queue perl-Throwable perl-Tie-Cache perl-Tie-Hash-Method perl-Tie-IxHash perl-Time-Duration perl-Time-Duration-Parse perl-Time-Fake perl-Time-HiRes perl-Time-Local perl-Time-Moment perl-Time-Out perl-Time-ParseDate perl-Time-Piece perl-Time-Piece-MySQL perl-Time-y2038 perl-TimeDate perl-Tk perl-Tk-TableMatrix perl-Try-Tiny perl-Type-Tie perl-Type-Tiny perl-Types-DateTime perl-Types-Path-Tiny perl-Types-Serialiser perl-Types-URI perl-Types-UUID perl-UNIVERSAL-can perl-UNIVERSAL-isa perl-UNIVERSAL-moniker perl-UNIVERSAL-ref perl-UNIVERSAL-require perl-URI perl-URI-Encode perl-URI-Find perl-URI-FromHash perl-URI-cpan perl-URL-Encode-XS perl-UUID-Tiny perl-Unicode-CheckUTF8 perl-Unicode-Collate perl-Unicode-EastAsianWidth perl-Unicode-LineBreak perl-Unicode-Map perl-Unicode-Map8 perl-Unicode-MapUTF8 perl-Unicode-Normalize perl-Unicode-String perl-Unicode-UTF8 perl-Unix-Syslog perl-User-Identity perl-VM-EC2 perl-VM-EC2-Security-CredentialCache perl-Validation-Class perl-Variable-Magic perl-WWW-Curl perl-WWW-Form-UrlEncoded perl-WWW-Mechanize perl-WWW-Pastebin-PastebinCom-Create perl-WWW-RobotRules perl-WWW-Twilio-API perl-WWW-Twilio-TwiML perl-Want perl-Web-ID perl-Web-Scraper perl-X10 perl-X11-Protocol perl-X11-Protocol-Other perl-X2Go-Log perl-X2Go-Server perl-X2Go-Server-DB perl-XML-Catalog perl-XML-CommonNS perl-XML-DOM perl-XML-Dumper perl-XML-Entities perl-XML-Filter-BufferText perl-XML-Generator perl-XML-Hash-LX perl-XML-LibXML perl-XML-LibXSLT perl-XML-Namespace perl-XML-NamespaceFactory perl-XML-NamespaceSupport perl-XML-Parser perl-XML-Parser-Lite perl-XML-RSS perl-XML-RegExp perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Writer perl-XML-SemanticDiff perl-XML-Simple perl-XML-Stream perl-XML-TokeParser perl-XML-TreeBuilder perl-XML-TreePP perl-XML-Twig perl-XML-Writer perl-XML-XPath perl-XML-XPathEngine perl-XMLRPC-Lite perl-XString perl-XXX perl-YAML perl-YAML-LibYAML perl-YAML-PP perl-YAML-Syck perl-YAML-Tiny perl-ZMQ-Constants
u�c$�����	v}V)	]	F	1	�U������{fK5!��������pV?!	�������c��������zlZE,�<=��������v^lO<'
�
�
�
�
�
�
r
`
P
A
({�
���^j��jG1�����~e�N4=
�
�
�
�
�

]
F
"	�	�	�	�	�A������qW<#
����u1%perl-IO-Zlib
�
)perl-HTTP-Tiny�;perl-HTTP-Server-SimpleV Cperl-HTTP-Response-EncodingU;perl-HTTP-Request-AsCGIT?perl-HTTP-ProxyAutoConfigS3perl-HTTP-Negotiate	�3perl-HTTP-Negotiate� Cperl-Locale-Maketext-Simple
;perl-LWP-Protocol-https
3perl-LWP-MediaTypes	�%perl-IPC-CmdL+perl-IO-stringy�%perl-IO-Zlibg#perl-IO-Tty}3perl-List-SomeUtils	'perl-Inline-C�)perl-HTTP-Tiny3perl-Image-ExifTool�)perl-HTTP-Tiny�;perl-LWP-Protocol-https
�3perl-LWP-MediaTypes
�1perl-IO-Socket-SSL
�%perl-IO-HTML
�3perl-HTTP-Negotiate
�3perl-IO-Interactive�%perl-IO-Zlib�perl-IO� Cperl-Locale-Maketext-Simple�3perl-Image-ExifTool�/perl-Hash-OrderedQ1perl-Inline-PythonE'perl-Inline-CD3perl-Image-ExifToolC#perl-IO-Teek)perl-IO-String�9perl-IO-Socket-Timeoutj1perl-IO-Socket-SSL	�1perl-IO-Socket-SSL�=perl-IO-Socket-Multicasti/perl-IO-Socket-IP�5perl-IO-Socket-INET6�3perl-IO-SessionDatah)perl-IO-Pipelyg/perl-IO-Multiplex�/perl-IO-Interfacef3perl-IO-Interactivee3perl-IO-Handle-Utild%perl-IO-HTML	�%perl-IO-HTML�)perl-IO-FDPassc-perl-IO-Compressf7perl-IO-CaptureOutputb+perl-IO-Capturea#perl-IO-All|#perl-IO-AIO`perl-IO
�perl-IO/perl-Hook-LexWrap_perl-Heap^=perl-Hash-StoredIterator]5perl-Hash-MultiValue\9perl-Hash-Merge-Simple[+perl-Hash-MergeZ/perl-Hash-FlattenY3perl-Hash-FieldHashX!Eperl-HTTP-Server-Simple-PSGIW+perl-MCE-Shared�
perl-MCE�)perl-Log-Trace�-]perl-Log-Log4perl-Config-DOMConfigurator�$Kperl-Log-Log4perl-Appender-RRDs�#Iperl-Log-Log4perl-Appender-DBI�/perl-Log-Log4perl�!Eperl-Log-Dispatch-FileRotate�;perl-Log-Dispatch-Array�/perl-Log-Dispatch�3perl-Log-Contextual�5perl-LockFile-Simple�3perl-Locale-gettext�)perl-Locale-US� Cperl-Locale-Maketext-SimpleN5perl-Locale-MaketextM/perl-Locale-Codes�3perl-List-SomeUtils�9perl-List-MoreUtils-XS�3perl-List-MoreUtils�)perl-Linux-Pid�3perl-Linux-Inotify2�5perl-Lingua-Translit�7perl-Lingua-Preferred�9perl-Lingua-EN-Inflect�-perl-Lexical-Var�"Gperl-Lexical-SealRequireHints�=perl-Lexical-Persistence�#perl-Lchown�"Gperl-LWP-UserAgent-Determined�;perl-LWP-Protocol-https�=perl-LWP-Protocol-http10�9perl-LWP-Protocol-PSGI�+perl-LWP-Online�3perl-LWP-MediaTypes�perl-LDAP�!perl-Jcode%perl-JSON-XS�1perl-JSON-WebToken~5perl-JSON-RPC-Daemon}/perl-JSON-RPC-CGI|7perl-JSON-RPC-Apache2{'perl-JSON-RPCz+perl-JSON-Parsey%perl-JSON-PP7/perl-JSON-MaybeXSx+perl-JSON-Colorw'perl-JSON-Anyvperl-JSON�1perl-Inline-Pythonu/perl-Inline-Filest'perl-Inline-Cs#perl-Inliner'perl-Importer�-perl-Import-Into�)perl-Image-Xpm�)perl-Image-Xbm�+perl-Image-Sizeq+perl-Image-Info�3perl-Image-ExifToolp+perl-Image-Base�%perl-Ima-DBIo
perl-IRIn9perl-IPC-System-Simple�'perl-IPC-SysV�5perl-IPC-SharedCachem1perl-IPC-ShareLitel'perl-IPC-Run3%perl-IPC-Run~
	xx@	p	h	`	X	P	H	@	8	0	(	 			
�
�
�	����������������xph`XPH@80( ����������������xph@80( ����������������xph`XP
8H@80( ����������������x
xph`XPH@80( �
��
��
��������������xph`XPH@������������
��pHhP`
XX�PH
�@8@0
 (
 	�
�����
0�
(�
�
�
�
P�������xph0`	�XPH@808(0 ( 
�
�
��
��
��
�
�
��
�
H
�
@
�
�
�
�(
� 
�
x
p
h
`
X
P`X
H

@

8�
0�
(
 

	���0�
p�
h�
`�������������x�p�h�`�X�PxHp@h8`�XPH
�
��
�
�
�
�
�( �����������
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x=~<};|:{9z8y7x6w5v4u3t2s1r0q/p.o-n,m+l*k)j(i'h&g%f$e#d"c!b a`_^]\[ZYXWVUTSRQPO
NML
K	JIHGFEDCBA�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� ���	��	��	��	��	��	��	��	��	��	��	��	��	��	����	��
�
�	~�
�
�	|�
�
������v�u�t�s�R�K!L�
��
������������������
���
�	���������������������������������������������������������������������������������8pm���Wa�`�_�T�S�^O]������b�M��U�T�SOP��	��	�I	���(	���'	���&	��	����	����	�Y
��
�h
xO
j�������	��P�
*�	�~x}v�r|p�
��	��
��	��
��	��
��	��
��	����	����	���l	��������~�|�z�x�v�t�r�N	�x���	z�	y�	x�	w�	v�	u�	t�	s�	r�	q�	p�	o�	n�	m�	l�	k�	j�	i�	h�	g�	f�	e�	d�	c�	b�	a�	`�	_�	^�	]�	\�	[�	Z�	Y	X~	W}	V|	U{	Tz	Sy	Rx	Qw	Ov	Lu	Kt	Hs	Gr	Fq	Ep	Do	Cn	Bm	Al	@k	?j	>i	=h	<g	;f	:e	9d	8c	7b	6a	5`	4_	3^	2]	1\	0[	.Z	-Y	,X	+W	*V	)U	(T	'S	&R	%Q	$P	#O	"N	!M	 L	K	���J�I�H�G�F�E�D�C�B�A�@�?�>
��
�
vu�M
�
~
5	�	�	M�a�^�`�X�V�P�F�c�cZW�g

C
c��?2037:8a5cfa69c6dde9d667576cc3c2755401f68c2b09upgrade --refresh rpm glibcI�g

'
c���2037:8a5cfa69c6dde9d667576cc3c2755401f68c2b09install cmakeI�
g

'
c���2037:8a5cfa69c6dde9d667576cc3c2755401f68c2b09install cmake��	ggW	
c�� c��Z2024:22d6d6e7d0472e1c1d3560a5daa1dafdeadf1a382037:8a5cfa69c6dde9d667576cc3c2755401f68c2b098install libXpm.i686 libXpm-devel.i686{�gg'	
c��c��2023:ef0ee5afdd39ae4df9b7cc757f9ead4e3fc4d6772024:22d6d6e7d0472e1c1d3560a5daa1dafdeadf1a388install ctags��ggA	
c�Jc�J	2022:2eb2a195fc02213f96e50437979ddd9834e1cf182023:ef0ee5afdd39ae4df9b7cc757f9ead4e3fc4d6778install libtool-ltdl-devel��gg9	
c�B�c�B�2020:21ab3317b2cce9d79ee838f9666912ae0232fb2b2022:2eb2a195fc02213f96e50437979ddd9834e1cf188install libmhash-devel{�gg'	
cv.cv32019:f57ad9c2ac9dbe8bde73aa97421095a4f8c4d3f42020:21ab3317b2cce9d79ee838f9666912ae0232fb2b8install bison�gg/	
c~gc~z2016:aa5f7c2eadc47aae11c649b8c68bbdcd7aa869162019:f57ad9c2ac9dbe8bde73aa97421095a4f8c4d3f48install yum-utils}�gg+	
c}�c}�2015:419489ea45fb6423cd26547d15db30f7baa209292016:aa5f7c2eadc47aae11c649b8c68bbdcd7aa869168install libtool~�gg-	
c}�c}�2014:7eead89926429d661bda2be48875cdbee97175502015:419489ea45fb6423cd26547d15db30f7baa209298install automake��gg7	
c}�c}�2014:c1fe8c40a3d24f4fe29ef4cf9c83151632fa92bc2014:7eead89926429d661bda2be48875cdbee97175508install openssl-devel|�gg)	
c|�Mc|�P2013:bc11ab873159b61912d9f6f029b6b797c3f3f9502014:c1fe8c40a3d24f4fe29ef4cf9c83151632fa92bc8install strace}gg+	
c�c�2008:e3dc551041768810cf5a996d7d934f5d3dd971322013:bc11ab873159b61912d9f6f029b6b797c3f3f9508install zsh vim�~gg3	
b��ib��m2005:5c186c24c961e8433da3f39eeb279d4e4f4282dd2008:e3dc551041768810cf5a996d7d934f5d3dd971328install mysql-devel}}gg+	
b��'b��,2003:026e9c3274059d7f6ac8e78bc69de384939dcb9a2005:5c186c24c961e8433da3f39eeb279d4e4f4282dd8install uw-imapt|gg	
b�&b��2003:fcbe614cbb1fd3ebddce42338427a2579d00a10c2003:026e9c3274059d7f6ac8e78bc69de384939dcb9a8updatet{gg	
bF�dbF�z2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d4852003:fcbe614cbb1fd3ebddce42338427a2579d00a10c8updateBzg


bF��2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d485updatePyg

5
bF��2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d485install epel-releasePxg

5
bF��2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d485install epel-releaseGwg

#
b9�62003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d485install vimWvg

C
b9��2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d485install autoconf2.7x.noarchtugg	
b3<�b3=�2000:47d652ea4b3a352813f1c18c3f5aea3a672245fc2003:6d84e2bfa31c689ed7fb10a4c8b2943732a7d4858update|tgg)	
b��b��1999:ba9783e63204fd3c817196e767138bacd5aeed6a2000:47d652ea4b3a352813f1c18c3f5aea3a672245fc8install libnsl�'sgg	
b�'b�(2000:d14700d7afb186d53320f6a2107e4bae0a8bd0a41999:ba9783e63204fd3c817196e767138bacd5aeed6a8remove oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64�~rgg�+	
b�.b�22003:a01d2692118cc66643cbc5dccabeb88381844ec71999:ba9783e63204fd3c817196e767138bacd5aeed6a8remove oracle-instantclient-basic.x86_64 oracle-instantclient-devel.x86_64 oracle-instantclient-jdbc.x86_64 oracle-instantclient-sqlplus.x86_64�qgg=	
b��b��2002:076690adb89b53b1dff87fcf961276e13dcb333a2003:a01d2692118cc66643cbc5dccabeb88381844ec78install openldap-clients�pgg]	
b�Nb�P1999:bfb522dfbb1d7b9ee7638f71749cba5ae8e302522002:076690adb89b53b1dff87fcf961276e13dcb333a8install argon2 libargon2 libargon2-devel�eogg�y	
b�]b�n1995:668daf2c58e66efd6cb2669893c0290455422eab1999:bfb522dfbb1d7b9ee7638f71749cba5ae8e302528localinstall oracle-instantclient-basic-21.5.0.0.0-1.el8.x86_64.rpm oracle-instantclient-devel-21.5.0.0.0-1.el8.x86_64.rpm oracle-instantclient-jdbc-21.5.0.0.0-1.el8.x86_64.rpm oracle-instantclient-sqlplus-21.5.0.0.0-1.el8.x86_64.rpm --nogpgcheck
	�P�	�	�	���	r	N	-	���
��
tJ 
�X��
A���
��j
^H!����cA �����rO* 
�_<�p��
��/�iG���5��>���p
�
g*'libtiff-devel4.0.932.*'libtiff-devel4.0.932.el8_10x86_64s$libtiff4.0.932.el8_10x86_64r('libuuid-devel2.32.146.el8x86_64''libtiff-devel4.0.931.el8x86_64R!libtiff4.0.931.el8x86_64Q('libuuid-devel2.32.143.el8x86_64u#libtevent0.13.01.el8x86_64NAMlibvirt-daemon-driver-qemu6.0.037.1.module+el8.5.0+732+d204e9f7x86_64eRIMlibvirt-daemon-driver-nwfilter6.0.037.1.module+el8.5.0+732+d204e9f7x86_64dQGMlibvirt-daemon-driver-nodedev6.0.037.1.module+el8.5.0+732+d204e9f7x86_64cQGMlibvirt-daemon-driver-network6.0.037.1.module+el8.5.0+732+d204e9f7x86_64bSKMlibvirt-daemon-driver-interface6.0.037.1.module+el8.5.0+732+d204e9f7x86_64aB)Mlibvirt-daemon6.0.037.1.module+el8.5.0+732+d204e9f7x86_64`*/libverto-libevent0.3.05.el8x86_64,')libverto-devel0.3.22.el8x86_64
�')libverto-devel0.3.05.el8x86_64(!libverto0.3.22.el8x86_64
�!libverto0.3.05.el8x86_64�!	libuv1.41.11.el8_4x86_64_*'libuuid-devel2.32.139.el8_7x86_64
�('libuuid-devel2.32.138.el8x86_64	@('libuuid-devel2.32.128.el8x86_64�$libuuid2.32.139.el8_7x86_64
�"libuuid2.32.139.el8_7i686
�"libuuid2.32.138.el8x86_64	? libuuid2.32.138.el8i686	4"libuuid2.32.128.el8x86_64�%#libutempter1.1.614.el8x86_64� libuser0.6224.el8x86_64
� libuser0.6223.el8x86_64�!libusbx1.0.234.el8x86_64� 	libusb0.1.512.el8x86_64+"libusal1.1.1139.el8x86_64^%%libunistring0.9.93.el8x86_64�&'libtraceevent1.5.31.el8x86_64�,1libtool-ltdl-devel2.4.625.el8x86_64	&&%libtool-ltdl2.4.625.el8x86_64�!libtool2.4.625.el8x86_64	#!libtommath1.1.01.el8x86_64�%#libtomcrypt1.18.25.el8x86_64�')libtirpc-devel1.1.48.el8x86_64	R!libtirpc1.1.48.el8x86_64	T!libtirpc1.1.45.el8x86_64�)'libtiff-devel4.0.928.el8_8x86_64�)'libtiff-devel4.0.926.el8_7x86_64	�''libtiff-devel4.0.920.el8x86_64t#libtiff4.0.928.el8_8x86_64�#libtiff4.0.926.el8_7x86_64	�!libtiff4.0.920.el8x86_64�&'libtidy-devel5.6.05.el8x86_64d libtidy5.6.05.el8x86_64c#	libtheora1.1.121.el8x86_64]!libthai0.1.272.el8x86_64�#libtevent0.12.00.el8x86_64
�#libtevent0.11.00.el8x86_64�libteam1.312.el8x86_64��+)libtirpc-devel1.1.412.el8_10x86_64�%libtirpc1.1.412.el8_10x86_64�WSMlibvirt-daemon-driver-storage-iscsi6.0.037.1.module+el8.5.0+732+d204e9f7x86_64kYWMlibvirt-daemon-driver-storage-gluster6.0.037.1.module+el8.5.0+732+d204e9f7x86_64jVQMlibvirt-daemon-driver-storage-disk6.0.037.1.module+el8.5.0+732+d204e9f7x86_64iVQMlibvirt-daemon-driver-storage-core6.0.037.1.module+el8.5.0+732+d204e9f7x86_64hQGMlibvirt-daemon-driver-storage6.0.037.1.module+el8.5.0+732+d204e9f7x86_64g"	libuv1.41.12.el8_10x86_64t"libuuid2.32.143.el8x86_64t libuuid2.32.143.el8i686s#libtevent0.14.13.el8x86_64rC�#!libtommath1.1.04.el8x86_64
8)'libtiff-devel4.0.929.el8_8x86_64�#libtiff4.0.929.el8_8x86_64�*'libuuid-devel2.32.142.el8_8x86_64�$libuuid2.32.142.el8_8x86_64�"libuuid2.32.142.el8_8i686�$-"libuuid2.32.146.el8x86_64 libuuid2.32.146.el8i686()libtirpc-devel1.1.411.el8x86_64"libtirpc1.1.411.el8x86_64#libtevent0.16.00.el8x86_64jPEMlibvirt-daemon-driver-secret6.0.037.1.module+el8.5.0+732+d204e9f7x86_64f libuser0.6225.el8x86_64�
U�
�^
]
3
		�	�	�	R0	'���p@���S#�
����Ac/����xr�L#����Y0K���c6���n;����o��t:���W)
�
�
�
�
X
)�5=python3-setuptools-wheel39.2.08.el8_10noarch�,+python3.11-libs3.11.92.el8_10x86_64~-#)python3-pip9.0.324.el8.rocky.0noarch~+/python3-slip-dbus0.6.413.el8noarch
�+/python3-slip-dbus0.6.411.el8noarch'&%python3-slip0.6.413.el8noarch
�&%python3-slip0.6.411.el8noarch&%#python3-six1.11.08.el8noarch%2=python3-setuptools-wheel39.2.07.el8noarch�6=python3-setuptools-wheel39.2.06.el8_7.1noarch
�2=python3-setuptools-wheel39.2.06.el8noarch$,1python3-setuptools39.2.07.el8noarch�01python3-setuptools39.2.06.el8_7.1noarch
�,1python3-setuptools39.2.06.el8noarch	i(+python3-setools4.3.05.el8x86_64�(+python3-setools4.3.03.el8x86_64	�(1python3-rpm-macros345.el8noarch(1python3-rpm-macros343.el8noarch
%(1python3-rpm-macros341.el8noarch�(#python3-rpm4.14.328.el8_9x86_64�&#python3-rpm4.14.326.el8x86_64�(#python3-rpm4.14.324.el8_7x86_64	F*#!python3-rpm4.14.319.el8_5.2x86_64r&#python3-rpm4.14.319.el8x86_64#')python3-pyyaml3.1212.el8x86_64<()python3-pyudev0.21.07.el8noarch"+/python3-pyparsing2.1.107.el8noarch?/;python3-policycoreutils2.924.el8noarch�/;python3-policycoreutils2.920.el8noarch	�"#python3-ply3.99.el8noarch	f3/)python3-pip-wheel9.0.323.el8.rocky.0noarch�3/)python3-pip-wheel9.0.322.el8.rocky.0noarch
�3/)python3-pip-wheel9.0.320.el8.rocky.0noarch!-#)python3-pip9.0.323.el8.rocky.0noarch
�-#)python3-pip9.0.322.el8.rocky.0noarch	g/%)python3-perf4.18.0513.18.1.el8_9x86_64�/%)python3-perf4.18.0513.11.1.el8_9x86_64�/%)python3-perf4.18.0477.27.1.el8_8x86_64
)/%)python3-perf4.18.0477.21.1.el8_8x86_64�/%)python3-perf4.18.0425.19.2.el8_7x86_64z/%)python3-perf4.18.0425.13.1.el8_7x86_64
�,%#python3-perf4.18.0348.el8.0.2x86_64 /%)python3-perf4.18.0348.23.1.el8_5x86_64�/%)python3-perf4.18.0348.20.1.el8_5x86_64�/%)python3-perf4.18.0348.12.2.el8_5x86_64q+-	python3-nftables1.0.43.el8_9x86_64�*-	python3-nftables0.9.326.el8x86_64
�*-	python3-nftables0.9.321.el8x86_64-5python3-linux-procfs0.7.11.el8noarch�-5python3-linux-procfs0.7.01.el8noarch
�-5python3-linux-procfs0.6.31.el8noarch,3python3-libsemanage2.99.el8_6x86_64	�)1python3-libselinux2.98.el8x86_64�)1python3-libselinux2.96.el8x86_64
�)1python3-libselinux2.95.el8x86_642%1python3-libs3.6.856.el8_9.3.rocky.0x86_64�0%+python3-perf4.18.0553.16.1.el8_10x86_64�'!python3.113.11.92.el8_10x86_64}71+python3-syspurpose1.28.421.el8.rocky.0.2x86_64*&#python3-rpm4.14.331.el8x86_64)/;python3-policycoreutils2.925.el8noarch(3/)python3-pip-wheel9.0.324.el8.rocky.0noarch'/%)python3-perf4.18.0553.5.1.el8_10x86_64&)-	python3-nftables1.0.44.el8x86_64%-5python3-linux-procfs0.7.31.el8noarch$1%/python3-libs3.6.862.el8_10.rocky.0x86_64#/1python3-setuptools39.2.08.el8_10noarch�2;python3-policycoreutils2.926.el8_10noarch�5Cpython3.11-setuptools-wheel65.5.12.el8noarch
q.5python3.11-pip-wheel22.3.15.el8noarch�.5python3.11-pip-wheel22.3.14.el8noarch
p)+python3.11-libs3.11.71.el8x86_64�++python3.11-libs3.11.51.el8_9x86_64
o$!python3.113.11.71.el8x86_64�&!python3.113.11.51.el8_9x86_64
n-+python3-unbound1.16.25.el8_9.6x86_64-+python3-unbound1.16.25.el8_9.2x86_64�)+python3-unbound1.16.25.el8x86_64)+python3-unbound1.16.22.el8x86_64	&+python3-systemd2348.el8x86_64�91/python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64�91/python3-syspurpose1.28.363.el8_8.rocky.0.1x86_64�-1python3-syspurpose1.28.321.el8x86_64
�/1python3-syspurpose1.28.215.el8_5x86_64�-1python3-syspurpose1.28.213.el8x86_64(
M��y9���T
�
�
�
r
L
���\&���L
�
�
s
9
	�	�	f	/	��}M���nC���W%���vB��U.���c2���G	�:��B�s)G�mariadb-server10.3.322.module+el8.5.0+777+18007c86x86_64I�r7G�mariadb-gssapi-server10.3.322.module+el8.5.0+777+18007c86x86_64B�q)G�mariadb-errmsg10.3.322.module+el8.5.0+777+18007c86x86_64B�p)G�mariadb-common10.3.322.module+el8.5.0+777+18007c86x86_64B�o)G�mariadb-backup10.3.322.module+el8.5.0+777+18007c86x86_64;�nG�mariadb10.3.322.module+el8.5.0+777+18007c86x86_64>�mC	'�java-1.8.0-openjdk-headless1.8.0.332.b091.el8_5x86_64;�l=	'�java-1.8.0-openjdk-devel1.8.0.332.b091.el8_5x86_645�k1	'�java-1.8.0-openjdk1.8.0.332.b091.el8_5x86_641�j))�kernel-modules4.18.0348.23.1.el8_5x86_64.�i#)�kernel-core4.18.0348.23.1.el8_5x86_64)�h)�kernel4.18.0348.23.1.el8_5x86_64�g�tzdata2022a1.el8noarch(�f%	�openssl-libs1.1.1k6.el8_5x86_64)�e'	�openssl-devel1.1.1k6.el8_5x86_64#�d	�openssl1.1.1k6.el8_5x86_64$�c#�tzdata-java2022a1.el8noarch@�b#M�httpd-tools2.4.3743.module+el8.5.0+747+83fae388.3x86_64E�a-M�httpd-filesystem2.4.3743.module+el8.5.0+747+83fae388.3noarch:�`M�httpd2.4.3743.module+el8.5.0+747+83fae388.3x86_64"�_%�epel-release815.el8noarch1�^)#�vim-filesystem8.0.176316.el8_5.12noarch/�]%#�vim-enhanced8.0.176316.el8_5.12x86_64-�\!#�vim-common8.0.176316.el8_5.12x86_64#�[�gpm-libs1.20.717.el8x86_64$�Z%�autoconf2.7x2.711.el8noarch/�Y/�x2goserver-common4.1.0.317.el8.1noarch1�X3�perl-X2Go-Server-DB4.1.0.317.el8.1x86_64.�W-�perl-X2Go-Server4.1.0.317.el8.1noarch+�V'�perl-X2Go-Log4.1.0.317.el8.1noarch%�U'�perl-Inline-C0.821.el8noarch.�T##�vim-minimal8.0.176316.el8_5.12x86_64(�S%!�systemd-udev23951.el8_5.5x86_64'�R#!�systemd-pam23951.el8_5.5x86_64(�Q%!�systemd-libs23951.el8_5.5x86_64#�P!�systemd23951.el8_5.5x86_64/�O1�python3-syspurpose1.28.215.el8_5x86_64/�N%)�python3-perf4.18.0348.20.1.el8_5x86_64-�M-�python3-firewall0.9.37.el8_5.1noarch:�L)7�linux-firmware20210702104.gitd79c2677.el8_5noarch#�K�libxml22.9.712.el8_5x86_64$�J#�libnsl2.28164.el8_5.3x86_64%�I!�libarchive3.3.33.el8_5x86_644�H/)�kernel-tools-libs4.18.0348.20.1.el8_5x86_64/�G%)�kernel-tools4.18.0348.20.1.el8_5x86_641�F))�kernel-headers4.18.0348.20.1.el8_5x86_644�E-	!#�iwl7260-firmware25.30.13.0104.el8_5.1noarch3�D-#�iwl6050-firmware41.28.5.1104.el8_5.1noarch7�C3!#�iwl6000g2a-firmware18.168.6.1104.el8_5.1noarch3�B-#�iwl6000-firmware9.221.4.1104.el8_5.1noarch2�A-#�iwl5150-firmware8.24.2.2104.el8_5.1noarch4�@-!#�iwl5000-firmware8.83.5.1_1104.el8_5.1noarch4�?-	!#�iwl3160-firmware25.30.13.0104.el8_5.1noarch4�>-!#�iwl2030-firmware18.168.6.1104.el8_5.1noarch4�=-!#�iwl2000-firmware18.168.6.1104.el8_5.1noarch3�<+!#�iwl135-firmware18.168.6.1104.el8_5.1noarch3�;+!#�iwl105-firmware18.168.6.1104.el8_5.1noarch3�:-	#�iwl1000-firmware39.31.5.1104.el8_5.1noarch2�9+#�iwl100-firmware39.31.5.1104.el8_5.1noarch+�8'#�glibc-headers2.28164.el8_5.3x86_64)�7##�glibc-devel2.28164.el8_5.3x86_64*�6%#�glibc-common2.28164.el8_5.3x86_641�53#�glibc-all-langpacks2.28164.el8_5.3x86_64#�4#�glibc2.28164.el8_5.3x86_641�35�firewalld-filesystem0.9.37.el8_5.1noarch&�2�firewalld0.9.37.el8_5.1noarch(�1#�expat-devel2.2.54.el8_5.3x86_64"�0�expat2.2.54.el8_5.3x86_642�/1�device-mapper-libs1.02.17711.el8_5x86_64-�.'�device-mapper1.02.17711.el8_5x86_64*�-)�cyrus-sasl-lib2.1.276.el8_5x86_64-�,/�cyrus-sasl-gssapi2.1.276.el8_5x86_64,�+-�cyrus-sasl-devel2.1.276.el8_5x86_64&�*!�cyrus-sasl2.1.276.el8_5x86_64=�)K�rubygems2.7.6.3109.module+el8.5.0+740+b85cbe0dnoarchA�(%K�rubygem-rdoc6.0.1.1109.module+el8.5.0+740+b85cbe0dnoarch@�''K�rubygem-psych3.0.2109.module+el8.5.0+740+b85cbe0dx86_64
7��t.��\
�
�
D��r,��Y
�
�
=	�	�	h	!��L�w0��[�l�V��w@	��<��j#��D�&	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�%	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�$	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�#	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�"	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryA�!	�udracut: Turning off host-only mode: '/dev' is not mounted!A� 	�udracut: Turning off host-only mode: '/run' is not mounted!B�	�udracut: Turning off host-only mode: '/proc' is not mounted!A�	�udracut: Turning off host-only mode: '/sys' is not mounted!4�	iugrep: /proc/cpuinfo: No such file or directory4�	iugrep: /proc/cpuinfo: No such file or directory4�	iugrep: /proc/cpuinfo: No such file or directory4�	iugrep: /proc/cpuinfo: No such file or directoryn�	�[udracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.d�	�Gulibkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryD�	�udracut: No '/dev/log' or 'logger' included for syslog logginge�	�Iu/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directory^�	�;ugrub2-editenv: error: cannot open `/boot/grub2/grubenv.new': No such file or directory.D�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�		�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD~	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD}	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD|	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD{	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDz	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDy	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDx	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDw	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDv	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDu	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDt	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDs	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDr	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDq	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryDp	�u/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��r+��V
�
�
:��e��h!
�
�
L
	�	w	0��[��?��j#��N�y2��]��A��l%��D�]	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�\	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�[	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�X	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�W	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�V	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�U	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�T	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�S	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�R	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�P	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�O	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�N	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�M	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�L	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�K	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�J	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�I	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�H	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�G	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�F	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�E	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�D	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�C	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�B	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�A	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�@	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�?	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�>	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�=	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�<	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�;	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�:	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�9	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�8	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�7	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�6	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�5	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryl�4	�Wu/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryD�3	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�2	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�1	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�0	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�/	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�.	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�-	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�,	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�+	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�*	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�)	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�(	�u/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�'	�u/bin/sed: can't read /proc/cpuinfo: No such file or directory
���������~n]L<,��������zjZJ9(	
�
�
�
�
�
�
�
�
t
c
R
B
2
"

�������o^M=-��������yiXG7'
�
�
�
�
�
�
�
�
p
`
P
@
1
!

	�	�	�	�	�	�	�	�	s	a	O	>	-		��������q`P?.��������r`O?.��������zjYH8'�������}l[J9(�������ziYI8(�������}l[J9(�������ziXG6%����
�b			�	F
�a			�	E�`		�	D�_	�|�^	�	N�]		�{�\		�	M�[		�z�Z		�	L�Y		���X		�	K�W		�y�V		�	J�U	�x�T	�	I�S		�t�R		�	H�Q		���P		�	G�O�|�N�	N�M	�{�L	�	M�K	�z�J	�	L�I	���H	�	K�G	�y�F	�	J�E�x�D�	I�C	�t�B	�	H�A	���@	�	G
�?		�	F
�>		�	E�=	�	D
�<		�	F
�;		�	E�:	�	D�9	�Q�8	�	C�7		���6		�	B�5		���4		�	A�3		���2		�	@�1	���0	�	?�/		���.		�	>�-		���,		�	=�+		���*		�	<�)		���(		�	;�'		���&		�	:�%		���$		�	9�#		���"		�	8�!		��� 		�	7
�			�	6�		�	5�		�	4
�			�	3
�			�	2
�			�	1�		�	0�		�	/
�			�	.
�			�	-
�			�	,
�			�	+
�			�	*�		�	)�		�	(�		�	'
�			�	&�		�	%�
	�X�	�	$�		��
		�	#�			��		�	"�		�r�		�	!�		��		�	 �		���		�	�		���		�	
�		�y�~		�	�}	�c�|	�	
�{		�,�z		�	�y	�+�x	�	�w		�	
�v			�	�u		�	�t		�	�s		�	�r		���q		�	�p	���o	�	�n		���m		�	�l		�	
�k			�j				
�i			�h				
�g			��f			~	
�e		~	�d			~	

�c		}		�b			}	
�a	|
�`	|~
�_	|}�^	|k�]	|��\	|	�[	|$�Z	|	�Y	|��X	|	
�W		|�
�V		|	
�U		|/
�T		|	
�S		|Y
�R		|	�Q	|��P	|	
�O		|�
�N		|	
�M		|q
�L		|�
�K		|p
�J		|��I	|��H	|�
�G		|�
�F		|��E	|��D	|�
�C		|�
�B		|��A	|��@	|�
�?		|�
�>		|��=		|Z
�<		|��;	|��:	|�
�9		|�
�8		|��7	|��6	|�
�5		|
�4		|�
�3		|~
�2		|��1	|}�0	|�
�/		||
�.		|��-	|��,	|��+	|��*	|��)	|��(	|��'			|��&			|�
�%		|��$	{��#	{�
�"		{P
�!		{�
� 		{o
�		{��	{+�	{�
�		{n
�		{�
�		{�
�		{�
�		{�
�		{�
�		{�
�		{�
�		{�
�		{��z��z�
�	zP
�	z�
�	zo
�
	z��z+�z�
�
	zn
�		z�
�	z�
|��xqjc\UNG@92+$������������������|ung`YRKD=6/(!������������������{tmf_XQJC<5.' ������������������xqjc\UNG@92+$
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
|
u
n
g
`
Y
R
K
D
=
6
/
(
!



�������������������yrkd]VOHA:3,%	������������������}ume]UME=5-%

�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
}
u
m
e
]
U
M
E
=
5
-
%



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	}	u	m	e	]	U	M	E	=	5	-	%			
	����������������}ume]UME=5-%
����������������}ume]UME=5-%
�������������������������������}ume]UME=5-%
����������������}um��
u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	��	����������
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
�
~�
}�
|�
{�
z�
y�
x�
w�
v�
u�
t�
s�
r�
q�
p�
o�
n�
m�
l
k
j
i
h
g~
f~
e~
d}
c}
b|
a|
`|
_|
^|
]|
\|
[|
Z|
Y|
X|
W|
V|
U|
T|
S|
R|
Q|
P|
O|
N|
M|
L|
K|
J|
I|
H|
G|
F|
E|
D|
C|
B|
A|
@|
?|
>|
=|
<|
;|
:|
9|
8|
7|
6|
5|
4|
3|
2|
1|
0|
/|
.|
-|
,|
+|
*|
)|
(|
'|
&|
%{
${
#{
"{
!{
 {
{
{
{
{
{
{
{
{
{
{
{
{
z
z
z
z
z
z

z
z
z

z
	z
z
z
z
z
z
z
z
y
y	�x	�x	�w	�w	�w	�w	�v	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�u	�
\���`.���[4
�
�
�
W
,����a ��rA
�
�
�
|
Q
,
	�	�	�	j	E	����H����\-
����lK$���iF$���yS-���jB ���xU'���jG�?�O%I	Qmysql-common8.0.301.module+el8.6.0+1057+4d6a1721x86_64&�N+	Plibconfig-devel1.59.el8x86_64 �M	Olibconfig1.59.el8x86_647�LA	Nrpm-plugin-systemd-inhibit4.14.324.el8_7x86_64/�K1	Mrpm-plugin-selinux4.14.324.el8_7x86_64%�J	Lrpm-libs4.14.324.el8_7x86_64&�I	Krpm-devel4.14.324.el8_7x86_64+�H)	Jrpm-build-libs4.14.324.el8_7x86_64 �G	Irpm4.14.324.el8_7x86_64(�F#	Hpython3-rpm4.14.324.el8_7x86_64&�E	Grpm-build4.14.324.el8_7x86_64*�D-	Fcmake-rpm-macros3.20.24.el8noarch$�C!	Ecmake-data3.20.24.el8noarch�B	Dcmake3.20.24.el8x86_64%�A!	Cutil-linux2.32.138.el8x86_64(�@'	Blibuuid-devel2.32.138.el8x86_64"�?	Alibuuid2.32.138.el8x86_64'�>%	@libsmartcols2.32.138.el8x86_64 �=	?libnsl2.28211.el8x86_64#�<	>libmount2.32.138.el8x86_64#�;	=libfdisk2.32.138.el8x86_64#�:	<libblkid2.32.138.el8x86_64'�9'	;glibc-headers2.28211.el8x86_64%�8#	:glibc-devel2.28211.el8x86_64&�7%	9glibc-common2.28211.el8x86_64-�63	8glibc-all-langpacks2.28211.el8x86_64�5	7glibc2.28211.el8x86_64 �4	6libuuid2.32.138.el8i686+�3/	5glibc-gconv-extra2.28211.el8x86_64)�2/	4glibc-gconv-extra2.28211.el8i686�1	3glibc2.28211.el8i686�0	2libxcb1.13.11.el8i686�/	1libXt1.1.512.el8i686$�.%	0libXpm-devel3.5.128.el8i686�-	/libXpm3.5.128.el8i686�,	.libXext1.3.41.el8i686�+	-libXau1.0.93.el8i686�*	,libX111.6.85.el8i686�)	+libSM1.2.31.el8i686�(	*libICE1.0.915.el8i686�'	)ctags5.822.el8x86_64,�&1	(libtool-ltdl-devel2.4.625.el8x86_64'�%#	'mhash-devel0.9.9.920.el8x86_64!�$	&mhash0.9.9.920.el8x86_64�#	%bison3.0.410.el8x86_64�"	$yum4.7.011.el8noarch+�!)	#python3-libdnf0.63.011.1.el8x86_64+� )	"python3-hawkey0.63.011.1.el8x86_645�=	!python3-dnf-plugins-core4.0.2114.1.el8noarch%�#	 python3-dnf4.7.011.el8noarch!�	libsolv0.7.203.el8x86_64#�	libdnf0.63.011.1.el8x86_64 �	json-c0.13.13.el8x86_64-�-	dnf-plugins-core4.0.2114.1.el8noarch"�	dnf-data4.7.011.el8noarch�	dnf4.7.011.el8noarch&�	yum-utils4.0.2114.1.el8noarch&�%	unbound-libs1.16.22.el8x86_64)�+	python3-unbound1.16.22.el8x86_64!�	libtool2.4.625.el8x86_64"�	automake1.16.17.el8noarch(�%		openssl-libs1.1.1k7.el8_6x86_64)�'		openssl-devel1.1.1k7.el8_6x86_64#�		openssl1.1.1k7.el8_6x86_64�	strace5.182.el8x86_64�	zsh5.5.19.el8x86_640�
)!	vim-filesystem8.0.176319.el8_6.4noarch.�%!	vim-enhanced8.0.176319.el8_6.4x86_64,�!!	
vim-common8.0.176319.el8_6.4x86_64<�
!G	mysql-libs8.0.261.module+el8.4.0+652+6de068a7x86_64=�	#G	mysql-devel8.0.261.module+el8.4.0+652+6de068a7x86_64>�%G	
mysql-common8.0.261.module+el8.4.0+652+6de068a7x86_64!�		uw-imap2007f24.el8x86_64"�	xinetd2.3.1524.el8x86_64+�3	perl-List-SomeUtils0.581.el8noarch!�	perl-Fsdb3.01.el8noarch-�3	GraphicsMagick-perl1.3.381.el8x86_64(�)	GraphicsMagick1.3.381.el8x86_64'�!	zlib-devel1.2.1118.el8_5x86_64!�	zlib1.2.1118.el8_5x86_64.�##	vim-minimal8.0.176316.el8_5.13x86_64/�~%)	python3-perf4.18.0348.23.1.el8_5x86_64)�}#!�polkit-libs0.11513.el8_5.2x86_64$�|!�polkit0.11513.el8_5.2x86_647�{'1�microcode_ctl202106081.20220207.1.el8_5x86_648�z5-�libreport-filesystem2.9.515.el8.rocky.6.3x86_64$�y!�kpartx0.8.417.el8_5.1x86_644�x/)�kernel-tools-libs4.18.0348.23.1.el8_5x86_64/�w%)�kernel-tools4.18.0348.23.1.el8_5x86_641�v))�kernel-headers4.18.0348.23.1.el8_5x86_64�u�gzip1.913.el8_5x86_64H�t5G�mariadb-server-utils10.3.322.module+el8.5.0+777+18007c86x86_64
8x�r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��g ��K�v/��Z��>��i"��M�xD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�		�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�~	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�}	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�|	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�{	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�x	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�w	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�v	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�u	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�t	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�s	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�r	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�p	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�o	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�n	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�m	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�l	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�k	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�j	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�i	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�h	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�g	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�f	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�e	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�d	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�c	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�b	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�a	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�`	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�_	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�^	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
8��r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��g ��K�v/��Z��>��y2��]��D�M	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�L	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�K	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�J	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�I	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�H	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�G	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�F	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory4�E	i|grep: /proc/cpuinfo: No such file or directoryD�D	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�C	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�B	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�A	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�@	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�?	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�>	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�=	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�<	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�;	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�:	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�9	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�8	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�7	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�6	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�5	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�4	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�3	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�2	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�1	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�0	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�/	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�.	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�-	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�,	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�+	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�*	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�)	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�(	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�'	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�&	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�%	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�$	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�#	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�"	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�!	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD� 	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
8x�r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��g ��K�v/��Z��>��i"��M�xD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�~	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�}	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�|	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�{	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�x	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�w	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�v	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�u	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�t	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�s	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�r	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�p	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�o	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�n	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�m	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�l	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�k	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�j	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�i	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�h	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�g	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�f	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�e	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�d	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�c	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�b	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�a	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�`	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�_	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�^	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�]	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�\	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�[	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�X	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�W	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�V	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�U	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�T	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�S	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�R	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�P	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�O	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�N	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
8x�r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��g ��K�v/��Z��>��i"��M�xD�=	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�<	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�;	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�:	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�9	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�8	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�7	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�6	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�5	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�4	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�3	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�2	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�1	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�0	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�/	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�.	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�-	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�,	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�+	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�*	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�)	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�(	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�'	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�&	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�%	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�$	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�#	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�"	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�!	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD� 	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�		�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��?��j#��N�y2��]��A��l%��D�t	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�s	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�r	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�p	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�o	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�n	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�m	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�l	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�k	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�j	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�i	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�h	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�g	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�f	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�e	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�d	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�c	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�b	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�a	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�`	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�_	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�^	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�]	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryl�\	�W|/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryD�[	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�X	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�W	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�V	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�U	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�T	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�S	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�R	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�Q	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�P	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�O	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�N	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�M	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�L	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�K	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�J	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�I	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�H	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�G	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�F	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�E	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�D	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�C	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�B	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�A	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�@	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�?	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�>	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��r+��V
�
�
:��e��I
�
t
-	�	�	X	��<��M��7��X!��a��K�v/��Z��D�+	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�*	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�)	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�(	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�'	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�&	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�%	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�$	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�#	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�"	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�!	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD� 	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryA�	�|dracut: Turning off host-only mode: '/dev' is not mounted!A�	�|dracut: Turning off host-only mode: '/run' is not mounted!B�	�|dracut: Turning off host-only mode: '/proc' is not mounted!A�	�|dracut: Turning off host-only mode: '/sys' is not mounted!4�	i|grep: /proc/cpuinfo: No such file or directory4�	i|grep: /proc/cpuinfo: No such file or directory4�	i|grep: /proc/cpuinfo: No such file or directory4�	i|grep: /proc/cpuinfo: No such file or directoryn�	�[|dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.d�	�G|libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryD�	�|dracut: No '/dev/log' or 'logger' included for syslog logginge�	�I|/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directory^�	�;|grub2-editenv: error: cannot open `/boot/grub2/grubenv.new': No such file or directory.D�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�
	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�		�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�~	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�}	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�|	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�{	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�z	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�y	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�x	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�w	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�v	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�u	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
:��r+��V
�
�
^
"��n2��~B
�
�
`
6	�	�	�	C��k#��K�s+��S�{3��[��;��c��E�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directory6�E	k�warning: user mysql does not exist - using root6�D	k�warning: user mysql does not exist - using root6�C	k�warning: user mysql does not exist - using root'�B	M�useradd: cannot open /etc/passwd9�A	q�warning: /etc/shadow created as /etc/shadow.rpmnew9�@	q�warning: /etc/bashrc created as /etc/bashrc.rpmnew+�?	U�chown: invalid spec: ‘postgres:’9�>	q�warning: user postgres does not exist - using root9�=	q�warning: user postgres does not exist - using root9�<	q�warning: user postgres does not exist - using root9�;	q�warning: user postgres does not exist - using root9�:	q�warning: user postgres does not exist - using root9�9	q�warning: user postgres does not exist - using root9�8	q�warning: user postgres does not exist - using root9�7	q�warning: user postgres does not exist - using root9�6	q�warning: user postgres does not exist - using root9�5	q�warning: user postgres does not exist - using root-�4	Y�Failed to connect to bus: Host is downV�3	�)�System has not been booted with systemd as init system (PID 1). Can't operate.l�2	�W|/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryD�1	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�0	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�/	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�.	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�-	�|/bin/sed: can't read /proc/cpuinfo: No such file or directoryD�,	�|/bin/sed: can't read /proc/cpuinfo: No such file or directory
�����~m������t_J2U���7��s\E-
�
�
�
�
�
�
v
a
L
<
,

�����gO7������hS@+
�
�
�
�
�
�
�
�
�
z
c
L
5
+

	�	�	�	�	�	�	p	]	J	7	$	��������|sjaXOF7(
�������teVG8*������lT4����xkYNC9/%���������hP8 ������pX@�.
����F4"����%rubygem-json�1rubygem-io-console�5rubygem-did_you_mean��i=python3-setuptools-wheel�1python3-setuptools�#python3-rpmr#python3-rpm#)python3-pyyaml<)python3-pyudev"+rubygem-openssl�+rubygem-opensslt%rubygem-json
�%rubygem-json
.%rubygem-json�%rubygem-jsons1rubygem-io-console
�1rubygem-io-console
-1rubygem-io-console�1rubygem-io-consoler5rubygem-did_you_mean
�5rubygem-did_you_mean
,5rubygem-did_you_mean�5rubygem-did_you_meanq1rubygem-bigdecimal�1rubygem-bigdecimal
�1rubygem-bigdecimal
+1rubygem-bigdecimal�1rubygem-bigdecimalpruby-libs�ruby-libs
�ruby-libs
*ruby-libs�ruby-libso
ruby-irb�
ruby-irb
�
ruby-irb
)
ruby-irb�
ruby-irbn	ruby�	ruby
�	ruby
(	ruby�	rubym
rsync
rsyncX%rrdtool-perl�rrdtool�9rpmfusion-free-release
JArpm-plugin-systemd-inhibit4Arpm-plugin-systemd-inhibitArpm-plugin-systemd-inhibit�Arpm-plugin-systemd-inhibit	LArpm-plugin-systemd-inhibitzArpm-plugin-systemd-inhibit31rpm-plugin-selinux31rpm-plugin-selinux1rpm-plugin-selinux�1rpm-plugin-selinux	K1rpm-plugin-selinuxy1rpm-plugin-selinux2
rpm-libs2
rpm-libs�
rpm-libs�
rpm-libs	J
rpm-libsx
rpm-libs1rpm-devel1rpm-devel�rpm-devel�rpm-devel	Irpm-devel�)rpm-build-libs0)rpm-build-libs�)rpm-build-libs�)rpm-build-libs	H)rpm-build-libsw)rpm-build-libs0rpm-build�rpm-build�rpm-buildrpm-build	Erpm-build�rpm/rpm�rpm�rpm	Grpmvrpm/rpcbind@rootfiles.#rocky-repos.#rocky-repos�#rocky-repos�#rocky-repos#rocky-reposu#rocky-repos-'rocky-release-'rocky-release�'rocky-release�'rocky-release'rocky-releaset'rocky-release,/rocky-logos-httpd/rocky-logos-httpd?+rocky-indexhtml�)rocky-gpg-keys,)rocky-gpg-keys�)rocky-gpg-keys�)rocky-gpg-keys)rocky-gpg-keyss)rocky-gpg-keys+	rest�/redhat-rpm-config/redhat-rpm-config
'/redhat-rpm-config�)readline-devel�
readline*	re2c	Urdma-core+rdma-core�rdma-core�rdma-core
�rdma-core)
radvd�quota-nls>
quota=+qt5-srpm-macros
&+qt5-srpm-macros�'qemu-kvm-core�+qemu-kvm-common�1qemu-kvm-block-ssh�1qemu-kvm-block-rbd�5qemu-kvm-block-iscsi�9qemu-kvm-block-gluster�3qemu-kvm-block-curl�
qemu-kvm�
qemu-img�
python36�
python36	h1python3.11-tkinter�1python3.11-tkinter�1python3.11-tkinter
r Cpython3.11-setuptools-wheel Cpython3.11-setuptools-wheel
q5python3.11-pip-wheel�5python3.11-pip-wheel
p+python3.11-libs~+python3.11-libs�+python3.11-libs
o!python3.11}!python3.11�!python3.11
n+python3-unbound+python3-unbound�+python3-unbound+python3-unbound	+python3-systemd�1python3-syspurpose*1python3-syspurpose�1python3-syspurpose�1python3-syspurpose
�1python3-syspurpose�1python3-syspurpose(/python3-slip-dbus
�/python3-slip-dbus'%python3-slip
�%python3-slip&#python3-six%=python3-setuptools-wheel�=python3-setuptools-wheel
�=python3-setuptools-wheel$1python3-setuptools�1python3-setuptools
�1python3-setuptools	i+python3-setools�+python3-setools	�1python3-rpm-macros1python3-rpm-macros
%1python3-rpm-macros�#python3-rpm)#python3-rpm�#python3-rpm�#python3-rpm	F
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�		�	~		}	~	|	}	{	|	z	{	y	z	x	y	w	x	v	w	u	v	t	u	s	t	r	s	q	r	p	q	o	p	n	o	m	n	l	m	k	l	j	k	i	j	h	i	g	h	f	g	e	f	d	e	c	d	b	c	a	b	`	a	_	`	^	_	]	^	\	]	[	\	Z	[	Y	Z	X	Y	W	X	V	W	U	V	T	U	S	T	R	S	Q	R	P	Q	O	P	N	O	M	N	L	M	K	L	J	K	I	J	H	I	G	H	F	G	E	F	D	E	C	D	B	C	A	B	@	A	?	@	>	?	=	>	<	=	;	<	:	;	9	:	8	9	7	8	6	7	5	6	4	5	3	4	2	3	1	2	0	1	/	0	.	/	-	.	,	-	+	,	*	+	)	*	(	)	'	(	&	'	%	&	$	%	#	$	"	#	!	"	 	!		 																																			
			
			
				
																			�	���������������������������������������������������	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
����������xl`TA.	
�
�
�
�
�
�
�
�

l
\
L
?
2


����������p^L:(���������th\L<,
�
�
�
�
�
�
�
~
i
[
M
?
1
#

		�	�	�	�	�	�	�	�	�		l	\	L	6	 		�������Z!�xeRGC4)������;����~pbPB4&
-���������|pd!UF1�������|cO;'�������mXC6)��������n]iO?2#���������z�������}oa�SE.libgomph!libibverbs�libgomp�#libgfortran�libgcc�
libfdisk�libdnf�'libcurl-devel�libcurl�#libgs-develL'libini_config�libijsP'libidn2-devel
Olibidn2�libidn�%libicu-develZlibicu$!libibverbs`!libibverbsg!libibverbs
�!libibverbs�libibumad#libgusb"!libguestfsO
libgtop2N#libgs-devel�#libgs-devel�#libgs-devel'#libgs-develz
libgsM
libgs
�
libgs�
libgs	�
libgsM1libgpg-error-develg%libgpg-error�libgomp_libgompflibgomp
�libgompflibgomp�+libglvnd-openglL+libglvnd-opengl	�+libglvnd-opengls%libglvnd-glxK%libglvnd-glx	�%libglvnd-glxL'libglvnd-glesJ'libglvnd-gles	�'libglvnd-glesK%libglvnd-eglI%libglvnd-egl	�%libglvnd-eglJ)libglvnd-develH)libglvnd-devel	�)libglvnd-develr3libglvnd-core-develG3libglvnd-core-devel	�3libglvnd-core-develq
libglvndF
libglvnd	�
libglvndI#libgfortran^#libgfortrane#libgfortran
�#libgfortran!+libgcrypt-devel
�+libgcrypt-develflibgcrypt
�libgcrypt�libgcc]libgccdlibgcc
�libgccelibgcc�!libfontenc�%libffi-develc%libffi-devel
�%libffi-devel�libffiblibffi
�libffi�
libfdisk\
libfdiska
libfdisk
�
libfdisk	;
libfdisk�%libfbclient2�
libeventy
libepoxyHlibedit�libdrm
�libdrm�libdrm	�libdrmGlibdnf[libdnf`libdnf	libdnf�
libdhash
�
libdhash�#libdb-utils�#libdb-devel!
libdb�libdatrie�libdaemon�'libcurl-develZ'libcurl-devel_'libcurl-devel
�'libcurl-develMlibcurlYlibcurl^libcurl
�libcurl�
libcroco�+libconfig-devel	Nlibconfig	M
libcomps
�
libcomps�-libcom_err-devel
�-libcom_err-devel$!libcom_err
�!libcom_err�'libcollection
�'libcollection�libcap-ng�libcapXlibcap]libcap
�libcap�libcacardF#libc-clientSlibbsd�libbpf
�libbpf�
libblkid�
libblkidW
libblkid\
libblkid
�
libblkid	:
libblkid�+libbasicobjects
�+libbasicobjects�'libbabeltrace
�'libbabeltrace libattr�'libatomic_opsElibassuan�+libargon2-devel�libargon2�!libarchive[!libarchive	�!libarchive�!libarchived!libarchive�libaiolibacl�libacl�!libXxf86vm�%libXxf86misc�
libXvDlibXtst�#libXt-develp
libXt	/
libXt�-libXrender-devel�!libXrender�libXrandr�%libXpm-develE%libXpm-develD%libXpm-devel	�%libXpm-devel	�%libXpm-devel	.%libXpm-develPlibXpmClibXpmBlibXpm	�libXpm	�libXpm	-libXpm�libXmu�#libXinerama�
libXi�%libXft-devel�libXft�libXfixes�'libXext-develolibXext	,libXext�!libXdamage�!libXcursor�'libXcomposite�libXawC%libXau-devel�libXau	+libXau�!libX11-xcbA!libX11-xcb
�!libX11-xcb�%libX11-devel@%libX11-devel
�%libX11-devel�'libX11-common?'libX11-common
�'libX11-common�libX11>libX11=libX11
�libX11
�libX11	*libX11�#libSM-develn
libSM	)
libSM�%libICE-develmlibICE	(
libkadm5�libdnf�'libcurl-devel�libcurl�/libkcapi-hmaccalc�
libkcapi�
libkcapi�
libkadm5�
libkadm5a
libkadm5h
libkadm5
�
libkadm5%3libjpeg-turbo-develO'libjpeg-turbo�
libiscsiRlibiptQ'libini_config
�
�H���xph80( ������80( ����������
P
H
@
8
0xph`XPH@���
x���xph`XPH@80(� ��������
 



�������X�P�H��������xph�X�P�H�@�80x(p h`h�`�����������
���
(���������xp�h`8X0P(H�@8�0�@`
h
��(` ���x
�8
�X
�P
�H
�@
�h
�
�
�
�
�
�
�
�
��
�
�
x�
p�
h
`
X�
P�
H�
@0
8�
0�
(�
 �
�
X
P
H	�p	�@	�(	� 	��	�	�	 
�	�	�	
�	�	�	
�	�	`�	�	X�	�	P�	�	H�	�	@�	x	8�	p	0x	h	(p		�������������H��P�xph0�`(�X �P�H@�8�`������������X��xph`0X(P8H@  
p
`
X
��
��
��
��
��
��
��
��
��
�����������@� 	TF	VD	jH	a��	��
0�	��
.�	��
,��	3���	7���	8���	9����	��
<�	��
:�	��
8�	��
6�	��
4�	��
2	#z	"x	!v	 t�p�n	?	�	;�	5�	4�	:�	0��	��
>	/��
	���
�
���
�
���
�
���
�
�
#�
�	��	��	��	��	��
g�	��	��	��	��	��	��	��
Q�	��	��
��	��
��	��
��	��Y�	��
C�	��
A�	��
?�	��
B�	��
@	�������	�	$�	N�	M�	L�	K�	J�	I�	H�	�9	�8	�7	6	~5	}4	|3	{2	z1	y0	x/	w.	v-	u,	t+	s*	p)	o(	q'	r&	r%	q$	p#	o"	n	m	l	k	j	i	h	g	f	e	d	c
	b	_	]
	\		[	Z	a	^	`	_	]	\	[	Z
�	`
�	_
�	^
�	]
�	\
�	[
�	Z
�	Y
�	X
�	W
�	V
�	U
�	T
�	S
�	R
�	Q
�	S
�	R
�	Q
�	
�	S
�	
�	R
�	

�	Q
�	P
�	O
�	F
�	E
�	D
�	N
�	M
�	L
�	K
�	J
�	I
�	H
�	G
�	N
�	M
�	L
�	K
�	J
�	I
�	H
�	G
�	F
�	F
�	E
�	E
�	D
�	D
�	C
�	B
�	A
�	@
�	?
�	>
�	=
�	<
�	;
�	:
�	9
�	8
�	7
�	6
�	5
�	4
�	3
�	2
�	1
�	0
�	/
�	.
�	-
�	,
�	+
�	*
�	)
�	(
�	'
�	&
�	%
�	$
�	#
�	"
�	!
�	 
�	
�	
�	
~	
|	
z	
x	
w	
v	
u	
t	
s	
q	
o	
m	
l	
k	
j	
i	
h	
f	
e	

d		
c	
b	
\	
Z	
X	
V	
T	
R	
P	
N�
L�
J�
H�
F�
D�
B�
@�
>�
<�
:�
8�
6�
4	�
2���
0���
.���
,���
*���
(�
'�
&�
%�
!�
�
r�
�

�
p�
�
�
n�
	���	��
O�	��	v�	u�		t���	�	��	�	~�	}�		)�	|�	F�	E�	D�	{�	z�	y�	x�	w�	e~	d|	cz	bx	sQ	3	1	/�N�	��L�	��J�	��H�	�	>	�n	l	j	h	Z	CX�T	��	i$	f	,�	��	k		�:�
�	lf	��	B
�	A
�	6
�	
�	@
�	>
�	=
n	<
Z�
P�
J�
H�
F	�;	v	t	r	��	J	�=	��	�<	G@	<	g8	S�	R�	Q�	��
�s�s
�
^��
�
		��q�h�g�Y�I�(��.�UM��(ggA	
c�&c�2067:212be2d440b2b51b95c9ec5c1a3603fb142c90b82094:45eb874fda7e3158d2187800bbe9a616f1546f608install postgresql11-devel�	�'ggC	
c��c��2064:3b2ffd7efa95675615d3159be09f21905bfd39362067:212be2d440b2b51b95c9ec5c1a3603fb142c90b88install postgresql11-server�_�&gg�m	
c�c�2063:b336521a7f2b0a3551ead3ec8b9a4ada830a66e42064:3b2ffd7efa95675615d3159be09f21905bfd39368install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm��%gg=	
c��c��2065:0be059f893f78cebfc59301e3665362283bb7e142063:b336521a7f2b0a3551ead3ec8b9a4ada830a66e48remove postgresql.x86_64��$ggI	
c��c��2066:1110fdad53c5cf2ef2584072f97bca5b2322b9c62065:0be059f893f78cebfc59301e3665362283bb7e148remove postgresql-devel.x86_64�
�#ggK	
c�c��2067:00cb8def31d46175e7d40c0a690ac0290c0cdf1d2066:1110fdad53c5cf2ef2584072f97bca5b2322b9c68remove postgresql-server.x86_64��"gg?	
c�c�2066:1110fdad53c5cf2ef2584072f97bca5b2322b9c62067:00cb8def31d46175e7d40c0a690ac0290c0cdf1d8install postgresql-server��!gg3	
c��c��2065:0be059f893f78cebfc59301e3665362283bb7e142066:1110fdad53c5cf2ef2584072f97bca5b2322b9c68install libpq-devel�� gg1	
c��c��2063:b336521a7f2b0a3551ead3ec8b9a4ada830a66e42065:0be059f893f78cebfc59301e3665362283bb7e148install postgresql��gg=	
c�{c�~2068:f510e2e68a0c6f77490a901496f3f9ae2dd74aed2063:b336521a7f2b0a3551ead3ec8b9a4ada830a66e48remove libpq libpq-devel�gg/	
c�"�c�"�2067:5cbb6e9ad523c264073cb693a9d530ae282bd6cd2068:f510e2e68a0c6f77490a901496f3f9ae2dd74aed8install colordiff|�gg)	
c�"�c�"�2066:a6e59bca45f769bfd1c1008c91e78502809643272067:5cbb6e9ad523c264073cb693a9d530ae282bd6cd8install telnet��gg3	
cܴpcܴw2063:fba6ec6f40e1e3aaa8dd419ed6fd40b21ef8e0d12066:a6e59bca45f769bfd1c1008c91e78502809643278install python3-pip��gg1	
cۑ�cۑ�2053:fbb6ee71f58a92dd9cdb098b5950a97f8646aabc2063:fba6ec6f40e1e3aaa8dd419ed6fd40b21ef8e0d18install bind-utils��gg?	
c׍.c׍82047:6a0448fee0f0f321530c524f9e64b4874bef4bf42053:fbb6ee71f58a92dd9cdb098b5950a97f8646aabc8install powerdns-recursor��gg5	
c׌�c׌�2054:3fbb8649e8bae7ab7f243e59739f00bb03fb68422047:6a0448fee0f0f321530c524f9e64b4874bef4bf48remove pdns-recursor��gg7	
c׌�c׌�2047:6a0448fee0f0f321530c524f9e64b4874bef4bf42054:3fbb8649e8bae7ab7f243e59739f00bb03fb68428install pdns-recursor~�gg-	
cǺtcǺv2046:e4c8f3b9a2460c4a93ddd30b63245d702ce670f62047:6a0448fee0f0f321530c524f9e64b4874bef4bf48install gd-develz�gg%	
c��,c��12045:da381985997fb0693858a88a2041959ffc18219a2046:e4c8f3b9a2460c4a93ddd30b63245d702ce670f68install flexz�gg%	
c�5�c�5�2044:bcd1581c62058a72d0d6a7dd5f3c48bd584cfbcd2045:da381985997fb0693858a88a2041959ffc18219a8install re2c��gg7	
c��Jc��R2042:8737a24a523c75906d35630f02b934a3793c40762044:bcd1581c62058a72d0d6a7dd5f3c48bd584cfbcd8install libnsl2-devel��ggc	
c��dc��h2039:ebee57d6a44a3081be573a42507c8381179be6962042:8737a24a523c75906d35630f02b934a3793c40768install mysql-common mysql-libs mysql-devel�2�gg�	
c��Hc��J2042:8737a24a523c75906d35630f02b934a3793c40762039:ebee57d6a44a3081be573a42507c8381179be6968remove mysql-common-8.0.30-1 mysql-libs-8.0.30 mysql-devel-8.0.30-1��ggA	
c��c���2042:4f7609a8b72d826e62794cf057e024c95a8edc872042:8737a24a523c75906d35630f02b934a3793c40768install mysql-devel-8.0.30��gg;	
c��c��2041:e85dec3b3039e73bdffd8ec70d1867517b2ef7b42042:4f7609a8b72d826e62794cf057e024c95a8edc878install libconfig-devel�gg/	
c���c���2040:8fd069b4f7fd5cb502100741d1759c4c2abaa0682041:e85dec3b3039e73bdffd8ec70d1867517b2ef7b48install libconfig{�gg'	
c���c���2037:3ffe2bdf6edef45e6c9b7455231fb878a886f9372040:8fd069b4f7fd5cb502100741d1759c4c2abaa0688install cmake�	�
ggC	
c��dc��t2037:8a5cfa69c6dde9d667576cc3c2755401f68c2b092037:3ffe2bdf6edef45e6c9b7455231fb878a886f9378upgrade --refresh rpm glibc
���������vdSA0��������xhXH8'
�
�
�
�
�
�
�
x
h
X
H
8
(

��������tbP?.
��������p^L;+

�
�
�
�
�
�
�
�
y
i
Y
I
8
'

	�	�	�	�	�	�	�	�	w	g	V	E	4	"	��������vdSB1!�������|kZI8'�������}l[J8&�������|kZI8&�������tbP>-��������raP?.��������q`O>-
�����9	�	��8		���7		�	��6	���5	�	��4		�t�3		�	��2		�v�1		�	��0		���/		�	��.		�^�-		�	��,		�]�+		�	��*		�}�)		�	��(	�|�'	�	��&		�O�%		�	��$		�u�#		�	��"		�N�!		�	�� 		�M�		�	��		�L�		�	��		�t�		�	��		�s�		�	��		�K�		�	��		�I�		�	��	�R�	�	��	�	0�	�	��		���		�	��	�	/�
	�	��	���	�	��
	���		�	��	���	�	��		���		�	��		���		�	��		���		�	��		�8�		�	��~		���}		�	��|		���{		�	��z		���y		�	��x	���w	�	��v		�-�u		�	��t		�,�s		�	��r		���q		�	��p		���o		�	��n		���m		�	��l		�#�k		�	��j		���i		�	��h		���g		�	��f		���e		�	��d		��c		�	��b		��a		�	�
�`			�	�
�_		�	�
�^		�	�
�]		�	�
�\			�	��[		�	�
�Z			�	��Y		���X		�	��W		�	��V	�
�U	�	��T		���S		�	�
�R		�	�Q		�	��P	��O	�	��N		���M		�	��L	���K	�	��J		���I		�	��H		�	�
�G			�	�
�F			�	�
�E			�	�
�D			�	�
�C			�	�
�B			�	�
�A			�	�
�@			�	�
�?			�	�
�>			�	�
�=			�	�
�<			�	��;		�	��:		�	�
�9			�	�
�8			�	�
�7			�	�
�6			�	
�5			�	~
�4			�	}�3		�	|
�2			�	{
�1			�	z
�0			�	y
�/			�	x
�.			�	w�-		�	v
�,			�	u
�+			�	t�*		�	s�)	�	p�(	�	o�'	�	q�&	�	r�%		�	r�$		�	q
�#			�	p�"		�	o�!		�K� 		�F�		���	�L�	�Y�		�	n�		�	m�	��	�	l
�			�	k
�			�	j�		�	i
�			�	h
�			�	g
�			�	f
�			�U�		�0�		�/�		�	e
�			�	d
�
			�	c
�			�	b
�			�	_
�
			�	]
�				�	\
�			�	[
�			�	Z�		�	a
�	�	^�	�	`�	�	_�	�	]�	�	\�	�	[�	�	Z�~		�	`
�}			�	_
�|			�	^
�{			�	]
�z			�	\
�y			�	[
�x			�	Z�w		�	Y�v		�	X�u		�	W	�t		���s		�	V�r		�	U	
�q			�	T�p		�	S�o		�	R�n		�	Q�m	�	S�l		�	R�k	�	Q�j		�	�i		�	S�h	�	�g	�	R�f		�	
�e		�	Q�d		�	P	�c		�	O
N��U����e7

�
�
�
t
G
���h9��x@
�
�
{
9	�	�	�	m	8��|-��r:��`$��h'���n7���N��oI"���[!��.�#)	�kernel-core4.18.0425.13.1.el8_7x86_64)�)	�kernel4.18.0425.13.1.el8_7x86_647�+	7	�grub2-tools-efi2.02142.el8_7.3.rocky.0.2x86_64!�	�pinentry1.1.02.el8x86_64.�1	�gcc-plugin-annobin8.5.016.el8_7x86_64#�!	�libarchive3.3.34.el8x86_64�	�bsdtar3.3.34.el8x86_64'�+	�policycoreutils2.920.el8x86_64$�#	�libsemanage2.99.el8_6x86_64#�!	�audit-libs3.0.74.el8x86_64�	�audit3.0.74.el8x86_64B�+I	�rust-std-static1.62.11.module+el8.7.0+1079+7c7e1744x86_647�I	�rust1.62.11.module+el8.7.0+1079+7c7e1744x86_64<�I	�llvm-libs14.0.61.module+el8.7.0+1080+d88dc670x86_641�1#	�postgresql11-devel11.181PGDG.rhel8x86_64(�+	�python3-setools4.3.03.el8x86_64/�
;	�python3-policycoreutils2.920.el8noarch,�3	�python3-libsemanage2.99.el8_6x86_64&�'	�python3-audit3.0.74.el8x86_644�
E	�policycoreutils-python-utils2.920.el8noarch,�	3	�environment-modules4.5.22.el8x86_64"�#	�checkpolicy2.91.el8x86_64#�		�scl-utils2.0.215.el8x86_64<�I	�llvm-test14.0.61.module+el8.7.0+1080+d88dc670x86_64>�#I	�llvm-static14.0.61.module+el8.7.0+1080+d88dc670x86_64=�!I	�llvm-devel14.0.61.module+el8.7.0+1080+d88dc670x86_647�I	�llvm14.0.61.module+el8.7.0+1080+d88dc670x86_64?�%I	�libomp-devel14.0.62.module+el8.7.0+1080+d88dc670x86_649�I	�libomp14.0.62.module+el8.7.0+1080+d88dc670x86_64.�9	�gcc-toolset-12-runtime12.05.el8x86_64<�I	�gcc-toolset-12-libstdc++-devel12.1.13.4.el8_7x86_644�~9	�gcc-toolset-12-gcc-c++12.1.13.4.el8_7x86_640�}1	gcc-toolset-12-gcc12.1.13.4.el8_7x86_645�|E	~gcc-toolset-12-binutils-gold2.3816.el8x86_640�{;	}gcc-toolset-12-binutils2.3816.el8x86_64>�z#I	|compiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64D�y/I	{clang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64L�x?I	zclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64=�w!I	yclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64>�v#I	xclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_648�uI	wclang14.0.61.module+el8.7.0+1080+d88dc670x86_642�t3#	vpostgresql11-server11.181PGDG.rhel8x86_640�s/#	upostgresql11-libs11.181PGDG.rhel8x86_64+�r%#	tpostgresql1111.181PGDG.rhel8x86_64%�q-	spgdg-redhat-repo42.032noarch@�p/C	rpostgresql-server11.152.module_el8+13988+76873a69x86_64?�o-C	qpostgresql-devel11.152.module_el8+13988+76873a69x86_64>�n+C	ppostgresql-libs11.152.module_el8+13988+76873a69x86_649�m!C	opostgresql11.152.module_el8+13988+76873a69x86_64#�l	ncolordiff1.0.211.el8noarch�k		mtelnet0.1776.el8x86_645�j3)	lplatform-python-pip9.0.322.el8.rocky.0noarch,�i1	kpython3-setuptools39.2.06.el8noarch:�hI	jpython363.6.838.module+el8.5.0+671+195e4563x86_64-�g#)	ipython3-pip9.0.322.el8.rocky.0noarch"�f#	hpython3-ply3.99.el8noarch,�e%	gpython3-bind 9.11.365.el8_7.2noarch#�d!	fprotobuf-c1.3.06.el8x86_64*�c!	ebind-utils 9.11.365.el8_7.2x86_64,�b%	dbind-license 9.11.365.el8_7.2noarch.�a)	cbind-libs-lite 9.11.365.el8_7.2x86_64)�`	bbind-libs 9.11.365.el8_7.2x86_64*�_'	apdns-recursor4.7.41pdns.el8x86_64&�^'	`pdns-recursor4.3.61.el8x86_64'�]'	_luajit2.1.00.16beta3.el8x86_64"�\	^protobuf3.5.015.el8x86_64�[	]fstrm0.6.13.el8x86_64'�Z%	\boost-system1.66.013.el8x86_64+�Y-	[boost-filesystem1.66.013.el8x86_64(�X'	Zboost-context1.66.013.el8x86_64!�W	Ygd-devel2.2.57.el8x86_64�V	Xflex2.6.19.el8x86_64�U	Wre2c0.14.32.el8x86_64!�T	Vlibtirpc1.1.48.el8x86_649�S'=	Ulibnsl2-devel1.2.02.20180605git4a062cf.el8x86_64'�R)	Tlibtirpc-devel1.1.48.el8x86_64=�Q!I	Smysql-libs8.0.301.module+el8.6.0+1057+4d6a1721x86_64>�P#I	Rmysql-devel8.0.301.module+el8.6.0+1057+4d6a1721x86_64
M���x?��g>

�
�
v
F
��n:��a+
�
�
�
L
	�	�	�	e	E	%����\*����w[<����W7��h,��x>��:��f��M�@#Mhttpd-tools2.4.3743.module+el8.5.0+727+743c5577.1x86_64;G-Qhttpd-filesystem2.4.3765.module+el8.10.0+1842+4a9649e8.2noarchmE-Mhttpd-filesystem2.4.3764.module+el8.10.0+1717+030a9fednoarch8D-Khttpd-filesystem2.4.3762.module+el8.9.0+1436+2b7d5021noarch
�F-Ohttpd-filesystem2.4.3756.module+el8.8.0+1456+d0a01c5e.7noarch�F-Ohttpd-filesystem2.4.3756.module+el8.8.0+1284+07ef499e.6noarch�F-Ohttpd-filesystem2.4.3751.module+el8.7.0+1182+86a6cd60.5noarchTF-Ohttpd-filesystem2.4.3751.module+el8.7.0+1155+5163394a.1noarch	�E-Mhttpd-filesystem2.4.3743.module+el8.5.0+747+83fae388.3noarch�E-Mhttpd-filesystem2.4.3743.module+el8.5.0+746+b6ce3176.2noarch�E-Mhttpd-filesystem2.4.3743.module+el8.5.0+727+743c5577.1noarch:<Qhttpd2.4.3765.module+el8.10.0+1842+4a9649e8.2x86_64l:Mhttpd2.4.3764.module+el8.10.0+1717+030a9fedx86_6479Khttpd2.4.3762.module+el8.9.0+1436+2b7d5021x86_64
�;Ohttpd2.4.3756.module+el8.8.0+1456+d0a01c5e.7x86_64�;Ohttpd2.4.3756.module+el8.8.0+1284+07ef499e.6x86_64�;Ohttpd2.4.3751.module+el8.7.0+1182+86a6cd60.5x86_64S;Ohttpd2.4.3751.module+el8.7.0+1155+5163394a.1x86_64	�:Mhttpd2.4.3743.module+el8.5.0+747+83fae388.3x86_64�:Mhttpd2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64�:Mhttpd2.4.3743.module+el8.5.0+727+743c5577.1x86_649htop3.2.11.el8x86_64	hostname3.206.el8x86_64[8Ihivex1.3.1821.module+el8.5.0+670+c4aa478cx86_648*1hicolor-icon-theme0.172.el8noarch�hdparm9.544.el8x86_64Z!harfbuzz1.7.54.el8x86_646!harfbuzz1.7.53.el8x86_64�	hardlink1.36.el8x86_64Ygzip1.913.el8_5x86_64�gzip1.912.el8x86_64X guile2.0.147.el8x86_647gtk33.22.308.el8x86_646 gtk33.22.3011.el8x86_64	�gtk22.24.325.el8x86_64�07gtk-update-icon-cache3.22.308.el8x86_64�17gtk-update-icon-cache3.22.3011.el8x86_64	�1;gstreamer1-plugins-base1.16.12.el8x86_645$!gstreamer11.16.12.el8x86_644"gssproxy0.8.019.el8x86_64gsl2.51.el8x86_6433?gsettings-desktop-schemas3.32.06.el8x86_64grubby8.4049.el8x86_64�grubby8.4048.el8x86_649grubby8.4047.el8x86_64
zgrubby8.4042.el8x86_64W73	/grub2-tools-minimal2.02156.el8.rocky.0.1x86_64�73	/grub2-tools-minimal2.02150.el8.rocky.0.2x86_64�73	/grub2-tools-minimal2.02150.el8.rocky.0.1x86_648;3	7grub2-tools-minimal2.02148.el8_8.1.rocky.0.3x86_64A;3	7grub2-tools-minimal2.02142.el8_7.3.rocky.0.2x86_64
y03	#grub2-tools-minimal2.02106.el8.0.2x86_64V5/	/grub2-tools-extra2.02156.el8.rocky.0.1x86_64�5/	/grub2-tools-extra2.02150.el8.rocky.0.2x86_64�5/	/grub2-tools-extra2.02150.el8.rocky.0.1x86_6479/	7grub2-tools-extra2.02148.el8_8.1.rocky.0.3x86_64@9/	7grub2-tools-extra2.02142.el8_7.3.rocky.0.2x86_64
x./	#grub2-tools-extra2.02106.el8.0.2x86_64U3+	/grub2-tools-efi2.02156.el8.rocky.0.1x86_64�3+	/grub2-tools-efi2.02150.el8.rocky.0.2x86_64�3+	/grub2-tools-efi2.02150.el8.rocky.0.1x86_6467+	7grub2-tools-efi2.02148.el8_8.1.rocky.0.3x86_64?7+	7grub2-tools-efi2.02142.el8_7.3.rocky.0.2x86_64	�/#	/grub2-tools2.02156.el8.rocky.0.1x86_64�/#	/grub2-tools2.02150.el8.rocky.0.2x86_64�/#	/grub2-tools2.02150.el8.rocky.0.1x86_6453#	7grub2-tools2.02148.el8_8.1.rocky.0.3x86_64>3#	7grub2-tools2.02142.el8_7.3.rocky.0.2x86_64
w(#	#grub2-tools2.02106.el8.0.2x86_64T4-	/grub2-pc-modules2.02156.el8.rocky.0.1noarch�4-	/grub2-pc-modules2.02150.el8.rocky.0.2noarch�4-	/grub2-pc-modules2.02150.el8.rocky.0.1noarch48-	7grub2-pc-modules2.02148.el8_8.1.rocky.0.3noarch=8-	7grub2-pc-modules2.02142.el8_7.3.rocky.0.2noarch
v--	#grub2-pc-modules2.02106.el8.0.2noarchS,	/grub2-pc2.02156.el8.rocky.0.1x86_64�,	/grub2-pc2.02150.el8.rocky.0.2x86_64�
NWV�[X��t6
�
�
W
��?����dB*Z
�
�
�
�
e
<
�	�	�	�	�	[	1	����o�I�gB����sR3-*
���|m?���t��P(���*���V�NN�/1rpm-plugin-selinux4.14.328.el8_9x86_64-1rpm-plugin-selinux4.14.326.el8x86_64�%rpm-libs4.14.328.el8_9x86_64�&rpm-devel4.14.328.el8_9x86_64�+)rpm-build-libs4.14.328.el8_9x86_64� rpm4.14.328.el8_9x86_64��!rdma-core48.01.el8x86_64+$rpm-build4.14.331.el8x86_64��()rocky-gpg-keys8.101.9.el8noarch,#rpm-libs4.14.326.el8x86_64�%rpm-libs4.14.324.el8_7x86_64	J'!rpm-libs4.14.319.el8_5.2x86_64x#rpm-libs4.14.319.el8x86_641$rpm-devel4.14.326.el8x86_64�&rpm-devel4.14.324.el8_7x86_64	I(!rpm-devel4.14.319.el8_5.2x86_64�))rpm-build-libs4.14.326.el8x86_64�+)rpm-build-libs4.14.324.el8_7x86_64	H-)!rpm-build-libs4.14.319.el8_5.2x86_64w))rpm-build-libs4.14.319.el8x86_640&rpm-build4.14.328.el8_9x86_64�$rpm-build4.14.326.el8x86_64&rpm-build4.14.324.el8_7x86_64	E(!rpm-build4.14.319.el8_5.2x86_64�rpm4.14.326.el8x86_64� rpm4.14.324.el8_7x86_64	G"!rpm4.14.319.el8_5.2x86_64vrpm4.14.319.el8x86_64/ rpcbind1.2.58.el8x86_64@!rootfiles8.122.el8noarch.$#rocky-repos8.91.8.el8noarch�$#rocky-repos8.81.8.el8noarch�$#rocky-repos8.71.2.el8noarch"#rocky-repos8.53.el8noarchu"#rocky-repos8.51.el8noarch-N''rocky-release8.101.9.el8noarch-&'rocky-release8.91.8.el8noarch�')rocky-gpg-keys8.91.8.el8noarch�#rdma-core46.01.el8.1x86_64��
,1python3.11-tkinter3.11.71.el8x86_64�.1python3.11-tkinter3.11.51.el8_9x86_64
r#rpm-libs4.14.331.el8x86_642$rpm-devel4.14.331.el8x86_641))rpm-build-libs4.14.331.el8x86_640rpm4.14.331.el8x86_64/%#rocky-repos8.101.9.el8noarch.&'rocky-release8.81.8.el8noarch�&'rocky-release8.71.2.el8noarch$'rocky-release8.53.el8noarcht$'rocky-release8.51.el8noarch,)/rocky-logos-httpd86.31.el8noarch)/rocky-logos-httpd85.03.el8noarch?&+rocky-indexhtml8.00.el8noarch�')rocky-gpg-keys8.81.8.el8noarch�')rocky-gpg-keys8.71.2.el8noarch%)rocky-gpg-keys8.53.el8noarchs%)rocky-gpg-keys8.51.el8noarch+rest0.8.12.el8x86_64�(/redhat-rpm-config1311.el8noarch(/redhat-rpm-config1301.el8noarch
'(/redhat-rpm-config1251.el8noarch�&)readline-devel7.010.el8x86_64� readline7.010.el8x86_64*re2c0.14.32.el8x86_64	U#rdma-core44.02.el8.1x86_64�!rdma-core41.01.el8x86_64
�!rdma-core35.01.el8x86_64)radvd2.1715.el8x86_64�"	quota-nls4.0414.el8noarch>	quota4.0414.el8x86_64=)+qt5-srpm-macros5.15.31.el8noarch
&-+qt5-srpm-macros5.15.21.el8.0.1noarch�B'Mqemu-kvm-core4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�D+Mqemu-kvm-common4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�G1Mqemu-kvm-block-ssh4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�G1Mqemu-kvm-block-rbd4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�I5Mqemu-kvm-block-iscsi4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�K9Mqemu-kvm-block-gluster4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�H3Mqemu-kvm-block-curl4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�=Mqemu-kvm4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�=Mqemu-img4.2.059.module+el8.5.0+726+ce09ee88.1x86_64�/1rpm-plugin-selinux4.14.324.el8_7x86_64	K11!rpm-plugin-selinux4.14.319.el8_5.2x86_64y-1rpm-plugin-selinux4.14.319.el8x86_642/1python3.11-tkinter3.11.92.el8_10x86_64�<Mpython363.6.839.module+el8.10.0+1592+61442852x86_64�:Ipython363.6.838.module+el8.5.0+671+195e4563x86_64	h
�J��>Y8L
�
��
�
J���	��T���_9��	��������
}K���p?	
�
�
~
P
%���y|m5H	@
�B��	��r��������UU&%E$!perl-Errno1.28421.el8x86_64
�E":Gperl-Devel-REPL-Plugin-LexEnv1.00302817.el8noarch�=Mperl-Devel-REPL-Plugin-Interrupt1.00302817.el8noarch�-5perl-Encode-HanExtra0.2328.el8x86_64�,3perl-Devel-Refcount0.1027.el8x86_64�7Aperl-Devel-REPL-Plugin-PPI1.00302817.el8noarch�;Iperl-Devel-REPL-Plugin-Nopaste1.00302817.el8noarch�AUperl-Devel-REPL-Plugin-MultiLine-PPI1.00302817.el8noarch�-3perl-Exception-Base0.25011.el8noarch�.9perl-Excel-Writer-XLSX1.033.el8noarch�"!perl-Event1.271.el8x86_64�39perl-Eval-WithLexicals1.00300610.el8noarch�*/perl-Env-Sanctify1.1217.el8noarch�-5perl-Encode-IMAPUTF71.0515.el8noarch�)-perl-Digest-SHA12.1323.el8x86_64l'+	perl-Digest-SHA6.021.el8x86_64G,5perl-Digest-Perl-MD51.918.el8noarch��'+perl-Digest-MD41.923.el8x86_64�&<Mperl-Devel-REPL-Plugin-Interrupt1.0030291.el8noarch96Aperl-Devel-REPL-Plugin-DDS1.0030291.el8noarch8A-Iperl-Digest-HMAC1.0317.module+el8.4.0+529+e3b3e624noarch�)+perl-Digest-CRC0.22.25.el8x86_64k%#perl-Digest1.17395.el8noarch�/9perl-Device-SerialPort1.0435.el8x86_64�(-perl-Devel-Timer0.131.el8noarch�*1	perl-Devel-Symdump2.185.el8noarchj;Qperl-Devel-StackTrace-WithLexicals2.0115.el8noarch�4Eperl-Devel-StackTrace-AsHTML0.159.el8noarch�-7	perl-Devel-StackTrace2.032.el8noarchi'+perl-Devel-Size0.812.el8x86_64F09perl-Devel-SelfStubber1.06421.el8noarch	�09perl-Devel-SelfStubber1.06420.el8noarch�;Iperl-Devel-REPL-Plugin-Refresh1.00302817.el8noarch�C1Iperl-Encode-Locale1.0510.module+el8.6.0+965+850557f9noarch	�-5perl-Digest-MD5-File0.0823.el8noarch�)+perl-Digest-MD52.55396.el8x86_64�A-Iperl-Digest-HMAC1.0317.module+el8.6.0+965+850557f9noarch	��(+perl-Email-MIME1.9541.el8noarchUD1Kperl-Encode-Locale1.0510.module+el8.9.0+1521+0101edcenoarch
�B-Kperl-Digest-HMAC1.0317.module+el8.9.0+1521+0101edcenoarch
�$!perl-Errno1.28422.el8x86_64�09perl-Devel-SelfStubber1.06422.el8noarch�+5perl-Directory-Queue2.21.el8noarch?:Iperl-Devel-REPL-Plugin-Refresh1.0030291.el8noarch>6Aperl-Devel-REPL-Plugin-PPI1.0030291.el8noarch=:Iperl-Devel-REPL-Plugin-Nopaste1.0030291.el8noarch<@Uperl-Devel-REPL-Plugin-MultiLine-PPI1.0030291.el8noarch;9Gperl-Devel-REPL-Plugin-LexEnv1.0030291.el8noarch:)/perl-Eval-Closure0.145.el8noarcho%!	perl-Error0.170252.el8noarch�$!perl-Errno1.28420.el8x86_64�"perl-Env1.04395.el8noarch�*/perl-Encode-devel2.973.el8x86_64�C1Iperl-Encode-Locale1.0510.module+el8.4.0+529+e3b3e624noarch1/9perl-Encode-EUCJPASCII0.0328.el8x86_64�+1perl-Encode-Detect1.0128.el8x86_64�$#perl-Encode2.973.el8x86_64�*-perl-Email-Valid1.20212.el8noarch�*/perl-Email-Simple2.2166.el8noarch�-/perl-Email-Sender1.3000319.el8noarch�.5perl-Email-MessageID1.40614.el8noarch�3?perl-Email-MIME-Encodings1.31517.el8noarch�4Cperl-Email-MIME-ContentType1.0241.el8noarch�(+perl-Email-MIME1.9491.el8noarch�09perl-Email-Date-Format1.00511.el8noarch�-7perl-Email-Address-XS1.046.el8x86_64�+1perl-Email-Address1.9125.el8noarch�-3perl-Email-Abstract3.00815.el8noarch�perl-EV4.223.el8x86_64�2?perl-DynaLoader-Functions0.0032.el8noarchn1=perl-Dist-CheckConflicts0.1111.el8noarchm/9perl-Directory-Scratch0.1817.el8noarch�+5perl-Directory-Queue2.11.el8noarch�&'perl-Dir-Self0.1114.el8noarch�
 ��	�

�
v�w
�
r	�	v�r��p+�<�C�P��2^�W�|dt�Hgg	
e\l#e\l�2129:a8193bf7c31c1350a3ffc431570b5b35841bf6392129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c8update��Ggg7	
eH�zeHЃ2121:4ca2edbd1f92ad01e9f733b0567935be0a8274802129:a8193bf7c31c1350a3ffc431570b5b35841bf6398install librtmp-devel}�Fgg+	
eH�eH�2120:cc7e71ca70e99afcca7b959ce30c8468a8c6143b2121:4ca2edbd1f92ad01e9f733b0567935be0a8274808install librtmp�P�Egg�O	
eH��eH��2119:dc1557e01f61a0a32c7879a73d0f0a92fa5dcd3b2120:cc7e71ca70e99afcca7b959ce30c8468a8c6143b8install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm -y��Dgg5	
eH��eH��2118:b72e58ebcd4c49d6baa6cd7d1660d736509da9e12119:dc1557e01f61a0a32c7879a73d0f0a92fa5dcd3b8install brotli-develB�Cg


eH�,2118:b72e58ebcd4c49d6baa6cd7d1660d736509da9e1updateP�Bg

5
eH��2118:b72e58ebcd4c49d6baa6cd7d1660d736509da9e1install brotli-develt�Agg	
e'�0e'�12118:f658e05a0d3757f387fde2a3814ca8b6a081cd342118:b72e58ebcd4c49d6baa6cd7d1660d736509da9e18updatey�@gg#	
e�e�2119:87dbccbb207127b433540793c665fcdd9d1420002118:f658e05a0d3757f387fde2a3814ca8b6a081cd348remove beepz�?gg%	
e��e��2118:f658e05a0d3757f387fde2a3814ca8b6a081cd342119:87dbccbb207127b433540793c665fcdd9d1420008install beepy�>gg#	
e�Se�X2116:0b12e5dc50d497af68e50e1228f4cb4c5ce84c452118:f658e05a0d3757f387fde2a3814ca8b6a081cd348install gdbt�=gg	
d�bd�r2116:6403c98c0675f51678eaf6015892dc9cfb0b98302116:0b12e5dc50d497af68e50e1228f4cb4c5ce84c458updateu�<gg
d�^d�c2116:6403c98c0675f51678eaf6015892dc9cfb0b98302116:6403c98c0675f51678eaf6015892dc9cfb0b98308updateB�;g


d��2116:6403c98c0675f51678eaf6015892dc9cfb0b9830updateB�:g


d��2116:6403c98c0675f51678eaf6015892dc9cfb0b9830updateB�9g


d�L2116:6403c98c0675f51678eaf6015892dc9cfb0b9830updateu�8gg
d�_d�2114:ad26772f8e81ac630491826f206ef7ac0e3ce0202116:6403c98c0675f51678eaf6015892dc9cfb0b98308updatez�7gg%	
d��pd��x2111:bf434d1705930babce76616effae2bd5666ff7b32114:ad26772f8e81ac630491826f206ef7ac0e3ce0208install perf��6gg7	
d�dd�d2110:26326e249ac3eb6ab151d003171550286e0d8a022111:bf434d1705930babce76616effae2bd5666ff7b38install clamav-update|�5gg)	
d�cd�c�2105:4d25a1be18df2018568990860b8e5d26828525c02110:26326e249ac3eb6ab151d003171550286e0d8a028install clamavz�4gg%	
d�^d�b2103:fb70b75b7bd5d8bf7025cd164d9b1acfa706c0c02105:4d25a1be18df2018568990860b8e5d26828525c08install lynx��3gg5	
d�`�d�a2102:9457257c32dfa1821285529f09db22d9f9afada02103:fb70b75b7bd5d8bf7025cd164d9b1acfa706c0c08install c-ares-devel|�2gg)	
d�`�d�`�2102:658b4dd5b1465771d0aa03bf33dd50748bc1e4e22102:9457257c32dfa1821285529f09db22d9f9afada08install c-ares��1gg9	
d���d��C2100:04f355bd66fc7eec6c8bd4a15a58256cfbe897a12102:658b4dd5b1465771d0aa03bf33dd50748bc1e4e28install -y mssql-toolst�0gg	
d`�"d`�22099:534418313741e233be616d5cc17cef55322eb90b2100:04f355bd66fc7eec6c8bd4a15a58256cfbe897a18update��/ggA	
d!�\d!�`2098:65271fd70b6816e73660360b4a778a9b5b5e34ca2099:534418313741e233be616d5cc17cef55322eb90b8install autoconf213.noarch��.gg3	
d/�d/�2097:ecdf92b21d7ac5533dced6b1caf48620492f4b392098:65271fd70b6816e73660360b4a778a9b5b5e34ca8install sssd-common��-gg3
d/fd/m2084:2ba7e0b94328fa4d2e2b305a8e5f980fcbfcdf442097:ecdf92b21d7ac5533dced6b1caf48620492f4b398install sssd-common��,gg1	
d/Cd/P2099:8cfa1ce7673d9c42409b4d45e5a2b45e0bf9128a2084:2ba7e0b94328fa4d2e2b305a8e5f980fcbfcdf448remove sssd-commonu�+gg
d/d/2099:8cfa1ce7673d9c42409b4d45e5a2b45e0bf9128a2099:8cfa1ce7673d9c42409b4d45e5a2b45e0bf9128a8updateu�*gg
d*�d-�2095:d05e198c6b42f67a1e10822b9429452ca2be5e232099:8cfa1ce7673d9c42409b4d45e5a2b45e0bf9128a8update|�)gg)	
c�Dc�I2094:45eb874fda7e3158d2187800bbe9a616f1546f602095:d05e198c6b42f67a1e10822b9429452ca2be5e238install bsdtar
P���qB����fD
�
�
�
�
O
,��a)���b9
�
�
�
m
E
	�	�	�		P	���P"��W�~2
���S,����\*����jF���9��y8�0�m9	�perl-Devel-SelfStubber1.06421.el8noarch)�l+	�perl-Devel-Peek1.26421.el8x86_64>�k)G	�perl-Data-Dump1.237.module+el8.6.0+965+850557f9noarch9�jG	�perl-DBI1.6414.module+el8.6.0+891+677074cbx86_64?�i+G	�perl-DBD-SQLite1.582.module+el8.6.0+896+cac283ecx86_64?�h)G	�perl-DBD-MySQL4.0463.module+el8.6.0+904+ef468285x86_64E�g5G	�perl-CPAN-Meta-Check0.0146.module+el8.6.0+961+8164b543noarchG�f9I	�perl-CPAN-DistnameInfo0.1213.module+el8.6.0+961+8164b543noarch1�e;	�perl-Attribute-Handlers0.99421.el8noarchD�d1G	�perl-App-cpanminus1.70445.module+el8.6.0+961+8164b543noarch!�c	�perl5.26.3421.el8x86_64!�b	�pcp-libs5.3.77.el8x86_64!�a	�pcp-conf5.3.77.el8x86_64"�`	�openjpeg22.4.05.el8x86_64%�_	�nss-util3.79.010.el8_6x86_64(�^#	�nss-sysinit3.79.010.el8_6x86_64/�]1	�nss-softokn-freebl3.79.010.el8_6x86_64(�\#	�nss-softokn3.79.010.el8_6x86_64 �[	�nss3.79.010.el8_6x86_64 �Z	�nspr4.34.03.el8_6x86_64*�Y)	!	�net-snmp-devel5.825.el8_7.1x86_64/�X3	!	�net-snmp-agent-libs5.825.el8_7.1x86_64$�W	!	�net-snmp5.825.el8_7.1x86_64;�VG	�mod_http21.15.75.module+el8.6.0+823+f143cee1x86_64'�U'	�mesa-libglapi22.1.52.el8x86_64%�T#	�mesa-libgbm22.1.52.el8x86_64$�S!	�mesa-libGL22.1.52.el8x86_64%�R#	�mesa-libEGL22.1.52.el8x86_64I�Q5I	�mariadb-server-utils10.3.351.module+el8.6.0+1005+cdf19c22x86_64C�P)I	�mariadb-server10.3.351.module+el8.6.0+1005+cdf19c22x86_64J�O7I	�mariadb-gssapi-server10.3.351.module+el8.6.0+1005+cdf19c22x86_64C�N)I	�mariadb-errmsg10.3.351.module+el8.6.0+1005+cdf19c22x86_64C�M)I	�mariadb-common10.3.351.module+el8.6.0+1005+cdf19c22x86_64C�L)I	�mariadb-backup10.3.351.module+el8.6.0+1005+cdf19c22x86_64<�KI	�mariadb10.3.351.module+el8.6.0+1005+cdf19c22x86_64+�J'!	�libxml2-devel2.9.715.el8_7.1x86_64A�I%O	�libvirt-libs8.0.010.2.module+el8.7.0+1151+ecbb9390x86_64)�H'	�libtiff-devel4.0.926.el8_7x86_64#�G	�libtiff4.0.926.el8_7x86_64+�F+	�libstdc++-devel8.5.016.el8_7x86_649�EI	�libserf1.3.99.module+el8.7.0+1065+42200b2ex86_64,�D/	�libmemcached-libs1.0.1817.el8x86_64'�C%	�libmemcached1.0.1817.el8x86_64�B	�libgs9.274.el8x86_64(�A+		�libglvnd-opengl1.3.41.el8x86_64%�@%		�libglvnd-glx1.3.41.el8x86_64&�?'		�libglvnd-gles1.3.41.el8x86_64%�>%		�libglvnd-egl1.3.41.el8x86_64'�=)		�libglvnd-devel1.3.41.el8x86_64,�<3		�libglvnd-core-devel1.3.41.el8x86_64!�;		�libglvnd1.3.41.el8x86_64!�:	�libdrm2.4.1111.el8x86_64(�9%	�libXpm-devel3.5.129.el8_7x86_64&�8%	�libXpm-devel3.5.129.el8_7i686"�7	�libXpm3.5.129.el8_7x86_64 �6	�libXpm3.5.129.el8_7i686>�5C	'	�java-1.8.0-openjdk-headless1.8.0.362.b092.el8_7x86_64;�4=	'	�java-1.8.0-openjdk-devel1.8.0.362.b092.el8_7x86_645�31	'	�java-1.8.0-openjdk1.8.0.362.b092.el8_7x86_64A�2#O	�httpd-tools2.4.3751.module+el8.7.0+1155+5163394a.1x86_64F�1-O	�httpd-filesystem2.4.3751.module+el8.7.0+1155+5163394a.1noarch;�0O	�httpd2.4.3751.module+el8.7.0+1155+5163394a.1x86_64 �/	�gtk33.22.3011.el8x86_641�.7	�gtk-update-icon-cache3.22.3011.el8x86_64(�-%	�git-core-doc2.31.13.el8_7noarch$�,	�git-core2.31.13.el8_7x86_64�+	�git2.31.13.el8_7x86_64$�*%	�gdb-headless8.219.el8x86_64#�)	�gcc-c++8.5.016.el8_7x86_64�(	�gcc8.5.016.el8_7x86_64 �'	�fribidi1.0.49.el8x86_64�&	�cpp8.5.016.el8_7x86_64(�%'	�cairo-gobject1.15.126.el8x86_64 �$	�cairo1.15.126.el8x86_64 �#	�annobin10.673.el8x86_64#�"	�alsa-lib1.2.7.21.el8x86_64,�!1	�adwaita-icon-theme3.28.03.el8noarch.� 5	�adwaita-cursor-theme3.28.03.el8noarch'�	�libsecret0.18.61.el8.0.2x86_641�))	�kernel-modules4.18.0425.13.1.el8_7x86_64
he�0����������������xph`XPH@80( ����������������x`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@8ph����������xph`XPH@80( ����������������xph`XPH@h��<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q��o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�p�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������

���������udR@/
��������raP>,

�
�
�
�
�
�
�
�
q
`
O
>
-

�������~lZH6$�������xgVD2 
�
�
�
�
�
�
�
�
o
^
L
:
)

	�	�	�	�	�	�	�	|	j	Y	H	6	$		�������veTB0��������p^L:(�������xfUD3"�������raP?.��������r`O>,	��������n]L;*�������xgVD2 ������		�
7�
		���			�
6�		���		�
5�	���	�
4�	���	�
3�		���		�
2�	���	�
1�~		���}		�
0�|	���{	�
/�z	���y	�
.�x	���w	�
-�v		���u		�
,�t		���s		�
+�r	���q	�
*�p		���o		�
)�n		���m		�
(�l		���k		�
'�j		���i		�
&�h	���g	�
%�f		��e		�
$�d	�~�c	�
#�b		���a		�
"�`		���_		�
!�^		���]		�
 �\		�	�[		�
�Z		��Y		�
�X		���W		�
�V		��U		�
�T	�<�S	�
�R	���Q	�
�P	���O	�
�N		���M		�
�L		���K		�
�J		��I		�
�H		���G		�
�F	���E	�
�D	���C	�
�B		���A		�
�@		�\�?		�
�>	���=	�
�<	���;	�
�:	���9	�
�8	���7	�

�6	���5	�
�4		���3		�
�2		�W�1		�

�0	���/	�
	�.		���-		�
�,	���+	�
�*		���)		�
�(	���'	�
�&		���%		�
�$		�P�#		�
�"	���!	�
� 		���		�
�	���	�
�		���		�	��	���	�	��		���		�	��		���		�	��	���	�	��		���		�	��		���		�	��	���
	�	��		���		�	��
	���		�	��	���	�	��	���	�	��		���		�	��	�B�	�	��	�3�	�	��~		���}		�	��|		���{		�	��z		���y		�	��x		���w		�	��v		���u		�	��t	���s	�	��r	���q	�	��p	���o	�	��n	���m	�	��l		���k		�	��j	���i	�	��h	���g	�	��f		���e		�	��d		���c		�	��b		���a		�	��`		���_		�	��^		���]		�	��\		���[		�	��Z		���Y		�	��X		���W		�	��V		���U		�	��T	���S	�	��R		���Q		�	��P	���O	�	��N		���M		�	��L		���K		�	��J		���I		�	��H		���G		�	��F		���E		�	��D	���C	�	��B		���A		�	��@	���?	�	��>		���=		�	��<		���;		�	��:	��
C��vF��N'
�
�
t
0��c"��K
�
�
r
,	�	�	�	C	���Q$��lF��R��{U,	��l��nB��`��D��@�0'K
2rubygem-psych3.0.2110.module+el8.6.0+992+fc951c18x86_64B�/+K
1rubygem-openssl2.1.2110.module+el8.6.0+992+fc951c18x86_64?�.%K
0rubygem-json2.1.0110.module+el8.6.0+992+fc951c18x86_64E�-1K
/rubygem-io-console0.4.6110.module+el8.6.0+992+fc951c18x86_64G�,5K
.rubygem-did_you_mean1.2.0110.module+el8.6.0+992+fc951c18noarchE�+1K
-rubygem-bigdecimal1.3.4110.module+el8.6.0+992+fc951c18x86_64<�*K
,ruby-libs2.5.9110.module+el8.6.0+992+fc951c18x86_64;�)K
+ruby-irb2.5.9110.module+el8.6.0+992+fc951c18noarch7�(K
*ruby2.5.9110.module+el8.6.0+992+fc951c18x86_64(�'/
)redhat-rpm-config1301.el8noarch)�&+
(qt5-srpm-macros5.15.31.el8noarch(�%1
'python3-rpm-macros343.el8noarchC�$/I
&python2-pip-wheel9.0.319.module+el8.6.0+793+57002515noarch=�##I
%python2-pip9.0.319.module+el8.6.0+793+57002515noarchJ�"%_
$python2-libs2.7.1811.module+el8.7.0+1062+663ba31c.rocky.0.2x86_64E�!_
#python22.7.1811.module+el8.7.0+1062+663ba31c.rocky.0.2x86_64(� 1
"python-srpm-macros343.el8noarch'�/
!python-rpm-macros343.el8noarch �
 pixman0.38.42.el8x86_64&�!
perl-utils5.26.3421.el8noarch#�
perl-open1.11421.el8noarch@�-G
perl-libwww-perl6.341.module+el8.6.0+965+850557f9noarch+�)
perl-libnetcfg5.26.3421.el8noarch'�!
perl-devel5.26.3421.el8x86_649�G
perl-YAML1.243.module+el8.6.0+953+b8fc4031noarchD�3I
perl-WWW-RobotRules6.0218.module+el8.6.0+965+850557f9noarch=�'G
perl-Try-Tiny0.307.module+el8.6.0+965+850557f9noarch>�'	I
perl-TimeDate2.3015.module+el8.6.0+965+850557f9noarch)�+
perl-Time-Piece1.31421.el8x86_64#�
perl-Test1.30421.el8noarch?�'I
perl-Sys-Virt8.0.01.module+el8.7.0+1084+97b81f61x86_64G�9I
perl-String-ShellQuote1.0424.module+el8.6.0+961+8164b543noarch)�+
perl-SelfLoader1.23421.el8noarch*�'
perl-Pod-Html1.22.02421.el8noarchA�/G
perl-Parse-PMFile0.417.module+el8.6.0+961+8164b543noarch&�
'
perl-PCP-PMDA5.3.77.el8x86_64%�%
perl-PCP-MMV5.3.77.el8x86_64,�3

perl-PCP-LogSummary5.3.77.el8x86_64+�
1
perl-PCP-LogImport5.3.77.el8x86_64?�	+G
perl-Net-SSLeay1.882.module+el8.6.0+957+15d660adx86_64'�'

perl-Net-Ping2.55421.el8noarch=�'G
	perl-Net-HTTP6.172.module+el8.6.0+965+850557f9noarch:�I
perl-NTLM1.0917.module+el8.6.0+965+850557f9noarchC�+G
perl-Mozilla-CA201601047.module+el8.6.0+965+850557f9noarch,�1	
perl-Module-Loaded0.08421.el8noarchF�5G
perl-Module-CPANfile1.10027.module+el8.6.0+961+8164b543noarch&�%
perl-Memoize1.03421.el8noarch5�C	
perl-Locale-Maketext-Simple0.21421.el8noarchG�;G
perl-LWP-Protocol-https6.074.module+el8.6.0+965+850557f9noarchD�3I
perl-LWP-MediaTypes6.0215.module+el8.6.0+965+850557f9noarchC�~1G
perl-IO-Socket-SSL2.0664.module+el8.6.0+957+15d660adnoarch>�}%I	�perl-IO-HTML1.00111.module+el8.6.0+965+850557f9noarchD�|3I	�perl-HTTP-Negotiate6.0119.module+el8.6.0+965+850557f9noarchA�{/G	�perl-HTTP-Message6.181.module+el8.6.0+965+850557f9noarch?�z)I	�perl-HTTP-Date6.0219.module+el8.6.0+965+850557f9noarchA�y/G	�perl-HTTP-Cookies6.042.module+el8.6.0+965+850557f9noarchA�x-I	�perl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarchA�w-I	�perl-HTML-Parser3.7215.module+el8.6.0+965+850557f9x86_64(�v%	�perl-Git-SVN2.31.13.el8_7noarch$�u	�perl-Git2.31.13.el8_7noarch@�t+G	�perl-File-pushd1.0146.module+el8.6.0+961+8164b543noarchB�s/I	�perl-File-Listing6.0417.module+el8.6.0+965+850557f9noarch:�r	I	�perl-FCGI0.7811.module+el8.6.0+916+2b7f97e1x86_640�q9	�perl-ExtUtils-Miniperl1.06421.el8noarch-�p3	�perl-ExtUtils-Embed1.34421.el8noarchC�o1I	�perl-Encode-Locale1.0510.module+el8.6.0+965+850557f9noarchA�n-I	�perl-Digest-HMAC1.0317.module+el8.6.0+965+850557f9noarch

S����_��1���K�
�
�
�
�

V
-
	�	�	|	S	$���l�;����vj
yBlI:
K?#
$��
�r�����Y+���U$���`1���wK���i7���1;perl-Ocsinventory-Agent2.10.21.el8noarchV*'perl-PCP-PMDA5.3.720.el8_10x86_64v)%perl-PCP-MMV5.3.720.el8_10x86_64u03perl-PCP-LogSummary5.3.720.el8_10x86_64t/1perl-PCP-LogImport5.3.720.el8_10x86_64s''perl-PCP-PMDA5.3.718.el8x86_64
�,5perl-Params-Validate1.295.el8x86_64�)-perl-Params-Util1.0722.el8x86_64X+1perl-Params-Coerce0.1430.el8noarch -5perl-Params-Classify0.0152.el8x86_64�+/	perl-Params-Check0.38395.el8noarchW/9perl-Parallel-Iterator1.0024.el8noarch1?perl-Parallel-ForkManager2.025.el8noarch%)perl-PadWalker2.32.el8x86_64�15perl-Package-Variant1.00300215.el8noarch.7perl-Package-Stash-XS0.2817.el8x86_64�*1perl-Package-Stash0.379.el8noarch�09perl-Package-Generator1.10611.el8noarchV7Kperl-Package-DeprecationManager0.175.el8noarch�/9	perl-Package-Constants0.0619.el8noarch03perl-PPIx-Utilities1.00100035.el8noarch)-perl-PPIx-Regexp0.0681.el8noarch,3perl-PPIx-QuoteLike0.0081.el8noarch&'perl-PPI-HTML1.0821.el8noarch!perl-PPI1.2701.el8noarch5Eperl-POSIX-strftime-Compiler0.4211.el8noarch-3perl-POE-Test-Loops1.36018.el8noarch-3perl-POE-Loop-Event1.30515.el8noarch!perl-POE1.3685.el8noarch/9perl-PHP-Serialization0.3416.el8noarch"perl-PDL2.32.01.el8x86_64&'perl-PCP-PMDA5.3.15.el8x86_64�%%perl-PCP-MMV5.3.15.el8x86_64�,3perl-PCP-LogSummary5.3.15.el8x86_64�+1perl-PCP-LogImport5.3.15.el8x86_64�(+perl-PAR-Packer1.0522.el8x86_64&'perl-PAR-Dist0.4923.el8noarch!perl-PAR1.0172.el8noarch&#perl-OpenGL0.700016.el8x86_64
0;perl-Ocsinventory-Agent2.9.11.el8noarch.1perl-Object-Remote0.0040014.el8noarch1?perl-Object-Realize-Later0.217.el8noarch
()perl-Object-ID0.1.218.el8noarch	-5	perl-Object-Accessor0.4819.el8noarch.7perl-OLE-Storage_Lite0.1927.el8noarch(-perl-Number-Misc1.213.el8noarch+1perl-Number-Format1.7513.el8noarch,3perl-Number-Compare0.0319.el8noarch�0;perl-Number-Bytes-Human0.1110.el8noarch&+perl-No-Worries1.71.el8noarch(-perl-Nmap-Parser1.378.el8noarch(+perl-NetAddr-IP4.0797.el8x86_64�&'perl-Net-XMPP1.0517.el8noarch&'	perl-Net-UPnP1.4.64.el8noarch'+perl-Net-Telnet3.053.el8noarch�(+perl-Net-Server2.0093.el8noarch�,7perl-Net-STOMP-Client2.51.el8noarch�?+Gperl-Net-SSLeay1.881.module+el8.4.0+512+d4f0fc54x86_64�*-perl-Net-SSLGlue1.05810.el8noarch�)'perl-Net-SNMP6.0.125.el8.1noarch�&)perl-Net-SMTPS0.104.el8noarch�)/perl-Net-SMTP-SSL1.045.el8noarch�-7perl-Net-SFTP-Foreign1.904.el8noarch�''perl-Net-Ping2.55420.el8noarchU&'perl-Net-Pcap0.1814.el8x86_64�*/perl-Net-Patricia1.2223.el8x86_64�(-perl-Net-OpenSSH0.801.el8noarch�"&%perl-PCP-MMV5.3.718.el8x86_64
�-3perl-PCP-LogSummary5.3.718.el8x86_64
�,1perl-PCP-LogImport5.3.718.el8x86_64
�@+Iperl-Net-SSLeay1.882.module+el8.9.0+1517+e71a7a62x86_64
�)'perl-PCP-PMDA5.3.717.el8_8x86_64�(%perl-PCP-MMV5.3.717.el8_8x86_64�/3perl-PCP-LogSummary5.3.717.el8_8x86_64�.1perl-PCP-LogImport5.3.717.el8_8x86_64�''perl-Net-Ping2.55422.el8noarch�0;perl-Ocsinventory-Agent2.9.31.el8noarchG&'perl-PCP-PMDA5.3.77.el8x86_64

%%perl-PCP-MMV5.3.77.el8x86_64
,3perl-PCP-LogSummary5.3.77.el8x86_64
+1perl-PCP-LogImport5.3.77.el8x86_64

?+Gperl-Net-SSLeay1.882.module+el8.6.0+957+15d660adx86_64
	''perl-Net-Ping2.55421.el8noarch

����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
��

�/�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



�����������P������xph`XPH@80( ��������p�������`�xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�h	�	�	�	x	p	h	`�	X	P	H	@	8	0	(	 				����������������xph`XPH@�80( �����������������xph`XPH@�8�0�(� ���������������������x���xph`XXPH@80( ����������������xph`XPH@80( �����(����������������xph`XPH@������������xp h`XPH@80(����������������xph`XPH@�XWVUTSRQPO
NML
K	JIHGFEDCBA�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>=~<};|:{9z8y7x6w5v4u3t2s1r0q/p.o-n,m+l*k)j(i'h&g%f$e#d"c!b a`_^]\[ZYXWVUTSRQPO
NML
K	JIHGFEDCBA�@���A��:����������������������������������
W��|<���^!
�
�
�
x
P
#
���_3���M"
�
�
�
�
V
+	�	�	�	}	M	���d(���kB����b1
���~Y5
���u>��^ ����mD���c/��1�+!
�iwl135-firmware18.168.6.1110.el8.1noarch1�+!
�iwl105-firmware18.168.6.1110.el8.1noarch1�-	
�iwl1000-firmware39.31.5.1110.el8.1noarch0�+
�iwl100-firmware39.31.5.1110.el8.1noarch$�!
�irqbalance1.9.03.el8x86_64$�
�iputils2018062910.el8x86_64+�'!
�iptables-libs1.8.423.el8_7.1x86_64/�/!
�iptables-ebtables1.8.423.el8_7.1x86_64&�!
�iptables1.8.423.el8_7.1x86_64!�~
�iproute5.18.01.el8x86_64'�}#
initscripts10.00.181.el8x86_64�|
~info6.57.el8x86_64"�{
}hwdata0.3148.14.el8noarch�z
|grubby8.4047.el8x86_64;�y3	7
{grub2-tools-minimal2.02142.el8_7.3.rocky.0.2x86_649�x/	7
zgrub2-tools-extra2.02142.el8_7.3.rocky.0.2x86_643�w#	7
ygrub2-tools2.02142.el8_7.3.rocky.0.2x86_648�v-	7
xgrub2-pc-modules2.02142.el8_7.3.rocky.0.2noarch0�u	7
wgrub2-pc2.02142.el8_7.3.rocky.0.2x86_644�t%	7
vgrub2-common2.02142.el8_7.3.rocky.0.2noarch �s
ugpgme1.13.111.el8x86_64"�r
tgnutls3.6.165.el8_6x86_64(�q%
sgnupg2-smime2.2.203.el8_6x86_64"�p
rgnupg22.2.203.el8_6x86_64%�o#
qglib22.56.4158.el8_6.1x86_64!�n	
pgdbm-libs1.182.el8x86_64"�m!	
ogdbm-devel1.182.el8x86_64�l	
ngdbm1.182.el8x86_64�k
mgawk4.2.14.el8x86_64#�j
lfuse-libs2.9.716.el8x86_64'�i)
kfreetype-devel2.9.19.el8x86_64!�h
jfreetype2.9.19.el8x86_64.�g5
ifirewalld-filesystem0.9.313.el8noarch#�f
hfirewalld0.9.313.el8noarch"�e
gfile-libs5.3321.el8x86_64�d
ffile5.3321.el8x86_64)�c#!
eexpat-devel2.2.510.el8_7.1x86_64#�b!
dexpat2.2.510.el8_7.1x86_64 �a
cethtool5.132.el8x86_64&�`'
belfutils-libs0.1874.el8x86_64.�_7
aelfutils-libelf-devel0.1874.el8x86_64(�^+
`elfutils-libelf0.1874.el8x86_64'�])
_elfutils-devel0.1874.el8x86_644�\C
^elfutils-default-yama-scope0.1874.el8noarch9�[M
]elfutils-debuginfod-client-devel0.1874.el8x86_643�ZA
\elfutils-debuginfod-client0.1874.el8x86_64!�Y
[elfutils0.1874.el8x86_64(�X)
Ze2fsprogs-libs1.45.65.el8x86_64#�W
Ye2fsprogs1.45.65.el8x86_64;�V57
Xdracut-config-rescue049218.git20221019.el8_7x86_64-�U7
Wdracut049218.git20221019.el8_7x86_64 �T	
Vdmidecode3.34.el8x86_64/�S1
Udevice-mapper-libs1.02.1816.el8x86_64*�R'
Tdevice-mapper1.02.1816.el8x86_64)�Q!	!
Sdbus-tools1.12.823.el8_7.1x86_64(�P	!
Rdbus-libs1.12.823.el8_7.1x86_64*�O#	!
Qdbus-daemon1.12.823.el8_7.1x86_64*�N#	!
Pdbus-common1.12.823.el8_7.1noarch#�M	!
Odbus1.12.823.el8_7.1x86_64#�L!
Ncurl7.61.125.el8_7.3x86_64#�K	
Mcups-libs2.2.650.el8x86_64(�J+
Lcryptsetup-libs2.3.72.el8x86_64>�I;-
Kcrypto-policies-scripts202111161.gitae470d6.el8noarch6�H+-
Jcrypto-policies202111161.gitae470d6.el8noarch'�G)
Icronie-anacron1.5.28.el8x86_64�F
Hcronie1.5.28.el8x86_64�E
Gcpio2.1211.el8x86_64)�D-
Fcoreutils-common8.3013.el8x86_64"�C
Ecoreutils8.3013.el8x86_641�B+!
Dca-certificates2022.2.5480.2.el8_6noarch �A
Cc-ares1.13.06.el8x86_64"�@
Bbinutils2.30117.el8x86_64 �?
Abash4.4.204.el8_6x86_64*�>+
@authselect-libs1.2.52.el8_7x86_64%�=!
?authselect1.2.52.el8_7x86_64�<
>yajl2.1.011.el8x86_64"�;
=xinetd2.3.1525.el8x86_64;�:M
<varnish6.0.82.module+el8.7.0+1094+66cdd070.1x86_64"�9	
;valgrind3.19.01.el8x86_64:�8I
:utf8proc2.6.13.module+el8.7.0+1065+42200b2ex86_64$�7#
9tzdata-java2022g1.el8noarch*�63
8systemtap-sdt-devel4.71.el8x86_64B�5+I
7subversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64B�4+I
6subversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64=�3!I
5subversion1.10.25.module+el8.7.0+1065+42200b2ex86_64=�2K
4rubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarchA�1%K
3rubygem-rdoc6.0.1.1110.module+el8.6.0+992+fc951c18noarch
���������xgUC2!��������veUD4"
�
�
�
�
�
�
�
z
j
X
G
6
%

�������}l\K;*��������o^N=,	
�
�
�
�
�
�
�
�
p
_
N
>
-

	�	�	�	�	�	�	�	�	s	b	Q	@	0		��������vfUE4$�������{jZH7&�������~m[J9)�������}kYG5#��������o]K9'�������xfUD3"�������veTC2!������a		�
��`		���_		�
��^		���]		�
��\		���[		�
��Z		�	<�Y		�
��X		���W		�
��V		�"�U		�
��T		���S		�
��R		�%�Q		�
��P	���O	�
��N		���M		�
��L		���K		�
��J		���I		�
��H	���G	�
��F		���E		�
�
�D		�x�C		�
��B	���A	�
��@	���?	�
��>	���=	�
��<	���;	�
��:	���9	�
��8	���7	�
��6	���5	�
��4	���3	�
��2	���1	�
��0	���/	�
��.	���-	�
��,	���+	�
��*	���)	�
��(	�j�'	�
��&	�i�%	�
�
�$		�h�#		�
�
�"		�g�!		�
�
� 		�f�		�
��	�b�	�
��	�a�	�

�		�`�		�
~
�		�^�		�
}�	�Y�	�
|
�		�X�		�
{
�		�W�		�
z�	�V�	�
y
�		�U�
		�
x�	�T�	�
w
�
		�S�			�
v
�		�P�		�
u
�		�N�		�
t�	�M�	�
s
�		�L�		�
r
�		�G�		�
q
�~		�D�}		�
p�|	���{	�
o
�z		�C�y		�
n
�x		�B�w		�
m
�v		�A�u		�
l�t		���s		�
k
�r		�@�q		�
j�p		���o		�
i�n	���m	�
h
�l		�;�k		�
g
�j		�:�i		�
f�h		���g		�
e�f		���e		�
d
�d		�8�c		�
c
�b		�7�a		�
b�`		���_		�
a
�^		�6�]		�
`�\		���[		�
_
�Z		�5�Y		�
^�X	���W	�
]�V	�4�U	�
\�T		��S		�
[
�R		�3�Q		�
Z�P	�2�O	�
Y�N	�/�M	�
X
�L		�.�K		�
W
�J		�*�I		�
V�H		���G		�
U�F		���E		�
T
�D		�&�C		�
S
�B		�%�A		�
R
�@		�#�?		�
Q
�>		�"�=		�
P
�<		�!�;		�
O�:	��9	�
N�8		���7		�
M�6		�b�5		�
L�4	��3	�
K
�2		��1		�
J
�0		��/		�
I�.	��-	�
H
�,		��+		�
G
�*		��)		�
F�(	��'	�
E
�&		��%		�
D
�$		��#		�
C�"		���!		�
B� 	�
�	�
A
�		��		�
@�	�
�	�
?�		���		�
>�		�	�		�
=�	���	�
<�		���		�
;�		���		�
:�		���		�
9�		�>�
		�
8�		��
*�����������saO7
�
�
�
�
�
�
�
�
|
n
`
T
H
,

	����������ui]QE9-!����������qcP=0
�
�
�
�
�
�
�
�
�
|
j
X
F
5
$

	�	�	�	�	�	�	�	�	w	j	]	P	C	)		��������vfP:$��������tbP>,���������|obWL@4(��������q^K8%��������t`�N<*�������t^H�7&���������wbM8#���ufWI;al��'libtalloc
�libtalloc�
libsysfs
�
libsysfs�+libstdc++-develP+libstdc++-devel
�+libstdc++-devel�+libstdc++-devel	�+libstdc++-devel\libstdc++�libstdc++olibstdc++|libstdc++
�libstdc++klibstdc++�#libsss_sudo�#libsss_sudo�#libsss_sudon#libsss_sudo{#libsss_sudo
�#libsss_sudo_#libsss_sudo�-libsss_nss_idmap�-libsss_nss_idmap�-libsss_nss_idmapm-libsss_nss_idmapz-libsss_nss_idmap
�-libsss_nss_idmapj-libsss_nss_idmap�%libsss_idmap�%libsss_idmap�%libsss_idmapl%libsss_idmapy%libsss_idmap
�%libsss_idmapi%libsss_idmap�)libsss_certmap�)libsss_certmap�)libsss_certmapk)libsss_certmapx)libsss_certmap
�)libsss_certmaph)libsss_certmap�'libsss_autofs�'libsss_autofs�'libsss_autofsj'libsss_autofsw'libsss_autofs
�'libsss_autofsg'libsss_autofs�'libssh2-devel
7'libssh2-devel�libssh2
6libssh2�'libssh-config�'libssh-config�'libssh-configv'libssh-config
�'libssh-config�libssh�libssh�libsshulibssh
�libssh�
libss
�
libss�libspf2
5libspf2�libsoup�libsoupilibsouptlibsoup*libsolvhlibsolv
�libsolv	libsolv�+libsodium-develblibsodiuma%libsmartcols�%libsmartcolsg%libsmartcolss%libsmartcols
�%libsmartcols	>%libsmartcols�!libsigsegv�libserf	�libserf[)libsepol-devel'
libsepol�#libsemanage	�#libsemanage�-libselinux-utilsr-libselinux-utils
�-libselinux-utils�-libselinux-develq-libselinux-devel
�-libselinux-devel&!libselinuxp!libselinux
�!libselinux�libsecret	�!libseccomp
�!libseccomp�'librtmp-devel
Slibrtmp
K
librsvg2
�
librsvg2Z
libretls�5libreport-filesystem�5libreport-filesystem�librepo�librepoolibrepo
�librepo�%libref_array
�%libref_array�librdmacm�librdmacm�librdmacm)librbd1Ylibraqm�librados2X#libquadmath�#libquadmathf#libquadmathn#libquadmath
�#libquadmath(%libpwqualitym%libpwquality
�%libpwquality�libpsl�
libproxy'!libprelude�#libpq-develJ
libpqW%libpng-devel�libpng�!libpmemblk�libpmemV!libpkgconf�#libpipeline�%libpciaccess&libpcap�'libpath_utils
�'libpath_utils�
libpaperU%libomp-develO%libomp-devel
�%libomp-devel�%libomp-devel	�libompNlibomp
�libomp�libomp	�liboggT'libnsl2-devel	Slibnsl2�libnsl�libnsl�libnslelibnsl
 libnslllibnsl	=libnsl�libnsl�!libnl3-cli�libnl3
�libnl3�!libnghttp2
F!libnghttp2�
libnftnld
libnftnl
�
libnftnl�#libnfsidmapk#libnfsidmap
�#libnfsidmap�%libnfnetlink�9libnetfilter_conntrack�libndp�libmpc�
libmount�
libmountc
libmountj
libmount
�
libmount	<
libmount�#libmodulemd�libmodman%libmnl�#libmetalink/libmemcached-libs	�/libmemcached-libs{1libmemcached-devel(1libmemcached-devel%libmemcached	�%libmemcachedz+libmcrypt-devel~libmcrypt}libmcpp�%libmaxminddb�%libmaxminddbSliblzf�libldb�libldbblibldbilibldb
�libldb�libksba
�libksba�
libtasn1
�
libtasn1�libtalloc�libtallocplibtalloc}#libsss_sudo�-libsss_nss_idmap�%libsss_idmap�)libsss_certmap�'libsss_autofs�libnsl�!libnghttp2�
�O�~<��v6
�
�
�
`
>
����hA&
���wS2
�
�
�
~
\
@
	�	�	�	�	i	G	���d9���jC���{V1��mE#���\)����a-���_+����b.�3+%iwl100-firmware39.31.5.1122.el8_10.1noarch���3-	#iwl1000-firmware39.31.5.1114.el8_8.1noarchI3-	#iwl1000-firmware39.31.5.1111.el8_7.1noarchf1-	iwl1000-firmware39.31.5.1110.el8.1noarch
�3-	#iwl1000-firmware39.31.5.1104.el8_5.1noarch�0-	iwl1000-firmware39.31.5.1103.el8.1noarchj0+iwl100-firmware39.31.5.1121.el8.1noarch�2+#iwl100-firmware39.31.5.1120.el8_9.1noarchA2+#iwl100-firmware39.31.5.1117.el8_8.1noarch
2+#iwl100-firmware39.31.5.1114.el8_8.1noarchH2+#iwl100-firmware39.31.5.1111.el8_7.1noarche0+iwl100-firmware39.31.5.1110.el8.1noarch
�2+#iwl100-firmware39.31.5.1104.el8_5.1noarch�/+iwl100-firmware39.31.5.1103.el8.1noarchi!iso-codes3.792.el8noarchA'+isns-utils-libs0.991.el8x86_64isl0.16.16.el8x86_64�DI-iscsi-initiator-utils-iscsiuio6.2.1.44.git095f59c.el8x86_64;7-iscsi-initiator-utils6.2.1.44.git095f59c.el8x86_64$!irqbalance1.9.21.el8x86_64@$!irqbalance1.9.04.el8x86_64G$!irqbalance1.9.03.el8x86_64
�#!irqbalance1.4.06.el8x86_64h6)/ipxe-roms-qemu201812148.git133f4c47.el8noarch@"iputils201806297.el8x86_64g$iputils2018062911.el8x86_64?$iputils2018062910.el8x86_64
�&'iptables-libs1.8.59.el8x86_64>''iptables-libs1.8.511.el8x86_64�+'!iptables-libs1.8.424.el8_8.2x86_64
''iptables-libs1.8.424.el8x86_64F+'!iptables-libs1.8.423.el8_7.1x86_64
�&'iptables-libs1.8.420.el8x86_64f*/iptables-ebtables1.8.59.el8x86_64=+/iptables-ebtables1.8.511.el8x86_64�//!iptables-ebtables1.8.424.el8_8.2x86_64
+/iptables-ebtables1.8.424.el8x86_64E//!iptables-ebtables1.8.423.el8_7.1x86_64
�*/iptables-ebtables1.8.420.el8x86_64e!iptables1.8.59.el8x86_64<"iptables1.8.511.el8x86_64�&!iptables1.8.424.el8_8.2x86_64

"iptables1.8.424.el8x86_64D&!iptables1.8.423.el8_7.1x86_64
!iptables1.8.420.el8x86_64d !ipset-libs7.11.el8x86_64cipset7.11.el8x86_64b!iprutils2.4.191.el8x86_64a$!iproute-tc5.12.04.el8x86_64#iproute6.2.06.el8_10x86_64�"iproute6.2.05.el8_9x86_64;!iproute5.18.01.el8x86_64
~%iproute5.18.01.1.el8_8x86_64C iproute5.12.04.el8x86_64`#ipmitool1.8.1819.el8x86_64
�#ipmitool1.8.1818.el8x86_64?ipcalc0.2.44.el8x86_64'#initscripts10.00.181.el8x86_64
}&#initscripts10.00.151.el8x86_64_info6.57.el8x86_64
|info6.56.el8x86_64^&'ima-evm-utils1.3.212.el8x86_64]''ilmbase-devel2.2.013.el8x86_64w!ilmbase2.2.013.el8x86_64>"hwdata0.3148.22.el8noarch�"hwdata0.3148.19.el8noarch:"hwdata0.3148.16.el8noarchB"hwdata0.3148.14.el8noarch
{!hwdata0.3148.10.el8noarch\/)%hunspell-en-US0.20140811.112.el8noarch=!hunspell1.6.21.el8x86_64<B#Qhttpd-tools2.4.3765.module+el8.10.0+1842+4a9649e8.2x86_64n@#Mhttpd-tools2.4.3764.module+el8.10.0+1717+030a9fedx86_649?#Khttpd-tools2.4.3762.module+el8.9.0+1436+2b7d5021x86_64
�A#Ohttpd-tools2.4.3756.module+el8.8.0+1456+d0a01c5e.7x86_64�A#Ohttpd-tools2.4.3756.module+el8.8.0+1284+07ef499e.6x86_64�A#Ohttpd-tools2.4.3751.module+el8.7.0+1182+86a6cd60.5x86_64UA#Ohttpd-tools2.4.3751.module+el8.7.0+1155+5163394a.1x86_64	�@#Mhttpd-tools2.4.3743.module+el8.5.0+747+83fae388.3x86_64�A
��@��xh`XPH�@�80�(����������p�����xph�`XPH�@X8P0H( �����

�
0
(�0�(� 
�
�
�
�
�
�
�
�
�
�
�	�
�	�
�	x
��
�	p
�	h
x�
pH
h@
`�
X�
P�
H
@�������xph�`������������x���������������x�pxph`XPH@80( ph`X������������P�H�	�	�@�8�	�����0�(����x�p���������x
p
h `X
 PHP@H8@0(8 ��������������������� �����������8x�p�h�`�X0P�Hx@8p0�(� 	`	X	P	H	@
�	8
�	0
�	(
�	 
�
�
�
�h
�
8
�
�	
�@(
�
��
�`
�X
x�
pP
h�X 
`h
XH
P@
H
@�
8�
08
(0
 (
 


	�	��	��	��	��	�`	��	�h	�	�	�`	�X	�P	�	��	��
]�
\~
[|
Xz	�H	��	�?	��
Ij
Hh
Ab	��	��	�|	�j	�J
Wx
Up
Tn
Sl
Rj
Qh
Pf
Od
Nb
M`
L^
K\
JZ
FX
EV
BR
@P
?N
8H
)>
':
$6
#4
"2
!0
.
,
*
(
&
$
"
 










	�
	�	�	�	�	�	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	�@	��
CY	�G	�F	�E	�D	�C	��	�B	�A	�F	�	�	�	�	�
	�	�		�	�	�	�	��	��	��	��	��	��	��	��	��	�h


<�
%
 
<�	��	��	��
VM
DI	�;	�9	�7	�5	�3	�1	�/	�-	��	�l	�j	��	��	��
+(
*&
&	�p	�g	�n	�e	�c	�a	�`	�_	�^	�]	�\	�[	��	�Z	�X	�T	�W	�U	�S	�Q	�O	�D	�M	�B	�K	��	�I	��	�H	��	��	��	��	��	��	��
;D
4:
38
26
14
02
/0
..
-,
,*	��	��	��	��	��
^�
]�
\�
[�
Z�
Y�
X�
W�
V�
U�
T�
S�
R�
Q�
P�
O�
N�
M�
L�
K�
J�
I�
H�
G�
F�
E�
D�
C�
B�
A�
@�
?�
>�
=�
<�
;�
:�
9�
8�
7�
6�
5�
4�
3�
2�
1
0}
/{
.y
-w
,u
+s
*q
)o
(m
'k
&i
%g
$e
#c
"a
!_
 ]
[
Y
W
U
S
Q
O
M
K
I
G
E
C
A
?
=
;
9

7
5
3

1
	/
-
+
)
'
%
#
!

	�	�	�	��	��	��
>F	��	�i	��	�k	��	�m
�	�o
�	�q
�	�s
�	�w	�u
9	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	�	�}	�{	�y
�
	�
�
�
C�	��	��	��	��	��	��	��	��





C�	��	��	��	��	��	��	��	��	��	��	��	��	��	�	��	�	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��
e����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8������������xph`XPH@80( ����������������xph`XPH@��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
�
~�
}�
|�
{�
z�
y�
x�
w�
v�
u�
t�
s�
r�
q�
p�
o�
n�
m�
l�
k�
j�
i�
h�
g�
f�
e�
d�
c�
b�
a�
`�
_�
^�
]�
\�
[�
Z�
Y�
X�
W�
V�
U�
T�
S�
R�
Q�
P�
O�
N�
M�
L�
K�
J�
I�
H�
G�
F�
E�
D�
C�
B�
A�
@�
?�
>�
=�
<�
;�
:�
9�
8�
7�
6�
5�
4�
3�
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
#�
"�
!�
 �
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

�
�
�
�
	�
�
�
�
�
�
�
�
�
�����������������������������������������������������������������������������������
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�
�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�


	
	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

�
~

}
~
|
}
{
|
z
{
y
z
x
y
w
x
v
w
u
v
t
u
s
t
r
s
q
r
p
q
o
p
n
o
m
n
l
m
k
l
j
k
i
j
h
i
g
h
f
g
e
f
d
e
c
d
b
c
a
b
`
a
_
`
^
_
]
^
\
]
[
\
Z
[
Y
Z
X
Y
W
X
V
W
U
V
T
U
S
T
R
S
Q
R
P
Q
O
P
N
O
M
N
L
M
KKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 
L
J
K
I
J
H
I
G
H
F
G
E
F
D
E
C
D
B
C
A
B
@
A
?
@
>
?
=
>
<
=
;
<
:
;
9
:
8
9
7
8
6
7
5
6
4
5
3
4
2
3
1
2
0
1
/
0
.
/
-
.
,
-
+
,
*
+
)
*
(
)
'
(
&
'
%
&
$
%
#
$
"
#
!
"
 
!

 












































	



	















	�
	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�
^���a,���Y$
�
�
e
G
$����U-���lG
�
�
�
�
Z
5
	�	�	�	l	B	���[9���pJ&����^<���\1	���xR/
���h@���fA���zY6
�&�e#
�pcre2-utf1610.323.el8_6x86_64&�d#
�pcre2-devel10.323.el8_6x86_64 �c
�pcre210.323.el8_6x86_64�b
�passwd0.804.el8x86_64#�a
�pam-devel1.3.122.el8x86_64�`
�pam1.3.122.el8x86_64*�_)
�openssh-server8.0p117.el8_7x86_64+�^+
�openssh-clients8.0p117.el8_7x86_64#�]
�openssh8.0p117.el8_7x86_64"�\	
�nftables0.9.326.el8x86_64)�['	!
�net-snmp-libs5.825.el8_7.1x86_64*�Z'
�microcode_ctl202208091.el8x86_64"�Y
�memstrack0.2.42.el8x86_64�X	
�make4.2.111.el8x86_648�W)3
�linux-firmware20220726110.git150864a4.el8noarch%�V!
�libxml22.9.715.el8_7.1x86_64'�U)
�libverto-devel0.3.22.el8x86_64!�T
�libverto0.3.22.el8x86_64*�S'
�libuuid-devel2.32.139.el8_7x86_64$�R
�libuuid2.32.139.el8_7x86_64"�Q
�libuuid2.32.139.el8_7i686 �P
�libuser0.6224.el8x86_64#�O
�libtevent0.12.00.el8x86_64�N
�libtdb1.4.61.el8x86_64"�M
�libtasn14.134.el8_7x86_64"�L
�libtalloc2.3.32.el8x86_64"�K
�libsysfs2.1.025.el8x86_64%�J
�libstdc++8.5.016.el8_7x86_64(�I#
�libsss_sudo2.7.34.el8_7.3x86_64-�H-
�libsss_nss_idmap2.7.34.el8_7.3x86_64)�G%
�libsss_idmap2.7.34.el8_7.3x86_64+�F)
�libsss_certmap2.7.34.el8_7.3x86_64*�E'
�libsss_autofs2.7.34.el8_7.3x86_64&�D'
�libssh-config0.9.63.el8noarch�C
�libssh0.9.63.el8x86_64�B
�libss1.45.65.el8x86_64#�A
�libsolv0.7.204.el8_7x86_64)�@%
�libsmartcols2.32.139.el8_7x86_64'�?-
�libselinux-utils2.96.el8x86_64'�>-
�libselinux-devel2.96.el8x86_64!�=!
�libselinux2.96.el8x86_64#�<!
�libseccomp2.5.21.el8x86_64!�;
�librepo1.14.23.el8x86_64&�:%
�libref_array0.1.540.el8x86_64'�9#
�libquadmath8.5.016.el8_7x86_64%�8%
�libpwquality1.4.45.el8x86_64'�7'
�libpath_utils0.2.140.el8x86_64�6
�libnl33.7.01.el8x86_64!�5
�libnftnl1.1.55.el8x86_64)�4#	!
�libnfsidmap2.3.357.el8_7.1x86_64%�3
�libmount2.32.139.el8_7x86_64�2
�libldb2.5.22.el8x86_64"�1
�libksba1.3.59.el8_7x86_64%�0
�libkadm51.18.222.el8_7x86_64'�/'
�libini_config1.3.140.el8x86_64"�.!
�libibverbs41.01.el8x86_64#�-
�libgomp8.5.016.el8_7x86_64'�,#
�libgfortran8.5.016.el8_7x86_64*�++
�libgcrypt-devel1.8.57.el8_6x86_64$�*
�libgcrypt1.8.57.el8_6x86_64"�)
�libgcc8.5.016.el8_7x86_64$�(%
�libffi-devel3.123.el8x86_64�'
�libffi3.123.el8x86_64%�&
�libfdisk2.32.139.el8_7x86_64"�%
�libdhash0.5.040.el8x86_64,�$'!
�libcurl-devel7.61.125.el8_7.3x86_64&�#!
�libcurl7.61.125.el8_7.3x86_64"�"
�libcomps0.1.181.el8x86_64*�!-
�libcom_err-devel1.45.65.el8x86_64$� !
�libcom_err1.45.65.el8x86_64'�'
�libcollection0.7.040.el8x86_64�
�libcap2.484.el8x86_64�
�libbpf0.5.01.el8x86_64%�
�libblkid2.32.139.el8_7x86_64)�+
�libbasicobjects0.1.140.el8x86_64&�'
�libbabeltrace1.5.44.el8x86_64&�
�krb5-libs1.18.222.el8_7x86_64'�!
�krb5-devel1.18.222.el8_7x86_64$�!
�kpartx0.8.428.el8_7.1x86_64 �
�kmod-libs2519.el8x86_64�
�kmod2519.el8x86_644�/)
�kernel-tools-libs4.18.0425.13.1.el8_7x86_64/�%)
�kernel-tools4.18.0425.13.1.el8_7x86_641�))
�kernel-headers4.18.0425.13.1.el8_7x86_64�
�jansson2.141.el8x86_642�-	!
�iwl7260-firmware25.30.13.0110.el8.1noarch1�-
�iwl6050-firmware41.28.5.1110.el8.1noarch5�3!
�iwl6000g2a-firmware18.168.6.1110.el8.1noarch1�
-
�iwl6000-firmware9.221.4.1110.el8.1noarch0�-
�iwl5150-firmware8.24.2.2110.el8.1noarch2�-!
�iwl5000-firmware8.83.5.1_1110.el8.1noarch2�
-	!
�iwl3160-firmware25.30.13.0110.el8.1noarch2�	-!
�iwl2030-firmware18.168.6.1110.el8.1noarch2�-!
�iwl2000-firmware18.168.6.1110.el8.1noarch
���������weTC2!��������udSB1 
�
�
�
�
�
�
�
�
v
e
T
C
2
!
��������wfUD3"�������xgVE4#
�
�
�
�
�
�
�
�
u
d
S
A
/


	�	�	�	�	�	�	�	�	t	c	R	A	0		��������q_M;)�������{jYH7%�������ziXG6%�������{jYG5$�������ziXG6%�������{jYH7&�������ziXG5#������6		�;�5		��4	�:�3	��2	�9�1	�
�0	�~�/	�	�.		�}�-		��,		�6�+		��*	�Z�)	��(		�w�'		��&		�v�%		��$		�A�#		��"		�u�!		�� 		�+�		��		���		��		�)�		�
��		�(�		�
��		�&�		�
��		�	k�		�
��		�#�		�
��		�	�		�
��		�!�		�
��		� �
		�
��		��		�
��
		��			�
��		��		�
��		��		�
��		���		�
��	��	�
��		�	�		�
��~		��}		�
��|		��{		�
��z		��y		�
��x		��w		�
��v		�@�u		�
��t		�i�s		�
��r		��q		�
��p		���o		�
��n		�.�m		�
��l		�-�k		�
��j		�,�i		�
��h		��g		�
��f	��e	�
��d		�Y�c		�
��b		���a		�
��`	���_	�
��^	���]	�
��\		���[		�
��Z		���Y		�
��X		���W		�
��V	���U	�
��T	���S	�
��R	��Q	�
��P	���O	�
��N		���M		�
��L		�*�K		�
��J		���I		�
��H		�	B�G		�
��F		�	A�E		�
��D		�	6�C		�
��B		���A		�
��@		���?		�
��>		���=		�
��<		���;		�
��:		���9		�
��8	���7	�
��6		�m�5		�
��4	�a�3	�
��2		�l�1		�
��0		�k�/		�
��.		�j�-		�
��,	�i�+	�
��*		���)		�
��(		���'		�
��&		���%		�
��$		�	�#		�
��"		�	@�!		�
�� 		���		�
��		�(�		�
��		���		�
��		���		�
��		���		�
��		���		�
��		�*�		�
��		���		�
��		���		�
��		���
		�
��		���		�
��
		���			�
��		�	>�		�
��		���		�
��		���		�
��		�'�		�
��		���		�
��~		���}		�
��|		�h�{		�
��z		�#�y		�
��x		�h�w		�
��v		���u		�
��t		�g�s		�
��r	���q	�
��p		���o		�
��n		�	=�m		�
��l		���k		�
��j	�O�i	�
��h		���g		�
��f		���e		�
��d		�&�c		�
��b		��
�>�
�o	�	�	�	H	��U��Y��b�<"{p3������pN1/���}_P;
�
�
�
�
`
$��n+��`
�
�
R��}U/	���rM'���u=��9>#Illvm-static15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Illvm-static16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test14.0.61.module+el8.7.0+1080+d88dc670x86_64	�<+?lm_sensors-libs3.4.023.20180522git70f7e08.el8x86_64�=-?lm_sensors-devel3.4.023.20180522git70f7e08.el8x86_64�<Illvm-test16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test15.0.71.module+el8.8.0+1144+0a4e73bdx86_64��lsof4.93.21.el8x86_64�lz41.8.33.el8_4x86_64�;)9linux-firmware20240610122.git90df68d2.el8_10noarch�8)3linux-firmware20240111121.gitb3132c18.el8noarch=Kllvm-test17.0.62.module+el8.10.0+1694+aabef26ex86_64[?#Kllvm-static17.0.62.module+el8.10.0+1694+aabef26ex86_64Z>#Illvm-static14.0.61.module+el8.7.0+1080+d88dc670x86_64	�=Kllvm-libs17.0.62.module+el8.10.0+1694+aabef26ex86_64Y<Illvm-libs16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�<Illvm-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	�;Gllvm-libs12.0.12.module+el8.5.0+692+8756646fx86_64�C+Kllvm-googletest17.0.62.module+el8.10.0+1694+aabef26ex86_64>!Kllvm-devel17.0.62.module+el8.10.0+1694+aabef26ex86_64X=!Illvm-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�=!Illvm-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Illvm-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	�8Kllvm17.0.62.module+el8.10.0+1694+aabef26ex86_64W7Illvm16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�7Illvm15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�7Illvm14.0.61.module+el8.7.0+1080+d88dc670x86_64	�&%lksctp-tools1.0.183.el8x86_64�:)7linux-firmware20230824120.git0e048b06.el8_9noarchwC)Imariadb-common10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-common10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-common10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-common10.3.281.module+el8.4.0+427+adf35707x86_64|C)Imariadb-backup10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-backup10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-backup10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-backup10.3.281.module+el8.4.0+427+adf35707x86_64{<Imariadb10.3.391.module+el8.8.0+1452+2a7eab68x86_64�<Imariadb10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�;Gmariadb10.3.322.module+el8.5.0+777+18007c86x86_64�;Gmariadb10.3.281.module+el8.4.0+427+adf35707x86_64z"man-db2.7.6.118.el8x86_64�	make4.2.111.el8x86_64
�	make4.2.110.el8x86_64!mailcap2.1.483.el8noarch�m41.4.187.el8x86_64Vlzop1.0320.el8x86_640lzo2.0814.el8x86_64�#lz4-libs1.8.33.el8_4x86_64�lynx2.8.94.el8x86_64�&lvm2-libs2.03.1210.el8x86_64/!lvm22.03.1210.el8x86_64.''luajit2.1.00.16beta3.el8x86_64	]"lua-libs5.3.412.el8x86_64�lua5.3.412.el8x86_64�lsscsi0.323.el8x86_64�!lshwB.02.19.26.el8x86_64�#logrotate3.14.06.el8x86_64�#logrotate3.14.04.el8x86_64�#lmdb-libs0.9.242.el8x86_64�#lmdb-libs0.9.241.el8x86_64�
W����c5��y>
�
�
�
`
4
��o<��|X.
�
�
�
o
>
	�	�	�	m	G	���rD���{Y7���xS3
���zU/���wG���o@��9��L	�:�<I>perl-Devel-REPL-Plugin-Nopaste1.0030291.el8noarch@�;U=perl-Devel-REPL-Plugin-MultiLine-PPI1.0030291.el8noarch9�:G<perl-Devel-REPL-Plugin-LexEnv1.0030291.el8noarch<�9M;perl-Devel-REPL-Plugin-Interrupt1.0030291.el8noarch6�8A:perl-Devel-REPL-Plugin-DDS1.0030291.el8noarch6�7A9perl-Devel-REPL-Plugin-DDC1.0030291.el8noarchL�6m8perl-Devel-REPL-Plugin-CompletionDriver-Keywords1.0030291.el8noarchG�5c7perl-Devel-REPL-Plugin-CompletionDriver-INC1.0030291.el8noarch=�4O6perl-Devel-REPL-Plugin-Completion1.0030291.el8noarch+�3+5perl-Devel-REPL1.0030291.el8noarch,�234perl-DateTimeX-Easy0.0911.el8noarch-�173perl-Date-Holidays-DE2.061.el8noarch)�0/2perl-DBD-Firebird1.344.el8x86_64%�/%1perl-Bencode1.5021.el8noarch!�.0gnupg11.4.2315.el8x86_64-�--/ImageMagick-perl6.9.12.771.el8x86_64-�,-.ImageMagick-libs6.9.12.771.el8x86_64.�+/-ImageMagick-devel6.9.12.771.el8x86_64(�*#,ImageMagick6.9.12.771.el8x86_64)�))+xz-lzma-compat5.2.44.el8_6x86_64-�(1*libmemcached-devel1.0.1817.el8x86_64#�'#)libgs-devel9.274.el8x86_64"�&%(epel-release818.el8noarch�%'zsh5.5.110.el8x86_64'�$!&zlib-devel1.2.1121.el8_7x86_64!�#%zlib1.2.1121.el8_7x86_64"�"$xz-libs5.2.44.el8_6x86_64#�!#xz-devel5.2.44.el8_6x86_64� "xz5.2.44.el8_6x86_64"�!xfsprogs5.0.010.el8x86_64� which2.2118.el8x86_64!�virt-what1.251.el8x86_64-�#!vim-minimal8.0.176319.el8_6.4x86_64'�!util-linux2.32.139.el8_7x86_64�unzip6.046.el8x86_64�tzdata2022g1.el8noarch�tuned2.19.01.el8noarch �tar1.306.el8_7.1x86_64(�%!systemd-udev23968.el8_7.4x86_64'�#!systemd-pam23968.el8_7.4x86_64(�%!systemd-libs23968.el8_7.4x86_64#�!systemd23968.el8_7.4x86_64+�)sssd-nfs-idmap2.7.34.el8_7.3x86_64%�sssd-kcm2.7.34.el8_7.3x86_64(�#sssd-common2.7.34.el8_7.3x86_64(�#sssd-client2.7.34.el8_7.3x86_64(�#sqlite-libs3.26.017.el8_7x86_64)�
%sqlite-devel3.26.017.el8_7x86_64#�sqlite3.26.017.el8_7x86_64%�%
shadow-utils4.617.el8x86_64&�
)sg3_utils-libs1.446.el8x86_64!�	sg3_utils1.446.el8x86_64�
setup2.12.27.el8noarch7�;#	selinux-policy-targeted3.14.3108.el8_7.1noarch.�)#selinux-policy3.14.3108.el8_7.1noarch�sed4.55.el8x86_64#�!rsync3.1.319.el8_7.1x86_64$�#rocky-repos8.71.2.el8noarch&�'rocky-release8.71.2.el8noarch)�/rocky-logos-httpd86.31.el8noarch'�)rocky-gpg-keys8.71.2.el8noarch!�rdma-core41.01.el8x86_64-�~1python3-syspurpose1.28.321.el8x86_64+�}/
�python3-slip-dbus0.6.413.el8noarch&�|%
�python3-slip0.6.413.el8noarch6�{=
�python3-setuptools-wheel39.2.06.el8_7.1noarch0�z1
�python3-setuptools39.2.06.el8_7.1noarch3�y/)
�python3-pip-wheel9.0.322.el8.rocky.0noarch/�x%)
�python3-perf4.18.0425.13.1.el8_7x86_64*�w-	
�python3-nftables0.9.326.el8x86_64-�v5
�python3-linux-procfs0.7.01.el8noarch)�u1
�python3-libselinux2.96.el8x86_642�t%1
�python3-libs3.6.848.el8_7.1.rocky.0x86_64*�s-
�python3-libcomps0.1.181.el8x86_64&�r#
�python3-gpg1.13.111.el8x86_64*�q-
�python3-firewall0.9.313.el8noarch#�p
�procps-ng3.3.159.el8x86_648�oA
�platform-python-setuptools39.2.06.el8_7.1noarch5�n+1
�platform-python3.6.848.el8_7.1.rocky.0x86_64(�m#
�perl-macros5.26.3421.el8x86_64&�l
�perl-libs5.26.3421.el8x86_64-�k-
�perl-interpreter5.26.3421.el8x86_64+�j/
�perl-Math-Complex1.59421.el8noarch&�i%	
�perl-IO-Zlib1.10421.el8noarch!�h
�perl-IO1.38421.el8x86_64$�g!
�perl-Errno1.28421.el8x86_64&�f#
�pcre2-utf3210.323.el8_6x86_64
?���X 
�
�
�
s
S
/���NC��] 
�
�
h�
"	�	�	O~	�w.4��\���U���Ky��D6�~<���}C%Orubygem-rdoc6.0.1.1112.module+el8.10.0+1839+f1f156aenoarch�G1Orubygem-io-console0.4.6112.module+el8.10.0+1839+f1f156aex86_64�I5Orubygem-did_you_mean1.2.0112.module+el8.10.0+1839+f1f156aenoarch�G1Orubygem-bigdecimal1.3.4112.module+el8.10.0+1839+f1f156aex86_64�>Oruby-libs2.5.9112.module+el8.10.0+1839+f1f156aex86_64�=Oruby-irb2.5.9112.module+el8.10.0+1839+f1f156aenoarch�9Oruby2.5.9112.module+el8.10.0+1839+f1f156aex86_64�=Krubygems2.7.6.3109.module+el8.5.0+740+b85cbe0dnoarch�=Krubygems2.7.6.3107.module+el8.5.0+739+43897a5enoarchwB%Mrubygem-rdoc6.0.1.1111.module+el8.9.0+1536+5f79634enoarch
�A%Krubygem-rdoc6.0.1.1110.module+el8.6.0+992+fc951c18noarch
1A%Krubygem-rdoc6.0.1.1109.module+el8.5.0+740+b85cbe0dnoarch�A%Krubygem-rdoc6.0.1.1107.module+el8.5.0+739+43897a5enoarchvA'Mrubygem-psych3.0.2111.module+el8.9.0+1536+5f79634ex86_64
�@'Krubygem-psych3.0.2110.module+el8.6.0+992+fc951c18x86_64
0@'Krubygem-psych3.0.2109.module+el8.5.0+740+b85cbe0dx86_64�@'Krubygem-psych3.0.2107.module+el8.5.0+739+43897a5ex86_64uC+Mrubygem-openssl2.1.2111.module+el8.9.0+1536+5f79634ex86_64
�B+Krubygem-openssl2.1.2110.module+el8.6.0+992+fc951c18x86_64
/B+Krubygem-openssl2.1.2109.module+el8.5.0+740+b85cbe0dx86_64�B+Krubygem-openssl2.1.2107.module+el8.5.0+739+43897a5ex86_64t@%Mrubygem-json2.1.0111.module+el8.9.0+1536+5f79634ex86_64
�?%Krubygem-json2.1.0110.module+el8.6.0+992+fc951c18x86_64
.?%Krubygem-json2.1.0109.module+el8.5.0+740+b85cbe0dx86_64�?%Krubygem-json2.1.0107.module+el8.5.0+739+43897a5ex86_64sF1Mrubygem-io-console0.4.6111.module+el8.9.0+1536+5f79634ex86_64
�E1Krubygem-io-console0.4.6110.module+el8.6.0+992+fc951c18x86_64
-E1Krubygem-io-console0.4.6109.module+el8.5.0+740+b85cbe0dx86_64�E1Krubygem-io-console0.4.6107.module+el8.5.0+739+43897a5ex86_64rH5Mrubygem-did_you_mean1.2.0111.module+el8.9.0+1536+5f79634enoarch
�G5Krubygem-did_you_mean1.2.0110.module+el8.6.0+992+fc951c18noarch
,G5Krubygem-did_you_mean1.2.0109.module+el8.5.0+740+b85cbe0dnoarch�G5Krubygem-did_you_mean1.2.0107.module+el8.5.0+739+43897a5enoarchqF1Mrubygem-bigdecimal1.3.4111.module+el8.9.0+1536+5f79634ex86_64
�E1Krubygem-bigdecimal1.3.4110.module+el8.6.0+992+fc951c18x86_64
+E1Krubygem-bigdecimal1.3.4109.module+el8.5.0+740+b85cbe0dx86_64�E1Krubygem-bigdecimal1.3.4107.module+el8.5.0+739+43897a5ex86_64p=Mruby-libs2.5.9111.module+el8.9.0+1536+5f79634ex86_64
�<Kruby-libs2.5.9110.module+el8.6.0+992+fc951c18x86_64
*<Kruby-libs2.5.9109.module+el8.5.0+740+b85cbe0dx86_64�<Kruby-libs2.5.9107.module+el8.5.0+739+43897a5ex86_64o<Mruby-irb2.5.9111.module+el8.9.0+1536+5f79634enoarch
�;Kruby-irb2.5.9110.module+el8.6.0+992+fc951c18noarch
);Kruby-irb2.5.9109.module+el8.5.0+740+b85cbe0dnoarch�;Kruby-irb2.5.9107.module+el8.5.0+739+43897a5enoarchn8Mruby2.5.9111.module+el8.9.0+1536+5f79634ex86_64
�7Kruby2.5.9110.module+el8.6.0+992+fc951c18x86_64
(7Kruby2.5.9109.module+el8.5.0+740+b85cbe0dx86_64�7Kruby2.5.9107.module+el8.5.0+739+43897a5ex86_64m#!rsync3.1.319.el8_7.1x86_64rsync3.1.312.el8x86_64X(%rrdtool-perl1.7.016.el8_4x86_64�#rrdtool1.7.016.el8_4x86_64�)9rpmfusion-free-release80.1noarch
J5Arpm-plugin-systemd-inhibit4.14.331.el8x86_6447Arpm-plugin-systemd-inhibit4.14.328.el8_9x86_645Arpm-plugin-systemd-inhibit4.14.326.el8x86_64�7Arpm-plugin-systemd-inhibit4.14.324.el8_7x86_64	L9A!rpm-plugin-systemd-inhibit4.14.319.el8_5.2x86_64z5Arpm-plugin-systemd-inhibit4.14.319.el8x86_643B'Orubygem-psych3.0.2112.module+el8.10.0+1839+f1f156aex86_64�D+Orubygem-openssl2.1.2112.module+el8.10.0+1839+f1f156aex86_64�A%Orubygem-json2.1.0112.module+el8.10.0+1839+f1f156aex86_64�
���������raP�=�������~m\J8&
�
�
�
�
�
�
�
w
f
U
D
2
 
��������tbP>,
�������~m\K:)
�
�
�
�
�
�
�
v
d
R
@
.


	�	�	�	�	�	�	�	z	h	V	D	2	 	�������~lZH6$�������p_N<*������Rv@.
�������zhVe-F6&��������sbRB2"��������tbP>,
��������o^M<+	������		���		�e�		�
9�		�d�		�	��		�c�		�	��		�b�		�	��~		�a�}		�	��|		�`�{		�	��z		�_�y		�	��x		�^�w	�P�v	�]�u		���t		�\�s		�	��r		�[�q	�	��p	�Z�o	�	��n	�Y�m	�	��l	�X�k		�	��j		�W�i		�	��h		�V�g		�	��f		�U�e	�	a�d	�T

�c			�S
�b		�R
�a		�Q
�`		�P�_		�O	�^		��]	�
�\			��
�[			�
�
�Z			�
�
�Y			�
�
�X			�
�
�W			�
�
�V			�
�
�U			�
�
�T			�
�
�S			�
�
�R			�
�
�Q			�
��N	���M	���L	�
��K	�
��J	�
��I	�
��H	�
��G	�
��F	�
��E	�
��D	�
��C	�
��B	�
��A	�
C�?��O		��@���A��>	�`�=	�_�<	�^�;	�k�:	�	v�9	�N�8		�	u�7		�M�6	�	��5	�L�4		�	t�3		�K�2	�k�1	�J�0	��/	�I�.	���-	�H�,	�w�+	�G�*	���)	�F�(	�r�'	�E�&	�A�%	�D�$	�	�#	�C�"	��!	�B� 	���	�A�	���	�@�	���	�?�	���	�>�	���	�=�	���	�<�	���	�;�	���	�:�	���	�9�	���
	�8�	���	�7�
	���		�6�	���	�5�	���	�4�	���	�3�	���	�2�	��	�1�~		���}		�0�|		���{		�/�z		���y		�.�x	�~�w	�-�v		�}�u		�,�t		���s		�+	�r	���q	�*	�p		�|�o		�)	�n	���m	�(�l	�	�k	�'�j		�	�i		�&�h		�	�g		�%�f		�W�e		�$�d	���c	�#�b		�V�a		�"�`	�U�_	�!�^		�T�]		� �\		�S�[		��Z	�	�Y	��X	�	C�W	��V		���U		��T		���S		��R	�O�Q	��P	��O	��N		���M		��L		���K		��J		���I		��H		���G		��F	���E	��D	���C	�
�P			�
C�B���@		��?		��>		�@�=		��<	���;	��:	��9	��8	�<�7	�

he�0����������������xph`XPH@80( ����������������xp`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@8h����������xph`XPH@80( ����������������xph`XPH@h��	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�
��<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����������
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
�
�=����Y2
�
�
�
l
*�]��j*�D��c!
�
�
g
"�	�	�	�	Z	$�����|K����{(�W3
���I��&�')perl-HTTP-Tiny0.')perl-HTTP-Tiny0.0742.el8noarch�E3Kperl-HTTP-Negotiate6.0119.module+el8.9.0+1521+0101edcenoarch
�>%Iperl-IO-HTML1.00111.module+el8.6.0+965+850557f9noarch	�B/Iperl-HTTP-Cookies6.042.module+el8.9.0+1521+0101edcenoarch
�B-Kperl-HTML-Tagset3.2034.module+el8.9.0+1521+0101edcenoarch
�S')perl-HTTP-Tiny0.0743.el8noarch,3perl-IO-Interactive1.0251.el8noarch��0!perl-IO1.38422.el8x86_64��,*/perl-Hash-Ordered0.0141.el8noarchQJ,!perl-IO1.38421.el8x86_64
���B/Iperl-HTTP-Message6.181.module+el8.9.0+1521+0101edcenoarch
�@)Kperl-HTTP-Date6.0219.module+el8.9.0+1521+0101edcenoarch
�*/perl-IO-Interface1.0916.el8x86_64f?%Kperl-IO-HTML1.00111.module+el8.9.0+1521+0101edcenoarch
�,3perl-IO-Interactive1.0231.el8noarche+3perl-IO-Handle-Util0.025.el8noarchd>%Iperl-IO-HTML1.00111.module+el8.4.0+529+e3b3e624noarch�&)perl-IO-FDPass1.212.el8x86_64c)-perl-IO-Compress2.0811.el8noarchf07perl-IO-CaptureOutput1.110415.el8noarchb(+perl-IO-Capture0.0534.el8noarcha##perl-IO-All0.876.el8noarch|##perl-IO-AIO4.721.el8x86_64`!perl-IO1.38420.el8x86_64)/perl-Hook-LexWrap0.266.el8noarch_"perl-Heap0.8033.el8noarch^2=perl-Hash-StoredIterator0.00812.el8x86_64]-5perl-Hash-MultiValue0.1616.el8noarch\09perl-Hash-Merge-Simple0.05115.el8noarch[(+perl-Hash-Merge0.3008.el8noarchZ*/perl-Hash-Flatten1.1926.el8noarchY+3perl-Hash-FieldHash0.159.el8x86_64X')perl-HTTP-Tiny0.0741.el8noarch�5Eperl-HTTP-Server-Simple-PSGI0.1615.el8noarchW0;perl-HTTP-Server-Simple0.5210.el8noarchV4Cperl-HTTP-Response-Encoding0.0632.el8noarchU/;perl-HTTP-Request-AsCGI1.229.el8noarchT1?perl-HTTP-ProxyAutoConfig0.325.el8noarchSD3Iperl-HTTP-Negotiate6.0119.module+el8.6.0+965+850557f9noarch	�D3Iperl-HTTP-Negotiate6.0119.module+el8.4.0+529+e3b3e624noarch�2?perl-HTTP-MultiPartParser0.0210.el8noarchRA/Gperl-HTTP-Message6.181.module+el8.6.0+965+850557f9noarch	�A/Gperl-HTTP-Message6.181.module+el8.4.0+529+e3b3e624noarch�')perl-HTTP-Lite2.4419.el8noarchQ.9perl-HTTP-Headers-Fast0.223.el8noarchP/;perl-HTTP-Entity-Parser0.212.el8noarchO?)Iperl-HTTP-Date6.0219.module+el8.6.0+965+850557f9noarch	�?)Iperl-HTTP-Date6.0219.module+el8.4.0+529+e3b3e624noarch�-5perl-HTTP-Daemon-SSL1.0430.el8noarchN)-perl-HTTP-Daemon6.0123.el8noarch�%'perl-HTTP-DAV0.496.el8noarchMA/Gperl-HTTP-Cookies6.042.module+el8.6.0+965+850557f9noarch	�A/Gperl-HTTP-Cookies6.042.module+el8.4.0+529+e3b3e624noarch�2Cperl-HTTP-Cache-Transparent1.49.el8noarchL')perl-HTTP-Body1.2216.el8noarchK4Cperl-HTML-TreeBuilder-XPath0.1430.el8noarchJ5Eperl-HTML-TreeBuilder-LibXML0.2625.el8noarchI&)	perl-HTML-Tree5.072.el8noarch{4Cperl-HTML-TokeParser-Simple3.1625.el8noarchH19perl-HTML-Template-Pro0.951022.el8x86_64G+1perl-HTML-Template2.9710.el8noarchF
O���\/���Y+
�
�
�
X
%���l8��W
�
�
\
	�	�	�	d	9	���^9��b+���Q��t@��sM!���Y7��{V(���`8��$��c-ares1.13.06.el8_8.2x86_64$�
#�mssql-tools17.10.1.11x86_64$�	#�msodbcsql1717.10.4.11x86_64%�-�pgdg-redhat-repo42.033noarch*�1�perl-User-Identity1.021.el8noarch;�Q�perl-Shared-Examples-Net-Amazon-S30.9912.el8noarch+�1�perl-Net-Amazon-S30.9912.el8noarch,�3�perl-Image-ExifTool12.601.el8noarch+�1�perl-HTML-Restrict3.0.21.el8noarch"�%�epel-release819.el8noarch-�-�ImageMagick-perl6.9.12.821.el8x86_64-�-�ImageMagick-libs6.9.12.821.el8x86_64.�/�ImageMagick-devel6.9.12.821.el8x86_64(�~#�ImageMagick6.9.12.821.el8x86_64�}tzdata2023c1.el8noarch7�|;#~selinux-policy-targeted3.14.3108.el8_7.2noarch.�{)#}selinux-policy3.14.3108.el8_7.2noarch/�z%)|python3-perf4.18.0425.19.2.el8_7x86_64(�y%	{openssl-libs1.1.1k9.el8_7x86_64)�x'	zopenssl-devel1.1.1k9.el8_7x86_64#�w	yopenssl1.1.1k9.el8_7x86_64:�v)7xlinux-firmware20220726111.git150864a4.el8_7noarch$�u!wkpartx0.8.428.el8_7.3x86_644�t/)vkernel-tools-libs4.18.0425.19.2.el8_7x86_64/�s%)ukernel-tools4.18.0425.19.2.el8_7x86_641�r))tkernel-headers4.18.0425.19.2.el8_7x86_644�q-	!#siwl7260-firmware25.30.13.0111.el8_7.1noarch3�p-#riwl6050-firmware41.28.5.1111.el8_7.1noarch7�o3!#qiwl6000g2a-firmware18.168.6.1111.el8_7.1noarch3�n-#piwl6000-firmware9.221.4.1111.el8_7.1noarch2�m-#oiwl5150-firmware8.24.2.2111.el8_7.1noarch4�l-!#niwl5000-firmware8.83.5.1_1111.el8_7.1noarch4�k-	!#miwl3160-firmware25.30.13.0111.el8_7.1noarch4�j-!#liwl2030-firmware18.168.6.1111.el8_7.1noarch4�i-!#kiwl2000-firmware18.168.6.1111.el8_7.1noarch3�h+!#jiwl135-firmware18.168.6.1111.el8_7.1noarch3�g+!#iiwl105-firmware18.168.6.1111.el8_7.1noarch3�f-	#hiwl1000-firmware39.31.5.1111.el8_7.1noarch2�e+#giwl100-firmware39.31.5.1111.el8_7.1noarch"�dfgnutls3.6.166.el8_7x86_64,�c-	eemacs-filesystem26.17.el8_7.1noarch$�b#dtzdata-java2023c1.el8noarch%�acnss-util3.79.011.el8_7x86_64(�`#bnss-sysinit3.79.011.el8_7x86_64/�_1anss-softokn-freebl3.79.011.el8_7x86_64(�^#`nss-softokn3.79.011.el8_7x86_64 �]_nss3.79.011.el8_7x86_64>�\M^mod_http21.15.75.module+el8.7.0+1182+86a6cd60.4x86_64(�[']libwebp-devel1.0.08.el8_7x86_64"�Z\libwebp1.0.08.el8_7x86_64A�Y%O[libvirt-libs8.0.010.4.module+el8.7.0+1181+a332c78dx86_64>�XC	'Zjava-1.8.0-openjdk-headless1.8.0.372.b071.el8_7x86_64;�W=	'Yjava-1.8.0-openjdk-devel1.8.0.372.b071.el8_7x86_645�V1	'Xjava-1.8.0-openjdk1.8.0.372.b071.el8_7x86_64A�U#OWhttpd-tools2.4.3751.module+el8.7.0+1182+86a6cd60.5x86_64F�T-OVhttpd-filesystem2.4.3751.module+el8.7.0+1182+86a6cd60.5noarch;�SOUhttpd2.4.3751.module+el8.7.0+1182+86a6cd60.5x86_64*�R'Tpdns-recursor4.7.51pdns.el8x86_64*�Q/Sperl-Hash-Ordered0.0141.el8noarch1�P))Rkernel-modules4.18.0425.19.2.el8_7x86_64.�O#)Qkernel-core4.18.0425.19.2.el8_7x86_64)�N)Pkernel4.18.0425.19.2.el8_7x86_64$�M#Oautoconf2132.1339.el8noarch2�L3#Npostgresql11-server11.191PGDG.rhel8x86_640�K/#Mpostgresql11-libs11.191PGDG.rhel8x86_641�J1#Lpostgresql11-devel11.191PGDG.rhel8x86_64+�I%#Kpostgresql1111.191PGDG.rhel8x86_64;�HQJperl-Shared-Examples-Net-Amazon-S30.9911.el8noarch0�G;Iperl-Ocsinventory-Agent2.9.31.el8noarch+�F1Hperl-Net-Amazon-S30.9911.el8noarch*�E1Gperl-Inline-Python0.571.el8x86_64%�D'Fperl-Inline-C0.822.el8noarch,�C3Eperl-Image-ExifTool12.421.el8noarch+�B1Dperl-HTML-Restrict3.0.11.el8noarch!�ACperl-Fsdb3.11.el8noarch*�@1Bperl-Finance-Quote1.521.el8noarch+�?5Aperl-Directory-Queue2.21.el8noarch:�>I@perl-Devel-REPL-Plugin-Refresh1.0030291.el8noarch6�=A?perl-Devel-REPL-Plugin-PPI1.0030291.el8noarch
|�PiS9!������pU8!
�
�
�
�
�
o
S
7
	�	�	�	�	�	~	i��	R	A	(	�����P�w_M2������sTR7&������hP8������oXD1������xbO7�x�uA����}dQ6������l]��J4��rl-Shared-Examples-Net-Amazon-S3�'perl-Sys-Virt
9per'Qperl-Shared-Examples-Net-Amazon-S3�'perl-Sys-Virt
9perl-String-ShellQuote
+perl-SelfLoader
'perl-Sys-Virt�=perl-Test-CPAN-Meta-JSON�3perl-Test-CPAN-Meta�)perl-Test-Base�5perl-Test-Assertions�-perl-Test-Assert�'perl-Test-API�perl-Test�-perl-TermReadKey�+perl-Term-Table�)perl-Term-Size�/perl-Term-ShellUI�+perl-Term-Shell�9perl-Term-ReadLine-Gnu�!Eperl-Term-ProgressBar-Simple� Cperl-Term-ProgressBar-Quiet�7perl-Term-ProgressBar�'perl-Term-Cap3perl-Term-ANSIColor
7perl-Template-Toolkit�+perl-TeX-Hyphen�-perl-Task-Weaken�+perl-Taint-Util�1perl-Taint-Runtime�'perl-Sys-Virt�+perl-Sys-Syslog�?perl-Sys-Statistics-Linux�1perl-Sys-SigAction�'perl-Sys-Mmap�-perl-Sys-MemInfo:-perl-Sys-Guestfs�%perl-Sys-CPU9-perl-Symbol-Util�#perl-Switch�-perl-Sub-Uplevel�)perl-Sub-Quote�/perl-Sub-Override�'perl-Sub-Name�-perl-Sub-Install]'perl-Sub-Info�)perl-Sub-Infix�/perl-Sub-Identify�"Gperl-Sub-Exporter-Progressive�?perl-Sub-Exporter-Lexical�!Eperl-Sub-Exporter-ForMethods/perl-Sub-Exporter\-perl-String-Util~9perl-String-Similarity}9perl-String-ShellQuote�1perl-String-Random|1perl-String-Format{1perl-String-Escapez/perl-String-CRC32�1perl-String-Approxy5perl-Stream-Bufferedx'perl-Storable	 Cperl-Statistics-Descriptivew?perl-Statistics-ChiSquarev7perl-Statistics-Basicu7perl-Spreadsheet-XLSXt Cperl-Spreadsheet-WriteExcels Cperl-Spreadsheet-ParseExcelr#perl-Spiffyq+perl-Spellunkerp#perl-Specio�3perl-Sort-Naturallyo3perl-Sort-MergeSortn'perl-Sort-Keym!Eperl-Software-License-CCpackl7perl-Software-License[%perl-Socket6�1perl-Socket-MsgHdrk;perl-Socket-GetAddrInfoj#perl-Socket'Qperl-Shared-Examples-Net-Amazon-S3i+perl-Set-Scalarh/perl-Set-Infiniteg-perl-Set-Crontabf3perl-Sereal-Encodere3perl-Sereal-Decoderd#perl-Serealc/perl-Sentry-Ravenb+perl-SelfLoader�1perl-Search-Xapiana-perl-Scope-Upper`-perl-Scope-Guard�?perl-Schedule-Cron-Events_1perl-Schedule-Cron^%Mperl-Scalar-Util-LooksLikeNumber]1perl-Scalar-String\9perl-Scalar-Properties[9perl-Scalar-List-Utils'perl-Safe-IsaZ!perl-SUPER�)Uperl-SQL-Translator-Producer-DiagramY3perl-SQL-TranslatorX1perl-SQL-StatementW+perl-SQL-InterpV?perl-SQL-Abstract-ClassicU/perl-SQL-AbstractT;perl-SOAP-WSDL-examplesS7perl-SOAP-WSDL-ApacheR)perl-SOAP-WSDLQ)perl-SOAP-LiteP/perl-SNMP_Session�%perl-SGMLSpm�1perl-Router-SimpleO)perl-Role-Tiny�-perl-Return-TypeN=perl-Regexp-Pattern-PerlM1perl-Regexp-CommonL5perl-Regexp-AssembleK-perl-Ref-Util-XS�'perl-Ref-Util��'perl-Sys-Virt{7perl-Spreadsheet-XLSXW'perl-Sys-Virtw Cperl-Spreadsheet-ParseExcel�'perl-Sys-Virt
�9perl-String-ShellQuote
�perl-Test�+perl-SelfLoader�'Qperl-Shared-Examples-Net-Amazon-S3Hperl-Test

A������������ukaWMC9/%�������������{qg]SI?5+!

�
�
�
�
�
�
�
�
�
�
�
�
�
w
m
c
Y
O
E
;
1
'


	�������������}si_UKA7-#�������������yoe[QG=3)
�
�
�
�
�
�
�
�
�
�
�
|
q
f
[
P
E
:
/
$


	�	�	�	�	�	�	�	�	�	�	�		t	i	^	S	H	=	2	'			������������wlaVK@5*	������������zodYNC8-"�����������}rg\QF;0%������������uj_TI>3(������������xmbWLA6+ 
������������{peZOD9.#
�����������
�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��

��	
��
��
��
��
��
��
��
��
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
YX�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
�

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��


~�

}
|�

{
z�

y
x�

r
q�

p
o�

n
m�

]
\�

[
Z�

Y
X�

W
V�

U
T�

S
R�

Q
P�

O
N�

M
L�

K
J�

I
H�

G
F�

E
D�

C
B�

A
@�

?
>�

=
<�

;
:�

9
8�

7
6�

5
4�

3
2�	
1
0	
/
.~	
-
,}	
+
*|	
)
({	
$
#z	
"
!y	
 
x	

w	

v	

u	

t	

s	

r	

q	

p	


o	

n	


	m	

l	

k	

j	

i	
	�h		�	�g		�	�f		�	�e		�	�d		�	�c		�	�b		�	�a		�	�`		�	�_		�	�^		�	�]		�	�\		�	�[		�	�Z		�	�Y		�	�X		�	�W		�	�V		�	�U		�	�T		�	�S		�	�R		�	�Q		�	�P		�	�O		�	�N		�	�M		�	�L		�	�K		�	�J		�	�I		�	�H		�	�G		�	�F		�	�E		�	�D		�	�C		�	�B		�	�A		�	�@		�	�?		�	�>		�	�=		�	�<		�	�;		�	�:		�	�9		�	�8		�	�7		�	�6		�	�5		�	�4		�	�3		�	�2		�	�1		�	�0		�	�/		�	�.		�	�-		�	�,		�	�+			~*		}	|)		{	z(	'	��&	��%	��$	��#	��"	��!	�� 	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��	��
	��	��	��
	��		��	��	�	~}	|{	zy	xw	vu
�������������|qf[PE:/$�����������ti^S	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	AH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������

�
��

�
��

�
��

�
��

�
��

�
�

~
}�

|
{�

z
y�

x
w�

v
u�

t
s�

r
q�

p
o�

n
m�

l
k�

j
i�

h
g�

f
e�

d
c�

b
a�

`
_�

^
]�

\
[�

Z
Y�

X
W�

V
U�

T
S�

R
Q�

P
O�

N
M�

L
K�

J
I�

H
G�

F
E�

D
C�

B
A�

@
?�

>
=�

<
;�

:
9�

8
7�

6
5�

4
3�

2
1�

0
/�

.
-�

,
+�

*
)�

(
'�

&
%�

$
#�

"
!�

 
�


�


�


�


�


�


�


�


�



�


�


	�


�


�


�


�

��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
��~
��}
��|
��{
��z
��y
��x
��w
��v
��u
��t
��s
��r
��q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
�]
~}\
|{[
zyZ
xwY
vuX
tsW
rqV
poU
nmT
lkS
jiR
hgQ
feP
dcO
baN
`_M
^]L
\[K
ZYJ
XWI
VUH
TSG
RQF
('1
&%0
$#/
"!.
 -
,
+
*
)
(
'
&
%

$
#

	"
!
 



�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�


�
�	

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
�

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
��

�
���
POE
NMD
LKC
JIB
HGA
FE@
DC?
BA>
@?=
>=<
<;;
:9:
879
658
437
216
0/5
.-4
,+3
*)2
('1
&%0
$#/
"!.
 -
,
+
*
)
(
'
&
%

$
#

	"
!
 

_���������������ypg^ULC:1(
��������������}tkbYPG>5,#
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
o
f
]
T
K
B
9
0
'



��������������|sjaXOF=4+"��������������ukaWMC9/%
�
�
�
�
�
�
�
�
�
�
�
�
�
{
q
g
]
S
I
?
5
+
!


	�	�	�	�	�	�	�	�	�	�	�	�	�	w	m	c	Y	O	E	;	1	'				�������������}si_UKA7-#�������������yoe[QG=3)������������ukaWMC9/%�������������{qg]SI?5+!
�������������wmcYOE;1'	�������������}si_UKA7-#�������_���^���]��\~}�[|{�Zzy�Yxw�Xvu�Wts�Vrq�Upo�Tnm�Slk�Rji�Qhg�Pfe�Odc�Nba�M`_�L^]�K\[�JZY�IXW�HVU�GTS�FRQ�EPO�DNM�CLK�BJI�AHG�@FE�?DC�>BA�=@?�<>=�;<;�::9�987�865�743�621�50/�4.-�3,+�2*)�1('�0&%�/$#�."!�- �,�+�*�)�(�'�&�%�$
�#�"
	�!� ��������������������������������������������������
���������
���	���������������������������������~���}���|���{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]��\~}�[|{�Zzy�Yxw�Xvu�Wts�Vrq�Upo�Tnm�Slk�Rji�Qhg�Pfe�Odc�Nba�MYX�LVU�KTS�JRQ�IPO�HNM�GLK�FJI�E�D
�
��C
�
��B
�
��A
�
��@
�
��?
�
��>
�
��=
�
��<
�
��;
�
��:
�
��9
�
��8
�
��7
�
��6
�
��5
�
��4
�
��3
�
��2
�
��1
�
��0
�
��/
�
��.
�
��-
�
��,
�
��+
�
��*
�
��)
�
��(
�
��'
�
��&
�
��%
�
��$
�
��#
�
��"
�
��!
�
�� 
�
��
�
��
�
��
�
��

~�
}
|�
{
z�
y
x�
r
q�
p
o�
n
m�
]
\�
[
Z�
Y
X�
W
V�
U
T�
S
R�
Q
P�
O
N�

M
L�
K
J�
I
H�

G
F�	
E
D�
C
B�
A
@�
?
>�
=
<�
;
:�
9
8�
7
6�
5
4�
3
2
1
0~
/
.}
-
,|
+
*{
)
(z
$
#y
"
!x
 
w

v

u

t

s

r

q

p

o


n

m


	l

k

j

i

h
	�g	�	�f	�	�e	�	�d	�	�c	�	�b	�	�a	�	�`	�	�_	�	�^	�	�]	�	�\	�	�[	�	�Z	�	�Y	�	�X	�	�W	�	�V	�	�U	�	�T	�	�S	�	�R	�	�Q	�	�P	�	�O	�	�N	�	�M	�	�L	�	�K	�	�J	�	�I	�	�H	�	�G	�	�F	�	�E	�	�D	�	�C	�	�B	�	�A	�	�@	�	�?	�	�>	�	�=	�	�<	�	�;	�	�:	�	�9	�	�8	�	�7	�	�6	�	�5	�	�4	�	�3	�	�2	�	�1	�	�0	�	�/	�	�.	�	�-	�	�,	�	�+	�	�*		~)	}	|(	{	z'&��%��$��#��"��!�� ��������������������������������������
������
��	�������~}|{zyxwvu
T�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������������zpf\RH>4* �������������vlbXND:0&���������3YX�2QP�1ON�0ML�/KJ�.IH�-GF�,ED�+CB�*A@�)?>�(=<�';:�&98�%76�$54�#32�"10�!/.� -,�+*�)(�'&�%$�#"�! ����������
�
�	�
���
�	���������������������������������~���}���|���{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]��\~}�[|{�Zzy�Yxw�Xvu�Wts�Vrq�Upo�Tnm�Slk�Rji�Qhg�Pfe�Odc�Nba�M`_�L^]�K\[�JZY�IXW�HVU�GTS�FRQ�EPO�DNM�CLK�BJI�AHG�@FE�?DC�>BA�=@?�<>=�;<;�::9�987�865�743�621�50/�4.-�3,+�2*)�1('�0&%�/$#�."!�- �,�+�*�)�(�'�&�%�$
�#�"
	�!� ���
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��

�
��
�
��
�
��

�
��	
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
��~
�
��}
�
��|
�
��{
�
��z
�
��y
�
��x
�
��w
�
��v
�
��u
�
��t
�
��s
�
��r
�
��q
�
��p
�
��o
�
��n
�
��m
�
��l
�
��k
�
��j
�
��i
�
��h
�
��g
�
��f
�
��e
�
��d
�
��c
�
��b
�
��a
�
��`
�
��_
�
��^
�
��]
�
�\
~
}�[
|
{�Z
z
y�Y
x
w�X
v
u�W
t
s�V
r
q�U
p
o�T
n
m�S
l
k�R
j
i�Q
h
g�P
f
e�O
d
c�N
b
a�M
`
_�L
^
]�K
\
[�J
Z
Y�I
X
W�H
V
U�G
T
S�F
R
Q�E
P
O�D
N
M�C
L
K�B
J
I�A
H
G�@
F
E�?
D
C�>
B
A�=
@
?�<
>
=�;
<
;�:
:
9�9
8
7�8
6
5�7
4
3�6
2
1�5
0
/�4
.
-�3
,
+�2
*
)�1
(
'�0
&
%�/
$
#�.
"
!�-
 
�,

�+

�*

�)

�(

�'

�&

�%

�$


�#

�"

	�!

� 

�

�

�
�����������������������������������������������
���������
���	���������������������������������~���}���|���{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`��
2��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P��L��t����r�	�a�warning: /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.security created as /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.security.rpmnew�n�	�Y�warning: /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.policy created as /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.policy.rpmnew@�	�error: sssd-common-2.7.3-4.el8_7.3.x86_64: install failedY�	�/�error: %prein(sssd-common-2.7.3-4.el8_7.3.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using rootE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
0i 
2H��k/
�
�
�
A	�	�	i	!��I�q)��Q	�y1��Y��9��a��A��iE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directory+�#	U�chown: invalid spec: ‘postgres:’9�"	q�warning: user postgres does not exist - using root9�!	q�warning: user postgres does not exist - using root9� 	q�warning: user postgres does not exist - using root9�	q�warning: user postgres does not exist - using root9�	q�warning: user postgres does not exist - using root8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd�f�	�I�restored /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.policy.rpmnew to /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.policy�j�	�Q�restored /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.security.rpmnew to /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/java.security�h�	�M�restored /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/nss.fips.cfg.rpmnew to /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/nss.fips.cfg�p�	�]�warning: /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/nss.fips.cfg created as /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/lib/security/nss.fips.cfg.rpmnew
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��`��@��h ��H�p(��E�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directory5�l	i�grep: /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`��E�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��V
�
~
6��^��>
�
�
f
	�	�	F��n&��N�v.��V�~6��^��>��f��E�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directory?�;	}�error: sssd-common-2.5.2-2.el8_5.4.x86_64: erase skippedE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6��p(��P
�
x
0��X��8
�
�
`
	�	�	��@��h ��H�p(��P�x0��X��8��E�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directorym�	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6��p(��P
�
x
0��X��8
�
�
`
	�	�	@��'�}E
�d��O�w/��W�7��_��E�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryB�G	��dracut: Turning off host-only mode: '/dev' is not mounted!B�F	��dracut: Turning off host-only mode: '/run' is not mounted!C�E	��dracut: Turning off host-only mode: '/proc' is not mounted!B�D	��dracut: Turning off host-only mode: '/sys' is not mounted!n�C	�Y�dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y5�B	i�grep: /proc/cpuinfo: No such file or directory5�A	i�grep: /proc/cpuinfo: No such file or directory5�@	i�grep: /proc/cpuinfo: No such file or directory5�?	i�grep: /proc/cpuinfo: No such file or directoryo�>	�[�dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.e�=	�G�libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryE�<	��dracut: No '/dev/log' or 'logger' included for syslog loggingf�;	�I�/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7y�H��<
�
�
i
!��I�q)
�
�
Q
		�	y	1��Y��9��a��A��i!��I�q)��Q	�yE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directory@�_	�error: sssd-common-2.7.3-4.el8_7.3.x86_64: install failedY�^	�/�error: %prein(sssd-common-2.7.3-4.el8_7.3.x86_64) scriptlet failed, exit status 1'�]	M�useradd: cannot open /etc/passwdY�\	�/�error: %prein(sssd-common-2.7.3-4.el8_7.3.x86_64) scriptlet failed, exit status 1'�[	M�useradd: cannot open /etc/passwdm�Z	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
���������r`N<*�������vdR@.

�
�
�
�
�
�
�
~
l
Z
I
8
&

�������yhWF4"�������r`N<*
�
�
�
�
�
�
�
y
h
W
F
6
%

	�	�	�	�	�	�	�	�	r	b	R	B	0		
��������p_N=,
��������o^M<*�������}lZH7&�������|kZI8'�������{jYH7&�������vdR@.��������sbQ@/������Z		�	��Y		���X		�	��W		���V	�	��U	���T		�z�S		���R		�y�Q		���P		�x�O		���N		�w�M		���L		�[�K		���J		�	��I		���H		�	��G		���F		�	��E		���D	�	��C	���B	�	��A	���@		�	��?		���>		�	��=		���<	�Z�;	���:	�Y�9	���8	�X�7	���6		�W�5		���4		�V�3		���2		�U�1		���0		�4�/		���.		�	��-		���,		�	��+		���*	�	��)	���(		�	��'		���&		�	��%		���$		�	��#		���"		�	�!		��� 		�	~�		���		�	}�		���	�	��	���		�	��		���		�	��		���	�	)�	���		�	��		���	�	|�	���		�	F�		���		�M�
		���		�	E�		���
	�	D�		���		�	{�		���		�	z�		���		�	y�		���		�	x�		���		�	w�		���~	�	e�}	���|		�	d�{		���z		�	c�y		���x		�	b�w		���v	��u	���t	��s	���r		��q		���p		�	��o		���n		�	��m		���l	�T�k	��

�j			��
�i		��
�h		��
�g		��
�f			��
�e			�>�d		��
�c			���b		��
�a			��
�`			��
�_			��
�^			���]		���\		��	
�[			���Z		���Y	�
C�X	���W		��
�V			���U	���T	���S	���R	�k�Q	�	s�P	��
�O	��N	���M	�J�L	���K	�H�J	���I	�E�H	���G	�D�F	���E	�(�D	���C		�/�B		���A		�.�@		���?	�-�>	���=		�,�<		���;		��:		��9	�	�8	�~�7		��6		�}�5		�
��4		�|�3		�	�2		�{�1	�	�0	�z�/		�	�.		�y�-	�
��,	�x�+	�
��*	�w�)		�
��(		�v�'	�
��&	�u�%		�
��$		�t�#	�
��"	�s�!	�
�� 	�r�	�
��	�q�	�
��	�p�	�
��	�o�	�
��	�n�	�
��	�m�	�
��	�l�	�
��	�k�	�
��	�j�	�
��	�i�
	�
��	�h�	�
��
	�g�			�
t�		�f
	��X
�
�
�
�
�
�
�
�
�
�h`XPH@80( 
�
�
�
�
����xph`XP
 H@80( ���
��������������
xx���hx��	�	�	�	�	�	�	�	�����xph`XPH@80( 
�
���	��	x�����	p��	h�`XPH@8	`0	X( ����������������p�����������
p�			 	H�	@�	8	0	��p��hx`pXhP`
hXPHH@@880(0 ( ���������������������x�p	Ph`
`X�P�H
X@�8�0�(� �
�
��
��
��
�x
�p
�h
�`
�X
�P
�H
�	�	�
�

�
�@
�8
x0
p
P
h	(
`
H
X(
P 
H
@
8
0
(
 

�

�	�	�����
@�������������	�	�h`X��x�p�h�`�X�P�H�@�80�( �
8x��
0�
(����p�������������
�xp	�	�PH@	�
)�!���������������
������
��
��
��
�~
�|
�r
�h
�f
�d
�b
�`
�^
�\
�Z
�X
�R
�P
�L
�J
�H
�F
�D
�<
�:
�8
�6
�4
�2
�0
�.
�,
�*
�(
�&
�$
�"
� 
�
�
�
�
�
�
�
'
�
%
��
�
#
��
�
!
��
�

��
�



~

}�
}

|

{�
{

z�
z

y�
y

x�
x


w�
w

v�
v
	
u

t	
t

s

r

q�
q�
p�
o�
�
_
�
]
�
[
�
Y
��
��
�
W
�
U
�
S
�
Q
�+
�
O
�
M
�
K
�)
�
I
�'
�
G
�%
�
E
�
C
�#
�
A
�!
�
?
�
�
=
�
�
;
�
�
9
�
�
7
�
�
)
��
��
��
�

�
}
�
{
�
y
�
w
�
u
�
s
�
q
�
o
�
m
��
��
�
k
�
i
�
g
�
e
�
c
�
a
��
��
�
+
�
�
�

�
�
�
-
�
�
�
��(E
��/C
�
�.A
�
�-?
�
�,=
�
�;
�
�	9
��7
��
�5
��
�
�
�
�
�
�
�-
��
��
��
��
��
���
�
��
�
�
5
�
�
3
�
�
1
�
�
/
��2�
��
��
��
u�&�%� �
�
�z
�v
�H
�8
�
�
��
|�
l�
d�
c�
b�
b�
a�
a�
`�
`�
_�
_�
n�
m�
l�
k�
j�
i�
i�
i�
h�
h�
h�
g�
g�
f�
f�
e�
e�
d�5�4�3�2�10}/{.y-w,u+s*q)o(m'k&i%g$e#c"a!_ ][YWUSQOMKIGE�C���A?=;9
753
1	/-+)'%#!
�
�
�
�
�
�
�
�

�
�	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
��
�
�
��
��
�
�
�
�
��
��
�
�
�
�
�
�
�
�
�
�
�
�
��
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
��
��
��
��
�
�
�
�
�

�
�
�
�
0@�
�
�
{
P
$���q�A���|R4�,
���
�
�
I-A
�	�	�	t	A	���kC���a��3��sG���vH�����^�9Gpem�].���^�9Gperl-DBI1.6414.module+el8.6.0+891+677074cbx86_64	�?)Gperl-DBD-MySQL4.0463.module+el8.6.0+904+ef468285x86_64	�^)/perl-DBD-Firebird1.344.el8x86_640m>)/perl-DBD-Firebird1.381.el8x86_64T?)Iperl-Data-Dump1.237.module+el8.9.0+1521+0101edcenoarch
�:Iperl-DBI1.6414.module+el8.9.0+1495+f278a004x86_64
�@+Iperl-DBD-SQLite1.582.module+el8.9.0+1509+4b8cbd7ex86_64
�@)Iperl-DBD-MySQL4.0463.module+el8.9.0+1501+450eec3bx86_64
�*1perl-Crypt-URandom0.391.el8noarch�>)Gperl-Data-Dump1.237.module+el8.6.0+965+850557f9noarch	�?+Gperl-DBD-SQLite1.582.module+el8.6.0+896+cac283ecx86_64	�.)-perl-Data-Report0.1030.el8noarch�+)perl-Data-Perl0.00200917.el8noarch�+1perl-Data-Password1.1212.el8noarch�*/perl-Data-OptList0.1106.el8noarchD-7perl-Data-MessagePack1.016.el8x86_64�*/perl-Data-Integer0.0067.el8noarch�*/perl-Data-HexDump0.0228.el8noarch�()perl-Data-GUID0.04913.el8noarch�(+perl-Data-Float0.0137.el8noarch�(+perl-Data-Faker0.1015.el8noarch�+/perl-Data-Entropy0.00711.el8noarch�/9perl-Data-Dumper-Names0.0332.el8noarch�2=perl-Data-Dumper-Concise2.02312.el8noarch�+-perl-Data-Dumper2.167399.el8x86_64�0;perl-Data-Dump-Streamer2.4013.el8x86_64�-5perl-Data-Dump-Color0.2414.el8noarch�>)Gperl-Data-Dump1.237.module+el8.4.0+529+e3b3e624noarch�)-perl-Data-Denter0.1529.el8noarch�)/perl-Data-Compare1.261.el8noarch�(-perl-Data-Binary0.011.el8noarch�%%perl-DB_File1.8421.el8x86_64�''perl-DBM-Deep2.00163.el8noarch�.7perl-DBIx-XHTML_Table1.4917.el8noarch�)-perl-DBIx-Simple1.3712.el8noarch�()perl-DBIx-Safe1.2.537.el8noarch�(-perl-DBIx-RunSQL0.213.el8noarch�*1perl-DBIx-QueryLog0.424.el8noarch�2?perl-DBIx-ContextualFetch1.0340.el8noarch�,3perl-DBIx-Connector0.5611.el8noarch�A_perl-DBIx-Class-Storage-Debug-PrettyPrint1.872.el8noarch�++perl-DBIx-Class0.0828424.el8noarch�9Gperl-DBI1.6413.module+el8.4.0+509+59a8d9b3x86_64�?+Gperl-DBD-SQLite1.582.module+el8.4.0+515+5c88ffe5x86_64�<#Gperl-DBD-Pg3.7.44.module+el8.4.0+518+09bc1d47x86_64�%'perl-DBD-ODBC1.612.el8x86_64�?)Gperl-DBD-MySQL4.0463.module+el8.4.0+577+b8fe2d92x86_64�%'perl-DBD-Mock1.552.el8noarch�)/perl-DBD-Firebird1.341.el8x86_64�$%perl-DBD-CSV0.551.el8noarch�')perl-Cwd-Guard0.0511.el8noarch�))perl-Curses-UI0.960915.el8noarch�$#perl-Curses1.3614.el8x86_64�(+perl-Crypt-X5090.5119.el8noarch/;perl-Crypt-UnixCrypt_XS0.117.el8x86_64~+1perl-Crypt-URandom0.3614.el8noarch}+1perl-Crypt-Twofish2.1722.el8x86_64|+1perl-Crypt-SmbHash0.1238.el8noarch{.5perl-Crypt-ScryptKDF0.01014.el8x86_64z+1perl-Crypt-Salsa200.0313.el8noarchy*/perl-Crypt-SSLeay0.7232.el8x86_64x(-perl-Crypt-SMIME0.256.el8x86_64w+3perl-Crypt-Rijndael1.142.el8x86_64v1=perl-Crypt-Random-Source0.1411.el8noarchu�
S�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	AH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������zodYNC8-"�����������}rg\QF;0%
�
������������|qf[PE:/$�����������ti^S
>=
<;
:9
87
65
43
21
0/
.-
,+
*)
('
&%
$#
"!
 





	







	



�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
YX�
QP�
ON�
ML�
KJ�
IH�
GF�
ED�
CB�
A@�
?>�
=<�
;:�
98�
76�
54�
32�
10�
/.�
-,�
+*�
)(�
'&�
%$�
#"�
! �
�
�
�
�
�
�
�
�
�

�

�
	�
�
�
�
�
���
���
���
���
���
���
���
���
���
xwY
vuX
tsW
rqV
poU
nmT
lkS
jiR
hgQ
feP
dcO
baN
`_M
^]L
\[K
ZYJ
XWI
VUH
TSG
RQF
POE
NMD
LKC
JIB
HGA
FE@
DC?
BA>
@?=
>=<
<;;
:9:
879
658
437
216
0/5
.-4
,+3
��E
��D
��C
��B
��A
��@
��?
�>
~}=
|{<
zy;
xw:
vu9
ts8
rq7
po6
nm5
lk4
ji3
hg2
fe1
dc0
ba/
`_.
^]-
\[,
ZY+
XW*
VU)
TS(
RQ'
PO&
NM%
LK$
JI#
HG"
FE!
DC 
BA
@?
���
��
��~
��}
��|
��{
��z
��y
��x
��w
��v
��u
��t
��s
��r
��q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
�]
~}\
|{[
zyZ�
8��p(��P
�
x
0��X��8
�
�
`
	�	�	@	��h.��qA��A��i!��I�q)��Q	�y1��E�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directorym�1	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directory-�0	Y�Failed to connect to bus: Host is downV�/	�)�System has not been booted with systemd as init system (PID 1). Can't operate.'�.	M�useradd: cannot open /etc/passwd7�-	m�warning: user apache does not exist - using root7�,	m�warning: user apache does not exist - using root7�+	m�warning: user apache does not exist - using root7�*	m�warning: user apache does not exist - using root7�)	m�warning: user apache does not exist - using root'�(	M�useradd: cannot open /etc/passwdE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�O�u=��$��T�7��_��E�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryB�t	��dracut: Turning off host-only mode: '/dev' is not mounted!B�s	��dracut: Turning off host-only mode: '/run' is not mounted!C�r	��dracut: Turning off host-only mode: '/proc' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!n�p	�Y�dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y5�o	i�grep: /proc/cpuinfo: No such file or directory5�n	i�grep: /proc/cpuinfo: No such file or directory5�m	i�grep: /proc/cpuinfo: No such file or directory5�l	i�grep: /proc/cpuinfo: No such file or directoryo�k	�[�dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.e�j	�G�libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryE�i	��dracut: No '/dev/log' or 'logger' included for syslog loggingf�h	�I�/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
5��p(��P
�
x
��vC��K!
�
�
g	u�a&��g&��N�v.��V�~6��^��>��E�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory>�	{�error: unbound-libs-1.16.2-5.el8.x86_64: install failedW�	�+�error: %prein(unbound-libs-1.16.2-5.el8.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user polkitd does not exist - using root8�	o�warning: user polkitd does not exist - using root'�	M�useradd: cannot open /etc/passwd�f�	�I�restored /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.382.b05-2.el8.x86_64/lib/security/java.security.rpmnew to /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.382.b05-2.el8.x86_64/lib/security/java.security�n�	�Y�warning: /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.382.b05-2.el8.x86_64/lib/security/java.security created as /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.382.b05-2.el8.x86_64/lib/security/java.security.rpmnewF�	�	�warning: /etc/odbcinst.ini created as /etc/odbcinst.ini.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd;�	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root;�
	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�
	M�useradd: cannot open /etc/passwd#�		E�    Target directory is /etc?�	}�odbcinst: Driver installed. Usage count increased to 1. m�	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
P����f=���lB
�
�
q
H
����P$���\
�
�
E
#	�	�	�	a	A	!	��{C��oM&���N
��Y5��kE��yN ��x9���jB�>�[M�mod_http21.15.78.module+el8.8.0+1284+07ef499e.3x86_64'�Z'�mesa-libglapi22.3.02.el8x86_64%�Y#�mesa-libgbm22.3.02.el8x86_64$�X!�mesa-libGL22.3.02.el8x86_64%�W#�mesa-libEGL22.3.02.el8x86_64<�VI�llvm-test15.0.71.module+el8.8.0+1144+0a4e73bdx86_64>�U#I�llvm-static15.0.71.module+el8.8.0+1144+0a4e73bdx86_64<�TI�llvm-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64=�S!I�llvm-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_647�RI�llvm15.0.71.module+el8.8.0+1144+0a4e73bdx86_64+�Q'!�libxml2-devel2.9.716.el8_8.1x86_64+�P/�libwayland-server1.21.01.el8x86_64(�O)�libwayland-egl1.21.01.el8x86_64+�N/�libwayland-cursor1.21.01.el8x86_64+�M/�libwayland-client1.21.01.el8x86_64A�L%O�libvirt-libs8.0.019.2.module+el8.8.0+1321+70d049b2x86_64)�K'�libtiff-devel4.0.928.el8_8x86_64#�J�libtiff4.0.928.el8_8x86_64)�I+�libstdc++-devel8.5.018.el8x86_64?�H%I�libomp-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_649�GI�libomp15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�F�libgs9.276.el8x86_64!�E�libdrm2.4.1141.el8x86_64<�DC	'�java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_649�C=	'�java-1.8.0-openjdk-devel1.8.0.382.b052.el8x86_643�B1	'�java-1.8.0-openjdk1.8.0.382.b052.el8x86_64A�A#O�httpd-tools2.4.3756.module+el8.8.0+1284+07ef499e.6x86_64F�@-O�httpd-filesystem2.4.3756.module+el8.8.0+1284+07ef499e.6noarch;�?O�httpd2.4.3756.module+el8.8.0+1284+07ef499e.6x86_64#�>�graphviz2.40.144.el8x86_64(�=%�git-core-doc2.39.31.el8_8noarch$�<�git-core2.39.31.el8_8x86_64�;�git2.39.31.el8_8x86_64.�:9�gcc-toolset-12-runtime12.06.el8x86_64:�9I�gcc-toolset-12-libstdc++-devel12.2.17.4.el8x86_642�89�gcc-toolset-12-gcc-c++12.2.17.4.el8x86_64.�71�gcc-toolset-12-gcc12.2.17.4.el8x86_645�6E�gcc-toolset-12-binutils-gold2.3817.el8x86_640�5;�gcc-toolset-12-binutils2.3817.el8x86_64,�41�gcc-plugin-annobin8.5.018.el8x86_64!�3�gcc-c++8.5.018.el8x86_64�2�gcc8.5.018.el8x86_64�1�ctags5.823.el8x86_64�0�cpp8.5.018.el8x86_64>�/#I�compiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64*�.-�cmake-rpm-macros3.20.25.el8noarch*�--�cmake-filesystem3.20.25.el8x86_64$�,!�cmake-data3.20.25.el8noarch�+�cmake3.20.25.el8x86_64D�*/I�clang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64L�)?I�clang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64=�(!I�clang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64>�'#I�clang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_648�&I�clang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64*�%!�bind-utils 9.11.368.el8_8.1x86_64,�$%�bind-license 9.11.368.el8_8.1noarch.�#)�bind-libs-lite 9.11.368.el8_8.1x86_64)�"�bind-libs 9.11.368.el8_8.1x86_64-�!-�apr-util-openssl1.6.16.el8_8.1x86_64)� %�apr-util-bdb1.6.16.el8_8.1x86_64%��apr-util1.6.16.el8_8.1x86_64 ��annobin10.941.el8x86_64!��alsa-lib1.2.82.el8x86_64*�'�pdns-recursor4.7.61pdns.el8x86_64&�+�python3-systemd2348.el8x86_641�))�kernel-modules4.18.0477.21.1.el8_8x86_64.�#)�kernel-core4.18.0477.21.1.el8_8x86_64)�)�kernel4.18.0477.21.1.el8_8x86_64=�K!�perl-Mail-AuthenticationResults2.202101121.el8noarch'�)�perf4.18.0477.21.1.el8_8x86_64&�'�libtraceevent1.5.31.el8x86_64(�'�clamav-update0.103.83.el8x86_64#�!�libprelude5.2.01.el8x86_64%�!�clamav-lib0.103.83.el8x86_64,�/�clamav-filesystem0.103.83.el8noarch&�#�clamav-data0.103.83.el8noarch!��clamav0.103.83.el8x86_64��lynx2.8.94.el8x86_64&�
+�rocky-indexhtml8.00.el8noarch*�%�c-ares-devel1.13.06.el8_8.2x86_64
�D���L���M��e4��f2
�
�
�
e
0���^)���Y&
�
�
�
R
�	�	�	�	P	��~�L��zE���zI��}Ly�0���c/�5-!%iwl2030-firmware18.168.6.1122.el8_10.1noarch�~3-%iwl5150-firmware8.24.2.2122.el8_10.1noarch�5-!%iwl5000-firmware8.83.5.1_1122.el8_10.1noarch�5-	!%iwl3160-firmware25.30.13.0122.el8_10.1noarch�3+!#iwl105-firmware18.168.6.1117.el8_8.1noarch
3+!#iwl105-firmware18.168.6.1114.el8_8.1noarchJ3+!#iwl105-firmware18.168.6.1111.el8_7.1noarchg1+!iwl105-firmware18.168.6.1110.el8.1noarch
�3+!#iwl105-firmware18.168.6.1104.el8_5.1noarch�0+!iwl105-firmware18.168.6.1103.el8.1noarchk4-	%iwl1000-firmware39.31.5.1122.el8_10.1noarch�1-	iwl1000-firmware39.31.5.1121.el8.1noarch�3-	#iwl1000-firmware39.31.5.1120.el8_9.1noarchB3-#iwl6000-firmware9.221.4.1104.el8_5.1noarch�0-iwl6000-firmware9.221.4.1103.el8.1noarchr0-iwl5150-firmware8.24.2.2121.el8.1noarch�2-#iwl5150-firmware8.24.2.2120.el8_9.1noarchI2-#iwl5150-firmware8.24.2.2117.el8_8.1noarch
2-#iwl5150-firmware8.24.2.2114.el8_8.1noarchP2-#iwl5150-firmware8.24.2.2111.el8_7.1noarchm0-iwl5150-firmware8.24.2.2110.el8.1noarch
�2-#iwl5150-firmware8.24.2.2104.el8_5.1noarch�/-iwl5150-firmware8.24.2.2103.el8.1noarchq2-!iwl5000-firmware8.83.5.1_1121.el8.1noarch�4-!#iwl5000-firmware8.83.5.1_1120.el8_9.1noarchH4-!#iwl5000-firmware8.83.5.1_1117.el8_8.1noarch
4-!#iwl5000-firmware8.83.5.1_1114.el8_8.1noarchO4-!#iwl5000-firmware8.83.5.1_1111.el8_7.1noarchl2-!iwl5000-firmware8.83.5.1_1110.el8.1noarch
�4-!#iwl5000-firmware8.83.5.1_1104.el8_5.1noarch�1-!iwl5000-firmware8.83.5.1_1103.el8.1noarchp2-	!iwl3160-firmware25.30.13.0121.el8.1noarch�4-	!#iwl3160-firmware25.30.13.0120.el8_9.1noarchG4-	!#iwl3160-firmware25.30.13.0117.el8_8.1noarch
4-	!#iwl3160-firmware25.30.13.0114.el8_8.1noarchN4-	!#iwl3160-firmware25.30.13.0111.el8_7.1noarchk2-	!iwl3160-firmware25.30.13.0110.el8.1noarch
�4-	!#iwl3160-firmware25.30.13.0104.el8_5.1noarch�1-	!iwl3160-firmware25.30.13.0103.el8.1noarcho2-!iwl2030-firmware18.168.6.1121.el8.1noarch�4-!#iwl2030-firmware18.168.6.1120.el8_9.1noarchF4-!#iwl2030-firmware18.168.6.1117.el8_8.1noarch
4-!#iwl2030-firmware18.168.6.1114.el8_8.1noarchM4-!#iwl2030-firmware18.168.6.1111.el8_7.1noarchj2-!iwl2030-firmware18.168.6.1110.el8.1noarch
�4-!#iwl2030-firmware18.168.6.1104.el8_5.1noarch�1-!iwl2030-firmware18.168.6.1103.el8.1noarchn5-!%iwl2000-firmware18.168.6.1122.el8_10.1noarch�2-!iwl2000-firmware18.168.6.1121.el8.1noarch�4-!#iwl2000-firmware18.168.6.1120.el8_9.1noarchE4-!#iwl2000-firmware18.168.6.1117.el8_8.1noarch
4-!#iwl2000-firmware18.168.6.1114.el8_8.1noarchL4-!#iwl2000-firmware18.168.6.1111.el8_7.1noarchi2-!iwl2000-firmware18.168.6.1110.el8.1noarch
�4-!#iwl2000-firmware18.168.6.1104.el8_5.1noarch�1-!iwl2000-firmware18.168.6.1103.el8.1noarchm4+!%iwl135-firmware18.168.6.1122.el8_10.1noarch�1+!iwl135-firmware18.168.6.1121.el8.1noarch�3+!#iwl135-firmware18.168.6.1120.el8_9.1noarchD3+!#iwl135-firmware18.168.6.1117.el8_8.1noarch
3+!#iwl135-firmware18.168.6.1114.el8_8.1noarchK3+!#iwl135-firmware18.168.6.1111.el8_7.1noarchh1+!iwl135-firmware18.168.6.1110.el8.1noarch
�3+!#iwl135-firmware18.168.6.1104.el8_5.1noarch�0+!iwl135-firmware18.168.6.1103.el8.1noarchl4+!%iwl105-firmware18.168.6.1122.el8_10.1noarch�1+!iwl105-firmware18.168.6.1121.el8.1noarch�3+!#iwl105-firmware18.168.6.1120.el8_9.1noarchC
	P�@	2		�����r�U@/���m������~��p��[,������n\F/������~gR=)������pR8	������~i�T>+	����aA����]@a@�S< 
�
�
�
�
f
J
1
������hF1�����oZEral�Aperl-DateTime-Format-MySQL�?perEperl;perl-DateTime-Format-Pg�!Eperl-DateTime-Format-Natural�Aperl-DateTime-Format-MySQL�?perl-DateTime-Format-Mail^!Eperl-DateTime-Format-ISO8601]?perl-DateTime-Format-ICal�?perl-DateTime-Format-HTTP\"Gperl-DateTime-Format-Flexible�Aperl-DateTime-Format-Excel�Aperl-DateTime-Format-Epoch�#Iperl-DateTime-Format-DateParse�!Eperl-DateTime-Format-Builder[#Iperl-DateTime-Event-Recurrence�=perl-DateTime-Event-ICal�!Eperl-DateTime-Calendar-Mayan�'perl-DateTimeZ-perl-Date-Simple�+perl-Date-Range�+perl-Date-Manip7/perl-Date-ISO8601Y7perl-Date-Holidays-DE�)perl-Date-Calc�7perl-Data-Validate-IP�-perl-Data-Uniqid�)perl-Data-UUIDX)perl-Data-Taxi�7perl-Data-Stream-Bulk�5perl-Data-Serializer�=perl-Data-Section-Simple�/perl-Data-SectionE-perl-Data-Report�)perl-Data-Perl�1perl-Data-Password�/perl-Data-OptListD7perl-Data-MessagePack�/perl-Data-Integer�/perl-Data-HexDump�)perl-Data-GUID�+perl-Data-Float�+perl-Data-Faker�/perl-Data-Entropy�9perl-Data-Dumper-Names�=perl-Data-Dumper-Concise�-perl-Data-Dumper�;perl-Data-Dump-Streamer�5perl-Data-Dump-Color�)perl-Data-Dump�-perl-Data-Denter�/perl-Data-Compare�-perl-Data-Binary�%perl-DB_File�'perl-DBM-Deep�7perl-DBIx-XHTML_Table�-perl-DBIx-Simple�)perl-DBIx-Safe�-perl-DBIx-RunSQL�1perl-DBIx-QueryLog�?perl-DBIx-ContextualFetch�3perl-DBIx-Connector�._perl-DBIx-Class-Storage-Debug-PrettyPrint�+perl-DBIx-Class�
perl-DBI�+perl-DBD-SQLite�#perl-DBD-Pg�'perl-DBD-ODBC�)perl-DBD-MySQL�'perl-DBD-Mock�/perl-DBD-Firebird�%perl-DBD-CSV�)perl-Cwd-Guard�)perl-Curses-UI�#perl-Curses�+perl-Crypt-X509;perl-Crypt-UnixCrypt_XS~1perl-Crypt-URandom}1perl-Crypt-Twofish|1perl-Crypt-SmbHash{5perl-Crypt-ScryptKDFz1perl-Crypt-Salsa20y/perl-Crypt-SSLeayx-perl-Crypt-SMIMEw3perl-Crypt-Rijndaelv=perl-Crypt-Random-Sourceu�+perl-Devel-REPL�+perl-Devel-Peek�+perl-Devel-Peek	�+perl-Devel-Peek�5perl-Devel-PatchPerl�9perl-Devel-PartialDump�/perl-Devel-PPPort�;perl-Devel-OverloadInfo�3perl-Devel-LexAliash+perl-Devel-Leak�+perl-Devel-Hide�!Eperl-Devel-GlobalDestructiong1perl-Devel-Declare�-perl-Devel-Cycle�-perl-Devel-Cover�3perl-Devel-CheckLibf=perl-Devel-CheckCompiler�/perl-Devel-Callere7perl-Devel-CallParser�9perl-Devel-CallCheckerd3perl-Devel-ArgNames�9perl-DepGen-Perl-Tests�$Kperl-Declare-Constraints-Simple�3perl-DateTimeX-Easy23perl-DateTimeX-Easy�"Gperl-DateTime-TimeZone-Tzfilec#Iperl-DateTime-TimeZone-SystemVb9perl-DateTime-TimeZoneO9perl-DateTime-TimeZonea/perl-DateTime-Set�5perl-DateTime-Locale`/perl-DBD-FirebirdT+perl-Date-Manip�)perl-Data-Dump
�
perl-DBI
�+perl-DBD-SQLite
�)perl-DBD-MySQL
�1perl-Crypt-URandom� Cperl-DateTime-Format-W3CDTF�"Gperl-DateTime-Format-Strptime_ Cperl-DateTime-Format-SQLite�!Eperl-DateTime-Format-RFC3339�7perl-Date-Holidays-DE1/perl-DBD-Firebird0)perl-Data-Dump	�
perl-DBI	�+perl-DBD-SQLite	�)perl-DBD-MySQL	�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@��o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p��������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>
���������xgVE4#�������r`O>,	
�
�
�
�
�
�
�

n
]
L
:
(

�������ziXG6%�������sbQ@.
�
�
�
�
�
�
�
�
p
_
N
=
,


	�	�	�	�	�	�	�	�	n	\	K	:	)		���������|jXF5$�������vdRA0��������sbQ@/
��������p^L;*�������|kZI8'�������}l[J9(�������|jXG6%���J	�	�I	�
�-		�?�,	�
w�+	�>�*		�
v�)		�=�(		�	;�'		�<�&	�	5�%	�;�$	�	4�#	�:�"		�	:�!		�9� 		�	9�		�8�		�	8�		�7�		�	7�		�6�		�	3�		�5�		�
q�		�4�		�
g�		�3�		�
f�		�2�		�
e�		�1�		�
d�		�0�		�	��
		�/�		�e�		�.�
		�
b�			�-�		�
a�		�,�		�
`�		�+�		�
_�		�*�		�
^�		�)�	�
]�	�(�~	�
\�}	�'�|		�
[�{		�&�z	�
X�y	�%�x		�
W�w		�$�v	�	�u	�#�t		�	�s		�"�r	�	�q	�!�p		�
U�o		� �n		�
T�m		��l		�
S�k		��j		�
R�i		��h		�
Q�g		��f		�
P�e		��d		�
O�c		��b	�
N�a	��`		�
M�_		��^		�
L�]		��\	�
K�[	��Z		�
J�Y		��X		�
F�W		��V	�
E�U	��T	�	��S	��R		�
B�Q		��P		�
@�O		��N	�
?�M	��L	��K	��H		�
8�G		��F		�	��E		��D		�	��C		�
�B	�	��A	�	�@		�	G�?		��>		�
)�=		��<	�	�;	��:		�
'�9		��8		�	g�7		��6		�
$�5		��4	�
#�3	��2		�
"�1		��0		�
!�/		��.		�
�-		���,		�
�+		���*		�
�)		���(	�
�'	���&		�
�%		���$		�
�#		���"	�
�!	��� 		�
�		���		�
�		���	�
�	���	�
�	���	�

�	���	�
�	���		�

�		���		�
�		���		�
�		���	���
	���		�
�		���
	�	��		���		�	��		���		�	��		���	�	��	���		�	��		���		�	��		���~		�	��}		���|	�	��{	���z		�	��y		���x		�	��w		���v	�	��u	���t		�	��s		���r	�	��q	���p	�	S�o	���n	�	R�m	���l	�	Q�k	���j		�^�i		���h		�	��g		���f		�	��e		���d		�	��c		���b		�	��a		���`		�	��_		���^		�	��]		���\		�	��[		��
�?����C��q�E���`3l���X/��o7��xN	)

�
�
�
H
��M��t?
�
�
�
Q
)	�	�	�	x�P	S	%���-���_;���Q~�����+1perl-Apache-Reload0.1312.el8noarch�n ')perf4.18.0477.27.1.el8_8x86_64
(D1Gperl-App-cpanminus1.70445.module+el8.6.0+961+8164b543noarch	���(+perf4.18.0553.16.1.el8_10x86_64�%'perl-AnyEvent7.148.el8x86_64N')perf4.18.0553.5.1.el8_10x86_64')perf4.18.0513.18.1.el8_9x86_64�')perf4.18.0513.11.1.el8_9x86_64�E1Iperl-App-cpanminus1.70445.module+el8.9.0+1491+3507a112noarch
�1;perl-Attribute-Handlers0.99422.el8noarch�!perl5.26.3422.el8x86_64��+')perf4.18.0477.21.1.el8_8x86_64�7Iperl-Apache-LogFormat-Compiler0.3510.el8noarch�(+perl-Apache-DBI1.1219.el8noarch�*1perl-AnyEvent-HTTP2.245.el8noarch�/9perl-AnyEvent-CacheDNS0.0817.el8noarch�)/perl-AnyEvent-BDB1.134.el8noarch�)/perl-AnyEvent-AIO1.131.el8noarch�+'#perl-AnyEvent7.146.el8.rockyx86_64L,3perl-Any-URI-Escape0.0119.el8noarch�')perl-Any-Moose0.2714.el8noarch�-5perl-Algorithm-Loops1.0322.el8noarch�-3perl-Algorithm-Diff1.19039.el8noarchb5Eperl-Algorithm-Combinatorics0.2717.el8x86_64�*/perl-Algorithm-C30.1016.el8noarch�+3perl-AWS-Signature41.022.el8noarch�!perl5.26.3421.el8x86_64	�!perl5.26.3420.el8x86_64��,3perl-Authen-DecHpwd2.0078.el8x86_64-9perl-Authen-Credential1.21.el8noarch-3perl-Authen-Captcha1.02417.el8noarch$%perl-AuthCAS1.710.el8noarch1;perl-Attribute-Handlers0.99420.el8noarch�*1perl-Astro-SunTime0.067.el8noarch(-perl-Array-Utils0.525.el8noarch*/perl-Array-Unique0.0815.el8noarch'+	perl-Array-Diff0.091.el8noarch3Aperl-Archive-Zip-SimpleZip0.0251.el8noarch�(-perl-Archive-Zip1.603.el8noarchA(-perl-Archive-Tar2.301.el8noarchc*/perl-Archive-Peek0.3517.el8noarch�<U	perl-Archive-Extract-zip-Archive-Zip0.881.el8noarch�4E	perl-Archive-Extract-xz-unxz0.881.el8noarch�9O	perl-Archive-Extract-txz-tar-unxz0.881.el8noarch�Jq	perl-Archive-Extract-tgz-Archive-Tar-Compress-Zlib0.881.el8noarch�S�	perl-Archive-Extract-tbz-Archive-Tar-IO-Uncompress-Bunzip20.881.el8noarch�<U	perl-Archive-Extract-tar-Archive-Tar0.881.el8noarch�8M	perl-Archive-Extract-lzma-unlzma0.881.el8noarch�=W	perl-Archive-Extract-gz-Compress-Zlib0.881.el8noarch�Fi	perl-Archive-Extract-bz2-IO-Uncompress-Bunzip20.881.el8noarch�<U	perl-Archive-Extract-Z-Compress-Zlib0.881.el8noarch�,5	perl-Archive-Extract0.881.el8noarch�.7perl-Archive-Any-Lite0.1112.el8noarch�')perl-AppConfig1.7116.el8noarch�D1Gperl-App-cpanminus1.70445.module+el8.4.0+523+766394a0noarch�)-perl-App-Nopaste1.0134.el8noarch�*/perl-Apache2-SOAP0.7331.el8noarch�1?perl-Apache-Session-Redis0.213.el8noarch�1?perl-Apache-Session-NoSQL0.213.el8noarch�/=perl-Apache-Session-LDAP0.49.el8noarch�7Iperl-Apache-Session-Browseable1.3.41.el8noarch�,3perl-Apache-Session1.9315.el8noarch�21;perl-Attribute-Handlers0.99421.el8noarch	�
T��u1���iE
�
�
�
O
(���m>���Z-
�
�
m
C
	�	�	�	q	'��~R'��[.���mK&���U+���Z.���V(���V���p@��%�/#1expat-devel2.2.511.el8x86_64�.0expat2.2.511.el8x86_64,�-3/environment-modules4.5.23.el8x86_64-�,-	!.emacs-filesystem26.110.el8_8.2noarch&�+'-elfutils-libs0.1883.el8x86_64.�*7,elfutils-libelf-devel0.1883.el8x86_64(�)++elfutils-libelf0.1883.el8x86_64'�()*elfutils-devel0.1883.el8x86_644�'C)elfutils-default-yama-scope0.1883.el8noarch9�&M(elfutils-debuginfod-client-devel0.1883.el8x86_643�%A'elfutils-debuginfod-client0.1883.el8x86_64!�$&elfutils0.1883.el8x86_649�#53%dracut-config-rescue049223.git20230119.el8x86_64+�"3$dracut049223.git20230119.el8x86_64-�!-#dnf-plugins-core4.0.2119.el8_8noarch$� "dnf-data4.7.016.el8_8noarch�!dnf4.7.016.el8_8noarch/�1 device-mapper-libs1.02.1819.el8x86_64*�'device-mapper1.02.1819.el8x86_64)�!	!dbus-tools1.12.824.el8_8.1x86_64(�	!dbus-libs1.12.824.el8_8.1x86_64*�#	!dbus-daemon1.12.824.el8_8.1x86_64*�#	!dbus-common1.12.824.el8_8.1noarch#�	!dbus1.12.824.el8_8.1x86_64#�!curl7.61.130.el8_8.3x86_64'�	!cups-libs2.2.651.el8_8.1x86_64(�+cryptsetup-libs2.3.75.el8x86_64>�;-crypto-policies-scripts202212151.gitece0092.el8noarch6�+-crypto-policies202212151.gitece0092.el8noarch)�-coreutils-common8.3015.el8x86_64"�coreutils8.3015.el8x86_64�bsdtar3.3.35.el8x86_64"�binutils2.30119.el8x86_64(�+authselect-libs1.2.61.el8x86_64#�
!authselect1.2.61.el8x86_64�wget1.19.511.el8x86_64&�%
unbound-libs1.16.25.el8x86_64*�
3systemtap-sdt-devel4.82.el8x86_64#�		scl-utils2.0.216.el8x86_64B�+I
rust-std-static1.66.12.module+el8.8.0+1428+0690fceax86_647�I	rust1.66.12.module+el8.8.0+1428+0690fceax86_64$�rpm-build4.14.326.el8x86_64(�/redhat-rpm-config1311.el8noarch)�+python3-unbound1.16.25.el8x86_64(�1python3-rpm-macros345.el8noarch,�%python3-bind 9.11.368.el8_8.1noarchL�%cpython2-libs2.7.1813.module+el8.8.0+1314+be03569e.1.rocky.0.2x86_64G�cpython22.7.1813.module+el8.8.0+1314+be03569e.1.rocky.0.2x86_64(�1python-srpm-macros345.el8noarch'�~/python-rpm-macros345.el8noarch&�}!�perl-utils5.26.3422.el8noarch#�|�perl-open1.11422.el8noarch+�{)�perl-libnetcfg5.26.3422.el8noarch'�z!�perl-devel5.26.3422.el8x86_64)�y+�perl-Time-Piece1.31422.el8x86_64#�x�perl-Test1.30422.el8noarch?�w'I�perl-Sys-Virt8.0.01.module+el8.8.0+1279+230c2115x86_64)�v+�perl-SelfLoader1.23422.el8noarch*�u'�perl-Pod-Html1.22.02422.el8noarch)�t'�perl-PCP-PMDA5.3.717.el8_8x86_64(�s%�perl-PCP-MMV5.3.717.el8_8x86_64/�r3�perl-PCP-LogSummary5.3.717.el8_8x86_64.�q1�perl-PCP-LogImport5.3.717.el8_8x86_64'�p'�perl-Net-Ping2.55422.el8noarch,�o1	�perl-Module-Loaded0.08422.el8noarch&�n%�perl-Memoize1.03422.el8noarch,�m)!�perl-Mail-DKIM1.202009071.el8noarch5�lC	�perl-Locale-Maketext-Simple0.21422.el8noarch(�k%�perl-Git-SVN2.39.31.el8_8noarch$�j�perl-Git2.39.31.el8_8noarch0�i9�perl-ExtUtils-Miniperl1.06422.el8noarch-�h3�perl-ExtUtils-Embed1.34422.el8noarch0�g9�perl-Devel-SelfStubber1.06422.el8noarch)�f+�perl-Devel-Peek1.26422.el8x86_641�e;�perl-Attribute-Handlers0.99422.el8noarch!�d�perl5.26.3422.el8x86_64$�c�pcp-libs5.3.717.el8_8x86_64$�b�pcp-conf5.3.717.el8_8x86_64&�a)	�net-snmp-devel5.827.el8x86_64+�`3	�net-snmp-agent-libs5.827.el8x86_64 �_	�net-snmp5.827.el8x86_64A�^!Q�mysql-libs8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64B�]#Q�mysql-devel8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64C�\%Q�mysql-common8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}����������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMK
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���

L���C��q'
�
�
N
��:��]�>
�
�
�
�
d
8
	�	�	�Bo	w	R	-	G���h����Y1	����_4	��aB���L
���eB$���>Mmod_http21.15.710.module+el8.10.0+1830+22f0c9e0x86_64z*'mesa-libglapi23.1.43.el8_10x86_64y(#mesa-libgbm23.1.43.el8_10x86_64x'!mesa-libGL23.1.43.el8_10x86_64w(#mesa-libEGL23.1.43.el8_10x86_64v	mc4.8.199.el8x86_64Y$#msodbcsql1717.10.6.11x86_64X$#msodbcsql1717.10.5.11x86_64
:$#msodbcsql1717.10.4.11x86_64�mpfr3.1.61.el8x86_64�"mpdecimal2.5.13.el8x86_64
m!mozjs6060.9.04.el8x86_64�#%monitor-edid3.42.el8x86_64�"mod_perl2.0.121.el8x86_64�>Mmod_http21.15.78.module+el8.9.0+1370+89cc8ad5.3x86_64
�>Mmod_http21.15.78.module+el8.8.0+1284+07ef499e.3x86_64�>Mmod_http21.15.75.module+el8.7.0+1182+86a6cd60.4x86_64\;Gmod_http21.15.75.module+el8.6.0+823+f143cee1x86_64	�;Gmod_http21.15.73.module+el8.5.0+695+1fa8055ex86_64�>Mmod_http21.15.710.module+el8.10.0+1775+6b057638x86_64`miniz2.1.03.el8x86_64�7'1microcode_ctl202308082.20231009.1.el8_9x86_64y7'1microcode_ctl202208092.20230808.2.el8_8x86_64
"7'1microcode_ctl202208092.20230214.1.el8_8x86_64�*'microcode_ctl202208091.el8x86_64
�*'microcode_ctl202106081.el8x86_64�7'1microcode_ctl202106081.20220207.1.el8_5x86_64�'#mhash-devel0.9.9.920.el8x86_64	%!mhash0.9.9.920.el8x86_64	$''mesa-libglapi23.1.42.el8x86_64_''mesa-libglapi23.1.41.el8x86_64
�''mesa-libglapi22.3.02.el8x86_64�''mesa-libglapi22.1.52.el8x86_64	�)'mesa-libglapi21.1.51.el8.0x86_64�%#mesa-libgbm23.1.42.el8x86_64^%#mesa-libgbm23.1.41.el8x86_64
�%#mesa-libgbm22.3.02.el8x86_64�$!mesa-libGL23.1.42.el8x86_64]%#mesa-libEGL23.1.42.el8x86_64\%#mesa-libgbm22.1.52.el8x86_64	�'#mesa-libgbm21.1.51.el8.0x86_64�+/mesa-libGLU-devel9.0.015.el8x86_64u%#mesa-libGLU9.0.015.el8x86_64�$!mesa-libGL23.1.41.el8x86_64
�$!mesa-libGL22.3.02.el8x86_64�$!mesa-libGL22.1.52.el8x86_64	�&!mesa-libGL21.1.51.el8.0x86_64�%#mesa-libEGL23.1.41.el8x86_64
�%#mesa-libEGL22.3.02.el8x86_64�%#mesa-libEGL22.1.52.el8x86_64	�'#mesa-libEGL21.1.51.el8.0x86_64�++mesa-filesystem21.1.51.el8.0x86_64�,-mesa-dri-drivers21.1.51.el8.0x86_64�"memstrack0.2.52.el8x86_64x"memstrack0.2.42.el8x86_64
�#memstrack0.1.111.el8x86_64�#memcached1.5.222.el8x86_64xmdadm4.2rc2.el8x86_641mcpp2.7.220.el8x86_64�I5Imariadb-server-utils10.3.391.module+el8.8.0+1452+2a7eab68x86_64�I5Imariadb-server-utils10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�H5Gmariadb-server-utils10.3.322.module+el8.5.0+777+18007c86x86_64�H5Gmariadb-server-utils10.3.281.module+el8.4.0+427+adf35707x86_64�C)Imariadb-server10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-server10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-server10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-server10.3.281.module+el8.4.0+427+adf35707x86_64J7Imariadb-gssapi-server10.3.391.module+el8.8.0+1452+2a7eab68x86_64�J7Imariadb-gssapi-server10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�I7Gmariadb-gssapi-server10.3.322.module+el8.5.0+777+18007c86x86_64�I7Gmariadb-gssapi-server10.3.281.module+el8.4.0+427+adf35707x86_64~C)Imariadb-errmsg10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-errmsg10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-errmsg10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-errmsg10.3.281.module+el8.4.0+427+adf35707x86_64}6Amariadb-connector-c-config3.1.112.el8_3noarch�
	��@������������	��xph`XPH@	880( ���@80�(� 	XPH@h`XP80( �����������	����������xph`XP������������xph`XPH@80	((	 P	HH@�8�0�( ���
������ ������
0�����������x�ph�`X	�P	�H	�@80	(	 �����
�
��
��
��
�X
�h
�x
��
��
��
��
��
��
�
��
��
x�
p
h
`	�
X	�
P	x
H
@	p
8	h
0	`
(	X
 �
`
p
��
����������������`� �������x�p�hx`pXhP`HX@P�H�@�8	�0	�(	� xphH@�������	P�	H������8�0�(x�ph`�XPH@80( �����
�	�
�
�	�
�x
��
�
��
�p����	�	@	0
(

�
 
��	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	��������������������7���8���9���:���;���<���=���>���L�L�K�K�JMJ�I�HKH�G�F�EIE�DGD�C�B�A�@�?�~�M�}�����N�M�������U�TlT�S�R�Q�P�O�N�|�nm�ml�lk�kj�ji�ih�hg�g
fe�edcba�`�_�^�^�]�\�[�[�W�V�V�U��!���������������������������GcEbCaA`?_=]+\)�'z0y.x>x,w�w*v�v(u�u&t�t$s�s"r�r q�qp�po�on��P����X�X�W������������Z�Z�Y�Y�
�	<��
�dB@
>
�TQ�L
�J�H�<�:�8�6�4R�{VzTyR
�I�
P�$�"���������������W�V�UCQ
���������f�
8(

�[
Y�VxMK
IGE
C	A?=;97531/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�j�i�h�g�f�d�c�b�a�`�_�^�]�\�[�Z�X�W�V�P�N�L�J�H�F�D�B�@�>�<:~8}6|4{2�L�%�N�#�P��R��T������d�`�^�\�Z�X�V
��
Y����wU%���zP
�
�
u
;���tO!���e/
�
�
�
T
	�	�	x	B	��nK!����^/	���vN*���iF����Z.
���b8
���tN+���M'�7�'1�microcode_ctl202208092.20230214.1.el8_8x86_64#��logrotate3.14.06.el8x86_64#��lmdb-libs0.9.242.el8x86_64:�)7�linux-firmware20230404114.git2e92a49f.el8_8noarch%�!�libxml22.9.716.el8_8.1x86_64*�'�libuuid-devel2.32.142.el8_8x86_64$��libuuid2.32.142.el8_8x86_64"��libuuid2.32.142.el8_8i686 ��libuser0.6225.el8x86_64#��libtevent0.13.01.el8x86_64�~�libtdb1.4.71.el8x86_64"�}libtalloc2.3.41.el8x86_64#�|~libstdc++8.5.018.el8x86_64&�{#}libsss_sudo2.8.23.el8_8x86_64+�z-|libsss_nss_idmap2.8.23.el8_8x86_64'�y%{libsss_idmap2.8.23.el8_8x86_64)�x)zlibsss_certmap2.8.23.el8_8x86_64(�w'ylibsss_autofs2.8.23.el8_8x86_64)�v'xlibssh-config0.9.610.el8_8noarch"�uwlibssh0.9.610.el8_8x86_64!�tvlibsoup2.62.33.el8x86_64)�s%ulibsmartcols2.32.142.el8_8x86_64'�r-tlibselinux-utils2.98.el8x86_64'�q-slibselinux-devel2.98.el8x86_64!�p!rlibselinux2.98.el8x86_64!�oqlibrepo1.14.24.el8x86_64%�n#plibquadmath8.5.018.el8x86_64%�m%olibpwquality1.4.46.el8x86_64 �lnlibnsl2.28225.el8x86_64%�k#	mlibnfsidmap2.3.359.el8x86_64%�jllibmount2.32.142.el8_8x86_64�iklibldb2.6.11.el8x86_64%�hjlibkadm51.18.225.el8_8x86_64$�g!ilibibverbs44.02.el8.1x86_64!�fhlibgomp8.5.018.el8x86_64%�e#glibgfortran8.5.018.el8x86_64 �dflibgcc8.5.018.el8x86_64$�c%elibffi-devel3.124.el8x86_64�bdlibffi3.124.el8x86_64%�aclibfdisk2.32.142.el8_8x86_64#�`blibdnf0.63.014.el8_8x86_64,�_'!alibcurl-devel7.61.130.el8_8.3x86_64&�^!`libcurl7.61.130.el8_8.3x86_64 �]_libcap2.485.el8_8x86_64%�\^libblkid2.32.142.el8_8x86_64#�[!]libarchive3.3.35.el8x86_64&�Z\krb5-libs1.18.225.el8_8x86_64'�Y![krb5-devel1.18.225.el8_8x86_64 �XZkpartx0.8.437.el8x86_644�W/)Ykernel-tools-libs4.18.0477.21.1.el8_8x86_64/�V%)Xkernel-tools4.18.0477.21.1.el8_8x86_641�U))Wkernel-headers4.18.0477.21.1.el8_8x86_644�T-	!#Viwl7260-firmware25.30.13.0114.el8_8.1noarch3�S-#Uiwl6050-firmware41.28.5.1114.el8_8.1noarch7�R3!#Tiwl6000g2a-firmware18.168.6.1114.el8_8.1noarch3�Q-#Siwl6000-firmware9.221.4.1114.el8_8.1noarch2�P-#Riwl5150-firmware8.24.2.2114.el8_8.1noarch4�O-!#Qiwl5000-firmware8.83.5.1_1114.el8_8.1noarch4�N-	!#Piwl3160-firmware25.30.13.0114.el8_8.1noarch4�M-!#Oiwl2030-firmware18.168.6.1114.el8_8.1noarch4�L-!#Niwl2000-firmware18.168.6.1114.el8_8.1noarch3�K+!#Miwl135-firmware18.168.6.1114.el8_8.1noarch3�J+!#Liwl105-firmware18.168.6.1114.el8_8.1noarch3�I-	#Kiwl1000-firmware39.31.5.1114.el8_8.1noarch2�H+#Jiwl100-firmware39.31.5.1114.el8_8.1noarch$�G!Iirqbalance1.9.04.el8x86_64'�F'Hiptables-libs1.8.424.el8x86_64+�E/Giptables-ebtables1.8.424.el8x86_64"�DFiptables1.8.424.el8x86_64%�CEiproute5.18.01.1.el8_8x86_64"�BDhwdata0.3148.16.el8noarch;�A3	7Cgrub2-tools-minimal2.02148.el8_8.1.rocky.0.3x86_649�@/	7Bgrub2-tools-extra2.02148.el8_8.1.rocky.0.3x86_647�?+	7Agrub2-tools-efi2.02148.el8_8.1.rocky.0.3x86_643�>#	7@grub2-tools2.02148.el8_8.1.rocky.0.3x86_648�=-	7?grub2-pc-modules2.02148.el8_8.1.rocky.0.3noarch0�<	7>grub2-pc2.02148.el8_8.1.rocky.0.3x86_644�;%	7=grub2-common2.02148.el8_8.1.rocky.0.3noarch'�:'<glibc-headers2.28225.el8x86_64+�9/;glibc-gconv-extra2.28225.el8x86_64)�8/:glibc-gconv-extra2.28225.el8i686%�7#9glibc-devel2.28225.el8x86_64&�6%8glibc-common2.28225.el8x86_64-�537glibc-all-langpacks2.28225.el8x86_64�46glibc2.28225.el8x86_64�35glibc2.28225.el8i686!�24glib22.56.4161.el8x86_64"�13file-libs5.3324.el8x86_64�02file5.3324.el8x86_64
���������veTC1��������q_M;)
�
�
�
�
�
�
�
u
c
Q
?
-

	�������{jYG5$�������ziWE4#
�
�
�
�
�
�
�
w
f
U
D
3
"

	�	�	�	�	�	�	�	v	e	T	C	2	!	��������wfUD3!��������tcRA0��������udSA/
��������q_M;)�������~m\K:)�������n]K9(�������|kZI8'������		���		�
��		���~		�
��}		���|		�
��{		���z		�	#�y		���x		�	"�w		���v		�	!�u		���t		�	 �s		���r	�
��q	���p		���o		���n		���m		���l		�	��k		���j	�	��i	���h		�
��g		���f		�
��e		���d		�
��c		���b		�
��a		���`		�
��_		���^		�
��]		���\		�
��[		���Z		�
��Y		���X		�
��W		���V		��U		���T		��S		���R		�
��Q		���P		�
��O		���N	���M	���L	�
��K	���J	�
��I	���H		�
��G		���F		�
��E		���D	�
��C	���B		���A		���@	���?	���>	�x�=	���<		�
��;		���:		�
��9		���8		�
��7		���6		�
��5		���4		�
��3		���2	�
��1	���0	�
��/	���.	�
��-	��,		�
��+		�~�*	�
��)	�}�(		�
��'		�|�&		�
��%		�{�$	�
��#	�z�"	�
��!	�y� 		�
��		�x�		�
��		�w�		�,�		�v�		�
��		�u�		�
��		�t�		�
��		�s�		�
��		�r�		�
��		�q�		�
��		�p�		�
��
		�o�	�	?�	�n�
		�
��			�m�		�
��		�l�	�
��	�k�		�
��		�j�		�
��		�i�		�
��		�h�~		�
��}		�g�|		�
��{		�f�z	�
��y	�e�x		�
��w		�d�v		�
��u		�c�t		�	�s		�b�r	�
��q	�a�p		�
��o		�`�n		�
��m		�_�l		�
��k		�^�j		�	��i		�]�h		�
��g		�\�f		�
��e		�[�d	�w�c	�Z�b		�v�a		�Y�`	�u�_	�X�^		�t�]		�W�\	�s�[	�V�Z	�r�Y	�U�X	�q�W	�T�V	�p�U	�S�T	�o�S	�R�R	�n�Q	�Q�P	�m�O	�P�N	�l�M	�O�L	�k�K	�N�J	�j�I	�M�H	�i�G	�L�F	�h�E	�K�D	�g�C	�J�B	�
��A	�I�@		�
��?		�H�>		�
��=		�G�<		�
��;		�F�:	�
��9	�E�8		�
}�7		�D�6		�
{�5		�C�4		�
z�3		�B�2	�	��1	�A�0	�
y�/	�@�.		�
x
SO�
��>e�~�"A
���
�
z
R
&	�	�	�	h	7	����uD�#�����k;����a:�h��rH�B�c���mJ' ��D(���}\;.'+�h@g/(+ncurses6.110.201.'+ncurses-devel6.110.20180224.el8x86_64}@%Kmysql-common8.0.361.module+el8.10.0+1676+9b4b6e24x86_64a <!Inetcf-libs0.2.812.module+el8.4.0+534+4680a14ex86_64�?#Kmysql-devel8.0.361.module+el8.10.0+1676+9b4b6e24x86_64bA!Qmysql-libs8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64�B#Qmysql-devel8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64�C%Qmysql-common8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64�"!ndctl-libs71.17.el8x86_64�%'	net-snmp-libs5.828.el8x86_64-%+ncurses-libs6.110.20180224.el8x86_64~
#npth1.54.el8x86_64�@	[npm6.14.111.10.24.0.1.module+el8.3.0+101+f84c7154x86_64�C-	Gnodejs-full-i18n10.24.01.module+el8.3.0+101+f84c7154x86_64�9	Gnodejs10.24.01.module+el8.3.0+101+f84c7154x86_64�#	nftables1.0.43.el8_9x86_64�"	nftables0.9.326.el8x86_64
�"	nftables0.9.321.el8x86_64�#	nfs-utils2.3.346.el8x86_644 newt0.52.2011.el8x86_64�%%nettle-devel3.4.17.el8x86_64
Qnettle3.4.17.el8x86_64�netcat1.2182.el8x86_64�/5net-tools2.00.52.20160912git.el8x86_643)'	!net-snmp-libs5.827.el8_8.1x86_64
W%'	net-snmp-libs5.827.el8x86_64�)'	!net-snmp-libs5.825.el8_7.1x86_64
�%'	net-snmp-libs5.822.el8x86_64�&)	net-snmp-devel5.828.el8x86_64
�*)	!net-snmp-devel5.827.el8_8.1x86_64
V&)	net-snmp-devel5.827.el8x86_64�*)	!net-snmp-devel5.825.el8_7.1x86_64	�&)	net-snmp-devel5.822.el8x86_64�+3	net-snmp-agent-libs5.828.el8x86_64
�/3	!net-snmp-agent-libs5.827.el8_8.1x86_64
U+3	net-snmp-agent-libs5.827.el8x86_64�/3	!net-snmp-agent-libs5.825.el8_7.1x86_64	�+3	net-snmp-agent-libs5.822.el8x86_64� 	net-snmp5.828.el8x86_64
�$	!net-snmp5.827.el8_8.1x86_64
T 	net-snmp5.827.el8x86_64�$	!net-snmp5.825.el8_7.1x86_64	� 	net-snmp5.822.el8x86_64�0%1ncurses-libs6.19.20180224.el8_8.1x86_64
',%)ncurses-libs6.19.20180224.el8x86_64�1'1ncurses-devel6.19.20180224.el8_8.1x86_64
&-')ncurses-devel6.19.20180224.el8x86_64�4-1ncurses-c++-libs6.19.20180224.el8_8.1x86_64
%0-)ncurses-c++-libs6.19.20180224.el8x86_64�1-+ncurses-c++-libs6.110.20180224.el8x86_64|0%1ncurses-base6.19.20180224.el8_8.1noarch
$,%)ncurses-base6.19.20180224.el8noarch�-%+ncurses-base6.110.20180224.el8noarch{+1ncurses6.19.20180224.el8_8.1x86_64
#')ncurses6.19.20180224.el8x86_64�(+ncurses6.110.20180224.el8x86_64znano2.9.81.el8x86_64YA!Qmysql-libs8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64�=!Imysql-libs8.0.301.module+el8.6.0+1057+4d6a1721x86_64	Q<!Gmysql-libs8.0.261.module+el8.4.0+652+6de068a7x86_64	
B#Qmysql-devel8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64�>#Imysql-devel8.0.301.module+el8.6.0+1057+4d6a1721x86_64	P=#Gmysql-devel8.0.261.module+el8.4.0+652+6de068a7x86_64		C%Qmysql-common8.0.321.module+el8.8.0+1283+4b88a3a8.0.1x86_64�?%Imysql-common8.0.301.module+el8.6.0+1057+4d6a1721x86_64	O>%Gmysql-common8.0.261.module+el8.4.0+652+6de068a7x86_64	!mtools4.0.1814.el8x86_642�!	nftables1.0.44.el8x86_64
%'	net-snmp-libs5.830.el8x86_64	&)	net-snmp-devel5.830.el8x86_64f+3	net-snmp-agent-libs5.830.el8x86_64e 	net-snmp5.830.el8x86_64d>!Kmysql-libs8.0.361.module+el8.10.0+1676+9b4b6e24x86_64cnss3.90.03.el8_8x86_64� nss3.79.011.el8_7x86_64] nss3.79.010.el8_6x86_64	�nss3.67.07.el8_5x86_64� nspr4.35.01.el8_8x86_64� nspr4.34.03.el8_6x86_64	� nspr4.32.01.el8_4x86_64�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
����������������������������������������������������������������������������������������������	�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Y����W,���rN%
�
�
�
s
;
���X1��s>
�
�
~
U
&	�	�	�	e	<	���{K���`4	���e:���zV/
���b2���^3��|J���s?�2�a3#�postgresql11-server11.211PGDG.rhel8x86_640�`/#�postgresql11-libs11.211PGDG.rhel8x86_641�_1#�postgresql11-devel11.211PGDG.rhel8x86_64+�^%#�postgresql1111.211PGDG.rhel8x86_64)�]-�pgdg-redhat-repo42.034PGDGnoarch'�\)�unixODBC-devel2.3.111.rhx86_64!�[�unixODBC2.3.111.rhx86_64,�Z3�perl-IO-Interactive1.0251.el8noarch/�Y9�perl-HTML-StripScripts1.0622.el8noarch.�X9�perl-GIS-Distance-Fast0.161.el8x86_64)�W/�perl-GIS-Distance0.201.el8noarch*�V1�perl-Crypt-URandom0.391.el8noarch*�U1�perl-Class-Measure0.101.el8noarch(�T'�clamav-update0.103.91.el8x86_64%�S!�clamav-lib0.103.91.el8x86_64,�R/�clamav-filesystem0.103.91.el8noarch&�Q#�clamav-data0.103.91.el8noarch!�P�clamav0.103.91.el8x86_64-�O-�ImageMagick-perl6.9.12.931.el8x86_64-�N-�ImageMagick-libs6.9.12.931.el8x86_64.�M/�ImageMagick-devel6.9.12.931.el8x86_64(�L#�ImageMagick6.9.12.931.el8x86_64#�K#�libgs-devel9.276.el8x86_64&�J�yum-utils4.0.2119.el8_8noarch�I�yum4.7.016.el8_8noarch$�H�xfsprogs5.0.011.el8_8x86_64!�G�virt-what1.253.el8x86_64'�F!�util-linux2.32.142.el8_8x86_64�E�tuned2.20.01.el8noarch�D�tar1.309.el8x86_64(�C%!�systemd-udev23974.el8_8.3x86_64'�B#!�systemd-pam23974.el8_8.3x86_64(�A%!�systemd-libs23974.el8_8.3x86_64#�@!�systemd23974.el8_8.3x86_64)�?)�sssd-nfs-idmap2.8.23.el8_8x86_64&�>#�sssd-common2.8.23.el8_8x86_64&�=#�sssd-client2.8.23.el8_8x86_64(�<#�sqlite-libs3.26.018.el8_8x86_64)�;%�sqlite-devel3.26.018.el8_8x86_64#�:�sqlite3.26.018.el8_8x86_64�9�setup2.12.29.el8noarch7�8;#�selinux-policy-targeted3.14.3117.el8_8.2noarch.�7)#�selinux-policy3.14.3117.el8_8.2noarch5�6A�rpm-plugin-systemd-inhibit4.14.326.el8x86_64-�51�rpm-plugin-selinux4.14.326.el8x86_64#�4�rpm-libs4.14.326.el8x86_64$�3�rpm-devel4.14.326.el8x86_64)�2)�rpm-build-libs4.14.326.el8x86_64�1�rpm4.14.326.el8x86_64$�0#�rocky-repos8.81.8.el8noarch&�/'�rocky-release8.81.8.el8noarch'�.)�rocky-gpg-keys8.81.8.el8noarch#�-�rdma-core44.02.el8.1x86_649�,1/�python3-syspurpose1.28.363.el8_8.rocky.0.1x86_642�+=�python3-setuptools-wheel39.2.07.el8noarch,�*1�python3-setuptools39.2.07.el8noarch&�)#�python3-rpm4.14.326.el8x86_64/�(;�python3-policycoreutils2.924.el8noarch/�'%)�python3-perf4.18.0477.21.1.el8_8x86_64-�&5�python3-linux-procfs0.7.11.el8noarch)�%1�python3-libselinux2.98.el8x86_642�$%1�python3-libs3.6.851.el8_8.1.rocky.0x86_64+�#)�python3-libdnf0.63.014.el8_8x86_64+�")�python3-hawkey0.63.014.el8_8x86_645�!=�python3-dnf-plugins-core4.0.2119.el8_8noarch'� #�python3-dnf4.7.016.el8_8noarch$��procps-ng3.3.1513.el8x86_64%�#�polkit-libs0.11515.el8x86_64 ��polkit0.11515.el8x86_644�E�policycoreutils-python-utils2.924.el8noarch'�+�policycoreutils2.924.el8x86_644�A�platform-python-setuptools39.2.07.el8noarch5�+1�platform-python3.6.851.el8_8.1.rocky.0x86_64(�#�perl-macros5.26.3422.el8x86_64&��perl-libs5.26.3422.el8x86_64-�-�perl-interpreter5.26.3422.el8x86_64+�/�perl-Math-Complex1.59422.el8noarch&�%	�perl-IO-Zlib1.10422.el8noarch!��perl-IO1.38422.el8x86_64$�!�perl-Errno1.28422.el8x86_64&�'�pciutils-libs3.7.03.el8x86_64!��pciutils3.7.03.el8x86_64#��pam-devel1.3.125.el8x86_64��pam1.3.125.el8x86_64(�
)�openssl-pkcs110.4.103.el8x86_64*�)�openssh-server8.0p119.el8_8x86_64+�+�openssh-clients8.0p119.el8_8x86_64#�
�openssh8.0p119.el8_8x86_64%�	'	�net-snmp-libs5.827.el8x86_64
�D�������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gym[I7%Ug�������DVxfTB02D
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�9/%�����+%systemd-udev�#systemd-pam�%systemd-libs�systemd�)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�
����������xgVE4#�������wfUD3"
�
�
�
�
�
�
�
�
q
_
M
;
*

�������|kZI8'�������ucQ?-
�
�
�
�
�
�
�
�
o
]
L
;
*

	�	�	�	�	�	�	�	y	g	U	C	1		
��������o]K:)�������udSA/
�������o]K:)��������p^L;*��������n\K:(�������zhWF5$�������ziXG6%������S		�6�R		�
�Q		�5�P		�

�O		�=�N		�
�M		�
V�L		�
�K		��J		�
�I		�
D�H		�
�G		��F		�
�E		�c�D		�
�C		�b�B		�
�A		�a�@		���?		�`�>		���=		�_�<		���;		�	��:		���9	�	��8	���7		�	��6		���5	�	��4	���3		�	��2		���1		�	��0		���/	�	��.	���-		�	��,		���+	�]�*	���)		�\�(		���'		���&		���%		���$		���#		���"		���!		��� 		���		���		���	���	���		���		���		���		���		���		��
�		��
�		��
�		���	���		���		���		���	��
	���		�	�		�
�	�
�
��	���	�	������	�	�	�
������	�	�	�
�~��}���|	�	�/���z	���y	���x	���w	�k�v	�N�u	���t		�M�s		���r	�L�q	���p		�K�o		���n	���m	��
�l	�b�k	���j		���i		���h	�g�g	���f	�D�e	���d	�,�c	���b	�+�a	���`	��_	���^	�:�]	���\	���[	���Z		���Y		���X		���W		���V		���U		���T	���S	���R		���Q		���P		���O		���N	���M	���L		���K		���J		�)�I		��	�H	�	�G	���F	�	$�E	���D	�!�C	���B		��A		���@	��?	���>	��=	���<	��;	���:		��9		���8		��7		���6		��5		���4		��3		���2	��1	���{	�
�0��.		��-		���,		��+		���*	��)	���(	��'	���&	�
�%	���$	�~�#	���"		�}�!		��� 	�	N�	���		�	M�		���		�	L�		���		�	K�		���		�	J�		���	�	I�	���		��		���		��		���		��		���		��
		���		��		���
		�
��			���		�
��		���		�	H�		���		�	��		���		�|
!R��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
���
R
-
���`;�����wO+oW
�
�
�
b
9
J-	�	�	�	h	K	*	
�����}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4)%#systemd-udev23982.el8_10.1x86_64�(##systemd-pam23982.el8_10.1x86_64�)%#systemd-libs23982.el8_10.1x86_64�$#systemd23982.el8_10.1x86_64�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�
T�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������������zpf\RH>4* �������������vlbXND:0&�������������
��
	���~�}�|��{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]���\���[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>��=~}�<|{�;zy�:xw�9vu�8ts�7rq�6po�5nm�4lk�3ji�2hg�1fe�0dc�/ba�.`_�-^]�,\[�+ZY�*XW�)VU�(TS�'RQ�&PO�%NM�$LK�#JI�"HG�!FE� DC�BA�@?�>=�<;�:9�87�65�43�21�0/�.-�,+�*)�('�&%�$#�"!� �
���
�	����
��
	�����~��}���|���{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]���\���[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>��=~}�<|{�;zy�:xw�9vu�8ts�7rq�6po�5nm�4lk�3ji�2hg�1fe�0dc�/ba�.`_�-^]�,\[�+ZY�*XW�)VU�(TS�'RQ�&PO�%NM�$LK�#JI�"HG�!FE� DC�BA�@?�>=�<;�:9�87�65�43�21�0/�.-�,+�*)�('�&%�$#�"!� �
���
�	����
��
	�����~��}���|���{���z���y���x���w���v���u���t���s���r���q���p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]���\���[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>��=~}�<|{�;zy�:xw�9vu�8ts�7rq�6po�5nm�4lk
/�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�$�����������ti^SH=2'�������������
qp1
on0
ml/
kj.
ih-
gf,
ed+
cb*
a`)
_^(
]\'
[Z&
YX%
WV$
UT#
SR"
QP!
ON 
ML
KJ
IH
GF
ED
CB
A@
?>
=<
;:
98
76
54
32
10
/.
-,
+*
)(
'&
%$
#"

! 	









	

�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
��Y
��X
��W
��V
��U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
~8
}|7
{z6
yx5
wv4
ut3
sr2
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�

�~
��}
��|
��{
��z
��y
��x
��w
��v
��u
��t
��s
��r
��q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[
��Z
��Y
��X
��W
��V
��U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
8��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`&��'�j	M�useradd: cannot open /etc/passwd7�i	m�warning: user apache does not exist - using root7�h	m�warning: user apache does not exist - using root7�g	m�warning: user apache does not exist - using root7�f	m�warning: user apache does not exist - using root7�e	m�warning: user apache does not exist - using root'�d	M�useradd: cannot open /etc/passwdE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
8��e)��u9
�
�
X
��8��`
�
�
@	�	�	h	 ��H�p(��P�x0��X��8��`��@��E�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directory-�u	Y�Failed to connect to bus: Host is downV�t	�)�System has not been booted with systemd as init system (PID 1). Can't operate.'�s	M�useradd: cannot open /etc/passwd+�r	U�chown: invalid spec: ‘postgres:’9�q	q�warning: user postgres does not exist - using root9�p	q�warning: user postgres does not exist - using root9�o	q�warning: user postgres does not exist - using root9�n	q�warning: user postgres does not exist - using root9�m	q�warning: user postgres does not exist - using root>�l	{�error: sssd-common-2.8.2-3.el8_8.x86_64: install failedW�k	�+�error: %prein(sssd-common-2.8.2-3.el8_8.x86_64) scriptlet failed, exit status 1
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h0��X��8��`��@��h ��H�p(��E�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directory5�>	i�grep: /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��l.��;�	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root9�
	q�warning: /etc/shadow created as /etc/shadow.rpmnewE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��v.��V
�
~
6��^��>
�
�
f
	�	�	F��n&��N�v.��V�~6��^��>��f��E�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory?�	}�error: sssd-common-2.7.3-4.el8_7.3.x86_64: erase skipped
6��p(��P
�
x
0��X��8
�
�
@	�	�	h	 ��H�p(��P�x0��X��8��`��@��E�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directorym�[	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directory=�Z	y�error: unbound-libs-1.16.2-2.el8.x86_64: erase skippedE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
5��p(��P
�
x
0��X��8
�
�
`	�	�	G��e-��?��o'��O�w/��W�7��_��'�2	M�useradd: cannot open /etc/passwdm�1	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!C�	��dracut: Turning off host-only mode: '/proc' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!n�	�Y�dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y5�	i�grep: /proc/cpuinfo: No such file or directory5�	i�grep: /proc/cpuinfo: No such file or directory5�	i�grep: /proc/cpuinfo: No such file or directory5�	i�grep: /proc/cpuinfo: No such file or directoryo�	�[�dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.e�	�G�libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryE�	��dracut: No '/dev/log' or 'logger' included for syslog loggingf�	�I�/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
8��e;�wM
�
�
�
\
��s+��S
�
{
3	�	�	[	��;��c��C��k#��K�s+��S�{3��E�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directory6�@	k�warning: user mysql does not exist - using root6�?	k�warning: user mysql does not exist - using root6�>	k�warning: user mysql does not exist - using root;�=	u�warning: user clamupdate does not exist - using root0�<	_�usermod: user 'clamupdate' does not exist'�;	M�useradd: cannot open /etc/passwd'�:	M�Could not open available domainsg�9	�K�[sss_cache] [confdb_init] (0x0010): Unable to open config database [/var/lib/sss/db/config.ldb]'�8	M�Could not open available domainsg�7	�K�[sss_cache] [confdb_init] (0x0010): Unable to open config database [/var/lib/sss/db/config.ldb]W�6	�+�error: %prein(unbound-libs-1.16.2-5.el8.x86_64) scriptlet failed, exit status 1'�5	M�useradd: cannot open /etc/passwd>�4	{�error: sssd-common-2.8.2-3.el8_8.x86_64: install failedW�3	�+�error: %prein(sssd-common-2.8.2-3.el8_8.x86_64) scriptlet failed, exit status 1
N����j9��yL
�
�
[
/
��V�}7
�
�
�
|
K
!	�	�	�	d	=	���h<���Q#���L��p;��^*���]#���W$���]7��(�/%!
1systemd-udev23974.el8_8.5x86_64'�.#!
0systemd-pam23974.el8_8.5x86_64(�-%!
/systemd-libs23974.el8_8.5x86_64#�,!
.systemd23974.el8_8.5x86_647�+;#
-selinux-policy-targeted3.14.3117.el8_8.3noarch.�*)#
,selinux-policy3.14.3117.el8_8.3noarch/�)%)
+python3-perf4.18.0477.27.1.el8_8x86_64'�()
*perf4.18.0477.27.1.el8_8x86_640�'%1
)ncurses-libs6.19.20180224.el8_8.1x86_641�&'1
(ncurses-devel6.19.20180224.el8_8.1x86_644�%-1
'ncurses-c++-libs6.19.20180224.el8_8.1x86_640�$%1
&ncurses-base6.19.20180224.el8_8.1noarch+�#1
%ncurses6.19.20180224.el8_8.1x86_647�"'1
$microcode_ctl202208092.20230808.2.el8_8x86_64:�!)7
#linux-firmware20230404117.git2e92a49f.el8_8noarch$� #
"libnsl2.28225.el8_8.6x86_644�/)
!kernel-tools-libs4.18.0477.27.1.el8_8x86_64/�%)
 kernel-tools4.18.0477.27.1.el8_8x86_641�))
kernel-headers4.18.0477.27.1.el8_8x86_644�-	!#
iwl7260-firmware25.30.13.0117.el8_8.1noarch3�-#
iwl6050-firmware41.28.5.1117.el8_8.1noarch7�3!#
iwl6000g2a-firmware18.168.6.1117.el8_8.1noarch3�-#
iwl6000-firmware9.221.4.1117.el8_8.1noarch2�-#
iwl5150-firmware8.24.2.2117.el8_8.1noarch4�-!#
iwl5000-firmware8.83.5.1_1117.el8_8.1noarch4�-	!#
iwl3160-firmware25.30.13.0117.el8_8.1noarch4�-!#
iwl2030-firmware18.168.6.1117.el8_8.1noarch4�-!#
iwl2000-firmware18.168.6.1117.el8_8.1noarch3�+!#
iwl135-firmware18.168.6.1117.el8_8.1noarch3�+!#
iwl105-firmware18.168.6.1117.el8_8.1noarch3�-	#
iwl1000-firmware39.31.5.1117.el8_8.1noarch2�+#
iwl100-firmware39.31.5.1117.el8_8.1noarch+�'!
iptables-libs1.8.424.el8_8.2x86_64/�/!
iptables-ebtables1.8.424.el8_8.2x86_64&�
!
iptables1.8.424.el8_8.2x86_64+�'#
glibc-headers2.28225.el8_8.6x86_64/�/#

glibc-gconv-extra2.28225.el8_8.6x86_64-�
/#
glibc-gconv-extra2.28225.el8_8.6i686)�	##
glibc-devel2.28225.el8_8.6x86_64*�%#
glibc-common2.28225.el8_8.6x86_641�3#
	glibc-all-langpacks2.28225.el8_8.6x86_64#�#
glibc2.28225.el8_8.6x86_64!�#
glibc2.28225.el8_8.6i686'�	!
findutils4.6.020.el8_8.1x86_64$�	
dmidecode3.34.el8_8.1x86_64'�	!
cups-libs2.2.651.el8_8.2x86_64:�+1!
ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch,�%
python3-bind 9.11.368.el8_8.2noarch$�
nss-util3.90.03.el8_8x86_64'�~#
nss-sysinit3.90.03.el8_8x86_64.�}1�nss-softokn-freebl3.90.03.el8_8x86_64'�|#�nss-softokn3.90.03.el8_8x86_64�{�nss3.90.03.el8_8x86_64 �z�nspr4.35.01.el8_8x86_64I�y5I�mariadb-server-utils10.3.391.module+el8.8.0+1452+2a7eab68x86_64C�x)I�mariadb-server10.3.391.module+el8.8.0+1452+2a7eab68x86_64J�w7I�mariadb-gssapi-server10.3.391.module+el8.8.0+1452+2a7eab68x86_64C�v)I�mariadb-errmsg10.3.391.module+el8.8.0+1452+2a7eab68x86_64C�u)I�mariadb-common10.3.391.module+el8.8.0+1452+2a7eab68x86_64C�t)I�mariadb-backup10.3.391.module+el8.8.0+1452+2a7eab68x86_64<�sI�mariadb10.3.391.module+el8.8.0+1452+2a7eab68x86_64*�r'�libwebp-devel1.0.08.el8_8.1x86_64$�q�libwebp1.0.08.el8_8.1x86_64)�p'�libtiff-devel4.0.929.el8_8x86_64#�o�libtiff4.0.929.el8_8x86_64A�n#O�httpd-tools2.4.3756.module+el8.8.0+1456+d0a01c5e.7x86_64F�m-O�httpd-filesystem2.4.3756.module+el8.8.0+1456+d0a01c5e.7noarch;�lO�httpd2.4.3756.module+el8.8.0+1456+d0a01c5e.7x86_64*�k!�bind-utils 9.11.368.el8_8.2x86_64,�j%�bind-license 9.11.368.el8_8.2noarch.�i)�bind-libs-lite 9.11.368.el8_8.2x86_64)�h�bind-libs 9.11.368.el8_8.2x86_641�g))�kernel-modules4.18.0477.27.1.el8_8x86_64.�f#)�kernel-core4.18.0477.27.1.el8_8x86_64)�e)�kernel4.18.0477.27.1.el8_8x86_64�d�beep1.4.129.el8x86_64�c�gdb8.219.el8x86_64(�b)�gcc-gdb-plugin8.5.018.el8x86_64
	�{P������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`
80	(� ���	
��
��
��
�
��
��
�
X
�
P
�
H
�
@
�p
��
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|HX����������������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X
Eg+
>
��I)	���}Z7
�
�
�
{
[
7
	�	�	��	�	�	p	H	0	�����7��hN9#�+����w_D(
�����udL0�������p�`I-�����lT<$�����j�S4����r\Ecc05perl-Directory-Queue?M�����r\Ecc05perl-Directory-Queue?M�+perl-Email-MIMEU1perl-Encode-Locale
�-perl-Digest-HMAC
��W!perl-Errno�3perl-ExtUtils-Embed�9perl-Devel-SelfStubber�
e7perl-ExtUtils-Install37perl-ExtUtils-Helpers�?perl-ExtUtils-HasCompiler�/perl-ExtUtils-F77�3perl-ExtUtils-Embed	�3perl-ExtUtils-Embed@7perl-ExtUtils-Depends�5perl-ExtUtils-Config�7perl-ExtUtils-Command29perl-ExtUtils-CChecker�9perl-ExtUtils-CBuilderH1perl-Exporter-Tinyq1perl-Exporter-Tidy�1perl-Exporter-Lite�7perl-Exporter-Declare�'perl-Exporter�#perl-Expect�"Gperl-Exception-Class-TryCatch�5perl-Exception-Classp3perl-Exception-Base�9perl-Excel-Writer-XLSX�!perl-Event�9perl-Eval-WithLexicals�/perl-Eval-Closureo!perl-Error�!perl-Errno
�!perl-Errno�/perl-Env-Sanctify�
perl-Env�/perl-Encode-devel�1perl-Encode-Locale	�1perl-Encode-Locale15perl-Encode-IMAPUTF7�5perl-Encode-HanExtra�9perl-Encode-EUCJPASCII�1perl-Encode-Detect�#perl-Encode�-perl-Email-Valid�/perl-Email-Simple�/perl-Email-Sender�5perl-Email-MessageID�?perl-Email-MIME-Encodings� Cperl-Email-MIME-ContentType�+perl-Email-MIME�9perl-Email-Date-Format�7perl-Email-Address-XS�1perl-Email-Address�3perl-Email-Abstract�perl-EV�?perl-DynaLoader-Functionsn=perl-Dist-CheckConflictsm9perl-Directory-Scratch�5perl-Directory-Queue�'perl-Dir-Self�-perl-Digest-SHA1l+perl-Digest-SHAG5perl-Digest-Perl-MD5�5perl-Digest-MD5-File�+perl-Digest-MD5�+perl-Digest-MD4�-perl-Digest-HMAC	�-perl-Digest-HMAC�+perl-Digest-CRCk#perl-Digest�9perl-Device-SerialPort�-perl-Devel-Timer�1perl-Devel-Symdumpj'Qperl-Devel-StackTrace-WithLexicals�!Eperl-Devel-StackTrace-AsHTML�7perl-Devel-StackTracei+perl-Devel-SizeF9perl-Devel-SelfStubber	�9perl-Devel-SelfStubber�3perl-Devel-Refcount�#Iperl-Devel-REPL-Plugin-Refresh>#Iperl-Devel-REPL-Plugin-Refresh�Aperl-Devel-REPL-Plugin-PPI=Aperl-Devel-REPL-Plugin-PPI�#Iperl-Devel-REPL-Plugin-Nopaste<#Iperl-Devel-REPL-Plugin-Nopaste�)Uperl-Devel-REPL-Plugin-MultiLine-PPI;)Uperl-Devel-REPL-Plugin-MultiLine-PPI�"Gperl-Devel-REPL-Plugin-LexEnv:"Gperl-Devel-REPL-Plugin-LexEnv�%Mperl-Devel-REPL-Plugin-Interrupt9%Mperl-Devel-REPL-Plugin-Interrupt�Aperl-Devel-REPL-Plugin-DDS8Aperl-Devel-REPL-Plugin-DDS�Aperl-Devel-REPL-Plugin-DDC7Aperl-Devel-REPL-Plugin-DDC�5mperl-Devel-REPL-Plugin-CompletionDriver-Keywords65mperl-Devel-REPL-Plugin-CompletionDriver-Keywords�0cperl-Devel-REPL-Plugin-CompletionDriver-INC50cperl-Devel-REPL-Plugin-CompletionDriver-INC�&Operl-Devel-REPL-Plugin-Completion4&Operl-Devel-REPL-Plugin-Completion��
���������vdRA0��������p^L:(
�
�
�
�
�
�
�
t
b
P
>
,

�������|jXF4"��������vdRA0
�
�
�
�
�
�
�
�
s
b
P
>
-

	�	�	�	�	�	�	�	�	n	\	J	9	(		�������veSA/�������~m[I8'�������}l\L<,�������m[J9'�������weTC2!��������udSB1 ��������p_M;*�����
�%			�
j
�$			�
i�#	�
=�"		�
h�!		�
g� 		�
f�		�
e�		�
d�	���	�
c�		���		�
b�	���	�
a�		���		�
`�	���	�
_�	�
6�	�
^�		�
5�		�
]�		�
4�		�
\�
		�
3�		�
[�	�
2�
	�
Z�			���		�
K�		�
��		�
J�		���		�
I�		���		�
Y�		���		�
H�		�
i�~		�
G�}	�
h�|	�
F�{		��z		�
E�y	�
<�x	�
D�w		��v		�
C�u	��t	�
B�s	���r	�
X�q		���p		�
W�o	���n	�
V�m	���l	�
A�k	���j	�
@�i	���h	�
?�g		�
U
�f			�
T
�e			�
S
�d			�
R
�c			�
Q
�b			�
P
�a			�
O
�`			�
N�_		�
M�^		�
L�]		�
>�\	���[	�
K�Z	�
��Y	�
J�X	���W	�
I�V	���U	�
H�T	�
i�S	�
G�R�
h�Q�
F�P	��O	�
E�N�
<�M�
D�L	��K	�
C�J��I�
B�H���G�
A�F���E�
@�D���C�
?�B	�
>�A	�	��@	�	��?	�	��>	�k�=	���<	�
=
�;		���:		�
<�9	���8	�
;�7		���6		�
:�5	���4	�
9�3	���2	�
8�1		���0		�
7�/	���.	�
6�-		���,		�
5�+		���*		�
4�)		���(		�
3�'	���&	�
2�%		���$		�
1�#		���"		�
0�!		��� 		�
/�		���		�
.�	���	�
-�		���		�
,�		���		�
+�	���	�
*�		���		�
)�		���		�
(�		���		�
'�		���		�
&�
	���	�
%�	���
	�
$�		���	�
#�	�n�	�
"�		�Y�		�
!�	�X�	�
 �		�W�		�
�	�V�~	�
�}	�U�|	�
�{	�T�z	�
�y	�S�x	�
�w	�R�v	�
�u	�Q�t	�
�s	�P�r	�
�q	�O�p	�
�o	�N�n	�
�m	�M�l	�
�k	�L�j	�
�i	�K�h	�
�g	�J�f	�
�e		�H�d		�
�c		�G�b		�
�a		�F�`		�
�_		�<�^		�
�]	�;�\	�

�[	�:�Z	�
�Y		�9�X		�
�W		�8�V		�
�U		�7�T		�
	
-;�6���S2��x@���i5��g����g4���`-�
�
�
�
k
5���_+���C
�
�
W
j	�	�	`	!*���X.��{L!���e6���-K3-#iwl6050-firmware41.28.5.1120.el8_9.1noarchL�	3-#iwl6000-firmware9.221.4.1111.el8_7.1noarchn9=	'java-1.8.0-openjdk-devel1.8.0.422.b052.el8x86_64p31	'java-1.8.0-openjdk1.8.0.422.b052.el8x86_64o�5-	!%iwl7260-firmware25.30.13.0122.el8_10.1noarch�4-%iwl6050-firmware41.28.5.1122.el8_10.1noarch�83!%iwl6000g2a-firmware18.168.6.1122.el8_10.1noarch�4-%iwl6000-firmware9.221.4.1122.el8_10.1noarch�3-#iwl6050-firmware41.28.5.1117.el8_8.1noarch
3-#iwl6050-firmware41.28.5.1114.el8_8.1noarchS3-#iwl6050-firmware41.28.5.1111.el8_7.1noarchp1-iwl6050-firmware41.28.5.1110.el8.1noarch
�3-#iwl6050-firmware41.28.5.1104.el8_5.1noarch�0-iwl6050-firmware41.28.5.1103.el8.1noarcht53!iwl6000g2a-firmware18.168.6.1121.el8.1noarch�73!#iwl6000g2a-firmware18.168.6.1120.el8_9.1noarchK73!#iwl6000g2a-firmware18.168.6.1117.el8_8.1noarch
73!#iwl6000g2a-firmware18.168.6.1114.el8_8.1noarchR73!#iwl6000g2a-firmware18.168.6.1111.el8_7.1noarcho53!iwl6000g2a-firmware18.168.6.1110.el8.1noarch
�73!#iwl6000g2a-firmware18.168.6.1104.el8_5.1noarch�43!iwl6000g2a-firmware18.168.6.1103.el8.1noarchs1-iwl6000-firmware9.221.4.1121.el8.1noarch�3-#iwl6000-firmware9.221.4.1120.el8_9.1noarchJ3-#iwl6000-firmware9.221.4.1117.el8_8.1noarch
3-#iwl6000-firmware9.221.4.1114.el8_8.1noarchQ>C	'java-1.8.0-openjdk-headless1.8.0.372.b071.el8_7x86_64X>C	'java-1.8.0-openjdk-headless1.8.0.362.b092.el8_7x86_64	�>C	'java-1.8.0-openjdk-headless1.8.0.332.b091.el8_5x86_64�>C	'java-1.8.0-openjdk-headless1.8.0.322.b062.el8_5x86_64�9=	'java-1.8.0-openjdk-devel1.8.0.412.b082.el8x86_64;9=	'java-1.8.0-openjdk-devel1.8.0.402.b062.el8x86_64
�;=	'java-1.8.0-openjdk-devel1.8.0.392.b084.el8_8x86_64
>9=	'java-1.8.0-openjdk-devel1.8.0.382.b052.el8x86_64�;=	'java-1.8.0-openjdk-devel1.8.0.372.b071.el8_7x86_64W;=	'java-1.8.0-openjdk-devel1.8.0.362.b092.el8_7x86_64	�;=	'java-1.8.0-openjdk-devel1.8.0.332.b091.el8_5x86_64�;=	'java-1.8.0-openjdk-devel1.8.0.322.b062.el8_5x86_64�31	'java-1.8.0-openjdk1.8.0.412.b082.el8x86_64:31	'java-1.8.0-openjdk1.8.0.402.b062.el8x86_64
�51	'java-1.8.0-openjdk1.8.0.392.b084.el8_8x86_64
=31	'java-1.8.0-openjdk1.8.0.382.b052.el8x86_64�51	'java-1.8.0-openjdk1.8.0.372.b071.el8_7x86_64V51	'java-1.8.0-openjdk1.8.0.362.b092.el8_7x86_64	�51	'java-1.8.0-openjdk1.8.0.332.b091.el8_5x86_64�51	'java-1.8.0-openjdk1.8.0.322.b062.el8_5x86_64�%#jasper-libs2.0.145.el8x86_64�&%jasper-devel2.0.145.el8x86_64xjansson2.141.el8x86_64
�jansson2.113.el8x86_64v2-	!iwl7260-firmware25.30.13.0121.el8.1noarch�4-	!#iwl7260-firmware25.30.13.0120.el8_9.1noarchM4-	!#iwl7260-firmware25.30.13.0117.el8_8.1noarch
4-	!#iwl7260-firmware25.30.13.0114.el8_8.1noarchT4-	!#iwl7260-firmware25.30.13.0111.el8_7.1noarchq2-	!iwl7260-firmware25.30.13.0110.el8.1noarch
�4-	!#iwl7260-firmware25.30.13.0104.el8_5.1noarch�1-	!iwl7260-firmware25.30.13.0103.el8.1noarchu1-iwl6050-firmware41.28.5.1121.el8.1noarch�
������rcTE6'���������wdQ>+�
�
��
�
�
�
�
�
q
^
L
?
3
&

����������yl_L9&��������sN+
�
�
�

W
/
	�	�	�	W	0	��������ufO8!
��������s`M:'��������}pcVI6#��������zmZF2
����������p`P@+
��������~o`J5&�������������|tg]SG:- ���	lsof�
libuvt%libvirt-libsu
libtirpc�)mariadb-backup�)mariadb-backup{mariadb�mariadb	�mariadb�mariadbzman-db�	make
�	makemailcap�m4V	lzop0lzo�
lz4-libs�	lynx�lvm2-libs/	lvm2.luajit	]
lua-libs�lua�lsscsi�	lshw�logrotate�logrotate�lmdb-libs�lmdb-libs�+lm_sensors-libs�-lm_sensors-devel�llvm-test[llvm-test
�llvm-test�llvm-test	�#llvm-staticZ#llvm-static
�#llvm-static�#llvm-static	�llvm-libsYllvm-libs
�llvm-libs�llvm-libs	�llvm-libs�+llvm-googletest!llvm-develX!llvm-devel
�!llvm-devel�!llvm-devel	�	llvmW	llvm
�	llvm�	llvm	�%lksctp-tools�)linux-firmware)linux-firmwarew)linux-firmware
!)linux-firmware�)linux-firmwarev)linux-firmware
�)linux-firmware�)linux-firmware�'libzstd-devel�libzstd�%libzip-develilibziphlibyaml�'libxslt-develelibxslt-%libxshmfencey'libxml2-develV'libxml2-devel
�'libxml2-devel�'libxml2-devel	�'libxml2-devel�'libxml2-develLlibxml2libxml2vlibxml2�libxml2
�libxml2�libxml2�%libxkbcommonZ+libxcrypt-devel�libxcrypt�%libxcb-devel�libxcb	0libxcb�libx86�#libwmf-lite�'libwebp-develU'libwebp-devel
�'libwebp-devel�'libwebp-devel['libwebp-develNlibwebpTlibwebp
�libwebp�libwebpZlibwebp�/libwayland-server�/libwayland-serverx)libwayland-egl�)libwayland-eglw/libwayland-cursor�/libwayland-cursorv/libwayland-client�/libwayland-clientulibvorbistlibvisuals%libvirt-libsS%libvirt-libs
�%libvirt-libs�%libvirt-libsY%libvirt-libs	�%libvirt-libsr1libvirt-daemon-kvmq'Qlibvirt-daemon-driver-storage-scsip&Olibvirt-daemon-driver-storage-rbdo(Slibvirt-daemon-driver-storage-mpathn*Wlibvirt-daemon-driver-storage-logicalm/alibvirt-daemon-driver-storage-iscsi-directl(Slibvirt-daemon-driver-storage-iscsik*Wlibvirt-daemon-driver-storage-glusterj'Qlibvirt-daemon-driver-storage-diski'Qlibvirt-daemon-driver-storage-coreh"Glibvirt-daemon-driver-storageg!Elibvirt-daemon-driver-secretfAlibvirt-daemon-driver-qemue#Ilibvirt-daemon-driver-nwfilterd"Glibvirt-daemon-driver-nodedevc"Glibvirt-daemon-driver-networkb$Klibvirt-daemon-driver-interfacea)libvirt-daemon`/libverto-libevent,)libverto-devel
�)libverto-devel(
libverto
�
libverto�
libuv_'libuuid-devel'libuuid-develu'libuuid-devel�'libuuid-devel
�'libuuid-devel	@'libuuid-devel�libuuidlibuuidlibuuidtlibuuidslibuuid�libuuid�libuuid
�libuuid
�libuuid	?libuuid	4libuuid�#libutempter�libuser�libuser
�libuser�libusbx�libusb+libusal^%libunistring�'libtraceevent�1libtool-ltdl-devel	&%libtool-ltdl�libtool	!libtommath
8!libtommath�#libtomcrypt�)libtirpc-devel)libtirpc-devel	R
libtirpc
libtirpc	T
libtirpc�'libtiff-devels'libtiff-develR'libtiff-devel�'libtiff-devel�'libtiff-devel	�'libtiff-develtlibtiffrlibtiffQlibtiff�libtiff�libtiff	�libtiff�'libtidy-develdlibtidyclibtheora]libthai�libteventlibteventrlibteventlibtevent
�libtevent�libteam�libtdblibtdbqlibtdb~libtdb
�libtdb�lz4�)linux-firmware�)mariadb-backup	�)libtirpc-devel�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@��;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���

R����X,���=
�
�
�
L
�r4���O 
�
�
�
`
6
	�	�	�	d	(	��vQ'���zL��l(	��{C��oJ!���Y-����]5	���[/��>�#I
�clang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_648�I
�clang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64)�!
�bind-utils 9.11.3611.el8_9x86_64+�~%
�bind-license 9.11.3611.el8_9noarch-�})
bind-libs-lite 9.11.3611.el8_9x86_64(�|
~bind-libs 9.11.3611.el8_9x86_64"�{
}automake1.16.18.el8noarch)�z-
|apr-util-openssl1.6.19.el8x86_64%�y%
{apr-util-bdb1.6.19.el8x86_64!�x
zapr-util1.6.19.el8x86_64 �w
yannobin11.132.el8x86_64!�v
xalsa-lib1.2.91.el8x86_641�u))
wkernel-modules4.18.0513.11.1.el8_9x86_64.�t#)
vkernel-core4.18.0513.11.1.el8_9x86_64)�s)
ukernel4.18.0513.11.1.el8_9x86_64.�r1
tpython3.11-tkinter3.11.51.el8_9x86_645�qC
spython3.11-setuptools-wheel65.5.12.el8noarch.�p5
rpython3.11-pip-wheel22.3.14.el8noarch+�o+
qpython3.11-libs3.11.51.el8_9x86_64&�n!
ppython3.113.11.51.el8_9x86_64"�m
ompdecimal2.5.13.el8x86_64.�l9
ngcc-toolset-13-runtime13.02.el8x86_64:�kI
mgcc-toolset-13-libstdc++-devel13.1.14.3.el8x86_642�j9
lgcc-toolset-13-gcc-c++13.1.14.3.el8x86_64.�i1
kgcc-toolset-13-gcc13.1.14.3.el8x86_645�hE
jgcc-toolset-13-binutils-gold2.4014.el8x86_640�g;
igcc-toolset-13-binutils2.4014.el8x86_64(�f+
hpython3-appdirs1.4.38.el8noarch-�e+!
gpython3-certifi2018.10.157.el8noarch�d
fftp0.1778.el8x86_64A�c+G
evarnish-modules0.15.06.module+el8.5.0+677+2a78a869x86_64A�b'M
dvarnish-devel6.0.83.module+el8.8.0+1552+3570c668.1x86_642�a3#
cpostgresql11-server11.222PGDG.rhel8x86_640�`/#
bpostgresql11-libs11.222PGDG.rhel8x86_641�_1#
apostgresql11-devel11.222PGDG.rhel8x86_64+�^%#
`postgresql1111.222PGDG.rhel8x86_64%�]'
_perl-Time-Out0.211.el8noarch)�\'
^clamav-update0.103.111.el8x86_64&�[!
]clamav-lib0.103.111.el8x86_64-�Z/
\clamav-filesystem0.103.111.el8noarch'�Y#
[clamav-data0.103.111.el8noarch"�X
Zclamav0.103.111.el8x86_64)�W'	!
Ynet-snmp-libs5.827.el8_8.1x86_64*�V)	!
Xnet-snmp-devel5.827.el8_8.1x86_64/�U3	!
Wnet-snmp-agent-libs5.827.el8_8.1x86_64$�T	!
Vnet-snmp5.827.el8_8.1x86_649�S'A
Ulibrtmp-devel2.415.20190330.gitc5f04a5.el8x86_64(�R'
Tp11-kit-devel0.23.221.el8x86_64%�Q%
Snettle-devel3.4.17.el8x86_64(�P)
Rlibtasn1-devel4.134.el8_7x86_64&�O'
Qlibidn2-devel2.2.01.el8x86_64(�N%
Pgnutls-devel3.6.166.el8_7x86_64'�M#
Ognutls-dane3.6.166.el8_7x86_64&�L!
Ngnutls-c++3.6.166.el8_7x86_643�KA
Mlibrtmp2.415.20190330.gitc5f04a5.el8x86_64)�J9
Lrpmfusion-free-release80.1noarch2�I%1
Kpython3-libs3.6.851.el8_8.2.rocky.0x86_64,�H-
Jpython3-firewall0.9.111.el8_8noarch5�G+1
Iplatform-python3.6.851.el8_8.2.rocky.0x86_64&�F!
Hlibnghttp21.33.05.el8_8x86_640�E5
Gfirewalld-filesystem0.9.111.el8_8noarch%�D
Ffirewalld0.9.111.el8_8noarch&�C#
Ebinutils2.30119.el8_8.2x86_64;�BM
Dvarnish6.0.83.module+el8.8.0+1552+3570c668.1x86_64L�A%c
Cpython2-libs2.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64G�@c
Bpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64>�?C	'
Ajava-1.8.0-openjdk-headless1.8.0.392.b084.el8_8x86_64;�>=	'
@java-1.8.0-openjdk-devel1.8.0.392.b084.el8_8x86_645�=1	'
?java-1.8.0-openjdk1.8.0.392.b084.el8_8x86_64%�<%
>brotli-devel1.0.63.el8x86_64)�;-
=pgdg-redhat-repo42.035PGDGnoarch$�:#
<msodbcsql1717.10.5.11x86_64?�9-A
;perl-Mail-SPF_XS1.2.1111.20210922git4915c308.el8x86_64#�8!
:libtommath1.1.04.el8x86_64'�7'
9libssh2-devel1.10.01.el8x86_64!�6
8libssh21.10.01.el8x86_646�5A
7libspf21.2.1111.20210922git4915c308.el8x86_64)�4'
6clamav-update0.103.101.el8x86_64&�3!
5clamav-lib0.103.101.el8x86_64-�2/
4clamav-filesystem0.103.101.el8noarch'�1#
3clamav-data0.103.101.el8noarch"�0
2clamav0.103.101.el8x86_64
T�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������������zpf\RH>4* �������������vlbXND:0&���������[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&��%~}�$|{�#zy�"xw�!vu� ts�rq�po�nm�lk�ji�hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�RQ�PO�
NM�LK�JI�
HG�	FE�DC�BA�@?�>=�<;�:9�87�65�43�21�~0/�}.-�|,+�{*)�z('�y&%�x$#�w"!�v �u�t�s�r�q�p�o�n�m
�l�k
	�j�i�h�g�f��e���d���c���b���a���`���_���^���]���\���[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&��%~}�$|{�#zy�"xw�!vu� ts�rq�po�nm�lk�ji�hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�RQ�PO�
NM�LK�JI�
HG�	FE�DC�BA�@?�>=�<;�:9�87�65�43��~�}�|�{�z�y�x�w
�v
�u	�t�s�r�q�p���o���n���m���l���k���j���i���h���g���f���e���d���c���b���a���`���_���^���]���\���[���Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8~�7}|�6{z�5yx�4wv�3ut�2sr�1qp�0on�/ml�.kj�-ih�,gf�+ed�*cb�)a`�(_^�']\�&[Z�%YX�$WV�#UT�"SR�!QP� ON�ML�KJ�IH�GF�ED�CB�A@�?>�=<�;:�98�76�54�32�10�/.�-,�+*�
)(�'&�%$�
#"�	! �
9z�p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��f,��~D��B��j"��J�r*��R
�zE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory;�	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root;�	u�warning: user clamupdate does not exist - using root7�	m�warning: user apache does not exist - using root7�
	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�
	m�warning: user apache does not exist - using root'�		M�useradd: cannot open /etc/passwdE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`��5�Z	i�grep: /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`��E�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	F	 ��H�p(��P�x0��X��8��`��@��E�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directory#�*	E�    Target directory is /etc?�)	}�odbcinst: Driver installed. Usage count increased to 2. E�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0�v.��V�~6��E�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directorym�t	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryG�s	��ODBC Driver 17 for SQL Server usage count has been reduced to 1E�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6�p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��7����m5�B�4	��dracut: Turning off host-only mode: '/sys' is not mounted!n�3	�Y�dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y5�2	i�grep: /proc/cpuinfo: No such file or directory5�1	i�grep: /proc/cpuinfo: No such file or directory5�0	i�grep: /proc/cpuinfo: No such file or directory5�/	i�grep: /proc/cpuinfo: No such file or directoryo�.	�[�dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.e�-	�G�libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryE�,	��dracut: No '/dev/log' or 'logger' included for syslog loggingf�+	�I�/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
3��u0�C
�
�
k
#��K�s+
�
�
S
	�	{	��pz�P��`2��xN�y1��Y��9��E�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directory'�]	M�useradd: cannot open /etc/passwdm�\	�W�warning: /etc/yum.repos.d/pgdg-redhat-all.repo saved as /etc/yum.repos.d/pgdg-redhat-all.repo.rpmsave8�[	o�warning: user varnish does not exist - using root'�Z	M�useradd: cannot open /etc/passwd;�Y	u�warning: user clamupdate does not exist - using root;�X	u�warning: user clamupdate does not exist - using root;�W	u�warning: user clamupdate does not exist - using root+�V	U�chown: invalid spec: ‘postgres:’9�U	q�warning: user postgres does not exist - using root9�T	q�warning: user postgres does not exist - using root9�S	q�warning: user postgres does not exist - using root9�R	q�warning: user postgres does not exist - using root9�Q	q�warning: user postgres does not exist - using root�j�P	�Q�restored /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.392.b08-4.el8_8.x86_64/lib/security/java.security.rpmnew to /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.392.b08-4.el8_8.x86_64/lib/security/java.security�r�O	�a�warning: /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.392.b08-4.el8_8.x86_64/lib/security/java.security created as /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.392.b08-4.el8_8.x86_64/lib/security/java.security.rpmnew;�N	u�warning: user clamupdate does not exist - using root0�M	_�usermod: user 'clamupdate' does not exist'�L	M�useradd: cannot open /etc/passwdm�K	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directory�!�8	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�7	��dracut: Turning off host-only mode: '/dev' is not mounted!B�6	��dracut: Turning off host-only mode: '/run' is not mounted!C�5	��dracut: Turning off host-only mode: '/proc' is not mounted!
rp����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xp��������������������������xph`�xpXPhH@h�$"#!" ! 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

�
~

}
~
|
}
{
|
z
{
y
z
x
y
w
x
v
w
u
v
t
u
s
t
r
s
q
r
p
q
o
p
n
o
m
n
l
m
k
l
j
k
i
j
h
i
g
h
f
g
e
f
d
e
c
d
b
c
a
b
`
a
_
`
^
_
]
^
\
]
[
\
Z
[
Y
Z
X
Y
W
X
V
W
U
V
T
U
S
T
R
S
Q
R
P
Q
O
P
N
O
M
N
L
M
K
L
J
K
I
J
H
I
G
H
F
G
E
F
D
E
C
D
B
C
A
B
@
A
?
@
>
?
=
>
<
=
;
<
:
;
9
:
8
9
7
8
6
7
5
6
4
5
3
4
2
3
1
2
0
1
/
0
.
/
-
.
,
-
+
,
*
+
)
*
(
)
'
(
&
'
%
&
$
%
#
$
"
#
!
"
 
!

 

















	
	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�





























	


	















�
�����������������������������������������������������������������������������������������������������������������������������������������������������������
OL�6��fn&��-�Z2����];������Tq.�J&
�
�:�
�
s
Q
/����z��V2
����v�N&�
�
�
�
_
%
	�	�	�pE����uK!����sG�"���^)O�%#libquadmath8.5.020.el8x86_64f"librsvg22.42.75.el8x86_64
�9'Alibrtmp-devel2.415.20190330.gitc5f04a5.el8x86_64
S3Alibrtmp2.415.20190330.gitc5f04a5.el8x86_64
Kzq!librepo1.14.25.el8x86_64�!librdmacm48.01.el8x86_64�(#libquadmath8.5.022.el8_10x86_64�@%Klibomp-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64O:Klibomp17.0.61.module+el8.10.0+1595+29ffb9b1x86_64N#!libprelude5.2.01.el8x86_64�%#libpq-devel13.31.el8_4x86_64Jlibpq13.31.el8_4x86_64W'%libpng-devel1.6.345.el8x86_64�!libpng1.6.345.el8x86_64�#!libpmemblk1.6.11.el8x86_64� libpmem1.6.11.el8x86_64V#!libpkgconf1.4.21.el8x86_64�$#libpipeline1.5.02.el8x86_64�$%libpciaccess0.141.el8x86_64&!libpcap1.9.15.el8x86_64�''libpath_utils0.2.140.el8x86_64
�''libpath_utils0.2.139.el8x86_64�#libpaper1.1.2422.el8x86_64U?%Ilibomp-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�?%Ilibomp-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�?%Ilibomp-devel14.0.62.module+el8.7.0+1080+d88dc670x86_64	�9Ilibomp16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�9Ilibomp15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�9Ilibomp14.0.62.module+el8.7.0+1080+d88dc670x86_64	�!libogg1.3.210.el8x86_64T9'=libnsl2-devel1.2.02.20180605git4a062cf.el8x86_64	S)%libsmartcols2.32.142.el8_8x86_64s'-libselinux-utils2.98.el8x86_64r'-libselinux-devel2.98.el8x86_64q!!libselinux2.98.el8x86_64p!librepo1.14.24.el8x86_64o%#libquadmath8.5.018.el8x86_64n%%libpwquality1.4.46.el8x86_64m+)%libsmartcols2.32.139.el8_7x86_64
�'%libsmartcols2.32.138.el8x86_64	>'%libsmartcols2.32.128.el8x86_64�"!libsigsegv2.115.el8x86_64�9Ilibserf1.3.99.module+el8.7.0+1065+42200b2ex86_64	�8Glibserf1.3.99.module+el8.4.0+407+38733e5ax86_64[%)libsepol-devel2.93.el8x86_64'libsepol2.93.el8x86_64�$#libsemanage2.99.el8_6x86_64	�"#libsemanage2.96.el8x86_64�'-libselinux-utils2.96.el8x86_64
�'-libselinux-utils2.95.el8x86_64�'-libselinux-devel2.96.el8x86_64
�'-libselinux-devel2.95.el8x86_64&!!libselinux2.96.el8x86_64
�!!libselinux2.95.el8x86_64�'libsecret0.18.61.el8.0.2x86_64	�#!libseccomp2.5.21.el8x86_64
�#!libseccomp2.5.11.el8x86_64�"librsvg22.42.74.el8x86_64Z!libretls3.4.21.el8x86_64�85-libreport-filesystem2.9.515.el8.rocky.6.3x86_64�65)libreport-filesystem2.9.515.el8.rocky.2x86_64�!librepo1.14.23.el8x86_64
�!librepo1.14.02.el8x86_64�&%libref_array0.1.540.el8x86_64
�&%libref_array0.1.539.el8x86_64�!librdmacm35.01.el8x86_64)!	librbd112.2.79.el8x86_64Y libraqm0.7.04.el8x86_64�#	librados212.2.79.el8x86_64X&#libquadmath8.5.04.el8_5x86_64('#libquadmath8.5.016.el8_7x86_64
�%%libpwquality1.4.45.el8x86_64
�%%libpwquality1.4.43.el8x86_64� libpsl0.20.26.el8x86_64�$libproxy0.4.155.2.el8x86_64'^#librdmacm46.01.el8.1x86_64��

-a���x���R[�
����
5�Vf
��
�
X���s�B,M^�����0�?��ynC%V_��C
�
�
�
Q
$	�	�	�8	�	b�	8_	$���?�=���@��<�� ��e��%|"wget1.19.512.el8_10x86_64�%!zlib-devel1.2.1126.el8x86_64Kzlib1.2.1126.el8x86_64J$yum-utils4.0.2125.el8noarchI%!zlib-devel1.2.1125.el8x86_64�zlib1.2.1125.el8x86_64�$yum-utils4.0.2123.el8noarch�yum4.7.019.el8noarch�"xfsprogs5.0.012.el8x86_64�which2.2120.el8x86_64�!virt-what1.254.el8x86_64�%!util-linux2.32.143.el8x86_64�%!util-linux2.32.128.el8x86_64O:Iutf8proc2.6.13.module+el8.7.0+1065+42200b2ex86_64
89Gutf8proc2.1.15.module+el8.4.0+407+38733e5ax86_64�''userspace-rcu0.10.14.el8x86_64H
-yum4.7.020.el8noarchH%!util-linux2.32.146.el8x86_64Gyajl2.1.013.el8x86_64�@'Ivarnish-devel6.0.131.module+el8.9.0+1777+0acf9965x86_64�:Ivarnish6.0.131.module+el8.9.0+1777+0acf9965x86_64�"	valgrind3.22.02.el8x86_64�wget1.19.511.el8x86_64))xz-lzma-compat5.2.44.el8_6x86_64)zsh5.5.110.el8x86_64%'!zlib-devel1.2.1121.el8_7x86_64$!zlib1.2.1121.el8_7x86_64#"xz-libs5.2.44.el8_6x86_64"#xz-devel5.2.44.el8_6x86_64!xz5.2.44.el8_6x86_64 "xfsprogs5.0.010.el8x86_64which2.2118.el8x86_64!virt-what1.251.el8x86_64%!util-linux2.32.138.el8x86_64	Ayum4.7.011.el8noarch	"&yum-utils4.0.2114.1.el8noarch	zsh5.5.19.el8x86_64	0)!vim-filesystem8.0.176319.el8_6.4noarch	
.%!vim-enhanced8.0.176319.el8_6.4x86_64	,!!vim-common8.0.176319.el8_6.4x86_64	!uw-imap2007f24.el8x86_64	"xinetd2.3.1524.el8x86_64	'!zlib-devel1.2.1118.el8_5x86_64	!zlib1.2.1118.el8_5x86_64	.##vim-minimal8.0.176316.el8_5.13x86_64�1)#vim-filesystem8.0.176316.el8_5.12noarch�/%#vim-enhanced8.0.176316.el8_5.12x86_64�-!#vim-common8.0.176316.el8_5.12x86_64�//x2goserver-common4.1.0.317.el8.1noarch�.##vim-minimal8.0.176316.el8_5.12x86_64�zstd1.4.41.el8x86_64�%!zlib-devel1.2.1117.el8x86_64-zlib1.2.1117.el8x86_64Wzip3.023.el8x86_64�yum4.7.04.el8noarchVyajl2.1.010.el8x86_64�))xz-lzma-compat5.2.43.el8.1x86_64�"xz-libs5.2.43.el8.1x86_64U#xz-devel5.2.43.el8.1x86_64�xz5.2.43.el8.1x86_64T-7xorg-x11-server-utils7.727.el8x86_64�.5xorg-x11-proto-devel2020.13.el8noarch�,5xorg-x11-fonts-Type17.519.el8noarch�7Kxorg-x11-fonts-ISO8859-1-100dpi7.519.el8noarch�+3	xorg-x11-font-utils7.541.el8x86_64�$!xml-common0.6.350.el8noarchI(-xkeyboard-config2.281.el8noarch[!xfsprogs5.0.09.el8x86_64Sxclip0.138.el8x86_64H*-xapian-core-libs1.4.183.el8x86_64�-/x2goserver-common4.1.0.317.el8noarchGwhich2.2116.el8x86_64Rwget1.19.510.el8x86_64"virt-what1.1812.el8x86_64Q-#!vim-minimal8.0.176316.el8_5.4x86_64�)#vim-minimal8.0.176316.el8x86_64P:Kvarnish6.0.81.module+el8.5.0+736+fec10e21.1x86_64�"	valgrind3.17.05.el8x86_64�''uw-imap-utils2007f24.el8x86_64Y()uw-imap-static2007f24.el8x86_64X''uw-imap-devel2007f24.el8x86_64T�"	valgrind3.21.08.el8x86_64
�A+Gvarnish-modules0.15.06.module+el8.5.0+677+2a78a869x86_64
cA'Mvarnish-devel6.0.83.module+el8.8.0+1552+3570c668.1x86_64
b;Mvarnish6.0.83.module+el8.8.0+1552+3570c668.1x86_64
B&yum-utils4.0.2119.el8_8noarch�yum4.7.016.el8_8noarch�$xfsprogs5.0.011.el8_8x86_64�!virt-what1.253.el8x86_64�'!util-linux2.32.142.el8_8x86_64�-#!vim-minimal8.0.176319.el8_6.4x86_64'!util-linux2.32.139.el8_7x86_64yajl2.1.011.el8x86_64
<"xinetd2.3.1525.el8x86_64
;;Mvarnish6.0.82.module+el8.7.0+1094+66cdd070.1x86_64
:"	valgrind3.19.01.el8x86_64
9yajl2.1.012.el8x86_64
�
bi�]
�
D��B�N
�
T	�	_�l�F�V�]�bz�`gg%	
gWuigWul2173:fec055e78587a83440a65b74a1e9d7e64282c1d82171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78remove unrar{�_gg'	
gWo0gWo52171:e11e14edb2660ede6fbaa073b9ad3c290188e2b72173:fec055e78587a83440a65b74a1e9d7e64282c1d88install unrarz�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules
����������p_O?/
��������o]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������{jYH7&�������weTC2!
�
�
�
�
�
�
�
�
u
c
Q
?
-

		�	�	�	�	�	�	�	�	p	_	N	=	,			�������~m\K9'�������{jYH7&�������ziWE4#�������yhWE3!��������p_N=+�������ziWE4#�������ucQ?-	������y		�
��x	�
	�w	�
��v		�
�u		�
��t	�
�s	�
��r	�
�q	�
��p	�
�o	�
��n		�
�m		�
��l	�
�k	�
��j		�	��i		�
��h	�	��g	�
��f		�	��e		�
��d		�	��c		�
��b	�	��a	�
��`		�	��_		�
��^		�	��]		�
��\	�	��[	�
��Z	�	��Y	�
��X	�	��W	�
��V	�	��U	�
��T		�	��S		�
��R		�	��Q		�
��P		�	��O		�
��N	�	��M	�
��L	�	��K	�
��J	�	��I	�
��H	�	��G	�
��F	�	��E	�
��D		���C		�
��B		���A		�
��@		�
�?		�
��>		�
�=		�
��<		���;		�
��:		���9		�
��8		���7		�
��6	�
X�5	�
��4		�
W�3		�
��2	�
V�1	�
��0		���/		�
��.		���-		�
��,		���+		�
��*		���)		�
��(		���'		�
��&		���%		�
��$		���#		�
��"		���!		�
�� 		���		�
��		���		�
��	���	�
��	���	�
��		���		�
��		���		�
��		���		�
��		�\�		�
��	���	�
��	���
	�
��		���		�
��
		���			�
��		���		�
��		���		�
��		���		�
��		���		�
��		�	,�		�
��~	�
A�}	�
��|	�
@�{	�
��z	�
?�y	�
��x	�A�w	�
��v		���u		�
��t		���s		�
��r		���q		�
��p		�
P�o		�
��n		�
O�m		�
��l		�
N�k		�
��j	�n�i	�
��h		�	��g		�
��f	���e	�
��d	���c	�
��b	���a	�
��`		���_		�
��^		���]		�
��\		���[		�
��Z	���Y	�
��X		���W		�
��V		���U		�
��T		���S		�
��R	���Q	�
��P		���O		�
��N		���M		�
��L		���K		�
��J		���I		�
��H		���G		�
��F	���E	�
��D		���C		�
��B		���A		�
�@		���?		�
~�>	�	�=	�
}�<	���;	�
|�:	���9	�
{�8		���7		�
z�6		���5		�
y�4		���3		�
x
�2		�
w
�1		�
v
�0		�
u�/		�
t
�.			�
s
�-			�
r
�,			�
q
�+			�
p
�*			�
o
�)			�
n
�(			�
m
�'			�
l
�&			�
k
L��q*��>
�
�
�
�
^
3
���R��m1
�
�
�
�
_
9
	�	�	v	Q	%���c)��i*���H%����Q'��n#��T��I��<��B�M/I
�perl-HTTP-Cookies6.042.module+el8.9.0+1521+0101edcenoarchB�L-K
�perl-HTML-Tagset3.2034.module+el8.9.0+1521+0101edcenoarchB�K-K
�perl-HTML-Parser3.7215.module+el8.9.0+1521+0101edcex86_64A�J+I
�perl-File-pushd1.0146.module+el8.9.0+1491+3507a112noarchC�I/K
�perl-File-Listing6.0417.module+el8.9.0+1521+0101edcenoarch;�H	K
�perl-FCGI0.7811.module+el8.9.0+1513+81d20ec9x86_64D�G1K
�perl-Encode-Locale1.0510.module+el8.9.0+1521+0101edcenoarchB�F-K
�perl-Digest-HMAC1.0317.module+el8.9.0+1521+0101edcenoarch?�E)I
�perl-Data-Dump1.237.module+el8.9.0+1521+0101edcenoarch:�DI
�perl-DBI1.6414.module+el8.9.0+1495+f278a004x86_64@�C+I
�perl-DBD-SQLite1.582.module+el8.9.0+1509+4b8cbd7ex86_64@�B)I
�perl-DBD-MySQL4.0463.module+el8.9.0+1501+450eec3bx86_64F�A5I
�perl-CPAN-Meta-Check0.0146.module+el8.9.0+1491+3507a112noarchH�@9K
�perl-CPAN-DistnameInfo0.1213.module+el8.9.0+1491+3507a112noarchE�?1I
�perl-App-cpanminus1.70445.module+el8.9.0+1491+3507a112noarch"�>
�pcp-libs5.3.718.el8x86_64"�=
�pcp-conf5.3.718.el8x86_64$�<
�nss-util3.90.04.el8_9x86_64'�;#
�nss-sysinit3.90.04.el8_9x86_64.�:1
�nss-softokn-freebl3.90.04.el8_9x86_64'�9#
�nss-softokn3.90.04.el8_9x86_64�8
�nss3.90.04.el8_9x86_64&�7)	
�net-snmp-devel5.828.el8x86_64+�63	
�net-snmp-agent-libs5.828.el8x86_64 �5	
�net-snmp5.828.el8x86_64>�4M
�mod_http21.15.78.module+el8.9.0+1370+89cc8ad5.3x86_64'�3'
�mesa-libglapi23.1.41.el8x86_64%�2#
�mesa-libgbm23.1.41.el8x86_64$�1!
�mesa-libGL23.1.41.el8x86_64%�0#
�mesa-libEGL23.1.41.el8x86_64<�/I
�llvm-test16.0.63.module+el8.9.0+1651+e10a8f6dx86_64>�.#I
�llvm-static16.0.63.module+el8.9.0+1651+e10a8f6dx86_64<�-I
�llvm-libs16.0.63.module+el8.9.0+1651+e10a8f6dx86_64=�,!I
�llvm-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_647�+I
�llvm16.0.63.module+el8.9.0+1651+e10a8f6dx86_64)�*'
�libxml2-devel2.9.718.el8_9x86_64*�)'
�libwebp-devel1.0.09.el8_9.1x86_64$�(
�libwebp1.0.09.el8_9.1x86_64?�'%K
�libvirt-libs8.0.022.module+el8.9.0+1405+b6048078x86_64)�&+
�libstdc++-devel8.5.020.el8x86_64"�%
�librsvg22.42.75.el8x86_64?�$%I
�libomp-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_649�#I
�libomp16.0.63.module+el8.9.0+1651+e10a8f6dx86_64�"
�libgs9.2711.el8x86_64!�!
�libdrm2.4.1152.el8x86_64#� !
�libX11-xcb1.6.86.el8x86_64%�%
�libX11-devel1.6.86.el8x86_64&�'
�libX11-common1.6.86.el8noarch�
�libX111.6.86.el8x86_64�
�libX111.6.86.el8i686<�C	'
�java-1.8.0-openjdk-headless1.8.0.402.b062.el8x86_649�=	'
�java-1.8.0-openjdk-devel1.8.0.402.b062.el8x86_643�1	'
�java-1.8.0-openjdk1.8.0.402.b062.el8x86_64#�
�ipmitool1.8.1819.el8x86_64?�#K
�httpd-tools2.4.3762.module+el8.9.0+1436+2b7d5021x86_64D�-K
�httpd-filesystem2.4.3762.module+el8.9.0+1436+2b7d5021noarch9�K
�httpd2.4.3762.module+el8.9.0+1436+2b7d5021x86_64(�%
�gnutls-devel3.6.168.el8_9x86_64'�#
�gnutls-dane3.6.168.el8_9x86_64&�!
�gnutls-c++3.6.168.el8_9x86_64$�#
�geoipupdate2.5.03.el8x86_64(�%!
�gdb-headless8.220.el8.0.1x86_64�!
�gdb8.220.el8.0.1x86_64,�1
�gcc-plugin-annobin8.5.020.el8x86_64(�
)
�gcc-gdb-plugin8.5.020.el8x86_64!�
�gcc-c++8.5.020.el8x86_64�
�gcc8.5.020.el8x86_64�

�cpp8.5.020.el8x86_64>�	#I
�compiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64,�-
�cmake-rpm-macros3.26.51.el8_9noarch,�-
�cmake-filesystem3.26.51.el8_9x86_64&�!
�cmake-data3.26.51.el8_9noarch!�
�cmake3.26.51.el8_9x86_64D�/I
�clang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64L�?I
�clang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64=�!I
�clang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
��u	_	P	B�����:- �u���e�	-���Q�	vi\OBD/	�1������mcC#���������{}tkr	\M>c	3'����������|n��dVF6&��������q^T���Y�J@6����~kFT=!	����{]>
�
�
�z
�
�
y
O
���_'����qQ<%
�
�
�
�
�
u
Y
@
*
	�	�	�	�	�	�	n�openssh�)openldap-devel�-openldap-clients�
openldap�)openldap-develk-openldap-clients�+openssh-clients�opensshopenssh�openssh�openssh
�openssh�openspK'perl-AnyEventN	perfpam-develpam'p11-kit-trust'p11-kit-develp11-kit)openssh-server+openssh-clients

pcp-libsn
pcp-confm	perf�	perf�pam-devel�pam�%openssl-libs�'openssl-devel�openssl�)openssh-server�+openssh-clients�1perl-App-cpanminus
�
pcp-libs
�
pcp-conf
�%openssl-libs	%openssl-libs�%openssl-libsm%openssl-libs�'openssl-develx'openssl-devel	'openssl-devel�'openssl-devel)opensslwopenssl	openssl�openssllopenssl�)openssh-server�)openssh-server
�)openssh-server�+openssh-clients�+openssh-clients
�'p11-kit-devel
R	perf
(/perl-Algorithm-C3�3perl-AWS-Signature4�	perl�	perl	�	perl�	perf�'pdns-recursor�'pdns-recursorR'pdns-recursor	_'pdns-recursor	^#pcre2-utf32
�#pcre2-utf32,#pcre2-utf16
�#pcre2-utf16+#pcre2-devel
�#pcre2-devel*
pcre2
�
pcre2!pcre-utf32 !pcre-utf16!pcre-devel
pcre-cpp	pcre
pcp-libs�
pcp-libs	�
pcp-libs�
pcp-conf�
pcp-conf	�
pcp-conf�'pciutils-libs�'pciutils-libs
pciutils�
pciutils
patch6passwd
�passwd�parted�
pango�pam-devel�pam-devel
�pam-develWpam�pam
�pam�'p11-kit-trust�p11-kit�os-prober�orc�#Ioracle-instantclient11.2-basic�!Eoracle-instantclient-sqlplus�?oracle-instantclient-jdbc�Aoracle-instantclient-devel�Aoracle-instantclient-basic�	opus�)openssl-pkcs11�)openssl-pkcs11�%openssl-libsyP	perf�pam-devel�pam�)openssh-server�+openssh-clients�
openldap�openjpeg2	�openjpeg2�-perl-B-Compiling!perl-B-COW?perl-Authen-Simple-Passwd
1perl-Authen-Simple-perl-Authen-SASL�1perl-Authen-Radius9perl-Authen-Passphrase
+perl-Authen-PAM	-perl-Authen-Krb53perl-Authen-DecHpwd9perl-Authen-Credential3perl-Authen-Captcha%perl-AuthCAS;perl-Attribute-Handlers�;perl-Attribute-Handlers	�;perl-Attribute-Handlers�1perl-Astro-SunTime-perl-Array-Utils/perl-Array-Unique+perl-Array-DiffAperl-Archive-Zip-SimpleZip�-perl-Archive-ZipA-perl-Archive-Tarc/perl-Archive-Peek�)Uperl-Archive-Extract-zip-Archive-Zip�!Eperl-Archive-Extract-xz-unxz�&Operl-Archive-Extract-txz-tar-unxz�7qperl-Archive-Extract-tgz-Archive-Tar-Compress-Zlib�@�perl-Archive-Extract-tbz-Archive-Tar-IO-Uncompress-Bunzip2�)Uperl-Archive-Extract-tar-Archive-Tar�%Mperl-Archive-Extract-lzma-unlzma�*Wperl-Archive-Extract-gz-Compress-Zlib�3iperl-Archive-Extract-bz2-IO-Uncompress-Bunzip2�)Uperl-Archive-Extract-Z-Compress-Zlib�5perl-Archive-Extract�7perl-Archive-Any-Lite�)perl-AppConfig�1perl-App-cpanminus	�1perl-App-cpanminus�-perl-App-Nopaste�/perl-Apache2-SOAP�?perl-Apache-Session-Redis�?perl-Apache-Session-NoSQL�=perl-Apache-Session-LDAP�#Iperl-Apache-Session-Browseable�3perl-Apache-Session�1perl-Apache-Reload�#Iperl-Apache-LogFormat-Compiler�+perl-Apache-DBI�1perl-AnyEvent-HTTP�9perl-AnyEvent-CacheDNS�/perl-AnyEvent-BDB�/perl-AnyEvent-AIO�'perl-AnyEventL3perl-Any-URI-Escape�)perl-Any-Moose�5perl-Algorithm-Loops�3perl-Algorithm-Diffb!Eperl-Algorithm-Combinatorics�
	Xt�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P�
H�
��xph`XxPH@80�(� 80(�h�`�X�
x���
@�
8�
0�`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
w
v

u	
]
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<
E��x0��_
�
�
E
��b9�=
�
�
r
.
		�	�	N	
�}.��V��9��l'��g:����`5���m4���~\3
��%�!	dbus-tools1.12.826.el8x86_64$�	dbus-libs1.12.826.el8x86_64&�#	dbus-daemon1.12.826.el8x86_64&�#	dbus-common1.12.826.el8noarch�	dbus1.12.826.el8x86_64�
curl7.61.133.el8x86_64%�	cups-libs2.2.654.el8_9x86_64(�+
cryptsetup-libs2.3.77.el8x86_64>�
;-crypto-policies-scripts202307311.git3177e06.el8noarch6�	+-crypto-policies202307311.git3177e06.el8noarch#�
chkconfig1.19.21.el8x86_64*�%	c-ares-devel1.13.09.el8_9.1x86_64$�c-ares1.13.09.el8_9.1x86_64"�binutils2.30123.el8x86_64&�!!avahi-libs0.721.el8_9.1x86_64(�+authselect-libs1.2.62.el8x86_64#�!authselect1.2.62.el8x86_64#�!audit-libs3.0.75.el8x86_64�audit3.0.75.el8x86_64�yajl2.1.012.el8x86_64"�~	valgrind3.21.08.el8x86_64$�}#
�tzdata-java2023d1.el8noarch*�|3
�systemtap-sdt-devel4.93.el8x86_64B�{+I
�rust-std-static1.71.11.module+el8.9.0+1429+21f2f305x86_647�zI
�rust1.71.11.module+el8.9.0+1429+21f2f305x86_64>�yM
�rubygems2.7.6.3111.module+el8.9.0+1536+5f79634enoarchB�x%M
�rubygem-rdoc6.0.1.1111.module+el8.9.0+1536+5f79634enoarchA�w'M
�rubygem-psych3.0.2111.module+el8.9.0+1536+5f79634ex86_64C�v+M
�rubygem-openssl2.1.2111.module+el8.9.0+1536+5f79634ex86_64@�u%M
�rubygem-json2.1.0111.module+el8.9.0+1536+5f79634ex86_64F�t1M
�rubygem-io-console0.4.6111.module+el8.9.0+1536+5f79634ex86_64H�s5M
�rubygem-did_you_mean1.2.0111.module+el8.9.0+1536+5f79634enoarchF�r1M
�rubygem-bigdecimal1.3.4111.module+el8.9.0+1536+5f79634ex86_64=�qM
�ruby-libs2.5.9111.module+el8.9.0+1536+5f79634ex86_64<�pM
�ruby-irb2.5.9111.module+el8.9.0+1536+5f79634enoarch8�oM
�ruby2.5.9111.module+el8.9.0+1536+5f79634ex86_64-�n#)
�python3-pip9.0.323.el8.rocky.0noarch+�m%
�python3-bind 9.11.3611.el8_9noarchL�l=K
�python2-setuptools-wheel39.0.113.module+el8.9.0+1531+a18208f5noarchF�k1K
�python2-setuptools39.0.113.module+el8.9.0+1531+a18208f5noarchD�j/K
�python2-pip-wheel9.0.319.module+el8.9.0+1531+a18208f5noarch>�i#K
�python2-pip9.0.319.module+el8.9.0+1531+a18208f5noarchJ�h%_
�python2-libs2.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64E�g_
�python22.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64#�f!
�protobuf-c1.3.08.el8x86_64"�e
�pixman0.38.43.el8_9x86_64A�d-I
�perl-libwww-perl6.341.module+el8.9.0+1521+0101edcenoarchE�c3K
�perl-WWW-RobotRules6.0218.module+el8.9.0+1521+0101edcenoarch>�b'I
�perl-Try-Tiny0.307.module+el8.9.0+1521+0101edcenoarch?�a'	K
�perl-TimeDate2.3015.module+el8.9.0+1521+0101edcenoarch?�`'I
�perl-Sys-Virt8.0.01.module+el8.9.0+1224+600d2aafx86_64H�_9K
�perl-String-ShellQuote1.0424.module+el8.9.0+1491+3507a112noarchB�^/I
�perl-Parse-PMFile0.417.module+el8.9.0+1491+3507a112noarch'�]'
�perl-PCP-PMDA5.3.718.el8x86_64&�\%
�perl-PCP-MMV5.3.718.el8x86_64-�[3
�perl-PCP-LogSummary5.3.718.el8x86_64,�Z1
�perl-PCP-LogImport5.3.718.el8x86_64@�Y+I
�perl-Net-SSLeay1.882.module+el8.9.0+1517+e71a7a62x86_64>�X'I
�perl-Net-HTTP6.172.module+el8.9.0+1521+0101edcenoarch;�WK
�perl-NTLM1.0917.module+el8.9.0+1521+0101edcenoarchD�V+I
�perl-Mozilla-CA201601047.module+el8.9.0+1521+0101edcenoarchG�U5I
�perl-Module-CPANfile1.10027.module+el8.9.0+1491+3507a112noarchH�T;I
�perl-LWP-Protocol-https6.074.module+el8.9.0+1521+0101edcenoarchE�S3K
�perl-LWP-MediaTypes6.0215.module+el8.9.0+1521+0101edcenoarchD�R1I
�perl-IO-Socket-SSL2.0664.module+el8.9.0+1517+e71a7a62noarch?�Q%K
�perl-IO-HTML1.00111.module+el8.9.0+1521+0101edcenoarchE�P3K
�perl-HTTP-Negotiate6.0119.module+el8.9.0+1521+0101edcenoarchB�O/I
�perl-HTTP-Message6.181.module+el8.9.0+1521+0101edcenoarch@�N)K
�perl-HTTP-Date6.0219.module+el8.9.0+1521+0101edcenoarch
���������q_M;)�������ziXG6%
�
�
�
�
�
�
�
u
d
S
B
1


��������o]K9(�������weTC2!
�
�
�
�
�
�
�
�
u
c
Q
@
/


	�	�	�	�	�	�	�	�	s	b	P	>	-		��������p_N=,
��������n\K:(�������yhWF5$�������ziXG6%�������zhVD3"�������tcRA0��������q`O>,������L	�
�K	�D�J	�
�I	�C�H	�I�G	�B�F	�
��E	�A�D		�
�C		�@�B		�
�A		�?�@		�
�?		�>�>	�E�=	�=�<		�D�;		�<�:	�
|�9	�;�8		�C�7		�:�6		�B�5		�9�4	�A�3	�8�2	�@�1	�7�0		�?�/		�6�.	�>�-	�5�,		�=�+		�4�*		�f�)		�3�(		�
�'		�2�&	�

�%	�1�$	�
�#	�0�"		�
�!		�/� 		�
�		�.�		�
	�		�-�		�
�		�,�		�
�		�+�		�
l�		�*�		�
�		�)�		�3�		�(�		�2�		�'�		�/�		�&�		�.�
		�%�		�-�		�$�
		�,�			�#�		�+�		�"�		�*�		�!�		�)�		� �	�(�	��	�'�	��~		�&�}		��|	�%�{	��z		�$�y		��x	�#�w	��v		�"�u		��t	�!�s	��r		�
�q		��p		� �o		��n		��m		��l		��k		��j		��i		��h		��g		��f		��e		��d		��c		��b	��a	��`		�
�_		��^		��]		�
�\	��[	��Z		��Y		�
�X		��W		�
�V	���U	�	�T	���S	��R		�
E�Q		��P		���O		��N		��M		��L	��K	��J		�	��I		��H	�	��G	��F		�
>�E		��D		�
;�C		��B		�d�A		�
��@		��?		�
��>		�
�=		�
��<	�	�;	�
��:	�
4�9	�
��8	�
3�7	�
��6		�
2�5		�
��4	�
1�3	�
��2		�
0�1		�
��0	�
/�/	�
��.	�
.�-	�
��,	�
-�+	�
��*		�
,�)		�
��(		�
+�'		�
��&	�
*�%	�
��$	�	i�#	�
��"		�
�!		�
�� 		���		�
��	���	�
��		�
&�		�
��	�
%�	�
��		�
C�		�
��	�
B�	�
��		�	f�		�
��		�
 �		�
��		�
�		�
��	�
�
	�
��		�
�		�
��
		�
�			�
��	���	�
��	�
�	�
��	�
�	�
��	���	�
��	���	�
��~	���}	�
��|	���{	�
��z		�

e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@�����������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	|	v	p	j	d	^	X	R	L	F	@	:	4	.	(	"				
	����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& ���������������������~xrlf`ZTNHB<60*$����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	
X���xX3��wA
�
�
y
H
���Y3���\,
�
�
�
t
E
	�	�	n	4	���wN'��_)���M��r;���i2���wR'���lE����d:��(�j'llibsss_autofs2.9.14.el8_9x86_64!�iklibsoup2.62.34.el8x86_64!�hjlibsolv0.7.206.el8x86_64'�g%ilibsmartcols2.32.143.el8x86_64%�f#hlibquadmath8.5.020.el8x86_64$�e#glibnsl2.28236.el8_9.7x86_64!�dflibnftnl1.2.23.el8x86_64#�celibmount2.32.143.el8x86_64�bdlibldb2.7.23.el8x86_64#�aclibkadm51.18.226.el8x86_64$�`!blibibverbs46.01.el8.1x86_64!�_alibgomp8.5.020.el8x86_64%�^#`libgfortran8.5.020.el8x86_64 �]_libgcc8.5.020.el8x86_64#�\^libfdisk2.32.143.el8x86_64#�[]libdnf0.63.017.el8_9x86_64(�Z'\libcurl-devel7.61.133.el8x86_64"�Y[libcurl7.61.133.el8x86_64 �XZlibcap2.486.el8_9x86_64#�WYlibblkid2.32.143.el8x86_64$�VXkrb5-libs1.18.226.el8x86_64%�U!Wkrb5-devel1.18.226.el8x86_64 �TVkpartx0.8.439.el8x86_644�S/)Ukernel-tools-libs4.18.0513.11.1.el8_9x86_64/�R%)Tkernel-tools4.18.0513.11.1.el8_9x86_641�Q))Skernel-headers4.18.0513.11.1.el8_9x86_64"�PRkbd-misc2.0.411.el8noarch$�O!Qkbd-legacy2.0.411.el8noarch�NPkbd2.0.411.el8x86_644�M-	!#Oiwl7260-firmware25.30.13.0120.el8_9.1noarch3�L-#Niwl6050-firmware41.28.5.1120.el8_9.1noarch7�K3!#Miwl6000g2a-firmware18.168.6.1120.el8_9.1noarch3�J-#Liwl6000-firmware9.221.4.1120.el8_9.1noarch2�I-#Kiwl5150-firmware8.24.2.2120.el8_9.1noarch4�H-!#Jiwl5000-firmware8.83.5.1_1120.el8_9.1noarch4�G-	!#Iiwl3160-firmware25.30.13.0120.el8_9.1noarch4�F-!#Hiwl2030-firmware18.168.6.1120.el8_9.1noarch4�E-!#Giwl2000-firmware18.168.6.1120.el8_9.1noarch3�D+!#Fiwl135-firmware18.168.6.1120.el8_9.1noarch3�C+!#Eiwl105-firmware18.168.6.1120.el8_9.1noarch3�B-	#Diwl1000-firmware39.31.5.1120.el8_9.1noarch2�A+#Ciwl100-firmware39.31.5.1120.el8_9.1noarch$�@!Birqbalance1.9.21.el8x86_64$�?Aiputils2018062911.el8x86_64&�>'@iptables-libs1.8.59.el8x86_64*�=/?iptables-ebtables1.8.59.el8x86_64!�<>iptables1.8.59.el8x86_64"�;=iproute6.2.05.el8_9x86_64"�:<hwdata0.3148.19.el8noarch�9;grubby8.4048.el8x86_647�83	/:grub2-tools-minimal2.02150.el8.rocky.0.1x86_645�7/	/9grub2-tools-extra2.02150.el8.rocky.0.1x86_643�6+	/8grub2-tools-efi2.02150.el8.rocky.0.1x86_64/�5#	/7grub2-tools2.02150.el8.rocky.0.1x86_644�4-	/6grub2-pc-modules2.02150.el8.rocky.0.1noarch,�3	/5grub2-pc2.02150.el8.rocky.0.1x86_640�2%	/4grub2-common2.02150.el8.rocky.0.1noarch"�13gnutls3.6.168.el8_9x86_64+�0'#2glibc-headers2.28236.el8_9.7x86_64/�//#1glibc-gconv-extra2.28236.el8_9.7x86_64-�./#0glibc-gconv-extra2.28236.el8_9.7i686)�-##/glibc-devel2.28236.el8_9.7x86_64*�,%#.glibc-common2.28236.el8_9.7x86_641�+3#-glibc-all-langpacks2.28236.el8_9.7x86_64#�*#,glibc2.28236.el8_9.7x86_64!�)#+glibc2.28236.el8_9.7i686#�(*fuse-libs2.9.717.el8x86_64#�'	)findutils4.6.021.el8x86_64"�&(file-libs5.3325.el8x86_64�%'file5.3325.el8x86_64,�$3&environment-modules4.5.24.el8x86_64)�#-	%emacs-filesystem26.111.el8noarch&�"'$elfutils-libs0.1893.el8x86_64.�!7#elfutils-libelf-devel0.1893.el8x86_64(� +"elfutils-libelf0.1893.el8x86_64'�)!elfutils-devel0.1893.el8x86_644�C elfutils-default-yama-scope0.1893.el8noarch9�Melfutils-debuginfod-client-devel0.1893.el8x86_643�Aelfutils-debuginfod-client0.1893.el8x86_64!�elfutils0.1893.el8x86_649�53dracut-config-rescue049228.git20230802.el8x86_64+�3dracut049228.git20230802.el8x86_64+�-dnf-plugins-core4.0.2123.el8noarch"�dnf-data4.7.019.el8noarch�dnf4.7.019.el8noarch �	dmidecode3.35.el8x86_642�1device-mapper-libs1.02.18113.el8_9x86_64-�'device-mapper1.02.18113.el8_9x86_64
���������p^L:(�������tbQ@0
�
�
�
�
�
�
�
�
r
a
P
?
.

��������q`O>-��������raO=,

�
�
�
�
�
�
�
�
o
^
M
<
+

	�	�	�	�	�	�	�		n	]	L	;	*		�������ygVE4#�������yhWE3!��������tcQ?-
�������}kZI8'�������}l[J9(�������~m\K9'�������wfU��C1 ����������		���		�
/�		���		�
.�		���	���	���		���		���		���		���	���	���	���	���		�D�
		���	�
�	���
	�
-�		���		�
,�		���		���		���		���		���		���		���		���		���~		���}		���|		�	��{		���z		�
��y		���x		�
+�w		���v		�
��u		���t		�
K�s		���r		���q		���p		���o		���n		���m		���l		���k		���j		�	��i		���h	���g	���f	�	l�e	���d		�
I�c		���b	�:�a	���`		��_		���^	�9�]	���\	�
*�[	���Z		���Y		���X		���W		���V		�{�U		���T	�z�S	���R		�y�Q		���P	���O	���N	���M	���L		���K		���J		���I		���H		�
��G		���F		�
Y�E		���D		�
)�C		���B		�
(�A		��@		�
'�?		�~�>		�
&�=		�}�<	�
%�;	�|�:	�
$�9	�{�8	�
��7	�z�6	�
#�5	�y�4		���3		�x�2		���1		�w�0		���/		�v�.		���-		�u�,	���+	�t�*	���)	�s�(	��'	�r�&		�~�%		�q�$	�}�#	�p�"		�|�!		�o� 		�{�		�n�	�z�	�m�	�y�	�l�		�v�		�k�		�
��		�j�		�u�		�i�		�p�		�h�	�
"�	�g�		�
��		�f�		�l�
		�e�	�k�	�d�
		�j�			�c�		�i�		�b�		�h�		�a�		�g�		�`�		�f�		�_�		�c�		�^�~		�b�}		�]�|	�a�{	�\�z		�`�y		�[�x		�_�w		�Z�v		�^�u		�Y�t		�\�s		�X�r		�[�q		�W�p	�Z�o	�V�n		�
!�m		�U�l	�
 �k	�T�j		�
�i		�S
�h		�|�g		�R
�f		�{�e		�Q�d	�z�c	�P�b	�
�a	�O�`	�
�_	�N�^	�
�]	�M�\	�
�[	�L�Z	�
�Y	�K�X	�
�W	�J�V	�
�U	�I�T	�
�S	�H�R	�
�Q	�G�P	�
�O	�F�N	�
�M	�E
[���|S-���xM'
�
�
�
`
0���sM$���vI
�
�
�
�
Y
/	�	�	�	o	G	���R ���]3
��xP)���Z.���zV2���~^7���_5��~T+��E�fio3.194.el8x86_64'�D%�boost-thread1.66.013.el8x86_64&�C#�boost-regex1.66.013.el8x86_64'�B%�boost-random1.66.013.el8x86_640�A7�boost-program-options1.66.013.el8x86_64*�@+�boost-iostreams1.66.013.el8x86_64*�?+�boost-date-time1.66.013.el8x86_64'�>%�boost-chrono1.66.013.el8x86_64'�=%�boost-atomic1.66.013.el8x86_645�<C�perl-Spreadsheet-ParseExcel0.66001.el8x86_64,�;3�perl-Image-ExifTool12.701.el8noarch$�:#�libgs-devel9.2711.el8x86_64%�9!�zlib-devel1.2.1125.el8x86_64�8�zlib1.2.1125.el8x86_64$�7�yum-utils4.0.2123.el8noarch�6�yum4.7.019.el8noarch"�5�xfsprogs5.0.012.el8x86_64�4�which2.2120.el8x86_64!�3�virt-what1.254.el8x86_64%�2!�util-linux2.32.143.el8x86_64�1�tzdata2023d1.el8noarch!�0�tuned2.21.01.el8_9noarch!�/�tpm2-tss2.3.25.el8x86_64�.�tmux2.73.el8x86_64$�-%�systemd-udev23978.el8x86_64#�,#�systemd-pam23978.el8x86_64$�+%�systemd-libs23978.el8x86_64�*�systemd23978.el8x86_64)�))�sssd-nfs-idmap2.9.14.el8_9x86_64&�(#�sssd-common2.9.14.el8_9x86_64&�'#�sssd-client2.9.14.el8_9x86_64(�&#�sqlite-libs3.26.019.el8_9x86_64)�%%�sqlite-devel3.26.019.el8_9x86_64#�$�sqlite3.26.019.el8_9x86_64$�#'	�smartmontools7.12.el8x86_64%�"%�shadow-utils4.619.el8x86_647�!;#�selinux-policy-targeted3.14.3128.el8_9.1noarch.� )#�selinux-policy3.14.3128.el8_9.1noarch$�#�rocky-repos8.91.8.el8noarch&�'�rocky-release8.91.8.el8noarch'�)�rocky-gpg-keys8.91.8.el8noarch#��rdma-core46.01.el8.1x86_649�1/�python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64(�+�python3-setools4.3.05.el8x86_643�/)�python3-pip-wheel9.0.323.el8.rocky.0noarch/�%)�python3-perf4.18.0513.11.1.el8_9x86_64+�-	�python3-nftables1.0.43.el8_9x86_642�%1�python3-libs3.6.856.el8_9.3.rocky.0x86_64+�)�python3-libdnf0.63.017.el8_9x86_64+�)�python3-hawkey0.63.017.el8_9x86_643�=�python3-dnf-plugins-core4.0.2123.el8noarch%�#�python3-dnf4.7.019.el8noarch&�'�python3-audit3.0.75.el8x86_64$��procps-ng3.3.1514.el8x86_645�3)�platform-python-pip9.0.323.el8.rocky.0noarch5�+1�platform-python3.6.856.el8_9.3.rocky.0x86_64'�
+�perl-Parse-Yapp1.213.el8noarch'�)�perl-HTTP-Tiny0.0742.el8noarch'�+�perl-Date-Manip6.603.el8noarch'�
)�perf4.18.0513.11.1.el8_9x86_64#�	�pam-devel1.3.127.el8x86_64��pam1.3.127.el8x86_64)�%	�openssl-libs1.1.1k12.el8_9x86_64*�'	�openssl-devel1.1.1k12.el8_9x86_64$�	�openssl1.1.1k12.el8_9x86_64,�)!�openssh-server8.0p119.el8_9.2x86_64-�+!�openssh-clients8.0p119.el8_9.2x86_64%�!�openssh8.0p119.el8_9.2x86_64&�%�numactl-libs2.0.161.el8x86_64#�	�nftables1.0.43.el8_9x86_64%�'	�net-snmp-libs5.828.el8x86_64-�~%+�ncurses-libs6.110.20180224.el8x86_64.�}'+ncurses-devel6.110.20180224.el8x86_641�|-+~ncurses-c++-libs6.110.20180224.el8x86_64-�{%+}ncurses-base6.110.20180224.el8noarch(�z+|ncurses6.110.20180224.el8x86_647�y'1{microcode_ctl202308082.20231009.1.el8_9x86_64"�xzmemstrack0.2.52.el8x86_64:�w)7ylinux-firmware20230824120.git0e048b06.el8_9noarch#�vxlibxml22.9.718.el8_9x86_64(�u'wlibuuid-devel2.32.143.el8x86_64"�tvlibuuid2.32.143.el8x86_64 �sulibuuid2.32.143.el8i686#�rtlibtevent0.14.13.el8x86_64�qslibtdb1.4.83.el8x86_64"�prlibtalloc2.4.03.el8x86_64#�oqlibstdc++8.5.020.el8x86_64&�n#plibsss_sudo2.9.14.el8_9x86_64+�m-olibsss_nss_idmap2.9.14.el8_9x86_64'�l%nlibsss_idmap2.9.14.el8_9x86_64)�k)mlibsss_certmap2.9.14.el8_9x86_64
?����V!��}_=�
��
�p
�
�
nUR

J
&
1.�����eC!����iG%
��
�
�
}
Z
7
	�	�	�	�	c	<	���s&pam-devel1.3.134.el8_10x86_64� pam1.3.134.el8_10x86_64�#pam-devel1.3.133.el8x86_64pam1.3.133.el8x86_64('p11-kit-trust0.23.222.el8x86_64('p11-kit-devel0.23.222.el8x86_64"p11-kit0.23.222.el8x86_64%pcp-libs5.3.720.el8_10x86_64n%pcp-conf5.3.720.el8_10x86_64m#pam-devel1.3.127.el8x86_64�pam1.3.127.el8x86_64�*'pdns-recursor4.7.51pdns.el8x86_64R*'pdns-recursor4.7.41pdns.el8x86_64	_&'pdns-recursor4.3.61.el8x86_64	^&#pcre2-utf3210.323.el8_6x86_64
�$#pcre2-utf3210.322.el8x86_64,&#pcre2-utf1610.323.el8_6x86_64
�$#pcre2-utf1610.322.el8x86_64+&#pcre2-devel10.323.el8_6x86_64
�$#pcre2-devel10.322.el8x86_64* pcre210.323.el8_6x86_64
�pcre210.322.el8x86_64"!pcre-utf328.426.el8x86_64 "!pcre-utf168.426.el8x86_64"!pcre-devel8.426.el8x86_64 pcre-cpp8.426.el8x86_64pcre8.426.el8x86_64!pcp-libs5.3.77.el8x86_64	�"pcp-libs5.3.718.el8x86_64
�$pcp-libs5.3.717.el8_8x86_64�!pcp-libs5.3.15.el8x86_64�!pcp-conf5.3.77.el8x86_64	�"pcp-conf5.3.718.el8x86_64
�$pcp-conf5.3.717.el8_8x86_64�!pcp-conf5.3.15.el8x86_64�&'pciutils-libs3.7.03.el8x86_64�&'pciutils-libs3.7.01.el8x86_64!pciutils3.7.03.el8x86_64�!pciutils3.7.01.el8x86_64patch2.7.611.el8x86_646passwd0.804.el8x86_64
�passwd0.803.el8x86_64�parted3.239.el8x86_64�pango1.42.48.el8x86_64�#pam-devel1.3.125.el8x86_64�#pam-devel1.3.122.el8x86_64
�#pam-devel1.3.115.el8x86_64Wpam1.3.125.el8x86_64�pam1.3.122.el8x86_64
�pam1.3.115.el8x86_64�('p11-kit-trust0.23.221.el8x86_64�('p11-kit-devel0.23.221.el8x86_64
R"p11-kit0.23.221.el8x86_64�!os-prober1.749.el8x86_64�orc0.4.283.el8x86_64�8I!oracle-instantclient11.2-basic11.2.0.4.01x86_64�6E!oracle-instantclient-sqlplus21.5.0.0.01x86_64�3?!oracle-instantclient-jdbc21.5.0.0.01x86_64�4A!oracle-instantclient-devel21.5.0.0.01x86_64�4A!oracle-instantclient-basic21.5.0.0.01x86_64�"%opus1.30.4.beta.el8x86_64�()openssl-pkcs110.4.103.el8x86_64�()openssl-pkcs110.4.102.el8x86_64�
��xph`���������(8HXhx�������� 
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�����������x�pxh`XPH@80( ��������������p�h�`xXph`PXPH@8H0�@�8���0�(� ��	��	��	��	��	��	�x	�p	�h	�`	�X	�PH@8(0(� ���
�
��
��
�
�
�
�
��
��
�
�
�
�
�
��
��
x�
p�
h�
`�
XX
PP
HH
@@
88
00
((
  



�������������������������p�`xPp@h0` X�P�H�@�8�0�( �������������x�p�h�`�X��������PxHp@h8`X0P(H @80( ����
��
��
��
�
��
��
��
��
��
��
��
��
��
��
��	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				���������������������p`�SuHtBs@r>q<k,i*h$e dcba`_^]\
[YXW�V�O�N�M�L�K�J�I�H�G�F�E�D�C�@�?�>�=�<�;�*�)�(�'�$�#�"�!� ����~|
��
��
��
��p3
��o1
��n/
��m-
��l+
��
��
��g%
��U#
��T!
��S
��:
��9
��8
��7
��6
��5
��4
��3
��2

��1
��0	
��/
��.
��-
��,
��+�
��
��
��
�
�
�
�

�
�	
�
�
�
�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
���Z�M�X�K�V�I�T�G�R�E�CA~?}=|;{9z7yPy5xNx3wLw1vJv/
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
�
��
�

��
�
��
�
��
��
��
��
��
��
��
��
��
��
��
��u-t+s)r'q%p#o!nmlkjihgfe
dc	ba`_^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� ��}{ywusqomkigeca_
][Y
W	USQOMKIGEC
�A
�?
�=
�;
�9
�7
�5
�3
�1
�/
�-zxvtrpnl	fd`^\XR
�N
�L
�<
�:
�8
�6
�4
�2
�0
�.
�,
�*
�(
�&
�
��Q�\�O
�+
�)
�'
�%
�#
�!
�
�
�
�
�
�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xph`XPH@80( ����������������xph`XPH@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	��;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	���������������������������������������������������������������������������������������������
���������ucRA/�������m\K:)
�
�
�
�
�
�
�
w
e
S
A
/

��������~n^N>.��������vdR@.

�
�
�
�
�
�
�
�
q
`
N
<
*

	�	�	��	�	�	�		n	]	L	;	*		�������|kZH6%�������yhVD3"��������tcRA0��������o^M<+	�����o�|jYH6$�������^M	�=-��������saO>-������s		��r		�
��q	��p		�
��o		��n		�
��m		��l		�
��k		��j	�
��i	��h		�
��g		��f		�
�e		��d		�
~�c		��b		�
x�a		��`		��_		�
�^		�
�]		�
�\		��Z		�
�Y		��H��|	���W	���V	���U	���T	�k�S	���R	�
�Q	�C�P	�	�O	�^�N	�	�M		���L		��K	���J	��X		��I���G		���F		��E	���D	��C		���B		��A		���@		��?		���>		��=		���<		���;	���:	���9		���8		���7		���6		���5	���4	���3	�p�2	���1		�o�0		���/		�n�.		���-	�m�,	���+	�l�*	���)		�x�(		���'		�w�&		���%	�g�$	���#		�U�"		���!	�T� 	���		�S�		���		�:�		���		�9�		���	�8�	���	�7�	���		�6�		���	�5�	���		�4�		���		�3�		���
		�2�		���	�1�
	���		�0�	���		�/�		���		�.�		���		�-�		���		�,�		���		�+�~		��
�[			��}	�
�{		�
��z		���y		��x		���w	��v	���u	�]�t	���s		�
��r		���q		�
��p		���o		�
��n		���m		�
��l		���k		�
��j		���i	���h	���g	���f	���e	���d	���c		�U�b		���a		�
��`		���_		�
��^		���]		�
��\		��
�[		��
�Z		��
�Y		��
�X			��
�W			��
�V			��
�U			�[
�T			�Z
�S			��
�R			�X�Q		��
�P			��
�O			��
�N			��
�M			��
�L			��
�K			��
�J			��
�I			���H���G���F���E���D	�R�C	�Q�B	�P�A	�k�@	�t�?	���>	���=	���<		���;		��	�:		�&�9		���8		�%�7		���6	���5	���4	���3	���2	���1	���0		� �/		���.		���-		���,	���+	���*		��)		���(	���'	���&		�L�%		���$	���#	���"		�
1�!		��� 		�
0
rp���xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8������������������������xp`XPH@80( ����������������xph`XPH@8���������������������������JHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKI~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$��������������������~}~|
+]��vG���U*
�
�
�
�
]
,
��~N%���p@
�
�
�
O
	�	�	�	d	;	
���]*1perl-Test-SubCalls1.102.el8noarch�*1perl-Test-Spelling0.251.el8noarch�,-	perl-Test-Simple1.3021351.el8noarch�,3perl-Test-Signature1.1121.el8noarch�-5perl-Test-SharedFork0.3513.el8noarch�(-perl-Test-Script1.252.el8noarch�3Aperl-Test-RequiresInternet0.0515.el8noarch�+1perl-Test-Requires0.1010.el8noarch�/-!perl-Test-Regexp201704010110.el8noarch�*1perl-Test-Refcount0.103.el8noarch�/9perl-Test-RandomResult0.0012.el8noarch�2?perl-Test-RDF-Trine-Store1.0198.el8noarch�*-perl-Test-Prereq2.00211.el8noarch�,5perl-Test-PostgreSQL1.281.el8noarch�3Cperl-Test-Portability-Files0.104.el8noarch�1;perl-Test-Pod-LinkCheck0.00820.el8noarch�/9perl-Test-Pod-Coverage1.1010.el8noarch�%'perl-Test-Pod1.518.el8noarch�5Eperl-Test-Perl-Critic-Policy1.1345.el8noarch�-7perl-Test-Perl-Critic1.047.el8noarch�*-perl-Test-Output1.03.19.el8noarch�(-perl-Test-Object0.084.el8noarch�/9perl-Test-Number-Delta1.0615.el8noarch�-5perl-Test-NoWarnings1.0416.el8noarch�(-perl-Test-NoTabs2.027.el8noarch�*1perl-Test-Net-LDAP0.072.el8noarch�++perl-Test-Needs0.0020063.el8noarch�0;perl-Test-Name-FromLine0.1315.el8noarch�(+perl-Test-Mouse2.5.92.el8x86_64�')perl-Test-Most0.3511.el8noarch�)+perl-Test-Moose2.20119.el8x86_64�&)perl-Test-Mojo8.421.el8noarch�*1perl-Test-Mojibake1.313.el8noarch�*-perl-Test-Modern0.01315.el8noarch�*1perl-Test-MockTime0.177.el8noarch�25!perl-Test-MockObject1.201807055.el8noarch�/5perl-Test-MockModule0.170.05.el8noarch�-5perl-Test-Mock-Guard0.1015.el8noarch�5=perl-Test-MinimumVersion0.10108211.el8noarch�.9perl-Test-MemoryGrowth0.035.el8noarch�/9perl-Test-Memory-Cycle1.0613.el8noarch�+1perl-Test-Manifest2.0216.el8noarch�-5perl-Test-LongString0.1710.el8noarch�
,�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�$�����������ti^SH=2'��t����i^��S�S�
@?�
>=�
<;�
:9�
87�
65�
43�
21
0/~
.-}
,+|
*){
('z
&%y
$#x
"!w
 v
u
t
s
r
q
p
o
n
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
�&
~}%
|{$
zy#
xw"
vu!
ts 
rq
po
nm
lk
ji
hg
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS
RQ
PO
NM
LK
JI
HG

FE	
DC
BA
@?
>=
<;
:9
87
65
43
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���

m
l

	k
j
i
h
g
�f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[
��Z
��Y
��X
��W
��V
��U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�

~
}
|
{
z
y
x

w

v
	u
t
s
r
q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[
T�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������������zpf\RH>4* �������������vlbXND:0&���������/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�SR�QP�ON�ML�KJ�IH�~GF�}ED�|CB�{A@�z?>�y=<�x;:�w98�v76�u54�t32�s10�r/.�q-,�p+*�o)(�n'&�m%$�l#"�k! �j�i�h�g�f�e�d�c�b�a
�`
�_	�^�]�\�[�Z���Y���X���W���V���U���T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&��%~}�$|{�#zy�"xw�!vu� ts�rq�po�nm�lk�ji�hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�RQ�PO�
NM�LK�JI�
HG�	FE�DC�BA�@?�>=�<;�:9�87�65�43�21�~0/�}.-�|,+�{*)�z('�y&%�x$#�w"!�v �u�t�s�r�q�p�o�n�m
�l�k
	�j�i�h�g�f��e���d���c���b���a���`���_���^���]���\��
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`��E�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
�
Z
 �wM��j"
�
�
J
	�	r	*��R
�z2��Z��:��b��B��j"��J�E�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�G	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directory>�.	{�error: sssd-common-2.9.1-4.el8_9.x86_64: install failedW�-	�+�error: %prein(sssd-common-2.9.1-4.el8_9.x86_64) scriptlet failed, exit status 1'�,	M�useradd: cannot open /etc/passwdl�+	�U�failed to link /usr/bin/pip3 -> /etc/alternatives/pip3: /usr/bin/pip3 exists and it is not a symlink7�*	m�warning: user apache does not exist - using root7�)	m�warning: user apache does not exist - using root7�(	m�warning: user apache does not exist - using root7�'	m�warning: user apache does not exist - using root7�&	m�warning: user apache does not exist - using rootE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H��8��`��@��h ��H�p(��E�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directory5�w	i�grep: /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��p(��P
�
x
0��X��8
�
�
`
	�	�	@��h ��H�p(��P�x0��X��8��`��E�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
7��pF�v.
�
�
V
�~6��^
�
�
>	�	�	f	��F��n&��N�v.��V�~6��^��>��E�z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�x	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�w	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�v	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�u	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�t	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�s	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�r	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�p	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�o	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�n	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�m	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�l	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�k	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�j	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�i	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�h	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�g	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�T	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�S	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�R	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Q	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�P	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�O	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�N	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�M	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�L	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�K	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�J	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�I	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�H	��/bin/sed: can't read /proc/cpuinfo: No such file or directory=�G	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped'�F	M�useradd: cannot open /etc/passwdE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
6��p(��P
�
x
0��X��8
�
�
`
	�	`	��@��h ��H�p(��P�x0��X��8��E�0	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�/	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�.	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�-	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�,	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�+	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�*	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�)	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�(	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�'	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�&	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�%	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�$	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�#	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�"	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�!	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE� 	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directorym�	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�
	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�		��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�~	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�}	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�|	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�{	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
5r�p(��P
�
x
0��X��8
�
�
`
	�	g	�E
��e��i$�:��b��B��j"��J�rE�e	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�d	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�c	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�b	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�a	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�`	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�_	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�^	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�]	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�\	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�[	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Z	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�Y	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�X	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�W	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�V	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�U	��/bin/sed: can't read /proc/cpuinfo: No such file or directory�!�T	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�S	��dracut: Turning off host-only mode: '/dev' is not mounted!B�R	��dracut: Turning off host-only mode: '/run' is not mounted!C�Q	��dracut: Turning off host-only mode: '/proc' is not mounted!B�P	��dracut: Turning off host-only mode: '/sys' is not mounted!n�O	�Y�dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y5�N	i�grep: /proc/cpuinfo: No such file or directory5�M	i�grep: /proc/cpuinfo: No such file or directory5�L	i�grep: /proc/cpuinfo: No such file or directory5�K	i�grep: /proc/cpuinfo: No such file or directoryo�J	�[�dracut-install: Could not get list of loaded modules: Unknown error -2. Switching to non-hostonly mode.e�I	�G�libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directoryE�H	��dracut: No '/dev/log' or 'logger' included for syslog loggingf�G	�I�/usr/lib/kernel/install.d/50-dracut.install: line 39: /proc/cmdline: No such file or directoryE�F	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�E	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�D	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�C	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�B	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�A	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�@	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�?	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�>	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�=	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�<	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�;	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�:	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�9	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�8	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�7	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�6	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�5	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�4	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�3	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�2	��/bin/sed: can't read /proc/cpuinfo: No such file or directoryE�1	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
;��H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��y��'� 	M�useradd: cannot open /etc/passwdC�	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwdJ�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory
�^����|R,�k@#�����a>�
�
�
�y
�
lU
8
H
&	�	�&
	�	r	@	"����^
�7
�
����vU4����lH+
����jvR0E���j=���xB��
_����29gcc-toolset-12-gcc-c++12.2.17.4.el8x86_64�11!gcc-toolset-12-gcc12.2.17.6.el8_10x86_64&/1gcc-plugin-annobin8.5.022.el8_10x86_64%+)gcc-gdb-plugin8.5.022.el8_10x86_64$$gcc-c++8.5.022.el8_10x86_64# gcc8.5.022.el8_10x86_64"!freeglut3.0.09.el8x86_64!49gcc-toolset-12-gcc-c++12.1.13.4.el8_7x86_64	~.1gcc-toolset-12-gcc12.2.17.4.el8x86_64�01gcc-toolset-12-gcc12.1.13.4.el8_7x86_64	}5Egcc-toolset-12-binutils-gold2.3817.el8x86_64�5Egcc-toolset-12-binutils-gold2.3816.el8x86_64	|0;gcc-toolset-12-binutils2.3817.el8x86_64�0;gcc-toolset-12-binutils2.3816.el8x86_64	{,1gcc-plugin-annobin8.5.020.el8x86_64
�,1gcc-plugin-annobin8.5.018.el8x86_64�.1gcc-plugin-annobin8.5.016.el8_7x86_64	�()gcc-gdb-plugin8.5.020.el8x86_64
�()gcc-gdb-plugin8.5.018.el8x86_64�"gcc-c++8.5.04.el8_5x86_64*!gcc-c++8.5.020.el8x86_64
�!gcc-c++8.5.018.el8x86_64�#gcc-c++8.5.016.el8_7x86_64	�gcc8.5.04.el8_5x86_64�gcc8.5.020.el8x86_64
�gcc8.5.018.el8x86_64�gcc8.5.016.el8_7x86_64	�gc7.6.43.el8x86_64)gawk4.2.14.el8x86_64
kgawk4.2.12.el8x86_64@#fuse-libs2.9.717.el8x86_64(#fuse-libs2.9.716.el8x86_64
j"fuse-libs2.9.712.el8x86_64?%#fuse-common3.2.112.el8x86_64fuse2.9.712.el8x86_64ftp0.1778.el8x86_64
dfstrm0.6.13.el8x86_64	[ fribidi1.0.49.el8x86_64	� fribidi1.0.48.el8x86_64�')freetype-devel2.9.19.el8x86_64
i+)freetype-devel2.9.14.el8_3.1x86_64�!freetype2.9.19.el8x86_64
h$freetype2.9.14.el8_3.1x86_64>%%freetds-libs1.3.31.el8x86_64_&'freetds-devel1.3.31.el8x86_64^ freetds1.3.31.el8x86_64]!freeglut3.0.08.el8x86_64(0;fontpackages-filesystem1.4422.el8noarch�*-fontconfig-devel2.13.14.el8x86_64�$!fontconfig2.13.14.el8x86_64�flex2.6.19.el8x86_64	V15firewalld-filesystem0.9.37.el8_5.1noarch�,5firewalld-filesystem0.9.37.el8noarch=.5firewalld-filesystem0.9.313.el8noarch
g05firewalld-filesystem0.9.111.el8_8noarch
E&firewalld0.9.37.el8_5.1noarch�!firewalld0.9.37.el8noarch<#firewalld0.9.313.el8noarch
f%firewalld0.9.111.el8_8noarch
Dfio3.194.el8x86_64�#	findutils4.6.021.el8x86_64''	!findutils4.6.020.el8_8.1x86_64
"	findutils4.6.020.el8x86_64; !filesystem3.86.el8x86_64:"file-libs5.3325.el8x86_64&"file-libs5.3324.el8x86_641"file-libs5.3321.el8x86_64
e!file-libs5.3320.el8x86_649file5.3325.el8x86_64%file5.3324.el8x86_640file5.3321.el8x86_64
dfile5.3320.el8x86_648*-fftw-libs-double3.3.511.el8x86_64'(#expat-devel2.2.54.el8_5.3x86_64�r15firewalld-filesystem0.9.118.el8_10noarch�&firewalld0.9.118.el8_10noarch�11!gcc-toolset-12-gcc12.2.17.8.el8_10x86_64f&%freetds-libs1.4.161.el8x86_64R''freetds-devel1.4.161.el8x86_64Q!freetds1.4.161.el8x86_64P#fuse-libs2.9.719.el8x86_64�.5firewalld-filesystem0.9.114.el8noarch�#firewalld0.9.114.el8noarch�#	findutils4.6.022.el8x86_64�"file-libs5.3326.el8x86_64�file5.3326.el8x86_64�$#expat-devel2.2.54.el8x86_64�(#expat-devel2.2.513.el8_10x86_64�%#expat-devel2.2.511.el8x86_64/)#!expat-devel2.2.510.el8_7.1x86_64
c"expat2.2.54.el8_5.3x86_64�expat2.2.54.el8x86_647"expat2.2.513.el8_10x86_64�expat2.2.511.el8x86_64.
S����i=���T'
�
�
X
6
���a1���h3
�
�
t
E
	�	�	�	S	��wE���h:���W,	���X���xI%����N"���uI���>�>�!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64?�#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_649�Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_64*�!bind-utils 9.11.3614.el8_10x86_64,�%bind-license 9.11.3614.el8_10noarch.�)bind-libs-lite 9.11.3614.el8_10x86_64)�bind-libs 9.11.3614.el8_10x86_64"�alsa-lib1.2.102.el8x86_64 �LibRaw0.19.54.el8x86_641�))kernel-modules4.18.0553.5.1.el8_10x86_64.�#)kernel-core4.18.0553.5.1.el8_10x86_64)�
)kernel4.18.0553.5.1.el8_10x86_64C�+Kllvm-googletest17.0.62.module+el8.10.0+1694+aabef26ex86_64�
tree1.7.015.el8x86_64�
atop2.7.11.el8x86_64�	htop3.2.11.el8x86_64-�1
perl-MIME-EncWords1.015.01.el8noarch!�	perl-Fsdb3.41.el8noarch,�+oniguruma-devel6.8.22.1.el8_9x86_64�tzdata2024a1.el8noarch+�)sssd-nfs-idmap2.9.14.el8_9.5x86_64(�#sssd-common2.9.14.el8_9.5x86_64(�#sssd-client2.9.14.el8_9.5x86_647�Arpm-plugin-systemd-inhibit4.14.328.el8_9x86_64/�1rpm-plugin-selinux4.14.328.el8_9x86_64%�rpm-libs4.14.328.el8_9x86_64&�~rpm-devel4.14.328.el8_9x86_64+�})�rpm-build-libs4.14.328.el8_9x86_64 �|�rpm4.14.328.el8_9x86_64(�{#�python3-rpm4.14.328.el8_9x86_64/�z%)�python3-perf4.18.0513.18.1.el8_9x86_64'�y)�perf4.18.0513.18.1.el8_9x86_64(�x#�libsss_sudo2.9.14.el8_9.5x86_64-�w-�libsss_nss_idmap2.9.14.el8_9.5x86_64)�v%�libsss_idmap2.9.14.el8_9.5x86_64+�u)�libsss_certmap2.9.14.el8_9.5x86_64*�t'�libsss_autofs2.9.14.el8_9.5x86_64)�s'�libssh-config0.9.613.el8_9noarch"�r�libssh0.9.613.el8_9x86_64%�q%�libnsl2.28236.el8_9.12x86_644�p/)�kernel-tools-libs4.18.0513.18.1.el8_9x86_64/�o%)�kernel-tools4.18.0513.18.1.el8_9x86_641�n))�kernel-headers4.18.0513.18.1.el8_9x86_647�m3	/�grub2-tools-minimal2.02150.el8.rocky.0.2x86_645�l/	/�grub2-tools-extra2.02150.el8.rocky.0.2x86_643�k+	/�grub2-tools-efi2.02150.el8.rocky.0.2x86_64/�j#	/�grub2-tools2.02150.el8.rocky.0.2x86_644�i-	/�grub2-pc-modules2.02150.el8.rocky.0.2noarch,�h	/�grub2-pc2.02150.el8.rocky.0.2x86_640�g%	/�grub2-common2.02150.el8.rocky.0.2noarch$�f�gnutls3.6.168.el8_9.1x86_64,�e'%�glibc-headers2.28236.el8_9.12x86_640�d/%�glibc-gconv-extra2.28236.el8_9.12x86_64.�c/%�glibc-gconv-extra2.28236.el8_9.12i686*�b#%�glibc-devel2.28236.el8_9.12x86_64+�a%%�glibc-common2.28236.el8_9.12x86_642�`3%�glibc-all-langpacks2.28236.el8_9.12x86_64$�_%�glibc2.28236.el8_9.12x86_64"�^%�glibc2.28236.el8_9.12i686*�]%�unbound-libs1.16.25.el8_9.2x86_64$�\#�tzdata-java2024a1.el8noarch&�[�rpm-build4.14.328.el8_9x86_64-�Z+�python3-unbound1.16.25.el8_9.2x86_64&�Y�oniguruma6.8.22.1.el8_9x86_64$�X�nss-util3.90.06.el8_9x86_64'�W#�nss-sysinit3.90.06.el8_9x86_64.�V1�nss-softokn-freebl3.90.06.el8_9x86_64'�U#�nss-softokn3.90.06.el8_9x86_64�T�nss3.90.06.el8_9x86_64A�S!Q�mysql-libs8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64B�R#Q�mysql-devel8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64C�Q%Q�mysql-common8.0.361.module+el8.9.0+1729+481e3b0b.0.1x86_64*�P%!�libmaxminddb1.2.010.el8_9.1x86_64*�O%�gnutls-devel3.6.168.el8_9.1x86_64)�N#�gnutls-dane3.6.168.el8_9.1x86_64(�M!�gnutls-c++3.6.168.el8_9.1x86_641�L))�kernel-modules4.18.0513.18.1.el8_9x86_64.�K#)�kernel-core4.18.0513.18.1.el8_9x86_64)�J)�kernel4.18.0513.18.1.el8_9x86_64"�I!�ndctl-libs71.17.el8x86_64#�H�librdmacm46.01.el8.1x86_64#�G#�daxctl-libs71.17.el8x86_64#�F!�libpmemblk1.6.11.el8x86_64
Y#���_-`.�����f8��p>'��zJ����p@�\��p;
�
�
g
2�'
���vZ9�����gF� 
�
�
��j
�
^
7
xB	�	�	�Z#	�	v	O	2	������xR,���oH&��K�/%)kerne�less5303.el8_10x86_64�'krb5-libs1.18.229.el8_10x86_64�(!krb5-devel1.18.229.el8_10x86_64�5/+kernel-tools-libs4.18.0553.16.1.el8_10x86_64�0%+kernel-tools4.18.0553.16.1.el8_10x86_64�2)+kernel-headers4.18.0553.16.1.el8_10x86_64�1))kernel-headers4.18.0477.21.1.el8_8x86_64U1))kernel-headers4.18.0425.19.2.el8_7x86_64r1))kernel-headers4.18.0425.13.1.el8_7x86_64
�1))kernel-headers4.18.0348.23.1.el8_5x86_64�1))kernel-headers4.18.0348.20.1.el8_5x86_64�2)+kernel-modules4.18.0553.16.1.el8_10x86_64_less5302.el8_9x86_64�'krb5-libs1.18.227.el8_10x86_64�(!krb5-devel1.18.227.el8_10x86_64� kpartx0.8.441.el8x86_64� kmod-libs2520.el8x86_64�kmod2520.el8x86_64�4/)kernel-tools-libs4.18.0553.5.1.el8_10x86_64�/%)kernel-tools4.18.0553.5.1.el8_10x86_64�1))kernel-headers4.18.0553.5.1.el8_10x86_64�/%)kernel-tools4.18.0425.19.2.el8_7x86_64s/%)kernel-tools4.18.0425.13.1.el8_7x86_64
�+%#kernel-tools4.18.0348.el8.0.2x86_64~/%)kernel-tools4.18.0348.23.1.el8_5x86_64�/%)kernel-tools4.18.0348.20.1.el8_5x86_64�/%)kernel-tools4.18.0348.12.2.el8_5x86_64b1))kernel-modules4.18.0553.5.1.el8_10x86_641))kernel-modules4.18.0513.18.1.el8_9x86_64�1))kernel-modules4.18.0513.11.1.el8_9x86_64
u1))kernel-modules4.18.0477.27.1.el8_8x86_64�1))kernel-modules4.18.0477.21.1.el8_8x86_64�1))kernel-modules4.18.0425.19.2.el8_7x86_64P1))kernel-modules4.18.0425.13.1.el8_7x86_64	�-)#kernel-modules4.18.0348.el8.0.2x86_64}1))kernel-modules4.18.0348.23.1.el8_5x86_64�1))kernel-modules4.18.0348.20.1.el8_5x86_64�1))kernel-modules4.18.0348.12.2.el8_5x86_64^1))kernel-headers4.18.0513.18.1.el8_9x86_64�1))kernel-headers4.18.0513.11.1.el8_9x86_64Q1))kernel-headers4.18.0477.27.1.el8_8x86_64
libX111.6.86.el8i686
�libX111.6.85.el8x86_64�libX111.6.85.el8i686	*$#libSM-devel1.2.31.el8x86_64nlibSM1.2.31.el8x86_64�libSM1.2.31.el8i686	)&%libICE-devel1.0.915.el8x86_64m libICE1.0.915.el8x86_64�libICE1.0.915.el8i686	(less5301.el8x86_64�"#lcms2-devel2.92.el8x86_64ylcms22.92.el8x86_64�$krb5-libs1.18.226.el8x86_64V&krb5-libs1.18.225.el8_8x86_64Z&krb5-libs1.18.222.el8_7x86_64
�$krb5-libs1.18.214.el8x86_64�%!krb5-devel1.18.226.el8x86_64U'!krb5-devel1.18.225.el8_8x86_64Y'!krb5-devel1.18.222.el8_7x86_64
�%!krb5-devel1.18.214.el8x86_64# kpartx0.8.439.el8x86_64T kpartx0.8.437.el8x86_64X$!kpartx0.8.428.el8_7.3x86_64u$!kpartx0.8.428.el8_7.1x86_64
�$!kpartx0.8.417.el8_5.1x86_64� kpartx0.8.417.el8x86_64� kmod-libs2519.el8x86_64
� kmod-libs2518.el8x86_64�kmod2519.el8x86_64
�kmod2518.el8x86_64�-3keyutils-libs-devel1.5.109.el8x86_64"''keyutils-libs1.5.109.el8x86_64�"keyutils1.5.109.el8x86_64&#kexec-tools2.0.2057.el8x86_64�4/)kernel-tools-libs4.18.0513.18.1.el8_9x86_64�4/)kernel-tools-libs4.18.0513.11.1.el8_9x86_64S4/)kernel-tools-libs4.18.0477.27.1.el8_8x86_64
4/)kernel-tools-libs4.18.0477.21.1.el8_8x86_64W4/)kernel-tools-libs4.18.0425.19.2.el8_7x86_64t4/)kernel-tools-libs4.18.0425.13.1.el8_7x86_64
�0/#kernel-tools-libs4.18.0348.el8.0.2x86_644/)kernel-tools-libs4.18.0348.23.1.el8_5x86_64�4/)kernel-tools-libs4.18.0348.20.1.el8_5x86_64�4/)kernel-tools-libs4.18.0348.12.2.el8_5x86_64c/%)kernel-tools4.18.0513.18.1.el8_9x86_64�/%)kernel-tools4.18.0513.11.1.el8_9x86_64R/%)kernel-tools4.18.0477.27.1.el8_8x86_64
/%)kernel-tools4.18.0477.21.1.el8_8x86_64V
*A���R��s1
�
�
me�
I
&���vM$�����c>F
�
�
�
q
R
3
	�	�	�	y	W	3	
�>��i=�����L���R��[��t[����f)�,'#libxml2-devel2.9.718.el8_10.1x86_64V!libwebp1.0.010.el8x86_64T#libxml22.9.718.el8_9x86_64vn&#libxml22.9.718.el8_10.1x86_64B%Qlibvirt-libs8.0.023.1.module+el8.10.0+1779+84732956x86_64SB%Qlibvirt-libs8.0.023.2.module+el8.10.0+1835+43f01cbbx86_64uYWMlibvirt-daemon-driver-storage-logical6.0.037.1.module+el8.5.0+732+d204e9f7x86_64m''libwebp-devel1.0.010.el8x86_64U5:)7linux-firmware20230404114.git2e92a49f.el8_8noarch�:)7linux-firmware20220726111.git150864a4.el8_7noarchv8)3linux-firmware20220726110.git150864a4.el8noarch
�:)7linux-firmware20210702104.gitd79c2677.el8_5noarch�8)3linux-firmware20210702103.gitd79c2677.el8noarch�&'libzstd-devel1.4.41.el8x86_64� libzstd1.4.41.el8x86_64�=%Glibzip-devel1.5.12.module+el8.4.0+413+c9202ddax86_64i7Glibzip1.5.12.module+el8.4.0+413+c9202ddax86_64h libyaml0.1.75.el8x86_64�''libxslt-devel1.1.326.el8x86_64e!libxslt1.1.326.el8x86_64-#%libxshmfence1.32.el8x86_64y)'libxml2-devel2.9.718.el8_9x86_64
�+'!libxml2-devel2.9.716.el8_8.1x86_64�+'!libxml2-devel2.9.715.el8_7.1x86_64	�)'libxml2-devel2.9.712.el8_5x86_64�''libxml2-devel2.9.711.el8x86_64L%!libxml22.9.716.el8_8.1x86_64�%!libxml22.9.715.el8_7.1x86_64
�#libxml22.9.712.el8_5x86_64�!libxml22.9.711.el8x86_64�%%libxkbcommon0.9.11.el8x86_64Z(+libxcrypt-devel4.1.16.el8x86_64�"libxcrypt4.1.16.el8x86_64�&%libxcb-devel1.13.11.el8x86_64� libxcb1.13.11.el8x86_64�libxcb1.13.11.el8i686	0libx861.130.el8x86_64�&#libwmf-lite0.2.98.el8_0x86_64�*'libwebp-devel1.0.09.el8_9.1x86_64
�*'libwebp-devel1.0.08.el8_8.1x86_64�('libwebp-devel1.0.08.el8_7x86_64[&'libwebp-devel1.0.05.el8x86_64N$libwebp1.0.09.el8_9.1x86_64
�$libwebp1.0.08.el8_8.1x86_64�"libwebp1.0.08.el8_7x86_64Z libwebp1.0.05.el8x86_64�+/libwayland-server1.21.01.el8x86_64�+/libwayland-server1.19.01.el8x86_64x()libwayland-egl1.21.01.el8x86_64�()libwayland-egl1.19.01.el8x86_64w+/libwayland-cursor1.21.01.el8x86_64�+/libwayland-cursor1.19.01.el8x86_64v+/libwayland-client1.21.01.el8x86_64�+/libwayland-client1.19.01.el8x86_64u"	libvorbis1.3.62.el8x86_64t#	libvisual0.4.025.el8x86_64s?%Klibvirt-libs8.0.022.module+el8.9.0+1405+b6048078x86_64
�A%Olibvirt-libs8.0.019.2.module+el8.8.0+1321+70d049b2x86_64�A%Olibvirt-libs8.0.010.4.module+el8.7.0+1181+a332c78dx86_64YA%Olibvirt-libs8.0.010.2.module+el8.7.0+1151+ecbb9390x86_64	�@%Mlibvirt-libs6.0.037.1.module+el8.5.0+732+d204e9f7x86_64rF1Mlibvirt-daemon-kvm6.0.037.1.module+el8.5.0+732+d204e9f7x86_64qVQMlibvirt-daemon-driver-storage-scsi6.0.037.1.module+el8.5.0+732+d204e9f7x86_64pUOMlibvirt-daemon-driver-storage-rbd6.0.037.1.module+el8.5.0+732+d204e9f7x86_64oWSMlibvirt-daemon-driver-storage-mpath6.0.037.1.module+el8.5.0+732+d204e9f7x86_64n
,���������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�����������$�������|qf[PE:/$�������ti^SH=2'}rg\QF;0%
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
Y
X
W
V
�U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
SR
QP
ON
ML
KJ
IH�
GF�
ED�
CB�
A@�
?>�
=<�
;:�
98�
76�
54�
32�
10�
/.�
-,�
+*�
)(�
'&�
%$�
#"�
! �
�
�
�
�
�
�
�
�
�

�

�
	�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[

	Z
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
Q��hF���`<
�
�
�
^
&��{J���Y-
�
�
�
\
	�	�	^	"���xP*���n?���qM��zP���S��P(��n+���W.��/�i1knss-softokn-freebl3.90.07.el8_10x86_64(�h#jnss-softokn3.90.07.el8_10x86_64 �ginss3.90.07.el8_10x86_64&�f)	hnet-snmp-devel5.830.el8x86_64+�e3	gnet-snmp-agent-libs5.830.el8x86_64 �d	fnet-snmp5.830.el8x86_64>�c!Kemysql-libs8.0.361.module+el8.10.0+1676+9b4b6e24x86_64?�b#Kdmysql-devel8.0.361.module+el8.10.0+1676+9b4b6e24x86_64@�a%Kcmysql-common8.0.361.module+el8.10.0+1676+9b4b6e24x86_64>�`Mbmod_http21.15.710.module+el8.10.0+1775+6b057638x86_64'�_'amesa-libglapi23.1.42.el8x86_64%�^#`mesa-libgbm23.1.42.el8x86_64$�]!_mesa-libGL23.1.42.el8x86_64%�\#^mesa-libEGL23.1.42.el8x86_64=�[K]llvm-test17.0.62.module+el8.10.0+1694+aabef26ex86_64?�Z#K\llvm-static17.0.62.module+el8.10.0+1694+aabef26ex86_64=�YK[llvm-libs17.0.62.module+el8.10.0+1694+aabef26ex86_64>�X!KZllvm-devel17.0.62.module+el8.10.0+1694+aabef26ex86_648�WKYllvm17.0.62.module+el8.10.0+1694+aabef26ex86_64,�V'#Xlibxml2-devel2.9.718.el8_10.1x86_64'�U'Wlibwebp-devel1.0.010.el8x86_64!�TVlibwebp1.0.010.el8x86_64B�S%QUlibvirt-libs8.0.023.1.module+el8.10.0+1779+84732956x86_64'�R'Tlibtiff-devel4.0.931.el8x86_64!�QSlibtiff4.0.931.el8x86_64,�P+Rlibstdc++-devel8.5.022.el8_10x86_64@�O%KQlibomp-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64:�NKPlibomp17.0.61.module+el8.10.0+1595+29ffb9b1x86_64!�MOlibgs9.2713.el8_10x86_64(�L+	Nlibglvnd-opengl1.3.42.el8x86_64%�K%	Mlibglvnd-glx1.3.42.el8x86_64&�J'	Llibglvnd-gles1.3.42.el8x86_64%�I%	Klibglvnd-egl1.3.42.el8x86_64'�H)	Jlibglvnd-devel1.3.42.el8x86_64,�G3	Ilibglvnd-core-devel1.3.42.el8x86_64!�F	Hlibglvnd1.3.42.el8x86_64'�E%GlibXpm-devel3.5.1211.el8x86_64%�D%FlibXpm-devel3.5.1211.el8i686!�CElibXpm3.5.1211.el8x86_64�BDlibXpm3.5.1211.el8i686#�A!ClibX11-xcb1.6.88.el8x86_64%�@%BlibX11-devel1.6.88.el8x86_64&�?'AlibX11-common1.6.88.el8noarch�>@libX111.6.88.el8x86_64�=?libX111.6.88.el8i686<�<C	'>java-1.8.0-openjdk-headless1.8.0.412.b082.el8x86_649�;=	'=java-1.8.0-openjdk-devel1.8.0.412.b082.el8x86_643�:1	'<java-1.8.0-openjdk1.8.0.412.b082.el8x86_64@�9#M;httpd-tools2.4.3764.module+el8.10.0+1717+030a9fedx86_64E�8-M:httpd-filesystem2.4.3764.module+el8.10.0+1717+030a9fednoarch:�7M9httpd2.4.3764.module+el8.10.0+1717+030a9fedx86_64!�68harfbuzz1.7.54.el8x86_64#�57graphviz2.40.145.el8x86_64+�4%!6gnutls-devel3.6.168.el8_10.2x86_64*�3#!5gnutls-dane3.6.168.el8_10.2x86_64)�2!!4gnutls-c++3.6.168.el8_10.2x86_64)�1%3git-core-doc2.43.51.el8_10noarch%�02git-core2.43.51.el8_10x86_64 �/1git2.43.51.el8_10x86_641�.30gdk-pixbuf2-modules2.36.126.el8_10x86_64:�-I/gcc-toolset-13-libstdc++-devel13.2.16.2.el8x86_642�,9.gcc-toolset-13-gcc-c++13.2.16.2.el8x86_64.�+1-gcc-toolset-13-gcc13.2.16.2.el8x86_645�*E,gcc-toolset-13-binutils-gold2.4021.el8x86_640�);+gcc-toolset-13-binutils2.4021.el8x86_64=�(I!*gcc-toolset-12-libstdc++-devel12.2.17.6.el8_10x86_645�'9!)gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_641�&1!(gcc-toolset-12-gcc12.2.17.6.el8_10x86_64/�%1'gcc-plugin-annobin8.5.022.el8_10x86_64+�$)&gcc-gdb-plugin8.5.022.el8_10x86_64$�#%gcc-c++8.5.022.el8_10x86_64 �"$gcc8.5.022.el8_10x86_64!�!#freeglut3.0.09.el8x86_64 � "cpp8.5.022.el8_10x86_64?�#K!compiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64*�- cmake-rpm-macros3.26.52.el8noarch*�-cmake-filesystem3.26.52.el8x86_64$�!cmake-data3.26.52.el8noarch�cmake3.26.52.el8x86_64E�/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64M�?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarch
���������veSA0��������sbQ@/

�
�
�
�
�
�
�
�
t
c
R
A
/

��������sbQ@/
��������o]L;*
�
�
�
�
�
�
�
~
m
[
I
7
%

	�	�	�	�	�	�	�	{	j	Y	H	7	&		�������xgVE4#��������udSB1 ��������ucQ?-	�������~m\K:)�������{iWF5#��������o]L;)�������{iWE4#�����F	�
t�E	���D	�
r�C	���B	�
q�A	���@	�
p�?	���>	���=	���<	�
��;	���:		�
��9		��8		�
��7		�~�6	�
��5	�}�4		�
��3		�|�2	�
��1	�{�0		�
��/		�z�.	�
��-	�y�,	�
��+	�x�*	�
��)	�w�(	�
��'	�v�&	�
��%	�u�$	���#	�t�"		���!		�s� 	���	�r�	�D�	�q�		�
��		�p�		�
��		�o�	���	�n�		���		�m�		���		�l�		���		�k�		���		�j�		���
		�i�	�
��	�h�
		�
��			�g�	�
��	�f�	���	�e�	���	�d�	���	�c�		�
��		�b�~		�
��}		�a�|		�
��{		�`�z		�
��y		�_�x		�
��w		�^�v		�
��u		�]�t		�
��s		�\�r		�
��q		�[�p		�
��o		�Z�n		�
��m		�Y�l	�
��k	�X�j	�
��i	�W�h		�
��g		�V�f		�
��e		�U�d		���c		�T�b		���a		�S�`		�
��_		�R�^	�
��]	�Q�\	�
��[	�P�Z		�
��Y		�O�X		�	��W		�N�V		�	��U		�M�T		�	��S		�L�R		�	��Q		�K�P		�	��O		�J�N		�	��M		�I�L		�	��K		�H�J	�	��I	�G�H	�	��G	�F�F		�	��E		�E�D	�	��C	�D�B		�
��A		�C�@		�
��?		�B�>		�
��=		�A�<		�
��;		�@�:		�
��9		�?�8	�
��7	�>�6	�
��5	�=�4	�
��3	�<�2		�
��1		�;�0		�
��/		�:�.		�
��-		�9�,		���+		�8�*		���)		�7�(		���'		�6�&		���%		�5�$		���#		�4�"		���!		�3� 		���		�2�	���	�1�		���		�0�	�
m�	�/�	�
l�	�.�	�
k�	�-�	�
j�	�,�	�
i�	�+�		���		�*�		���
		�)�		���		�(�
	�
��		�'�	�
��	�&�		�
��		�%�		�
��		�$�		�*�		�#�		�
��		�"�~	�
��}	�!�|		�
��{		� �z		�
��y		��x		�
��w		��v	�
��u	��t		�
�
�V�����zW4�����B�e=���hBf�	� ��.����F_
#�zYX4
���^1
�
�
�
u
Q
-
 ;	����pJ ����i	��sO.	
���
C�	�	b�$���eE�$��$#libnsl2.28236.el8_9.7x86_64e!libnftnl1.2.23.el8x86_64d#libmount2.32.143.el8x86_64clibldb2.7.23.el8x86_64b#libkadm51.18.226.el8x86_64a$!libibverbs46.01.el8.1x86_64`!libkcapi1.4.02.el8x86_64�&libkadm51.18.227.el8_10x86_64�"!libibverbs48.01.el8x86_64�&'libidn2-devel2.2.01.el8x86_64
O&!libnghttp21.33.05.el8_8x86_64
F$#libnsl2.28225.el8_8.6x86_64
 ##libgs-devel9.276.el8x86_64� libnsl2.28225.el8x86_64l%#	libnfsidmap2.3.359.el8x86_64k%libmount2.32.142.el8_8x86_64jlibldb2.6.11.el8x86_64i%libkadm51.18.225.el8_8x86_64h$!libibverbs44.02.el8.1x86_64g"libksba1.3.59.el8_7x86_64
� libksba1.3.57.el8x86_64�*/libkcapi-hmaccalc1.2.02.el8x86_64�!libkcapi1.2.02.el8x86_64�%libkadm51.18.222.el8_7x86_64
�#libkadm51.18.214.el8x86_64%-3libjpeg-turbo-devel1.5.312.el8x86_64O''libjpeg-turbo1.5.312.el8x86_64�:Glibiscsi1.18.08.module+el8.4.0+534+4680a14ex86_64Rlibipt1.6.18.el8x86_64Q''libini_config1.3.140.el8x86_64
�''libini_config1.3.139.el8x86_64�libijs0.355.el8x86_64P libidn22.2.01.el8x86_64�libidn1.345.el8x86_64�&%libicu-devel60.32.el8_1x86_64Z libicu60.32.el8_1x86_64$"!libibverbs41.01.el8x86_64
�"!libibverbs35.01.el8x86_64�!libibumad35.01.el8x86_64# libgusb0.3.01.el8x86_64"=!	Ilibguestfs1.40.228.module+el8.5.0+670+c4aa478cx86_64O"libgtop22.38.03.el8x86_64N�*/libkcapi-hmaccalc1.4.02.el8x86_64�*%!libmaxminddb1.2.010.el8_9.1x86_64�
i�%%libnsl2.28251.el8_10.4x86_64�)!!libnghttp21.33.06.el8_10.1x86_64�&libkadm51.18.229.el8_10x86_64�%%libnsl2.28251.el8_10.2x86_64�#libmount2.32.146.el8x86_64�libldb2.8.00.el8x86_64�%%libnsl2.28236.el8_9.12x86_64� libnsl2.28211.el8x86_64	=$#libnsl2.28164.el8_5.3x86_64� libnsl2.28164.el8x86_64�#!libnl3-cli3.5.01.el8x86_64�libnl33.7.01.el8x86_64
�libnl33.5.01.el8x86_64�(!libnghttp21.33.03.el8_3.1x86_64�!libnftnl1.1.55.el8x86_64
�!libnftnl1.1.54.el8x86_64�)#	!libnfsidmap2.3.357.el8_7.1x86_64
�%#	libnfsidmap2.3.346.el8x86_64�&%libnfnetlink1.0.113.el8x86_64�/9libnetfilter_conntrack1.0.65.el8x86_64�libndp1.76.el8x86_64�!libmpc1.1.09.1.el8x86_64�%libmount2.32.139.el8_7x86_64
�#libmount2.32.138.el8x86_64	<#libmount2.32.128.el8x86_64�%#libmodulemd2.13.01.el8x86_64�#libmodman2.0.117.el8x86_64%libmnl1.0.46.el8x86_64�$#libmetalink0.1.37.el8x86_64,/libmemcached-libs1.0.1817.el8x86_64	�,/libmemcached-libs1.0.1815.el8x86_64{-1libmemcached-devel1.0.1817.el8x86_64(-1libmemcached-devel1.0.1815.el8x86_64'%libmemcached1.0.1817.el8x86_64	�'%libmemcached1.0.1815.el8x86_64z)+libmcrypt-devel2.5.826.el8x86_64~#libmcrypt2.5.826.el8x86_64}!libmcpp2.7.220.el8x86_64�&%libmaxminddb1.2.010.el8x86_64Sliblzf3.616.el8x86_64�libldb2.5.22.el8x86_64
�libldb2.3.02.el8x86_64�
e�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8@80( ������������������������������xph`�xpXPhH@h��m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n����������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<
>V������t��E���X�
I
 �)
�0moIz
�G!����
��$��_Z7
�
�8
�	
w�
V
4
	����	�	�	jv��	A	�I�^$���]9�����jA�1lI*	���hC���/1nss-softokn-freebl3.79.011.el8_7x86_64_�$nss-util3.90.06.el8_9x86_64�'#nss-sysinit3.90.06.el8_9x86_64�.1nss-softokn-freebl3.90.06.el8_9x86_64�'#nss-softokn3.90.06.el8_9x86_64�nss3.90.06.el8_9x86_64�)%	openssl-libs1.1.1k12.el8_9x86_64�*'	openssl-devel1.1.1k12.el8_9x86_64�$	openssl1.1.1k12.el8_9x86_64�,)!openssh-server8.0p119.el8_9.2x86_64�-+!openssh-clients8.0p119.el8_9.2x86_64�%!openssh8.0p119.el8_9.2x86_64�&%numactl-libs2.0.161.el8x86_64�> nss3.90.07.el8_10x86_64g/1nss-softokn-freebl3.79.010.el8_6x86_64	�.1nss-softokn-freebl3.67.07.el8_5x86_64�'#nss-softokn3.90.04.el8_9x86_64
�'#nss-softokn3.90.03.el8_8x86_64�(#nss-softokn3.79.011.el8_7x86_64^(#nss-softokn3.79.010.el8_6x86_64	�'#nss-softokn3.67.07.el8_5x86_64�� +)openssh-server8.0p125.el8_10x86_64�,+openssh-clients8.0p125.el8_10x86_64�$openssh8.0p125.el8_10x86_64�,)openldap-devel2.4.4619.el8_10x86_64�.-openldap-clients2.4.4619.el8_10x86_64�&openldap2.4.4619.el8_10x86_64�(+oniguruma-devel6.8.23.el8x86_64M()openssh-server8.0p124.el8x86_64)+openssh-clients8.0p124.el8x86_64
!openssh8.0p124.el8x86_64&%numactl-libs2.0.164.el8x86_64"oniguruma6.8.23.el8x86_64l%nss-util3.90.07.el8_10x86_64k(#nss-sysinit3.90.07.el8_10x86_64j/1nss-softokn-freebl3.90.07.el8_10x86_64i(#nss-softokn3.90.07.el8_10x86_64h(%	openssl-libs1.1.1k7.el8_6x86_64	(%	openssl-libs1.1.1k6.el8_5x86_64�(%	openssl-libs1.1.1k5.el8_5x86_64m&%	openssl-libs1.1.1k4.el8x86_64�)'	openssl-devel1.1.1k9.el8_7x86_64x)'	openssl-devel1.1.1k7.el8_6x86_64	)'	openssl-devel1.1.1k6.el8_5x86_64�)'	openssl-devel1.1.1k5.el8_5x86_64)#	openssl1.1.1k9.el8_7x86_64w#	openssl1.1.1k7.el8_6x86_64	#	openssl1.1.1k6.el8_5x86_64�#	openssl1.1.1k5.el8_5x86_64l!	openssl1.1.1k4.el8x86_64�*)openssh-server8.0p119.el8_8x86_64�*)openssh-server8.0p117.el8_7x86_64
�()openssh-server8.0p110.el8x86_64�++openssh-clients8.0p119.el8_8x86_64�++openssh-clients8.0p117.el8_7x86_64
�)+openssh-clients8.0p110.el8x86_64�#openssh8.0p119.el8_8x86_64�#openssh8.0p117.el8_7x86_64
�!openssh8.0p110.el8x86_64� opensp1.5.228.el8x86_64K))openldap-devel2.4.4618.el8x86_64k+-openldap-clients2.4.4618.el8x86_64�#openldap2.4.4618.el8x86_64�"openjpeg22.4.05.el8x86_64	�"openjpeg22.4.04.el8x86_64�"openjade1.3.257.el8x86_64J)5openblas-srpm-macros22.el8noarch�(+oniguruma-devel6.8.22.el8x86_64\"oniguruma6.8.22.el8x86_64[&/ocaml-srpm-macros54.el8noarch�)1numad0.526.20150602git.el8x86_645'%numactl-libs2.0.1213.el8x86_64�%nss-util3.79.011.el8_7x86_64a%nss-util3.79.010.el8_6x86_64	�
q.1nss-softokn-freebl3.90.03.el8_8x86_64�.1nss-softokn-freebl3.90.04.el8_9x86_64
�(#nss-sysinit3.79.011.el8_7x86_64`(#nss-sysinit3.79.010.el8_6x86_64	�'#nss-sysinit3.67.07.el8_5x86_64�Q&oniguruma6.8.22.1.el8_9x86_64�$nss-util3.90.04.el8_9x86_64
�'#nss-sysinit3.90.04.el8_9x86_64
�$nss-util3.67.07.el8_5x86_64�'#nss-sysinit3.90.03.el8_8x86_64��)$nss-util3.90.03.el8_8x86_64�4,+oniguruma-devel6.8.22.1.el8_9x86_64
���xph`(�����������xph`XPH@8�� 0H@pphh``XXP�������PH@80( ��xp��h�`���	(����	 �	�	�	�	������������@������xph`XPH@80( 	�	p	`	P	@
�	0
��
�X
�
�
��
��
��
��
��
��
��
�x
�P
�8
�(
x
p
h�
`�
X�
P0
H 
@
8X
0
(
 �
�
�
�
���� �x�H�@�8�0�(� �����������xph`XPH@80�(� ���������������������xph`XPH@80�(� ���
�	8
�	H
�	X
�	h
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8	x
0	�
(	�
 



	�	�	�	�	�����80( PH����	�	�	�	�	�	�	�	��������xph`XPH@80(������������������������XPH@80(�x�	�g�_�e�]�:_��8_/�6`��4`1�2a��0a3�.dcb5b��&fe�"�[�f�Y�d�W�S�Q�X���O�M�K�I�G�A�Elkji
hg	���5���]�����s���q���o�|�m�z�k�x�i�g�n�e�l�c�a�j�_���u�������w���7���y�������}�{��������������������������������������������������������������������������������������������M�����������������K���������G���J�������������>:9654*)(
	��������������;�<�=!�>#�S%�t#s!rqponm^-U+T'^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_^]\[
ZYX
R	PNLJHFDB@>�<�:�8�6�4�2�0�.�,�*�(�&�$�"� �����������
����������������������������������������������������������������������������������v'u%���C�=�A�;�?�=�;99~7}5|3{1z/y7y-x+w)�h�c�a�_�]�[�Y�W�U
V����`8���_,
�
�
m
$��<
���Z)
�
�
�
Y
	�	�	�	A	 	���sO%���a.���j.
��a7���bB���zN*��{N���wQ)�0�?%	/�grub2-common2.02156.el8.rocky.0.1noarch �>�gpgme1.13.112.el8x86_64%�=!�gnutls3.6.168.el8_10.2x86_64#�<	�gmp-devel6.1.212.el8x86_64!�;	�gmp-c++6.1.212.el8x86_64�:	�gmp6.1.212.el8x86_64,�9'%�glibc-headers2.28251.el8_10.2x86_640�8/%�glibc-gconv-extra2.28251.el8_10.2x86_64.�7/%�glibc-gconv-extra2.28251.el8_10.2i686*�6#%�glibc-devel2.28251.el8_10.2x86_64+�5%%�glibc-common2.28251.el8_10.2x86_642�43%�glibc-all-langpacks2.28251.el8_10.2x86_64$�3%�glibc2.28251.el8_10.2x86_64"�2%�glibc2.28251.el8_10.2i686!�1�glib22.56.4164.el8x86_64)�0#�gdk-pixbuf22.36.126.el8_10x86_64#�/�fuse-libs2.9.719.el8x86_64.�.5�firewalld-filesystem0.9.114.el8noarch#�-�firewalld0.9.114.el8noarch#�,	�findutils4.6.022.el8x86_64"�+�file-libs5.3326.el8x86_64�*�file5.3326.el8x86_64(�)#�expat-devel2.2.513.el8_10x86_64"�(�expat2.2.513.el8_10x86_64&�''�elfutils-libs0.1902.el8x86_64.�&7�elfutils-libelf-devel0.1902.el8x86_64(�%+�elfutils-libelf0.1902.el8x86_64'�$)�elfutils-devel0.1902.el8x86_644�#C�elfutils-default-yama-scope0.1902.el8noarch9�"M�elfutils-debuginfod-client-devel0.1902.el8x86_643�!A�elfutils-debuginfod-client0.1902.el8x86_64!� �elfutils0.1902.el8x86_649�53�dracut-config-rescue049233.git20240115.el8x86_64+�3�dracut049233.git20240115.el8x86_64+�-�dnf-plugins-core4.0.2125.el8noarch"��dnf-data4.7.020.el8noarch��dnf4.7.020.el8noarch �	�dmidecode3.51.el8x86_640�1�device-mapper-libs1.02.18114.el8x86_64+�'�device-mapper1.02.18114.el8x86_64��curl7.61.134.el8x86_64#�	�cups-libs2.2.657.el8x86_64(�)�cronie-anacron1.5.210.el8x86_64 ��cronie1.5.210.el8x86_64'�%�c-ares-devel1.13.010.el8x86_64!��c-ares1.13.010.el8x86_64��bash4.4.205.el8x86_64"�!�avahi-libs0.727.el8x86_64#�!�audit-libs3.1.21.el8x86_64��audit3.1.21.el8x86_64�
�acl2.2.533.el8x86_64��yajl2.1.013.el8x86_64@�'I�varnish-devel6.0.131.module+el8.9.0+1777+0acf9965x86_64:�
I�varnish6.0.131.module+el8.9.0+1777+0acf9965x86_64"�		�valgrind3.22.02.el8x86_64*�%�unbound-libs1.16.25.el8_9.6x86_64C�+K�rust-std-static1.75.01.module+el8.10.0+1668+84166756x86_648�K�rust1.75.01.module+el8.10.0+1668+84166756x86_64$��rpm-build4.14.331.el8x86_64<�M�python363.6.839.module+el8.10.0+1592+61442852x86_64,�1�python3.11-tkinter3.11.71.el8x86_64.�5�python3.11-pip-wheel22.3.15.el8noarch)�+�python3.11-libs3.11.71.el8x86_64$�!�python3.113.11.71.el8x86_64-�+�python3-unbound1.16.25.el8_9.6x86_64-�~#)�python3-pip9.0.324.el8.rocky.0noarch,�}%python3-bind 9.11.3614.el8_10noarchM�|=M~python2-setuptools-wheel39.0.114.module+el8.10.0+1813+4b021305noarchG�{1M}python2-setuptools39.0.114.module+el8.10.0+1813+4b021305noarchK�z%a|python2-libs2.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64F�ya{python22.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64 �xzpixman0.38.44.el8x86_64@�w'Kyperl-Sys-Virt8.0.01.module+el8.10.0+1590+a67ab969x86_64*�v'xperl-PCP-PMDA5.3.720.el8_10x86_64)�u%wperl-PCP-MMV5.3.720.el8_10x86_640�t3vperl-PCP-LogSummary5.3.720.el8_10x86_64/�s1uperl-PCP-LogImport5.3.720.el8_10x86_64)�r%tperl-Git-SVN2.43.51.el8_10noarch%�qsperl-Git2.43.51.el8_10noarch*�p/rperl-Convert-ASN10.2718.el8noarch#�oqperl-CPAN2.18399.el8noarch%�nppcp-libs5.3.720.el8_10x86_64%�mopcp-conf5.3.720.el8_10x86_64"�lnoniguruma6.8.23.el8x86_64%�kmnss-util3.90.07.el8_10x86_64(�j#lnss-sysinit3.90.07.el8_10x86_64
x6������F6��v[<&	����g="
�
�
�
�
�
�
��
�
u
a
N
@
2
$�

���������}iXG6%�����Q����u_TF8*
�
�
�
�
�
l
Q
I
A
3
%

	�	�	�	�	��	�	�	�	��	�	�	tu	k	a	W	M	Ck	3	#		[���!unrar-free�
unrar�	wget�!zlib-develK	zlibJyum-utilsIyumH!util-linuxG	yajl�'varnish-devel�varnish�
valgrind�%unbound-libs�	zstd�zsh%zsh	!zlib-devel�!zlib-devel$!zlib-devel	!zlib-devel-	zlib�	zlib#	zlib		zlibWzip�yum-utils�yum-utils�yum-utils	yum�yum�yum	"yumV	yajl
�	yajl
<	yajl�)xz-lzma-compat))xz-lzma-compat�xz-libs"xz-libsU
xz-devel!
xz-devel�xz xzT7xorg-x11-server-utils�5xorg-x11-proto-devel�5xorg-x11-fonts-Type1�$Kxorg-x11-fonts-ISO8859-1-100dpi�3xorg-x11-font-utils�!xml-commonI-xkeyboard-config[xinetd
;xinetd	
xfsprogs�
xfsprogs�
xfsprogs
xfsprogsS
xclipH-xapian-core-libs�/x2goserver-common�/x2goserver-commonG
which�
which
whichR	wget	wgetvirt-what�virt-what�virt-whatvirt-whatQ#vim-minimal#vim-minimal�#vim-minimal�#vim-minimal�#vim-minimalP)vim-filesystem	
)vim-filesystem�%vim-enhanced	%vim-enhanced�!vim-common	!vim-common�+varnish-modules
c'varnish-devel
bvarnish
Bvarnish
:varnish�
valgrind
�
valgrind
9
valgrind�'uw-imap-utilsY)uw-imap-staticX'uw-imap-develTuw-imap	!util-linux�!util-linux�!util-linux!util-linux	A!util-linuxO
utf8proc
8
utf8proc�'userspace-rcuH
usbredir�7urw-base35-z003-fonts�)Uurw-base35-standard-symbols-ps-fonts�7urw-base35-p052-fonts�!Eurw-base35-nimbus-sans-fonts�"Gurw-base35-nimbus-roman-fonts�$Kurw-base35-nimbus-mono-ps-fonts�;urw-base35-gothic-fonts�;urw-base35-fonts-common�-urw-base35-fonts�?urw-base35-d050000l-fonts�7urw-base35-c059-fonts�=urw-base35-bookman-fonts�
unzip
unzip�)unixODBC-devel�)unixODBC-devel`
unixODBC�
unixODBC�%unbound-libs�
���������v��eTB0��������raO=,	
�
�
�
�
�
�
�
}
k
Z
I
8
'

�������ygUD3!��������tcRA0
�
�
�
�
�
�
�
�
s
b
Q
@
/


	�	�	�	�	�	�	�	�	t	c	R	A	/		��������p_N=,
�������~m\K:(�������{jXF4"��������n\J8&�������tbP?.��������p^M<+	�������n]L;*����P	�
�O	���		���		�c�		���		�b�		���		�a�		���		�`�		���		�_�		���		�^�
		���		�]�		���
	�\�		���		�[�		���		�Y�		���		���		���	���	���		�X�		���~		�W�}		���|	�V�{	���z		�
��y		���x		�
��w		���v		���u		���t	���s	���r		���q		���p	�O�o	���n	�N�m	���l	�M�k	���j	�L�i	���h	�K�g	���f	�J�e	���d	�I�c	���b	�H�a	���`	�G�_	���^	�F�]	���\	�E�[	���Z	�D�Y	���X	�C�W	���V		�@�U		���T		�?�S		���R		�>�Q		���P	�=�O	���N		�<�M		���L	�;�K	���J		���I		���H		���G		���F	���E	���D	���C	���B		���A		���@	���?	���>		���=		���<		�
u�;		���:		���9		���8	�T�7	���6		�S�5		��
�4		�K�3		���2		���1		���0	���/	���.	���-	���,		���+		���*		���)		���(		���'		���&		���%		���$		���#		���"		�4�!		��� 		���		���		�*�		���		�
G�		���	�
F�	���		�)�		���		�(�		���		�'�		���		�1�		���		�0�		���		�$�
		���		�#�		���
		�"�			���		�!�		���		� �		���	��	���	��	���		��		���~	��}	���|		��{		���z	��y	���x		��w		���v	��u	���t		��s		���r		��q		���p		��o		���n	��m	���l		��k		���j		�
I�i		���h	�
H�g	���f	�	�e	���d	��c	���b	�
A�a	���`		��_		���^		��]		���\	��[	��
�Z		��Y		���X		��W		���V	�
d�U	���T	�
D�S	���R		��Q		���N		�
��M		���L	�
��K	���J		���I		���H		�	j�G		��
�N������sa�����xZH5N'�����k�y]�I/z
�
�
�
�
�
�
k
[
C
(

�����fE'����uX;'
�
�
�
�
�
v
Z
F
,
	�	�	�	�	�	�W	|	e	R	?	%	���>'
�����lS: �����z^G0������mVG.�����uaE1�����nV<('perl-CDB_File�%perl-Bencode/perl-BSD-Resource
perl-BDB%perl-B-Utils�#perl-B-Lint�+perl-B-Keywords7perl-B-Hooks-OP-CheckAperl-B-Hooks-OP-Annotation;perl-B-Hooks-EndOfScopeM)perl-Crypt-RC4s5perl-Crypt-PasswdMD5r1perl-Crypt-PWSafe3q;perl-Crypt-OpenSSL-X509p?perl-Crypt-OpenSSL-Random�9perl-Crypt-OpenSSL-RSA�?perl-Crypt-OpenSSL-Bignum�-perl-Crypt-MySQLo+perl-Crypt-IDEAn Cperl-Crypt-GeneratePasswordm)perl-Crypt-GPGl9perl-Crypt-Eksblowfishk)perl-Crypt-ECBj/perl-Crypt-DH-GMPi'perl-Crypt-DHh3perl-Crypt-DES_EDE3g)perl-Crypt-DESf3perl-Crypt-Cracklibe9perl-Crypt-CipherSaberd)perl-Crypt-CBCc3perl-Crypt-Blowfishb3perl-Cpanel-JSON-XSaperl-Coro`/perl-Cookie-Baker_1perl-Convert-UUlib^+perl-Convert-UU]/perl-Convert-TNEF\-perl-Convert-PEM[3perl-Convert-BinHexZ;perl-Convert-Bencode_XSY5perl-Convert-BencodeX3perl-Convert-Base32W/perl-Convert-ASN1p/perl-Convert-ASN1�9perl-Contextual-ReturnV7perl-Context-PreserveU+perl-Const-FastT7perl-Config-ValidatorS-perl-Config-TinyR+perl-Config-StdQ1perl-Config-SimpleP1perl-Config-Perl-V�5perl-Config-IniFilesO3perl-Config-GrammarN3perl-Config-GitLikeM7perl-Config-GeneratorL3perl-Config-GeneralK5perl-Config-AutoConfW+perl-Config-AnyJ?perl-Compress-Stream-ZstdI9perl-Compress-Raw-Zlibe;perl-Compress-Raw-Bzip2d/perl-Compress-LZFH3perl-Compress-Bzip2C)perl-ClipboardSperl-CPANo5perl-CPAN-Meta-Check
�9perl-CPAN-DistnameInfo
�=perl-ColorThemeUtil-ANSIG=perl-ColorThemeRole-ANSIFAperl-ColorThemeBase-StaticE3perl-Color-RGB-UtilD5perl-Color-ANSI-UtilC'perl-CollectdB'perl-Clone-PPA/perl-Clone-Choose@!perl-Clone�)perl-Clipboard?7perl-Class-XSAccessorV/perl-Class-Unload>1perl-Class-Trigger=+perl-Class-TinyU3perl-Class-Std-Fast<)perl-Class-Std;5perl-Class-SingletonT)perl-Class-Mix:9perl-Class-MethodMaker9 Cperl-Class-Method-ModifiersS1perl-Class-Measure�1perl-Class-Measure81perl-Class-Load-XS7+perl-Class-Load63perl-Class-Iterator55perl-Class-Inspector�)perl-Class-ISA�;perl-Class-Factory-UtilR;perl-Class-ErrorHandler4 Cperl-Class-Data-InheritableQ-]perl-Class-DBI-Plugin-DeepAbstractSearch37perl-Class-DBI-Plugin2)perl-Class-DBI1 Cperl-Class-C3-Componentised0'perl-Class-C3/=perl-Class-Accessor-Lite. Cperl-Class-Accessor-Grouped-3perl-Class-AccessorP!perl-Child,1perl-Carp-Fix-1_25+)perl-Carp-Clan�7perl-Carp-Assert-More*-perl-Carp-Assert)-perl-Carp-Always(perl-Carp�/perl-Capture-TinyO7perl-Canary-StabilityN1perl-Cairo-GObject'!perl-Cairo&5perl-Cache-Memcached%)perl-Cache-LRU$3perl-Cache-FastMmap#-perl-Cache-Cache"'perl-CSS-Tiny!3perl-CPAN-Meta-YAML0 Cperl-CPAN-Meta-Requirements/5perl-CPAN-Meta-Check	�5perl-CPAN-Meta-Check�)perl-CPAN-Meta.9perl-CPAN-DistnameInfo	�9perl-CPAN-DistnameInfo�/perl-CPAN-Changes perl-CPANB!perl-CLASS1perl-CGI-SpeedyCGI'perl-CGI-Fast7perl-CGI-Emulate-PSGI-perl-CGI-Compile
perl-CGI�'perl-CDB_File%perl-CBOR-XS=perl-Bytes-Random-Secure;perl-Business-ISBN-Data�1perl-Business-ISBN�/perl-Browser-Open+perl-Bit-Vector�+perl-BerkeleyDB%perl-Bencode/
Z���h2���yS.
�
�
o
;
��h3��`+
�
�
�
p
M
*	�	�	�	�	l	G	����Z5���sK ����g=���`7���zW2��{W.
���c8���g/�4�Epolicycoreutils-python-utils2.925.el8noarch'�+policycoreutils2.925.el8x86_645�3)platform-python-pip9.0.324.el8.rocky.0noarch4�+/platform-python3.6.862.el8_10.rocky.0x86_64'�)perl-HTTP-Tiny0.0743.el8noarch'�)perf4.18.0553.5.1.el8_10x86_64#�pam-devel1.3.133.el8x86_64�pam1.3.133.el8x86_64(�'p11-kit-trust0.23.222.el8x86_64(�'p11-kit-devel0.23.222.el8x86_64"�p11-kit0.23.222.el8x86_64(�)openssh-server8.0p124.el8x86_64)�
+openssh-clients8.0p124.el8x86_64!�openssh8.0p124.el8x86_64&�%
numactl-libs2.0.164.el8x86_64!�
	nftables1.0.44.el8x86_64%�	'	net-snmp-libs5.830.el8x86_648�)3
linux-firmware20240111121.gitb3132c18.el8noarch&�#	libxml22.9.718.el8_10.1x86_64(�'libuuid-devel2.32.146.el8x86_64"�libuuid2.32.146.el8x86_64 �libuuid2.32.146.el8i686(�)libtirpc-devel1.1.411.el8x86_64"�libtirpc1.1.411.el8x86_64#�libtevent0.16.00.el8x86_64�libtdb1.4.90.el8x86_64"�libtalloc2.4.10.el8x86_64&�~libstdc++8.5.022.el8_10x86_64'�}#�libsss_sudo2.9.43.el8_10x86_64,�|-�libsss_nss_idmap2.9.43.el8_10x86_64(�{%�libsss_idmap2.9.43.el8_10x86_64*�z)�libsss_certmap2.9.43.el8_10x86_64)�y'�libsss_autofs2.9.43.el8_10x86_64'�x'�libssh-config0.9.614.el8noarch �w�libssh0.9.614.el8x86_64!�v�libsoup2.62.35.el8x86_64'�u%�libsmartcols2.32.146.el8x86_64!�t�librepo1.14.25.el8x86_64!�s�librdmacm48.01.el8x86_64(�r#�libquadmath8.5.022.el8_10x86_64%�q%�libnsl2.28251.el8_10.2x86_64#�p�libmount2.32.146.el8x86_64�o�libldb2.8.00.el8x86_64*�n/�libkcapi-hmaccalc1.4.02.el8x86_64!�m�libkcapi1.4.02.el8x86_64&�l�libkadm51.18.227.el8_10x86_64"�k!�libibverbs48.01.el8x86_64$�j�libgomp8.5.022.el8_10x86_64(�i#�libgfortran8.5.022.el8_10x86_64#�h�libgcc8.5.022.el8_10x86_64#�g�libfdisk2.32.146.el8x86_64!�f�libdnf0.63.019.el8x86_64(�e'�libcurl-devel7.61.134.el8x86_64"�d�libcurl7.61.134.el8x86_64#�c�libblkid2.32.146.el8x86_64 �b�libacl2.2.533.el8x86_64�a�less5302.el8_9x86_64'�`�krb5-libs1.18.227.el8_10x86_64(�_!�krb5-devel1.18.227.el8_10x86_64 �^�kpartx0.8.441.el8x86_64 �]�kmod-libs2520.el8x86_64�\�kmod2520.el8x86_644�[/)�kernel-tools-libs4.18.0553.5.1.el8_10x86_64/�Z%)�kernel-tools4.18.0553.5.1.el8_10x86_641�Y))�kernel-headers4.18.0553.5.1.el8_10x86_642�X-	!�iwl7260-firmware25.30.13.0121.el8.1noarch1�W-�iwl6050-firmware41.28.5.1121.el8.1noarch5�V3!�iwl6000g2a-firmware18.168.6.1121.el8.1noarch1�U-�iwl6000-firmware9.221.4.1121.el8.1noarch0�T-�iwl5150-firmware8.24.2.2121.el8.1noarch2�S-!�iwl5000-firmware8.83.5.1_1121.el8.1noarch2�R-	!�iwl3160-firmware25.30.13.0121.el8.1noarch2�Q-!�iwl2030-firmware18.168.6.1121.el8.1noarch2�P-!�iwl2000-firmware18.168.6.1121.el8.1noarch1�O+!�iwl135-firmware18.168.6.1121.el8.1noarch1�N+!�iwl105-firmware18.168.6.1121.el8.1noarch1�M-	�iwl1000-firmware39.31.5.1121.el8.1noarch0�L+�iwl100-firmware39.31.5.1121.el8.1noarch'�K'�iptables-libs1.8.511.el8x86_64+�J/�iptables-ebtables1.8.511.el8x86_64"�I�iptables1.8.511.el8x86_64#�H�iproute6.2.06.el8_10x86_64"�G�hwdata0.3148.22.el8noarch�F�grubby8.4049.el8x86_647�E3	/�grub2-tools-minimal2.02156.el8.rocky.0.1x86_645�D/	/�grub2-tools-extra2.02156.el8.rocky.0.1x86_643�C+	/�grub2-tools-efi2.02156.el8.rocky.0.1x86_64/�B#	/�grub2-tools2.02156.el8.rocky.0.1x86_644�A-	/�grub2-pc-modules2.02156.el8.rocky.0.1noarch,�@	/�grub2-pc2.02156.el8.rocky.0.1x86_64
���������weTC2!��������weSB1 
�
�
�
�
�
�
�
�
t
c
R
A
0

��������ucQ@/
��������p_N=,

�
�
�
�
�
�
�
�
o
]
K
9
'

	�	�	�	�	�	�	�	}	l	[	J	9	(		�������~m\K:)�������n]L;)�������}kZI7%�������u��cQ?-��������q_N=+�������ziXG5#��������o]K9'���8���7�>�l	�I�k	�X�j	���i	�W�h	�2�g	�V�f	�A�e	�U�d	�a�c	�T�b	�`�a	�S�`	�_�_	�R�^	�c�]	�Q	�\	�N�[	�P	�Z	��Y	�O	�X		���W		�N	�V		���U		�M�T		���S		�L�R	���Q	�K�P	���O	�J�N	���M	�I�L	���K	�H�J		�N�I		�G�H	�M�G	�F�F		���E		�E�D		���C		�D�B		���A		�C�@		���?		�B�>		���=		�A�<	���;	�@�:	��9	�?�6		��5		�=�4		���3		�<�2	�=�1	�;�0	���/	�:�.	���-	�9�,	���+	�8�*		���)		�7�(	��'	�6�&		��%		�5�$		��#		�4�"		��!		�3� 		���		�2�	���	�1�		���		�0�		���		�/�		���		�.�		���		�-�		���		�,�		���		�+�		���		�*�		���
		�)�		���		�(�
		���			�'�		���		�&�		���		�%�		���		�$�		���		�#�		�
��		�"�~		�
J�}		�!�|		���{		� �z		���y		��x		���w		��v		���u		��t		���s		��r		���q		��p	���o	��n	���m	��l		���k		��j		���i		��h	���g	��f		���e		��d		���c		��b		���a		��`		�
T�_		��^		���]		��\	���[	��Z	���Y	��X		���W		��V		���U		�
�T		���S		��R		���Q		��P	�y�O	�
�N		�x�M		�	�L		�w�K		��J		�v�I		��H		�u�G		��F		�	T�E		��D		�	V�C		��B	�t�A	��@	�s�?	��>	�r�=	��<		�q�;		��:	���9	���8		���7		���6		���5		���4	���3	���2	���1	���0		���/		���.		���-		���,		�k�+		���*		�i�)		���(		�q�'		���&		���%		���$		�h�#		���"	���!	��� 		�e�		���	�d�	���		���		���		��
82�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( �����`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@8���������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
��h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�

�P@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@����������
Nj*j���K���z7����M
�
�
�
x
I
���e-���M
�
�
�
k
K
+
		�	�	�	T	.	���nF'���xR+	���uK!���~U.	���i0
���d:���f(@BR(A?Orubygems2.7.6.3112.module+el8.10.0+1839+f1f156aenoarch�A+Grust-std-static1.54.03.module+el8.5.0+712+d335422ax86_64�%-rust-srpm-macros52.el8noarch�8Krust1.75.01.module+el8.10.0+1668+84166756x86_64�7Irust1.71.11.module+el8.9.0+1429+21f2f305x86_64
�7Irust1.66.12.module+el8.8.0+1428+0690fceax86_647Irust1.62.11.module+el8.7.0+1079+7c7e1744x86_64	�6Grust1.54.03.module+el8.5.0+712+d335422ax86_64�>Mrubygems2.7.6.3111.module+el8.9.0+1536+5f79634enoarch
�&#sssd-client2.9.14.el8_9x86_64�&#sssd-client2.8.23.el8_8x86_64�(#sssd-client2.7.34.el8_7.3x86_64(#sssd-client2.5.22.el8_5.4x86_64}$#sssd-client2.5.22.el8x86_64@&)squashfs-tools4.320.el8x86_64?(#sqlite-libs3.26.019.el8_9x86_64�(#sqlite-libs3.26.018.el8_8x86_64�(#sqlite-libs3.26.017.el8_7x86_64&#sqlite-libs3.26.015.el8x86_64>)%sqlite-devel3.26.019.el8_9x86_64�)%sqlite-devel3.26.018.el8_8x86_64�)%sqlite-devel3.26.017.el8_7x86_64
'%sqlite-devel3.26.015.el8x86_64�#sqlite3.26.019.el8_9x86_64�#sqlite3.26.018.el8_8x86_64�#sqlite3.26.017.el8_7x86_64!sqlite3.26.015.el8x86_64&%spice-server0.14.34.el8x86_64�%%spamassassin3.4.44.el8x86_64�sombok2.4.07.el8x86_64�snappy1.1.83.el8x86_64=$'	smartmontools7.13.el8x86_64:$'	smartmontools7.12.el8x86_64�$'	smartmontools7.11.el8x86_64Bslang2.3.23.el8x86_64<'-shared-mime-info1.94.el8x86_649'-shared-mime-info1.93.el8x86_64;%%shadow-utils4.622.el8x86_648%%shadow-utils4.619.el8x86_64�%%shadow-utils4.617.el8x86_64%%shadow-utils4.614.el8x86_64:%#sgml-common0.6.350.el8noarchAD#	'Gsgabios-bin0.20170427git3.module+el8.4.0+534+4680a14enoarch�&)sg3_utils-libs1.446.el8x86_64
&)sg3_utils-libs1.445.el8x86_649!sg3_utils1.446.el8x86_64	!sg3_utils1.445.el8x86_648setup2.12.29.el8noarch�setup2.12.27.el8noarchsetup2.12.26.el8noarch7 setup2.12.211.el8noarch76;!selinux-policy-targeted3.14.380.el8_5.2noarch|2;selinux-policy-targeted3.14.380.el8noarch66;!selinux-policy-targeted3.14.3139.el8_10noarch67;#selinux-policy-targeted3.14.3128.el8_9.1noarch�7;#selinux-policy-targeted3.14.3117.el8_8.3noarch
+7;#selinux-policy-targeted3.14.3117.el8_8.2noarch�7;#selinux-policy-targeted3.14.3108.el8_7.2noarch|7;#selinux-policy-targeted3.14.3108.el8_7.1noarch-)!selinux-policy3.14.380.el8_5.2noarch{))selinux-policy3.14.380.el8noarch5-)!selinux-policy3.14.3139.el8_10noarch5.)#selinux-policy3.14.3128.el8_9.1noarch�.)#selinux-policy3.14.3117.el8_8.3noarch
*.)#selinux-policy3.14.3117.el8_8.2noarch�.)#selinux-policy3.14.3108.el8_7.2noarch{.)#selinux-policy3.14.3108.el8_7.1noarchsed4.55.el8x86_64sed4.52.el8x86_644@)Gseavgabios-bin1.13.02.module+el8.4.0+534+4680a14enoarch�=#Gseabios-bin1.13.02.module+el8.4.0+534+4680a14enoarch�scrub2.5.216.el8x86_64�#	scl-utils2.0.216.el8x86_64	#	scl-utils2.0.215.el8x86_64	�C+Krust-std-static1.75.01.module+el8.10.0+1668+84166756x86_64�B+Irust-std-static1.71.11.module+el8.9.0+1429+21f2f305x86_64
�B+Irust-std-static1.66.12.module+el8.8.0+1428+0690fceax86_64B+Irust-std-static1.62.11.module+el8.7.0+1079+7c7e1744x86_64	�
V����Z$���vB
�
�
~
L
#���pH'���~F
�
�
�
h
A
	�	�	�	|	U	/	���oG'���a9���h<���g6���f1��{J��oC��_�3�o1	'qjava-1.8.0-openjdk1.8.0.422.b052.el8x86_64B�n#Qphttpd-tools2.4.3765.module+el8.10.0+1842+4a9649e8.2x86_64G�m-Qohttpd-filesystem2.4.3765.module+el8.10.0+1842+4a9649e8.2noarch<�lQnhttpd2.4.3765.module+el8.10.0+1842+4a9649e8.2x86_64+�k%!mgnutls-devel3.6.168.el8_10.3x86_64*�j#!lgnutls-dane3.6.168.el8_10.3x86_64)�i!!kgnutls-c++3.6.168.el8_10.3x86_64=�hI!jgcc-toolset-12-libstdc++-devel12.2.17.8.el8_10x86_645�g9!igcc-toolset-12-gcc-c++12.2.17.8.el8_10x86_641�f1!hgcc-toolset-12-gcc12.2.17.8.el8_10x86_64,�e!#gbind-utils 9.11.3616.el8_10.2x86_64.�d%#fbind-license 9.11.3616.el8_10.2noarch0�c)#ebind-libs-lite 9.11.3616.el8_10.2x86_64+�b#dbind-libs 9.11.3616.el8_10.2x86_64&�a#cautoconf2.6929.el8_10.1noarch)�`-bclamav-freshclam1.0.71.el8x86_642�_)+akernel-modules4.18.0553.16.1.el8_10x86_64/�^#+`kernel-core4.18.0553.16.1.el8_10x86_64*�]+_kernel4.18.0553.16.1.el8_10x86_644�\7	#^java-17-openjdk-devel17.0.12.0.72.el8x86_647�[=	#]java-17-openjdk-headless17.0.12.0.72.el8x86_64.�Z+	#\java-17-openjdk17.0.12.0.72.el8x86_64�Y	[mc4.8.199.el8x86_64$�X#Zmsodbcsql1717.10.6.11x86_64-�W7Yperl-Spreadsheet-XLSX0.181.el8noarch1�V;Xperl-Ocsinventory-Agent2.10.21.el8noarch(�U+Wperl-Email-MIME1.9541.el8noarch)�T/Vperl-DBD-Firebird1.381.el8x86_64&�S)Uperl-Clipboard0.291.el8noarch&�R%Tfreetds-libs1.4.161.el8x86_64'�Q'Sfreetds-devel1.4.161.el8x86_64!�PRfreetds1.4.161.el8x86_64.�O9Qperl-DateTime-TimeZone2.621.el8noarch%�N'Pperl-AnyEvent7.148.el8x86_64(�M+Ooniguruma-devel6.8.23.el8x86_64'�L#Nlibgs-devel9.2713.el8_10x86_64%�K!Mzlib-devel1.2.1126.el8x86_64�JLzlib1.2.1126.el8x86_64$�IKyum-utils4.0.2125.el8noarch�HJyum4.7.020.el8noarch%�G!Iutil-linux2.32.146.el8x86_64$�F!Htuned2.22.14.el8_10.1noarch&�E%Gtrousers-lib0.3.152.el8x86_64"�DFtrousers0.3.152.el8x86_64!�CEtpm2-tss2.3.26.el8x86_64$�B%Dsystemd-udev23982.el8x86_64#�A#Csystemd-pam23982.el8x86_64$�@%Bsystemd-libs23982.el8x86_64�?Asystemd23982.el8x86_64�>@stunnel5.712.el8x86_64*�=)?sssd-nfs-idmap2.9.43.el8_10x86_64'�<#>sssd-common2.9.43.el8_10x86_64'�;#=sssd-client2.9.43.el8_10x86_64$�:'	<smartmontools7.13.el8x86_64'�9-;shared-mime-info1.94.el8x86_64%�8%:shadow-utils4.622.el8x86_64 �79setup2.12.211.el8noarch6�6;!8selinux-policy-targeted3.14.3139.el8_10noarch-�5)!7selinux-policy3.14.3139.el8_10noarch5�4A6rpm-plugin-systemd-inhibit4.14.331.el8x86_64-�315rpm-plugin-selinux4.14.331.el8x86_64#�24rpm-libs4.14.331.el8x86_64$�13rpm-devel4.14.331.el8x86_64)�0)2rpm-build-libs4.14.331.el8x86_64�/1rpm4.14.331.el8x86_64%�.#0rocky-repos8.101.9.el8noarch'�-'/rocky-release8.101.9.el8noarch(�,).rocky-gpg-keys8.101.9.el8noarch!�+-rdma-core48.01.el8x86_647�*1+,python3-syspurpose1.28.421.el8.rocky.0.2x86_64&�)#+python3-rpm4.14.331.el8x86_64/�(;*python3-policycoreutils2.925.el8noarch3�'/))python3-pip-wheel9.0.324.el8.rocky.0noarch/�&%)(python3-perf4.18.0553.5.1.el8_10x86_64)�%-	'python3-nftables1.0.44.el8x86_64-�$5&python3-linux-procfs0.7.31.el8noarch1�#%/%python3-libs3.6.862.el8_10.rocky.0x86_64)�")$python3-libdnf0.63.019.el8x86_64)�!)#python3-hawkey0.63.019.el8x86_64&� #"python3-gpg1.13.112.el8x86_64*�-!python3-firewall0.9.114.el8noarch3�= python3-dnf-plugins-core4.0.2125.el8noarch%�#python3-dnf4.7.020.el8noarch&�'python3-audit3.1.21.el8x86_64*�##polkit-libs0.11515.el8_10.2x86_64%�#polkit0.11515.el8_10.2x86_64
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������xp`hX����������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�������������������C���B���A���?�����=�������*���(���$���#���!��������������������������
7�����jH&P�-��zZ:�
�
�
�
�
x
X
3
���zS,���jB��"
�
�
d
6
	�	�	T	��r#!unrar-free0.1.11.el8x86_64�unrar0.1.11.el8x86_64�$!tuned2.22.14.el8_10.1noarchF&%trousers-lib0.3.152.el8x86_64E"trousers0.3.152.el8x86_64D!tpm2-tss2.3.26.el8x86_64C27urw-base35-z003-fonts2017080110.el8noarch�AUurw-base35-standard-symbols-ps-fonts2017080110.el8noarch�27urw-base35-p052-fonts2017080110.el8noarch�9Eurw-base35-nimbus-sans-fonts2017080110.el8noarch�:Gurw-base35-nimbus-roman-fonts2017080110.el8noarch�<Kurw-base35-nimbus-mono-ps-fonts2017080110.el8noarch�4;urw-base35-gothic-fonts2017080110.el8noarch�4;urw-base35-fonts-common2017080110.el8noarch�--urw-base35-fonts2017080110.el8noarch�6?urw-base35-d050000l-fonts2017080110.el8noarch�27urw-base35-c059-fonts2017080110.el8noarch�5=urw-base35-bookman-fonts2017080110.el8noarch�unzip6.046.el8x86_64unzip6.045.el8_4x86_64�')unixODBC-devel2.3.71.el8x86_64`')unixODBC-devel2.3.111.rhx86_64�!unixODBC2.3.71.el8x86_64�!unixODBC2.3.111.rhx86_64�*%unbound-libs1.16.25.el8_9.6x86_64�*%unbound-libs1.16.25.el8_9.2x86_64�&%unbound-libs1.16.25.el8x86_64&%unbound-libs1.16.22.el8x86_64	$#tzdata-java2024a1.el8noarch�$#tzdata-java2023d1.el8noarch
�$#tzdata-java2023c1.el8noarchb$#tzdata-java2022g1.el8noarch
7$#tzdata-java2022a1.el8noarch�$#tzdata-java2021e1.el8noarch�tzdata2024a1.el8noarchtzdata2023d1.el8noarch�tzdata2023c1.el8noarch}tzdata2022g1.el8noarchtzdata2022a1.el8noarch�tzdata2021e1.el8noarchN!tuned2.21.01.el8_9noarch�tuned2.20.01.el8noarch�tuned2.19.01.el8noarchtuned2.16.01.el8noarchM"ttmkfdir3.0.954.el8x86_64�&%trousers-lib0.3.151.el8x86_64L"trousers0.3.151.el8x86_64Ktree1.7.015.el8x86_64!tpm2-tss2.3.25.el8x86_64�!tpm2-tss2.3.24.el8x86_64Jtmux2.73.el8x86_64�tmux2.71.el8x86_64�!	tk-devel8.6.81.el8x86_64�	tk8.6.81.el8x86_64�	telnet0.1776.el8x86_64	k
�	�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�J=�<�;�H�:�B�9�8�7�6�*�5�4�&�3�2�1�0�/�.�-�,��+�*�)���(���'�&�%�$�#���"���!� �������������
$�
�
�	�����X���
���N�
�.�	�������P��������0���������������������������������������L��� ��������������������������������������
Y���
W�������������������������d�������
������������	������������������������������������������
r���<��� ������j���h��f�~d~�}�}�|�|�{�z�y	�y�x	�x�w	�w�v	�v�u	�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>		���=	�
�<	���;		��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y
&�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$��������������U�T
�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��
"!������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
�

�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
L���^1��rG
�
�
e
;
��c#��L
�
w
2	�	�	�	^	1���zF!���j9��yB��d,���L��u=���mF���pE��%�;�libtirpc1.1.412.el8_10x86_64'�:#�libsss_sudo2.9.44.el8_10x86_64,�9-�libsss_nss_idmap2.9.44.el8_10x86_64(�8%�libsss_idmap2.9.44.el8_10x86_64*�7)�libsss_certmap2.9.44.el8_10x86_64)�6'�libsss_autofs2.9.44.el8_10x86_64%�5%�libnsl2.28251.el8_10.4x86_64)�4!!�libnghttp21.33.06.el8_10.1x86_64&�3�libkadm51.18.229.el8_10x86_64$�2�libdnf0.63.020.el8_10x86_64-�1'#�libcurl-devel7.61.134.el8_10.2x86_64'�0#�libcurl7.61.134.el8_10.2x86_64�/�less5303.el8_10x86_64'�.�krb5-libs1.18.229.el8_10x86_64(�-!�krb5-devel1.18.229.el8_10x86_645�,/+�kernel-tools-libs4.18.0553.16.1.el8_10x86_640�+%+�kernel-tools4.18.0553.16.1.el8_10x86_642�*)+�kernel-headers4.18.0553.16.1.el8_10x86_645�)-	!%�iwl7260-firmware25.30.13.0122.el8_10.1noarch4�(-%�iwl6050-firmware41.28.5.1122.el8_10.1noarch8�'3!%�iwl6000g2a-firmware18.168.6.1122.el8_10.1noarch4�&-%�iwl6000-firmware9.221.4.1122.el8_10.1noarch3�%-%�iwl5150-firmware8.24.2.2122.el8_10.1noarch5�$-!%�iwl5000-firmware8.83.5.1_1122.el8_10.1noarch5�#-	!%�iwl3160-firmware25.30.13.0122.el8_10.1noarch5�"-!%�iwl2030-firmware18.168.6.1122.el8_10.1noarch5�!-!%�iwl2000-firmware18.168.6.1122.el8_10.1noarch4� +!%�iwl135-firmware18.168.6.1122.el8_10.1noarch4�+!%�iwl105-firmware18.168.6.1122.el8_10.1noarch4�-	%�iwl1000-firmware39.31.5.1122.el8_10.1noarch3�+%�iwl100-firmware39.31.5.1122.el8_10.1noarch%�!�gnutls3.6.168.el8_10.3x86_64,�'%�glibc-headers2.28251.el8_10.4x86_640�/%�glibc-gconv-extra2.28251.el8_10.4x86_64.�/%�glibc-gconv-extra2.28251.el8_10.4i686*�#%�glibc-devel2.28251.el8_10.4x86_64+�%%�glibc-common2.28251.el8_10.4x86_642�3%�glibc-all-langpacks2.28251.el8_10.4x86_64$�%�glibc2.28251.el8_10.4x86_64"�%�glibc2.28251.el8_10.4i6861�5�firewalld-filesystem0.9.118.el8_10noarch&��firewalld0.9.118.el8_10noarch$�#�curl7.61.134.el8_10.2x86_64&�	�cups-libs2.2.660.el8_10x86_64;�+1#�ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch*�%�c-ares-devel1.13.011.el8_10x86_64$�
�c-ares1.13.011.el8_10x86_64"��wget1.19.512.el8_10x86_64?�O�rubygems2.7.6.3112.module+el8.10.0+1839+f1f156aenoarchC�
%O�rubygem-rdoc6.0.1.1112.module+el8.10.0+1839+f1f156aenoarchB�	'O�rubygem-psych3.0.2112.module+el8.10.0+1839+f1f156aex86_64D�+O�rubygem-openssl2.1.2112.module+el8.10.0+1839+f1f156aex86_64A�%O�rubygem-json2.1.0112.module+el8.10.0+1839+f1f156aex86_64G�1O�rubygem-io-console0.4.6112.module+el8.10.0+1839+f1f156aex86_64I�5O�rubygem-did_you_mean1.2.0112.module+el8.10.0+1839+f1f156aenoarchG�1O�rubygem-bigdecimal1.3.4112.module+el8.10.0+1839+f1f156aex86_64>�O�ruby-libs2.5.9112.module+el8.10.0+1839+f1f156aex86_64=�O�ruby-irb2.5.9112.module+el8.10.0+1839+f1f156aenoarch9�O�ruby2.5.9112.module+el8.10.0+1839+f1f156aex86_64/�1�python3.11-tkinter3.11.92.el8_10x86_648�C�python3.11-setuptools-wheel65.5.13.el8_10noarch,�~+�python3.11-libs3.11.92.el8_10x86_64'�}!python3.113.11.92.el8_10x86_64.�|%#~python3-bind 9.11.3616.el8_10.2noarch@�{'K}perl-Sys-Virt8.0.01.module+el8.10.0+1835+43f01cbbx86_64>�zM|mod_http21.15.710.module+el8.10.0+1830+22f0c9e0x86_64*�y'{mesa-libglapi23.1.43.el8_10x86_64(�x#zmesa-libgbm23.1.43.el8_10x86_64'�w!ymesa-libGL23.1.43.el8_10x86_64(�v#xmesa-libEGL23.1.43.el8_10x86_64B�u%Qwlibvirt-libs8.0.023.2.module+el8.10.0+1835+43f01cbbx86_64"�t	vlibuv1.41.12.el8_10x86_64*�s'ulibtiff-devel4.0.932.el8_10x86_64$�rtlibtiff4.0.932.el8_10x86_64<�qC	'sjava-1.8.0-openjdk-headless1.8.0.422.b052.el8x86_649�p=	'rjava-1.8.0-openjdk-devel1.8.0.422.b052.el8x86_64
+���G
��n%
�
�
�
�
v
Y
;
����Y/	���a7
�
�
�
Z
+
	�	�	s	D	���.#)kernel-core4.18.0553.5.1.el8_10x86_64/#+kernel-core4.18.0553.16.1.el8_10x86_64^.#)kernel-core4.18.0513.18.1.el8_9x86_64�.#)kernel-core4.18.0513.11.1.el8_9x86_64
t.#)kernel-core4.18.0477.27.1.el8_8x86_64�.#)kernel-core4.18.0477.21.1.el8_8x86_64�.#)kernel-core4.18.0425.19.2.el8_7x86_64O.#)kernel-core4.18.0425.13.1.el8_7x86_64	�*##kernel-core4.18.0348.el8.0.2x86_64|.#)kernel-core4.18.0348.23.1.el8_5x86_64�.#)kernel-core4.18.0348.20.1.el8_5x86_64�.#)kernel-core4.18.0348.12.2.el8_5x86_64]))kernel4.18.0553.5.1.el8_10x86_64
*+kernel4.18.0553.16.1.el8_10x86_64]))kernel4.18.0513.18.1.el8_9x86_64�))kernel4.18.0513.11.1.el8_9x86_64
s))kernel4.18.0477.27.1.el8_8x86_64�))kernel4.18.0477.21.1.el8_8x86_64�))kernel4.18.0425.19.2.el8_7x86_64N))kernel4.18.0425.13.1.el8_7x86_64	�%#kernel4.18.0348.el8.0.2x86_64{))kernel4.18.0348.23.1.el8_5x86_64�))kernel4.18.0348.20.1.el8_5x86_64�))kernel4.18.0348.12.2.el8_5x86_64\"kbd-misc2.0.411.el8noarchP!kbd-misc2.0.410.el8noarchz$!kbd-legacy2.0.411.el8noarchO#!kbd-legacy2.0.410.el8noarchykbd2.0.411.el8x86_64Nkbd2.0.410.el8x86_64x"json-glib1.4.41.el8x86_64 json-c0.13.13.el8x86_64	json-c0.13.12.el8x86_64w$%jbigkit-libs2.114.el8x86_64�%'jbig2dec-libs0.161.el8x86_64BH;Gjavapackages-filesystem5.3.02.module+el8.3.0+125+5da1ae29noarch�7=	#java-17-openjdk-headless17.0.12.0.72.el8x86_64[47	#java-17-openjdk-devel17.0.12.0.72.el8x86_64\.+	#java-17-openjdk17.0.12.0.72.el8x86_64Z<C	'java-1.8.0-openjdk-headless1.8.0.422.b052.el8x86_64q<C	'java-1.8.0-openjdk-headless1.8.0.412.b082.el8x86_64<<C	'java-1.8.0-openjdk-headless1.8.0.402.b062.el8x86_64
�>C	'java-1.8.0-openjdk-headless1.8.0.392.b084.el8_8x86_64
?
A�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������
+���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	����#�f!�unrar-free0.1.11.el8x86_64�e�unrar0.1.11.el8x86_64�d�lsof4.93.21.el8x86_64�c�lz41.8.33.el8_4x86_64!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64
}W
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'

�	���	��
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��
-r��}R'����]9
�
�
|
<
����Y/����wX6
�
�
�
�
^
6
		�	�	e	.��r>;-crypto-policies-scripts202212151.gitece0092.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
I=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch6+-crypto-policies202307311.git3177e06.el8noarch	6+-crypto-policies202212151.gitece0092.el8noarch6+-crypto-policies202111161.gitae470d6.el8noarch
H5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64()cronie-anacron1.5.210.el8x86_64�cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64 cronie1.5.210.el8x86_64�')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64� cpp8.5.022.el8_10x86_64 cpp8.5.020.el8x86_64
�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#!collectd5.9.05.el8x86_64�*-cmake-rpm-macros3.26.52.el8noarch,-cmake-rpm-macros3.26.51.el8_9noarch
�*-cmake-rpm-macros3.20.25.el8noarch�*-cmake-rpm-macros3.20.24.el8noarch	D*-cmake-filesystem3.26.52.el8x86_64,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K

N��R��Y
�
�
Y
��B�s
�
�
N[�5	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�4	M�useradd: cannot open /etc/passwd?�3	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�2	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootPKʀFZl���((6modulefailsafe/javapackages-runtime:201801:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: javapackages-runtime
  stream: "201801"
  version: 8030020210427015850
  context: bf1a9d24
  arch: x86_64
  summary: Basic runtime utilities to support Java applications
  description: >-
    This module contains basic filesystem layout and runtime utilities used to support
    system applications written in JVM languages.
  license:
    module:
    - MIT
    content:
    - BSD
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.3.0]
    requires:
      platform: []
  profiles:
    common:
      rpms:
      - javapackages-filesystem
      - javapackages-tools
  api:
    rpms:
    - javapackages-filesystem
    - javapackages-tools
  filter:
    rpms:
    - ivy-local
    - javapackages-local
    - maven-local
    - python3-javapackages
  buildopts:
    rpms:
      macros: >
        %_without_asciidoc 1

        %_without_gradle 1
  components:
    rpms:
      javapackages-tools:
        rationale: 'Module API.

'
        ref: 02ba0cad05b6a1763dff8680b8e7492434f00c42
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - javapackages-filesystem-0:5.3.0-2.module+el8.3.0+125+5da1ae29.noarch
    - javapackages-tools-0:5.3.0-2.module+el8.3.0+125+5da1ae29.noarch
    - javapackages-tools-0:5.3.0-2.module+el8.3.0+125+5da1ae29.src
...
PKʀFZ�
��/modulefailsafe/perl-DBD-SQLite:1.58:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-DBD-SQLite
  stream: "1.58"
  version: 8090020231016064426
  context: 0aad9023
  arch: x86_64
  summary: SQLite DBI driver
  description: >
    SQLite is a public domain RDBMS database engine that you can find at http://www.hwaci.com/sw/sqlite/.
    This Perl module provides a SQLite RDBMS module that uses the system SQLite libraries.
  license:
    module:
    - MIT
    content:
    - (GPL+ or Artistic) and Public Domain
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8]
  references:
    community: http://search.cpan.org/dist/DBD-SQLite/
  profiles:
    common:
      description: DBD-SQLite distribution
      rpms:
      - perl-DBD-SQLite
  api:
    rpms:
    - perl-DBD-SQLite
  filter:
    rpms:
    - perl-Test-NoWarnings
  buildopts:
    rpms:
      macros: >
        %_without_perl_Test_NoWarnings_enables_stack_trace 1
  components:
    rpms:
      perl-DBD-SQLite:
        rationale: The API.
        ref: 2bec200145bfe3397e54908830e627d96a18ce7c
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-Test-NoWarnings:
        rationale: A build-time dependency.
        ref: 9099f6de260e74a07dc5af25781a7ae132aa1e17
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-DBD-SQLite-0:1.58-2.module+el8.9.0+1509+4b8cbd7e.src
    - perl-DBD-SQLite-0:1.58-2.module+el8.9.0+1509+4b8cbd7e.x86_64
    - perl-DBD-SQLite-debuginfo-0:1.58-2.module+el8.9.0+1509+4b8cbd7e.x86_64
    - perl-DBD-SQLite-debugsource-0:1.58-2.module+el8.9.0+1509+4b8cbd7e.x86_64
...
PKʀFZ�Dϩ��$modulefailsafe/httpd:2.4:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: httpd
  stream: "2.4"
  version: 8100020240812075544
  context: e155f54d
  arch: x86_64
  summary: Apache HTTP Server
  description: >-
    Apache httpd is a powerful, efficient, and extensible HTTP server.
  license:
    module:
    - MIT
    content:
    - ASL 2.0
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
    requires:
      platform: [el8]
  references:
    documentation: https://httpd.apache.org/docs/2.4/
    tracker: https://bz.apache.org/bugzilla/
  profiles:
    common:
      rpms:
      - httpd
      - httpd-filesystem
      - httpd-tools
      - mod_http2
      - mod_ssl
    devel:
      rpms:
      - httpd
      - httpd-devel
      - httpd-filesystem
      - httpd-tools
    minimal:
      rpms:
      - httpd
  api:
    rpms:
    - httpd
    - httpd-devel
    - httpd-filesystem
    - mod_ssl
  components:
    rpms:
      httpd:
        rationale: Apache httpd
        ref: ad5a9d4900e7e8b1c810c1a8162d1a5455fe5752
        buildorder: 10
        arches: [aarch64, i686, x86_64]
      mod_http2:
        rationale: HTTP/2 support for Apache httpd
        ref: d4b73c03f50af5e02e2176e6f0660af3afc2feb1
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      mod_md:
        rationale: Certificate provisioning using ACME for Apache httpd
        ref: b573b8d3c8240d108153665f2ee27659185cfb05
        buildorder: 20
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - httpd-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.src
    - httpd-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - httpd-debuginfo-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - httpd-debugsource-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - httpd-devel-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - httpd-filesystem-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.noarch
    - httpd-manual-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.noarch
    - httpd-tools-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - httpd-tools-debuginfo-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_http2-0:1.15.7-10.module+el8.10.0+1830+22f0c9e0.src
    - mod_http2-0:1.15.7-10.module+el8.10.0+1830+22f0c9e0.x86_64
    - mod_http2-debuginfo-0:1.15.7-10.module+el8.10.0+1830+22f0c9e0.x86_64
    - mod_http2-debugsource-0:1.15.7-10.module+el8.10.0+1830+22f0c9e0.x86_64
    - mod_ldap-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_ldap-debuginfo-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_md-1:2.0.8-8.module+el8.9.0+1370+89cc8ad5.src
    - mod_md-1:2.0.8-8.module+el8.9.0+1370+89cc8ad5.x86_64
    - mod_md-debuginfo-1:2.0.8-8.module+el8.9.0+1370+89cc8ad5.x86_64
    - mod_md-debugsource-1:2.0.8-8.module+el8.9.0+1370+89cc8ad5.x86_64
    - mod_proxy_html-1:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_proxy_html-debuginfo-1:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_session-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_session-debuginfo-0:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_ssl-1:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
    - mod_ssl-debuginfo-1:2.4.37-65.module+el8.10.0+1842+4a9649e8.2.x86_64
...
PKʀFZ�(�X�X$modulefailsafe/virt:rhel:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: virt
  stream: "rhel"
  version: 8100020240924085527
  context: e155f54d
  arch: x86_64
  summary: Virtualization module
  description: >-
    A virtualization module
  license:
    module:
    - MIT
    content:
    - ASL 2.0
    - BSD
    - GPLv2 and GPLv2+ and CC-BY
    - GPLv2+
    - GPLv2+ or Artistic
    - LGPLv2
    - LGPLv2+
    - LGPLv2+ and BSD
    - LGPLv3
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
    requires:
      platform: [el8]
  profiles:
    common:
      rpms:
      - libguestfs
      - libvirt-client
      - libvirt-daemon-config-network
      - libvirt-daemon-kvm
  filter:
    rpms:
    - ocaml-hivex
    - ocaml-hivex-debuginfo
    - ocaml-hivex-devel
    - ocaml-libguestfs
    - ocaml-libguestfs-debuginfo
    - ocaml-libguestfs-devel
    - ocaml-libnbd
    - ocaml-libnbd-debuginfo
    - ocaml-libnbd-devel
    - qemu-kvm-tests
    - qemu-kvm-tests-debuginfo
  buildopts:
    rpms:
      macros: >
        %_smp_ncpus_max 16
  components:
    rpms:
      hivex:
        rationale: libguestfs dep
        ref: 333098f82d3ef3a7f6ff932e9218747e63a5767c
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      libguestfs:
        rationale: Primary module content
        ref: c0a1fe8ba5c389f20e4313ffe1847499d0963c9b
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      libguestfs-winsupport:
        rationale: Primary module content
        ref: 1b7a98edfa2b50a7349af25994930206d9dd3239
        buildorder: 5
        arches: [aarch64, i686, x86_64]
      libiscsi:
        rationale: qemu-kvm dep
        ref: ad97f43e0802c9cbec691b7ab29363bf5cd4ddf3
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      libnbd:
        rationale: Primary module content
        ref: 487c4f895a316c33d1191afc837db1241fdd38ce
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      libtpms:
        rationale: Primary module content
        ref: 9be2266f7fe2bb62a917c45af6498b9fa3ee98c6
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      libvirt:
        rationale: Primary module content
        ref: a6a7ffd8340242cbe8c79073f0f8029846fdeea8
        buildorder: 3
        arches: [aarch64, i686, x86_64]
      libvirt-dbus:
        rationale: libvirt-dbus is part of the virtualization module
        ref: ca52f298b4cba6fd1e30589505329ffd76cb6493
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      libvirt-python:
        rationale: Primary module content
        ref: 72a98bd5671e78d2f01d1c9ba77541b76f337fe5
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      nbdkit:
        rationale: Primary module content
        ref: b3a542a5613fce7ed842d27a63716e6f9a344989
        buildorder: 5
        arches: [aarch64, i686, x86_64]
      netcf:
        rationale: libvirt dep
        ref: 6cb80a7e7904b906bb37424d4e2a8a789563b259
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-Sys-Virt:
        rationale: Primary module content
        ref: 552b3ac88fc730c612c714dd537e3ebc8d42bef1
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      qemu-kvm:
        rationale: Primary module content
        ref: 03031a65e47ded7f7c183cbaee0f7c24ad6ec451
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      seabios:
        rationale: qemu-kvm dep
        ref: 76d923f2a397489b1704dc67a14b67d262fe0c74
        buildorder: 1
        arches: [ppc64le, x86_64]
      sgabios:
        rationale: qemu-kvm dep
        ref: a6a65605b1d21509153fa040e6f7907e4952a5d3
        buildorder: 1
        arches: [ppc64le, x86_64]
      supermin:
        rationale: libguestfs dep
        ref: 1fa10cd2190f908fd5fcf2e474ee6751d13004c7
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      swtpm:
        rationale: Primary module content
        ref: 0ebdf53b092ea84f8ba7b5278bb330b945c9c409
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      virt-v2v:
        rationale: Primary module content
        ref: defc736acb0befd3acd1788b60b1fb11741de170
        buildorder: 6
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - hivex-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.src
    - hivex-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - hivex-debuginfo-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - hivex-debugsource-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - hivex-devel-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - libguestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.src
    - libguestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-appliance-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-bash-completion-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-debugsource-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-devel-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-gfs2-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-gobject-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-gobject-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-gobject-devel-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-inspect-icons-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-java-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-java-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-java-devel-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-javadoc-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-man-pages-ja-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-man-pages-uk-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-rescue-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-rsync-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-tools-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.noarch
    - libguestfs-tools-c-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-tools-c-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libguestfs-winsupport-0:8.10-1.module+el8.10.0+1835+43f01cbb.src
    - libguestfs-winsupport-0:8.10-1.module+el8.10.0+1835+43f01cbb.x86_64
    - libguestfs-xfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - libiscsi-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.src
    - libiscsi-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libiscsi-debuginfo-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libiscsi-debugsource-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libiscsi-devel-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libiscsi-utils-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libiscsi-utils-debuginfo-0:1.18.0-8.module+el8.10.0+1835+43f01cbb.x86_64
    - libnbd-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.src
    - libnbd-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - libnbd-bash-completion-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.noarch
    - libnbd-debuginfo-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - libnbd-debugsource-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - libnbd-devel-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - libtpms-0:0.9.1-2.20211126git1ff6fe1f43.module+el8.10.0+1835+43f01cbb.src
    - libtpms-0:0.9.1-2.20211126git1ff6fe1f43.module+el8.10.0+1835+43f01cbb.x86_64
    - libtpms-debuginfo-0:0.9.1-2.20211126git1ff6fe1f43.module+el8.10.0+1835+43f01cbb.x86_64
    - libtpms-debugsource-0:0.9.1-2.20211126git1ff6fe1f43.module+el8.10.0+1835+43f01cbb.x86_64
    - libtpms-devel-0:0.9.1-2.20211126git1ff6fe1f43.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.src
    - libvirt-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-client-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-client-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-config-network-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-config-nwfilter-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-interface-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-interface-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-network-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-network-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-nodedev-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-nodedev-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-nwfilter-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-nwfilter-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-qemu-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-qemu-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-secret-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-secret-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-core-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-core-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-disk-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-disk-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-gluster-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-gluster-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-iscsi-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-iscsi-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-iscsi-direct-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-iscsi-direct-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-logical-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-logical-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-mpath-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-mpath-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-rbd-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-rbd-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-scsi-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-driver-storage-scsi-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-daemon-kvm-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-dbus-0:1.3.0-2.module+el8.10.0+1835+43f01cbb.src
    - libvirt-dbus-0:1.3.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-dbus-debuginfo-0:1.3.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-dbus-debugsource-0:1.3.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-debugsource-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-devel-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-docs-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-libs-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-libs-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-lock-sanlock-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-lock-sanlock-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-nss-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-nss-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-python-0:8.0.0-2.module+el8.10.0+1835+43f01cbb.src
    - libvirt-python-debugsource-0:8.0.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-wireshark-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - libvirt-wireshark-debuginfo-0:8.0.0-23.2.module+el8.10.0+1835+43f01cbb.x86_64
    - lua-guestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - lua-guestfs-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - nbdfuse-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - nbdfuse-debuginfo-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - nbdkit-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.src
    - nbdkit-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-bash-completion-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.noarch
    - nbdkit-basic-filters-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-basic-filters-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-basic-plugins-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-basic-plugins-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-curl-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-curl-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-debugsource-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-devel-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-example-plugins-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-example-plugins-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-gzip-filter-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-gzip-filter-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-gzip-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-gzip-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-linuxdisk-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-linuxdisk-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-nbd-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-nbd-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-python-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-python-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-server-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-server-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-ssh-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-ssh-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tar-filter-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tar-filter-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tar-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tar-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tmpdisk-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-tmpdisk-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-vddk-plugin-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-vddk-plugin-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-xz-filter-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - nbdkit-xz-filter-debuginfo-0:1.24.0-5.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.src
    - netcf-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-debuginfo-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-debugsource-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-devel-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-libs-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - netcf-libs-debuginfo-0:0.2.8-12.module+el8.10.0+1835+43f01cbb.x86_64
    - perl-Sys-Guestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - perl-Sys-Guestfs-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - perl-Sys-Virt-0:8.0.0-1.module+el8.10.0+1835+43f01cbb.src
    - perl-Sys-Virt-0:8.0.0-1.module+el8.10.0+1835+43f01cbb.x86_64
    - perl-Sys-Virt-debuginfo-0:8.0.0-1.module+el8.10.0+1835+43f01cbb.x86_64
    - perl-Sys-Virt-debugsource-0:8.0.0-1.module+el8.10.0+1835+43f01cbb.x86_64
    - perl-hivex-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - perl-hivex-debuginfo-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - python3-hivex-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - python3-hivex-debuginfo-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - python3-libguestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - python3-libguestfs-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - python3-libnbd-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - python3-libnbd-debuginfo-0:1.6.0-6.module+el8.10.0+1870+0a714c9f.x86_64
    - python3-libvirt-0:8.0.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - python3-libvirt-debuginfo-0:8.0.0-2.module+el8.10.0+1835+43f01cbb.x86_64
    - qemu-guest-agent-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-guest-agent-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-img-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-img-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.src
    - qemu-kvm-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-curl-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-curl-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-gluster-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-gluster-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-iscsi-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-iscsi-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-rbd-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-rbd-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-ssh-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-block-ssh-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-common-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-common-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-core-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-core-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-debugsource-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-docs-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-hw-usbredir-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-hw-usbredir-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-ui-opengl-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-ui-opengl-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-ui-spice-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - qemu-kvm-ui-spice-debuginfo-15:6.2.0-53.module+el8.10.0+1870+0a714c9f.x86_64
    - ruby-hivex-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - ruby-hivex-debuginfo-0:1.3.18-23.module+el8.10.0+1835+43f01cbb.x86_64
    - ruby-libguestfs-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - ruby-libguestfs-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - seabios-0:1.16.0-4.module+el8.9.0+1408+7b966129.src
    - seabios-0:1.16.0-4.module+el8.9.0+1408+7b966129.x86_64
    - seabios-bin-0:1.16.0-4.module+el8.9.0+1408+7b966129.noarch
    - seavgabios-bin-0:1.16.0-4.module+el8.9.0+1408+7b966129.noarch
    - sgabios-1:0.20170427git-3.module+el8.10.0+1835+43f01cbb.src
    - sgabios-1:0.20170427git-3.module+el8.10.0+1835+43f01cbb.x86_64
    - sgabios-bin-1:0.20170427git-3.module+el8.10.0+1835+43f01cbb.noarch
    - supermin-0:5.2.1-2.module+el8.10.0+1835+43f01cbb.src
    - supermin-0:5.2.1-2.module+el8.10.0+1835+43f01cbb.x86_64
    - supermin-debuginfo-0:5.2.1-2.module+el8.10.0+1835+43f01cbb.x86_64
    - supermin-debugsource-0:5.2.1-2.module+el8.10.0+1835+43f01cbb.x86_64
    - supermin-devel-0:5.2.1-2.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.src
    - swtpm-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-debuginfo-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-debugsource-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-devel-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-libs-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-libs-debuginfo-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-tools-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-tools-debuginfo-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - swtpm-tools-pkcs11-0:0.7.0-4.20211109gitb79fd91.module+el8.10.0+1835+43f01cbb.x86_64
    - virt-dib-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - virt-dib-debuginfo-1:1.44.0-9.module+el8.10.0+1835+43f01cbb.rocky.rocky.x86_64
    - virt-v2v-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.src
    - virt-v2v-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.x86_64
    - virt-v2v-bash-completion-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.noarch
    - virt-v2v-debuginfo-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.x86_64
    - virt-v2v-debugsource-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.x86_64
    - virt-v2v-man-pages-ja-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.noarch
    - virt-v2v-man-pages-uk-1:1.42.0-22.module+el8.10.0+1835+43f01cbb.noarch
...
PKʀFZ���Xjj$modulefailsafe/perl:5.26:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl
  stream: "5.26"
  version: 8050020211109115414
  context: b4937e53
  arch: x86_64
  summary: Practical Extraction and Report Language
  description: >
    Perl is a high-level programming language with roots in C, sed, awk and shell
    scripting. Perl is good at handling processes and files, and is especially good
    at handling text. Perl's hallmarks are practicality and efficiency. While it is
    used to do a lot of different things, Perl's most common applications are system
    administration utilities and web programming.
  license:
    module:
    - MIT
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.5.0]
    requires:
      platform: [el8]
  references:
    community: https://docs.pagure.org/modularity/
  profiles:
    common:
      description: Interpreter and all Perl modules bundled within upstream Perl.
      rpms:
      - perl
    minimal:
      description: Only the interpreter as a standalone executable.
      rpms:
      - perl-interpreter
  api:
    rpms:
    - perl
    - perl-Archive-Tar
    - perl-Attribute-Handlers
    - perl-B-Debug
    - perl-CPAN
    - perl-CPAN-Meta
    - perl-CPAN-Meta-Requirements
    - perl-CPAN-Meta-YAML
    - perl-Carp
    - perl-Compress-Raw-Bzip2
    - perl-Compress-Raw-Zlib
    - perl-Config-Perl-V
    - perl-DB_File
    - perl-Data-Dumper
    - perl-Devel-PPPort
    - perl-Devel-Peek
    - perl-Devel-SelfStubber
    - perl-Digest
    - perl-Digest-MD5
    - perl-Digest-SHA
    - perl-Encode
    - perl-Encode-devel
    - perl-Env
    - perl-Errno
    - perl-Exporter
    - perl-ExtUtils-CBuilder
    - perl-ExtUtils-Command
    - perl-ExtUtils-Embed
    - perl-ExtUtils-Install
    - perl-ExtUtils-MM-Utils
    - perl-ExtUtils-MakeMaker
    - perl-ExtUtils-Manifest
    - perl-ExtUtils-Miniperl
    - perl-ExtUtils-ParseXS
    - perl-File-Fetch
    - perl-File-Path
    - perl-File-Temp
    - perl-Filter
    - perl-Filter-Simple
    - perl-Getopt-Long
    - perl-HTTP-Tiny
    - perl-IO
    - perl-IO-Compress
    - perl-IO-Socket-IP
    - perl-IO-Zlib
    - perl-IPC-Cmd
    - perl-IPC-SysV
    - perl-JSON-PP
    - perl-Locale-Codes
    - perl-Locale-Maketext
    - perl-Locale-Maketext-Simple
    - perl-MIME-Base64
    - perl-Math-BigInt
    - perl-Math-BigInt-FastCalc
    - perl-Math-BigRat
    - perl-Math-Complex
    - perl-Memoize
    - perl-Module-CoreList
    - perl-Module-CoreList-tools
    - perl-Module-Load
    - perl-Module-Load-Conditional
    - perl-Module-Loaded
    - perl-Module-Metadata
    - perl-Net-Ping
    - perl-Params-Check
    - perl-PathTools
    - perl-Perl-OSType
    - perl-PerlIO-via-QuotedPrint
    - perl-Pod-Checker
    - perl-Pod-Escapes
    - perl-Pod-Html
    - perl-Pod-Parser
    - perl-Pod-Perldoc
    - perl-Pod-Simple
    - perl-Pod-Usage
    - perl-Scalar-List-Utils
    - perl-SelfLoader
    - perl-Socket
    - perl-Storable
    - perl-Sys-Syslog
    - perl-Term-ANSIColor
    - perl-Term-Cap
    - perl-Test
    - perl-Test-Harness
    - perl-Test-Simple
    - perl-Text-Balanced
    - perl-Text-ParseWords
    - perl-Text-Tabs+Wrap
    - perl-Thread-Queue
    - perl-Time-HiRes
    - perl-Time-Local
    - perl-Time-Piece
    - perl-Unicode-Collate
    - perl-Unicode-Normalize
    - perl-autodie
    - perl-bignum
    - perl-constant
    - perl-devel
    - perl-encoding
    - perl-experimental
    - perl-generators
    - perl-interpreter
    - perl-libnet
    - perl-libnetcfg
    - perl-libs
    - perl-macros
    - perl-open
    - perl-parent
    - perl-perlfaq
    - perl-podlators
    - perl-tests
    - perl-threads
    - perl-threads-shared
    - perl-utils
    - perl-version
...
PKʀFZ�>r���3modulefailsafe/perl-IO-Socket-SSL:2.066:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-IO-Socket-SSL
  stream: "2.066"
  version: 8090020231016070024
  context: 88fd4976
  arch: x86_64
  summary: Perl library for transparent TLS
  description: >
    IO::Socket::SSL is a drop-in replacement for IO::Socket::IP that uses TLS to encrypt
    data before it is transferred to a remote server or client. IO::Socket::SSL supports
    all the extra features that one needs to write a full-featured TLS client or server
    application like multiple TLS contexts, cipher selection, certificate verification,
    and TLS version selection. Net::SSLeay offers some high level convenience functions
    for accessing web pages on TLS servers, a sslcat() function for writing your own
    clients, and finally access to the API of OpenSSL library so you can write servers
    or clients for more complicated applications.
  license:
    module:
    - MIT
    content:
    - (GPL+ or Artistic) and MPLv2.0
    - Artistic 2.0
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      platform: [el8]
  references:
    community: https://metacpan.org/release/IO-Socket-SSL
  profiles:
    common:
      description: IO::Socket::SSL and Net::SSLeay
      rpms:
      - perl-IO-Socket-SSL
      - perl-Net-SSLeay
  api:
    rpms:
    - perl-IO-Socket-SSL
    - perl-Net-SSLeay
  filter:
    rpms:
    - perl-Devel-StackTrace
    - perl-IO-Socket-INET6
    - perl-IO-Tty
    - perl-IPC-Run
    - perl-Net-IDN-Encode
    - perl-Net-LibIDN
    - perl-Socket6
    - perl-Test-NoWarnings
  components:
    rpms:
      perl-Devel-StackTrace:
        rationale: A build dependency.
        ref: c6563e71bacf7e74df408f5583ffd48c2a4eabc3
        arches: [aarch64, i686, x86_64]
      perl-IO-Socket-INET6:
        rationale: A build dependency.
        ref: 186d704912038e0a8b8560a5cbe465499a480f8f
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-IO-Socket-SSL:
        rationale: The API.
        ref: f2280826797c7254a9a9310f4a60a542a8e1e0b8
        buildorder: 3
        arches: [aarch64, i686, x86_64]
      perl-IO-Tty:
        rationale: A build dependency.
        ref: 12471bf405620ae6ef99452db81f5a1a9ce5a559
        arches: [aarch64, i686, x86_64]
      perl-IPC-Run:
        rationale: A build dependency.
        ref: 1db74f7ad99ac74134a1497aacf969dff13eda18
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-Net-IDN-Encode:
        rationale: A build dependency.
        ref: f6ed4e2d3405221d5692305edbfd42ad21b7c7d5
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-Net-LibIDN:
        rationale: A build dependency.
        ref: c00324dec0e6024a6ef18e60b9f5763fa056aaf0
        arches: [aarch64, i686, x86_64]
      perl-Net-SSLeay:
        rationale: The API.
        ref: 08d774bfd2ccd58b6392e11bbc8296d6c65ea570
        arches: [aarch64, i686, x86_64]
      perl-Socket6:
        rationale: A build dependency.
        ref: e222e407b26403ce11391680bfb027a58e536233
        arches: [aarch64, i686, x86_64]
      perl-Test-NoWarnings:
        rationale: A build dependency.
        ref: bb019e342e42a26eb7ad03904875f5403e5d946f
        buildorder: 1
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-IO-Socket-SSL-0:2.066-4.module+el8.9.0+1517+e71a7a62.noarch
    - perl-IO-Socket-SSL-0:2.066-4.module+el8.9.0+1517+e71a7a62.src
    - perl-Net-SSLeay-0:1.88-2.module+el8.9.0+1517+e71a7a62.src
    - perl-Net-SSLeay-0:1.88-2.module+el8.9.0+1517+e71a7a62.x86_64
    - perl-Net-SSLeay-debuginfo-0:1.88-2.module+el8.9.0+1517+e71a7a62.x86_64
    - perl-Net-SSLeay-debugsource-0:1.88-2.module+el8.9.0+1517+e71a7a62.x86_64
...
PKʀFZ�٧j	j	-modulefailsafe/rust-toolset:rhel8:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: rust-toolset
  stream: "rhel8"
  version: 8100020240119211250
  context: f4e2ccb8
  arch: x86_64
  summary: Rust
  description: >-
    Rust Toolset
  license:
    module:
    - MIT
    content:
    - (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0
      AND Unicode-DFS-2016)
  xmd: {}
  dependencies:
  - buildrequires:
      llvm-toolset: [rhel8]
      platform: [el8.10.0]
      rust-toolset: [rhel8]
    requires:
      llvm-toolset: [rhel8]
      platform: [el8]
  profiles:
    common:
      rpms:
      - rust-toolset
  api:
    rpms:
    - cargo
    - clippy
    - rust
    - rust-analyzer
    - rust-doc
    - rust-gdb
    - rust-lldb
    - rust-src
    - rust-std-static
    - rust-toolset
    - rustfmt
  components:
    rpms:
      rust:
        rationale: Rust compiler and tools
        ref: r8s-stream-rhel8
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - cargo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - cargo-debuginfo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - clippy-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - clippy-debuginfo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-0:1.75.0-1.module+el8.10.0+1668+84166756.src
    - rust-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-analyzer-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-analyzer-debuginfo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-debugger-common-0:1.75.0-1.module+el8.10.0+1668+84166756.noarch
    - rust-debuginfo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-debugsource-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-doc-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-gdb-0:1.75.0-1.module+el8.10.0+1668+84166756.noarch
    - rust-lldb-0:1.75.0-1.module+el8.10.0+1668+84166756.noarch
    - rust-src-0:1.75.0-1.module+el8.10.0+1668+84166756.noarch
    - rust-std-static-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-std-static-wasm32-unknown-unknown-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-std-static-wasm32-wasi-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rust-toolset-0:1.75.0-1.module+el8.10.0+1668+84166756.noarch
    - rustfmt-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
    - rustfmt-debuginfo-0:1.75.0-1.module+el8.10.0+1668+84166756.x86_64
...
PKʀFZڈ*�x
x
$modulefailsafe/nodejs:10:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: nodejs
  stream: "10"
  version: 8030020210426100849
  context: 30b713e6
  arch: x86_64
  summary: Javascript runtime
  description: >-
    Node.js is a platform built on Chrome's JavaScript runtime for easily building
    fast, scalable network applications. Node.js uses an event-driven, non-blocking
    I/O model that makes it lightweight and efficient, perfect for data-intensive
    real-time applications that run across distributed devices.
  license:
    module:
    - MIT
    content:
    - MIT
    - MIT and ASL 2.0 and ISC and BSD
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.3.0]
    requires:
      platform: [el8]
  references:
    community: http://nodejs.org
    documentation: http://nodejs.org/en/docs
    tracker: https://github.com/nodejs/node/issues
  profiles:
    common:
      rpms:
      - nodejs
      - npm
    development:
      rpms:
      - nodejs
      - nodejs-devel
      - npm
    minimal:
      rpms:
      - nodejs
    s2i:
      rpms:
      - nodejs
      - nodejs-nodemon
      - npm
  api:
    rpms:
    - nodejs
    - nodejs-devel
    - npm
  buildopts:
    rpms:
      macros: >
        %_with_bootstrap 1
  components:
    rpms:
      nodejs:
        rationale: Javascript runtime and npm package manager.
        ref: 4210a7839846ccbf03a1445d292355e9e009e838
        buildorder: 100
        arches: [aarch64, i686, x86_64]
      nodejs-nodemon:
        rationale: Simple monitor script for use during development of a node.js app
        ref: a24ad76bc20a30fc0043c55c133d73d146ad2bef
        buildorder: 200
        arches: [aarch64, i686, x86_64]
      nodejs-packaging:
        rationale: RPM Macros and Utilities for Node.js Packaging
        ref: a2288ad519257d2dacc09b3fe509a617c6f648bd
        buildorder: 10
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - nodejs-1:10.24.0-1.module+el8.3.0+101+f84c7154.src
    - nodejs-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64
    - nodejs-debuginfo-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64
    - nodejs-debugsource-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64
    - nodejs-devel-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64
    - nodejs-docs-1:10.24.0-1.module+el8.3.0+101+f84c7154.noarch
    - nodejs-full-i18n-1:10.24.0-1.module+el8.3.0+101+f84c7154.x86_64
    - nodejs-nodemon-0:1.18.3-1.module+el8.3.0+101+f84c7154.noarch
    - nodejs-nodemon-0:1.18.3-1.module+el8.3.0+101+f84c7154.src
    - nodejs-packaging-0:17-3.module+el8.3.0+101+f84c7154.noarch
    - nodejs-packaging-0:17-3.module+el8.3.0+101+f84c7154.src
    - npm-1:6.14.11-1.10.24.0.1.module+el8.3.0+101+f84c7154.x86_64
...
PKʀFZxC>���'modulefailsafe/mariadb:10.3:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: mariadb
  stream: "10.3"
  version: 8080020230920001707
  context: fd72936b
  arch: x86_64
  summary: MariaDB Module
  description: >-
    MariaDB is a community developed branch of MySQL. MariaDB is a multi-user, multi-threaded
    SQL database server. It is a client/server implementation consisting of a server
    daemon (mysqld) and many different client programs and libraries. The base package
    contains the standard MariaDB/MySQL client programs and generic MySQL files.
  license:
    module:
    - MIT
    content:
    - GPLv2
    - GPLv2 with exceptions and LGPLv2 and BSD
    - LGPLv2+
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.8.0]
    requires:
      platform: [el8]
  references:
    community: http://mariadb.org
    documentation: https://mariadb.com/kb/en/library/documentation/
    tracker: http://bugzilla.redhat.com
  profiles:
    client:
      rpms:
      - mariadb
    galera:
      rpms:
      - mariadb-server
      - mariadb-server-galera
    server:
      rpms:
      - mariadb-server
  api:
    rpms:
    - mariadb
    - mariadb-server
  filter:
    rpms:
    - Judy-devel
    - asio-devel
  buildopts:
    rpms:
      macros: >
        %runselftest 1

        %ignore_testsuite_result 0
  components:
    rpms:
      Judy:
        rationale: MariaDB dependency for OQgraph computation engine
        ref: 3b8fd46730ca223c3c990279fe0689b96452e620
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      asio:
        rationale: Galera dependency for asynchronous I/O operation
        ref: e378d4106502b587e9bcc616c6045cdd4bcbdd40
        buildorder: 12
        arches: [aarch64, i686, x86_64]
      galera:
        rationale: Galera package for MariaDB server replication
        ref: c64a1b885f5c334632b8478d8fa2634935cd1c04
        buildorder: 16
        arches: [aarch64, i686, x86_64]
      mariadb:
        rationale: MariaDB package
        ref: 3428bfe8a201e12203af38ac4bc1ca4ee43a8d60
        buildorder: 8
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - Judy-0:1.0.5-18.module+el8.4.0+427+adf35707.src
    - Judy-0:1.0.5-18.module+el8.4.0+427+adf35707.x86_64
    - Judy-debuginfo-0:1.0.5-18.module+el8.4.0+427+adf35707.x86_64
    - Judy-debugsource-0:1.0.5-18.module+el8.4.0+427+adf35707.x86_64
    - galera-0:25.3.37-1.module+el8.8.0+1452+2a7eab68.src
    - galera-0:25.3.37-1.module+el8.8.0+1452+2a7eab68.x86_64
    - galera-debuginfo-0:25.3.37-1.module+el8.8.0+1452+2a7eab68.x86_64
    - galera-debugsource-0:25.3.37-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.src
    - mariadb-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-backup-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-backup-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-common-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-debugsource-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-devel-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-embedded-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-embedded-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-embedded-devel-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-errmsg-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-gssapi-server-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-gssapi-server-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-oqgraph-engine-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-oqgraph-engine-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-server-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-server-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-server-galera-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-server-utils-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-server-utils-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-test-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
    - mariadb-test-debuginfo-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
...
PKʀFZ���8/"/"0modulefailsafe/perl-libwww-perl:6.34:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-libwww-perl
  stream: "6.34"
  version: 8090020231016070052
  context: 8af8375c
  arch: x86_64
  summary: A Perl interface to the World-Wide Web
  description: >
    The libwww-perl collection is a set of Perl modules which provide a simple and
    consistent application programming interface to the World-Wide Web. The main focus
    of the library is to provide classes and functions that enable you to write WWW
    clients. The library also contains modules that are of more general use and even
    classes that help you implement simple HTTP servers. LWP::Protocol::https adds
    a support for an HTTPS protocol.
  license:
    module:
    - MIT
    content:
    - (GPL+ or Artistic) and Public Domain
    - GPL+ or Artistic
    - MIT
    - MPLv2.0
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      perl-IO-Socket-SSL: [2.066]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      perl-IO-Socket-SSL: [2.066]
      platform: [el8]
  references:
    community: https://metacpan.org/release/libwww-perl
  profiles:
    common:
      description: LWP with HTTPS support
      rpms:
      - perl-LWP-Protocol-https
      - perl-libwww-perl
  api:
    rpms:
    - perl-LWP-Protocol-https
    - perl-libwww-perl
  filter:
    rpms:
    - perl-Digest-SHA1
    - perl-HTTP-Daemon
    - perl-Test-Fatal
    - perl-Test-Pod
    - perl-Test-RequiresInternet
  buildopts:
    rpms:
      macros: >
        %_without_perl_HTML_Tagset_enables_optional_test 1

        %_without_perl_Test_Fatal_enables_extra_test 1

        %_without_perl_Test_Fatal_enables_optional_test 1
  components:
    rpms:
      perl-Data-Dump:
        rationale: A run-time depenedency.
        ref: 0aa7ae2385709ddd97fd9809b2db96ba7295327b
        arches: [aarch64, i686, x86_64]
      perl-Digest-HMAC:
        rationale: A run-time dependency.
        ref: 6eb986bd01910713e8ec8a18ded4249ff25fc074
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-Digest-SHA1:
        rationale: A build dependency.
        ref: ed9d712466b84f0c2faa1001240993cc5b477173
        arches: [aarch64, i686, x86_64]
      perl-Encode-Locale:
        rationale: A run-time dependency.
        ref: af2fb1f1d8cbbfe2bc6f25b124bfc19d192be4fc
        arches: [aarch64, i686, x86_64]
      perl-File-Listing:
        rationale: A run-time dependency.
        ref: eca041a067448766c42117f8bcaf7bb16ecaaa47
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-HTML-Parser:
        rationale: A run-time dependency.
        ref: a904649afb2f87e4531734ad62c9530f8607427e
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-HTML-Tagset:
        rationale: A run-time dependency.
        ref: fb55d8ed55046a77a6a723311fa66955e8d68ed2
        arches: [aarch64, i686, x86_64]
      perl-HTTP-Cookies:
        rationale: A run-time dependency.
        ref: 2a55041602413470baad4fae3f49b7a47c38c8e2
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-HTTP-Daemon:
        rationale: A build dependency.
        ref: a256f38165a88fa7063032db3f6301df1b8c50b6
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-HTTP-Date:
        rationale: A run-time dependency.
        ref: ccc09dc198f7d37c882b69e485e3de9923728d27
        arches: [aarch64, i686, x86_64]
      perl-HTTP-Message:
        rationale: A run-time dependency.
        ref: 2702f28b24be3514757d6efed76ab18f2b6aaf66
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-HTTP-Negotiate:
        rationale: A run-time dependency.
        ref: 858770ec50df899f50140808a215de163f52ca52
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-IO-HTML:
        rationale: A run-time dependency.
        ref: d3d06cb073c68d423b509dbf95712782b0b2cc1b
        arches: [aarch64, i686, x86_64]
      perl-LWP-MediaTypes:
        rationale: A run-time dependency.
        ref: 8e6548742e388ab9d9a2ba7ddb9fd946374fea7a
        arches: [aarch64, i686, x86_64]
      perl-LWP-Protocol-https:
        rationale: The API.
        ref: 23b86c713206eb368d800deb98e5a1709b9abddd
        buildorder: 4
        arches: [aarch64, i686, x86_64]
      perl-Mozilla-CA:
        rationale: A run-time dependency.
        ref: 0531992a148ec60cce84f7a6872ed7bdf69fc33f
        arches: [aarch64, i686, x86_64]
      perl-NTLM:
        rationale: A run-time dependency.
        ref: 2d86aee7a387603e7f0863d8cc04c4d63a95ff83
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      perl-Net-HTTP:
        rationale: A run-time dependency.
        ref: 97899162d56dc4153ec7b5c6882b4ff7d6429732
        arches: [aarch64, i686, x86_64]
      perl-Test-Fatal:
        rationale: A build dependency.
        ref: 4544ea484d235896520d7969a5dada546c147a2c
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-Test-Pod:
        rationale: A build dependency.
        ref: efb45b948071cc6ff9f3e2ae7f01d9b70e264cc2
        arches: [aarch64, i686, x86_64]
      perl-Test-RequiresInternet:
        rationale: A build dependency.
        ref: ddc629cc9bd999bccffa11fcf7b5190e8140e2d7
        arches: [aarch64, i686, x86_64]
      perl-TimeDate:
        rationale: A run-time dependency.
        ref: e0fc6f38f9dba28b966c37f3a2f9fbe36bf61967
        arches: [aarch64, i686, x86_64]
      perl-Try-Tiny:
        rationale: A run-time dependency.
        ref: b1efed4a0a68bd30aa69ed3b848cf9738f14bb7b
        arches: [aarch64, i686, x86_64]
      perl-WWW-RobotRules:
        rationale: A run-time dependency.
        ref: 1bf513829c2bee8f70026f61034657de2c6c42b2
        arches: [aarch64, i686, x86_64]
      perl-libwww-perl:
        rationale: The API.
        ref: 3a5f2c6718601d051bcc69f12cb7bceef8758c77
        buildorder: 3
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-Data-Dump-0:1.23-7.module+el8.9.0+1521+0101edce.noarch
    - perl-Data-Dump-0:1.23-7.module+el8.9.0+1521+0101edce.src
    - perl-Digest-HMAC-0:1.03-17.module+el8.9.0+1521+0101edce.noarch
    - perl-Digest-HMAC-0:1.03-17.module+el8.9.0+1521+0101edce.src
    - perl-Encode-Locale-0:1.05-10.module+el8.9.0+1521+0101edce.noarch
    - perl-Encode-Locale-0:1.05-10.module+el8.9.0+1521+0101edce.src
    - perl-File-Listing-0:6.04-17.module+el8.9.0+1521+0101edce.noarch
    - perl-File-Listing-0:6.04-17.module+el8.9.0+1521+0101edce.src
    - perl-HTML-Parser-0:3.72-15.module+el8.9.0+1521+0101edce.src
    - perl-HTML-Parser-0:3.72-15.module+el8.9.0+1521+0101edce.x86_64
    - perl-HTML-Parser-debuginfo-0:3.72-15.module+el8.9.0+1521+0101edce.x86_64
    - perl-HTML-Parser-debugsource-0:3.72-15.module+el8.9.0+1521+0101edce.x86_64
    - perl-HTML-Tagset-0:3.20-34.module+el8.9.0+1521+0101edce.noarch
    - perl-HTML-Tagset-0:3.20-34.module+el8.9.0+1521+0101edce.src
    - perl-HTTP-Cookies-0:6.04-2.module+el8.9.0+1521+0101edce.noarch
    - perl-HTTP-Cookies-0:6.04-2.module+el8.9.0+1521+0101edce.src
    - perl-HTTP-Date-0:6.02-19.module+el8.9.0+1521+0101edce.noarch
    - perl-HTTP-Date-0:6.02-19.module+el8.9.0+1521+0101edce.src
    - perl-HTTP-Message-0:6.18-1.module+el8.9.0+1521+0101edce.noarch
    - perl-HTTP-Message-0:6.18-1.module+el8.9.0+1521+0101edce.src
    - perl-HTTP-Negotiate-0:6.01-19.module+el8.9.0+1521+0101edce.noarch
    - perl-HTTP-Negotiate-0:6.01-19.module+el8.9.0+1521+0101edce.src
    - perl-IO-HTML-0:1.001-11.module+el8.9.0+1521+0101edce.noarch
    - perl-IO-HTML-0:1.001-11.module+el8.9.0+1521+0101edce.src
    - perl-LWP-MediaTypes-0:6.02-15.module+el8.9.0+1521+0101edce.noarch
    - perl-LWP-MediaTypes-0:6.02-15.module+el8.9.0+1521+0101edce.src
    - perl-LWP-Protocol-https-0:6.07-4.module+el8.9.0+1521+0101edce.noarch
    - perl-LWP-Protocol-https-0:6.07-4.module+el8.9.0+1521+0101edce.src
    - perl-Mozilla-CA-0:20160104-7.module+el8.9.0+1521+0101edce.noarch
    - perl-Mozilla-CA-0:20160104-7.module+el8.9.0+1521+0101edce.src
    - perl-NTLM-0:1.09-17.module+el8.9.0+1521+0101edce.noarch
    - perl-NTLM-0:1.09-17.module+el8.9.0+1521+0101edce.src
    - perl-Net-HTTP-0:6.17-2.module+el8.9.0+1521+0101edce.noarch
    - perl-Net-HTTP-0:6.17-2.module+el8.9.0+1521+0101edce.src
    - perl-TimeDate-1:2.30-15.module+el8.9.0+1521+0101edce.noarch
    - perl-TimeDate-1:2.30-15.module+el8.9.0+1521+0101edce.src
    - perl-Try-Tiny-0:0.30-7.module+el8.9.0+1521+0101edce.noarch
    - perl-Try-Tiny-0:0.30-7.module+el8.9.0+1521+0101edce.src
    - perl-WWW-RobotRules-0:6.02-18.module+el8.9.0+1521+0101edce.noarch
    - perl-WWW-RobotRules-0:6.02-18.module+el8.9.0+1521+0101edce.src
    - perl-libwww-perl-0:6.34-1.module+el8.9.0+1521+0101edce.noarch
    - perl-libwww-perl-0:6.34-1.module+el8.9.0+1521+0101edce.src
...
PKʀFZ�A�"modulefailsafe/php:7.2:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: php
  stream: "7.2"
  version: 8040020210530192442
  context: 02bae935
  arch: x86_64
  summary: PHP scripting language
  description: >-
    php 7.2 module
  license:
    module:
    - GPLv2+
    content:
    - BSD
    - BSD and LGPLv3+
    - PHP
    - PHP and BSD
    - PHP and LGPLv2 and OpenLDAP
    - PHP and LGPLv2+
    - PHP and Zend and BSD and MIT and ASL 1.0
  xmd: {}
  dependencies:
  - buildrequires:
      httpd: [2.4]
      nginx: [1.14]
      platform: [el8.4.0]
    requires:
      httpd: [2.4]
      nginx: []
      platform: [el8]
  references:
    documentation: http://php.net/
    tracker: https://bugs.php.net/
  profiles:
    common:
      rpms:
      - php-cli
      - php-common
      - php-fpm
      - php-json
      - php-mbstring
      - php-xml
    devel:
      rpms:
      - libzip
      - php-cli
      - php-common
      - php-devel
      - php-fpm
      - php-json
      - php-mbstring
      - php-pear
      - php-pecl-zip
      - php-process
      - php-xml
    minimal:
      rpms:
      - php-cli
      - php-common
  api:
    rpms:
    - php-fpm
  components:
    rpms:
      libzip:
        rationale: ZIP library
        ref: cd4d6c184515a4ee6b8561b65db11d538d7166fa
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      php:
        rationale: Module API.
        ref: c44edd8d42a13d7f47e4d4a1cbf89196eea689fb
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      php-pear:
        rationale: Extension management
        ref: 250e5e791b800e1b7b1b36015031206d55d5955b
        buildorder: 2
        arches: [aarch64, i686, x86_64]
      php-pecl-apcu:
        rationale: APCu extension
        ref: 9f6a37a43f9ae5b466e52f6f5b91049940bcf677
        buildorder: 3
        arches: [aarch64, i686, x86_64]
      php-pecl-zip:
        rationale: ZIP extension
        ref: bf0bdf2b30701849e767438558b4e625d70ce45b
        buildorder: 3
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - apcu-panel-0:5.1.12-2.module+el8.4.0+413+c9202dda.noarch
    - libzip-0:1.5.1-2.module+el8.4.0+413+c9202dda.src
    - libzip-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - libzip-debuginfo-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - libzip-debugsource-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - libzip-devel-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - libzip-tools-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - libzip-tools-debuginfo-0:1.5.1-2.module+el8.4.0+413+c9202dda.x86_64
    - php-0:7.2.24-1.module+el8.4.0+413+c9202dda.src
    - php-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-bcmath-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-bcmath-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-cli-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-cli-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-common-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-common-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-dba-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-dba-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-dbg-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-dbg-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-debugsource-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-devel-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-embedded-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-embedded-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-enchant-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-enchant-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-fpm-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-fpm-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-gd-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-gd-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-gmp-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-gmp-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-intl-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-intl-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-json-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-json-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-ldap-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-ldap-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-mbstring-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-mbstring-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-mysqlnd-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-mysqlnd-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-odbc-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-odbc-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-opcache-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-opcache-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pdo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pdo-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pear-1:1.10.5-9.module+el8.4.0+413+c9202dda.noarch
    - php-pear-1:1.10.5-9.module+el8.4.0+413+c9202dda.src
    - php-pecl-apcu-0:5.1.12-2.module+el8.4.0+413+c9202dda.src
    - php-pecl-apcu-0:5.1.12-2.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-apcu-debuginfo-0:5.1.12-2.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-apcu-debugsource-0:5.1.12-2.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-apcu-devel-0:5.1.12-2.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-zip-0:1.15.3-1.module+el8.4.0+413+c9202dda.src
    - php-pecl-zip-0:1.15.3-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-zip-debuginfo-0:1.15.3-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pecl-zip-debugsource-0:1.15.3-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pgsql-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-pgsql-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-process-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-process-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-recode-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-recode-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-snmp-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-snmp-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-soap-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-soap-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-xml-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-xml-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-xmlrpc-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
    - php-xmlrpc-debuginfo-0:7.2.24-1.module+el8.4.0+413+c9202dda.x86_64
...
PKʀFZ�(7Mg
g
4modulefailsafe/perl-App-cpanminus:1.7044:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-App-cpanminus
  stream: "1.7044"
  version: 8090020231016030101
  context: f7b448bf
  arch: x86_64
  summary: Get, unpack, build and install CPAN modules
  description: >
    This is a CPAN client that requires zero configuration, and stands alone but it's
    maintainable and extensible with plug-ins and friendly to shell scripting.
  license:
    module:
    - MIT
    content:
    - (GPL+ or Artistic) and GPLv2+
    - ASL 2.0
    - GPL+ or Artistic
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      perl-YAML: []
      platform: [el8]
  references:
    community: https://metacpan.org/release/App-cpanminus
  profiles:
    common:
      description: App-cpanminus distribution
      rpms:
      - perl-App-cpanminus
  api:
    rpms:
    - perl-App-cpanminus
  filter:
    rpms:
    - perl-CPAN-DistnameInfo-dummy
    - perl-Test-Deep
  buildopts:
    rpms:
      macros: >
        %_without_perl_CPAN_Meta_Check_enables_extra_test 1
  components:
    rpms:
      perl-App-cpanminus:
        rationale: The API.
        ref: 844365c7a5c52ce8112197959b3ff4eb3673f2fc
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-CPAN-DistnameInfo:
        rationale: Run-time dependency.
        ref: 05c3421c836a110be7a8b2578731481251a00200
        arches: [aarch64, i686, x86_64]
      perl-CPAN-Meta-Check:
        rationale: Run-time dependency.
        ref: 54d7a77025c1478a90291198c60a91d0b7ce16bf
        buildorder: 1
        arches: [aarch64, i686, x86_64]
      perl-File-pushd:
        rationale: Run-time dependency.
        ref: c835a5f9dd5a6b83ff92cbf774fe29a1e7616b0a
        arches: [aarch64, i686, x86_64]
      perl-Module-CPANfile:
        rationale: Run-time dependency.
        ref: cdb9754f93aec8610251fd6c33f56d20df7e69cc
        arches: [aarch64, i686, x86_64]
      perl-Parse-PMFile:
        rationale: Run-time dependency.
        ref: 099b6250d406d453e21cbc1c4473367e8297a64d
        arches: [aarch64, i686, x86_64]
      perl-String-ShellQuote:
        rationale: Run-time dependency.
        ref: 094247522c43cef241747509d98ca0216b81f56a
        arches: [aarch64, i686, x86_64]
      perl-Test-Deep:
        rationale: Build-time dependency.
        ref: 9f51da3d961eddce45cccb967548361309484b78
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-App-cpanminus-0:1.7044-5.module+el8.9.0+1491+3507a112.noarch
    - perl-App-cpanminus-0:1.7044-5.module+el8.9.0+1491+3507a112.src
    - perl-CPAN-DistnameInfo-0:0.12-13.module+el8.9.0+1491+3507a112.noarch
    - perl-CPAN-DistnameInfo-0:0.12-13.module+el8.9.0+1491+3507a112.src
    - perl-CPAN-Meta-Check-0:0.014-6.module+el8.9.0+1491+3507a112.noarch
    - perl-CPAN-Meta-Check-0:0.014-6.module+el8.9.0+1491+3507a112.src
    - perl-File-pushd-0:1.014-6.module+el8.9.0+1491+3507a112.noarch
    - perl-File-pushd-0:1.014-6.module+el8.9.0+1491+3507a112.src
    - perl-Module-CPANfile-0:1.1002-7.module+el8.9.0+1491+3507a112.noarch
    - perl-Module-CPANfile-0:1.1002-7.module+el8.9.0+1491+3507a112.src
    - perl-Parse-PMFile-0:0.41-7.module+el8.9.0+1491+3507a112.noarch
    - perl-Parse-PMFile-0:0.41-7.module+el8.9.0+1491+3507a112.src
    - perl-String-ShellQuote-0:1.04-24.module+el8.9.0+1491+3507a112.noarch
    - perl-String-ShellQuote-0:1.04-24.module+el8.9.0+1491+3507a112.src
...
PKʀFZ.�̣��'modulefailsafe/python36:3.6:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: python36
  stream: "3.6"
  version: 8100020231207204726
  context: 5ae887d0
  arch: x86_64
  summary: Python programming language, version 3.6
  description: >-
    This module gives users access to the internal Python 3.6 in RHEL8, as

    well as provides some additional Python packages the users might need.

    In addition to these you can install any python3-* package available

    in RHEL and use it with Python from this module.
  license:
    module:
    - MIT
    content:
    - ASL 2.0
    - ASL 2.0 and MIT
    - BSD
    - BSD and Boost and Public Domain
    - BSD and LGPLv2+
    - LGPLv2+ and Public Domain
    - MIT
    - Public Domain and BSD and Python and GPLv3+
    - Python
  xmd: {}
  dependencies:
  - buildrequires:
      mongodb: [3.6]
      platform: [el8.10.0]
    requires:
      platform: [el8]
  references:
    community: https://www.python.org/
    documentation: https://docs.python.org/3.6/
  profiles:
    build:
      rpms:
      - python36
      - python36-devel
      - python36-rpm-macros
    common:
      rpms:
      - python36
  api:
    rpms:
    - python-sqlalchemy-doc
    - python-virtualenv-doc
    - python3-PyMySQL
    - python3-bson
    - python3-distro
    - python3-docs
    - python3-docutils
    - python3-nose
    - python3-pygments
    - python3-pymongo
    - python3-pymongo-gridfs
    - python3-scipy
    - python3-sqlalchemy
    - python3-virtualenv
    - python3-wheel
    - python36
    - python36-debug
    - python36-devel
    - python36-rpm-macros
  filter:
    rpms:
    - python2-PyMySQL
    - python2-docutils
    - python2-nose
    - python2-pygments
    - python2-scipy
    - python2-sqlalchemy
    - python2-virtualenv
  buildopts:
    rpms:
      macros: >
        %_without_python2 1


        # For packages depending on python36, so that they

        # BuildRequire python36-devel/debug/rpm-macros instead of python3-*

        #

        # This won't be necessary for python37 and later. There we can

        # set %{python3_pkgversion}, because all packages will need to

        # have the pythonXY prefix. Whereas for Python 3.6 the packages

        # are split between non-modular RHEL and the python36 module,

        # and so it was easier and less confusing to keep the prefix at

        # python3- except for the devel/debug/rpm/macros packages.

        %_with_python36_module 1
  components:
    rpms:
      python-PyMySQL:
        rationale: Python adapter for the MySQL/MariaDB databases
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-distro:
        rationale: Linux Distribution - a Linux OS platform information API
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-docs:
        rationale: Documentation for Python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-docutils:
        rationale: System for processing plaintext documentation
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-nose:
        rationale: Discovery-based unit test extension for Python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-pygments:
        rationale: Syntax highlighting engine written in Python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-pymongo:
        rationale: Python driver for MongoDB
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-sqlalchemy:
        rationale: Modular and flexible ORM library for python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python-virtualenv:
        rationale: Tool to create isolated Python environments
        ref: r8s-stream-3.6
        buildorder: 30
        arches: [aarch64, i686, x86_64]
      python-wheel:
        rationale: Built-package format for Python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      python36:
        rationale: Contains the symlink to the platform-python interpreter. Also contains
          python36-rpm-macros needed to build the remaining packages.
        ref: r8s-stream-3.6
        buildorder: 10
        arches: [aarch64, i686, x86_64]
      scipy:
        rationale: Scientific Tools for Python
        ref: r8s-stream-3.6
        buildorder: 20
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - python-PyMySQL-0:0.10.1-2.module+el8.10.0+1592+61442852.src
    - python-distro-0:1.4.0-2.module+el8.10.0+1592+61442852.src
    - python-docs-0:3.6.7-2.module+el8.10.0+1592+61442852.src
    - python-docutils-0:0.14-12.module+el8.10.0+1592+61442852.src
    - python-nose-0:1.3.7-31.module+el8.10.0+1592+61442852.src
    - python-nose-docs-0:1.3.7-31.module+el8.10.0+1592+61442852.noarch
    - python-pygments-0:2.2.0-22.module+el8.10.0+1592+61442852.src
    - python-pymongo-0:3.7.0-1.module+el8.10.0+1592+61442852.src
    - python-pymongo-debuginfo-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python-pymongo-debugsource-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python-pymongo-doc-0:3.7.0-1.module+el8.10.0+1592+61442852.noarch
    - python-sqlalchemy-0:1.3.2-3.module+el8.10.0+1602+b47e27fa.src
    - python-sqlalchemy-doc-0:1.3.2-3.module+el8.10.0+1602+b47e27fa.noarch
    - python-virtualenv-0:15.1.0-22.module+el8.10.0+1592+61442852.src
    - python-virtualenv-doc-0:15.1.0-22.module+el8.10.0+1592+61442852.noarch
    - python-wheel-1:0.31.1-3.module+el8.10.0+1592+61442852.src
    - python3-PyMySQL-0:0.10.1-2.module+el8.10.0+1592+61442852.noarch
    - python3-bson-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python3-bson-debuginfo-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python3-distro-0:1.4.0-2.module+el8.10.0+1592+61442852.noarch
    - python3-docs-0:3.6.7-2.module+el8.10.0+1592+61442852.noarch
    - python3-docutils-0:0.14-12.module+el8.10.0+1592+61442852.noarch
    - python3-nose-0:1.3.7-31.module+el8.10.0+1592+61442852.noarch
    - python3-pygments-0:2.2.0-22.module+el8.10.0+1592+61442852.noarch
    - python3-pymongo-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python3-pymongo-debuginfo-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python3-pymongo-gridfs-0:3.7.0-1.module+el8.10.0+1592+61442852.x86_64
    - python3-scipy-0:1.0.0-21.module+el8.10.0+1592+61442852.x86_64
    - python3-scipy-debuginfo-0:1.0.0-21.module+el8.10.0+1592+61442852.x86_64
    - python3-sqlalchemy-0:1.3.2-3.module+el8.10.0+1602+b47e27fa.x86_64
    - python3-virtualenv-0:15.1.0-22.module+el8.10.0+1592+61442852.noarch
    - python3-wheel-1:0.31.1-3.module+el8.10.0+1592+61442852.noarch
    - python3-wheel-wheel-1:0.31.1-3.module+el8.10.0+1592+61442852.noarch
    - python36-0:3.6.8-39.module+el8.10.0+1592+61442852.src
    - python36-0:3.6.8-39.module+el8.10.0+1592+61442852.x86_64
    - python36-debug-0:3.6.8-39.module+el8.10.0+1592+61442852.x86_64
    - python36-devel-0:3.6.8-39.module+el8.10.0+1592+61442852.x86_64
    - python36-rpm-macros-0:3.6.8-39.module+el8.10.0+1592+61442852.noarch
    - scipy-0:1.0.0-21.module+el8.10.0+1592+61442852.src
    - scipy-debugsource-0:1.0.0-21.module+el8.10.0+1592+61442852.x86_64
...
PKʀFZF�>��/modulefailsafe/perl-DBD-MySQL:4.046:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-DBD-MySQL
  stream: "4.046"
  version: 8090020231016064114
  context: 0aad9023
  arch: x86_64
  summary: A MySQL interface for Perl
  description: >
    DBD::mysql is the Perl5 Database Interface driver for the MySQL database. In other
    words: DBD::mysql is an interface between the Perl programming language and the
    MySQL programming API that comes with the MySQL relational database management
    system.
  license:
    module:
    - MIT
    content:
    - GPL+ or Artistic
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8]
  references:
    community: http://search.cpan.org/dist/DBD-mysql/
  profiles:
    common:
      description: DBD-mysql distribution
      rpms:
      - perl-DBD-MySQL
  api:
    rpms:
    - perl-DBD-MySQL
  components:
    rpms:
      perl-DBD-MySQL:
        rationale: The API.
        ref: 2d52bdd856e26f60659d6044b961148ad6c8dfcc
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-DBD-MySQL-0:4.046-3.module+el8.9.0+1501+450eec3b.src
    - perl-DBD-MySQL-0:4.046-3.module+el8.9.0+1501+450eec3b.x86_64
    - perl-DBD-MySQL-debuginfo-0:4.046-3.module+el8.9.0+1501+450eec3b.x86_64
    - perl-DBD-MySQL-debugsource-0:4.046-3.module+el8.9.0+1501+450eec3b.x86_64
...
PKʀFZ����ff)modulefailsafe/perl-YAML:1.24:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-YAML
  stream: "1.24"
  version: 8060020220513063607
  context: f7485d8d
  arch: x86_64
  summary: Perl parser for YAML
  description: >
    The YAML.pm module implements a YAML Loader and Dumper based on the YAML 1.0 specification.
    YAML is a generic data serialization language that is optimized for human readability.
    It can be used to express the data structures of most modern programming languages,
    including Perl. For information on the YAML syntax, please refer to the YAML specification.
  license:
    module:
    - MIT
    content:
    - GPL+ or Artistic
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      perl-YAML-bootstrap: [1.24]
      platform: [el8.6.0]
    requires:
      perl: [5.26]
      platform: [el8]
  references:
    community: https://metacpan.org/release/YAML
  profiles:
    common:
      description: YAML distribution
      rpms:
      - perl-YAML
  api:
    rpms:
    - perl-YAML
  buildopts:
    rpms:
      macros: >
        %_with_perl_YAML_enables_test 1
  components:
    rpms:
      perl-YAML:
        rationale: The API.
        ref: 54146a5a36ff3df7327e6f24c0cd40527278c4b0
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-YAML-0:1.24-3.module+el8.6.0+953+b8fc4031.noarch
    - perl-YAML-0:1.24-3.module+el8.6.0+953+b8fc4031.src
...
PKʀFZx����%modulefailsafe/nginx:1.14:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: nginx
  stream: "1.14"
  version: 8040020210610090123
  context: 9f9e2e7e
  arch: x86_64
  summary: nginx webserver
  description: >-
    nginx 1.14 webserver module
  license:
    module:
    - MIT
    content:
    - BSD
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.4.0]
    requires:
      platform: [el8]
  references:
    documentation: http://nginx.org/en/docs/
    tracker: https://trac.nginx.org/nginx/
  profiles:
    common:
      rpms:
      - nginx
      - nginx-all-modules
      - nginx-filesystem
      - nginx-mod-http-image-filter
      - nginx-mod-http-perl
      - nginx-mod-http-xslt-filter
      - nginx-mod-mail
      - nginx-mod-stream
  api:
    rpms:
    - nginx
    - nginx-all-modules
    - nginx-filesystem
    - nginx-mod-http-image-filter
    - nginx-mod-http-perl
    - nginx-mod-http-xslt-filter
    - nginx-mod-mail
    - nginx-mod-stream
  components:
    rpms:
      nginx:
        rationale: Module API.
        ref: f077117bc13796bd607d05e7715b570d23d35b22
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - nginx-1:1.14.1-9.module+el8.4.0+542+81547229.src
    - nginx-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-all-modules-1:1.14.1-9.module+el8.4.0+542+81547229.noarch
    - nginx-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-debugsource-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-filesystem-1:1.14.1-9.module+el8.4.0+542+81547229.noarch
    - nginx-mod-http-image-filter-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-http-image-filter-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-http-perl-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-http-perl-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-http-xslt-filter-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-http-xslt-filter-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-mail-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-mail-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-stream-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
    - nginx-mod-stream-debuginfo-1:1.14.1-9.module+el8.4.0+542+81547229.x86_64
...
PKʀFZ�6��``)modulefailsafe/perl-DBI:1.641:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-DBI
  stream: "1.641"
  version: 8090020231016030935
  context: 88fd4976
  arch: x86_64
  summary: A database access API for Perl
  description: >
    DBI is a database access Application Programming Interface (API) for the Perl
    language. The DBI API specification defines a set of functions, variables and
    conventions that provide a consistent database interface independent of the actual
    database being used.
  license:
    module:
    - MIT
    content:
    - GPL+ or Artistic
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      platform: [el8]
  references:
    community: http://dbi.perl.org/
  profiles:
    common:
      description: DBI distribution
      rpms:
      - perl-DBI
  api:
    rpms:
    - perl-DBI
  buildopts:
    rpms:
      macros: >
        %_without_perl_DBI_enables_Clone 1

        %_without_perl_DBI_enables_coro 1

        %_without_perl_DBI_enables_DB_File 1

        %_without_perl_DBI_enables_MLDBM 1

        %_without_perl_DBI_enables_optional_test 1

        %_without_perl_DBI_enables_SQL_Statement 1
  components:
    rpms:
      perl-DBI:
        rationale: The API.
        ref: 939603c5dc4a18787b14ead1373fb3d920e732b1
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-DBI-0:1.641-4.module+el8.9.0+1495+f278a004.src
    - perl-DBI-0:1.641-4.module+el8.9.0+1495+f278a004.x86_64
    - perl-DBI-debuginfo-0:1.641-4.module+el8.9.0+1495+f278a004.x86_64
    - perl-DBI-debugsource-0:1.641-4.module+el8.9.0+1495+f278a004.x86_64
...
PKʀFZ�=,

$modulefailsafe/mysql:8.0:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: mysql
  stream: "8.0"
  version: 8100020240126202301
  context: e155f54d
  arch: x86_64
  summary: MySQL Module
  description: >-
    MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server
    implementation consisting of a server daemon (mysqld) and many different client
    programs and libraries. The base package contains the standard MySQL client programs
    and generic MySQL files.
  license:
    module:
    - MIT
    content:
    - BSD or LGPLv2+ or GPL+
    - GPLv2 with exceptions and LGPLv2 and BSD
    - mecab-ipadic
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
    requires:
      platform: [el8]
  references:
    community: https://dev.mysql.com/
    documentation: https://dev.mysql.com/doc/refman/8.0/en/
    tracker: http://bugzilla.redhat.com/
  profiles:
    client:
      rpms:
      - mysql
    server:
      rpms:
      - mysql-server
  api:
    rpms:
    - mysql
    - mysql-server
  filter:
    rpms:
    - rapidjson
    - rapidjson-devel
    - rapidjson-doc
  buildopts:
    rpms:
      macros: >
        %runselftest 1

        %ignore_testsuite_result 0
  components:
    rpms:
      mecab:
        rationale: A dependency of mysql
        ref: r8s-stream-8.0
        buildorder: 8
        arches: [aarch64, i686, x86_64]
      mecab-ipadic:
        rationale: A dictionary for mecab
        ref: r8s-stream-8.0
        buildorder: 9
        arches: [aarch64, i686, x86_64]
      mysql:
        rationale: MySQL server package
        ref: r8s-stream-8.0
        buildorder: 10
        arches: [aarch64, i686, x86_64]
      rapidjson:
        rationale: A build-time only dependency of mysql
        ref: r8s-stream-8.0
        buildorder: 7
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - mecab-0:0.996-2.module+el8.10.0+1676+9b4b6e24.src
    - mecab-0:0.996-2.module+el8.10.0+1676+9b4b6e24.x86_64
    - mecab-debuginfo-0:0.996-2.module+el8.10.0+1676+9b4b6e24.x86_64
    - mecab-debugsource-0:0.996-2.module+el8.10.0+1676+9b4b6e24.x86_64
    - mecab-devel-0:0.996-2.module+el8.10.0+1676+9b4b6e24.x86_64
    - mecab-ipadic-0:2.7.0.20070801-16.module+el8.10.0+1676+9b4b6e24.src
    - mecab-ipadic-0:2.7.0.20070801-16.module+el8.10.0+1676+9b4b6e24.x86_64
    - mecab-ipadic-EUCJP-0:2.7.0.20070801-16.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.src
    - mysql-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-common-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-debuginfo-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-debugsource-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-devel-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-devel-debuginfo-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-errmsg-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-libs-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-libs-debuginfo-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-server-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-server-debuginfo-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-test-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
    - mysql-test-debuginfo-0:8.0.36-1.module+el8.10.0+1676+9b4b6e24.x86_64
...
PKʀFZZ'�xRxR'modulefailsafe/python27:2.7:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: python27
  stream: "2.7"
  version: 8100020240523105808
  context: 5f0f67de
  arch: x86_64
  summary: Python programming language, version 2.7
  description: >-
    This module provides the Python 2.7 interpreter and additional Python

    packages the users might need.
  license:
    module:
    - MIT
    content:
    - ASL 2.0
    - ASL 2.0 and MIT
    - ASL 2.0 and MIT and (MIT or GPLv2)
    - BSD
    - BSD and Boost and Public Domain
    - BSD and Python
    - BSD and Python and Unicode
    - LGPLv2
    - LGPLv2+ and Public Domain
    - LGPLv3+ with exceptions
    - MIT
    - MIT and Public Domain
    - MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0
      or BSD)
    - Public Domain
    - Public Domain and BSD and Python and GPLv3+
    - Python
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
      python27: [2.7]
    requires:
      platform: [el8]
  references:
    community: https://www.python.org/
    documentation: https://docs.python.org/2.7/
  profiles:
    common:
      rpms:
      - python2
      - python2-libs
      - python2-pip
      - python2-setuptools
  api:
    rpms:
    - babel
    - python-sqlalchemy-doc
    - python2
    - python2-Cython
    - python2-PyMySQL
    - python2-attrs
    - python2-babel
    - python2-backports
    - python2-backports-ssl_match_hostname
    - python2-bson
    - python2-chardet
    - python2-coverage
    - python2-debug
    - python2-devel
    - python2-dns
    - python2-docs
    - python2-docs-info
    - python2-docutils
    - python2-funcsigs
    - python2-idna
    - python2-ipaddress
    - python2-jinja2
    - python2-libs
    - python2-lxml
    - python2-markupsafe
    - python2-mock
    - python2-nose
    - python2-numpy
    - python2-numpy-doc
    - python2-numpy-f2py
    - python2-pip
    - python2-pluggy
    - python2-psycopg2
    - python2-psycopg2-debug
    - python2-psycopg2-tests
    - python2-py
    - python2-pygments
    - python2-pymongo
    - python2-pymongo-gridfs
    - python2-pysocks
    - python2-pytest
    - python2-pytest-mock
    - python2-pytz
    - python2-pyyaml
    - python2-requests
    - python2-rpm-macros
    - python2-scipy
    - python2-setuptools
    - python2-setuptools_scm
    - python2-six
    - python2-sqlalchemy
    - python2-test
    - python2-tkinter
    - python2-tools
    - python2-urllib3
    - python2-virtualenv
    - python2-wheel
  filter:
    rpms:
    - python3-Cython
    - python3-PyMySQL
    - python3-PyYAML
    - python3-attrs
    - python3-babel
    - python3-bson
    - python3-chardet
    - python3-coverage
    - python3-docutils
    - python3-idna
    - python3-jinja2
    - python3-markupsafe
    - python3-mock
    - python3-nose
    - python3-numpy
    - python3-numpy-doc
    - python3-numpy-f2py
    - python3-pluggy
    - python3-psycopg2
    - python3-psycopg2-debug
    - python3-psycopg2-tests
    - python3-py
    - python3-pygments
    - python3-pymongo
    - python3-pymongo-gridfs
    - python3-pysocks
    - python3-pytest
    - python3-pytest-mock
    - python3-pytz
    - python3-requests
    - python3-scipy
    - python3-setuptools_scm
    - python3-six
    - python3-sqlalchemy
    - python3-urllib3
    - python3-virtualenv
  buildopts:
    rpms:
      macros: >
        # Note that we cannot disable building of all Python 3 subpackages,

        # because python2-devel (needed to build all Python 2 packages)

        # has a runtime dependency on python3-rpm-generators, and that

        # package requires python3-setuptools at runtime. By rebuilding

        # python-setuptools SRPM with only python2, we overshadow the

        # already built python3 subpackage and it is no longer

        # available for python3-rpm-generators when building python-pip

        # (or any other Python package).

        # We can disable Python 3 in all packages but ...

        %_without_python3 1

        # ... we have to have a way to enable some of them as described

        # above. With this macro, we can add some module-specific

        # conditions for python3-* subpackages and other special cases.

        # %_with_python27_module 1


        # for: python-jinja2

        %_with_python2 1


        # to solve circular dependency between pytest and [attrs, pluggy]

        # %_without_tests 1
  components:
    rpms:
      Cython:
        rationale: Language for writing Python extension modules. Build dependency
          of numpy and PyYAML
        ref: 1333b83da370e59dffa7ff269c212fda0609b7d3
        arches: [aarch64, i686, x86_64]
      PyYAML:
        rationale: YAML parser and emitter for Python
        ref: 27ee872ae31050c0550f0ecee6e9bb3f8caea847
        arches: [aarch64, i686, x86_64]
      babel:
        rationale: Tools for internationalizing Python applications
        ref: 9c64ca08a83bfc79607bb785ddfffd828ca78615
        arches: [aarch64, i686, x86_64]
      numpy:
        rationale: A fast multidimensional array facility for Python
        ref: fc5b231c2431da80daee04fbcaca00e848a8bbb6
        arches: [aarch64, i686, x86_64]
      pytest:
        rationale: Simple powerful testing with Python
        ref: 3826c742e645511ab0cdc6d2c744778a24461351
        arches: [aarch64, i686, x86_64]
      python-PyMySQL:
        rationale: Python adapter for the MySQL/MariaDB databases
        ref: 55d5b68c176dd7cf3939abfa1de03d23b505c1a1
        arches: [aarch64, i686, x86_64]
      python-attrs:
        rationale: Python attributes without boilerplate
        ref: 3718d29bb8796503ced11f3e2192d284957d8897
        arches: [aarch64, i686, x86_64]
      python-backports:
        rationale: Namespace for backported Python features
        ref: c248a4a462f78a0397cc0142b181143bf7409123
        arches: [aarch64, i686, x86_64]
      python-backports-ssl_match_hostname:
        rationale: The ssl.match_hostname() function from Python 3. Dependency of
          urllib3/requests.
        ref: 07c486fb912016403eb818fbe60caf75512c66e6
        arches: [aarch64, i686, x86_64]
      python-chardet:
        rationale: Character encoding auto-detection in Python. Dependency of requests.
        ref: 68fb44b72a4c49dd6cbbe9dc58fe0e12df5781c9
        arches: [aarch64, i686, x86_64]
      python-coverage:
        rationale: Code coverage testing module for Python
        ref: ecf9903b938051d006d783247308588f5c64203f
        arches: [aarch64, i686, x86_64]
      python-dns:
        rationale: DNS toolkit for Python. Useful package for IPA and mailman.
        ref: a948b4be9d2676d33cc544b6ee3e14f671621776
        arches: [aarch64, i686, x86_64]
      python-docs:
        rationale: Documentation for Python
        ref: b1a92c529e5f6b115a2ebb68a246a4e478d71ecb
        arches: [aarch64, i686, x86_64]
      python-docutils:
        rationale: System for processing plaintext documentation
        ref: 3d583caf5599f34f3479bb946716615fd8124e72
        arches: [aarch64, i686, x86_64]
      python-funcsigs:
        rationale: Python function signatures from PEP362 for Python 2.6, 2.7 and
          3.2+. Dependency of Pytest and mock.
        ref: def9a2f1ea67d52f3e42dbe2fb4b3e14a732534d
        arches: [aarch64, i686, x86_64]
      python-idna:
        rationale: Internationalized Domain Names in Applications (IDNA). Dependency
          of requests.
        ref: fb466e8c438dbbb0c1ed2eccee0292c4910e209a
        arches: [aarch64, i686, x86_64]
      python-ipaddress:
        rationale: Port of the python 3.3+ ipaddress module to 2.6+. Dependency of
          urllib3/requests.
        ref: 07e0a284064528f0b21d1b64db68bba4154dae5d
        arches: [aarch64, i686, x86_64]
      python-jinja2:
        rationale: General purpose template engine
        ref: eab2cc5730d4ed1889f46581fb849ed426a15219
        arches: [aarch64, i686, x86_64]
      python-lxml:
        rationale: XML processing library
        ref: 7b66f90cf192e44f6e3020327b52735836a044af
        arches: [aarch64, i686, x86_64]
      python-markupsafe:
        rationale: Implements a XML/HTML/XHTML Markup safe string for Python
        ref: 0ebb453e84a53b56535a35c7a21c9afa63d8be9d
        arches: [aarch64, i686, x86_64]
      python-mock:
        rationale: A Python Mocking and Patching Library for Testing
        ref: 3c6a95e1e53ee094f64858bf736984cc8adaabe2
        arches: [aarch64, i686, x86_64]
      python-nose:
        rationale: Discovery-based unit test extension for Python
        ref: 57627d0597fab6eead92e977232d407ea623d143
        arches: [aarch64, i686, x86_64]
      python-pluggy:
        rationale: The plugin manager stripped of pytest specific details
        ref: 0e96092d378c8bb948dc674a7ee1e9a8d581ec02
        arches: [aarch64, i686, x86_64]
      python-psycopg2:
        rationale: Python adapter for the PostgreSQL database
        ref: efb87a367c3129f8254a369049acb33793ac7e6f
        arches: [aarch64, i686, x86_64]
      python-py:
        rationale: Library with cross-python path, ini-parsing, io, code, log facilities
        ref: 9098c97db84b6ea782e524d90453d87fc5ab47cc
        arches: [aarch64, i686, x86_64]
      python-pygments:
        rationale: Syntax highlighting engine written in Python
        ref: 5b29e9de541a12b2d5ff390bd99492cf7616f85f
        arches: [aarch64, i686, x86_64]
      python-pymongo:
        rationale: Python driver for MongoDB
        ref: 9886e1578b8dbadfbdddf1d634f672cfb32f25b5
        arches: [aarch64, i686, x86_64]
      python-pysocks:
        rationale: A Python SOCKS client module. Dependency of urllib3/requests.
        ref: f252f45a70699cfc3a03bf500b8338df0fd3b532
        arches: [aarch64, i686, x86_64]
      python-pytest-mock:
        rationale: Thin-wrapper around the mock package for easier use with py.test.
          Build dependency of requests.
        ref: 1ccaf687902c88d9fccb074c8cb39b414317153f
        arches: [aarch64, i686, x86_64]
      python-requests:
        rationale: HTTP library, written in Python, for human beings
        ref: fb60bc72c121d28d18a28950f63d990da20baac4
        arches: [aarch64, i686, x86_64]
      python-setuptools_scm:
        rationale: Blessed package to manage your versions by scm tags. Build dependency
          of pytest and pytest-mock.
        ref: 9c32a9877a7aba74fb370a52b7eb2e719a79c3f5
        arches: [aarch64, i686, x86_64]
      python-sqlalchemy:
        rationale: Modular and flexible ORM library for python
        ref: 34f31c62aa0719e4a1efdb7e34b980fc979e0d2d
        arches: [aarch64, i686, x86_64]
      python-urllib3:
        rationale: Python HTTP library with thread-safe connection pooling and file
          post. Dependency of requests.
        ref: 022316abad52de0192ce89b45d30851a2fe13152
        arches: [aarch64, i686, x86_64]
      python-virtualenv:
        rationale: Tool to create isolated Python environments
        ref: 0f49bf7682832d004e019dc39ca737596b13e7e2
        arches: [aarch64, i686, x86_64]
      python-wheel:
        rationale: Used for unbundling of pip and setuptools
        ref: 8068b0efe3d9358d8360480dc77a77fd527a38a2
        arches: [aarch64, i686, x86_64]
      python2:
        rationale: Main Python language interpreter
        ref: c94f8924c552594922385e33ff1492400b3760ea
        arches: [aarch64, i686, x86_64]
      python2-pip:
        rationale: Python Packaging ecosystem
        ref: 5d25e32bbf7f186a044a040a509a5ef37562f4c4
        arches: [aarch64, i686, x86_64]
      python2-rpm-macros:
        rationale: Python 2 RPM macros - dependency of python2-devel
        ref: 8a619a6fd4f0c22b01befcd372637bf945a3feb2
        arches: [aarch64, i686, x86_64]
      python2-setuptools:
        rationale: Python Packaging ecosystem
        ref: 025de4d07c7a9e0abb9f71960a8d5fbd3ff68a10
        arches: [aarch64, i686, x86_64]
      python2-six:
        rationale: Python 2 and 3 compatibility utilities
        ref: 33574e70275b0957bb62543361bb203a42b8d247
        arches: [aarch64, i686, x86_64]
      pytz:
        rationale: Runtime requires of babel, and python2-babel
        ref: 04603c73379a87308d66e8dd1ac99e06c64e15ca
        arches: [aarch64, i686, x86_64]
      scipy:
        rationale: Scientific Tools for Python
        ref: ef75d97ea415293f3fcc04b73f644da532bf30dd
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - Cython-0:0.28.1-7.module+el8.9.0+1531+a18208f5.src
    - Cython-debugsource-0:0.28.1-7.module+el8.9.0+1531+a18208f5.x86_64
    - PyYAML-0:3.12-16.module+el8.9.0+1531+a18208f5.src
    - PyYAML-debugsource-0:3.12-16.module+el8.9.0+1531+a18208f5.x86_64
    - babel-0:2.5.1-10.module+el8.9.0+1531+a18208f5.noarch
    - babel-0:2.5.1-10.module+el8.9.0+1531+a18208f5.src
    - numpy-1:1.14.2-16.module+el8.9.0+1531+a18208f5.src
    - numpy-debugsource-1:1.14.2-16.module+el8.9.0+1531+a18208f5.x86_64
    - pytest-0:3.4.2-13.module+el8.9.0+1531+a18208f5.src
    - python-PyMySQL-0:0.8.0-10.module+el8.9.0+1531+a18208f5.src
    - python-attrs-0:17.4.0-10.module+el8.9.0+1531+a18208f5.src
    - python-backports-0:1.0-16.module+el8.9.0+1531+a18208f5.src
    - python-backports-ssl_match_hostname-0:3.5.0.1-12.module+el8.9.0+1531+a18208f5.src
    - python-chardet-0:3.0.4-10.module+el8.9.0+1531+a18208f5.src
    - python-coverage-0:4.5.1-5.module+el8.10.0+1817+0b01df83.src
    - python-coverage-debugsource-0:4.5.1-5.module+el8.10.0+1817+0b01df83.x86_64
    - python-dns-0:1.15.0-10.module+el8.9.0+1531+a18208f5.src
    - python-docs-0:2.7.16-2.module+el8.9.0+1531+a18208f5.src
    - python-docutils-0:0.14-12.module+el8.9.0+1531+a18208f5.src
    - python-funcsigs-0:1.0.2-13.module+el8.9.0+1531+a18208f5.src
    - python-idna-0:2.5-7.module+el8.9.0+1531+a18208f5.src
    - python-ipaddress-0:1.0.18-6.module+el8.9.0+1531+a18208f5.src
    - python-jinja2-0:2.10-10.module+el8.10.0+1813+4b021305.src
    - python-lxml-0:4.2.3-6.module+el8.9.0+1531+a18208f5.src
    - python-lxml-debugsource-0:4.2.3-6.module+el8.9.0+1531+a18208f5.x86_64
    - python-markupsafe-0:0.23-19.module+el8.9.0+1531+a18208f5.src
    - python-mock-0:2.0.0-13.module+el8.9.0+1531+a18208f5.src
    - python-nose-0:1.3.7-31.module+el8.9.0+1531+a18208f5.src
    - python-nose-docs-0:1.3.7-31.module+el8.9.0+1531+a18208f5.noarch
    - python-pluggy-0:0.6.0-8.module+el8.9.0+1531+a18208f5.src
    - python-psycopg2-0:2.7.5-8.module+el8.10.0+1817+0b01df83.src
    - python-psycopg2-debuginfo-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python-psycopg2-debugsource-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python-psycopg2-doc-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python-py-0:1.5.3-6.module+el8.9.0+1531+a18208f5.src
    - python-pygments-0:2.2.0-22.module+el8.9.0+1531+a18208f5.src
    - python-pymongo-0:3.7.0-1.module+el8.9.0+1531+a18208f5.src
    - python-pymongo-debuginfo-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python-pymongo-debugsource-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python-pysocks-0:1.6.8-6.module+el8.9.0+1531+a18208f5.src
    - python-pytest-mock-0:1.9.0-4.module+el8.9.0+1531+a18208f5.src
    - python-requests-0:2.20.0-4.module+el8.10.0+1817+0b01df83.src
    - python-setuptools_scm-0:1.15.7-6.module+el8.9.0+1531+a18208f5.src
    - python-sqlalchemy-0:1.3.2-2.module+el8.9.0+1531+a18208f5.src
    - python-sqlalchemy-doc-0:1.3.2-2.module+el8.9.0+1531+a18208f5.noarch
    - python-urllib3-0:1.24.2-4.module+el8.10.0+1813+4b021305.src
    - python-virtualenv-0:15.1.0-21.module+el8.9.0+1531+a18208f5.src
    - python-wheel-1:0.31.1-3.module+el8.9.0+1531+a18208f5.src
    - python2-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.src
    - python2-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-Cython-0:0.28.1-7.module+el8.9.0+1531+a18208f5.x86_64
    - python2-Cython-debuginfo-0:0.28.1-7.module+el8.9.0+1531+a18208f5.x86_64
    - python2-PyMySQL-0:0.8.0-10.module+el8.9.0+1531+a18208f5.noarch
    - python2-attrs-0:17.4.0-10.module+el8.9.0+1531+a18208f5.noarch
    - python2-babel-0:2.5.1-10.module+el8.9.0+1531+a18208f5.noarch
    - python2-backports-0:1.0-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-backports-ssl_match_hostname-0:3.5.0.1-12.module+el8.9.0+1531+a18208f5.noarch
    - python2-bson-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python2-bson-debuginfo-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python2-chardet-0:3.0.4-10.module+el8.9.0+1531+a18208f5.noarch
    - python2-coverage-0:4.5.1-5.module+el8.10.0+1817+0b01df83.x86_64
    - python2-coverage-debuginfo-0:4.5.1-5.module+el8.10.0+1817+0b01df83.x86_64
    - python2-debug-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-debuginfo-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-debugsource-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-devel-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-dns-0:1.15.0-10.module+el8.9.0+1531+a18208f5.noarch
    - python2-docs-0:2.7.16-2.module+el8.9.0+1531+a18208f5.noarch
    - python2-docs-info-0:2.7.16-2.module+el8.9.0+1531+a18208f5.noarch
    - python2-docutils-0:0.14-12.module+el8.9.0+1531+a18208f5.noarch
    - python2-funcsigs-0:1.0.2-13.module+el8.9.0+1531+a18208f5.noarch
    - python2-idna-0:2.5-7.module+el8.9.0+1531+a18208f5.noarch
    - python2-ipaddress-0:1.0.18-6.module+el8.9.0+1531+a18208f5.noarch
    - python2-jinja2-0:2.10-10.module+el8.10.0+1813+4b021305.noarch
    - python2-libs-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-lxml-0:4.2.3-6.module+el8.9.0+1531+a18208f5.x86_64
    - python2-lxml-debuginfo-0:4.2.3-6.module+el8.9.0+1531+a18208f5.x86_64
    - python2-markupsafe-0:0.23-19.module+el8.9.0+1531+a18208f5.x86_64
    - python2-mock-0:2.0.0-13.module+el8.9.0+1531+a18208f5.noarch
    - python2-nose-0:1.3.7-31.module+el8.9.0+1531+a18208f5.noarch
    - python2-numpy-1:1.14.2-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-numpy-debuginfo-1:1.14.2-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-numpy-doc-1:1.14.2-16.module+el8.9.0+1531+a18208f5.noarch
    - python2-numpy-f2py-1:1.14.2-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-pip-0:9.0.3-19.module+el8.9.0+1531+a18208f5.noarch
    - python2-pip-0:9.0.3-19.module+el8.9.0+1531+a18208f5.src
    - python2-pip-wheel-0:9.0.3-19.module+el8.9.0+1531+a18208f5.noarch
    - python2-pluggy-0:0.6.0-8.module+el8.9.0+1531+a18208f5.noarch
    - python2-psycopg2-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python2-psycopg2-debug-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python2-psycopg2-debug-debuginfo-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python2-psycopg2-debuginfo-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python2-psycopg2-tests-0:2.7.5-8.module+el8.10.0+1817+0b01df83.x86_64
    - python2-py-0:1.5.3-6.module+el8.9.0+1531+a18208f5.noarch
    - python2-pygments-0:2.2.0-22.module+el8.9.0+1531+a18208f5.noarch
    - python2-pymongo-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python2-pymongo-debuginfo-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python2-pymongo-gridfs-0:3.7.0-1.module+el8.9.0+1531+a18208f5.x86_64
    - python2-pysocks-0:1.6.8-6.module+el8.9.0+1531+a18208f5.noarch
    - python2-pytest-0:3.4.2-13.module+el8.9.0+1531+a18208f5.noarch
    - python2-pytest-mock-0:1.9.0-4.module+el8.9.0+1531+a18208f5.noarch
    - python2-pytz-0:2017.2-13.module+el8.10.0+1817+0b01df83.noarch
    - python2-pyyaml-0:3.12-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-pyyaml-debuginfo-0:3.12-16.module+el8.9.0+1531+a18208f5.x86_64
    - python2-requests-0:2.20.0-4.module+el8.10.0+1817+0b01df83.noarch
    - python2-rpm-macros-0:3-38.module+el8.9.0+1531+a18208f5.noarch
    - python2-rpm-macros-0:3-38.module+el8.9.0+1531+a18208f5.src
    - python2-scipy-0:1.0.0-22.module+el8.10.0+1817+0b01df83.x86_64
    - python2-scipy-debuginfo-0:1.0.0-22.module+el8.10.0+1817+0b01df83.x86_64
    - python2-setuptools-0:39.0.1-14.module+el8.10.0+1813+4b021305.noarch
    - python2-setuptools-0:39.0.1-14.module+el8.10.0+1813+4b021305.src
    - python2-setuptools-wheel-0:39.0.1-14.module+el8.10.0+1813+4b021305.noarch
    - python2-setuptools_scm-0:1.15.7-6.module+el8.9.0+1531+a18208f5.noarch
    - python2-six-0:1.11.0-6.module+el8.9.0+1531+a18208f5.noarch
    - python2-six-0:1.11.0-6.module+el8.9.0+1531+a18208f5.src
    - python2-sqlalchemy-0:1.3.2-2.module+el8.9.0+1531+a18208f5.x86_64
    - python2-test-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-tkinter-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-tools-0:2.7.18-17.module+el8.10.0+1813+4b021305.rocky.0.2.x86_64
    - python2-urllib3-0:1.24.2-4.module+el8.10.0+1813+4b021305.noarch
    - python2-virtualenv-0:15.1.0-21.module+el8.9.0+1531+a18208f5.noarch
    - python2-wheel-1:0.31.1-3.module+el8.9.0+1531+a18208f5.noarch
    - python2-wheel-wheel-1:0.31.1-3.module+el8.9.0+1531+a18208f5.noarch
    - pytz-0:2017.2-13.module+el8.10.0+1817+0b01df83.src
    - scipy-0:1.0.0-22.module+el8.10.0+1817+0b01df83.src
    - scipy-debugsource-0:1.0.0-22.module+el8.10.0+1817+0b01df83.x86_64
...
PKʀFZ�h�!�!-modulefailsafe/llvm-toolset:rhel8:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: llvm-toolset
  stream: "rhel8"
  version: 8100020240924085526
  context: e155f54d
  arch: x86_64
  summary: LLVM
  description: >-
    LLVM Tools and libraries
  license:
    module:
    - MIT
    content:
    - Apache-2.0 WITH LLVM-exception OR NCSA
    - NCSA
    - NCSA and MIT
    - NCSA or MIT
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
    requires:
      platform: [el8]
  profiles:
    common:
      rpms:
      - llvm-toolset
  api:
    rpms:
    - clang
    - clang-analyzer
    - clang-devel
    - clang-libs
    - clang-tools-extra
    - git-clang-format
    - lld
    - lld-libs
    - lldb
    - lldb-devel
    - llvm
    - llvm-devel
    - llvm-libs
  components:
    rpms:
      clang:
        rationale: clang tools and libraries
        ref: 80a2f2a4e2a22cc582ea43d32990ec31e6908625
        buildorder: 1
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      compiler-rt:
        rationale: LLVM compiler intrinsic and sanitizer libraries
        ref: e884c29ac696ebdbaf0d40b6792517a4ad093bb6
        buildorder: 1
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      libomp:
        rationale: LLVM OpenMP runtime
        ref: 0cd8c240aef0d4a0ef90215643feceeee4f2cee2
        buildorder: 2
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      lld:
        rationale: LLVM linker
        ref: 8e043a0803c702a9f2ef9a2aca09e9ae0ee152dd
        buildorder: 1
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      lldb:
        rationale: lldb debugger
        ref: f4fcc4b69f17e6a9d854b9c7c429252e25ac53df
        buildorder: 2
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      llvm:
        rationale: LLVM tools and libraries
        ref: 63f8b1746019aaace17db6c6e959a4d87cec8b0b
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      python-lit:
        rationale: Lit test runner for LLVM
        ref: b8d91cccb6127052aa3cf9ca38cc824bc14c27b1
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - clang-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - clang-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-analyzer-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.noarch
    - clang-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-devel-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-devel-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-libs-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-libs-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-libs-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-libs-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-resource-filesystem-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.noarch
    - clang-tools-extra-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-tools-extra-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-tools-extra-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-tools-extra-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - clang-tools-extra-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - clang-tools-extra-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - compiler-rt-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - compiler-rt-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - compiler-rt-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - compiler-rt-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - compiler-rt-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - compiler-rt-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - compiler-rt-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - git-clang-format-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - git-clang-format-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - libomp-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - libomp-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - libomp-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - libomp-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - libomp-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - libomp-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - libomp-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - libomp-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - libomp-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - lld-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-libs-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-libs-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lld-libs-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lld-libs-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lldb-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lldb-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - lldb-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lldb-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lldb-debuginfo-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lldb-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lldb-debugsource-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - lldb-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - lldb-devel-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.src
    - llvm-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-cmake-utils-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-cmake-utils-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-debugsource-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-debugsource-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-devel-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-devel-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-devel-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-devel-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-doc-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.noarch
    - llvm-googletest-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-googletest-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-libs-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-libs-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-libs-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-libs-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-static-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-static-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-test-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-test-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-test-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-test-debuginfo-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - llvm-toolset-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.i686
    - llvm-toolset-0:17.0.6-3.module+el8.10.0+1869+0b51ffa4.x86_64
    - python-lit-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.src
    - python3-clang-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - python3-clang-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
    - python3-lit-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.noarch
    - python3-lldb-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.i686
    - python3-lldb-0:17.0.6-1.module+el8.10.0+1869+0b51ffa4.x86_64
...
PKʀFZw�h,PP)modulefailsafe/perl-FCGI:0.78:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-FCGI
  stream: "0.78"
  version: 8090020231016065951
  context: 88fd4976
  arch: x86_64
  summary: FastCGI Perl bindings
  description: >
    This allows you to write a FastCGI client in the Perl language.
  license:
    module:
    - MIT
    content:
    - OML
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      platform: [el8.9.0]
    requires:
      perl: [5.26]
      platform: [el8]
  references:
    community: https://metacpan.org/release/FCGI
  profiles:
    common:
      description: FCGI distribution
      rpms:
      - perl-FCGI
  api:
    rpms:
    - perl-FCGI
  components:
    rpms:
      perl-FCGI:
        rationale: The API.
        ref: 7dabaea1df95d5bcffcc6b7cc3e28c3d0fc1e488
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-FCGI-1:0.78-11.module+el8.9.0+1513+81d20ec9.src
    - perl-FCGI-1:0.78-11.module+el8.9.0+1513+81d20ec9.x86_64
    - perl-FCGI-debuginfo-1:0.78-11.module+el8.9.0+1513+81d20ec9.x86_64
    - perl-FCGI-debugsource-1:0.78-11.module+el8.9.0+1513+81d20ec9.x86_64
...
PKʀFZ�(5��*modulefailsafe/perl-DBD-Pg:3.7:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: perl-DBD-Pg
  stream: "3.7"
  version: 8090020231016064233
  context: 3ece9ff6
  arch: x86_64
  summary: A PostgreSQL interface for Perl
  description: >
    DBD::Pg is a Perl module that works with the DBI module to provide access to PostgreSQL
    databases.
  license:
    module:
    - MIT
    content:
    - GPLv2+ or Artistic
  xmd: {}
  dependencies:
  - buildrequires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8.9.0]
      postgresql: [10]
    requires:
      perl: [5.26]
      perl-DBI: [1.641]
      platform: [el8]
  references:
    community: http://search.cpan.org/dist/DBD-Pg/
  profiles:
    common:
      description: DBD-Pg distribution
      rpms:
      - perl-DBD-Pg
  api:
    rpms:
    - perl-DBD-Pg
  components:
    rpms:
      perl-DBD-Pg:
        rationale: The API.
        ref: 04db8153590215713d730942ba86a1fdd5814556
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - perl-DBD-Pg-0:3.7.4-4.module+el8.9.0+1505+f5679c18.src
    - perl-DBD-Pg-0:3.7.4-4.module+el8.9.0+1505+f5679c18.x86_64
    - perl-DBD-Pg-debuginfo-0:3.7.4-4.module+el8.9.0+1505+f5679c18.x86_64
    - perl-DBD-Pg-debugsource-0:3.7.4-4.module+el8.9.0+1505+f5679c18.x86_64
...
PKʀFZ���a��#modulefailsafe/ruby:2.5:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: ruby
  stream: "2.5"
  version: 8100020240711171932
  context: e155f54d
  arch: x86_64
  summary: An interpreter of object-oriented scripting language
  description: >-
    Ruby is the interpreted scripting language for quick and easy object-oriented
    programming.  It has many features to process text files and to do system management
    tasks (as in Perl).  It is simple, straight-forward, and extensible.
  license:
    module:
    - MIT
    content:
    - (BSD or Ruby) and PostgreSQL
    - (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
    - (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD
    - (Ruby or GPLv2) and UCD
    - ASL 2.0
    - GPLv2 and Ruby and MIT and OFL
    - MIT
    - Ruby or BSD
    - Ruby or MIT
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.10.0]
    requires:
      platform: [el8]
  references:
    community: http://ruby-lang.org/
    documentation: https://www.ruby-lang.org/en/documentation/
    tracker: https://bugs.ruby-lang.org/
  profiles:
    common:
      rpms:
      - ruby
  api:
    rpms:
    - ruby
    - ruby-devel
    - ruby-irb
    - ruby-libs
    - rubygem-abrt
    - rubygem-bigdecimal
    - rubygem-bson
    - rubygem-bundler
    - rubygem-did_you_mean
    - rubygem-io-console
    - rubygem-json
    - rubygem-minitest
    - rubygem-mongo
    - rubygem-mysql2
    - rubygem-net-telnet
    - rubygem-openssl
    - rubygem-pg
    - rubygem-power_assert
    - rubygem-psych
    - rubygem-rake
    - rubygem-rdoc
    - rubygem-test-unit
    - rubygem-xmlrpc
    - rubygems
    - rubygems-devel
  buildopts:
    rpms:
      macros: >
        %_without_rubypick 1
  components:
    rpms:
      ruby:
        rationale: An interpreter of object-oriented scripting language
        ref: 4ad78c3f0420ca8272ca49ceaac465e8e2395040
        buildorder: 101
        arches: [aarch64, i686, x86_64]
        multilib: [x86_64]
      rubygem-abrt:
        rationale: ABRT support for Ruby
        ref: d5ddaf3d1d802e02fbebe710461c0df19f47bbdd
        buildorder: 102
        arches: [aarch64, i686, x86_64]
      rubygem-bson:
        rationale: Ruby Implementation of the BSON specification
        ref: 4c27401111b9aac51e9aee96eeb387418ace3ad0
        buildorder: 102
        arches: [aarch64, i686, x86_64]
      rubygem-bundler:
        rationale: Library and utilities to manage a Ruby application's gem dependencies
        ref: 8a0de3ee7f1e27570100a9a0d163e503bc414b2f
        buildorder: 102
        arches: [aarch64, i686, x86_64]
      rubygem-mongo:
        rationale: Ruby driver for MongoDB
        ref: 0b7fe72646b38189537940a1c6cb527b590eb497
        buildorder: 103
        arches: [aarch64, i686, x86_64]
      rubygem-mysql2:
        rationale: A simple, fast Mysql library for Ruby, binding to libmysql
        ref: aa4a6e030f8f6f2d905f3c575a61b462c2f03a89
        buildorder: 102
        arches: [aarch64, i686, x86_64]
      rubygem-pg:
        rationale: A Ruby interface to the PostgreSQL RDBMS
        ref: 4f79ab3d1caf05846afe4a2e158f3024c89ced8e
        buildorder: 102
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - ruby-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.src
    - ruby-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - ruby-debuginfo-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-debuginfo-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - ruby-debugsource-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-debugsource-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - ruby-devel-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-devel-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - ruby-doc-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.noarch
    - ruby-irb-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.noarch
    - ruby-libs-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-libs-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - ruby-libs-debuginfo-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.i686
    - ruby-libs-debuginfo-0:2.5.9-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-abrt-0:0.3.0-4.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-abrt-0:0.3.0-4.module+el8.9.0+1536+5f79634e.src
    - rubygem-abrt-doc-0:0.3.0-4.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-bigdecimal-0:1.3.4-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-bigdecimal-0:1.3.4-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-bigdecimal-debuginfo-0:1.3.4-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-bigdecimal-debuginfo-0:1.3.4-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-bson-0:4.3.0-2.module+el8.9.0+1536+5f79634e.src
    - rubygem-bson-0:4.3.0-2.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-bson-debuginfo-0:4.3.0-2.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-bson-debugsource-0:4.3.0-2.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-bson-doc-0:4.3.0-2.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-bundler-0:1.16.1-4.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-bundler-0:1.16.1-4.module+el8.9.0+1536+5f79634e.src
    - rubygem-bundler-doc-0:1.16.1-4.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-did_you_mean-0:1.2.0-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-io-console-0:0.4.6-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-io-console-0:0.4.6-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-io-console-debuginfo-0:0.4.6-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-io-console-debuginfo-0:0.4.6-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-json-0:2.1.0-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-json-0:2.1.0-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-json-debuginfo-0:2.1.0-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-json-debuginfo-0:2.1.0-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-minitest-0:5.10.3-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-mongo-0:2.5.1-2.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-mongo-0:2.5.1-2.module+el8.9.0+1536+5f79634e.src
    - rubygem-mongo-doc-0:2.5.1-2.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-mysql2-0:0.4.10-4.module+el8.9.0+1536+5f79634e.src
    - rubygem-mysql2-0:0.4.10-4.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-mysql2-debuginfo-0:0.4.10-4.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-mysql2-debugsource-0:0.4.10-4.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-mysql2-doc-0:0.4.10-4.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-net-telnet-0:0.1.1-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-openssl-0:2.1.2-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-openssl-0:2.1.2-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-openssl-debuginfo-0:2.1.2-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-openssl-debuginfo-0:2.1.2-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-pg-0:1.0.0-3.module+el8.9.0+1536+5f79634e.src
    - rubygem-pg-0:1.0.0-3.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-pg-debuginfo-0:1.0.0-3.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-pg-debugsource-0:1.0.0-3.module+el8.9.0+1536+5f79634e.x86_64
    - rubygem-pg-doc-0:1.0.0-3.module+el8.9.0+1536+5f79634e.noarch
    - rubygem-power_assert-0:1.1.1-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-psych-0:3.0.2-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-psych-0:3.0.2-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-psych-debuginfo-0:3.0.2-112.module+el8.10.0+1839+f1f156ae.i686
    - rubygem-psych-debuginfo-0:3.0.2-112.module+el8.10.0+1839+f1f156ae.x86_64
    - rubygem-rake-0:12.3.3-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-rdoc-0:6.0.1.1-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-test-unit-0:3.2.7-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygem-xmlrpc-0:0.3.0-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygems-0:2.7.6.3-112.module+el8.10.0+1839+f1f156ae.noarch
    - rubygems-devel-0:2.7.6.3-112.module+el8.10.0+1839+f1f156ae.noarch
...
PKʀFZ���Axx$modulefailsafe/varnish:6:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: varnish
  stream: "6"
  version: 8090020240408150337
  context: b46abd14
  arch: x86_64
  summary: Varnish HTTP cache
  description: >-
    Varnish Cache web application accelerator
  license:
    module:
    - MIT
    content:
    - BSD
  xmd: {}
  dependencies:
  - buildrequires:
      platform: [el8.9.0]
    requires:
      platform: [el8]
  references:
    documentation: http://varnish-cache.org/docs/
    tracker: https://github.com/varnishcache/varnish-cache/issues
  profiles:
    common:
      rpms:
      - varnish
      - varnish-modules
  api:
    rpms:
    - varnish
    - varnish-modules
  buildopts:
    rpms:
      macros: >
        %_without_python2 1

        %_with_python3 1
  components:
    rpms:
      varnish:
        rationale: Module API.
        ref: 24ee7d09ce288367f428b2c43d51743ebddaf4b5
        arches: [aarch64, i686, x86_64]
      varnish-modules:
        rationale: Extension modules.
        ref: fd6ab2d51540870c80c824c21b16eb3726a7e570
        buildorder: 1
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - varnish-0:6.0.13-1.module+el8.9.0+1777+0acf9965.src
    - varnish-0:6.0.13-1.module+el8.9.0+1777+0acf9965.x86_64
    - varnish-devel-0:6.0.13-1.module+el8.9.0+1777+0acf9965.x86_64
    - varnish-docs-0:6.0.13-1.module+el8.9.0+1777+0acf9965.x86_64
    - varnish-modules-0:0.15.0-6.module+el8.5.0+677+2a78a869.src
    - varnish-modules-0:0.15.0-6.module+el8.5.0+677+2a78a869.x86_64
    - varnish-modules-debuginfo-0:0.15.0-6.module+el8.5.0+677+2a78a869.x86_64
    - varnish-modules-debugsource-0:0.15.0-6.module+el8.5.0+677+2a78a869.x86_64
...
PKʀFZ�w1��
�
*modulefailsafe/subversion:1.10:x86_64.yamlnu�[���---
document: modulemd
version: 2
data:
  name: subversion
  stream: "1.10"
  version: 8070020221108111308
  context: 78111232
  arch: x86_64
  summary: Apache Subversion
  description: >-
    Apache Subversion, a Modern Version Control System
  license:
    module:
    - MIT
    content:
    - ASL 2.0
    - Unicode and MIT
  xmd: {}
  dependencies:
  - buildrequires:
      httpd: [2.4]
      platform: [el8.7.0]
      swig: [3.0]
    requires:
      platform: [el8]
  references:
    documentation: http://subversion.apache.org/docs/
    tracker: https://issues.apache.org/jira/projects/SVN
  profiles:
    common:
      rpms:
      - subversion
      - subversion-libs
      - subversion-tools
    server:
      rpms:
      - mod_dav_svn
      - subversion
      - subversion-libs
      - subversion-tools
  api:
    rpms:
    - mod_dav_svn
    - subversion
    - subversion-devel
    - subversion-libs
  filter:
    rpms:
    - libserf-devel
    - python3-subversion
    - subversion-ruby
    - utf8proc-devel
  buildopts:
    rpms:
      macros: >
        %_without_kwallet 1

        %_without_python2 1

        %_with_python3 1

        %_without_bdb 1

        %_without_pyswig 1
  components:
    rpms:
      libserf:
        rationale: Build dependency.
        ref: a074d5c7a31f78151f1178bef999cbd4ee7275f1
        buildorder: 10
        arches: [aarch64, i686, x86_64]
      subversion:
        rationale: Module API.
        ref: 97bd53bf771124fb8746e72be483c9efd7814067
        buildorder: 20
        arches: [aarch64, i686, x86_64]
      utf8proc:
        rationale: Build dependency.
        ref: ab494cdc494693445c12da0e79192459c223f8fe
        buildorder: 10
        arches: [aarch64, i686, x86_64]
  artifacts:
    rpms:
    - libserf-0:1.3.9-9.module+el8.7.0+1065+42200b2e.src
    - libserf-0:1.3.9-9.module+el8.7.0+1065+42200b2e.x86_64
    - libserf-debuginfo-0:1.3.9-9.module+el8.7.0+1065+42200b2e.x86_64
    - libserf-debugsource-0:1.3.9-9.module+el8.7.0+1065+42200b2e.x86_64
    - mod_dav_svn-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - mod_dav_svn-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-0:1.10.2-5.module+el8.7.0+1065+42200b2e.src
    - subversion-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-debugsource-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-devel-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-devel-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-gnome-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-gnome-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-javahl-0:1.10.2-5.module+el8.7.0+1065+42200b2e.noarch
    - subversion-libs-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-libs-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-perl-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-perl-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-tools-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - subversion-tools-debuginfo-0:1.10.2-5.module+el8.7.0+1065+42200b2e.x86_64
    - utf8proc-0:2.6.1-3.module+el8.7.0+1065+42200b2e.src
    - utf8proc-0:2.6.1-3.module+el8.7.0+1065+42200b2e.x86_64
    - utf8proc-debuginfo-0:2.6.1-3.module+el8.7.0+1065+42200b2e.x86_64
    - utf8proc-debugsource-0:2.6.1-3.module+el8.7.0+1065+42200b2e.x86_64
...
PKʀFZxU�+repos/epel-modular-1c5bd3bdaaadd9e7/countmenu�[���0 1645401600 1675036800 1PKʀFZ�<"T%repos/extras-b5feef55fd8cf39e/countmenu�[���0 1645401600 1692576000 1PKʀFZ�5,.%repos/baseos-3e608afeebc9a90b/countmenu�[���0 1647216000 1733702400 2PKʀFZۺf|)repos/powertools-4052165f5dae4a66/countmenu�[���0 1645401600 1733702400 1PKʀFZa�o�(repos/appstream-62ae9a0bbea44fbe/countmenu�[���0 1645401600 1733702400 2PKʀFZ&7�$#repos/epel-2f52d25564da0fd7/countmenu�[���0 1645401600 1736726400 -1PKʀFZ�a���history.sqlite-shmnu�[����-C�?�����5���R�vZ(r&B�-C�?�����5���R�vZ(r&B������������::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+?A�?A7?A�?A;<;<CCCCCAAAA3��4@7?AA3��4@7?AA3-48@7?A3-48@7?AAA7?A7?AAAqrstuvwxyz{|}~�������������������������������������������������������������������������
������������������������������������	���	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop������������
����PKʀFZ�q��N?�N?history.sqlite-walnu�[���7�-�B���5���L���$��:C���5��ĸ����d��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���H}���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��������Nr
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���%�Wo�}
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���}�1�e
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���=�?1�ͳ
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���V�
�r
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����w����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ğt}@�ׅ
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����7eeo�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
��������|kYG6%�������wfUD3"�������tcQ?-	�������ygUC1
�������~m[I8'�������yhWF5$�������veSA0�����X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���j_�m'
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5������L]`
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���$.�C%:^
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���N��ߎ�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����c���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����4x��/�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�������^

���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ās�c�D
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���+[y �m�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���t6PH�"-\
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���x���f�(
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��� ��nB;
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����*/&|H�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���MB�2{<
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��IJ�
!|�L-
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����o<�p0�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����/�,�u
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����4�zl
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ē�,&�+�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���D��L�}N
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ā�E�-~�f
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ĉ�z2�V
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ĥ�͗�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����>���>
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���0��Űݬ�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���ՠ�Fw�K�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���~/�ۃ��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��� 42ձ]
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���Z�7�zZ9
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����Zؘ:��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ġ�]=O�{
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���g��6�j~
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���GD�m
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���\�P��4�$
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ĵ��0�nr
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����
V~�pT�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ĕ˔�Bw
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���;��T�	
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����P��q
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	������������������������������	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���v��T��]
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ġ�l&�[Y
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	������������������������	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����V��6�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���|qL���C
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	������������������	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���S��Z��.�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���l��a�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	������������	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���K�FXc�>�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���@]�|�_%M
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	������	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���N� ��TA
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ŀ4�0�,�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���s�*�ܨ�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���N�1p��sO
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
������	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���ȝS�%s��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��������
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���_�ܥ���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	������������������������	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����ҿ�~��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ļ����[�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	������������������	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����Q
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���\�=.��z
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	������������	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���=f���F<;
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���[�;R��NK
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	������	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���	�*$��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���)�>��p�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���X�G�}4
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���v�˰Je؉
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	������	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���@�0�-i��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ĖS3l�gU�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ċ

v����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���yQoH��Ma
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����$�~
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����}��_
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����4r/�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ħ{�k����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ĭ��<�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����y���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��IJ�E	t�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ĵ���2
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���mҦ�\a�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��� 8��/½z
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���Lȁ�[��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��āe���."
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ą,����I�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���֎im�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���ě�L6�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���JR4�F�8�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��īw���:'
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���(��+EA*
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����
����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ľ]�݆NO�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���D��gX
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����+���%L
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���|}=j���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ĝ����$
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5	���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��Ĵf���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����r���y�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5�����m���a�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8	���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���v|�HѪ
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9	��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ċ�����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:	���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5����#�D��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;	��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���Ү�2��I
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<���;		��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���bM�n�>
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=�
�<	���;		��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5���ṈK9��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>	���=	�
�<	���;		��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���5��ċM��,Ѿ
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
���������|jXG6%�������wfUD3"�������tbP>,�������xfTB0�������~lZI8'�������yhWF5$�������vdRA0����Y	�
�X	���>		���=	�
�<	���;		��:		���9		��8		���7	���6	���5		���4		���3		���2		���1	���0	���/	���.	���-	���,	���+		�
H�*		���)		���(		���'		���&		���%	���$	���#		���"		���!	��� 	���		���		���		���		���		���		���	���	���		���		���	���	���	���	���	���	���	���	���
	���	���	���
	���		���	���	���	���	���	���	���	���	���	���	���~	���}	���|	���{		���z		���y		���x		���w	���v	���u	���t	���s		���r		���q		���p		���o		���n		���m		���l		���k		���j		���i		���h		���g	���f	���e	���d	���c		���b		���a		�
�`		���_	���^	���]	���\	���[	��Z	���W	�
��V	���U	�
��T	���S		�
��R		���Q	�
��P	���O		�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�YAC���5���6�3����
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?		��AC���5���dH{T��r
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@	���?		��AC���5�����ܦ���T
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A	���@	���?		��AC���5����ݜ5�P*f
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B	���A	���@	���?		��AC���5���U�ϘTǗ�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C	�m�B	���A	���@	���?		��AC���5���IV�p��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D		���C	�m�B	���A	���@	���?		��AC���5��ăm*��?�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E		��D		���C	�m�B	���A	���@	���?		��AC���5����y��˛�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���p1���Bb
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����]��QR
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ď/�0�r
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���1�qX>�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���"p-�s��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5������ۣ
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����w;��2
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���#��� @��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���;(�G?�<
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���1u���8W
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���2�����yV
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���zc�vl[�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���/��`��

M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���/���y}

M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5������u-�t
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���[��G!2��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��� %�l��8�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����^F�-��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�������1 
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��Ē;];�L
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ē*�`Yl�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���qv;|��I
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���.J�
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���/��-J��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���C��wSD
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���O���fǿf
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���Ik�j�X
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��� zi�?�:
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���.����,
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���\�0���&
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����_JH
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����cf��

KM
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
9
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���F���Ƹf

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���@tMl"/j

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���qpa%��f

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����h$�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���4�l_�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����X��

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����gS��

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ľ�)\�8�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���t{J���

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���.€?]w{


9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���A̢3b�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����%��
�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���Vb���MТ

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���(����*

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��Ĥ�s����

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���c��7��

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���]�v9�Q�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����<wf�6B�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���a�S��޳b

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ĸIT�$�


9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���]ޡ�U(�


9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��Ĉ
���es

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���F���@

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���~o�e���

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ĵ]�s x�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�	���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���pX�(�$

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������	�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����1!���j

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������������		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���:�D�7L&�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	������������	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���
�U+iV�

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	���������	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����r;����l

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	������	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����tٰ�


9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	����	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����9;�O�@

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k��	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���ᔉ=�p��

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�	�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5������po4

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���d*���:

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f����
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���2��hH

9M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
��f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5��čB^Z�3
�i�]
�
D��B�N
�
T	�	_�l�F�u�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5����m%�J�U�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
C���5���Q����d
�i�]
�
D��B�N
�
T	�	_�l�F��B�\g


f�gg2169:3b6abd24cbffd175389071305db9505c903bc4daupdateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5���l�z�!�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
+���5���~��`)�_
���xph`(�����������xph`XPH@8�� 0H@pphh``XXP�������PH@80( ��xp��h�`���	(����	 �	�	�	�	������������@������xph`XPH@80( 	�	p	`	P	@
�	0
��
�X
�
�
��
��
��
��
��
��
��
�x
�P
�8
�(
x
p
h�
`�
X�
P0
H 
@
8X
0
(
 �
�
�
�
���� �x�H�@�8�0�(� �����������xph`XPH@80�(� ���������������������xph`XPH@80�(� ���
�	8
�	H
�	X
�	h
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8	x
0	�
(	�
 



	�	�	�	�	�����80( PH����	�	�	�	�	�	�	�	��������xph`XPH@80(������������������������XPH@80(�x�	�g�_�e�]�:_��8_/�6`��4`1�2a��0a3�.dcb5b��&fe�"�[�f�Y�d�W�S�Q�X���O�M�K�I�G�A�Elkji
hg	���5���]�����s���q���o�|�m�z�k�x�i�g�n�e�l�c�a�j�_���u�������w���7���y�������}�{��������������������������������������������������������������������������������������������M�����������������K���������G���J�������������>:9654*)(
	��������������;�<�=!�>#�S%�t#s!rqponm^-U+T'^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_^]\[
ZYX
R	PNLJHFDB@>�<�:�8�6�4�2�0�.�,�*�(�&�$�"� �����������
����������������������������������������������������������������������������������v'u%���C�=�A�;�?�=�;99~7}5|3{1z/y7y-x+w)�h�c�a�_�]�[�Y�W�U?���5���m�fe
8@����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5��ļ�yJ�#��
N
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
9�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		�����5��ľmcQ;��m
������!trans_item
;comps_environment_group�
trans�3comps_group_packageM
����5���;�0v�l
	��@������������	��xph`XPH@	880( ���@80�(� 	XPH@h`XP80( �����������	����������xph`XP������������xph`XPH@80	((	 P	HH@�8�0�( ���
������ ������
0�����������x�ph�`X	�P	�H	�@80	(	 �����
�
��
��
��
�X
�h
�x
��
��
��
��
��
��
�
��
��
x�
p
h
`	�
X	�
P	x
H
@	p
8	h
0	`
(	X
 �
`
p
��
����������������`� �������x�p�hx`pXhP`HX@P�H�@�8	�0	�(	� xphH@�������	P�	H������8�0�(x�ph`�XPH@80( �����
�	�
�
�	�
�x
��
�
��
�p����	�	@	0
(

�
 
��	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	��������������������7���8���9���:���;���<���=���>���L�L�K�K�JMJ�I�HKH�G�F�EIE�DGD�C�B�A�@�?�~�M�}�����N�M�������U�TlT�S�R�Q�P�O�N�|�nm�ml�lk�kj�ji�ih�hg�g
fe�edcba�`�_�^�^�]�\�[�[�W�V�V�U��!���������������������������GcEbCaA`?_=]+\)�'z0y.x>x,w�w*v�v(u�u&t�t$s�s"r�r q�qp�po�on��P����X�X�W������������Z�Z�Y�Y�
�	<��
�dB@
>
�TQ�L
�J�H�<�:�8�6�4R�{VzTyR
�I�
P�$�"���������������W�V�UCQ
���������f�
8(

�[
Y�VxMK
IGE
C	A?=;97531/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�j�i�h�g�f�d�c�b�a�`�_�^�]�\�[�Z�X�W�V�P�N�L�J�H�F�D�B�@�>�<:~8}6|4{2�L�%�N�#�P��R��T������d�`�^�\�Z�X�V
��?���5����)�BAN
98����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@8�
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���#�"�ӱ�L
O
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
9
��
	�
�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		�����5���XyJ�Eޟ
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5���0�Y7�&0
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ����������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kH�������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5���*�����O
:0����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80��
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���Vez��
P
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
9
�
�����
	�
�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		�����5��Đ,�"�Ƒ
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
����5������!��Qm
	�{P������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`
80	(� ���	
��
��
��
�
��
��
�
X
�
P
�
H
�
@
�p
��
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|HX����������������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���5���rL�|�P
;(����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80(���
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���Ģ��|�b
Q
}�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
9
�
�
}�������
	�
�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��;���5��Ē����?
%�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������������T
�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<C���5����i�ðn�
" ������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���

�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���5���̐�lK��
&�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$��������������U�T
�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<C���5���Ş1��
"!������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
�

�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���CC���5���.h�����-
s��R��Y
�
�
Y
��B�s'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���5����=RIvE�
��R��Y
�
�
Y
��B�sX�2	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���5���_��ؑ�

���R��Y
�
�
Y
��B�s
�?�3	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�2	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���5��Ċ��g)z�

���R��Y
�
�
Y
��B�s
�
�'�4	M�useradd: cannot open /etc/passwd?�3	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�2	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���5���;�`��]�

N��R��Y
�
�
Y
��B�s
�
�
N[�5	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�4	M�useradd: cannot open /etc/passwd?�3	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�2	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�1	M�useradd: cannot open /etc/passwd�!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootAC���5����BqPP
	

9Q
k�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
�
�
}�	���������
	�
�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����-���ܶ&
�Q
Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
}�
	�
�	��������
9�f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5����Bb/ZY;
�Q
Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
}�
	�
�	�����
9����f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���0�Fh���
}Q
Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
��
	�
�	��
9�������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5�����v-�$�+
Vi�]
�
D��B�N
�
T	�	_�l�F�Vu�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5���p�#��t�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
C���5�����3�
i�]
�
D��B�N
�
T	�	_�l�F�VG�]g

#
g�2169:3b6abd24cbffd175389071305db9505c903bc4dainstall lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules3C���5���5c�젤E
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
��e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����5���BKBr��o�
�=�
�o	�	�	�	H	��U��Y��b�<"{p3������pN/���}_P;
�
�
�
�
`
$��n+��`
�
�
R���}U/	���rM'���u=��9>#Illvm-static15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Illvm-static16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test14.0.61.module+el8.7.0+1080+d88dc670x86_64	�<+?lm_sensors-libs3.4.023.20180522git70f7e08.el8x86_64�=-?lm_sensors-devel3.4.023.20180522git70f7e08.el8x86_64�<Illvm-test16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test15.0.71.module+el8.8.0+1144+0a4e73bdx86_64��lz41.8.33.el8_4x86_64�;)9linux-firmware20240610122.git90df68d2.el8_10noarch�8)3linux-firmware20240111121.gitb3132c18.el8noarch=Kllvm-test17.0.62.module+el8.10.0+1694+aabef26ex86_64[?#Kllvm-static17.0.62.module+el8.10.0+1694+aabef26ex86_64Z>#Illvm-static14.0.61.module+el8.7.0+1080+d88dc670x86_64	�=Kllvm-libs17.0.62.module+el8.10.0+1694+aabef26ex86_64Y<Illvm-libs16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�<Illvm-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	�;Gllvm-libs12.0.12.module+el8.5.0+692+8756646fx86_64�C+Kllvm-googletest17.0.62.module+el8.10.0+1694+aabef26ex86_64>!Kllvm-devel17.0.62.module+el8.10.0+1694+aabef26ex86_64X=!Illvm-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�=!Illvm-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Illvm-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	�8Kllvm17.0.62.module+el8.10.0+1694+aabef26ex86_64W7Illvm16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�7Illvm15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�7Illvm14.0.61.module+el8.7.0+1080+d88dc670x86_64	�&%lksctp-tools1.0.183.el8x86_64�:)7linux-firmware20230824120.git0e048b06.el8_9noarchwC)Imariadb-common10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-common10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-common10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-common10.3.281.module+el8.4.0+427+adf35707x86_64|C)Imariadb-backup10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-backup10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-backup10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-backup10.3.281.module+el8.4.0+427+adf35707x86_64{<Imariadb10.3.391.module+el8.8.0+1452+2a7eab68x86_64�<Imariadb10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�;Gmariadb10.3.322.module+el8.5.0+777+18007c86x86_64�;Gmariadb10.3.281.module+el8.4.0+427+adf35707x86_64z"man-db2.7.6.118.el8x86_64�	make4.2.111.el8x86_64
�	make4.2.110.el8x86_64!mailcap2.1.483.el8noarch�m41.4.187.el8x86_64Vlzop1.0320.el8x86_640lzo2.0814.el8x86_64�#lz4-libs1.8.33.el8_4x86_64�lynx2.8.94.el8x86_64�&lvm2-libs2.03.1210.el8x86_64/!lvm22.03.1210.el8x86_64.''luajit2.1.00.16beta3.el8x86_64	]"lua-libs5.3.412.el8x86_64�lua5.3.412.el8x86_64�lsscsi0.323.el8x86_64�!lshwB.02.19.26.el8x86_64�#logrotate3.14.06.el8x86_64�#logrotate3.14.04.el8x86_64�#lmdb-libs0.9.242.el8x86_64�#lmdb-libs0.9.241.el8x86_64�����5���<�,�z�P�
�������viZK<-���������n[H5"
��
�
��
�
�
�
�
�
h
U
C
6
*


���������}pcVC0
��������~jE"
�
�
�
�
v
N
&	�	�	�	w	N	'�������{�l]F/�������wjWD1���������tgZM@-��������qdQ=)���������wgWG7"��������ufWA,������������}sk^TJ>1$
���l
libuvt%libvirt-libsu�
libtirpc�)mariadb-backup�)mariadb-backup{mariadb�mariadb	�mariadb�mariadbzman-db�	make
�	makemailcap�m4V	lzop0lzo�
lz4-libs�	lynx�lvm2-libs/	lvm2.luajit	]
lua-libs�lua�lsscsi�	lshw�logrotate�logrotate�lmdb-libs�lmdb-libs�+lm_sensors-libs�-lm_sensors-devel�llvm-test[llvm-test
�llvm-test�llvm-test	�#llvm-staticZ#llvm-static
�#llvm-static�#llvm-static	�llvm-libsYllvm-libs
�llvm-libs�llvm-libs	�llvm-libs�+llvm-googletest!llvm-develX!llvm-devel
�!llvm-devel�!llvm-devel	�	llvmW	llvm
�	llvm�	llvm	�%lksctp-tools�)linux-firmware)linux-firmwarew)linux-firmware
!)linux-firmware�)linux-firmwarev)linux-firmware
�)linux-firmware�)linux-firmware�'libzstd-devel�libzstd�%libzip-develilibziphlibyaml�'libxslt-develelibxslt-%libxshmfencey'libxml2-develV'libxml2-devel
�'libxml2-devel�'libxml2-devel	�'libxml2-devel�'libxml2-develLlibxml2libxml2vlibxml2�libxml2
�libxml2�libxml2�%libxkbcommonZ+libxcrypt-devel�libxcrypt�%libxcb-devel�libxcb	0libxcb�libx86�#libwmf-lite�'libwebp-develU'libwebp-devel
�'libwebp-devel�'libwebp-devel['libwebp-develNlibwebpTlibwebp
�libwebp�libwebpZlibwebp�/libwayland-server�/libwayland-serverx)libwayland-egl�)libwayland-eglw/libwayland-cursor�/libwayland-cursorv/libwayland-client�/libwayland-clientulibvorbistlibvisuals%libvirt-libsS%libvirt-libs
�%libvirt-libs�%libvirt-libsY%libvirt-libs	�%libvirt-libsr1libvirt-daemon-kvmq'Qlibvirt-daemon-driver-storage-scsip&Olibvirt-daemon-driver-storage-rbdo(Slibvirt-daemon-driver-storage-mpathn*Wlibvirt-daemon-driver-storage-logicalm/alibvirt-daemon-driver-storage-iscsi-directl(Slibvirt-daemon-driver-storage-iscsik*Wlibvirt-daemon-driver-storage-glusterj'Qlibvirt-daemon-driver-storage-diski'Qlibvirt-daemon-driver-storage-coreh"Glibvirt-daemon-driver-storageg!Elibvirt-daemon-driver-secretfAlibvirt-daemon-driver-qemue#Ilibvirt-daemon-driver-nwfilterd"Glibvirt-daemon-driver-nodedevc"Glibvirt-daemon-driver-networkb$Klibvirt-daemon-driver-interfacea)libvirt-daemon`/libverto-libevent,)libverto-devel
�)libverto-devel(
libverto
�
libverto�
libuv_'libuuid-devel'libuuid-develu'libuuid-devel�'libuuid-devel
�'libuuid-devel	@'libuuid-devel�libuuidlibuuidlibuuidtlibuuidslibuuid�libuuid�libuuid
�libuuid
�libuuid	?libuuid	4libuuid�#libutempter�libuser�libuser
�libuser�libusbx�libusb+libusal^%libunistring�'libtraceevent�1libtool-ltdl-devel	&%libtool-ltdl�libtool	!libtommath
8!libtommath�#libtomcrypt�)libtirpc-devel)libtirpc-devel	R
libtirpc
libtirpc	T
libtirpc�'libtiff-devels'libtiff-develR'libtiff-devel�'libtiff-devel�'libtiff-devel	�'libtiff-develtlibtiffrlibtiffQlibtiff�libtiff�libtiff	�libtiff�'libtidy-develdlibtidyclibtheora]libthai�libteventlibteventrlibteventlibtevent
�libtevent�libteam�libtdblibtdbqlibtdb~libtdb
�libtdb�	lz4�)linux-firmware�)mariadb-backup	�)libtirpc-devel�4���5����i@Q/��

�M@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������X����@C���5���x��
(���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	��c�lz41.8.33.el8_4x86_64!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���5��Ĵ�_m���
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5����QUd�Z��
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ����������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k@��������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5���xn��:�
< ����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���E�p�&��
}R
Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9�
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���	���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����x��q
}R
Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9�
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5��IJ�إL
�i�]
�
D��B�N
�
T	�	_�l�F�V�y�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5��Ļ��x+�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
C���5���8�+=��
r
�i�]
�
D��B�N
�
T	�	_�l�F�V��H�^g

%
g)�C2170:cb36c4723734c6d9bd9fbdef28b4635042af773ainstall lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules3C���5���M�v
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
��f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����5��Ĕ�
��hl
�>�
�o	�	�	�	H	��U��Y��b�<"{p3������pN1/���}_P;
�
�
�
�
`
$��n+��`
�
�
R��}U/	���rM'���u=��9>#Illvm-static15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Illvm-static16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test14.0.61.module+el8.7.0+1080+d88dc670x86_64	�<+?lm_sensors-libs3.4.023.20180522git70f7e08.el8x86_64�=-?lm_sensors-devel3.4.023.20180522git70f7e08.el8x86_64�<Illvm-test16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-test15.0.71.module+el8.8.0+1144+0a4e73bdx86_64��lsof4.93.21.el8x86_64�lz41.8.33.el8_4x86_64�;)9linux-firmware20240610122.git90df68d2.el8_10noarch�8)3linux-firmware20240111121.gitb3132c18.el8noarch=Kllvm-test17.0.62.module+el8.10.0+1694+aabef26ex86_64[?#Kllvm-static17.0.62.module+el8.10.0+1694+aabef26ex86_64Z>#Illvm-static14.0.61.module+el8.7.0+1080+d88dc670x86_64	�=Kllvm-libs17.0.62.module+el8.10.0+1694+aabef26ex86_64Y<Illvm-libs16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�<Illvm-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�<Illvm-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	�;Gllvm-libs12.0.12.module+el8.5.0+692+8756646fx86_64�C+Kllvm-googletest17.0.62.module+el8.10.0+1694+aabef26ex86_64>!Kllvm-devel17.0.62.module+el8.10.0+1694+aabef26ex86_64X=!Illvm-devel16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�=!Illvm-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Illvm-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	�8Kllvm17.0.62.module+el8.10.0+1694+aabef26ex86_64W7Illvm16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�7Illvm15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�7Illvm14.0.61.module+el8.7.0+1080+d88dc670x86_64	�&%lksctp-tools1.0.183.el8x86_64�:)7linux-firmware20230824120.git0e048b06.el8_9noarchwC)Imariadb-common10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-common10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-common10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-common10.3.281.module+el8.4.0+427+adf35707x86_64|C)Imariadb-backup10.3.391.module+el8.8.0+1452+2a7eab68x86_64�C)Imariadb-backup10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�B)Gmariadb-backup10.3.322.module+el8.5.0+777+18007c86x86_64�B)Gmariadb-backup10.3.281.module+el8.4.0+427+adf35707x86_64{<Imariadb10.3.391.module+el8.8.0+1452+2a7eab68x86_64�<Imariadb10.3.351.module+el8.6.0+1005+cdf19c22x86_64	�;Gmariadb10.3.322.module+el8.5.0+777+18007c86x86_64�;Gmariadb10.3.281.module+el8.4.0+427+adf35707x86_64z"man-db2.7.6.118.el8x86_64�	make4.2.111.el8x86_64
�	make4.2.110.el8x86_64!mailcap2.1.483.el8noarch�m41.4.187.el8x86_64Vlzop1.0320.el8x86_640lzo2.0814.el8x86_64�#lz4-libs1.8.33.el8_4x86_64�lynx2.8.94.el8x86_64�&lvm2-libs2.03.1210.el8x86_64/!lvm22.03.1210.el8x86_64.''luajit2.1.00.16beta3.el8x86_64	]"lua-libs5.3.412.el8x86_64�lua5.3.412.el8x86_64�lsscsi0.323.el8x86_64�!lshwB.02.19.26.el8x86_64�#logrotate3.14.06.el8x86_64�#logrotate3.14.04.el8x86_64�#lmdb-libs0.9.242.el8x86_64�#lmdb-libs0.9.241.el8x86_64�����5��čy�c`�
������rcTE6'���������wdQ>+�
�
��
�
�
�
�
�
q
^
L
?
3
&

����������yl_L9&��������sN+
�
�
�

W
/
	�	�	�	W	0	��������ufO8!
��������s`M:'��������}pcVI6#��������zmZF2
����������p`P@+
��������~o`J5&�������������|tg]SG:- ���	lsof�
libuvt%libvirt-libsu
libtirpc�)mariadb-backup�)mariadb-backup{mariadb�mariadb	�mariadb�mariadbzman-db�	make
�	makemailcap�m4V	lzop0lzo�
lz4-libs�	lynx�lvm2-libs/	lvm2.luajit	]
lua-libs�lua�lsscsi�	lshw�logrotate�logrotate�lmdb-libs�lmdb-libs�+lm_sensors-libs�-lm_sensors-devel�llvm-test[llvm-test
�llvm-test�llvm-test	�#llvm-staticZ#llvm-static
�#llvm-static�#llvm-static	�llvm-libsYllvm-libs
�llvm-libs�llvm-libs	�llvm-libs�+llvm-googletest!llvm-develX!llvm-devel
�!llvm-devel�!llvm-devel	�	llvmW	llvm
�	llvm�	llvm	�%lksctp-tools�)linux-firmware)linux-firmwarew)linux-firmware
!)linux-firmware�)linux-firmwarev)linux-firmware
�)linux-firmware�)linux-firmware�'libzstd-devel�libzstd�%libzip-develilibziphlibyaml�'libxslt-develelibxslt-%libxshmfencey'libxml2-develV'libxml2-devel
�'libxml2-devel�'libxml2-devel	�'libxml2-devel�'libxml2-develLlibxml2libxml2vlibxml2�libxml2
�libxml2�libxml2�%libxkbcommonZ+libxcrypt-devel�libxcrypt�%libxcb-devel�libxcb	0libxcb�libx86�#libwmf-lite�'libwebp-develU'libwebp-devel
�'libwebp-devel�'libwebp-devel['libwebp-develNlibwebpTlibwebp
�libwebp�libwebpZlibwebp�/libwayland-server�/libwayland-serverx)libwayland-egl�)libwayland-eglw/libwayland-cursor�/libwayland-cursorv/libwayland-client�/libwayland-clientulibvorbistlibvisuals%libvirt-libsS%libvirt-libs
�%libvirt-libs�%libvirt-libsY%libvirt-libs	�%libvirt-libsr1libvirt-daemon-kvmq'Qlibvirt-daemon-driver-storage-scsip&Olibvirt-daemon-driver-storage-rbdo(Slibvirt-daemon-driver-storage-mpathn*Wlibvirt-daemon-driver-storage-logicalm/alibvirt-daemon-driver-storage-iscsi-directl(Slibvirt-daemon-driver-storage-iscsik*Wlibvirt-daemon-driver-storage-glusterj'Qlibvirt-daemon-driver-storage-diski'Qlibvirt-daemon-driver-storage-coreh"Glibvirt-daemon-driver-storageg!Elibvirt-daemon-driver-secretfAlibvirt-daemon-driver-qemue#Ilibvirt-daemon-driver-nwfilterd"Glibvirt-daemon-driver-nodedevc"Glibvirt-daemon-driver-networkb$Klibvirt-daemon-driver-interfacea)libvirt-daemon`/libverto-libevent,)libverto-devel
�)libverto-devel(
libverto
�
libverto�
libuv_'libuuid-devel'libuuid-develu'libuuid-devel�'libuuid-devel
�'libuuid-devel	@'libuuid-devel�libuuidlibuuidlibuuidtlibuuidslibuuid�libuuid�libuuid
�libuuid
�libuuid	?libuuid	4libuuid�#libutempter�libuser�libuser
�libuser�libusbx�libusb+libusal^%libunistring�'libtraceevent�1libtool-ltdl-devel	&%libtool-ltdl�libtool	!libtommath
8!libtommath�#libtomcrypt�)libtirpc-devel)libtirpc-devel	R
libtirpc
libtirpc	T
libtirpc�'libtiff-devels'libtiff-develR'libtiff-devel�'libtiff-devel�'libtiff-devel	�'libtiff-develtlibtiffrlibtiffQlibtiff�libtiff�libtiff	�libtiff�'libtidy-develdlibtidyclibtheora]libthai�libteventlibteventrlibteventlibtevent
�libtevent�libteam�libtdblibtdbqlibtdb~libtdb
�libtdb�lz4�)linux-firmware�)mariadb-backup	�)libtirpc-devel�4���5��čjq}3	��

�N@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������P������@C���5��ĥ�y`4o�^
)���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	���d�lsof4.93.21.el8x86_64�c�lz41.8.33.el8_4x86_64!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���5��ĜxV�%}�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5���)��U�Y\�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������x������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k8���������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5���#�ȉ��#K
=����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( �����
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���FW[�M�)�
}S
H�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H�	���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5�����ek�L;
}S
H�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H�		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5���V��y�F��
]i�]
�
D��B�N
�
T	�	_�l�F�V�]z�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5����u�*�`
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
C���5���<{�P��")
i�]
�
D��B�N
�
T	�	_�l�F�V�]I�_g

'
gWo02171:e11e14edb2660ede6fbaa073b9ad3c290188e2b7install unrarz�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules3C���5�����&���
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
��g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�-���5���)�a�4�p�
wF������F��v[<&	����g="
�
�
�
�
�
�
��
�
u
a
N
@
2
$�

���������}iXG6%�����Q����u_TF8*
�
�
�
�
�
l
Q
I
A
3
%

	�	�	�	�	��	�	�	�	��	�	�	tu	k	a	W	M	Ck	3	#		[���
unrar�	wget�!zlib-develK	zlibJyum-utilsIyumH!util-linuxG	yajl�'varnish-devel�varnish�
valgrind�%unbound-libs�	zstd�zsh%zsh	!zlib-devel�!zlib-devel$!zlib-devel	!zlib-devel-	zlib�	zlib#	zlib		zlibWzip�yum-utils�yum-utils�yum-utils	yum�yum�yum	"yumV	yajl
�	yajl
<	yajl�)xz-lzma-compat))xz-lzma-compat�xz-libs"xz-libsU
xz-devel!
xz-devel�xz xzT7xorg-x11-server-utils�5xorg-x11-proto-devel�5xorg-x11-fonts-Type1�$Kxorg-x11-fonts-ISO8859-1-100dpi�3xorg-x11-font-utils�!xml-commonI-xkeyboard-config[xinetd
;xinetd	
xfsprogs�
xfsprogs�
xfsprogs
xfsprogsS
xclipH-xapian-core-libs�/x2goserver-common�/x2goserver-commonG
which�
which
whichR	wget	wgetvirt-what�virt-what�virt-whatvirt-whatQ#vim-minimal#vim-minimal�#vim-minimal�#vim-minimal�#vim-minimalP)vim-filesystem	
)vim-filesystem�%vim-enhanced	%vim-enhanced�!vim-common	!vim-common�+varnish-modules
c'varnish-devel
bvarnish
Bvarnish
:varnish�
valgrind
�
valgrind
9
valgrind�'uw-imap-utilsY)uw-imap-staticX'uw-imap-develTuw-imap	!util-linux�!util-linux�!util-linux!util-linux	A!util-linuxO
utf8proc
8
utf8proc�'userspace-rcuH
usbredir�7urw-base35-z003-fonts�)Uurw-base35-standard-symbols-ps-fonts�7urw-base35-p052-fonts�!Eurw-base35-nimbus-sans-fonts�"Gurw-base35-nimbus-roman-fonts�$Kurw-base35-nimbus-mono-ps-fonts�;urw-base35-gothic-fonts�;urw-base35-fonts-common�-urw-base35-fonts�?urw-base35-d050000l-fonts�7urw-base35-c059-fonts�=urw-base35-bookman-fonts�
unzip
unzip�)unixODBC-devel�)unixODBC-devel`
unixODBC�
unixODBC�%unbound-libs�4���5�����mՆo9

�O@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������H��������8���5���j\$�Z��
6�����jH&P�-��zZ:�
�
�
�
�
x
X
3
���zS,���jB�"
�
�
d
6
	�	�	T	��runrar0.1.11.el8x86_64�$!tuned2.22.14.el8_10.1noarchF&%trousers-lib0.3.152.el8x86_64E"trousers0.3.152.el8x86_64D!tpm2-tss2.3.26.el8x86_64C27urw-base35-z003-fonts2017080110.el8noarch�AUurw-base35-standard-symbols-ps-fonts2017080110.el8noarch�27urw-base35-p052-fonts2017080110.el8noarch�9Eurw-base35-nimbus-sans-fonts2017080110.el8noarch�:Gurw-base35-nimbus-roman-fonts2017080110.el8noarch�<Kurw-base35-nimbus-mono-ps-fonts2017080110.el8noarch�4;urw-base35-gothic-fonts2017080110.el8noarch�4;urw-base35-fonts-common2017080110.el8noarch�--urw-base35-fonts2017080110.el8noarch�6?urw-base35-d050000l-fonts2017080110.el8noarch�27urw-base35-c059-fonts2017080110.el8noarch�5=urw-base35-bookman-fonts2017080110.el8noarch�unzip6.046.el8x86_64unzip6.045.el8_4x86_64�')unixODBC-devel2.3.71.el8x86_64`')unixODBC-devel2.3.111.rhx86_64�!unixODBC2.3.71.el8x86_64�!unixODBC2.3.111.rhx86_64�*%unbound-libs1.16.25.el8_9.6x86_64�*%unbound-libs1.16.25.el8_9.2x86_64�&%unbound-libs1.16.25.el8x86_64&%unbound-libs1.16.22.el8x86_64	$#tzdata-java2024a1.el8noarch�$#tzdata-java2023d1.el8noarch
�$#tzdata-java2023c1.el8noarchb$#tzdata-java2022g1.el8noarch
7$#tzdata-java2022a1.el8noarch�$#tzdata-java2021e1.el8noarch�tzdata2024a1.el8noarchtzdata2023d1.el8noarch�tzdata2023c1.el8noarch}tzdata2022g1.el8noarchtzdata2022a1.el8noarch�tzdata2021e1.el8noarchN!tuned2.21.01.el8_9noarch�tuned2.20.01.el8noarch�tuned2.19.01.el8noarchtuned2.16.01.el8noarchM"ttmkfdir3.0.954.el8x86_64�&%trousers-lib0.3.151.el8x86_64L"trousers0.3.151.el8x86_64Ktree1.7.015.el8x86_64!tpm2-tss2.3.25.el8x86_64�!tpm2-tss2.3.24.el8x86_64Jtmux2.73.el8x86_64�tmux2.71.el8x86_64�!	tk-devel8.6.81.el8x86_64�	tk8.6.81.el8x86_64�	telnet0.1776.el8x86_64	k@C���5��Ļ 5���
*���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	����e�unrar0.1.11.el8x86_64�d�lsof4.93.21.el8x86_64�c�lz41.8.33.el8_4x86_64!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���5���F�zs~u�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5���,��2K���
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������xp������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k0����������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5����w��pQ|
>����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���+M8]���
}T
7�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7�	���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��3C���5���l��"���	
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
��h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�-���5��ėhH4աR
x6������F6��v[<&	����g="
�
�
�
�
�
�
��
�
u
a
N
@
2
$�

���������}iXG6%�����Q����u_TF8*
�
�
�
�
�
l
Q
I
A
3
%

	�	�	�	�	��	�	�	�	��	�	�	tu	k	a	W	M	Ck	3	#		[���!unrar-free�
unrar�	wget�!zlib-develK	zlibJyum-utilsIyumH!util-linuxG	yajl�'varnish-devel�varnish�
valgrind�%unbound-libs�	zstd�zsh%zsh	!zlib-devel�!zlib-devel$!zlib-devel	!zlib-devel-	zlib�	zlib#	zlib		zlibWzip�yum-utils�yum-utils�yum-utils	yum�yum�yum	"yumV	yajl
�	yajl
<	yajl�)xz-lzma-compat))xz-lzma-compat�xz-libs"xz-libsU
xz-devel!
xz-devel�xz xzT7xorg-x11-server-utils�5xorg-x11-proto-devel�5xorg-x11-fonts-Type1�$Kxorg-x11-fonts-ISO8859-1-100dpi�3xorg-x11-font-utils�!xml-commonI-xkeyboard-config[xinetd
;xinetd	
xfsprogs�
xfsprogs�
xfsprogs
xfsprogsS
xclipH-xapian-core-libs�/x2goserver-common�/x2goserver-commonG
which�
which
whichR	wget	wgetvirt-what�virt-what�virt-whatvirt-whatQ#vim-minimal#vim-minimal�#vim-minimal�#vim-minimal�#vim-minimalP)vim-filesystem	
)vim-filesystem�%vim-enhanced	%vim-enhanced�!vim-common	!vim-common�+varnish-modules
c'varnish-devel
bvarnish
Bvarnish
:varnish�
valgrind
�
valgrind
9
valgrind�'uw-imap-utilsY)uw-imap-staticX'uw-imap-develTuw-imap	!util-linux�!util-linux�!util-linux!util-linux	A!util-linuxO
utf8proc
8
utf8proc�'userspace-rcuH
usbredir�7urw-base35-z003-fonts�)Uurw-base35-standard-symbols-ps-fonts�7urw-base35-p052-fonts�!Eurw-base35-nimbus-sans-fonts�"Gurw-base35-nimbus-roman-fonts�$Kurw-base35-nimbus-mono-ps-fonts�;urw-base35-gothic-fonts�;urw-base35-fonts-common�-urw-base35-fonts�?urw-base35-d050000l-fonts�7urw-base35-c059-fonts�=urw-base35-bookman-fonts�
unzip
unzip�)unixODBC-devel�)unixODBC-devel`
unixODBC�
unixODBC�%unbound-libs�4���5���K�>lt���

�P@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������@����������8���5����#���
7�����jH&P�-��zZ:�
�
�
�
�
x
X
3
���zS,���jB��"
�
�
d
6
	�	�	T	��r#!unrar-free0.1.11.el8x86_64�unrar0.1.11.el8x86_64�$!tuned2.22.14.el8_10.1noarchF&%trousers-lib0.3.152.el8x86_64E"trousers0.3.152.el8x86_64D!tpm2-tss2.3.26.el8x86_64C27urw-base35-z003-fonts2017080110.el8noarch�AUurw-base35-standard-symbols-ps-fonts2017080110.el8noarch�27urw-base35-p052-fonts2017080110.el8noarch�9Eurw-base35-nimbus-sans-fonts2017080110.el8noarch�:Gurw-base35-nimbus-roman-fonts2017080110.el8noarch�<Kurw-base35-nimbus-mono-ps-fonts2017080110.el8noarch�4;urw-base35-gothic-fonts2017080110.el8noarch�4;urw-base35-fonts-common2017080110.el8noarch�--urw-base35-fonts2017080110.el8noarch�6?urw-base35-d050000l-fonts2017080110.el8noarch�27urw-base35-c059-fonts2017080110.el8noarch�5=urw-base35-bookman-fonts2017080110.el8noarch�unzip6.046.el8x86_64unzip6.045.el8_4x86_64�')unixODBC-devel2.3.71.el8x86_64`')unixODBC-devel2.3.111.rhx86_64�!unixODBC2.3.71.el8x86_64�!unixODBC2.3.111.rhx86_64�*%unbound-libs1.16.25.el8_9.6x86_64�*%unbound-libs1.16.25.el8_9.2x86_64�&%unbound-libs1.16.25.el8x86_64&%unbound-libs1.16.22.el8x86_64	$#tzdata-java2024a1.el8noarch�$#tzdata-java2023d1.el8noarch
�$#tzdata-java2023c1.el8noarchb$#tzdata-java2022g1.el8noarch
7$#tzdata-java2022a1.el8noarch�$#tzdata-java2021e1.el8noarch�tzdata2024a1.el8noarchtzdata2023d1.el8noarch�tzdata2023c1.el8noarch}tzdata2022g1.el8noarchtzdata2022a1.el8noarch�tzdata2021e1.el8noarchN!tuned2.21.01.el8_9noarch�tuned2.20.01.el8noarch�tuned2.19.01.el8noarchtuned2.16.01.el8noarchM"ttmkfdir3.0.954.el8x86_64�&%trousers-lib0.3.151.el8x86_64L"trousers0.3.151.el8x86_64Ktree1.7.015.el8x86_64!tpm2-tss2.3.25.el8x86_64�!tpm2-tss2.3.24.el8x86_64Jtmux2.73.el8x86_64�tmux2.71.el8x86_64�!	tk-devel8.6.81.el8x86_64�	tk8.6.81.el8x86_64�	telnet0.1776.el8x86_64	k@C���5���~*�e{�
+���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	����#�f!�unrar-free0.1.11.el8x86_64�e�unrar0.1.11.el8x86_64�d�lsof4.93.21.el8x86_64�c�lz41.8.33.el8_4x86_64!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���5��ćؽ��X�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5�����ɧ]���
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������xph������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k(�����������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5�����iՏ�{#
?����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( �������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5��ħ���lR
}U
'�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'
�		���	���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���e�_,���
}U
'�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'
�		���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ļ7ў��[�
}U
'�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5���8�a��uZ
�i�]
�
D��B�N
�
T	�	_�l�F�V�]�{�_gg'	
gWo0gWo52171:e11e14edb2660ede6fbaa073b9ad3c290188e2b72173:fec055e78587a83440a65b74a1e9d7e64282c1d88install unrarz�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5���m�5?"?�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
C���5���xy��/
�i�]
�
D��B�N
�
T	�	_�l�F�V�]��H�`g

%
gWui2173:fec055e78587a83440a65b74a1e9d7e64282c1d8remove unrar{�_gg'	
gWo0gWo52171:e11e14edb2660ede6fbaa073b9ad3c290188e2b72173:fec055e78587a83440a65b74a1e9d7e64282c1d88install unrarz�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules���5����9�_�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5��ĽU?�#�~
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������xp`h�����������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k ������������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5��đ�oM솓�
@����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ��������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5���R�;�$�
}V
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'
���
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		�����5��Ĝ\t�oR��
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���5���'�z[$�U
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ����0� ���������xp`hX����������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�������������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���5���%(Aqn�u
A�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������
���
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AC���5����"�5��z
}W
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'

������
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5���&��!�_��
}W
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'

����	��
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��AC���5��ğ�=���
}W
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
�
J
'

�������|kYG6%�������ygUC1
�
�
�
�
k
Y
�
�
9
H
7
'

�	���	��
�			���		���		���
	�
�	���������f���	�
w�
	�
v�		�
u�	�k�	�	�	���	��	���	���	���		�
]�		���		�
\�~		���}		�
[�|		���{	�
Z�z	���y		���x		���w		���v		���u	���t	���s		���r		���q		�D�p		���o		�C�n		���m		�B�l		���k		�A�j		���i	�?�h	���		���g���e		�=�d		���c		���b		���a		���`		���_		�*�^		���]		�(�\		���[		�$�Z		���Y		�#�X		���W		�!�V		���U		��T		���S	��R	���Q		���P		���O	��N	���M		��L		���K		��J		���I	��H	���G	��F	���E		��D		���C	�m�B	���A	���@	���?		��C���5����?���
bi�]
�
D��B�N
�
T	�	_�l�F�V�]�bz�`gg%	
gWuigWul2173:fec055e78587a83440a65b74a1e9d7e64282c1d82171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78remove unrar{�_gg'	
gWo0gWo52171:e11e14edb2660ede6fbaa073b9ad3c290188e2b72173:fec055e78587a83440a65b74a1e9d7e64282c1d88install unrarz�^gg%	
g)�Cg)�E2170:cb36c4723734c6d9bd9fbdef28b4635042af773a2171:e11e14edb2660ede6fbaa073b9ad3c290188e2b78install lsofy�]gg#	
g�g�2169:3b6abd24cbffd175389071305db9505c903bc4da2170:cb36c4723734c6d9bd9fbdef28b4635042af773a8install lz4u�\gg
f�ggf�gi2169:3b6abd24cbffd175389071305db9505c903bc4da2169:3b6abd24cbffd175389071305db9505c903bc4da8updateu�[gg
f�d�f�e�2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb2169:3b6abd24cbffd175389071305db9505c903bc4da8update��ZggU	
f��ff��h2168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea2169:18c56eb44ca81b34996bcaa4b16db9eb48b13ddb8install java-17-openjdk-devel.x86_64��YggI	
f���f���2166:592287f97a6375295cbd340de75f79b5bbd9dca02168:2e07b2f6231f02b76b31eed4c984e4bb761d0fea8install java-17-openjdk.x86_64x�Xgg!	
f��f��!2165:0d0b6e7cefa32162def71445d4ff2de089170b062166:592287f97a6375295cbd340de75f79b5bbd9dca08install mcu�Wgg
f}+�f}+�2165:0d0b6e7cefa32162def71445d4ff2de089170b062165:0d0b6e7cefa32162def71445d4ff2de089170b068updateu�Vgg
f}�f}�2164:1cc601f257838484efb938e5a120dd6bc852c29c2165:0d0b6e7cefa32162def71445d4ff2de089170b068updatez�Ugg%	
f�f�2163:31786c83ecc49f01bea64933a234406f00abdfbc2164:1cc601f257838484efb938e5a120dd6bc852c29c8install treez�Tgg%	
f�{f�|2162:d62ea8fddd772dbc4dc1530102dbb6619ec64f622163:31786c83ecc49f01bea64933a234406f00abdfbc8install atopz�Sgg%	
f�Hf�K2161:3762360e267ae6abe14986636834cea8f93abcd72162:d62ea8fddd772dbc4dc1530102dbb6619ec64f628install htopu�Rgg
e� 2e� �2161:0343638e7926d280f37634a8e56b298afce305ed2161:3762360e267ae6abe14986636834cea8f93abcd78updatey�Qgg#	
e��e� 2145:afb6693db98a05617cad7eb8196c11d78713e2b02161:0343638e7926d280f37634a8e56b298afce305ed8install fioB�Pg


e���2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateB�Og


e��
2145:afb6693db98a05617cad7eb8196c11d78713e2b0updateu�Ngg
e���e��72133:f2dc451136f4a003d0026703adb72590b1c02c782145:afb6693db98a05617cad7eb8196c11d78713e2b08update��MggI	
e��Ye��[2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed2133:f2dc451136f4a003d0026703adb72590b1c02c788remove pgdg-redhat-repo.noarch��Lgg;	
e�ve�v
2133:dda91bcecd1ff06d3e1c47251557131bc676da6a2134:33cfa2fa5d8f841a34eadf5e6e4e95b67fd218ed8install python3-appdirs��KggI	
e�s+e�s.2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b92133:dda91bcecd1ff06d3e1c47251557131bc676da6a8install python3-certifi.noarchy�Jgg#	
e�6Ie�6M2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf2132:6716b89da1ded7f5e96f8e56aa694c0e63b870b98install ftp��IggW	
e�Jue�Jy2129:6d2e785d9f150fedf8c27b89fa2751d59e4ada3c2131:47a41c7266fd074a10f44e8c55eacb0c18771ddf8install varnish-devel varnish-modules}���4J�"nY�Z�&	�
5��$������t\H����w`F*�����y^E2
�
�
�
�
�
l
]
L
6
(
������pZC1�����tU6!
�
�
�
�
�
�
n
Y
@
&
	�	�	�	�	�	�	�	v	g	P	>	*	�������dK;+������n]I5!�������jL2	�������r`G7'�������|pd�WG/���������~^3platfn53platform-python-pip	jpixmanx3platform-python-pip+platform-python�+platform-python
G+platform-python�+platform-python
�+platform-python1pkgconf-pkg-config�!pkgconf-m4�pkgconf�pixman
�pixman
pixman�
pinentry	�	pigz-pgdg-redhat-repo
;-pgdg-redhat-repo�-pgdg-redhat-repo�-pgdg-redhat-repo	q
perltidy�-perl-libwww-perl
�3perl-WWW-RobotRules
�<)perl-UUID-Tiny1perl-URL-Encode-XS
'perl-URI-cpan/perl-URI-FromHash'perl-URI-Find
+perl-URI-Encode	
perl-URI�9perl-UNIVERSAL-require1perl-UNIVERSAL-ref9perl-UNIVERSAL-moniker1perl-UNIVERSAL-isa"Aplatform-python-setuptools�Aplatform-python-setuptools
�Aplatform-python-setuptools3platform-python-pip3platform-python-pip�+platform-python%perl-version;!perl-utils�!perl-utils
!perl-utils3perl-threads-shared%perl-threads+perl-stricturesF-perl-srpm-macros�/perl-podlinkcheckE)perl-podlators%perl-perlfaq#perl-parentperl-open�perl-open
perl-open5perl-namespace-sweepD5perl-namespace-clean�=perl-namespace-autoclean�/perl-match-simpleC#perl-macros�#perl-macros
�#perl-macros)perl-local-liba-perl-libwww-perl
-perl-libwww-perl�perl-libs�perl-libs
�perl-libs)perl-libnetcfg�)perl-libnetcfg
)perl-libnetcfg#perl-libnet�/perl-libintl-perl�-perl-interpreter�-perl-interpreter
�-perl-interpreter+perl-inc-latest`+perl-generators�/perl-experimental'perl-encoding!perl-devel�!perl-devel
!perl-devel:3perl-constant-deferB7perl-constant-booleanA'perl-constant/perl-common-sense�%perl-boolean@#perl-bignum%perl-autodie
perl-asa?%perl-aliased>1perl-ZMQ-Constants=)perl-YAML-Tiny�)perl-YAML-Syck�%perl-YAML-PP</perl-YAML-LibYAML�perl-YAML
perl-YAML�
perl-XXX;%perl-XString:-perl-XMLRPC-Lite95perl-XML-XPathEngine8)perl-XML-XPath�+perl-XML-Writer7'perl-XML-Twig�+perl-XML-TreePP65perl-XML-TreeBuilder53perl-XML-TokeParser�+perl-XML-Stream4+perl-XML-Simple�7perl-XML-SemanticDiff33perl-XML-SAX-Writer2/perl-XML-SAX-Base�%perl-XML-SAX�+perl-XML-RegExp�%perl-XML-RSS15perl-XML-Parser-Lite0+perl-XML-Parser�?perl-XML-NamespaceSupport�?perl-XML-NamespaceFactory/1perl-XML-Namespace.-perl-XML-LibXSLT-+perl-XML-LibXML�-perl-XML-Hash-LX,1perl-XML-Generator+Aperl-XML-Filter-BufferText*/perl-XML-Entities)+perl-XML-Dumper(%perl-XML-DOM�/perl-XML-CommonNS'-perl-XML-Catalog�3perl-X2Go-Server-DB�3perl-X2Go-Server-DB&-perl-X2Go-Server�-perl-X2Go-Server%'perl-X2Go-Log�'perl-X2Go-Log$;perl-X11-Protocol-Other#/perl-X11-Protocol"
perl-X10!-perl-Web-Scraper #perl-Web-IDperl-Want7perl-WWW-Twilio-TwiML3perl-WWW-Twilio-API3perl-WWW-RobotRules
3perl-WWW-RobotRules�)Uperl-WWW-Pastebin-PastebinCom-Create1perl-WWW-Mechanize=perl-WWW-Form-UrlEncoded'perl-WWW-Curl3perl-Variable-Magic�7perl-Validation-Class)Uperl-VM-EC2-Security-CredentialCache#perl-VM-EC21perl-User-Identity�1perl-User-Identity-perl-Unix-Syslog�/perl-Unicode-UTF8�3perl-Unicode-String9perl-Unicode-Normalize5perl-Unicode-MapUTF8/perl-Unicode-Map8-perl-Unicode-Map9perl-Unicode-LineBreak� Cperl-Unicode-EastAsianWidth�5perl-Unicode-Collate�9perl-Unicode-CheckUTF8����4J�"n78��]4�e
��qr]H3����������o^M<$

�
�
�
�
�
�
�
o
]
K
9
!
	�����}dK2���������e]F/
�
�
�
�
�
�
�
�
p
^
L
:
(

	�	�	�	�	�	�	n	V	8	�������xfT�?(������vX:������r�XG6%����q���mYE1�
������}dJ0�������n\J8&������}fO>!�pytho)python3-hawkey�%python3-bind|-python3-firewall�!Epolicycoreutils-python-utils�+policycoreutils��)python3-libdnf�;python3-policycoreutils�;python3-policycoreutils	�#python3-ply	f/python3-pip-wheel'/python3-pip-wheel�/python3-pip-wheel
�/python3-pip-wheel!#python3-pip~#python3-pip
�#python3-pip	g%python3-perf&%python3-perf�%python3-perf�%python3-perf
)%python3-perf�%python3-perfz%python3-perf
�%python3-perf�%python3-perf�%python3-perfq%python3-perf -python3-nftables%-python3-nftables�-python3-nftables
�-python3-nftables5python3-linux-procfs$5python3-linux-procfs�5python3-linux-procfs
�5python3-linux-procfs3python3-libsemanage	�1python3-libselinux�1python3-libselinux
�1python3-libselinux%python3-libs#%python3-libs�%python3-libs
I%python3-libs�%python3-libs
�%python3-libs)python3-libdnf")python3-libdnf�)python3-libdnf�)python3-libdnf	!)python3-libdnf-python3-libcomps
�-python3-libcomps)python3-hawkey!)python3-hawkey�)python3-hawkey�)python3-hawkey	 )python3-hawkey#python3-gpg #python3-gpg
�#python3-gpg5python3-gobject-base-python3-firewall-python3-firewall
H-python3-firewall
�-python3-firewall�-python3-firewall=python3-dnf-plugins-core=python3-dnf-plugins-core�=python3-dnf-plugins-core�=python3-dnf-plugins-core	=python3-dnf-plugins-corep=python3-dnf-plugins-core#python3-dnf#python3-dnf�#python3-dnf�#python3-dnf	#python3-dnf/python3-decorator%python3-dbus-python3-dateutil/python3-configobj+python3-certifi
e%python3-bind}%python3-bind
�%python3-bind
%python3-bind%python3-bind	e'python3-audit'python3-audit�'python3-audit	�+python3-appdirs
f=python2-setuptools-wheel|=python2-setuptools-wheel
�=python2-setuptools-wheel�1python2-setuptools{1python2-setuptools
�1python2-setuptools�/python2-pip-wheel
�/python2-pip-wheel
$/python2-pip-wheel#python2-pip
�#python2-pip
##python2-pip~%python2-libsz%python2-libs
�%python2-libs
A%python2-libs%python2-libs
"%python2-libs}python2ypython2
�python2
@python2python2
!python2|1python-srpm-macros�1python-srpm-macros
 1python-srpm-macros�/python-rpm-macros�/python-rpm-macros
/python-rpm-macros�pv�;publicsuffix-list-dafsapsmisc;!protobuf-c
�!protobuf-c	d
protobuf	\procps-ng�procps-ng�procps-ng
�procps-ng
procmail�'prefixdevname
3postgresql11-server
a3postgresql11-server�3postgresql11-serverL3postgresql11-server	t/postgresql11-libs
`/postgresql11-libs�/postgresql11-libsK/postgresql11-libs	s1postgresql11-devel
_1postgresql11-devel�1postgresql11-develJ1postgresql11-devel	�%postgresql11
^%postgresql11�%postgresql11I%postgresql11	r/postgresql-server	p/postgresql-server�+postgresql-libs	n-postgresql-devel	o!postgresql	m!postgresqlI!postgresql�!popt-devel�	popt1polkit-pkla-compat#polkit-libs#polkit-libs�#polkit-libs�#polkit-libso#polkit-libs
polkitpolkit�polkit�polkitnpolkit	!Epolicycoreutils-python-utils!Epolicycoreutils-python-utils�!Epolicycoreutils-python-utils	�+policycoreutils+policycoreutils�+policycoreutils	�+policycoreutils\;python3-policycoreutils(����4J�"n���y�
J	�s/��J
�
�
j
,��k'��U
�
t
&	�	�	�N	�	V�	)���u$����^8��s?��ncU'��G�S'6���|P$�	����,)python3-libdnf0.63.020.el8_10x86_64�,)python3-hawkey0.63.020.el8_10x86_64�--python3-firewall0.9.118.el8_10noarch�2%1python3-libs3.6.851.el8_8.1.rocky.0x86_64�.%#python3-bind 9.11.3616.el8_10.2noarch|))python3-libdnf0.63.019.el8x86_64"))python3-hawkey0.63.019.el8x86_64!&#python3-gpg1.13.112.el8x86_64 *-python3-firewall0.9.114.el8noarch2%1python3-libs3.6.848.el8_7.1.rocky.0x86_64
�.%)python3-libs3.6.841.el8.rocky.0x86_64()python3-libdnf0.63.03.el8x86_64+)python3-libdnf0.63.017.el8_9x86_64�+)python3-libdnf0.63.014.el8_8x86_64�+)python3-libdnf0.63.011.1.el8x86_64	!*-python3-libcomps0.1.181.el8x86_64
�*-python3-libcomps0.1.162.el8x86_64()python3-hawkey0.63.03.el8x86_64+)python3-hawkey0.63.017.el8_9x86_64�+)python3-hawkey0.63.014.el8_8x86_64�+)python3-hawkey0.63.011.1.el8x86_64	 %#python3-gpg1.13.19.el8x86_64&#python3-gpg1.13.111.el8x86_64
�.5python3-gobject-base3.28.32.el8x86_64--python3-firewall0.9.37.el8_5.1noarch�)-python3-firewall0.9.37.el8noarch*-python3-firewall0.9.313.el8noarch
�,-python3-firewall0.9.111.el8_8noarch
H4=python3-dnf-plugins-core4.0.214.el8_5noarchp2=python3-dnf-plugins-core4.0.213.el8noarch3=python3-dnf-plugins-core4.0.2125.el8noarch3=python3-dnf-plugins-core4.0.2123.el8noarch�5=python3-dnf-plugins-core4.0.2119.el8_8noarch�5=python3-dnf-plugins-core4.0.2114.1.el8noarch	$#python3-dnf4.7.04.el8noarch%#python3-dnf4.7.020.el8noarch%#python3-dnf4.7.019.el8noarch�'#python3-dnf4.7.016.el8_8noarch�%#python3-dnf4.7.011.el8noarch	*/python3-decorator4.2.12.el8noarch&%python3-dbus1.2.415.el8x86_64)-	python3-dateutil2.6.16.el8noarch&'python3-audit3.1.21.el8x86_64+/python3-configobj5.0.611.el8noarch-+!python3-certifi2018.10.157.el8noarch
e,%python3-bind 9.11.368.el8_8.2noarch
,%python3-bind 9.11.368.el8_8.1noarch,%python3-bind 9.11.365.el8_7.2noarch	e,%python3-bind 9.11.3614.el8_10noarch}+%python3-bind 9.11.3611.el8_9noarch
�&'python3-audit3.0.75.el8x86_64�&'python3-audit3.0.74.el8x86_64	�(+python3-appdirs1.4.38.el8noarch
fM=Mpython2-setuptools-wheel39.0.114.module+el8.10.0+1813+4b021305noarch|L=Kpython2-setuptools-wheel39.0.113.module+el8.9.0+1531+a18208f5noarch
�K=Ipython2-setuptools-wheel39.0.113.module+el8.4.0+403+9ae17a31noarch�G1Mpython2-setuptools39.0.114.module+el8.10.0+1813+4b021305noarch{F1Kpython2-setuptools39.0.113.module+el8.9.0+1531+a18208f5noarch
�E1Ipython2-setuptools39.0.113.module+el8.4.0+403+9ae17a31noarch�D/Kpython2-pip-wheel9.0.319.module+el8.9.0+1531+a18208f5noarch
�C/Ipython2-pip-wheel9.0.319.module+el8.6.0+793+57002515noarch
$C/Ipython2-pip-wheel9.0.318.module+el8.4.0+403+9ae17a31noarch>#Kpython2-pip9.0.319.module+el8.9.0+1531+a18208f5noarch
�=#Ipython2-pip9.0.319.module+el8.6.0+793+57002515noarch
#=#Ipython2-pip9.0.318.module+el8.4.0+403+9ae17a31noarch~H%[python2-libs2.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64}K%apython2-libs2.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64zJ%_python2-libs2.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64
�L%cpython2-libs2.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
AL%cpython2-libs2.7.1813.module+el8.8.0+1314+be03569e.1.rocky.0.2x86_64J%_python2-libs2.7.1811.module+el8.7.0+1062+663ba31c.rocky.0.2x86_64
"C[python22.7.187.module+el8.5.0+718+67e45b5f.rocky.0.2x86_64|Fapython22.7.1817.module+el8.10.0+1813+4b021305.rocky.0.2x86_64yE_python22.7.1815.module+el8.9.0+1577+4023cfca.rocky.0.2x86_64
�����4J�"n�ȱĶR�9
�����~m������t_J2�����s\E-
�
�
�
�
�
�
v
a
L
<
,

�����gO7������hS@+
�
�
�
�
�
�
�
�
�
z
c
L
5
+

	�	�	�	�	�	�	p	]	J	7	$	��������|sjaXOF7(
�������teVG8*������lT4����xkYNC9/%���������hP8 ������pX@�.
����XXF4"����%rubygem-json�1rubygem-io-console�5rubygem-did_you_mean���#python3-rpmr#python3-rpm#)python3-pyyaml<)python3-pyudev"+rubygem-openssl�+rubygem-opensslt%rubygem-json
�%rubygem-json
.%rubygem-json�%rubygem-jsons1rubygem-io-console
�1rubygem-io-console
-1rubygem-io-console�1rubygem-io-consoler5rubygem-did_you_mean
�5rubygem-did_you_mean
,5rubygem-did_you_mean�5rubygem-did_you_meanq1rubygem-bigdecimal�1rubygem-bigdecimal
�1rubygem-bigdecimal
+1rubygem-bigdecimal�1rubygem-bigdecimalpruby-libs�ruby-libs
�ruby-libs
*ruby-libs�ruby-libso
ruby-irb�
ruby-irb
�
ruby-irb
)
ruby-irb�
ruby-irbn	ruby�	ruby
�	ruby
(	ruby�	rubym
rsync
rsyncX%rrdtool-perl�rrdtool�9rpmfusion-free-release
JArpm-plugin-systemd-inhibit4Arpm-plugin-systemd-inhibitArpm-plugin-systemd-inhibit�Arpm-plugin-systemd-inhibit	LArpm-plugin-systemd-inhibitzArpm-plugin-systemd-inhibit31rpm-plugin-selinux31rpm-plugin-selinux1rpm-plugin-selinux�1rpm-plugin-selinux	K1rpm-plugin-selinuxy1rpm-plugin-selinux2
rpm-libs2
rpm-libs�
rpm-libs�
rpm-libs	J
rpm-libsx
rpm-libs1rpm-devel1rpm-devel�rpm-devel�rpm-devel	Irpm-devel�)rpm-build-libs0)rpm-build-libs�)rpm-build-libs�)rpm-build-libs	H)rpm-build-libsw)rpm-build-libs0rpm-build�rpm-build�rpm-buildrpm-build	Erpm-build�rpm/rpm�rpm�rpm	Grpmvrpm/rpcbind@rootfiles.#rocky-repos.#rocky-repos�#rocky-repos�#rocky-repos#rocky-reposu#rocky-repos-'rocky-release-'rocky-release�'rocky-release�'rocky-release'rocky-releaset'rocky-release,/rocky-logos-httpd/rocky-logos-httpd?+rocky-indexhtml�)rocky-gpg-keys,)rocky-gpg-keys�)rocky-gpg-keys�)rocky-gpg-keys)rocky-gpg-keyss)rocky-gpg-keys+	rest�/redhat-rpm-config/redhat-rpm-config
'/redhat-rpm-config�)readline-devel�
readline*	re2c	Urdma-core+rdma-core�rdma-core�rdma-core
�rdma-core)
radvd�quota-nls>
quota=+qt5-srpm-macros
&+qt5-srpm-macros�'qemu-kvm-core�+qemu-kvm-common�1qemu-kvm-block-ssh�1qemu-kvm-block-rbd�5qemu-kvm-block-iscsi�9qemu-kvm-block-gluster�3qemu-kvm-block-curl�
qemu-kvm�
qemu-img�
python36�
python36	h1python3.11-tkinter�1python3.11-tkinter�1python3.11-tkinter
r Cpython3.11-setuptools-wheel Cpython3.11-setuptools-wheel
q5python3.11-pip-wheel�5python3.11-pip-wheel
p+python3.11-libs~+python3.11-libs�+python3.11-libs
o!python3.11}!python3.11�!python3.11
n+python3-unbound+python3-unbound�+python3-unbound+python3-unbound	+python3-systemd�1python3-syspurpose*1python3-syspurpose�1python3-syspurpose�1python3-syspurpose
�1python3-syspurpose�1python3-syspurpose(/python3-slip-dbus
�/python3-slip-dbus'%python3-slip
�%python3-slip&#python3-six%=python3-setuptools-wheel�=python3-setuptools-wheel
�=python3-setuptools-wheel$1python3-setuptools�1python3-setuptools
�1python3-setuptools	i+python3-setools�+python3-setools	�1python3-rpm-macros1python3-rpm-macros
%1python3-rpm-macros�#python3-rpm)#python3-rpm�#python3-rpm�#python3-rpm	F4���4J�"nX�96��5�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"nl~L::iL�
���k:���d;
�
�
o
?
�,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n��B
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nR��V*��
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`�����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G���#���!��������������������������?���4J�"n�n��8�
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nkl�i��}
�������saO=,
�������~m\K:)�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n5����O
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n/>�3�/�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`�����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�$���#���!��������������������������?���4J�"nO<�=}�R
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n����B$S�
�������saO=,
�������~m\K:)�[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n����qY*
�P���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VP�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"nA��l�!o�
��qr]H3����������o^M<$

�
�
�
�
�
�
�
o
]
K
9
!
	�����}dK2���������e]F/
�
�
�
�
�
�
�
�
p
^
L
:
(

	�	�	�	�	�	�	n	V	8	�������xfT�?(������vX:������r�XG6%����q���mYE1�
������}dJ0�������n\J8&�������}fO>!�ytho)python3-hawkey�%python3-bind|-python3-firewall�!Epolicycoreutils-python-utils�+policycoreutils��)python3-libdnf�;python3-policycoreutils�;python3-policycoreutils	�#python3-ply	f/python3-pip-wheel'/python3-pip-wheel�/python3-pip-wheel
�/python3-pip-wheel!#python3-pip~#python3-pip
�#python3-pip	g%python3-perf&%python3-perf�%python3-perf�%python3-perf
)%python3-perf�%python3-perfz%python3-perf
�%python3-perf�%python3-perf�%python3-perfq%python3-perf -python3-nftables%-python3-nftables�-python3-nftables
�-python3-nftables5python3-linux-procfs$5python3-linux-procfs�5python3-linux-procfs
�5python3-linux-procfs3python3-libsemanage	�1python3-libselinux�1python3-libselinux
�1python3-libselinux%python3-libs#%python3-libs�%python3-libs
I%python3-libs�%python3-libs
�%python3-libs)python3-libdnf")python3-libdnf�)python3-libdnf�)python3-libdnf	!)python3-libdnf-python3-libcomps
�-python3-libcomps)python3-hawkey!)python3-hawkey�)python3-hawkey�)python3-hawkey	 )python3-hawkey#python3-gpg #python3-gpg
�#python3-gpg5python3-gobject-base-python3-firewall-python3-firewall
H-python3-firewall
�-python3-firewall�-python3-firewall=python3-dnf-plugins-core=python3-dnf-plugins-core�=python3-dnf-plugins-core�=python3-dnf-plugins-core	=python3-dnf-plugins-corep=python3-dnf-plugins-core#python3-dnf#python3-dnf�#python3-dnf�#python3-dnf	#python3-dnf/python3-decorator%python3-dbus-python3-dateutil/python3-configobj+python3-certifi
e%python3-bind}%python3-bind
�%python3-bind
%python3-bind%python3-bind	e'python3-audit'python3-audit�'python3-audit	�+python3-appdirs
f=python2-setuptools-wheel|=python2-setuptools-wheel
�=python2-setuptools-wheel�1python2-setuptools{1python2-setuptools
�1python2-setuptools�/python2-pip-wheel
�/python2-pip-wheel
$/python2-pip-wheel#python2-pip
�#python2-pip
##python2-pip~%python2-libsz%python2-libs
�%python2-libs
A%python2-libs%python2-libs
"%python2-libs}python2ypython2
�python2
@python2python2
!python2|1python-srpm-macros�1python-srpm-macros
 1python-srpm-macros�/python-rpm-macros�/python-rpm-macros
/python-rpm-macros�pv�;publicsuffix-list-dafsapsmisc;!protobuf-c
�!protobuf-c	d
protobuf	\procps-ng�procps-ng�procps-ng
�procps-ng
procmail�'prefixdevname
3postgresql11-server
a3postgresql11-server�3postgresql11-serverL3postgresql11-server	t/postgresql11-libs
`/postgresql11-libs�/postgresql11-libsK/postgresql11-libs	s1postgresql11-devel
_1postgresql11-devel�1postgresql11-develJ1postgresql11-devel	�%postgresql11
^%postgresql11�%postgresql11I%postgresql11	r/postgresql-server	p/postgresql-server�+postgresql-libs	n-postgresql-devel	o!postgresql	m!postgresqlI!postgresql�!popt-devel�	popt1polkit-pkla-compat#polkit-libs#polkit-libs�#polkit-libs�#polkit-libso#polkit-libs
polkitpolkit�polkit�polkitnpolkit	!Epolicycoreutils-python-utils!Epolicycoreutils-python-utils�!Epolicycoreutils-python-utils	�+policycoreutils+policycoreutils�+policycoreutils	�+policycoreutilsJ%python3-perf�;python3-policycoreutils(����4J�"n8,1�so_�

iR�
6*
	�	�	�	]	/	����O���b2��
��tF���n�W'>����X/���d;���T���vJ��t:
����W)
�
�
�
��
X
)��\##),+python3.11-libs3.11.92.el8_10x86_64~-#)python3-pip9.0.324.el8.rocky.0noarch~+/python3-slip-dbus0.6.413.el8noarch
�+/python3-slip-dbus0.6.411.el8noarch'&%python3-slip0.6.413.el8noarch
�&%python3-slip0.6.411.el8noarch&%#python3-six1.11.08.el8noarch%2=python3-setuptools-wheel39.2.07.el8noarch�6=python3-setuptools-wheel39.2.06.el8_7.1noarch
�2=python3-setuptools-wheel39.2.06.el8noarch$,1python3-setuptools39.2.07.el8noarch�01python3-setuptools39.2.06.el8_7.1noarch
�,1python3-setuptools39.2.06.el8noarch	i(+python3-setools4.3.05.el8x86_64�(+python3-setools4.3.03.el8x86_64	�(1python3-rpm-macros345.el8noarch(1python3-rpm-macros343.el8noarch
%(1python3-rpm-macros341.el8noarch�(#python3-rpm4.14.328.el8_9x86_64�&#python3-rpm4.14.326.el8x86_64�(#python3-rpm4.14.324.el8_7x86_64	F*#!python3-rpm4.14.319.el8_5.2x86_64r&#python3-rpm4.14.319.el8x86_64#')python3-pyyaml3.1212.el8x86_64<()python3-pyudev0.21.07.el8noarch"+/python3-pyparsing2.1.107.el8noarch?/;python3-policycoreutils2.924.el8noarch�/;python3-policycoreutils2.920.el8noarch	�"#python3-ply3.99.el8noarch	f3/)python3-pip-wheel9.0.323.el8.rocky.0noarch�3/)python3-pip-wheel9.0.322.el8.rocky.0noarch
�3/)python3-pip-wheel9.0.320.el8.rocky.0noarch!-#)python3-pip9.0.323.el8.rocky.0noarch
�-#)python3-pip9.0.322.el8.rocky.0noarch	g/%)python3-perf4.18.0513.18.1.el8_9x86_64�/%)python3-perf4.18.0513.11.1.el8_9x86_64�/%)python3-perf4.18.0477.27.1.el8_8x86_64
)/%)python3-perf4.18.0477.21.1.el8_8x86_64�/%)python3-perf4.18.0425.19.2.el8_7x86_64z/%)python3-perf4.18.0425.13.1.el8_7x86_64
�,%#python3-perf4.18.0348.el8.0.2x86_64 /%)python3-perf4.18.0348.23.1.el8_5x86_64�/%)python3-perf4.18.0348.20.1.el8_5x86_64�/%)python3-perf4.18.0348.12.2.el8_5x86_64q+-	python3-nftables1.0.43.el8_9x86_64�*-	python3-nftables0.9.326.el8x86_64
�*-	python3-nftables0.9.321.el8x86_64-5python3-linux-procfs0.7.11.el8noarch�-5python3-linux-procfs0.7.01.el8noarch
�-5python3-linux-procfs0.6.31.el8noarch,3python3-libsemanage2.99.el8_6x86_64	�)1python3-libselinux2.98.el8x86_64�)1python3-libselinux2.96.el8x86_64
�)1python3-libselinux2.95.el8x86_642%1python3-libs3.6.856.el8_9.3.rocky.0x86_64�\0%+python3-perf4.18.0553.16.1.el8_10x86_64�'!python3.113.11.92.el8_10x86_64}71+python3-syspurpose1.28.421.el8.rocky.0.2x86_64*&#python3-rpm4.14.331.el8x86_64)/;python3-policycoreutils2.925.el8noarch(3/)python3-pip-wheel9.0.324.el8.rocky.0noarch'/%)python3-perf4.18.0553.5.1.el8_10x86_64&)-	python3-nftables1.0.44.el8x86_64%-5python3-linux-procfs0.7.31.el8noarch$1%/python3-libs3.6.862.el8_10.rocky.0x86_64#�5Cpython3.11-setuptools-wheel65.5.12.el8noarch
q.5python3.11-pip-wheel22.3.15.el8noarch�.5python3.11-pip-wheel22.3.14.el8noarch
p)+python3.11-libs3.11.71.el8x86_64�++python3.11-libs3.11.51.el8_9x86_64
o$!python3.113.11.71.el8x86_64�&!python3.113.11.51.el8_9x86_64
n-+python3-unbound1.16.25.el8_9.6x86_64-+python3-unbound1.16.25.el8_9.2x86_64�)+python3-unbound1.16.25.el8x86_64)+python3-unbound1.16.22.el8x86_64	&+python3-systemd2348.el8x86_64�91/python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64�91/python3-syspurpose1.28.363.el8_8.rocky.0.1x86_64�-1python3-syspurpose1.28.321.el8x86_64
�/1python3-syspurpose1.28.215.el8_5x86_64�-1python3-syspurpose1.28.213.el8x86_64(4���4J�"ntu�M`�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��hI��?�
���k:���d;
�
�
o
?
��0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�y~��Mδ
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n{9=!g��
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P�����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G���$���#���!��������������������������?���4J�"na>�p�ݒ
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n*G�b� ϔ

��������saO=,
�������~m\K:)
��\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n3��

0�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n�}c+�h�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�Gx(���$���#���!��������������������������?���4J�"n���Π
	�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nM�y���]

��������saO=,
�������~m\K:)
�
��]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n��
�7��
�J���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJ�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n��-�L��
��qr]H3����������o^M<$

�
�
�
�
�
�
�
o
]
K
9
!
	�����}dK2���������e]F/
�
�
�
�
�
�
�
�
p
^
L
:
(

	�	�	�	�	�	�	n	V	8	�������xfT�?(������vX:������r�XG6%����q���mYE1�
������}dJ0�������n\J8&�������}fO>!��ho)python3-hawkey�%python3-bind|-python3-firewall�!Epolicycoreutils-python-utils�+policycoreutils��)python3-libdnf�;python3-policycoreutils�;python3-policycoreutils	�#python3-ply	f/python3-pip-wheel'/python3-pip-wheel�/python3-pip-wheel
�/python3-pip-wheel!#python3-pip~#python3-pip
�#python3-pip	g%python3-perf&%python3-perf�%python3-perf�%python3-perf
)%python3-perf�%python3-perfz%python3-perf
�%python3-perf�%python3-perf�%python3-perfq%python3-perf -python3-nftables%-python3-nftables�-python3-nftables
�-python3-nftables5python3-linux-procfs$5python3-linux-procfs�5python3-linux-procfs
�5python3-linux-procfs3python3-libsemanage	�1python3-libselinux�1python3-libselinux
�1python3-libselinux%python3-libs#%python3-libs�%python3-libs
I%python3-libs�%python3-libs
�%python3-libs)python3-libdnf")python3-libdnf�)python3-libdnf�)python3-libdnf	!)python3-libdnf-python3-libcomps
�-python3-libcomps)python3-hawkey!)python3-hawkey�)python3-hawkey�)python3-hawkey	 )python3-hawkey#python3-gpg #python3-gpg
�#python3-gpg5python3-gobject-base-python3-firewall-python3-firewall
H-python3-firewall
�-python3-firewall�-python3-firewall=python3-dnf-plugins-core=python3-dnf-plugins-core�=python3-dnf-plugins-core�=python3-dnf-plugins-core	=python3-dnf-plugins-corep=python3-dnf-plugins-core#python3-dnf#python3-dnf�#python3-dnf�#python3-dnf	#python3-dnf/python3-decorator%python3-dbus-python3-dateutil/python3-configobj+python3-certifi
e%python3-bind}%python3-bind
�%python3-bind
%python3-bind%python3-bind	e'python3-audit'python3-audit�'python3-audit	�+python3-appdirs
f=python2-setuptools-wheel|=python2-setuptools-wheel
�=python2-setuptools-wheel�1python2-setuptools{1python2-setuptools
�1python2-setuptools�/python2-pip-wheel
�/python2-pip-wheel
$/python2-pip-wheel#python2-pip
�#python2-pip
##python2-pip~%python2-libsz%python2-libs
�%python2-libs
A%python2-libs%python2-libs
"%python2-libs}python2ypython2
�python2
@python2python2
!python2|1python-srpm-macros�1python-srpm-macros
 1python-srpm-macros�/python-rpm-macros�/python-rpm-macros
/python-rpm-macros�pv�;publicsuffix-list-dafsapsmisc;!protobuf-c
�!protobuf-c	d
protobuf	\procps-ng�procps-ng�procps-ng
�procps-ng
procmail�'prefixdevname
3postgresql11-server
a3postgresql11-server�3postgresql11-serverL3postgresql11-server	t/postgresql11-libs
`/postgresql11-libs�/postgresql11-libsK/postgresql11-libs	s1postgresql11-devel
_1postgresql11-devel�1postgresql11-develJ1postgresql11-devel	�%postgresql11
^%postgresql11�%postgresql11I%postgresql11	r/postgresql-server	p/postgresql-server�+postgresql-libs	n-postgresql-devel	o!postgresql	m!postgresqlI!postgresql�!popt-devel�	popt1polkit-pkla-compat#polkit-libs#polkit-libs�#polkit-libs�#polkit-libso#polkit-libs
polkitpolkit�polkit�polkitnpolkit	!Epolicycoreutils-python-utils!Epolicycoreutils-python-utils�!Epolicycoreutils-python-utils	�+policycoreutils+policycoreutils�+policycoreutils	�+policycoreutils-;python3-policycoreutils�%python3-perf�;python3-policycoreutils(����4J�"n"V|���

iS�
6*
	�	�	�	]	/	����O���b2��
��tF���n�W'>�����X/���d;���T���vJ��t:
����W)
�
�
�
��
X
)�\##),+python3.11-libs3.11.92.el8_10x86_64~-#)python3-pip9.0.324.el8.rocky.0noarch~+/python3-slip-dbus0.6.413.el8noarch
�+/python3-slip-dbus0.6.411.el8noarch'&%python3-slip0.6.413.el8noarch
�&%python3-slip0.6.411.el8noarch&%#python3-six1.11.08.el8noarch%2=python3-setuptools-wheel39.2.07.el8noarch�6=python3-setuptools-wheel39.2.06.el8_7.1noarch
�2=python3-setuptools-wheel39.2.06.el8noarch$,1python3-setuptools39.2.07.el8noarch�01python3-setuptools39.2.06.el8_7.1noarch
�,1python3-setuptools39.2.06.el8noarch	i(+python3-setools4.3.05.el8x86_64�(+python3-setools4.3.03.el8x86_64	�(1python3-rpm-macros345.el8noarch(1python3-rpm-macros343.el8noarch
%(1python3-rpm-macros341.el8noarch�(#python3-rpm4.14.328.el8_9x86_64�&#python3-rpm4.14.326.el8x86_64�(#python3-rpm4.14.324.el8_7x86_64	F*#!python3-rpm4.14.319.el8_5.2x86_64r&#python3-rpm4.14.319.el8x86_64#')python3-pyyaml3.1212.el8x86_64<()python3-pyudev0.21.07.el8noarch"+/python3-pyparsing2.1.107.el8noarch?/;python3-policycoreutils2.924.el8noarch�/;python3-policycoreutils2.920.el8noarch	�"#python3-ply3.99.el8noarch	f3/)python3-pip-wheel9.0.323.el8.rocky.0noarch�3/)python3-pip-wheel9.0.322.el8.rocky.0noarch
�3/)python3-pip-wheel9.0.320.el8.rocky.0noarch!-#)python3-pip9.0.323.el8.rocky.0noarch
�-#)python3-pip9.0.322.el8.rocky.0noarch	g/%)python3-perf4.18.0513.18.1.el8_9x86_64�/%)python3-perf4.18.0513.11.1.el8_9x86_64�/%)python3-perf4.18.0477.27.1.el8_8x86_64
)/%)python3-perf4.18.0477.21.1.el8_8x86_64�/%)python3-perf4.18.0425.19.2.el8_7x86_64z/%)python3-perf4.18.0425.13.1.el8_7x86_64
�,%#python3-perf4.18.0348.el8.0.2x86_64 /%)python3-perf4.18.0348.23.1.el8_5x86_64�/%)python3-perf4.18.0348.20.1.el8_5x86_64�/%)python3-perf4.18.0348.12.2.el8_5x86_64q+-	python3-nftables1.0.43.el8_9x86_64�*-	python3-nftables0.9.326.el8x86_64
�*-	python3-nftables0.9.321.el8x86_64-5python3-linux-procfs0.7.11.el8noarch�-5python3-linux-procfs0.7.01.el8noarch
�-5python3-linux-procfs0.6.31.el8noarch,3python3-libsemanage2.99.el8_6x86_64	�)1python3-libselinux2.98.el8x86_64�)1python3-libselinux2.96.el8x86_64
�)1python3-libselinux2.95.el8x86_642%1python3-libs3.6.856.el8_9.3.rocky.0x86_64�\0%+python3-perf4.18.0553.16.1.el8_10x86_64�'!python3.113.11.92.el8_10x86_64}71+python3-syspurpose1.28.421.el8.rocky.0.2x86_64*&#python3-rpm4.14.331.el8x86_64)/;python3-policycoreutils2.925.el8noarch(3/)python3-pip-wheel9.0.324.el8.rocky.0noarch'/%)python3-perf4.18.0553.5.1.el8_10x86_64&)-	python3-nftables1.0.44.el8x86_64%-5python3-linux-procfs0.7.31.el8noarch$1%/python3-libs3.6.862.el8_10.rocky.0x86_64#d2;python3-policycoreutils2.926.el8_10noarch�5Cpython3.11-setuptools-wheel65.5.12.el8noarch
q.5python3.11-pip-wheel22.3.15.el8noarch�.5python3.11-pip-wheel22.3.14.el8noarch
p)+python3.11-libs3.11.71.el8x86_64�++python3.11-libs3.11.51.el8_9x86_64
o$!python3.113.11.71.el8x86_64�&!python3.113.11.51.el8_9x86_64
n-+python3-unbound1.16.25.el8_9.6x86_64-+python3-unbound1.16.25.el8_9.2x86_64�)+python3-unbound1.16.25.el8x86_64)+python3-unbound1.16.22.el8x86_64	&+python3-systemd2348.el8x86_64�91/python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64�91/python3-syspurpose1.28.363.el8_8.rocky.0.1x86_64�-1python3-syspurpose1.28.321.el8x86_64
�/1python3-syspurpose1.28.215.el8_5x86_64�-1python3-syspurpose1.28.213.el8x86_64(4���4J�"n��q��{�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"no�e�$��W
y��k:���d;
�
�
o
?
��y2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n���CyY�x
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��Fu�c�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@���������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�Gp��(���$���#���!��������������������������?���4J�"n�˕�<w��

�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nu��Z7�"8
 
��������saO=,
�������~m\K:)
�
�
��^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"na�1-Y��
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nݳĒ�vŚ
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@���������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�Gh*���(���$���#���!��������������������������?���4J�"n0��\�#
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n(����<~
!
��������saO=,
�������~m\K:)
�
�
�
��_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�l�
�D���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n�Q\+b�

iT�
6*
	�	�	�	]	/	����O���b2��
��tF���n�W'>�����X/���d;����T���vJ��t:
����W)
�
�
�
��
X
)�##),+python3.11-libs3.11.92.el8_10x86_64~-#)python3-pip9.0.324.el8.rocky.0noarch~+/python3-slip-dbus0.6.413.el8noarch
�+/python3-slip-dbus0.6.411.el8noarch'&%python3-slip0.6.413.el8noarch
�&%python3-slip0.6.411.el8noarch&%#python3-six1.11.08.el8noarch%2=python3-setuptools-wheel39.2.07.el8noarch�6=python3-setuptools-wheel39.2.06.el8_7.1noarch
�2=python3-setuptools-wheel39.2.06.el8noarch$,1python3-setuptools39.2.07.el8noarch�01python3-setuptools39.2.06.el8_7.1noarch
�,1python3-setuptools39.2.06.el8noarch	i(+python3-setools4.3.05.el8x86_64�(+python3-setools4.3.03.el8x86_64	�(1python3-rpm-macros345.el8noarch(1python3-rpm-macros343.el8noarch
%(1python3-rpm-macros341.el8noarch�(#python3-rpm4.14.328.el8_9x86_64�&#python3-rpm4.14.326.el8x86_64�(#python3-rpm4.14.324.el8_7x86_64	F*#!python3-rpm4.14.319.el8_5.2x86_64r&#python3-rpm4.14.319.el8x86_64#')python3-pyyaml3.1212.el8x86_64<()python3-pyudev0.21.07.el8noarch"+/python3-pyparsing2.1.107.el8noarch?/;python3-policycoreutils2.924.el8noarch�/;python3-policycoreutils2.920.el8noarch	�"#python3-ply3.99.el8noarch	f3/)python3-pip-wheel9.0.323.el8.rocky.0noarch�3/)python3-pip-wheel9.0.322.el8.rocky.0noarch
�3/)python3-pip-wheel9.0.320.el8.rocky.0noarch!-#)python3-pip9.0.323.el8.rocky.0noarch
�-#)python3-pip9.0.322.el8.rocky.0noarch	g/%)python3-perf4.18.0513.18.1.el8_9x86_64�/%)python3-perf4.18.0513.11.1.el8_9x86_64�/%)python3-perf4.18.0477.27.1.el8_8x86_64
)/%)python3-perf4.18.0477.21.1.el8_8x86_64�/%)python3-perf4.18.0425.19.2.el8_7x86_64z/%)python3-perf4.18.0425.13.1.el8_7x86_64
�,%#python3-perf4.18.0348.el8.0.2x86_64 /%)python3-perf4.18.0348.23.1.el8_5x86_64�/%)python3-perf4.18.0348.20.1.el8_5x86_64�/%)python3-perf4.18.0348.12.2.el8_5x86_64q+-	python3-nftables1.0.43.el8_9x86_64�*-	python3-nftables0.9.326.el8x86_64
�*-	python3-nftables0.9.321.el8x86_64-5python3-linux-procfs0.7.11.el8noarch�-5python3-linux-procfs0.7.01.el8noarch
�-5python3-linux-procfs0.6.31.el8noarch,3python3-libsemanage2.99.el8_6x86_64	�)1python3-libselinux2.98.el8x86_64�)1python3-libselinux2.96.el8x86_64
�)1python3-libselinux2.95.el8x86_642%1python3-libs3.6.856.el8_9.3.rocky.0x86_64�\0%+python3-perf4.18.0553.16.1.el8_10x86_64�'!python3.113.11.92.el8_10x86_64}71+python3-syspurpose1.28.421.el8.rocky.0.2x86_64*&#python3-rpm4.14.331.el8x86_64)/;python3-policycoreutils2.925.el8noarch(3/)python3-pip-wheel9.0.324.el8.rocky.0noarch'/%)python3-perf4.18.0553.5.1.el8_10x86_64&)-	python3-nftables1.0.44.el8x86_64%-5python3-linux-procfs0.7.31.el8noarch$1%/python3-libs3.6.862.el8_10.rocky.0x86_64#4/1python3-setuptools39.2.08.el8_10noarch�2;python3-policycoreutils2.926.el8_10noarch�5Cpython3.11-setuptools-wheel65.5.12.el8noarch
q.5python3.11-pip-wheel22.3.15.el8noarch�.5python3.11-pip-wheel22.3.14.el8noarch
p)+python3.11-libs3.11.71.el8x86_64�++python3.11-libs3.11.51.el8_9x86_64
o$!python3.113.11.71.el8x86_64�&!python3.113.11.51.el8_9x86_64
n-+python3-unbound1.16.25.el8_9.6x86_64-+python3-unbound1.16.25.el8_9.2x86_64�)+python3-unbound1.16.25.el8x86_64)+python3-unbound1.16.22.el8x86_64	&+python3-systemd2348.el8x86_64�91/python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64�91/python3-syspurpose1.28.363.el8_8.rocky.0.1x86_64�-1python3-syspurpose1.28.321.el8x86_64
�/1python3-syspurpose1.28.215.el8_5x86_64�-1python3-syspurpose1.28.213.el8x86_64(����4J�"n�V�k3(�
�����~m������t_J2U�����s\E-
�
�
�
�
�
�
v
a
L
<
,

�����gO7������hS@+
�
�
�
�
�
�
�
�
�
z
c
L
5
+

	�	�	�	�	�	�	p	]	J	7	$	��������|sjaXOF7(
�������teVG8*������lT4����xkYNC9/%���������hP8 ������pX@�.
����XF4"����%rubygem-json�1rubygem-io-console�5rubygem-did_you_mean���1python3-setuptools�#python3-rpmr#python3-rpm#)python3-pyyaml<)python3-pyudev"+rubygem-openssl�+rubygem-opensslt%rubygem-json
�%rubygem-json
.%rubygem-json�%rubygem-jsons1rubygem-io-console
�1rubygem-io-console
-1rubygem-io-console�1rubygem-io-consoler5rubygem-did_you_mean
�5rubygem-did_you_mean
,5rubygem-did_you_mean�5rubygem-did_you_meanq1rubygem-bigdecimal�1rubygem-bigdecimal
�1rubygem-bigdecimal
+1rubygem-bigdecimal�1rubygem-bigdecimalpruby-libs�ruby-libs
�ruby-libs
*ruby-libs�ruby-libso
ruby-irb�
ruby-irb
�
ruby-irb
)
ruby-irb�
ruby-irbn	ruby�	ruby
�	ruby
(	ruby�	rubym
rsync
rsyncX%rrdtool-perl�rrdtool�9rpmfusion-free-release
JArpm-plugin-systemd-inhibit4Arpm-plugin-systemd-inhibitArpm-plugin-systemd-inhibit�Arpm-plugin-systemd-inhibit	LArpm-plugin-systemd-inhibitzArpm-plugin-systemd-inhibit31rpm-plugin-selinux31rpm-plugin-selinux1rpm-plugin-selinux�1rpm-plugin-selinux	K1rpm-plugin-selinuxy1rpm-plugin-selinux2
rpm-libs2
rpm-libs�
rpm-libs�
rpm-libs	J
rpm-libsx
rpm-libs1rpm-devel1rpm-devel�rpm-devel�rpm-devel	Irpm-devel�)rpm-build-libs0)rpm-build-libs�)rpm-build-libs�)rpm-build-libs	H)rpm-build-libsw)rpm-build-libs0rpm-build�rpm-build�rpm-buildrpm-build	Erpm-build�rpm/rpm�rpm�rpm	Grpmvrpm/rpcbind@rootfiles.#rocky-repos.#rocky-repos�#rocky-repos�#rocky-repos#rocky-reposu#rocky-repos-'rocky-release-'rocky-release�'rocky-release�'rocky-release'rocky-releaset'rocky-release,/rocky-logos-httpd/rocky-logos-httpd?+rocky-indexhtml�)rocky-gpg-keys,)rocky-gpg-keys�)rocky-gpg-keys�)rocky-gpg-keys)rocky-gpg-keyss)rocky-gpg-keys+	rest�/redhat-rpm-config/redhat-rpm-config
'/redhat-rpm-config�)readline-devel�
readline*	re2c	Urdma-core+rdma-core�rdma-core�rdma-core
�rdma-core)
radvd�quota-nls>
quota=+qt5-srpm-macros
&+qt5-srpm-macros�'qemu-kvm-core�+qemu-kvm-common�1qemu-kvm-block-ssh�1qemu-kvm-block-rbd�5qemu-kvm-block-iscsi�9qemu-kvm-block-gluster�3qemu-kvm-block-curl�
qemu-kvm�
qemu-img�
python36�
python36	h1python3.11-tkinter�1python3.11-tkinter�1python3.11-tkinter
r Cpython3.11-setuptools-wheel Cpython3.11-setuptools-wheel
q5python3.11-pip-wheel�5python3.11-pip-wheel
p+python3.11-libs~+python3.11-libs�+python3.11-libs
o!python3.11}!python3.11�!python3.11
n+python3-unbound+python3-unbound�+python3-unbound+python3-unbound	+python3-systemd�1python3-syspurpose*1python3-syspurpose�1python3-syspurpose�1python3-syspurpose
�1python3-syspurpose�1python3-syspurpose(/python3-slip-dbus
�/python3-slip-dbus'%python3-slip
�%python3-slip&#python3-six%=python3-setuptools-wheel�=python3-setuptools-wheel
�=python3-setuptools-wheel$1python3-setuptools�1python3-setuptools
�1python3-setuptools	i+python3-setools�+python3-setools	�1python3-rpm-macros1python3-rpm-macros
%1python3-rpm-macros�#python3-rpm)#python3-rpm�#python3-rpm�#python3-rpm	F4���4J�"n'k<al
w
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n���j��
G��k:���d;
�
�
o
?
��yG/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n���N��
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nz�D����
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0���������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G`��*���(���$���#���!��������������������������?���4J�"np�Y����l
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nq�q�\ 7
"
��������saO=,
�������~m\K:)
�
�
�
�
��`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nyk�(J�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�e�D����
	�tP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p��	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�0	(� ���	
��
��
��
�
��
��
�
�
�
�
�p
�
@�
8
0
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|H����������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n?Z��i�

�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�QݨN�S�
#
��������saO=,
�������~m\K:)
�
�
�
�
�
��a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"nl��ěs
�>���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n�^�"���
U�
�^
]
3
		�	�	�	R0	'���p@���S#�
����Ac/����xr�L#����Y0K���c6���n;����o��t:���W)
�
�
�
�
X
)�5=python3-setuptools-wheel39.2.08.el8_10noarch�,+python3.11-libs3.11.92.el8_10x86_64~-#)python3-pip9.0.324.el8.rocky.0noarch~+/python3-slip-dbus0.6.413.el8noarch
�+/python3-slip-dbus0.6.411.el8noarch'&%python3-slip0.6.413.el8noarch
�&%python3-slip0.6.411.el8noarch&%#python3-six1.11.08.el8noarch%2=python3-setuptools-wheel39.2.07.el8noarch�6=python3-setuptools-wheel39.2.06.el8_7.1noarch
�2=python3-setuptools-wheel39.2.06.el8noarch$,1python3-setuptools39.2.07.el8noarch�01python3-setuptools39.2.06.el8_7.1noarch
�,1python3-setuptools39.2.06.el8noarch	i(+python3-setools4.3.05.el8x86_64�(+python3-setools4.3.03.el8x86_64	�(1python3-rpm-macros345.el8noarch(1python3-rpm-macros343.el8noarch
%(1python3-rpm-macros341.el8noarch�(#python3-rpm4.14.328.el8_9x86_64�&#python3-rpm4.14.326.el8x86_64�(#python3-rpm4.14.324.el8_7x86_64	F*#!python3-rpm4.14.319.el8_5.2x86_64r&#python3-rpm4.14.319.el8x86_64#')python3-pyyaml3.1212.el8x86_64<()python3-pyudev0.21.07.el8noarch"+/python3-pyparsing2.1.107.el8noarch?/;python3-policycoreutils2.924.el8noarch�/;python3-policycoreutils2.920.el8noarch	�"#python3-ply3.99.el8noarch	f3/)python3-pip-wheel9.0.323.el8.rocky.0noarch�3/)python3-pip-wheel9.0.322.el8.rocky.0noarch
�3/)python3-pip-wheel9.0.320.el8.rocky.0noarch!-#)python3-pip9.0.323.el8.rocky.0noarch
�-#)python3-pip9.0.322.el8.rocky.0noarch	g/%)python3-perf4.18.0513.18.1.el8_9x86_64�/%)python3-perf4.18.0513.11.1.el8_9x86_64�/%)python3-perf4.18.0477.27.1.el8_8x86_64
)/%)python3-perf4.18.0477.21.1.el8_8x86_64�/%)python3-perf4.18.0425.19.2.el8_7x86_64z/%)python3-perf4.18.0425.13.1.el8_7x86_64
�,%#python3-perf4.18.0348.el8.0.2x86_64 /%)python3-perf4.18.0348.23.1.el8_5x86_64�/%)python3-perf4.18.0348.20.1.el8_5x86_64�/%)python3-perf4.18.0348.12.2.el8_5x86_64q+-	python3-nftables1.0.43.el8_9x86_64�*-	python3-nftables0.9.326.el8x86_64
�*-	python3-nftables0.9.321.el8x86_64-5python3-linux-procfs0.7.11.el8noarch�-5python3-linux-procfs0.7.01.el8noarch
�-5python3-linux-procfs0.6.31.el8noarch,3python3-libsemanage2.99.el8_6x86_64	�)1python3-libselinux2.98.el8x86_64�)1python3-libselinux2.96.el8x86_64
�)1python3-libselinux2.95.el8x86_642%1python3-libs3.6.856.el8_9.3.rocky.0x86_64�0%+python3-perf4.18.0553.16.1.el8_10x86_64�'!python3.113.11.92.el8_10x86_64}71+python3-syspurpose1.28.421.el8.rocky.0.2x86_64*&#python3-rpm4.14.331.el8x86_64)/;python3-policycoreutils2.925.el8noarch(3/)python3-pip-wheel9.0.324.el8.rocky.0noarch'/%)python3-perf4.18.0553.5.1.el8_10x86_64&)-	python3-nftables1.0.44.el8x86_64%-5python3-linux-procfs0.7.31.el8noarch$1%/python3-libs3.6.862.el8_10.rocky.0x86_64#/1python3-setuptools39.2.08.el8_10noarch�2;python3-policycoreutils2.926.el8_10noarch�5Cpython3.11-setuptools-wheel65.5.12.el8noarch
q.5python3.11-pip-wheel22.3.15.el8noarch�.5python3.11-pip-wheel22.3.14.el8noarch
p)+python3.11-libs3.11.71.el8x86_64�++python3.11-libs3.11.51.el8_9x86_64
o$!python3.113.11.71.el8x86_64�&!python3.113.11.51.el8_9x86_64
n-+python3-unbound1.16.25.el8_9.6x86_64-+python3-unbound1.16.25.el8_9.2x86_64�)+python3-unbound1.16.25.el8x86_64)+python3-unbound1.16.22.el8x86_64	&+python3-systemd2348.el8x86_64�91/python3-syspurpose1.28.401.el8_9.rocky.0.2x86_64�91/python3-syspurpose1.28.363.el8_8.rocky.0.1x86_64�-1python3-syspurpose1.28.321.el8x86_64
�/1python3-syspurpose1.28.215.el8_5x86_64�-1python3-syspurpose1.28.213.el8x86_64(����4J�"nd��U���
�����~m������t_J2U���7��s\E-
�
�
�
�
�
�
v
a
L
<
,

�����gO7������hS@+
�
�
�
�
�
�
�
�
�
z
c
L
5
+

	�	�	�	�	�	�	p	]	J	7	$	��������|sjaXOF7(
�������teVG8*������lT4����xkYNC9/%���������hP8 ������pX@�.
����F4"����%rubygem-json�1rubygem-io-console�5rubygem-did_you_mean��i=python3-setuptools-wheel�1python3-setuptools�#python3-rpmr#python3-rpm#)python3-pyyaml<)python3-pyudev"+rubygem-openssl�+rubygem-opensslt%rubygem-json
�%rubygem-json
.%rubygem-json�%rubygem-jsons1rubygem-io-console
�1rubygem-io-console
-1rubygem-io-console�1rubygem-io-consoler5rubygem-did_you_mean
�5rubygem-did_you_mean
,5rubygem-did_you_mean�5rubygem-did_you_meanq1rubygem-bigdecimal�1rubygem-bigdecimal
�1rubygem-bigdecimal
+1rubygem-bigdecimal�1rubygem-bigdecimalpruby-libs�ruby-libs
�ruby-libs
*ruby-libs�ruby-libso
ruby-irb�
ruby-irb
�
ruby-irb
)
ruby-irb�
ruby-irbn	ruby�	ruby
�	ruby
(	ruby�	rubym
rsync
rsyncX%rrdtool-perl�rrdtool�9rpmfusion-free-release
JArpm-plugin-systemd-inhibit4Arpm-plugin-systemd-inhibitArpm-plugin-systemd-inhibit�Arpm-plugin-systemd-inhibit	LArpm-plugin-systemd-inhibitzArpm-plugin-systemd-inhibit31rpm-plugin-selinux31rpm-plugin-selinux1rpm-plugin-selinux�1rpm-plugin-selinux	K1rpm-plugin-selinuxy1rpm-plugin-selinux2
rpm-libs2
rpm-libs�
rpm-libs�
rpm-libs	J
rpm-libsx
rpm-libs1rpm-devel1rpm-devel�rpm-devel�rpm-devel	Irpm-devel�)rpm-build-libs0)rpm-build-libs�)rpm-build-libs�)rpm-build-libs	H)rpm-build-libsw)rpm-build-libs0rpm-build�rpm-build�rpm-buildrpm-build	Erpm-build�rpm/rpm�rpm�rpm	Grpmvrpm/rpcbind@rootfiles.#rocky-repos.#rocky-repos�#rocky-repos�#rocky-repos#rocky-reposu#rocky-repos-'rocky-release-'rocky-release�'rocky-release�'rocky-release'rocky-releaset'rocky-release,/rocky-logos-httpd/rocky-logos-httpd?+rocky-indexhtml�)rocky-gpg-keys,)rocky-gpg-keys�)rocky-gpg-keys�)rocky-gpg-keys)rocky-gpg-keyss)rocky-gpg-keys+	rest�/redhat-rpm-config/redhat-rpm-config
'/redhat-rpm-config�)readline-devel�
readline*	re2c	Urdma-core+rdma-core�rdma-core�rdma-core
�rdma-core)
radvd�quota-nls>
quota=+qt5-srpm-macros
&+qt5-srpm-macros�'qemu-kvm-core�+qemu-kvm-common�1qemu-kvm-block-ssh�1qemu-kvm-block-rbd�5qemu-kvm-block-iscsi�9qemu-kvm-block-gluster�3qemu-kvm-block-curl�
qemu-kvm�
qemu-img�
python36�
python36	h1python3.11-tkinter�1python3.11-tkinter�1python3.11-tkinter
r Cpython3.11-setuptools-wheel Cpython3.11-setuptools-wheel
q5python3.11-pip-wheel�5python3.11-pip-wheel
p+python3.11-libs~+python3.11-libs�+python3.11-libs
o!python3.11}!python3.11�!python3.11
n+python3-unbound+python3-unbound�+python3-unbound+python3-unbound	+python3-systemd�1python3-syspurpose*1python3-syspurpose�1python3-syspurpose�1python3-syspurpose
�1python3-syspurpose�1python3-syspurpose(/python3-slip-dbus
�/python3-slip-dbus'%python3-slip
�%python3-slip&#python3-six%=python3-setuptools-wheel�=python3-setuptools-wheel
�=python3-setuptools-wheel$1python3-setuptools�1python3-setuptools
�1python3-setuptools	i+python3-setools�+python3-setools	�1python3-rpm-macros1python3-rpm-macros
%1python3-rpm-macros�#python3-rpm)#python3-rpm�#python3-rpm�#python3-rpm	F4���4J�"n�
ӎ֠��
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"nX|�9j/��
��k:���d;
�
�
o
?
��yG5�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n!�hzPk�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��t��z�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0(��������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�GX����*���(���$���#���!��������������������������?���4J�"n���e	N
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nZA5�����
$
��������saO=,
�������~m\K:)
�
�
�
�
�
�
��b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�F}[�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"nM�����
	�uP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�0	(� ���	
��
��
��
�
��
��
�
�
�
�
�p
��
8
0
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|H������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n�Lղ ��
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�#楄�n
%
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�
�c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n��%
 ��
�8���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>8�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n��J�(�a
���������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-�����������xjVB.
��
�
�t
�
�
�
�
z
e
[
M
?
(
��������gm[I7%U�������DxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		��teVMC9/%�����+#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"nY��=ʅT�
!L��"�W.���mG!���wM!����x:���{X���tT0
�
�
�
��
R
-
���`;����wO+o
�
�
�
b
9
J	�	�	�	h	K	*	
�����cA���}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"nʁ��NQ�R
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��Bd+Q�
���k:���d;
�
�
o
?
��yG�'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�a�m|g\
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��M�*/�"
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( �������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�GP������*���(���$���#���!��������������������������?���4J�"n,s����L
�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��#m�A�
&
n�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n��q[�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n����u��
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( �������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�GH=�������*���(���$���#���!��������������������������?���4J�"nh�@��z
x����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������x��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�n�(9�A

'
]�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]�e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"nlD���͋
�2���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n���z�|C�
���������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
��
�
�t
�
�
�
�
z
e
[
M
?
(
��������gm[I7%U�������DxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�teVMC9/%�����+#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"n������R
!M��"�W.����mG!���wM!����x:���{X���tT0
�
�
�
��
R
-
���`;����wO+o
�
�
�
b
9
J	�	�	�	h	K	*	
����cA���}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n7�>��d�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"nYf9����8
���k:���d;
�
�
o
?
��yG��'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�U��k�Q�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nre"t��O
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( �������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G@��=�������*���(���$���#���!��������������������������?���4J�"np�#t�u/�
p����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xp����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nqp53�%��
(
K�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K�f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�kN���%
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�-���
	�vP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`0	(� ���	
��
��
��
�
��
��
�
�
�
�
�p
�
8
0
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|H��������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n���HBvl
h����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�kK��:�i
)
9�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9�g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�c$THn\
�,���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n�ݸ>5�
�
���������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gm[I7%U�������DxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�eVMC9/%�����+)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"n���&�ˮ
!N��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
��
R
-
���`;����wO+o
�
�
�
b
9
J	�	�	�	h	K	*	
���cA���}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n�v�ې�9
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��n����
���k:���d;
�
�
o
?
��yG���*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n��v8hZ�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nҖرL�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G8����=�������*���(���$���#���!��������������������������?���4J�"n�rŒ��e
`����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�K�#�q
*
'�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n"�z�"	
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��y�aq�
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( �����������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G0?�����=�������*���(���$���#���!��������������������������?���4J�"n���<B[
X����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`X����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�
!�K�
+
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'
�i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n
8t�l�X�
�&���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,&�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"nz��N�=�_
�y�������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gym[I7%U�������DxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�VMC9/%�����+systemd�)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"n*PI�,�
!O��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
���
R
-
���`;����wO+o
�
�
�
b
9
J	�	�	�	h	K	*	
��cA���}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4�$#systemd23982.el8_10.1x86_64�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n�
蕩s��
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n�Op�QQ��
g��k:���d;
�
�
o
?
��yG���g$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nl@y�|�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nc����
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G(��?�����=�������*���(���$���#���!��������������������������?���4J�"nfno��`r?
P����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XP������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"ne)o��
,
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nH�V�n�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nRF��T`>
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�#/��
H����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nx>�A�$�
-��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

��k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�Dz��d�
� ���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"nvq �Sw2�
�g�������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gym[I7%Ug�������DxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�MC9/%�����+%systemd-libs�systemd�)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"nY�/��kM+
!P��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
���
R
-
���`;�����wO+o
�
�
�
b
9
J	�	�	�	h	K	*	
��A���}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4_)%#systemd-libs23982.el8_10.1x86_64�$#systemd23982.el8_10.1x86_64�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n�Q�_S�ӕ
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n���A_�O
;��k:���d;
�
�
o
?
��yG���g;)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n��%��
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n�+ٞN
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�����������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G��A���?�����=�������*���(���$���#���!��������������������������?���4J�"nc���ۗ�
@����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n}%|%J�
.��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

���l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nG]�k��s
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n�|��Ĩg
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( �����������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�GB���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n7%^�X?Xx
8����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@8������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�lذ�ߕ
/��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

����m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�'�"�=�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"nk*�]�5à
�V�������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gym[I7%Ug�������DVxfTB02
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�C9/%�����+#systemd-pam�%systemd-libs�systemd�)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"n���L
!Q��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
���
R
-
���`;�����wO+oW
�
�
�
b
9
J	�	�	�	h	K	*	
�����}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
46(##systemd-pam23982.el8_10.1x86_64�)%#systemd-libs23982.el8_10.1x86_64�$#systemd23982.el8_10.1x86_64�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n3hM{�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��E����
��k:���d;
�
�
o
?
��yG���g;(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nⲰ���
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n���� y�5
��@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G��B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�k�Lt�
0����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nu��~W��
0��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�����n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n<n&��wku
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n;|�{L��
�@������ 0�����xph`XPH@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`�_�^�]�\�Z�X�V�T�R�P�N�L�J�H�F�D�B�A�@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�GC���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�!��G
(����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80(����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��ݣ rka
1��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

������o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"nI���%���
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����4J�"n��lI�y
�D�������q_M;�-�����C����v.gXM<(������mP3����������lXG6$����������}qeYM�������t`O>-������������xjVB.
���
�
�t
�
�
�
�
z
e
[
M
?
(
��������gym[I7%Ug�������DVxfTB02D
�
�
�
�
�
�
�
�
u
j
^
V
H
>
4
&
$

	�	�	�	�	�	��	�	�	�	�	x	l	[	J	9	(		�9/%�����+%systemd-udev�#systemd-pam�%systemd-libs�systemd�)sssd-nfs-idmap�#sssd-common�#sssd-client�
rubygems�%rubygem-rdoc�'rubygem-psych�	rust	�	rust�
rubygems
�
rubygems
2
rubygems�
rubygemsw%rubygem-rdoc
�%rubygem-rdoc
1%rubygem-rdoc�%rubygem-rdocv'rubygem-psych
�'rubygem-psych
0'rubygem-psych�'rubygem-psychu+rubygem-openssl�+rubygem-openssl
�
tunedF%trousers-libE
trousersD
tpm2-tssC%systemd-udevB#systemd-pamA%systemd-libs@systemd?stunnel>)sssd-nfs-idmap=#sssd-common<#sssd-client;'smartmontools:-shared-mime-info9%shadow-utils8
setup7;selinux-policy-targeted6)selinux-policy5+rust-std-static�	rust�sqlite�sqlite�sqlitesqlite%spice-server�%spamassassin�sombok�snappy='smartmontools�'smartmontoolsB
slang<-shared-mime-info;%shadow-utils�%shadow-utils%shadow-utils:#sgml-commonA#sgabios-bin�)sg3_utils-libs
)sg3_utils-libs9sg3_utils	sg3_utils8
setup�
setup
setup7;selinux-policy-targeted�;selinux-policy-targeted
+;selinux-policy-targeted�;selinux-policy-targeted|;selinux-policy-targeted;selinux-policy-targeted|;selinux-policy-targeted6)selinux-policy�)selinux-policy
*)selinux-policy�)selinux-policy{)selinux-policy)selinux-policy{)selinux-policy5sedsed4)seavgabios-bin�#seabios-bin�
scrub�scl-utils	scl-utils	�+rust-std-static
�+rust-std-static+rust-std-static	�+rust-std-static�-rust-srpm-macros�	rust
�	rust%unbound-libs	#tzdata-java�#tzdata-java
�#tzdata-javab#tzdata-java
7#tzdata-java�#tzdata-java�tzdatatzdata�tzdata}tzdatatzdata�tzdataN
tuned�
tuned�
tuned
tunedM
ttmkfdir�%trousers-libL
trousersK	tree
tpm2-tss�
tpm2-tssJ	tmux�	tmux�
tk-devel�tk�telnet	k
teamdItcl-devel�tcl�tar�tartar3systemtap-sdt-devel
�3systemtap-sdt-devel
3systemtap-sdt-devel
63systemtap-sdt-devel<%systemd-udev�%systemd-udev
/%systemd-udev�%systemd-udev%systemd-udev�%systemd-udev�%systemd-udevH#systemd-pam�#systemd-pam
.#systemd-pam�#systemd-pam#systemd-pam�#systemd-pam�#systemd-pamG%systemd-libs�%systemd-libs
-%systemd-libs�%systemd-libs%systemd-libs�%systemd-libs�%systemd-libsF/systemd-containerGsystemd�systemd
,systemd�systemdsystemd�systemd�systemdE/syslinux-nonlinuxFAsyslinux-extlinux-nonlinuxE/syslinux-extlinuxD
syslinuxC
supermin�	sudoD+subversion-perl
5+subversion-perl�+subversion-libs
4+subversion-libs�!subversion
3!subversion�stunnel�strace	)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmap�)sssd-nfs-idmap)sssd-nfs-idmap�)sssd-nfs-idmapC
sssd-kcm
sssd-kcm
sssd-kcmB#sssd-common#sssd-common�#sssd-common�#sssd-common#sssd-common~#sssd-commonA#sssd-client#sssd-client�#sssd-client�#sssd-client#sssd-client}#sssd-client@)squashfs-tools?#sqlite-libs�#sqlite-libs�#sqlite-libs#sqlite-libs>%sqlite-devel�%sqlite-devel�%sqlite-devel
%sqlite-devel�����4J�"n��&�ܝj�
!R��"�W.����mG!���wM!�����x:���{X���tT0
�
�
�
���
R
-
���`;�����wO+oW
�
�
�
b
9
J-	�	�	�	h	K	*	
�����}J��{>��T!B+Isubversion-libs1.10.25.module+el8.7.0+1065+42200b2ex86_64
4)%#systemd-udev23982.el8_10.1x86_64�(##systemd-pam23982.el8_10.1x86_64�)%#systemd-libs23982.el8_10.1x86_64�$#systemd23982.el8_10.1x86_64�*)sssd-nfs-idmap2.9.44.el8_10x86_64�'#sssd-common2.9.44.el8_10x86_64�'#sssd-client2.9.44.el8_10x86_64�$%systemd-udev23982.el8x86_64B##systemd-pam23982.el8x86_64A$%systemd-libs23982.el8x86_64@systemd23982.el8x86_64?stunnel5.712.el8x86_64>A+Gsubversion-libs1.10.24.module+el8.4.0+407+38733e5ax86_64�=!Isubversion1.10.25.module+el8.7.0+1065+42200b2ex86_64
3<!Gsubversion1.10.24.module+el8.4.0+407+38733e5ax86_64�!stunnel5.565.el8_3x86_64�strace5.182.el8x86_64	*)sssd-nfs-idmap2.9.43.el8_10x86_64=+)sssd-nfs-idmap2.9.14.el8_9.5x86_64))sssd-nfs-idmap2.9.14.el8_9x86_64�))sssd-nfs-idmap2.8.23.el8_8x86_64�+)sssd-nfs-idmap2.7.34.el8_7.3x86_64+)sssd-nfs-idmap2.5.22.el8_5.4x86_64�')sssd-nfs-idmap2.5.22.el8x86_64C%sssd-kcm2.7.34.el8_7.3x86_64%sssd-kcm2.5.22.el8_5.4x86_64!sssd-kcm2.5.22.el8x86_64B'#sssd-common2.9.43.el8_10x86_64<(#sssd-common2.9.14.el8_9.5x86_64&#sssd-common2.9.14.el8_9x86_64�&#sssd-common2.8.23.el8_8x86_64�(#sssd-common2.7.34.el8_7.3x86_64(#sssd-common2.5.22.el8_5.4x86_64~$#sssd-common2.5.22.el8x86_64A'#sssd-client2.9.43.el8_10x86_64;"	tcl-devel8.6.82.el8x86_64�	tcl8.6.82.el8x86_64�tar1.309.el8x86_64� tar1.306.el8_7.1x86_64tar1.305.el8x86_64*3systemtap-sdt-devel4.93.el8x86_64
�*3systemtap-sdt-devel4.82.el8x86_64
*3systemtap-sdt-devel4.71.el8x86_64
6*3systemtap-sdt-devel4.53.el8x86_64<$%systemd-udev23978.el8x86_64�(%!systemd-udev23974.el8_8.5x86_64
/(%!systemd-udev23974.el8_8.3x86_64�(%!systemd-udev23968.el8_7.4x86_64(%!systemd-udev23951.el8_5.5x86_64�(%!systemd-udev23951.el8_5.3x86_64�$%systemd-udev23951.el8x86_64H##systemd-pam23978.el8x86_64�'#!systemd-pam23974.el8_8.5x86_64
.'#!systemd-pam23974.el8_8.3x86_64�'#!systemd-pam23968.el8_7.4x86_64'#!systemd-pam23951.el8_5.5x86_64�'#!systemd-pam23951.el8_5.3x86_64�##systemd-pam23951.el8x86_64G$%systemd-libs23978.el8x86_64�(%!systemd-libs23974.el8_8.5x86_64
-(%!systemd-libs23974.el8_8.3x86_64�(%!systemd-libs23968.el8_7.4x86_64(%!systemd-libs23951.el8_5.5x86_64�(%!systemd-libs23951.el8_5.3x86_64�$%systemd-libs23951.el8x86_64F-/!systemd-container23951.el8_5.3x86_64Gsystemd23978.el8x86_64�#!systemd23974.el8_8.5x86_64
,#!systemd23974.el8_8.3x86_64�#!systemd23968.el8_7.4x86_64#!systemd23951.el8_5.5x86_64�#!systemd23951.el8_5.3x86_64�systemd23951.el8x86_64E)/syslinux-nonlinux6.045.el8noarchF2Asyslinux-extlinux-nonlinux6.045.el8noarchE)/syslinux-extlinux6.045.el8x86_64D syslinux6.045.el8x86_64C;Isupermin5.1.1910.module+el8.4.0+534+4680a14ex86_64�"sudo1.8.297.el8_4.1x86_64DB+Isubversion-perl1.10.25.module+el8.7.0+1065+42200b2ex86_64
5A+Gsubversion-perl1.10.24.module+el8.4.0+407+38733e5ax86_64�4���4J�"n�
���
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n\�^��G

���k:���d;
�
�
o
?
��yG���g;
�)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nI��_Fd�B
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
���4J�"n�L%��-��47��4��������|pdXL@Lu�+�i�U	
������O�6��
^��	�>*�����^�!��	��Ym�?9>+�f���4J�"n"���,�ƒ
��xph`���������(8HXhx�������� 
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�����������x�pxh`XPH@80( ��������������p�h�`xXph`PXPH@8H0�@�8���0�(� ��	��	��	��	��	��	�x	�p	�h	�`	�X	�PH@8(0(� ���
�
��
��
�
�
�
�
��
��
�
�
�
�
�
��
��
x�
p�
h�
`�
XX
PP
HH
@@
88
00
((
  



�������������������������p�`xPp@h0` X�P�H�@�8�0�( �������������x�p�h�`�X��������PxHp@h8`X0P(H @80( ����
��
��
��
�
��
��
��
��
��
��
��
��
��
��
��	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				���������������������p`�SuHtBs@r>q<k,i*h$e dcba`_^]\
[YXW�V�O�N�M�L�K�J�I�H�G�F�E�D�C�@�?�>�=�<�;�*�)�(�'�$�#�"�!� ����~|
��
��
��
��p3
��o1
��n/
��m-
��l+
��
��
��g%
��U#
��T!
��S
��:
��9
��8
��7
��6
��5
��4
��3
��2

��1
��0	
��/
��.
��-
��,
��+�
��
��
��
�
�
�
�

�
�	
�
�
�
�
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
���Z�M�X�K�V�I�T�G�R�E�CA~?}=|;{9z7yPy5xNx3wLw1vJv/
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
�
��
�

��
�
��
�
��
��
��
��
��
��
��
��
��
��
��
��u-t+s)r'q%p#o!nmlkjihgfe
dc	ba`_^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� ��}{ywusqomkigeca_
][Y
W	USQOMKIGEC
�A
�?
�=
�;
�9
�7
�5
�3
�1
�/
�-zxvtrpnl	fd`^\XR
�N
�L
�<
�:
�8
�6
�4
�2
�0
�.
�,
�*
�(
�&
�
��Q�\�O
�+
�)
�'
�%
�#
�!
�
�
�
�
�
�+���4J�"n���/@�"z
���xph`(�����������xph`XPH@8�� 0H@pphh``XXP�������PH@80( ��xp��h�`���	(����	 �	�	�	�	������������@������xph`XPH@80( 	�	p	`	P	@
�	0
��
�X
�
�
��
��
��
��
��
��
��
�x
�P
�8
�(
x
p
h�
`�
X�
P0
H 
@
8X
0
(
 �
�
�
�
���� �x�H�@�8�0�(� ����������xph`XPH@80�(� ���������������������xph`XPH@80�(� ���
�	8
�	H
�	X
�	h
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8	x
0	�
(	�
 



	�	�	�	�	�����80( PH����	�	�	�	�	�	�	�	��������xph`XPH@80(�����������������������h`XPH@80(�x�g�_�e�]�:_��8_/�6`��4`1�2a��0a3�.dcb5b��&fe�"�[�f�Y�d�W�S�Q�X���O�M�K�I�G�A�Elkji
hg	���5���]�����s���q���o�|�m�z�k�x�i�g�n�e�l�c�a�j�_���u�������w���7���y�������}�{��������������������������������������������������������������������������������������������M�����������������K���������G���J�������������>:9654*)(
	��������������;�<�=!�>#�S%�t#s!rqponm^-U+T'^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_^]\[
ZYX
R	PNLJHFDB@>�<�:�8�6�4�2�0�.�,�*�(�&�$�"� �����������
����������������������������������������������������������������������������������v'u%���C�=�A�;�?�=�;99~7}5|3{1z/y7y-x+w)�h�c�a�_�]�[�Y�W�U7���4J�"n��7�@��
�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ��������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^0�\�Z��V�T�R�P�N�L�J�H�F�D�B �@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>�@Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n<V.�[��
 ����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��Y�/�$�
2��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�`��!�j
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"np����4;
0�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ��������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z��V�T�R�P�N�L�J�H�F�D�B �@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>�@Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"nF�I>��ް
����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��M��;U�
3��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

��������q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�����
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	� ���4J�"n��V�B��
b����c:���c:�
�
�
~
P
"���j<���uG
�
�
�
z
\
,	�	�	�	d	7	
���]<����nL$���zP-����Q2���sO)���pE����`=����oN/(#ImageMagick6.9.13.141.el8x86_64�beep1.4.129.el8x86_64�bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?bash4.4.202.el8x86_64!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*+authselect-libs1.2.52.el8_7x86_64
>'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i$���4J�"n"Ƨ���j�
���������raP?.u�����zdN8"

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
���������|eN7 �������~�G<1�!��#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n�<�2?�i�
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n���T4n�

���k:���d;
�
�
o
?
��yG���g;
�
�(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n:����S
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��1҆
��@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0�����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B �@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>�@Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n��cc�b|
����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nwR�xi�
4|�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|�r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nW�g�Hx
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n��_�.1�
	�wP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`0	(� ���	
��
��
��
�
��
��
�
X
�
�
�
�p
�
0
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|Hx���������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n�G���m
����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n?<6�|
5k�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|k�s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n#�zS�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����4J�"n�]5���oQ�69��
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�	 beep1.4.129.el8x86_64��3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64�&!&!clamav-lib0.103.101.el8x86_64
3�2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'#>;-crypto-policies-scripts202307311.git3177e06.el8noarch
p�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR;5�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch� ���4J�"n���v�
b����c:���c:
�
�
�
U
&���n@���tL
�
�
�
s
A
"
	�	�	j	;	���mI'���~`<���|P"����jL-����c?����d@���yR-���xU5��bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?bash4.4.202.el8x86_64!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*+authselect-libs1.2.52.el8_7x86_64
>'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i!���4J�"n�9�Kd�
^�7xN<$���s�D
�
�
��
`
3
����[0	���yU5
�
�
�
l
A
	�	�	�	c	2	
���lD����oO)���}X��-��d�C"����fB����hA���dh;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�$c-ares1.13.011.el8_10x86_64�+#bind-libs 9.11.3616.el8_10.2x86_64b)-clamav-freshclam1.0.71.el8x86_64`'%c-ares-devel1.13.010.el8x86_64�0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c*%c-ares-devel1.13.011.el8_10x86_64�!,-bind-export-libs 9.11.266.el8x86_64,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B0+!ca-certificates2021.2.5080.0.el8_4noarch*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,!#bind-utils 9.11.3616.el8_10.2x86_64e.%#bind-license 9.11.3616.el8_10.2noarchd#���4J�"n�[�.�J�
�P�9�`���}D<��N����G��oh�v)wW5���nA
���
���@�
n
�
�
�
q
H
	�	�	�	�	{�
M	\	:	
,��
��W!�"�Y�#
�
{
P�
.
����i?x��6+-crypto-policies202111161.gitae470d6.el8noarch
H6+-crypto-policies202212151.gitece0092.el8noarch=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
Iu!collectd5.9.05.el8x86_64�bcmake3.26.52.el8x86_64>;-crypto-policies-scripts202212151.gitece0092.el8noarch�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v8Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�6+-crypto-policies202307311.git3177e06.el8noarch	*-cmake-rpm-macros3.20.24.el8noarch	D,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	C!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	Bcpp8.5.020.el8x86_64
�>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�,-cmake-rpm-macros3.26.51.el8_9noarch
�5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#*-cmake-rpm-macros3.20.25.el8noarch� %!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\()cronie-anacron1.5.210.el8x86_64� cronie1.5.210.el8x86_64� cpp8.5.022.el8_10x86_64 ?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64*-cmake-rpm-macros3.26.52.el8noarch*-cmake-filesystem3.26.52.el8x86_64$!cmake-data3.26.52.el8noarchE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64M?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarch>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_649Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�$���4J�"n_��z���
���������raP?.u��^���zdN8"

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
���������|eN7 �������~G<1�!��/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n~O:K�y
������������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��(�I�#

���k:���d;
�
�
o
?
��yG���g;
�
�
�.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nk
55\�0�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��(��
 �@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>�@Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"nS����W��
 ����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n�*�~J*
6Y�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kY�t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n��y,8۶B
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n���
e��
	�xP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`0	(� ���	
��
��
��
�
��
��
�
X
�
P
�
�
�p
�
0
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|Hp�����������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n$�Z�ȱ"
!�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nb���
� 
7G�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG�u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n>c�z�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& �\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����4J�"n���px��69��
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�  bash4.4.204.el8_6x86_64
?�3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64�#!)-clamav-freshclam1.0.71.el8x86_64`�2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'#>;-crypto-policies-scripts202307311.git3177e06.el8noarch
p�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR;5�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch� ���4J�"nD��B��
a����c:���c:
�
�
�
U
&���n�@���tL
�
�
�
s
A
"
	�	�	j	;	���mI'���~`<���|P"����jL-����c?����d@���yR-���xU5�@--ImageMagick-libs6.9.13.141.el8x86_64�bash4.4.202.el8x86_64!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*+authselect-libs1.2.52.el8_7x86_64
>'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i!���4J�"n��M^�)
h_�s7xN<$���s�D
�
�
��
`
3
����[0	���yU5
�
�
�
l
A
	�	�	�	c	2	
���lD����oO)���}X��-��d�C"����fB����hA���d;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�$c-ares1.13.011.el8_10x86_64�+#bind-libs 9.11.3616.el8_10.2x86_64bbash4.4.205.el8x86_64�'%c-ares-devel1.13.010.el8x86_64�0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c*%c-ares-devel1.13.011.el8_10x86_64�beep1.4.129.el8x86_64�,-bind-export-libs 9.11.266.el8x86_64,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B0+!ca-certificates2021.2.5080.0.el8_4noarch*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,!#bind-utils 9.11.3616.el8_10.2x86_64e.%#bind-license 9.11.3616.el8_10.2noarchd#���4J�"ne��h
�4(
�Q��9�`���}D<��N����G��oh�v)wW5���nA
���
���@�
n
�
�
�
q
H
	�	�	�	�	{�
M	\	:	
,��
��W!�"�Y�#
{
P�
.
����i?x&!clamav-lib0.103.101.el8x86_64
36+-crypto-policies202111161.gitae470d6.el8noarch
H6+-crypto-policies202212151.gitece0092.el8noarch=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
Iu!collectd5.9.05.el8x86_64�bcmake3.26.52.el8x86_64>;-crypto-policies-scripts202212151.gitece0092.el8noarch�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v8Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�6+-crypto-policies202307311.git3177e06.el8noarch	*-cmake-rpm-macros3.20.24.el8noarch	D,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	C!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	Bcpp8.5.020.el8x86_64
�>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�,-cmake-rpm-macros3.26.51.el8_9noarch
�5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#*-cmake-rpm-macros3.20.25.el8noarch� %!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\()cronie-anacron1.5.210.el8x86_64� cronie1.5.210.el8x86_64� cpp8.5.022.el8_10x86_64 ?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64*-cmake-rpm-macros3.26.52.el8noarch*-cmake-filesystem3.26.52.el8x86_64$!cmake-data3.26.52.el8noarchE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64M?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarch>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_649Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�$���4J�"n��F�K�~d
���������raP?.u��^���zHdN8"

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
���������|eN7 �������~<1�!��-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n#�3�L��
�x����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������x����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n�M�I:�

X��k:���d;
�
�
o
?
��yG���g;
�
�
�
X-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nS�kWTF
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n6��] 0�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� �����������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"nN���
PZ
"�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��Uj���N
86�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6�v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nvN�v�t=�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�@�$�
	�yP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`0	(� ���	
��
��
��
�
��
��
�
X
�
P
�
H
�
�p
�
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|Hh�������������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n�X;���N�
#�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��#�(�~�
9%�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�A����SP
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
��]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����4J�"n��p��rk�69��
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�
 bash4.4.202.el8x86_64�3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64�#!)-clamav-freshclam1.0.71.el8x86_64`�2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'#>;-crypto-policies-scripts202307311.git3177e06.el8noarch
p�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR;5�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch� ���4J�"n�y&�k0p
a����c:���c:
�
�
�
U
&���n@���Z9
�
�
�
f
>
	�	�	�	x	=	���V3����gF"���pF ���yS,���~_@���uR,���h?����fC���!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*+authselect-libs1.2.52.el8_7x86_64
>'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.13.141.el8x86_64�--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.13.141.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i!���4J�"n
)M߳b�
`����tK!���wI
�
�
�
\
0
��zM#���uJ#
�
�
�
o
O
'	�	�	�	�	[	0	��}L$����^6����iC����rM%���sA���_6����b@����R$��,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B0+!ca-certificates2021.2.5080.0.el8_4noarch*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�*%c-ares-devel1.13.011.el8_10x86_64�'%c-ares-devel1.13.010.el8x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64$c-ares1.13.011.el8_10x86_64�!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c,!#bind-utils 9.11.3616.el8_10.2x86_64e*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b.%#bind-license 9.11.3616.el8_10.2noarchd,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`+#bind-libs 9.11.3616.el8_10.2x86_64b)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,-bind-export-libs 9.11.266.el8x86_64beep1.4.129.el8x86_64�bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?#���4J�"n�N�B��.
�Q��9�`���}D<��N����G��oh�v)wW5���nA
���
���@�
n
�
�
�
q
H
	�	�	�	�	{�
M	\	:	
,��
��W!�"�Y�#
{
P�
.
����i?x&!clamav-lib0.103.101.el8x86_64
36+-crypto-policies202111161.gitae470d6.el8noarch
H6+-crypto-policies202212151.gitece0092.el8noarch=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
Iu!collectd5.9.05.el8x86_64�bcmake3.26.52.el8x86_64>;-crypto-policies-scripts202212151.gitece0092.el8noarch�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v8Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�6+-crypto-policies202307311.git3177e06.el8noarch	*-cmake-rpm-macros3.20.24.el8noarch	D,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	C!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	Bcpp8.5.020.el8x86_64
�>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�,-cmake-rpm-macros3.26.51.el8_9noarch
�5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#*-cmake-rpm-macros3.20.25.el8noarch� %!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\()cronie-anacron1.5.210.el8x86_64� cronie1.5.210.el8x86_64� cpp8.5.022.el8_10x86_64 ?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64*-cmake-rpm-macros3.26.52.el8noarch*-cmake-filesystem3.26.52.el8x86_64$!cmake-data3.26.52.el8noarchE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64M?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarch>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_649Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�$���4J�"nZ�J'��7
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
���������|eN7 �������~1�!�r-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"nNN	Š
�p����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xp������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n��[w���
 
(��k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n���l���0
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n}���Ǜ�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k���C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"nw{#�Iͱ�
$�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nM�e�K
:�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�{�w�B�U
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�b�[@9��
	�zP������ph`XPH@8���������`XPH@80( �xp����	�	�	�	�	�	�	�	�	�	�	�0�(� ��������h�`�XPH@80( ������x�p�h�`�X�P�Hx@�8�������0����( �8HXhx���������(8��(x ph`0X(P H�����������
�
�@
�
��
�
�
�
�
��
��
��
��
��
�@
��
��
x�
p�
h�
`�
X�
P
H�
@x
8p
0h
(0
 

 
�
`�X�P��h���������������
xx�p0h@`PX	�P	xH	p@	h8	`0px( `�
�8
p�
h�	X�	P�	H�	@�	8�����������x�����
��	0x	(p	 h	`XPH@8	��p
�
�
`0	(� ���	
��
��
��
�
��
��
�
X
�
P
�
H
�
@
�p
�
(�
 �
�
�

	�	�	�	�h`XPH���������H@��P�N�L�4�2�0�.�,�*(~&}$|"{ ��QN0�S1�U4�Wq(.�-�,�+�K_^]\[ZY�	0�/��1��B�A�@�?�>�=�<_<�;];�:[:�9Y9�8W8�7U7�6S6�5Q5�4�3�2���D�C���KiK�JgJ�I�HeH�GcG�FaF�E��pO�NoN�MmM�LkL��rOq�tP��vPs��Q���Qu��R���Rw��S���Sy��T���T{��X�W�W�VV�U}U���X���Y�n�a�`�_�^�]�\�[�Z�Y�ihgfedcbajih�g�f�e�d�c�b�!t!q p onmlkj�X#u"v"s.�-�,�+�#x�Z$w/�$z2�%y3������������������������������~�r�p�n�l�h*�*�)�)�(�('�'}&~&{%|H`���������������������������������������������������������������
�	������������������������������������������������������}�{�y�w�u�s�q�o�m�k�i�g�e�c�a�_�]�[�Y�W�U�S�Q�O�M�K�I�G�E�C�A�?�=�;�9�7�5�3�1�/-~+})|'{%z#y!xwvutsrqpo
nm	lk��\�[�Z�I�E�D�C�B�A�@�?�>�=�x)w'��������yvuplkj
ihgfcb�a�`�_�^��9z�(�I�E�C�A�?�=�;X?���4J�"n����
%�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n��#
;�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n�[T�`�$L
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
��^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����4J�"n��P�69��
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�
 bash4.4.202.el8x86_64�3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64� !,/clamav-filesystem0.103.91.el8noarch��2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'#>;-crypto-policies-scripts202307311.git3177e06.el8noarch
p�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR;5�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch� ���4J�"n
�+�ז�
a����c:���c:
�
�
�
U
&���n@���Z9
�
�
�
f
>
	�	�	�	x	=	���V3����gF"���pF ���yS,���~_@���uR,���h?����fC���!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*+authselect-libs1.2.52.el8_7x86_64
>'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.13.141.el8x86_64�--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.13.141.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i!���4J�"n3
��Ͻ
`����tK!���wI
�
�
�
\
0
��zM#���uJ#
�
�
�
o
O
'	�	�	�	�	[	0	��}L$����^6����iC����rM%���sA���_6����b@�����R$�-clamav1.0.71.el8x86_64�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B0+!ca-certificates2021.2.5080.0.el8_4noarch*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�*%c-ares-devel1.13.011.el8_10x86_64�'%c-ares-devel1.13.010.el8x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64$c-ares1.13.011.el8_10x86_64�!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c,!#bind-utils 9.11.3616.el8_10.2x86_64e*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b.%#bind-license 9.11.3616.el8_10.2noarchd,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`+#bind-libs 9.11.3616.el8_10.2x86_64b)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,-bind-export-libs 9.11.266.el8x86_64beep1.4.129.el8x86_64�bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?#���4J�"n:6`"<�’
R����b<���]$
�
�
r
3��v8��n!
�
�
A	�	�	q	Q	1	���~Y.���U(����S��mK(���kM-����gF'���b,���I
�
P�
.
����i?x&!>;-crypto-policies-scripts202212151.gitece0092.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
I=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch6+-crypto-policies202307311.git3177e06.el8noarch	6+-crypto-policies202212151.gitece0092.el8noarch6+-crypto-policies202111161.gitae470d6.el8noarch
H5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64()cronie-anacron1.5.210.el8x86_64�cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64 cronie1.5.210.el8x86_64�')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64� cpp8.5.022.el8_10x86_64 cpp8.5.020.el8x86_64
�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#!collectd5.9.05.el8x86_64�*-cmake-rpm-macros3.26.52.el8noarch,-cmake-rpm-macros3.26.51.el8_9noarch
�*-cmake-rpm-macros3.20.25.el8noarch�*-cmake-rpm-macros3.20.24.el8noarch	D*-cmake-filesystem3.26.52.el8x86_64,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K$!cmake-data3.26.52.el8noarch&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	Ccmake3.26.52.el8x86_64!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	BE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yM?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarchL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v9Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_648Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�%!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[&!clamav-lib0.103.101.el8x86_64
3)-clamav-freshclam1.0.71.el8x86_64`$���4J�"n�G��V�S
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
������&���|eN7 �������~�!�fclamav�-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n��Q*F�Y�
�h����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@A���4J�"n�К#���'
!
��k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�n=��
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n�(L�`�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�����C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�5$�@d/
&�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"n����=o�
<��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%��z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�(P��8G�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
	���4J�"n&�̌'Ĉ
	Xn�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`����
��xph`XxPH@80�(� 80(�h�`�X�
x������`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n.U1V�8`
'�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AA���4J�"nޱ��,�=�
=��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3A���4J�"n"�@1Ld
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
��_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����4J�"nY���A�tSQLite format 3@  6B6.,P�����4J�"n��Tc�����7<�p�
�3=
jc�:���5I�����e��j����[	�	�A�
O	j�	9�
Ee�w�F##libgs-devel9.274.el8x86_64'/#!expat2.2.510.el8_7.1x86_64
b�-1rpm-plugin-selinux4.14.331.el8x86_643$:)7linux-firmware20230404117.git2e92a49f.el8_8noarch
!�#$!cmake-data3.26.52.el8noarch�3-	#iwl1000-firmware39.31.5.1117.el8_8.1noarch
�@#Mhttpd-tools2.4.3743.module+el8.5.0+746+b6ce3176.2x86_64��/3mariadb-connector-c3.1.112.el8_3x86_64�%�=Krubygems2.7.6.3110.module+el8.6.0+992+fc951c18noarch
2'%libsmartcols2.32.143.el8x86_64gY#libX111.6.86.el8x86_64
��
0+%%glibc-common2.28251.el8_10.2x86_64��$#mssql-tools17.10.1.11x86_64�U%'perl-Sub-Name0.217.el8x86_64��teamd1.312.el8x86_64I@&!libcurl7.61.125.el8_7.3x86_64
�)--dnf-plugins-core4.0.2119.el8_8noarch!�nss3.90.04.el8_9x86_64
��>1))kernel-headers4.18.0348.12.2.el8_5x86_64�?�1-iwl6000-firmware9.221.4.1110.el8.1noarch
�8!usbredir0.8.01.el8x86_64��y perl-XXX0.354.el8noarch;B*1perl-Class-Measure0.081.el8noarch8KNlibtdb1.4.90.el8x86_64�" *+authselect-libs1.2.52.el8_7x86_64
>�2%1python3-libs3.6.851.el8_8.2.rocky.0x86_64
I(3=libnsl21.2.02.20180605git4a062cf.el8x86_64�*(%	openssl-libs1.1.1k9.el8_7x86_64y�
Q'+perl-File-Which1.222.el8noarchKH'|53)platform-python-pip9.0.322.el8.rocky.0noarch	j�/5(#sssd-client2.9.14.el8_9.5x86_64*'pdns-recursor4.7.61pdns.el8x86_64��;,	/grub2-pc2.02150.el8.rocky.0.1x86_643Gcpython22.7.1813.module+el8.8.0+1553+3a17e3bb.2.rocky.0.2x86_64
@ZA-Iperl-HTML-Tagset3.2034.module+el8.6.0+965+850557f9noarch	�r/9perl-Net-OpenID-Server1.0914.el8noarch�	&"*1perl-Test-Synopsis0.161.el8noarch�
v,3perl-Test-LeakTrace0.1611.el8x86_64�E*/perl-SNMP_Session1.1317.el8noarch�j5C	perl-Locale-Maketext-Simple0.21422.el8noarch��)/perl-IO-Multiplex1.169.el8noarch�
<_/9perl-UNIVERSAL-require0.1817.el8noarch


�.!59!gcc-toolset-12-gcc-c++12.2.17.6.el8_10x86_64'B>;-crypto-policies-scripts202307311.git3177e06.el8noarch
;�8Cpython3.11-setuptools-wheel65.5.13.el8_10noarchl*-	perl-Module-Load0.32395.el8noarchR!0+!ca-certificates2021.2.5080.0.el8_4noarch�^aMlibvirt-daemon-driver-storage-iscsi-direct6.0.037.1.module+el8.5.0+732+d204e9f7x86_64l�(-perl-Authen-Krb51.928.el8x86_64�
Z�<C	'java-1.8.0-openjdk-headless1.8.0.382.b052.el8x86_64��-/perl-Data-Section0.2000073.el8noarchE
�G�6Iperl-Params-ValidationCompiler0.271.el8noarch�P�b/9perl-Crypt-Random-Seed0.0316.el8noarcht�������p ,1\\\\\\]]&6�,5perl-Exception-Class1.442.el8noarchpe7Aperl-Devel-REPL-Plugin-DDS1.00302817.el8noarch� ���4J�"n�Zzd~�
T����c:���c:
�
�
�
U
&���n@���Z9
�
�
�
f
>
	�	�	�	x	=	���V3����gF"���pF ���yS,���~_@���uR,���h?����fC����'+authselect-libs1.2.23.el8x86_64	#!authselect1.2.62.el8x86_64#!authselect1.2.61.el8x86_64
%!authselect1.2.52.el8_7x86_64
="!authselect1.2.23.el8x86_64%#augeas-libs1.12.06.el8x86_64�#!audit-libs3.1.21.el8x86_64�#!audit-libs3.0.75.el8x86_64#!audit-libs3.0.74.el8x86_64	�8!Gaudit-libs3.00.17.20191104git1c2f876.el8.1x86_64audit3.1.21.el8x86_64�audit3.0.75.el8x86_64audit3.0.74.el8x86_64	�3Gaudit3.00.17.20191104git1c2f876.el8.1x86_64attr2.4.483.el8x86_64�atop2.7.11.el8x86_64
atk2.28.11.el8x86_64�&%at-spi2-core2.28.01.el8x86_64%#at-spi2-atk2.26.21.el8x86_64"argon2201712273.el8x86_64�)-apr-util-openssl1.6.19.el8x86_64
z--apr-util-openssl1.6.16.el8_8.1x86_64�+-apr-util-openssl1.6.16.el8.1x86_64%%apr-util-bdb1.6.19.el8x86_64
y)%apr-util-bdb1.6.16.el8_8.1x86_64�'%apr-util-bdb1.6.16.el8.1x86_64!apr-util1.6.19.el8x86_64
x%apr-util1.6.16.el8_8.1x86_64�#apr-util1.6.16.el8.1x86_64apr1.6.312.el8x86_64#annobin9.721.el8_5.2x86_64� annobin11.132.el8x86_64
w annobin10.941.el8x86_64� annobin10.673.el8x86_64	�!alsa-lib1.2.91.el8x86_64
v!alsa-lib1.2.82.el8x86_64�#alsa-lib1.2.7.21.el8x86_64	�!alsa-lib1.2.54.el8x86_64�"alsa-lib1.2.102.el8x86_64,1adwaita-icon-theme3.28.03.el8noarch	�,1adwaita-icon-theme3.28.02.el8noarch.5adwaita-cursor-theme3.28.03.el8noarch	�.5adwaita-cursor-theme3.28.02.el8noarch.1adobe-mappings-pdf201804071.el8noarch:Iadobe-mappings-cmap-deprecated201712053.el8noarch/3adobe-mappings-cmap201712053.el8noarch
acl2.2.533.el8x86_64�acl2.2.531.el8.1x86_641;abattis-cantarell-fonts0.0.256.el8noarch&%OpenEXR-libs2.2.012.el8x86_64''OpenEXR-devel2.2.012.el8x86_64v,1	NetworkManager-tui1.32.104.el8x86_64-3	NetworkManager-team1.32.104.el8x86_64.5	NetworkManager-libnm1.32.104.el8x86_64')		NetworkManager1.32.104.el8x86_64 LibRaw0.19.54.el8x86_64 LibRaw0.19.53.el8x86_64
--ImageMagick-perl6.9.13.141.el8x86_64�--ImageMagick-perl6.9.12.931.el8x86_64�--ImageMagick-perl6.9.12.821.el8x86_64�--ImageMagick-perl6.9.12.771.el8x86_64---ImageMagick-perl6.9.10.861.el8x86_64�--ImageMagick-libs6.9.13.141.el8x86_64�--ImageMagick-libs6.9.12.931.el8x86_64�--ImageMagick-libs6.9.12.821.el8x86_64�--ImageMagick-libs6.9.12.771.el8x86_64,--ImageMagick-libs6.9.10.861.el8x86_64�./ImageMagick-devel6.9.13.141.el8x86_64�./ImageMagick-devel6.9.12.931.el8x86_64�./ImageMagick-devel6.9.12.821.el8x86_64./ImageMagick-devel6.9.12.771.el8x86_64+./ImageMagick-devel6.9.10.861.el8x86_64|(#ImageMagick6.9.13.141.el8x86_64�(#ImageMagick6.9.12.931.el8x86_64�(#ImageMagick6.9.12.821.el8x86_64~(#ImageMagick6.9.12.771.el8x86_64*(#ImageMagick6.9.10.861.el8x86_64{-3GraphicsMagick-perl1.3.381.el8x86_64	-3GraphicsMagick-perl1.3.362.el8x86_64�()GraphicsMagick1.3.381.el8x86_64	()GraphicsMagick1.3.362.el8x86_64�%#GeoIP-devel1.6.127.el8x86_64k-1GeoIP-GeoLite-data2018.065.el8noarchjGeoIP1.6.127.el8x86_64i!���4J�"n�Jн9"��
U�{R0	���yV/�����tK!���wI
�
�
�
\
0
��zM#���uJ#
�
�
�
o
O
'	�	�	�	�	[	0	��}L$����^6����iC����rM%���b@�����R$�- �bash4.4.202.el8x86_64!basesystem115.el8noarch
"!avahi-libs0.727.el8x86_64�&!!avahi-libs0.721.el8_9.1x86_64"!avahi-libs0.720.el8x86_64�"automake1.16.18.el8noarch
{"automake1.16.17.el8noarch	$#autoconf2132.1339.el8noarchM$%autoconf2.7x2.711.el8noarch�&#autoconf2.6929.el8_10.1noarcha!autoconf2.6929.el8noarchU(+authselect-libs1.2.62.el8x86_64(+authselect-libs1.2.61.el8x86_64*%c-ares-devel1.13.09.el8_9.1x86_64*%c-ares-devel1.13.06.el8_8.2x86_64�*%c-ares-devel1.13.011.el8_10x86_64�'%c-ares-devel1.13.010.el8x86_64�$c-ares1.13.09.el8_9.1x86_64$c-ares1.13.06.el8_8.2x86_64� c-ares1.13.06.el8x86_64
Ac-ares1.13.05.el8x86_64$c-ares1.13.011.el8_10x86_64�!c-ares1.13.010.el8x86_64�#!bzip2-libs1.0.626.el8x86_64%#bzip2-devel1.0.626.el8x86_64�bzip21.0.626.el8x86_64bsdtar3.3.35.el8x86_64bsdtar3.3.34.el8x86_64	�%%brotli-devel1.0.63.el8x86_64
<brotli1.0.63.el8x86_64
'%boost-thread1.66.013.el8x86_64�'%boost-thread1.66.010.el8x86_64 '%boost-system1.66.013.el8x86_64	Z'%boost-system1.66.010.el8x86_64&#boost-regex1.66.013.el8x86_64�&#boost-regex1.66.010.el8x86_64'%boost-random1.66.013.el8x86_64�'%boost-random1.66.010.el8x86_6407boost-program-options1.66.013.el8x86_64�07boost-program-options1.66.010.el8x86_64*+boost-iostreams1.66.013.el8x86_64�*+boost-iostreams1.66.010.el8x86_64+-boost-filesystem1.66.013.el8x86_64	Y*+boost-date-time1.66.013.el8x86_64�*+boost-date-time1.66.010.el8x86_64('boost-context1.66.013.el8x86_64	X'%boost-chrono1.66.013.el8x86_64�'%boost-chrono1.66.010.el8x86_64'%boost-atomic1.66.013.el8x86_64�'%boost-atomic1.66.010.el8x86_64bison3.0.410.el8x86_64	###biosdevname0.7.32.el8x86_64"binutils2.30123.el8x86_64&#binutils2.30119.el8_8.2x86_64
C"binutils2.30119.el8x86_64"binutils2.30117.el8x86_64
@&#binutils2.30108.el8_5.1x86_64�*!bind-utils 9.11.368.el8_8.2x86_64�*!bind-utils 9.11.368.el8_8.1x86_64�*!bind-utils 9.11.365.el8_7.2x86_64	c,!#bind-utils 9.11.3616.el8_10.2x86_64e*!bind-utils 9.11.3614.el8_10x86_64)!bind-utils 9.11.3611.el8_9x86_64
,%bind-license 9.11.368.el8_8.2noarch�,%bind-license 9.11.368.el8_8.1noarch�,%bind-license 9.11.365.el8_7.2noarch	b.%#bind-license 9.11.3616.el8_10.2noarchd,%bind-license 9.11.3614.el8_10noarch+%bind-license 9.11.3611.el8_9noarch
~.)bind-libs-lite 9.11.368.el8_8.2x86_64�.)bind-libs-lite 9.11.368.el8_8.1x86_64�.)bind-libs-lite 9.11.365.el8_7.2x86_64	a0)#bind-libs-lite 9.11.3616.el8_10.2x86_64c.)bind-libs-lite 9.11.3614.el8_10x86_64-)bind-libs-lite 9.11.3611.el8_9x86_64
})bind-libs 9.11.368.el8_8.2x86_64�)bind-libs 9.11.368.el8_8.1x86_64�)bind-libs 9.11.365.el8_7.2x86_64	`+#bind-libs 9.11.3616.el8_10.2x86_64b)bind-libs 9.11.3614.el8_10x86_64(bind-libs 9.11.3611.el8_9x86_64
|,-bind-export-libs 9.11.266.el8x86_64beep1.4.129.el8x86_64�bash4.4.205.el8x86_64� bash4.4.204.el8_6x86_64
?#���4J�"no�ݲ~�
�
=�L���jA����mK)	���kF������b<���]$
�
�
r
3��v8��n!
�
�
A	�	�	q	Q	1	���~-����gF'���b,���I
�
P�
.
����i?x&!�,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2$#clamav-data1.0.71.el8noarch�&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1clamav1.0.71.el8x86_64�!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	Ccmake3.26.52.el8x86_64!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	BE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yM?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarchL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v9Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_648Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�%!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[&!clamav-lib0.103.101.el8x86_64
3)-clamav-freshclam1.0.71.el8x86_64`$���4J�"n��Of2�7
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
������&���|eN7 �������~!�U#clamav-data�clamav�-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n�����

�`����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@���4J�"n_��e'�$�
"	���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64BB���4J�"n��H"��O�
-r��}R'����]9
�
�
|
<
����Y/����wX6
�
�
�
�
^
6
		�	�	e	.��r>;-crypto-policies-scripts202212151.gitece0092.el8noarch>;-crypto-policies-scripts202111161.gitae470d6.el8noarch
I=;-crypto-policies-scripts202106171.gitc776d3e.el8noarch6+-crypto-policies202307311.git3177e06.el8noarch	6+-crypto-policies202212151.gitece0092.el8noarch6+-crypto-policies202111161.gitae470d6.el8noarch
H5+-crypto-policies202106171.gitc776d3e.el8noarch,1crontabs1.1117.20190603git.el8noarch')cronie-anacron1.5.28.el8x86_64
G&)cronie-anacron1.5.24.el8x86_64()cronie-anacron1.5.210.el8x86_64�cronie1.5.28.el8x86_64
Fcronie1.5.24.el8x86_64 cronie1.5.210.el8x86_64�')cracklib-dicts2.9.615.el8x86_64!cracklib2.9.615.el8x86_64cpp8.5.04.el8_5x86_64� cpp8.5.022.el8_10x86_64 cpp8.5.020.el8x86_64
�cpp8.5.018.el8x86_64�cpp8.5.016.el8_7x86_64	�cpio2.1211.el8x86_64
Ecpio2.1210.el8x86_64)-coreutils-common8.3015.el8x86_64)-coreutils-common8.3013.el8x86_64
D(-coreutils-common8.3012.el8x86_64"coreutils8.3015.el8x86_64"coreutils8.3013.el8x86_64
C!coreutils8.3012.el8x86_64'-copy-jdk-configs4.02.el8noarch�?#Kcompiler-rt17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Icompiler-rt16.0.63.module+el8.9.0+1651+e10a8f6dx86_64
�>#Icompiler-rt15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Icompiler-rt14.0.61.module+el8.7.0+1080+d88dc670x86_64	z#colordiff1.0.211.el8noarch	l$#colord-libs1.4.21.el8x86_64#!collectd5.9.05.el8x86_64�*-cmake-rpm-macros3.26.52.el8noarch,-cmake-rpm-macros3.26.51.el8_9noarch
�*-cmake-rpm-macros3.20.25.el8noarch�*-cmake-rpm-macros3.20.24.el8noarch	D*-cmake-filesystem3.26.52.el8x86_64,-cmake-filesystem3.26.51.el8_9x86_64
�*-cmake-filesystem3.20.25.el8x86_64�*-cmake-filesystem3.20.24.el8x86_64K���4J�"n�0QW5D��
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n���f�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kx������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n���s�
(�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n)��
h�5	
>��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%����|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n��܀6�
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
	���4J�"nu�^Z��ڕ
	Xo�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X���
��xph`XxPH@80�(� 80(�h�`�X�
x������`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n���;���
)�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"ns((�k�V
?��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�����}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3B���4J�"n���A!�
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
��`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�#���4J�"nCu���
L�
>eL���jA����mK)	���kF���e���b<���]$
�
�
r
3��v8��n!
�
�
A	�	�	q	Q	1	���~����gF'���b,���I
�
P�
.
����i?x&!�*/clamav-filesystem1.0.71.el8noarch�,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2$#clamav-data1.0.71.el8noarch�&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1clamav1.0.71.el8x86_64�!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	Ccmake3.26.52.el8x86_64!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	BE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yM?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarchL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v9Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_648Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�%!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[&!clamav-lib0.103.101.el8x86_64
3)-clamav-freshclam1.0.71.el8x86_64`$���4J�"n�����1�
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
������&���|eN7 ��������~�>/clamav-filesystem�#clamav-data�clamav�-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n���t��
�X����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`X������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@B���4J�"n��Q�
�
#	���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�ȧ����
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n��ױA�d 
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� �������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kp��������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�>�
E��
*�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"ne/jn�
@��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%������~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�!��{ �
������!trans_item�;comps_environment_group�
trans�3comps_group_packageM
	���4J�"nmꔬ��
	Xp�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P��
��xph`XxPH@80�(� 80(�h�`�X�
x������`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n
����(U�
+�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n��&no�
A��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3B���4J�"nK�����}3
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
��a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�#���4J�"n��,$�
?AL���jA����mK)	���kF���e���b<A���]$
�
�
r
3��v8��n!
�
�
A	�	�	q	Q	1	���~����gF'���b,���I
�
P�
.
����i?x&!�#!clamav-lib1.0.71.el8x86_64�*/clamav-filesystem1.0.71.el8noarch�,/clamav-filesystem0.103.91.el8noarch�,/clamav-filesystem0.103.83.el8noarch�-/clamav-filesystem0.103.111.el8noarch
Z-/clamav-filesystem0.103.101.el8noarch
2$#clamav-data1.0.71.el8noarch�&#clamav-data0.103.91.el8noarch�&#clamav-data0.103.83.el8noarch�'#clamav-data0.103.111.el8noarch
Y'#clamav-data0.103.101.el8noarch
1clamav1.0.71.el8x86_64�!clamav0.103.91.el8x86_64�!clamav0.103.83.el8x86_64�"clamav0.103.111.el8x86_64
X"clamav0.103.101.el8x86_64
0#chkconfig1.19.21.el8x86_64"chkconfig1.19.11.el8x86_64"#checkpolicy2.91.el8x86_64	�#celt0510.5.1.315.el8x86_64"('cairo-gobject1.15.126.el8x86_64	�('cairo-gobject1.15.123.el8x86_64! cairo1.15.126.el8x86_64	� cairo1.15.123.el8x86_64�;+1#ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch�:+1!ca-certificates2023.2.60_v7.0.30680.0.el8_8noarch
1+!ca-certificates2022.2.5480.2.el8_6noarch
B&!cmake-data3.26.51.el8_9noarch
�$!cmake-data3.20.25.el8noarch�$!cmake-data3.20.24.el8noarch	Ccmake3.26.52.el8x86_64!cmake3.26.51.el8_9x86_64
�cmake3.20.25.el8x86_64�cmake3.20.24.el8x86_64	BE/Kclang-tools-extra17.0.61.module+el8.10.0+1595+29ffb9b1x86_64D/Iclang-tools-extra16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�D/Iclang-tools-extra15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�D/Iclang-tools-extra14.0.61.module+el8.7.0+1080+d88dc670x86_64	yM?Kclang-resource-filesystem17.0.61.module+el8.10.0+1595+29ffb9b1noarchL?Iclang-resource-filesystem16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�L?Iclang-resource-filesystem15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�L?Iclang-resource-filesystem14.0.61.module+el8.7.0+1080+d88dc670x86_64	x>!Kclang-libs17.0.61.module+el8.10.0+1595+29ffb9b1x86_64=!Iclang-libs16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�=!Iclang-libs15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�=!Iclang-libs14.0.61.module+el8.7.0+1080+d88dc670x86_64	w?#Kclang-devel17.0.61.module+el8.10.0+1595+29ffb9b1x86_64>#Iclang-devel16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�>#Iclang-devel15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�>#Iclang-devel14.0.61.module+el8.7.0+1080+d88dc670x86_64	v9Kclang17.0.61.module+el8.10.0+1595+29ffb9b1x86_648Iclang16.0.62.module+el8.9.0+1651+e10a8f6dx86_64
�8Iclang15.0.71.module+el8.8.0+1144+0a4e73bdx86_64�8Iclang14.0.61.module+el8.7.0+1080+d88dc670x86_64	u('clamav-update0.103.91.el8x86_64�('clamav-update0.103.83.el8x86_64�)'clamav-update0.103.111.el8x86_64
\)'clamav-update0.103.101.el8x86_64
4%!clamav-lib0.103.91.el8x86_64�%!clamav-lib0.103.83.el8x86_64�&!clamav-lib0.103.111.el8x86_64
[&!clamav-lib0.103.101.el8x86_64
3)-clamav-freshclam1.0.71.el8x86_64`$���4J�"n�{0�A�e*
���������raP?.u��^���zHdN8"2

�
�
�
�
�
�
n
fu
M
)
�������ugZM@3*������|kYPF<2'j
�
�Z
�
�
�
�
�
�
t
_
J
<�
*

	�	�	�J	�	�	�@	�	�	�	}	n	_	P�	<	(		���������rbRB�4&
��������q\F1������|jXM;/#�����4���"��|g�\Q>+
������&���|eN7 ���������~�.!clamav-lib�/clamav-filesystem�#clamav-data�clamav�-ImageMagick-perl�-ImageMagick-libs�/ImageMagick-devel�#ImageMagick�+ca-certificates�%c-ares-devel�c-ares�!bind-utilse%bind-licensed)bind-libs-litecbind-libsb
autoconfa-clamav-freshclam`%c-ares-devel�c-ares�	bash�!avahi-libs�!audit-libs�
audit�acl�
clang�
clang	u'clamav-update
\'clamav-update
4'clamav-update�'clamav-update�!clamav-lib
[!clamav-lib
3!clamav-lib�!clamav-lib�/clamav-filesystem
Z/clamav-filesystem
2/clamav-filesystem�/clamav-filesystem�#clamav-data
Y#clamav-data
1#clamav-data�#clamav-data�clamav
Xclamav
0clamav�clamav�chkconfig
chkconfig#checkpolicy	�celt051"'cairo-gobject	�'cairo-gobject!
cairo	�
cairo�+ca-certificates
+ca-certificates
B+ca-certificates%c-ares-devel%c-ares-devel�c-aresc-ares�c-ares
A
c-ares!bzip2-libs#bzip2-devel�
bzip2bsdtarbsdtar	�%brotli-devel
<
brotli
%boost-thread�%boost-thread %boost-system	Z%boost-system#boost-regex�#boost-regex%boost-random�%boost-random7boost-program-options�7boost-program-options+boost-iostreams�+boost-iostreams-boost-filesystem	Y+boost-date-time�+boost-date-time'boost-context	X%boost-chrono�%boost-chrono%boost-atomic�%boost-atomic
bison	##biosdevname
binutils
binutils
C
binutils
binutils
@
binutils�!bind-utils!bind-utils
!bind-utils�!bind-utils�!bind-utils	c%bind-license%bind-license
~%bind-license�%bind-license�%bind-license	b)bind-libs-lite)bind-libs-lite
})bind-libs-lite�)bind-libs-lite�)bind-libs-lite	abind-libsbind-libs
|bind-libs�bind-libs�bind-libs	`-bind-export-libs	beep�	bash
?bash!basesystem
!avahi-libs!avahi-libs�
automake
{
automake	#autoconf213M%autoconf2.7x�
autoconfU+authselect-libs+authselect-libs+authselect-libs
>+authselect-libs	!authselect!authselect
!authselect
=!authselect#augeas-libs�!audit-libs!audit-libs	�!audit-libs
audit
audit	�	audit	attr�	atop
atk�%at-spi2-core#at-spi2-atkargon2�-apr-util-openssl
z-apr-util-openssl�-apr-util-openssl%apr-util-bdb
y%apr-util-bdb�%apr-util-bdb
apr-util
x
apr-util�
apr-utilaprannobin
wannobin�annobin	�annobin�
alsa-lib
alsa-lib
v
alsa-lib�
alsa-lib	�
alsa-lib�1adwaita-icon-theme	�1adwaita-icon-theme5adwaita-cursor-theme	�5adwaita-cursor-theme1adobe-mappings-pdf#Iadobe-mappings-cmap-deprecated3adobe-mappings-cmap
acl;abattis-cantarell-fonts%OpenEXR-libs'OpenEXR-develv1NetworkManager-tui3NetworkManager-team5NetworkManager-libnm)	NetworkManagerLibRawLibRaw
-ImageMagick-perl�-ImageMagick-perl�-ImageMagick-perl--ImageMagick-perl�-ImageMagick-libs�-ImageMagick-libs�-ImageMagick-libs,-ImageMagick-libs�/ImageMagick-devel�/ImageMagick-devel/ImageMagick-devel+/ImageMagick-devel|#ImageMagick�#ImageMagick~#ImageMagick*#ImageMagick{3GraphicsMagick-perl	3GraphicsMagick-perl�)GraphicsMagick	)GraphicsMagick�#GeoIP-develk1GeoIP-GeoLite-dataj
GeoIPi4���4J�"n��ӈ�)9
�P����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XP��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@B���4J�"n�Vg{�r
$	���k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n6kt|Ǿ�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n�6�#0
*�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ��������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kh���������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n��S
,�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n����
B��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%��������	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�,�O� {
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
	���4J�"n����5�
	Xq�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P�
H�
��xph`XxPH@80�(� 80(�h�`�X�
x������`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
]
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n�K{���
-�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n`|AzHCr
Cy�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������y�	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3B���4J�"n��$gu3
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
��b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�/���4J�"nqA����
wP���M 
�
�
�
�
X�
�
	�	�e
`	v	D	'	���Z5��C
>�h4
����R�����p�sH��J��i�Cg@�t��}P#Q������W�9
�
�"�#(+elfutils-libelf0.1893.el8x86_64 3Aelfutils-debuginfod-client0.1893.el8x86_64!elfutils0.1893.el8x86_64953dracut-config-rescue049228.git20230802.el8x86_64+3dracut049228.git20230802.el8x86_64+-dnf-plugins-core4.0.2123.el8noarch ethtool5.132.el8x86_64
a&'elfutils-libs0.1893.el8x86_64"&'elfutils-libs0.1883.el8x86_64+&'elfutils-libs0.1874.el8x86_64
`+-dnf-plugins-core4.0.2125.el8noarch�')elfutils-devel0.1893.el8x86_644Celfutils-default-yama-scope0.1893.el8noarch9Melfutils-debuginfod-client-devel0.1893.el8x86_64"%epel-release813.el8noarch�--	!emacs-filesystem26.110.el8_8.2noarch,.7elfutils-libelf-devel0.1893.el8x86_64!"%epel-release821.el8noarch��"%epel-release814.el8noarch�)-	emacs-filesystem26.111.el8noarch#%'elfutils-libs0.1851.el8x86_645.7elfutils-libelf-devel0.1883.el8x86_64*.7elfutils-libelf-devel0.1874.el8x86_64
_.7elfutils-libelf-devel0.1851.el8x86_64�(+elfutils-libelf0.1883.el8x86_64)(+elfutils-libelf0.1874.el8x86_64
^'+elfutils-libelf0.1851.el8x86_644')elfutils-devel0.1883.el8x86_64(')elfutils-devel0.1874.el8x86_64
]')elfutils-devel0.1851.el8x86_64�4Celfutils-default-yama-scope0.1883.el8noarch'4Celfutils-default-yama-scope0.1874.el8noarch
\3Celfutils-default-yama-scope0.1851.el8noarch39Melfutils-debuginfod-client-devel0.1883.el8x86_64&9Melfutils-debuginfod-client-devel0.1874.el8x86_64
[9Melfutils-debuginfod-client-devel0.1851.el8x86_64�3Aelfutils-debuginfod-client0.1883.el8x86_64%3Aelfutils-debuginfod-client0.1874.el8x86_64
Z2Aelfutils-debuginfod-client0.1851.el8x86_642!elfutils0.1883.el8x86_64$!elfutils0.1874.el8x86_64
Y!elfutils0.1851.el8x86_64$+efi-srpm-macros33.el8noarch�4;edk2-ovmf20210527gite1999b264f1f3.el8noarch&()e2fsprogs-libs1.45.65.el8x86_64
X')e2fsprogs-libs1.45.62.el8x86_641#e2fsprogs1.45.65.el8x86_64
W"e2fsprogs1.45.62.el8x86_640dwz0.1210.el8x86_64�1'3dracut-squash049191.git20210920.el8x86_64/2)3dracut-network049191.git20210920.el8x86_64.953dracut-config-rescue049223.git20230119.el8x86_64#;57dracut-config-rescue049218.git20221019.el8_7x86_64
V853dracut-config-rescue049191.git20210920.el8x86_64-+3dracut049223.git20230119.el8x86_64"-7dracut049218.git20221019.el8_7x86_64
U*3dracut049191.git20210920.el8x86_64,!!dosfstools4.16.el8x86_64
 dnsmasq2.7919.el8x86_64%,-dnf-plugins-core4.0.214.el8_5noarcha)-dnf-plugins-core4.0.213.el8noarch+
�}&'elfutils-libs0.1902.el8x86_64�.7elfutils-libelf-devel0.1902.el8x86_64�(+elfutils-libelf0.1902.el8x86_64�')elfutils-devel0.1902.el8x86_64�4Celfutils-default-yama-scope0.1902.el8noarch�9Melfutils-debuginfod-client-devel0.1902.el8x86_64�3Aelfutils-debuginfod-client0.1902.el8x86_64�!elfutils0.1902.el8x86_64�953dracut-config-rescue049233.git20240115.el8x86_64�+3dracut049233.git20240115.el8x86_64��ethtool5.87.el8x86_646"%epel-release819.el8noarch�"%epel-release818.el8noarch&"%epel-release815.el8noarch�,3environment-modules4.5.24.el8x86_64$,3environment-modules4.5.23.el8x86_64-,3environment-modules4.5.22.el8x86_64	�,-	emacs-filesystem26.17.el8_7.1noarchc(-	emacs-filesystem26.17.el8noarch�6���4J�"n%.�n�T
�����nH"������wcO�;&�������~kXE~/�����~lZH=<�����s���xbbYOE;X-I����:�����+ihN4O
�
�
�
�
��
��
�
r
d
P
<
/
"


�����������reXK>*�����hF$
�
��
�
�
��
d
@
x
	�	�	�	�	f	N	6	���O>,�������}l[D-������ubO<)�������teYMB6%��#Igcc-toolset-13-libstdc++-devel-�X%epel-release�5firewalld-filesystem�firewalld�#Igcc-toolset-12-libstdc++-develh9gcc-toolset-12-gcc-c++g1gcc-toolset-12-gccf%freetds-libsR'freetds-develQfreetdsPfuse-libs�5firewalld-filesystem�firewalld�findutils�file-libs�	file�#expat-devel�
expat�'elfutils-libs�7elfutils-libelf-devel�+elfutils-libelf�)elfutils-devel� Celfutils-default-yama-scope�%Melfutils-debuginfod-client-devel�Aelfutils-debuginfod-client�ethtool6%epel-release�%epel-release&%epel-release�%epel-release�%epel-release�3environment-modules$3environment-modules-3environment-modules	�-emacs-filesystem#-emacs-filesystem,-emacs-filesystemc-emacs-filesystem�'elfutils-libs"'elfutils-libs+'elfutils-libs
`'elfutils-libs57elfutils-libelf-devel!7elfutils-libelf-devel*7elfutils-libelf-devel
_7elfutils-libelf-devel�+elfutils-libelf +elfutils-libelf)+elfutils-libelf
^+elfutils-libelf4)elfutils-devel)elfutils-devel()elfutils-devel
])elfutils-devel� Celfutils-default-yama-scope Celfutils-default-yama-scope' Celfutils-default-yama-scope
\Celfutils-default-yama-scope3%Melfutils-debuginfod-client-devel%Melfutils-debuginfod-client-devel&%Melfutils-debuginfod-client-devel
[%Melfutils-debuginfod-client-devel�Aelfutils-debuginfod-client#Igcc-toolset-13-libstdc++-devel
k9gcc-toolset-13-gcc-c++,9gcc-toolset-13-gcc-c++
j1gcc-toolset-13-gcc+1gcc-toolset-13-gcc
i!Egcc-toolset-13-binutils-gold*!Egcc-toolset-13-binutils-gold
h;gcc-toolset-13-binutils);gcc-toolset-13-binutils
g9gcc-toolset-12-runtime�9gcc-toolset-12-runtime	�#Igcc-toolset-12-libstdc++-devel(#Igcc-toolset-12-libstdc++-devel�#Igcc-toolset-12-libstdc++-devel	9gcc-toolset-12-gcc-c++'9gcc-toolset-12-gcc-c++�9gcc-toolset-12-gcc-c++	~1gcc-toolset-12-gcc&1gcc-toolset-12-gcc�1gcc-toolset-12-gcc	}!Egcc-toolset-12-binutils-gold�!Egcc-toolset-12-binutils-gold	|;gcc-toolset-12-binutils�;gcc-toolset-12-binutils	{1gcc-plugin-annobin%1gcc-plugin-annobin
�1gcc-plugin-annobin�1gcc-plugin-annobin	�)gcc-gdb-plugin$)gcc-gdb-plugin
�)gcc-gdb-plugin�gcc-c++#gcc-c++
�gcc-c++�gcc-c++	�gcc-c++*gcc"gcc
�gcc�gcc	�gcc�gc)	gawk
kgawk@fuse-libs(fuse-libs
j
fuse-libs?#fuse-common	fuseftp
d
fstrm	[fribidi	�fribidi�)freetype-devel
i)freetype-devel�
freetype
hfreetype>%freetds-libs_'freetds-devel^freetds]
freeglut!
freeglut(;fontpackages-filesystem�-fontconfig-devel�!fontconfig�	flex	V5firewalld-filesystem
E5firewalld-filesystem
g5firewalld-filesystem�5firewalld-filesystem=firewalld
Dfirewalld
ffirewalld�
firewalld<fio�findutils'findutils

findutils;!filesystem:file-libs&file-libs1file-libs
e
file-libs9	file%	file0	file
dfile8-fftw-libs-double'#expat-devel/#expat-devel
c#expat-devel�#expat-devel�
expat.
expat
b
expat�	expat7ethtool
a4���4J�"n��^��=,
�H����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@B���4J�"n�?5�^�|
%	g��k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n�x��=��

������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���4J�"nv��J�`�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ���������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k`����������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�b:��ux�
.�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n>:�F�\�
Dg�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������yg����	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nb����U
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�{�)u�Y
	��@������������	��xph`XPH@	880( ���@80�(� 	XPH@h`XP80( �����������	����������xph`XP������������xph`XPH@80	((	 P	HH@�8�0�( ���
������ ������
0�����������x�ph�`X	�P	�H	�@80	(	 �����
�
��
��
��
�X
�h
�x
��
��
��
��
��
��
�
��
��
x�
p
h
`	�
X	�
P	x
H
@	p
8	h
0	`
(	X
 �
`
p
��
����������������`� �������x�p�hx`pXhP`HX@P�H�@�8	�0	�(	� xphH@�������	P�	H������8�0�(x�ph`�XPH@80( �����
�	�
�
�	�
�x
��
�
��
�p����	�	@	0
(
�
 
��	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	��������������������7���8���9���:���;���<���=���>���L�L�K�K�JMJ�I�HKH�G�F�EIE�DGD�C�B�A�@�?�~�M�}�����N�M�������U�TlT�S�R�Q�P�O�N�|�nm�ml�lk�kj�ji�ih�hg�g
fe�edcba�`�_�^�^�]�\�[�[�W�V�V�U��!���������������������������GcEbCaA`?_=]+\)�'z0y.x>x,w�w*v�v(u�u&t�t$s�s"r�r q�qp�po�on��P����X�X�W������������Z�Z�Y�Y�
�	<��
�dB@
>
�TQ�L
�J�H�<�:�8�6�4R�{VzTyR
�I�
P�$�"���������������W�V�UCQ
���������f�
80�[
Y�VxMK
IGE
C	A?=;97531/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�k�j�i�h�g�f�d�c�b�a�`�_�^�]�\�[�Z�X�W�V�P�N�L�J�H�F�D�B�@�>�<:~8}6|4{2�L�%�N�#�P��R��T������d�`�^�\�Z�X�V
��?���4J�"nP�R/`cl�
/�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"nȩO|�%
EU�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygU�������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3B���4J�"nR���%�
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
��c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�B���4J�"n^��T2
N"��|R'����R
�
�
�
}
[
+
���d8���"f=
�
�
�
tI
E	�	��	�	B�m��oE���sE���vO���d>��j5��}Q)�&'perl-CDB_File1.0515.el8x86_64�#perl-CPAN2.18399.el8noarchoF5Iperl-CPAN-Meta-Check0.0146.module+el8.9.0+1491+3507a112noarch
�H9Kperl-CPAN-DistnameInfo0.1213.module+el8.9.0+1491+3507a112noarch
�+1perl-Class-Load-XS0.1010.el8x86_647'+perl-Class-Load0.259.el8noarch6+3perl-Class-Iterator0.322.el8noarch5,5perl-Class-Inspector1.322.el8noarch�))perl-Class-ISA0.361022.el8noarch�/;perl-Class-Factory-Util1.727.el8noarchR0;perl-Class-ErrorHandler0.0414.el8noarch44Cperl-Class-Data-Inheritable0.0827.el8noarchQA]perl-Class-DBI-Plugin-DeepAbstractSearch0.0833.el8noarch3.7perl-Class-DBI-Plugin0.0342.el8noarch2))perl-Class-DBI3.0.1738.el8noarch18Cperl-Class-C3-Componentised1.00100210.el8noarch0%'perl-Class-C30.341.el8noarch/1=perl-Class-Accessor-Lite0.0816.el8noarch.7Cperl-Class-Accessor-Grouped0.1001410.el8noarch-+3perl-Class-Accessor0.512.el8noarchP$!perl-Child0.01311.el8noarch,/1perl-Carp-Fix-1_251.00000120.el8noarch+&)perl-Carp-Clan6.066.el8noarch�-7perl-Carp-Assert-More1.241.el8noarch*)-perl-Carp-Assert0.2117.el8noarch)(-perl-Carp-Always0.169.el8noarch(#perl-Carp1.42396.el8noarch�)/perl-Capture-Tiny0.464.el8noarchO-7perl-Canary-Stability20125.el8noarchN+1perl-Cairo-GObject1.0051.el8x86_64'#!perl-Cairo1.1071.el8x86_64&-5perl-Cache-Memcached1.3021.el8noarch%')perl-Cache-LRU0.0412.el8noarch$+3perl-Cache-FastMmap1.484.el8x86_64#)-perl-Cache-Cache1.0815.el8noarch"&'perl-CSS-Tiny1.2011.el8noarch!.3perl-CPAN-Meta-YAML0.018397.el8noarch06Cperl-CPAN-Meta-Requirements2.140396.el8noarch/E5Gperl-CPAN-Meta-Check0.0146.module+el8.6.0+961+8164b543noarch	�E5Gperl-CPAN-Meta-Check0.0146.module+el8.4.0+523+766394a0noarch�,)perl-CPAN-Meta2.150010396.el8noarch.G9Iperl-CPAN-DistnameInfo0.1213.module+el8.6.0+961+8164b543noarch	�G9Iperl-CPAN-DistnameInfo0.1213.module+el8.4.0+523+766394a0noarch�./perl-CPAN-Changes0.40000213.el8noarch #perl-CPAN2.18397.el8noarchB#!perl-CLASS1.0028.el8noarch+1perl-CGI-SpeedyCGI2.2239.el8x86_64%'perl-CGI-Fast2.153.el8noarch.7perl-CGI-Emulate-PSGI0.2312.el8noarch(-perl-CGI-Compile0.231.el8noarch perl-CGI4.382.el8noarch�%'perl-CDB_File1.021.el8x86_64$%perl-CBOR-XS1.714.el8x86_641=perl-Bytes-Random-Secure0.2914.el8noarch3;perl-Business-ISBN-Data201911074.el8noarch�+1perl-Business-ISBN3.0054.el8noarch�*/perl-Browser-Open0.0423.el8noarch'+perl-Bit-Vector7.411.el8x86_64�'+perl-BerkeleyDB0.632.el8x86_64%%perl-Bencode1.5021.el8noarch/%%perl-Bencode1.5017.el8noarch//perl-BSD-Resource1.291.10011.el8x86_64!perl-BDB1.9212.el8x86_64%%perl-B-Utils0.2715.el8x86_64�$#perl-B-Lint1.2011.el8noarch�'+perl-B-Keywords1.201.el8noarch-7perl-B-Hooks-OP-Check0.228.el8x86_643Aperl-B-Hooks-OP-Annotation0.4425.el8x86_64/;perl-B-Hooks-EndOfScope0.216.el8noarchM$%perl-B-Debug1.262.el8noarch�)-perl-B-Compiling0.0616.el8x86_64#!perl-B-COW0.0042.el8x86_641?perl-Authen-Simple-Passwd0.626.el8noarch
*1perl-Authen-Simple0.522.el8noarch)-perl-Authen-SASL2.1613.el8noarch�*1perl-Authen-Radius0.311.el8noarch/9perl-Authen-Passphrase0.0082.el8noarch
(+perl-Authen-PAM0.1637.el8x86_64	/���4J�"n1o%*8WrD
�N������sa�����xZH5N'�����k�y]�I/z
�
�
�
�
�
�
k
[
C
(

�����fE'����uX;'
�
�
�
�
�
v
Z
F
,
	�	�	�	�	�	�W	|	e	R	?	%	���>'
�����lS: �����z^G0������mVG.�����uaE1�����nV<('perl-CDB_File�%perl-Bencode/perl-BSD-Resource
perl-BDB%perl-B-Utils�#perl-B-Lint�+perl-B-Keywords7perl-B-Hooks-OP-CheckAperl-B-Hooks-OP-Annotation;perl-B-Hooks-EndOfScopeM)perl-Crypt-RC4s5perl-Crypt-PasswdMD5r1perl-Crypt-PWSafe3q;perl-Crypt-OpenSSL-X509p?perl-Crypt-OpenSSL-Random�9perl-Crypt-OpenSSL-RSA�?perl-Crypt-OpenSSL-Bignum�-perl-Crypt-MySQLo+perl-Crypt-IDEAn Cperl-Crypt-GeneratePasswordm)perl-Crypt-GPGl9perl-Crypt-Eksblowfishk)perl-Crypt-ECBj/perl-Crypt-DH-GMPi'perl-Crypt-DHh3perl-Crypt-DES_EDE3g)perl-Crypt-DESf3perl-Crypt-Cracklibe9perl-Crypt-CipherSaberd)perl-Crypt-CBCc3perl-Crypt-Blowfishb3perl-Cpanel-JSON-XSaperl-Coro`/perl-Cookie-Baker_1perl-Convert-UUlib^+perl-Convert-UU]/perl-Convert-TNEF\-perl-Convert-PEM[3perl-Convert-BinHexZ;perl-Convert-Bencode_XSY5perl-Convert-BencodeX3perl-Convert-Base32W/perl-Convert-ASN1p/perl-Convert-ASN1�9perl-Contextual-ReturnV7perl-Context-PreserveU+perl-Const-FastT7perl-Config-ValidatorS-perl-Config-TinyR+perl-Config-StdQ1perl-Config-SimpleP1perl-Config-Perl-V�5perl-Config-IniFilesO3perl-Config-GrammarN3perl-Config-GitLikeM7perl-Config-GeneratorL3perl-Config-GeneralK5perl-Config-AutoConfW+perl-Config-AnyJ?perl-Compress-Stream-ZstdI9perl-Compress-Raw-Zlibe;perl-Compress-Raw-Bzip2d/perl-Compress-LZFH3perl-Compress-Bzip2C)perl-ClipboardSperl-CPANo5perl-CPAN-Meta-Check
�9perl-CPAN-DistnameInfo
�=perl-ColorThemeUtil-ANSIG=perl-ColorThemeRole-ANSIFAperl-ColorThemeBase-StaticE3perl-Color-RGB-UtilD5perl-Color-ANSI-UtilC'perl-CollectdB'perl-Clone-PPA/perl-Clone-Choose@!perl-Clone�)perl-Clipboard?7perl-Class-XSAccessorV/perl-Class-Unload>1perl-Class-Trigger=+perl-Class-TinyU3perl-Class-Std-Fast<)perl-Class-Std;5perl-Class-SingletonT)perl-Class-Mix:9perl-Class-MethodMaker9 Cperl-Class-Method-ModifiersS1perl-Class-Measure�1perl-Class-Measure81perl-Class-Load-XS7+perl-Class-Load63perl-Class-Iterator55perl-Class-Inspector�)perl-Class-ISA�;perl-Class-Factory-UtilR;perl-Class-ErrorHandler4 Cperl-Class-Data-InheritableQ-]perl-Class-DBI-Plugin-DeepAbstractSearch37perl-Class-DBI-Plugin2)perl-Class-DBI1 Cperl-Class-C3-Componentised0'perl-Class-C3/=perl-Class-Accessor-Lite. Cperl-Class-Accessor-Grouped-3perl-Class-AccessorP!perl-Child,1perl-Carp-Fix-1_25+)perl-Carp-Clan�7perl-Carp-Assert-More*-perl-Carp-Assert)-perl-Carp-Always(perl-Carp�/perl-Capture-TinyO7perl-Canary-StabilityN1perl-Cairo-GObject'!perl-Cairo&5perl-Cache-Memcached%)perl-Cache-LRU$3perl-Cache-FastMmap#-perl-Cache-Cache"'perl-CSS-Tiny!3perl-CPAN-Meta-YAML0 Cperl-CPAN-Meta-Requirements/5perl-CPAN-Meta-Check	�5perl-CPAN-Meta-Check�)perl-CPAN-Meta.9perl-CPAN-DistnameInfo	�9perl-CPAN-DistnameInfo�/perl-CPAN-Changes perl-CPANB!perl-CLASS1perl-CGI-SpeedyCGI'perl-CGI-Fast7perl-CGI-Emulate-PSGI-perl-CGI-Compile
perl-CGI�'perl-CDB_File%perl-CBOR-XS=perl-Bytes-Random-Secure;perl-Business-ISBN-Data�1perl-Business-ISBN�/perl-Browser-Open+perl-Bit-Vector�+perl-BerkeleyDB%perl-Bencode/4���4J�"nh{���4N
�@����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ@B���4J�"n	��	��"�
&	>��k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"nr(71}�W
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n	 h%Y��
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ���������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kX�����������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"ne��h])��
0�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"nH��`�)�
FC�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC����������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nǻX�X|
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
����4J�"n�M/��zc�

�/�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



�����������P������xph`XPH@80( ��������p�������`�xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�h	�	�	�	x	p	h	`�	X	P	H	@	8	0	(	 				����������������xph`XPH@�80( �����������������xph`XPH@�8�0�(� ���������������������x���xph`XXPH@80( ����������������xph`XPH@80( �����(����������������xph`XPH@������������xp h`XPH@80(����������������xph`XPH@�XWVUTSRQPO
NML
K	JIHGFEDCBA�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	����������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>=~<};|:{9z8y7x6w5v4u3t2s1r0q/p.o-n,m+l*k)j(i'h&g%f$e#d"c!b a`_^]\[ZYXWVUTSRQPO
NML
K	JIHGFEDCBA�@���A��:����������������������������������?���4J�"nW��JK��
1x����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������x������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n��9���
G1�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��3B���4J�"n}	^�h���
�
����������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
~
x
r
l
f
`
Z
T
N
H
B
<
6
0
*
$





���������������������|vpjd^XRLF@:4.("
����������������������ztnhb\VPJD>82,& 
�
�
�
�
�
�
�
��d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�
���4J�"n��`(=8o�|4����������|��%#����LJ�	�	���~sa��PNL2��1��Z���4J�"n���q~
�N��lx�C����lE
�
�
�
R
/��4$	�	�	�	�	^	0	
���c@���c-
Sq��*H���]/��yV�e>��f#����xH���FnoarchqA+Iperl%perl-Git2.43.51.el8_10noarchqA+Iperl-File-pushd1.0146.module+el8.9.0+1491+3507a112noarch
�(%perl-Git-SVN2.31.13.el8_7noarch	�$perl-Git2.31.13.el8_7noarch	�@+Gperl-File-pushd1.0146.module+el8.6.0+961+8164b543noarch	��)%perl-Git-SVN2.43.51.el8_10noarchr!perl-Fsdb3.01.el8noarch	)/perl-GIS-Distance0.201.el8noarch�(%perl-Git-SVN2.39.31.el8_8noarch�$perl-Git2.39.31.el8_8noarch�!perl-Fsdb3.11.el8noarchA*1perl-Finance-Quote1.521.el8noarch@�+1perl-HTML-Restrict3.0.02.el8noarch?B-Kperl-HTML-Parser3.7215.module+el8.9.0+1521+0101edcex86_64
�A-Iperl-HTML-Parser3.7215.module+el8.6.0+965+850557f9x86_64	�A-Iperl-HTML-Parser3.7215.module+el8.4.0+529+e3b3e624x86_64�&)perl-HTML-Lint2.327.el8noarch>,3perl-HTML-Formatter2.1610.el8noarch=&)perl-HTML-Form6.071.el8noarch<3Aperl-HTML-Element-Extended1.1821.el8noarch;$!perl-Guard1.02319.el8x86_64:�+1perl-HTML-Restrict3.0.11.el8noarchB.9perl-GIS-Distance-Fast0.161.el8x86_64�!perl-Fsdb3.41.el8noarch"perl-Gtk30.0381.el8noarch9<Mperl-Graphics-ColorNamesLite-WWW1.14.0002.el8noarch8*/perl-GraphViz-XML2.2412.el8noarch7&'perl-GraphViz2.2412.el8noarch6&!perl-Graph0.97.0415.el8noarch5-5perl-GnuPG-Interface0.5214.el8noarch4)+perl-Glib-devel1.32911.el8x86_6437Iperl-Glib-Object-Introspection0.0481.el8x86_642#perl-Glib1.32911.el8x86_641&%perl-Git-SVN2.27.01.el8noarch�"perl-Git2.27.01.el8noarch�5Eperl-Getopt-Long-Descriptive0.1041.el8noarch0(-	perl-Getopt-Long2.504.el8noarch�-5perl-Getopt-ArgvFile1.1134.el8noarch/7=!perl-Geography-Countries200904130127.el8noarch.##perl-Geo-IP1.519.el8x86_64-)/perl-Geo-Distance0.251.el8noarch,"perl-GTop0.1827.el8x86_64+$#perl-GSSAPI0.2825.el8x86_64�.9perl-GIS-Distance-Fast0.151.el8x86_64*)/perl-GIS-Distance0.191.el8noarch)(+perl-GDTextUtil0.8642.el8noarch(%%	perl-GDGraph1.5411.el8noarch'-7perl-GD-SecurityImage1.754.el8noarch&(+perl-GD-Barcode1.1536.el8noarch�perl-GD2.711.el8x86_64�##perl-Future0.461.el8noarch%1Aperl-FusionInventory-Agent2.61.el8noarch$1=perl-Function-Parameters2.1.37.el8x86_64#"perl-Fsdb2.741.el8noarch"27perl-Frontier-RPC-doc0.07b4p136.el8noarch!5=perl-Frontier-RPC-Client0.07b4p136.el8noarch ./perl-Frontier-RPC0.07b4p136.el8noarch*+perl-FreezeThaw0.500128.el8noarch/9perl-Font-TTF-XMLparse1.0611.el8noarch&'perl-Font-TTF1.0611.el8noarch('perl-Font-AFM1.2031.el8.1noarch*1perl-Finance-Quote1.512.el8noarch*1perl-Filter-Simple0.942.el8noarch�$#perl-Filter1.582.el8x86_64�2Aperl-Filesys-Notify-Simple0.138.el8noarch(+perl-Filesys-Df0.9236.el8x86_64@+Gperl-File-pushd1.0146.module+el8.4.0+523+766394a0noarch�)+perl-File-chdir0.10115.el8noarchzM!perl-Fsdb3.91.el8noarch�A-Iperl-HTML-Tagset3.2034.module+el8.4.0+529+e3b3e624noarch�.9perl-HTML-TableExtract2.159.el8noarchE)+perl-HTML-Table2.08a32.el8noarchD6Gperl-HTML-StripScripts-Parser1.0325.el8noarchC/9perl-HTML-StripScripts1.0622.el8noarch�/9perl-HTML-StripScripts1.0611.el8noarchB0=perl-HTML-Selector-XPath0.262.el8noarchA*1perl-HTML-Scrubber0.193.el8noarch@+1perl-HTML-Restrict3.0.21.el8noarch�c���4J�"n���̦.
������eI�.���Y���zcJ����jU8������iRB?'
�
�
�
�
�
�
o
O
:
#
������wb-M-�2����~`E6'#��	
�
�
�
�
�
�
t
]�
A�
0
!

	�	�	�	�	�	{	m��	[	I��	:		�����xhH4������qhN9�����fE1�������w�Z>*��F�perl-Fsdb�%perl-Git-SVNr
perl-Gitqperl-Fsdb/perl-HTTP-Message
�)perl-HTTP-Date
�/perl-HTTP-Cookies
�-perl-HTML-Tagset
�-perl-HTML-Parser
�+perl-File-pushd
�/perl-File-Listing
�perl-FCGI
�9perl-HTML-StripScripts�9perl-GIS-Distance-Fast�/perl-GIS-Distance�%perl-Git-SVN�
perl-Git�9perl-ExtUtils-Miniperl�1perl-HTML-Restrict�1perl-HTML-RestrictBperl-FsdbA1perl-Finance-Quote@3perl-File-CheckTree�/perl-File-BaseDirr-perl-Fennec-Lite+perl-Fedora-VSP�7perl-FCGI-ProcManager-perl-FCGI-Clientperl-FCGI	�perl-FCGI�;perl-ExtUtils-XSBuilder;perl-ExtUtils-PkgConfig7perl-ExtUtils-ParseXS69perl-ExtUtils-Miniperl	�9perl-ExtUtils-Miniperl�9perl-ExtUtils-Manifest5%Mperl-ExtUtils-MakeMaker-CPANfile�;perl-ExtUtils-MakeMaker49perl-ExtUtils-MM-UtilsI/perl-HTTP-Message	�/perl-HTTP-Message�)perl-HTTP-LiteQ9perl-HTTP-Headers-FastP;perl-HTTP-Entity-ParserO)perl-HTTP-Date	�)perl-HTTP-Date�5perl-HTTP-Daemon-SSLN-perl-HTTP-Daemon�'perl-HTTP-DAVM/perl-HTTP-Cookies	�/perl-HTTP-Cookies� Cperl-HTTP-Cache-TransparentL)perl-HTTP-BodyK Cperl-HTML-TreeBuilder-XPathJ!Eperl-HTML-TreeBuilder-LibXMLI)perl-HTML-Tree{ Cperl-HTML-TokeParser-SimpleH9perl-HTML-Template-ProG1perl-HTML-TemplateF-perl-HTML-Tagset	�-perl-HTML-Tagset�9perl-HTML-TableExtractE+perl-HTML-TableD"Gperl-HTML-StripScripts-ParserC9perl-HTML-StripScriptsB=perl-HTML-Selector-XPathA1perl-HTML-Scrubber@1perl-HTML-Restrict?-perl-HTML-Parser	�-perl-HTML-Parser�)perl-HTML-Lint>3perl-HTML-Formatter=)perl-HTML-Form<Aperl-HTML-Element-Extended;!perl-Guard:perl-Gtk39%Mperl-Graphics-ColorNamesLite-WWW8/perl-GraphViz-XML7'perl-GraphViz6!perl-Graph55perl-GnuPG-Interface4+perl-Glib-devel3#Iperl-Glib-Object-Introspection2perl-Glib1%perl-Git-SVN	�%perl-Git-SVN�
perl-Git	�
perl-Git�!Eperl-Getopt-Long-Descriptive0-perl-Getopt-Long�5perl-Getopt-ArgvFile/=perl-Geography-Countries.#perl-Geo-IP-/perl-Geo-Distance,perl-GTop+#perl-GSSAPI�9perl-GIS-Distance-Fast*/perl-GIS-Distance)+perl-GDTextUtil(%perl-GDGraph'7perl-GD-SecurityImage&+perl-GD-Barcode�perl-GD�#perl-Future%Aperl-FusionInventory-Agent$=perl-Function-Parameters#perl-Fsdb	perl-Fsdb"7perl-Frontier-RPC-doc!=perl-Frontier-RPC-Client /perl-Frontier-RPC+perl-FreezeThaw9perl-Font-TTF-XMLparse'perl-Font-TTF'perl-Font-AFM1perl-Finance-Quote1perl-Filter-Simple�#perl-Filter�Aperl-Filesys-Notify-Simple+perl-Filesys-Df+perl-File-pushd	�+perl-File-pushd�+perl-File-chdirz+perl-File-WhichK)perl-File-Type5perl-File-TreeCreate/perl-File-Tempdir)perl-File-Temp�)perl-File-Tail/perl-File-Slurper+perl-File-Slurp�Aperl-File-ShareDir-Install1perl-File-ShareDir�+perl-File-Share-perl-File-Removey;perl-File-ReadBackwardsx3perl-File-Path-Tiny)perl-File-Path�)perl-File-Next/perl-File-NFSLock1perl-File-MimeInfow'perl-File-Map
/perl-File-Listing	�/perl-File-Listing�1perl-File-LibMagic/perl-File-KeePass/perl-File-HomeDirJ=perl-File-Find-Rule-Perl
3perl-File-Find-RulevAperl-File-Find-Object-Rule	7perl-File-Find-Objectu;perl-File-Find-Iterator+perl-File-Fetch�3perl-File-FcntlLock;perl-File-Edit-Portable9perl-File-DesktopEntryt%Mperl-File-Copy-Recursive-Reduced=perl-File-Copy-Recursives���4J�"nxT�{b�h
rp����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8�����������xp��������������������������xph`�xpXPhH@h�$"#!" ! 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�

�
~

}
~
|
}
{
|
z
{
y
z
x
y
w
x
v
w
u
v
t
u
s
t
r
s
q
r
p
q
o
p
n
o
m
n
l
m
k
l
j
k
i
j
h
i
g
h
f
g
e
f
d
e
c
d
b
c
a
b
`
a
_
`
^
_
]
^
\
]
[
\
Z
[
Y
Z
X
Y
W
X
V
W
U
V
T
U
S
T
R
S
Q
R
P
Q
O
P
N
O
M
N
L
M
K
L
J
K
I
J
H
I
G
H
F
G
E
F
D
E
C
D
B
C
A
B
@
A
?
@
>
?
=
>
<
=
;
<
:
;
9
:
8
9
7
8
6
7
5
6
4
5
3
4
2
3
1
2
0
1
/
0
.
/
-
.
,
-
+
,
*
+
)
*
(
)
'
(
&
'
%
&
$
%
#
$
"
#
!
"
 
!

 

















	
	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�





























	


	















�
��������������������������������������������������������������������������������������������������������������������������������������������������������������4J�"n�\|��'N�
rp���xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



������0( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ���������������xph`XPH@80( ����������������xph`XPH@8������������������������xp`XPH@80( ����������������xph`XPH@8���������������������������JHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKI~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$��������������������~}~|4���4J�"n�6���fp�

�L@
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH@�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������`��@B���4J�"n���=�
'	��k:���d;
�
�
o
?
��yG���g;
�
�
�
X
(
	�	�	�	g	>	!�b�perl-Fsdb3.91.el8noarch&�a'�perl-CDB_File1.0515.el8x86_64"�`%�epel-release821.el8noarch#�_!�clamav-lib1.0.71.el8x86_64*�^/�clamav-filesystem1.0.71.el8noarch$�]#�clamav-data1.0.71.el8noarch�\�clamav1.0.71.el8x86_64-�[-�ImageMagick-perl6.9.13.141.el8x86_64-�Z-�ImageMagick-libs6.9.13.141.el8x86_64.�Y/�ImageMagick-devel6.9.13.141.el8x86_64(�X#�ImageMagick6.9.13.141.el8x86_64)�W%#�systemd-udev23982.el8_10.1x86_64(�V##�systemd-pam23982.el8_10.1x86_64)�U%#�systemd-libs23982.el8_10.1x86_64$�T#�systemd23982.el8_10.1x86_64*�S)�sssd-nfs-idmap2.9.44.el8_10x86_64'�R#�sssd-common2.9.44.el8_10x86_64'�Q#�sssd-client2.9.44.el8_10x86_645�P=�python3-setuptools-wheel39.2.08.el8_10noarch/�O1�python3-setuptools39.2.08.el8_10noarch2�N;�python3-policycoreutils2.926.el8_10noarch0�M%+�python3-perf4.18.0553.16.1.el8_10x86_64,�L)�python3-libdnf0.63.020.el8_10x86_64,�K)�python3-hawkey0.63.020.el8_10x86_64-�J-�python3-firewall0.9.118.el8_10noarch7�IE�policycoreutils-python-utils2.926.el8_10noarch*�H+�policycoreutils2.926.el8_10x86_647�GA�platform-python-setuptools39.2.08.el8_10noarch(�F+�perf4.18.0553.16.1.el8_10x86_64&�E�pam-devel1.3.134.el8_10x86_64 �D�pam1.3.134.el8_10x86_64+�C)�openssh-server8.0p125.el8_10x86_64,�B+�openssh-clients8.0p125.el8_10x86_64$�A�openssh8.0p125.el8_10x86_64,�@)�openldap-devel2.4.4619.el8_10x86_64.�?-�openldap-clients2.4.4619.el8_10x86_64&�>�openldap2.4.4619.el8_10x86_64;�=)9�linux-firmware20240610122.git90df68d2.el8_10noarch+�<)�libtirpc-devel1.1.412.el8_10x86_64���4J�"n0�z�p�
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
7���4J�"n}��I�3�
@�@8�0�( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@�
8p
0`
(P
 @



0��������������� �xp�h�`�X�P�H�@�8�0p(` P@0�� ������������������xph`�XPH@80( ��xhX
�
�
�
�
�H
��
�
�
�
�
��
�
�
�
�
��
x�
p
h
`
X�
P�
H�
@
8
0
(�
 �



	�	�x	�	�h	�X	�	�	�	�H	�	�8	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				�������������������xph`XPH@80(����������������xph`XPH@80( ���������xph`XPH@8( ��������xhXH8(��������xhXH8(���������p`P@�������������p`P@0( ���0� ����������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�`���^D��\�Z���V�T�R�P�N�L�J�H�F�D�B���@�>��<��:
�~8��}6��|4��{2��z0�y.x,w*v(u&t$s"r qponmlkjihg
fedcba�`�_�^�]�\�[�>���Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_][YW
USQ
O	MKIGECA?=;�9�7�5�3�1�/�-�+�)�'�%�#�!����������
��	��������������������������������������������������������������������������������������������������������������������������������������}�{�y�w�u�s�q�o�m�kP������������C���B���A���?�����=�������*���(���$���#���!��������������������������?���4J�"n�m����
2p����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xp�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n�f�4�;W7
H�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�21��M
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
+���4J�"n�Oe�V
���xph`(�����������xph`XPH@8�� 0H@pphh``XXP�������PH@80( ��xp��h�`���	(����	 �	�	�	�	������������@������xph`XPH@80( 	�	p	`	P	@
�	0
��
�X
�
�
��
��
��
��
��
��
��
�x
�P
�8
�(
x
p
h�
`�
X�
P0
H 
@
8X
0
(
 �
�
�
�
���� �x�H�@�8�0�(� �����������xph`XPH@80�(� ���������������������xph`XPH@80�(� ���
�	8
�	H
�	X
�	h
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8	x
0	�
(	�
 



	�	�	�	�	�����80( PH����	�	�	�	�	�	�	�	��������xph`XPH@80(�����������������������`XPH@80(�x	�g�_�e�]�:_��8_/�6`��4`1�2a��0a3�.dcb5b��&fe�"�[�f�Y�d�W�S�Q�X���O�M�K�I�G�A�Elkji
hg	���5���]�����s���q���o�|�m�z�k�x�i�g�n�e�l�c�a�j�_���u�������w���7���y�������}�{��������������������������������������������������������������������������������������������M�����������������K���������G���J�������������>:9654*)(
	��������������;�<�=!�>#�S%�t#s!rqponm^-U+T'^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"!} {ywusqomkigeca_^]\[
ZYX
R	PNLJHFDB@>�<�:�8�6�4�2�0�.�,�*�(�&�$�"� �����������
����������������������������������������������������������������������������������v'u%���C�=�A�;�?�=�;99~7}5|3{1z/y7y-x+w)�h�c�a�_�]�[�Y�W�U?���4J�"n�\�-��
3h����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n��|�"�+�
I
�������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�p~MvL��
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
L���4J�"nC6���^�

�4P����������������xph`PH�80( ������������������������xph`XPH����������������
	�	�	�	�	�	�	�	�
H( 
�
�
�
�0�����@�	�	�	�	�	�	�	�	�	x
(`X������xph����������
 


 
0XPH@����H@8�xp�h`XPH@8�0�( �
(��
�
�
X
�
P
�
@
x
8
p
h
0
`@80`(X (�xph`X�	p	h	`	X	P	H	@	8	0	(	 	�			�����������������xph`XPH@80( �����������������xX
�
�
��xpPh`XPH@80( 	��	��	��	��	�	�h
�P
�
�
�( �
�
�
�
�
��
���H�
���������0( xph`XPH@80( �
�
�
�
�
��
��
�
�
��
�
�
�
�
�
�
�
�
x
pP
h
`
X
P�
H�
@
8
0�Hnjk��
-���
+���
)�������������~�����������p�����j����� .i-h,g+
+
����3n2m1l0k/
U/j��3�������������������������������������������!��^��������������������������������"�
�#^"]!\ [ZXWVUYTSRQPONML��
>���
�����
�	������P��t	�t�s	�s�r	�r�q	�q�p	�p�o	�o�n�m�l�k
^k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\@\�[�Z�Y�X�W2W�V�U�T�S�R�Q�P$P�O�N�M�L�K�J�I�H�G�F�E�DC~BB}A|@{?z>y=x<T<w;v:u9t8s7r6q5p4o�(�'�&�|�%�z�$�x�#���������h<;:9
�*
�(
�'
��`&
d%
R+f*e)d(c'b&a%`$_80kk����p��n��l��b�=`A@?>�HG
FED
C	BP KJIh-
�,
�
h�B��V�DkTk�
`
0�)�8�0�/�.�4�-�,P8:�8�7�6�
��5�4�3�2�1
�
�
�@
�i
�
�.
���h �*��k�L�kR��k�� �+����,?���4J�"n%���)"
4`����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"nedWDt[�
J
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
��	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"n�Z�J���%
������!trans_item	;comps_environment_group�
trans�3comps_group_packageM
	���4J�"n���0��K]
	Xr�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P�
H�
��xph`XxPH@80�(� 80(�h�`�X�
x���
@���`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
u	
]
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n���}ż��
5X����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`X�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n��<ܢHh
K
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
��	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nō�D��
������!trans_item
;comps_environment_group�
trans�3comps_group_packageM
	���4J�"nF�8�-�
	Xs�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P�
H�
��xph`XxPH@80�(� 80(�h�`�X�
x���
@�
8��`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
v

u	
]
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n�6#y��w
6P����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XP�
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"nݱ$۷"
L
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
��
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	�����4J�"nЎ-T;���
������!trans_item;comps_environment_group�
trans�3comps_group_packageM
	���4J�"n�V?2
	Xt�����������������xph`XPH@80( �����������������xpPH ����������������xp
ph`XPH@80( ����������������������xph`XPH@80 	H	@	8	0	(	 				���@@�8�0�(� ��p�����������������������xph`X�PH@80( 
�
�
�
�(
�
�
�
��
�
�(
�
�p
�
�h
�
�
h
x
pP
h
`�
X
P�
H
@
8
0
(
 



��	P����������
`�
X�
P�
H�
��xph`XxPH@80�(� 80(�h�`�X�
x���
@�
8�
0�`������X�PxHp@h8`0XHPhH`@X8�0�(� ��x��
��
�
�
�
��
��
��
� 
�
��
�
��
��
��
��
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X�xph`XPH@�H
J~������
<�
��
��
��
��
����D��B��@�������f��b���������������������������������������������
��
��
m�
l�
k�
#6���(
rD
qB
p@���&���$�v�"�t� �r��F
$:

�

\
�
Z
�
X
�
V
	�
	T
�
R
�
P
�
N
r
L
`
J
H
"
F
�
D
�
B���@���>���<�:�8�6�4�2�0�.�,���*
ER
z
�
x
�
v
�
t
�
r
�
p
�
n
�
l
�
j
�
h
�
f
�
d
�
b
�
`
�
^
C
�
B
�n
�l
�j
�h
f
~d
xb
G�
F�
dV
DT
tF
��
��
��
1�
0�
/�
.�
-�
,�
+x
Kt
#�
"
"�
!�
!�
 �
 �
�
�
�
~
�
|
T`�
w
v

u	
]
\�
[�
Z�
H�
a
s?
^
�
�}
�{
�y
�w
�u
�s
�q
�o
�m
�k
�i
�g
�e
�c
�a
�_
�]
�[
�Y
�W
�U
�S
�Q
�O
�M
�K
�I
�G
�E
�C
A
~?
}=
|;
{9
z7
y5
x3
w2
v1
u0
t/
s.
r-
q,
p+
o*
n)
m(
l'
k&
j%
i$
h"
g!
f 
e
d
c
b
a
`
_
^
]
\
[
Z

Y
X�
X�
W�
W�
V�
V�
U�
T�
S�
R�
Q�
Pp
P�
On
O�
Nl
N�
M�
L�
K
K�
J
J�
I
I�
H
H�
G�
G�
F�
F�
E�
E�
D�
D�
C�
C�
B�
B�
A~
A�
A�
@|
@�
@�
?z
?�
?�
>�
>�
=#
=�
<�
;�
:�
9�
8�
7�
6
6�
5
5�
4
4�
3

3�
2
2�
1�
0�
/�
.�
-�
,�
+�
*�
)�
(�
'�
&�
%�
$�
�p
Id
�v
�t
�r
*\
��
��
�~
�|
�z
�x
YF
��
)D
��
(B
��
'@
i�
&>
j�
%<?���4J�"n�"�e�=�
7H����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( ����������������xph`XPH��
�	���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~�}�|�{�z�y�x�w�v�u�t�s�r�q�p�o�n�m�l�k�j�i�h�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�V�U�T�S�R�Q�P�O�N�M�L�K�J�I�H�G�F�E�D�C�B�A�@�?�>�=�<�;�:�9�8�7�6�5�4�3�2�1�0�/�.�-�,�+�*�)�(�'�&�%�$�#�"�!� �������������������
���
�	�����������������������������������������������������������������������������������������������AB���4J�"n�6_�4��
M
��������saO=,
�������~m\K:)
�
�
�
�
�
�
�

n
]
K
9
'

�������|kYG6%�������ygUC1
�
�
�
���
w�
�
v�	�
u�	�k��	���������������	�
]�	���	�
\�~	���}	�
[�|	���{�
Z�z���y	���x	���w	���v	���u���t���s	���r	���q	�D�p	���o	�C�n	���m	�B�l	���k	�A�j	���i�?�h���g���f���e	�=�d	���c	���b	���a	���`	���_	�*�^	���]	�(�\	���[	�$�Z	���Y	�#�X	���W	�!�V	���U	��T	���S��R���Q	���P	���O��N���M	��L	���K	��J	���I��H���G��F���E	��D	���C�m�B���A���@���?	��;���4J�"n�.�7[F 
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	��P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nQ颪	z]�
�n�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yn
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�H��-Bf
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	��Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���(5�
�c�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������ync
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n���Y�
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	��R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nլ�u��?�
�X�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncX
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��n9�.I1
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	��S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n!�k�3D�
�M�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXM
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�ҁ�|%��
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	��T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��<�=�c^
�B�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�fW?��
�	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	��U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��O��!�
�7�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�|�3&
�	z������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n~.
�4�
�,�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��x�Ϲa
�	p������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�[|��!�\
�!�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�K$�x�
�	f������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nL� j.2�
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nȦ�̜C�
�	\������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���m�wXu
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n[����1S
�	R������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�0�Or	��
�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�Bv?%�3
�	H������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�,7�k$#
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nC+B6մ�h
�	>������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��2
��$
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!��
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��٫w�@
�	4������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��ffPmw
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!���
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nEbq_�K
�	*������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��H}Y�^�
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!����
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n抐u~��
�	 ������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"no	h.��
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nfC�Qת�

�	������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 	�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nR�0�/Ab
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!������
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n`�N2�
�	������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 		�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nP}Yt\I
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�������
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nH���k��
�	������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n~��ѝ�U
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!��������
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��
� ���
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			��c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�0��̅p�
	������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!���������
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nN�(��D�t
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			���d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�NN���w

������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!����������
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n#��o��
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			����e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nq��Q���
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��4:�6X�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�����f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n,�9��R
|�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nע�]���
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			������g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�?H��}��

q�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|q
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nz�Ӷ;�`l
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n����z
f�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n
Poz@�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			��������i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���8��
[�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�B��V�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			���������j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n!���s
P�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[P
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nӾ13MB�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			����������k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�7�u6DY
E�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�_s��v�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�����������l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��~N4Gd
:�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��<���
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			������������m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nm�D�?��
/�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��lr�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�k��;�_
$�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n;�3֓
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			��������������o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�0x�E��
�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nU+�wgT2
�v������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������v�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nK�ᯮp
�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nq����;s
�l������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vl�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nwN
�?�I
�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n���@�B�3
�b������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlb�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nmi��BԱ
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n]�q�񳟵
�X������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbX�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n*|u�w8�E
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$��
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n���˨��
�N������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXN�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nF��ck�
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$���
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�E%����F
�D������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n=e�g
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$����
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n֫*�_-
�:������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n,ǝ1���
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�"G�i�>
�0������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"no�c���e
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$������
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n摦�.O
�&������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nLox,s��
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�������
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�N��pȜ�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���4��
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$��������
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�/6����z
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���&u�
 ������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$���������
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�̌wb�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n|�`H���p
!������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$����������
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��S.=
�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&��|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n2���|i�
"������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n˒��sq9
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&���}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�'���*g
#�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�A��;�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&����~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n����P�)
$t�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������t
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n;᧹�w�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�����_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�"+��0p�
%i�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�.t�M�Ш
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&������a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�z����
&^�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n;1��yb
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�����>�
'S�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^S
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nE!����
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&��������ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n|���,
(H�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��`!��/�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&���������gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�kv
)=�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n]5�!�x�9
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&����������ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�rS�7�v
*2�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nuw�Ѓ��
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�����������kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"no܏�r�y
+'�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�v��QϾ
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&������������ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�+}=�3��
,�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�f�,a4�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nչ�X�KĒ
-�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�Sw�v�0
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&��������������qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���X�
.�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n���xD1.q
�|������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��sQ���
/������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��N�	�A2
�r������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|r�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��!m��
0������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'��
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n)	3
�h������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nO�ìXg�
1������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��@��e
�^������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��˚��
2������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'����
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nL|�m.�x
�T������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^T�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�i��ղ�
3������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��CNj
�J������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n4<���a�
4������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'������
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n['{��[
�@������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@�~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���A�@
5������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�������
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�n���q^
�6������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6����~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�^�����
6������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'��������
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��垚��
�,������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,�������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n<T�߾≌
7������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"nc:-2�@q
�"������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"����������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���^�
8������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'����������
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n��\H���?
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��d%G
9������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[;���4J�"n�c.w���
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"����������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nmOS,�t�j
:������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'������������
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[	���4J�"n���w�|��<������%
���
$#x�
��Z�
��F�
*)2�
���4J�"nE��
������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�$��������������������t����i^��S�S�
"!w
 v
u
t
s
r
q
p
o
n
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
�&
~}%
|{$
zy#
xw"
vu!
ts 
rq
po
nm
lk
ji
hg
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS
RQ
PO
NM
LK
JI
HG

FE	
DC
BA
@?
>=
<;
:9
87
65
43
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���

m
l

	k
j
i
h
g
�f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[
��Z
��Y
��X
��W
��V
��U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�

~
}
|
{
z
y
x

w

v
	u
t
s
r
q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[%���4J�"nu��X��
��|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�����������$������"�����������}rg\QF;0%
�
��
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
Y
X
W
V
�U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
SR
QP
ON
ML
KJ
IH�
GF�
ED�
CB�
A@�
?>�
=<�
;:�
98�
76�
54�
32�
10�
/.�
-,�
+*�
)(�
'&�
%$�
#"�
! �
�
�
�
�
�
�
�
�
�

�

�
	�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[

	Z
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21
0/~
.-}
,+|
*){
('z
&%y
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�;���4J�"n�2�@�f
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�]�v
��'

l��
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�������������
���
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���;���4J�"n��v�y�D
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�����������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�_&��N

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'��������������
���
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���~
���
���;���4J�"n�X��+8��
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"���������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�R��qb�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������
���
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���s
���
���
���;���4J�"nY{1!�'4
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n#L��٫�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�������������������
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���h
���
���
���
���;���4J�"n�z��Kp
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�����������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��Bo��

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'��������������������
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���]
���
���
���
���
���;���4J�"nn����h��
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"���������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��;%�],t

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������������
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���R
���
���
���
���
���
���;���4J�"n��O;��
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�P�Dc�(

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������������
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���G
���
���
���
���
���
���
���;���4J�"n�
=X#�a
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�����������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n !n����

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'���������������������
���
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���<
���
���
���
���
���
���
���
���;���4J�"n�\�rv�}
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n1���͟

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'������������������������
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���1
���
���
���
���
���
���
���
���
���;���4J�"n{�r�!�u
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nN�Cp��p`

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�������������������������
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���&
���
���
���
���
���
���
���
���
���
���;���4J�"n����
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�����������������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�zD�o=

l	�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'��������������������������
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nN/�b�'#
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"������������ ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�q��W

l
�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|��
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nS��>�[4�
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n+'h��_

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|q�
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n7���v0
��������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"��������������"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nW�e�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf
���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nZD���3
�x������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������x�#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n<��M�

l
�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nՅK-~
�n������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xn�$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nO��۝�3

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[P���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��p>8�X�
�d������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xnd�%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n!�Lo�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE���
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n_O�i�[�L
�Z������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZ�&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�z{�.�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:��
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�}��D��
�P������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZP�'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nQ�8�O7
�

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/�
���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�{�&by�l
�F������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF�(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nA���C��

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�w0H�#
�<������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<�)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nO��1��

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nt_�'"b
�2������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2�*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n.O:��>

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$���
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��(L�E��
�(������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(�+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n&���'1UC

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�'Lg<��
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(�,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��0~�51w

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n���hiG>
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(�-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n8���pX|d

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��
���
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nuk.�ܻ�u
�
������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�r�]W�ir

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$������
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���v
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�"û���
������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nG���Uo3

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�������
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���k
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��z[E�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
��0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n>f�um�ʩ

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$����́��
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���`
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�b���4O�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nɓ�>)�}

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��������
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���U
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n)�ϳ�5|"
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
����2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�j�oom

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��������
~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���J
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��V�j���
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�����3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n4
\�$��	

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$��������~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���?
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��V���.
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��m�w�l

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$���������~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���4
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nI��o��
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�������5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��,�l�(

l�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$����������~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���)
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n� �U��
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
��������6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�̕�\h�

l �
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������~�
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n����;��
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
���������7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�|յ�?f

l!�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$������������
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n
h��w7
	�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
����������8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nǿ�X�j>

l"�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������t
}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��Q�����

�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�����������9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n[�[Aw<

l#�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��NϽI��
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nK�å

l$�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�&�q*ұ
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
�������������;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n[��c2^#

l%�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^S}|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n2>Wn�o��

~������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~�<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��E����

l&�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH|�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��J��{&
t������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~t�=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n6d�J���

l'�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=�
{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n$95�FK�
j������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj�>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��L���n

l(�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�*�G�E��
`������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`�?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n!/_���

l)�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�r���M
V������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`V�@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�3P���

l*�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'{z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�!y��C�
L������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VL�A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nAi%(�t̟

l+�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'z�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�!��ꙣ
B������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB�B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n*�'��

l,�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��P�ڈ�
8������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8�C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n=z@�T

l-�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�q3ecP��
.������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.�D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��̜{�4

l.�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
����
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�z�v�l
$������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n��2���m

l/�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���y
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n���'��*
������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nY��c��J

l0�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�yx�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���n
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�ڽ]�7
������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"no�B�f��

l1�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�x�
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���c
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n��`�R���
������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�>�Nz��

l2�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
Č
wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���X
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�s��I�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$��I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�W!��=L

l3�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���M
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nB�O���
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n}3`$u��

l4�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���B
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�1B���b�
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$����K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n���U-�

l5�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�wv�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���7
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�Q���
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�����L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�:(#L��R

l6�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�v�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���,
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�0�Ee
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$������M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nNc���w�

l7�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
��

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���!
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nߺiD�3ܢ
�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�������N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nG_��f

l8�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�

���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"nrC�w̰�
 �������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$��������O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nZbf╥u�

l9�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n}�3z�^�
!�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$���������P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�{�,��
:�
a
V
K
@
5
*


	������������zodYNC8-"�����������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���	���4J�"nO�[^���<������%
���
BA��
��Z�
��F�
*)2�
���4J�"nQw��?��^
,�����������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�$�����������ti^SH=2'��t����i^��S�S�
@?�
>=�
<;�
:9�
87�
65�
43�
21
0/~
.-}
,+|
*){
('z
&%y
$#x
"!w
 v
u
t
s
r
q
p
o
n
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
�&
~}%
|{$
zy#
xw"
vu!
ts 
rq
po
nm
lk
ji
hg
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS
RQ
PO
NM
LK
JI
HG

FE	
DC
BA
@?
>=
<;
:9
87
65
43
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���

m
l

	k
j
i
h
g
�f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[
��Z
��Y
��X
��W
��V
��U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�

~
}
|
{
z
y
x

w

v
	u
t
s
r
q
��p
��o
��n
��m
��l
��k
��j
��i
��h
��g
��f
��e
��d
��c
��b
��a
��`
��_
��^
��]
��\
��[%���4J�"n��~�	�WI
,���������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
@
5
*


	���������
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/���zodYNC8-"�����������}rg\QF;0%
�
�����������$�������|qf[PE:/$�������ti^SH=2'}rg\QF;0%
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
Y
X
W
V
�U
��T
��S
��R
��Q
��P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
SR
QP
ON
ML
KJ
IH�
GF�
ED�
CB�
A@�
?>�
=<�
;:�
98�
76�
54�
32�
10�
/.�
-,�
+*�
)(�
'&�
%$�
#"�
! �
�
�
�
�
�
�
�
�
�

�

�
	�
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
XW�
VU�
TS
RQ~
PO}
NM|
LK{
JIz
HGy
FEx
DCw
BAv
@?u
>=t
<;s
:9r
87q
65p
43o
21n
0/m
.-l
,+k
*)j
('i
&%h
$#g
"!f
 e
d
c
b
a
`
_
^
]

\
[

	Z
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��
~}�
|{�
zy�
xw�
vu�
ts�
rq�
po�
nm�
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�
XW�
VU�
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
lk�
ji�
hg�
fe�
dc�
ba�
`_�
^]�
\[�
ZY�;���4J�"n����
"�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$����������Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"n�B�g�F��
"������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���?
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n�r�0֐�
#�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$�����������R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nU�'*ON
"������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���4
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���;���4J�"n'������
$�������������~tj`VLB8.$�������������zpf\RH>4* 
�
�
�
�
�
�
�
�
�
�
�
�
�
v
l
b
X
N
D
:
0
&


�������������|rh^TJ@6,"�������������xndZPF<2(

�
�
�
�
�
�
�
�
�
�
�
�
~
t
j
`
V
L
B
8
.
$


	�	�	�	�	�	�	�	�	�	�	�	�	�	z	p	f	\	R	H	>	4	*	 			�������������vlbXND:0&�������������|rh^TJ@6,"�������������xndZPF<2(
������������~tj`VLB8.$������������S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� ���������������������������������������������������~�}|�
{z�yx�wv�
ut�	sr�qp�on�ml�kj�ih�gf�ed�cb�a`�_^�~]\�}[Z�|YX�{WV�zUT�ySR�xQP�wON�vML�uKJ�tIH�sGF�rED�qCB�pA@�o?>�n=<�m;:�l98�k76�j54�i32�h10�g/.�f-,�e+*�d)(�c'&�b%$�a#"�`! �_�^�]�\�[�Z�Y�X�W�V
�U
�T	�S�R�Q�P�O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0���/���.���-���,���+���*���)���(���'���&���%���$���#���"���!��� �����������������������������������~}�|{�zy�xw�vu�ts�rq�
po�nm�lk�
ji�	hg�fe�dc�ba�`_�^]�\[�ZY�XW�VU�TS�~RQ�}PO�|NM�{LK�zJI�yHG�xFE�wDC�vBA�u@?�t>=�s<;�r:9�q87�p65�o43�n21�m0/�l.-�k,+�j*)�i('�h&%�g$#�f"!�e �d�c�b�a�`�_�^�]�\
�[�Z
	�Y�X�W�V�U��T���S���R���Q���P���O���N���M���L���K���J���I���H���G���F���E���D���C���B���A���@���?���>���=���<���;���:���9���8���7���6���5���4���3���2���1���0��<B���4J�"nm�*5w�
"������������}rg\QF;0%
�
�
�
�
�
�
�
�
�
�
�
�
u
j
_
T
I
>
3
(


	�	�	�	�	�	�	�	�	�	�	�	�	x	m	b	W	L	A	6	+	 		
������������{peZOD9.#
�����������~sh]RG<1&������������vk`UJ?4)������������yncXMB7,!�����������|qf[PE:/$�����������ti^SH=2'�����������������������|qf[PE:/$�����������ti^SH=2'
�
�
�
�
�
�
�
�
�
�
�
�
w
l
a
V
K
���
���
���
���
��
���
���
���
���
���
~�
}|�
{z�
yx�
wv�
ut�
sr�
qp�
on�
ml�
kj�
ih�
gf�
ed�
cb�
a`�
_^
]\~
[Z}
YX|
WV{
UTz
SRy
QPx
ONw
MLv
KJu
IHt
GFs
EDr
CBq
A@p
?>o
=<n
;:m
98l
76k
54j
32i
10h
/.g
-,f
+*e
)(d
'&c
%$b
#"a
! `
_
^
]
\
[
Z
Y
X
W

V

U
	T
S
R
Q
P
��O
��N
��M
��L
��K
��J
��I
��H
��G
��F
��E
��D
��C
��B
��A
��@
��?
��>
��=
��<
��;
��:
��9
��8
��7
��6
��5
��4
��3
��2
��1
��0
��/
��.
��-
��,
��+
��*
��)
��(
��'
��&
��%
��$
��#
��"
��!
�� 
��
��
��
��
��
��
��
��
��
��
�
~}
|{
zy
xw
vu
ts
rq
po
nm
lk
ji

hg	
fe
dc
ba
`_
^]
\[
ZY
XW
VU
TS�
RQ�
PO�
NM�
LK�
JI�
HG�
FE�
DC�
BA�
@?�
>=�
<;�
:9�
87�
65�
43�
21�
0/�
.-�
,+�
*)�
('�
&%�
$#�
"!�
 �
�
�
�
�
�
�
�
�

�
�

	�
�
�
�
�
��
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���)
�
�
�
�
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
���
��� B���4J�"n���^Ȓ
4a�H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"nx��ai��
5.�H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n�se ��
6��H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.�;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n��3`
7��H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��J�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n��u�vj��
8y�H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��y'�	M�useradd: cannot open /etc/passwdJ�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n��n�=�.
9�H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��y[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwdJ�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n~qx�X�
:��H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��y�C�	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwdJ�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory B���4J�"n幭��;�I
;��H�zP
�
�
q
1��_u9
�
�
�
&	�	�	{	@	��X���4���` ��N	���U��a.��y��'� 	M�useradd: cannot open /etc/passwdC�	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwdJ�	��warning: /etc/freshclam.conf created as /etc/freshclam.conf.rpmnew;�	u�warning: user clamupdate does not exist - using root0�	_�usermod: user 'clamupdate' does not exist'�	M�useradd: cannot open /etc/passwd[�	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd�!�	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�	��dracut: Turning off host-only mode: '/dev' is not mounted!B�	��dracut: Turning off host-only mode: '/run' is not mounted!B�	��dracut: Turning off host-only mode: '/sys' is not mounted!E�	��dracut: No '/dev/log' or 'logger' included for syslog logging=�	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skippedG�
	��ODBC Driver 17 for SQL Server usage count has been reduced to 1=�	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped#�	E�    Target directory is /etc?�
	}�odbcinst: Driver installed. Usage count increased to 2. '�		M�useradd: cannot open /etc/passwd?�	}�error: sssd-common-2.9.4-3.el8_10.x86_64: install failedX�	�-�error: %prein(sssd-common-2.9.4-3.el8_10.x86_64) scriptlet failed, exit status 1'�	M�useradd: cannot open /etc/passwd8�	o�warning: user varnish does not exist - using root'�	M�useradd: cannot open /etc/passwd7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root7�	m�warning: user apache does not exist - using root8�~	o�warning: user polkitd does not exist - using root8�}	o�warning: user polkitd does not exist - using root'�|	M�useradd: cannot open /etc/passwdC�{	��error: unbound-libs-1.16.2-5.el8_9.6.x86_64: install failed[�z	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.6.x86_64) scriptlet failed, exit status 1'�y	M�useradd: cannot open /etc/passwd4�x	g�warning: user tss does not exist - using root'�w	M�useradd: cannot open /etc/passwd'�v	M�useradd: cannot open /etc/passwd9�u	q�warning: /etc/shadow created as /etc/shadow.rpmnew�!�t	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�s	��dracut: Turning off host-only mode: '/dev' is not mounted!B�r	��dracut: Turning off host-only mode: '/run' is not mounted!B�q	��dracut: Turning off host-only mode: '/sys' is not mounted!E�p	��dracut: No '/dev/log' or 'logger' included for syslog logging=�o	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�n	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped@�m	�error: sssd-common-2.9.1-4.el8_9.5.x86_64: install failedY�l	�/�error: %prein(sssd-common-2.9.1-4.el8_9.5.x86_64) scriptlet failed, exit status 1'�k	M�useradd: cannot open /etc/passwdC�j	��error: unbound-libs-1.16.2-5.el8_9.2.x86_64: install failed[�i	�3�error: %prein(unbound-libs-1.16.2-5.el8_9.2.x86_64) scriptlet failed, exit status 1'�h	M�useradd: cannot open /etc/passwdm�g	�W�/usr/lib/kernel/install.d/51-dracut-rescue.install: line 51: /proc/cmdline: No such file or directoryE�f	��/bin/sed: can't read /proc/cpuinfo: No such file or directory���4J�"n���sVb<SQLite format 3@  6C6.,P�����4J�"n�
=Z�!�-�C���������������������~xrlf`ZTNHB<60*$�� � �e�0�z�C��U��g�4��~��H����Z��#�j�2�}�G��Y�"�jԉ2ӈ}҈Ġ͈Xˇ"ʆlɆ5ȅ~DžGƅ��e��+��t��=����M����]��&.o-7CC���4J�"n����v"�
��7�!	m�warning: user apache does not exist - using rootCC���4J�"n��[G5%]�
���7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�r=̍��
R��R7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"ny1�x`�Ϸ
��R7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"nK��D�c�
���R�7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�B�s�?H�
���R��'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�[��[�d�
Y��R��YX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n*賥<��
��R��Y?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n���#��
	
���R��Y
�;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"ns��3Lj�(


���R��Y
�
�=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�����!T�

Y��R��Y
�
�
Y=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n��o��

��R��Y
�
�
Y
E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�ΐ!0[3

���R��Y
�
�
Y
�B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"nK�a�9�
���R��Y
�
�
Y
��B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n���`߈�
B��R��Y
�
�
Y
��BB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using rootCC���4J�"n�y��t
���R��Y
�
�
Y
��B��!�0	�?�/usr/lib/dracut/modules.d/99microcode_ctl-fw_dir_override/module-setup.sh: line 16: /sys/module/firmware_class/parameters/path: No such file or directoryB�/	��dracut: Turning off host-only mode: '/dev' is not mounted!B�.	��dracut: Turning off host-only mode: '/run' is not mounted!B�-	��dracut: Turning off host-only mode: '/sys' is not mounted!E�,	��dracut: No '/dev/log' or 'logger' included for syslog logging=�+	y�error: unbound-libs-1.16.2-5.el8.x86_64: erase skipped=�*	y�error: sssd-common-2.8.2-3.el8_8.x86_64: erase skipped;�)	u�warning: user clamupdate does not exist - using root?�(	}�error: sssd-common-2.9.4-4.el8_10.x86_64: install failedX�'	�-�error: %prein(sssd-common-2.9.4-4.el8_10.x86_64) scriptlet failed, exit status 1'�&	M�useradd: cannot open /etc/passwd7�%	m�warning: user apache does not exist - using root7�$	m�warning: user apache does not exist - using root7�#	m�warning: user apache does not exist - using root7�"	m�warning: user apache does not exist - using root7�!	m�warning: user apache does not exist - using root:C���4J�"n�R�-@b�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W��c��
^�	�b
�	�a
�~	�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���L�8�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W��c��
^�	�b
�	�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nB/㉛"1G
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W��c��
^�	�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nX�Vs [`
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W��c��
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n������
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W��c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�n���;
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d��W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nG�Y��?
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��	�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�Ow��r
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�	��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n����Ή
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��	�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�BM���H
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�	��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"noG�O�X
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��	�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�L�y�T�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�		��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�#��*��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n4""��m
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h���
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�'�
�	<>
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�	�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�Ȳ��-ދ
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
	�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���\&
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�	�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nQ�!�#�y}
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�	�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n
K�̄���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�	�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�%t�4f�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�	�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n%شmL�P�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�	�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��/�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�	�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�uR��y#
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�	�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�T����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�	�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�z�1	���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�	�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���ak;�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�	�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�e~��v
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�	�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n(��|��+
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�	�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n-��g���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�	�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n|�i�q
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�	�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��r#���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�	�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��K��>�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�	�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��f�)N��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<��q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�QZ�y
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r��<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n
�ʰ���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� �r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�yM�c9�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�՟ӵ�M
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n_>W��w
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"ni���a�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$	�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���'��s
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%	�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�X�j�S�8
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&	�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"na��ĝ��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'	�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nY^u�hw
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(	�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�~4ฃ�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)	�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n[pjF�/�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*	�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n}"������
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+	�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���+?��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,	�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�g.���U
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-	�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��U�H|C
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.	�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n}��"�q
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/	�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�NZ��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0	�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n����v��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1	�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n>��z-^f�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2	�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�t���
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3	�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���g+�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4	�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n0��Xy��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5	�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�X�4{
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n
{���b
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"ny���:GI�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8	�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n���=��|
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9	��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nQ[�y�g
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nb<���n
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"np;�I�2~�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n2m��%P
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n"ҪP��d
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��{/���P
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�$��܁E�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n4zj)O~e0
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nN���D��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nL7Mf�b
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n 0�`w.�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D	���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nqZ�����
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E	�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nq�6�
9�2
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F	���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n��4��5��
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G	�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nJ?���y�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�"G_a�B
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�5��Y�D
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nfgi�?�6
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n'��rx%X
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"n�u��E�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nJ�Pw�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N	���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y:C���4J�"nb�_�x#�
���������r(`M:��������n]L;*
�
�
�
�
�
�
�
~
m
\
K
:
)

�������|jXF5$�������ziXG6%
�
�
�
�
�
�
�
y
h
W
F
4
"

	�	�	�	�	�	�	�	r	a	P	>	,		
�������|kZH6%�������wfUD3"�������tcR@.
�������zhVD2 �������~m\J8'�������zhWF5$�������veTB0������>	���=�
�<���;	��:	���9	��8	���7���6���5	���4	���3	���2	���1���0���/���.���-���,���+	�
H�*	���)	���(	���'	���&	���%���$���#	���"	���!��� ���	���	���	���	���	���	���������	���	���������������������������
���������
���	���������������������������������~���}���|���{	���z	���y	���x	���w���v���u���t���s	���r	���q	���p	���o	���n	���m	���l	���k	���j	���i	���h	���g���f���e���d���c	���b	���a	�
�`	���_���^���]���\���[��Z���Y	�
�X	���W�
��V���U�
��T���S	�
��R	���Q�
��P���O	�
��N		���M	�
��L	���K	�
��J	���I	�
��H	���G		�
��F		���E		�
��D		���C	�
��B	���A	���@	���?	�
s�>	���=	���<	���;	���:	��9		��8		�~�7	�y�6	�}�5		�b�4		�|�3		�a�2		�{�1		�`�0		�z�/		�_�.		�y�-		�^�,		�x�+		�U�*		�w�)		�a�(		�v�'		�T�&		�u�%		�S�$		�t�#	�>�"	�s�!	�=� 	�r�	�<�	�q�		�;�		�p�		�:�		�o�		�9�		�n�		�6�		�m�		�5�		�l�		�4�		�k�		�*�		�j�		�)�		�i�
		�(�		�h�	��
	�g�			��		�f�		��		�e�		��		�d�	�W�	�c�	�
^�		�b
�		�a
�~		�`
�}		�_�|		�^
�{			�]�z		�\�y		�[�u	���x���w�>�v	�
�t	���s	���r	���q	�k�p		�
<�o		�Z�n	�v�m	�Y=?���3:���?Q�ĕ��
Hp��^1��rG
�
�
e
;
��c#��L
�
w
2	�	�	�	^	1���zF!���j9��yB��d,���L��u=���mF���p*�7)�libsss_certmap2.9.44.el8_10x86_64)�6'�libsss_autofs2.9.44.el8_10x86_64%�5%�libnsl2.28251.el8_10.4x86_64)�4!!�libnghttp21.33.06.el8_10.1x86_64&�3�libkadm51.18.229.el8_10x86_64$�2�libdnf0.63.020.el8_10x86_64-�1'#�libcurl-devel7.61.134.el8_10.2x86_64'�0#�libcurl7.61.134.el8_10.2x86_64�/�less5303.el8_10x86_64'�.�krb5-libs1.18.229.el8_10x86_64(�-!�krb5-devel1.18.229.el8_10x86_645�,/+�kernel-tools-libs4.18.0553.16.1.el8_10x86_640�+%+�kernel-tools4.18.0553.16.1.el8_10x86_642�*)+�kernel-headers4.18.0553.16.1.el8_10x86_645�)-	!%�iwl7260-firmware25.30.13.0122.el8_10.1noarch4�(-%�iwl6050-firmware41.28.5.1122.el8_10.1noarch8�'3!%�iwl6000g2a-firmware18.168.6.1122.el8_10.1noarch4�&-%�iwl6000-firmware9.221.4.1122.el8_10.1noarch3�%-%�iwl5150-firmware8.24.2.2122.el8_10.1noarch5�$-!%�iwl5000-firmware8.83.5.1_1122.el8_10.1noarch5�#-	!%�iwl3160-firmware25.30.13.0122.el8_10.1noarch5�"-!%�iwl2030-firmware18.168.6.1122.el8_10.1noarch5�!-!%�iwl2000-firmware18.168.6.1122.el8_10.1noarch4� +!%�iwl135-firmware18.168.6.1122.el8_10.1noarch4�+!%�iwl105-firmware18.168.6.1122.el8_10.1noarch4�-	%�iwl1000-firmware39.31.5.1122.el8_10.1noarch3�+%�iwl100-firmware39.31.5.1122.el8_10.1noarch%�!�gnutls3.6.168.el8_10.3x86_64,�'%�glibc-headers2.28251.el8_10.4x86_640�/%�glibc-gconv-extra2.28251.el8_10.4x86_64.�/%�glibc-gconv-extra2.28251.el8_10.4i686*�#%�glibc-devel2.28251.el8_10.4x86_64+�%%�glibc-common2.28251.el8_10.4x86_642�3%�glibc-all-langpacks2.28251.el8_10.4x86_64$�%�glibc2.28251.el8_10.4x86_64"�%�glibc2.28251.el8_10.4i6861�5�firewalld-filesystem0.9.118.el8_10noarch&��firewalld0.9.118.el8_10noarch$�#�curl7.61.134.el8_10.2x86_64&�	�cups-libs2.2.660.el8_10x86_64;�+1#�ca-certificates2024.2.69_v8.0.30380.0.el8_10noarch*�%�c-ares-devel1.13.011.el8_10x86_64$�
�c-ares1.13.011.el8_10x86_64"��wget1.19.512.el8_10x86_64?�O�rubygems2.7.6.3112.module+el8.10.0+1839+f1f156aenoarchC�
%O�rubygem-rdoc6.0.1.1112.module+el8.10.0+1839+f1f156aenoarchB�	'O�rubygem-psych3.0.2112.module+el8.10.0+1839+f1f156aex86_64D�+O�rubygem-openssl2.1.2112.module+el8.10.0+1839+f1f156aex86_64A�%O�rubygem-json2.1.0112.module+el8.10.0+1839+f1f156aex86_64G�1O�rubygem-io-console0.4.6112.module+el8.10.0+1839+f1f156aex86_64I�5O�rubygem-did_you_mean1.2.0112.module+el8.10.0+1839+f1f156aenoarchG�1O�rubygem-bigdecimal1.3.4112.module+el8.10.0+1839+f1f156aex86_64>�O�ruby-libs2.5.9112.module+el8.10.0+1839+f1f156aex86_64=�O�ruby-irb2.5.9112.module+el8.10.0+1839+f1f156aenoarch9�O�ruby2.5.9112.module+el8.10.0+1839+f1f156aex86_64/�1�python3.11-tkinter3.11.92.el8_10x86_648�C�python3.11-setuptools-wheel65.5.13.el8_10noarch,�~+�python3.11-libs3.11.92.el8_10x86_64'�}!python3.113.11.92.el8_10x86_64.�|%#~python3-bind 9.11.3616.el8_10.2noarch@�{'K}perl-Sys-Virt8.0.01.module+el8.10.0+1835+43f01cbbx86_64>�zM|mod_http21.15.710.module+el8.10.0+1830+22f0c9e0x86_64*�y'{mesa-libglapi23.1.43.el8_10x86_64(�x#zmesa-libgbm23.1.43.el8_10x86_64'�w!ymesa-libGL23.1.43.el8_10x86_64(�v#xmesa-libEGL23.1.43.el8_10x86_64B�u%Qwlibvirt-libs8.0.023.2.module+el8.10.0+1835+43f01cbbx86_64"�t	vlibuv1.41.12.el8_10x86_64*�s'ulibtiff-devel4.0.932.el8_10x86_64$�rtlibtiff4.0.932.el8_10x86_64<�qC	'sjava-1.8.0-openjdk-headless1.8.0.422.b052.el8x86_649�p=	'rjava-1.8.0-openjdk-devel1.8.0.422.b052.el8x86_64/���2$��jB�v�ע
���	
�
�
��
�
�
}
d
K
2
�
������vkU?)��`�����{cK3�^
�
�
�
�
m
O
1�@
	�	�	�	�	k	J����	-		�����������th\PD8, ��������|kZ�F2
�����L�kWC/���v����r`N<*:�����xaJ3#"�����
%��rmwareGn	=j���������{ocWK8%��rmwareGn	=java-1.8.0-openjdk-devel;1java-1.8.0-openjdk:kernel]=java-17-openjdk-headless[+java-17-openjdkZkmod-libs�	kmod�/kernel-tools-libs�%kernel-tools�)kernel-headers�-iwl7260-firmware�-iwl6050-firmware�3iwl6000g2a-firmware�-iwl6000-firmware� Cjava-1.8.0-openjdk-headless<d=java-1.8.0-openjdk-develp1java-1.8.0-openjdko)kernel-modules_#kernel-core^7java-17-openjdk-devel\kmod-libs
�kmod-libs�	kmod
�	kmod�3keyutils-libs-devel"'keyutils-libs�
keyutils#kexec-tools�/kernel-tools-libs�/kernel-tools-libsS/kernel-tools-libs
/kernel-tools-libsW/kernel-tools-libst/kernel-tools-libs
�/kernel-tools-libs�/kernel-tools-libs�/kernel-tools-libsc/kernel-tools-libs%kernel-tools�%kernel-toolsR%kernel-tools
%kernel-toolsV%kernel-toolss%kernel-tools
�%kernel-tools�%kernel-tools�%kernel-toolsb%kernel-tools~)kernel-modules)kernel-modules�)kernel-modules
u)kernel-modules�)kernel-modules�)kernel-modulesP)kernel-modules	�)kernel-modules�)kernel-modules�)kernel-modules^)kernel-modules})kernel-headers�)kernel-headersQ)kernel-headers
)kernel-headersU)kernel-headersr)kernel-headers
�)kernel-headers�)kernel-headers�)kernel-headers�#kernel-core#kernel-core�#kernel-core
t#kernel-core�#kernel-core�#kernel-coreO#kernel-core	�#kernel-core�#kernel-core�#kernel-core]#kernel-core|kernel
kernel�kernel
skernel�kernel�kernelNkernel	�kernel�kernel�kernel\
kernel{
kbd-miscPkbd-miscz!kbd-legacyO!kbd-legacyykbdNkbdxjson-glibjson-c	
json-cw%jbigkit-libs�'jbig2dec-libsB;javapackages-filesystem� Cjava-1.8.0-openjdk-headless
� Cjava-1.8.0-openjdk-headless
? Cjava-1.8.0-openjdk-headless� Cjava-1.8.0-openjdk-headlessX Cjava-1.8.0-openjdk-headless	� Cjava-1.8.0-openjdk-headless� Cjava-1.8.0-openjdk-headless�=java-1.8.0-openjdk-devel
�=java-1.8.0-openjdk-devel
>=java-1.8.0-openjdk-devel�=java-1.8.0-openjdk-develW=java-1.8.0-openjdk-devel	�=java-1.8.0-openjdk-devel�=java-1.8.0-openjdk-devel�1java-1.8.0-openjdk
�1java-1.8.0-openjdk
=1java-1.8.0-openjdk�1java-1.8.0-openjdkV1java-1.8.0-openjdk	�1java-1.8.0-openjdk�1java-1.8.0-openjdk�#jasper-libs�%jasper-develxjansson
�janssonv-iwl7260-firmwareM-iwl7260-firmware
-iwl7260-firmwareT-iwl7260-firmwareq-iwl7260-firmware
�-iwl7260-firmware�-iwl7260-firmwareu-iwl6050-firmwareL-iwl6050-firmware
-iwl6050-firmwareS-iwl6050-firmwarep-iwl6050-firmware
�-iwl6050-firmware�-iwl6050-firmwaret3iwl6000g2a-firmwareK3iwl6000g2a-firmware
3iwl6000g2a-firmwareR3iwl6000g2a-firmwareo3iwl6000g2a-firmware
�3iwl6000g2a-firmware�3iwl6000g2a-firmwares-iwl6000-firmwareJ-iwl6000-firmware
-iwl6000-firmwareQ-iwl6000-firmwaren�4���2$���j��d�
'�����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



����������������xph`XPH@80( ����������������xph`XPH@80( 
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
x
p
h
`
X
P
H
@
8
0
(
 



	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	x	p	h	`	X	P	H	@	8	0	(	 				����������������xph`XPH@80( ����������������xph`XPH@80( �������rpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJKIJHIGHFGEFDECDBCAB@A?@>?=><=;<:;9:897867564534231201/0./-.,-+,*+)*()'(&'%&$%#$"#!" ! 


	
	����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~}~|}{|z{yzxywxvwuvtustrsqrpqopnomnlmkljkijhighfgefdecdbcab`a_`^_]^\][\Z[YZXYWXVWUVTUSTRSQRPQOPNOMNLMKLJ==���2$���B��E�K
��9�p=	'rjava-1.8.0-openjdk-devel1.8.0.422.b052.el8x86_64$���/-=�XT�z���h|
@
K���nJ(��)�U5
�
�u
�
�
aK�
:
����V+� ���Y/��
�
�
�
c
;�b
	�	�	�	]�5	8	���s
'#libsss_sudo2.9.43.el8_10x86_64�,-libsss_nss_idmap2.9.43.el8_10x86_64�(%libsss_idmap2.9.43.el8_10x86_64�*)libsss_certmap2.9.43.el8_10x86_64�)'libsss_autofs2.9.43.el8_10x86_64�''libssh-config0.9.614.el8noarch� libssh0.9.614.el8x86_64�!libsoup2.62.35.el8x86_64�'%libsmartcols2.32.146.el8x86_64�(#libsss_sudo2.9.14.el8_9.5x86_64�--libsss_nss_idmap2.9.14.el8_9.5x86_64�)%libsss_idmap2.9.14.el8_9.5x86_64�+)libsss_certmap2.9.14.el8_9.5x86_64�*'libsss_autofs2.9.14.el8_9.5x86_64�)'libssh-config0.9.613.el8_9noarch�"libssh0.9.613.el8_9x86_64�&#libsss_sudo2.9.14.el8_9x86_64n&#libsss_sudo2.8.23.el8_8x86_64{(#libsss_sudo2.7.34.el8_7.3x86_64
�(#libsss_sudo2.5.22.el8_5.4x86_64_$#libsss_sudo2.5.22.el8x86_64�+-libsss_nss_idmap2.9.14.el8_9x86_64m+-libsss_nss_idmap2.8.23.el8_8x86_64z--libsss_nss_idmap2.7.34.el8_7.3x86_64
�--libsss_nss_idmap2.5.22.el8_5.4x86_64j)-libsss_nss_idmap2.5.22.el8x86_64�'%libsss_idmap2.9.14.el8_9x86_64l'%libsss_idmap2.8.23.el8_8x86_64y)%libsss_idmap2.7.34.el8_7.3x86_64
�)%libsss_idmap2.5.22.el8_5.4x86_64i%%libsss_idmap2.5.22.el8x86_64�))libsss_certmap2.9.14.el8_9x86_64k))libsss_certmap2.8.23.el8_8x86_64x+)libsss_certmap2.7.34.el8_7.3x86_64
�+)libsss_certmap2.5.22.el8_5.4x86_64h')libsss_certmap2.5.22.el8x86_64�('libsss_autofs2.9.14.el8_9x86_64j('libsss_autofs2.8.23.el8_8x86_64w*'libsss_autofs2.7.34.el8_7.3x86_64
�*'libsss_autofs2.5.22.el8_5.4x86_64g&'libsss_autofs2.5.22.el8x86_64�&'libssh2-devel1.9.05.el8x86_64�''libssh2-devel1.10.01.el8x86_64
7 libssh21.9.05.el8x86_64�!libssh21.10.01.el8x86_64
6&'libssh-config0.9.63.el8noarch
�)'libssh-config0.9.610.el8_8noarchv&'libssh-config0.9.43.el8noarch�libssh0.9.63.el8x86_64
�"libssh0.9.610.el8_8x86_64ulibssh0.9.43.el8x86_64�libss1.45.65.el8x86_64
�libss1.45.62.el8x86_64�6Alibspf21.2.1111.20210922git4915c308.el8x86_64
55?libspf21.2.111.20210922git4915c308.el8x86_64�!libsoup2.62.34.el8x86_64i!libsoup2.62.33.el8x86_64t!libsoup2.62.32.el8x86_64*!libsolv0.7.206.el8x86_64h#libsolv0.7.204.el8_7x86_64
�!libsolv0.7.203.el8x86_64	!libsolv0.7.191.el8x86_64�)+libsodium-devel1.0.182.el8x86_64b#libsodium1.0.182.el8x86_64a01���/-=�X�Q�2J�Q=
>`��h2���yS.
�
�
o
;
��h3��`+
�
�
�
p
M
*	�	�	�	�	l	G	����Z5���sK ����g=���`'�}#�libsss_sudo2.9.43.el8_10x86_64,�|-�libsss_nss_idmap2.9.43.el8_10x86_64(�{%�libsss_idmap2.9.43.el8_10x86_64*�z)�libsss_certmap2.9.43.el8_10x86_64)�y'�libsss_autofs2.9.43.el8_10x86_64'�x'�libssh-config0.9.614.el8noarch �w�libssh0.9.614.el8x86_64!�v�libsoup2.62.35.el8x86_64'�u%�libsmartcols2.32.146.el8x86_64!�t�librepo1.14.25.el8x86_64!�s�librdmacm48.01.el8x86_64(�r#�libquadmath8.5.022.el8_10x86_64%�q%�libnsl2.28251.el8_10.2x86_64#�p�libmount2.32.146.el8x86_64�o�libldb2.8.00.el8x86_64*�n/�libkcapi-hmaccalc1.4.02.el8x86_64!�m�libkcapi1.4.02.el8x86_64&�l�libkadm51.18.227.el8_10x86_64"�k!�libibverbs48.01.el8x86_64$�j�libgomp8.5.022.el8_10x86_64(�i#�libgfortran8.5.022.el8_10x86_64#�h�libgcc8.5.022.el8_10x86_64#�g�libfdisk2.32.146.el8x86_64!�f�libdnf0.63.019.el8x86_64(�e'�libcurl-devel7.61.134.el8x86_64"�d�libcurl7.61.134.el8x86_64#�c�libblkid2.32.146.el8x86_64 �b�libacl2.2.533.el8x86_64�a�less5302.el8_9x86_64'�`�krb5-libs1.18.227.el8_10x86_64(�_!�krb5-devel1.18.227.el8_10x86_64 �^�kpartx0.8.441.el8x86_64 �]�kmod-libs2520.el8x86_64�\�kmod2520.el8x86_644�[/)�kernel-tools-libs4.18.0553.5.1.el8_10x86_64/�Z%)�kernel-tools4.18.0553.5.1.el8_10x86_641�Y))�kernel-headers4.18.0553.5.1.el8_10x86_642�X-	!�iwl7260-firmware25.30.13.0121.el8.1noarch1�W-�iwl6050-firmware41.28.5.1121.el8.1noarch5�V3!�iwl6000g2a-firmware18.168.6.1121.el8.1noarch1�U-�iwl6000-firmware9.221.4.1121.el8.1noarch0�T-�iwl5150-firmware8.24.2.2121.el8.1noarch2�S-!�iwl5000-firmware8.83.5.1_1121.el8.1noarch2�R-	!�iwl3160-firmware25.30.13.0121.el8.1noarch2�Q-!�iwl2030-firmware18.168.6.1121.el8.1noarch2�P-!�iwl2000-firmware18.168.6.1121.el8.1noarch1�O+!�iwl135-firmware18.168.6.1121.el8.1noarch1�N+!�iwl105-firmware18.168.6.1121.el8.1noarch1�M-	�iwl1000-firmware39.31.5.1121.el8.1noarch0�L+�iwl100-firmware39.31.5.1121.el8.1noarch'�K'�iptables-libs1.8.511.el8x86_64+�J/�iptables-ebtables1.8.511.el8x86_64"�I�iptables1.8.511.el8x86_64#�H�iproute6.2.06.el8_10x86_64"�G�hwdata0.3148.22.el8noarch�F�grubby8.4049.el8x86_647�E3	/�grub2-tools-minimal2.02156.el8.rocky.0.1x86_645�D/	/�grub2-tools-extra2.02156.el8.rocky.0.1x86_643�C+	/�grub2-tools-efi2.02156.el8.rocky.0.1x86_64/�B#	/�grub2-tools2.02156.el8.rocky.0.1x86_644�A-	/�grub2-pc-modules2.02156.el8.rocky.0.1noarch,�@	/�grub2-pc2.02156.el8.rocky.0.1x86_64�����
fLn�*7��H
C
^
��������p`P@0 ��������p`P@0 
�
�
�
�
�
�
�
�
p
`
P
@
0
 

��������rcTE6'	��������veTC2!
�
�
�
�
�
�
�
�
w
f
U
D
3
"
�'O'�&O�%O
�$O�#O�"O
�!O	� O�O�O$�O"�O!�O �O�O�O�O�O�O�O�O�O�	N��	N�
�		N��	M��
	M�
�		MB�			LJ�
			LI�				LH�			LG�			LF�			LE�			LD�			LC�			LB�			LA�			L@
�		L?
�		L>
�~		L=
�}		L<
�|		L;
�{		L:
�z		L9
�y		L8
�x		L7
�w		L6
�v		L5
�u		L4
�t		L3
�s		L2
�r		L1
�q		L0
�p		L/
�o		L.
�n		L-
�m		L,
�l		L+
�k		L*
�j		L)
�i		L(
�h		L'
�g		L&
�f		L%
�e		L$
�d		L#
�c		L"
�b		L!
�a		L 
�`		L
�_		L
�^		L
�]		L
�\		L
�[		L
�Z		L
�Y		L
�X		L
�W		L
�V		L
�U		L
�T		L
�S		L
�R		L
�Q		L
�P		L
�O		L
�N		L

�M		L
�L		L
�K		L

�J		L	PK!�FZ*�s�r(r(
logging.pynu�[���# logging.py
# DNF Logging Subsystem.
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
import dnf.exceptions
import dnf.const
import dnf.lock
import dnf.util
import libdnf.repo
import logging
import logging.handlers
import os
import sys
import time
import warnings
import gzip

# :api loggers are: 'dnf', 'dnf.plugin', 'dnf.rpm'

SUPERCRITICAL = 100 # do not use this for logging
CRITICAL = logging.CRITICAL
ERROR = logging.ERROR
WARNING = logging.WARNING
INFO = logging.INFO
DEBUG = logging.DEBUG
DDEBUG = 8  # used by anaconda (pyanaconda/payload/dnfpayload.py)
SUBDEBUG = 6
TRACE = 4
ALL = 2

def only_once(func):
    """Method decorator turning the method into noop on second or later calls."""
    def noop(*_args, **_kwargs):
        pass
    def swan_song(self, *args, **kwargs):
        func(self, *args, **kwargs)
        setattr(self, func.__name__, noop)
    return swan_song

class _MaxLevelFilter(object):
    def __init__(self, max_level):
        self.max_level = max_level

    def filter(self, record):
        if record.levelno >= self.max_level:
            return 0
        return 1

_VERBOSE_VAL_MAPPING = {
    0 : SUPERCRITICAL,
    1 : logging.INFO,
    2 : logging.INFO, # the default
    3 : logging.DEBUG,
    4 : logging.DEBUG,
    5 : logging.DEBUG,
    6 : logging.DEBUG, # verbose value
    7 : DDEBUG,
    8 : SUBDEBUG,
    9 : TRACE,
    10: ALL,   # more verbous librepo and hawkey
    }

def _cfg_verbose_val2level(cfg_errval):
    assert 0 <= cfg_errval <= 10
    return _VERBOSE_VAL_MAPPING.get(cfg_errval, TRACE)


# Both the DNF default and the verbose default are WARNING. Note that ERROR has
# no specific level.
_ERR_VAL_MAPPING = {
    0: SUPERCRITICAL,
    1: logging.CRITICAL,
    2: logging.ERROR
    }

def _cfg_err_val2level(cfg_errval):
    assert 0 <= cfg_errval <= 10
    return _ERR_VAL_MAPPING.get(cfg_errval, logging.WARNING)


def compression_namer(name):
    return name + ".gz"


CHUNK_SIZE = 128 * 1024 # 128 KB


def compression_rotator(source, dest):
    with open(source, "rb") as sf:
        with gzip.open(dest, 'wb') as wf:
            while True:
                data = sf.read(CHUNK_SIZE)
                if not data:
                    break
                wf.write(data)
    os.remove(source)


class MultiprocessRotatingFileHandler(logging.handlers.RotatingFileHandler):
    def __init__(self, filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=False):
        super(MultiprocessRotatingFileHandler, self).__init__(
            filename, mode, maxBytes, backupCount, encoding, delay)
        self.rotate_lock = dnf.lock.build_log_lock("/var/log/", True)

    def emit(self, record):
        while True:
            try:
                if self.shouldRollover(record):
                    with self.rotate_lock:
                        # Do rollover while preserving the mode of the new log file
                        mode = os.stat(self.baseFilename).st_mode
                        self.doRollover()
                        os.chmod(self.baseFilename, mode)
                logging.FileHandler.emit(self, record)
                return
            except (dnf.exceptions.ProcessLockError, dnf.exceptions.ThreadLockError):
                time.sleep(0.01)
            except Exception:
                self.handleError(record)
                return


def _create_filehandler(logfile, log_size, log_rotate, log_compress):
    if not os.path.exists(logfile):
        dnf.util.ensure_dir(os.path.dirname(logfile))
        dnf.util.touch(logfile)
    handler = MultiprocessRotatingFileHandler(logfile, maxBytes=log_size, backupCount=log_rotate)
    formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s",
                                  "%Y-%m-%dT%H:%M:%S%z")
    formatter.converter = time.localtime
    handler.setFormatter(formatter)
    if log_compress:
        handler.rotator = compression_rotator
        handler.namer = compression_namer
    return handler

def _paint_mark(logger):
    logger.log(INFO, dnf.const.LOG_MARKER)


class Logging(object):
    def __init__(self):
        self.stdout_handler = self.stderr_handler = None
        logging.addLevelName(DDEBUG, "DDEBUG")
        logging.addLevelName(SUBDEBUG, "SUBDEBUG")
        logging.addLevelName(TRACE, "TRACE")
        logging.addLevelName(ALL, "ALL")
        logging.captureWarnings(True)
        logging.raiseExceptions = False

    @only_once
    def _presetup(self):
        logger_dnf = logging.getLogger("dnf")
        logger_dnf.setLevel(TRACE)

        # setup stdout
        stdout = logging.StreamHandler(sys.stdout)
        stdout.setLevel(INFO)
        stdout.addFilter(_MaxLevelFilter(logging.WARNING))
        logger_dnf.addHandler(stdout)
        self.stdout_handler = stdout

        # setup stderr
        stderr = logging.StreamHandler(sys.stderr)
        stderr.setLevel(WARNING)
        logger_dnf.addHandler(stderr)
        self.stderr_handler = stderr

    @only_once
    def _setup_file_loggers(self, logfile_level, logdir, log_size, log_rotate, log_compress):
        logger_dnf = logging.getLogger("dnf")
        logger_dnf.setLevel(TRACE)

        # setup file logger
        logfile = os.path.join(logdir, dnf.const.LOG)
        handler = _create_filehandler(logfile, log_size, log_rotate, log_compress)
        handler.setLevel(logfile_level)
        logger_dnf.addHandler(handler)

        # setup Python warnings
        logger_warnings = logging.getLogger("py.warnings")
        logger_warnings.addHandler(handler)

        logger_librepo = logging.getLogger("librepo")
        logger_librepo.setLevel(TRACE)
        logfile = os.path.join(logdir, dnf.const.LOG_LIBREPO)
        handler = _create_filehandler(logfile, log_size, log_rotate, log_compress)
        logger_librepo.addHandler(handler)
        libdnf.repo.LibrepoLog.addHandler(logfile, logfile_level <= ALL)

        # setup RPM callbacks logger
        logger_rpm = logging.getLogger("dnf.rpm")
        logger_rpm.propagate = False
        logger_rpm.setLevel(SUBDEBUG)
        logfile = os.path.join(logdir, dnf.const.LOG_RPM)
        handler = _create_filehandler(logfile, log_size, log_rotate, log_compress)
        logger_rpm.addHandler(handler)

    @only_once
    def _setup(self, verbose_level, error_level, logfile_level, logdir, log_size, log_rotate, log_compress):
        self._presetup()

        self._setup_file_loggers(logfile_level, logdir, log_size, log_rotate, log_compress)

        logger_warnings = logging.getLogger("py.warnings")
        logger_warnings.addHandler(self.stderr_handler)

        # setup RPM callbacks logger
        logger_rpm = logging.getLogger("dnf.rpm")
        logger_rpm.addHandler(self.stdout_handler)
        logger_rpm.addHandler(self.stderr_handler)

        logger_dnf = logging.getLogger("dnf")
        # temporarily turn off stdout/stderr handlers:
        self.stdout_handler.setLevel(WARNING)
        self.stderr_handler.setLevel(WARNING)
        _paint_mark(logger_dnf)
        _paint_mark(logger_rpm)
        # bring std handlers to the preferred level
        self.stdout_handler.setLevel(verbose_level)
        self.stderr_handler.setLevel(error_level)

    def _setup_from_dnf_conf(self, conf, file_loggers_only=False):
        verbose_level_r = _cfg_verbose_val2level(conf.debuglevel)
        error_level_r = _cfg_err_val2level(conf.errorlevel)
        logfile_level_r = _cfg_verbose_val2level(conf.logfilelevel)
        logdir = conf.logdir
        log_size = conf.log_size
        log_rotate = conf.log_rotate
        log_compress = conf.log_compress
        if file_loggers_only:
            return self._setup_file_loggers(logfile_level_r, logdir, log_size, log_rotate, log_compress)
        else:
            return self._setup(
                verbose_level_r, error_level_r, logfile_level_r, logdir, log_size, log_rotate, log_compress)


class Timer(object):
    def __init__(self, what):
        self.what = what
        self.start = time.time()

    def __call__(self):
        diff = time.time() - self.start
        msg = 'timer: %s: %d ms' % (self.what, diff * 1000)
        logging.getLogger("dnf").log(DDEBUG, msg)


_LIBDNF_TO_DNF_LOGLEVEL_MAPPING = {
    libdnf.utils.Logger.Level_CRITICAL: CRITICAL,
    libdnf.utils.Logger.Level_ERROR: ERROR,
    libdnf.utils.Logger.Level_WARNING: WARNING,
    libdnf.utils.Logger.Level_NOTICE: INFO,
    libdnf.utils.Logger.Level_INFO: INFO,
    libdnf.utils.Logger.Level_DEBUG: DEBUG,
    libdnf.utils.Logger.Level_TRACE: TRACE
}


class LibdnfLoggerCB(libdnf.utils.Logger):
    def __init__(self):
        super(LibdnfLoggerCB, self).__init__()
        self._dnf_logger = logging.getLogger("dnf")
        self._librepo_logger = logging.getLogger("librepo")

    def write(self, source, *args):
        """Log message.

        source -- integer, defines origin (libdnf, librepo, ...) of message, 0 - unknown
        """
        if len(args) == 2:
            level, message = args
        elif len(args) == 4:
            time, pid, level, message = args
        if source == libdnf.utils.Logger.LOG_SOURCE_LIBREPO:
            self._librepo_logger.log(_LIBDNF_TO_DNF_LOGLEVEL_MAPPING[level], message)
        else:
            self._dnf_logger.log(_LIBDNF_TO_DNF_LOGLEVEL_MAPPING[level], message)


libdnfLoggerCB = LibdnfLoggerCB()
libdnf.utils.Log.setLogger(libdnfLoggerCB)
PK!�FZU+����base.pynu�[���# Copyright 2005 Duke University
# Copyright (C) 2012-2018 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

"""
Supplies the Base class.
"""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import argparse
import dnf
import libdnf.transaction

from copy import deepcopy
from dnf.comps import CompsQuery
from dnf.i18n import _, P_, ucd
from dnf.util import _parse_specs
from dnf.db.history import SwdbInterface
from dnf.yum import misc
try:
    from collections.abc import Sequence
except ImportError:
    from collections import Sequence
import datetime
import dnf.callback
import dnf.comps
import dnf.conf
import dnf.conf.read
import dnf.crypto
import dnf.dnssec
import dnf.drpm
import dnf.exceptions
import dnf.goal
import dnf.history
import dnf.lock
import dnf.logging
# WITH_MODULES is used by ansible (lib/ansible/modules/packaging/os/dnf.py)
try:
    import dnf.module.module_base
    WITH_MODULES = True
except ImportError:
    WITH_MODULES = False
import dnf.persistor
import dnf.plugin
import dnf.query
import dnf.repo
import dnf.repodict
import dnf.rpm.connection
import dnf.rpm.miscutils
import dnf.rpm.transaction
import dnf.sack
import dnf.selector
import dnf.subject
import dnf.transaction
import dnf.util
import dnf.yum.rpmtrans
import functools
import gc
import hawkey
import itertools
import logging
import math
import os
import operator
import re
import rpm
import time
import shutil


logger = logging.getLogger("dnf")


class Base(object):

    def __init__(self, conf=None):
        # :api
        self._closed = False
        self._conf = conf or self._setup_default_conf()
        self._goal = None
        self._repo_persistor = None
        self._sack = None
        self._transaction = None
        self._priv_ts = None
        self._comps = None
        self._comps_trans = dnf.comps.TransactionBunch()
        self._history = None
        self._tempfiles = set()
        self._trans_tempfiles = set()
        self._ds_callback = dnf.callback.Depsolve()
        self._logging = dnf.logging.Logging()
        self._repos = dnf.repodict.RepoDict()
        self._rpm_probfilter = set([rpm.RPMPROB_FILTER_OLDPACKAGE])
        self._plugins = dnf.plugin.Plugins()
        self._trans_success = False
        self._trans_install_set = False
        self._tempfile_persistor = None
        #  self._update_security_filters is used by ansible
        self._update_security_filters = []
        self._update_security_options = {}
        self._allow_erasing = False
        self._repo_set_imported_gpg_keys = set()
        self.output = None

    def __enter__(self):
        return self

    def __exit__(self, *exc_args):
        self.close()

    def __del__(self):
        self.close()

    def _add_tempfiles(self, files):
        if self._transaction:
            self._trans_tempfiles.update(files)
        elif self.conf.destdir:
            pass
        else:
            self._tempfiles.update(files)

    def _add_repo_to_sack(self, repo):
        repo.load()
        mdload_flags = dict(load_filelists=True,
                            load_presto=repo.deltarpm,
                            load_updateinfo=True)
        if repo.load_metadata_other:
            mdload_flags["load_other"] = True
        try:
            self._sack.load_repo(repo._repo, build_cache=True, **mdload_flags)
        except hawkey.Exception as e:
            logger.debug(_("loading repo '{}' failure: {}").format(repo.id, e))
            raise dnf.exceptions.RepoError(
                _("Loading repository '{}' has failed").format(repo.id))

    @staticmethod
    def _setup_default_conf():
        conf = dnf.conf.Conf()
        subst = conf.substitutions
        if 'releasever' not in subst:
            subst['releasever'] = \
                dnf.rpm.detect_releasever(conf.installroot)
        return conf

    def _setup_modular_excludes(self):
        hot_fix_repos = [i.id for i in self.repos.iter_enabled() if i.module_hotfixes]
        try:
            solver_errors = self.sack.filter_modules(
                self._moduleContainer, hot_fix_repos, self.conf.installroot,
                self.conf.module_platform_id, update_only=False, debugsolver=self.conf.debug_solver,
                module_obsoletes=self.conf.module_obsoletes)
        except hawkey.Exception as e:
            raise dnf.exceptions.Error(ucd(e))
        if solver_errors:
            logger.warning(
                dnf.module.module_base.format_modular_solver_errors(solver_errors[0]))

    def _setup_excludes_includes(self, only_main=False):
        disabled = set(self.conf.disable_excludes)
        if 'all' in disabled and WITH_MODULES:
            self._setup_modular_excludes()
            return
        repo_includes = []
        repo_excludes = []
        # first evaluate repo specific includes/excludes
        if not only_main:
            for r in self.repos.iter_enabled():
                if r.id in disabled:
                    continue
                if len(r.includepkgs) > 0:
                    incl_query = self.sack.query().filterm(empty=True)
                    for incl in set(r.includepkgs):
                        subj = dnf.subject.Subject(incl)
                        incl_query = incl_query.union(subj.get_best_query(
                            self.sack, with_nevra=True, with_provides=False, with_filenames=False))
                    incl_query.filterm(reponame=r.id)
                    repo_includes.append((incl_query.apply(), r.id))
                excl_query = self.sack.query().filterm(empty=True)
                for excl in set(r.excludepkgs):
                    subj = dnf.subject.Subject(excl)
                    excl_query = excl_query.union(subj.get_best_query(
                        self.sack, with_nevra=True, with_provides=False, with_filenames=False))
                excl_query.filterm(reponame=r.id)
                if excl_query:
                    repo_excludes.append((excl_query, r.id))

        # then main (global) includes/excludes because they can mask
        # repo specific settings
        if 'main' not in disabled:
            include_query = self.sack.query().filterm(empty=True)
            if len(self.conf.includepkgs) > 0:
                for incl in set(self.conf.includepkgs):
                    subj = dnf.subject.Subject(incl)
                    include_query = include_query.union(subj.get_best_query(
                        self.sack, with_nevra=True, with_provides=False, with_filenames=False))
            exclude_query = self.sack.query().filterm(empty=True)
            for excl in set(self.conf.excludepkgs):
                subj = dnf.subject.Subject(excl)
                exclude_query = exclude_query.union(subj.get_best_query(
                    self.sack, with_nevra=True, with_provides=False, with_filenames=False))
            if len(self.conf.includepkgs) > 0:
                self.sack.add_includes(include_query)
                self.sack.set_use_includes(True)
            if exclude_query:
                self.sack.add_excludes(exclude_query)

        if repo_includes:
            for query, repoid in repo_includes:
                self.sack.add_includes(query)
                self.sack.set_use_includes(True, repoid)

        if repo_excludes:
            for query, repoid in repo_excludes:
                self.sack.add_excludes(query)

        if not only_main and WITH_MODULES:
            self._setup_modular_excludes()

    def _store_persistent_data(self):
        if self._repo_persistor and not self.conf.cacheonly:
            expired = [r.id for r in self.repos.iter_enabled()
                       if (r.metadata and r._repo.isExpired())]
            self._repo_persistor.expired_to_add.update(expired)
            self._repo_persistor.save()

        if self._tempfile_persistor:
            self._tempfile_persistor.save()

    @property
    def comps(self):
        # :api
        if self._comps is None:
            self.read_comps(arch_filter=True)
        return self._comps

    @property
    def conf(self):
        # :api
        return self._conf

    @property
    def repos(self):
        # :api
        return self._repos

    @repos.deleter
    def repos(self):
        # :api
        self._repos = None

    @property
    @dnf.util.lazyattr("_priv_rpmconn")
    def _rpmconn(self):
        return dnf.rpm.connection.RpmConnection(self.conf.installroot)

    @property
    def sack(self):
        # :api
        return self._sack

    @property
    def _moduleContainer(self):
        if self.sack is None:
            raise dnf.exceptions.Error("Sack was not initialized")
        if self.sack._moduleContainer is None:
            self.sack._moduleContainer = libdnf.module.ModulePackageContainer(
                False, self.conf.installroot, self.conf.substitutions["arch"], self.conf.persistdir)
        return self.sack._moduleContainer

    @property
    def transaction(self):
        # :api
        return self._transaction

    @transaction.setter
    def transaction(self, value):
        # :api
        if self._transaction:
            raise ValueError('transaction already set')
        self._transaction = value

    def _activate_persistor(self):
        self._repo_persistor = dnf.persistor.RepoPersistor(self.conf.cachedir)

    def init_plugins(self, disabled_glob=(), enable_plugins=(), cli=None):
        # :api
        """Load plugins and run their __init__()."""
        if self.conf.plugins:
            self._plugins._load(self.conf, disabled_glob, enable_plugins)
        self._plugins._run_init(self, cli)

    def pre_configure_plugins(self):
        # :api
        """Run plugins pre_configure() method."""
        self._plugins._run_pre_config()

    def configure_plugins(self):
        # :api
        """Run plugins configure() method."""
        self._plugins._run_config()

    def unload_plugins(self):
        # :api
        """Run plugins unload() method."""
        self._plugins._unload()

    def update_cache(self, timer=False):
        # :api

        period = self.conf.metadata_timer_sync
        if self._repo_persistor is None:
            self._activate_persistor()
        persistor = self._repo_persistor
        if timer:
            if dnf.util.on_metered_connection():
                msg = _('Metadata timer caching disabled '
                        'when running on metered connection.')
                logger.info(msg)
                return False
            if dnf.util.on_ac_power() is False:
                msg = _('Metadata timer caching disabled '
                        'when running on a battery.')
                logger.info(msg)
                return False
            if period <= 0:
                msg = _('Metadata timer caching disabled.')
                logger.info(msg)
                return False
            since_last_makecache = persistor.since_last_makecache()
            if since_last_makecache is not None and since_last_makecache < period:
                logger.info(_('Metadata cache refreshed recently.'))
                return False
            for repo in self.repos.values():
                repo._repo.setMaxMirrorTries(1)

        if not self.repos._any_enabled():
            logger.info(_('There are no enabled repositories in "{}".').format(
                '", "'.join(self.conf.reposdir)))
            return False

        for r in self.repos.iter_enabled():
            (is_cache, expires_in) = r._metadata_expire_in()
            if expires_in is None:
                logger.info(_('%s: will never be expired and will not be refreshed.'), r.id)
            elif not is_cache or expires_in <= 0:
                logger.debug(_('%s: has expired and will be refreshed.'), r.id)
                r._repo.expire()
            elif timer and expires_in < period:
                # expires within the checking period:
                msg = _("%s: metadata will expire after %d seconds and will be refreshed now")
                logger.debug(msg, r.id, expires_in)
                r._repo.expire()
            else:
                logger.debug(_('%s: will expire after %d seconds.'), r.id,
                             expires_in)

        if timer:
            persistor.reset_last_makecache = True
        self.fill_sack(load_system_repo=False, load_available_repos=True)  # performs the md sync
        logger.info(_('Metadata cache created.'))
        return True

    def fill_sack(self, load_system_repo=True, load_available_repos=True):
        # :api
        """Prepare the Sack and the Goal objects. """
        timer = dnf.logging.Timer('sack setup')
        self.reset(sack=True, goal=True)
        self._sack = dnf.sack._build_sack(self)
        lock = dnf.lock.build_metadata_lock(self.conf.cachedir, self.conf.exit_on_lock)
        with lock:
            if load_system_repo is not False:
                try:
                    # FIXME: If build_cache=True, @System.solv is incorrectly updated in install-
                    # remove loops
                    self._sack.load_system_repo(build_cache=False)
                except IOError:
                    if load_system_repo != 'auto':
                        raise
            if load_available_repos:
                error_repos = []
                mts = 0
                age = time.time()
                # Iterate over installed GPG keys and check their validity using DNSSEC
                if self.conf.gpgkey_dns_verification:
                    dnf.dnssec.RpmImportedKeys.check_imported_keys_validity()
                for r in self.repos.iter_enabled():
                    try:
                        self._add_repo_to_sack(r)
                        if r._repo.getTimestamp() > mts:
                            mts = r._repo.getTimestamp()
                        if r._repo.getAge() < age:
                            age = r._repo.getAge()
                        logger.debug(_("%s: using metadata from %s."), r.id,
                                     dnf.util.normalize_time(
                                         r._repo.getMaxTimestamp()))
                    except dnf.exceptions.RepoError as e:
                        r._repo.expire()
                        if r.skip_if_unavailable is False:
                            raise
                        logger.warning("Error: %s", e)
                        error_repos.append(r.id)
                        r.disable()
                if error_repos:
                    logger.warning(
                        _("Ignoring repositories: %s"), ', '.join(error_repos))
                if self.repos._any_enabled():
                    if age != 0 and mts != 0:
                        logger.info(_("Last metadata expiration check: %s ago on %s."),
                                    datetime.timedelta(seconds=int(age)),
                                    dnf.util.normalize_time(mts))
            else:
                self.repos.all().disable()
        conf = self.conf
        self._sack._configure(conf.installonlypkgs, conf.installonly_limit, conf.allow_vendor_change)
        self._setup_excludes_includes()
        timer()
        self._goal = dnf.goal.Goal(self._sack)
        self._goal.protect_running_kernel = conf.protect_running_kernel
        self._plugins.run_sack()
        return self._sack

    def fill_sack_from_repos_in_cache(self, load_system_repo=True):
        # :api
        """
        Prepare Sack and Goal objects and also load all enabled repositories from cache only,
        it doesn't download anything and it doesn't check if metadata are expired.
        If there is not enough metadata present (repond.xml or both primary.xml and solv file
        are missing) given repo is either skipped or it throws a RepoError exception depending
        on skip_if_unavailable configuration.
        """
        timer = dnf.logging.Timer('sack setup')
        self.reset(sack=True, goal=True)
        self._sack = dnf.sack._build_sack(self)
        lock = dnf.lock.build_metadata_lock(self.conf.cachedir, self.conf.exit_on_lock)
        with lock:
            if load_system_repo is not False:
                try:
                    # FIXME: If build_cache=True, @System.solv is incorrectly updated in install-
                    # remove loops
                    self._sack.load_system_repo(build_cache=False)
                except IOError:
                    if load_system_repo != 'auto':
                        raise

            error_repos = []
            # Iterate over installed GPG keys and check their validity using DNSSEC
            if self.conf.gpgkey_dns_verification:
                dnf.dnssec.RpmImportedKeys.check_imported_keys_validity()
            for repo in self.repos.iter_enabled():
                try:
                    repo._repo.loadCache(throwExcept=True, ignoreMissing=True)
                    mdload_flags = dict(load_filelists=True,
                                        load_presto=repo.deltarpm,
                                        load_updateinfo=True)
                    if repo.load_metadata_other:
                        mdload_flags["load_other"] = True

                    self._sack.load_repo(repo._repo, **mdload_flags)

                    logger.debug(_("%s: using metadata from %s."), repo.id,
                                 dnf.util.normalize_time(
                                     repo._repo.getMaxTimestamp()))
                except (RuntimeError, hawkey.Exception) as e:
                    if repo.skip_if_unavailable is False:
                        raise dnf.exceptions.RepoError(
                            _("loading repo '{}' failure: {}").format(repo.id, e))
                    else:
                        logger.debug(_("loading repo '{}' failure: {}").format(repo.id, e))
                    error_repos.append(repo.id)
                    repo.disable()
            if error_repos:
                logger.warning(
                    _("Ignoring repositories: %s"), ', '.join(error_repos))

        conf = self.conf
        self._sack._configure(conf.installonlypkgs, conf.installonly_limit, conf.allow_vendor_change)
        self._setup_excludes_includes()
        timer()
        self._goal = dnf.goal.Goal(self._sack)
        self._goal.protect_running_kernel = conf.protect_running_kernel
        self._plugins.run_sack()
        return self._sack

    def _finalize_base(self):
        self._tempfile_persistor = dnf.persistor.TempfilePersistor(
            self.conf.cachedir)

        if not self.conf.keepcache:
            self._clean_packages(self._tempfiles)
            if self._trans_success:
                self._trans_tempfiles.update(
                    self._tempfile_persistor.get_saved_tempfiles())
                self._tempfile_persistor.empty()
                if self._trans_install_set:
                    self._clean_packages(self._trans_tempfiles)
            else:
                self._tempfile_persistor.tempfiles_to_add.update(
                    self._trans_tempfiles)

        if self._tempfile_persistor.tempfiles_to_add:
            logger.info(_("The downloaded packages were saved in cache "
                          "until the next successful transaction."))
            logger.info(_("You can remove cached packages by executing "
                          "'%s'."), "{prog} clean packages".format(prog=dnf.util.MAIN_PROG))

        # Do not trigger the lazy creation:
        if self._history is not None:
            self.history.close()
        self._store_persistent_data()
        self._closeRpmDB()
        self._trans_success = False

    def close(self):
        # :api
        """Close all potential handles and clean cache.

        Typically the handles are to data sources and sinks.

        """

        if self._closed:
            return
        logger.log(dnf.logging.DDEBUG, 'Cleaning up.')
        self._closed = True
        self._finalize_base()
        self.reset(sack=True, repos=True, goal=True)
        self._plugins = None

    def read_all_repos(self, opts=None):
        # :api
        """Read repositories from the main conf file and from .repo files."""

        reader = dnf.conf.read.RepoReader(self.conf, opts)
        for repo in reader:
            try:
                self.repos.add(repo)
            except dnf.exceptions.ConfigError as e:
                logger.warning(e)

    def reset(self, sack=False, repos=False, goal=False):
        # :api
        """Make the Base object forget about various things."""
        if sack:
            self._sack = None
        if repos:
            self._repos = dnf.repodict.RepoDict()
        if goal:
            self._goal = None
            if self._sack is not None:
                self._goal = dnf.goal.Goal(self._sack)
                self._goal.protect_running_kernel = self.conf.protect_running_kernel
            if self._sack and self._moduleContainer:
                # sack must be set to enable operations on moduleContainer
                self._moduleContainer.rollback()
            if self._history is not None:
                self.history.close()
            self._comps_trans = dnf.comps.TransactionBunch()
            self._transaction = None
        self._update_security_filters = []
        if sack and goal:
            # We've just done this, above:
            #
            #      _sack                     _goal
            #         |                        |
            #    -- [CUT] --              -- [CUT] --
            #         |                        |
            #         v                |       v
            #    +----------------+   [C]  +-------------+
            #    | DnfSack object | <-[U]- | Goal object |
            #    +----------------+   [T]  +-------------+
            #      |^    |^    |^      |
            #      ||    ||    ||
            #      ||    ||    ||         |
            #   +--||----||----||---+    [C]
            #   |  v|    v|    v|   | <--[U]-- _transaction
            #   | Pkg1  Pkg2  PkgN  |    [T]
            #   |                   |     |
            #   | Transaction oject |
            #   +-------------------+
            #
            # At this point, the DnfSack object would be released only
            # eventually, by Python's generational garbage collector, due to the
            # cyclic references DnfSack<->Pkg1 ... DnfSack<->PkgN.
            #
            # The delayed release is a problem: the DnfSack object may
            # (indirectly) own "page file" file descriptors in libsolv, via
            # libdnf. For example,
            #
            #   sack->priv->pool->repos[1]->repodata[1]->store.pagefd = 7
            #   sack->priv->pool->repos[1]->repodata[2]->store.pagefd = 8
            #
            # These file descriptors are closed when the DnfSack object is
            # eventually released, that is, when dnf_sack_finalize() (in libdnf)
            # calls pool_free() (in libsolv).
            #
            # We need that to happen right now, as callers may want to unmount
            # the filesystems which those file descriptors refer to immediately
            # after reset() returns. Therefore, force a garbage collection here.
            gc.collect()

    def _closeRpmDB(self):
        """Closes down the instances of rpmdb that could be open."""
        del self._ts

    _TS_FLAGS_TO_RPM = {'noscripts': rpm.RPMTRANS_FLAG_NOSCRIPTS,
                        'notriggers': rpm.RPMTRANS_FLAG_NOTRIGGERS,
                        'nodocs': rpm.RPMTRANS_FLAG_NODOCS,
                        'test': rpm.RPMTRANS_FLAG_TEST,
                        'justdb': rpm.RPMTRANS_FLAG_JUSTDB,
                        'nocontexts': rpm.RPMTRANS_FLAG_NOCONTEXTS,
                        'nocrypto': rpm.RPMTRANS_FLAG_NOFILEDIGEST}
    if hasattr(rpm, 'RPMTRANS_FLAG_NOCAPS'):
        # Introduced in rpm-4.14
        _TS_FLAGS_TO_RPM['nocaps'] = rpm.RPMTRANS_FLAG_NOCAPS

    _TS_VSFLAGS_TO_RPM = {'nocrypto': rpm._RPMVSF_NOSIGNATURES |
                          rpm._RPMVSF_NODIGESTS}

    @property
    def goal(self):
        return self._goal

    @property
    def _ts(self):
        """Set up the RPM transaction set that will be used
           for all the work."""
        if self._priv_ts is not None:
            return self._priv_ts
        self._priv_ts = dnf.rpm.transaction.TransactionWrapper(
            self.conf.installroot)
        self._priv_ts.setFlags(0)  # reset everything.
        for flag in self.conf.tsflags:
            rpm_flag = self._TS_FLAGS_TO_RPM.get(flag)
            if rpm_flag is None:
                logger.critical(_('Invalid tsflag in config file: %s'), flag)
                continue
            self._priv_ts.addTsFlag(rpm_flag)
            vs_flag = self._TS_VSFLAGS_TO_RPM.get(flag)
            if vs_flag is not None:
                self._priv_ts.pushVSFlags(vs_flag)

        if not self.conf.diskspacecheck:
            self._rpm_probfilter.add(rpm.RPMPROB_FILTER_DISKSPACE)

        if self.conf.ignorearch:
            self._rpm_probfilter.add(rpm.RPMPROB_FILTER_IGNOREARCH)

        probfilter = functools.reduce(operator.or_, self._rpm_probfilter, 0)
        self._priv_ts.setProbFilter(probfilter)
        return self._priv_ts

    @_ts.deleter
    def _ts(self):
        """Releases the RPM transaction set. """
        if self._priv_ts is None:
            return
        self._priv_ts.close()
        del self._priv_ts
        self._priv_ts = None

    def read_comps(self, arch_filter=False):
        # :api
        """Create the groups object to access the comps metadata."""
        timer = dnf.logging.Timer('loading comps')
        self._comps = dnf.comps.Comps()

        logger.log(dnf.logging.DDEBUG, 'Getting group metadata')
        for repo in self.repos.iter_enabled():
            if not repo.enablegroups:
                continue
            if not repo.metadata:
                continue
            comps_fn = repo._repo.getCompsFn()
            if not comps_fn:
                continue

            logger.log(dnf.logging.DDEBUG,
                       'Adding group file from repository: %s', repo.id)
            if repo._repo.getSyncStrategy() == dnf.repo.SYNC_ONLY_CACHE:
                decompressed = misc.calculate_repo_gen_dest(comps_fn,
                                                            'groups.xml')
                if not os.path.exists(decompressed):
                    # root privileges are needed for comps decompression
                    continue
            else:
                decompressed = misc.repo_gen_decompress(comps_fn, 'groups.xml')

            try:
                self._comps._add_from_xml_filename(decompressed)
            except dnf.exceptions.CompsError as e:
                msg = _('Failed to add groups file for repository: %s - %s')
                logger.critical(msg, repo.id, e)

        if arch_filter:
            self._comps._i.arch_filter(
                [self._conf.substitutions['basearch']])
        timer()
        return self._comps

    def _getHistory(self):
        """auto create the history object that to access/append the transaction
           history information. """
        if self._history is None:
            releasever = self.conf.releasever
            self._history = SwdbInterface(self.conf.persistdir, releasever=releasever)
        return self._history

    history = property(fget=lambda self: self._getHistory(),
                       fset=lambda self, value: setattr(
                           self, "_history", value),
                       fdel=lambda self: setattr(self, "_history", None),
                       doc="DNF SWDB Interface Object")

    def _goal2transaction(self, goal):
        ts = self.history.rpm
        all_obsoleted = set(goal.list_obsoleted())
        installonly_query = self._get_installonly_query()
        installonly_query.apply()
        installonly_query_installed = installonly_query.installed().apply()

        for pkg in goal.list_downgrades():
            obs = goal.obsoleted_by_package(pkg)
            downgraded = obs[0]
            self._ds_callback.pkg_added(downgraded, 'dd')
            self._ds_callback.pkg_added(pkg, 'd')
            ts.add_downgrade(pkg, downgraded, obs[1:])
        for pkg in goal.list_reinstalls():
            self._ds_callback.pkg_added(pkg, 'r')
            obs = goal.obsoleted_by_package(pkg)
            nevra_pkg = str(pkg)
            # reinstall could obsolete multiple packages with the same NEVRA or different NEVRA
            # Set the package with the same NEVRA as reinstalled
            obsoletes = []
            for obs_pkg in obs:
                if str(obs_pkg) == nevra_pkg:
                    obsoletes.insert(0, obs_pkg)
                else:
                    obsoletes.append(obs_pkg)
            reinstalled = obsoletes[0]
            ts.add_reinstall(pkg, reinstalled, obsoletes[1:])
        for pkg in goal.list_installs():
            self._ds_callback.pkg_added(pkg, 'i')
            obs = goal.obsoleted_by_package(pkg)
            # Skip obsoleted packages that are not part of all_obsoleted,
            # they are handled as upgrades/downgrades.
            # Also keep RPMs with the same name - they're not always in all_obsoleted.
            obs = [i for i in obs if i in all_obsoleted or i.name == pkg.name]

            reason = goal.get_reason(pkg)

            #  Inherit reason if package is installonly an package with same name is installed
            #  Use the same logic like upgrade
            #  Upgrade of installonly packages result in install or install and remove step
            if pkg in installonly_query and installonly_query_installed.filter(name=pkg.name):
                reason = ts.get_reason(pkg)

            # inherit the best reason from obsoleted packages
            for obsolete in obs:
                reason_obsolete = ts.get_reason(obsolete)
                if libdnf.transaction.TransactionItemReasonCompare(reason, reason_obsolete) == -1:
                    reason = reason_obsolete

            ts.add_install(pkg, obs, reason)
            cb = lambda pkg: self._ds_callback.pkg_added(pkg, 'od')
            dnf.util.mapall(cb, obs)
        for pkg in goal.list_upgrades():
            obs = goal.obsoleted_by_package(pkg)
            upgraded = None
            for i in obs:
                # try to find a package with matching name as the upgrade
                if i.name == pkg.name:
                    upgraded = i
                    break
            if upgraded is None:
                # no matching name -> pick the first one
                upgraded = obs.pop(0)
            else:
                obs.remove(upgraded)
            # Skip obsoleted packages that are not part of all_obsoleted,
            # they are handled as upgrades/downgrades.
            # Also keep RPMs with the same name - they're not always in all_obsoleted.
            obs = [i for i in obs if i in all_obsoleted or i.name == pkg.name]

            cb = lambda pkg: self._ds_callback.pkg_added(pkg, 'od')
            dnf.util.mapall(cb, obs)
            if pkg in installonly_query:
                ts.add_install(pkg, obs)
            else:
                ts.add_upgrade(pkg, upgraded, obs)
                self._ds_callback.pkg_added(upgraded, 'ud')
            self._ds_callback.pkg_added(pkg, 'u')
        erasures = goal.list_erasures()
        if erasures:
            remaining_installed_query = self.sack.query(flags=hawkey.IGNORE_EXCLUDES).installed()
            remaining_installed_query.filterm(pkg__neq=erasures)
            for pkg in erasures:
                if remaining_installed_query.filter(name=pkg.name):
                    remaining = remaining_installed_query[0]
                    ts.get_reason(remaining)
                    self.history.set_reason(remaining, ts.get_reason(remaining))
                self._ds_callback.pkg_added(pkg, 'e')
                reason = goal.get_reason(pkg)
                ts.add_erase(pkg, reason)
        return ts

    def _query_matches_installed(self, q):
        """ See what packages in the query match packages (also in older
            versions, but always same architecture) that are already installed.

            Unlike in case of _sltr_matches_installed(), it is practical here
            to know even the packages in the original query that can still be
            installed.
        """
        inst = q.installed()
        inst_per_arch = inst._na_dict()
        avail_per_arch = q.available()._na_dict()
        avail_l = []
        inst_l = []
        for na in avail_per_arch:
            if na in inst_per_arch:
                inst_l.append(inst_per_arch[na][0])
            else:
                avail_l.append(avail_per_arch[na])
        return inst_l, avail_l

    def _sltr_matches_installed(self, sltr):
        """ See if sltr matches a patches that is (in older version or different
            architecture perhaps) already installed.
        """
        inst = self.sack.query().installed().filterm(pkg=sltr.matches())
        return list(inst)

    def iter_userinstalled(self):
        """Get iterator over the packages installed by the user."""
        return (pkg for pkg in self.sack.query().installed()
                if self.history.user_installed(pkg))

    def _run_hawkey_goal(self, goal, allow_erasing):
        ret = goal.run(
            allow_uninstall=allow_erasing, force_best=self.conf.best,
            ignore_weak_deps=(not self.conf.install_weak_deps))
        if self.conf.debug_solver:
            goal.write_debugdata('./debugdata/rpms')
        return ret

    def resolve(self, allow_erasing=False):
        # :api
        """Build the transaction set."""
        exc = None
        self._finalize_comps_trans()

        timer = dnf.logging.Timer('depsolve')
        self._ds_callback.start()
        goal = self._goal
        if goal.req_has_erase():
            goal.push_userinstalled(self.sack.query().installed(),
                                    self.history)
        elif not self.conf.upgrade_group_objects_upgrade:
            # exclude packages installed from groups
            # these packages will be marked to installation
            # which could prevent them from upgrade, downgrade
            # to prevent "conflicting job" error it's not applied
            # to "remove" and "reinstall" commands

            solver = self._build_comps_solver()
            solver._exclude_packages_from_installed_groups(self)

        goal.add_protected(self.sack.query().filterm(
            name=self.conf.protected_packages))
        if not self._run_hawkey_goal(goal, allow_erasing):
            if self.conf.debuglevel >= 6:
                goal.log_decisions()
            msg = dnf.util._format_resolve_problems(goal.problem_rules())
            exc = dnf.exceptions.DepsolveError(msg)
        else:
            self._transaction = self._goal2transaction(goal)

        self._ds_callback.end()
        timer()

        got_transaction = self._transaction is not None and \
            len(self._transaction) > 0
        if got_transaction:
            msg = self._transaction._rpm_limitations()
            if msg:
                exc = dnf.exceptions.Error(msg)

        if exc is not None:
            raise exc

        self._plugins.run_resolved()

        # auto-enable module streams based on installed RPMs
        new_pkgs = self._goal.list_installs()
        new_pkgs += self._goal.list_upgrades()
        new_pkgs += self._goal.list_downgrades()
        new_pkgs += self._goal.list_reinstalls()
        self.sack.set_modules_enabled_by_pkgset(self._moduleContainer, new_pkgs)

        return got_transaction

    def do_transaction(self, display=()):
        # :api
        if not isinstance(display, Sequence):
            display = [display]
        display = \
            [dnf.yum.rpmtrans.LoggingTransactionDisplay()] + list(display)

        if not self.transaction:
            # packages are not changed, but comps and modules changes need to be committed
            self._moduleContainer.save()
            self._moduleContainer.updateFailSafeData()
            if self._history and (self._history.group or self._history.env):
                cmdline = None
                if hasattr(self, 'args') and self.args:
                    cmdline = ' '.join(self.args)
                elif hasattr(self, 'cmds') and self.cmds:
                    cmdline = ' '.join(self.cmds)
                old = self.history.last()
                if old is None:
                    rpmdb_version = self.sack._rpmdb_version()
                else:
                    rpmdb_version = old.end_rpmdb_version

                self.history.beg(rpmdb_version, [], [], cmdline)
                self.history.end(rpmdb_version)
            self._plugins.run_pre_transaction()
            self._plugins.run_transaction()
            self._trans_success = True
            return

        tid = None
        logger.info(_('Running transaction check'))
        lock = dnf.lock.build_rpmdb_lock(self.conf.persistdir,
                                         self.conf.exit_on_lock)
        with lock:
            self.transaction._populate_rpm_ts(self._ts)

            msgs = self._run_rpm_check()
            if msgs:
                msg = _('Error: transaction check vs depsolve:')
                logger.error(msg)
                for msg in msgs:
                    logger.error(msg)
                raise dnf.exceptions.TransactionCheckError(msg)

            logger.info(_('Transaction check succeeded.'))

            timer = dnf.logging.Timer('transaction test')
            logger.info(_('Running transaction test'))

            self._ts.order()  # order the transaction
            self._ts.clean()  # release memory not needed beyond this point

            testcb = dnf.yum.rpmtrans.RPMTransaction(self, test=True)
            tserrors = self._ts.test(testcb)

            if len(tserrors) > 0:
                for msg in testcb.messages():
                    logger.critical(_('RPM: {}').format(msg))
                errstring = _('Transaction test error:') + '\n'
                for descr in tserrors:
                    errstring += '  %s\n' % ucd(descr)

                summary = self._trans_error_summary(errstring)
                if summary:
                    errstring += '\n' + summary

                raise dnf.exceptions.Error(errstring)
            del testcb

            logger.info(_('Transaction test succeeded.'))
            #  With RPMTRANS_FLAG_TEST return just before anything is stored permanently
            if self._ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
                return
            timer()

            # save module states on disk right before entering rpm transaction,
            # because we want system in recoverable state if transaction gets interrupted
            self._moduleContainer.save()
            self._moduleContainer.updateFailSafeData()

            # unset the sigquit handler
            timer = dnf.logging.Timer('transaction')
            # setup our rpm ts callback
            cb = dnf.yum.rpmtrans.RPMTransaction(self, displays=display)
            if self.conf.debuglevel < 2:
                for display_ in cb.displays:
                    display_.output = False

            self._plugins.run_pre_transaction()

            logger.info(_('Running transaction'))
            tid = self._run_transaction(cb=cb)
        timer()
        self._plugins.unload_removed_plugins(self.transaction)
        self._plugins.run_transaction()

        # log post transaction summary
        def _pto_callback(action, tsis):
            msgs = []
            for tsi in tsis:
                msgs.append('{}: {}'.format(action, str(tsi)))
            return msgs
        for msg in dnf.util._post_transaction_output(self, self.transaction, _pto_callback):
            logger.debug(msg)

        return tid

    def _trans_error_summary(self, errstring):
        """Parse the error string for 'interesting' errors which can
        be grouped, such as disk space issues.

        :param errstring: the error string
        :return: a string containing a summary of the errors
        """
        summary = ''
        # do disk space report first
        p = re.compile(r'needs (\d+)(K|M)B(?: more space)? on the (\S+) filesystem')
        disk = {}
        for m in p.finditer(errstring):
            size_in_mb = int(m.group(1)) if m.group(2) == 'M' else math.ceil(
                int(m.group(1)) / 1024.0)
            if m.group(3) not in disk:
                disk[m.group(3)] = size_in_mb
            if disk[m.group(3)] < size_in_mb:
                disk[m.group(3)] = size_in_mb

        if disk:
            summary += _('Disk Requirements:') + "\n"
            for k in disk:
                summary += "   " + P_(
                    'At least {0}MB more space needed on the {1} filesystem.',
                    'At least {0}MB more space needed on the {1} filesystem.',
                    disk[k]).format(disk[k], k) + '\n'

        if not summary:
            return None

        summary = _('Error Summary') + '\n-------------\n' + summary

        return summary

    def _record_history(self):
        return self.conf.history_record and \
            not self._ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST)

    def _run_transaction(self, cb):
        """
        Perform the RPM transaction.

        :return: history database transaction ID or None
        """

        tid = None
        if self._record_history():
            using_pkgs_pats = list(self.conf.history_record_packages)
            installed_query = self.sack.query().installed()
            using_pkgs = installed_query.filter(name=using_pkgs_pats).run()
            rpmdbv = self.sack._rpmdb_version()
            lastdbv = self.history.last()
            if lastdbv is not None:
                lastdbv = lastdbv.end_rpmdb_version

            if lastdbv is None or rpmdbv != lastdbv:
                logger.debug(_("RPMDB altered outside of {prog}.").format(
                    prog=dnf.util.MAIN_PROG_UPPER))

            cmdline = None
            if hasattr(self, 'args') and self.args:
                cmdline = ' '.join(self.args)
            elif hasattr(self, 'cmds') and self.cmds:
                cmdline = ' '.join(self.cmds)

            comment = self.conf.comment if self.conf.comment else ""
            tid = self.history.beg(rpmdbv, using_pkgs, [], cmdline, comment)

        if self.conf.reset_nice:
            onice = os.nice(0)
            if onice:
                try:
                    os.nice(-onice)
                except:
                    onice = 0

        logger.log(dnf.logging.DDEBUG, 'RPM transaction start.')
        errors = self._ts.run(cb.callback, '')
        logger.log(dnf.logging.DDEBUG, 'RPM transaction over.')
        # ts.run() exit codes are, hmm, "creative": None means all ok, empty
        # list means some errors happened in the transaction and non-empty
        # list that there were errors preventing the ts from starting...
        if self.conf.reset_nice:
            try:
                os.nice(onice)
            except:
                pass
        dnf.util._sync_rpm_trans_with_swdb(self._ts, self._transaction)

        if errors is None:
            pass
        elif len(errors) == 0:
            # If there is no failing element it means that some "global" error
            # occurred (like rpm failed to obtain the transaction lock). Just pass
            # the rpm logs on to the user and raise an Error.
            # If there are failing elements the problem is related to those
            # elements and the Error is raised later, after saving the failure
            # to the history and printing out the transaction table to user.
            failed = [el for el in self._ts if el.Failed()]
            if not failed:
                for msg in cb.messages():
                    logger.critical(_('RPM: {}').format(msg))
                msg = _('Could not run transaction.')
                raise dnf.exceptions.Error(msg)
        else:
            logger.critical(_("Transaction couldn't start:"))
            for e in errors:
                logger.critical(ucd(e[0]))
            if self._record_history() and not self._ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
                self.history.end(rpmdbv)
            msg = _("Could not run transaction.")
            raise dnf.exceptions.Error(msg)

        for i in ('ts_all_fn', 'ts_done_fn'):
            if hasattr(cb, i):
                fn = getattr(cb, i)
                try:
                    misc.unlink_f(fn)
                except (IOError, OSError):
                    msg = _('Failed to remove transaction file %s')
                    logger.critical(msg, fn)

        # keep install_set status because _verify_transaction will clean it
        self._trans_install_set = bool(self._transaction.install_set)

        # sync up what just happened versus what is in the rpmdb
        if not self._ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
            self._verify_transaction(cb.verify_tsi_package)

        return tid

    def _verify_transaction(self, verify_pkg_cb=None):
        transaction_items = [
            tsi for tsi in self.transaction
            if tsi.action != libdnf.transaction.TransactionItemAction_REASON_CHANGE]
        total = len(transaction_items)

        def display_banner(pkg, count):
            count += 1
            if verify_pkg_cb is not None:
                verify_pkg_cb(pkg, count, total)
            return count

        timer = dnf.logging.Timer('verify transaction')
        count = 0

        rpmdb_sack = dnf.sack.rpmdb_sack(self)

        # mark group packages that are installed on the system as installed in the db
        q = rpmdb_sack.query().installed()
        names = set([i.name for i in q])
        for ti in self.history.group:
            g = ti.getCompsGroupItem()
            for p in g.getPackages():
                if p.getName() in names:
                    p.setInstalled(True)
                    p.save()

        # TODO: installed groups in environments

        # Post-transaction verification is no longer needed,
        # because DNF trusts error codes returned by RPM.
        # Verification banner is displayed to preserve UX.
        # TODO: drop in future DNF
        for tsi in transaction_items:
            count = display_banner(tsi.pkg, count)

        rpmdbv = rpmdb_sack._rpmdb_version()
        self.history.end(rpmdbv)

        timer()
        self._trans_success = True

    def _download_remote_payloads(self, payloads, drpm, progress, callback_total, fail_fast=True):
        lock = dnf.lock.build_download_lock(self.conf.cachedir, self.conf.exit_on_lock)
        with lock:
            beg_download = time.time()
            est_remote_size = sum(pload.download_size for pload in payloads)
            total_drpm = len(
                [payload for payload in payloads if isinstance(payload, dnf.drpm.DeltaPayload)])
            # compatibility part for tools that do not accept total_drpms keyword
            if progress.start.__code__.co_argcount == 4:
                progress.start(len(payloads), est_remote_size, total_drpms=total_drpm)
            else:
                progress.start(len(payloads), est_remote_size)
            errors = dnf.repo._download_payloads(payloads, drpm, fail_fast)

            if errors._irrecoverable():
                raise dnf.exceptions.DownloadError(errors._irrecoverable())

            remote_size = sum(errors._bandwidth_used(pload)
                              for pload in payloads)
            saving = dnf.repo._update_saving((0, 0), payloads,
                                             errors._recoverable)

            retries = self.conf.retries
            forever = retries == 0
            while errors._recoverable and (forever or retries > 0):
                if retries > 0:
                    retries -= 1

                msg = _("Some packages were not downloaded. Retrying.")
                logger.info(msg)

                remaining_pkgs = [pkg for pkg in errors._recoverable]
                payloads = \
                    [dnf.repo._pkg2payload(pkg, progress, dnf.repo.RPMPayload)
                     for pkg in remaining_pkgs]
                est_remote_size = sum(pload.download_size
                                      for pload in payloads)
                progress.start(len(payloads), est_remote_size)
                errors = dnf.repo._download_payloads(payloads, drpm, fail_fast)

                if errors._irrecoverable():
                    raise dnf.exceptions.DownloadError(errors._irrecoverable())

                remote_size += \
                    sum(errors._bandwidth_used(pload) for pload in payloads)
                saving = dnf.repo._update_saving(saving, payloads, {})

            if errors._recoverable:
                msg = dnf.exceptions.DownloadError.errmap2str(
                    errors._recoverable)
                logger.info(msg)

        if callback_total is not None:
            callback_total(remote_size, beg_download)

        (real, full) = saving
        if real != full:
            if real < full:
                msg = _("Delta RPMs reduced %.1f MB of updates to %.1f MB "
                        "(%d.1%% saved)")
            elif real > full:
                msg = _("Failed Delta RPMs increased %.1f MB of updates to %.1f MB "
                        "(%d.1%% wasted)")
            percent = 100 - real / full * 100
            logger.info(msg, full / 1024 ** 2, real / 1024 ** 2, percent)

    def download_packages(self, pkglist, progress=None, callback_total=None):
        # :api
        """Download the packages specified by the given list of packages.

        `pkglist` is a list of packages to download, `progress` is an optional
         DownloadProgress instance, `callback_total` an optional callback to
         output messages about the download operation.

        """
        remote_pkgs, local_pkgs = self._select_remote_pkgs(pkglist)
        if remote_pkgs:
            if progress is None:
                progress = dnf.callback.NullDownloadProgress()
            drpm = dnf.drpm.DeltaInfo(self.sack.query().installed(),
                                      progress, self.conf.deltarpm_percentage)
            self._add_tempfiles([pkg.localPkg() for pkg in remote_pkgs])
            payloads = [dnf.repo._pkg2payload(pkg, progress, drpm.delta_factory,
                                              dnf.repo.RPMPayload)
                        for pkg in remote_pkgs]
            self._download_remote_payloads(payloads, drpm, progress, callback_total)

        if self.conf.destdir:
            for pkg in local_pkgs:
                if pkg.baseurl:
                    location = os.path.join(pkg.get_local_baseurl(),
                                            pkg.location.lstrip("/"))
                else:
                    location = os.path.join(pkg.repo.pkgdir, pkg.location.lstrip("/"))
                shutil.copy(location, self.conf.destdir)

    def add_remote_rpms(self, path_list, strict=True, progress=None):
        # :api
        pkgs = []
        if not path_list:
            return pkgs
        if self._goal.req_length():
            raise dnf.exceptions.Error(
                _("Cannot add local packages, because transaction job already exists"))
        pkgs_error = []
        for path in path_list:
            if not os.path.exists(path) and '://' in path:
                # download remote rpm to a tempfile
                path = dnf.util._urlopen_progress(path, self.conf, progress)
                self._add_tempfiles([path])
            try:
                pkgs.append(self.sack.add_cmdline_package(path))
            except IOError as e:
                logger.warning(e)
                pkgs_error.append(path)
        self._setup_excludes_includes(only_main=True)
        if pkgs_error and strict:
            raise IOError(_("Could not open: {}").format(' '.join(pkgs_error)))
        return pkgs

    def _sig_check_pkg(self, po):
        """Verify the GPG signature of the given package object.

        :param po: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        """
        if po._from_cmdline:
            check = self.conf.localpkg_gpgcheck
            hasgpgkey = 0
        else:
            repo = self.repos[po.repoid]
            check = repo.gpgcheck
            hasgpgkey = not not repo.gpgkey

        if check:
            root = self.conf.installroot
            ts = dnf.rpm.transaction.initReadOnlyTransaction(root)
            sigresult = dnf.rpm.miscutils.checkSig(ts, po.localPkg())
            localfn = os.path.basename(po.localPkg())
            del ts
            if sigresult == 0:
                result = 0
                msg = ''

            elif sigresult == 1:
                if hasgpgkey:
                    result = 1
                else:
                    result = 2
                msg = _('Public key for %s is not installed') % localfn

            elif sigresult == 2:
                result = 2
                msg = _('Problem opening package %s') % localfn

            elif sigresult == 3:
                if hasgpgkey:
                    result = 1
                else:
                    result = 2
                result = 1
                msg = _('Public key for %s is not trusted') % localfn

            elif sigresult == 4:
                result = 2
                msg = _('Package %s is not signed') % localfn

        else:
            result = 0
            msg = ''

        return result, msg

    def package_signature_check(self, pkg):
        # :api
        """Verify the GPG signature of the given package object.

        :param pkg: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        """
        return self._sig_check_pkg(pkg)

    def _clean_packages(self, packages):
        for fn in packages:
            if not os.path.exists(fn):
                continue
            try:
                misc.unlink_f(fn)
            except OSError:
                logger.warning(_('Cannot remove %s'), fn)
                continue
            else:
                logger.log(dnf.logging.DDEBUG,
                           _('%s removed'), fn)

    def _do_package_lists(self, pkgnarrow='all', patterns=None, showdups=None,
                       ignore_case=False, reponame=None):
        """Return a :class:`misc.GenericHolder` containing
        lists of package objects.  The contents of the lists are
        specified in various ways by the arguments.

        :param pkgnarrow: a string specifying which types of packages
           lists to produces, such as updates, installed, available,
           etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param showdups: whether to include duplicate packages in the
           lists
        :param ignore_case: whether to ignore case when searching by
           package names
        :param reponame: limit packages list to the given repository
        :return: a :class:`misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        """
        if showdups is None:
            showdups = self.conf.showdupesfromrepos
        if patterns is None:
            return self._list_pattern(
                pkgnarrow, patterns, showdups, ignore_case, reponame)

        assert not dnf.util.is_string_type(patterns)
        list_fn = functools.partial(
            self._list_pattern, pkgnarrow, showdups=showdups,
            ignore_case=ignore_case, reponame=reponame)
        if patterns is None or len(patterns) == 0:
            return list_fn(None)
        yghs = map(list_fn, patterns)
        return functools.reduce(lambda a, b: a.merge_lists(b), yghs)

    def _list_pattern(self, pkgnarrow, pattern, showdups, ignore_case,
                      reponame=None):
        def is_from_repo(package):
            """Test whether given package originates from the repository."""
            if reponame is None:
                return True
            return self.history.repo(package) == reponame

        def pkgs_from_repo(packages):
            """Filter out the packages which do not originate from the repo."""
            return (package for package in packages if is_from_repo(package))

        def query_for_repo(query):
            """Filter out the packages which do not originate from the repo."""
            if reponame is None:
                return query
            return query.filter(reponame=reponame)

        ygh = misc.GenericHolder(iter=pkgnarrow)

        installed = []
        available = []
        reinstall_available = []
        old_available = []
        updates = []
        obsoletes = []
        obsoletesTuples = []
        recent = []
        extras = []
        autoremove = []

        # do the initial pre-selection
        ic = ignore_case
        q = self.sack.query()
        if pattern is not None:
            subj = dnf.subject.Subject(pattern, ignore_case=ic)
            q = subj.get_best_query(self.sack, with_provides=False)

        # list all packages - those installed and available:
        if pkgnarrow == 'all':
            dinst = {}
            ndinst = {}  # Newest versions by name.arch
            for po in q.installed():
                dinst[po.pkgtup] = po
                if showdups:
                    continue
                key = (po.name, po.arch)
                if key not in ndinst or po > ndinst[key]:
                    ndinst[key] = po
            installed = list(pkgs_from_repo(dinst.values()))

            avail = query_for_repo(q.available())
            if not showdups:
                avail = avail.filterm(latest_per_arch_by_priority=True)
            for pkg in avail:
                if showdups:
                    if pkg.pkgtup in dinst:
                        reinstall_available.append(pkg)
                    else:
                        available.append(pkg)
                else:
                    key = (pkg.name, pkg.arch)
                    if pkg.pkgtup in dinst:
                        reinstall_available.append(pkg)
                    elif key not in ndinst or pkg.evr_gt(ndinst[key]):
                        available.append(pkg)
                    else:
                        old_available.append(pkg)

        # produce the updates list of tuples
        elif pkgnarrow == 'upgrades':
            updates = query_for_repo(q).filterm(upgrades_by_priority=True)
            # reduce a query to security upgrades if they are specified
            updates = self._merge_update_filters(updates, upgrade=True)
            # reduce a query to remove src RPMs
            updates.filterm(arch__neq=['src', 'nosrc'])
            # reduce a query to latest packages
            updates = updates.latest().run()

        # installed only
        elif pkgnarrow == 'installed':
            installed = list(pkgs_from_repo(q.installed()))

        # available in a repository
        elif pkgnarrow == 'available':
            if showdups:
                avail = query_for_repo(q).available()
                installed_dict = q.installed()._na_dict()
                for avail_pkg in avail:
                    key = (avail_pkg.name, avail_pkg.arch)
                    installed_pkgs = installed_dict.get(key, [])
                    same_ver = [pkg for pkg in installed_pkgs
                                if pkg.evr == avail_pkg.evr]
                    if len(same_ver) > 0:
                        reinstall_available.append(avail_pkg)
                    else:
                        available.append(avail_pkg)
            else:
                # we will only look at the latest versions of packages:
                available_dict = query_for_repo(
                    q).available().filterm(latest_per_arch_by_priority=True)._na_dict()
                installed_dict = q.installed().latest()._na_dict()
                for (name, arch) in available_dict:
                    avail_pkg = available_dict[(name, arch)][0]
                    inst_pkg = installed_dict.get((name, arch), [None])[0]
                    if not inst_pkg or avail_pkg.evr_gt(inst_pkg):
                        available.append(avail_pkg)
                    elif avail_pkg.evr_eq(inst_pkg):
                        reinstall_available.append(avail_pkg)
                    else:
                        old_available.append(avail_pkg)

        # packages to be removed by autoremove
        elif pkgnarrow == 'autoremove':
            autoremove_q = query_for_repo(q)._unneeded(self.history.swdb)
            autoremove = autoremove_q.run()

        # not in a repo but installed
        elif pkgnarrow == 'extras':
            extras = [pkg for pkg in q.extras() if is_from_repo(pkg)]

        # obsoleting packages (and what they obsolete)
        elif pkgnarrow == 'obsoletes':
            inst = q.installed()
            obsoletes = query_for_repo(
                self.sack.query()).filter(obsoletes_by_priority=inst)
            # reduce a query to security upgrades if they are specified
            obsoletes = self._merge_update_filters(obsoletes, warning=False, upgrade=True)
            # reduce a query to remove src RPMs
            obsoletes.filterm(arch__neq=['src', 'nosrc'])
            obsoletesTuples = []
            for new in obsoletes:
                obsoleted_reldeps = new.obsoletes
                obsoletesTuples.extend(
                    [(new, old) for old in
                     inst.filter(provides=obsoleted_reldeps)])

        # packages recently added to the repositories
        elif pkgnarrow == 'recent':
            avail = q.available()
            if not showdups:
                avail = avail.filterm(latest_per_arch_by_priority=True)
            recent = query_for_repo(avail)._recent(self.conf.recent)

        ygh.installed = installed
        ygh.available = available
        ygh.reinstall_available = reinstall_available
        ygh.old_available = old_available
        ygh.updates = updates
        ygh.obsoletes = obsoletes
        ygh.obsoletesTuples = obsoletesTuples
        ygh.recent = recent
        ygh.extras = extras
        ygh.autoremove = autoremove

        return ygh

    def _add_comps_trans(self, trans):
        self._comps_trans += trans
        return len(trans)

    def _remove_if_unneeded(self, query):
        """
        Mark to remove packages that are not required by any user installed package (reason group
        or user)
        :param query: dnf.query.Query() object
        """
        query = query.installed()
        if not query:
            return

        unneeded_pkgs = query._safe_to_remove(self.history.swdb, debug_solver=False)
        unneeded_pkgs_history = query.filter(
            pkg=[i for i in query if self.history.group.is_removable_pkg(i.name)])
        pkg_with_dependent_pkgs = unneeded_pkgs_history.difference(unneeded_pkgs)

        # mark packages with dependent packages as a dependency to allow removal with dependent
        # package
        for pkg in pkg_with_dependent_pkgs:
            self.history.set_reason(pkg, libdnf.transaction.TransactionItemReason_DEPENDENCY)
        unneeded_pkgs = unneeded_pkgs.intersection(unneeded_pkgs_history)

        remove_packages = query.intersection(unneeded_pkgs)
        if remove_packages:
            for pkg in remove_packages:
                self._goal.erase(pkg, clean_deps=self.conf.clean_requirements_on_remove)

    def _finalize_comps_trans(self):
        trans = self._comps_trans
        basearch = self.conf.substitutions['basearch']

        def trans_upgrade(query, remove_query, comps_pkg):
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=query)
            self._goal.upgrade(select=sltr)
            return remove_query

        def trans_install(query, remove_query, comps_pkg, strict):
            if self.conf.multilib_policy == "all":
                if not comps_pkg.requires:
                    self._install_multiarch(query, strict=strict)
                else:
                    # it installs only one arch for conditional packages
                    installed_query = query.installed().apply()
                    self._report_already_installed(installed_query)
                    sltr = dnf.selector.Selector(self.sack)
                    sltr.set(provides="({} if {})".format(comps_pkg.name, comps_pkg.requires))
                    self._goal.install(select=sltr, optional=not strict)

            else:
                sltr = dnf.selector.Selector(self.sack)
                if comps_pkg.requires:
                    sltr.set(provides="({} if {})".format(comps_pkg.name, comps_pkg.requires))
                else:
                    if self.conf.obsoletes:
                        query = query.union(self.sack.query().filterm(obsoletes=query))
                    sltr.set(pkg=query)
                self._goal.install(select=sltr, optional=not strict)
            return remove_query

        def trans_remove(query, remove_query, comps_pkg):
            remove_query = remove_query.union(query)
            return remove_query

        remove_query = self.sack.query().filterm(empty=True)
        attr_fn = ((trans.install, functools.partial(trans_install, strict=True)),
                   (trans.install_opt, functools.partial(trans_install, strict=False)),
                   (trans.upgrade, trans_upgrade),
                   (trans.remove, trans_remove))

        for (attr, fn) in attr_fn:
            for comps_pkg in attr:
                query_args = {'name': comps_pkg.name}
                if (comps_pkg.basearchonly):
                    query_args.update({'arch': basearch})
                q = self.sack.query().filterm(**query_args).apply()
                q.filterm(arch__neq=["src", "nosrc"])
                if not q:
                    package_string = comps_pkg.name
                    if comps_pkg.basearchonly:
                        package_string += '.' + basearch
                    logger.warning(_('No match for group package "{}"').format(package_string))
                    continue
                remove_query = fn(q, remove_query, comps_pkg)
                self._goal.group_members.add(comps_pkg.name)

        self._remove_if_unneeded(remove_query)

    def _build_comps_solver(self):
        def reason_fn(pkgname):
            q = self.sack.query().installed().filterm(name=pkgname)
            if not q:
                return None
            try:
                return self.history.rpm.get_reason(q[0])
            except AttributeError:
                return libdnf.transaction.TransactionItemReason_UNKNOWN

        return dnf.comps.Solver(self.history, self._comps, reason_fn)

    def environment_install(self, env_id, types, exclude=None, strict=True, exclude_groups=None):
        # :api
        """Installs packages of environment group identified by env_id.
        :param types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        """
        assert dnf.util.is_string_type(env_id)
        solver = self._build_comps_solver()

        if not isinstance(types, int):
            types = libdnf.transaction.listToCompsPackageType(types)

        trans = solver._environment_install(env_id, types, exclude or set(), strict, exclude_groups)
        if not trans:
            return 0
        return self._add_comps_trans(trans)

    def environment_remove(self, env_id):
        # :api
        assert dnf.util.is_string_type(env_id)
        solver = self._build_comps_solver()
        trans = solver._environment_remove(env_id)
        return self._add_comps_trans(trans)

    def group_install(self, grp_id, pkg_types, exclude=None, strict=True):
        # :api
        """Installs packages of selected group
        :param pkg_types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        :param exclude: list of package name glob patterns
            that will be excluded from install set
        :param strict: boolean indicating whether group packages that
            exist but are non-installable due to e.g. dependency
            issues should be skipped (False) or cause transaction to
            fail to resolve (True)
        """
        def _pattern_to_pkgname(pattern):
            if dnf.util.is_glob_pattern(pattern):
                q = self.sack.query().filterm(name__glob=pattern)
                return map(lambda p: p.name, q)
            else:
                return (pattern,)

        assert dnf.util.is_string_type(grp_id)
        exclude_pkgnames = None
        if exclude:
            nested_excludes = [_pattern_to_pkgname(p) for p in exclude]
            exclude_pkgnames = itertools.chain.from_iterable(nested_excludes)

        solver = self._build_comps_solver()

        if not isinstance(pkg_types, int):
            pkg_types = libdnf.transaction.listToCompsPackageType(pkg_types)

        trans = solver._group_install(grp_id, pkg_types, exclude_pkgnames, strict)
        if not trans:
            return 0
        if strict:
            instlog = trans.install
        else:
            instlog = trans.install_opt
        logger.debug(_("Adding packages from group '%s': %s"),
                     grp_id, instlog)
        return self._add_comps_trans(trans)

    def env_group_install(self, patterns, types, strict=True, exclude=None, exclude_groups=None):
        q = CompsQuery(self.comps, self.history, CompsQuery.ENVIRONMENTS | CompsQuery.GROUPS,
                       CompsQuery.AVAILABLE)
        cnt = 0
        done = True
        for pattern in patterns:
            try:
                res = q.get(pattern)
            except dnf.exceptions.CompsError as err:
                logger.error(ucd(err))
                done = False
                continue
            for group_id in res.groups:
                if not exclude_groups or group_id not in exclude_groups:
                    cnt += self.group_install(group_id, types, exclude=exclude, strict=strict)
            for env_id in res.environments:
                cnt += self.environment_install(env_id, types, exclude=exclude, strict=strict,
                                                exclude_groups=exclude_groups)
        if not done and strict:
            raise dnf.exceptions.Error(_('Nothing to do.'))
        return cnt

    def group_remove(self, grp_id):
        # :api
        assert dnf.util.is_string_type(grp_id)
        solver = self._build_comps_solver()
        trans = solver._group_remove(grp_id)
        return self._add_comps_trans(trans)

    def env_group_remove(self, patterns):
        q = CompsQuery(self.comps, self.history,
                       CompsQuery.ENVIRONMENTS | CompsQuery.GROUPS,
                       CompsQuery.INSTALLED)
        try:
            res = q.get(*patterns)
        except dnf.exceptions.CompsError as err:
            logger.error("Warning: %s", ucd(err))
            raise dnf.exceptions.Error(_('No groups marked for removal.'))
        cnt = 0
        for env in res.environments:
            cnt += self.environment_remove(env)
        for grp in res.groups:
            cnt += self.group_remove(grp)
        return cnt

    def env_group_upgrade(self, patterns):
        q = CompsQuery(self.comps, self.history,
                       CompsQuery.GROUPS | CompsQuery.ENVIRONMENTS,
                       CompsQuery.INSTALLED)
        group_upgraded = False
        for pattern in patterns:
            try:
                res = q.get(pattern)
            except dnf.exceptions.CompsError as err:
                logger.error(ucd(err))
                continue
            for env in res.environments:
                try:
                    self.environment_upgrade(env)
                    group_upgraded = True
                except dnf.exceptions.CompsError as err:
                    logger.error(ucd(err))
                    continue
            for grp in res.groups:
                try:
                    self.group_upgrade(grp)
                    group_upgraded = True
                except dnf.exceptions.CompsError as err:
                    logger.error(ucd(err))
                    continue
        if not group_upgraded:
            msg = _('No group marked for upgrade.')
            raise dnf.cli.CliError(msg)

    def environment_upgrade(self, env_id):
        # :api
        assert dnf.util.is_string_type(env_id)
        solver = self._build_comps_solver()
        trans = solver._environment_upgrade(env_id)
        return self._add_comps_trans(trans)

    def group_upgrade(self, grp_id):
        # :api
        assert dnf.util.is_string_type(grp_id)
        solver = self._build_comps_solver()
        trans = solver._group_upgrade(grp_id)
        return self._add_comps_trans(trans)

    def _gpg_key_check(self):
        """Checks for the presence of GPG keys in the rpmdb.

        :return: 0 if there are no GPG keys in the rpmdb, and 1 if
           there are keys
        """
        gpgkeyschecked = self.conf.cachedir + '/.gpgkeyschecked.yum'
        if os.path.exists(gpgkeyschecked):
            return 1

        installroot = self.conf.installroot
        myts = dnf.rpm.transaction.initReadOnlyTransaction(root=installroot)
        myts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS))
        idx = myts.dbMatch('name', 'gpg-pubkey')
        keys = len(idx)
        del idx
        del myts

        if keys == 0:
            return 0
        else:
            mydir = os.path.dirname(gpgkeyschecked)
            if not os.path.exists(mydir):
                os.makedirs(mydir)

            fo = open(gpgkeyschecked, 'w')
            fo.close()
            del fo
            return 1

    def _install_multiarch(self, query, reponame=None, strict=True):
        already_inst, available = self._query_matches_installed(query)
        self._report_already_installed(already_inst)
        for packages in available:
            sltr = dnf.selector.Selector(self.sack)
            q = self.sack.query().filterm(pkg=packages)
            if self.conf.obsoletes:
                q = q.union(self.sack.query().filterm(obsoletes=q))
            sltr = sltr.set(pkg=q)
            if reponame is not None:
                sltr = sltr.set(reponame=reponame)
            self._goal.install(select=sltr, optional=(not strict))
        return len(available)

    def _categorize_specs(self, install, exclude):
        """
        Categorize :param install and :param exclude list into two groups each (packages and groups)

        :param install: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :param exclude: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :return: categorized install and exclude specs (stored in argparse.Namespace class)

        To access packages use: specs.pkg_specs,
        to access groups use: specs.grp_specs
        """
        install_specs = argparse.Namespace()
        exclude_specs = argparse.Namespace()
        _parse_specs(install_specs, install)
        _parse_specs(exclude_specs, exclude)

        return install_specs, exclude_specs

    def _exclude_package_specs(self, exclude_specs):
        glob_excludes = [exclude for exclude in exclude_specs.pkg_specs
                         if dnf.util.is_glob_pattern(exclude)]
        excludes = [exclude for exclude in exclude_specs.pkg_specs
                    if exclude not in glob_excludes]

        exclude_query = self.sack.query().filter(name=excludes)
        glob_exclude_query = self.sack.query().filter(name__glob=glob_excludes)

        self.sack.add_excludes(exclude_query)
        self.sack.add_excludes(glob_exclude_query)

    def _expand_groups(self, group_specs):
        groups = set()
        q = CompsQuery(self.comps, self.history,
                       CompsQuery.ENVIRONMENTS | CompsQuery.GROUPS,
                       CompsQuery.AVAILABLE | CompsQuery.INSTALLED)

        for pattern in group_specs:
            try:
                res = q.get(pattern)
            except dnf.exceptions.CompsError as err:
                logger.error("Warning: Module or %s", ucd(err))
                continue

            groups.update(res.groups)
            groups.update(res.environments)

            for environment_id in res.environments:
                environment = self.comps._environment_by_id(environment_id)
                for group in environment.groups_iter():
                    groups.add(group.id)

        return list(groups)

    def _install_groups(self, group_specs, excludes, skipped, strict=True):
        for group_spec in group_specs:
            try:
                types = self.conf.group_package_types

                if '/' in group_spec:
                    split = group_spec.split('/')
                    group_spec = split[0]
                    types = split[1].split(',')

                self.env_group_install([group_spec], types, strict, excludes.pkg_specs,
                                       excludes.grp_specs)
            except dnf.exceptions.Error:
                skipped.append("@" + group_spec)

    def install_specs(self, install, exclude=None, reponame=None, strict=True, forms=None):
        # :api
        if exclude is None:
            exclude = []
        no_match_group_specs = []
        error_group_specs = []
        no_match_pkg_specs = []
        error_pkg_specs = []
        install_specs, exclude_specs = self._categorize_specs(install, exclude)

        self._exclude_package_specs(exclude_specs)
        for spec in install_specs.pkg_specs:
            try:
                self.install(spec, reponame=reponame, strict=strict, forms=forms)
            except dnf.exceptions.MarkingError as e:
                logger.error(str(e))
                no_match_pkg_specs.append(spec)
        no_match_module_specs = []
        module_depsolv_errors = ()
        if WITH_MODULES and install_specs.grp_specs:
            try:
                module_base = dnf.module.module_base.ModuleBase(self)
                module_base.install(install_specs.grp_specs, strict)
            except dnf.exceptions.MarkingErrors as e:
                if e.no_match_group_specs:
                    for e_spec in e.no_match_group_specs:
                        no_match_module_specs.append(e_spec)
                if e.error_group_specs:
                    for e_spec in e.error_group_specs:
                        error_group_specs.append("@" + e_spec)
                module_depsolv_errors = e.module_depsolv_errors

        else:
            no_match_module_specs = install_specs.grp_specs

        if no_match_module_specs:
            exclude_specs.grp_specs = self._expand_groups(exclude_specs.grp_specs)
            self._install_groups(no_match_module_specs, exclude_specs, no_match_group_specs, strict)

        if no_match_group_specs or error_group_specs or no_match_pkg_specs or error_pkg_specs \
                or module_depsolv_errors:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_group_specs,
                                               error_group_specs=error_group_specs,
                                               no_match_pkg_specs=no_match_pkg_specs,
                                               error_pkg_specs=error_pkg_specs,
                                               module_depsolv_errors=module_depsolv_errors)

    def install(self, pkg_spec, reponame=None, strict=True, forms=None):
        # :api
        """Mark package(s) given by pkg_spec and reponame for installation."""

        subj = dnf.subject.Subject(pkg_spec)
        solution = subj.get_best_solution(self.sack, forms=forms, with_src=False)

        if self.conf.multilib_policy == "all" or subj._is_arch_specified(solution):
            q = solution['query']
            if reponame is not None:
                q.filterm(reponame=reponame)
            if not q:
                self._raise_package_not_found_error(pkg_spec, forms, reponame)
            return self._install_multiarch(q, reponame=reponame, strict=strict)

        elif self.conf.multilib_policy == "best":
            sltrs = subj._get_best_selectors(self,
                                             forms=forms,
                                             obsoletes=self.conf.obsoletes,
                                             reponame=reponame,
                                             reports=True,
                                             solution=solution)
            if not sltrs:
                self._raise_package_not_found_error(pkg_spec, forms, reponame)

            for sltr in sltrs:
                self._goal.install(select=sltr, optional=(not strict))
            return 1
        return 0

    def package_downgrade(self, pkg, strict=False):
        # :api
        if pkg._from_system:
            msg = 'downgrade_package() for an installed package.'
            raise NotImplementedError(msg)

        q = self.sack.query().installed().filterm(name=pkg.name, arch=[pkg.arch, "noarch"])
        if not q:
            msg = _("Package %s not installed, cannot downgrade it.")
            logger.warning(msg, pkg.name)
            raise dnf.exceptions.MarkingError(_('No match for argument: %s') % pkg.location, pkg.name)
        elif sorted(q)[0] > pkg:
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=[pkg])
            self._goal.install(select=sltr, optional=(not strict))
            return 1
        else:
            msg = _("Package %s of lower version already installed, "
                    "cannot downgrade it.")
            logger.warning(msg, pkg.name)
            return 0

    def package_install(self, pkg, strict=True):
        # :api
        q = self.sack.query()._nevra(pkg.name, pkg.evr, pkg.arch)
        already_inst, available = self._query_matches_installed(q)
        if pkg in already_inst:
            self._report_already_installed([pkg])
        elif pkg not in itertools.chain.from_iterable(available):
            raise dnf.exceptions.PackageNotFoundError(_('No match for argument: %s'), pkg.location)
        else:
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=[pkg])
            self._goal.install(select=sltr, optional=(not strict))
        return 1

    def package_reinstall(self, pkg):
        if self.sack.query().installed().filterm(name=pkg.name, evr=pkg.evr, arch=pkg.arch):
            self._goal.install(pkg)
            return 1
        msg = _("Package %s not installed, cannot reinstall it.")
        logger.warning(msg, str(pkg))
        raise dnf.exceptions.MarkingError(_('No match for argument: %s') % pkg.location, pkg.name)

    def package_remove(self, pkg):
        self._goal.erase(pkg)
        return 1

    def package_upgrade(self, pkg):
        # :api
        if pkg._from_system:
            msg = 'upgrade_package() for an installed package.'
            raise NotImplementedError(msg)

        if pkg.arch == 'src':
            msg = _("File %s is a source package and cannot be updated, ignoring.")
            logger.info(msg, pkg.location)
            return 0
        installed = self.sack.query().installed().apply()
        if self.conf.obsoletes and self.sack.query().filterm(pkg=[pkg]).filterm(obsoletes=installed):
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=[pkg])
            self._goal.upgrade(select=sltr)
            return 1
        # do not filter by arch if the package is noarch
        if pkg.arch == "noarch":
            q = installed.filter(name=pkg.name)
        else:
            q = installed.filter(name=pkg.name, arch=[pkg.arch, "noarch"])
        if not q:
            msg = _("Package %s not installed, cannot update it.")
            logger.warning(msg, pkg.name)
            raise dnf.exceptions.MarkingError(
                _('No match for argument: %s') % pkg.location, pkg.name)
        elif sorted(q)[-1] < pkg:
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=[pkg])
            self._goal.upgrade(select=sltr)
            return 1
        else:
            msg = _("The same or higher version of %s is already installed, "
                    "cannot update it.")
            logger.warning(msg, pkg.name)
            return 0

    def _upgrade_internal(self, query, obsoletes, reponame, pkg_spec=None):
        installed_all = self.sack.query().installed()
        # Add only relevant obsoletes to transaction => installed, upgrades
        q = query.intersection(self.sack.query().filterm(name=[pkg.name for pkg in installed_all]))
        installed_query = q.installed()
        if obsoletes:
            obsoletes = self.sack.query().available().filterm(
                obsoletes=installed_query.union(q.upgrades()))
            # add obsoletes into transaction
            query = query.union(obsoletes)
        if reponame is not None:
            query.filterm(reponame=reponame)
        query = self._merge_update_filters(query, pkg_spec=pkg_spec, upgrade=True)
        if query:
            # Given that we use libsolv's targeted transactions, we need to ensure that the transaction contains both
            # the new targeted version and also the current installed version (for the upgraded package). This is
            # because if it only contained the new version, libsolv would decide to reinstall the package even if it
            # had just a different buildtime or vendor but the same version
            # (https://github.com/openSUSE/libsolv/issues/287)
            #   - In general, the query already contains both the new and installed versions but not always.
            #     If repository-packages command is used, the installed packages are filtered out because they are from
            #     the @system repo. We need to add them back in.
            #   - However we need to add installed versions of just the packages that are being upgraded. We don't want
            #     to add all installed packages because it could increase the number of solutions for the transaction
            #     (especially without --best) and since libsolv prefers the smallest possible upgrade it could result
            #     in no upgrade even if there is one available. This is a problem in general but its critical with
            #     --security transactions (https://bugzilla.redhat.com/show_bug.cgi?id=2097757)
            #   - We want to add only the latest versions of installed packages, this is specifically for installonly
            #     packages. Otherwise if for example kernel-1 and kernel-3 were installed and present in the
            #     transaction libsolv could decide to install kernel-2 because it is an upgrade for kernel-1 even
            #     though we don't want it because there already is a newer version present.
            query = query.union(installed_all.latest().filter(name=[pkg.name for pkg in query]))
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=query)
            self._goal.upgrade(select=sltr)
        return 1


    def upgrade(self, pkg_spec, reponame=None):
        # :api
        subj = dnf.subject.Subject(pkg_spec)
        solution = subj.get_best_solution(self.sack)
        q = solution["query"]
        if q:
            wildcard = dnf.util.is_glob_pattern(pkg_spec)
            # wildcard shouldn't print not installed packages
            # only solution with nevra.name provide packages with same name
            if not wildcard and solution['nevra'] and solution['nevra'].name:
                pkg_name = solution['nevra'].name
                installed = self.sack.query().installed().apply()
                obsoleters = q.filter(obsoletes=installed) \
                    if self.conf.obsoletes else self.sack.query().filterm(empty=True)
                if not obsoleters:
                    installed_name = installed.filter(name=pkg_name).apply()
                    if not installed_name:
                        msg = _('Package %s available, but not installed.')
                        logger.warning(msg, pkg_name)
                        raise dnf.exceptions.PackagesNotInstalledError(
                            _('No match for argument: %s') % pkg_spec, pkg_spec)
                    elif solution['nevra'].arch and not dnf.util.is_glob_pattern(solution['nevra'].arch):
                        if not installed_name.filterm(arch=solution['nevra'].arch):
                            msg = _('Package %s available, but installed for different architecture.')
                            logger.warning(msg, "{}.{}".format(pkg_name, solution['nevra'].arch))
            obsoletes = self.conf.obsoletes and solution['nevra'] \
                        and solution['nevra'].has_just_name()
            return self._upgrade_internal(q, obsoletes, reponame, pkg_spec)
        raise dnf.exceptions.MarkingError(_('No match for argument: %s') % pkg_spec, pkg_spec)

    def upgrade_all(self, reponame=None):
        # :api
        # provide only available packages to solver to trigger targeted upgrade
        # possibilities will be ignored
        # usage of selected packages will unify dnf behavior with other upgrade functions
        return self._upgrade_internal(
            self.sack.query(), self.conf.obsoletes, reponame, pkg_spec=None)

    def distro_sync(self, pkg_spec=None):
        if pkg_spec is None:
            self._goal.distupgrade_all()
        else:
            subject = dnf.subject.Subject(pkg_spec)
            solution = subject.get_best_solution(self.sack, with_src=False)
            solution["query"].filterm(reponame__neq=hawkey.SYSTEM_REPO_NAME)
            sltrs = subject._get_best_selectors(self, solution=solution,
                                                obsoletes=self.conf.obsoletes, reports=True)
            if not sltrs:
                logger.info(_('No package %s installed.'), pkg_spec)
                return 0
            for sltr in sltrs:
                self._goal.distupgrade(select=sltr)
        return 1

    def autoremove(self, forms=None, pkg_specs=None, grp_specs=None, filenames=None):
        # :api
        """Removes all 'leaf' packages from the system that were originally
        installed as dependencies of user-installed packages but which are
        no longer required by any such package."""

        if any([grp_specs, pkg_specs, filenames]):
            pkg_specs += filenames
            done = False
            # Remove groups.
            if grp_specs and forms:
                for grp_spec in grp_specs:
                    msg = _('Not a valid form: %s')
                    logger.warning(msg, grp_spec)
            elif grp_specs:
                if self.env_group_remove(grp_specs):
                    done = True

            for pkg_spec in pkg_specs:
                try:
                    self.remove(pkg_spec, forms=forms)
                except dnf.exceptions.MarkingError as e:
                    logger.info(str(e))
                else:
                    done = True

            if not done:
                logger.warning(_('No packages marked for removal.'))

        else:
            pkgs = self.sack.query()._unneeded(self.history.swdb,
                                               debug_solver=self.conf.debug_solver)
            for pkg in pkgs:
                self.package_remove(pkg)

    def remove(self, pkg_spec, reponame=None, forms=None):
        # :api
        """Mark the specified package for removal."""

        matches = dnf.subject.Subject(pkg_spec).get_best_query(self.sack, forms=forms)
        installed = [
            pkg for pkg in matches.installed()
            if reponame is None or
            self.history.repo(pkg) == reponame]
        if not installed:
            self._raise_package_not_installed_error(pkg_spec, forms, reponame)

        clean_deps = self.conf.clean_requirements_on_remove
        for pkg in installed:
            self._goal.erase(pkg, clean_deps=clean_deps)
        return len(installed)

    def reinstall(self, pkg_spec, old_reponame=None, new_reponame=None,
                  new_reponame_neq=None, remove_na=False):
        subj = dnf.subject.Subject(pkg_spec)
        q = subj.get_best_query(self.sack)
        installed_pkgs = [
            pkg for pkg in q.installed()
            if old_reponame is None or
            self.history.repo(pkg) == old_reponame]

        available_q = q.available()
        if new_reponame is not None:
            available_q.filterm(reponame=new_reponame)
        if new_reponame_neq is not None:
            available_q.filterm(reponame__neq=new_reponame_neq)
        available_nevra2pkg = dnf.query._per_nevra_dict(available_q)

        if not installed_pkgs:
            raise dnf.exceptions.PackagesNotInstalledError(
                'no package matched', pkg_spec, available_nevra2pkg.values())

        cnt = 0
        clean_deps = self.conf.clean_requirements_on_remove
        for installed_pkg in installed_pkgs:
            try:
                available_pkg = available_nevra2pkg[ucd(installed_pkg)]
            except KeyError:
                if not remove_na:
                    continue
                self._goal.erase(installed_pkg, clean_deps=clean_deps)
            else:
                self._goal.install(available_pkg)
            cnt += 1

        if cnt == 0:
            raise dnf.exceptions.PackagesNotAvailableError(
                'no package matched', pkg_spec, installed_pkgs)

        return cnt

    def downgrade(self, pkg_spec):
        # :api
        """Mark a package to be downgraded.

        This is equivalent to first removing the currently installed package,
        and then installing an older version.

        """
        return self.downgrade_to(pkg_spec)

    def downgrade_to(self, pkg_spec, strict=False):
        """Downgrade to specific version if specified otherwise downgrades
        to one version lower than the package installed.
        """
        subj = dnf.subject.Subject(pkg_spec)
        q = subj.get_best_query(self.sack)
        if not q:
            msg = _('No match for argument: %s') % pkg_spec
            raise dnf.exceptions.PackageNotFoundError(msg, pkg_spec)
        done = 0
        available_pkgs = q.available()
        available_pkg_names = list(available_pkgs._name_dict().keys())
        q_installed = self.sack.query().installed().filterm(name=available_pkg_names)
        if len(q_installed) == 0:
            msg = _('Packages for argument %s available, but not installed.') % pkg_spec
            raise dnf.exceptions.PackagesNotInstalledError(msg, pkg_spec, available_pkgs)
        for pkg_name in q_installed._name_dict().keys():
            downgrade_pkgs = available_pkgs.downgrades().filter(name=pkg_name)
            if not downgrade_pkgs:
                msg = _("Package %s of lowest version already installed, cannot downgrade it.")
                logger.warning(msg, pkg_name)
                continue
            sltr = dnf.selector.Selector(self.sack)
            sltr.set(pkg=downgrade_pkgs)
            self._goal.install(select=sltr, optional=(not strict))
            done = 1
        return done

    def provides(self, provides_spec):
        providers = self.sack.query().filterm(file__glob=provides_spec)
        if providers:
            return providers, [provides_spec]
        providers = dnf.query._by_provides(self.sack, provides_spec)
        if providers:
            return providers, [provides_spec]
        if provides_spec.startswith('/bin/') or provides_spec.startswith('/sbin/'):
            # compatibility for packages that didn't do UsrMove
            binary_provides = ['/usr' + provides_spec]
        elif provides_spec.startswith('/'):
            # provides_spec is a file path
            return providers, [provides_spec]
        else:
            # suppose that provides_spec is a command, search in /usr/sbin/
            binary_provides = [prefix + provides_spec
                               for prefix in ['/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/']]
        return self.sack.query().filterm(file__glob=binary_provides), binary_provides

    def add_security_filters(self, cmp_type, types=(), advisory=(), bugzilla=(), cves=(), severity=()):
        #  :api
        """
        It modifies results of install, upgrade, and distrosync methods according to provided
        filters.

        :param cmp_type: only 'eq' or 'gte' allowed
        :param types: List or tuple with strings. E.g. 'bugfix', 'enhancement', 'newpackage',
        'security'
        :param advisory: List or tuple with strings. E.g.Eg. FEDORA-2201-123
        :param bugzilla: List or tuple with strings. Include packages that fix a Bugzilla ID,
        Eg. 123123.
        :param cves: List or tuple with strings. Include packages that fix a CVE
        (Common Vulnerabilities and Exposures) ID. Eg. CVE-2201-0123
        :param severity: List or tuple with strings. Includes packages that provide a fix
        for an issue of the specified severity.
        """
        cmp_dict = {'eq': '__eqg', 'gte': '__eqg__gt'}
        if cmp_type not in cmp_dict:
            raise ValueError("Unsupported value for `cmp_type`")
        cmp = cmp_dict[cmp_type]
        if types:
            key = 'advisory_type' + cmp
            self._update_security_options.setdefault(key, set()).update(types)
        if advisory:
            key = 'advisory' + cmp
            self._update_security_options.setdefault(key, set()).update(advisory)
        if bugzilla:
            key = 'advisory_bug' + cmp
            self._update_security_options.setdefault(key, set()).update(bugzilla)
        if cves:
            key = 'advisory_cve' + cmp
            self._update_security_options.setdefault(key, set()).update(cves)
        if severity:
            key = 'advisory_severity' + cmp
            self._update_security_options.setdefault(key, set()).update(severity)

    def reset_security_filters(self):
        #  :api
        """
        Reset all security filters
        """
        self._update_security_options = {}

    def _merge_update_filters(self, q, pkg_spec=None, warning=True, upgrade=False):
        """
        Merge Queries in _update_filters and return intersection with q Query
        @param q: Query
        @return: Query
        """
        if not (self._update_security_options or self._update_security_filters) or not q:
            return q
        merged_queries = self.sack.query().filterm(empty=True)
        if self._update_security_filters:
            for query in self._update_security_filters:
                merged_queries = merged_queries.union(query)

            self._update_security_filters = [merged_queries]
        if self._update_security_options:
            for filter_name, values in self._update_security_options.items():
                if upgrade:
                    filter_name = filter_name + '__upgrade'
                kwargs = {filter_name: values}
                merged_queries = merged_queries.union(q.filter(**kwargs))

        merged_queries = q.intersection(merged_queries)
        if not merged_queries:
            if warning:
                q = q.upgrades()
                count = len(q._name_dict().keys())
                if count > 0:
                    if pkg_spec is None:
                        msg1 = _("No security updates needed, but {} update "
                                 "available").format(count)
                        msg2 = _("No security updates needed, but {} updates "
                                 "available").format(count)
                        logger.warning(P_(msg1, msg2, count))
                    else:
                        msg1 = _('No security updates needed for "{}", but {} '
                                 'update available').format(pkg_spec, count)
                        msg2 = _('No security updates needed for "{}", but {} '
                                 'updates available').format(pkg_spec, count)
                        logger.warning(P_(msg1, msg2, count))
        return merged_queries

    def _get_key_for_package(self, po, askcb=None, fullaskcb=None):
        """Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param po: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        """
        if po._from_cmdline:
            # raise an exception, because po.repoid is not in self.repos
            msg = _('Unable to retrieve a key for a commandline package: %s')
            raise ValueError(msg % po)

        repo = self.repos[po.repoid]
        key_installed = repo.id in self._repo_set_imported_gpg_keys
        keyurls = [] if key_installed else repo.gpgkey

        def _prov_key_data(msg):
            msg += _('. Failing package is: %s') % (po) + '\n '
            msg += _('GPG Keys are configured as: %s') % \
                    (', '.join(repo.gpgkey))
            return msg

        user_cb_fail = False
        self._repo_set_imported_gpg_keys.add(repo.id)
        for keyurl in keyurls:
            keys = dnf.crypto.retrieve(keyurl, repo)

            for info in keys:
                # Check if key is already installed
                if misc.keyInstalled(self._ts, info.rpm_id, info.timestamp) >= 0:
                    msg = _('GPG key at %s (0x%s) is already installed')
                    logger.info(msg, keyurl, info.short_id)
                    continue

                # DNS Extension: create a key object, pass it to the verification class
                # and print its result as an advice to the user.
                if self.conf.gpgkey_dns_verification:
                    dns_input_key = dnf.dnssec.KeyInfo.from_rpm_key_object(info.userid,
                                                                           info.raw_key)
                    dns_result = dnf.dnssec.DNSSECKeyVerification.verify(dns_input_key)
                    logger.info(dnf.dnssec.nice_user_msg(dns_input_key, dns_result))

                # Try installing/updating GPG key
                info.url = keyurl
                if self.conf.gpgkey_dns_verification:
                    dnf.crypto.log_dns_key_import(info, dns_result)
                else:
                    dnf.crypto.log_key_import(info)
                rc = False
                if self.conf.assumeno:
                    rc = False
                elif self.conf.assumeyes:
                    # DNS Extension: We assume, that the key is trusted in case it is valid,
                    # its existence is explicitly denied or in case the domain is not signed
                    # and therefore there is no way to know for sure (this is mainly for
                    # backward compatibility)
                    # FAQ:
                    # * What is PROVEN_NONEXISTENCE?
                    #    In DNSSEC, your domain does not need to be signed, but this state
                    #    (not signed) has to be proven by the upper domain. e.g. when example.com.
                    #    is not signed, com. servers have to sign the message, that example.com.
                    #    does not have any signing key (KSK to be more precise).
                    if self.conf.gpgkey_dns_verification:
                        if dns_result in (dnf.dnssec.Validity.VALID,
                                          dnf.dnssec.Validity.PROVEN_NONEXISTENCE):
                            rc = True
                            logger.info(dnf.dnssec.any_msg(_("The key has been approved.")))
                        else:
                            rc = False
                            logger.info(dnf.dnssec.any_msg(_("The key has been rejected.")))
                    else:
                        rc = True

                # grab the .sig/.asc for the keyurl, if it exists if it
                # does check the signature on the key if it is signed by
                # one of our ca-keys for this repo or the global one then
                # rc = True else ask as normal.

                elif fullaskcb:
                    rc = fullaskcb({"po": po, "userid": info.userid,
                                    "hexkeyid": info.short_id,
                                    "keyurl": keyurl,
                                    "fingerprint": info.fingerprint,
                                    "timestamp": info.timestamp})
                elif askcb:
                    rc = askcb(po, info.userid, info.short_id)

                if not rc:
                    user_cb_fail = True
                    continue

                # Import the key
                # If rpm.RPMTRANS_FLAG_TEST in self._ts, gpg keys cannot be imported successfully
                # therefore the flag was removed for import operation
                test_flag = self._ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST)
                if test_flag:
                    orig_flags = self._ts.getTsFlags()
                    self._ts.setFlags(orig_flags - rpm.RPMTRANS_FLAG_TEST)
                result = self._ts.pgpImportPubkey(misc.procgpgkey(info.raw_key))
                if test_flag:
                    self._ts.setFlags(orig_flags)
                if result != 0:
                    msg = _('Key import failed (code %d)') % result
                    raise dnf.exceptions.Error(_prov_key_data(msg))
                logger.info(_('Key imported successfully'))
                key_installed = True

        if not key_installed and user_cb_fail:
            raise dnf.exceptions.Error(_("Didn't install any keys"))

        if not key_installed:
            msg = _('The GPG keys listed for the "%s" repository are '
                    'already installed but they are not correct for this '
                    'package.\n'
                    'Check that the correct key URLs are configured for '
                    'this repository.') % repo.name
            raise dnf.exceptions.Error(_prov_key_data(msg))

        # Check if the newly installed keys helped
        result, errmsg = self._sig_check_pkg(po)
        if result != 0:
            if keyurls:
                msg = _("Import of key(s) didn't help, wrong key(s)?")
                logger.info(msg)
            errmsg = ucd(errmsg)
            raise dnf.exceptions.Error(_prov_key_data(errmsg))

    def package_import_key(self, pkg, askcb=None, fullaskcb=None):
        # :api
        """Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param pkg: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        """
        self._get_key_for_package(pkg, askcb, fullaskcb)

    def _run_rpm_check(self):
        results = []
        self._ts.check()
        for prob in self._ts.problems():
            #  Newer rpm (4.8.0+) has problem objects, older have just strings.
            #  Should probably move to using the new objects, when we can. For
            # now just be compatible.
            results.append(ucd(prob))

        return results

    def urlopen(self, url, repo=None, mode='w+b', **kwargs):
        # :api
        """
        Open the specified absolute url, return a file object
        which respects proxy setting even for non-repo downloads
        """
        return dnf.util._urlopen(url, self.conf, repo, mode, **kwargs)

    def _get_installonly_query(self, q=None):
        if q is None:
            q = self._sack.query(flags=hawkey.IGNORE_EXCLUDES)
        installonly = q.filter(provides=self.conf.installonlypkgs)
        return installonly

    def _report_icase_hint(self, pkg_spec):
        subj = dnf.subject.Subject(pkg_spec, ignore_case=True)
        solution = subj.get_best_solution(self.sack, with_nevra=True,
                                          with_provides=False, with_filenames=False)
        if solution['query'] and solution['nevra'] and solution['nevra'].name and \
                pkg_spec != solution['query'][0].name:
            logger.info(_("  * Maybe you meant: {}").format(solution['query'][0].name))

    def _select_remote_pkgs(self, install_pkgs):
        """ Check checksum of packages from local repositories and returns list packages from remote
        repositories that will be downloaded. Packages from commandline are skipped.

        :param install_pkgs: list of packages
        :return: list of remote pkgs
        """
        def _verification_of_packages(pkg_list, logger_msg):
            all_packages_verified = True
            for pkg in pkg_list:
                pkg_successfully_verified = False
                try:
                    pkg_successfully_verified = pkg.verifyLocalPkg()
                except Exception as e:
                    logger.critical(str(e))
                if pkg_successfully_verified is not True:
                    logger.critical(logger_msg.format(pkg, pkg.reponame))
                    all_packages_verified = False

            return all_packages_verified

        remote_pkgs = []
        local_repository_pkgs = []
        for pkg in install_pkgs:
            if pkg._is_local_pkg():
                if pkg.reponame != hawkey.CMDLINE_REPO_NAME:
                    local_repository_pkgs.append(pkg)
            else:
                remote_pkgs.append(pkg)

        msg = _('Package "{}" from local repository "{}" has incorrect checksum')
        if not _verification_of_packages(local_repository_pkgs, msg):
            raise dnf.exceptions.Error(
                _("Some packages from local repository have incorrect checksum"))

        if self.conf.cacheonly:
            msg = _('Package "{}" from repository "{}" has incorrect checksum')
            if not _verification_of_packages(remote_pkgs, msg):
                raise dnf.exceptions.Error(
                    _('Some packages have invalid cache, but cannot be downloaded due to '
                      '"--cacheonly" option'))
            remote_pkgs = []

        return remote_pkgs, local_repository_pkgs

    def _report_already_installed(self, packages):
        for pkg in packages:
            _msg_installed(pkg)

    def _raise_package_not_found_error(self, pkg_spec, forms, reponame):
        all_query = self.sack.query(flags=hawkey.IGNORE_EXCLUDES)
        subject = dnf.subject.Subject(pkg_spec)
        solution = subject.get_best_solution(
            self.sack, forms=forms, with_src=False, query=all_query)
        if reponame is not None:
            solution['query'].filterm(reponame=reponame)
        if not solution['query']:
            raise dnf.exceptions.PackageNotFoundError(_('No match for argument'), pkg_spec)
        else:
            with_regular_query = self.sack.query(flags=hawkey.IGNORE_REGULAR_EXCLUDES)
            with_regular_query = solution['query'].intersection(with_regular_query)
            # Modular filtering is applied on a package set that already has regular excludes
            # filtered out. So if a package wasn't filtered out by regular excludes, it must have
            # been filtered out by modularity.
            if with_regular_query:
                msg = _('All matches were filtered out by exclude filtering for argument')
            else:
                msg = _('All matches were filtered out by modular filtering for argument')
            raise dnf.exceptions.PackageNotFoundError(msg, pkg_spec)

    def _raise_package_not_installed_error(self, pkg_spec, forms, reponame):
        all_query = self.sack.query(flags=hawkey.IGNORE_EXCLUDES).installed()
        subject = dnf.subject.Subject(pkg_spec)
        solution = subject.get_best_solution(
            self.sack, forms=forms, with_src=False, query=all_query)

        if not solution['query']:
            raise dnf.exceptions.PackagesNotInstalledError(_('No match for argument'), pkg_spec)
        if reponame is not None:
            installed = [pkg for pkg in solution['query'] if self.history.repo(pkg) == reponame]
        else:
            installed = solution['query']
        if not installed:
            msg = _('All matches were installed from a different repository for argument')
        else:
            msg = _('All matches were filtered out by exclude filtering for argument')
        raise dnf.exceptions.PackagesNotInstalledError(msg, pkg_spec)

    def setup_loggers(self):
        # :api
        """
        Setup DNF file loggers based on given configuration file. The loggers are set the same
        way as if DNF was run from CLI.
        """
        self._logging._setup_from_dnf_conf(self.conf, file_loggers_only=True)

    def _skipped_packages(self, report_problems, transaction):
        """returns set of conflicting packages and set of packages with broken dependency that would
        be additionally installed when --best and --allowerasing"""
        if self._goal.actions & (hawkey.INSTALL | hawkey.UPGRADE | hawkey.UPGRADE_ALL):
            best = True
        else:
            best = False
        ng = deepcopy(self._goal)
        params = {"allow_uninstall": self._allow_erasing,
                  "force_best": best,
                  "ignore_weak": True}
        ret = ng.run(**params)
        if not ret and report_problems:
            msg = dnf.util._format_resolve_problems(ng.problem_rules())
            logger.warning(msg)
        problem_conflicts = set(ng.problem_conflicts(available=True))
        problem_dependency = set(ng.problem_broken_dependency(available=True)) - problem_conflicts

        def _nevra(item):
            return hawkey.NEVRA(name=item.name, epoch=item.epoch, version=item.version,
                                release=item.release, arch=item.arch)

        # Sometimes, pkg is not in transaction item, therefore, comparing by nevra
        transaction_nevras = [_nevra(tsi) for tsi in transaction]
        skipped_conflicts = set(
            [pkg for pkg in problem_conflicts if _nevra(pkg) not in transaction_nevras])
        skipped_dependency = set(
            [pkg for pkg in problem_dependency if _nevra(pkg) not in transaction_nevras])

        return skipped_conflicts, skipped_dependency


def _msg_installed(pkg):
    name = ucd(pkg)
    msg = _('Package %s is already installed.')
    logger.info(msg, name)
PK!�FZ�g@!0!0i18n.pynu�[���# i18n.py
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import unicode_literals
from dnf.pycomp import unicode

import dnf
import locale
import os
import signal
import sys
import unicodedata

"""
Centralize i18n stuff here. Must be unittested.
"""

class UnicodeStream(object):
    def __init__(self, stream, encoding):
        self.stream = stream
        self.encoding = encoding

    def write(self, s):
        if not isinstance(s, str):
            s = (s.decode(self.encoding, 'replace') if dnf.pycomp.PY3 else
                 s.encode(self.encoding, 'replace'))
        try:
            self.stream.write(s)
        except UnicodeEncodeError:
            s_bytes = s.encode(self.stream.encoding, 'backslashreplace')
            if hasattr(self.stream, 'buffer'):
                self.stream.buffer.write(s_bytes)
            else:
                s = s_bytes.decode(self.stream.encoding, 'ignore')
                self.stream.write(s)


    def __getattr__(self, name):
        return getattr(self.stream, name)

def _full_ucd_support(encoding):
    """Return true if encoding can express any Unicode character.

    Even if an encoding can express all accented letters in the given language,
    we can't generally settle for it in DNF since sometimes we output special
    characters like the registered trademark symbol (U+00AE) and surprisingly
    many national non-unicode encodings, including e.g. ASCII and ISO-8859-2,
    don't contain it.

    """
    if encoding is None:
        return False
    lower = encoding.lower()
    if lower.startswith('utf-') or lower.startswith('utf_'):
        return True
    return False

def _guess_encoding():
    """ Take the best shot at the current system's string encoding. """
    encoding = locale.getpreferredencoding(False)
    return 'utf-8' if encoding.startswith("ANSI") else encoding

def setup_locale():
    try:
        dnf.pycomp.setlocale(locale.LC_ALL, '')
    except locale.Error:
        # default to C.UTF-8 or C locale if we got a failure.
        try:
            dnf.pycomp.setlocale(locale.LC_ALL, 'C.UTF-8')
            os.environ['LC_ALL'] = 'C.UTF-8'
        except locale.Error:
            dnf.pycomp.setlocale(locale.LC_ALL, 'C')
            os.environ['LC_ALL'] = 'C'
        print('Failed to set locale, defaulting to {}'.format(os.environ['LC_ALL']),
              file=sys.stderr)

def setup_stdout():
    """ Check that stdout is of suitable encoding and handle the situation if
        not.

        Returns True if stdout was of suitable encoding already and no changes
        were needed.
    """
    stdout = sys.stdout
    if not stdout.isatty():
        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
    try:
        encoding = stdout.encoding
    except AttributeError:
        encoding = None
    if not _full_ucd_support(encoding):
        sys.stdout = UnicodeStream(stdout, _guess_encoding())
        return False
    return True


def ucd_input(ucstring):
    # :api, deprecated in 2.0.0, will be erased when python2 is abandoned
    """ It uses print instead of passing the prompt to raw_input.

        raw_input doesn't encode the passed string and the output
        goes into stderr
    """
    print(ucstring, end='')
    return dnf.pycomp.raw_input()


def ucd(obj):
    # :api, deprecated in 2.0.0, will be erased when python2 is abandoned
    """ Like the builtin unicode() but tries to use a reasonable encoding. """
    if dnf.pycomp.PY3:
        if dnf.pycomp.is_py3bytes(obj):
            return str(obj, _guess_encoding(), errors='ignore')
        elif isinstance(obj, str):
            return obj
        return str(obj)
    else:
        if isinstance(obj, dnf.pycomp.unicode):
            return obj
        if hasattr(obj, '__unicode__'):
            # see the doc for the unicode() built-in. The logic here is: if obj
            # implements __unicode__, let it take a crack at it, but handle the
            # situation if it fails:
            try:
                return dnf.pycomp.unicode(obj)
            except UnicodeError:
                pass
        return dnf.pycomp.unicode(str(obj), _guess_encoding(), errors='ignore')


# functions for formatting output according to terminal width,
# They should be used instead of build-in functions to count on different
# widths of Unicode characters

def _exact_width_char(uchar):
    return 2 if unicodedata.east_asian_width(uchar) in ('W', 'F') else 1


def chop_str(msg, chop=None):
    """ Return the textual width of a Unicode string, chopping it to
        a specified value. This is what you want to use instead of %.*s, as it
        does the "right" thing with regard to different Unicode character width
        Eg. "%.*s" % (10, msg)   <= becomes => "%s" % (chop_str(msg, 10)) """

    if chop is None:
        return exact_width(msg), msg

    width = 0
    chopped_msg = ""
    for char in msg:
        char_width = _exact_width_char(char)
        if width + char_width > chop:
            break
        chopped_msg += char
        width += char_width
    return width, chopped_msg


def exact_width(msg):
    """ Calculates width of char at terminal screen
        (Asian char counts for two) """
    return sum(_exact_width_char(c) for c in msg)


def fill_exact_width(msg, fill, chop=None, left=True, prefix='', suffix=''):
    """ Expand a msg to a specified "width" or chop to same.
        Expansion can be left or right. This is what you want to use instead of
        %*.*s, as it does the "right" thing with regard to different Unicode
        character width.
        prefix and suffix should be used for "invisible" bytes, like
        highlighting.

        Examples:

        ``"%-*.*s" % (10, 20, msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 10, 20))``.

        ``"%20.10s" % (msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 20, 10, left=False))``.

        ``"%s%.10s%s" % (pre, msg, suf)`` becomes
            ``"%s" % (fill_exact_width(msg, 0, 10, prefix=pre, suffix=suf))``.
        """
    width, msg = chop_str(msg, chop)

    if width >= fill:
        if prefix or suffix:
            msg = ''.join([prefix, msg, suffix])
    else:
        extra = " " * (fill - width)
        if left:
            msg = ''.join([prefix, msg, suffix, extra])
        else:
            msg = ''.join([extra, prefix, msg, suffix])

    return msg


def textwrap_fill(text, width=70, initial_indent='', subsequent_indent=''):
    """ Works like we want textwrap.wrap() to work, uses Unicode strings
        and doesn't screw up lists/blocks/etc. """

    def _indent_at_beg(line):
        count = 0
        byte = 'X'
        for byte in line:
            if byte != ' ':
                break
            count += 1
        if byte not in ("-", "*", ".", "o", '\xe2'):
            return count, 0
        list_chr = chop_str(line[count:], 1)[1]
        if list_chr in ("-", "*", ".", "o",
                        "\u2022", "\u2023", "\u2218"):
            nxt = _indent_at_beg(line[count+len(list_chr):])
            nxt = nxt[1] or nxt[0]
            if nxt:
                return count, count + 1 + nxt
        return count, 0

    text = text.rstrip('\n')
    lines = text.replace('\t', ' ' * 8).split('\n')

    ret = []
    indent = initial_indent
    wrap_last = False
    csab = 0
    cspc_indent = 0
    for line in lines:
        line = line.rstrip(' ')
        (lsab, lspc_indent) = (csab, cspc_indent)
        (csab, cspc_indent) = _indent_at_beg(line)
        force_nl = False # We want to stop wrapping under "certain" conditions:
        if wrap_last and cspc_indent:        # if line starts a list or
            force_nl = True
        if wrap_last and csab == len(line):  # is empty line
            force_nl = True
        # if line doesn't continue a list and is "block indented"
        if wrap_last and not lspc_indent:
            if csab >= 4 and csab != lsab:
                force_nl = True
        if force_nl:
            ret.append(indent.rstrip(' '))
            indent = subsequent_indent
            wrap_last = False
        if csab == len(line):  # empty line, remove spaces to make it easier.
            line = ''
        if wrap_last:
            line = line.lstrip(' ')
            cspc_indent = lspc_indent

        if exact_width(indent + line) <= width:
            wrap_last = False
            ret.append(indent + line)
            indent = subsequent_indent
            continue

        wrap_last = True
        words = line.split(' ')
        line = indent
        spcs = cspc_indent
        if not spcs and csab >= 4:
            spcs = csab
        for word in words:
            if (width < exact_width(line + word)) and \
               (exact_width(line) > exact_width(subsequent_indent)):
                ret.append(line.rstrip(' '))
                line = subsequent_indent + ' ' * spcs
            line += word
            line += ' '
        indent = line.rstrip(' ') + ' '
    if wrap_last:
        ret.append(indent.rstrip(' '))

    return '\n'.join(ret)


def select_short_long(width, msg_short, msg_long):
    """ Automatically selects the short (abbreviated) or long (full) message
        depending on whether we have enough screen space to display the full
        message or not. If a caller by mistake passes a long string as
        msg_short and a short string as a msg_long this function recognizes
        the mistake and swaps the arguments. This function is especially useful
        in the i18n context when you cannot predict how long are the translated
        messages.

        Limitations:

        1. If msg_short is longer than width you will still get an overflow.
           This function does not abbreviate the string.
        2. You are not obliged to provide an actually abbreviated string, it is
           perfectly correct to pass the same string twice if you don't want
           any abbreviation. However, if you provide two different strings but
           having the same width this function is unable to recognize which one
           is correct and you should assume that it is unpredictable which one
           is returned.

       Example:

       ``select_short_long (10, _("Repo"), _("Repository"))``

       will return "Repository" in English but the results in other languages
       may be different. """
    width_short = exact_width(msg_short)
    width_long = exact_width(msg_long)
    # If we have two strings of the same width:
    if width_short == width_long:
        return msg_long
    # If the short string is wider than the long string:
    elif width_short > width_long:
        return msg_short if width_short <= width else msg_long
    # The regular case:
    else:
        return msg_long if width_long <= width else msg_short


def translation(name):
    # :api, deprecated in 2.0.0, will be erased when python2 is abandoned
    """ Easy gettext translations setup based on given domain name """

    setup_locale()
    def ucd_wrapper(fnc):
        return lambda *w: ucd(fnc(*w))
    t = dnf.pycomp.gettext.translation(name, fallback=True)
    return map(ucd_wrapper, dnf.pycomp.gettext_setup(t))


def pgettext(context, message):
    result = _(context + chr(4) + message)
    if "\004" in result:
        return message
    else:
        return result

# setup translations
_, P_ = translation("dnf")
C_ = pgettext
PK!�FZ�5�\YYrpm/connection.pynu�[���# connection.py
# Maintain RPMDB connections.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

from .transaction import initReadOnlyTransaction
import dnf.util

class RpmConnection(object):
    def __init__(self, root):
        self.root = root

    @property
    @dnf.util.lazyattr("_readonly_ts")
    def readonly_ts(self):
        return initReadOnlyTransaction(self.root)
PK!�FZB�Of��rpm/__init__.pynu�[���# __init__.py
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from . import transaction
from dnf.pycomp import is_py3bytes
import dnf.const
import dnf.exceptions
import rpm  # used by ansible (dnf.rpm.rpm.labelCompare in lib/ansible/modules/packaging/os/dnf.py)


def detect_releasever(installroot):
    # :api
    """Calculate the release version for the system."""

    ts = transaction.initReadOnlyTransaction(root=installroot)
    ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS))
    for distroverpkg in dnf.const.DISTROVERPKG:
        if dnf.pycomp.PY3:
            distroverpkg = bytes(distroverpkg, 'utf-8')
        try:
            idx = ts.dbMatch('provides', distroverpkg)
        except (TypeError, rpm.error) as e:
            raise dnf.exceptions.Error('Error: %s' % str(e))
        if not len(idx):
            continue
        try:
            hdr = next(idx)
        except StopIteration:
            msg = 'Error: rpmdb failed to list provides. Try: rpm --rebuilddb'
            raise dnf.exceptions.Error(msg)
        releasever = hdr['version']
        try:
            try:
                # header returns bytes -> look for bytes
                # it may fail because rpm returns a decoded string since 10 Apr 2019
                off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg)
            except ValueError:
                # header returns a string -> look for a string
                off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg.decode("utf8"))
            flag = hdr[rpm.RPMTAG_PROVIDEFLAGS][off]
            ver = hdr[rpm.RPMTAG_PROVIDEVERSION][off]
            if flag == rpm.RPMSENSE_EQUAL and ver:
                if hdr['name'] not in (distroverpkg, distroverpkg.decode("utf8")):
                    # override the package version
                    releasever = ver
        except (ValueError, KeyError, IndexError):
            pass

        if is_py3bytes(releasever):
            releasever = str(releasever, "utf-8")
        return releasever
    return None


def _header(path):
    """Return RPM header of the file."""
    ts = transaction.initReadOnlyTransaction()
    with open(path) as package:
        fdno = package.fileno()
        try:
            hdr = ts.hdrFromFdno(fdno)
        except rpm.error as e:
            raise dnf.exceptions.Error("{0}: '{1}'".format(e, path))
        return hdr


def _invert(dct):
    return {v: k for k in dct for v in dct[k]}

_BASEARCH_MAP = _invert({
    'aarch64': ('aarch64',),
    'alpha': ('alpha', 'alphaev4', 'alphaev45', 'alphaev5', 'alphaev56',
              'alphaev6', 'alphaev67', 'alphaev68', 'alphaev7', 'alphapca56'),
    'arm': ('armv5tejl', 'armv5tel', 'armv5tl', 'armv6l', 'armv7l', 'armv8l'),
    'armhfp': ('armv6hl', 'armv7hl', 'armv7hnl', 'armv8hl'),
    'i386': ('i386', 'athlon', 'geode', 'i386', 'i486', 'i586', 'i686'),
    'ia64': ('ia64',),
    'mips': ('mips',),
    'mipsel': ('mipsel',),
    'mips64': ('mips64',),
    'mips64el': ('mips64el',),
    'noarch': ('noarch',),
    'ppc': ('ppc',),
    'ppc64': ('ppc64', 'ppc64iseries', 'ppc64p7', 'ppc64pseries'),
    'ppc64le': ('ppc64le',),
    'riscv32' : ('riscv32',),
    'riscv64' : ('riscv64',),
    'riscv128' : ('riscv128',),
    's390': ('s390',),
    's390x': ('s390x',),
    'sh3': ('sh3',),
    'sh4': ('sh4', 'sh4a'),
    'sparc': ('sparc', 'sparc64', 'sparc64v', 'sparcv8', 'sparcv9',
              'sparcv9v'),
    'x86_64': ('x86_64', 'amd64', 'ia32e'),
})


def basearch(arch):
    # :api
    return _BASEARCH_MAP[arch]


def getheader(rpm_hdr, key):
    '''
    Returns value of rpm_hdr[key] as a string. Rpm has switched from bytes to str
    and we need to handle both properly.
    '''
    value = rpm_hdr[key]
    if is_py3bytes(value):
        value = str(value, "utf-8")
    return value
PK!�FZk�?�rpm/miscutils.pynu�[���# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Copyright 2003 Duke University

from __future__ import print_function, absolute_import, unicode_literals

import os
import subprocess
import logging
from shutil import which

from dnf.i18n import _

_logger = logging.getLogger('dnf')
_rpmkeys_binary = None

def _find_rpmkeys_binary():
    global _rpmkeys_binary
    if _rpmkeys_binary is None:
        _rpmkeys_binary = which("rpmkeys")
        _logger.debug(_('Using rpmkeys executable at %s to verify signatures'),
                      _rpmkeys_binary)
    return _rpmkeys_binary

def _process_rpm_output(data):
    # No signatures or digests = corrupt package.
    # There is at least one line for -: and another (empty) entry after the
    # last newline.
    if len(data) < 3 or data[0] != b'-:' or data[-1]:
        return 2
    seen_sig, missing_key, not_trusted, not_signed = False, False, False, False
    for i in data[1:-1]:
        if b': BAD' in i:
            return 2
        elif i.endswith(b': NOKEY'):
            missing_key = True
        elif i.endswith(b': NOTTRUSTED'):
            not_trusted = True
        elif i.endswith(b': NOTFOUND'):
            not_signed = True
        elif not i.endswith(b': OK'):
            return 2
    if not_trusted:
        return 3
    elif missing_key:
        return 1
    elif not_signed:
        return 4
    # we still check return code, so this is safe
    return 0

def _verifyPackageUsingRpmkeys(package, installroot):
    rpmkeys_binary = _find_rpmkeys_binary()
    if rpmkeys_binary is None or not os.path.isfile(rpmkeys_binary):
        _logger.critical(_('Cannot find rpmkeys executable to verify signatures.'))
        return 2

    # "--define=_pkgverify_level signature" enforces signature checking;
    # "--define=_pkgverify_flags 0x0" ensures that all signatures are checked.
    args = ('rpmkeys', '--checksig', '--root', installroot, '--verbose',
            '--define=_pkgverify_level signature', '--define=_pkgverify_flags 0x0',
            '-')
    with subprocess.Popen(
            args=args,
            executable=rpmkeys_binary,
            env={'LC_ALL': 'C'},
            stdout=subprocess.PIPE,
            cwd='/',
            stdin=package) as p:
        data = p.communicate()[0]
    returncode = p.returncode
    if type(returncode) is not int:
        raise AssertionError('Popen set return code to non-int')
    # rpmkeys can return something other than 0 or 1 in the case of a
    # fatal error (OOM, abort() called, SIGSEGV, etc)
    if returncode >= 2 or returncode < 0:
        return 2
    ret = _process_rpm_output(data.split(b'\n'))
    if ret:
        return ret
    return 2 if returncode else 0

def checkSig(ts, package):
    """Takes a transaction set and a package, check it's sigs,
    return 0 if they are all fine
    return 1 if the gpg key can't be found
    return 2 if the header is in someway damaged
    return 3 if the key is not trusted
    return 4 if the pkg is not gpg or pgp signed"""

    fdno = os.open(package, os.O_RDONLY|os.O_NOCTTY|os.O_CLOEXEC)
    try:
        value = _verifyPackageUsingRpmkeys(fdno, ts.ts.rootDir)
    finally:
        os.close(fdno)
    return value
PK!�FZ��j$rpm/__pycache__/error.cpython-36.pycnu�[���3

�ft`�@sGdd�de�ZdS)c@seZdZdS)�
RpmUtilsErrorN)�__name__�
__module__�__qualname__�rr�/usr/lib/python3.6/error.pyrsrN)�	Exceptionrrrrr�<module>sPK!�FZ����	�	.rpm/__pycache__/miscutils.cpython-36.opt-1.pycnu�[���3

h�-e�@svddlmZmZmZddlZddlZddlZddlmZddl	m
Z
ejd�Zda
dd�Zdd	�Zd
d�Zdd
�ZdS)�)�print_function�absolute_import�unicode_literalsN)�which)�_ZdnfcCs$tdkr td�atjtd�t�tS)N�rpmkeysz3Using rpmkeys executable at %s to verify signatures)�_rpmkeys_binaryr�_logger�debugr�rr�/usr/lib/python3.6/miscutils.py�_find_rpmkeys_binarys

r
cCs�t|�dks |ddks |dr$dSd\}}}}x^|dd�D]N}d|krNdS|jd�r^d	}q>|jd
�rnd	}q>|jd�r~d	}q>|jd�s>dSq>W|r�dS|r�dS|r�d
SdS)N�rs-:��Fs: BADs: NOKEYTs: NOTTRUSTEDs
: NOTFOUNDs: OK����)FFFFr)�len�endswith)�dataZseen_sigZmissing_keyZnot_trustedZ
not_signed�irrr�_process_rpm_output$s* 



rc
Cs�t�}|dkstjj|�r.tjtd��dSddd|dddd	f}tj||d
ditj	d|d
��}|j
�d}WdQRX|j}t|�t
k	r�td��|dks�|dkr�dSt|jd��}|r�|S|r�dSdS)Nz4Cannot find rpmkeys executable to verify signatures.rrz
--checksigz--rootz	--verbosez#--define=_pkgverify_level signaturez--define=_pkgverify_flags 0x0�-�LC_ALL�C�/)�args�
executable�env�stdout�cwd�stdinrz Popen set return code to non-int�
)r
�os�path�isfiler	Zcriticalr�
subprocess�Popen�PIPEZcommunicate�
returncode�type�int�AssertionErrorr�split)�packageZinstallrootZrpmkeys_binaryr�prr)�retrrr�_verifyPackageUsingRpmkeys?s0

r1cCs>tj|tjtjBtjB�}zt||jj�}Wdtj|�X|S)a
Takes a transaction set and a package, check it's sigs,
    return 0 if they are all fine
    return 1 if the gpg key can't be found
    return 2 if the header is in someway damaged
    return 3 if the key is not trusted
    return 4 if the pkg is not gpg or pgp signedN)	r#�open�O_RDONLY�O_NOCTTY�	O_CLOEXECr1�tsZrootDir�close)r6r.Zfdno�valuerrr�checkSig^s
r9)Z
__future__rrrr#r&ZloggingZshutilrZdnf.i18nrZ	getLoggerr	rr
rr1r9rrrr�<module>s
PK!�FZ��j*rpm/__pycache__/error.cpython-36.opt-1.pycnu�[���3

�ft`�@sGdd�de�ZdS)c@seZdZdS)�
RpmUtilsErrorN)�__name__�
__module__�__qualname__�rr�/usr/lib/python3.6/error.pyrsrN)�	Exceptionrrrrr�<module>sPK!�FZǣ$)rpm/__pycache__/connection.cpython-36.pycnu�[���3

�ft`Y�@s@ddlmZddlmZddlmZddlZGdd�de�ZdS)�)�absolute_import)�unicode_literals�)�initReadOnlyTransactionNc@s,eZdZdd�Zeejjd�dd���ZdS)�
RpmConnectioncCs
||_dS)N)�root)�selfr�r	� /usr/lib/python3.6/connection.py�__init__szRpmConnection.__init__Z_readonly_tscCs
t|j�S)N)rr)rr	r	r
�readonly_tsszRpmConnection.readonly_tsN)	�__name__�
__module__�__qualname__r�property�dnf�utilZlazyattrrr	r	r	r
rsr)	Z
__future__rrZtransactionrZdnf.utilr�objectrr	r	r	r
�<module>sPK!�FZ����	�	(rpm/__pycache__/miscutils.cpython-36.pycnu�[���3

h�-e�@svddlmZmZmZddlZddlZddlZddlmZddl	m
Z
ejd�Zda
dd�Zdd	�Zd
d�Zdd
�ZdS)�)�print_function�absolute_import�unicode_literalsN)�which)�_ZdnfcCs$tdkr td�atjtd�t�tS)N�rpmkeysz3Using rpmkeys executable at %s to verify signatures)�_rpmkeys_binaryr�_logger�debugr�rr�/usr/lib/python3.6/miscutils.py�_find_rpmkeys_binarys

r
cCs�t|�dks |ddks |dr$dSd\}}}}x^|dd�D]N}d|krNdS|jd�r^d	}q>|jd
�rnd	}q>|jd�r~d	}q>|jd�s>dSq>W|r�dS|r�dS|r�d
SdS)N�rs-:��Fs: BADs: NOKEYTs: NOTTRUSTEDs
: NOTFOUNDs: OK����)FFFFr)�len�endswith)�dataZseen_sigZmissing_keyZnot_trustedZ
not_signed�irrr�_process_rpm_output$s* 



rc
Cs�t�}|dkstjj|�r.tjtd��dSddd|dddd	f}tj||d
ditj	d|d
��}|j
�d}WdQRX|j}t|�t
k	r�td��|dks�|dkr�dSt|jd��}|r�|S|r�dSdS)Nz4Cannot find rpmkeys executable to verify signatures.rrz
--checksigz--rootz	--verbosez#--define=_pkgverify_level signaturez--define=_pkgverify_flags 0x0�-�LC_ALL�C�/)�args�
executable�env�stdout�cwd�stdinrz Popen set return code to non-int�
)r
�os�path�isfiler	Zcriticalr�
subprocess�Popen�PIPEZcommunicate�
returncode�type�int�AssertionErrorr�split)�packageZinstallrootZrpmkeys_binaryr�prr)�retrrr�_verifyPackageUsingRpmkeys?s0

r1cCs>tj|tjtjBtjB�}zt||jj�}Wdtj|�X|S)a
Takes a transaction set and a package, check it's sigs,
    return 0 if they are all fine
    return 1 if the gpg key can't be found
    return 2 if the header is in someway damaged
    return 3 if the key is not trusted
    return 4 if the pkg is not gpg or pgp signedN)	r#�open�O_RDONLY�O_NOCTTY�	O_CLOEXECr1�tsZrootDir�close)r6r.Zfdno�valuerrr�checkSig^s
r9)Z
__future__rrrr#r&ZloggingZshutilrZdnf.i18nrZ	getLoggerr	rr
rr1r9rrrr�<module>s
PK!�FZǣ$/rpm/__pycache__/connection.cpython-36.opt-1.pycnu�[���3

�ft`Y�@s@ddlmZddlmZddlmZddlZGdd�de�ZdS)�)�absolute_import)�unicode_literals�)�initReadOnlyTransactionNc@s,eZdZdd�Zeejjd�dd���ZdS)�
RpmConnectioncCs
||_dS)N)�root)�selfr�r	� /usr/lib/python3.6/connection.py�__init__szRpmConnection.__init__Z_readonly_tscCs
t|j�S)N)rr)rr	r	r
�readonly_tsszRpmConnection.readonly_tsN)	�__name__�
__module__�__qualname__r�property�dnf�utilZlazyattrrr	r	r	r
rsr)	Z
__future__rrZtransactionrZdnf.utilr�objectrr	r	r	r
�<module>sPK!�FZed�A-rpm/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlZddl	Zddl
Z
dd�Zd	d
�Zdd�Z
e
dJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dE��ZdFdG�ZdHdI�ZdS)a�)�absolute_import)�unicode_literals�)�transaction)�is_py3bytesNc)Cs�tj|d�}|jtjtjB��xztjjD�]l}tj	j
rDt|d�}y|jd|�}Wn<t
tjfk
r�}ztjjdt|���WYdd}~XnXt|�s�q,yt|�}Wn$tk
r�d}tjj|��YnX|d}y�y|tjj|�}Wn,tk
�r|tjj|jd��}YnX|tj|}	|tj|}
|	tjk�rd|
�rd|d	||jd�fk�rd|
}Wntttfk
�r�YnXt|��r�t|d�}|SWdS)
z-Calculate the release version for the system.)�rootzutf-8Zprovidesz	Error: %sNz:Error: rpmdb failed to list provides. Try: rpm --rebuilddb�version�utf8�name)r�initReadOnlyTransactionZpushVSFlags�rpmZ_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS�dnf�constZDISTROVERPKGZpycompZPY3�bytesZdbMatch�	TypeError�error�
exceptions�Error�str�len�next�
StopIterationZRPMTAG_PROVIDENAME�index�
ValueError�decodeZRPMTAG_PROVIDEFLAGSZRPMTAG_PROVIDEVERSIONZRPMSENSE_EQUAL�KeyError�
IndexErrorr)Zinstallroot�tsZdistroverpkg�idx�e�hdr�msgZ
releaseverZoff�flagZver�r#�/usr/lib/python3.6/__init__.py�detect_releaseversB
&

r%cCsptj�}t|��V}|j�}y|j|�}Wn8tjk
r`}ztjj	dj
||���WYdd}~XnX|SQRXdS)zReturn RPM header of the file.z
{0}: '{1}'N)rr�open�filenoZhdrFromFdnorrr
rr�format)�pathr�packageZfdnor rr#r#r$�_headerIs
&r+cs�fdd��D�S)Ncs i|]}�|D]
}||�qqSr#r#)�.0�k�v)�dctr#r$�
<dictcomp>Vsz_invert.<locals>.<dictcomp>r#)r/r#)r/r$�_invertUsr1�aarch64�alpha�alphaev4�	alphaev45�alphaev5�	alphaev56�alphaev6�	alphaev67�	alphaev68�alphaev7�
alphapca56�	armv5tejl�armv5tel�armv5tl�armv6l�armv7l�armv8l�armv6hl�armv7hl�armv7hnl�armv8hl�i386�athlon�geode�i486�i586�i686�ia64�mips�mipsel�mips64�mips64el�noarch�ppc�ppc64�ppc64iseries�ppc64p7�ppc64pseries�ppc64le�riscv32�riscv64�riscv128�s390�s390x�sh3�sh4�sh4a�sparc�sparc64�sparc64v�sparcv8�sparcv9�sparcv9v�x86_64�amd64�ia32e)r2r3ZarmZarmhfprGrMrNrOrPrQrRrSrTrXrYrZr[r\r]r^r_rargcCst|S)N)�
_BASEARCH_MAP)Zarchr#r#r$�basearchusrkcCs||}t|�rt|d�}|S)z�
    Returns value of rpm_hdr[key] as a string. Rpm has switched from bytes to str
    and we need to handle both properly.
    zutf-8)rr)Zrpm_hdr�key�valuer#r#r$�	getheaderzs
rn)r2)
r3r4r5r6r7r8r9r:r;r<)r=r>r?r@rArB)rCrDrErF)rGrHrIrGrJrKrL)rM)rN)rO)rP)rQ)rR)rS)rTrUrVrW)rX)rY)rZ)r[)r\)r])r^)r_r`)rarbrcrdrerf)rgrhri)Z
__future__rr�rZ
dnf.pycomprZ	dnf.constr
Zdnf.exceptionsrr%r+r1rjrkrnr#r#r#r$�<module>sJ,
PK!�FZJ��hh0rpm/__pycache__/transaction.cpython-36.opt-1.pycnu�[���3

�ft`��@sRddlmZddlmZddlmZddlZdZdZGdd�de�Z	d
dd	�Z
dS)�)�absolute_import)�unicode_literals)�_Nc@szeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zifdd�ZdS)�TransactionWrapper�/cCs@tj|�|_ddddddddd	d
ddd
ddg|_g|_d|_dS)NZcheck�orderZaddEraseZ
addInstallZaddReinstall�runZpgpImportPubkeyZ
pgpPrtPktsZproblems�setFlags�
setVSFlags�
setProbFilterZhdrFromFdno�nextZcleanT)�rpmZTransactionSet�ts�_methods�tsflags�open)�self�root�r�!/usr/lib/python3.6/transaction.py�__init__s$zTransactionWrapper.__init__cCs|j�dS)N)�close)rrrr�__del__+szTransactionWrapper.__del__cCs |jr|jj�d|_d|_dS)NF)rrZcloseDB)rrrrr/s
zTransactionWrapper.closecOsLd|kr|jd�}ng}|jj||�}x |D]\}}}|j|||�q,W|S)N�patterns)�popr�dbMatch�pattern)r�args�kwdsrZmi�tag�tpZpatrrrr5szTransactionWrapper.dbMatchcCs ||jkr|j|�St|��dS)N)r�	getMethod�AttributeError)r�attrrrr�__getattr__@s

zTransactionWrapper.__getattr__cCs|jS)N)r)rrrr�__iter__FszTransactionWrapper.__iter__cCst|j|�S)N)�getattrr)r�methodrrrr!IszTransactionWrapper.getMethodcCs"|jj|�|jj|jd�dS)N����)r�appendrr
)r�flagsrrr�pushVSFlagsQszTransactionWrapper.pushVSFlagscCs |jjd�}|jj||B�dS)Nr)rr	)r�flag�curflagsrrr�	addTsFlagUszTransactionWrapper.addTsFlagcCs|jjd�}|jj|�|S)Nr)rr	)rr.rrr�
getTsFlagsYszTransactionWrapper.getTsFlagscCs|j�}t||@�S)N)r0�bool)rr-�valrrr�isTsFlagSet^szTransactionWrapper.isTsFlagSetcCs|j�|j_dS)N)�filenorZscriptFd)r�fdrrr�setScriptFdbszTransactionWrapper.setScriptFdc
Cs�|j�}|jtj�|jd�dkr0|jjtj�|jj|j	d�}|jj
|�g}|dk	r�x |D]\}\}}}	|j|�q^W|s�|jtd��|S)zetests the ts we've setup, takes a callback function and a conf dict
           for flags and what notZdiskspacecheckr�Nz(Errors occurred during test transaction.)
r0r/r
ZRPMTRANS_FLAG_TEST�getrrZRPMPROB_FILTER_DISKSPACEr�callbackr	r*r)
r�cbZconfZ	origflagsZtserrorsZ	reserrorsZdescr�etypeZmountZneedrrr�testeszTransactionWrapper.testN)r)�__name__�
__module__�__qualname__rrrrr$r%r!r,r/r0r3r6r<rrrrrs
rrcCs t|d�}|jtjtjB�|S)N)r)rr,r
Z_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS)r�read_tsrrr�initReadOnlyTransaction{s
rA)r)Z
__future__rrZdnf.i18nrr
r@r�objectrrArrrr�<module>sePK!�FZJ��hh*rpm/__pycache__/transaction.cpython-36.pycnu�[���3

�ft`��@sRddlmZddlmZddlmZddlZdZdZGdd�de�Z	d
dd	�Z
dS)�)�absolute_import)�unicode_literals)�_Nc@szeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zifdd�ZdS)�TransactionWrapper�/cCs@tj|�|_ddddddddd	d
ddd
ddg|_g|_d|_dS)NZcheck�orderZaddEraseZ
addInstallZaddReinstall�runZpgpImportPubkeyZ
pgpPrtPktsZproblems�setFlags�
setVSFlags�
setProbFilterZhdrFromFdno�nextZcleanT)�rpmZTransactionSet�ts�_methods�tsflags�open)�self�root�r�!/usr/lib/python3.6/transaction.py�__init__s$zTransactionWrapper.__init__cCs|j�dS)N)�close)rrrr�__del__+szTransactionWrapper.__del__cCs |jr|jj�d|_d|_dS)NF)rrZcloseDB)rrrrr/s
zTransactionWrapper.closecOsLd|kr|jd�}ng}|jj||�}x |D]\}}}|j|||�q,W|S)N�patterns)�popr�dbMatch�pattern)r�args�kwdsrZmi�tag�tpZpatrrrr5szTransactionWrapper.dbMatchcCs ||jkr|j|�St|��dS)N)r�	getMethod�AttributeError)r�attrrrr�__getattr__@s

zTransactionWrapper.__getattr__cCs|jS)N)r)rrrr�__iter__FszTransactionWrapper.__iter__cCst|j|�S)N)�getattrr)r�methodrrrr!IszTransactionWrapper.getMethodcCs"|jj|�|jj|jd�dS)N����)r�appendrr
)r�flagsrrr�pushVSFlagsQszTransactionWrapper.pushVSFlagscCs |jjd�}|jj||B�dS)Nr)rr	)r�flag�curflagsrrr�	addTsFlagUszTransactionWrapper.addTsFlagcCs|jjd�}|jj|�|S)Nr)rr	)rr.rrr�
getTsFlagsYszTransactionWrapper.getTsFlagscCs|j�}t||@�S)N)r0�bool)rr-�valrrr�isTsFlagSet^szTransactionWrapper.isTsFlagSetcCs|j�|j_dS)N)�filenorZscriptFd)r�fdrrr�setScriptFdbszTransactionWrapper.setScriptFdc
Cs�|j�}|jtj�|jd�dkr0|jjtj�|jj|j	d�}|jj
|�g}|dk	r�x |D]\}\}}}	|j|�q^W|s�|jtd��|S)zetests the ts we've setup, takes a callback function and a conf dict
           for flags and what notZdiskspacecheckr�Nz(Errors occurred during test transaction.)
r0r/r
ZRPMTRANS_FLAG_TEST�getrrZRPMPROB_FILTER_DISKSPACEr�callbackr	r*r)
r�cbZconfZ	origflagsZtserrorsZ	reserrorsZdescr�etypeZmountZneedrrr�testeszTransactionWrapper.testN)r)�__name__�
__module__�__qualname__rrrrr$r%r!r,r/r0r3r6r<rrrrrs
rrcCs t|d�}|jtjtjB�|S)N)r)rr,r
Z_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS)r�read_tsrrr�initReadOnlyTransaction{s
rA)r)Z
__future__rrZdnf.i18nrr
r@r�objectrrArrrr�<module>sePK!�FZed�A'rpm/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlZddl	Zddl
Z
dd�Zd	d
�Zdd�Z
e
dJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dE��ZdFdG�ZdHdI�ZdS)a�)�absolute_import)�unicode_literals�)�transaction)�is_py3bytesNc)Cs�tj|d�}|jtjtjB��xztjjD�]l}tj	j
rDt|d�}y|jd|�}Wn<t
tjfk
r�}ztjjdt|���WYdd}~XnXt|�s�q,yt|�}Wn$tk
r�d}tjj|��YnX|d}y�y|tjj|�}Wn,tk
�r|tjj|jd��}YnX|tj|}	|tj|}
|	tjk�rd|
�rd|d	||jd�fk�rd|
}Wntttfk
�r�YnXt|��r�t|d�}|SWdS)
z-Calculate the release version for the system.)�rootzutf-8Zprovidesz	Error: %sNz:Error: rpmdb failed to list provides. Try: rpm --rebuilddb�version�utf8�name)r�initReadOnlyTransactionZpushVSFlags�rpmZ_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS�dnf�constZDISTROVERPKGZpycompZPY3�bytesZdbMatch�	TypeError�error�
exceptions�Error�str�len�next�
StopIterationZRPMTAG_PROVIDENAME�index�
ValueError�decodeZRPMTAG_PROVIDEFLAGSZRPMTAG_PROVIDEVERSIONZRPMSENSE_EQUAL�KeyError�
IndexErrorr)Zinstallroot�tsZdistroverpkg�idx�e�hdr�msgZ
releaseverZoff�flagZver�r#�/usr/lib/python3.6/__init__.py�detect_releaseversB
&

r%cCsptj�}t|��V}|j�}y|j|�}Wn8tjk
r`}ztjj	dj
||���WYdd}~XnX|SQRXdS)zReturn RPM header of the file.z
{0}: '{1}'N)rr�open�filenoZhdrFromFdnorrr
rr�format)�pathr�packageZfdnor rr#r#r$�_headerIs
&r+cs�fdd��D�S)Ncs i|]}�|D]
}||�qqSr#r#)�.0�k�v)�dctr#r$�
<dictcomp>Vsz_invert.<locals>.<dictcomp>r#)r/r#)r/r$�_invertUsr1�aarch64�alpha�alphaev4�	alphaev45�alphaev5�	alphaev56�alphaev6�	alphaev67�	alphaev68�alphaev7�
alphapca56�	armv5tejl�armv5tel�armv5tl�armv6l�armv7l�armv8l�armv6hl�armv7hl�armv7hnl�armv8hl�i386�athlon�geode�i486�i586�i686�ia64�mips�mipsel�mips64�mips64el�noarch�ppc�ppc64�ppc64iseries�ppc64p7�ppc64pseries�ppc64le�riscv32�riscv64�riscv128�s390�s390x�sh3�sh4�sh4a�sparc�sparc64�sparc64v�sparcv8�sparcv9�sparcv9v�x86_64�amd64�ia32e)r2r3ZarmZarmhfprGrMrNrOrPrQrRrSrTrXrYrZr[r\r]r^r_rargcCst|S)N)�
_BASEARCH_MAP)Zarchr#r#r$�basearchusrkcCs||}t|�rt|d�}|S)z�
    Returns value of rpm_hdr[key] as a string. Rpm has switched from bytes to str
    and we need to handle both properly.
    zutf-8)rr)Zrpm_hdr�key�valuer#r#r$�	getheaderzs
rn)r2)
r3r4r5r6r7r8r9r:r;r<)r=r>r?r@rArB)rCrDrErF)rGrHrIrGrJrKrL)rM)rN)rO)rP)rQ)rR)rS)rTrUrVrW)rX)rY)rZ)r[)r\)r])r^)r_r`)rarbrcrdrerf)rgrhri)Z
__future__rr�rZ
dnf.pycomprZ	dnf.constr
Zdnf.exceptionsrr%r+r1rjrkrnr#r#r#r$�<module>sJ,
PK!�FZ������rpm/transaction.pynu�[���#
# Client code for Update Agent
# Copyright (c) 1999-2002 Red Hat, Inc.  Distributed under GPL.
#
#         Adrian Likins <alikins@redhat.com>
# Some Edits by Seth Vidal <skvidal@phy.duke.edu>
#
# a couple of classes wrapping up transactions so that we
#    can share transactions instead of creating new ones all over
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
import rpm

read_ts = None
ts = None

# wrapper/proxy class for rpm.Transaction so we can
# instrument it, etc easily
class TransactionWrapper(object):
    def __init__(self, root='/'):
        self.ts = rpm.TransactionSet(root)
        self._methods = ['check',
                         'order',
                         'addErase',
                         'addInstall',
                         'addReinstall',
                         'run',
                         'pgpImportPubkey',
                         'pgpPrtPkts',
                         'problems',
                         'setFlags',
                         'setVSFlags',
                         'setProbFilter',
                         'hdrFromFdno',
                         'next',
                         'clean']
        self.tsflags = []
        self.open = True

    def __del__(self):
        # Automatically close the rpm transaction when the reference is lost
        self.close()

    def close(self):
        if self.open:
            self.ts.closeDB()
            self.ts = None
            self.open = False

    def dbMatch(self, *args, **kwds):
        if 'patterns' in kwds:
            patterns = kwds.pop('patterns')
        else:
            patterns = []

        mi = self.ts.dbMatch(*args, **kwds)
        for (tag, tp, pat) in patterns:
            mi.pattern(tag, tp, pat)
        return mi

    def __getattr__(self, attr):
        if attr in self._methods:
            return self.getMethod(attr)
        else:
            raise AttributeError(attr)

    def __iter__(self):
        return self.ts

    def getMethod(self, method):
        # in theory, we can override this with
        # profile/etc info
        return getattr(self.ts, method)

    # push/pop methods so we dont lose the previous
    # set value, and we can potentiall debug a bit
    # easier
    def pushVSFlags(self, flags):
        self.tsflags.append(flags)
        self.ts.setVSFlags(self.tsflags[-1])

    def addTsFlag(self, flag):
        curflags = self.ts.setFlags(0)
        self.ts.setFlags(curflags | flag)

    def getTsFlags(self):
        curflags = self.ts.setFlags(0)
        self.ts.setFlags(curflags)
        return curflags

    def isTsFlagSet(self, flag):
        val = self.getTsFlags()
        return bool(flag & val)

    def setScriptFd(self, fd):
        self.ts.scriptFd = fd.fileno()

    def test(self, cb, conf={}):
        """tests the ts we've setup, takes a callback function and a conf dict
           for flags and what not"""

        origflags = self.getTsFlags()
        self.addTsFlag(rpm.RPMTRANS_FLAG_TEST)
        # FIXME GARBAGE - remove once this is reimplemented elsewhere
        # KEEPING FOR API COMPLIANCE ONLY
        if conf.get('diskspacecheck') == 0:
            self.ts.setProbFilter(rpm.RPMPROB_FILTER_DISKSPACE)
        tserrors = self.ts.run(cb.callback, '')
        self.ts.setFlags(origflags)

        reserrors = []
        if tserrors is not None:
            for (descr, (etype, mount, need)) in tserrors:
                reserrors.append(descr)
            if not reserrors:
                reserrors.append(_('Errors occurred during test transaction.'))

        return reserrors

def initReadOnlyTransaction(root='/'):
    read_ts =  TransactionWrapper(root=root)
    read_ts.pushVSFlags((rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS))
    return read_ts
PK!�FZ#�rpm/error.pynu�[���# error.py
# RpmUtilsError
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

class RpmUtilsError(Exception):
    pass
PK!�FZS���--transaction.pynu�[���# -*- coding: utf-8 -*-

# transaction.py
# Managing the transaction to be passed to RPM.
#
# Copyright (C) 2013-2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

import libdnf.transaction

from dnf.i18n import _, C_

# :api - all action constants are considered an API

# per-package actions - from libdnf
PKG_DOWNGRADE = libdnf.transaction.TransactionItemAction_DOWNGRADE
PKG_DOWNGRADED = libdnf.transaction.TransactionItemAction_DOWNGRADED
PKG_INSTALL = libdnf.transaction.TransactionItemAction_INSTALL
PKG_OBSOLETE = libdnf.transaction.TransactionItemAction_OBSOLETE
PKG_OBSOLETED = libdnf.transaction.TransactionItemAction_OBSOLETED
PKG_REINSTALL = libdnf.transaction.TransactionItemAction_REINSTALL
PKG_REINSTALLED = libdnf.transaction.TransactionItemAction_REINSTALLED
PKG_REMOVE = libdnf.transaction.TransactionItemAction_REMOVE
PKG_UPGRADE = libdnf.transaction.TransactionItemAction_UPGRADE
PKG_UPGRADED = libdnf.transaction.TransactionItemAction_UPGRADED

# compatibility
PKG_ERASE = PKG_REMOVE

# per-package actions - additional
PKG_CLEANUP = 101
PKG_VERIFY = 102
PKG_SCRIPTLET = 103

# transaction-wide actions
TRANS_PREPARATION = 201
TRANS_POST = 202


# packages that appeared on the system
FORWARD_ACTIONS = [
    libdnf.transaction.TransactionItemAction_INSTALL,
    libdnf.transaction.TransactionItemAction_DOWNGRADE,
    libdnf.transaction.TransactionItemAction_OBSOLETE,
    libdnf.transaction.TransactionItemAction_UPGRADE,
    libdnf.transaction.TransactionItemAction_REINSTALL,
]


# packages that got removed from the system
BACKWARD_ACTIONS = [
    libdnf.transaction.TransactionItemAction_DOWNGRADED,
    libdnf.transaction.TransactionItemAction_OBSOLETED,
    libdnf.transaction.TransactionItemAction_UPGRADED,
    libdnf.transaction.TransactionItemAction_REMOVE,
# TODO: REINSTALLED may and may not belong here; the same NEVRA is in FORWARD_ACTIONS already
#    libdnf.transaction.TransactionItemAction_REINSTALLED,
]


ACTIONS = {
    # TRANSLATORS: This is for a single package currently being downgraded.
    PKG_DOWNGRADE: C_('currently', 'Downgrading'),
    PKG_DOWNGRADED: _('Cleanup'),
    # TRANSLATORS: This is for a single package currently being installed.
    PKG_INSTALL: C_('currently', 'Installing'),
    PKG_OBSOLETE: _('Obsoleting'),
    PKG_OBSOLETED: _('Obsoleting'),
    # TRANSLATORS: This is for a single package currently being reinstalled.
    PKG_REINSTALL: C_('currently', 'Reinstalling'),
    PKG_REINSTALLED: _('Cleanup'),
    # TODO: 'Removing'?
    PKG_REMOVE: _('Erasing'),
    # TRANSLATORS: This is for a single package currently being upgraded.
    PKG_UPGRADE: C_('currently', 'Upgrading'),
    PKG_UPGRADED: _('Cleanup'),

    PKG_CLEANUP: _('Cleanup'),
    PKG_VERIFY: _('Verifying'),
    PKG_SCRIPTLET: _('Running scriptlet'),

    TRANS_PREPARATION: _('Preparing'),
    # TODO: TRANS_POST
}


# untranslated strings, logging to /var/log/dnf/dnf.rpm.log
FILE_ACTIONS = {
    PKG_DOWNGRADE: 'Downgrade',
    PKG_DOWNGRADED: 'Downgraded',
    PKG_INSTALL: 'Installed',
    PKG_OBSOLETE: 'Obsolete',
    PKG_OBSOLETED: 'Obsoleted',
    PKG_REINSTALL: 'Reinstall',
    PKG_REINSTALLED: 'Reinstalled',
    # TODO: 'Removed'?
    PKG_REMOVE: 'Erase',
    PKG_UPGRADE: 'Upgrade',
    PKG_UPGRADED: 'Upgraded',

    PKG_CLEANUP: 'Cleanup',
    PKG_VERIFY: 'Verified',
    PKG_SCRIPTLET: 'Running scriptlet',

    TRANS_PREPARATION: 'Preparing',
    # TODO: TRANS_POST
}
PK!�FZ�"�33query.pynu�[���# query.py
# Implements Query.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
import hawkey

from hawkey import Query
from dnf.i18n import ucd
from dnf.pycomp import basestring



def _by_provides(sack, patterns, ignore_case=False, get_query=False):
    if isinstance(patterns, basestring):
        patterns = [patterns]

    q = sack.query()
    flags = []
    if ignore_case:
        flags.append(hawkey.ICASE)

    q.filterm(*flags, provides__glob=patterns)
    if get_query:
        return q
    return q.run()

def _per_nevra_dict(pkg_list):
    return {ucd(pkg):pkg for pkg in pkg_list}
PK!�FZY't�oopersistor.pynu�[���# persistor.py
# Persistence data container.
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

# The current implementation is storing to files in persistdir. Do not depend on
# specific files existing, instead use the persistor API. The underlying
# implementation can change, e.g. for one general file with a serialized dict of
# data etc.

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
import distutils.version
import dnf.util
import errno
import fnmatch
import json
import logging
import os
import re

logger = logging.getLogger("dnf")


class JSONDB(object):

    def _check_json_db(self, json_path):
        if not os.path.isfile(json_path):
            # initialize new db
            dnf.util.ensure_dir(os.path.dirname(json_path))
            self._write_json_db(json_path, [])

    def _get_json_db(self, json_path, default=[]):
        with open(json_path, 'r') as f:
            content = f.read()
        if content == "":
            # empty file is invalid json format
            logger.warning(_("%s is empty file"), json_path)
            self._write_json_db(json_path, default)
        else:
            try:
                default = json.loads(content)
            except ValueError as e:
                logger.warning(e)
        return default

    @staticmethod
    def _write_json_db(json_path, content):
        with open(json_path, 'w') as f:
            json.dump(content, f)


class RepoPersistor(JSONDB):
    """Persistent data kept for repositories.

    Is arch/releasever specific and stores to cachedir.

    """

    def __init__(self, cachedir):
        self.cachedir = cachedir
        self.db_path = os.path.join(self.cachedir, "expired_repos.json")
        self.expired_to_add = set()
        self.reset_last_makecache = False

    @property
    def _last_makecache_path(self):
        return os.path.join(self.cachedir, "last_makecache")

    def get_expired_repos(self):
        try:
            self._check_json_db(self.db_path)
            return set(self._get_json_db(self.db_path))
        except OSError as e:
            logger.warning(_("Failed to load expired repos cache: %s"), e)
            return None

    def save(self):
        try:
            self._check_json_db(self.db_path)
            self._write_json_db(self.db_path, list(self.expired_to_add))
        except OSError as e:
            logger.warning(_("Failed to store expired repos cache: %s"), e)
            return False
        if self.reset_last_makecache:
            try:
                dnf.util.touch(self._last_makecache_path)
                return True
            except IOError:
                logger.warning(_("Failed storing last makecache time."))
                return False

    def since_last_makecache(self):
        try:
            return int(dnf.util.file_age(self._last_makecache_path))
        except OSError:
            logger.warning(_("Failed determining last makecache time."))
            return None


class TempfilePersistor(JSONDB):

    def __init__(self, cachedir):
        self.db_path = os.path.join(cachedir, "tempfiles.json")
        self.tempfiles_to_add = set()
        self._empty = False

    def get_saved_tempfiles(self):
        self._check_json_db(self.db_path)
        return self._get_json_db(self.db_path)

    def save(self):
        if not self._empty and not self.tempfiles_to_add:
            return
        self._check_json_db(self.db_path)
        if self._empty:
            self._write_json_db(self.db_path, [])
            return
        if self.tempfiles_to_add:
            data = set(self._get_json_db(self.db_path))
            data.update(self.tempfiles_to_add)
            self._write_json_db(self.db_path, list(data))

    def empty(self):
        self._empty = True
PK!�FZ8A�~~
history.pynu�[���# history.py
# Interfaces to the history of transactions.
#
# Copyright (C) 2013-2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

"""Interfaces to the history of transactions."""

from __future__ import absolute_import
from __future__ import unicode_literals

PK!�FZ8����+�+
package.pynu�[���# package.py
# Module defining the dnf.Package class.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

""" Contains the dnf.Package class. """

from __future__ import absolute_import
from __future__ import unicode_literals

from dnf.i18n import _

import binascii
import dnf.exceptions
import dnf.rpm
import dnf.yum.misc
import hawkey
import libdnf.error
import libdnf.utils
import logging
import os
import rpm

logger = logging.getLogger("dnf")


class Package(hawkey.Package):
    """ Represents a package. #:api """

    DEBUGINFO_SUFFIX = "-debuginfo"  # :api
    DEBUGSOURCE_SUFFIX = "-debugsource"  # :api

    def __init__(self, initobject, base):
        super(Package, self).__init__(initobject)
        self.base = base
        self._priv_chksum = None
        self._repo = None
        self._priv_size = None

    @property
    def _chksum(self):
        if self._priv_chksum:
            return self._priv_chksum
        if self._from_cmdline:
            chksum_type = dnf.yum.misc.get_default_chksum_type()
            try:
                chksum_val = libdnf.utils.checksum_value(chksum_type, self.location)
            except libdnf.error.Error as e:
                raise dnf.exceptions.MiscError(str(e))
            return (hawkey.chksum_type(chksum_type),
                    binascii.unhexlify(chksum_val))
        return super(Package, self).chksum

    @_chksum.setter
    def _chksum(self, val):
        self._priv_chksum = val

    @property
    def _from_cmdline(self):
        return self.reponame == hawkey.CMDLINE_REPO_NAME

    @property
    def _from_system(self):
        return self.reponame == hawkey.SYSTEM_REPO_NAME

    @property
    def _from_repo(self):
        """
        For installed packages returns id of repository from which the package was installed
        prefixed with '@' (if such information is available in the history database). Otherwise
        returns id of repository the package belongs to (@System for installed packages of unknown
        origin)
        """
        pkgrepo = None
        if self._from_system:
            pkgrepo = self.base.history.repo(self)
        if pkgrepo:
            return '@' + pkgrepo
        return self.reponame

    @property
    def from_repo(self):
        # :api
        if self._from_system:
            return self.base.history.repo(self)
        return ""

    @property
    def _header(self):
        """
        Returns the header of a locally present rpm package file. As opposed to
        self.get_header(), which retrieves the header of an installed package
        from rpmdb.
        """
        return dnf.rpm._header(self.localPkg())

    @property
    def _size(self):
        if self._priv_size:
            return self._priv_size
        return super(Package, self).size

    @_size.setter
    def _size(self, val):
        self._priv_size = val

    @property
    def _pkgid(self):
        if self.hdr_chksum is None:
            return None
        (_, chksum) = self.hdr_chksum
        return binascii.hexlify(chksum)

    @property
    def source_name(self):
        # :api
        """
        returns name of source package
        e.g. krb5-libs -> krb5
        """
        if self.sourcerpm is not None:
            # trim suffix first
            srcname = dnf.util.rtrim(self.sourcerpm, ".src.rpm")
            # sourcerpm should be in form of name-version-release now, so we
            # will strip the two rightmost parts separated by dash.
            # Using rtrim with version and release of self is not sufficient
            # because the package can have different version to the source
            # package.
            srcname = srcname.rsplit('-', 2)[0]
        else:
            srcname = None
        return srcname

    @property
    def debug_name(self):
        # :api
        """
        Returns name of the debuginfo package for this package.
        If this package is a debuginfo package, returns its name.
        If this package is a debugsource package, returns the debuginfo package
        for the base package.
        e.g. kernel-PAE -> kernel-PAE-debuginfo
        """
        if self.name.endswith(self.DEBUGINFO_SUFFIX):
            return self.name

        name = self.name
        if self.name.endswith(self.DEBUGSOURCE_SUFFIX):
            name = name[:-len(self.DEBUGSOURCE_SUFFIX)]

        return name + self.DEBUGINFO_SUFFIX

    @property
    def debugsource_name(self):
        # :api
        """
        Returns name of the debugsource package for this package.
        e.g. krb5-libs -> krb5-debugsource
        """
        # assuming self.source_name is None only for a source package
        src_name = self.source_name if self.source_name is not None else self.name
        return src_name + self.DEBUGSOURCE_SUFFIX

    def get_header(self):
        """
        Returns the rpm header of the package if it is installed. If not
        installed, returns None. The header is not cached, it is retrieved from
        rpmdb on every call. In case of a failure (e.g. when the rpmdb changes
        between loading the data and calling this method), raises an instance
        of PackageNotFoundError.
        """
        if not self._from_system:
            return None

        try:
            # RPMDBI_PACKAGES stands for the header of the package
            return next(self.base._ts.dbMatch(rpm.RPMDBI_PACKAGES, self.rpmdbid))
        except StopIteration:
            raise dnf.exceptions.PackageNotFoundError("Package not found when attempting to retrieve header", str(self))

    @property
    def source_debug_name(self):
        # :api
        """
        returns name of debuginfo package for source package of given package
        e.g. krb5-libs -> krb5-debuginfo
        """
        # assuming self.source_name is None only for a source package
        src_name = self.source_name if self.source_name is not None else self.name
        return src_name + self.DEBUGINFO_SUFFIX

    @property # yum compatibility attribute
    def idx(self):
        """ Always type it to int, rpm bindings expect it like that. """
        return int(self.rpmdbid)

    @property # yum compatibility attribute
    def repoid(self):
        return self.reponame

    @property # yum compatibility attribute
    def pkgtup(self):
        return (self.name, self.arch, str(self.e), self.v, self.r)

    @property # yum compatibility attribute
    def repo(self):
        if self._repo:
            return self._repo
        return self.base.repos[self.reponame]

    @repo.setter
    def repo(self, val):
        self._repo = val

    @property
    def reason(self):
        if self.repoid != hawkey.SYSTEM_REPO_NAME:
            return None
        return self.base.history.rpm.get_reason_name(self)

    @property # yum compatibility attribute
    def relativepath(self):
        return self.location

    @property # yum compatibility attribute
    def a(self):
        return self.arch

    @property # yum compatibility attribute
    def e(self):
        return self.epoch

    @property # yum compatibility attribute
    def v(self):
        return self.version

    @property # yum compatibility attribute
    def r(self):
        return self.release

    @property # yum compatibility attribute
    def ui_from_repo(self):
        return self.reponame

    # yum compatibility method
    def evr_eq(self, pkg):
        return self.evr_cmp(pkg) == 0

    # yum compatibility method
    def evr_gt(self, pkg):
        return self.evr_cmp(pkg) > 0

    # yum compatibility method
    def evr_lt(self, pkg):
        return self.evr_cmp(pkg) < 0

    # yum compatibility method
    def getDiscNum(self):
        return self.medianr

    # yum compatibility method
    def localPkg(self):
        """ Package's location in the filesystem.

            For packages in remote repo returns where the package will be/has
            been downloaded.
        """
        if self._from_cmdline:
            return self.location
        loc = self.location
        if self.repo._repo.isLocal() and self.baseurl and self.baseurl.startswith('file://'):
            return os.path.join(self.get_local_baseurl(), loc.lstrip("/"))
        if not self._is_local_pkg():
            loc = os.path.basename(loc)
        return os.path.join(self.pkgdir, loc.lstrip("/"))

    def remote_location(self, schemes=('http', 'ftp', 'file', 'https')):
        # :api
        """
        The location from where the package can be downloaded from. Returns None for installed and
        commandline packages.

        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: location (string) or None
        """
        if self._from_system or self._from_cmdline:
            return None
        return self.repo.remote_location(self.location, schemes)

    def _is_local_pkg(self):
        if self._from_system:
            return True
        if '://' in self.location and not self.location.startswith('file://'):
            # the package has a remote URL as its location
            return False
        return self._from_cmdline or \
            (self.repo._repo.isLocal() and (not self.baseurl or self.baseurl.startswith('file://')))

    @property
    def pkgdir(self):
        if (self.repo._repo.isLocal() and not self._is_local_pkg()):
            return self.repo.cache_pkgdir()
        else:
            return self.repo.pkgdir

    # yum compatibility method
    def returnIdSum(self):
        """ Return the chksum type and chksum string how the legacy yum expects
            it.
        """
        if self._chksum is None:
            return (None, None)
        (chksum_type, chksum) = self._chksum
        return (hawkey.chksum_name(chksum_type), binascii.hexlify(chksum).decode())

    # yum compatibility method
    def verifyLocalPkg(self):
        if self._from_system:
            raise ValueError("Can not verify an installed package.")
        if self._from_cmdline:
            return True # local package always verifies against itself
        (chksum_type, chksum) = self.returnIdSum()
        try:
            return libdnf.utils.checksum_check(chksum_type, self.localPkg(), chksum)
        except libdnf.error.Error as e:
            raise dnf.exceptions.MiscError(str(e))
PK!�FZ;G@�V%V%	plugin.pynu�[���# plugin.py
# The interface for building DNF plugins.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import fnmatch
import glob
import importlib
import inspect
import logging
import operator
import os
import sys
import traceback

import libdnf
import dnf.logging
import dnf.pycomp
import dnf.util
from dnf.i18n import _

logger = logging.getLogger('dnf')

DYNAMIC_PACKAGE = 'dnf.plugin.dynamic'


class Plugin(object):
    """The base class custom plugins must derive from. #:api"""

    name = '<invalid>'
    config_name = None

    @classmethod
    def read_config(cls, conf):
        # :api
        parser = libdnf.conf.ConfigParser()
        name = cls.config_name if cls.config_name else cls.name
        files = ['%s/%s.conf' % (path, name) for path in conf.pluginconfpath]
        for file in files:
            if os.path.isfile(file):
                try:
                    parser.read(file)
                except Exception as e:
                    raise dnf.exceptions.ConfigError(_("Parsing file failed: %s") % str(e))
        return parser

    def __init__(self, base, cli):
        # :api
        self.base = base
        self.cli = cli

    def pre_config(self):
        # :api
        pass

    def config(self):
        # :api
        pass

    def resolved(self):
        # :api
        pass

    def sack(self):
        # :api
        pass

    def pre_transaction(self):
        # :api
        pass

    def transaction(self):
        # :api
        pass


class Plugins(object):
    def __init__(self):
        self.plugin_cls = []
        self.plugins = []

    def __del__(self):
        self._unload()

    def _caller(self, method):
        for plugin in self.plugins:
            try:
                getattr(plugin, method)()
            except dnf.exceptions.Error:
                raise
            except Exception:
                exc_type, exc_value, exc_traceback = sys.exc_info()
                except_list = traceback.format_exception(exc_type, exc_value, exc_traceback)
                logger.critical(''.join(except_list))

    def _check_enabled(self, conf, enable_plugins):
        """Checks whether plugins are enabled or disabled in configuration files
           and removes disabled plugins from list"""
        for plug_cls in self.plugin_cls[:]:
            name = plug_cls.name
            if any(fnmatch.fnmatch(name, pattern) for pattern in enable_plugins):
                continue
            parser = plug_cls.read_config(conf)
            # has it enabled = False?
            disabled = (parser.has_section('main')
                        and parser.has_option('main', 'enabled')
                        and not parser.getboolean('main', 'enabled'))
            if disabled:
                self.plugin_cls.remove(plug_cls)

    def _load(self, conf, skips, enable_plugins):
        """Dynamically load relevant plugin modules."""

        if DYNAMIC_PACKAGE in sys.modules:
            raise RuntimeError("load_plugins() called twice")
        sys.modules[DYNAMIC_PACKAGE] = package = dnf.pycomp.ModuleType(DYNAMIC_PACKAGE)
        package.__path__ = []

        files = _get_plugins_files(conf.pluginpath, skips, enable_plugins)
        _import_modules(package, files)
        self.plugin_cls = _plugin_classes()[:]
        self._check_enabled(conf, enable_plugins)
        if len(self.plugin_cls) > 0:
            names = sorted(plugin.name for plugin in self.plugin_cls)
            logger.debug(_('Loaded plugins: %s'), ', '.join(names))

    def _run_pre_config(self):
        self._caller('pre_config')

    def _run_config(self):
        self._caller('config')

    def _run_init(self, base, cli=None):
        for p_cls in self.plugin_cls:
            plugin = p_cls(base, cli)
            self.plugins.append(plugin)

    def run_sack(self):
        self._caller('sack')

    def run_resolved(self):
        self._caller('resolved')

    def run_pre_transaction(self):
        self._caller('pre_transaction')

    def run_transaction(self):
        self._caller('transaction')

    def _unload(self):
        if DYNAMIC_PACKAGE in sys.modules:
            logger.log(dnf.logging.DDEBUG, 'Plugins were unloaded.')
            del sys.modules[DYNAMIC_PACKAGE]

    def unload_removed_plugins(self, transaction):
        """
        Unload plugins that were removed in the `transaction`.
        """
        if not transaction.remove_set:
            return

        # gather all installed plugins and their files
        plugins = dict()
        for plugin in self.plugins:
            plugins[inspect.getfile(plugin.__class__)] = plugin

        # gather all removed files that are plugin files
        plugin_files = set(plugins.keys())
        erased_plugin_files = set()
        for pkg in transaction.remove_set:
            erased_plugin_files.update(plugin_files.intersection(pkg.files))
        if not erased_plugin_files:
            return

        # check whether removed plugin file is added at the same time (upgrade of a plugin)
        for pkg in transaction.install_set:
            erased_plugin_files.difference_update(pkg.files)

        # unload plugins that were removed in transaction
        for plugin_file in erased_plugin_files:
            self.plugins.remove(plugins[plugin_file])


def _plugin_classes():
    return Plugin.__subclasses__()


def _import_modules(package, py_files):
    for fn in py_files:
        path, module = os.path.split(fn)
        package.__path__.append(path)
        (module, ext) = os.path.splitext(module)
        name = '%s.%s' % (package.__name__, module)
        try:
            module = importlib.import_module(name)
        except Exception as e:
            logger.error(_('Failed loading plugin "%s": %s'), module, e)
            logger.log(dnf.logging.SUBDEBUG, '', exc_info=True)


def _get_plugins_files(paths, disable_plugins, enable_plugins):
    plugins = []
    disable_plugins = set(disable_plugins)
    enable_plugins = set(enable_plugins)
    pattern_enable_found = set()
    pattern_disable_found = set()
    for p in paths:
        for fn in glob.glob('%s/*.py' % p):
            (plugin_name, dummy) = os.path.splitext(os.path.basename(fn))
            matched = True
            enable_pattern_tested = False
            for pattern_skip in disable_plugins:
                if _plugin_name_matches_pattern(plugin_name, pattern_skip):
                    pattern_disable_found.add(pattern_skip)
                    matched = False
                    for pattern_enable in enable_plugins:
                        if _plugin_name_matches_pattern(plugin_name, pattern_enable):
                            matched = True
                            pattern_enable_found.add(pattern_enable)
                    enable_pattern_tested = True
            if not enable_pattern_tested:
                for pattern_enable in enable_plugins:
                    if _plugin_name_matches_pattern(plugin_name, pattern_enable):
                        pattern_enable_found.add(pattern_enable)
            if matched:
                plugins.append(fn)
    enable_not_found = enable_plugins.difference(pattern_enable_found)
    if enable_not_found:
        logger.warning(_("No matches found for the following enable plugin patterns: {}").format(
            ", ".join(sorted(enable_not_found))))
    disable_not_found = disable_plugins.difference(pattern_disable_found)
    if disable_not_found:
        logger.warning(_("No matches found for the following disable plugin patterns: {}").format(
            ", ".join(sorted(disable_not_found))))
    return plugins


def _plugin_name_matches_pattern(plugin_name, pattern):
    """
    Checks plugin name matches the pattern.

    The alternative plugin name using dashes instead of underscores is tried
    in case of original name is not matched.

    (see https://bugzilla.redhat.com/show_bug.cgi?id=1980712)
    """

    try_names = set((plugin_name, plugin_name.replace('_', '-')))
    return any(fnmatch.fnmatch(name, pattern) for name in try_names)


def register_command(command_class):
    # :api
    """A class decorator for automatic command registration."""
    def __init__(self, base, cli):
        if cli:
            cli.register_command(command_class)
    plugin_class = type(str(command_class.__name__ + 'Plugin'),
                        (dnf.Plugin,),
                        {"__init__": __init__,
                         "name": command_class.aliases[0]})
    command_class._plugin = plugin_class
    return command_class
PK!�FZM�v��drpm.pynu�[���# drpm.py
# Delta RPM support
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from binascii import hexlify
from dnf.yum.misc import unlink_f
from dnf.i18n import _

import dnf.callback
import dnf.logging
import dnf.repo
import hawkey
import logging
import libdnf.repo
import os

APPLYDELTA = '/usr/bin/applydeltarpm'

logger = logging.getLogger("dnf")


class DeltaPayload(dnf.repo.PackagePayload):
    def __init__(self, delta_info, delta, pkg, progress):
        super(DeltaPayload, self).__init__(pkg, progress)
        self.delta_info = delta_info
        self.delta = delta

    def __str__(self):
        return os.path.basename(self.delta.location)

    def _end_cb(self, cbdata, lr_status, msg):
        super(DeltaPayload, self)._end_cb(cbdata, lr_status, msg)
        if lr_status != libdnf.repo.PackageTargetCB.TransferStatus_ERROR:
            self.delta_info.enqueue(self)

    def _target_params(self):
        delta = self.delta
        ctype, csum = delta.chksum
        ctype = hawkey.chksum_name(ctype)
        chksum = hexlify(csum).decode()

        ctype_code = libdnf.repo.PackageTarget.checksumType(ctype)
        if ctype_code == libdnf.repo.PackageTarget.ChecksumType_UNKNOWN:
            logger.warning(_("unsupported checksum type: %s"), ctype)

        return {
            'relative_url' : delta.location,
            'checksum_type' : ctype_code,
            'checksum' : chksum,
            'expectedsize' : delta.downloadsize,
            'base_url' : delta.baseurl,
        }

    @property
    def download_size(self):
        return self.delta.downloadsize

    @property
    def _full_size(self):
        return self.pkg.downloadsize

    def localPkg(self):
        location = self.delta.location
        return os.path.join(self.pkg.repo.pkgdir, os.path.basename(location))


class DeltaInfo(object):
    def __init__(self, query, progress, deltarpm_percentage=None):
        '''A delta lookup and rebuild context
           query -- installed packages to use when looking up deltas
           progress -- progress obj to display finished delta rebuilds
        '''
        self.deltarpm_installed = False
        if os.access(APPLYDELTA, os.X_OK):
            self.deltarpm_installed = True
        try:
            self.deltarpm_jobs = os.sysconf('SC_NPROCESSORS_ONLN')
        except (TypeError, ValueError):
            self.deltarpm_jobs = 4
        if deltarpm_percentage is None:
            self.deltarpm_percentage = dnf.conf.Conf().deltarpm_percentage
        else:
            self.deltarpm_percentage = deltarpm_percentage
        self.query = query
        self.progress = progress

        self.queue = []
        self.jobs = {}
        self.err = {}

    def delta_factory(self, po, progress):
        '''Turn a po to Delta RPM po, if possible'''
        if not self.deltarpm_installed:
            # deltarpm is not installed
            return None
        if not po.repo.deltarpm or not self.deltarpm_percentage:
            # drpm disabled
            return None
        if po._is_local_pkg():
            # drpm disabled for local
            return None
        if os.path.exists(po.localPkg()):
            # already there
            return None

        best = po._size * self.deltarpm_percentage / 100
        best_delta = None
        for ipo in self.query.filter(name=po.name, arch=po.arch):
            delta = po.get_delta_from_evr(ipo.evr)
            if delta and delta.downloadsize < best:
                best = delta.downloadsize
                best_delta = delta
        if best_delta:
            return DeltaPayload(self, best_delta, po, progress)
        return None

    def job_done(self, pid, code):
        # handle a finished delta rebuild
        logger.log(dnf.logging.SUBDEBUG, 'drpm: %d: return code: %d, %d', pid,
                   code >> 8, code & 0xff)

        pload = self.jobs.pop(pid)
        pkg = pload.pkg
        if code != 0:
            unlink_f(pload.pkg.localPkg())
            self.err[pkg] = [_('Delta RPM rebuild failed')]
        elif not pload.pkg.verifyLocalPkg():
            self.err[pkg] = [_('Checksum of the delta-rebuilt RPM failed')]
        else:
            os.unlink(pload.localPkg())
            self.progress.end(pload, dnf.callback.STATUS_DRPM, _('done'))

    def start_job(self, pload):
        # spawn a delta rebuild job
        spawn_args = [APPLYDELTA, APPLYDELTA,
                      '-a', pload.pkg.arch,
                      pload.localPkg(), pload.pkg.localPkg()]
        pid = os.spawnl(os.P_NOWAIT, *spawn_args)
        logger.log(dnf.logging.SUBDEBUG, 'drpm: spawned %d: %s', pid,
                   ' '.join(spawn_args[1:]))
        self.jobs[pid] = pload

    def enqueue(self, pload):
        # process finished jobs, start new ones
        while self.jobs:
            pid, code = os.waitpid(-1, os.WNOHANG)
            if not pid:
                break
            self.job_done(pid, code)
        self.queue.append(pload)
        while len(self.jobs) < self.deltarpm_jobs:
            self.start_job(self.queue.pop(0))
            if not self.queue:
                break

    def wait(self):
        '''Wait until all jobs have finished'''
        while self.jobs:
            pid, code = os.wait()
            self.job_done(pid, code)
            if self.queue:
                self.start_job(self.queue.pop(0))
PK!�FZuTV&&repodict.pynu�[���# repodict.py
# Managing repo configuration in DNF.
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals
from dnf.exceptions import ConfigError
from dnf.i18n import _

import dnf.util
import libdnf.conf
import fnmatch
import os

logger = dnf.util.logger


class RepoDict(dict):
    # :api
    def add(self, repo):
        # :api
        id_ = repo.id
        if id_ in self:
            msg = 'Repository %s is listed more than once in the configuration'
            raise ConfigError(msg % id_)
        try:
            repo._repo.verify()
        except RuntimeError as e:
            raise ConfigError("{0}".format(e))
        self[id_] = repo

    def all(self):
        # :api
        return dnf.util.MultiCallList(self.values())

    def _any_enabled(self):
        return not dnf.util.empty(self.iter_enabled())

    def _enable_sub_repos(self, sub_name_fn):
        for repo in self.iter_enabled():
            for found in self.get_matching(sub_name_fn(repo.id)):
                if not found.enabled:
                    logger.info(_('enabling %s repository'), found.id)
                    found.enable()

    def add_new_repo(self, repoid, conf, baseurl=(), **kwargs):
        # :api
        """
        Creates new repo object and add it into RepoDict. Variables in provided values will be
        automatically substituted using conf.substitutions (like $releasever, ...)

        @param repoid: Repo ID - string
        @param conf: dnf Base().conf object
        @param baseurl: List of strings
        @param kwargs: keys and values that will be used to setattr on dnf.repo.Repo() object
        @return: dnf.repo.Repo() object
        """
        def substitute(values):
            if isinstance(values, str):
                return libdnf.conf.ConfigParser.substitute(values, conf.substitutions)
            elif isinstance(values, list) or isinstance(values, tuple):
                substituted = []
                for value in values:
                    if isinstance(value, str):
                        substituted.append(
                            libdnf.conf.ConfigParser.substitute(value, conf.substitutions))
                if substituted:
                    return substituted
            return values

        repo = dnf.repo.Repo(repoid, conf)
        for path in baseurl:
            if '://' not in path:
                path = 'file://{}'.format(os.path.abspath(path))
            repo.baseurl += [substitute(path)]
        for (key, value) in kwargs.items():
            setattr(repo, key, substitute(value))
        self.add(repo)
        logger.info(_("Added %s repo from %s"), repoid, ', '.join(baseurl))
        return repo

    def enable_debug_repos(self):
        # :api
        """enable debug repos corresponding to already enabled binary repos"""

        def debug_name(name):
            return ("{}-debug-rpms".format(name[:-5]) if name.endswith("-rpms")
                    else "{}-debuginfo".format(name))

        self._enable_sub_repos(debug_name)

    def enable_source_repos(self):
        # :api
        """enable source repos corresponding to already enabled binary repos"""

        def source_name(name):
            return ("{}-source-rpms".format(name[:-5]) if name.endswith("-rpms")
                    else "{}-source".format(name))

        self._enable_sub_repos(source_name)

    def get_matching(self, key):
        # :api
        if dnf.util.is_glob_pattern(key):
            l = [self[k] for k in self if fnmatch.fnmatch(k, key)]
            return dnf.util.MultiCallList(l)
        repo = self.get(key, None)
        if repo is None:
            return dnf.util.MultiCallList([])
        return dnf.util.MultiCallList([repo])

    def iter_enabled(self):
        # :api
        return (r for r in self.values() if r.enabled)

    def items(self):
        """return repos sorted by priority"""
        return (item for item in sorted(super(RepoDict, self).items(),
                                        key=lambda x: (x[1].priority, x[1].cost)))

    def __iter__(self):
        return self.keys()

    def keys(self):
        return (k for k, v in self.items())

    def values(self):
        return (v for k, v in self.items())
PK!�FZ�4�X��)__pycache__/repodict.cpython-36.opt-1.pycnu�[���3

i�-e&�@s`ddlmZddlmZddlmZddlZddlZ	ddl
Z
ddlZejj
Z
Gdd�de�ZdS)�)�unicode_literals)�ConfigError)�_Ncs�eZdZdd�Zdd�Zdd�Zdd�Zffd	d
�Zdd�Zd
d�Z	dd�Z
dd�Z�fdd�Zdd�Z
dd�Zdd�Z�ZS)�RepoDictcCsj|j}||krd}t||��y|jj�Wn0tk
r\}ztdj|���WYdd}~XnX|||<dS)Nz;Repository %s is listed more than once in the configurationz{0})�idrZ_repoZverify�RuntimeError�format)�self�repoZid_�msg�e�r
�/usr/lib/python3.6/repodict.py�add#s zRepoDict.addcCstjj|j��S)N)�dnf�util�
MultiCallList�values)r	r
r
r�all/szRepoDict.allcCstjj|j��S)N)rr�empty�iter_enabled)r	r
r
r�_any_enabled3szRepoDict._any_enabledcCsPxJ|j�D]>}x8|j||j��D]$}|js tjtd�|j�|j�q Wq
WdS)Nzenabling %s repository)r�get_matchingr�enabled�logger�infor�enable)r	Zsub_name_fnr
�foundr
r
r�_enable_sub_repos6s
zRepoDict._enable_sub_reposc
s��fdd�}tjj|��}x:|D]2}d|kr>djtjj|��}|j||�g7_q Wx$|j�D]\}}	t	||||	��q`W|j
|�tjt
d�|dj|��|S)a�
        Creates new repo object and add it into RepoDict. Variables in provided values will be
        automatically substituted using conf.substitutions (like $releasever, ...)

        @param repoid: Repo ID - string
        @param conf: dnf Base().conf object
        @param baseurl: List of strings
        @param kwargs: keys and values that will be used to setattr on dnf.repo.Repo() object
        @return: dnf.repo.Repo() object
        cspt|t�rtjjj|�j�St|t�s0t|t�rlg}x.|D]&}t|t�r:|j	tjjj|�j��q:W|rl|S|S)N)
�
isinstance�str�libdnf�confZConfigParser�
substituteZ
substitutions�list�tuple�append)rZsubstituted�value)r"r
rr#Is


z)RepoDict.add_new_repo.<locals>.substitutez://z	file://{}zAdded %s repo from %sz, )rr
ZRepor�os�path�abspath�baseurl�items�setattrrrrr�join)
r	Zrepoidr"r+�kwargsr#r
r)�keyr'r
)r"r�add_new_repo=s


zRepoDict.add_new_repocCsdd�}|j|�dS)z@enable debug repos corresponding to already enabled binary reposcSs&|jd�rdj|dd��Sdj|�S)Nz-rpmsz
{}-debug-rpms�z{}-debuginfo���)�endswithr)�namer
r
r�
debug_nameesz/RepoDict.enable_debug_repos.<locals>.debug_nameN)r)r	r6r
r
r�enable_debug_reposaszRepoDict.enable_debug_reposcCsdd�}|j|�dS)zAenable source repos corresponding to already enabled binary reposcSs&|jd�rdj|dd��Sdj|�S)Nz-rpmsz{}-source-rpmsr2z	{}-sourcer3)r4r)r5r
r
r�source_nameosz1RepoDict.enable_source_repos.<locals>.source_nameN)r)r	r8r
r
r�enable_source_reposkszRepoDict.enable_source_reposcsZtjj��r,��fdd��D�}tjj|�S�j�d�}|dkrLtjjg�Stjj|g�S)Ncs g|]}tj|��r�|�qSr
)�fnmatch)�.0�k)r0r	r
r�
<listcomp>xsz)RepoDict.get_matching.<locals>.<listcomp>)rrZis_glob_patternr�get)r	r0�lr
r
)r0r	rruszRepoDict.get_matchingcCsdd�|j�D�S)Ncss|]}|jr|VqdS)N)r)r;�rr
r
r�	<genexpr>�sz(RepoDict.iter_enabled.<locals>.<genexpr>)r)r	r
r
rrszRepoDict.iter_enabledcs$dd�ttt|�j�dd�d�D�S)zreturn repos sorted by prioritycss|]
}|VqdS)Nr
)r;�itemr
r
rrA�sz!RepoDict.items.<locals>.<genexpr>cSs|dj|djfS)N�)ZpriorityZcost)�xr
r
r�<lambda>�sz RepoDict.items.<locals>.<lambda>)r0)�sorted�superrr,)r	)�	__class__r
rr,�szRepoDict.itemscCs|j�S)N)�keys)r	r
r
r�__iter__�szRepoDict.__iter__cCsdd�|j�D�S)Ncss|]\}}|VqdS)Nr
)r;r<�vr
r
rrA�sz RepoDict.keys.<locals>.<genexpr>)r,)r	r
r
rrI�sz
RepoDict.keyscCsdd�|j�D�S)Ncss|]\}}|VqdS)Nr
)r;r<rKr
r
rrA�sz"RepoDict.values.<locals>.<genexpr>)r,)r	r
r
rr�szRepoDict.values)�__name__�
__module__�__qualname__rrrrr1r7r9rrr,rJrIr�
__classcell__r
r
)rHrr!s$


r)Z
__future__rZdnf.exceptionsrZdnf.i18nrZdnf.utilrZlibdnf.confr!r:r(rr�dictrr
r
r
r�<module>sPK!�FZ��"__pycache__/history.cpython-36.pycnu�[���3

�ft`~�@s dZddlmZddlmZdS)z*Interfaces to the history of transactions.�)�absolute_import)�unicode_literalsN)�__doc__Z
__future__rr�rr�/usr/lib/python3.6/history.py�<module>sPK!�FZ'&s�gg&__pycache__/transaction.cpython-36.pycnu�[���3

�ft`-�@s�ddlmZddlmZddlZddlmZmZejj	Z
ejjZejj
ZejjZejjZejjZejjZejjZejjZejjZeZdZdZdZ dZ!d	Z"ejj
ejj	ejjejjejjgZ#ejjejjejjejjgZ$e
ed
d�eed�eed
d
�eed�eed�eed
d�eed�eed�eed
d�eed�eed�eed�e ed�e!ed�iZ%e
dededededededededededede de!diZ&dS) �)�absolute_import)�unicode_literalsN)�_�C_�e�f�g����Z	currentlyZDowngradingZCleanupZ
InstallingZ
ObsoletingZReinstallingZErasingZ	UpgradingZ	VerifyingzRunning scriptletZ	PreparingZ	DowngradeZ
DowngradedZ	InstalledZObsoleteZ	ObsoletedZ	ReinstallZReinstalledZEraseZUpgradeZUpgradedZVerified)'Z
__future__rrZlibdnf.transactionZlibdnfZdnf.i18nrrZtransactionZTransactionItemAction_DOWNGRADEZ
PKG_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZPKG_DOWNGRADEDZTransactionItemAction_INSTALLZPKG_INSTALLZTransactionItemAction_OBSOLETEZPKG_OBSOLETEZTransactionItemAction_OBSOLETEDZ
PKG_OBSOLETEDZTransactionItemAction_REINSTALLZ
PKG_REINSTALLZ!TransactionItemAction_REINSTALLEDZPKG_REINSTALLEDZTransactionItemAction_REMOVEZ
PKG_REMOVEZTransactionItemAction_UPGRADEZPKG_UPGRADEZTransactionItemAction_UPGRADEDZPKG_UPGRADEDZ	PKG_ERASEZPKG_CLEANUPZ
PKG_VERIFYZ
PKG_SCRIPTLETZTRANS_PREPARATIONZ
TRANS_POSTZFORWARD_ACTIONSZBACKWARD_ACTIONSZACTIONSZFILE_ACTIONS�rr�!/usr/lib/python3.6/transaction.py�<module>sp





PK!�FZf獖*'*'"__pycache__/package.cpython-36.pycnu�[���3

�ft`�+�@s�dZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZddlZ
ddlZ
ddlZddlZddlZejd�ZGdd�dej�ZdS)	z! Contains the dnf.Package class. �)�absolute_import)�unicode_literals)�_N�dnfcs�eZdZdZdZdZ�fdd�Ze�fdd��Zej	dd��Zed	d
��Z
edd��Zed
d��Zedd��Z
edd��Ze�fdd��Zej	dd��Zedd��Zedd��Zedd��Zedd��Zdd�Zed d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zej	d*d)��Zed+d,��Zed-d.��Zed/d0��Zed1d2��Zed3d4��Zed5d6��Zed7d8��Z d9d:�Z!d;d<�Z"d=d>�Z#d?d@�Z$dAdB�Z%dRdGdH�Z&dIdJ�Z'edKdL��Z(dMdN�Z)dOdP�Z*�Z+S)S�Packagez Represents a package. #:api z
-debuginfoz-debugsourcecs,tt|�j|�||_d|_d|_d|_dS)N)�superr�__init__�base�_priv_chksum�_repo�
_priv_size)�selfZ
initobjectr	)�	__class__��/usr/lib/python3.6/package.pyr0s
zPackage.__init__cs�|jr|jS|jr~tjjj�}ytjj||j	�}Wn6tj
jk
rh}ztjj
t|���WYdd}~XnXtj|�tj|�fStt|�jS)N)r
�
_from_cmdlinerZyumZmiscZget_default_chksum_type�libdnf�utilsZchecksum_value�location�error�Error�
exceptions�	MiscError�str�hawkey�chksum_type�binasciiZ	unhexlifyrr�chksum)r
rZ
chksum_val�e)rrr�_chksum7s"zPackage._chksumcCs
||_dS)N)r
)r
�valrrrrEscCs|jtjkS)N)�reponamerZCMDLINE_REPO_NAME)r
rrrrIszPackage._from_cmdlinecCs|jtjkS)N)r!r�SYSTEM_REPO_NAME)r
rrr�_from_systemMszPackage._from_systemcCs*d}|jr|jjj|�}|r$d|S|jS)a9
        For installed packages returns id of repository from which the package was installed
        prefixed with '@' (if such information is available in the history database). Otherwise
        returns id of repository the package belongs to (@System for installed packages of unknown
        origin)
        N�@)r#r	�history�repor!)r
Zpkgreporrr�
_from_repoQszPackage._from_repocCs|jr|jjj|�SdS)N�)r#r	r%r&)r
rrr�	from_repo`szPackage.from_repocCstjj|j��S)z�
        Returns the header of a locally present rpm package file. As opposed to
        self.get_header(), which retrieves the header of an installed package
        from rpmdb.
        )r�rpm�_header�localPkg)r
rrrr+gszPackage._headercs|jr|jStt|�jS)N)rrr�size)r
)rrr�_sizepsz
Package._sizecCs
||_dS)N)r)r
r rrrr.vscCs"|jdkrdS|j\}}tj|�S)N)Z
hdr_chksumr�hexlify)r
rrrrr�_pkgidzs

zPackage._pkgidcCs4|jdk	r,tjj|jd�}|jdd�d}nd}|S)zO
        returns name of source package
        e.g. krb5-libs -> krb5
        Nz.src.rpm�-�r)Z	sourcerpmr�utilZrtrim�rsplit)r
Zsrcnamerrr�source_name�s

zPackage.source_namecCsF|jj|j�r|jS|j}|jj|j�r<|dt|j��}||jS)a)
        Returns name of the debuginfo package for this package.
        If this package is a debuginfo package, returns its name.
        If this package is a debugsource package, returns the debuginfo package
        for the base package.
        e.g. kernel-PAE -> kernel-PAE-debuginfo
        N)�name�endswith�DEBUGINFO_SUFFIX�DEBUGSOURCE_SUFFIX�len)r
r6rrr�
debug_name�s
zPackage.debug_namecCs |jdk	r|jn|j}||jS)zv
        Returns name of the debugsource package for this package.
        e.g. krb5-libs -> krb5-debugsource
        N)r5r6r9)r
�src_namerrr�debugsource_name�szPackage.debugsource_namecCsN|js
dSyt|jjjtj|j��Stk
rHt	j
jdt|���YnXdS)a`
        Returns the rpm header of the package if it is installed. If not
        installed, returns None. The header is not cached, it is retrieved from
        rpmdb on every call. In case of a failure (e.g. when the rpmdb changes
        between loading the data and calling this method), raises an instance
        of PackageNotFoundError.
        Nz4Package not found when attempting to retrieve header)
r#�nextr	Z_tsZdbMatchr*ZRPMDBI_PACKAGES�rpmdbid�
StopIterationrrZPackageNotFoundErrorr)r
rrr�
get_header�szPackage.get_headercCs |jdk	r|jn|j}||jS)z�
        returns name of debuginfo package for source package of given package
        e.g. krb5-libs -> krb5-debuginfo
        N)r5r6r8)r
r<rrr�source_debug_name�szPackage.source_debug_namecCs
t|j�S)z: Always type it to int, rpm bindings expect it like that. )�intr?)r
rrr�idx�szPackage.idxcCs|jS)N)r!)r
rrr�repoid�szPackage.repoidcCs|j|jt|j�|j|jfS)N)r6�archrr�v�r)r
rrr�pkgtup�szPackage.pkgtupcCs|jr|jS|jj|jS)N)rr	Zreposr!)r
rrrr&�szPackage.repocCs
||_dS)N)r)r
r rrrr&�scCs |jtjkrdS|jjjj|�S)N)rErr"r	r%r*Zget_reason_name)r
rrr�reason�szPackage.reasoncCs|jS)N)r)r
rrr�relativepath�szPackage.relativepathcCs|jS)N)rF)r
rrr�a�sz	Package.acCs|jS)N)Zepoch)r
rrrr�sz	Package.ecCs|jS)N)�version)r
rrrrG�sz	Package.vcCs|jS)N)�release)r
rrrrH�sz	Package.rcCs|jS)N)r!)r
rrr�ui_from_reposzPackage.ui_from_repocCs|j|�dkS)Nr)�evr_cmp)r
�pkgrrr�evr_eqszPackage.evr_eqcCs|j|�dkS)Nr)rP)r
rQrrr�evr_gt	szPackage.evr_gtcCs|j|�dkS)Nr)rP)r
rQrrr�evr_lt
szPackage.evr_ltcCs|jS)N)Zmedianr)r
rrr�
getDiscNumszPackage.getDiscNumcCsr|jr|jS|j}|jjj�rH|jrH|jjd�rHtjj	|j
�|jd��S|j�s\tjj
|�}tjj	|j|jd��S)z� Package's location in the filesystem.

            For packages in remote repo returns where the package will be/has
            been downloaded.
        zfile://�/)rrr&r�isLocal�baseurl�
startswith�os�path�joinZget_local_baseurl�lstrip�
_is_local_pkg�basename�pkgdir)r
�locrrrr,szPackage.localPkg�http�ftp�file�httpscCs |js|jrdS|jj|j|�S)a
        The location from where the package can be downloaded from. Returns None for installed and
        commandline packages.

        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: location (string) or None
        N)r#rr&�remote_locationr)r
Zschemesrrrrf$s	zPackage.remote_locationcCsL|jr
dSd|jkr&|jjd�r&dS|jpJ|jjj�oJ|jpJ|jjd�S)NTz://zfile://F)r#rrYrr&rrWrX)r
rrrr^1szPackage._is_local_pkgcCs,|jjj�r |j�r |jj�S|jjSdS)N)r&rrWr^Zcache_pkgdirr`)r
rrrr`:s
zPackage.pkgdircCs0|jdkrdS|j\}}tj|�tj|�j�fS)z] Return the chksum type and chksum string how the legacy yum expects
            it.
        N)NN)rrZchksum_namerr/�decode)r
rrrrr�returnIdSumBs

zPackage.returnIdSumcCst|jrtd��|jrdS|j�\}}ytjj||j�|�Stjj	k
rn}zt
jjt
|���WYdd}~XnXdS)Nz$Can not verify an installed package.T)r#�
ValueErrorrrhrrZchecksum_checkr,rrrrrr)r
rrrrrr�verifyLocalPkgLszPackage.verifyLocalPkg�rbrcrdre)rk),�__name__�
__module__�__qualname__�__doc__r8r9r�propertyr�setterrr#r'r)r+r.r0r5r;r=rArBrDrErIr&rJrKrLrrGrHrOrRrSrTrUr,rfr^r`rhrj�
__classcell__rr)rrr*sR	

	
r)roZ
__future__rrZdnf.i18nrrZdnf.exceptionsrZdnf.rpmZdnf.yum.miscrZlibdnf.errorrZlibdnf.utilsZloggingrZr*Z	getLoggerZloggerrrrrr�<module>s
PK!�FZr��ӑ� __pycache__/query.cpython-36.pycnu�[���3

�ft`3�@sZddlmZddlmZddlZddlmZddlmZddlmZddd	�Z	d
d�Z
dS)
�)�absolute_import)�unicode_literalsN)�Query)�ucd)�
basestringFcCsLt|t�r|g}|j�}g}|r,|jtj�|j|d|i�|rD|S|j�S)NZprovides__glob)�
isinstancerZquery�append�hawkeyZICASEZfiltermZrun)ZsackZpatternsZignore_caseZ	get_query�q�flags�r�/usr/lib/python3.6/query.py�_by_providess
rcCsdd�|D�S)NcSsi|]}|t|��qSr)r)�.0Zpkgrrr
�
<dictcomp>.sz#_per_nevra_dict.<locals>.<dictcomp>r)Zpkg_listrrr
�_per_nevra_dict-sr)FF)Z
__future__rrr	rZdnf.i18nrZ
dnf.pycomprrrrrrr
�<module>s
PK!�FZ X�xHH%__pycache__/exceptions.cpython-36.pycnu�[���3

�ft`��@spdZddlmZddlmZmZmZddlZddl	Z	ddl
Z
Gdd�de�ZGdd�de�Z
Gd	d
�d
e
�ZGdd�de
�ZGd
d�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�ZGd#d$�d$e�ZGd%d&�d&e
�ZGd'd(�d(e�ZGd)d*�d*e
�ZdS)+z
Core DNF Errors.
�)�unicode_literals)�ucd�_�P_Nc@seZdZdS)�DeprecationWarningN)�__name__�
__module__�__qualname__�r
r
� /usr/lib/python3.6/exceptions.pyrsrcs2eZdZdZd	�fdd�	Zdd�Zdd�Z�ZS)
�ErrorzTBase Error. All other Errors thrown by DNF should inherit from this.

    :api

    Ncs(tt|�j�|dkrdnt|�|_dS)N)�superr�__init__r�value)�selfr)�	__class__r
rr&szError.__init__cCsdj|j�S)Nz{})�formatr)rr
r
r�__str__*sz
Error.__str__cCst|j��S)N)rr)rr
r
r�__unicode__-szError.__unicode__)N)rrr	�__doc__rrr�
__classcell__r
r
)rrrsrc@seZdZdS)�
CompsErrorN)rrr	r
r
r
rr2srcseZdZd�fdd�	Z�ZS)�ConfigErrorNcs*tt|�j|�|dk	r t|�nd|_dS)N)r
rrr�	raw_error)rrr)rr
rr8szConfigError.__init__)NN)rrr	rrr
r
)rrr7src@seZdZdS)�
DatabaseErrorN)rrr	r
r
r
rr=src@seZdZdS)�
DepsolveErrorN)rrr	r
r
r
rrAsrcs0eZdZ�fdd�Zedd��Zdd�Z�ZS)�
DownloadErrorcstt|�j�||_dS)N)r
rr�errmap)rr)rr
rrHszDownloadError.__init__cCsPg}x@|D]8}x2||D]&}|r,d||fnd|}|j|�qWq
Wdj|�S)Nz%s: %sz%s�
)�append�join)rZ
errstrings�key�error�msgr
r
r�
errmap2strLs
zDownloadError.errmap2strcCs|j|j�S)N)r$r)rr
r
rrUszDownloadError.__str__)rrr	r�staticmethodr$rrr
r
)rrrFs	rc@seZdZdS)�	LockErrorN)rrr	r
r
r
rr&Ysr&cs*eZdZd�fdd�	Z�fdd�Z�ZS)�MarkingErrorNcs*tt|�j|�|dkrdnt|�|_dS)z&Initialize the marking error instance.N)r
r'rr�pkg_spec)rrr()rr
rr`szMarkingError.__init__cs&tt|�j�}|jr"|d|j7}|S)Nz: )r
r'rr()r�string)rr
rreszMarkingError.__str__)NN)rrr	rrrr
r
)rrr']sr'cs4eZdZffffff�fdd�	Zedd��Z�ZS)�
MarkingErrorscstd�}|r&|dtd�dj|�7}|rD|dtd�dj|�7}|rb|dtd�dj|�7}|r�|dtd�dj|�7}|r�tjj|d�}|d	tjjjkr�|ddjt	d
dt
|��|g�7}n"|ddjt	dd
t
|��|g�7}tt|�j
|�||_||_||_||_||_dS)z&Initialize the marking error instance.zProblems in request:rzmissing packages: z, zbroken packages: zmissing groups or modules: zbroken groups or modules: r�z)Modular dependency problem with Defaults:z*Modular dependency problems with Defaults:zModular dependency problem:zModular dependency problems:N)rr �dnf�utilZ_format_resolve_problems�libdnf�moduleZModulePackageContainerZ!ModuleErrorType_ERROR_IN_DEFAULTSr�lenr
r*r�no_match_group_specs�error_group_specs�no_match_pkg_specs�error_pkg_specs�module_depsolv_errors)rr1r2r3r4r5r#Zmsg_mod)rr
rrns6zMarkingErrors.__init__cCsd}tj|tdd�|jS)Nz[Attribute module_debsolv_errors is deprecated. Use module_depsolv_errors attribute instead.�)�
stacklevel)�warnings�warnrr5)rr#r
r
r�module_debsolv_errors�sz#MarkingErrors.module_debsolv_errors)rrr	r�propertyr:rr
r
)rrr*lsr*c@seZdZdS)�
MetadataErrorN)rrr	r
r
r
rr<�sr<c@seZdZdS)�	MiscErrorN)rrr	r
r
r
rr=�sr=cseZdZd�fdd�	Z�ZS)�PackagesNotAvailableErrorNcs tt|�j||�|pg|_dS)N)r
r>r�packages)rrr(r?)rr
rr�sz"PackagesNotAvailableError.__init__)NNN)rrr	rrr
r
)rrr>�sr>c@seZdZdS)�PackageNotFoundErrorN)rrr	r
r
r
rr@�sr@cseZdZd�fdd�	Z�ZS)�PackagesNotInstalledErrorNcs tt|�j||�|pg|_dS)N)r
rArr?)rrr(r?)rr
rr�sz"PackagesNotInstalledError.__init__)NNN)rrr	rrr
r
)rrrA�srAcs$eZdZ�fdd�Zdd�Z�ZS)�ProcessLockErrorcstt|�j|�||_dS)N)r
rBr�pid)rrrC)rr
rr�szProcessLockError.__init__cCst|j|jffS)zPickling support.)rBrrC)rr
r
r�
__reduce__�szProcessLockError.__reduce__)rrr	rrDrr
r
)rrrB�srBc@seZdZdS)�	RepoErrorN)rrr	r
r
r
rrE�srEc@seZdZdS)�ThreadLockErrorN)rrr	r
r
r
rrF�srFc@seZdZdS)�TransactionCheckErrorN)rrr	r
r
r
rrG�srG)rZ
__future__rZdnf.i18nrrrZdnf.utilr,r.r8r�	Exceptionrrrrrrr&r'r*r<r=r>r@rArBrErFrGr
r
r
r�<module>s0)
PK!�FZ7��+��%__pycache__/goal.cpython-36.opt-1.pycnu�[���3

�ft`M�@s(ddlmZddlmZddlmZdS)�)�absolute_import)�unicode_literals)�GoalN)Z
__future__rrZhawkeyr�rr�/usr/lib/python3.6/goal.py�<module>sPK!�FZ��(__pycache__/history.cpython-36.opt-1.pycnu�[���3

�ft`~�@s dZddlmZddlmZdS)z*Interfaces to the history of transactions.�)�absolute_import)�unicode_literalsN)�__doc__Z
__future__rr�rr�/usr/lib/python3.6/history.py�<module>sPK!�FZ�M�)__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`m�@spddlmZddlZddlZejdedd�ddlmZeZ	ddl
ZejjZddl
ZejjZejjjjd�dS)�)�unicode_literalsN�oncez	^dnf\..*$)�category�module)�VERSIONZmedia)Z
__future__r�warningsZ
dnf.pycompZdnf�filterwarnings�DeprecationWarningZ	dnf.constr�__version__Zdnf.base�baseZBaseZ
dnf.pluginZpluginZPluginZpycompZurlparseZ
uses_fragment�append�r
r
�/usr/lib/python3.6/__init__.py�<module>sPK!�FZTv��"�"!__pycache__/dnssec.cpython-36.pycnu�[���3

�ft`;,�@s�ddlmZddlmZddlmZddlmZddlZddlZddlZddl	Z	ddl
mZddlZ
ddlZ
ejd�ZdZGd	d
�d
e
jj�Zddd
�ZGdd�de�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zdd�ZGdd�d�ZdS)�)�print_function)�absolute_import)�unicode_literals)�EnumN)�_�dnf�=c@seZdZdZdd�ZdS)�DnssecErrorz-
    Exception used in the dnssec module
    cCsdj|jdk	r|jnd�S)Nz<DnssecError, value='{}'>z
Not specified)�format�value)�self�r
�/usr/lib/python3.6/dnssec.py�__repr__-szDnssecError.__repr__N)�__name__�
__module__�__qualname__�__doc__rr
r
r
rr	)sr	�_openpgpkeycCs~|jd�}t|�dkr"d}t|��|d}|d}tj�}|j|jd��tj|j	�dd��j
d�j�}|d|d|S)	z�
    Implements RFC 7929, section 3
    https://tools.ietf.org/html/rfc7929#section-3
    :param email_address:
    :param tag:
    :return:
    �@�z0Email address must contain exactly one '@' sign.r�zutf-8��.)�split�lenr	�hashlibZsha256�update�encode�base64Z	b16encode�digest�decode�lower)Z
email_address�tagr�msgZlocalZdomain�hashr r
r
r�email2location2s	

r&c@s(eZdZdZdZdZdZdZdZdZ	dS)	�Validityz�
    Output of the verification algorithm.
    TODO: this type might be simplified in order to less reflect the underlying DNS layer.
    TODO: more specifically the variants from 3 to 5 should have more understandable names
    rr����	N)
rrrr�VALID�REVOKED�PROVEN_NONEXISTENCE�RESULT_NOT_SECURE�BOGUS_RESULT�ERRORr
r
r
rr'Jsr'c@seZdZdZdS)�NoKeyz�
    This class represents an absence of a key in the cache. It is an expression of non-existence
    using the Python's type system.
    N)rrrrr
r
r
rr2Xsr2c@s&eZdZdZddd�Zedd��ZdS)�KeyInfozv
    Wrapper class for email and associated verification key, where both are represented in
    form of a string.
    NcCs||_||_dS)N)�email�key)rr4r5r
r
r�__init__eszKeyInfo.__init__c	Cs�tjd|�}|dkrt�|jd�}|jd�jd�}d}d}x6tdt|��D]$}||dkr^|}||dkrJ|}qJWd	j||d
|d��j	d�}t
||�S)z�
        Since dnf uses different format of the key than the one used in DNS RR, I need to convert
        the former one into the new one.
        z	<(.*@.*)>Nr�ascii�
rz$-----BEGIN PGP PUBLIC KEY BLOCK-----z"-----END PGP PUBLIC KEY BLOCK-----�r)�re�searchr	�groupr!r�ranger�joinrr3)	ZuseridZraw_keyZinput_emailr4r5�start�stop�iZcat_keyr
r
r�from_rpm_key_objectis
 zKeyInfo.from_rpm_key_object)NN)rrrrr6�staticmethodrBr
r
r
rr3`s
r3c@s8eZdZdZiZedd��Zedd��Zedd��ZdS)	�DNSSECKeyVerificationz�
    The main class when it comes to verification itself. It wraps Unbound context and a cache with
    already obtained results.
    cCsZ||krtjd�tjS|tkr0tjd�tjStjdj|��tjdj|��tjSdS)zD
        Compare the key in case it was found in the cache.
        zCache hit, valid keyzCache hit, proven non-existencezKey in cache: {}zInput key   : {}N)�logger�debugr'r,r2r.r
r-)�	key_unionZinput_key_stringr
r
r�
_cache_hit�s

z DNSSECKeyVerification._cache_hitc	Cs�yddl}Wn<tk
rH}z tdj|��}tjj|��WYdd}~XnX|j�}|jdd�dkrlt	j
d�|jdd�dkr�t	j
d	�|j�dkr�t	j
d
�|jd�dkr�t	j
d�|j
t|j�t|j�\}}|dkr�t	j
d
�tjS|jr�t	j
d�tjS|j�st	j
d�tjS|j�r,t	j
d�tjS|j�sDt	j
d�tjS|jj�d}tj|�}||jk�rntj St	j
dj|��t	j
dj|j��tj!SdS)zz
        In case the key was not found in the cache, create an Unbound context and contact the DNS
        system
        rNzLConfiguration option 'gpgkey_dns_verification' requires python3-unbound ({})z
verbosity:�0z(Unbound context: Failed to set verbosityzqname-minimisation:�yesz1Unbound context: Failed to set qname minimisationz+Unbound context: Failed to read resolv.confz/var/lib/unbound/root.keyz0Unbound context: Failed to add trust anchor filez%Communication with DNS servers failedzDNSSEC signatures are wrongz!Result is not secured with DNSSECz1Non-existence of this record was proven by DNSSECz"Unknown error in DNS communicationzKey from DNS: {}zInput key   : {})"�unbound�ImportErrorrr
r�
exceptions�ErrorZub_ctxZ
set_optionrErFZ
resolvconfZadd_ta_fileZresolver&r4�RR_TYPE_OPENPGPKEYZRR_CLASS_INr'r1Zbogusr0Zsecurer/Znxdomainr.Zhavedata�dataZas_raw_datarZ	b64encoder5r,r-)	�	input_keyrK�er$ZctxZstatus�resultrPZdns_data_b64r
r
r�_cache_miss�sN









z!DNSSECKeyVerification._cache_misscCsztjdj|j��tjj|j�}|dk	r6tj||j�Stj	|�}|t
jkrZ|jtj|j<n|t
jkrrt
�tj|j<|SdS)zI
        Public API. Use this method to verify a KeyInfo object.
        z(Running verification for key with id: {}N)rErFr
r4rD�_cache�getrHr5rTr'r,r.r2)rQrGrSr
r
r�verify�s


zDNSSECKeyVerification.verifyN)	rrrrrUrCrHrTrWr
r
r
rrD�s
9rDcCs8td�|jd}|tjkr(|td�S|td�SdS)zE
    Inform the user about key validity in a human readable way.
    zDNSSEC extension: Key for user � z	is valid.zhas unknown status.N)rr4r'r,)Zki�v�prefixr
r
r�
nice_user_msg�s
r[cCstd�|S)z;
    Label any given message with DNSSEC extension tag
    zDNSSEC extension: )r)�mr
r
r�any_msg�sr]c@s(eZdZdZedd��Zedd��ZdS)�RpmImportedKeysaQ
    Wrapper around keys, that are imported in the RPM database.

    The keys are stored in packages with name gpg-pubkey, where the version and
    release is different for each of them. The key content itself is stored as
    an ASCII armored string in the package description, so it needs to be parsed
    before it can be used.
    c	Cs�tjjj�}|jdd�}g}xl|D]d}tjj|d�}tjd|�jd�}tjj|d�}|j	d�dd�}d	j
|�}|t||jd
��g7}q"W|S)N�namez
gpg-pubkey�packagerz	<(.*@.*)>r�descriptionr8r(r9r7���)
rZrpmZtransactionZTransactionWrapperZdbMatchZ	getheaderr:r;r<rr>r3r)	Ztransaction_setZpackagesZreturn_listZpkgr`r4raZ	key_linesZkey_strr
r
r�_query_db_for_gpg_keyss

z&RpmImportedKeys._query_db_for_gpg_keyscCstj�}tjttd���x�|D]�}ytj|�}Wn:tk
rl}ztj	dj
|j|j��w WYdd}~XnX|t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q tjtdj
|j���q WdS)Nz1Testing already imported keys for their validity.z%DNSSEC extension error (email={}): {}zGPG Key {} is validz,GPG Key {} does not support DNS verificationz�GPG Key {} could not be verified, because DNSSEC signatures are bogus. Possible causes: wrong configuration of the DNS server, MITM attackz=GPG Key {} has been revoked and should be removed immediatelyzGPG Key {} could not be tested)r^rcrE�infor]rrDrWr	Zwarningr
r4rr'r,rFr.r0r-)�keysr5rSrRr
r
r�check_imported_keys_validitys,







z,RpmImportedKeys.check_imported_keys_validityN)rrrrrCrcrfr
r
r
rr^�sr^)r)Z
__future__rrr�enumrrrZloggingr:Zdnf.i18nrZdnf.rpmrZdnf.exceptionsZ	getLoggerrErOrMrNr	r&r'r2r3rDr[r]r^r
r
r
r�<module>s*
	
#gPK!�FZ<�*l77)__pycache__/callback.cpython-36.opt-1.pycnu�[���3

�ft`��@s
ddlmZddlZddlZejjZejjZejjZejj	Z	ejj
Z
ejjZejjZejj
ZeZ
ejjZejjZejjZejjZejjZejjZejjZdZdZdZdZdZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�Z ej!j"j#Z$dS)�)�unicode_literalsN����c@seZdZdd�ZdS)�	KeyImportcCsdS)z+Ask the user if the key should be imported.F�)�self�idZuseridZfingerprintZurlZ	timestamprr�/usr/lib/python3.6/callback.py�_confirm5szKeyImport._confirmN)�__name__�
__module__�__qualname__rrrrrr4src@s(eZdZdd�Zdd�Zedd��ZdS)�PayloadcCs
||_dS)N)�progress)r	rrrr�__init__=szPayload.__init__cCsdS)z)Nice, human-readable representation. :apiNr)r	rrr�__str__@szPayload.__str__cCsdS)z Total size of the download. :apiNr)r	rrr�
download_sizeDszPayload.download_sizeN)r
rrrr�propertyrrrrrr:src@s.eZdZdd�Zdd�Zdd�Zddd	�Zd
S)�DownloadProgresscCsdS)z�Communicate the information that `payload` has finished downloading.

        :api, `status` is a constant denoting the type of outcome, `err_msg` is an
        error message in case the outcome was an error.

        Nr)r	�payloadZstatus�msgrrr�endMszDownloadProgress.endcCsdS)Nr)r	rrrr�messageVszDownloadProgress.messagecCsdS)z�Update the progress display. :api

        `payload` is the payload this call reports progress for, `done` is how
        many bytes of this payload are already downloaded.

        Nr)r	r�donerrrrYszDownloadProgress.progressrcCsdS)z�Start new progress metering. :api

        `total_files` the number of files that will be downloaded,
        `total_size` total size of all files.

        Nr)r	Ztotal_filesZ
total_sizeZtotal_drpmsrrr�startcszDownloadProgress.startN)r)r
rrrrrrrrrrrJs	
rc@seZdZdS)�NullDownloadProgressN)r
rrrrrrrnsrc@s$eZdZdd�Zdd�Zdd�ZdS)�DepsolvecCsdS)Nr)r	rrrrsszDepsolve.startcCsdS)Nr)r	Zpkg�moderrr�	pkg_addedvszDepsolve.pkg_addedcCsdS)Nr)r	rrrryszDepsolve.endN)r
rrrr rrrrrrrsr)%Z
__future__rZdnf.yum.rpmtransZdnfZdnf.transactionZtransactionZ
PKG_DOWNGRADEZPKG_DOWNGRADEDZPKG_INSTALLZPKG_OBSOLETEZ
PKG_OBSOLETEDZ
PKG_REINSTALLZPKG_REINSTALLEDZ	PKG_ERASEZ
PKG_REMOVEZPKG_UPGRADEZPKG_UPGRADEDZPKG_CLEANUPZ
PKG_VERIFYZ
PKG_SCRIPTLETZTRANS_PREPARATIONZ
TRANS_POSTZ	STATUS_OKZ
STATUS_FAILEDZSTATUS_ALREADY_EXISTSZ
STATUS_MIRRORZSTATUS_DRPM�objectrrrrrZyumZrpmtransZTransactionDisplayZTransactionProgressrrrr�<module>s:$PK!�FZ X�xHH+__pycache__/exceptions.cpython-36.opt-1.pycnu�[���3

�ft`��@spdZddlmZddlmZmZmZddlZddl	Z	ddl
Z
Gdd�de�ZGdd�de�Z
Gd	d
�d
e
�ZGdd�de
�ZGd
d�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�ZGd#d$�d$e�ZGd%d&�d&e
�ZGd'd(�d(e�ZGd)d*�d*e
�ZdS)+z
Core DNF Errors.
�)�unicode_literals)�ucd�_�P_Nc@seZdZdS)�DeprecationWarningN)�__name__�
__module__�__qualname__�r
r
� /usr/lib/python3.6/exceptions.pyrsrcs2eZdZdZd	�fdd�	Zdd�Zdd�Z�ZS)
�ErrorzTBase Error. All other Errors thrown by DNF should inherit from this.

    :api

    Ncs(tt|�j�|dkrdnt|�|_dS)N)�superr�__init__r�value)�selfr)�	__class__r
rr&szError.__init__cCsdj|j�S)Nz{})�formatr)rr
r
r�__str__*sz
Error.__str__cCst|j��S)N)rr)rr
r
r�__unicode__-szError.__unicode__)N)rrr	�__doc__rrr�
__classcell__r
r
)rrrsrc@seZdZdS)�
CompsErrorN)rrr	r
r
r
rr2srcseZdZd�fdd�	Z�ZS)�ConfigErrorNcs*tt|�j|�|dk	r t|�nd|_dS)N)r
rrr�	raw_error)rrr)rr
rr8szConfigError.__init__)NN)rrr	rrr
r
)rrr7src@seZdZdS)�
DatabaseErrorN)rrr	r
r
r
rr=src@seZdZdS)�
DepsolveErrorN)rrr	r
r
r
rrAsrcs0eZdZ�fdd�Zedd��Zdd�Z�ZS)�
DownloadErrorcstt|�j�||_dS)N)r
rr�errmap)rr)rr
rrHszDownloadError.__init__cCsPg}x@|D]8}x2||D]&}|r,d||fnd|}|j|�qWq
Wdj|�S)Nz%s: %sz%s�
)�append�join)rZ
errstrings�key�error�msgr
r
r�
errmap2strLs
zDownloadError.errmap2strcCs|j|j�S)N)r$r)rr
r
rrUszDownloadError.__str__)rrr	r�staticmethodr$rrr
r
)rrrFs	rc@seZdZdS)�	LockErrorN)rrr	r
r
r
rr&Ysr&cs*eZdZd�fdd�	Z�fdd�Z�ZS)�MarkingErrorNcs*tt|�j|�|dkrdnt|�|_dS)z&Initialize the marking error instance.N)r
r'rr�pkg_spec)rrr()rr
rr`szMarkingError.__init__cs&tt|�j�}|jr"|d|j7}|S)Nz: )r
r'rr()r�string)rr
rreszMarkingError.__str__)NN)rrr	rrrr
r
)rrr']sr'cs4eZdZffffff�fdd�	Zedd��Z�ZS)�
MarkingErrorscstd�}|r&|dtd�dj|�7}|rD|dtd�dj|�7}|rb|dtd�dj|�7}|r�|dtd�dj|�7}|r�tjj|d�}|d	tjjjkr�|ddjt	d
dt
|��|g�7}n"|ddjt	dd
t
|��|g�7}tt|�j
|�||_||_||_||_||_dS)z&Initialize the marking error instance.zProblems in request:rzmissing packages: z, zbroken packages: zmissing groups or modules: zbroken groups or modules: r�z)Modular dependency problem with Defaults:z*Modular dependency problems with Defaults:zModular dependency problem:zModular dependency problems:N)rr �dnf�utilZ_format_resolve_problems�libdnf�moduleZModulePackageContainerZ!ModuleErrorType_ERROR_IN_DEFAULTSr�lenr
r*r�no_match_group_specs�error_group_specs�no_match_pkg_specs�error_pkg_specs�module_depsolv_errors)rr1r2r3r4r5r#Zmsg_mod)rr
rrns6zMarkingErrors.__init__cCsd}tj|tdd�|jS)Nz[Attribute module_debsolv_errors is deprecated. Use module_depsolv_errors attribute instead.�)�
stacklevel)�warnings�warnrr5)rr#r
r
r�module_debsolv_errors�sz#MarkingErrors.module_debsolv_errors)rrr	r�propertyr:rr
r
)rrr*lsr*c@seZdZdS)�
MetadataErrorN)rrr	r
r
r
rr<�sr<c@seZdZdS)�	MiscErrorN)rrr	r
r
r
rr=�sr=cseZdZd�fdd�	Z�ZS)�PackagesNotAvailableErrorNcs tt|�j||�|pg|_dS)N)r
r>r�packages)rrr(r?)rr
rr�sz"PackagesNotAvailableError.__init__)NNN)rrr	rrr
r
)rrr>�sr>c@seZdZdS)�PackageNotFoundErrorN)rrr	r
r
r
rr@�sr@cseZdZd�fdd�	Z�ZS)�PackagesNotInstalledErrorNcs tt|�j||�|pg|_dS)N)r
rArr?)rrr(r?)rr
rr�sz"PackagesNotInstalledError.__init__)NNN)rrr	rrr
r
)rrrA�srAcs$eZdZ�fdd�Zdd�Z�ZS)�ProcessLockErrorcstt|�j|�||_dS)N)r
rBr�pid)rrrC)rr
rr�szProcessLockError.__init__cCst|j|jffS)zPickling support.)rBrrC)rr
r
r�
__reduce__�szProcessLockError.__reduce__)rrr	rrDrr
r
)rrrB�srBc@seZdZdS)�	RepoErrorN)rrr	r
r
r
rrE�srEc@seZdZdS)�ThreadLockErrorN)rrr	r
r
r
rrF�srFc@seZdZdS)�TransactionCheckErrorN)rrr	r
r
r
rrG�srG)rZ
__future__rZdnf.i18nrrrZdnf.utilr,r.r8r�	Exceptionrrrrrrr&r'r*r<r=r>r@rArBrErFrGr
r
r
r�<module>s0)
PK!�FZ<�*l77#__pycache__/callback.cpython-36.pycnu�[���3

�ft`��@s
ddlmZddlZddlZejjZejjZejjZejj	Z	ejj
Z
ejjZejjZejj
ZeZ
ejjZejjZejjZejjZejjZejjZejjZdZdZdZdZdZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�Z ej!j"j#Z$dS)�)�unicode_literalsN����c@seZdZdd�ZdS)�	KeyImportcCsdS)z+Ask the user if the key should be imported.F�)�self�idZuseridZfingerprintZurlZ	timestamprr�/usr/lib/python3.6/callback.py�_confirm5szKeyImport._confirmN)�__name__�
__module__�__qualname__rrrrrr4src@s(eZdZdd�Zdd�Zedd��ZdS)�PayloadcCs
||_dS)N)�progress)r	rrrr�__init__=szPayload.__init__cCsdS)z)Nice, human-readable representation. :apiNr)r	rrr�__str__@szPayload.__str__cCsdS)z Total size of the download. :apiNr)r	rrr�
download_sizeDszPayload.download_sizeN)r
rrrr�propertyrrrrrr:src@s.eZdZdd�Zdd�Zdd�Zddd	�Zd
S)�DownloadProgresscCsdS)z�Communicate the information that `payload` has finished downloading.

        :api, `status` is a constant denoting the type of outcome, `err_msg` is an
        error message in case the outcome was an error.

        Nr)r	�payloadZstatus�msgrrr�endMszDownloadProgress.endcCsdS)Nr)r	rrrr�messageVszDownloadProgress.messagecCsdS)z�Update the progress display. :api

        `payload` is the payload this call reports progress for, `done` is how
        many bytes of this payload are already downloaded.

        Nr)r	r�donerrrrYszDownloadProgress.progressrcCsdS)z�Start new progress metering. :api

        `total_files` the number of files that will be downloaded,
        `total_size` total size of all files.

        Nr)r	Ztotal_filesZ
total_sizeZtotal_drpmsrrr�startcszDownloadProgress.startN)r)r
rrrrrrrrrrrJs	
rc@seZdZdS)�NullDownloadProgressN)r
rrrrrrrnsrc@s$eZdZdd�Zdd�Zdd�ZdS)�DepsolvecCsdS)Nr)r	rrrrsszDepsolve.startcCsdS)Nr)r	Zpkg�moderrr�	pkg_addedvszDepsolve.pkg_addedcCsdS)Nr)r	rrrryszDepsolve.endN)r
rrrr rrrrrrrsr)%Z
__future__rZdnf.yum.rpmtransZdnfZdnf.transactionZtransactionZ
PKG_DOWNGRADEZPKG_DOWNGRADEDZPKG_INSTALLZPKG_OBSOLETEZ
PKG_OBSOLETEDZ
PKG_REINSTALLZPKG_REINSTALLEDZ	PKG_ERASEZ
PKG_REMOVEZPKG_UPGRADEZPKG_UPGRADEDZPKG_CLEANUPZ
PKG_VERIFYZ
PKG_SCRIPTLETZTRANS_PREPARATIONZ
TRANS_POSTZ	STATUS_OKZ
STATUS_FAILEDZSTATUS_ALREADY_EXISTSZ
STATUS_MIRRORZSTATUS_DRPM�objectrrrrrZyumZrpmtransZTransactionDisplayZTransactionProgressrrrr�<module>s:$PK!�FZ��1G77$__pycache__/persistor.cpython-36.pycnu�[���3

�ft`o�@s�ddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZejd�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZdS)�)�absolute_import)�unicode_literals)�_N�dnfc@s,eZdZdd�Zgfdd�Zedd��ZdS)�JSONDBcCs0tjj|�s,tjjtjj|��|j|g�dS)N)�os�path�isfiler�utilZ
ensure_dir�dirname�_write_json_db)�self�	json_path�r�/usr/lib/python3.6/persistor.py�_check_json_db+szJSONDB._check_json_dbcCs�t|d��}|j�}WdQRX|dkrDtjtd�|�|j||�n<ytj|�}Wn,tk
r~}ztj|�WYdd}~XnX|S)N�r�z%s is empty file)	�open�read�logger�warningrr�json�loads�
ValueError)r
r�default�f�content�errr�_get_json_db1szJSONDB._get_json_dbc
Cs&t|d��}tj||�WdQRXdS)N�w)rr�dump)rrrrrrr?szJSONDB._write_json_dbN)�__name__�
__module__�__qualname__rr�staticmethodrrrrrr)src@s<eZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	dS)
�
RepoPersistorzePersistent data kept for repositories.

    Is arch/releasever specific and stores to cachedir.

    cCs*||_tjj|jd�|_t�|_d|_dS)Nzexpired_repos.jsonF)�cachedirrr�join�db_path�set�expired_to_add�reset_last_makecache)r
r'rrr�__init__LszRepoPersistor.__init__cCstjj|jd�S)NZlast_makecache)rrr(r')r
rrr�_last_makecache_pathRsz"RepoPersistor._last_makecache_pathcCsRy|j|j�t|j|j��Stk
rL}ztjtd�|�dSd}~XnXdS)Nz&Failed to load expired repos cache: %s)rr)r*r�OSErrorrrr)r
rrrr�get_expired_reposVszRepoPersistor.get_expired_reposcCs�y$|j|j�|j|jt|j��Wn0tk
rT}ztjtd�|�dSd}~XnX|j	r�yt
jj|j
�dStk
r�tjtd��dSXdS)Nz'Failed to store expired repos cache: %sFTz#Failed storing last makecache time.)rr)r�listr+r/rrrr,rr
Ztouchr.�IOError)r
rrrr�save^szRepoPersistor.savecCs:yttjj|j��Stk
r4tjtd��dSXdS)Nz'Failed determining last makecache time.)	�intrr
Zfile_ager.r/rrr)r
rrr�since_last_makecachems
z"RepoPersistor.since_last_makecacheN)
r"r#r$�__doc__r-�propertyr.r0r3r5rrrrr&Esr&c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TempfilePersistorcCs"tjj|d�|_t�|_d|_dS)Nztempfiles.jsonF)rrr(r)r*�tempfiles_to_add�_empty)r
r'rrrr-wszTempfilePersistor.__init__cCs|j|j�|j|j�S)N)rr)r)r
rrr�get_saved_tempfiles|sz%TempfilePersistor.get_saved_tempfilescCsp|jr|jrdS|j|j�|jr8|j|jg�dS|jrlt|j|j��}|j|j�|j|jt|��dS)N)	r:r9rr)rr*r�updater1)r
�datarrrr3�szTempfilePersistor.savecCs
d|_dS)NT)r:)r
rrr�empty�szTempfilePersistor.emptyN)r"r#r$r-r;r3r>rrrrr8usr8)Z
__future__rrZdnf.i18nrZdistutils.versionZ	distutilsZdnf.utilr�errnoZfnmatchrZloggingr�reZ	getLoggerr�objectrr&r8rrrr�<module>s
0PK!�FZ��-�_D_D/__pycache__/transaction_sr.cpython-36.opt-1.pycnu�[���3

i�-eaf�@s�ddlmZddlmZddlmZddlZddlZddlmZddlZ	ddl
Z
dZdZdeefZ
Gdd�de	jj�ZGd	d
�d
e	jj�ZGdd�de�Zd
d�Zdd�ZGdd�de�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_z%s.%scseZdZ�fdd�Z�ZS)�TransactionErrorcstt|�j|�dS)N)�superr�__init__)�self�msg)�	__class__��$/usr/lib/python3.6/transaction_sr.pyr/szTransactionError.__init__)�__name__�
__module__�__qualname__r�
__classcell__rr)rr
r.srcseZdZ�fdd�Z�ZS)�TransactionReplayErrorcsv||_t|ttf�r||_n|g|_|r:td�j|d�}ntd�}x|jD]}|dt|�7}qJWtt	|�j
|�dS)z�
        :param filename: The name of the transaction file being replayed
        :param errors: a list of error classes or a string with an error description
        zWThe following problems occurred while replaying the transaction from file "{filename}":)�filenamez<The following problems occurred while running a transaction:z
  N)r�
isinstance�list�tuple�errorsr�format�strrrr)r	rrr
�error)rrr
r4szTransactionReplayError.__init__)rrrrrrr)rr
r3srcseZdZ�fdd�Z�ZS)�#IncompatibleTransactionVersionErrorcstt|�j||�dS)N)rrr)r	rr
)rrr
rMsz,IncompatibleTransactionVersionError.__init__)rrrrrrr)rr
rLsrc"Cs�|jd�\}}yt|�}Wn8tk
rR}zt|td�j|d���WYdd}~XnXyt|�Wn8tk
r�}zt|td�j|d���WYdd}~XnX|tkr�t|td�j|td���dS)N�.z1Invalid major version "{major}", number expected.)�majorz1Invalid minor version "{minor}", number expected.)�minorzPIncompatible major version "{major}", supported major version is "{major_supp}".)rZ
major_supp)�split�int�
ValueErrorrrr�
VERSION_MAJORr)�versionrrr�errr
�_check_versionQs$$$r%cCs�dti}g}g}g}|dkr |S�x0|j�D�]"}|j�r`|j|j|jtjj|j	�|j
d��q,|j�r�|j�}|j|j
�gtjj|j��d�}x:|j�D].}|dj|j�|j�tjj|j��d��q�W|j|�q,|j�r,|j�}	|j|	j�gtjj|	j��d�}
x<|	j�D]0}|
dj|j
�|j�tjj|j��d	���qW|j|
�q,W|�rb||d
<|�rp||d<|�r~||d<|S)z�
    Serializes a transaction to a data structure that is equivalent to the stored JSON format.
    :param transaction: the transaction to serialize (an instance of dnf.db.history.TransactionWrapper)
    r#N)�action�nevra�reason�repo_id)r&�id�packages�
package_typesr+)�name�	installed�package_type)r&r*�groupsr,r0)r*r.�
group_type�rpms�environments)�VERSIONr+�
is_package�appendZaction_namer'�libdnf�transactionZTransactionItemReasonToStringr(Z	from_repoZis_groupZ	get_groupZ
getGroupIdZcompsPackageTypeToStringZgetPackageTypesZgetPackagesZgetNameZgetInstalledZgetPackageTypeZis_environmentZget_environmentZgetEnvironmentIdZ	getGroupsZgetGroupType)r8�datar2r0r3�tsi�group�
group_data�pkg�env�env_data�grprrr
�serialize_transactionlsXrAc@s�eZdZdZd/dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�ZdS)0�TransactionReplaya�
    A class that encapsulates replaying a transaction. The transaction data are
    loaded and stored when the class is initialized. The transaction is run by
    calling the `run()` method, after the transaction is created (but before it is
    performed), the `post_transaction()` method needs to be called to verify no
    extra packages were pulled in and also to fix the reasons.
    �NFcCsv||_||_||_||_||_|jjjs.d|_t�|_i|_	g|_
|rX|rXttd���n|rh|j
|�n
|j|�dS)a
        :param base: the dnf base
        :param filename: the filename to load the transaction from (conflicts with the 'data' argument)
        :param data: the dictionary to load the transaction from (conflicts with the 'filename' argument)
        :param ignore_extras: whether to ignore extra package pulled into the transaction
        :param ignore_installed: whether to ignore installed versions of packages
        :param skip_unavailable: whether to skip transaction packages that aren't available
        TzKConflicting TransactionReplay arguments have been specified: filename, dataN)�_base�	_filename�_ignore_installed�_ignore_extras�_skip_unavailable�conf�strict�set�_nevra_cache�_nevra_reason_cache�	_warningsr!r�_load_from_file�_load_from_data)r	�baserr9Z
ignore_extrasZignore_installedZskip_unavailablerrr
r�s
zTransactionReplay.__init__c%Cs�||_t|d��N}ytj|�}Wn8tjjk
rX}zt|t|�d��WYdd}~XnXWdQRXy|j|�Wn,t	k
r�}zt||��WYdd}~XnXdS)N�rr)
rE�open�json�load�decoderZJSONDecodeErrorrrrPr)r	�fn�f�replay_datar$rrr
rO�s.z!TransactionReplay._load_from_filecCs|||_|j|j�|jjdg�|_|j|jtdd�|jjdg�|_|j|jtdd�|jjdg�|_|j|jtdd�dS)Nr2Zarrayr0r3)�_replay_data�_verify_toplevel_json�get�_rpms�_assert_typer�_groups�
_environments)r	r9rrr
rP�sz!TransactionReplay._load_from_datacCs|r|jj|�nt|��dS)N)rNr6r)r	Z	warn_onlyr
rrr
�_raise_or_warnsz TransactionReplay._raise_or_warncCs$t||�s ttd�j||d���dS)Nz*Unexpected type of "{id}", {exp} expected.)r*Zexp)rrrr)r	�value�tr*Zexpectedrrr
r^s
zTransactionReplay._assert_typecCsJ|j}d|kr$t|tdjdd����|j|dtdd�t|d|�dS)Nr#zMissing key "{key}".)�key�string)rErrrr^rr%)r	rYrWrrr
r[s
z'TransactionReplay._verify_toplevel_jsoncCsDy,|d}|d}|d}tjj|d�}Wnvtk
rh}z ttd�j|jdd���WYdd}~Xn<tk
r�}z ttd�j|d|d	���WYdd}~XnXt	j
|�}|jt	jgd
�}t
|�dkr�ttd�j|d
���|d}	d|	j|	jf}
|jjj�j|	j|	jd�}|	jdk	�r"|	jnd}|j||	j|	jd�}
|�r`|
j|d�}|�r`|j|
j��}
|
�s�|j|jtd�j|d
��dS|dk�r�|jj|�|d(k�r�||j|<|d)k�r.|dk�r�|j��r�|jj|��r�|j|jtd�j|
|d��t j!j"|jj�j#|
d�}|jj$j%||jj&j'd��n|dk�r�|
j(�}
|
�sf|j|jtd�j||d��dSt j!j"|jj�j#|
d�}|jj$j%||jj&j'd�n�|d*k�r
|
j�}
|
�s�|j|jtd#�j||d��dS|j�s�|dk�r@xX|
D]}|jj$j)|d$d%��q�Wn6|dk�r*|jj*j+|
d|�nttd&�j||d'���dS)+Nr&r'r)r(z%Missing object key "{key}" in an rpm.r)rdzFUnexpected value of package reason "{reason}" for rpm nevra "{nevra}".)r(r')Zforms�z)Cannot parse NEVRA for package "{nevra}".)r'z%s.%s)r-�arch)�epochr#�release)Zreponamez Cannot find rpm nevra "{nevra}".z
Reason Change�Install�Upgrade�	Downgrade�	Reinstall�Removedz:Package "{na}" is already installed for action "{action}".)�nar&)r=)ZselectZoptionalzLPackage nevra "{nevra}" not available in repositories for action "{action}".)r'r&�Upgraded�
Downgraded�Reinstalled�	Obsoletedz<Package nevra "{nevra}" not installed for action "{action}".F)Z
clean_depszFUnexpected value of package action "{action}" for rpm nevra "{nevra}".)r&r')rjrkrlrmrn)rjrkrl)rprqrrrnrs),r7r8ZStringToTransactionItemReason�KeyErrorrrr�args�
IndexError�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRA�lenr-rgrDZsack�query�filterrhr#ri�unionr.rarHrL�addrMZ_get_installonly_queryrF�dnfZselectorZSelectorrKZgoal�installrIrJZ	availableZerase�historyZ
set_reason)r	�pkg_datar&r'r)r(r$ZsubjZ
parsed_nevrasZparsed_nevraroZquery_narhryZ
query_repoZsltrr=rrr
�_replay_pkg_actionsz("





$



z$TransactionReplay._replay_pkg_actioncCs2|jjj|�}|s,|j|jtd�|�dS|jjjj||j	|j
|�}y�x�|D]�}|d}|j|tdd�|d}|j|t
dd�|d}	|j|	td	d�y|j||tjj|	��WqNtjjk
r�}
ztt|
���WYdd}
~
XqNXqNWWn>tk
�r,}
z ttd
�j|
jdd���WYdd}
~
XnX|S)
NzGroup id '%s' is not available.r-zgroups.packages.namerer.zgroups.packages.installed�booleanr/zgroups.packages.package_typez.Missing object key "{key}" in groups.packages.r)rd)rD�compsZ_group_by_idrarHrrr;�newr-�ui_namer^r�boolZ
addPackager7r8�stringToCompsPackageTyper�Errorrrtrru)r	�group_id�	pkg_types�pkgsZcomps_group�
swdb_groupr=r-r.r/r$rrr
�_create_swdb_groupvs*
&*z$TransactionReplay._create_swdb_groupcCs*|j|||�}|dk	r&|jjjj|�dS)N)r�rDrr;r~)r	r�r�r�r�rrr
�_swdb_group_install�sz%TransactionReplay._swdb_group_installcCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��upgrade)r	r�r�r�r�rrr
�_swdb_group_upgrade�sz%TransactionReplay._swdb_group_upgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��	downgrade)r	r�r�r�r�rrr
�_swdb_group_downgrade�sz'TransactionReplay._swdb_group_downgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��remove)r	r�r�r�r�rrr
�_swdb_group_remove�sz$TransactionReplay._swdb_group_removecCsd|jjj|�}|s,|j|jtd�|�dS|jjjj||j	|j
|�}y�x�|D]�}|d}|j|tdd�|d}|j|t
dd�|d}	|j|	td	d�ytjj|	�}	Wn2tjjk
r�}
ztt|
���WYdd}
~
XnX|	tjjtjjfk�rttd
�j|dd���|j|||	�qNWWn>tk
�r^}
z ttd�j|
jd
d���WYdd}
~
XnX|S)Nz%Environment id '%s' is not available.r*zenvironments.groups.idrer.zenvironments.groups.installedr�r1zenvironments.groups.group_typezlInvalid value "{group_type}" of environments.groups.group_type, only "mandatory" or "optional" is supported.)r1z2Missing object key "{key}" in environments.groups.r)rd)rDr�Z_environment_by_idrarHrrr>r�r-r�r^rr�r7r8r�rr�rZCompsPackageType_MANDATORYZCompsPackageType_OPTIONALrZaddGrouprtru)r	�env_idr�r0Z	comps_env�swdb_envr@r*r.r1r$rrr
�_create_swdb_environment�s8
*z*TransactionReplay._create_swdb_environmentcCs*|j|||�}|dk	r&|jjjj|�dS)N)r�rDrr>r~)r	r�r�r0r�rrr
�_swdb_environment_install�sz+TransactionReplay._swdb_environment_installcCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_upgrade�sz+TransactionReplay._swdb_environment_upgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_downgrade�sz-TransactionReplay._swdb_environment_downgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_remove�sz*TransactionReplay._swdb_environment_removecCs|jS)z>
        :returns: the loaded data of the transaction
        )rZ)r	rrr
�get_dataszTransactionReplay.get_datacCs|jS)zW
        :returns: an array of warnings gathered during the transaction replay
        )rN)r	rrr
�get_warnings
szTransactionReplay.get_warningscCs�|j}g}xJ|jD]@}y|j|�Wqtk
rP}z|j|�WYdd}~XqXqW�x�|jD�]�}�y
|d}|d}ytjj|d�}Wn:tj	j
k
r�}z|jtt|���w`WYdd}~XnX|dkr�|j|||d�n�|dk�r|j
|||d�nl|dk�s|d	k�r,|j|||d�nD|d
k�s@|dk�rT|j|||d�n|jttd�j||d
���Wq`tk
�r�}z&|jttd�j|jdd���WYdd}~Xq`tk
�r�}z|j|�WYdd}~Xq`Xq`W�x�|jD�]�}	�y|	d}|	d}
ytjj|	d�}Wn>tj	j
k
�r^}z|jtt|����w�WYdd}~XnX|dk�r~|j|
||	d�n�|dk�r�|j|
||	d�nl|dk�s�|d	k�r�|j|
||	d�nD|d
k�s�|dk�r�|j|
||	d�n|jttd�j||
d���Wnptk
�rN}z&|jttd�j|jdd���WYdd}~Xn.tk
�rz}z|j|�WYdd}~XnX�q�W|�r�t||��dS)z*
        Replays the transaction.
        Nr&r*r,rjr+rnrkrprlrqz@Unexpected value of group action "{action}" for group "{group}".)r&r;z&Missing object key "{key}" in a group.r)rdr0zJUnexpected value of environment action "{action}" for environment "{env}".)r&r>z-Missing object key "{key}" in an environment.)rEr]r�rr6r_r7r8r�rr�rr�r�r�r�rrrtrur`r�r�r�r�r)r	rWrr�r$r<r&r�r�r?r�rrr
�runsv 
* 

*"zTransactionReplay.runcCs8|jjsdSg}�x|jjD�]}y
|j}Wn$tk
rP}zwWYdd}~XnXt|�}||jkr�|js�|jtjj	tjj
tjjfkr�td�j
|d�}|js�|jt|��n|jj|�y>|j|}|jtjjtjjfks�tjj||j�dkr�||_Wqtk
�r}zWYdd}~XqXqW|�r4t|j|��dS)z�
        Sets reasons in the transaction history to values from the stored transaction.

        Also serves to check whether additional packages were pulled in by the
        transaction, which results in an error (unless ignore_extras is True).
        NzgPackage nevra "{nevra}", which is not present in the transaction file, was pulled into the transaction.)r'r)rDr8r=rtrrLrFr&r7ZTransactionItemAction_UPGRADEDZ TransactionItemAction_DOWNGRADEDZ!TransactionItemAction_REINSTALLEDrrrGr6rrNrMZTransactionItemAction_INSTALLZTransactionItemAction_REMOVEZTransactionItemReasonComparer(rrE)r	rr:r=r$r'r
Z
replay_reasonrrr
�post_transactionds<



z"TransactionReplay.post_transaction)rCNFFF)rrr�__doc__rrOrPrar^r[r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
rB�s4
 


a


(


SrB)Z
__future__rrrr7rwZdnf.i18nrZdnf.exceptionsr}rTr"Z
VERSION_MINORr4�
exceptionsr�rrrr%rA�objectrBrrrr
�<module>s KPK!�FZ����dd&__pycache__/comps.cpython-36.opt-1.pycnu�[���3

h�-e�`�@s�ddlmZddlmZddlmZddlZddlmZddlm	Z	m
Z
ddlmZddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�ZejjZejjZejjZ ejj!Z"eeBe Be"BZ#d	d
�Z$dd�Z%d
d�Z&dd�Z'd*dd�Z(Gdd�de)�Z*Gdd�de)�Z+Gdd�de)�Z,Gdd�de,�Z-Gdd�de,�Z.Gdd�de,�Z/Gd d!�d!e,�Z0Gd"d#�d#e)�Z1Gd$d%�d%e)�Z2Gd&d'�d'e)�Z3Gd(d)�d)e)�Z4dS)+�)�absolute_import)�print_function)�unicode_literalsN)�
CompsError)�_�ucd)�reduce�dnfcCs"|j|j|jf}ttjtt|��S)N)�
categories�groups�environmentsr�operator�__add__�map�len)�comps�collections�r�/usr/lib/python3.6/comps.py�_internal_comps_length6srcCs|dkrdStjj|�S)N)r	�util�first)�seqrrr�_first_if_iterable;srcs�tjj����fdd�|D�}|r&|S|r>tjtj���j}ntjtj��tjd�j}t	�}x`|D]X}||j
�r||j|�qb|jdk	r�||j�r�|j|�qb|j
dk	rb||j
�rb|j|�qbW|S)z;Return items from sqn matching either exactly or glob-wise.cs$h|]}|j�ks|j�kr|�qSr)�name�id)�.0�g)�patternrr�	<setcomp>Esz_by_pattern.<locals>.<setcomp>)�flagsN)r	Zi18nr�re�compile�fnmatch�	translate�match�I�setr�addr�ui_name)r�case_sensitiveZsqn�exactr%�retrr)rr�_by_patternAs 

r-cCs|jdkrtjS|jS)N)Z
display_order�sys�maxsize)�grouprrr�_fn_display_orderZsr1TcCs||||||�S)aF
    Installs a group or an environment identified by grp_or_env_id.
    This method is preserved for API compatibility. It used to catch an
    exception thrown when a gorup or env was already installed, which is no
    longer thrown.
    `install_fnc` has to be Solver._group_install or
    Solver._environment_install.
    r)Zinstall_fncZ
grp_or_env_id�types�exclude�strict�exclude_groupsrrr�install_or_skip^s
r6c@s,eZdZdZdd�Zedd��Zdd�ZdS)	�_Langsz6Get all usable abbreviations for the current language.cCsd|_d|_dS)N)�last_locale�cache)�selfrrr�__init__osz_Langs.__init__cCs"tjtj�}|dkrdSdj|�S)N�C�.)NN)�localeZ	getlocale�LC_MESSAGES�join)Zlclrrr�_dotted_locale_strssz_Langs._dotted_locale_strcCsz|j�}|j|kr|jSg|_|g}|dkr6|jd�x6|D].}x(tj|�D]}||jkrL|jj|�qLWq<W||_|jS)Nr<)rAr8r9�append�gettextZ_expand_lang)r:Zcurrent_localeZlocales�lZnlangrrr�getzs



z
_Langs.getN)�__name__�
__module__�__qualname__�__doc__r;�staticmethodrArErrrrr7ksr7c@s<eZdZdZdZdZdZdd�Zdd�Zdd�Z	d	d
�Z
dS)�
CompsQuery��cCs||_||_||_||_dS)N)r�history�kinds�status)r:rrNrOrPrrrr;�szCompsQuery.__init__cCs`t�}|j|j@r&|jdd�|D��|j|j@r\x(|D] }|j�}|sJq8|j|j��q8W|S)NcSsh|]
}|j�qSr)r)r�irrrr�sz)CompsQuery._get_groups.<locals>.<setcomp>)r'rP�	AVAILABLE�update�	INSTALLEDZgetCompsGroupItemr(�
getGroupId)r:�	available�	installed�resultrQr0rrr�_get_groups�s
zCompsQuery._get_groupscCs`t�}|j|j@r&|jdd�|D��|j|j@r\x(|D] }|j�}|sJq8|j|j��q8W|S)NcSsh|]
}|j�qSr)r)rrQrrrr�sz'CompsQuery._get_envs.<locals>.<setcomp>)r'rPrRrSrTZgetCompsEnvironmentItemr(ZgetEnvironmentId)r:rVrWrXrQ�envrrr�	_get_envs�s
zCompsQuery._get_envsc	Gstjj�}g|_g|_x�|D]�}g}}|j|j@rf|jj|�}|j	j
j|�}|j||�}|jj
|�|j|j@r�|jj|�}|j	jj|�}|j||�}|jj
|�|o�|r|j|jkr�td�t|�}n.|j|jkr�td�t|�}ntd�t|�}t|��qW|S)Nz&Module or Group '%s' is not installed.z&Module or Group '%s' is not available.z$Module or Group '%s' does not exist.)r	rZBunchrrrO�ENVIRONMENTSr�environments_by_patternrNrZZsearch_by_patternr[�extend�GROUPS�groups_by_patternr0rYrPrTrrrRr)	r:Zpatterns�resZpat�envs�grpsrVrW�msgrrrrE�s.

zCompsQuery.getN)rFrGrHrRrTr\r_r;rYr[rErrrrrK�srKc@s<eZdZdd�Zdd�Zdd�Zedd��Zed	d
��ZdS)�	ForwardercCs||_||_dS)N)�_i�_langs)r:�iobj�langsrrrr;�szForwarder.__init__cCst|j|�S)N)�getattrrf)r:rrrr�__getattr__�szForwarder.__getattr__cCs.x(|jj�D]}|j|�}|dk	r|SqW|S)N)rgrE)r:�defaultZdctrD�trrr�_ui_text�s

zForwarder._ui_textcCs|j|j|j�S)N)rnZdescZdesc_by_lang)r:rrr�ui_description�szForwarder.ui_descriptioncCs|j|j|j�S)N)rnrZname_by_lang)r:rrrr)�szForwarder.ui_nameN)	rFrGrHr;rkrn�propertyror)rrrrre�s
recs8eZdZ�fdd�Zdd�Zdd�Zedd��Z�ZS)	�Categorycstt|�j||�||_dS)N)�superrqr;�_group_factory)r:rhri�
group_factory)�	__class__rrr;�szCategory.__init__cCs0|j|j�}|dkr,d}t||j|jf��|S)Nz no group '%s' from category '%s')rsr�
ValueErrorr)r:�grp_id�grprdrrr�_build_group�s
zCategory._build_groupccs x|jD]}|j|�VqWdS)N)�	group_idsry)r:rwrrr�groups_iter�szCategory.groups_itercCst|j��S)N)�listr{)r:rrrr�szCategory.groups)	rFrGrHr;ryr{rpr�
__classcell__rr)rurrq�srqcsLeZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Zedd��Z	�Z
S)
�Environmentcstt|�j||�||_dS)N)rrr~r;rs)r:rhrirt)rurrr;�szEnvironment.__init__cCs0|j|j�}|dkr,d}t||j|jf��|S)Nz#no group '%s' from environment '%s')rsrrvr)r:rwrxrdrrrrys
zEnvironment._build_groupcCsXg}xN|D]F}y|j|j|��Wq
tk
rN}ztj|�WYdd}~Xq
Xq
W|S)N)rBryrv�logger�error)r:ZidsrZgi�errr�
_build_groupss
 zEnvironment._build_groupsccs\xVtj|j|j�D]B}y|j|�VWqtk
rR}ztj|�WYdd}~XqXqWdS)N)�	itertools�chainrz�
option_idsryrvrr�)r:rwr�rrrr{s
zEnvironment.groups_itercCs|j|j�S)N)r�rz)r:rrr�mandatory_groupsszEnvironment.mandatory_groupscCs|j|j�S)N)r�r�)r:rrr�optional_groupsszEnvironment.optional_groups)rFrGrHr;ryr�r{rpr�r�r}rr)rurr~�s
r~csheZdZ�fdd�Zdd�Zedd��Zedd��Zd	d
�Zedd��Z	ed
d��Z
edd��Z�ZS)�Groupcs$tt|�j||�||_|j|_dS)N)rrr�r;�_pkg_factoryrlZselected)r:rhriZpkg_factory)rurrr;"szGroup.__init__cs�fdd�|jD�S)Ncsg|]}|j�kr|�qSr)�type)r�pkg)�type_rr�
<listcomp>(sz+Group._packages_of_type.<locals>.<listcomp>)�packages)r:r�r)r�r�_packages_of_type'szGroup._packages_of_typecCs|jtj�S)N)r��libcomps�PACKAGE_TYPE_CONDITIONAL)r:rrr�conditional_packages*szGroup.conditional_packagescCs|jtj�S)N)r�r��PACKAGE_TYPE_DEFAULT)r:rrr�default_packages.szGroup.default_packagescCst|j|j�S)N)rr�r�)r:rrr�
packages_iter2szGroup.packages_itercCs|jtj�S)N)r�r��PACKAGE_TYPE_MANDATORY)r:rrr�mandatory_packages6szGroup.mandatory_packagescCs|jtj�S)N)r�r��PACKAGE_TYPE_OPTIONAL)r:rrr�optional_packages:szGroup.optional_packagescCs|jjS)N)rfZuservisible)r:rrr�visible>sz
Group.visible)
rFrGrHr;r�rpr�r�r�r�r�r�r}rr)rurr� sr�c@sLeZdZdZejeejeej	e
ejeiZ
dd�Zedd��Zedd��ZdS)	�Packagez#Represents comps package data. :apicCs
||_dS)N)rf)r:�ipkgrrrr;LszPackage.__init__cCs|jjS)N)rfr)r:rrrrOszPackage.namecCs|j|jS)N)�_OPT_MAPr�)r:rrr�option_typeTszPackage.option_typeN)rFrGrHrIr�r��CONDITIONALr��DEFAULTr��	MANDATORYr��OPTIONALr�r;rprr�rrrrr�Bs
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Zd-dd�Zd.dd�Z
dd�Ze
dd��Zdd�Zd/dd�Zd0dd�Zd d!�Ze
d"d#��Zd$d%�Zd1d&d'�Zd2d(d)�Zd*d+�Zd,S)3�CompscCstj�|_t�|_dS)N)r�r�rfr7rg)r:rrrr;\s
zComps.__init__cCs
t|j�S)N)rrf)r:rrr�__len__`sz
Comps.__len__cCst||j|j�S)N)rqrg�_group_by_id)r:Z	icategoryrrr�_build_categorycszComps._build_categorycCst||j|j�S)N)r~rgr�)r:Zienvironmentrrr�_build_environmentfszComps._build_environmentcCst||j|j�S)N)r�rg�_build_package)r:ZigrouprrrryiszComps._build_groupcCst|�S)N)r�)r:r�rrrr�lszComps._build_packagecCsVtj�}y|j|�Wn,tjk
rB|j�}tdj|���YnX|j|7_dS)N� )r�r�Z	fromxml_fZParserErrorZget_last_errorsrr@rf)r:�fnr�errorsrrr�_add_from_xml_filenameoszComps._add_from_xml_filenamecCst|j��S)N)r|�categories_iter)r:rrrr
xszComps.categoriesFcCs|j||�}t|�S)N)�categories_by_patternr)r:rr*Zcatsrrr�category_by_pattern}szComps.category_by_patterncCst|||j�S)N)r-r
)r:rr*rrrr��szComps.categories_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)r�)r�c)r:rr�	<genexpr>�sz(Comps.categories_iter.<locals>.<genexpr>)rfr
)r:r)r:rr��szComps.categories_itercCst|j�td�S)N)�key)�sorted�environments_iterr1)r:rrrr�szComps.environmentscstjj�fdd�|j�D��S)Nc3s|]}|j�kr|VqdS)N)r)rr)rrrr��sz+Comps._environment_by_id.<locals>.<genexpr>)r	rrr�)r:rr)rr�_environment_by_id�szComps._environment_by_idcCs|j||�}t|�S)N)r]r)r:rr*rbrrr�environment_by_pattern�szComps.environment_by_patterncCs$t|j��}t|||�}t|td�S)N)r�)r|r�r-r�r1)r:rr*rbZ
found_envsrrrr]�szComps.environments_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)r�)rr�)r:rrr��sz*Comps.environments_iter.<locals>.<genexpr>)rfr)r:r)r:rr��szComps.environments_itercCst|j�td�S)N)r�)r�r{r1)r:rrrr�szComps.groupscstjj�fdd�|j�D��S)Nc3s|]}|j�kr|VqdS)N)r)rr)�id_rrr��sz%Comps._group_by_id.<locals>.<genexpr>)r	rrr{)r:r�r)r�rr��szComps._group_by_idcCs|j||�}t|�S)N)r`r)r:rr*rcrrr�group_by_pattern�szComps.group_by_patterncCs t||t|j���}t|td�S)N)r�)r-r|r{r�r1)r:rr*rcrrrr`�szComps.groups_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)ry)rr)r:rrr��sz$Comps.groups_iter.<locals>.<genexpr>)rfr)r:r)r:rr{�szComps.groups_iterN)F)F)F)F)F)F)rFrGrHr;r�r�r�ryr�r�rpr
r�r�r�rr�r�r]r�rr�r�r`r{rrrrr�Ys*	





r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
CompsTransPkgcCs�tjj|�r&d|_||_d|_d|_n\t|tj	j
�r\d|_|j�|_|j�t
j@|_d|_n&|j|_|j|_|jt
j@|_|j|_dS)NFT)r	rZis_string_type�basearchonlyr�optional�requires�
isinstance�libdnf�transactionZCompsGroupPackage�getNameZgetPackageTyper�r�r�)r:Zpkg_or_namerrrr;�s
zCompsTransPkg.__init__cCs0|j|jko.|j|jko.|j|jko.|j|jkS)N)rr�r�r�)r:�otherrrr�__eq__�szCompsTransPkg.__eq__cCs|jS)N)r)r:rrr�__str__�szCompsTransPkg.__str__cCst|j|j|j|jf�S)N)�hashrr�r�r�)r:rrr�__hash__�szCompsTransPkg.__hash__N)rFrGrHr;r�r�r�rrrrr��sr�c@s�eZdZdd�Zdd�Zdd�Zedd��Zed	d
��Z	e	j
dd
��Z	edd
��Zej
dd
��Zedd��Zej
dd��Zedd��Z
e
j
dd��Z
dS)�TransactionBunchcCs$t�|_t�|_t�|_t�|_dS)N)r'�_install�_install_opt�_remove�_upgrade)r:rrrr;�szTransactionBunch.__init__cCsN|jj|j�|jj|j�|jj|j�|j|jB|j|j|j|_|S)N)r�rSr�r�r�)r:r�rrr�__iadd__�s
 zTransactionBunch.__iadd__cCs(t|j�t|j�t|j�t|j�S)N)r�install�install_opt�upgrade�remove)r:rrrr��szTransactionBunch.__len__cCs6x0|D](}t|t�r |j|�q|jt|��qWdS)N)r�r�r()Zparam�val�itemrrr�
_set_value�s

zTransactionBunch._set_valuecCs|jS)z�
        Packages to be installed with strict=True - transaction will
        fail if they cannot be installed due to dependency errors etc.
        )r�)r:rrrr�szTransactionBunch.installcCs|j|j|�dS)N)r�r�)r:�valuerrrr�	scCs|jS)zw
        Packages to be installed with strict=False - they will be
        skipped if they cannot be installed
        )r�)r:rrrr�
szTransactionBunch.install_optcCs|j|j|�dS)N)r�r�)r:r�rrrr�scCs|jS)N)r�)r:rrrr�szTransactionBunch.removecCs|j|j|�dS)N)r�r�)r:r�rrrr�scCs|jS)N)r�)r:rrrr�!szTransactionBunch.upgradecCs|j|j|�dS)N)r�r�)r:r�rrrr�%sN)rFrGrHr;r�r�rJr�rpr��setterr�r�r�rrrrr��sr�c@s�eZdZdd�Zedd��Zedd��Zegfdd��Zd	d
�Zdd�Z	ddd�Z
dd�Zdd�Zddd�Z
dd�Zdd�Zdd�Zd
S)�SolvercCs||_||_||_dS)N)rNrZ
_reason_fn)r:rNrZ	reason_fnrrrr;+szSolver.__init__cCsdd�|jD�S)NcSsh|]
}|j�qSr)r)rrxrrrr2sz.Solver._mandatory_group_set.<locals>.<setcomp>)r�)rZrrr�_mandatory_group_set0szSolver._mandatory_group_setcCs"dd�|j|j|j|jD�S)NcSsh|]}|j��qSr)r�)rr�rrrr6sz+Solver._full_package_set.<locals>.<setcomp>)r�r�r�r�)rxrrr�_full_package_set4szSolver._full_package_setcsv�fdd�}t�}|t@r*|j||j��|t@rB|j||j��|t@rZ|j||j��|t@rr|j||j	��|S)Ncs�fdd�|D�S)Ncsg|]}|j�kr|�qSr)r)rr�)r3rrr�=sz8Solver._pkgs_of_type.<locals>.filter.<locals>.<listcomp>r)�pkgs)r3rr�filter<sz$Solver._pkgs_of_type.<locals>.filter)
r'r�rSr�r�r�r�r�r�r�)r0�	pkg_typesr3r�r�r)r3r�
_pkgs_of_type:szSolver._pkgs_of_typecCs|jjj|�S)N)rNr0Zis_removable_pkg)r:Zpkg_namerrr�_removable_pkgKszSolver._removable_pkgcCs|jjj|�S)N)rNrZZis_removable_group)r:�group_idrrr�_removable_grpOszSolver._removable_grpNTc
Cs�|jj|�}|s$ttd�t|���|jjj||j|j	|�}|jjj
|�t�}xD|jD]:}	|rl|	j
|krlqX||j|	j
|||�7}|j|	j
dt�qXWx.|jD]$}	|r�|	j
|kr�q�|j|	j
dt�q�W|S)Nz#Environment id '%s' does not exist.TF)rr�rrrrNrZ�newrr)r�r�r�r�_group_install�addGroupr�r�r�)
r:�env_idr�r3r4r5�	comps_env�swdb_env�trans�comps_grouprrr�_environment_installSs zSolver._environment_installcCsx|jjj|�}|s"ttd�|��|jjj|�t�}tdd�|j�D��}x&|D]}|j	|�sbqR||j
|�7}qRW|S)Nz%Environment id '%s' is not installed.cSsg|]}|j��qSr)rU)rrQrrrr�ssz.Solver._environment_remove.<locals>.<listcomp>)rNrZrErrr�r�r'�	getGroupsr��
_group_remove)r:r�r�r�rzr�rrr�_environment_removejs

zSolver._environment_removecCs>|jj|�}|jjj|�}|s.ttd�|��|sBttd�|��tdd�|j�D��}|j	�}|jjj
|j|j|j
|�}t�}x\|jD]R}|j|kr�|jjj|j�r�||j|j�7}n||j|j|�7}|j|jdt�q�WxL|jD]B}|j|k�r|jjj|j��r||j|j�7}|j|jdt�q�W|jjj|�|S)Nz"Environment '%s' is not installed.z"Environment '%s' is not available.cSsg|]}|j��qSr)rU)rrQrrrr��sz/Solver._environment_upgrade.<locals>.<listcomp>TF)rr�rNrZrErrr'r��getPackageTypesr�rrr)r�r�r0�_group_upgrader�r�r�r�r�r�)r:r�r�r��old_setr�r�r�rrr�_environment_upgradezs,
zSolver._environment_upgradec
Cs�|jj|�}|s$ttd�t|���|jjj||j|j	|�}x(|j
�D]}|j|jdtj
|j�qFW|jjj|�t�}	|r�|	jj|j||gd��n|	jj|j||gd��|	S)NzGroup id '%s' does not exist.F)r3)rr�rrrrNr0r�rr)r��
addPackager�r�r�r�r�rSr�r�)
r:r�r�r3r4r5r��
swdb_grouprQr�rrrr��szSolver._group_installcsR�jjj|�}|s"ttd�|���jjj|�t�}�fdd�|j�D�|_|S)Nz&Module or Group '%s' is not installed.csh|]}�j|j��r|�qSr)r�r�)rr�)r:rrr�sz'Solver._group_remove.<locals>.<setcomp>)rNr0rErrr�r��getPackages)r:r�r�r�r)r:rr��szSolver._group_removec	s|jj|�}|jjj|�}g}|s@|r,|jn|}ttd�|��|sTttd�|��|j�}t	dd�|j
�D���|j|||��|jjj||j
|j|�}x(|j�D]}|j|j
dtj|j�q�W|jjj|�t�}�fdd��D�|_�fdd��D�|_�fd	d��D�|_|S)
Nz&Module or Group '%s' is not installed.z&Module or Group '%s' is not available.cSsg|]}|j��qSr)r�)rrQrrrr��sz)Solver._group_upgrade.<locals>.<listcomp>Fcsh|]}|j�kr|�qSr)r)rr�)r�rrr�sz(Solver._group_upgrade.<locals>.<setcomp>cs"h|]}|dd��D�kr|�qS)cSsg|]
}|j�qSr)r)rr�rrrr��sz3Solver._group_upgrade.<locals>.<setcomp>.<listcomp>r)rr)�new_setrrr�scsh|]}|j�kr|�qSr)r)rr�)r�rrr�s)rr�rNr0rEr)rrr�r'r�r�r�rr�r�r�r�r�r�r�r�r�)	r:r�r�r�r3Zargumentr�rQr�r)r�r�rr��s(zSolver._group_upgradecCslxf|jjD]Z}|jj|�}|jr
t|j�t|j�}|jj�j�j	|d�}x|D]}|j
j|�qPWq
WdS)N)r)Z	persistorrr0rWr'Z	full_listZpkg_excludeZsackZqueryZfiltermZ_goalr�)r:�baser0Zp_grpZinstalled_pkg_namesZinstalled_pkgsr�rrr�'_exclude_packages_from_installed_groups�s
z.Solver._exclude_packages_from_installed_groups)NTN)NTN)rFrGrHr;rJr�r�r�r�r�r�r�r�r�r�r�r�rrrrr�*s
#

r�)NTN)5Z
__future__rrrZlibdnf.transactionr�Zdnf.exceptionsrZdnf.i18nrr�	functoolsrr	Zdnf.utilr#rCr�r�r>Zloggingr
r!r.Z	getLoggerrr�ZCompsPackageType_CONDITIONALr�ZCompsPackageType_DEFAULTr�ZCompsPackageType_MANDATORYr�ZCompsPackageType_OPTIONALr�Z	ALL_TYPESrrr-r1r6�objectr7rKrerqr~r�r�r�r�r�r�rrrr�<module>sP

!A'"f(CPK!�FZ�U��(__pycache__/match_counter.cpython-36.pycnu�[���3

�ft`T�@sZddlmZddlmZddlmZddlmZddddd	�Zd
d�ZGdd
�d
e�Z	dS)�)�absolute_import)�print_function)�unicode_literals)�reduce����)�nameZsummary�descriptionZurlcCs"t|�}dg||t|�}|S)z, Ordered sset with empty strings prepended. �)�len�sorted)ZssetZlengthZcurrent�l�r�#/usr/lib/python3.6/match_counter.py�_canonize_string_set"src@sfeZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zddd�Z
dd�ZdS)�MatchCounterz�Map packages to which of their attributes matched in a search against
    what values.

    The mapping is: ``package -> [(key, needle), ... ]``.

    cs�fdd�}tt||��S)Ncs>|d}|d}t�|�}|dkr6||kr6dt|St|S)Nrr	r
r)�getattr�WEIGHTS)�match�key�needleZhaystack)�pkgrr�weight4s
z*MatchCounter._eval_weights.<locals>.weight)�sum�map)rZmatchesrr)rr�
_eval_weights1s	zMatchCounter._eval_weightscs�fdd�}|S)a�Get the key function used for sorting matches.

        It is not enough to only look at the matches and order them by the sum
        of their weighted hits. In case this number is the same we have to
        ensure that the same matched needles are next to each other in the
        result.

        Returned function is:
        pkg -> (weights_sum, canonized_needles_set, -distance)

        cs�j|�|�|jfS)N)rr
)r)�selfrr�get_keyKsz'MatchCounter._key_func.<locals>.get_keyr)rrr)rr�	_key_func?szMatchCounter._key_funccs�rt�fdd��D��SdS)z0Return the max count of needles of all packages.c3s|]}t�j|��VqdS)N)r
�matched_needles)�.0r)rrr�	<genexpr>Wsz,MatchCounter._max_needles.<locals>.<genexpr>r)�max)rr)rr�_max_needlesTszMatchCounter._max_needlescCs|j|g�j||f�dS)N)�
setdefault�append)rrrrrrr�addZszMatchCounter.addcCs&x |D]}td|||f�qWdS)Nz%s	%s)�print)rrrrr�dump]s
zMatchCounter.dumpcst�fdd�|�D��S)Nc3s|]}t�|d�VqdS)rN)r)r"�m)rrrr#bsz1MatchCounter.matched_haystacks.<locals>.<genexpr>)�set)rrr)rr�matched_haystacksaszMatchCounter.matched_haystackscCs6g}x,||D] }|d|kr q|j|d�qW|S)Nr)r')rr�result�irrr�matched_keysdszMatchCounter.matched_keyscCstdd�||D��S)Ncss|]}|dVqdS)r	Nr)r"r+rrrr#nsz/MatchCounter.matched_needles.<locals>.<genexpr>)r,)rrrrrr!mszMatchCounter.matched_needlesFNcCs |r|n|j�}t||j�d�S)N)r)�keysrr )r�reverseZlimit_tor1rrrrpszMatchCounter.sortedcst�fdd��d�S)Ncs|t�|�S)N)r
)�totalr)rrr�<lambda>usz$MatchCounter.total.<locals>.<lambda>r)r)rr)rrr3tszMatchCounter.total)FN)�__name__�
__module__�__qualname__�__doc__�staticmethodrr r%r(r*r-r0r!rr3rrrrr)s	
rN)
Z
__future__rrr�	functoolsrrr�dictrrrrr�<module>sPK!�FZ��1G77*__pycache__/persistor.cpython-36.opt-1.pycnu�[���3

�ft`o�@s�ddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZejd�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZdS)�)�absolute_import)�unicode_literals)�_N�dnfc@s,eZdZdd�Zgfdd�Zedd��ZdS)�JSONDBcCs0tjj|�s,tjjtjj|��|j|g�dS)N)�os�path�isfiler�utilZ
ensure_dir�dirname�_write_json_db)�self�	json_path�r�/usr/lib/python3.6/persistor.py�_check_json_db+szJSONDB._check_json_dbcCs�t|d��}|j�}WdQRX|dkrDtjtd�|�|j||�n<ytj|�}Wn,tk
r~}ztj|�WYdd}~XnX|S)N�r�z%s is empty file)	�open�read�logger�warningrr�json�loads�
ValueError)r
r�default�f�content�errr�_get_json_db1szJSONDB._get_json_dbc
Cs&t|d��}tj||�WdQRXdS)N�w)rr�dump)rrrrrrr?szJSONDB._write_json_dbN)�__name__�
__module__�__qualname__rr�staticmethodrrrrrr)src@s<eZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	dS)
�
RepoPersistorzePersistent data kept for repositories.

    Is arch/releasever specific and stores to cachedir.

    cCs*||_tjj|jd�|_t�|_d|_dS)Nzexpired_repos.jsonF)�cachedirrr�join�db_path�set�expired_to_add�reset_last_makecache)r
r'rrr�__init__LszRepoPersistor.__init__cCstjj|jd�S)NZlast_makecache)rrr(r')r
rrr�_last_makecache_pathRsz"RepoPersistor._last_makecache_pathcCsRy|j|j�t|j|j��Stk
rL}ztjtd�|�dSd}~XnXdS)Nz&Failed to load expired repos cache: %s)rr)r*r�OSErrorrrr)r
rrrr�get_expired_reposVszRepoPersistor.get_expired_reposcCs�y$|j|j�|j|jt|j��Wn0tk
rT}ztjtd�|�dSd}~XnX|j	r�yt
jj|j
�dStk
r�tjtd��dSXdS)Nz'Failed to store expired repos cache: %sFTz#Failed storing last makecache time.)rr)r�listr+r/rrrr,rr
Ztouchr.�IOError)r
rrrr�save^szRepoPersistor.savecCs:yttjj|j��Stk
r4tjtd��dSXdS)Nz'Failed determining last makecache time.)	�intrr
Zfile_ager.r/rrr)r
rrr�since_last_makecachems
z"RepoPersistor.since_last_makecacheN)
r"r#r$�__doc__r-�propertyr.r0r3r5rrrrr&Esr&c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TempfilePersistorcCs"tjj|d�|_t�|_d|_dS)Nztempfiles.jsonF)rrr(r)r*�tempfiles_to_add�_empty)r
r'rrrr-wszTempfilePersistor.__init__cCs|j|j�|j|j�S)N)rr)r)r
rrr�get_saved_tempfiles|sz%TempfilePersistor.get_saved_tempfilescCsp|jr|jrdS|j|j�|jr8|j|jg�dS|jrlt|j|j��}|j|j�|j|jt|��dS)N)	r:r9rr)rr*r�updater1)r
�datarrrr3�szTempfilePersistor.savecCs
d|_dS)NT)r:)r
rrr�empty�szTempfilePersistor.emptyN)r"r#r$r-r;r3r>rrrrr8usr8)Z
__future__rrZdnf.i18nrZdistutils.versionZ	distutilsZdnf.utilr�errnoZfnmatchrZloggingr�reZ	getLoggerr�objectrr&r8rrrr�<module>s
0PK!�FZ�j)��!__pycache__/pycomp.cpython-36.pycnu�[���3

�ft`�@s�ddlmZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ej
dkZe�r ddlm
Z
ddlmZddlZddlZddlZejZeZZejZeZeje_eje_eZe Z!ej"Z#ej$Z%e%j&Z'ej&Z(ej)Z*dd�Z+d	d
�Z,dd�Z-d
d�Z.ej/Z0ddd�Z1dd�Z2dd�Z3n�ddl4mZmZmZmZm!Z!ddl
m
Z
ddlmZddlZddlZddl%Z%ddl5Z5ejZej6Zej7Z#ej&Z'e5j&Z(ej8Z*dd�Z+dd
�Z,dd�Z-dd�Z.dd�Z0d dd�Z1dd�Z2dd�Z3dS)!�)�NullTranslations)�version_infoN�)�StringIO)�ConfigParsercCs|j}|j}||fS)N)�gettext�ngettext)�t�_�P_�r�/usr/lib/python3.6/pycomp.py�
gettext_setup8srcCs
t|t�S)N)�
isinstance�bytes)�orrr
�is_py2str_py3bytes>srcCs
t|t�S)N)rr)rrrr
�is_py3bytes@srcCs
tj|�S)N)�types�
ModuleType)�mrrr
�<lambda>DsrcCstj||�dS)N)�locale�	setlocale)�category�locrrr
rFsrcCs|j|�dS)N)�write)�f�contentrrr
�
write_to_fileHsrcCstjjj|�S)N)�email�mime�text�MIMEText)�bodyrrr
�
email_mimeJsr%)�unicode�
basestring�long�xrange�	raw_inputcCs|j}|j}||fS)N)�ugettext�	ungettext)r	r
rrrr
r]scCs
t|t�S)N)r�str)rrrr
rcscCsdS)NFr)rrrr
rescCstj|jd��S)Nzutf-8)rr�encode)rrrr
riscOstj|jd�f|�|�S)Nzutf-8)r�formatr.)Zpercent�args�kwargsrrr
r/jsr/cCstj||jd��dS)Nzutf-8)rrr.)rrrrr
rlscCs|j|jd��dS)Nzutf-8)rr.)rrrrr
rnscCstjjj|jd��S)Nzutf-8)r r!r"r#r.)r$rrr
r%ps)N)N)9rr�sysr�base64Zemail.mime.textr �	itertoolsrr�majorZPY3�iorZconfigparserrZqueueZurllib.parseZurllibZshlexZQueuer-r'r&�filterfalse�intr(r+rr,�ranger)�inputr*ZdecodebytesZbase64_decodebytes�parseZurlparseZquoteZurllib_quoteZshlex_quote�maxsizeZsys_maxsizerrrr�
format_stringr/rrr%Z__builtin__ZpipesZifilterfalseZdecodestringZmaxintrrrr
�<module>sr



PK!�FZb��9�V�V__pycache__/repo.cpython-36.pycnu�[���3

i�-eLQ�@sFddlmZddlmZddlmZmZddlZddlZddl	Zddl
ZddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ dZ!ej"ej#dZ$dej%e$�ej&fZ'd	e'e!fd
e'e fdd�Z(ej)d
�Z*dd�Z+dd�Z,d-dd�Z-dd�Z.Gdd�de/�Z0Gdd�de1�Z2Gdd�dej3j4�Z5Gdd�de/�Z6Gdd �d ej7j8�Z9Gd!d"�d"ej3j:�Z;Gd#d$�d$e;�Z<Gd%d&�d&e;�Z=Gd'd(�d(ej3j:�Z>ej7j?j@ZAej7j?jBZCej7j?jDZEGd)d*�d*ej7jF�ZGGd+d,�d,ejHjI�Z?dS).�)�absolute_import)�unicode_literals)�ucd�_N�packagesZ
mirrorlistz-_.:z(?P<repoid>[%s]+)\-[%s]{16}z>^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$z^%s\/%s\/.+rpm$z^.+(solv|solvx)$)�metadatarZdbcache�dnfcCstjjj|�}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)�libdnf�repo�RepoZverifyId)Zrepo_idZ
first_invalid�r�/usr/lib/python3.6/repo.py�repo_id_invalidHsrcGs8x"|D]}|||�}|dk	r|SqWttd�|��dS)Nz"no matching payload factory for %s)�
ValueErrorr)�pkg�progressZ	factories�fn�ploadrrr
�_pkg2payloadOs


rTcCs�dd�}|jj�dd�t||d�D�}t�}ytjjjtjj|�|�Wn,t	k
rv}zt
|�|_WYdd}~XnX|j�|jj
�|_xj|D]b}|j�}|dks�|jd�r�q�|j�}	|	j}
|
j}|dkr�|jj|�q�|jjj�|g|j|<q�W|S)NcSst|d�S)NZdelta)�hasattr)�payloadrrr
�_download_sort_keyYsz._download_payloads.<locals>._download_sort_keycSsg|]}|j��qSr)�_librepo_target)�.0rrrr
�
<listcomp>]sz&_download_payloads.<locals>.<listcomp>)�keyzNot finishedzAlready downloaded)�err�clear�sorted�_DownloadErrorsr	r
�
PackageTargetZdownloadPackagesZVectorPPackageTarget�RuntimeError�str�_fatal�wait�copy�_recoverableZgetErr�
startswithZgetCallbacks�
package_ploadr�_skipped�add�_repoZexpire�_pkg_irrecoverable)�payloadsZdrpmZ	fail_fastrZtargets�errs�eZtgtr�	callbacksrrrrr
�_download_payloadsWs0

r1cCsL|\}}x:|D]2}|j}||kr,||j7}q||j7}||j7}qW||fS)N)r�
download_size�
_full_size)Zsavingr-r.�realZfullrrrrr
�_update_savingxs


r5c@s>eZdZdd�Zdd�Zedd��Zejdd��Zdd	�Zd
S)rcCsi|_i|_d|_t�|_dS)N)r,�_val_recoverabler#�setr))�selfrrr
�__init__�sz_DownloadErrors.__init__cCs"|jr|jS|jrd|jgiSiS)N�)r,r#)r8rrr
�_irrecoverable�s
z_DownloadErrors._irrecoverablecCs|jS)N)r6)r8rrr
r&�sz_DownloadErrors._recoverablecCs
||_dS)N)r6)r8Znew_dctrrr
r&�scCs|j|jkrdS|jS)Nr)rr)r2)r8rrrr
�_bandwidth_used�sz_DownloadErrors._bandwidth_usedN)	�__name__�
__module__�__qualname__r9r;�propertyr&�setterr<rrrr
r�s
rc@seZdZdd�ZdS)�_DetailedLibrepoErrorcCs,tj|�|jd|_|jd|_||_dS)Nr�)�	Exceptionr9�argsZlibrepo_codeZlibrepo_msg�
source_url)r8Zlibrepo_errrFrrr
r9�s
z_DetailedLibrepoError.__init__N)r=r>r?r9rrrr
rB�srBc@seZdZdd�ZdS)�_NullKeyImportcCsdS)NTr)r8�id�userid�fingerprint�url�	timestamprrr
�_confirm�sz_NullKeyImport._confirmN)r=r>r?rMrrrr
rG�srGc@s eZdZdd�Zedd��ZdS)�MetadatacCs
||_dS)N)r+)r8r
rrr
r9�szMetadata.__init__cCs
|jj�S)N)r+�fresh)r8rrr
rO�szMetadata.freshN)r=r>r?r9r@rOrrrr
rN�srNcs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	�PackageTargetCallbackscstt|�j�||_dS)N)�superrPr9r()r8r()�	__class__rr
r9�szPackageTargetCallbacks.__init__cCs|jjd||�dS)Nr)r(�_end_cb)r8�status�msgrrr
�end�szPackageTargetCallbacks.endcCs|jjd||�dS)Nr)r(�_progress_cb)r8�totalToDownload�
downloadedrrr
r�szPackageTargetCallbacks.progresscCs|jjd||�dS)Nr)r(�_mirrorfail_cb)r8rUrKrrr
�
mirrorFailure�sz$PackageTargetCallbacks.mirrorFailure)r=r>r?r9rVrr[�
__classcell__rr)rRr
rP�srPcsHeZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Zdd�Z	�Z
S)
�PackagePayloadcs$tt|�j|�t|�|_||_dS)N)rQr]r9rPr0r)r8rr)rRrr
r9�s
zPackagePayload.__init__cCsRtjj}|dkrtjj}n$|jd�r(dS|tjjjkr>tjj	}|j
j|||�dS)z"End callback to librepo operation.NzNot finished)r�callbackZ
STATUS_FAILEDZ	STATUS_OKr'r	r
�PackageTargetCBZTransferStatus_ALREADYEXISTSZSTATUS_ALREADY_EXISTSrrV)r8�cbdataZ	lr_statusrUrTrrr
rS�s

zPackagePayload._end_cbcCs|jj|tjj|�dS)N)rrVrr^Z
STATUS_MIRROR)r8r`rrKrrr
rZ�szPackagePayload._mirrorfail_cbcCsXy|jj||�Wn@tk
rRtj�\}}}tj|||�}tjdj|��YnXdS)Nr:)	rrD�sys�exc_info�	traceback�format_exception�logger�critical�join)r8r`�total�done�exc_type�	exc_value�
exc_traceback�except_listrrr
rW�szPackagePayload._progress_cbcCs|jS)N)r2)r8rrr
r3�szPackagePayload._full_sizecCs�|j}|j}tjj|�|d||j|j|jd�}|j|j	��t
jj|jj
|d|d|d|d|d|d|d	d
d
|j�S)NT)�dest�resumer`Z
progresscbZendcbZmirrorfailurecb�relative_urlrn�
checksum_type�checksum�expectedsize�base_urlror)r�pkgdirr�util�
ensure_dirrWrSrZ�update�_target_paramsr	r
r r+r0)r8rruZ
target_dctrrr
r�s 
zPackagePayload._librepo_target)r=r>r?r9rSrZrWr@r3rr\rr)rRr
r]�sr]c@s(eZdZdd�Zdd�Zedd��ZdS)�
RPMPayloadcCstjj|jj�S)N)�os�path�basenamer�location)r8rrr
�__str__szRPMPayload.__str__cCsT|j}|j�\}}tjjj|�}|tjjjkr>tjt	d�|�|j
|||j|jd�S)Nzunsupported checksum type: %s)rprqrrrsrt)
rZreturnIdSumr	r
r ZchecksumTypeZChecksumType_UNKNOWNre�warningrr~�downloadsize�baseurl)r8rZctypeZcsumZ
ctype_coderrr
ryszRPMPayload._target_paramscCs|jjS)zTotal size of the download.)rr�)r8rrr
r2szRPMPayload.download_sizeN)r=r>r?rryr@r2rrrr
rzsrzcs@eZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Z�Z	S)�RemoteRPMPayloadcs�tt|�jd|�||_d|_||_|jjp.d|jjjd�}t	j
|jd��j�dd�}d|}t
jj|jj|d�|_tjj|j�t
jj|j|j�jd	��|_dS)
NZ
unused_objectrr:Zbasearch�utf8�zcommandline-r�/)rQr�r9�remote_location�remote_size�confZ
releasever�
substitutions�get�hashlibZsha256�encodeZ	hexdigestr{r|rgZcachedirrurrvrwr�lstripZ
local_path)r8r�r�r�sZdigestZrepodir)rRrr
r9szRemoteRPMPayload.__init__cCstjj|j�S)N)r{r|r}r�)r8rrr
r)szRemoteRPMPayload.__str__cCs^||_y|jj||�Wn@tk
rXtj�\}}}tj|||�}tjdj	|��YnXdS)Nr:)
r�rrDrarbrcrdrerfrg)r8r`rhrirjrkrlrmrrr
rW,szRemoteRPMPayload._progress_cbcCs<tjj|jjtjj|j�|j	dddtjj
|j�ddd|j�S)NrT)r	r
r r��_configr{r|r}r�ru�dirnamer0)r8rrr
r5sz RemoteRPMPayload._librepo_targetcCs|jS)zTotal size of the download.)r�)r8rrr
r2;szRemoteRPMPayload.download_size)
r=r>r?r9rrWrr@r2r\rr)rRr
r�s
	r�cszeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	d
d��Z
e	dd��Zejdd��Zdd�Z
dd�Z�ZS)�	MDPayloadcs.tt|�j|�d|_d|_d|_t�|_dS)Nr:rF)rQr�r9�_text�_download_size�fastest_mirror_runningr7�mirror_failures)r8r)rRrr
r9Cs
zMDPayload.__init__cCstjjr|jS|jjd�SdS)Nzutf-8)r�pycompZPY3r�r�)r8rrr
rJszMDPayload.__str__cCs|jS)N)r�)r8rrr
�__unicode__PszMDPayload.__unicode__cCs||_|jj||�dS)N)r�r)r8r`rhrirrr
rWSszMDPayload._progress_cbcCs\|tjjjkr"td�|}d|_n*|tjjjkrH|jrH|rBd|nd}ndS|jj|�dS)Nz,determining the fastest mirror (%s hosts).. Tz
error: %s
zdone.
)	r	r
�RepoCBZFastestMirrorStage_DETECTIONrr�ZFastestMirrorStage_STATUSr�message)r8r`�stage�datarUrrr
�_fastestmirror_cbWszMDPayload._fastestmirror_cbcCs&|jj|�d||f}tj|�dS)Nzerror: %s (%s).)r�r*re�debug)r8r`rUrKrrrr
�_mirror_failure_cbcszMDPayload._mirror_failure_cbcCs|jS)N)r�)r8rrr
r2hszMDPayload.download_sizecCs|jS)N)�	_progress)r8rrr
rlszMDPayload.progresscCs|dkrtjj�}||_dS)N)rr^�NullDownloadProgressr�)r8rrrr
rps
cCs||_|jjdd�dS)NrCr)r�r�start)r8�textrrr
r�vszMDPayload.startcCsd|_|jj|dd�dS)Nr)r�rrV)r8rrr
rVzsz
MDPayload.end)r=r>r?r9rr�rWr�r�r@r2rrAr�rVr\rr)rRr
r�Asr�csLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�
RepoCallbackscs tt|�j�||_|j|_dS)N)rQr�r9r+�	_md_pload)r8r
)rRrr
r9�szRepoCallbacks.__init__cCs|jj|�dS)N)r�r�)r8Zwhatrrr
r��szRepoCallbacks.startcCs|jj�dS)N)r�rV)r8rrr
rV�szRepoCallbacks.endcCs|jjd||�dS)Nr)r�rW)r8rXrYrrr
r�szRepoCallbacks.progresscCs|jjd||�dS)N)r�r�)r8r�Zptrrrr
�
fastestMirror�szRepoCallbacks.fastestMirrorcCs|jjd|||�dS)Nr)r�r�)r8rUrKrrrr
�handleMirrorFailure�sz!RepoCallbacks.handleMirrorFailurecCs|jjj|||||�S)N)r+�_key_importrM)r8rHrIrJrKrLrrr
�
repokeyImport�szRepoCallbacks.repokeyImport)r=r>r?r9r�rVrr�r�r�r\rr)rRr
r��sr�cseZdZeZd7�fdd�	Zedd��Zedd��Zej	dd��Zed	d
��Z
dd�Ze
j	d
d
��Z
edd��Zedd��Z
e
j	dd��Z
dd�Zdd�Z�fdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd9d5d6�Z�ZS):rNcs�tt|�j||d�|jjj�tjj|r.|nd|j�|_t	t
jj��|_
t|�|_|jjj�|jj|j�d|_t�|_d|_|jj|r�|jr�tn|j�|r�|jj|j�t
jjj�|_|dk	r�|jnd|_dS)N)Zsection�parentr:T) rQrr9r��thisZdisownr	r
r+r�rr^r�r�r�Z
_callbacksZsetCallbacks�_pkgdirrGr�rZsetSyncStrategyZ	cacheonly�SYNC_ONLY_CACHE�DEFAULT_SYNCZsetSubstitutionsr�r�Z
SubstitutionsZ_substitutionsZcheck_config_file_ageZ_check_config_file_age)r8�nameZparent_conf)rRrr
r9�s
z
Repo.__init__cCs
|jj�S)N)r+ZgetId)r8rrr
rH�szRepo.idcCs
|jj�S)N)r+ZgetRepoFilePath)r8rrr
�repofile�sz
Repo.repofilecCs|jj|�dS)N)r+ZsetRepoFilePath)r8�valuerrr
r��scCs|jj�r|jj�S|j�S)N)r+ZisLocalZgetLocalBaseurl�cache_pkgdir)r8rrr
ru�s

zRepo.pkgdircCs$|jdk	r|jStjj|jj�t�S)N)r�r{r|rgr+�getCachedir�_PACKAGES_RELATIVE_DIR)r8rrr
r��s
zRepo.cache_pkgdircCs
||_dS)N)r�)r8�valrrr
ru�scCstjj|jj�d�S)NZpubring)r{r|rgr+r�)r8rrr
�_pubring_dir�szRepo._pubring_dircCs
|jj�S)N)r+ZgetLoadMetadataOther)r8rrr
�load_metadata_other�szRepo.load_metadata_othercCs|jj|�dS)N)r+ZsetLoadMetadataOther)r8r�rrr
r��scCs|j|jkS)N)rH)r8�otherrrr
�__lt__�szRepo.__lt__cCsd|jj|jfS)Nz<%s %s>)rRr=rH)r8rrr
�__repr__�sz
Repo.__repr__cstt|�j||�dS)N)rQr�__setattr__)r8r�r�)rRrr
r��szRepo.__setattr__cCs|jj�dS)N)r+�disable)r8rrr
r��szRepo.disablecCs|jj�dS)N)r+�enable)r8rrr
r��szRepo.enablecCs|jj|�dS)a/Ask for additional repository metadata type to download.

        Given metadata_type is appended to the default metadata set when
        repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: add_metadata_type_to_download("productid")
        N)r+ZaddMetadataTypeToDownload)r8�
metadata_typerrr
�add_metadata_type_to_download�s
z"Repo.add_metadata_type_to_downloadcCs|jj|�dS)aIStop asking for this additional repository metadata type
        in download.

        Given metadata_type is no longer downloaded by default
        when this repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: remove_metadata_type_from_download("productid")
        N)r+ZremoveMetadataTypeFromDownload)r8r�rrr
�"remove_metadata_type_from_downloadsz'Repo.remove_metadata_type_from_downloadcCs|jj|�S)z�Return path to the file with downloaded repository metadata of given type.

        Parameters
        ----------
        metadata_type: string
        )r+ZgetMetadataPath)r8r�rrr
�get_metadata_pathszRepo.get_metadata_pathcCs|jj|�S)z�Return content of the file with downloaded repository metadata of given type.

        Content of compressed metadata file is returned uncompressed.

        Parameters
        ----------
        metadata_type: string
        )r+ZgetMetadataContent)r8r�rrr
�get_metadata_content!s
zRepo.get_metadata_contentcCs�d}z�y|jj�}Wnttjjtfk
r�}zP|jjrhd|j}x|jjD]}|d|7}qJWt	j
|�tjj
t|���WYdd}~XnXWdt�|j_Xt|j�|_|S)a�Load the metadata for this repo.

        Depending on the configuration and the age and consistence of data
        available on the disk cache, either loads the metadata from the cache or
        downloads them from the mirror, baseurl or metalink.

        This method will by default not try to refresh already loaded data if
        called repeatedly.

        Returns True if this call to load() caused a fresh metadata download.

        Fz7Errors during downloading metadata for repository '%s':z
  - %sN)r+�loadr	�error�Errorr!r�r�rHrer�r�
exceptionsZ	RepoErrorr"r7rNr)r8�retr/rUZfailurerrr
r�-s

&z	Repo.loadcCsP|js|jjd�|jrL|jdkr&dS|jj�}|jj�rDtd|�}d|fSdS)	a)Get the number of seconds after which the cached metadata will expire.

        Returns a tuple, boolean whether there even is cached metadata and the
        number of seconds it will expire in. Negative number means the metadata
        has expired already, None that it never expires.

        FrCTNr���)TN)Fr)rr+Z	loadCacheZmetadata_expireZgetExpiresInZ	isExpired�min)r8Z
expirationrrr
�_metadata_expire_inJs



zRepo._metadata_expire_incCs
||_dS)N)r�)r8Z
key_importrrr
�_set_key_import]szRepo._set_key_importcCs||j_dS)N)r�r)r8rrrr
�set_progress_bar`szRepo.set_progress_barcCs
|jj�S)zoReturns user defined http headers.

        Returns
        -------
        headers : tuple of strings
        )r+ZgetHttpHeaders)r8rrr
�get_http_headersdszRepo.get_http_headerscCs|jj|�dS)aSets http headers.

        Sets new http headers and rewrites existing ones.

        Parameters
        ----------
        headers : tuple or list of strings
            Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"])
        N)r+ZsetHttpHeaders)r8Zheadersrrr
�set_http_headersnszRepo.set_http_headers�http�ftp�file�httpscs@��fdd�}�sdS|jj�}|r,||�S|jr<||j�SdS)z�
        :param location: relative location inside the repo
        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: absolute url (string) or None
        csZxT|D]L}�r>tjjj|�d}|�krRtjj|�jd��Sqtjj|�jd��SqWdS)Nrr�)rr�Zurlparser{r|rgr�)Zurl_listrKr�)r~�schemesrr
�schemes_filter�s
z,Repo.remote_location.<locals>.schemes_filterN)r+Z
getMirrorsr�)r8r~r�r�Zmirrorsr)r~r�r
r�{s

zRepo.remote_location)NN�r�r�r�r�)r�)r=r>r?�SYNC_TRY_CACHEr�r9r@rHr�rArur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r\rr)rRr
r�s6


r)T)JZ
__future__rrZdnf.i18nrrZdnf.callbackrZdnf.confZdnf.conf.substitutionsZ	dnf.constZ
dnf.cryptoZdnf.exceptionsZdnf.loggingZ
dnf.pycompZdnf.utilZdnf.yum.miscZlibdnf.errorr	Zlibdnf.repo�	functoolsr�ZhawkeyZlogging�operatorr{�reZshutil�stringraZtimercr�Z_MIRRORLIST_FILENAMEZ
ascii_lettersZdigitsZ
_REPOID_CHARS�escapeZ	hexdigitsZ_CACHEDIR_REZCACHE_FILESZ	getLoggerrerrr1r5�objectrrDrBr^Z	KeyImportrGrNr
r_rPZPayloadr]rzr�r�rZSyncStrategy_LAZYZ	SYNC_LAZYZSyncStrategy_ONLY_CACHEr�ZSyncStrategy_TRY_CACHEr�r�r�r�ZRepoConfrrrr
�<module>sl




!
8&?


PK!�FZ�$����%__pycache__/sack.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ejd�ZGdd�dej�Zd	d
�Zdd�Zd
d�ZdS)�)�absolute_import)�unicode_literalsN)�
basestring)�_�dnfcs0eZdZ�fdd�Zd	dd�Zd
dd�Z�ZS)�Sackcstt|�j||�dS)N)�superr�__init__)�self�args�kwargs)�	__class__��/usr/lib/python3.6/sack.pyr	%sz
Sack.__init__NrcCs8|r
||_||_|dk	r4||_|dkr4tjtd��dS)NFznallow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands)�installonly�installonly_limit�allow_vendor_change�loggerZwarningr)r
rrrrrr�
_configure(szSack._configurecCstjj||�S)z'Factory function returning a DNF Query.)r�queryZQuery)r
�flagsrrrr1sz
Sack.query)NrN)r)�__name__�
__module__�__qualname__r	rr�
__classcell__rr)r
rr"s
	rc	CsT|jj}tjj|�ttjj||jjd||jj	t
jj|jj
tjj�|jjdkd�S)N�arch�	)ZpkgclsZ
pkginitvalr�cachedirZrootdirZlogfileZlogdebug)Zconfrr�utilZ
ensure_dirr�packageZPackageZ
substitutionsZinstallroot�os�path�joinZlogdir�constZ
LOG_HAWKEYZlogfilelevel)�baserrrr�_build_sack7s

r%cCs2t|�}y|jdd�Wntk
r,YnX|S)NF)Zbuild_cache)r%Zload_system_repo�IOError)r$Zsackrrr�_rpmdb_sackBsr'cCst|�S)z�
    Returns a new instance of sack containing only installed packages (@System repo)
    Useful to get list of the installed RPMs after transaction.
    )r')r$rrr�
rpmdb_sackMsr()Z
__future__rrZdnf.utilrZdnf.packageZ	dnf.queryZloggingZhawkeyr Z
dnf.pycomprZdnf.i18nrZ	getLoggerrrr%r'r(rrrr�<module>s
PK!�FZ��7��'__pycache__/crypto.cpython-36.opt-1.pycnu�[���3

�ft`��@s<ddlmZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZddlZddl
Z
ddlZyddlmZddlmZWn<ek
r�ddlZGdd	�d	e�ZGd
d�de�ZYnXdZejd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejdd��Zdd�Z d"dd�Z!Gd d!�d!e�Z"dS)#�)�print_function)�absolute_import)�unicode_literals)�_N)�Context)�Datac@sVeZdZdd�Zdd�Zdd�Zedd��Zejd	d��Zd
d�Z	dd
�Z
dd�ZdS)rcCstj�|jd<dS)N�ctx)�gpgmer�__dict__)�self�r�/usr/lib/python3.6/crypto.py�__init__*szContext.__init__cCs|S)Nr)rrrr
�	__enter__-szContext.__enter__cCsdS)Nr)r�type�value�tbrrr
�__exit__0szContext.__exit__cCs|jjS)N)r�armor)rrrr
r3sz
Context.armorcCs||j_dS)N)rr)rrrrr
r7scCs$t|t�rtj|�}|jj|�dS)N)�
isinstanceZ
basestring�io�BytesIOr�import_)r�key_forrr
�	op_import;s

zContext.op_importcCs|jj||�dS)N)rZexport)r�pattern�modeZkeydatarrr
�	op_export@szContext.op_exportcCst|j|�S)N)�getattrr)r�namerrr
�__getattr__CszContext.__getattr__N)�__name__�
__module__�__qualname__rrr�propertyr�setterrrr rrrr
r)src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)rcCstj�|jd<dS)N�buf)rrr
)rrrr
rHsz
Data.__init__cCs|S)Nr)rrrr
rKszData.__enter__cCsdS)Nr)rrrrrrr
rNsz
Data.__exit__cCs
|jj�S)N)r&�getvalue)rrrr
�readQsz	Data.readcCst|j|�S)N)rr&)rrrrr
r TszData.__getattr__N)r!r"r#rrrr(r rrrr
rGs
rZ	GNUPGHOME�dnfcCstjjdd�|jD��S)Ncss|]}|jr|VqdS)N)Zcan_sign)�.0�subkeyrrr
�	<genexpr>]sz*_extract_signing_subkey.<locals>.<genexpr>)r)�util�firstZsubkeys)�keyrrr
�_extract_signing_subkey\sr0cs(�fdd�tdt��d�D�}dj|�S)Nc3s|]}�||d�VqdS)�Nr)r*�i)�fpr_hexrr
r,asz)_printable_fingerprint.<locals>.<genexpr>rr1� )�range�len�join)r3Zsegmentsr)r3r
�_printable_fingerprint`sr8cCs�|j}t|�}x�|jD]x}xrt||�D]d}|j}||krNtjtd�|j|�q&|j	j
|�s\q&tjj
j|j|j|dd�tjtd�|j|�q&WqWdS)Nzrepo %s: 0x%s already importedF)�gpgdirZmake_ro_copyzrepo %s: imported key 0x%s.)Z_pubring_dir�keyids_from_pubringZgpgkey�retrieve�id_�logger�debugr�idZ_key_importZ_confirmr)ZyumZmiscZimport_key_to_pubring�raw_key�short_id)�repor9Z
known_keys�keyurl�keyinfo�keyidrrr
�import_repo_keyses
rFcCsltjj|�sgSt|��Jt��8}g}x,|j�D] }t|�}|dk	r0|j|j�q0W|SQRXWdQRXdS)N)	�os�path�exists�pubring_dirr�keylistr0�appendrE)r9rZkeyids�kr+rrr
r:vsr:cCs8td�|j|jt|j�|jjdd�f}tjd|�dS)NzLImporting GPG key 0x%s:
 Userid     : "%s"
 Fingerprint: %s
 From       : %szfile://�z%s)	rrA�useridr8�fingerprint�url�replacer=�critical)rD�msgrrr
�log_key_import�s
rUcCs8t|�|tjjjkr&tjtd��ntjtd��dS)Nz0Verified using DNS record with DNSSEC signature.zNOT verified using DNS record.)rUr)ZdnssecZValidityZVALIDr=rSr)rDZ
dns_resultrrr
�log_dns_key_import�srVccsFtjjtd�}|tjt<z
dVWd|dkr6tjt=n
|tjt<XdS)N)rG�environ�get�GPG_HOME_ENV)rJZorigrrr
rJ�s


rJcCs�tj�}g}t|���t���}|j|�x2|j�D]&}t|�}|dkrHq2|jt||��q2Wd|_	xF|D]>}t
��.}|j|jd|�|j
dtj�|j�|_WdQRXqhWWdQRXWdQRXtjj|�|S)NTr)�tempfileZmkdtemprJrrrKr0rL�Keyrrrr<�seekrG�SEEK_SETr(r@r)r-Zrm_rf)rZpb_dir�keyinfosrr/r+�infoZsinkrrr
�rawkey2infos�s"

,r`c
CsZ|jd�rtjtd�|j|�tjj||d��}t|�}WdQRXx|D]
}||_	qHW|S)Nzhttp:z.retrieving repo key for %s unencrypted from %s)rB)
�
startswithr=Zwarningrr?r)r-Z_urlopenr`rQ)rCrBZhandler^rDrrr
r;�s


r;c@s,eZdZdd�Zedd��Zedd��ZdS)r[cCs6|j|_|j|_d|_|j|_d|_|jdj|_	dS)Nr)
rEr<ZfprrPr@Z	timestamprQZuidsZuidrO)rr/r+rrr
r�szKey.__init__cCs&tjjrdnd}|jdd�jd|�S)N�0�0�i����)r)ZpycompZPY3r<�rjust)rZrjrrr
rA�szKey.short_idcCs
|jj�S)N)rA�lower)rrrr
�rpm_id�sz
Key.rpm_idN)r!r"r#rr$rArgrrrr
r[�sr[)N)#Z
__future__rrrZdnf.i18nr�
contextlibZ
dnf.pycompr)Zdnf.utilZdnf.yum.miscrZloggingrGrZZgpgrr�ImportErrorr	�objectrYZ	getLoggerr=r0r8rFr:rUrV�contextmanagerrJr`r;r[rrrr
�<module>s<




PK!�FZ�4�X��#__pycache__/repodict.cpython-36.pycnu�[���3

i�-e&�@s`ddlmZddlmZddlmZddlZddlZ	ddl
Z
ddlZejj
Z
Gdd�de�ZdS)�)�unicode_literals)�ConfigError)�_Ncs�eZdZdd�Zdd�Zdd�Zdd�Zffd	d
�Zdd�Zd
d�Z	dd�Z
dd�Z�fdd�Zdd�Z
dd�Zdd�Z�ZS)�RepoDictcCsj|j}||krd}t||��y|jj�Wn0tk
r\}ztdj|���WYdd}~XnX|||<dS)Nz;Repository %s is listed more than once in the configurationz{0})�idrZ_repoZverify�RuntimeError�format)�self�repoZid_�msg�e�r
�/usr/lib/python3.6/repodict.py�add#s zRepoDict.addcCstjj|j��S)N)�dnf�util�
MultiCallList�values)r	r
r
r�all/szRepoDict.allcCstjj|j��S)N)rr�empty�iter_enabled)r	r
r
r�_any_enabled3szRepoDict._any_enabledcCsPxJ|j�D]>}x8|j||j��D]$}|js tjtd�|j�|j�q Wq
WdS)Nzenabling %s repository)r�get_matchingr�enabled�logger�infor�enable)r	Zsub_name_fnr
�foundr
r
r�_enable_sub_repos6s
zRepoDict._enable_sub_reposc
s��fdd�}tjj|��}x:|D]2}d|kr>djtjj|��}|j||�g7_q Wx$|j�D]\}}	t	||||	��q`W|j
|�tjt
d�|dj|��|S)a�
        Creates new repo object and add it into RepoDict. Variables in provided values will be
        automatically substituted using conf.substitutions (like $releasever, ...)

        @param repoid: Repo ID - string
        @param conf: dnf Base().conf object
        @param baseurl: List of strings
        @param kwargs: keys and values that will be used to setattr on dnf.repo.Repo() object
        @return: dnf.repo.Repo() object
        cspt|t�rtjjj|�j�St|t�s0t|t�rlg}x.|D]&}t|t�r:|j	tjjj|�j��q:W|rl|S|S)N)
�
isinstance�str�libdnf�confZConfigParser�
substituteZ
substitutions�list�tuple�append)rZsubstituted�value)r"r
rr#Is


z)RepoDict.add_new_repo.<locals>.substitutez://z	file://{}zAdded %s repo from %sz, )rr
ZRepor�os�path�abspath�baseurl�items�setattrrrrr�join)
r	Zrepoidr"r+�kwargsr#r
r)�keyr'r
)r"r�add_new_repo=s


zRepoDict.add_new_repocCsdd�}|j|�dS)z@enable debug repos corresponding to already enabled binary reposcSs&|jd�rdj|dd��Sdj|�S)Nz-rpmsz
{}-debug-rpms�z{}-debuginfo���)�endswithr)�namer
r
r�
debug_nameesz/RepoDict.enable_debug_repos.<locals>.debug_nameN)r)r	r6r
r
r�enable_debug_reposaszRepoDict.enable_debug_reposcCsdd�}|j|�dS)zAenable source repos corresponding to already enabled binary reposcSs&|jd�rdj|dd��Sdj|�S)Nz-rpmsz{}-source-rpmsr2z	{}-sourcer3)r4r)r5r
r
r�source_nameosz1RepoDict.enable_source_repos.<locals>.source_nameN)r)r	r8r
r
r�enable_source_reposkszRepoDict.enable_source_reposcsZtjj��r,��fdd��D�}tjj|�S�j�d�}|dkrLtjjg�Stjj|g�S)Ncs g|]}tj|��r�|�qSr
)�fnmatch)�.0�k)r0r	r
r�
<listcomp>xsz)RepoDict.get_matching.<locals>.<listcomp>)rrZis_glob_patternr�get)r	r0�lr
r
)r0r	rruszRepoDict.get_matchingcCsdd�|j�D�S)Ncss|]}|jr|VqdS)N)r)r;�rr
r
r�	<genexpr>�sz(RepoDict.iter_enabled.<locals>.<genexpr>)r)r	r
r
rrszRepoDict.iter_enabledcs$dd�ttt|�j�dd�d�D�S)zreturn repos sorted by prioritycss|]
}|VqdS)Nr
)r;�itemr
r
rrA�sz!RepoDict.items.<locals>.<genexpr>cSs|dj|djfS)N�)ZpriorityZcost)�xr
r
r�<lambda>�sz RepoDict.items.<locals>.<lambda>)r0)�sorted�superrr,)r	)�	__class__r
rr,�szRepoDict.itemscCs|j�S)N)�keys)r	r
r
r�__iter__�szRepoDict.__iter__cCsdd�|j�D�S)Ncss|]\}}|VqdS)Nr
)r;r<�vr
r
rrA�sz RepoDict.keys.<locals>.<genexpr>)r,)r	r
r
rrI�sz
RepoDict.keyscCsdd�|j�D�S)Ncss|]\}}|VqdS)Nr
)r;r<rKr
r
rrA�sz"RepoDict.values.<locals>.<genexpr>)r,)r	r
r
rr�szRepoDict.values)�__name__�
__module__�__qualname__rrrrr1r7r9rrr,rJrIr�
__classcell__r
r
)rHrr!s$


r)Z
__future__rZdnf.exceptionsrZdnf.i18nrZdnf.utilrZlibdnf.confr!r:r(rr�dictrr
r
r
r�<module>sPK!�FZ�ʑ%__pycache__/lock.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZmZmZddlmZddl	m
Z
ddlZddl
ZddlZddlZddlZddlZddlZddlZddlZejd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�ZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�ProcessLockError�ThreadLockError�	LockError)�_)�miscN�dnfcCs6tjj�s2tj|jd��j�}tjj	t
j�d|�}|S)Nzutf-8Zlocks)r	�utilZ	am_i_root�hashlibZsha1�encodeZ	hexdigest�os�path�joinrZgetCacheDir)Zdir_Zhexdir�r�/usr/lib/python3.6/lock.py�
_fit_lock_dir&s
rcCsttjjt|�d�d|�S)Nzdownload_lock.pid�cachedir)�ProcessLockr
rrr)r�exit_on_lockrrr�build_download_lock/srcCsttjjt|�d�d|�S)Nzmetadata_lock.pidZmetadata)rr
rrr)rrrrr�build_metadata_lock3srcCsttjjt|�d�d|�S)Nzrpmdb_lock.pidZRPMDB)rr
rrr)Z
persistdirrrrr�build_rpmdb_lock8srcCsttjjt|�d�d|�S)Nzlog_lock.pid�log)rr
rrr)Zlogdirrrrr�build_log_lock=src@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)rFcCs&||_d|_||_||_tj�|_dS)Nr)�blocking�count�description�target�	threading�RLock�thread_lock)�selfrrrrrr�__init__Cs
zProcessLock.__init__cCs2|jjdd�s d|j}t|��|jd7_dS)NF)rz'%s already locked by a different thread�)r!�acquirerrr)r"�msgrrr�_lock_threadJs
zProcessLock._lock_threadc Cs>tj|jtjtjBd�}�zytj|tjtjB�Wn4t	k
rh}z|j
t
jkrVdS�WYdd}~XnXtj|d�}t
|�dkr�tj|t|�jd��|Syt|�}Wn*tk
r�td�|j}t|��YnX||kr�|Stjd|tj��s*tj|dtj�tj|d�tj|t|�jd��|S|Stj|�XdS)	Ni�r$�rzutf-8z�Malformed lock file found: %s.
Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf.z
/proc/%d/stat���)r
�openr�O_CREAT�O_RDWR�fcntlZflockZLOCK_EXZLOCK_NB�OSError�errnoZEWOULDBLOCK�read�len�write�strr�int�
ValueErrorrr�access�F_OK�lseek�SEEK_SET�	ftruncate�close)r"�pid�fd�eZold_pidr&rrr�	_try_lockPs6zProcessLock._try_lockcCs|jd8_|jj�dS)Nr$)rr!�release)r"rrr�_unlock_threadzszProcessLock._unlock_threadcCs�tjjtjj|j��|j�d}tj�}|j	|�}xp||kr�|dkr�|j
sl|j�d|j|f}t
||��||kr�td�|}tj|�|}tjd�|j	|�}q6WdS)Nr$z%s already locked by %dz*Waiting for process with pid %d to finish.r)r))r	r
Z
ensure_dirr
r�dirnamerr'�getpidr?rrArrr�logger�info�timeZsleep)r"Zprev_pidZmy_pidr<r&rrr�	__enter__~s"




zProcessLock.__enter__cGs"|jdkrtj|j�|j�dS)Nr$)rr
�unlinkrrA)r"Zexc_argsrrr�__exit__�s
zProcessLock.__exit__N)F)	�__name__�
__module__�__qualname__r#r'r?rArGrIrrrrrBs
*r)Z
__future__rrZdnf.exceptionsrrrZdnf.i18nrZdnf.yumrZdnf.loggingr	Zdnf.utilr/r-rZloggingr
rrFZ	getLoggerrDrrrrr�objectrrrrr�<module>s(
	PK!�FZ�U��.__pycache__/match_counter.cpython-36.opt-1.pycnu�[���3

�ft`T�@sZddlmZddlmZddlmZddlmZddddd	�Zd
d�ZGdd
�d
e�Z	dS)�)�absolute_import)�print_function)�unicode_literals)�reduce����)�nameZsummary�descriptionZurlcCs"t|�}dg||t|�}|S)z, Ordered sset with empty strings prepended. �)�len�sorted)ZssetZlengthZcurrent�l�r�#/usr/lib/python3.6/match_counter.py�_canonize_string_set"src@sfeZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zddd�Z
dd�ZdS)�MatchCounterz�Map packages to which of their attributes matched in a search against
    what values.

    The mapping is: ``package -> [(key, needle), ... ]``.

    cs�fdd�}tt||��S)Ncs>|d}|d}t�|�}|dkr6||kr6dt|St|S)Nrr	r
r)�getattr�WEIGHTS)�match�key�needleZhaystack)�pkgrr�weight4s
z*MatchCounter._eval_weights.<locals>.weight)�sum�map)rZmatchesrr)rr�
_eval_weights1s	zMatchCounter._eval_weightscs�fdd�}|S)a�Get the key function used for sorting matches.

        It is not enough to only look at the matches and order them by the sum
        of their weighted hits. In case this number is the same we have to
        ensure that the same matched needles are next to each other in the
        result.

        Returned function is:
        pkg -> (weights_sum, canonized_needles_set, -distance)

        cs�j|�|�|jfS)N)rr
)r)�selfrr�get_keyKsz'MatchCounter._key_func.<locals>.get_keyr)rrr)rr�	_key_func?szMatchCounter._key_funccs�rt�fdd��D��SdS)z0Return the max count of needles of all packages.c3s|]}t�j|��VqdS)N)r
�matched_needles)�.0r)rrr�	<genexpr>Wsz,MatchCounter._max_needles.<locals>.<genexpr>r)�max)rr)rr�_max_needlesTszMatchCounter._max_needlescCs|j|g�j||f�dS)N)�
setdefault�append)rrrrrrr�addZszMatchCounter.addcCs&x |D]}td|||f�qWdS)Nz%s	%s)�print)rrrrr�dump]s
zMatchCounter.dumpcst�fdd�|�D��S)Nc3s|]}t�|d�VqdS)rN)r)r"�m)rrrr#bsz1MatchCounter.matched_haystacks.<locals>.<genexpr>)�set)rrr)rr�matched_haystacksaszMatchCounter.matched_haystackscCs6g}x,||D] }|d|kr q|j|d�qW|S)Nr)r')rr�result�irrr�matched_keysdszMatchCounter.matched_keyscCstdd�||D��S)Ncss|]}|dVqdS)r	Nr)r"r+rrrr#nsz/MatchCounter.matched_needles.<locals>.<genexpr>)r,)rrrrrr!mszMatchCounter.matched_needlesFNcCs |r|n|j�}t||j�d�S)N)r)�keysrr )r�reverseZlimit_tor1rrrrpszMatchCounter.sortedcst�fdd��d�S)Ncs|t�|�S)N)r
)�totalr)rrr�<lambda>usz$MatchCounter.total.<locals>.<lambda>r)r)rr)rrr3tszMatchCounter.total)FN)�__name__�
__module__�__qualname__�__doc__�staticmethodrr r%r(r*r-r0r!rr3rrrrr)s	
rN)
Z
__future__rrr�	functoolsrrr�dictrrrrr�<module>sPK!�FZv
_##!__pycache__/plugin.cpython-36.pycnu�[���3

i�-eV%�@s�ddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZejd�ZdZGdd	�d	e�ZGd
d�de�Zdd
�Zdd�Zdd�Zdd�Zdd�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_�dnfzdnf.plugin.dynamicc@s\eZdZdZdZdZedd��Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�ZdS)�Pluginz5The base class custom plugins must derive from. #:apiz	<invalid>Ncs�tjj�}|jr|jn|j��fdd�|jD�}xb|D]Z}tjj|�r6y|j	|�Wq6t
k
r�}ztjj
td�t|���WYdd}~Xq6Xq6W|S)Ncsg|]}d|�f�qS)z
%s/%s.conf�)�.0�path)�namer�/usr/lib/python3.6/plugin.py�
<listcomp>9sz&Plugin.read_config.<locals>.<listcomp>zParsing file failed: %s)�libdnf�confZConfigParser�config_namerZpluginconfpath�osr
�isfile�read�	Exceptionr�
exceptionsZConfigErrorr�str)�clsr�parser�files�file�er)rr�read_config4s

.zPlugin.read_configcCs||_||_dS)N)�base�cli)�selfrrrrr�__init__BszPlugin.__init__cCsdS)Nr)rrrr�
pre_configGszPlugin.pre_configcCsdS)Nr)rrrr�configKsz
Plugin.configcCsdS)Nr)rrrr�resolvedOszPlugin.resolvedcCsdS)Nr)rrrr�sackSszPlugin.sackcCsdS)Nr)rrrr�pre_transactionWszPlugin.pre_transactioncCsdS)Nr)rrrr�transaction[szPlugin.transaction)�__name__�
__module__�__qualname__�__doc__rr�classmethodrr r!r"r#r$r%r&rrrrr.src@s~eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	ddd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�PluginscCsg|_g|_dS)N)�
plugin_cls�plugins)rrrrr aszPlugins.__init__cCs|j�dS)N)�_unload)rrrr�__del__eszPlugins.__del__cCs~xx|jD]n}yt||��Wqtjjk
r6�Yqtk
rttj�\}}}tj	|||�}t
jdj|��YqXqWdS)N�)
r.�getattrrr�Errorr�sys�exc_info�	traceback�format_exception�loggerZcritical�join)r�method�plugin�exc_type�	exc_value�
exc_tracebackZexcept_listrrr�_callerhszPlugins._callercsxxr|jdd�D]`}|j�t�fdd�|D��r2q|j|�}|jd�o^|jdd�o^|jdd�}|r|jj|�qWdS)zwChecks whether plugins are enabled or disabled in configuration files
           and removes disabled plugins from listNc3s|]}tj�|�VqdS)N)�fnmatch)r	�pattern)rrr�	<genexpr>xsz)Plugins._check_enabled.<locals>.<genexpr>�mainZenabled)r-r�anyrZhas_sectionZ
has_optionZ
getboolean�remove)rr�enable_pluginsZplug_clsrZdisabledr)rr�_check_enabledss

zPlugins._check_enabledcCs�ttjkrtd��tjjt�tjt<}g|_t|j	||�}t
||�t�dd�|_|j
||�t|j�dkr�tdd�|jD��}tjtd�dj|��dS)z)Dynamically load relevant plugin modules.zload_plugins() called twiceNrcss|]}|jVqdS)N)r)r	r;rrrrB�sz Plugins._load.<locals>.<genexpr>zLoaded plugins: %sz, )�DYNAMIC_PACKAGEr4�modules�RuntimeErrorrZpycomp�
ModuleType�__path__�_get_plugins_filesZ
pluginpath�_import_modules�_plugin_classesr-rG�len�sortedr8�debugrr9)rrZskipsrF�packager�namesrrr�_load�s

z
Plugins._loadcCs|jd�dS)Nr!)r?)rrrr�_run_pre_config�szPlugins._run_pre_configcCs|jd�dS)Nr")r?)rrrr�_run_config�szPlugins._run_configNcCs*x$|jD]}|||�}|jj|�qWdS)N)r-r.�append)rrrZp_clsr;rrr�	_run_init�s
zPlugins._run_initcCs|jd�dS)Nr$)r?)rrrr�run_sack�szPlugins.run_sackcCs|jd�dS)Nr#)r?)rrrr�run_resolved�szPlugins.run_resolvedcCs|jd�dS)Nr%)r?)rrrr�run_pre_transaction�szPlugins.run_pre_transactioncCs|jd�dS)Nr&)r?)rrrr�run_transaction�szPlugins.run_transactioncCs&ttjkr"tjtjjd�tjt=dS)NzPlugins were unloaded.)rHr4rIr8�logr�loggingZDDEBUG)rrrrr/�s
zPlugins._unloadcCs�|js
dSt�}x|jD]}||tj|j�<qWt|j��}t�}x |jD]}|j|j	|j
��qJW|sldSx|jD]}|j|j
�qtWx|D]}|jj
||�q�WdS)zH
        Unload plugins that were removed in the `transaction`.
        N)Z
remove_set�dictr.�inspectZgetfile�	__class__�set�keys�update�intersectionrZinstall_set�difference_updaterE)rr&r.r;Zplugin_filesZerased_plugin_filesZpkgZplugin_filerrr�unload_removed_plugins�s
zPlugins.unload_removed_plugins)N)r'r(r)r r0r?rGrUrVrWrYrZr[r\r]r/rhrrrrr,`s
r,cCstj�S)N)r�__subclasses__rrrrrO�srOcCs�x�|D]�}tjj|�\}}|jj|�tjj|�\}}d|j|f}ytj|�}Wqt	k
r�}z,t
jtd�||�t
j
tjjddd�WYdd}~XqXqWdS)Nz%s.%szFailed loading plugin "%s": %sr1T)r5)rr
�splitrLrX�splitextr'�	importlib�
import_modulerr8�errorrr^rr_ZSUBDEBUG)rSZpy_files�fnr
�moduleZextrrrrrrN�s
rNcCsJg}t|�}t|�}t�}t�}x�|D]�}x�tjd|�D]�}tjjtjj|��\}}	d}
d}xN|D]F}t||�rd|j|�d}
x$|D]}
t||
�r�d}
|j|
�q�Wd}qdW|s�x |D]}
t||
�r�|j|
�q�W|
r:|j|�q:Wq&W|j	|�}|�rt
jtd�j
djt|����|j	|�}|�rFt
jtd�j
djt|����|S)Nz%s/*.pyTFz=No matches found for the following enable plugin patterns: {}z, z>No matches found for the following disable plugin patterns: {})rc�globrr
rk�basename�_plugin_name_matches_pattern�addrX�
differencer8Zwarningr�formatr9rQ)�pathsZdisable_pluginsrFr.Zpattern_enable_foundZpattern_disable_found�pro�plugin_nameZdummyZmatchedZenable_pattern_testedZpattern_skipZpattern_enableZenable_not_foundZdisable_not_foundrrrrM�sD









rMcs*t||jdd�f�}t�fdd�|D��S)z�
    Checks plugin name matches the pattern.

    The alternative plugin name using dashes instead of underscores is tried
    in case of original name is not matched.

    (see https://bugzilla.redhat.com/show_bug.cgi?id=1980712)
    r�-c3s|]}tj|��VqdS)N)r@)r	r)rArrrBsz/_plugin_name_matches_pattern.<locals>.<genexpr>)rc�replacerD)ryrAZ	try_namesr)rArrss
rscs<�fdd�}tt�jd�tjf|�jdd��}|�_�S)z5A class decorator for automatic command registration.cs|r|j��dS)N)�register_command)rrr)�
command_classrrr sz"register_command.<locals>.__init__rr)r r)�typerr'rr�aliasesZ_plugin)r}r Zplugin_classr)r}rr|sr|)Z
__future__rrrr@rqrlrar_�operatorrr4r6rZdnf.loggingrZ
dnf.pycompZdnf.utilZdnf.i18nrZ	getLoggerr8rH�objectrr,rOrNrMrsr|rrrr�<module>s2
2k
%PK!�FZ��g� � "__pycache__/logging.cpython-36.pycnu�[���3

�ft`r(�@s�ddlmZddlmZddlZddlZddlZddlZddlZ	ddl
Z
ddlZ
ddlZddl
Z
ddlZddlZddlZdZe
jZe
jZe
jZe
jZe
jZdZdZdZdZd	d
�ZGdd�de�Zee
je
je
je
je
je
jeeeed
�Zdd�Zee
je
jd�Z dd�Z!dd�Z"d%Z#dd�Z$Gdd�de
j%j&�Z'dd�Z(dd�Z)Gdd �d e�Z*Gd!d"�d"e�Z+e	j,j-j.ee	j,j-j/ee	j,j-j0ee	j,j-j1ee	j,j-j2ee	j,j-j3ee	j,j-j4eiZ5Gd#d$�d$e	j,j-�Z6e6�Z7e	j,j8j9e7�dS)&�)�absolute_import)�unicode_literalsN�d����csdd����fdd�}|S)zGMethod decorator turning the method into noop on second or later calls.c_sdS)N�)Z_argsZ_kwargsr	r	�/usr/lib/python3.6/logging.py�noop3szonly_once.<locals>.noopcs"�|f|�|�t|�j��dS)N)�setattr�__name__)�self�args�kwargs)�funcrr	r
�	swan_song5szonly_once.<locals>.swan_songr	)rrr	)rrr
�	only_once1src@seZdZdd�Zdd�ZdS)�_MaxLevelFiltercCs
||_dS)N)�	max_level)rrr	r	r
�__init__;sz_MaxLevelFilter.__init__cCs|j|jkrdSdS)Nr�)Zlevelnor)r�recordr	r	r
�filter>sz_MaxLevelFilter.filterN)r
�
__module__�__qualname__rrr	r	r	r
r:sr)rrr�r�r�r�	�
cCs(d|kodknst�tj|t�S)Nrr )�AssertionError�_VERBOSE_VAL_MAPPING�get�TRACE)�
cfg_errvalr	r	r
�_cfg_verbose_val2levelQsr&)rrrcCs*d|kodknst�tj|tj�S)Nrr )r!�_ERR_VAL_MAPPINGr#�logging�WARNING)r%r	r	r
�_cfg_err_val2level^sr*cCs|dS)Nz.gzr	)�namer	r	r
�compression_namercsr,�icCs\t|d��>}tj|d��&}x|jt�}|s,P|j|�qWWdQRXWdQRXtj|�dS)N�rb�wb)�open�gzip�read�
CHUNK_SIZE�write�os�remove)�source�destZsfZwf�datar	r	r
�compression_rotatorjs
"r:cs&eZdZd	�fdd�	Zdd�Z�ZS)
�MultiprocessRotatingFileHandler�arNFcs.tt|�j||||||�tjjdd�|_dS)Nz	/var/log/T)�superr;r�dnf�lockZbuild_log_lock�rotate_lock)r�filename�mode�maxBytes�backupCount�encodingZdelay)�	__class__r	r
rvs
z(MultiprocessRotatingFileHandler.__init__cCs�x�yR|j|�rD|j�*tj|j�j}|j�tj|j|�WdQRXtj	j
||�dStjj
tjjfk
r~tjd�Yqtk
r�|j|�dSXqWdS)Ng{�G�z�?)ZshouldRolloverr@r5�statZbaseFilename�st_modeZ
doRollover�chmodr(ZFileHandler�emitr>�
exceptionsZProcessLockErrorZThreadLockError�timeZsleep�	ExceptionZhandleError)rrrBr	r	r
rJ{s

z$MultiprocessRotatingFileHandler.emit)r<rrNF)r
rrrrJ�
__classcell__r	r	)rFr
r;usr;cCsltjj|�s,tjjtjj|��tjj|�t|||d�}t	j
dd�}tj|_
|j|�|rht|_t|_|S)N)rCrDz%%(asctime)s %(levelname)s %(message)sz%Y-%m-%dT%H:%M:%S%z)r5�path�existsr>�utilZ
ensure_dir�dirnameZtouchr;r(Z	FormatterrLZ	localtimeZ	converterZsetFormatterr:Zrotatorr,Znamer)�logfile�log_size�
log_rotate�log_compress�handlerZ	formatterr	r	r
�_create_filehandler�s
rXcCs|jttjj�dS)N)�log�INFOr>�constZ
LOG_MARKER)Zloggerr	r	r
�_paint_mark�sr\c@sBeZdZdd�Zedd��Zedd��Zedd��Zd
d
d�ZdS)�LoggingcCsPd|_|_tjtd�tjtd�tjtd�tjtd�tjd�dt_	dS)N�DDEBUG�SUBDEBUGr$�ALLTF)
�stdout_handler�stderr_handlerr(ZaddLevelNamer^r_r$r`ZcaptureWarningsZraiseExceptions)rr	r	r
r�s
zLogging.__init__cCsttjd�}|jt�tjtj�}|jt�|jt	tj
��|j|�||_tjtj
�}|jt
�|j|�||_dS)Nr>)r(�	getLogger�setLevelr$Z
StreamHandler�sys�stdoutrZZ	addFilterrr)�
addHandlerra�stderrrb)r�
logger_dnfrfrhr	r	r
�	_presetup�s





zLogging._presetupcCs�tjd�}|jt�tjj|tjj	�}t
||||�}|j|�|j|�tjd�}	|	j|�tjd�}
|
jt�tjj|tjj�}t
||||�}|
j|�t
jjj||tk�tjd�}d|_|jt�tjj|tjj�}t
||||�}|j|�dS)Nr>zpy.warnings�librepozdnf.rpmF)r(rcrdr$r5rO�joinr>r[ZLOGrXrgZLOG_LIBREPO�libdnfZrepoZ
LibrepoLogr`Z	propagater_ZLOG_RPM)r�
logfile_level�logdirrTrUrVrirSrW�logger_warningsZlogger_librepo�
logger_rpmr	r	r
�_setup_file_loggers�s(










zLogging._setup_file_loggerscCs�|j�|j|||||�tjd�}|j|j�tjd�}	|	j|j�|	j|j�tjd�}
|jjt�|jjt�t	|
�t	|	�|jj|�|jj|�dS)Nzpy.warningszdnf.rpmr>)
rjrrr(rcrgrbrardr)r\)rZ
verbose_levelZerror_levelrnrorTrUrVrprqrir	r	r
�_setup�s


zLogging._setupFc
Csft|j�}t|j�}t|j�}|j}|j}|j}|j}	|rL|j	|||||	�S|j
|||||||	�SdS)N)r&Z
debuglevelr*Z
errorlevelZlogfilelevelrorTrUrVrrrs)
rZconfZfile_loggers_onlyZverbose_level_rZ
error_level_rZlogfile_level_rrorTrUrVr	r	r
�_setup_from_dnf_conf�s


zLogging._setup_from_dnf_confN)F)	r
rrrrrjrrrsrtr	r	r	r
r]�s
	r]c@seZdZdd�Zdd�ZdS)�TimercCs||_tj�|_dS)N)�whatrL�start)rrvr	r	r
rszTimer.__init__cCs6tj�|j}d|j|df}tjd�jt|�dS)Nztimer: %s: %d msi�r>)rLrwrvr(rcrYr^)rZdiff�msgr	r	r
�__call__szTimer.__call__N)r
rrrryr	r	r	r
rusrucs$eZdZ�fdd�Zdd�Z�ZS)�LibdnfLoggerCBcs*tt|�j�tjd�|_tjd�|_dS)Nr>rk)r=rzrr(rc�_dnf_logger�_librepo_logger)r)rFr	r
rszLibdnfLoggerCB.__init__cGsft|�dkr|\}}nt|�dkr.|\}}}}|tjjjkrP|jjt||�n|jjt||�dS)zoLog message.

        source -- integer, defines origin (libdnf, librepo, ...) of message, 0 - unknown
        rrN)	�lenrm�utils�LoggerZLOG_SOURCE_LIBREPOr|rY�_LIBDNF_TO_DNF_LOGLEVEL_MAPPINGr{)rr7r�level�messagerL�pidr	r	r
r4s
zLibdnfLoggerCB.write)r
rrrr4rNr	r	)rFr
rzsrzi):Z
__future__rrZdnf.exceptionsr>Z	dnf.constZdnf.lockZdnf.utilZlibdnf.repormr(Zlogging.handlersr5rerL�warningsr1Z
SUPERCRITICALZCRITICALZERRORr)rZ�DEBUGr^r_r$r`r�objectrr"r&r'r*r,r3r:ZhandlersZRotatingFileHandlerr;rXr\r]rur~rZLevel_CRITICALZLevel_ERRORZ
Level_WARNINGZLevel_NOTICEZ
Level_INFOZLevel_DEBUGZLevel_TRACEr�rzZlibdnfLoggerCBZLogZ	setLoggerr	r	r	r
�<module>sv	

a





PK!�FZTv��"�"'__pycache__/dnssec.cpython-36.opt-1.pycnu�[���3

�ft`;,�@s�ddlmZddlmZddlmZddlmZddlZddlZddlZddl	Z	ddl
mZddlZ
ddlZ
ejd�ZdZGd	d
�d
e
jj�Zddd
�ZGdd�de�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zdd�ZGdd�d�ZdS)�)�print_function)�absolute_import)�unicode_literals)�EnumN)�_�dnf�=c@seZdZdZdd�ZdS)�DnssecErrorz-
    Exception used in the dnssec module
    cCsdj|jdk	r|jnd�S)Nz<DnssecError, value='{}'>z
Not specified)�format�value)�self�r
�/usr/lib/python3.6/dnssec.py�__repr__-szDnssecError.__repr__N)�__name__�
__module__�__qualname__�__doc__rr
r
r
rr	)sr	�_openpgpkeycCs~|jd�}t|�dkr"d}t|��|d}|d}tj�}|j|jd��tj|j	�dd��j
d�j�}|d|d|S)	z�
    Implements RFC 7929, section 3
    https://tools.ietf.org/html/rfc7929#section-3
    :param email_address:
    :param tag:
    :return:
    �@�z0Email address must contain exactly one '@' sign.r�zutf-8��.)�split�lenr	�hashlibZsha256�update�encode�base64Z	b16encode�digest�decode�lower)Z
email_address�tagr�msgZlocalZdomain�hashr r
r
r�email2location2s	

r&c@s(eZdZdZdZdZdZdZdZdZ	dS)	�Validityz�
    Output of the verification algorithm.
    TODO: this type might be simplified in order to less reflect the underlying DNS layer.
    TODO: more specifically the variants from 3 to 5 should have more understandable names
    rr����	N)
rrrr�VALID�REVOKED�PROVEN_NONEXISTENCE�RESULT_NOT_SECURE�BOGUS_RESULT�ERRORr
r
r
rr'Jsr'c@seZdZdZdS)�NoKeyz�
    This class represents an absence of a key in the cache. It is an expression of non-existence
    using the Python's type system.
    N)rrrrr
r
r
rr2Xsr2c@s&eZdZdZddd�Zedd��ZdS)�KeyInfozv
    Wrapper class for email and associated verification key, where both are represented in
    form of a string.
    NcCs||_||_dS)N)�email�key)rr4r5r
r
r�__init__eszKeyInfo.__init__c	Cs�tjd|�}|dkrt�|jd�}|jd�jd�}d}d}x6tdt|��D]$}||dkr^|}||dkrJ|}qJWd	j||d
|d��j	d�}t
||�S)z�
        Since dnf uses different format of the key than the one used in DNS RR, I need to convert
        the former one into the new one.
        z	<(.*@.*)>Nr�ascii�
rz$-----BEGIN PGP PUBLIC KEY BLOCK-----z"-----END PGP PUBLIC KEY BLOCK-----�r)�re�searchr	�groupr!r�ranger�joinrr3)	ZuseridZraw_keyZinput_emailr4r5�start�stop�iZcat_keyr
r
r�from_rpm_key_objectis
 zKeyInfo.from_rpm_key_object)NN)rrrrr6�staticmethodrBr
r
r
rr3`s
r3c@s8eZdZdZiZedd��Zedd��Zedd��ZdS)	�DNSSECKeyVerificationz�
    The main class when it comes to verification itself. It wraps Unbound context and a cache with
    already obtained results.
    cCsZ||krtjd�tjS|tkr0tjd�tjStjdj|��tjdj|��tjSdS)zD
        Compare the key in case it was found in the cache.
        zCache hit, valid keyzCache hit, proven non-existencezKey in cache: {}zInput key   : {}N)�logger�debugr'r,r2r.r
r-)�	key_unionZinput_key_stringr
r
r�
_cache_hit�s

z DNSSECKeyVerification._cache_hitc	Cs�yddl}Wn<tk
rH}z tdj|��}tjj|��WYdd}~XnX|j�}|jdd�dkrlt	j
d�|jdd�dkr�t	j
d	�|j�dkr�t	j
d
�|jd�dkr�t	j
d�|j
t|j�t|j�\}}|dkr�t	j
d
�tjS|jr�t	j
d�tjS|j�st	j
d�tjS|j�r,t	j
d�tjS|j�sDt	j
d�tjS|jj�d}tj|�}||jk�rntj St	j
dj|��t	j
dj|j��tj!SdS)zz
        In case the key was not found in the cache, create an Unbound context and contact the DNS
        system
        rNzLConfiguration option 'gpgkey_dns_verification' requires python3-unbound ({})z
verbosity:�0z(Unbound context: Failed to set verbosityzqname-minimisation:�yesz1Unbound context: Failed to set qname minimisationz+Unbound context: Failed to read resolv.confz/var/lib/unbound/root.keyz0Unbound context: Failed to add trust anchor filez%Communication with DNS servers failedzDNSSEC signatures are wrongz!Result is not secured with DNSSECz1Non-existence of this record was proven by DNSSECz"Unknown error in DNS communicationzKey from DNS: {}zInput key   : {})"�unbound�ImportErrorrr
r�
exceptions�ErrorZub_ctxZ
set_optionrErFZ
resolvconfZadd_ta_fileZresolver&r4�RR_TYPE_OPENPGPKEYZRR_CLASS_INr'r1Zbogusr0Zsecurer/Znxdomainr.Zhavedata�dataZas_raw_datarZ	b64encoder5r,r-)	�	input_keyrK�er$ZctxZstatus�resultrPZdns_data_b64r
r
r�_cache_miss�sN









z!DNSSECKeyVerification._cache_misscCsztjdj|j��tjj|j�}|dk	r6tj||j�Stj	|�}|t
jkrZ|jtj|j<n|t
jkrrt
�tj|j<|SdS)zI
        Public API. Use this method to verify a KeyInfo object.
        z(Running verification for key with id: {}N)rErFr
r4rD�_cache�getrHr5rTr'r,r.r2)rQrGrSr
r
r�verify�s


zDNSSECKeyVerification.verifyN)	rrrrrUrCrHrTrWr
r
r
rrD�s
9rDcCs8td�|jd}|tjkr(|td�S|td�SdS)zE
    Inform the user about key validity in a human readable way.
    zDNSSEC extension: Key for user � z	is valid.zhas unknown status.N)rr4r'r,)Zki�v�prefixr
r
r�
nice_user_msg�s
r[cCstd�|S)z;
    Label any given message with DNSSEC extension tag
    zDNSSEC extension: )r)�mr
r
r�any_msg�sr]c@s(eZdZdZedd��Zedd��ZdS)�RpmImportedKeysaQ
    Wrapper around keys, that are imported in the RPM database.

    The keys are stored in packages with name gpg-pubkey, where the version and
    release is different for each of them. The key content itself is stored as
    an ASCII armored string in the package description, so it needs to be parsed
    before it can be used.
    c	Cs�tjjj�}|jdd�}g}xl|D]d}tjj|d�}tjd|�jd�}tjj|d�}|j	d�dd�}d	j
|�}|t||jd
��g7}q"W|S)N�namez
gpg-pubkey�packagerz	<(.*@.*)>r�descriptionr8r(r9r7���)
rZrpmZtransactionZTransactionWrapperZdbMatchZ	getheaderr:r;r<rr>r3r)	Ztransaction_setZpackagesZreturn_listZpkgr`r4raZ	key_linesZkey_strr
r
r�_query_db_for_gpg_keyss

z&RpmImportedKeys._query_db_for_gpg_keyscCstj�}tjttd���x�|D]�}ytj|�}Wn:tk
rl}ztj	dj
|j|j��w WYdd}~XnX|t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q |t
jkr�tjtdj
|j���q tjtdj
|j���q WdS)Nz1Testing already imported keys for their validity.z%DNSSEC extension error (email={}): {}zGPG Key {} is validz,GPG Key {} does not support DNS verificationz�GPG Key {} could not be verified, because DNSSEC signatures are bogus. Possible causes: wrong configuration of the DNS server, MITM attackz=GPG Key {} has been revoked and should be removed immediatelyzGPG Key {} could not be tested)r^rcrE�infor]rrDrWr	Zwarningr
r4rr'r,rFr.r0r-)�keysr5rSrRr
r
r�check_imported_keys_validitys,







z,RpmImportedKeys.check_imported_keys_validityN)rrrrrCrcrfr
r
r
rr^�sr^)r)Z
__future__rrr�enumrrrZloggingr:Zdnf.i18nrZdnf.rpmrZdnf.exceptionsZ	getLoggerrErOrMrNr	r&r'r2r3rDr[r]r^r
r
r
r�<module>s*
	
#gPK!�FZ0��,uKuK%__pycache__/util.cpython-36.opt-1.pycnu�[���3

�ft`�O�@svddlmZddlmZddlmZddlmZmZddlmZm	Z	ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�Ze
j �j!d	kr�e
j �j!ndZ"e"j#�Z$d
d�Z%d^dd
�Z&d_dd�Z'dd�Z(dd�Z)dd�Z*dd�Z+dd�Z,dd�Z-dd�Z.dd �Z/d!d"�Z0d#d$�Z1d%d&�Z2d'd(�Z3d)d*�Z4d+d,�Z5d-d.�Z6d/d0�Z7d1d2�Z8d3d4�Z9d5d6�Z:d7d8�Z;d9d:�Z<d;d<�Z=d=d>�Z>d?d@�Z?dAdB�Z@dCdD�ZAd`dFdG�ZBdHdIejCfdJdK�ZDdLdM�ZEdNdO�ZFdPdQ�ZGdRdS�ZHGdTdU�dUeI�ZJGdVdW�dWeK�ZLGdXdY�dYeM�ZNdZd[�ZOd\d]�ZPdS)a�)�print_function)�absolute_import)�unicode_literals�)�PY3�
basestring)�_�ucdN�dnfZyumcCs�t|dg�t|dg�t|dg�t�}x�|D]�}||kr>q0|j|�tjjj|�d}|jd�rr|jj|�q0|r�|d
kr�|jj|�q0|j	d
�r�|j
j|dd��q0|jj|�q0WdS)a�
    Categorize :param values list into packages, groups and filenames

    :param namespace: argparse.Namespace, where specs will be stored
    :param values: list of specs, whether packages ('foo') or groups/modules ('@bar')
                   or filenames ('*.rmp', 'http://*', ...)

    To access packages use: specs.pkg_specs,
    to access groups use: specs.grp_specs,
    to access filenames use: specs.filenames
    �	filenames�	grp_specs�	pkg_specsrz.rpm�http�ftp�file�https�@rN)rrrr)�setattr�set�addr
�pycompZurlparse�endswithr�append�
startswithrr
)�	namespace�valuesZtmp_set�valueZschemes�r�/usr/lib/python3.6/util.py�_parse_specs7s 




rcCs�|dkrtjj�}tjj|||�}tjj|j�r6|jSt	|j
g�}|jd|�|j�g}yt
jjjt
jj|�d�WnBtk
r�}z&|jr�tt|���tjt|��WYdd}~XnX|jS)NrT)r
�callbackZNullDownloadProgress�repoZRemoteRPMPayload�os�path�existsZ
local_path�sumZ
download_size�startZ_librepo_target�libdnfZ
PackageTargetZdownloadPackagesZVectorPPackageTarget�RuntimeError�strict�IOError�str�logger�error)�url�confZprogressZploadZest_remote_sizeZtargets�errr�_urlopen_progressWs

 r1�w+bcKs�trd|kr|jdd�tj|f|�}y<|r@|jj||j��n tjj	j
|rR|jnd||j��Wn.tk
r�}zt
t|���WYdd}~XnX|jd�|S)z|
    Open the specified absolute url, return a file object
    which respects proxy setting even for non-repo downloads
    �b�encodingzutf-8Nr)r�
setdefault�tempfileZNamedTemporaryFileZ_repoZdownloadUrl�filenor'r!Z
DownloaderZdownloadURLZ_configr(r*r+�seek)r.r/r!�mode�kwargsZfor0rrr�_urlopenhs$
r;cCs |j|�r|dt|��}|S)N)r�len)�s�rrrr�rtrim|s
r?cCstj�dkS)Nr)r"�geteuidrrrr�	am_i_root�srAcCs.x(tj|�D]}tjj||�}t|�qWdS)zBRemove all files and dirs under `path`

    Also see rm_rf()

    N)r"�listdirr#�join�rm_rf)r#�entryZcontained_pathrrr�	clear_dir�srFcCsXytj|dd�Wn@tk
rR}z$|jtjks>tjj|�rB|�WYdd}~XnXdS)Ni�)r9)r"�makedirs�OSError�errnoZEEXISTr#�isdir)Zdnamer0rrr�
ensure_dir�s
rKcCsJg}|}x<tjj|�\}}|s6|s(|r4|jd|�P|jd|�q
W|S)z`
    Split path by path separators.
    Use os.path.join() to join the path back to string.
    r)r"r#�split�insert)r#�result�head�tailrrr�
split_path�s
rQcCs6yt|�}Wn tk
r,tt|��}YnX|dkS)Nr)r<�	TypeError�list)�iterable�lrrr�empty�s
rVcCs*t|�}yt|�Stk
r$dSXdS)zFReturns the first item from an iterable or None if it has no elements.N)�iter�next�
StopIteration)rT�itrrr�first�s
r[cCs4t|�}ytdd�|D��Stk
r.dSXdS)Ncss|]}|dk	r|VqdS)Nr)�.0�itemrrr�	<genexpr>�sz!first_not_none.<locals>.<genexpr>)rWrXrY)rTrZrrr�first_not_none�s
r_cCstj�t|�S)N)�time�file_timestamp)�fnrrr�file_age�srccCstj|�jS)N)r"�stat�st_mtime)rbrrrra�sracCs4ytjtj��dStk
r.dtj�SXdS)NrzUID: %s)�pwd�getpwuidr"r@�KeyErrorrrrr�get_effective_login�sricCs(x"|D]}|j|�}|dkr|SqW|S)z!Like dict.get() for nested dicts.N)�get)Zdct�keysZ	not_found�krrr�get_in�s


rmcs�fdd�}tj||ggf�S)Ncs|t�|��j|�|S)N)�boolr)Zaccr])rbrr�splitter�sz!group_by_filter.<locals>.splitter)�	functools�reduce)rbrTror)rbr�group_by_filter�srrccs&x |D]}||�r|V|VqWdS)z/Insert an item into an iterable by a condition.Nr)r]rT�	conditionZ
original_itemrrr�	insert_if�s
rtcCs*yt|�Wntk
r dSXdSdS)z&Test whether an iterator is exhausted.TFN)rXrY)�iteratorrrr�is_exhausted�s
rvcCs*t|�r|g}t|t�o(tdd�|D��S)Ncss|]}t|�td�@VqdS)z*[?N)r)r\�prrrr^�sz"is_glob_pattern.<locals>.<genexpr>)�is_string_type�
isinstancerS�any)�patternrrr�is_glob_pattern�sr|cCstrt|t�St|t�SdS)N)rryr+r)�objrrrrx�s
rxcs�fdd�}|S)z�Decorator to get lazy attribute initialization.

    Composes with @property. Force reinitialization by deleting the <attrname>.
    cs��fdd�}|S)Ncs8y
t|��Stk
r2�|�}t|�|�|SXdS)N)�getattr�AttributeErrorr)r}�val)�attrnamerbrr�
cached_getters
z6lazyattr.<locals>.get_decorated.<locals>.cached_getterr)rbr�)r�)rbr�
get_decorated�szlazyattr.<locals>.get_decoratedr)r�r�r)r�r�lazyattr�s	r�cGstt|f|���S)z�Like functools.map(), but return a list instead of an iterator.

    This means all side effects of fn take place even without iterating the
    result.

    )rS�map)rb�seqrrr�mapallsr�cCs8tjdtj|��}tjjs4tj�d}|r4|j|�}|S)z6Convert time into locale aware datetime string object.z%cr)	r`ZstrftimeZ	localtimer
rr�localeZ	getlocale�decode)Z	timestamp�tZcurrent_locale_settingrrr�normalize_times
r�cCszy\d}dd�tj|�D�}t|�dkrZ|d}tdj||���}|j�}t|�dkSQRXdSttfk
rtdSXdS)z�Decide whether we are on line power.

    Returns True if we are on line power, False if not, None if it can not be
    decided.

    z/sys/class/power_supplycSsg|]}|jd�r|�qS)ZAC)r)r\Znoderrr�
<listcomp>&szon_ac_power.<locals>.<listcomp>rz{}/{}/onlinerN)	r"rBr<�open�format�read�intr*�
ValueError)Z	ps_folderZac_nodesZac_nodeZ	ac_status�datarrr�on_ac_powersr�cCs�yddl}Wntk
r dSXy0|j�}|jdd�}|j|d�}|jdd�}Wn|jk
rhdSX|dkrvdS|dkr�d	S|dkr�dStd
|��dS)z�Decide whether we are on metered connection.

    Returns:
      True: if on metered connection
      False: if not
      None: if it can not be decided
    rNzorg.freedesktop.NetworkManagerz/org/freedesktop/NetworkManagerzorg.freedesktop.DBus.PropertiesZMeteredr�T��Fz&Unknown value for metered property: %r)rr�)r�r�)�dbus�ImportErrorZ	SystemBusZ
get_objectZ	InterfaceZGetZ
DBusExceptionr�)r�Zbus�proxyZifaceZmeteredrrr�on_metered_connection1s&r�cCs&tj|�\}}tjj||�t||�fS)z�Use a predicate to partition entries into false entries and true entries.

    Credit: Python library itertools' documentation.

    )�	itertools�teer
r�filterfalse�filter)ZpredrTZt1Zt2rrr�	partitionNsr�cCs(ytj|�Wntk
r"YnXdS)N)�shutilZrmtreerH)r#rrrrDWsrDc#sFt���fdd�}t�||�}||�Vx||�}|s8P|Vq*WdS)z�Split an iterable into tuples by a condition.

    Inserts a separator before each item which meets the condition and then
    cuts the iterable by these separators.

    csttj�fdd�|��S)Ncs|�kS)Nr)r0)�	separatorrr�<lambda>gsz4split_by.<locals>.next_subsequence.<locals>.<lambda>)�tupler��	takewhile)rZ)r�rr�next_subsequencefsz"split_by.<locals>.next_subsequenceN)�objectrt)rTrsr�ZmarkedZsubsequencer)r�r�split_by]s
r�cCs|j|�r|t|�d�SdS)N)rr<)r=�prefixrrr�strip_prefixus
r�Fc	Cs8|stj|tj�rtj|d�St|d��WdQRXdS)z{Create an empty file if it doesn't exist or bump it's timestamps.

    If no_create is True only bumps the timestamps.
    N�a)r"�access�F_OK�utimer�)r#Z	no_createrrr�touch{sr��write�cCs�yh|dkr|j|�nP|dkr(|j�n>|dkrD|j|�|j�n"|dkrZt||d�ntd|��Wn>tk
r�}z"tjdjt|�j	t
|���WYdd}~XnXdS)Nr��flushZwrite_flush�print)rzUnsupported type: z{}: {})r�r�r�r�r*r,�criticalr��type�__name__r	)�tp�msg�outr0rrr�_terminal_messenger�s


r�cCsnd}t|�dk}xXt|dd�D]H\}}|rD|dtd�d|7}n|dtd�d7}|dj|�7}qW|S)	z�
    Format string about problems in resolve

    :param resolve_problems: list with list of strings (output of goal.problem_rules())
    :return: string
    r�r)r&z
 ZProblemz %d: z: z
  - )r<�	enumeraterrC)Zresolve_problemsr�Zcount_problems�iZrsrrr�_format_resolve_problems�sr�cCsX|j�d}|j�dk	r4|j�dkr4||j�d7}||j�d|j�d|j�S)N�-�0�:�.)�N�E�V�R�A)ZteZnevrarrr�	_te_nevra�sr�cCs�tjd�xH|D]@}|j�}d}|dk	r.|j}djt|�|||j��}tj|�qWx:|D]2}djt|�|j|j|j	|j
|j��}tj|�qZWdS)NzLogging transaction elementsz@RPM element: '{}', Key(): '{}', Key state: '{}', Failed() '{}': z^SWDB element: '{}', State: '{}', Action: '{}', From repo: '{}', Reason: '{}', Get reason: '{}')r,�debug�Key�stater�r��Failedr+�actionZ	from_repo�reasonZ
get_reason)�rpm_transaction�swdb_transaction�rpm_el�tsiZ	tsi_stater�rrr�_log_rpm_trans_with_swdb�s



r�c
CsVtjjtjjtjjtjjtjjh}dd�|D�}d}d}x�|D]�}t|�}|j�}|dksft	|d�r�x:|D]2}	|	j
tjjkr�ql|	j|kr�qlt
|	�|krl|	}PqlW|dks�t	|d�r�tjtd�j|��d}q>|j�r�tjj|_
d}q>tjj|_
q>Wx6|D].}|j
tjjkr�tjtd�jt
|���d}q�W|�rBtjtd��|�rRt||�dS)	NcSsg|]}|�qSrr)r\r�rrrr��sz-_sync_rpm_trans_with_swdb.<locals>.<listcomp>FZpkgz%TransactionItem not found for key: {}Tz)TransactionSWDBItem not found for key: {}z#Errors occurred during transaction.)r'�transactionZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETED�TransactionItemAction_REMOVEZTransactionItemAction_UPGRADEDZ!TransactionItemAction_REINSTALLEDr�r��hasattrr�ZTransactionItemState_UNKNOWNr�r+r,r�rr�r��TransactionItemState_ERRORZTransactionItemState_DONEr�r�)
r�r�Zrevert_actionsZ
cached_tsiZel_not_foundr-r�Zte_nevrar�Z
tsi_candidaterrr�_sync_rpm_trans_with_swdb�sH





r�c@s$eZdZdd�Zdd�Zdd�ZdS)�tmpdircCsdtjj}tj|d�|_dS)Nz%s-)r�)r
�constZPREFIXr6Zmkdtempr#)�selfr�rrr�__init__�sztmpdir.__init__cCs|jS)N)r#)r�rrr�	__enter__�sztmpdir.__enter__cCst|j�dS)N)rDr#)r��exc_type�	exc_value�	tracebackrrr�__exit__�sztmpdir.__exit__N)r��
__module__�__qualname__r�r�r�rrrrr��sr�cs(eZdZdZ�fdd�Zdd�Z�ZS)�Bunchz�Dictionary with attribute accessing syntax.

    In DNF, prefer using this over dnf.yum.misc.GenericHolder.

    Credit: Alex Martelli, Doug Hudgeon

    cstt|�j||�||_dS)N)�superr�r��__dict__)r��args�kwds)�	__class__rrr��szBunch.__init__cCst|�S)N)�id)r�rrr�__hash__szBunch.__hash__)r�r�r��__doc__r�r��
__classcell__rr)r�rr��sr�cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�
MultiCallListcstt|�j�|j|�dS)N)r�r�r��extend)r�rT)r�rrr�szMultiCallList.__init__cs��fdd�}|S)Ncs���fdd�}tt|���S)Ncst|��}|���S)N)r~)�v�method)r�r:�whatrr�	call_what
s
z8MultiCallList.__getattr__.<locals>.fn.<locals>.call_what)rSr�)r�r:r�)r�r�)r�r:rrbsz%MultiCallList.__getattr__.<locals>.fnr)r�r�rbr)r�r�r�__getattr__szMultiCallList.__getattr__cs��fdd�}tt||��S)Ncst|���dS)N)r)r])r�r�rr�settersz)MultiCallList.__setattr__.<locals>.setter)rSr�)r�r�r�r�r)r�r�r�__setattr__szMultiCallList.__setattr__)r�r�r�r�r�r�r�rr)r�rr�sr�c
Csntgggggggggggd��}�xF|D�]<}|jtjjkrJ|jj|�q(|jtjjkrf|j	j|�q(|jtjj
kr�|jtjjkr�|j
j|�nD|jtjjkr�|jj|�n(|jtjjkr�|jj|�n|jj|�q(|jtjjkr�|jj|�q(|jtjjk�rL|jtjjk�r |jj|�n*|jtjjk�r>|jj|�n|jj|�q(|jtjjkr(|jj|�q(W|S)N)�
downgraded�erased�erased_clean�
erased_dep�	installed�installed_group�
installed_dep�installed_weak�reinstalled�upgraded�failed)r�r�r'r�r�r�rr�ZTransactionItemAction_DOWNGRADEr�ZTransactionItemAction_INSTALLr�ZTransactionItemReason_GROUPr�Z TransactionItemReason_DEPENDENCYr�Z%TransactionItemReason_WEAK_DEPENDENCYr�r�ZTransactionItemAction_REINSTALLr�r�ZTransactionItemReason_CLEANr�r�r�ZTransactionItemAction_UPGRADEr�)r�r3r�rrr�_make_listssH
rcs��fdd�}tjj|�}�jd|d�\}}|j|�}g}x�td�|jftd�|jftd�|j|j	|j
|jftd�|jftd	�|ftd
�|j
|j|jftd�|jfgD]&\}	}
|j||	t|
tj|�d���q�W|S)
alReturns a human-readable summary of the results of the
    transaction.

    :param action_callback: function generating output for specific action. It
       takes two parameters - action as a string and list of affected packages for
       this action
    :return: a list of lines containing a human-readable summary of the
       results of the transaction
    cs�|j|jk|j|jk}|dkr$|Stj|j|j|j|j|jd�}tj|j|j|j|j|jd�}|j|�j�}|dkrz|S|j|jk|j|jkS)z�Compares two transaction items or packages by nevra.
           Used as a fallback when tsi does not contain package object.
        r)�name�epoch�version�release�arch)	r�hawkeyZNEVRArrrrZevr_cmpZsack)Zitem1Zitem2�retZnevra1Znevra2)�baserr�_tsi_or_pkg_nevra_cmpPsz7_post_transaction_output.<locals>._tsi_or_pkg_nevra_cmpF)Zreport_problemsr�ZUpgradedZ
DowngradedZ	InstalledZReinstalledZSkippedZRemovedr�)�key)r
�utilrZ_skipped_packages�unionrr�r�r�r�r�r�r�r�r�r�r�r��sortedrp�
cmp_to_key)rr�Zaction_callbackr	Z
list_bunchZskipped_conflictsZskipped_brokenZskippedr�r�Ztsisr)rr�_post_transaction_outputFs(



r)N)NNr2)F)QZ
__future__rrrrrrZdnf.i18nrr	�argparser
Zdnf.callbackZ	dnf.constZ
dnf.pycomprIrprr�r�Zloggingr"rfr��sysr6r`Zlibdnf.repor'Zlibdnf.transactionZ	getLoggerr,�ArgumentParser�progZ	MAIN_PROG�upperZMAIN_PROG_UPPERrr1r;r?rArFrKrQrVr[r_rcrarirmrrrtrvr|rxr�r�r�r�r�r�rDr�r�r��stdoutr�r�r�r�r�r�r��dictr�rSr�rrrrrr�<module>s�
 


						
(-PK!�FZr��ӑ�&__pycache__/query.cpython-36.opt-1.pycnu�[���3

�ft`3�@sZddlmZddlmZddlZddlmZddlmZddlmZddd	�Z	d
d�Z
dS)
�)�absolute_import)�unicode_literalsN)�Query)�ucd)�
basestringFcCsLt|t�r|g}|j�}g}|r,|jtj�|j|d|i�|rD|S|j�S)NZprovides__glob)�
isinstancerZquery�append�hawkeyZICASEZfiltermZrun)ZsackZpatternsZignore_caseZ	get_query�q�flags�r�/usr/lib/python3.6/query.py�_by_providess
rcCsdd�|D�S)NcSsi|]}|t|��qSr)r)�.0Zpkgrrr
�
<dictcomp>.sz#_per_nevra_dict.<locals>.<dictcomp>r)Zpkg_listrrr
�_per_nevra_dict-sr)FF)Z
__future__rrr	rZdnf.i18nrZ
dnf.pycomprrrrrrr
�<module>s
PK!�FZ�j)��'__pycache__/pycomp.cpython-36.opt-1.pycnu�[���3

�ft`�@s�ddlmZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ej
dkZe�r ddlm
Z
ddlmZddlZddlZddlZejZeZZejZeZeje_eje_eZe Z!ej"Z#ej$Z%e%j&Z'ej&Z(ej)Z*dd�Z+d	d
�Z,dd�Z-d
d�Z.ej/Z0ddd�Z1dd�Z2dd�Z3n�ddl4mZmZmZmZm!Z!ddl
m
Z
ddlmZddlZddlZddl%Z%ddl5Z5ejZej6Zej7Z#ej&Z'e5j&Z(ej8Z*dd�Z+dd
�Z,dd�Z-dd�Z.dd�Z0d dd�Z1dd�Z2dd�Z3dS)!�)�NullTranslations)�version_infoN�)�StringIO)�ConfigParsercCs|j}|j}||fS)N)�gettext�ngettext)�t�_�P_�r�/usr/lib/python3.6/pycomp.py�
gettext_setup8srcCs
t|t�S)N)�
isinstance�bytes)�orrr
�is_py2str_py3bytes>srcCs
t|t�S)N)rr)rrrr
�is_py3bytes@srcCs
tj|�S)N)�types�
ModuleType)�mrrr
�<lambda>DsrcCstj||�dS)N)�locale�	setlocale)�category�locrrr
rFsrcCs|j|�dS)N)�write)�f�contentrrr
�
write_to_fileHsrcCstjjj|�S)N)�email�mime�text�MIMEText)�bodyrrr
�
email_mimeJsr%)�unicode�
basestring�long�xrange�	raw_inputcCs|j}|j}||fS)N)�ugettext�	ungettext)r	r
rrrr
r]scCs
t|t�S)N)r�str)rrrr
rcscCsdS)NFr)rrrr
rescCstj|jd��S)Nzutf-8)rr�encode)rrrr
riscOstj|jd�f|�|�S)Nzutf-8)r�formatr.)Zpercent�args�kwargsrrr
r/jsr/cCstj||jd��dS)Nzutf-8)rrr.)rrrrr
rlscCs|j|jd��dS)Nzutf-8)rr.)rrrrr
rnscCstjjj|jd��S)Nzutf-8)r r!r"r#r.)r$rrr
r%ps)N)N)9rr�sysr�base64Zemail.mime.textr �	itertoolsrr�majorZPY3�iorZconfigparserrZqueueZurllib.parseZurllibZshlexZQueuer-r'r&�filterfalse�intr(r+rr,�ranger)�inputr*ZdecodebytesZbase64_decodebytes�parseZurlparseZquoteZurllib_quoteZshlex_quote�maxsizeZsys_maxsizerrrr�
format_stringr/rrr%Z__builtin__ZpipesZifilterfalseZdecodestringZmaxintrrrr
�<module>sr



PK!�FZ��2C�%�%%__pycache__/i18n.cpython-36.opt-1.pycnu�[���3

�ft`!0�@s�ddlmZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
Gdd�de�Zdd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zd'dd�Zdd�Zd(dd�Zd)dd�Zd d!�Zd"d#�Zd$d%�Zed&�\ZZeZdS)*�)�print_function)�unicode_literals)�unicodeNc@s$eZdZdd�Zdd�Zdd�ZdS)�
UnicodeStreamcCs||_||_dS)N)�stream�encoding)�selfrr�r	�/usr/lib/python3.6/i18n.py�__init__$szUnicodeStream.__init__cCs�t|t�s.tjjr |j|jd�n|j|jd�}y|jj	|�Wn\t
k
r�|j|jjd�}t|jd�rz|jjj	|�n|j|jjd�}|jj	|�YnXdS)N�replace�backslashreplace�buffer�ignore)
�
isinstance�str�dnf�pycomp�PY3�decoder�encoder�write�UnicodeEncodeError�hasattrr)r�sZs_bytesr	r	r
r(s
zUnicodeStream.writecCst|j|�S)N)�getattrr)r�namer	r	r
�__getattr__7szUnicodeStream.__getattr__N)�__name__�
__module__�__qualname__rrrr	r	r	r
r#srcCs0|dkrdS|j�}|jd�s(|jd�r,dSdS)a�Return true if encoding can express any Unicode character.

    Even if an encoding can express all accented letters in the given language,
    we can't generally settle for it in DNF since sometimes we output special
    characters like the registered trademark symbol (U+00AE) and surprisingly
    many national non-unicode encodings, including e.g. ASCII and ISO-8859-2,
    don't contain it.

    NFzutf-Zutf_T)�lower�
startswith)rr!r	r	r
�_full_ucd_support:s
r#cCstjd�}|jd�rdS|S)z= Take the best shot at the current system's string encoding. FZANSIzutf-8)�locale�getpreferredencodingr")rr	r	r
�_guess_encodingKs
r&cCs�ytjjtjd�Wn�tjk
r�ytjjtjd�dtjd<Wn0tjk
rttjjtjd�dtjd<YnXtdj	tjd�t
jd�YnXdS)N�zC.UTF-8�LC_ALL�Cz&Failed to set locale, defaulting to {})�file)rr�	setlocaler$r(�Error�os�environ�print�format�sys�stderrr	r	r	r
�setup_localePsr3cCs`tj}|j�stjtjtj�y
|j}Wntk
r@d}YnXt|�s\t	|t
��t_dSdS)z� Check that stdout is of suitable encoding and handle the situation if
        not.

        Returns True if stdout was of suitable encoding already and no changes
        were needed.
    NFT)r1�stdout�isatty�signal�SIGPIPE�SIG_DFLr�AttributeErrorr#rr&)r4rr	r	r
�setup_stdout^s

r:cCst|dd�tjj�S)z� It uses print instead of passing the prompt to raw_input.

        raw_input doesn't encode the passed string and the output
        goes into stderr
    r')�end)r/rrZ	raw_input)Zucstringr	r	r
�	ucd_inputrsr<c
Cs�tjjr:tjj|�r$t|t�dd�St|t�r2|St|�St|tjj�rL|St|d�rxytjj|�St	k
rvYnXtjjt|�t�dd�SdS)zD Like the builtin unicode() but tries to use a reasonable encoding. r)�errorsZ__unicode__N)
rrrZis_py3bytesrr&rrr�UnicodeError)�objr	r	r
�ucd}s

r@cCstj|�dkrdSdS)N�W�F��)rArB)�unicodedataZeast_asian_width)Zucharr	r	r
�_exact_width_char�srFcCsX|dkrt|�|fSd}d}x2|D]*}t|�}|||kr<P||7}||7}q"W||fS)a' Return the textual width of a Unicode string, chopping it to
        a specified value. This is what you want to use instead of %.*s, as it
        does the "right" thing with regard to different Unicode character width
        Eg. "%.*s" % (10, msg)   <= becomes => "%s" % (chop_str(msg, 10)) Nrr')�exact_widthrF)�msg�chop�widthZchopped_msg�charZ
char_widthr	r	r
�chop_str�s
rLcCstdd�|D��S)zQ Calculates width of char at terminal screen
        (Asian char counts for two) css|]}t|�VqdS)N)rF)�.0�cr	r	r
�	<genexpr>�szexact_width.<locals>.<genexpr>)�sum)rHr	r	r
rG�srGTr'cCsjt||�\}}||kr0|s|rfdj|||g�}n6d||}|rTdj||||g�}ndj||||g�}|S)a� Expand a msg to a specified "width" or chop to same.
        Expansion can be left or right. This is what you want to use instead of
        %*.*s, as it does the "right" thing with regard to different Unicode
        character width.
        prefix and suffix should be used for "invisible" bytes, like
        highlighting.

        Examples:

        ``"%-*.*s" % (10, 20, msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 10, 20))``.

        ``"%20.10s" % (msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 20, 10, left=False))``.

        ``"%s%.10s%s" % (pre, msg, suf)`` becomes
            ``"%s" % (fill_exact_width(msg, 0, 10, prefix=pre, suffix=suf))``.
        r'� )rL�join)rHZfillrI�left�prefix�suffixrJZextrar	r	r
�fill_exact_width�srV�Fcs��fdd��|jd�}|jdd�jd�}g}|}d}d}d}	�xr|D�]h}
|
jd�}
||	}}�|
�\}}	d}
|rz|	rzd	}
|r�|t|
�kr�d	}
|r�|r�|d
kr�||kr�d	}
|
r�|j|jd��|}d}|t|
�kr�d}
|r�|
jd�}
|}	t||
�|k�rd}|j||
�|}qDd	}|
jd�}|}
|	}|�r@|d
k�r@|}x^|D]V}|t|
|�k�r�t|
�t|�k�r�|j|
jd��|d|}
|
|7}
|
d7}
�qFW|
jd�d}qDW|�r�|j|jd��dj|�S)
zq Works like we want textwrap.wrap() to work, uses Unicode strings
        and doesn't screw up lists/blocks/etc. cs�d}d}x|D]}|dkrP|d7}qW|d
kr8|dfSt||d�d�d}|dkr��||t|�d��}|dp||d}|r�||d|fS|dfS)Nr�XrQrD�-�*�.�o�â�•�‣�∘)rYrZr[r\r])rYrZr[r\r^r_r`)rL�len)�line�countZbyteZlist_chrZnxt)�_indent_at_begr	r
rd�s 
z%textwrap_fill.<locals>._indent_at_beg�
�	rQ�FrT�r'z        )�rstripr�splitra�append�lstriprGrR)�textrJZinitial_indentZsubsequent_indent�lines�ret�indentZ	wrap_lastZcsabZcspc_indentrbZlsabZlspc_indentZforce_nlZwordsZspcsZwordr	)rdr
�
textwrap_fill�sf






rqcCsHt|�}t|�}||kr|S||kr4||kr0|S|S||kr@|S|SdS)a� Automatically selects the short (abbreviated) or long (full) message
        depending on whether we have enough screen space to display the full
        message or not. If a caller by mistake passes a long string as
        msg_short and a short string as a msg_long this function recognizes
        the mistake and swaps the arguments. This function is especially useful
        in the i18n context when you cannot predict how long are the translated
        messages.

        Limitations:

        1. If msg_short is longer than width you will still get an overflow.
           This function does not abbreviate the string.
        2. You are not obliged to provide an actually abbreviated string, it is
           perfectly correct to pass the same string twice if you don't want
           any abbreviation. However, if you provide two different strings but
           having the same width this function is unable to recognize which one
           is correct and you should assume that it is unpredictable which one
           is returned.

       Example:

       ``select_short_long (10, _("Repo"), _("Repository"))``

       will return "Repository" in English but the results in other languages
       may be different. N)rG)rJZ	msg_shortZmsg_longZwidth_shortZ
width_longr	r	r
�select_short_long'srrcCs2t�dd�}tjjj|dd�}t|tjj|��S)z< Easy gettext translations setup based on given domain name cs�fdd�S)Ncst�|��S)N)r@)�w)�fncr	r
�<lambda>Tsz2translation.<locals>.ucd_wrapper.<locals>.<lambda>r	)rtr	)rtr
�ucd_wrapperSsz translation.<locals>.ucd_wrapperT)Zfallback)r3rr�gettext�translation�mapZ
gettext_setup)rrv�tr	r	r
rxNsrxcCs(t|td�|�}d|kr |S|SdS)Nrh�)�_�chr)�context�message�resultr	r	r
�pgettextYsr�r)N)NTr'r')rWr'r')Z
__future__rrZ
dnf.pycomprrr$r-r6r1rE�objectrr#r&r3r:r<r@rFrLrGrVrqrrrxr�r|ZP_ZC_r	r	r	r
�<module>s2

"
O'PK!�FZ@�Kzz __pycache__/const.cpython-36.pycnu�[���3

i�-eA	�@s�ddlmZddlZdZdZd&Zd'ZddddddgZdZ	dZ
dZdZdZ
dZdZdZdZdZdZdZd Zej�Zej�Zd!Zd"ejj�Zd#Zd$eZej�Zd%Z dS)(�)�unicode_literalsNz/etc/dnf/dnf.confz/etc/dnf/automatic.conf�system-release(releasever)�system-release� distribution-release(releasever)�distribution-release�redhat-release�suse-release�	mandatory�default�conditionalZkernelz
kernel-PAEzinstallonlypkg(kernel)zinstallonlypkg(kernel-module)zinstallonlypkg(vm)zmultiversion(kernel)zdnf.logz
hawkey.logzdnf.librepo.logz--- logging initialized ---zdnf.rpm.logZDNFz/var/lib/dnfz/var/run/dnf.pidz/runz	/run/userz/var/cache/dnfz	/var/tmp/�z/etc/dnf/pluginsz%s/dnf-pluginsz4.7.0zdnf/%szhttps://bugs.rockylinux.org/)rrrrrr)r	r
r)!Z
__future__rZdistutils.sysconfigZ	distutilsZ
CONF_FILENAMEZCONF_AUTOMATIC_FILENAMEZDISTROVERPKGZGROUP_PACKAGE_TYPESZINSTALLONLYPKGSZLOGZ
LOG_HAWKEYZLOG_LIBREPOZ
LOG_MARKERZLOG_RPM�NAMEZ
PERSISTDIRZPID_FILENAMEZRUNDIRZUSER_RUNDIRZSYSTEM_CACHEDIRZTMPDIRZ
VERBOSE_LEVEL�lowerZPREFIXZPROGRAM_NAMEZPLUGINCONFPATH�	sysconfigZget_python_libZ
PLUGINPATH�VERSIONZ
USER_AGENTZBUGTRACKER_COMPONENTZ
BUGTRACKER�rr�/usr/lib/python3.6/const.py�<module>sBPK!�FZ�ʑ__pycache__/lock.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZmZmZddlmZddl	m
Z
ddlZddl
ZddlZddlZddlZddlZddlZddlZddlZejd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�ZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�ProcessLockError�ThreadLockError�	LockError)�_)�miscN�dnfcCs6tjj�s2tj|jd��j�}tjj	t
j�d|�}|S)Nzutf-8Zlocks)r	�utilZ	am_i_root�hashlibZsha1�encodeZ	hexdigest�os�path�joinrZgetCacheDir)Zdir_Zhexdir�r�/usr/lib/python3.6/lock.py�
_fit_lock_dir&s
rcCsttjjt|�d�d|�S)Nzdownload_lock.pid�cachedir)�ProcessLockr
rrr)r�exit_on_lockrrr�build_download_lock/srcCsttjjt|�d�d|�S)Nzmetadata_lock.pidZmetadata)rr
rrr)rrrrr�build_metadata_lock3srcCsttjjt|�d�d|�S)Nzrpmdb_lock.pidZRPMDB)rr
rrr)Z
persistdirrrrr�build_rpmdb_lock8srcCsttjjt|�d�d|�S)Nzlog_lock.pid�log)rr
rrr)Zlogdirrrrr�build_log_lock=src@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)rFcCs&||_d|_||_||_tj�|_dS)Nr)�blocking�count�description�target�	threading�RLock�thread_lock)�selfrrrrrr�__init__Cs
zProcessLock.__init__cCs2|jjdd�s d|j}t|��|jd7_dS)NF)rz'%s already locked by a different thread�)r!�acquirerrr)r"�msgrrr�_lock_threadJs
zProcessLock._lock_threadc Cs>tj|jtjtjBd�}�zytj|tjtjB�Wn4t	k
rh}z|j
t
jkrVdS�WYdd}~XnXtj|d�}t
|�dkr�tj|t|�jd��|Syt|�}Wn*tk
r�td�|j}t|��YnX||kr�|Stjd|tj��s*tj|dtj�tj|d�tj|t|�jd��|S|Stj|�XdS)	Ni�r$�rzutf-8z�Malformed lock file found: %s.
Ensure no other dnf/yum process is running and remove the lock file manually or run systemd-tmpfiles --remove dnf.conf.z
/proc/%d/stat���)r
�openr�O_CREAT�O_RDWR�fcntlZflockZLOCK_EXZLOCK_NB�OSError�errnoZEWOULDBLOCK�read�len�write�strr�int�
ValueErrorrr�access�F_OK�lseek�SEEK_SET�	ftruncate�close)r"�pid�fd�eZold_pidr&rrr�	_try_lockPs6zProcessLock._try_lockcCs|jd8_|jj�dS)Nr$)rr!�release)r"rrr�_unlock_threadzszProcessLock._unlock_threadcCs�tjjtjj|j��|j�d}tj�}|j	|�}xp||kr�|dkr�|j
sl|j�d|j|f}t
||��||kr�td�|}tj|�|}tjd�|j	|�}q6WdS)Nr$z%s already locked by %dz*Waiting for process with pid %d to finish.r)r))r	r
Z
ensure_dirr
r�dirnamerr'�getpidr?rrArrr�logger�info�timeZsleep)r"Zprev_pidZmy_pidr<r&rrr�	__enter__~s"




zProcessLock.__enter__cGs"|jdkrtj|j�|j�dS)Nr$)rr
�unlinkrrA)r"Zexc_argsrrr�__exit__�s
zProcessLock.__exit__N)F)	�__name__�
__module__�__qualname__r#r'r?rArGrIrrrrrBs
*r)Z
__future__rrZdnf.exceptionsrrrZdnf.i18nrZdnf.yumrZdnf.loggingr	Zdnf.utilr/r-rZloggingr
rrFZ	getLoggerrDrrrrr�objectrrrrr�<module>s(
	PK!�FZ@�Kzz&__pycache__/const.cpython-36.opt-1.pycnu�[���3

i�-eA	�@s�ddlmZddlZdZdZd&Zd'ZddddddgZdZ	dZ
dZdZdZ
dZdZdZdZdZdZdZd Zej�Zej�Zd!Zd"ejj�Zd#Zd$eZej�Zd%Z dS)(�)�unicode_literalsNz/etc/dnf/dnf.confz/etc/dnf/automatic.conf�system-release(releasever)�system-release� distribution-release(releasever)�distribution-release�redhat-release�suse-release�	mandatory�default�conditionalZkernelz
kernel-PAEzinstallonlypkg(kernel)zinstallonlypkg(kernel-module)zinstallonlypkg(vm)zmultiversion(kernel)zdnf.logz
hawkey.logzdnf.librepo.logz--- logging initialized ---zdnf.rpm.logZDNFz/var/lib/dnfz/var/run/dnf.pidz/runz	/run/userz/var/cache/dnfz	/var/tmp/�z/etc/dnf/pluginsz%s/dnf-pluginsz4.7.0zdnf/%szhttps://bugs.rockylinux.org/)rrrrrr)r	r
r)!Z
__future__rZdistutils.sysconfigZ	distutilsZ
CONF_FILENAMEZCONF_AUTOMATIC_FILENAMEZDISTROVERPKGZGROUP_PACKAGE_TYPESZINSTALLONLYPKGSZLOGZ
LOG_HAWKEYZLOG_LIBREPOZ
LOG_MARKERZLOG_RPM�NAMEZ
PERSISTDIRZPID_FILENAMEZRUNDIRZUSER_RUNDIRZSYSTEM_CACHEDIRZTMPDIRZ
VERBOSE_LEVEL�lowerZPREFIXZPROGRAM_NAMEZPLUGINCONFPATH�	sysconfigZget_python_libZ
PLUGINPATH�VERSIONZ
USER_AGENTZBUGTRACKER_COMPONENTZ
BUGTRACKER�rr�/usr/lib/python3.6/const.py�<module>sBPK!�FZ�r惤�__pycache__/drpm.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZddlZddlZdZejd�ZGd	d
�d
e
jj�ZGdd�de�ZdS)
�)�absolute_import)�unicode_literals)�hexlify)�unlink_f)�_Nz/usr/bin/applydeltarpm�dnfcsXeZdZ�fdd�Zdd�Z�fdd�Zdd�Zed	d
��Zedd��Z	d
d�Z
�ZS)�DeltaPayloadcs"tt|�j||�||_||_dS)N)�superr�__init__�
delta_info�delta)�selfrr�pkg�progress)�	__class__��/usr/lib/python3.6/drpm.pyr
)szDeltaPayload.__init__cCstjj|jj�S)N)�os�path�basenamer�location)r
rrr�__str__.szDeltaPayload.__str__cs2tt|�j|||�|tjjjkr.|jj|�dS)N)	r	r�_end_cb�libdnf�repoZPackageTargetCBZTransferStatus_ERRORr�enqueue)r
ZcbdataZ	lr_status�msg)rrrr1szDeltaPayload._end_cbcCsh|j}|j\}}tj|�}t|�j�}tjjj	|�}|tjjj
krRtjt
d�|�|j|||j|jd�S)Nzunsupported checksum type: %s)Zrelative_urlZ
checksum_typeZchecksumZexpectedsizeZbase_url)r�chksum�hawkeyZchksum_namer�decoderrZ
PackageTargetZchecksumTypeZChecksumType_UNKNOWN�loggerZwarningrr�downloadsizeZbaseurl)r
rZctypeZcsumrZ
ctype_coderrr�_target_params6s

zDeltaPayload._target_paramscCs|jjS)N)rr!)r
rrr�
download_sizeHszDeltaPayload.download_sizecCs|jjS)N)rr!)r
rrr�
_full_sizeLszDeltaPayload._full_sizecCs$|jj}tjj|jjjtjj|��S)N)	rrrr�joinrrZpkgdirr)r
rrrr�localPkgPszDeltaPayload.localPkg)�__name__�
__module__�__qualname__r
rrr"�propertyr#r$r&�
__classcell__rr)rrr(src@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�	DeltaInfoNcCs�d|_tjttj�rd|_ytjd�|_Wnttfk
rHd|_YnX|dkrbt	j
j�j|_n||_||_
||_g|_i|_i|_dS)z�A delta lookup and rebuild context
           query -- installed packages to use when looking up deltas
           progress -- progress obj to display finished delta rebuilds
        FT�SC_NPROCESSORS_ONLN�N)�deltarpm_installedr�access�
APPLYDELTA�X_OK�sysconf�
deltarpm_jobs�	TypeError�
ValueErrorrZconfZConf�deltarpm_percentage�queryr�queue�jobs�err)r
r8rr7rrrr
VszDeltaInfo.__init__cCs�|js
dS|jjs|jr dS|j�r,dStjj|j��r@dS|j	|jd}d}x@|j
j|j|j
d�D](}|j|j�}|rj|j|krj|j}|}qjW|r�t||||�SdS)z&Turn a po to Delta RPM po, if possibleN�d)�name�arch)r/rZdeltarpmr7Z
_is_local_pkgrr�existsr&Z_sizer8�filterr=r>Zget_delta_from_evrZevrr!r)r
ZporZbestZ
best_deltaZiporrrr�
delta_factoryms$zDeltaInfo.delta_factorycCs�tjtjjd||d?|d@�|jj|�}|j}|dkrXt|jj	��t
d�g|j|<nB|jj�stt
d�g|j|<n&t
j|j	��|jj|tjjt
d��dS)Nzdrpm: %d: return code: %d, %d��rzDelta RPM rebuild failedz(Checksum of the delta-rebuilt RPM failed�done)r �logr�logging�SUBDEBUGr:�poprrr&rr;ZverifyLocalPkgr�unlinkr�end�callbackZSTATUS_DRPM)r
�pid�code�ploadrrrr�job_done�s
zDeltaInfo.job_donecCs`ttd|jj|j�|jj�g}tjtjf|��}tjt	j
jd|dj|dd���||j
|<dS)Nz-azdrpm: spawned %d: %s� �)r1rr>r&r�spawnl�P_NOWAITr rErrFrGr%r:)r
rNZ
spawn_argsrLrrr�	start_job�szDeltaInfo.start_jobcCspx.|jr.tjdtj�\}}|s P|j||�qW|jj|�x.t|j�|jkrj|j	|jj
d��|js>Pq>WdS)NrQr���)r:r�waitpid�WNOHANGrOr9�append�lenr4rTrH)r
rNrLrMrrrr�szDeltaInfo.enqueuecCs@x:|jr:tj�\}}|j||�|jr|j|jjd��qWdS)z!Wait until all jobs have finishedrN)r:r�waitrOr9rTrH)r
rLrMrrrrZ�s
zDeltaInfo.wait)N)	r'r(r)r
rArOrTrrZrrrrr,Us


r,)Z
__future__rrZbinasciirZdnf.yum.miscrZdnf.i18nrZdnf.callbackrZdnf.loggingZdnf.reporrFZlibdnf.reporrr1Z	getLoggerr rZPackagePayloadr�objectr,rrrr�<module>s
-PK!�FZ��2C�%�%__pycache__/i18n.cpython-36.pycnu�[���3

�ft`!0�@s�ddlmZddlmZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
Gdd�de�Zdd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zd'dd�Zdd�Zd(dd�Zd)dd�Zd d!�Zd"d#�Zd$d%�Zed&�\ZZeZdS)*�)�print_function)�unicode_literals)�unicodeNc@s$eZdZdd�Zdd�Zdd�ZdS)�
UnicodeStreamcCs||_||_dS)N)�stream�encoding)�selfrr�r	�/usr/lib/python3.6/i18n.py�__init__$szUnicodeStream.__init__cCs�t|t�s.tjjr |j|jd�n|j|jd�}y|jj	|�Wn\t
k
r�|j|jjd�}t|jd�rz|jjj	|�n|j|jjd�}|jj	|�YnXdS)N�replace�backslashreplace�buffer�ignore)
�
isinstance�str�dnf�pycomp�PY3�decoder�encoder�write�UnicodeEncodeError�hasattrr)r�sZs_bytesr	r	r
r(s
zUnicodeStream.writecCst|j|�S)N)�getattrr)r�namer	r	r
�__getattr__7szUnicodeStream.__getattr__N)�__name__�
__module__�__qualname__rrrr	r	r	r
r#srcCs0|dkrdS|j�}|jd�s(|jd�r,dSdS)a�Return true if encoding can express any Unicode character.

    Even if an encoding can express all accented letters in the given language,
    we can't generally settle for it in DNF since sometimes we output special
    characters like the registered trademark symbol (U+00AE) and surprisingly
    many national non-unicode encodings, including e.g. ASCII and ISO-8859-2,
    don't contain it.

    NFzutf-Zutf_T)�lower�
startswith)rr!r	r	r
�_full_ucd_support:s
r#cCstjd�}|jd�rdS|S)z= Take the best shot at the current system's string encoding. FZANSIzutf-8)�locale�getpreferredencodingr")rr	r	r
�_guess_encodingKs
r&cCs�ytjjtjd�Wn�tjk
r�ytjjtjd�dtjd<Wn0tjk
rttjjtjd�dtjd<YnXtdj	tjd�t
jd�YnXdS)N�zC.UTF-8�LC_ALL�Cz&Failed to set locale, defaulting to {})�file)rr�	setlocaler$r(�Error�os�environ�print�format�sys�stderrr	r	r	r
�setup_localePsr3cCs`tj}|j�stjtjtj�y
|j}Wntk
r@d}YnXt|�s\t	|t
��t_dSdS)z� Check that stdout is of suitable encoding and handle the situation if
        not.

        Returns True if stdout was of suitable encoding already and no changes
        were needed.
    NFT)r1�stdout�isatty�signal�SIGPIPE�SIG_DFLr�AttributeErrorr#rr&)r4rr	r	r
�setup_stdout^s

r:cCst|dd�tjj�S)z� It uses print instead of passing the prompt to raw_input.

        raw_input doesn't encode the passed string and the output
        goes into stderr
    r')�end)r/rrZ	raw_input)Zucstringr	r	r
�	ucd_inputrsr<c
Cs�tjjr:tjj|�r$t|t�dd�St|t�r2|St|�St|tjj�rL|St|d�rxytjj|�St	k
rvYnXtjjt|�t�dd�SdS)zD Like the builtin unicode() but tries to use a reasonable encoding. r)�errorsZ__unicode__N)
rrrZis_py3bytesrr&rrr�UnicodeError)�objr	r	r
�ucd}s

r@cCstj|�dkrdSdS)N�W�F��)rArB)�unicodedataZeast_asian_width)Zucharr	r	r
�_exact_width_char�srFcCsX|dkrt|�|fSd}d}x2|D]*}t|�}|||kr<P||7}||7}q"W||fS)a' Return the textual width of a Unicode string, chopping it to
        a specified value. This is what you want to use instead of %.*s, as it
        does the "right" thing with regard to different Unicode character width
        Eg. "%.*s" % (10, msg)   <= becomes => "%s" % (chop_str(msg, 10)) Nrr')�exact_widthrF)�msg�chop�widthZchopped_msg�charZ
char_widthr	r	r
�chop_str�s
rLcCstdd�|D��S)zQ Calculates width of char at terminal screen
        (Asian char counts for two) css|]}t|�VqdS)N)rF)�.0�cr	r	r
�	<genexpr>�szexact_width.<locals>.<genexpr>)�sum)rHr	r	r
rG�srGTr'cCsjt||�\}}||kr0|s|rfdj|||g�}n6d||}|rTdj||||g�}ndj||||g�}|S)a� Expand a msg to a specified "width" or chop to same.
        Expansion can be left or right. This is what you want to use instead of
        %*.*s, as it does the "right" thing with regard to different Unicode
        character width.
        prefix and suffix should be used for "invisible" bytes, like
        highlighting.

        Examples:

        ``"%-*.*s" % (10, 20, msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 10, 20))``.

        ``"%20.10s" % (msg)`` becomes
            ``"%s" % (fill_exact_width(msg, 20, 10, left=False))``.

        ``"%s%.10s%s" % (pre, msg, suf)`` becomes
            ``"%s" % (fill_exact_width(msg, 0, 10, prefix=pre, suffix=suf))``.
        r'� )rL�join)rHZfillrI�left�prefix�suffixrJZextrar	r	r
�fill_exact_width�srV�Fcs��fdd��|jd�}|jdd�jd�}g}|}d}d}d}	�xr|D�]h}
|
jd�}
||	}}�|
�\}}	d}
|rz|	rzd	}
|r�|t|
�kr�d	}
|r�|r�|d
kr�||kr�d	}
|
r�|j|jd��|}d}|t|
�kr�d}
|r�|
jd�}
|}	t||
�|k�rd}|j||
�|}qDd	}|
jd�}|}
|	}|�r@|d
k�r@|}x^|D]V}|t|
|�k�r�t|
�t|�k�r�|j|
jd��|d|}
|
|7}
|
d7}
�qFW|
jd�d}qDW|�r�|j|jd��dj|�S)
zq Works like we want textwrap.wrap() to work, uses Unicode strings
        and doesn't screw up lists/blocks/etc. cs�d}d}x|D]}|dkrP|d7}qW|d
kr8|dfSt||d�d�d}|dkr��||t|�d��}|dp||d}|r�||d|fS|dfS)Nr�XrQrD�-�*�.�o�â�•�‣�∘)rYrZr[r\r])rYrZr[r\r^r_r`)rL�len)�line�countZbyteZlist_chrZnxt)�_indent_at_begr	r
rd�s 
z%textwrap_fill.<locals>._indent_at_beg�
�	rQ�FrT�r'z        )�rstripr�splitra�append�lstriprGrR)�textrJZinitial_indentZsubsequent_indent�lines�ret�indentZ	wrap_lastZcsabZcspc_indentrbZlsabZlspc_indentZforce_nlZwordsZspcsZwordr	)rdr
�
textwrap_fill�sf






rqcCsHt|�}t|�}||kr|S||kr4||kr0|S|S||kr@|S|SdS)a� Automatically selects the short (abbreviated) or long (full) message
        depending on whether we have enough screen space to display the full
        message or not. If a caller by mistake passes a long string as
        msg_short and a short string as a msg_long this function recognizes
        the mistake and swaps the arguments. This function is especially useful
        in the i18n context when you cannot predict how long are the translated
        messages.

        Limitations:

        1. If msg_short is longer than width you will still get an overflow.
           This function does not abbreviate the string.
        2. You are not obliged to provide an actually abbreviated string, it is
           perfectly correct to pass the same string twice if you don't want
           any abbreviation. However, if you provide two different strings but
           having the same width this function is unable to recognize which one
           is correct and you should assume that it is unpredictable which one
           is returned.

       Example:

       ``select_short_long (10, _("Repo"), _("Repository"))``

       will return "Repository" in English but the results in other languages
       may be different. N)rG)rJZ	msg_shortZmsg_longZwidth_shortZ
width_longr	r	r
�select_short_long'srrcCs2t�dd�}tjjj|dd�}t|tjj|��S)z< Easy gettext translations setup based on given domain name cs�fdd�S)Ncst�|��S)N)r@)�w)�fncr	r
�<lambda>Tsz2translation.<locals>.ucd_wrapper.<locals>.<lambda>r	)rtr	)rtr
�ucd_wrapperSsz translation.<locals>.ucd_wrapperT)Zfallback)r3rr�gettext�translation�mapZ
gettext_setup)rrv�tr	r	r
rxNsrxcCs(t|td�|�}d|kr |S|SdS)Nrh�)�_�chr)�context�message�resultr	r	r
�pgettextYsr�r)N)NTr'r')rWr'r')Z
__future__rrZ
dnf.pycomprrr$r-r6r1rE�objectrr#r&r3r:r<r@rFrLrGrVrqrrrxr�r|ZP_ZC_r	r	r	r
�<module>s2

"
O'PK!�FZ�&6I I (__pycache__/logging.cpython-36.opt-1.pycnu�[���3

�ft`r(�@s�ddlmZddlmZddlZddlZddlZddlZddlZ	ddl
Z
ddlZ
ddlZddl
Z
ddlZddlZddlZdZe
jZe
jZe
jZe
jZe
jZdZdZdZdZd	d
�ZGdd�de�Zee
je
je
je
je
je
jeeeed
�Zdd�Zee
je
jd�Z dd�Z!dd�Z"d%Z#dd�Z$Gdd�de
j%j&�Z'dd�Z(dd�Z)Gdd �d e�Z*Gd!d"�d"e�Z+e	j,j-j.ee	j,j-j/ee	j,j-j0ee	j,j-j1ee	j,j-j2ee	j,j-j3ee	j,j-j4eiZ5Gd#d$�d$e	j,j-�Z6e6�Z7e	j,j8j9e7�dS)&�)�absolute_import)�unicode_literalsN�d����csdd����fdd�}|S)zGMethod decorator turning the method into noop on second or later calls.c_sdS)N�)Z_argsZ_kwargsr	r	�/usr/lib/python3.6/logging.py�noop3szonly_once.<locals>.noopcs"�|f|�|�t|�j��dS)N)�setattr�__name__)�self�args�kwargs)�funcrr	r
�	swan_song5szonly_once.<locals>.swan_songr	)rrr	)rrr
�	only_once1src@seZdZdd�Zdd�ZdS)�_MaxLevelFiltercCs
||_dS)N)�	max_level)rrr	r	r
�__init__;sz_MaxLevelFilter.__init__cCs|j|jkrdSdS)Nr�)Zlevelnor)r�recordr	r	r
�filter>sz_MaxLevelFilter.filterN)r
�
__module__�__qualname__rrr	r	r	r
r:sr)rrr�r�r�r�	�
cCstj|t�S)N)�_VERBOSE_VAL_MAPPING�get�TRACE)�
cfg_errvalr	r	r
�_cfg_verbose_val2levelQsr%)rrrcCstj|tj�S)N)�_ERR_VAL_MAPPINGr"�logging�WARNING)r$r	r	r
�_cfg_err_val2level^sr)cCs|dS)Nz.gzr	)�namer	r	r
�compression_namercsr+�icCs\t|d��>}tj|d��&}x|jt�}|s,P|j|�qWWdQRXWdQRXtj|�dS)N�rb�wb)�open�gzip�read�
CHUNK_SIZE�write�os�remove)�source�destZsfZwf�datar	r	r
�compression_rotatorjs
"r9cs&eZdZd	�fdd�	Zdd�Z�ZS)
�MultiprocessRotatingFileHandler�arNFcs.tt|�j||||||�tjjdd�|_dS)Nz	/var/log/T)�superr:r�dnf�lockZbuild_log_lock�rotate_lock)r�filename�mode�maxBytes�backupCount�encodingZdelay)�	__class__r	r
rvs
z(MultiprocessRotatingFileHandler.__init__cCs�x�yR|j|�rD|j�*tj|j�j}|j�tj|j|�WdQRXtj	j
||�dStjj
tjjfk
r~tjd�Yqtk
r�|j|�dSXqWdS)Ng{�G�z�?)ZshouldRolloverr?r4�statZbaseFilename�st_modeZ
doRollover�chmodr'ZFileHandler�emitr=�
exceptionsZProcessLockErrorZThreadLockError�timeZsleep�	ExceptionZhandleError)rrrAr	r	r
rI{s

z$MultiprocessRotatingFileHandler.emit)r;rrNF)r
rrrrI�
__classcell__r	r	)rEr
r:usr:cCsltjj|�s,tjjtjj|��tjj|�t|||d�}t	j
dd�}tj|_
|j|�|rht|_t|_|S)N)rBrCz%%(asctime)s %(levelname)s %(message)sz%Y-%m-%dT%H:%M:%S%z)r4�path�existsr=�utilZ
ensure_dir�dirnameZtouchr:r'Z	FormatterrKZ	localtimeZ	converterZsetFormatterr9Zrotatorr+Znamer)�logfile�log_size�
log_rotate�log_compress�handlerZ	formatterr	r	r
�_create_filehandler�s
rWcCs|jttjj�dS)N)�log�INFOr=�constZ
LOG_MARKER)Zloggerr	r	r
�_paint_mark�sr[c@sBeZdZdd�Zedd��Zedd��Zedd��Zd
d
d�ZdS)�LoggingcCsPd|_|_tjtd�tjtd�tjtd�tjtd�tjd�dt_	dS)N�DDEBUG�SUBDEBUGr#�ALLTF)
�stdout_handler�stderr_handlerr'ZaddLevelNamer]r^r#r_ZcaptureWarningsZraiseExceptions)rr	r	r
r�s
zLogging.__init__cCsttjd�}|jt�tjtj�}|jt�|jt	tj
��|j|�||_tjtj
�}|jt
�|j|�||_dS)Nr=)r'�	getLogger�setLevelr#Z
StreamHandler�sys�stdoutrYZ	addFilterrr(�
addHandlerr`�stderrra)r�
logger_dnfrergr	r	r
�	_presetup�s





zLogging._presetupcCs�tjd�}|jt�tjj|tjj	�}t
||||�}|j|�|j|�tjd�}	|	j|�tjd�}
|
jt�tjj|tjj�}t
||||�}|
j|�t
jjj||tk�tjd�}d|_|jt�tjj|tjj�}t
||||�}|j|�dS)Nr=zpy.warnings�librepozdnf.rpmF)r'rbrcr#r4rN�joinr=rZZLOGrWrfZLOG_LIBREPO�libdnfZrepoZ
LibrepoLogr_Z	propagater^ZLOG_RPM)r�
logfile_level�logdirrSrTrUrhrRrV�logger_warningsZlogger_librepo�
logger_rpmr	r	r
�_setup_file_loggers�s(










zLogging._setup_file_loggerscCs�|j�|j|||||�tjd�}|j|j�tjd�}	|	j|j�|	j|j�tjd�}
|jjt�|jjt�t	|
�t	|	�|jj|�|jj|�dS)Nzpy.warningszdnf.rpmr=)
rirqr'rbrfrar`rcr(r[)rZ
verbose_levelZerror_levelrmrnrSrTrUrorprhr	r	r
�_setup�s


zLogging._setupFc
Csft|j�}t|j�}t|j�}|j}|j}|j}|j}	|rL|j	|||||	�S|j
|||||||	�SdS)N)r%Z
debuglevelr)Z
errorlevelZlogfilelevelrnrSrTrUrqrr)
rZconfZfile_loggers_onlyZverbose_level_rZ
error_level_rZlogfile_level_rrnrSrTrUr	r	r
�_setup_from_dnf_conf�s


zLogging._setup_from_dnf_confN)F)	r
rrrrrirqrrrsr	r	r	r
r\�s
	r\c@seZdZdd�Zdd�ZdS)�TimercCs||_tj�|_dS)N)�whatrK�start)rrur	r	r
rszTimer.__init__cCs6tj�|j}d|j|df}tjd�jt|�dS)Nztimer: %s: %d msi�r=)rKrvrur'rbrXr])rZdiff�msgr	r	r
�__call__szTimer.__call__N)r
rrrrxr	r	r	r
rtsrtcs$eZdZ�fdd�Zdd�Z�ZS)�LibdnfLoggerCBcs*tt|�j�tjd�|_tjd�|_dS)Nr=rj)r<ryrr'rb�_dnf_logger�_librepo_logger)r)rEr	r
rszLibdnfLoggerCB.__init__cGsft|�dkr|\}}nt|�dkr.|\}}}}|tjjjkrP|jjt||�n|jjt||�dS)zoLog message.

        source -- integer, defines origin (libdnf, librepo, ...) of message, 0 - unknown
        rrN)	�lenrl�utils�LoggerZLOG_SOURCE_LIBREPOr{rX�_LIBDNF_TO_DNF_LOGLEVEL_MAPPINGrz)rr6r�level�messagerK�pidr	r	r
r3s
zLibdnfLoggerCB.write)r
rrrr3rMr	r	)rEr
rysryi):Z
__future__rrZdnf.exceptionsr=Z	dnf.constZdnf.lockZdnf.utilZlibdnf.reporlr'Zlogging.handlersr4rdrK�warningsr0Z
SUPERCRITICALZCRITICALZERRORr(rY�DEBUGr]r^r#r_r�objectrr!r%r&r)r+r2r9ZhandlersZRotatingFileHandlerr:rWr[r\rtr}r~ZLevel_CRITICALZLevel_ERRORZ
Level_WARNINGZLevel_NOTICEZ
Level_INFOZLevel_DEBUGZLevel_TRACErryZlibdnfLoggerCBZLogZ	setLoggerr	r	r	r
�<module>sv	

a





PK!�FZ�M�#__pycache__/__init__.cpython-36.pycnu�[���3

�ft`m�@spddlmZddlZddlZejdedd�ddlmZeZ	ddl
ZejjZddl
ZejjZejjjjd�dS)�)�unicode_literalsN�oncez	^dnf\..*$)�category�module)�VERSIONZmedia)Z
__future__r�warningsZ
dnf.pycompZdnf�filterwarnings�DeprecationWarningZ	dnf.constr�__version__Zdnf.base�baseZBaseZ
dnf.pluginZpluginZPluginZpycompZurlparseZ
uses_fragment�append�r
r
�/usr/lib/python3.6/__init__.py�<module>sPK!�FZ6�!"__pycache__/subject.cpython-36.pycnu�[���3

�ft`~�@s4ddlmZddlmZddlmZddlmZdS)�)�absolute_import)�print_function)�unicode_literals)�SubjectN)Z
__future__rrrZhawkeyr�rr�/usr/lib/python3.6/subject.py�<module>sPK!�FZ��7��!__pycache__/crypto.cpython-36.pycnu�[���3

�ft`��@s<ddlmZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZddlZddl
Z
ddlZyddlmZddlmZWn<ek
r�ddlZGdd	�d	e�ZGd
d�de�ZYnXdZejd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejdd��Zdd�Z d"dd�Z!Gd d!�d!e�Z"dS)#�)�print_function)�absolute_import)�unicode_literals)�_N)�Context)�Datac@sVeZdZdd�Zdd�Zdd�Zedd��Zejd	d��Zd
d�Z	dd
�Z
dd�ZdS)rcCstj�|jd<dS)N�ctx)�gpgmer�__dict__)�self�r�/usr/lib/python3.6/crypto.py�__init__*szContext.__init__cCs|S)Nr)rrrr
�	__enter__-szContext.__enter__cCsdS)Nr)r�type�value�tbrrr
�__exit__0szContext.__exit__cCs|jjS)N)r�armor)rrrr
r3sz
Context.armorcCs||j_dS)N)rr)rrrrr
r7scCs$t|t�rtj|�}|jj|�dS)N)�
isinstanceZ
basestring�io�BytesIOr�import_)r�key_forrr
�	op_import;s

zContext.op_importcCs|jj||�dS)N)rZexport)r�pattern�modeZkeydatarrr
�	op_export@szContext.op_exportcCst|j|�S)N)�getattrr)r�namerrr
�__getattr__CszContext.__getattr__N)�__name__�
__module__�__qualname__rrr�propertyr�setterrrr rrrr
r)src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)rcCstj�|jd<dS)N�buf)rrr
)rrrr
rHsz
Data.__init__cCs|S)Nr)rrrr
rKszData.__enter__cCsdS)Nr)rrrrrrr
rNsz
Data.__exit__cCs
|jj�S)N)r&�getvalue)rrrr
�readQsz	Data.readcCst|j|�S)N)rr&)rrrrr
r TszData.__getattr__N)r!r"r#rrrr(r rrrr
rGs
rZ	GNUPGHOME�dnfcCstjjdd�|jD��S)Ncss|]}|jr|VqdS)N)Zcan_sign)�.0�subkeyrrr
�	<genexpr>]sz*_extract_signing_subkey.<locals>.<genexpr>)r)�util�firstZsubkeys)�keyrrr
�_extract_signing_subkey\sr0cs(�fdd�tdt��d�D�}dj|�S)Nc3s|]}�||d�VqdS)�Nr)r*�i)�fpr_hexrr
r,asz)_printable_fingerprint.<locals>.<genexpr>rr1� )�range�len�join)r3Zsegmentsr)r3r
�_printable_fingerprint`sr8cCs�|j}t|�}x�|jD]x}xrt||�D]d}|j}||krNtjtd�|j|�q&|j	j
|�s\q&tjj
j|j|j|dd�tjtd�|j|�q&WqWdS)Nzrepo %s: 0x%s already importedF)�gpgdirZmake_ro_copyzrepo %s: imported key 0x%s.)Z_pubring_dir�keyids_from_pubringZgpgkey�retrieve�id_�logger�debugr�idZ_key_importZ_confirmr)ZyumZmiscZimport_key_to_pubring�raw_key�short_id)�repor9Z
known_keys�keyurl�keyinfo�keyidrrr
�import_repo_keyses
rFcCsltjj|�sgSt|��Jt��8}g}x,|j�D] }t|�}|dk	r0|j|j�q0W|SQRXWdQRXdS)N)	�os�path�exists�pubring_dirr�keylistr0�appendrE)r9rZkeyids�kr+rrr
r:vsr:cCs8td�|j|jt|j�|jjdd�f}tjd|�dS)NzLImporting GPG key 0x%s:
 Userid     : "%s"
 Fingerprint: %s
 From       : %szfile://�z%s)	rrA�useridr8�fingerprint�url�replacer=�critical)rD�msgrrr
�log_key_import�s
rUcCs8t|�|tjjjkr&tjtd��ntjtd��dS)Nz0Verified using DNS record with DNSSEC signature.zNOT verified using DNS record.)rUr)ZdnssecZValidityZVALIDr=rSr)rDZ
dns_resultrrr
�log_dns_key_import�srVccsFtjjtd�}|tjt<z
dVWd|dkr6tjt=n
|tjt<XdS)N)rG�environ�get�GPG_HOME_ENV)rJZorigrrr
rJ�s


rJcCs�tj�}g}t|���t���}|j|�x2|j�D]&}t|�}|dkrHq2|jt||��q2Wd|_	xF|D]>}t
��.}|j|jd|�|j
dtj�|j�|_WdQRXqhWWdQRXWdQRXtjj|�|S)NTr)�tempfileZmkdtemprJrrrKr0rL�Keyrrrr<�seekrG�SEEK_SETr(r@r)r-Zrm_rf)rZpb_dir�keyinfosrr/r+�infoZsinkrrr
�rawkey2infos�s"

,r`c
CsZ|jd�rtjtd�|j|�tjj||d��}t|�}WdQRXx|D]
}||_	qHW|S)Nzhttp:z.retrieving repo key for %s unencrypted from %s)rB)
�
startswithr=Zwarningrr?r)r-Z_urlopenr`rQ)rCrBZhandler^rDrrr
r;�s


r;c@s,eZdZdd�Zedd��Zedd��ZdS)r[cCs6|j|_|j|_d|_|j|_d|_|jdj|_	dS)Nr)
rEr<ZfprrPr@Z	timestamprQZuidsZuidrO)rr/r+rrr
r�szKey.__init__cCs&tjjrdnd}|jdd�jd|�S)N�0�0�i����)r)ZpycompZPY3r<�rjust)rZrjrrr
rA�szKey.short_idcCs
|jj�S)N)rA�lower)rrrr
�rpm_id�sz
Key.rpm_idN)r!r"r#rr$rArgrrrr
r[�sr[)N)#Z
__future__rrrZdnf.i18nr�
contextlibZ
dnf.pycompr)Zdnf.utilZdnf.yum.miscrZloggingrGrZZgpgrr�ImportErrorr	�objectrYZ	getLoggerr=r0r8rFr:rUrV�contextmanagerrJr`r;r[rrrr
�<module>s<




PK!�FZ�~�W�6�6__pycache__/base.cpython-36.pycnu�[���3

i�-e���@sXdZddlmZddlmZddlmZddlmZddlZddlZddlZ	ddl
mZddlm
Z
dd	lmZmZmZdd
lmZddlmZddlmZydd
lmZWn ek
r�dd
lmZYnXddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zyddl(ZdZ)Wnek
�r`dZ)YnXddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4Zddl5ZddlZddl6Zddl7Z7ddl8Z8ddl9Z9ddl:Z:ddl;Z;ddl<Z<ddl=Z=ddl>Z>ddl?Z?ddl@Z@ddlAZAddlBZBe;jCd�ZDGdd�deE�ZFdd�ZGdS)z
Supplies the Base class.
�)�absolute_import)�division)�print_function)�unicode_literalsN)�deepcopy)�
CompsQuery)�_�P_�ucd)�_parse_specs)�
SwdbInterface)�misc)�SequenceTF�dnfc@s�eZdZd�dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Ze	dd��Z
dd�Zd�dd�Zdd�Z
edd��Zedd��Zedd��Zejdd��Zeejjd�dd ���Zed!d"��Zed#d$��Zed%d&��Zejd'd&��Zd(d)�Zffdfd*d+�Zd,d-�Zd.d/�Zd0d1�Zd�d2d3�Z d�d5d6�Z!d�d7d8�Z"d9d:�Z#d;d<�Z$d�d=d>�Z%d�d?d@�Z&dAdB�Z'e(j)e(j*e(j+e(j,e(j-e(j.e(j/dC�Z0e1e(dD��r�e(j2e0dE<dFe(j3e(j4BiZ5edGdH��Z6edIdJ��Z7e7jdKdJ��Z7d�dLdM�Z8dNdO�Z9edPdQ�dRdQ�dSdQ�dTdU�Z:dVdW�Z;dXdY�Z<dZd[�Z=d\d]�Z>d^d_�Z?d�d`da�Z@ffdbdc�ZAddde�ZBdfdg�ZCdhdi�ZDd�djdk�ZEd�dldm�ZFd�dndo�ZGd�dpdq�ZHdrds�ZIdtdu�ZJdvdw�ZKd�dydz�ZLd�d{d|�ZMd}d~�ZNdd��ZOd�d��ZPd�d��ZQd�d�d��ZRd�d��ZSd�d�d��ZTd�d�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d�d��Z`d�d�d��Zad�d�d��Zbd�d�d��Zcd�d�d��Zdd�d��Zed�d��Zfd�d��Zgd�d�d��Zhd�d�d��Zid�d�d��Zjd�d�d��Zk�dd�d��Zl�dd�d��Zm�dd�d��Znd�d��Zo�dd�d„Zpd�dĄZqffffffd�dƄZrd�dȄZs�dd�dʄZt�dd�d̄Zu�dd�d΄Zvd�dЄZw�dd�dӄZx�dd�dՄZyd�dׄZzd�dلZ{d�dۄZ|d�d݄Z}d�d߄Z~d�d�Zd�d�Z�dS(	�BaseNcCs�d|_|p|j�|_d|_d|_d|_d|_d|_d|_t	j
j�|_d|_
t�|_t�|_t	jj�|_t	jj�|_t	jj�|_ttjg�|_t	jj�|_d|_ d|_!d|_"g|_#i|_$d|_%t�|_&d|_'dS)NF)(�_closed�_setup_default_conf�_conf�_goal�_repo_persistor�_sack�_transaction�_priv_ts�_compsr�comps�TransactionBunch�_comps_trans�_history�set�
_tempfiles�_trans_tempfiles�callbackZDepsolve�_ds_callback�loggingZLogging�_logging�repodict�RepoDict�_repos�rpmZRPMPROB_FILTER_OLDPACKAGE�_rpm_probfilterZpluginZPlugins�_plugins�_trans_success�_trans_install_set�_tempfile_persistor�_update_security_filters�_update_security_options�_allow_erasing�_repo_set_imported_gpg_keys�output)�self�conf�r5�/usr/lib/python3.6/base.py�__init__]s2z
Base.__init__cCs|S)Nr5)r3r5r5r6�	__enter__zszBase.__enter__cGs|j�dS)N)�close)r3Zexc_argsr5r5r6�__exit__}sz
Base.__exit__cCs|j�dS)N)r9)r3r5r5r6�__del__�szBase.__del__cCs.|jr|jj|�n|jjrn|jj|�dS)N)rr �updater4�destdirr)r3�filesr5r5r6�_add_tempfiles�s
zBase._add_tempfilescCs�|j�td|jdd�}|jr&d|d<y|jj|jfddi|��WnTtjk
r�}z6t	j
td�j|j
|��tjjtd�j|j
���WYdd}~XnXdS)NT)�load_filelists�load_presto�load_updateinfo�
load_other�build_cachezloading repo '{}' failure: {}z"Loading repository '{}' has failed)�load�dict�deltarpm�load_metadata_otherr�	load_repo�_repo�hawkey�	Exception�logger�debugr�format�idr�
exceptions�	RepoError)r3�repo�mdload_flags�er5r5r6�_add_repo_to_sack�szBase._add_repo_to_sackcCs.tjj�}|j}d|kr*tjj|j�|d<|S)N�
releasever)rr4ZConf�
substitutionsr(Zdetect_releasever�installroot)r4Zsubstr5r5r6r�s

zBase._setup_default_confcCs�dd�|jj�D�}y0|jj|j||jj|jjd|jj|jj	d�}Wn4t
jk
rx}ztj
jt|���WYdd}~XnX|r�tjtjjj|d��dS)NcSsg|]}|jr|j�qSr5)Zmodule_hotfixesrP)�.0�ir5r5r6�
<listcomp>�sz0Base._setup_modular_excludes.<locals>.<listcomp>F)Zupdate_onlyZdebugsolver�module_obsoletesr)�repos�iter_enabled�sackZfilter_modules�_moduleContainerr4rYZmodule_platform_id�debug_solverr]rKrLrrQ�Errorr
rM�warning�module�module_baseZformat_modular_solver_errors)r3Z
hot_fix_reposZ
solver_errorsrUr5r5r6�_setup_modular_excludes�s"zBase._setup_modular_excludesFc	Cs�t|jj�}d|kr$tr$|j�dSg}g}|�s>�x|jj�D]�}|j|krPq@t|j	�dkr�|j
j�jdd�}x8t|j	�D]*}t
jj|�}|j|j|j
dddd��}q|W|j|jd�|j|j�|jf�|j
j�jdd�}	x8t|j�D]*}
t
jj|
�}|	j|j|j
dddd��}	q�W|	j|jd�|	r@|j|	|jf�q@Wd|k�r6|j
j�jdd�}t|jj	�dk�r�x<t|jj	�D],}t
jj|�}|j|j|j
dddd��}�qzW|j
j�jdd�}x<t|jj�D],}
t
jj|
�}|j|j|j
dddd��}�q�Wt|jj	�dk�r$|j
j|�|j
jd�|�r6|j
j|�|�rjx,|D]$\}
}|j
j|
�|j
jd|��qBW|�r�x|D]\}
}|j
j|
��qvW|�r�t�r�|j�dS)	N�allrT)�emptyF)�
with_nevra�
with_provides�with_filenames)�reponame�main)rr4Zdisable_excludes�WITH_MODULESrgr^r_rP�lenZincludepkgsr`�query�filtermr�subject�Subject�union�get_best_query�append�applyZexcludepkgsZadd_includesZset_use_includes�add_excludes)r3�	only_mainZdisabledZ
repo_includesZ
repo_excludes�rZ
incl_queryZincl�subjZ
excl_queryZexclZ
include_query�
exclude_queryrq�repoidr5r5r6�_setup_excludes_includes�sh

zBase._setup_excludes_includescCsP|jr<|jjr<dd�|jj�D�}|jjj|�|jj�|jrL|jj�dS)NcSs"g|]}|jr|jj�r|j�qSr5)�metadatarJZ	isExpiredrP)rZr{r5r5r6r\�sz/Base._store_persistent_data.<locals>.<listcomp>)	rr4�	cacheonlyr^r_Zexpired_to_addr<�saver-)r3Zexpiredr5r5r6�_store_persistent_data�s
zBase._store_persistent_datacCs|jdkr|jdd�|jS)NT)�arch_filter)r�
read_comps)r3r5r5r6r�s
z
Base.compscCs|jS)N)r)r3r5r5r6r4�sz	Base.confcCs|jS)N)r')r3r5r5r6r^sz
Base.reposcCs
d|_dS)N)r')r3r5r5r6r^sZ
_priv_rpmconncCstjjj|jj�S)N)rr(Z
connectionZ
RpmConnectionr4rY)r3r5r5r6�_rpmconnsz
Base._rpmconncCs|jS)N)r)r3r5r5r6r`sz	Base.sackcCsP|jdkrtjjd��|jjdkrHtjjd|jj	|jj
d|jj�|j_|jjS)NzSack was not initializedF�arch)r`rrQrcra�libdnfreZModulePackageContainerr4rYrX�
persistdir)r3r5r5r6ras
 zBase._moduleContainercCs|jS)N)r)r3r5r5r6�transactionszBase.transactioncCs|jrtd��||_dS)Nztransaction already set)r�
ValueError)r3�valuer5r5r6r�$scCstjj|jj�|_dS)N)r�	persistorZ
RepoPersistorr4�cachedirr)r3r5r5r6�_activate_persistor+szBase._activate_persistorcCs,|jjr|jj|j||�|jj||�dS)z&Load plugins and run their __init__().N)r4Zpluginsr*�_loadZ	_run_init)r3Z
disabled_globZenable_plugins�clir5r5r6�init_plugins.szBase.init_pluginscCs|jj�dS)z#Run plugins pre_configure() method.N)r*Z_run_pre_config)r3r5r5r6�pre_configure_plugins5szBase.pre_configure_pluginscCs|jj�dS)zRun plugins configure() method.N)r*Z_run_config)r3r5r5r6�configure_plugins:szBase.configure_pluginscCs|jj�dS)zRun plugins unload() method.N)r*Z_unload)r3r5r5r6�unload_plugins?szBase.unload_pluginsc
Cs�|jj}|jdkr|j�|j}|r�tjj�rDtd�}tj	|�dStjj
�dkrhtd�}tj	|�dS|dkr�td�}tj	|�dS|j�}|dk	r�||kr�tj	td��dSx|jj
�D]}|jjd�q�W|jj�s�tj	td�jd	j|jj���dSx�|jj�D]�}|j�\}}	|	dk�r6tj	td
�|j�nx|�sH|	dk�rftjtd�|j�|jj�nH|�r�|	|k�r�td�}tj||j|	�|jj�ntjtd
�|j|	��qW|�r�d|_|jddd�tj	td��dS)NzCMetadata timer caching disabled when running on metered connection.Fz:Metadata timer caching disabled when running on a battery.rz Metadata timer caching disabled.z"Metadata cache refreshed recently.�z*There are no enabled repositories in "{}".z", "z4%s: will never be expired and will not be refreshed.z&%s: has expired and will be refreshed.zC%s: metadata will expire after %d seconds and will be refreshed nowz!%s: will expire after %d seconds.T)�load_system_repo�load_available_reposzMetadata cache created.)r4Zmetadata_timer_syncrr�r�utilZon_metered_connectionrrM�infoZon_ac_power�since_last_makecacher^�valuesrJZsetMaxMirrorTries�_any_enabledrO�joinZreposdirr_Z_metadata_expire_inrPrN�expireZreset_last_makecache�	fill_sack)
r3�timerZperiodr��msgr�rSr{Zis_cacheZ
expires_inr5r5r6�update_cacheDsZ






zBase.update_cacheTc CsPtjjd�}|jddd�tjj|�|_tjj|j	j
|j	j�}|���|dk	r�y|jjdd�Wnt
k
r~|dkrz�YnX|�r�g}d}tj�}|j	jr�tjjj�x�|jj�D]�}y`|j|�|jj�|kr�|jj�}|jj�|kr�|jj�}tjtd�|jtjj|jj���Wq�tj j!k
�rz}	z>|jj"�|j#dk�rJ�tj$d	|	�|j%|j�|j&�WYd
d
}	~	Xq�Xq�W|�r�tj$td�dj'|��|jj(��r�|dk�r�|dk�r�tj)td
�t*j+t,|�d�tjj|��n|jj-�j&�Wd
QRX|j	}
|jj.|
j/|
j0|
j1�|j2�|�tj3j4|j�|_5|
j6|j5_6|j7j8�|jS)z'Prepare the Sack and the Goal objects. z
sack setupT)r`�goalF)rD�autorz%s: using metadata from %s.z	Error: %sNzIgnoring repositories: %sz, z-Last metadata expiration check: %s ago on %s.)Zseconds)9rr#�Timer�resetr`�_build_sackr�lock�build_metadata_lockr4r��exit_on_lockr��IOError�time�gpgkey_dns_verification�dnssec�RpmImportedKeys�check_imported_keys_validityr^r_rVrJZgetTimestampZgetAgerMrNrrPr��normalize_time�getMaxTimestamprQrRr��skip_if_unavailablerdrw�disabler�r�r��datetimeZ	timedelta�intrh�
_configure�installonlypkgs�installonly_limit�allow_vendor_changerr��Goalr�protect_running_kernelr*�run_sack)r3r�r�r�r��error_reposZmtsZager{rUr4r5r5r6r�|sf






zBase.fill_sackc	 Cstjjd�}|jddd�tjj|�|_tjj|j	j
|j	j�}|��n|dk	r�y|jjdd�Wnt
k
r~|dkrz�YnXg}|j	jr�tjjj�x�|jj�D]�}yf|jjddd�td|jdd�}|jr�d|d	<|jj|jf|�tjtd
�|jtjj|jj ���Wq�t!t"j#fk
�r�}zZ|j$dk�rPtj%j&td�j'|j|���ntjtd�j'|j|��|j(|j�|j)�WYdd}~Xq�Xq�W|�r�tj*td
�dj+|��WdQRX|j	}|jj,|j-|j.|j/�|j0�|�tj1j2|j�|_3|j4|j3_4|j5j6�|jS)a�
        Prepare Sack and Goal objects and also load all enabled repositories from cache only,
        it doesn't download anything and it doesn't check if metadata are expired.
        If there is not enough metadata present (repond.xml or both primary.xml and solv file
        are missing) given repo is either skipped or it throws a RepoError exception depending
        on skip_if_unavailable configuration.
        z
sack setupT)r`r�F)rDr�)ZthrowExceptZ
ignoreMissing)r@rArBrCz%s: using metadata from %s.zloading repo '{}' failure: {}NzIgnoring repositories: %sz, )7rr#r�r�r`r�rr�r�r4r�r�r�r�r�r�r�r�r^r_rJZ	loadCacherFrGrHrIrMrNrrPr�r�r��RuntimeErrorrKrLr�rQrRrOrwr�rdr�r�r�r�r�rr�r�rr�r*r�)	r3r�r�r�r�rSrTrUr4r5r5r6�fill_sack_from_repos_in_cache�sX	

z"Base.fill_sack_from_repos_in_cachecCs�tjj|jj�|_|jjsl|j|j�|j	r\|j
j|jj��|jj
�|jrl|j|j
�n|jjj|j
�|jjr�tjtd��tjtd�djtjjd��|jdk	r�|jj�|j�|j�d|_	dS)NzRThe downloaded packages were saved in cache until the next successful transaction.z1You can remove cached packages by executing '%s'.z{prog} clean packages)�progF)rr�ZTempfilePersistorr4r�r-Z	keepcache�_clean_packagesrr+r r<Zget_saved_tempfilesrir,Ztempfiles_to_addrMr�rrOr�Z	MAIN_PROGr�historyr9r��_closeRpmDB)r3r5r5r6�_finalize_base�s*



zBase._finalize_basecCsB|jr
dStjtjjd�d|_|j�|jdddd�d|_dS)ztClose all potential handles and clean cache.

        Typically the handles are to data sources and sinks.

        NzCleaning up.T)r`r^r�)	rrM�logrr#�DDEBUGr�r�r*)r3r5r5r6r9sz
Base.closecCsftjjj|j|�}xN|D]F}y|jj|�Wqtjjk
r\}ztj	|�WYdd}~XqXqWdS)z?Read repositories from the main conf file and from .repo files.N)
rr4�readZ
RepoReaderr^�addrQZConfigErrorrMrd)r3Zopts�readerrSrUr5r5r6�read_all_repos"s
zBase.read_all_reposcCs�|r
d|_|rtjj�|_|r�d|_|jdk	rJtjj|j�|_|jj	|j_	|jr`|j
r`|j
j�|jdk	rt|j
j�tjj�|_d|_g|_|r�|r�tj�dS)z1Make the Base object forget about various things.N)rrr%r&r'rr�r�r4r�raZrollbackrr�r9rrrrr.�gcZcollect)r3r`r^r�r5r5r6r�-s$



'z
Base.resetcCs|`dS)z6Closes down the instances of rpmdb that could be open.N)�_ts)r3r5r5r6r�jszBase._closeRpmDB)Z	noscriptsZ
notriggersZnodocs�testZjustdbZ
nocontexts�nocrypto�RPMTRANS_FLAG_NOCAPSZnocapsr�cCs|jS)N)r)r3r5r5r6r�|sz	Base.goalcCs�|jdk	r|jStjjj|jj�|_|jjd�xb|jjD]V}|j	j
|�}|dkrdtjt
d�|�q:|jj|�|jj
|�}|dk	r:|jj|�q:W|jjs�|jjtj�|jjr�|jjtj�tjtj|jd�}|jj|�|jS)zMSet up the RPM transaction set that will be used
           for all the work.Nrz!Invalid tsflag in config file: %s)rrr(r�ZTransactionWrapperr4rY�setFlagsZtsflags�_TS_FLAGS_TO_RPM�getrM�criticalrZ	addTsFlag�_TS_VSFLAGS_TO_RPM�pushVSFlagsZdiskspacecheckr)r�ZRPMPROB_FILTER_DISKSPACEZ
ignorearchZRPMPROB_FILTER_IGNOREARCH�	functools�reduce�operator�or_Z
setProbFilter)r3�flagZrpm_flagZvs_flagZ
probfilterr5r5r6r��s*
zBase._tscCs&|jdkrdS|jj�|`d|_dS)z"Releases the RPM transaction set. N)rr9)r3r5r5r6r��s


cCs$tjjd�}tjj�|_tjtjjd�x�|j	j
�D]�}|js@q4|jsHq4|j
j�}|sXq4tjtjjd|j�|j
j�tjjkr�tj|d�}tjj|�s�q4ntj|d�}y|jj|�Wq4tjjk
r�}ztd�}tj||j|�WYdd}~Xq4Xq4W|�r|jjj|j j!dg�|�|jS)z6Create the groups object to access the comps metadata.z
loading compszGetting group metadataz%Adding group file from repository: %sz
groups.xmlz1Failed to add groups file for repository: %s - %sN�basearch)"rr#r�rZCompsrrMr�r�r^r_Zenablegroupsr�rJZ
getCompsFnrPZgetSyncStrategyrSZSYNC_ONLY_CACHEr
Zcalculate_repo_gen_dest�os�path�existsZrepo_gen_decompressZ_add_from_xml_filenamerQ�
CompsErrorrr�Z_ir�rrX)r3r�r�rSZcomps_fnZdecompressedrUr�r5r5r6r��s:


&zBase.read_compscCs*|jdkr$|jj}t|jj|d�|_|jS)zeauto create the history object that to access/append the transaction
           history information. N)rW)rr4rWrr�)r3rWr5r5r6�_getHistory�s
zBase._getHistorycCs|j�S)N)r�)r3r5r5r6�<lambda>�sz
Base.<lambda>cCst|d|�S)Nr)�setattr)r3r�r5r5r6r��scCst|dd�S)Nr)r�)r3r5r5r6r��szDNF SWDB Interface Object)�fget�fset�fdel�doccsF�jj}t|j����j�}|j�|j�j�}xT|j�D]H�|j��}|d}�j	j
|d��j	j
�d�|j�||dd��q:Wx�|j�D]x��j	j
�d�|j��}t
��}g}x0|D](}	t
|	�|kr�|jd|	�q�|j|	�q�W|d}
|j�|
|dd��q�Wx�|j�D]���j	j
�d�|j��}��fdd�|D�}|j��}�|k�rt|j�jd	��rt|j��}x0|D](}|j|�}
tjj||
�dk�rz|
}�qzW|j�||��fd
d�}tjj||��qWx�|j�D]ȉ|j��}d}x"|D]}|j�jk�r�|}P�q�W|dk�r*|jd�}n
|j|���fdd�|D�}�fd
d�}tjj||��|k�rz|j�|�n|j�||��j	j
|d��j	j
�d��q�W|j �}|�rB�j!j"t#j$d�j�}|j%|d�xh|D]`�|j�jd	��r|d}|j|��jj&||j|���j	j
�d�|j��}|j'�|��q�W|S)NrZdd�dr�r{r[cs$g|]}|�ks|j�jkr|�qSr5)�name)rZr[)�
all_obsoleted�pkgr5r6r\�sz*Base._goal2transaction.<locals>.<listcomp>)r�cs�jj|d�S)N�od)r"�	pkg_added)r�)r3r5r6r�
sz(Base._goal2transaction.<locals>.<lambda>cs$g|]}|�ks|j�jkr|�qSr5)r�)rZr[)r�r�r5r6r\scs�jj|d�S)Nr�)r"r�)r�)r3r5r6r�!sZud�u)�flags)Zpkg__neqrU���)(r�r(rZlist_obsoleted�_get_installonly_queryrx�	installed�list_downgradesZobsoleted_by_packager"r�Z
add_downgrade�list_reinstalls�str�insertrwZ
add_reinstall�
list_installs�
get_reason�filterr�r�r�ZTransactionItemReasonCompareZadd_installrr�Zmapall�
list_upgrades�pop�removeZadd_upgradeZ
list_erasuresr`rqrK�IGNORE_EXCLUDESrr�
set_reasonZ	add_erase)r3r��tsZinstallonly_queryZinstallonly_query_installedZobsZ
downgradedZ	nevra_pkg�	obsoletesZobs_pkgZreinstalled�reasonZobsoleteZreason_obsolete�cbZupgradedr[ZerasuresZremaining_installed_queryZ	remainingr5)r�r�r3r6�_goal2transaction�s�
















zBase._goal2transactioncCsd|j�}|j�}|j�j�}g}g}x6|D].}||krJ|j||d�q*|j||�q*W||fS)aJ See what packages in the query match packages (also in older
            versions, but always same architecture) that are already installed.

            Unlike in case of _sltr_matches_installed(), it is practical here
            to know even the packages in the original query that can still be
            installed.
        r)r��_na_dict�	availablerw)r3�q�instZ
inst_per_archZavail_per_archZavail_lZinst_lZnar5r5r6�_query_matches_installed7s
zBase._query_matches_installedcCs"|jj�j�j|j�d�}t|�S)z� See if sltr matches a patches that is (in older version or different
            architecture perhaps) already installed.
        )r�)r`rqr�rr�matches�list)r3�sltrrr5r5r6�_sltr_matches_installedKszBase._sltr_matches_installedcs�fdd��jj�j�D�S)z5Get iterator over the packages installed by the user.c3s|]}�jj|�r|VqdS)N)r�Zuser_installed)rZr�)r3r5r6�	<genexpr>Tsz*Base.iter_userinstalled.<locals>.<genexpr>)r`rqr�)r3r5)r3r6�iter_userinstalledRszBase.iter_userinstalledcCs0|j||jj|jjd�}|jjr,|jd�|S)N)�allow_uninstall�
force_bestZignore_weak_depsz./debugdata/rpms)�runr4�bestZinstall_weak_depsrbZwrite_debugdata)r3r��
allow_erasing�retr5r5r6�_run_hawkey_goalWs
zBase._run_hawkey_goalc	Cstd}|j�tjjd�}|jj�|j}|j�rJ|j|j	j
�j�|j�n|j
jsd|j�}|j|�|j|j	j
�j|j
jd��|j||�s�|j
jdkr�|j�tjj|j��}tjj|�}n|j|�|_|jj�|�|jdk	o�t|j�dk}|�r|jj �}|�rtjj!|�}|dk	�r"|�|j"j#�|jj$�}||jj%�7}||jj&�7}||jj'�7}|j	j(|j)|�|S)zBuild the transaction set.NZdepsolve)r��r)*�_finalize_comps_transrr#r�r"�startrZ
req_has_eraseZpush_userinstalledr`rqr�r�r4Zupgrade_group_objects_upgrade�_build_comps_solverZ'_exclude_packages_from_installed_groupsZ
add_protectedrrZprotected_packagesr�
debuglevelZ
log_decisionsr��_format_resolve_problems�
problem_rulesrQZ
DepsolveErrorrr�endrpZ_rpm_limitationsrcr*Zrun_resolvedr�r�r�r�Zset_modules_enabled_by_pkgsetra)	r3r�excr�r��solverr�Zgot_transactionZnew_pkgsr5r5r6�resolve_sH








zBase.resolvecCs^t|t�s|g}tjjj�gt|�}|js�|jj	�|jj
�|jr�|jjsV|jj
r�d}t|d�rx|jrxdj|j�}nt|d�r�|jr�dj|j�}|jj�}|dkr�|jj�}n|j}|jj|gg|�|jj|�|jj�|jj�d|_dSd}tjtd��tj j!|j"j#|j"j$�}|���|jj%|j&�|j'�}|�rxtd�}tj(|�x|D]}tj(|��qXWtj)j*|��tjtd��tj+j,d�}	tjtd	��|j&j-�|j&j.�tjjj/|dd
�}
|j&j0|
�}t1|�dk�r\x&|
j2�D]}tj3td�j4|���q�Wtd
�d}x|D]}
|dt5|
�7}�qW|j6|�}|�rP|d|7}tj)j7|��~
tjtd��|j&j8t9j:��r�dS|	�|jj	�|jj
�tj+j,d�}	tjjj/||d�}|j"j;dk�r�x|j<D]}d|_=�q�W|jj�tjtd��|j>|d�}WdQRX|	�|jj?|j�|jj�dd�}x&tj@jA||j|�D]}tjB|��qFW|S)N�args� �cmdsTzRunning transaction checkz%Error: transaction check vs depsolve:zTransaction check succeeded.ztransaction testzRunning transaction test)r�rzRPM: {}zTransaction test error:�
z  %s
zTransaction test succeeded.r�)�displays�FzRunning transaction)rcSs,g}x"|D]}|jdj|t|���q
W|S)Nz{}: {})rwrOr�)�actionZtsis�msgs�tsir5r5r6�
_pto_callback�s
z*Base.do_transaction.<locals>._pto_callback)C�
isinstancerrZyumZrpmtransZLoggingTransactionDisplayrr�rar�ZupdateFailSafeDatar�group�env�hasattrr"r�r$r��lastr`�_rpmdb_version�end_rpmdb_version�begrr*Zrun_pre_transactionZrun_transactionr+rMr�rr�Zbuild_rpmdb_lockr4r�r�Z_populate_rpm_tsr��_run_rpm_check�errorrQZTransactionCheckErrorr#r��orderZcleanZRPMTransactionr�rp�messagesr�rOr
�_trans_error_summaryrc�isTsFlagSetr(�RPMTRANS_FLAG_TESTrr&r2�_run_transactionZunload_removed_pluginsr�Z_post_transaction_outputrN)r3Zdisplay�cmdline�oldZ
rpmdb_version�tidr�r)r�r�ZtestcbZtserrors�	errstringZdescr�summaryrZdisplay_r+r5r5r6�do_transaction�s�
















zBase.do_transactioncCs�d}tjd�}i}x�|j|�D]t}|jd�dkr>t|jd��ntjt|jd��d�}|jd�|krr|||jd�<||jd�|kr|||jd�<qW|r�|td�d	7}x4|D],}|d
tdd||�j	|||�d	7}q�W|s�dStd
�d|}|S)z�Parse the error string for 'interesting' errors which can
        be grouped, such as disk space issues.

        :param errstring: the error string
        :return: a string containing a summary of the errors
        �z9needs (\d+)(K|M)B(?: more space)? on the (\S+) filesystemr'�Mr�g�@�zDisk Requirements:r%z   z7At least {0}MB more space needed on the {1} filesystem.Nz
Error Summaryz
-------------
)
�re�compile�finditerr-r��mathZceilrr	rO)r3r?r@�pZdisk�mZ
size_in_mb�kr5r5r6r8s&
 
*zBase._trans_error_summarycCs|jjo|jjtj�S)N)r4Zhistory_recordr�r9r(r:)r3r5r5r6�_record_history%szBase._record_historycCs�d}|j�r�t|jj�}|jj�j�}|j|d�j�}|jj	�}|j
j�}|dk	rX|j}|dksh||kr�t
jtd�jtjjd��d}t|d�r�|jr�dj|j�}nt|d�r�|jr�dj|j�}|jjr�|jjnd}	|j
j||g||	�}|jj�r$tjd	�}
|
�r$ytj|
�Wnd	}
YnXt
jtjjd
�|j j|j!d�}t
jtjjd�|jj�rzytj|
�WnYnXtjj"|j |j#�|dk�r�n�t$|�d	k�r�dd
�|j D�}|�sfx&|j%�D]}
t
j&td�j|
���q�Wtd�}
tj'j(|
��nlt
j&td��x |D]}t
j&t)|d	���qW|j��rR|j j*t+j,��rR|j
j-|�td�}
tj'j(|
��xbdD]Z}t||��rlt.||�}yt/j0|�Wn.t1t2fk
�r�td�}
t
j&|
|�YnX�qlWt3|j#j4�|_5|j j*t+j,��s�|j6|j7�|S)zh
        Perform the RPM transaction.

        :return: history database transaction ID or None
        N)r�z RPMDB altered outside of {prog}.)r�r"r#r$rBrzRPM transaction start.zRPM transaction over.cSsg|]}|j�r|�qSr5)ZFailed)rZZelr5r5r6r\esz)Base._run_transaction.<locals>.<listcomp>zRPM: {}zCould not run transaction.zTransaction couldn't start:�	ts_all_fn�
ts_done_fnz$Failed to remove transaction file %s)rMrN)8rLrr4Zhistory_record_packagesr`rqr�r�rr1r�r0r2rMrNrrOrr�ZMAIN_PROG_UPPERr/r"r�r$�commentr3Z
reset_nicer��nicer�r#r�r�r!Z_sync_rpm_trans_with_swdbrrpr7r�rQrcr
r9r(r:r�getattrr
�unlink_fr��OSError�boolZinstall_setr,�_verify_transactionZverify_tsi_package)r3rr>Zusing_pkgs_pats�installed_queryZ
using_pkgs�rpmdbvZlastdbvr<rOZonice�errorsZfailedr�rUr[�fnr5r5r6r;)s~









zBase._run_transactioncs�dd�|jD�}t|����fdd�}tjjd�}d}tjj|�}|j�j�}t	dd�|D��}xH|j
jD]<}	|	j�}
x.|
j
�D]"}|j�|kr�|jd�|j�q�WqjWx|D]}||j|�}q�W|j�}
|j
j|
�|�d|_dS)	NcSsg|]}|jtjjkr|�qSr5)r(r�r�Z#TransactionItemAction_REASON_CHANGE)rZr*r5r5r6r\�sz,Base._verify_transaction.<locals>.<listcomp>cs |d7}�dk	r�||��|S)Nr�r5)r��count)�total�
verify_pkg_cbr5r6�display_banner�sz0Base._verify_transaction.<locals>.display_bannerzverify transactionrcSsg|]
}|j�qSr5)r�)rZr[r5r5r6r\�sT)r�rprr#r�r`�
rpmdb_sackrqr�rr�r-ZgetCompsGroupItemZgetPackagesZgetNameZsetInstalledr�r�r1rr+)r3r\Ztransaction_itemsr]r�rZr^r�namesZti�grIr*rWr5)r[r\r6rU�s(

zBase._verify_transactionc
sXtjj|jj|jj�}|���tj�}tdd�|D��}tdd�|D��}	�j	j
jdkrn�j	t|�||	d�n�j	t|�|�tjj
|||���j�r�tjj�j���t�fdd�|D��}
tjjd|�j�}|jj}|dk}
xԈjo�|
s�|dk�r�|dk�r|d	8}td
�}tj|�dd��jD�}�fdd�|D�}td
d�|D��}�j	t|�|�tjj
|||���j��r�tjj�j���|
t�fdd�|D��7}
tjj||i�}q�W�j�r�tjjj�j�}tj|�WdQRX|dk	�r�||
|�|\}}||k�rT||k�rtd�}n||k�r,td�}d||d}tj||d|d|�dS)Ncss|]}|jVqdS)N)�
download_size)rZ�ploadr5r5r6r�sz1Base._download_remote_payloads.<locals>.<genexpr>cSsg|]}t|tjj�r|�qSr5)r,r�drpmZDeltaPayload)rZZpayloadr5r5r6r\�sz2Base._download_remote_payloads.<locals>.<listcomp>�)Ztotal_drpmsc3s|]}�j|�VqdS)N)�_bandwidth_used)rZrb)rXr5r6r�srr�z,Some packages were not downloaded. Retrying.cSsg|]}|�qSr5r5)rZr�r5r5r6r\�scs g|]}tjj|�tjj��qSr5)rrS�_pkg2payload�
RPMPayload)rZr�)�progressr5r6r\�scss|]}|jVqdS)N)ra)rZrbr5r5r6r�sc3s|]}�j|�VqdS)N)re)rZrb)rXr5r6r�sz?Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)zIFailed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)�dir')rrii)rr�Zbuild_download_lockr4r�r�r��sumrpr�__code__�co_argcountrSZ_download_payloadsZ_irrecoverablerQZ
DownloadErrorZ_update_savingZ_recoverable�retriesrrMr�Z
errmap2str)r3�payloadsrcrh�callback_totalZ	fail_fastr�Zbeg_downloadZest_remote_sizeZ
total_drpmZremote_sizeZsavingrmZforeverr�Zremaining_pkgs�realZfullZpercentr5)rXrhr6�_download_remote_payloads�sb












zBase._download_remote_payloadsc	s�|j|�\}}|rz�dkr$tjj��tjj|jj�j��|j	j
��|jdd�|D����fdd�|D�}|j|��|�|j	j
r�xX|D]P}|jr�tjj|j�|jjd��}ntjj|jj|jjd��}tj||j	j
�q�WdS)aDownload the packages specified by the given list of packages.

        `pkglist` is a list of packages to download, `progress` is an optional
         DownloadProgress instance, `callback_total` an optional callback to
         output messages about the download operation.

        NcSsg|]}|j��qSr5)�localPkg)rZr�r5r5r6r\sz*Base.download_packages.<locals>.<listcomp>cs$g|]}tjj|��jtjj��qSr5)rrSrfZ
delta_factoryrg)rZr�)rcrhr5r6r\s�/)�_select_remote_pkgsrr!ZNullDownloadProgressrcZ	DeltaInfor`rqr�r4Zdeltarpm_percentager?rqr=Zbaseurlr�r�r�Zget_local_baseurl�location�lstriprSZpkgdir�shutil�copy)	r3Zpkglistrhro�remote_pkgsZ
local_pkgsrnr�rur5)rcrhr6�download_packages�s"	

zBase.download_packagescCs�g}|s|S|jj�r&tjjtd���g}x�|D]�}tjj|�rhd|krhtj	j
||j|�}|j|g�y|j
|jj|��Wq0tk
r�}ztj|�|j
|�WYdd}~Xq0Xq0W|jdd�|r�|r�ttd�jdj|����|S)NzACannot add local packages, because transaction job already existsz://T)rzzCould not open: {}r#)rZ
req_lengthrrQrcrr�r�r�r�Z_urlopen_progressr4r?rwr`Zadd_cmdline_packager�rMrdrrOr�)r3�	path_list�strictrh�pkgsZ
pkgs_errorr�rUr5r5r6�add_remote_rpmss(



 zBase.add_remote_rpmscCs|jr|jj}d}n|j|j}|j}|j}|�r|jj}tj	j
j|�}tj	jj
||j��}tjj|j��}~|dkr�d}	d}
n�|dkr�|r�d}	nd}	td�|}
n\|dkr�d}	td�|}
nB|dkr�|r�d}	nd}	d}	td�|}
n|d	k�rd}	td
�|}
nd}	d}
|	|
fS)a�Verify the GPG signature of the given package object.

        :param po: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        rrBr�r'z"Public key for %s is not installedzProblem opening package %srDz Public key for %s is not trustedrdzPackage %s is not signed)�
_from_cmdliner4Zlocalpkg_gpgcheckr^r~Zgpgcheck�gpgkeyrYrr(r��initReadOnlyTransactionZ	miscutilsZcheckSigrrr�r��basenamer)r3�po�checkZ	hasgpgkeyrS�rootrZ	sigresultZlocalfn�resultr�r5r5r6�_sig_check_pkg(sF

zBase._sig_check_pkgcCs
|j|�S)a�Verify the GPG signature of the given package object.

        :param pkg: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        )r�)r3r�r5r5r6�package_signature_checkcs
zBase.package_signature_checkc
Cslxf|D]^}tjj|�sqytj|�Wn&tk
rLtjtd�|�wYqXtj	t
jjtd�|�qWdS)NzCannot remove %sz
%s removed)
r�r�r�r
rRrSrMrdrr�rr#r�)r3�packagesrYr5r5r6r�rs

zBase._clean_packagesrhcCs�|dkr|jj}|dkr*|j|||||�Stjj|�s<t�tj|j||||d�}|dksft	|�dkrn|d�St
||�}tjdd�|�S)aRReturn a :class:`misc.GenericHolder` containing
        lists of package objects.  The contents of the lists are
        specified in various ways by the arguments.

        :param pkgnarrow: a string specifying which types of packages
           lists to produces, such as updates, installed, available,
           etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param showdups: whether to include duplicate packages in the
           lists
        :param ignore_case: whether to ignore case when searching by
           package names
        :param reponame: limit packages list to the given repository
        :return: a :class:`misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        N)�showdups�ignore_casermrcSs
|j|�S)N)Zmerge_lists)�a�br5r5r6r��sz(Base._do_package_lists.<locals>.<lambda>)r4Zshowdupesfromrepos�
_list_patternrr��is_string_type�AssertionErrorr��partialrp�mapr�)r3�	pkgnarrow�patternsr�r�rmZlist_fnZyghsr5r5r6�_do_package_listss

zBase._do_package_listsc&s���fdd���fdd�}�fdd�}tj|d�}g}	g}
g}g}g}
g}g}g}g}g}|}�jj�}|dk	r�tjj||d�}|j�jd	d
�}|dk�r�i}i}xH|j�D]<}|||j	<|r�q�|j
|jf}||ks�|||kr�|||<q�Wt||j
���}	||j��}|�s|jdd
�}x�|D]�}|�rN|j	|k�rB|j|�n
|
j|�nT|j
|jf}|j	|k�rr|j|�n0||k�s�|j||��r�|
j|�n
|j|��q W�n�|dk�r�||�jdd�}
�j|
dd�}
|
jddgd�|
j�j�}
�nP|dk�rt||j���}	�n2|dk�rB|�r�||�j�}|j�j�}x\|D]T��j
�jf}|j|g�}�fdd�|D�}t|�dk�r�|j��n
|
j���q@Wn�||�j�jdd
�j�}|j�j�j�}xz|D]r\} }!|| |!fd�|j| |!fdg�d}"|"�s
�j|"��r|
j��n"�j|"��r.|j��n
|j���q�W�n|dk�rh||�j�jj�}#|#j�}n�|dk�r��fdd�|j�D�}n�|dk�r|j�}$|�jj��j|$d�}�j|d	dd�}|jddgd�g}xl|D],��j}%|j�fdd�|$j|%d �D���q�Wn6|d!k�rD|j�}|�s2|jdd
�}||�j �j!j"�}|	|_|
|_||_#||_$|
|_%||_||_&||_"||_||_'|S)"Ncs�dkrdS�jj|��kS)z:Test whether given package originates from the repository.NT)r�rS)�package)rmr3r5r6�is_from_repo�sz(Base._list_pattern.<locals>.is_from_repocs�fdd�|D�S)z=Filter out the packages which do not originate from the repo.c3s|]}�|�r|VqdS)Nr5)rZr�)r�r5r6r�sz=Base._list_pattern.<locals>.pkgs_from_repo.<locals>.<genexpr>r5)r�)r�r5r6�pkgs_from_repo�sz*Base._list_pattern.<locals>.pkgs_from_repocs�dkr|S|j�d�S)z=Filter out the packages which do not originate from the repo.N)rm)r�)rq)rmr5r6�query_for_repo�sz*Base._list_pattern.<locals>.query_for_repo)�iter)r�F)rkrhT)Zlatest_per_arch_by_priority�upgrades)Zupgrades_by_priority)�upgrade�src�nosrc)�	arch__neqr�rcsg|]}|j�jkr|�qSr5)�evr)rZr�)�	avail_pkgr5r6r\sz&Base._list_pattern.<locals>.<listcomp>r�
autoremove�extrascsg|]}�|�r|�qSr5r5)rZr�)r�r5r6r\sr)Zobsoletes_by_priority)rdr�csg|]}�|f�qSr5r5)rZr=)�newr5r6r\.s)�provides�recent)(r
Z
GenericHolderr`rqrrsrtrvr�Zpkgtupr�r�rr�rrrrwZevr_gt�_merge_update_filters�latestrrr�rpZevr_eq�	_unneededr��swdbr�r�r�extendZ_recentr4r��reinstall_available�
old_available�updates�obsoletesTuplesr�)&r3r��patternr�r�rmr�r�Zyghr�rr�r�r�rr�r�r�r�Zicrr|ZdinstZndinstr��keyZavailr�Zinstalled_dict�installed_pkgsZsame_verZavailable_dictr�r�Zinst_pkgZautoremove_qrZobsoleted_reldepsr5)r�r�r�rmr3r6r��s�














zBase._list_patterncCs|j|7_t|�S)N)rrp)r3�transr5r5r6�_add_comps_transEszBase._add_comps_transcs�|j�}|sdS|j�jjdd�}|j�fdd�|D�d�}|j|�}x|D]}�jj|tjj	�qLW|j
|�}|j
|�}|r�x |D]}�jj|�j
jd�q�WdS)z�
        Mark to remove packages that are not required by any user installed package (reason group
        or user)
        :param query: dnf.query.Query() object
        NF)rbcs g|]}�jjj|j�r|�qSr5)r�r-Zis_removable_pkgr�)rZr[)r3r5r6r\Usz,Base._remove_if_unneeded.<locals>.<listcomp>)r�)�
clean_deps)r�Z_safe_to_remover�r�r��
differencer�r�r�Z TransactionItemReason_DEPENDENCY�intersectionr�eraser4�clean_requirements_on_remove)r3rqZ
unneeded_pkgsZunneeded_pkgs_historyZpkg_with_dependent_pkgsr�Zremove_packagesr5)r3r6�_remove_if_unneededIs




zBase._remove_if_unneededcs>�j}�jjd}�fdd�}�fdd�}dd�}�jj�jdd	�}|jtj|dd
�f|j	tj|dd
�f|j
|f|j|ff}x�|D]�\}}	x�|D]�}
d|
ji}|
j
r�|jd
|i��jj�jf|�j�}|jddgd�|�s|
j}
|
j
r�|
d|7}
tjtd�j|
��q�|	|||
�}�jjj|
j�q�Wq�W�j|�dS)Nr�cs,tjj�j�}|j|d��jj|d�|S)N)r�)�select)r�selector�Selectorr`rrr�)rq�remove_query�	comps_pkgr)r3r5r6�
trans_upgradegsz1Base._finalize_comps_trans.<locals>.trans_upgradecs��jjdkrr|js"�j||d�q�|j�j�}�j|�tjj	�j
�}|jdj|j
|j�d��jj||d�nltjj	�j
�}|jr�|jdj|j
|j�d�n,�jjr�|j�j
j�j|d��}|j|d��jj||d�|S)Nrh)r|z
({} if {}))r�)r��optional)r)r�)r4�multilib_policyZrequires�_install_multiarchr�rx�_report_already_installedrr�r�r`rrOr�r�installrrurqrr)rqr�r�r|rVr)r3r5r6�
trans_installms 
z1Base._finalize_comps_trans.<locals>.trans_installcSs|j|�}|S)N)ru)rqr�r�r5r5r6�trans_remove�s
z0Base._finalize_comps_trans.<locals>.trans_removeT)ri)r|Fr�r�r�r�)r��.zNo match for group package "{}")rr4rXr`rqrrr�r�r��install_optr�r�r�Zbasearchonlyr<rxrMrdrrOrZ
group_membersr�r�)r3r�r�r�r�r�r�Zattr_fn�attrrYr�Z
query_argsrZpackage_stringr5)r3r6rcs4

zBase._finalize_comps_transcs �fdd�}tjj�j�j|�S)NcsN�jj�j�j|d�}|sdSy�jjj|d�Stk
rHtj	j
SXdS)N)r�r)r`rqr�rrr�r(r��AttributeErrorr�r�ZTransactionItemReason_UNKNOWN)Zpkgnamer)r3r5r6�	reason_fn�sz+Base._build_comps_solver.<locals>.reason_fn)rrZSolverr�r)r3r�r5)r3r6r�s	zBase._build_comps_solvercCsXtjj|�st�|j�}t|t�s.tjj	|�}|j
|||p>t�||�}|sNdS|j|�S)a&Installs packages of environment group identified by env_id.
        :param types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        r)
rr�r�r�rr,r�r�r��listToCompsPackageTypeZ_environment_installrr�)r3�env_id�types�excluder|�exclude_groupsr r�r5r5r6�environment_install�s
zBase.environment_installcCs,tjj|�st�|j�}|j|�}|j|�S)N)rr�r�r�rZ_environment_remover�)r3r�r r�r5r5r6�environment_remove�s
zBase.environment_removec
s��fdd��tjj|�st�d}|rB�fdd�|D�}tjj|�}�j�}t|t	�s`t
jj|�}|j
||||�}|sxdS|r�|j}	n|j}	tjtd�||	��j|�S)anInstalls packages of selected group
        :param pkg_types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        :param exclude: list of package name glob patterns
            that will be excluded from install set
        :param strict: boolean indicating whether group packages that
            exist but are non-installable due to e.g. dependency
            issues should be skipped (False) or cause transaction to
            fail to resolve (True)
        cs6tjj|�r,�jj�j|d�}tdd�|�S|fSdS)N)�
name__globcSs|jS)N)r�)rIr5r5r6r��szABase.group_install.<locals>._pattern_to_pkgname.<locals>.<lambda>)rr��is_glob_patternr`rqrrr�)r�r)r3r5r6�_pattern_to_pkgname�sz/Base.group_install.<locals>._pattern_to_pkgnameNcsg|]}�|��qSr5r5)rZrI)r�r5r6r\�sz&Base.group_install.<locals>.<listcomp>rz#Adding packages from group '%s': %s)rr�r�r��	itertools�chain�
from_iterablerr,r�r�r�r�Z_group_installr�r�rMrNrr�)
r3�grp_idZ	pkg_typesr�r|Zexclude_pkgnamesZnested_excludesr r�Zinstlogr5)r�r3r6�
group_install�s$


zBase.group_installcCs�t|j|jtjtjBtj�}d}d}x�|D]�}	y|j|	�}
Wn:tjj	k
rv}zt
jt|��d}w*WYdd}~XnXx2|
j
D](}|s�||kr�||j||||d�7}q�Wx&|
jD]}
||j|
||||d�7}q�Wq*W|r�|r�tjjtd���|S)NrTF)r�r|)r�r|r�zNothing to do.)rrr��ENVIRONMENTS�GROUPS�	AVAILABLEr�rrQr�rMr5r
�groupsr��environmentsr�rcr)r3r�r�r|r�r�r�cnt�doner��res�errZgroup_idr�r5r5r6�env_group_install�s(

zBase.env_group_installcCs,tjj|�st�|j�}|j|�}|j|�S)N)rr�r�r�rZ
_group_remover�)r3r�r r�r5r5r6�group_removes
zBase.group_removecCs�t|j|jtjtjBtj�}y|j|�}WnFtjj	k
rp}z&t
jdt|��tjj
td���WYdd}~XnXd}x|jD]}||j|�7}q~Wx|jD]}||j|�7}q�W|S)NzWarning: %szNo groups marked for removal.r)rrr�r�r��	INSTALLEDr�rrQr�rMr5r
rcrr�r�r�r�)r3r�rr�r�r�r.�grpr5r5r6�env_group_removes

"zBase.env_group_removec
 CsLt|j|jtjtjBtj�}d}�x
|D�]}y|j|�}Wn6tjj	k
rr}zt
jt|��w(WYdd}~XnXxX|j
D]N}y|j|�d}Wq|tjj	k
r�}zt
jt|��w|WYdd}~Xq|Xq|WxZ|jD]P}y|j|�d}Wq�tjj	k
�r$}zt
jt|��w�WYdd}~Xq�Xq�Wq(W|�sHtd�}	tjj|	��dS)NFTzNo group marked for upgrade.)rrr�r�r�r�r�rrQr�rMr5r
r��environment_upgrader��
group_upgraderr�ZCliError)
r3r�rZgroup_upgradedr�r�r�r.r�r�r5r5r6�env_group_upgrades6



zBase.env_group_upgradecCs,tjj|�st�|j�}|j|�}|j|�S)N)rr�r�r�rZ_environment_upgrader�)r3r�r r�r5r5r6r�9s
zBase.environment_upgradecCs,tjj|�st�|j�}|j|�}|j|�S)N)rr�r�r�rZ_group_upgrader�)r3r�r r�r5r5r6r�@s
zBase.group_upgradecCs�|jjd}tjj|�rdS|jj}tjjj	|d�}|j
tjtjB�|j
dd�}t|�}~~|dkrldStjj|�}tjj|�s�tj|�t|d�}|j�~dSdS)	z�Checks for the presence of GPG keys in the rpmdb.

        :return: 0 if there are no GPG keys in the rpmdb, and 1 if
           there are keys
        z/.gpgkeyschecked.yumr�)r�r�z
gpg-pubkeyr�wN)r4r�r�r�r�rYrr(r�r�r��_RPMVSF_NOSIGNATURES�_RPMVSF_NODIGESTSZdbMatchrp�dirname�makedirs�openr9)r3ZgpgkeyscheckedrYZmyts�idx�keysZmydirZfor5r5r6�_gpg_key_checkGs&

zBase._gpg_key_checkc	Cs�|j|�\}}|j|�x~|D]v}tjj|j�}|jj�j|d�}|jj	rb|j
|jj�j|d��}|j|d�}|dk	r�|j|d�}|jj
||d�qWt|�S)N)r�)r)rm)r�r�)r	r�rr�r�r`rqrrr4rrurrr�rp)	r3rqrmr|�already_instrr�rrr5r5r6r�es

zBase._install_multiarchcCs,tj�}tj�}t||�t||�||fS)a�
        Categorize :param install and :param exclude list into two groups each (packages and groups)

        :param install: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :param exclude: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :return: categorized install and exclude specs (stored in argparse.Namespace class)

        To access packages use: specs.pkg_specs,
        to access groups use: specs.grp_specs
        )�argparseZ	Namespacer)r3r�r��
install_specs�
exclude_specsr5r5r6�_categorize_specsss


zBase._categorize_specscsddd�|jD���fdd�|jD�}|jj�j|d�}|jj�j�d�}|jj|�|jj|�dS)NcSsg|]}tjj|�r|�qSr5)rr�r�)rZr�r5r5r6r\�sz/Base._exclude_package_specs.<locals>.<listcomp>csg|]}|�kr|�qSr5r5)rZr�)�
glob_excludesr5r6r\�s)r�)r�)�	pkg_specsr`rqr�ry)r3r��excludesr}Zglob_exclude_queryr5)r�r6�_exclude_package_specs�szBase._exclude_package_specsc
Cs�t�}t|j|jtjtjBtjtjB�}x�|D]�}y|j|�}Wn8t	j
jk
rx}ztj
dt|��w.WYdd}~XnX|j|j�|j|j�x8|jD].}|jj|�}x|j�D]}	|j|	j�q�Wq�Wq.Wt|�S)NzWarning: Module or %s)rrrr�r�r�r�r�r�rrQr�rMr5r
r<r�r�Z_environment_by_idZgroups_iterr�rPr)
r3�group_specsr�rr�r�r�Zenvironment_idZenvironmentr-r5r5r6�_expand_groups�s"


zBase._expand_groupsc
Cs�x�|D]x}yL|jj}d|kr<|jd�}|d}|djd�}|j|g|||j|j�Wqtjjk
r||j	d|�YqXqWdS)Nrsrr��,�@)
r4Zgroup_package_types�splitr�r��	grp_specsrrQrcrw)r3r�r�Zskippedr|Z
group_specr�rr5r5r6�_install_groups�s

zBase._install_groupscCs�|dkrg}g}g}g}g}	|j||�\}
}|j|�xd|
jD]Z}y|j||||d�Wq>tjjk
r�}
ztjt	|
��|j
|�WYdd}
~
Xq>Xq>Wg}f}to�|
j�rLy tj
jj|�}|j|
j|�Wnxtjjk
�rH}
zV|
j�r
x|
jD]}|j
|�q�W|
j�r2x|
jD]}|j
d|��qW|
j}WYdd}
~
XnXn|
j}|�rv|j|j�|_|j||||�|�s�|�s�|�s�|	�s�|�r�tjj||||	|d��dS)N)rmr|�formsr)�no_match_group_specs�error_group_specs�no_match_pkg_specs�error_pkg_specs�module_depsolv_errors)r�r�r�r�rrQ�MarkingErrorrMr5r�rwrorrerfZ
ModuleBaseZ
MarkingErrorsrrrrr)r3r�r�rmr|rrrr	r
r�r��specrUZno_match_module_specsrrfZe_specr5r5r6r��sN
 zBase.install_specsc
Cs�tjj|�}|j|j|dd�}|jjdks4|j|�rr|d}|dk	rP|j|d�|sb|j	|||�|j
|||d�S|jjdkr�|j|||jj|d	|d
�}|s�|j	|||�x|D]}	|j
j|	|d�q�WdSd
S)z@Mark package(s) given by pkg_spec and reponame for installation.F)r�with_srcrhrqN)rm)rmr|rT)rrrm�reports�solution)r�r�r�r)rrsrt�get_best_solutionr`r4r�Z_is_arch_specifiedrr�_raise_package_not_found_errorr��_get_best_selectorsrrr�)
r3�pkg_specrmr|rr|rr�sltrsrr5r5r6r��s,
zBase.installcCs�|jrd}t|��|jj�j�j|j|jdgd�}|shtd�}t	j
||j�tjj
td�|j|j��n\t|�d|kr�tjj|j�}|j|gd�|jj||d�d	Std
�}t	j
||j�dSdS)Nz-downgrade_package() for an installed package.�noarch)r�r�z.Package %s not installed, cannot downgrade it.zNo match for argument: %sr)r�)r�r�r�zCPackage %s of lower version already installed, cannot downgrade it.)�_from_system�NotImplementedErrorr`rqr�rrr�r�rrMrdrrQrru�sortedr�r�rrr�)r3r�r|r�rrr5r5r6�package_downgrades  zBase.package_downgradecCs�|jj�j|j|j|j�}|j|�\}}||kr>|j|g�nT|tj	j
|�krdtjj
td�|j��n.tjj|j�}|j|gd�|jj||d�dS)NzNo match for argument: %s)r�)r�r�r�)r`rq�_nevrar�r�r�r	r�r�r�r�rrQ�PackageNotFoundErrorrrur�r�rrr�)r3r�r|rr�rrr5r5r6�package_installszBase.package_installcCsf|jj�j�j|j|j|jd�r0|jj|�dSt	d�}t
j|t|��t
jjt	d�|j|j��dS)N)r�r�r�r�z.Package %s not installed, cannot reinstall it.zNo match for argument: %s)r`rqr�rrr�r�r�rr�rrMrdr�rrQrru)r3r�r�r5r5r6�package_reinstall(s zBase.package_reinstallcCs|jj|�dS)Nr�)rr�)r3r�r5r5r6�package_remove0szBase.package_removecCs`|jrd}t|��|jdkr6td�}tj||j�dS|jj�j	�j
�}|jjr�|jj�j
|gd�j
|d�r�tjj|j�}|j|gd�|jj|d�dS|jd	kr�|j|jd
�}n|j|j|jd	gd�}|�std�}tj||j�tjjtd
�|j|j��nZt|�d|k�rBtjj|j�}|j|gd�|jj|d�dStd�}tj||j�dSdS)Nz+upgrade_package() for an installed package.r�z<File %s is a source package and cannot be updated, ignoring.r)r�)r)r�r�r)r�)r�r�z+Package %s not installed, cannot update it.zNo match for argument: %szHThe same or higher version of %s is already installed, cannot update it.r�)rrr�rrMr�rur`rqr�rxr4rrrrr�r�rrr�r�r�rdrQrr)r3r�r�r�rrr5r5r6�package_upgrade4s:
$
zBase.package_upgradec	Cs�|jj�j�}|j|jj�jdd�|D�d��}|j�}|rf|jj�j�j|j|j��d�}|j|�}|dk	rz|j|d�|j||dd�}|r�|j|j	�j
dd�|D�d��}tjj
|j�}|j|d	�|jj|d
�dS)NcSsg|]
}|j�qSr5)r�)rZr�r5r5r6r\\sz*Base._upgrade_internal.<locals>.<listcomp>)r�)r)rmT)rr�cSsg|]
}|j�qSr5)r�)rZr�r5r5r6r\xs)r�)r�r�)r`rqr�r�rrrrur�r�r�r�rr�r�rrr�)	r3rqrrmrZ
installed_allrrVrr5r5r6�_upgrade_internalYs "
 zBase._upgrade_internalc
Csttjj|�}|j|j�}|d}|�rZtjj|�}|oH|doH|dj�r*|dj}|jj�j	�j
�}|jjr||j
|d�n|jj�jdd�}	|	�s*|j
|d�j
�}
|
s�td�}tj||�tjjtd�||��nV|djo�tjj|dj��r*|
j|djd	��s*td
�}tj|dj||dj��|jj�oH|d�oH|dj�}|j||||�Stjjtd�||��dS)Nrq�nevra)rT)ri)r�z(Package %s available, but not installed.zNo match for argument: %s)r�z?Package %s available, but installed for different architecture.z{}.{})rrsrtrr`r�r�r�rqr�rxr4rr�rrrrMrdrQ�PackagesNotInstalledErrorr�rOZ
has_just_namer!r)
r3rrmr|rrZwildcard�pkg_namer�Z
obsoletersZinstalled_namer�rr5r5r6r�s0
& zBase.upgradecCs|j|jj�|jj|dd�S)N)r)r!r`rqr4r)r3rmr5r5r6�upgrade_all�szBase.upgrade_allcCs�|dkr|jj�nxtjj|�}|j|jdd�}|djtj	d�|j
|||jjdd�}|spt
jtd�|�dSx|D]}|jj|d	�qvWd
S)NF)rrq)�
reponame__neqT)rrrzNo package %s installed.r)r�r�)rZdistupgrade_allrrsrtrr`rrrKZSYSTEM_REPO_NAMErr4rrMr�rZdistupgrade)r3rrsrrrr5r5r6�distro_sync�s
zBase.distro_synccCs�t|||g�r�||7}d}|rF|rFx4|D]}td�}tj||�q(Wn|rX|j|�rXd}xX|D]P}y|j||d�Wn4tjjk
r�}	ztj	t
|	��WYdd}	~	Xq^Xd}q^W|s�tjtd��n4|jj�j
|jj|jjd�}
x|
D]}|j|�q�WdS)z�Removes all 'leaf' packages from the system that were originally
        installed as dependencies of user-installed packages but which are
        no longer required by any such package.FzNot a valid form: %sT)rNzNo packages marked for removal.)rb)�anyrrMrdr�r�rrQrr�r�r`rqr�r�r�r4rbr)r3rr�r�	filenamesr�Zgrp_specr�rrUr}r�r5r5r6r��s,


 
zBase.autoremovecsptjj|�j�j|d�}��fdd�|j�D�}|sB�j||���jj}x|D]}�j	j
||d�qPWt|�S)z'Mark the specified package for removal.)rcs(g|] }�dks �jj|��kr|�qS)N)r�rS)rZr�)rmr3r5r6r\�szBase.remove.<locals>.<listcomp>)r�)rrsrtrvr`r��"_raise_package_not_installed_errorr4r�rr�rp)r3rrmrr
r�r�r�r5)rmr3r6r��s
zBase.removecstjj|�}|j�j�}��fdd�|j�D�}|j�}	|dk	rL|	j|d�|dk	r`|	j|d�tjj	|	�}
|s�tj
jd||
j���d}�j
j}x\|D]T}
y|
t|
�}Wn*tk
r�|s�w��jj|
|d�YnX�jj|�|d7}q�W|dk�rtj
jd||��|S)	Ncs(g|] }�dks �jj|��kr|�qS)N)r�rS)rZr�)�old_reponamer3r5r6r\�sz"Base.reinstall.<locals>.<listcomp>)rm)r&zno package matchedr)r�r�)rrsrtrvr`r�rrrrqZ_per_nevra_dictrQr#r�r4r�r
�KeyErrorrr�r�ZPackagesNotAvailableError)r3rr+Znew_reponameZnew_reponame_neqZ	remove_nar|rr�Zavailable_qZavailable_nevra2pkgr�r�Z
installed_pkgZ
available_pkgr5)r+r3r6�	reinstall�s6


zBase.reinstallcCs
|j|�S)z�Mark a package to be downgraded.

        This is equivalent to first removing the currently installed package,
        and then installing an older version.

        )�downgrade_to)r3rr5r5r6�	downgrade	szBase.downgradec
Cstjj|�}|j|j�}|s6td�|}tjj||��d}|j�}t	|j
�j��}|jj�j
�j|d�}	t|	�dkr�td�|}tjj|||��xn|	j
�j�D]^}
|j�j|
d�}|s�td�}tj||
�q�tjj|j�}|j|d�|jj||d�d}q�W|S)	z�Downgrade to specific version if specified otherwise downgrades
        to one version lower than the package installed.
        zNo match for argument: %sr)r�z6Packages for argument %s available, but not installed.zDPackage %s of lowest version already installed, cannot downgrade it.)r�)r�r�r�)rrsrtrvr`rrQrrr�
_name_dictr�rqr�rrrpr#Z
downgradesr�rMrdr�r�rrr�)
r3rr|r|rr�r�Zavailable_pkgsZavailable_pkg_namesZq_installedr$Zdowngrade_pkgsrr5r5r6r.	s.zBase.downgrade_tocs�|jj�j�d�}|r |�gfStjj|j��}|r>|�gfS�jd�sR�jd�r^d�g}n&�jd�rr|�gfS�fdd�d
D�}|jj�j|d�|fS)N)Z
file__glob�/bin/�/sbin/z/usrrscsg|]}|��qSr5r5)rZ�prefix)�
provides_specr5r6r\E	sz!Base.provides.<locals>.<listcomp>�	/usr/bin/�
/usr/sbin/)r1r2r5r6)r`rqrrrZ_by_provides�
startswith)r3r4Z	providersZbinary_providesr5)r4r6r�6	s




z
Base.providesc
Cs�ddd�}||krtd��||}|rDd|}	|jj|	t��j|�|rfd|}	|jj|	t��j|�|r�d|}	|jj|	t��j|�|r�d|}	|jj|	t��j|�|r�d	|}	|jj|	t��j|�d
S)a�
        It modifies results of install, upgrade, and distrosync methods according to provided
        filters.

        :param cmp_type: only 'eq' or 'gte' allowed
        :param types: List or tuple with strings. E.g. 'bugfix', 'enhancement', 'newpackage',
        'security'
        :param advisory: List or tuple with strings. E.g.Eg. FEDORA-2201-123
        :param bugzilla: List or tuple with strings. Include packages that fix a Bugzilla ID,
        Eg. 123123.
        :param cves: List or tuple with strings. Include packages that fix a CVE
        (Common Vulnerabilities and Exposures) ID. Eg. CVE-2201-0123
        :param severity: List or tuple with strings. Includes packages that provide a fix
        for an issue of the specified severity.
        Z__eqgZ	__eqg__gt)�eqZgtez Unsupported value for `cmp_type`Z
advisory_type�advisoryZadvisory_bugZadvisory_cveZadvisory_severityN)r�r/�
setdefaultrr<)
r3Zcmp_typer�r9ZbugzillaZcvesZseverityZcmp_dictZcmpr�r5r5r6�add_security_filtersI	s&
zBase.add_security_filterscCs
i|_dS)z,
        Reset all security filters
        N)r/)r3r5r5r6�reset_security_filtersn	szBase.reset_security_filtersc
Cs>|jp
|js|r|S|jj�jdd�}|jrRx|jD]}|j|�}q8W|g|_|jr�x<|jj�D].\}}|rx|d}||i}	|j|jf|	��}qdW|j|�}|�s:|�r:|j	�}t
|j�j��}
|
dk�r:|dk�rt
d�j|
�}t
d�j|
�}tjt|||
��n2t
d�j||
�}t
d	�j||
�}tjt|||
��|S)
z�
        Merge Queries in _update_filters and return intersection with q Query
        @param q: Query
        @return: Query
        T)riZ	__upgraderNz3No security updates needed, but {} update availablez4No security updates needed, but {} updates availablez<No security updates needed for "{}", but {} update availablez=No security updates needed for "{}", but {} updates available)r/r.r`rqrrru�itemsr�r�r�rpr0r�rrOrMrdr	)
r3rrrdr�Zmerged_queriesrqZfilter_namer��kwargsrZZmsg1Zmsg2r5r5r6r�u	s>


zBase._merge_update_filtersc
s�jrtd�}t|���|j�j��j|jk}|r:gn�j}��fdd�}d}|jj�j��x |D�]}	t	j
j|	��}
�x|
D�]�}tj
|j|j|j�dkr�td�}tj||	|j�q�|jjr�t	jjj|j|j�}t	jjj|�}
tjt	jj||
��|	|_|jj�rt	j
j||
�nt	j
j |�d}|jj!�r:d}n�|jj"�r�|jj�r�|
t	jj#j$t	jj#j%fk�r�d}tjt	jj&td���nd}tjt	jj&td	���nd}n<|�r�|�|j|j|	|j'|jd
��}n|�r�|�|j|j�}|�s�d}q�|jj(t)j*�}|�r|jj+�}|jj,|t)j*�|jj-tj.|j��}|�rD|jj,|�|dk�rjtd�|}t	j/j0||���tjtd��d}q�WqhW|�r�|�r�t	j/j0td
���|�s�td��j1}t	j/j0||���|j2��\}}|dk�r|�r�td�}tj|�t3|�}t	j/j0||���dS)a�Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param po: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        z6Unable to retrieve a key for a commandline package: %scs0|td��d7}|td�dj�j�7}|S)Nz. Failing package is: %sz
 zGPG Keys are configured as: %sz, )rr�r�)r�)r�rSr5r6�_prov_key_data�	sz1Base._get_key_for_package.<locals>._prov_key_dataFrz)GPG key at %s (0x%s) is already installedTzThe key has been approved.zThe key has been rejected.)r��useridZhexkeyid�keyurl�fingerprint�	timestampzKey import failed (code %d)zKey imported successfullyzDidn't install any keysz�The GPG keys listed for the "%s" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.z+Import of key(s) didn't help, wrong key(s)?N)4rrr�r^r~rPr1r�r�rZcryptoZretriever
ZkeyInstalledr�Zrpm_idrCrMr�Zshort_idr4r�r�ZKeyInfoZfrom_rpm_key_objectr@Zraw_keyZDNSSECKeyVerificationZverifyZ
nice_user_msg�urlZlog_dns_key_importZlog_key_importZassumenoZ	assumeyesZValidityZVALIDZPROVEN_NONEXISTENCEZany_msgrBr9r(r:Z
getTsFlagsr�ZpgpImportPubkeyZ
procgpgkeyrQrcr�r�r
)r3r��askcb�	fullaskcbr�Z
key_installedZkeyurlsr?Zuser_cb_failrAr�r�Z
dns_input_keyZ
dns_resultZrcZ	test_flagZ
orig_flagsr��errmsgr5)r�rSr6�_get_key_for_package�	s�








zBase._get_key_for_packagecCs|j|||�dS)a�Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param pkg: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        N)rH)r3r�rErFr5r5r6�package_import_key$
szBase.package_import_keycCs4g}|jj�x |jj�D]}|jt|��qW|S)N)r�r�Zproblemsrwr
)r3�resultsZprobr5r5r6r45
s

zBase._run_rpm_check�w+bcKstjj||j||f|�S)z�
        Open the specified absolute url, return a file object
        which respects proxy setting even for non-repo downloads
        )rr�Z_urlopenr4)r3rDrS�moder>r5r5r6�urlopen@
szBase.urlopencCs,|dkr|jjtjd�}|j|jjd�}|S)N)r�)r�)rrqrKr�r�r4r�)r3rZinstallonlyr5r5r6r�H
szBase._get_installonly_querycCsrtjj|dd�}|j|jdddd�}|drn|drn|djrn||ddjkrntjtd�j	|ddj��dS)	NT)r�F)rjrkrlrqr"rz  * Maybe you meant: {})
rrsrtrr`r�rMr�rrO)r3rr|rr5r5r6�_report_icase_hintN
s

zBase._report_icase_hintcCs�dd�}g}g}x6|D].}|j�r:|jtjkrD|j|�q|j|�qWtd�}|||�sjtjjtd���|j	j
r�td�}|||�s�tjjtd���g}||fS)a Check checksum of packages from local repositories and returns list packages from remote
        repositories that will be downloaded. Packages from commandline are skipped.

        :param install_pkgs: list of packages
        :return: list of remote pkgs
        cSsxd}xn|D]f}d}y|j�}Wn0tk
rN}ztjt|��WYdd}~XnX|dk	r
tj|j||j��d}q
W|S)NTF)ZverifyLocalPkgrLrMr�r�rOrm)Zpkg_listZ
logger_msgZall_packages_verifiedr�Zpkg_successfully_verifiedrUr5r5r6�_verification_of_packages]
s
 z;Base._select_remote_pkgs.<locals>._verification_of_packagesz>Package "{}" from local repository "{}" has incorrect checksumz;Some packages from local repository have incorrect checksumz8Package "{}" from repository "{}" has incorrect checksumzVSome packages have invalid cache, but cannot be downloaded due to "--cacheonly" option)Z
_is_local_pkgrmrKZCMDLINE_REPO_NAMErwrrrQrcr4r�)r3Zinstall_pkgsrOryZlocal_repository_pkgsr�r�r5r5r6rtV
s&




zBase._select_remote_pkgscCsx|D]}t|�qWdS)N)�_msg_installed)r3r�r�r5r5r6r��
s
zBase._report_already_installedc	Cs�|jjtjd�}tjj|�}|j|j|d|d�}|dk	rH|dj|d�|dsdtj	j
td�|��nB|jjtjd�}|dj
|�}|r�td�}ntd�}tj	j
||��dS)	N)r�F)rrrqrq)rmzNo match for argumentz?All matches were filtered out by exclude filtering for argumentz?All matches were filtered out by modular filtering for argument)r`rqrKr�rrsrtrrrrQrrZIGNORE_REGULAR_EXCLUDESr�)	r3rrrm�	all_queryrsrZwith_regular_queryr�r5r5r6r�
s
z#Base._raise_package_not_found_errorc	s��jjtjd�j�}tjj|�}|j�j|d|d�}|dsNtj	j
td�|���dk	rp��fdd�|dD�}n|d}|s�td�}ntd	�}tj	j
||��dS)
N)r�F)rrrqrqzNo match for argumentcs g|]}�jj|��kr|�qSr5)r�rS)rZr�)rmr3r5r6r\�
sz;Base._raise_package_not_installed_error.<locals>.<listcomp>zCAll matches were installed from a different repository for argumentz?All matches were filtered out by exclude filtering for argument)r`rqrKr�r�rrsrtrrQr#r)	r3rrrmrQrsrr�r�r5)rmr3r6r*�
s
z'Base._raise_package_not_installed_errorcCs|jj|jdd�dS)z�
        Setup DNF file loggers based on given configuration file. The loggers are set the same
        way as if DNF was run from CLI.
        T)Zfile_loggers_onlyN)r$Z_setup_from_dnf_confr4)r3r5r5r6�
setup_loggers�
szBase.setup_loggerscs�|jjtjtjBtjB@r d}nd}t|j�}|j|dd�}|jf|�}|rl|rlt	j
j|j��}t
j|�t|jdd��}t|jdd��|}	dd���fdd�|D��t��fd	d�|D��}
t��fd
d�|	D��}|
|fS)z�returns set of conflicting packages and set of packages with broken dependency that would
        be additionally installed when --best and --allowerasingTF)rrZignore_weak)rcSstj|j|j|j|j|jd�S)N)r��epoch�version�releaser�)rKZNEVRAr�rSrTrUr�)�itemr5r5r6r�
sz&Base._skipped_packages.<locals>._nevracsg|]}�|��qSr5r5)rZr*)rr5r6r\�
sz*Base._skipped_packages.<locals>.<listcomp>csg|]}�|��kr|�qSr5r5)rZr�)r�transaction_nevrasr5r6r\�
scsg|]}�|��kr|�qSr5r5)rZr�)rrWr5r6r\�
s)rZactionsrK�INSTALLZUPGRADEZUPGRADE_ALLrr0rrr�rrrMrdr�problem_conflictsZproblem_broken_dependency)r3Zreport_problemsr�rZngZparamsrr�rYZproblem_dependencyZskipped_conflictsZskipped_dependencyr5)rrWr6�_skipped_packages�
s(


zBase._skipped_packages)N)F)F)TT)T)N)FFF)F)F)N)T)NN)TN)rhNNFN)N)NTN)NT)TNN)NT)T)NNTN)NTN)F)T)N)N)N)N)NNNN)NN)NNNF)F)NTF)NN)NN)NrK)N)��__name__�
__module__�__qualname__r7r8r:r;r?rV�staticmethodrrgrr��propertyrr4r^�deleterrr�Zlazyattrr�r`rar��setterr�r�r�r�r�r�r�r�r�r9r�r�r�r(ZRPMTRANS_FLAG_NOSCRIPTSZRPMTRANS_FLAG_NOTRIGGERSZRPMTRANS_FLAG_NODOCSr:ZRPMTRANS_FLAG_JUSTDBZRPMTRANS_FLAG_NOCONTEXTSZRPMTRANS_FLAG_NOFILEDIGESTr�r/r�r�r�r�r�r�r�r�r�rr	r
rrr!rAr8rLr;rUrqrzr~r�r�r�r�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�rrrrr r!r�r%r'r�r�r-r/r.r�r;r<r�rHrIr4rMr�rNrtr�rr*rRrZr5r5r5r6r[s�
	
=
	
8
;
>

=


	
'\
8l"]
*
B

;

)
=

*



/


%
&


#&
%)-rcCs t|�}td�}tj||�dS)Nz Package %s is already installed.)r
rrMr�)r�r�r�r5r5r6rP�
srP)H�__doc__Z
__future__rrrrr�rZlibdnf.transactionr�rxrZ	dnf.compsrZdnf.i18nrr	r
Zdnf.utilrZdnf.db.historyrZdnf.yumr
�collections.abcr�ImportError�collectionsr�Zdnf.callbackZdnf.confZ
dnf.conf.readZ
dnf.cryptoZ
dnf.dnssecZdnf.drpmZdnf.exceptionsZdnf.goalZdnf.historyZdnf.lockZdnf.loggingZdnf.module.module_baseroZ
dnf.persistorZ
dnf.pluginZ	dnf.queryZdnf.repoZdnf.repodictZdnf.rpm.connectionZdnf.rpm.miscutilsZdnf.rpm.transactionZdnf.sackZdnf.selectorZdnf.subjectZdnf.transactionZdnf.yum.rpmtransr�r�rKr�r#rHr�r�rEr(r�rwZ	getLoggerrM�objectrrPr5r5r5r6�<module>s�

PK!�FZ'&s�gg,__pycache__/transaction.cpython-36.opt-1.pycnu�[���3

�ft`-�@s�ddlmZddlmZddlZddlmZmZejj	Z
ejjZejj
ZejjZejjZejjZejjZejjZejjZejjZeZdZdZdZ dZ!d	Z"ejj
ejj	ejjejjejjgZ#ejjejjejjejjgZ$e
ed
d�eed�eed
d
�eed�eed�eed
d�eed�eed�eed
d�eed�eed�eed�e ed�e!ed�iZ%e
dededededededededededede de!diZ&dS) �)�absolute_import)�unicode_literalsN)�_�C_�e�f�g����Z	currentlyZDowngradingZCleanupZ
InstallingZ
ObsoletingZReinstallingZErasingZ	UpgradingZ	VerifyingzRunning scriptletZ	PreparingZ	DowngradeZ
DowngradedZ	InstalledZObsoleteZ	ObsoletedZ	ReinstallZReinstalledZEraseZUpgradeZUpgradedZVerified)'Z
__future__rrZlibdnf.transactionZlibdnfZdnf.i18nrrZtransactionZTransactionItemAction_DOWNGRADEZ
PKG_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZPKG_DOWNGRADEDZTransactionItemAction_INSTALLZPKG_INSTALLZTransactionItemAction_OBSOLETEZPKG_OBSOLETEZTransactionItemAction_OBSOLETEDZ
PKG_OBSOLETEDZTransactionItemAction_REINSTALLZ
PKG_REINSTALLZ!TransactionItemAction_REINSTALLEDZPKG_REINSTALLEDZTransactionItemAction_REMOVEZ
PKG_REMOVEZTransactionItemAction_UPGRADEZPKG_UPGRADEZTransactionItemAction_UPGRADEDZPKG_UPGRADEDZ	PKG_ERASEZPKG_CLEANUPZ
PKG_VERIFYZ
PKG_SCRIPTLETZTRANS_PREPARATIONZ
TRANS_POSTZFORWARD_ACTIONSZBACKWARD_ACTIONSZACTIONSZFILE_ACTIONS�rr�!/usr/lib/python3.6/transaction.py�<module>sp





PK!�FZ�`�x��#__pycache__/selector.cpython-36.pycnu�[���3

�ft`e�@s(ddlmZddlmZddlmZdS)�)�absolute_import)�unicode_literals)�SelectorN)Z
__future__rrZhawkeyr�rr�/usr/lib/python3.6/selector.py�<module>sPK!�FZ7��+��__pycache__/goal.cpython-36.pycnu�[���3

�ft`M�@s(ddlmZddlmZddlmZdS)�)�absolute_import)�unicode_literals)�GoalN)Z
__future__rrZhawkeyr�rr�/usr/lib/python3.6/goal.py�<module>sPK!�FZb��9�V�V%__pycache__/repo.cpython-36.opt-1.pycnu�[���3

i�-eLQ�@sFddlmZddlmZddlmZmZddlZddlZddl	Zddl
ZddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ dZ!ej"ej#dZ$dej%e$�ej&fZ'd	e'e!fd
e'e fdd�Z(ej)d
�Z*dd�Z+dd�Z,d-dd�Z-dd�Z.Gdd�de/�Z0Gdd�de1�Z2Gdd�dej3j4�Z5Gdd�de/�Z6Gdd �d ej7j8�Z9Gd!d"�d"ej3j:�Z;Gd#d$�d$e;�Z<Gd%d&�d&e;�Z=Gd'd(�d(ej3j:�Z>ej7j?j@ZAej7j?jBZCej7j?jDZEGd)d*�d*ej7jF�ZGGd+d,�d,ejHjI�Z?dS).�)�absolute_import)�unicode_literals)�ucd�_N�packagesZ
mirrorlistz-_.:z(?P<repoid>[%s]+)\-[%s]{16}z>^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$z^%s\/%s\/.+rpm$z^.+(solv|solvx)$)�metadatarZdbcache�dnfcCstjjj|�}|dkrdS|S)zAReturn index of an invalid character in the repo ID (if present).rN)�libdnf�repo�RepoZverifyId)Zrepo_idZ
first_invalid�r�/usr/lib/python3.6/repo.py�repo_id_invalidHsrcGs8x"|D]}|||�}|dk	r|SqWttd�|��dS)Nz"no matching payload factory for %s)�
ValueErrorr)�pkg�progressZ	factories�fn�ploadrrr
�_pkg2payloadOs


rTcCs�dd�}|jj�dd�t||d�D�}t�}ytjjjtjj|�|�Wn,t	k
rv}zt
|�|_WYdd}~XnX|j�|jj
�|_xj|D]b}|j�}|dks�|jd�r�q�|j�}	|	j}
|
j}|dkr�|jj|�q�|jjj�|g|j|<q�W|S)NcSst|d�S)NZdelta)�hasattr)�payloadrrr
�_download_sort_keyYsz._download_payloads.<locals>._download_sort_keycSsg|]}|j��qSr)�_librepo_target)�.0rrrr
�
<listcomp>]sz&_download_payloads.<locals>.<listcomp>)�keyzNot finishedzAlready downloaded)�err�clear�sorted�_DownloadErrorsr	r
�
PackageTargetZdownloadPackagesZVectorPPackageTarget�RuntimeError�str�_fatal�wait�copy�_recoverableZgetErr�
startswithZgetCallbacks�
package_ploadr�_skipped�add�_repoZexpire�_pkg_irrecoverable)�payloadsZdrpmZ	fail_fastrZtargets�errs�eZtgtr�	callbacksrrrrr
�_download_payloadsWs0

r1cCsL|\}}x:|D]2}|j}||kr,||j7}q||j7}||j7}qW||fS)N)r�
download_size�
_full_size)Zsavingr-r.�realZfullrrrrr
�_update_savingxs


r5c@s>eZdZdd�Zdd�Zedd��Zejdd��Zdd	�Zd
S)rcCsi|_i|_d|_t�|_dS)N)r,�_val_recoverabler#�setr))�selfrrr
�__init__�sz_DownloadErrors.__init__cCs"|jr|jS|jrd|jgiSiS)N�)r,r#)r8rrr
�_irrecoverable�s
z_DownloadErrors._irrecoverablecCs|jS)N)r6)r8rrr
r&�sz_DownloadErrors._recoverablecCs
||_dS)N)r6)r8Znew_dctrrr
r&�scCs|j|jkrdS|jS)Nr)rr)r2)r8rrrr
�_bandwidth_used�sz_DownloadErrors._bandwidth_usedN)	�__name__�
__module__�__qualname__r9r;�propertyr&�setterr<rrrr
r�s
rc@seZdZdd�ZdS)�_DetailedLibrepoErrorcCs,tj|�|jd|_|jd|_||_dS)Nr�)�	Exceptionr9�argsZlibrepo_codeZlibrepo_msg�
source_url)r8Zlibrepo_errrFrrr
r9�s
z_DetailedLibrepoError.__init__N)r=r>r?r9rrrr
rB�srBc@seZdZdd�ZdS)�_NullKeyImportcCsdS)NTr)r8�id�userid�fingerprint�url�	timestamprrr
�_confirm�sz_NullKeyImport._confirmN)r=r>r?rMrrrr
rG�srGc@s eZdZdd�Zedd��ZdS)�MetadatacCs
||_dS)N)r+)r8r
rrr
r9�szMetadata.__init__cCs
|jj�S)N)r+�fresh)r8rrr
rO�szMetadata.freshN)r=r>r?r9r@rOrrrr
rN�srNcs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	�PackageTargetCallbackscstt|�j�||_dS)N)�superrPr9r()r8r()�	__class__rr
r9�szPackageTargetCallbacks.__init__cCs|jjd||�dS)Nr)r(�_end_cb)r8�status�msgrrr
�end�szPackageTargetCallbacks.endcCs|jjd||�dS)Nr)r(�_progress_cb)r8�totalToDownload�
downloadedrrr
r�szPackageTargetCallbacks.progresscCs|jjd||�dS)Nr)r(�_mirrorfail_cb)r8rUrKrrr
�
mirrorFailure�sz$PackageTargetCallbacks.mirrorFailure)r=r>r?r9rVrr[�
__classcell__rr)rRr
rP�srPcsHeZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Zdd�Z	�Z
S)
�PackagePayloadcs$tt|�j|�t|�|_||_dS)N)rQr]r9rPr0r)r8rr)rRrr
r9�s
zPackagePayload.__init__cCsRtjj}|dkrtjj}n$|jd�r(dS|tjjjkr>tjj	}|j
j|||�dS)z"End callback to librepo operation.NzNot finished)r�callbackZ
STATUS_FAILEDZ	STATUS_OKr'r	r
�PackageTargetCBZTransferStatus_ALREADYEXISTSZSTATUS_ALREADY_EXISTSrrV)r8�cbdataZ	lr_statusrUrTrrr
rS�s

zPackagePayload._end_cbcCs|jj|tjj|�dS)N)rrVrr^Z
STATUS_MIRROR)r8r`rrKrrr
rZ�szPackagePayload._mirrorfail_cbcCsXy|jj||�Wn@tk
rRtj�\}}}tj|||�}tjdj|��YnXdS)Nr:)	rrD�sys�exc_info�	traceback�format_exception�logger�critical�join)r8r`�total�done�exc_type�	exc_value�
exc_traceback�except_listrrr
rW�szPackagePayload._progress_cbcCs|jS)N)r2)r8rrr
r3�szPackagePayload._full_sizecCs�|j}|j}tjj|�|d||j|j|jd�}|j|j	��t
jj|jj
|d|d|d|d|d|d|d	d
d
|j�S)NT)�dest�resumer`Z
progresscbZendcbZmirrorfailurecb�relative_urlrn�
checksum_type�checksum�expectedsize�base_urlror)r�pkgdirr�util�
ensure_dirrWrSrZ�update�_target_paramsr	r
r r+r0)r8rruZ
target_dctrrr
r�s 
zPackagePayload._librepo_target)r=r>r?r9rSrZrWr@r3rr\rr)rRr
r]�sr]c@s(eZdZdd�Zdd�Zedd��ZdS)�
RPMPayloadcCstjj|jj�S)N)�os�path�basenamer�location)r8rrr
�__str__szRPMPayload.__str__cCsT|j}|j�\}}tjjj|�}|tjjjkr>tjt	d�|�|j
|||j|jd�S)Nzunsupported checksum type: %s)rprqrrrsrt)
rZreturnIdSumr	r
r ZchecksumTypeZChecksumType_UNKNOWNre�warningrr~�downloadsize�baseurl)r8rZctypeZcsumZ
ctype_coderrr
ryszRPMPayload._target_paramscCs|jjS)zTotal size of the download.)rr�)r8rrr
r2szRPMPayload.download_sizeN)r=r>r?rryr@r2rrrr
rzsrzcs@eZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Z�Z	S)�RemoteRPMPayloadcs�tt|�jd|�||_d|_||_|jjp.d|jjjd�}t	j
|jd��j�dd�}d|}t
jj|jj|d�|_tjj|j�t
jj|j|j�jd	��|_dS)
NZ
unused_objectrr:Zbasearch�utf8�zcommandline-r�/)rQr�r9�remote_location�remote_size�confZ
releasever�
substitutions�get�hashlibZsha256�encodeZ	hexdigestr{r|rgZcachedirrurrvrwr�lstripZ
local_path)r8r�r�r�sZdigestZrepodir)rRrr
r9szRemoteRPMPayload.__init__cCstjj|j�S)N)r{r|r}r�)r8rrr
r)szRemoteRPMPayload.__str__cCs^||_y|jj||�Wn@tk
rXtj�\}}}tj|||�}tjdj	|��YnXdS)Nr:)
r�rrDrarbrcrdrerfrg)r8r`rhrirjrkrlrmrrr
rW,szRemoteRPMPayload._progress_cbcCs<tjj|jjtjj|j�|j	dddtjj
|j�ddd|j�S)NrT)r	r
r r��_configr{r|r}r�ru�dirnamer0)r8rrr
r5sz RemoteRPMPayload._librepo_targetcCs|jS)zTotal size of the download.)r�)r8rrr
r2;szRemoteRPMPayload.download_size)
r=r>r?r9rrWrr@r2r\rr)rRr
r�s
	r�cszeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	d
d��Z
e	dd��Zejdd��Zdd�Z
dd�Z�ZS)�	MDPayloadcs.tt|�j|�d|_d|_d|_t�|_dS)Nr:rF)rQr�r9�_text�_download_size�fastest_mirror_runningr7�mirror_failures)r8r)rRrr
r9Cs
zMDPayload.__init__cCstjjr|jS|jjd�SdS)Nzutf-8)r�pycompZPY3r�r�)r8rrr
rJszMDPayload.__str__cCs|jS)N)r�)r8rrr
�__unicode__PszMDPayload.__unicode__cCs||_|jj||�dS)N)r�r)r8r`rhrirrr
rWSszMDPayload._progress_cbcCs\|tjjjkr"td�|}d|_n*|tjjjkrH|jrH|rBd|nd}ndS|jj|�dS)Nz,determining the fastest mirror (%s hosts).. Tz
error: %s
zdone.
)	r	r
�RepoCBZFastestMirrorStage_DETECTIONrr�ZFastestMirrorStage_STATUSr�message)r8r`�stage�datarUrrr
�_fastestmirror_cbWszMDPayload._fastestmirror_cbcCs&|jj|�d||f}tj|�dS)Nzerror: %s (%s).)r�r*re�debug)r8r`rUrKrrrr
�_mirror_failure_cbcszMDPayload._mirror_failure_cbcCs|jS)N)r�)r8rrr
r2hszMDPayload.download_sizecCs|jS)N)�	_progress)r8rrr
rlszMDPayload.progresscCs|dkrtjj�}||_dS)N)rr^�NullDownloadProgressr�)r8rrrr
rps
cCs||_|jjdd�dS)NrCr)r�r�start)r8�textrrr
r�vszMDPayload.startcCsd|_|jj|dd�dS)Nr)r�rrV)r8rrr
rVzsz
MDPayload.end)r=r>r?r9rr�rWr�r�r@r2rrAr�rVr\rr)rRr
r�Asr�csLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�
RepoCallbackscs tt|�j�||_|j|_dS)N)rQr�r9r+�	_md_pload)r8r
)rRrr
r9�szRepoCallbacks.__init__cCs|jj|�dS)N)r�r�)r8Zwhatrrr
r��szRepoCallbacks.startcCs|jj�dS)N)r�rV)r8rrr
rV�szRepoCallbacks.endcCs|jjd||�dS)Nr)r�rW)r8rXrYrrr
r�szRepoCallbacks.progresscCs|jjd||�dS)N)r�r�)r8r�Zptrrrr
�
fastestMirror�szRepoCallbacks.fastestMirrorcCs|jjd|||�dS)Nr)r�r�)r8rUrKrrrr
�handleMirrorFailure�sz!RepoCallbacks.handleMirrorFailurecCs|jjj|||||�S)N)r+�_key_importrM)r8rHrIrJrKrLrrr
�
repokeyImport�szRepoCallbacks.repokeyImport)r=r>r?r9r�rVrr�r�r�r\rr)rRr
r��sr�cseZdZeZd7�fdd�	Zedd��Zedd��Zej	dd��Zed	d
��Z
dd�Ze
j	d
d
��Z
edd��Zedd��Z
e
j	dd��Z
dd�Zdd�Z�fdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd9d5d6�Z�ZS):rNcs�tt|�j||d�|jjj�tjj|r.|nd|j�|_t	t
jj��|_
t|�|_|jjj�|jj|j�d|_t�|_d|_|jj|r�|jr�tn|j�|r�|jj|j�t
jjj�|_|dk	r�|jnd|_dS)N)Zsection�parentr:T) rQrr9r��thisZdisownr	r
r+r�rr^r�r�r�Z
_callbacksZsetCallbacks�_pkgdirrGr�rZsetSyncStrategyZ	cacheonly�SYNC_ONLY_CACHE�DEFAULT_SYNCZsetSubstitutionsr�r�Z
SubstitutionsZ_substitutionsZcheck_config_file_ageZ_check_config_file_age)r8�nameZparent_conf)rRrr
r9�s
z
Repo.__init__cCs
|jj�S)N)r+ZgetId)r8rrr
rH�szRepo.idcCs
|jj�S)N)r+ZgetRepoFilePath)r8rrr
�repofile�sz
Repo.repofilecCs|jj|�dS)N)r+ZsetRepoFilePath)r8�valuerrr
r��scCs|jj�r|jj�S|j�S)N)r+ZisLocalZgetLocalBaseurl�cache_pkgdir)r8rrr
ru�s

zRepo.pkgdircCs$|jdk	r|jStjj|jj�t�S)N)r�r{r|rgr+�getCachedir�_PACKAGES_RELATIVE_DIR)r8rrr
r��s
zRepo.cache_pkgdircCs
||_dS)N)r�)r8�valrrr
ru�scCstjj|jj�d�S)NZpubring)r{r|rgr+r�)r8rrr
�_pubring_dir�szRepo._pubring_dircCs
|jj�S)N)r+ZgetLoadMetadataOther)r8rrr
�load_metadata_other�szRepo.load_metadata_othercCs|jj|�dS)N)r+ZsetLoadMetadataOther)r8r�rrr
r��scCs|j|jkS)N)rH)r8�otherrrr
�__lt__�szRepo.__lt__cCsd|jj|jfS)Nz<%s %s>)rRr=rH)r8rrr
�__repr__�sz
Repo.__repr__cstt|�j||�dS)N)rQr�__setattr__)r8r�r�)rRrr
r��szRepo.__setattr__cCs|jj�dS)N)r+�disable)r8rrr
r��szRepo.disablecCs|jj�dS)N)r+�enable)r8rrr
r��szRepo.enablecCs|jj|�dS)a/Ask for additional repository metadata type to download.

        Given metadata_type is appended to the default metadata set when
        repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: add_metadata_type_to_download("productid")
        N)r+ZaddMetadataTypeToDownload)r8�
metadata_typerrr
�add_metadata_type_to_download�s
z"Repo.add_metadata_type_to_downloadcCs|jj|�dS)aIStop asking for this additional repository metadata type
        in download.

        Given metadata_type is no longer downloaded by default
        when this repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: remove_metadata_type_from_download("productid")
        N)r+ZremoveMetadataTypeFromDownload)r8r�rrr
�"remove_metadata_type_from_downloadsz'Repo.remove_metadata_type_from_downloadcCs|jj|�S)z�Return path to the file with downloaded repository metadata of given type.

        Parameters
        ----------
        metadata_type: string
        )r+ZgetMetadataPath)r8r�rrr
�get_metadata_pathszRepo.get_metadata_pathcCs|jj|�S)z�Return content of the file with downloaded repository metadata of given type.

        Content of compressed metadata file is returned uncompressed.

        Parameters
        ----------
        metadata_type: string
        )r+ZgetMetadataContent)r8r�rrr
�get_metadata_content!s
zRepo.get_metadata_contentcCs�d}z�y|jj�}Wnttjjtfk
r�}zP|jjrhd|j}x|jjD]}|d|7}qJWt	j
|�tjj
t|���WYdd}~XnXWdt�|j_Xt|j�|_|S)a�Load the metadata for this repo.

        Depending on the configuration and the age and consistence of data
        available on the disk cache, either loads the metadata from the cache or
        downloads them from the mirror, baseurl or metalink.

        This method will by default not try to refresh already loaded data if
        called repeatedly.

        Returns True if this call to load() caused a fresh metadata download.

        Fz7Errors during downloading metadata for repository '%s':z
  - %sN)r+�loadr	�error�Errorr!r�r�rHrer�r�
exceptionsZ	RepoErrorr"r7rNr)r8�retr/rUZfailurerrr
r�-s

&z	Repo.loadcCsP|js|jjd�|jrL|jdkr&dS|jj�}|jj�rDtd|�}d|fSdS)	a)Get the number of seconds after which the cached metadata will expire.

        Returns a tuple, boolean whether there even is cached metadata and the
        number of seconds it will expire in. Negative number means the metadata
        has expired already, None that it never expires.

        FrCTNr���)TN)Fr)rr+Z	loadCacheZmetadata_expireZgetExpiresInZ	isExpired�min)r8Z
expirationrrr
�_metadata_expire_inJs



zRepo._metadata_expire_incCs
||_dS)N)r�)r8Z
key_importrrr
�_set_key_import]szRepo._set_key_importcCs||j_dS)N)r�r)r8rrrr
�set_progress_bar`szRepo.set_progress_barcCs
|jj�S)zoReturns user defined http headers.

        Returns
        -------
        headers : tuple of strings
        )r+ZgetHttpHeaders)r8rrr
�get_http_headersdszRepo.get_http_headerscCs|jj|�dS)aSets http headers.

        Sets new http headers and rewrites existing ones.

        Parameters
        ----------
        headers : tuple or list of strings
            Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"])
        N)r+ZsetHttpHeaders)r8Zheadersrrr
�set_http_headersnszRepo.set_http_headers�http�ftp�file�httpscs@��fdd�}�sdS|jj�}|r,||�S|jr<||j�SdS)z�
        :param location: relative location inside the repo
        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: absolute url (string) or None
        csZxT|D]L}�r>tjjj|�d}|�krRtjj|�jd��Sqtjj|�jd��SqWdS)Nrr�)rr�Zurlparser{r|rgr�)Zurl_listrKr�)r~�schemesrr
�schemes_filter�s
z,Repo.remote_location.<locals>.schemes_filterN)r+Z
getMirrorsr�)r8r~r�r�Zmirrorsr)r~r�r
r�{s

zRepo.remote_location)NN�r�r�r�r�)r�)r=r>r?�SYNC_TRY_CACHEr�r9r@rHr�rArur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r\rr)rRr
r�s6


r)T)JZ
__future__rrZdnf.i18nrrZdnf.callbackrZdnf.confZdnf.conf.substitutionsZ	dnf.constZ
dnf.cryptoZdnf.exceptionsZdnf.loggingZ
dnf.pycompZdnf.utilZdnf.yum.miscZlibdnf.errorr	Zlibdnf.repo�	functoolsr�ZhawkeyZlogging�operatorr{�reZshutil�stringraZtimercr�Z_MIRRORLIST_FILENAMEZ
ascii_lettersZdigitsZ
_REPOID_CHARS�escapeZ	hexdigitsZ_CACHEDIR_REZCACHE_FILESZ	getLoggerrerrr1r5�objectrrDrBr^Z	KeyImportrGrNr
r_rPZPayloadr]rzr�r�rZSyncStrategy_LAZYZ	SYNC_LAZYZSyncStrategy_ONLY_CACHEr�ZSyncStrategy_TRY_CACHEr�r�r�r�ZRepoConfrrrr
�<module>sl




!
8&?


PK!�FZ�r惤�%__pycache__/drpm.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZddlZddlZdZejd�ZGd	d
�d
e
jj�ZGdd�de�ZdS)
�)�absolute_import)�unicode_literals)�hexlify)�unlink_f)�_Nz/usr/bin/applydeltarpm�dnfcsXeZdZ�fdd�Zdd�Z�fdd�Zdd�Zed	d
��Zedd��Z	d
d�Z
�ZS)�DeltaPayloadcs"tt|�j||�||_||_dS)N)�superr�__init__�
delta_info�delta)�selfrr�pkg�progress)�	__class__��/usr/lib/python3.6/drpm.pyr
)szDeltaPayload.__init__cCstjj|jj�S)N)�os�path�basenamer�location)r
rrr�__str__.szDeltaPayload.__str__cs2tt|�j|||�|tjjjkr.|jj|�dS)N)	r	r�_end_cb�libdnf�repoZPackageTargetCBZTransferStatus_ERRORr�enqueue)r
ZcbdataZ	lr_status�msg)rrrr1szDeltaPayload._end_cbcCsh|j}|j\}}tj|�}t|�j�}tjjj	|�}|tjjj
krRtjt
d�|�|j|||j|jd�S)Nzunsupported checksum type: %s)Zrelative_urlZ
checksum_typeZchecksumZexpectedsizeZbase_url)r�chksum�hawkeyZchksum_namer�decoderrZ
PackageTargetZchecksumTypeZChecksumType_UNKNOWN�loggerZwarningrr�downloadsizeZbaseurl)r
rZctypeZcsumrZ
ctype_coderrr�_target_params6s

zDeltaPayload._target_paramscCs|jjS)N)rr!)r
rrr�
download_sizeHszDeltaPayload.download_sizecCs|jjS)N)rr!)r
rrr�
_full_sizeLszDeltaPayload._full_sizecCs$|jj}tjj|jjjtjj|��S)N)	rrrr�joinrrZpkgdirr)r
rrrr�localPkgPszDeltaPayload.localPkg)�__name__�
__module__�__qualname__r
rrr"�propertyr#r$r&�
__classcell__rr)rrr(src@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�	DeltaInfoNcCs�d|_tjttj�rd|_ytjd�|_Wnttfk
rHd|_YnX|dkrbt	j
j�j|_n||_||_
||_g|_i|_i|_dS)z�A delta lookup and rebuild context
           query -- installed packages to use when looking up deltas
           progress -- progress obj to display finished delta rebuilds
        FT�SC_NPROCESSORS_ONLN�N)�deltarpm_installedr�access�
APPLYDELTA�X_OK�sysconf�
deltarpm_jobs�	TypeError�
ValueErrorrZconfZConf�deltarpm_percentage�queryr�queue�jobs�err)r
r8rr7rrrr
VszDeltaInfo.__init__cCs�|js
dS|jjs|jr dS|j�r,dStjj|j��r@dS|j	|jd}d}x@|j
j|j|j
d�D](}|j|j�}|rj|j|krj|j}|}qjW|r�t||||�SdS)z&Turn a po to Delta RPM po, if possibleN�d)�name�arch)r/rZdeltarpmr7Z
_is_local_pkgrr�existsr&Z_sizer8�filterr=r>Zget_delta_from_evrZevrr!r)r
ZporZbestZ
best_deltaZiporrrr�
delta_factoryms$zDeltaInfo.delta_factorycCs�tjtjjd||d?|d@�|jj|�}|j}|dkrXt|jj	��t
d�g|j|<nB|jj�stt
d�g|j|<n&t
j|j	��|jj|tjjt
d��dS)Nzdrpm: %d: return code: %d, %d��rzDelta RPM rebuild failedz(Checksum of the delta-rebuilt RPM failed�done)r �logr�logging�SUBDEBUGr:�poprrr&rr;ZverifyLocalPkgr�unlinkr�end�callbackZSTATUS_DRPM)r
�pid�code�ploadrrrr�job_done�s
zDeltaInfo.job_donecCs`ttd|jj|j�|jj�g}tjtjf|��}tjt	j
jd|dj|dd���||j
|<dS)Nz-azdrpm: spawned %d: %s� �)r1rr>r&r�spawnl�P_NOWAITr rErrFrGr%r:)r
rNZ
spawn_argsrLrrr�	start_job�szDeltaInfo.start_jobcCspx.|jr.tjdtj�\}}|s P|j||�qW|jj|�x.t|j�|jkrj|j	|jj
d��|js>Pq>WdS)NrQr���)r:r�waitpid�WNOHANGrOr9�append�lenr4rTrH)r
rNrLrMrrrr�szDeltaInfo.enqueuecCs@x:|jr:tj�\}}|j||�|jr|j|jjd��qWdS)z!Wait until all jobs have finishedrN)r:r�waitrOr9rTrH)r
rLrMrrrrZ�s
zDeltaInfo.wait)N)	r'r(r)r
rArOrTrrZrrrrr,Us


r,)Z
__future__rrZbinasciirZdnf.yum.miscrZdnf.i18nrZdnf.callbackrZdnf.loggingZdnf.reporrFZlibdnf.reporrr1Z	getLoggerr rZPackagePayloadr�objectr,rrrr�<module>s
-PK!�FZf獖*'*'(__pycache__/package.cpython-36.opt-1.pycnu�[���3

�ft`�+�@s�dZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZddlZ
ddlZ
ddlZddlZddlZejd�ZGdd�dej�ZdS)	z! Contains the dnf.Package class. �)�absolute_import)�unicode_literals)�_N�dnfcs�eZdZdZdZdZ�fdd�Ze�fdd��Zej	dd��Zed	d
��Z
edd��Zed
d��Zedd��Z
edd��Ze�fdd��Zej	dd��Zedd��Zedd��Zedd��Zedd��Zdd�Zed d!��Zed"d#��Zed$d%��Zed&d'��Zed(d)��Zej	d*d)��Zed+d,��Zed-d.��Zed/d0��Zed1d2��Zed3d4��Zed5d6��Zed7d8��Z d9d:�Z!d;d<�Z"d=d>�Z#d?d@�Z$dAdB�Z%dRdGdH�Z&dIdJ�Z'edKdL��Z(dMdN�Z)dOdP�Z*�Z+S)S�Packagez Represents a package. #:api z
-debuginfoz-debugsourcecs,tt|�j|�||_d|_d|_d|_dS)N)�superr�__init__�base�_priv_chksum�_repo�
_priv_size)�selfZ
initobjectr	)�	__class__��/usr/lib/python3.6/package.pyr0s
zPackage.__init__cs�|jr|jS|jr~tjjj�}ytjj||j	�}Wn6tj
jk
rh}ztjj
t|���WYdd}~XnXtj|�tj|�fStt|�jS)N)r
�
_from_cmdlinerZyumZmiscZget_default_chksum_type�libdnf�utilsZchecksum_value�location�error�Error�
exceptions�	MiscError�str�hawkey�chksum_type�binasciiZ	unhexlifyrr�chksum)r
rZ
chksum_val�e)rrr�_chksum7s"zPackage._chksumcCs
||_dS)N)r
)r
�valrrrrEscCs|jtjkS)N)�reponamerZCMDLINE_REPO_NAME)r
rrrrIszPackage._from_cmdlinecCs|jtjkS)N)r!r�SYSTEM_REPO_NAME)r
rrr�_from_systemMszPackage._from_systemcCs*d}|jr|jjj|�}|r$d|S|jS)a9
        For installed packages returns id of repository from which the package was installed
        prefixed with '@' (if such information is available in the history database). Otherwise
        returns id of repository the package belongs to (@System for installed packages of unknown
        origin)
        N�@)r#r	�history�repor!)r
Zpkgreporrr�
_from_repoQszPackage._from_repocCs|jr|jjj|�SdS)N�)r#r	r%r&)r
rrr�	from_repo`szPackage.from_repocCstjj|j��S)z�
        Returns the header of a locally present rpm package file. As opposed to
        self.get_header(), which retrieves the header of an installed package
        from rpmdb.
        )r�rpm�_header�localPkg)r
rrrr+gszPackage._headercs|jr|jStt|�jS)N)rrr�size)r
)rrr�_sizepsz
Package._sizecCs
||_dS)N)r)r
r rrrr.vscCs"|jdkrdS|j\}}tj|�S)N)Z
hdr_chksumr�hexlify)r
rrrrr�_pkgidzs

zPackage._pkgidcCs4|jdk	r,tjj|jd�}|jdd�d}nd}|S)zO
        returns name of source package
        e.g. krb5-libs -> krb5
        Nz.src.rpm�-�r)Z	sourcerpmr�utilZrtrim�rsplit)r
Zsrcnamerrr�source_name�s

zPackage.source_namecCsF|jj|j�r|jS|j}|jj|j�r<|dt|j��}||jS)a)
        Returns name of the debuginfo package for this package.
        If this package is a debuginfo package, returns its name.
        If this package is a debugsource package, returns the debuginfo package
        for the base package.
        e.g. kernel-PAE -> kernel-PAE-debuginfo
        N)�name�endswith�DEBUGINFO_SUFFIX�DEBUGSOURCE_SUFFIX�len)r
r6rrr�
debug_name�s
zPackage.debug_namecCs |jdk	r|jn|j}||jS)zv
        Returns name of the debugsource package for this package.
        e.g. krb5-libs -> krb5-debugsource
        N)r5r6r9)r
�src_namerrr�debugsource_name�szPackage.debugsource_namecCsN|js
dSyt|jjjtj|j��Stk
rHt	j
jdt|���YnXdS)a`
        Returns the rpm header of the package if it is installed. If not
        installed, returns None. The header is not cached, it is retrieved from
        rpmdb on every call. In case of a failure (e.g. when the rpmdb changes
        between loading the data and calling this method), raises an instance
        of PackageNotFoundError.
        Nz4Package not found when attempting to retrieve header)
r#�nextr	Z_tsZdbMatchr*ZRPMDBI_PACKAGES�rpmdbid�
StopIterationrrZPackageNotFoundErrorr)r
rrr�
get_header�szPackage.get_headercCs |jdk	r|jn|j}||jS)z�
        returns name of debuginfo package for source package of given package
        e.g. krb5-libs -> krb5-debuginfo
        N)r5r6r8)r
r<rrr�source_debug_name�szPackage.source_debug_namecCs
t|j�S)z: Always type it to int, rpm bindings expect it like that. )�intr?)r
rrr�idx�szPackage.idxcCs|jS)N)r!)r
rrr�repoid�szPackage.repoidcCs|j|jt|j�|j|jfS)N)r6�archrr�v�r)r
rrr�pkgtup�szPackage.pkgtupcCs|jr|jS|jj|jS)N)rr	Zreposr!)r
rrrr&�szPackage.repocCs
||_dS)N)r)r
r rrrr&�scCs |jtjkrdS|jjjj|�S)N)rErr"r	r%r*Zget_reason_name)r
rrr�reason�szPackage.reasoncCs|jS)N)r)r
rrr�relativepath�szPackage.relativepathcCs|jS)N)rF)r
rrr�a�sz	Package.acCs|jS)N)Zepoch)r
rrrr�sz	Package.ecCs|jS)N)�version)r
rrrrG�sz	Package.vcCs|jS)N)�release)r
rrrrH�sz	Package.rcCs|jS)N)r!)r
rrr�ui_from_reposzPackage.ui_from_repocCs|j|�dkS)Nr)�evr_cmp)r
�pkgrrr�evr_eqszPackage.evr_eqcCs|j|�dkS)Nr)rP)r
rQrrr�evr_gt	szPackage.evr_gtcCs|j|�dkS)Nr)rP)r
rQrrr�evr_lt
szPackage.evr_ltcCs|jS)N)Zmedianr)r
rrr�
getDiscNumszPackage.getDiscNumcCsr|jr|jS|j}|jjj�rH|jrH|jjd�rHtjj	|j
�|jd��S|j�s\tjj
|�}tjj	|j|jd��S)z� Package's location in the filesystem.

            For packages in remote repo returns where the package will be/has
            been downloaded.
        zfile://�/)rrr&r�isLocal�baseurl�
startswith�os�path�joinZget_local_baseurl�lstrip�
_is_local_pkg�basename�pkgdir)r
�locrrrr,szPackage.localPkg�http�ftp�file�httpscCs |js|jrdS|jj|j|�S)a
        The location from where the package can be downloaded from. Returns None for installed and
        commandline packages.

        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: location (string) or None
        N)r#rr&�remote_locationr)r
Zschemesrrrrf$s	zPackage.remote_locationcCsL|jr
dSd|jkr&|jjd�r&dS|jpJ|jjj�oJ|jpJ|jjd�S)NTz://zfile://F)r#rrYrr&rrWrX)r
rrrr^1szPackage._is_local_pkgcCs,|jjj�r |j�r |jj�S|jjSdS)N)r&rrWr^Zcache_pkgdirr`)r
rrrr`:s
zPackage.pkgdircCs0|jdkrdS|j\}}tj|�tj|�j�fS)z] Return the chksum type and chksum string how the legacy yum expects
            it.
        N)NN)rrZchksum_namerr/�decode)r
rrrrr�returnIdSumBs

zPackage.returnIdSumcCst|jrtd��|jrdS|j�\}}ytjj||j�|�Stjj	k
rn}zt
jjt
|���WYdd}~XnXdS)Nz$Can not verify an installed package.T)r#�
ValueErrorrrhrrZchecksum_checkr,rrrrrr)r
rrrrrr�verifyLocalPkgLszPackage.verifyLocalPkg�rbrcrdre)rk),�__name__�
__module__�__qualname__�__doc__r8r9r�propertyr�setterrr#r'r)r+r.r0r5r;r=rArBrDrErIr&rJrKrLrrGrHrOrRrSrTrUr,rfr^r`rhrj�
__classcell__rr)rrr*sR	

	
r)roZ
__future__rrZdnf.i18nrrZdnf.exceptionsrZdnf.rpmZdnf.yum.miscrZlibdnf.errorrZlibdnf.utilsZloggingrZr*Z	getLoggerZloggerrrrrr�<module>s
PK!�FZ6�!(__pycache__/subject.cpython-36.opt-1.pycnu�[���3

�ft`~�@s4ddlmZddlmZddlmZddlmZdS)�)�absolute_import)�print_function)�unicode_literals)�SubjectN)Z
__future__rrrZhawkeyr�rr�/usr/lib/python3.6/subject.py�<module>sPK!�FZ�����5�5%__pycache__/base.cpython-36.opt-1.pycnu�[���3

i�-e���@sXdZddlmZddlmZddlmZddlmZddlZddlZddlZ	ddl
mZddlm
Z
dd	lmZmZmZdd
lmZddlmZddlmZydd
lmZWn ek
r�dd
lmZYnXddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zyddl(ZdZ)Wnek
�r`dZ)YnXddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4Zddl5ZddlZddl6Zddl7Z7ddl8Z8ddl9Z9ddl:Z:ddl;Z;ddl<Z<ddl=Z=ddl>Z>ddl?Z?ddl@Z@ddlAZAddlBZBe;jCd�ZDGdd�deE�ZFdd�ZGdS)z
Supplies the Base class.
�)�absolute_import)�division)�print_function)�unicode_literalsN)�deepcopy)�
CompsQuery)�_�P_�ucd)�_parse_specs)�
SwdbInterface)�misc)�SequenceTF�dnfc@s�eZdZd�dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Ze	dd��Z
dd�Zd�dd�Zdd�Z
edd��Zedd��Zedd��Zejdd��Zeejjd�dd ���Zed!d"��Zed#d$��Zed%d&��Zejd'd&��Zd(d)�Zffdfd*d+�Zd,d-�Zd.d/�Zd0d1�Zd�d2d3�Z d�d5d6�Z!d�d7d8�Z"d9d:�Z#d;d<�Z$d�d=d>�Z%d�d?d@�Z&dAdB�Z'e(j)e(j*e(j+e(j,e(j-e(j.e(j/dC�Z0e1e(dD��r�e(j2e0dE<dFe(j3e(j4BiZ5edGdH��Z6edIdJ��Z7e7jdKdJ��Z7d�dLdM�Z8dNdO�Z9edPdQ�dRdQ�dSdQ�dTdU�Z:dVdW�Z;dXdY�Z<dZd[�Z=d\d]�Z>d^d_�Z?d�d`da�Z@ffdbdc�ZAddde�ZBdfdg�ZCdhdi�ZDd�djdk�ZEd�dldm�ZFd�dndo�ZGd�dpdq�ZHdrds�ZIdtdu�ZJdvdw�ZKd�dydz�ZLd�d{d|�ZMd}d~�ZNdd��ZOd�d��ZPd�d��ZQd�d�d��ZRd�d��ZSd�d�d��ZTd�d�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d�d��Z\d�d��Z]d�d��Z^d�d��Z_d�d�d��Z`d�d�d��Zad�d�d��Zbd�d�d��Zcd�d�d��Zdd�d��Zed�d��Zfd�d��Zgd�d�d��Zhd�d�d��Zid�d�d��Zjd�d�d��Zk�dd�d��Zl�dd�d��Zm�dd�d��Znd�d��Zo�dd�d„Zpd�dĄZqffffffd�dƄZrd�dȄZs�dd�dʄZt�dd�d̄Zu�dd�d΄Zvd�dЄZw�dd�dӄZx�dd�dՄZyd�dׄZzd�dلZ{d�dۄZ|d�d݄Z}d�d߄Z~d�d�Zd�d�Z�dS(	�BaseNcCs�d|_|p|j�|_d|_d|_d|_d|_d|_d|_t	j
j�|_d|_
t�|_t�|_t	jj�|_t	jj�|_t	jj�|_ttjg�|_t	jj�|_d|_ d|_!d|_"g|_#i|_$d|_%t�|_&d|_'dS)NF)(�_closed�_setup_default_conf�_conf�_goal�_repo_persistor�_sack�_transaction�_priv_ts�_compsr�comps�TransactionBunch�_comps_trans�_history�set�
_tempfiles�_trans_tempfiles�callbackZDepsolve�_ds_callback�loggingZLogging�_logging�repodict�RepoDict�_repos�rpmZRPMPROB_FILTER_OLDPACKAGE�_rpm_probfilterZpluginZPlugins�_plugins�_trans_success�_trans_install_set�_tempfile_persistor�_update_security_filters�_update_security_options�_allow_erasing�_repo_set_imported_gpg_keys�output)�self�conf�r5�/usr/lib/python3.6/base.py�__init__]s2z
Base.__init__cCs|S)Nr5)r3r5r5r6�	__enter__zszBase.__enter__cGs|j�dS)N)�close)r3Zexc_argsr5r5r6�__exit__}sz
Base.__exit__cCs|j�dS)N)r9)r3r5r5r6�__del__�szBase.__del__cCs.|jr|jj|�n|jjrn|jj|�dS)N)rr �updater4�destdirr)r3�filesr5r5r6�_add_tempfiles�s
zBase._add_tempfilescCs�|j�td|jdd�}|jr&d|d<y|jj|jfddi|��WnTtjk
r�}z6t	j
td�j|j
|��tjjtd�j|j
���WYdd}~XnXdS)NT)�load_filelists�load_presto�load_updateinfo�
load_other�build_cachezloading repo '{}' failure: {}z"Loading repository '{}' has failed)�load�dict�deltarpm�load_metadata_otherr�	load_repo�_repo�hawkey�	Exception�logger�debugr�format�idr�
exceptions�	RepoError)r3�repo�mdload_flags�er5r5r6�_add_repo_to_sack�szBase._add_repo_to_sackcCs.tjj�}|j}d|kr*tjj|j�|d<|S)N�
releasever)rr4ZConf�
substitutionsr(Zdetect_releasever�installroot)r4Zsubstr5r5r6r�s

zBase._setup_default_confcCs�dd�|jj�D�}y0|jj|j||jj|jjd|jj|jj	d�}Wn4t
jk
rx}ztj
jt|���WYdd}~XnX|r�tjtjjj|d��dS)NcSsg|]}|jr|j�qSr5)Zmodule_hotfixesrP)�.0�ir5r5r6�
<listcomp>�sz0Base._setup_modular_excludes.<locals>.<listcomp>F)Zupdate_onlyZdebugsolver�module_obsoletesr)�repos�iter_enabled�sackZfilter_modules�_moduleContainerr4rYZmodule_platform_id�debug_solverr]rKrLrrQ�Errorr
rM�warning�module�module_baseZformat_modular_solver_errors)r3Z
hot_fix_reposZ
solver_errorsrUr5r5r6�_setup_modular_excludes�s"zBase._setup_modular_excludesFc	Cs�t|jj�}d|kr$tr$|j�dSg}g}|�s>�x|jj�D]�}|j|krPq@t|j	�dkr�|j
j�jdd�}x8t|j	�D]*}t
jj|�}|j|j|j
dddd��}q|W|j|jd�|j|j�|jf�|j
j�jdd�}	x8t|j�D]*}
t
jj|
�}|	j|j|j
dddd��}	q�W|	j|jd�|	r@|j|	|jf�q@Wd|k�r6|j
j�jdd�}t|jj	�dk�r�x<t|jj	�D],}t
jj|�}|j|j|j
dddd��}�qzW|j
j�jdd�}x<t|jj�D],}
t
jj|
�}|j|j|j
dddd��}�q�Wt|jj	�dk�r$|j
j|�|j
jd�|�r6|j
j|�|�rjx,|D]$\}
}|j
j|
�|j
jd|��qBW|�r�x|D]\}
}|j
j|
��qvW|�r�t�r�|j�dS)	N�allrT)�emptyF)�
with_nevra�
with_provides�with_filenames)�reponame�main)rr4Zdisable_excludes�WITH_MODULESrgr^r_rP�lenZincludepkgsr`�query�filtermr�subject�Subject�union�get_best_query�append�applyZexcludepkgsZadd_includesZset_use_includes�add_excludes)r3�	only_mainZdisabledZ
repo_includesZ
repo_excludes�rZ
incl_queryZincl�subjZ
excl_queryZexclZ
include_query�
exclude_queryrq�repoidr5r5r6�_setup_excludes_includes�sh

zBase._setup_excludes_includescCsP|jr<|jjr<dd�|jj�D�}|jjj|�|jj�|jrL|jj�dS)NcSs"g|]}|jr|jj�r|j�qSr5)�metadatarJZ	isExpiredrP)rZr{r5r5r6r\�sz/Base._store_persistent_data.<locals>.<listcomp>)	rr4�	cacheonlyr^r_Zexpired_to_addr<�saver-)r3Zexpiredr5r5r6�_store_persistent_data�s
zBase._store_persistent_datacCs|jdkr|jdd�|jS)NT)�arch_filter)r�
read_comps)r3r5r5r6r�s
z
Base.compscCs|jS)N)r)r3r5r5r6r4�sz	Base.confcCs|jS)N)r')r3r5r5r6r^sz
Base.reposcCs
d|_dS)N)r')r3r5r5r6r^sZ
_priv_rpmconncCstjjj|jj�S)N)rr(Z
connectionZ
RpmConnectionr4rY)r3r5r5r6�_rpmconnsz
Base._rpmconncCs|jS)N)r)r3r5r5r6r`sz	Base.sackcCsP|jdkrtjjd��|jjdkrHtjjd|jj	|jj
d|jj�|j_|jjS)NzSack was not initializedF�arch)r`rrQrcra�libdnfreZModulePackageContainerr4rYrX�
persistdir)r3r5r5r6ras
 zBase._moduleContainercCs|jS)N)r)r3r5r5r6�transactionszBase.transactioncCs|jrtd��||_dS)Nztransaction already set)r�
ValueError)r3�valuer5r5r6r�$scCstjj|jj�|_dS)N)r�	persistorZ
RepoPersistorr4�cachedirr)r3r5r5r6�_activate_persistor+szBase._activate_persistorcCs,|jjr|jj|j||�|jj||�dS)z&Load plugins and run their __init__().N)r4Zpluginsr*�_loadZ	_run_init)r3Z
disabled_globZenable_plugins�clir5r5r6�init_plugins.szBase.init_pluginscCs|jj�dS)z#Run plugins pre_configure() method.N)r*Z_run_pre_config)r3r5r5r6�pre_configure_plugins5szBase.pre_configure_pluginscCs|jj�dS)zRun plugins configure() method.N)r*Z_run_config)r3r5r5r6�configure_plugins:szBase.configure_pluginscCs|jj�dS)zRun plugins unload() method.N)r*Z_unload)r3r5r5r6�unload_plugins?szBase.unload_pluginsc
Cs�|jj}|jdkr|j�|j}|r�tjj�rDtd�}tj	|�dStjj
�dkrhtd�}tj	|�dS|dkr�td�}tj	|�dS|j�}|dk	r�||kr�tj	td��dSx|jj
�D]}|jjd�q�W|jj�s�tj	td�jd	j|jj���dSx�|jj�D]�}|j�\}}	|	dk�r6tj	td
�|j�nx|�sH|	dk�rftjtd�|j�|jj�nH|�r�|	|k�r�td�}tj||j|	�|jj�ntjtd
�|j|	��qW|�r�d|_|jddd�tj	td��dS)NzCMetadata timer caching disabled when running on metered connection.Fz:Metadata timer caching disabled when running on a battery.rz Metadata timer caching disabled.z"Metadata cache refreshed recently.�z*There are no enabled repositories in "{}".z", "z4%s: will never be expired and will not be refreshed.z&%s: has expired and will be refreshed.zC%s: metadata will expire after %d seconds and will be refreshed nowz!%s: will expire after %d seconds.T)�load_system_repo�load_available_reposzMetadata cache created.)r4Zmetadata_timer_syncrr�r�utilZon_metered_connectionrrM�infoZon_ac_power�since_last_makecacher^�valuesrJZsetMaxMirrorTries�_any_enabledrO�joinZreposdirr_Z_metadata_expire_inrPrN�expireZreset_last_makecache�	fill_sack)
r3�timerZperiodr��msgr�rSr{Zis_cacheZ
expires_inr5r5r6�update_cacheDsZ






zBase.update_cacheTc CsPtjjd�}|jddd�tjj|�|_tjj|j	j
|j	j�}|���|dk	r�y|jjdd�Wnt
k
r~|dkrz�YnX|�r�g}d}tj�}|j	jr�tjjj�x�|jj�D]�}y`|j|�|jj�|kr�|jj�}|jj�|kr�|jj�}tjtd�|jtjj|jj���Wq�tj j!k
�rz}	z>|jj"�|j#dk�rJ�tj$d	|	�|j%|j�|j&�WYd
d
}	~	Xq�Xq�W|�r�tj$td�dj'|��|jj(��r�|dk�r�|dk�r�tj)td
�t*j+t,|�d�tjj|��n|jj-�j&�Wd
QRX|j	}
|jj.|
j/|
j0|
j1�|j2�|�tj3j4|j�|_5|
j6|j5_6|j7j8�|jS)z'Prepare the Sack and the Goal objects. z
sack setupT)r`�goalF)rD�autorz%s: using metadata from %s.z	Error: %sNzIgnoring repositories: %sz, z-Last metadata expiration check: %s ago on %s.)Zseconds)9rr#�Timer�resetr`�_build_sackr�lock�build_metadata_lockr4r��exit_on_lockr��IOError�time�gpgkey_dns_verification�dnssec�RpmImportedKeys�check_imported_keys_validityr^r_rVrJZgetTimestampZgetAgerMrNrrPr��normalize_time�getMaxTimestamprQrRr��skip_if_unavailablerdrw�disabler�r�r��datetimeZ	timedelta�intrh�
_configure�installonlypkgs�installonly_limit�allow_vendor_changerr��Goalr�protect_running_kernelr*�run_sack)r3r�r�r�r��error_reposZmtsZager{rUr4r5r5r6r�|sf






zBase.fill_sackc	 Cstjjd�}|jddd�tjj|�|_tjj|j	j
|j	j�}|��n|dk	r�y|jjdd�Wnt
k
r~|dkrz�YnXg}|j	jr�tjjj�x�|jj�D]�}yf|jjddd�td|jdd�}|jr�d|d	<|jj|jf|�tjtd
�|jtjj|jj ���Wq�t!t"j#fk
�r�}zZ|j$dk�rPtj%j&td�j'|j|���ntjtd�j'|j|��|j(|j�|j)�WYdd}~Xq�Xq�W|�r�tj*td
�dj+|��WdQRX|j	}|jj,|j-|j.|j/�|j0�|�tj1j2|j�|_3|j4|j3_4|j5j6�|jS)a�
        Prepare Sack and Goal objects and also load all enabled repositories from cache only,
        it doesn't download anything and it doesn't check if metadata are expired.
        If there is not enough metadata present (repond.xml or both primary.xml and solv file
        are missing) given repo is either skipped or it throws a RepoError exception depending
        on skip_if_unavailable configuration.
        z
sack setupT)r`r�F)rDr�)ZthrowExceptZ
ignoreMissing)r@rArBrCz%s: using metadata from %s.zloading repo '{}' failure: {}NzIgnoring repositories: %sz, )7rr#r�r�r`r�rr�r�r4r�r�r�r�r�r�r�r�r^r_rJZ	loadCacherFrGrHrIrMrNrrPr�r�r��RuntimeErrorrKrLr�rQrRrOrwr�rdr�r�r�r�r�rr�r�rr�r*r�)	r3r�r�r�r�rSrTrUr4r5r5r6�fill_sack_from_repos_in_cache�sX	

z"Base.fill_sack_from_repos_in_cachecCs�tjj|jj�|_|jjsl|j|j�|j	r\|j
j|jj��|jj
�|jrl|j|j
�n|jjj|j
�|jjr�tjtd��tjtd�djtjjd��|jdk	r�|jj�|j�|j�d|_	dS)NzRThe downloaded packages were saved in cache until the next successful transaction.z1You can remove cached packages by executing '%s'.z{prog} clean packages)�progF)rr�ZTempfilePersistorr4r�r-Z	keepcache�_clean_packagesrr+r r<Zget_saved_tempfilesrir,Ztempfiles_to_addrMr�rrOr�Z	MAIN_PROGr�historyr9r��_closeRpmDB)r3r5r5r6�_finalize_base�s*



zBase._finalize_basecCsB|jr
dStjtjjd�d|_|j�|jdddd�d|_dS)ztClose all potential handles and clean cache.

        Typically the handles are to data sources and sinks.

        NzCleaning up.T)r`r^r�)	rrM�logrr#�DDEBUGr�r�r*)r3r5r5r6r9sz
Base.closecCsftjjj|j|�}xN|D]F}y|jj|�Wqtjjk
r\}ztj	|�WYdd}~XqXqWdS)z?Read repositories from the main conf file and from .repo files.N)
rr4�readZ
RepoReaderr^�addrQZConfigErrorrMrd)r3Zopts�readerrSrUr5r5r6�read_all_repos"s
zBase.read_all_reposcCs�|r
d|_|rtjj�|_|r�d|_|jdk	rJtjj|j�|_|jj	|j_	|jr`|j
r`|j
j�|jdk	rt|j
j�tjj�|_d|_g|_|r�|r�tj�dS)z1Make the Base object forget about various things.N)rrr%r&r'rr�r�r4r�raZrollbackrr�r9rrrrr.�gcZcollect)r3r`r^r�r5r5r6r�-s$



'z
Base.resetcCs|`dS)z6Closes down the instances of rpmdb that could be open.N)�_ts)r3r5r5r6r�jszBase._closeRpmDB)Z	noscriptsZ
notriggersZnodocs�testZjustdbZ
nocontexts�nocrypto�RPMTRANS_FLAG_NOCAPSZnocapsr�cCs|jS)N)r)r3r5r5r6r�|sz	Base.goalcCs�|jdk	r|jStjjj|jj�|_|jjd�xb|jjD]V}|j	j
|�}|dkrdtjt
d�|�q:|jj|�|jj
|�}|dk	r:|jj|�q:W|jjs�|jjtj�|jjr�|jjtj�tjtj|jd�}|jj|�|jS)zMSet up the RPM transaction set that will be used
           for all the work.Nrz!Invalid tsflag in config file: %s)rrr(r�ZTransactionWrapperr4rY�setFlagsZtsflags�_TS_FLAGS_TO_RPM�getrM�criticalrZ	addTsFlag�_TS_VSFLAGS_TO_RPM�pushVSFlagsZdiskspacecheckr)r�ZRPMPROB_FILTER_DISKSPACEZ
ignorearchZRPMPROB_FILTER_IGNOREARCH�	functools�reduce�operator�or_Z
setProbFilter)r3�flagZrpm_flagZvs_flagZ
probfilterr5r5r6r��s*
zBase._tscCs&|jdkrdS|jj�|`d|_dS)z"Releases the RPM transaction set. N)rr9)r3r5r5r6r��s


cCs$tjjd�}tjj�|_tjtjjd�x�|j	j
�D]�}|js@q4|jsHq4|j
j�}|sXq4tjtjjd|j�|j
j�tjjkr�tj|d�}tjj|�s�q4ntj|d�}y|jj|�Wq4tjjk
r�}ztd�}tj||j|�WYdd}~Xq4Xq4W|�r|jjj|j j!dg�|�|jS)z6Create the groups object to access the comps metadata.z
loading compszGetting group metadataz%Adding group file from repository: %sz
groups.xmlz1Failed to add groups file for repository: %s - %sN�basearch)"rr#r�rZCompsrrMr�r�r^r_Zenablegroupsr�rJZ
getCompsFnrPZgetSyncStrategyrSZSYNC_ONLY_CACHEr
Zcalculate_repo_gen_dest�os�path�existsZrepo_gen_decompressZ_add_from_xml_filenamerQ�
CompsErrorrr�Z_ir�rrX)r3r�r�rSZcomps_fnZdecompressedrUr�r5r5r6r��s:


&zBase.read_compscCs*|jdkr$|jj}t|jj|d�|_|jS)zeauto create the history object that to access/append the transaction
           history information. N)rW)rr4rWrr�)r3rWr5r5r6�_getHistory�s
zBase._getHistorycCs|j�S)N)r�)r3r5r5r6�<lambda>�sz
Base.<lambda>cCst|d|�S)Nr)�setattr)r3r�r5r5r6r��scCst|dd�S)Nr)r�)r3r5r5r6r��szDNF SWDB Interface Object)�fget�fset�fdel�doccsF�jj}t|j����j�}|j�|j�j�}xT|j�D]H�|j��}|d}�j	j
|d��j	j
�d�|j�||dd��q:Wx�|j�D]x��j	j
�d�|j��}t
��}g}x0|D](}	t
|	�|kr�|jd|	�q�|j|	�q�W|d}
|j�|
|dd��q�Wx�|j�D]���j	j
�d�|j��}��fdd�|D�}|j��}�|k�rt|j�jd	��rt|j��}x0|D](}|j|�}
tjj||
�dk�rz|
}�qzW|j�||��fd
d�}tjj||��qWx�|j�D]ȉ|j��}d}x"|D]}|j�jk�r�|}P�q�W|dk�r*|jd�}n
|j|���fdd�|D�}�fd
d�}tjj||��|k�rz|j�|�n|j�||��j	j
|d��j	j
�d��q�W|j �}|�rB�j!j"t#j$d�j�}|j%|d�xh|D]`�|j�jd	��r|d}|j|��jj&||j|���j	j
�d�|j��}|j'�|��q�W|S)NrZdd�dr�r{r[cs$g|]}|�ks|j�jkr|�qSr5)�name)rZr[)�
all_obsoleted�pkgr5r6r\�sz*Base._goal2transaction.<locals>.<listcomp>)r�cs�jj|d�S)N�od)r"�	pkg_added)r�)r3r5r6r�
sz(Base._goal2transaction.<locals>.<lambda>cs$g|]}|�ks|j�jkr|�qSr5)r�)rZr[)r�r�r5r6r\scs�jj|d�S)Nr�)r"r�)r�)r3r5r6r�!sZud�u)�flags)Zpkg__neqrU���)(r�r(rZlist_obsoleted�_get_installonly_queryrx�	installed�list_downgradesZobsoleted_by_packager"r�Z
add_downgrade�list_reinstalls�str�insertrwZ
add_reinstall�
list_installs�
get_reason�filterr�r�r�ZTransactionItemReasonCompareZadd_installrr�Zmapall�
list_upgrades�pop�removeZadd_upgradeZ
list_erasuresr`rqrK�IGNORE_EXCLUDESrr�
set_reasonZ	add_erase)r3r��tsZinstallonly_queryZinstallonly_query_installedZobsZ
downgradedZ	nevra_pkg�	obsoletesZobs_pkgZreinstalled�reasonZobsoleteZreason_obsolete�cbZupgradedr[ZerasuresZremaining_installed_queryZ	remainingr5)r�r�r3r6�_goal2transaction�s�
















zBase._goal2transactioncCsd|j�}|j�}|j�j�}g}g}x6|D].}||krJ|j||d�q*|j||�q*W||fS)aJ See what packages in the query match packages (also in older
            versions, but always same architecture) that are already installed.

            Unlike in case of _sltr_matches_installed(), it is practical here
            to know even the packages in the original query that can still be
            installed.
        r)r��_na_dict�	availablerw)r3�q�instZ
inst_per_archZavail_per_archZavail_lZinst_lZnar5r5r6�_query_matches_installed7s
zBase._query_matches_installedcCs"|jj�j�j|j�d�}t|�S)z� See if sltr matches a patches that is (in older version or different
            architecture perhaps) already installed.
        )r�)r`rqr�rr�matches�list)r3�sltrrr5r5r6�_sltr_matches_installedKszBase._sltr_matches_installedcs�fdd��jj�j�D�S)z5Get iterator over the packages installed by the user.c3s|]}�jj|�r|VqdS)N)r�Zuser_installed)rZr�)r3r5r6�	<genexpr>Tsz*Base.iter_userinstalled.<locals>.<genexpr>)r`rqr�)r3r5)r3r6�iter_userinstalledRszBase.iter_userinstalledcCs0|j||jj|jjd�}|jjr,|jd�|S)N)�allow_uninstall�
force_bestZignore_weak_depsz./debugdata/rpms)�runr4�bestZinstall_weak_depsrbZwrite_debugdata)r3r��
allow_erasing�retr5r5r6�_run_hawkey_goalWs
zBase._run_hawkey_goalc	Cstd}|j�tjjd�}|jj�|j}|j�rJ|j|j	j
�j�|j�n|j
jsd|j�}|j|�|j|j	j
�j|j
jd��|j||�s�|j
jdkr�|j�tjj|j��}tjj|�}n|j|�|_|jj�|�|jdk	o�t|j�dk}|�r|jj �}|�rtjj!|�}|dk	�r"|�|j"j#�|jj$�}||jj%�7}||jj&�7}||jj'�7}|j	j(|j)|�|S)zBuild the transaction set.NZdepsolve)r��r)*�_finalize_comps_transrr#r�r"�startrZ
req_has_eraseZpush_userinstalledr`rqr�r�r4Zupgrade_group_objects_upgrade�_build_comps_solverZ'_exclude_packages_from_installed_groupsZ
add_protectedrrZprotected_packagesr�
debuglevelZ
log_decisionsr��_format_resolve_problems�
problem_rulesrQZ
DepsolveErrorrr�endrpZ_rpm_limitationsrcr*Zrun_resolvedr�r�r�r�Zset_modules_enabled_by_pkgsetra)	r3r�excr�r��solverr�Zgot_transactionZnew_pkgsr5r5r6�resolve_sH








zBase.resolvecCs^t|t�s|g}tjjj�gt|�}|js�|jj	�|jj
�|jr�|jjsV|jj
r�d}t|d�rx|jrxdj|j�}nt|d�r�|jr�dj|j�}|jj�}|dkr�|jj�}n|j}|jj|gg|�|jj|�|jj�|jj�d|_dSd}tjtd��tj j!|j"j#|j"j$�}|���|jj%|j&�|j'�}|�rxtd�}tj(|�x|D]}tj(|��qXWtj)j*|��tjtd��tj+j,d�}	tjtd	��|j&j-�|j&j.�tjjj/|dd
�}
|j&j0|
�}t1|�dk�r\x&|
j2�D]}tj3td�j4|���q�Wtd
�d}x|D]}
|dt5|
�7}�qW|j6|�}|�rP|d|7}tj)j7|��~
tjtd��|j&j8t9j:��r�dS|	�|jj	�|jj
�tj+j,d�}	tjjj/||d�}|j"j;dk�r�x|j<D]}d|_=�q�W|jj�tjtd��|j>|d�}WdQRX|	�|jj?|j�|jj�dd�}x&tj@jA||j|�D]}tjB|��qFW|S)N�args� �cmdsTzRunning transaction checkz%Error: transaction check vs depsolve:zTransaction check succeeded.ztransaction testzRunning transaction test)r�rzRPM: {}zTransaction test error:�
z  %s
zTransaction test succeeded.r�)�displays�FzRunning transaction)rcSs,g}x"|D]}|jdj|t|���q
W|S)Nz{}: {})rwrOr�)�actionZtsis�msgs�tsir5r5r6�
_pto_callback�s
z*Base.do_transaction.<locals>._pto_callback)C�
isinstancerrZyumZrpmtransZLoggingTransactionDisplayrr�rar�ZupdateFailSafeDatar�group�env�hasattrr"r�r$r��lastr`�_rpmdb_version�end_rpmdb_version�begrr*Zrun_pre_transactionZrun_transactionr+rMr�rr�Zbuild_rpmdb_lockr4r�r�Z_populate_rpm_tsr��_run_rpm_check�errorrQZTransactionCheckErrorr#r��orderZcleanZRPMTransactionr�rp�messagesr�rOr
�_trans_error_summaryrc�isTsFlagSetr(�RPMTRANS_FLAG_TESTrr&r2�_run_transactionZunload_removed_pluginsr�Z_post_transaction_outputrN)r3Zdisplay�cmdline�oldZ
rpmdb_version�tidr�r)r�r�ZtestcbZtserrors�	errstringZdescr�summaryrZdisplay_r+r5r5r6�do_transaction�s�
















zBase.do_transactioncCs�d}tjd�}i}x�|j|�D]t}|jd�dkr>t|jd��ntjt|jd��d�}|jd�|krr|||jd�<||jd�|kr|||jd�<qW|r�|td�d	7}x4|D],}|d
tdd||�j	|||�d	7}q�W|s�dStd
�d|}|S)z�Parse the error string for 'interesting' errors which can
        be grouped, such as disk space issues.

        :param errstring: the error string
        :return: a string containing a summary of the errors
        �z9needs (\d+)(K|M)B(?: more space)? on the (\S+) filesystemr'�Mr�g�@�zDisk Requirements:r%z   z7At least {0}MB more space needed on the {1} filesystem.Nz
Error Summaryz
-------------
)
�re�compile�finditerr-r��mathZceilrr	rO)r3r?r@�pZdisk�mZ
size_in_mb�kr5r5r6r8s&
 
*zBase._trans_error_summarycCs|jjo|jjtj�S)N)r4Zhistory_recordr�r9r(r:)r3r5r5r6�_record_history%szBase._record_historycCs�d}|j�r�t|jj�}|jj�j�}|j|d�j�}|jj	�}|j
j�}|dk	rX|j}|dksh||kr�t
jtd�jtjjd��d}t|d�r�|jr�dj|j�}nt|d�r�|jr�dj|j�}|jjr�|jjnd}	|j
j||g||	�}|jj�r$tjd	�}
|
�r$ytj|
�Wnd	}
YnXt
jtjjd
�|j j|j!d�}t
jtjjd�|jj�rzytj|
�WnYnXtjj"|j |j#�|dk�r�n�t$|�d	k�r�dd
�|j D�}|�sfx&|j%�D]}
t
j&td�j|
���q�Wtd�}
tj'j(|
��nlt
j&td��x |D]}t
j&t)|d	���qW|j��rR|j j*t+j,��rR|j
j-|�td�}
tj'j(|
��xbdD]Z}t||��rlt.||�}yt/j0|�Wn.t1t2fk
�r�td�}
t
j&|
|�YnX�qlWt3|j#j4�|_5|j j*t+j,��s�|j6|j7�|S)zh
        Perform the RPM transaction.

        :return: history database transaction ID or None
        N)r�z RPMDB altered outside of {prog}.)r�r"r#r$rBrzRPM transaction start.zRPM transaction over.cSsg|]}|j�r|�qSr5)ZFailed)rZZelr5r5r6r\esz)Base._run_transaction.<locals>.<listcomp>zRPM: {}zCould not run transaction.zTransaction couldn't start:�	ts_all_fn�
ts_done_fnz$Failed to remove transaction file %s)rMrN)8rLrr4Zhistory_record_packagesr`rqr�r�rr1r�r0r2rMrNrrOrr�ZMAIN_PROG_UPPERr/r"r�r$�commentr3Z
reset_nicer��nicer�r#r�r�r!Z_sync_rpm_trans_with_swdbrrpr7r�rQrcr
r9r(r:r�getattrr
�unlink_fr��OSError�boolZinstall_setr,�_verify_transactionZverify_tsi_package)r3rr>Zusing_pkgs_pats�installed_queryZ
using_pkgs�rpmdbvZlastdbvr<rOZonice�errorsZfailedr�rUr[�fnr5r5r6r;)s~









zBase._run_transactioncs�dd�|jD�}t|����fdd�}tjjd�}d}tjj|�}|j�j�}t	dd�|D��}xH|j
jD]<}	|	j�}
x.|
j
�D]"}|j�|kr�|jd�|j�q�WqjWx|D]}||j|�}q�W|j�}
|j
j|
�|�d|_dS)	NcSsg|]}|jtjjkr|�qSr5)r(r�r�Z#TransactionItemAction_REASON_CHANGE)rZr*r5r5r6r\�sz,Base._verify_transaction.<locals>.<listcomp>cs |d7}�dk	r�||��|S)Nr�r5)r��count)�total�
verify_pkg_cbr5r6�display_banner�sz0Base._verify_transaction.<locals>.display_bannerzverify transactionrcSsg|]
}|j�qSr5)r�)rZr[r5r5r6r\�sT)r�rprr#r�r`�
rpmdb_sackrqr�rr�r-ZgetCompsGroupItemZgetPackagesZgetNameZsetInstalledr�r�r1rr+)r3r\Ztransaction_itemsr]r�rZr^r�namesZti�grIr*rWr5)r[r\r6rU�s(

zBase._verify_transactionc
sXtjj|jj|jj�}|���tj�}tdd�|D��}tdd�|D��}	�j	j
jdkrn�j	t|�||	d�n�j	t|�|�tjj
|||���j�r�tjj�j���t�fdd�|D��}
tjjd|�j�}|jj}|dk}
xԈjo�|
s�|dk�r�|dk�r|d	8}td
�}tj|�dd��jD�}�fdd�|D�}td
d�|D��}�j	t|�|�tjj
|||���j��r�tjj�j���|
t�fdd�|D��7}
tjj||i�}q�W�j�r�tjjj�j�}tj|�WdQRX|dk	�r�||
|�|\}}||k�rT||k�rtd�}n||k�r,td�}d||d}tj||d|d|�dS)Ncss|]}|jVqdS)N)�
download_size)rZ�ploadr5r5r6r�sz1Base._download_remote_payloads.<locals>.<genexpr>cSsg|]}t|tjj�r|�qSr5)r,r�drpmZDeltaPayload)rZZpayloadr5r5r6r\�sz2Base._download_remote_payloads.<locals>.<listcomp>�)Ztotal_drpmsc3s|]}�j|�VqdS)N)�_bandwidth_used)rZrb)rXr5r6r�srr�z,Some packages were not downloaded. Retrying.cSsg|]}|�qSr5r5)rZr�r5r5r6r\�scs g|]}tjj|�tjj��qSr5)rrS�_pkg2payload�
RPMPayload)rZr�)�progressr5r6r\�scss|]}|jVqdS)N)ra)rZrbr5r5r6r�sc3s|]}�j|�VqdS)N)re)rZrb)rXr5r6r�sz?Delta RPMs reduced %.1f MB of updates to %.1f MB (%d.1%% saved)zIFailed Delta RPMs increased %.1f MB of updates to %.1f MB (%d.1%% wasted)�dir')rrii)rr�Zbuild_download_lockr4r�r�r��sumrpr�__code__�co_argcountrSZ_download_payloadsZ_irrecoverablerQZ
DownloadErrorZ_update_savingZ_recoverable�retriesrrMr�Z
errmap2str)r3�payloadsrcrh�callback_totalZ	fail_fastr�Zbeg_downloadZest_remote_sizeZ
total_drpmZremote_sizeZsavingrmZforeverr�Zremaining_pkgs�realZfullZpercentr5)rXrhr6�_download_remote_payloads�sb












zBase._download_remote_payloadsc	s�|j|�\}}|rz�dkr$tjj��tjj|jj�j��|j	j
��|jdd�|D����fdd�|D�}|j|��|�|j	j
r�xX|D]P}|jr�tjj|j�|jjd��}ntjj|jj|jjd��}tj||j	j
�q�WdS)aDownload the packages specified by the given list of packages.

        `pkglist` is a list of packages to download, `progress` is an optional
         DownloadProgress instance, `callback_total` an optional callback to
         output messages about the download operation.

        NcSsg|]}|j��qSr5)�localPkg)rZr�r5r5r6r\sz*Base.download_packages.<locals>.<listcomp>cs$g|]}tjj|��jtjj��qSr5)rrSrfZ
delta_factoryrg)rZr�)rcrhr5r6r\s�/)�_select_remote_pkgsrr!ZNullDownloadProgressrcZ	DeltaInfor`rqr�r4Zdeltarpm_percentager?rqr=Zbaseurlr�r�r�Zget_local_baseurl�location�lstriprSZpkgdir�shutil�copy)	r3Zpkglistrhro�remote_pkgsZ
local_pkgsrnr�rur5)rcrhr6�download_packages�s"	

zBase.download_packagescCs�g}|s|S|jj�r&tjjtd���g}x�|D]�}tjj|�rhd|krhtj	j
||j|�}|j|g�y|j
|jj|��Wq0tk
r�}ztj|�|j
|�WYdd}~Xq0Xq0W|jdd�|r�|r�ttd�jdj|����|S)NzACannot add local packages, because transaction job already existsz://T)rzzCould not open: {}r#)rZ
req_lengthrrQrcrr�r�r�r�Z_urlopen_progressr4r?rwr`Zadd_cmdline_packager�rMrdrrOr�)r3�	path_list�strictrh�pkgsZ
pkgs_errorr�rUr5r5r6�add_remote_rpmss(



 zBase.add_remote_rpmscCs|jr|jj}d}n|j|j}|j}|j}|�r|jj}tj	j
j|�}tj	jj
||j��}tjj|j��}~|dkr�d}	d}
n�|dkr�|r�d}	nd}	td�|}
n\|dkr�d}	td�|}
nB|dkr�|r�d}	nd}	d}	td�|}
n|d	k�rd}	td
�|}
nd}	d}
|	|
fS)a�Verify the GPG signature of the given package object.

        :param po: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        rrBr�r'z"Public key for %s is not installedzProblem opening package %srDz Public key for %s is not trustedrdzPackage %s is not signed)�
_from_cmdliner4Zlocalpkg_gpgcheckr^r~Zgpgcheck�gpgkeyrYrr(r��initReadOnlyTransactionZ	miscutilsZcheckSigrrr�r��basenamer)r3�po�checkZ	hasgpgkeyrS�rootrZ	sigresultZlocalfn�resultr�r5r5r6�_sig_check_pkg(sF

zBase._sig_check_pkgcCs
|j|�S)a�Verify the GPG signature of the given package object.

        :param pkg: the package object to verify the signature of
        :return: (result, error_string)
           where result is::

              0 = GPG signature verifies ok or verification is not required.
              1 = GPG verification failed but installation of the right GPG key
                    might help.
              2 = Fatal GPG verification error, give up.
        )r�)r3r�r5r5r6�package_signature_checkcs
zBase.package_signature_checkc
Cslxf|D]^}tjj|�sqytj|�Wn&tk
rLtjtd�|�wYqXtj	t
jjtd�|�qWdS)NzCannot remove %sz
%s removed)
r�r�r�r
rRrSrMrdrr�rr#r�)r3�packagesrYr5r5r6r�rs

zBase._clean_packagesrhcCsv|dkr|jj}|dkr*|j|||||�Stj|j||||d�}|dksTt|�dkr\|d�St||�}tjdd�|�S)aRReturn a :class:`misc.GenericHolder` containing
        lists of package objects.  The contents of the lists are
        specified in various ways by the arguments.

        :param pkgnarrow: a string specifying which types of packages
           lists to produces, such as updates, installed, available,
           etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param showdups: whether to include duplicate packages in the
           lists
        :param ignore_case: whether to ignore case when searching by
           package names
        :param reponame: limit packages list to the given repository
        :return: a :class:`misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        N)�showdups�ignore_casermrcSs
|j|�S)N)Zmerge_lists)�a�br5r5r6r��sz(Base._do_package_lists.<locals>.<lambda>)r4Zshowdupesfromrepos�
_list_patternr��partialrp�mapr�)r3�	pkgnarrow�patternsr�r�rmZlist_fnZyghsr5r5r6�_do_package_listss

zBase._do_package_listsc&s���fdd���fdd�}�fdd�}tj|d�}g}	g}
g}g}g}
g}g}g}g}g}|}�jj�}|dk	r�tjj||d�}|j�jd	d
�}|dk�r�i}i}xH|j�D]<}|||j	<|r�q�|j
|jf}||ks�|||kr�|||<q�Wt||j
���}	||j��}|�s|jdd
�}x�|D]�}|�rN|j	|k�rB|j|�n
|
j|�nT|j
|jf}|j	|k�rr|j|�n0||k�s�|j||��r�|
j|�n
|j|��q W�n�|dk�r�||�jdd�}
�j|
dd�}
|
jddgd�|
j�j�}
�nP|dk�rt||j���}	�n2|dk�rB|�r�||�j�}|j�j�}x\|D]T��j
�jf}|j|g�}�fdd�|D�}t|�dk�r�|j��n
|
j���q@Wn�||�j�jdd
�j�}|j�j�j�}xz|D]r\} }!|| |!fd�|j| |!fdg�d}"|"�s
�j|"��r|
j��n"�j|"��r.|j��n
|j���q�W�n|dk�rh||�j�jj�}#|#j�}n�|dk�r��fdd�|j�D�}n�|dk�r|j�}$|�jj��j|$d�}�j|d	dd�}|jddgd�g}xl|D],��j}%|j�fdd�|$j|%d �D���q�Wn6|d!k�rD|j�}|�s2|jdd
�}||�j �j!j"�}|	|_|
|_||_#||_$|
|_%||_||_&||_"||_||_'|S)"Ncs�dkrdS�jj|��kS)z:Test whether given package originates from the repository.NT)r�rS)�package)rmr3r5r6�is_from_repo�sz(Base._list_pattern.<locals>.is_from_repocs�fdd�|D�S)z=Filter out the packages which do not originate from the repo.c3s|]}�|�r|VqdS)Nr5)rZr�)r�r5r6r�sz=Base._list_pattern.<locals>.pkgs_from_repo.<locals>.<genexpr>r5)r�)r�r5r6�pkgs_from_repo�sz*Base._list_pattern.<locals>.pkgs_from_repocs�dkr|S|j�d�S)z=Filter out the packages which do not originate from the repo.N)rm)r�)rq)rmr5r6�query_for_repo�sz*Base._list_pattern.<locals>.query_for_repo)�iter)r�F)rkrhT)Zlatest_per_arch_by_priority�upgrades)Zupgrades_by_priority)�upgrade�src�nosrc)�	arch__neqr�rcsg|]}|j�jkr|�qSr5)�evr)rZr�)�	avail_pkgr5r6r\sz&Base._list_pattern.<locals>.<listcomp>r�
autoremove�extrascsg|]}�|�r|�qSr5r5)rZr�)r�r5r6r\sr)Zobsoletes_by_priority)rdr�csg|]}�|f�qSr5r5)rZr=)�newr5r6r\.s)�provides�recent)(r
Z
GenericHolderr`rqrrsrtrvr�Zpkgtupr�r�rr�rrrrwZevr_gt�_merge_update_filters�latestrrr�rpZevr_eq�	_unneededr��swdbr�r�r�extendZ_recentr4r��reinstall_available�
old_available�updates�obsoletesTuplesr�)&r3r��patternr�r�rmr�r�Zyghr�rr�r�r�rr�r�r�r�Zicrr|ZdinstZndinstr��keyZavailr�Zinstalled_dict�installed_pkgsZsame_verZavailable_dictr�r�Zinst_pkgZautoremove_qrZobsoleted_reldepsr5)r�r�r�rmr3r6r��s�














zBase._list_patterncCs|j|7_t|�S)N)rrp)r3�transr5r5r6�_add_comps_transEszBase._add_comps_transcs�|j�}|sdS|j�jjdd�}|j�fdd�|D�d�}|j|�}x|D]}�jj|tjj	�qLW|j
|�}|j
|�}|r�x |D]}�jj|�j
jd�q�WdS)z�
        Mark to remove packages that are not required by any user installed package (reason group
        or user)
        :param query: dnf.query.Query() object
        NF)rbcs g|]}�jjj|j�r|�qSr5)r�r-Zis_removable_pkgr�)rZr[)r3r5r6r\Usz,Base._remove_if_unneeded.<locals>.<listcomp>)r�)�
clean_deps)r�Z_safe_to_remover�r�r��
differencer�r�r�Z TransactionItemReason_DEPENDENCY�intersectionr�eraser4�clean_requirements_on_remove)r3rqZ
unneeded_pkgsZunneeded_pkgs_historyZpkg_with_dependent_pkgsr�Zremove_packagesr5)r3r6�_remove_if_unneededIs




zBase._remove_if_unneededcs>�j}�jjd}�fdd�}�fdd�}dd�}�jj�jdd	�}|jtj|dd
�f|j	tj|dd
�f|j
|f|j|ff}x�|D]�\}}	x�|D]�}
d|
ji}|
j
r�|jd
|i��jj�jf|�j�}|jddgd�|�s|
j}
|
j
r�|
d|7}
tjtd�j|
��q�|	|||
�}�jjj|
j�q�Wq�W�j|�dS)Nr�cs,tjj�j�}|j|d��jj|d�|S)N)r�)�select)r�selector�Selectorr`rrr�)rq�remove_query�	comps_pkgr)r3r5r6�
trans_upgradegsz1Base._finalize_comps_trans.<locals>.trans_upgradecs��jjdkrr|js"�j||d�q�|j�j�}�j|�tjj	�j
�}|jdj|j
|j�d��jj||d�nltjj	�j
�}|jr�|jdj|j
|j�d�n,�jjr�|j�j
j�j|d��}|j|d��jj||d�|S)Nrh)r|z
({} if {}))r�)r��optional)r)r�)r4�multilib_policyZrequires�_install_multiarchr�rx�_report_already_installedrr�r�r`rrOr�r�installrrurqrr)rqr�r�r|rVr)r3r5r6�
trans_installms 
z1Base._finalize_comps_trans.<locals>.trans_installcSs|j|�}|S)N)ru)rqr�r�r5r5r6�trans_remove�s
z0Base._finalize_comps_trans.<locals>.trans_removeT)ri)r|Fr�r�r�r�)r��.zNo match for group package "{}")rr4rXr`rqrrr�r�r��install_optr�r�r�Zbasearchonlyr<rxrMrdrrOrZ
group_membersr�r�)r3r�r�r�r�r�r�Zattr_fn�attrrYr�Z
query_argsrZpackage_stringr5)r3r6rcs4

zBase._finalize_comps_transcs �fdd�}tjj�j�j|�S)NcsN�jj�j�j|d�}|sdSy�jjj|d�Stk
rHtj	j
SXdS)N)r�r)r`rqr�rrr�r(r��AttributeErrorr�r�ZTransactionItemReason_UNKNOWN)Zpkgnamer)r3r5r6�	reason_fn�sz+Base._build_comps_solver.<locals>.reason_fn)rrZSolverr�r)r3r�r5)r3r6r�s	zBase._build_comps_solvercCsH|j�}t|t�stjj|�}|j|||p.t�||�}|s>dS|j|�S)a&Installs packages of environment group identified by env_id.
        :param types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        r)	rr,r�r�r��listToCompsPackageTypeZ_environment_installrr�)r3�env_id�types�excluder|�exclude_groupsr r�r5r5r6�environment_install�s
zBase.environment_installcCs|j�}|j|�}|j|�S)N)rZ_environment_remover�)r3r�r r�r5r5r6�environment_remove�s
zBase.environment_removec
s��fdd��d}|r2�fdd�|D�}tjj|�}�j�}t|t�sPtjj|�}|j	||||�}|shdS|rt|j
}	n|j}	tj
td�||	��j|�S)anInstalls packages of selected group
        :param pkg_types: Types of packages to install. Either an integer as a
            logical conjunction of CompsPackageType ids or a list of string
            package type ids (conditional, default, mandatory, optional).
        :param exclude: list of package name glob patterns
            that will be excluded from install set
        :param strict: boolean indicating whether group packages that
            exist but are non-installable due to e.g. dependency
            issues should be skipped (False) or cause transaction to
            fail to resolve (True)
        cs6tjj|�r,�jj�j|d�}tdd�|�S|fSdS)N)�
name__globcSs|jS)N)r�)rIr5r5r6r��szABase.group_install.<locals>._pattern_to_pkgname.<locals>.<lambda>)rr��is_glob_patternr`rqrrr�)r�r)r3r5r6�_pattern_to_pkgname�sz/Base.group_install.<locals>._pattern_to_pkgnameNcsg|]}�|��qSr5r5)rZrI)r�r5r6r\�sz&Base.group_install.<locals>.<listcomp>rz#Adding packages from group '%s': %s)�	itertools�chain�
from_iterablerr,r�r�r�r�Z_group_installr�r�rMrNrr�)
r3�grp_idZ	pkg_typesr�r|Zexclude_pkgnamesZnested_excludesr r�Zinstlogr5)r�r3r6�
group_install�s"


zBase.group_installcCs�t|j|jtjtjBtj�}d}d}x�|D]�}	y|j|	�}
Wn:tjj	k
rv}zt
jt|��d}w*WYdd}~XnXx2|
j
D](}|s�||kr�||j||||d�7}q�Wx&|
jD]}
||j|
||||d�7}q�Wq*W|r�|r�tjjtd���|S)NrTF)r�r|)r�r|r�zNothing to do.)rrr��ENVIRONMENTS�GROUPS�	AVAILABLEr�rrQr�rMr5r
�groupsr��environmentsr�rcr)r3r�r�r|r�r�r�cnt�doner��res�errZgroup_idr�r5r5r6�env_group_install�s(

zBase.env_group_installcCs|j�}|j|�}|j|�S)N)rZ
_group_remover�)r3r�r r�r5r5r6�group_removes
zBase.group_removecCs�t|j|jtjtjBtj�}y|j|�}WnFtjj	k
rp}z&t
jdt|��tjj
td���WYdd}~XnXd}x|jD]}||j|�7}q~Wx|jD]}||j|�7}q�W|S)NzWarning: %szNo groups marked for removal.r)rrr�r�r��	INSTALLEDr�rrQr�rMr5r
rcrr�r�r�r�)r3r�rr�r�r�r.�grpr5r5r6�env_group_removes

"zBase.env_group_removec
 CsLt|j|jtjtjBtj�}d}�x
|D�]}y|j|�}Wn6tjj	k
rr}zt
jt|��w(WYdd}~XnXxX|j
D]N}y|j|�d}Wq|tjj	k
r�}zt
jt|��w|WYdd}~Xq|Xq|WxZ|jD]P}y|j|�d}Wq�tjj	k
�r$}zt
jt|��w�WYdd}~Xq�Xq�Wq(W|�sHtd�}	tjj|	��dS)NFTzNo group marked for upgrade.)rrr�r�r�r�r�rrQr�rMr5r
r��environment_upgrader��
group_upgraderr�ZCliError)
r3r�rZgroup_upgradedr�r�r�r.r�r�r5r5r6�env_group_upgrades6



zBase.env_group_upgradecCs|j�}|j|�}|j|�S)N)rZ_environment_upgrader�)r3r�r r�r5r5r6r�9s
zBase.environment_upgradecCs|j�}|j|�}|j|�S)N)rZ_group_upgrader�)r3r�r r�r5r5r6r�@s
zBase.group_upgradecCs�|jjd}tjj|�rdS|jj}tjjj	|d�}|j
tjtjB�|j
dd�}t|�}~~|dkrldStjj|�}tjj|�s�tj|�t|d�}|j�~dSdS)	z�Checks for the presence of GPG keys in the rpmdb.

        :return: 0 if there are no GPG keys in the rpmdb, and 1 if
           there are keys
        z/.gpgkeyschecked.yumr�)r�r�z
gpg-pubkeyr�wN)r4r�r�r�r�rYrr(r�r�r��_RPMVSF_NOSIGNATURES�_RPMVSF_NODIGESTSZdbMatchrp�dirname�makedirs�openr9)r3ZgpgkeyscheckedrYZmyts�idx�keysZmydirZfor5r5r6�_gpg_key_checkGs&

zBase._gpg_key_checkc	Cs�|j|�\}}|j|�x~|D]v}tjj|j�}|jj�j|d�}|jj	rb|j
|jj�j|d��}|j|d�}|dk	r�|j|d�}|jj
||d�qWt|�S)N)r�)r)rm)r�r�)r	r�rr�r�r`rqrrr4rrurrr�rp)	r3rqrmr|�already_instrr�rrr5r5r6r�es

zBase._install_multiarchcCs,tj�}tj�}t||�t||�||fS)a�
        Categorize :param install and :param exclude list into two groups each (packages and groups)

        :param install: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :param exclude: list of specs, whether packages ('foo') or groups/modules ('@bar')
        :return: categorized install and exclude specs (stored in argparse.Namespace class)

        To access packages use: specs.pkg_specs,
        to access groups use: specs.grp_specs
        )�argparseZ	Namespacer)r3r�r��
install_specs�
exclude_specsr5r5r6�_categorize_specsss


zBase._categorize_specscsddd�|jD���fdd�|jD�}|jj�j|d�}|jj�j�d�}|jj|�|jj|�dS)NcSsg|]}tjj|�r|�qSr5)rr�r�)rZr�r5r5r6r\�sz/Base._exclude_package_specs.<locals>.<listcomp>csg|]}|�kr|�qSr5r5)rZr�)�
glob_excludesr5r6r\�s)r�)r�)�	pkg_specsr`rqr�ry)r3r��excludesr}Zglob_exclude_queryr5)r�r6�_exclude_package_specs�szBase._exclude_package_specsc
Cs�t�}t|j|jtjtjBtjtjB�}x�|D]�}y|j|�}Wn8t	j
jk
rx}ztj
dt|��w.WYdd}~XnX|j|j�|j|j�x8|jD].}|jj|�}x|j�D]}	|j|	j�q�Wq�Wq.Wt|�S)NzWarning: Module or %s)rrrr�r�r�r�r�r�rrQr�rMr5r
r<r�r�Z_environment_by_idZgroups_iterr�rPr)
r3�group_specsr�rr�r�r�Zenvironment_idZenvironmentr-r5r5r6�_expand_groups�s"


zBase._expand_groupsc
Cs�x�|D]x}yL|jj}d|kr<|jd�}|d}|djd�}|j|g|||j|j�Wqtjjk
r||j	d|�YqXqWdS)Nrsrr��,�@)
r4Zgroup_package_types�splitr�r��	grp_specsrrQrcrw)r3r�r�Zskippedr|Z
group_specr�rr5r5r6�_install_groups�s

zBase._install_groupscCs�|dkrg}g}g}g}g}	|j||�\}
}|j|�xd|
jD]Z}y|j||||d�Wq>tjjk
r�}
ztjt	|
��|j
|�WYdd}
~
Xq>Xq>Wg}f}to�|
j�rLy tj
jj|�}|j|
j|�Wnxtjjk
�rH}
zV|
j�r
x|
jD]}|j
|�q�W|
j�r2x|
jD]}|j
d|��qW|
j}WYdd}
~
XnXn|
j}|�rv|j|j�|_|j||||�|�s�|�s�|�s�|	�s�|�r�tjj||||	|d��dS)N)rmr|�formsr)�no_match_group_specs�error_group_specs�no_match_pkg_specs�error_pkg_specs�module_depsolv_errors)r�r�r�r�rrQ�MarkingErrorrMr5r�rwrorrerfZ
ModuleBaseZ
MarkingErrorsrrr	r�r)r3r�r�rmr|rrrrrr�r��specrUZno_match_module_specsr	rfZe_specr5r5r6r��sN
 zBase.install_specsc
Cs�tjj|�}|j|j|dd�}|jjdks4|j|�rr|d}|dk	rP|j|d�|sb|j	|||�|j
|||d�S|jjdkr�|j|||jj|d	|d
�}|s�|j	|||�x|D]}	|j
j|	|d�q�WdSd
S)z@Mark package(s) given by pkg_spec and reponame for installation.F)r�with_srcrhrqN)rm)rmr|rT)rrrm�reports�solution)r�r�r�r)rrsrt�get_best_solutionr`r4r�Z_is_arch_specifiedrr�_raise_package_not_found_errorr��_get_best_selectorsrrr�)
r3�pkg_specrmr|rr|rr�sltrsrr5r5r6r��s,
zBase.installcCs�|jrd}t|��|jj�j�j|j|jdgd�}|shtd�}t	j
||j�tjj
td�|j|j��n\t|�d|kr�tjj|j�}|j|gd�|jj||d�d	Std
�}t	j
||j�dSdS)Nz-downgrade_package() for an installed package.�noarch)r�r�z.Package %s not installed, cannot downgrade it.zNo match for argument: %sr)r�)r�r�r�zCPackage %s of lower version already installed, cannot downgrade it.)�_from_system�NotImplementedErrorr`rqr�rrr�r�rrMrdrrQr
ru�sortedr�r�rrr�)r3r�r|r�rrr5r5r6�package_downgrades  zBase.package_downgradecCs�|jj�j|j|j|j�}|j|�\}}||kr>|j|g�nT|tj	j
|�krdtjj
td�|j��n.tjj|j�}|j|gd�|jj||d�dS)NzNo match for argument: %s)r�)r�r�r�)r`rq�_nevrar�r�r�r	r�r�r�r�rrQ�PackageNotFoundErrorrrur�r�rrr�)r3r�r|rr�rrr5r5r6�package_installszBase.package_installcCsf|jj�j�j|j|j|jd�r0|jj|�dSt	d�}t
j|t|��t
jjt	d�|j|j��dS)N)r�r�r�r�z.Package %s not installed, cannot reinstall it.zNo match for argument: %s)r`rqr�rrr�r�r�rr�rrMrdr�rrQr
ru)r3r�r�r5r5r6�package_reinstall(s zBase.package_reinstallcCs|jj|�dS)Nr�)rr�)r3r�r5r5r6�package_remove0szBase.package_removecCs`|jrd}t|��|jdkr6td�}tj||j�dS|jj�j	�j
�}|jjr�|jj�j
|gd�j
|d�r�tjj|j�}|j|gd�|jj|d�dS|jd	kr�|j|jd
�}n|j|j|jd	gd�}|�std�}tj||j�tjjtd
�|j|j��nZt|�d|k�rBtjj|j�}|j|gd�|jj|d�dStd�}tj||j�dSdS)Nz+upgrade_package() for an installed package.r�z<File %s is a source package and cannot be updated, ignoring.r)r�)r)r�r�r)r�)r�r�z+Package %s not installed, cannot update it.zNo match for argument: %szHThe same or higher version of %s is already installed, cannot update it.r�)rrr�rrMr�rur`rqr�rxr4rrrrr�r�rrr�r�r�rdrQr
r)r3r�r�r�rrr5r5r6�package_upgrade4s:
$
zBase.package_upgradec	Cs�|jj�j�}|j|jj�jdd�|D�d��}|j�}|rf|jj�j�j|j|j��d�}|j|�}|dk	rz|j|d�|j||dd�}|r�|j|j	�j
dd�|D�d��}tjj
|j�}|j|d	�|jj|d
�dS)NcSsg|]
}|j�qSr5)r�)rZr�r5r5r6r\\sz*Base._upgrade_internal.<locals>.<listcomp>)r�)r)rmT)rr�cSsg|]
}|j�qSr5)r�)rZr�r5r5r6r\xs)r�)r�r�)r`rqr�r�rrrrur�r�r�r�rr�r�rrr�)	r3rqrrmrZ
installed_allrrVrr5r5r6�_upgrade_internalYs "
 zBase._upgrade_internalc
Csttjj|�}|j|j�}|d}|�rZtjj|�}|oH|doH|dj�r*|dj}|jj�j	�j
�}|jjr||j
|d�n|jj�jdd�}	|	�s*|j
|d�j
�}
|
s�td�}tj||�tjjtd�||��nV|djo�tjj|dj��r*|
j|djd	��s*td
�}tj|dj||dj��|jj�oH|d�oH|dj�}|j||||�Stjjtd�||��dS)Nrq�nevra)rT)ri)r�z(Package %s available, but not installed.zNo match for argument: %s)r�z?Package %s available, but installed for different architecture.z{}.{})rrsrtrr`r�r�r�rqr�rxr4rr�rrrrMrdrQ�PackagesNotInstalledErrorr�rOZ
has_just_namerr
)
r3rrmr|rrZwildcard�pkg_namer�Z
obsoletersZinstalled_namer�rr5r5r6r�s0
& zBase.upgradecCs|j|jj�|jj|dd�S)N)r)rr`rqr4r)r3rmr5r5r6�upgrade_all�szBase.upgrade_allcCs�|dkr|jj�nxtjj|�}|j|jdd�}|djtj	d�|j
|||jjdd�}|spt
jtd�|�dSx|D]}|jj|d	�qvWd
S)NF)rrq)�
reponame__neqT)rrr
zNo package %s installed.r)r�r�)rZdistupgrade_allrrsrtrr`rrrKZSYSTEM_REPO_NAMErr4rrMr�rZdistupgrade)r3rrsrrrr5r5r6�distro_sync�s
zBase.distro_synccCs�t|||g�r�||7}d}|rF|rFx4|D]}td�}tj||�q(Wn|rX|j|�rXd}xX|D]P}y|j||d�Wn4tjjk
r�}	ztj	t
|	��WYdd}	~	Xq^Xd}q^W|s�tjtd��n4|jj�j
|jj|jjd�}
x|
D]}|j|�q�WdS)z�Removes all 'leaf' packages from the system that were originally
        installed as dependencies of user-installed packages but which are
        no longer required by any such package.FzNot a valid form: %sT)rNzNo packages marked for removal.)rb)�anyrrMrdr�r�rrQr
r�r�r`rqr�r�r�r4rbr)r3rr�r�	filenamesr�Zgrp_specr�rrUr}r�r5r5r6r��s,


 
zBase.autoremovecsptjj|�j�j|d�}��fdd�|j�D�}|sB�j||���jj}x|D]}�j	j
||d�qPWt|�S)z'Mark the specified package for removal.)rcs(g|] }�dks �jj|��kr|�qS)N)r�rS)rZr�)rmr3r5r6r\�szBase.remove.<locals>.<listcomp>)r�)rrsrtrvr`r��"_raise_package_not_installed_errorr4r�rr�rp)r3rrmrr
r�r�r�r5)rmr3r6r��s
zBase.removecstjj|�}|j�j�}��fdd�|j�D�}|j�}	|dk	rL|	j|d�|dk	r`|	j|d�tjj	|	�}
|s�tj
jd||
j���d}�j
j}x\|D]T}
y|
t|
�}Wn*tk
r�|s�w��jj|
|d�YnX�jj|�|d7}q�W|dk�rtj
jd||��|S)	Ncs(g|] }�dks �jj|��kr|�qS)N)r�rS)rZr�)�old_reponamer3r5r6r\�sz"Base.reinstall.<locals>.<listcomp>)rm)r$zno package matchedr)r�r�)rrsrtrvr`r�rrrrqZ_per_nevra_dictrQr!r�r4r�r
�KeyErrorrr�r�ZPackagesNotAvailableError)r3rr)Znew_reponameZnew_reponame_neqZ	remove_nar|rr�Zavailable_qZavailable_nevra2pkgr�r�Z
installed_pkgZ
available_pkgr5)r)r3r6�	reinstall�s6


zBase.reinstallcCs
|j|�S)z�Mark a package to be downgraded.

        This is equivalent to first removing the currently installed package,
        and then installing an older version.

        )�downgrade_to)r3rr5r5r6�	downgrade	szBase.downgradec
Cstjj|�}|j|j�}|s6td�|}tjj||��d}|j�}t	|j
�j��}|jj�j
�j|d�}	t|	�dkr�td�|}tjj|||��xn|	j
�j�D]^}
|j�j|
d�}|s�td�}tj||
�q�tjj|j�}|j|d�|jj||d�d}q�W|S)	z�Downgrade to specific version if specified otherwise downgrades
        to one version lower than the package installed.
        zNo match for argument: %sr)r�z6Packages for argument %s available, but not installed.zDPackage %s of lowest version already installed, cannot downgrade it.)r�)r�r�r�)rrsrtrvr`rrQrrr�
_name_dictr�rqr�rrrpr!Z
downgradesr�rMrdr�r�rrr�)
r3rr|r|rr�r�Zavailable_pkgsZavailable_pkg_namesZq_installedr"Zdowngrade_pkgsrr5r5r6r,	s.zBase.downgrade_tocs�|jj�j�d�}|r |�gfStjj|j��}|r>|�gfS�jd�sR�jd�r^d�g}n&�jd�rr|�gfS�fdd�d
D�}|jj�j|d�|fS)N)Z
file__glob�/bin/�/sbin/z/usrrscsg|]}|��qSr5r5)rZ�prefix)�
provides_specr5r6r\E	sz!Base.provides.<locals>.<listcomp>�	/usr/bin/�
/usr/sbin/)r/r0r3r4)r`rqrrrZ_by_provides�
startswith)r3r2Z	providersZbinary_providesr5)r2r6r�6	s




z
Base.providesc
Cs�ddd�}||krtd��||}|rDd|}	|jj|	t��j|�|rfd|}	|jj|	t��j|�|r�d|}	|jj|	t��j|�|r�d|}	|jj|	t��j|�|r�d	|}	|jj|	t��j|�d
S)a�
        It modifies results of install, upgrade, and distrosync methods according to provided
        filters.

        :param cmp_type: only 'eq' or 'gte' allowed
        :param types: List or tuple with strings. E.g. 'bugfix', 'enhancement', 'newpackage',
        'security'
        :param advisory: List or tuple with strings. E.g.Eg. FEDORA-2201-123
        :param bugzilla: List or tuple with strings. Include packages that fix a Bugzilla ID,
        Eg. 123123.
        :param cves: List or tuple with strings. Include packages that fix a CVE
        (Common Vulnerabilities and Exposures) ID. Eg. CVE-2201-0123
        :param severity: List or tuple with strings. Includes packages that provide a fix
        for an issue of the specified severity.
        Z__eqgZ	__eqg__gt)�eqZgtez Unsupported value for `cmp_type`Z
advisory_type�advisoryZadvisory_bugZadvisory_cveZadvisory_severityN)r�r/�
setdefaultrr<)
r3Zcmp_typer�r7ZbugzillaZcvesZseverityZcmp_dictZcmpr�r5r5r6�add_security_filtersI	s&
zBase.add_security_filterscCs
i|_dS)z,
        Reset all security filters
        N)r/)r3r5r5r6�reset_security_filtersn	szBase.reset_security_filtersc
Cs>|jp
|js|r|S|jj�jdd�}|jrRx|jD]}|j|�}q8W|g|_|jr�x<|jj�D].\}}|rx|d}||i}	|j|jf|	��}qdW|j|�}|�s:|�r:|j	�}t
|j�j��}
|
dk�r:|dk�rt
d�j|
�}t
d�j|
�}tjt|||
��n2t
d�j||
�}t
d	�j||
�}tjt|||
��|S)
z�
        Merge Queries in _update_filters and return intersection with q Query
        @param q: Query
        @return: Query
        T)riZ	__upgraderNz3No security updates needed, but {} update availablez4No security updates needed, but {} updates availablez<No security updates needed for "{}", but {} update availablez=No security updates needed for "{}", but {} updates available)r/r.r`rqrrru�itemsr�r�r�rpr.r�rrOrMrdr	)
r3rrrdr�Zmerged_queriesrqZfilter_namer��kwargsrZZmsg1Zmsg2r5r5r6r�u	s>


zBase._merge_update_filtersc
s�jrtd�}t|���|j�j��j|jk}|r:gn�j}��fdd�}d}|jj�j��x |D�]}	t	j
j|	��}
�x|
D�]�}tj
|j|j|j�dkr�td�}tj||	|j�q�|jjr�t	jjj|j|j�}t	jjj|�}
tjt	jj||
��|	|_|jj�rt	j
j||
�nt	j
j |�d}|jj!�r:d}n�|jj"�r�|jj�r�|
t	jj#j$t	jj#j%fk�r�d}tjt	jj&td���nd}tjt	jj&td	���nd}n<|�r�|�|j|j|	|j'|jd
��}n|�r�|�|j|j�}|�s�d}q�|jj(t)j*�}|�r|jj+�}|jj,|t)j*�|jj-tj.|j��}|�rD|jj,|�|dk�rjtd�|}t	j/j0||���tjtd��d}q�WqhW|�r�|�r�t	j/j0td
���|�s�td��j1}t	j/j0||���|j2��\}}|dk�r|�r�td�}tj|�t3|�}t	j/j0||���dS)a�Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param po: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        z6Unable to retrieve a key for a commandline package: %scs0|td��d7}|td�dj�j�7}|S)Nz. Failing package is: %sz
 zGPG Keys are configured as: %sz, )rr�r�)r�)r�rSr5r6�_prov_key_data�	sz1Base._get_key_for_package.<locals>._prov_key_dataFrz)GPG key at %s (0x%s) is already installedTzThe key has been approved.zThe key has been rejected.)r��useridZhexkeyid�keyurl�fingerprint�	timestampzKey import failed (code %d)zKey imported successfullyzDidn't install any keysz�The GPG keys listed for the "%s" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.z+Import of key(s) didn't help, wrong key(s)?N)4rrr�r^r~rPr1r�r�rZcryptoZretriever
ZkeyInstalledr�Zrpm_idrArMr�Zshort_idr4r�r�ZKeyInfoZfrom_rpm_key_objectr>Zraw_keyZDNSSECKeyVerificationZverifyZ
nice_user_msg�urlZlog_dns_key_importZlog_key_importZassumenoZ	assumeyesZValidityZVALIDZPROVEN_NONEXISTENCEZany_msgr@r9r(r:Z
getTsFlagsr�ZpgpImportPubkeyZ
procgpgkeyrQrcr�r�r
)r3r��askcb�	fullaskcbr�Z
key_installedZkeyurlsr=Zuser_cb_failr?r�r�Z
dns_input_keyZ
dns_resultZrcZ	test_flagZ
orig_flagsr��errmsgr5)r�rSr6�_get_key_for_package�	s�








zBase._get_key_for_packagecCs|j|||�dS)a�Retrieve a key for a package. If needed, use the given
        callback to prompt whether the key should be imported.

        :param pkg: the package object to retrieve the key of
        :param askcb: Callback function to use to ask permission to
           import a key.  The arguments *askcb* should take are the
           package object, the userid of the key, and the keyid
        :param fullaskcb: Callback function to use to ask permission to
           import a key.  This differs from *askcb* in that it gets
           passed a dictionary so that we can expand the values passed.
        :raises: :class:`dnf.exceptions.Error` if there are errors
           retrieving the keys
        N)rF)r3r�rCrDr5r5r6�package_import_key$
szBase.package_import_keycCs4g}|jj�x |jj�D]}|jt|��qW|S)N)r�r�Zproblemsrwr
)r3�resultsZprobr5r5r6r45
s

zBase._run_rpm_check�w+bcKstjj||j||f|�S)z�
        Open the specified absolute url, return a file object
        which respects proxy setting even for non-repo downloads
        )rr�Z_urlopenr4)r3rBrS�moder<r5r5r6�urlopen@
szBase.urlopencCs,|dkr|jjtjd�}|j|jjd�}|S)N)r�)r�)rrqrKr�r�r4r�)r3rZinstallonlyr5r5r6r�H
szBase._get_installonly_querycCsrtjj|dd�}|j|jdddd�}|drn|drn|djrn||ddjkrntjtd�j	|ddj��dS)	NT)r�F)rjrkrlrqr rz  * Maybe you meant: {})
rrsrtrr`r�rMr�rrO)r3rr|rr5r5r6�_report_icase_hintN
s

zBase._report_icase_hintcCs�dd�}g}g}x6|D].}|j�r:|jtjkrD|j|�q|j|�qWtd�}|||�sjtjjtd���|j	j
r�td�}|||�s�tjjtd���g}||fS)a Check checksum of packages from local repositories and returns list packages from remote
        repositories that will be downloaded. Packages from commandline are skipped.

        :param install_pkgs: list of packages
        :return: list of remote pkgs
        cSsxd}xn|D]f}d}y|j�}Wn0tk
rN}ztjt|��WYdd}~XnX|dk	r
tj|j||j��d}q
W|S)NTF)ZverifyLocalPkgrLrMr�r�rOrm)Zpkg_listZ
logger_msgZall_packages_verifiedr�Zpkg_successfully_verifiedrUr5r5r6�_verification_of_packages]
s
 z;Base._select_remote_pkgs.<locals>._verification_of_packagesz>Package "{}" from local repository "{}" has incorrect checksumz;Some packages from local repository have incorrect checksumz8Package "{}" from repository "{}" has incorrect checksumzVSome packages have invalid cache, but cannot be downloaded due to "--cacheonly" option)Z
_is_local_pkgrmrKZCMDLINE_REPO_NAMErwrrrQrcr4r�)r3Zinstall_pkgsrMryZlocal_repository_pkgsr�r�r5r5r6rtV
s&




zBase._select_remote_pkgscCsx|D]}t|�qWdS)N)�_msg_installed)r3r�r�r5r5r6r��
s
zBase._report_already_installedc	Cs�|jjtjd�}tjj|�}|j|j|d|d�}|dk	rH|dj|d�|dsdtj	j
td�|��nB|jjtjd�}|dj
|�}|r�td�}ntd�}tj	j
||��dS)	N)r�F)rrrqrq)rmzNo match for argumentz?All matches were filtered out by exclude filtering for argumentz?All matches were filtered out by modular filtering for argument)r`rqrKr�rrsrtrrrrQrrZIGNORE_REGULAR_EXCLUDESr�)	r3rrrm�	all_queryrsrZwith_regular_queryr�r5r5r6r�
s
z#Base._raise_package_not_found_errorc	s��jjtjd�j�}tjj|�}|j�j|d|d�}|dsNtj	j
td�|���dk	rp��fdd�|dD�}n|d}|s�td�}ntd	�}tj	j
||��dS)
N)r�F)rrrqrqzNo match for argumentcs g|]}�jj|��kr|�qSr5)r�rS)rZr�)rmr3r5r6r\�
sz;Base._raise_package_not_installed_error.<locals>.<listcomp>zCAll matches were installed from a different repository for argumentz?All matches were filtered out by exclude filtering for argument)r`rqrKr�r�rrsrtrrQr!r)	r3rrrmrOrsrr�r�r5)rmr3r6r(�
s
z'Base._raise_package_not_installed_errorcCs|jj|jdd�dS)z�
        Setup DNF file loggers based on given configuration file. The loggers are set the same
        way as if DNF was run from CLI.
        T)Zfile_loggers_onlyN)r$Z_setup_from_dnf_confr4)r3r5r5r6�
setup_loggers�
szBase.setup_loggerscs�|jjtjtjBtjB@r d}nd}t|j�}|j|dd�}|jf|�}|rl|rlt	j
j|j��}t
j|�t|jdd��}t|jdd��|}	dd���fdd�|D��t��fd	d�|D��}
t��fd
d�|	D��}|
|fS)z�returns set of conflicting packages and set of packages with broken dependency that would
        be additionally installed when --best and --allowerasingTF)rrZignore_weak)rcSstj|j|j|j|j|jd�S)N)r��epoch�version�releaser�)rKZNEVRAr�rQrRrSr�)�itemr5r5r6r�
sz&Base._skipped_packages.<locals>._nevracsg|]}�|��qSr5r5)rZr*)rr5r6r\�
sz*Base._skipped_packages.<locals>.<listcomp>csg|]}�|��kr|�qSr5r5)rZr�)r�transaction_nevrasr5r6r\�
scsg|]}�|��kr|�qSr5r5)rZr�)rrUr5r6r\�
s)rZactionsrK�INSTALLZUPGRADEZUPGRADE_ALLrr0rrr�rrrMrdr�problem_conflictsZproblem_broken_dependency)r3Zreport_problemsr�rZngZparamsrr�rWZproblem_dependencyZskipped_conflictsZskipped_dependencyr5)rrUr6�_skipped_packages�
s(


zBase._skipped_packages)N)F)F)TT)T)N)FFF)F)F)N)T)NN)TN)rhNNFN)N)NTN)NT)TNN)NT)T)NNTN)NTN)F)T)N)N)N)N)NNNN)NN)NNNF)F)NTF)NN)NN)NrI)N)��__name__�
__module__�__qualname__r7r8r:r;r?rV�staticmethodrrgrr��propertyrr4r^�deleterrr�Zlazyattrr�r`rar��setterr�r�r�r�r�r�r�r�r�r9r�r�r�r(ZRPMTRANS_FLAG_NOSCRIPTSZRPMTRANS_FLAG_NOTRIGGERSZRPMTRANS_FLAG_NODOCSr:ZRPMTRANS_FLAG_JUSTDBZRPMTRANS_FLAG_NOCONTEXTSZRPMTRANS_FLAG_NOFILEDIGESTr�r/r�r�r�r�r�r�r�r�r�rr	r
rrr!rAr8rLr;rUrqrzr~r�r�r�r�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�rrrrrrr�r#r%r�r�r+r-r,r�r9r:r�rFrGr4rKr�rLrtr�rr(rPrXr5r5r5r6r[s�
	
=
	
8
;
>

=


	
'\
8l"]
*
B

;

)
=

*



/


%
&


#&
%)-rcCs t|�}td�}tj||�dS)Nz Package %s is already installed.)r
rrMr�)r�r�r�r5r5r6rN�
srN)H�__doc__Z
__future__rrrrr�rZlibdnf.transactionr�rxrZ	dnf.compsrZdnf.i18nrr	r
Zdnf.utilrZdnf.db.historyrZdnf.yumr
�collections.abcr�ImportError�collectionsr�Zdnf.callbackZdnf.confZ
dnf.conf.readZ
dnf.cryptoZ
dnf.dnssecZdnf.drpmZdnf.exceptionsZdnf.goalZdnf.historyZdnf.lockZdnf.loggingZdnf.module.module_baseroZ
dnf.persistorZ
dnf.pluginZ	dnf.queryZdnf.repoZdnf.repodictZdnf.rpm.connectionZdnf.rpm.miscutilsZdnf.rpm.transactionZdnf.sackZdnf.selectorZdnf.subjectZdnf.transactionZdnf.yum.rpmtransr�r�rKr�r#rHr�r�rEr(r�rwZ	getLoggerrM�objectrrNr5r5r5r6�<module>s�

PK!�FZ�:x�kfkf __pycache__/comps.cpython-36.pycnu�[���3

h�-e�`�@s�ddlmZddlmZddlmZddlZddlmZddlm	Z	m
Z
ddlmZddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�ZejjZejjZejjZ ejj!Z"eeBe Be"BZ#d	d
�Z$dd�Z%d
d�Z&dd�Z'd*dd�Z(Gdd�de)�Z*Gdd�de)�Z+Gdd�de)�Z,Gdd�de,�Z-Gdd�de,�Z.Gdd�de,�Z/Gd d!�d!e,�Z0Gd"d#�d#e)�Z1Gd$d%�d%e)�Z2Gd&d'�d'e)�Z3Gd(d)�d)e)�Z4dS)+�)�absolute_import)�print_function)�unicode_literalsN)�
CompsError)�_�ucd)�reduce�dnfcCs"|j|j|jf}ttjtt|��S)N)�
categories�groups�environmentsr�operator�__add__�map�len)�comps�collections�r�/usr/lib/python3.6/comps.py�_internal_comps_length6srcCs|dkrdStjj|�S)N)r	�util�first)�seqrrr�_first_if_iterable;srcs�tjj����fdd�|D�}|r&|S|r>tjtj���j}ntjtj��tjd�j}t	�}x`|D]X}||j
�r||j|�qb|jdk	r�||j�r�|j|�qb|j
dk	rb||j
�rb|j|�qbW|S)z;Return items from sqn matching either exactly or glob-wise.cs$h|]}|j�ks|j�kr|�qSr)�name�id)�.0�g)�patternrr�	<setcomp>Esz_by_pattern.<locals>.<setcomp>)�flagsN)r	Zi18nr�re�compile�fnmatch�	translate�match�I�setr�addr�ui_name)r�case_sensitiveZsqn�exactr%�retrr)rr�_by_patternAs 

r-cCs|jdkrtjS|jS)N)Z
display_order�sys�maxsize)�grouprrr�_fn_display_orderZsr1TcCs||||||�S)aF
    Installs a group or an environment identified by grp_or_env_id.
    This method is preserved for API compatibility. It used to catch an
    exception thrown when a gorup or env was already installed, which is no
    longer thrown.
    `install_fnc` has to be Solver._group_install or
    Solver._environment_install.
    r)Zinstall_fncZ
grp_or_env_id�types�exclude�strict�exclude_groupsrrr�install_or_skip^s
r6c@s,eZdZdZdd�Zedd��Zdd�ZdS)	�_Langsz6Get all usable abbreviations for the current language.cCsd|_d|_dS)N)�last_locale�cache)�selfrrr�__init__osz_Langs.__init__cCs"tjtj�}|dkrdSdj|�S)N�C�.)NN)�localeZ	getlocale�LC_MESSAGES�join)Zlclrrr�_dotted_locale_strssz_Langs._dotted_locale_strcCsz|j�}|j|kr|jSg|_|g}|dkr6|jd�x6|D].}x(tj|�D]}||jkrL|jj|�qLWq<W||_|jS)Nr<)rAr8r9�append�gettextZ_expand_lang)r:Zcurrent_localeZlocales�lZnlangrrr�getzs



z
_Langs.getN)�__name__�
__module__�__qualname__�__doc__r;�staticmethodrArErrrrr7ksr7c@s<eZdZdZdZdZdZdd�Zdd�Zdd�Z	d	d
�Z
dS)�
CompsQuery��cCs||_||_||_||_dS)N)r�history�kinds�status)r:rrNrOrPrrrr;�szCompsQuery.__init__cCs`t�}|j|j@r&|jdd�|D��|j|j@r\x(|D] }|j�}|sJq8|j|j��q8W|S)NcSsh|]
}|j�qSr)r)r�irrrr�sz)CompsQuery._get_groups.<locals>.<setcomp>)r'rP�	AVAILABLE�update�	INSTALLEDZgetCompsGroupItemr(�
getGroupId)r:�	available�	installed�resultrQr0rrr�_get_groups�s
zCompsQuery._get_groupscCs`t�}|j|j@r&|jdd�|D��|j|j@r\x(|D] }|j�}|sJq8|j|j��q8W|S)NcSsh|]
}|j�qSr)r)rrQrrrr�sz'CompsQuery._get_envs.<locals>.<setcomp>)r'rPrRrSrTZgetCompsEnvironmentItemr(ZgetEnvironmentId)r:rVrWrXrQ�envrrr�	_get_envs�s
zCompsQuery._get_envsc	Gstjj�}g|_g|_x�|D]�}g}}|j|j@rf|jj|�}|j	j
j|�}|j||�}|jj
|�|j|j@r�|jj|�}|j	jj|�}|j||�}|jj
|�|o�|r|j|jkr�td�t|�}n.|j|jkr�td�t|�}ntd�t|�}t|��qW|S)Nz&Module or Group '%s' is not installed.z&Module or Group '%s' is not available.z$Module or Group '%s' does not exist.)r	rZBunchrrrO�ENVIRONMENTSr�environments_by_patternrNrZZsearch_by_patternr[�extend�GROUPS�groups_by_patternr0rYrPrTrrrRr)	r:Zpatterns�resZpat�envs�grpsrVrW�msgrrrrE�s.

zCompsQuery.getN)rFrGrHrRrTr\r_r;rYr[rErrrrrK�srKc@s<eZdZdd�Zdd�Zdd�Zedd��Zed	d
��ZdS)�	ForwardercCs||_||_dS)N)�_i�_langs)r:�iobj�langsrrrr;�szForwarder.__init__cCst|j|�S)N)�getattrrf)r:rrrr�__getattr__�szForwarder.__getattr__cCs.x(|jj�D]}|j|�}|dk	r|SqW|S)N)rgrE)r:�defaultZdctrD�trrr�_ui_text�s

zForwarder._ui_textcCs|j|j|j�S)N)rnZdescZdesc_by_lang)r:rrr�ui_description�szForwarder.ui_descriptioncCs|j|j|j�S)N)rnrZname_by_lang)r:rrrr)�szForwarder.ui_nameN)	rFrGrHr;rkrn�propertyror)rrrrre�s
recs8eZdZ�fdd�Zdd�Zdd�Zedd��Z�ZS)	�Categorycstt|�j||�||_dS)N)�superrqr;�_group_factory)r:rhri�
group_factory)�	__class__rrr;�szCategory.__init__cCs0|j|j�}|dkr,d}t||j|jf��|S)Nz no group '%s' from category '%s')rsr�
ValueErrorr)r:�grp_id�grprdrrr�_build_group�s
zCategory._build_groupccs x|jD]}|j|�VqWdS)N)�	group_idsry)r:rwrrr�groups_iter�szCategory.groups_itercCst|j��S)N)�listr{)r:rrrr�szCategory.groups)	rFrGrHr;ryr{rpr�
__classcell__rr)rurrq�srqcsLeZdZ�fdd�Zdd�Zdd�Zdd�Zed	d
��Zedd��Z	�Z
S)
�Environmentcstt|�j||�||_dS)N)rrr~r;rs)r:rhrirt)rurrr;�szEnvironment.__init__cCs0|j|j�}|dkr,d}t||j|jf��|S)Nz#no group '%s' from environment '%s')rsrrvr)r:rwrxrdrrrrys
zEnvironment._build_groupcCsXg}xN|D]F}y|j|j|��Wq
tk
rN}ztj|�WYdd}~Xq
Xq
W|S)N)rBryrv�logger�error)r:ZidsrZgi�errr�
_build_groupss
 zEnvironment._build_groupsccs\xVtj|j|j�D]B}y|j|�VWqtk
rR}ztj|�WYdd}~XqXqWdS)N)�	itertools�chainrz�
option_idsryrvrr�)r:rwr�rrrr{s
zEnvironment.groups_itercCs|j|j�S)N)r�rz)r:rrr�mandatory_groupsszEnvironment.mandatory_groupscCs|j|j�S)N)r�r�)r:rrr�optional_groupsszEnvironment.optional_groups)rFrGrHr;ryr�r{rpr�r�r}rr)rurr~�s
r~csheZdZ�fdd�Zdd�Zedd��Zedd��Zd	d
�Zedd��Z	ed
d��Z
edd��Z�ZS)�Groupcs$tt|�j||�||_|j|_dS)N)rrr�r;�_pkg_factoryrlZselected)r:rhriZpkg_factory)rurrr;"szGroup.__init__cs�fdd�|jD�S)Ncsg|]}|j�kr|�qSr)�type)r�pkg)�type_rr�
<listcomp>(sz+Group._packages_of_type.<locals>.<listcomp>)�packages)r:r�r)r�r�_packages_of_type'szGroup._packages_of_typecCs|jtj�S)N)r��libcomps�PACKAGE_TYPE_CONDITIONAL)r:rrr�conditional_packages*szGroup.conditional_packagescCs|jtj�S)N)r�r��PACKAGE_TYPE_DEFAULT)r:rrr�default_packages.szGroup.default_packagescCst|j|j�S)N)rr�r�)r:rrr�
packages_iter2szGroup.packages_itercCs|jtj�S)N)r�r��PACKAGE_TYPE_MANDATORY)r:rrr�mandatory_packages6szGroup.mandatory_packagescCs|jtj�S)N)r�r��PACKAGE_TYPE_OPTIONAL)r:rrr�optional_packages:szGroup.optional_packagescCs|jjS)N)rfZuservisible)r:rrr�visible>sz
Group.visible)
rFrGrHr;r�rpr�r�r�r�r�r�r}rr)rurr� sr�c@sLeZdZdZejeejeej	e
ejeiZ
dd�Zedd��Zedd��ZdS)	�Packagez#Represents comps package data. :apicCs
||_dS)N)rf)r:�ipkgrrrr;LszPackage.__init__cCs|jjS)N)rfr)r:rrrrOszPackage.namecCs|j|jS)N)�_OPT_MAPr�)r:rrr�option_typeTszPackage.option_typeN)rFrGrHrIr�r��CONDITIONALr��DEFAULTr��	MANDATORYr��OPTIONALr�r;rprr�rrrrr�Bs
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Zd-dd�Zd.dd�Z
dd�Ze
dd��Zdd�Zd/dd�Zd0dd�Zd d!�Ze
d"d#��Zd$d%�Zd1d&d'�Zd2d(d)�Zd*d+�Zd,S)3�CompscCstj�|_t�|_dS)N)r�r�rfr7rg)r:rrrr;\s
zComps.__init__cCs
t|j�S)N)rrf)r:rrr�__len__`sz
Comps.__len__cCst||j|j�S)N)rqrg�_group_by_id)r:Z	icategoryrrr�_build_categorycszComps._build_categorycCst||j|j�S)N)r~rgr�)r:Zienvironmentrrr�_build_environmentfszComps._build_environmentcCst||j|j�S)N)r�rg�_build_package)r:ZigrouprrrryiszComps._build_groupcCst|�S)N)r�)r:r�rrrr�lszComps._build_packagecCsVtj�}y|j|�Wn,tjk
rB|j�}tdj|���YnX|j|7_dS)N� )r�r�Z	fromxml_fZParserErrorZget_last_errorsrr@rf)r:�fnr�errorsrrr�_add_from_xml_filenameoszComps._add_from_xml_filenamecCst|j��S)N)r|�categories_iter)r:rrrr
xszComps.categoriesFcCs$tjj|�st�|j||�}t|�S)N)r	r�is_string_type�AssertionError�categories_by_patternr)r:rr*Zcatsrrr�category_by_pattern}szComps.category_by_patterncCstjj|�st�t|||j�S)N)r	rr�r�r-r
)r:rr*rrrr��szComps.categories_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)r�)r�c)r:rr�	<genexpr>�sz(Comps.categories_iter.<locals>.<genexpr>)rfr
)r:r)r:rr��szComps.categories_itercCst|j�td�S)N)�key)�sorted�environments_iterr1)r:rrrr�szComps.environmentscs.tjj��st�tjj�fdd�|j�D��S)Nc3s|]}|j�kr|VqdS)N)r)rr)rrrr��sz+Comps._environment_by_id.<locals>.<genexpr>)r	rr�r�rr�)r:rr)rr�_environment_by_id�szComps._environment_by_idcCs$tjj|�st�|j||�}t|�S)N)r	rr�r�r]r)r:rr*rbrrr�environment_by_pattern�szComps.environment_by_patterncCs4tjj|�st�t|j��}t|||�}t|td�S)N)r�)	r	rr�r�r|r�r-r�r1)r:rr*rbZ
found_envsrrrr]�szComps.environments_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)r�)rr�)r:rrr��sz*Comps.environments_iter.<locals>.<genexpr>)rfr)r:r)r:rr��szComps.environments_itercCst|j�td�S)N)r�)r�r{r1)r:rrrr�szComps.groupscs.tjj��st�tjj�fdd�|j�D��S)Nc3s|]}|j�kr|VqdS)N)r)rr)�id_rrr��sz%Comps._group_by_id.<locals>.<genexpr>)r	rr�r�rr{)r:r�r)r�rr��szComps._group_by_idcCs$tjj|�st�|j||�}t|�S)N)r	rr�r�r`r)r:rr*rcrrr�group_by_pattern�szComps.group_by_patterncCs0tjj|�st�t||t|j���}t|td�S)N)r�)	r	rr�r�r-r|r{r�r1)r:rr*rcrrrr`�szComps.groups_by_patterncs�fdd��jjD�S)Nc3s|]}�j|�VqdS)N)ry)rr)r:rrr��sz$Comps.groups_iter.<locals>.<genexpr>)rfr)r:r)r:rr{�szComps.groups_iterN)F)F)F)F)F)F)rFrGrHr;r�r�r�ryr�r�rpr
r�r�r�rr�r�r]r�rr�r�r`r{rrrrr�Ys*	





r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
CompsTransPkgcCs�tjj|�r&d|_||_d|_d|_n\t|tj	j
�r\d|_|j�|_|j�t
j@|_d|_n&|j|_|j|_|jt
j@|_|j|_dS)NFT)r	rr��basearchonlyr�optional�requires�
isinstance�libdnf�transactionZCompsGroupPackage�getNameZgetPackageTyper�r�r�)r:Zpkg_or_namerrrr;�s
zCompsTransPkg.__init__cCs0|j|jko.|j|jko.|j|jko.|j|jkS)N)rr�r�r�)r:�otherrrr�__eq__�szCompsTransPkg.__eq__cCs|jS)N)r)r:rrr�__str__�szCompsTransPkg.__str__cCst|j|j|j|jf�S)N)�hashrr�r�r�)r:rrr�__hash__�szCompsTransPkg.__hash__N)rFrGrHr;r�r�r�rrrrr��sr�c@s�eZdZdd�Zdd�Zdd�Zedd��Zed	d
��Z	e	j
dd
��Z	edd
��Zej
dd
��Zedd��Zej
dd��Zedd��Z
e
j
dd��Z
dS)�TransactionBunchcCs$t�|_t�|_t�|_t�|_dS)N)r'�_install�_install_opt�_remove�_upgrade)r:rrrr;�szTransactionBunch.__init__cCsN|jj|j�|jj|j�|jj|j�|j|jB|j|j|j|_|S)N)r�rSr�r�r�)r:r�rrr�__iadd__�s
 zTransactionBunch.__iadd__cCs(t|j�t|j�t|j�t|j�S)N)r�install�install_opt�upgrade�remove)r:rrrr��szTransactionBunch.__len__cCs6x0|D](}t|t�r |j|�q|jt|��qWdS)N)r�r�r()Zparam�val�itemrrr�
_set_value�s

zTransactionBunch._set_valuecCs|jS)z�
        Packages to be installed with strict=True - transaction will
        fail if they cannot be installed due to dependency errors etc.
        )r�)r:rrrr�szTransactionBunch.installcCs|j|j|�dS)N)r�r�)r:�valuerrrr�	scCs|jS)zw
        Packages to be installed with strict=False - they will be
        skipped if they cannot be installed
        )r�)r:rrrr�
szTransactionBunch.install_optcCs|j|j|�dS)N)r�r�)r:r�rrrr�scCs|jS)N)r�)r:rrrr�szTransactionBunch.removecCs|j|j|�dS)N)r�r�)r:r�rrrr�scCs|jS)N)r�)r:rrrr�!szTransactionBunch.upgradecCs|j|j|�dS)N)r�r�)r:r�rrrr�%sN)rFrGrHr;r�r�rJr�rpr��setterr�r�r�rrrrr��sr�c@s�eZdZdd�Zedd��Zedd��Zegfdd��Zd	d
�Zdd�Z	ddd�Z
dd�Zdd�Zddd�Z
dd�Zdd�Zdd�Zd
S)�SolvercCs||_||_||_dS)N)rNrZ
_reason_fn)r:rNrZ	reason_fnrrrr;+szSolver.__init__cCsdd�|jD�S)NcSsh|]
}|j�qSr)r)rrxrrrr2sz.Solver._mandatory_group_set.<locals>.<setcomp>)r�)rZrrr�_mandatory_group_set0szSolver._mandatory_group_setcCs"dd�|j|j|j|jD�S)NcSsh|]}|j��qSr)r�)rr�rrrr6sz+Solver._full_package_set.<locals>.<setcomp>)r�r�r�r�)rxrrr�_full_package_set4szSolver._full_package_setcsv�fdd�}t�}|t@r*|j||j��|t@rB|j||j��|t@rZ|j||j��|t@rr|j||j	��|S)Ncs�fdd�|D�S)Ncsg|]}|j�kr|�qSr)r)rr�)r3rrr�=sz8Solver._pkgs_of_type.<locals>.filter.<locals>.<listcomp>r)�pkgs)r3rr�filter<sz$Solver._pkgs_of_type.<locals>.filter)
r'r�rSr�r�r�r�r�r�r�)r0�	pkg_typesr3r�r�r)r3r�
_pkgs_of_type:szSolver._pkgs_of_typecCstjj|�st�|jjj|�S)N)r	rr�r�rNr0Zis_removable_pkg)r:Zpkg_namerrr�_removable_pkgKszSolver._removable_pkgcCstjj|�st�|jjj|�S)N)r	rr�r�rNrZZis_removable_group)r:�group_idrrr�_removable_grpOszSolver._removable_grpNTc
Cs�tjj|�st�|jj|�}|s4ttd�t|���|j	j
j||j|j
|�}|j	j
j|�t�}xD|jD]:}	|r||	j|kr|qh||j|	j|||�7}|j|	jdt�qhWx.|jD]$}	|r�|	j|kr�q�|j|	jdt�q�W|S)Nz#Environment id '%s' does not exist.TF)r	rr�r�rr�rrrrNrZ�newrr)r�r�r�r�_group_install�addGroupr�r�r�)
r:�env_idr�r3r4r5�	comps_env�swdb_env�trans�comps_grouprrr�_environment_installSs"zSolver._environment_installcCs�tjj|�dkst�|jjj|�}|s6ttd�|��|jjj	|�t
�}tdd�|j�D��}x&|D]}|j
|�svqf||j|�7}qfW|S)NTz%Environment id '%s' is not installed.cSsg|]}|j��qSr)rU)rrQrrrr�ssz.Solver._environment_remove.<locals>.<listcomp>)r	rr�r�rNrZrErrr�r�r'�	getGroupsr��
_group_remove)r:r�r�r�rzr�rrr�_environment_removejs

zSolver._environment_removecCsNtjj|�st�|jj|�}|jjj|�}|s>t	t
d�|��|sRt	t
d�|��tdd�|j�D��}|j
�}|jjj|j|j|j|�}t�}x\|jD]R}|j|kr�|jjj|j�r�||j|j�7}n||j|j|�7}|j|jdt�q�WxL|jD]B}|j|k�r(|jjj|j��r(||j|j�7}|j|jdt�q�W|jjj|�|S)Nz"Environment '%s' is not installed.z"Environment '%s' is not available.cSsg|]}|j��qSr)rU)rrQrrrr��sz/Solver._environment_upgrade.<locals>.<listcomp>TF)r	rr�r�rr�rNrZrErrr'r��getPackageTypesr�rrr)r�r�r0�_group_upgrader�r�r�r�r�r�)r:r�r�r��old_setr�r�r�rrr�_environment_upgradezs.
zSolver._environment_upgradec
Cs�tjj|�st�|jj|�}|s4ttd�t|���|j	j
j||j|j
|�}x(|j�D]}|j|jdtj|j�qVW|j	j
j|�t�}	|r�|	jj|j||gd��n|	jj|j||gd��|	S)NzGroup id '%s' does not exist.F)r3)r	rr�r�rr�rrrrNr0r�rr)r��
addPackager�r�r�r�r�rSr�r�)
r:r�r�r3r4r5r��
swdb_grouprQr�rrrr��szSolver._group_installcsbtjj|�st��jjj|�}|s2ttd�|���jjj	|�t
�}�fdd�|j�D�|_	|S)Nz&Module or Group '%s' is not installed.csh|]}�j|j��r|�qSr)r�r�)rr�)r:rrr�sz'Solver._group_remove.<locals>.<setcomp>)r	rr�r�rNr0rErrr�r��getPackages)r:r�r�r�r)r:rr��szSolver._group_removec	s&tjj|�st�|jj|�}|jjj|�}g}|sP|r<|j	n|}t
td�|��|sdt
td�|��|j�}t
dd�|j�D���|j|||��|jjj||j|j	|�}x(|j�D]}|j|jdtj|j�q�W|jjj|�t�}�fdd��D�|_�fdd��D�|_�fd	d��D�|_|S)
Nz&Module or Group '%s' is not installed.z&Module or Group '%s' is not available.cSsg|]}|j��qSr)r�)rrQrrrr��sz)Solver._group_upgrade.<locals>.<listcomp>Fcsh|]}|j�kr|�qSr)r)rr�)r�rrr�sz(Solver._group_upgrade.<locals>.<setcomp>cs"h|]}|dd��D�kr|�qS)cSsg|]
}|j�qSr)r)rr�rrrr��sz3Solver._group_upgrade.<locals>.<setcomp>.<listcomp>r)rr)�new_setrrr�scsh|]}|j�kr|�qSr)r)rr�)r�rrr�s)r	rr�r�rr�rNr0rEr)rrr�r'r�r�r�rr�r�r�r�r�r�r�r�r�)	r:r�r�r�r3Zargumentr�rQr�r)r�r�rr��s*zSolver._group_upgradecCslxf|jjD]Z}|jj|�}|jr
t|j�t|j�}|jj�j�j	|d�}x|D]}|j
j|�qPWq
WdS)N)r)Z	persistorrr0rWr'Z	full_listZpkg_excludeZsackZqueryZfiltermZ_goalr�)r:�baser0Zp_grpZinstalled_pkg_namesZinstalled_pkgsr�rrr�'_exclude_packages_from_installed_groups�s
z.Solver._exclude_packages_from_installed_groups)NTN)NTN)rFrGrHr;rJr�r�r�r�r�r�r�r�r�r�r�r�rrrrr�*s
#

r�)NTN)5Z
__future__rrrZlibdnf.transactionr�Zdnf.exceptionsrZdnf.i18nrr�	functoolsrr	Zdnf.utilr#rCr�r�r>Zloggingr
r!r.Z	getLoggerrr�ZCompsPackageType_CONDITIONALr�ZCompsPackageType_DEFAULTr�ZCompsPackageType_MANDATORYr�ZCompsPackageType_OPTIONALr�Z	ALL_TYPESrrr-r1r6�objectr7rKrerqr~r�r�r�r�r�r�rrrr�<module>sP

!A'"f(CPK!�FZv
_##'__pycache__/plugin.cpython-36.opt-1.pycnu�[���3

i�-eV%�@s�ddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZejd�ZdZGdd	�d	e�ZGd
d�de�Zdd
�Zdd�Zdd�Zdd�Zdd�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_�dnfzdnf.plugin.dynamicc@s\eZdZdZdZdZedd��Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�ZdS)�Pluginz5The base class custom plugins must derive from. #:apiz	<invalid>Ncs�tjj�}|jr|jn|j��fdd�|jD�}xb|D]Z}tjj|�r6y|j	|�Wq6t
k
r�}ztjj
td�t|���WYdd}~Xq6Xq6W|S)Ncsg|]}d|�f�qS)z
%s/%s.conf�)�.0�path)�namer�/usr/lib/python3.6/plugin.py�
<listcomp>9sz&Plugin.read_config.<locals>.<listcomp>zParsing file failed: %s)�libdnf�confZConfigParser�config_namerZpluginconfpath�osr
�isfile�read�	Exceptionr�
exceptionsZConfigErrorr�str)�clsr�parser�files�file�er)rr�read_config4s

.zPlugin.read_configcCs||_||_dS)N)�base�cli)�selfrrrrr�__init__BszPlugin.__init__cCsdS)Nr)rrrr�
pre_configGszPlugin.pre_configcCsdS)Nr)rrrr�configKsz
Plugin.configcCsdS)Nr)rrrr�resolvedOszPlugin.resolvedcCsdS)Nr)rrrr�sackSszPlugin.sackcCsdS)Nr)rrrr�pre_transactionWszPlugin.pre_transactioncCsdS)Nr)rrrr�transaction[szPlugin.transaction)�__name__�
__module__�__qualname__�__doc__rr�classmethodrr r!r"r#r$r%r&rrrrr.src@s~eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	ddd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�PluginscCsg|_g|_dS)N)�
plugin_cls�plugins)rrrrr aszPlugins.__init__cCs|j�dS)N)�_unload)rrrr�__del__eszPlugins.__del__cCs~xx|jD]n}yt||��Wqtjjk
r6�Yqtk
rttj�\}}}tj	|||�}t
jdj|��YqXqWdS)N�)
r.�getattrrr�Errorr�sys�exc_info�	traceback�format_exception�loggerZcritical�join)r�method�plugin�exc_type�	exc_value�
exc_tracebackZexcept_listrrr�_callerhszPlugins._callercsxxr|jdd�D]`}|j�t�fdd�|D��r2q|j|�}|jd�o^|jdd�o^|jdd�}|r|jj|�qWdS)zwChecks whether plugins are enabled or disabled in configuration files
           and removes disabled plugins from listNc3s|]}tj�|�VqdS)N)�fnmatch)r	�pattern)rrr�	<genexpr>xsz)Plugins._check_enabled.<locals>.<genexpr>�mainZenabled)r-r�anyrZhas_sectionZ
has_optionZ
getboolean�remove)rr�enable_pluginsZplug_clsrZdisabledr)rr�_check_enabledss

zPlugins._check_enabledcCs�ttjkrtd��tjjt�tjt<}g|_t|j	||�}t
||�t�dd�|_|j
||�t|j�dkr�tdd�|jD��}tjtd�dj|��dS)z)Dynamically load relevant plugin modules.zload_plugins() called twiceNrcss|]}|jVqdS)N)r)r	r;rrrrB�sz Plugins._load.<locals>.<genexpr>zLoaded plugins: %sz, )�DYNAMIC_PACKAGEr4�modules�RuntimeErrorrZpycomp�
ModuleType�__path__�_get_plugins_filesZ
pluginpath�_import_modules�_plugin_classesr-rG�len�sortedr8�debugrr9)rrZskipsrF�packager�namesrrr�_load�s

z
Plugins._loadcCs|jd�dS)Nr!)r?)rrrr�_run_pre_config�szPlugins._run_pre_configcCs|jd�dS)Nr")r?)rrrr�_run_config�szPlugins._run_configNcCs*x$|jD]}|||�}|jj|�qWdS)N)r-r.�append)rrrZp_clsr;rrr�	_run_init�s
zPlugins._run_initcCs|jd�dS)Nr$)r?)rrrr�run_sack�szPlugins.run_sackcCs|jd�dS)Nr#)r?)rrrr�run_resolved�szPlugins.run_resolvedcCs|jd�dS)Nr%)r?)rrrr�run_pre_transaction�szPlugins.run_pre_transactioncCs|jd�dS)Nr&)r?)rrrr�run_transaction�szPlugins.run_transactioncCs&ttjkr"tjtjjd�tjt=dS)NzPlugins were unloaded.)rHr4rIr8�logr�loggingZDDEBUG)rrrrr/�s
zPlugins._unloadcCs�|js
dSt�}x|jD]}||tj|j�<qWt|j��}t�}x |jD]}|j|j	|j
��qJW|sldSx|jD]}|j|j
�qtWx|D]}|jj
||�q�WdS)zH
        Unload plugins that were removed in the `transaction`.
        N)Z
remove_set�dictr.�inspectZgetfile�	__class__�set�keys�update�intersectionrZinstall_set�difference_updaterE)rr&r.r;Zplugin_filesZerased_plugin_filesZpkgZplugin_filerrr�unload_removed_plugins�s
zPlugins.unload_removed_plugins)N)r'r(r)r r0r?rGrUrVrWrYrZr[r\r]r/rhrrrrr,`s
r,cCstj�S)N)r�__subclasses__rrrrrO�srOcCs�x�|D]�}tjj|�\}}|jj|�tjj|�\}}d|j|f}ytj|�}Wqt	k
r�}z,t
jtd�||�t
j
tjjddd�WYdd}~XqXqWdS)Nz%s.%szFailed loading plugin "%s": %sr1T)r5)rr
�splitrLrX�splitextr'�	importlib�
import_modulerr8�errorrr^rr_ZSUBDEBUG)rSZpy_files�fnr
�moduleZextrrrrrrN�s
rNcCsJg}t|�}t|�}t�}t�}x�|D]�}x�tjd|�D]�}tjjtjj|��\}}	d}
d}xN|D]F}t||�rd|j|�d}
x$|D]}
t||
�r�d}
|j|
�q�Wd}qdW|s�x |D]}
t||
�r�|j|
�q�W|
r:|j|�q:Wq&W|j	|�}|�rt
jtd�j
djt|����|j	|�}|�rFt
jtd�j
djt|����|S)Nz%s/*.pyTFz=No matches found for the following enable plugin patterns: {}z, z>No matches found for the following disable plugin patterns: {})rc�globrr
rk�basename�_plugin_name_matches_pattern�addrX�
differencer8Zwarningr�formatr9rQ)�pathsZdisable_pluginsrFr.Zpattern_enable_foundZpattern_disable_found�pro�plugin_nameZdummyZmatchedZenable_pattern_testedZpattern_skipZpattern_enableZenable_not_foundZdisable_not_foundrrrrM�sD









rMcs*t||jdd�f�}t�fdd�|D��S)z�
    Checks plugin name matches the pattern.

    The alternative plugin name using dashes instead of underscores is tried
    in case of original name is not matched.

    (see https://bugzilla.redhat.com/show_bug.cgi?id=1980712)
    r�-c3s|]}tj|��VqdS)N)r@)r	r)rArrrBsz/_plugin_name_matches_pattern.<locals>.<genexpr>)rc�replacerD)ryrAZ	try_namesr)rArrss
rscs<�fdd�}tt�jd�tjf|�jdd��}|�_�S)z5A class decorator for automatic command registration.cs|r|j��dS)N)�register_command)rrr)�
command_classrrr sz"register_command.<locals>.__init__rr)r r)�typerr'rr�aliasesZ_plugin)r}r Zplugin_classr)r}rr|sr|)Z
__future__rrrr@rqrlrar_�operatorrr4r6rZdnf.loggingrZ
dnf.pycompZdnf.utilZdnf.i18nrZ	getLoggerr8rH�objectrr,rOrNrMrsr|rrrr�<module>s2
2k
%PK!�FZ�$����__pycache__/sack.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ejd�ZGdd�dej�Zd	d
�Zdd�Zd
d�ZdS)�)�absolute_import)�unicode_literalsN)�
basestring)�_�dnfcs0eZdZ�fdd�Zd	dd�Zd
dd�Z�ZS)�Sackcstt|�j||�dS)N)�superr�__init__)�self�args�kwargs)�	__class__��/usr/lib/python3.6/sack.pyr	%sz
Sack.__init__NrcCs8|r
||_||_|dk	r4||_|dkr4tjtd��dS)NFznallow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands)�installonly�installonly_limit�allow_vendor_change�loggerZwarningr)r
rrrrrr�
_configure(szSack._configurecCstjj||�S)z'Factory function returning a DNF Query.)r�queryZQuery)r
�flagsrrrr1sz
Sack.query)NrN)r)�__name__�
__module__�__qualname__r	rr�
__classcell__rr)r
rr"s
	rc	CsT|jj}tjj|�ttjj||jjd||jj	t
jj|jj
tjj�|jjdkd�S)N�arch�	)ZpkgclsZ
pkginitvalr�cachedirZrootdirZlogfileZlogdebug)Zconfrr�utilZ
ensure_dirr�packageZPackageZ
substitutionsZinstallroot�os�path�joinZlogdir�constZ
LOG_HAWKEYZlogfilelevel)�baserrrr�_build_sack7s

r%cCs2t|�}y|jdd�Wntk
r,YnX|S)NF)Zbuild_cache)r%Zload_system_repo�IOError)r$Zsackrrr�_rpmdb_sackBsr'cCst|�S)z�
    Returns a new instance of sack containing only installed packages (@System repo)
    Useful to get list of the installed RPMs after transaction.
    )r')r$rrr�
rpmdb_sackMsr()Z
__future__rrZdnf.utilrZdnf.packageZ	dnf.queryZloggingZhawkeyr Z
dnf.pycomprZdnf.i18nrZ	getLoggerrrr%r'r(rrrr�<module>s
PK!�FZ��-�_D_D)__pycache__/transaction_sr.cpython-36.pycnu�[���3

i�-eaf�@s�ddlmZddlmZddlmZddlZddlZddlmZddlZ	ddl
Z
dZdZdeefZ
Gdd�de	jj�ZGd	d
�d
e	jj�ZGdd�de�Zd
d�Zdd�ZGdd�de�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_z%s.%scseZdZ�fdd�Z�ZS)�TransactionErrorcstt|�j|�dS)N)�superr�__init__)�self�msg)�	__class__��$/usr/lib/python3.6/transaction_sr.pyr/szTransactionError.__init__)�__name__�
__module__�__qualname__r�
__classcell__rr)rr
r.srcseZdZ�fdd�Z�ZS)�TransactionReplayErrorcsv||_t|ttf�r||_n|g|_|r:td�j|d�}ntd�}x|jD]}|dt|�7}qJWtt	|�j
|�dS)z�
        :param filename: The name of the transaction file being replayed
        :param errors: a list of error classes or a string with an error description
        zWThe following problems occurred while replaying the transaction from file "{filename}":)�filenamez<The following problems occurred while running a transaction:z
  N)r�
isinstance�list�tuple�errorsr�format�strrrr)r	rrr
�error)rrr
r4szTransactionReplayError.__init__)rrrrrrr)rr
r3srcseZdZ�fdd�Z�ZS)�#IncompatibleTransactionVersionErrorcstt|�j||�dS)N)rrr)r	rr
)rrr
rMsz,IncompatibleTransactionVersionError.__init__)rrrrrrr)rr
rLsrc"Cs�|jd�\}}yt|�}Wn8tk
rR}zt|td�j|d���WYdd}~XnXyt|�Wn8tk
r�}zt|td�j|d���WYdd}~XnX|tkr�t|td�j|td���dS)N�.z1Invalid major version "{major}", number expected.)�majorz1Invalid minor version "{minor}", number expected.)�minorzPIncompatible major version "{major}", supported major version is "{major_supp}".)rZ
major_supp)�split�int�
ValueErrorrrr�
VERSION_MAJORr)�versionrrr�errr
�_check_versionQs$$$r%cCs�dti}g}g}g}|dkr |S�x0|j�D�]"}|j�r`|j|j|jtjj|j	�|j
d��q,|j�r�|j�}|j|j
�gtjj|j��d�}x:|j�D].}|dj|j�|j�tjj|j��d��q�W|j|�q,|j�r,|j�}	|j|	j�gtjj|	j��d�}
x<|	j�D]0}|
dj|j
�|j�tjj|j��d	���qW|j|
�q,W|�rb||d
<|�rp||d<|�r~||d<|S)z�
    Serializes a transaction to a data structure that is equivalent to the stored JSON format.
    :param transaction: the transaction to serialize (an instance of dnf.db.history.TransactionWrapper)
    r#N)�action�nevra�reason�repo_id)r&�id�packages�
package_typesr+)�name�	installed�package_type)r&r*�groupsr,r0)r*r.�
group_type�rpms�environments)�VERSIONr+�
is_package�appendZaction_namer'�libdnf�transactionZTransactionItemReasonToStringr(Z	from_repoZis_groupZ	get_groupZ
getGroupIdZcompsPackageTypeToStringZgetPackageTypesZgetPackagesZgetNameZgetInstalledZgetPackageTypeZis_environmentZget_environmentZgetEnvironmentIdZ	getGroupsZgetGroupType)r8�datar2r0r3�tsi�group�
group_data�pkg�env�env_data�grprrr
�serialize_transactionlsXrAc@s�eZdZdZd/dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�ZdS)0�TransactionReplaya�
    A class that encapsulates replaying a transaction. The transaction data are
    loaded and stored when the class is initialized. The transaction is run by
    calling the `run()` method, after the transaction is created (but before it is
    performed), the `post_transaction()` method needs to be called to verify no
    extra packages were pulled in and also to fix the reasons.
    �NFcCsv||_||_||_||_||_|jjjs.d|_t�|_i|_	g|_
|rX|rXttd���n|rh|j
|�n
|j|�dS)a
        :param base: the dnf base
        :param filename: the filename to load the transaction from (conflicts with the 'data' argument)
        :param data: the dictionary to load the transaction from (conflicts with the 'filename' argument)
        :param ignore_extras: whether to ignore extra package pulled into the transaction
        :param ignore_installed: whether to ignore installed versions of packages
        :param skip_unavailable: whether to skip transaction packages that aren't available
        TzKConflicting TransactionReplay arguments have been specified: filename, dataN)�_base�	_filename�_ignore_installed�_ignore_extras�_skip_unavailable�conf�strict�set�_nevra_cache�_nevra_reason_cache�	_warningsr!r�_load_from_file�_load_from_data)r	�baserr9Z
ignore_extrasZignore_installedZskip_unavailablerrr
r�s
zTransactionReplay.__init__c%Cs�||_t|d��N}ytj|�}Wn8tjjk
rX}zt|t|�d��WYdd}~XnXWdQRXy|j|�Wn,t	k
r�}zt||��WYdd}~XnXdS)N�rr)
rE�open�json�load�decoderZJSONDecodeErrorrrrPr)r	�fn�f�replay_datar$rrr
rO�s.z!TransactionReplay._load_from_filecCs|||_|j|j�|jjdg�|_|j|jtdd�|jjdg�|_|j|jtdd�|jjdg�|_|j|jtdd�dS)Nr2Zarrayr0r3)�_replay_data�_verify_toplevel_json�get�_rpms�_assert_typer�_groups�
_environments)r	r9rrr
rP�sz!TransactionReplay._load_from_datacCs|r|jj|�nt|��dS)N)rNr6r)r	Z	warn_onlyr
rrr
�_raise_or_warnsz TransactionReplay._raise_or_warncCs$t||�s ttd�j||d���dS)Nz*Unexpected type of "{id}", {exp} expected.)r*Zexp)rrrr)r	�value�tr*Zexpectedrrr
r^s
zTransactionReplay._assert_typecCsJ|j}d|kr$t|tdjdd����|j|dtdd�t|d|�dS)Nr#zMissing key "{key}".)�key�string)rErrrr^rr%)r	rYrWrrr
r[s
z'TransactionReplay._verify_toplevel_jsoncCsDy,|d}|d}|d}tjj|d�}Wnvtk
rh}z ttd�j|jdd���WYdd}~Xn<tk
r�}z ttd�j|d|d	���WYdd}~XnXt	j
|�}|jt	jgd
�}t
|�dkr�ttd�j|d
���|d}	d|	j|	jf}
|jjj�j|	j|	jd�}|	jdk	�r"|	jnd}|j||	j|	jd�}
|�r`|
j|d�}|�r`|j|
j��}
|
�s�|j|jtd�j|d
��dS|dk�r�|jj|�|d(k�r�||j|<|d)k�r.|dk�r�|j��r�|jj|��r�|j|jtd�j|
|d��t j!j"|jj�j#|
d�}|jj$j%||jj&j'd��n|dk�r�|
j(�}
|
�sf|j|jtd�j||d��dSt j!j"|jj�j#|
d�}|jj$j%||jj&j'd�n�|d*k�r
|
j�}
|
�s�|j|jtd#�j||d��dS|j�s�|dk�r@xX|
D]}|jj$j)|d$d%��q�Wn6|dk�r*|jj*j+|
d|�nttd&�j||d'���dS)+Nr&r'r)r(z%Missing object key "{key}" in an rpm.r)rdzFUnexpected value of package reason "{reason}" for rpm nevra "{nevra}".)r(r')Zforms�z)Cannot parse NEVRA for package "{nevra}".)r'z%s.%s)r-�arch)�epochr#�release)Zreponamez Cannot find rpm nevra "{nevra}".z
Reason Change�Install�Upgrade�	Downgrade�	Reinstall�Removedz:Package "{na}" is already installed for action "{action}".)�nar&)r=)ZselectZoptionalzLPackage nevra "{nevra}" not available in repositories for action "{action}".)r'r&�Upgraded�
Downgraded�Reinstalled�	Obsoletedz<Package nevra "{nevra}" not installed for action "{action}".F)Z
clean_depszFUnexpected value of package action "{action}" for rpm nevra "{nevra}".)r&r')rjrkrlrmrn)rjrkrl)rprqrrrnrs),r7r8ZStringToTransactionItemReason�KeyErrorrrr�args�
IndexError�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRA�lenr-rgrDZsack�query�filterrhr#ri�unionr.rarHrL�addrMZ_get_installonly_queryrF�dnfZselectorZSelectorrKZgoal�installrIrJZ	availableZerase�historyZ
set_reason)r	�pkg_datar&r'r)r(r$ZsubjZ
parsed_nevrasZparsed_nevraroZquery_narhryZ
query_repoZsltrr=rrr
�_replay_pkg_actionsz("





$



z$TransactionReplay._replay_pkg_actioncCs2|jjj|�}|s,|j|jtd�|�dS|jjjj||j	|j
|�}y�x�|D]�}|d}|j|tdd�|d}|j|t
dd�|d}	|j|	td	d�y|j||tjj|	��WqNtjjk
r�}
ztt|
���WYdd}
~
XqNXqNWWn>tk
�r,}
z ttd
�j|
jdd���WYdd}
~
XnX|S)
NzGroup id '%s' is not available.r-zgroups.packages.namerer.zgroups.packages.installed�booleanr/zgroups.packages.package_typez.Missing object key "{key}" in groups.packages.r)rd)rD�compsZ_group_by_idrarHrrr;�newr-�ui_namer^r�boolZ
addPackager7r8�stringToCompsPackageTyper�Errorrrtrru)r	�group_id�	pkg_types�pkgsZcomps_group�
swdb_groupr=r-r.r/r$rrr
�_create_swdb_groupvs*
&*z$TransactionReplay._create_swdb_groupcCs*|j|||�}|dk	r&|jjjj|�dS)N)r�rDrr;r~)r	r�r�r�r�rrr
�_swdb_group_install�sz%TransactionReplay._swdb_group_installcCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��upgrade)r	r�r�r�r�rrr
�_swdb_group_upgrade�sz%TransactionReplay._swdb_group_upgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��	downgrade)r	r�r�r�r�rrr
�_swdb_group_downgrade�sz'TransactionReplay._swdb_group_downgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)NzGroup id '%s' is not installed.)	rDrr;r\rarFrr��remove)r	r�r�r�r�rrr
�_swdb_group_remove�sz$TransactionReplay._swdb_group_removecCsd|jjj|�}|s,|j|jtd�|�dS|jjjj||j	|j
|�}y�x�|D]�}|d}|j|tdd�|d}|j|t
dd�|d}	|j|	td	d�ytjj|	�}	Wn2tjjk
r�}
ztt|
���WYdd}
~
XnX|	tjjtjjfk�rttd
�j|dd���|j|||	�qNWWn>tk
�r^}
z ttd�j|
jd
d���WYdd}
~
XnX|S)Nz%Environment id '%s' is not available.r*zenvironments.groups.idrer.zenvironments.groups.installedr�r1zenvironments.groups.group_typezlInvalid value "{group_type}" of environments.groups.group_type, only "mandatory" or "optional" is supported.)r1z2Missing object key "{key}" in environments.groups.r)rd)rDr�Z_environment_by_idrarHrrr>r�r-r�r^rr�r7r8r�rr�rZCompsPackageType_MANDATORYZCompsPackageType_OPTIONALrZaddGrouprtru)r	�env_idr�r0Z	comps_env�swdb_envr@r*r.r1r$rrr
�_create_swdb_environment�s8
*z*TransactionReplay._create_swdb_environmentcCs*|j|||�}|dk	r&|jjjj|�dS)N)r�rDrr>r~)r	r�r�r0r�rrr
�_swdb_environment_install�sz+TransactionReplay._swdb_environment_installcCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_upgrade�sz+TransactionReplay._swdb_environment_upgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_downgrade�sz-TransactionReplay._swdb_environment_downgradecCsT|jjjj|�s*|j|jtd�|�dS|j|||�}|dk	rP|jjjj|�dS)Nz%Environment id '%s' is not installed.)	rDrr>r\rarFrr�r�)r	r�r�r0r�rrr
�_swdb_environment_remove�sz*TransactionReplay._swdb_environment_removecCs|jS)z>
        :returns: the loaded data of the transaction
        )rZ)r	rrr
�get_dataszTransactionReplay.get_datacCs|jS)zW
        :returns: an array of warnings gathered during the transaction replay
        )rN)r	rrr
�get_warnings
szTransactionReplay.get_warningscCs�|j}g}xJ|jD]@}y|j|�Wqtk
rP}z|j|�WYdd}~XqXqW�x�|jD�]�}�y
|d}|d}ytjj|d�}Wn:tj	j
k
r�}z|jtt|���w`WYdd}~XnX|dkr�|j|||d�n�|dk�r|j
|||d�nl|dk�s|d	k�r,|j|||d�nD|d
k�s@|dk�rT|j|||d�n|jttd�j||d
���Wq`tk
�r�}z&|jttd�j|jdd���WYdd}~Xq`tk
�r�}z|j|�WYdd}~Xq`Xq`W�x�|jD�]�}	�y|	d}|	d}
ytjj|	d�}Wn>tj	j
k
�r^}z|jtt|����w�WYdd}~XnX|dk�r~|j|
||	d�n�|dk�r�|j|
||	d�nl|dk�s�|d	k�r�|j|
||	d�nD|d
k�s�|dk�r�|j|
||	d�n|jttd�j||
d���Wnptk
�rN}z&|jttd�j|jdd���WYdd}~Xn.tk
�rz}z|j|�WYdd}~XnX�q�W|�r�t||��dS)z*
        Replays the transaction.
        Nr&r*r,rjr+rnrkrprlrqz@Unexpected value of group action "{action}" for group "{group}".)r&r;z&Missing object key "{key}" in a group.r)rdr0zJUnexpected value of environment action "{action}" for environment "{env}".)r&r>z-Missing object key "{key}" in an environment.)rEr]r�rr6r_r7r8r�rr�rr�r�r�r�rrrtrur`r�r�r�r�r)r	rWrr�r$r<r&r�r�r?r�rrr
�runsv 
* 

*"zTransactionReplay.runcCs8|jjsdSg}�x|jjD�]}y
|j}Wn$tk
rP}zwWYdd}~XnXt|�}||jkr�|js�|jtjj	tjj
tjjfkr�td�j
|d�}|js�|jt|��n|jj|�y>|j|}|jtjjtjjfks�tjj||j�dkr�||_Wqtk
�r}zWYdd}~XqXqW|�r4t|j|��dS)z�
        Sets reasons in the transaction history to values from the stored transaction.

        Also serves to check whether additional packages were pulled in by the
        transaction, which results in an error (unless ignore_extras is True).
        NzgPackage nevra "{nevra}", which is not present in the transaction file, was pulled into the transaction.)r'r)rDr8r=rtrrLrFr&r7ZTransactionItemAction_UPGRADEDZ TransactionItemAction_DOWNGRADEDZ!TransactionItemAction_REINSTALLEDrrrGr6rrNrMZTransactionItemAction_INSTALLZTransactionItemAction_REMOVEZTransactionItemReasonComparer(rrE)r	rr:r=r$r'r
Z
replay_reasonrrr
�post_transactionds<



z"TransactionReplay.post_transaction)rCNFFF)rrr�__doc__rrOrPrar^r[r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
rB�s4
 


a


(


SrB)Z
__future__rrrr7rwZdnf.i18nrZdnf.exceptionsr}rTr"Z
VERSION_MINORr4�
exceptionsr�rrrr%rA�objectrBrrrr
�<module>s KPK!�FZ0��,uKuK__pycache__/util.cpython-36.pycnu�[���3

�ft`�O�@svddlmZddlmZddlmZddlmZmZddlmZm	Z	ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�Ze
j �j!d	kr�e
j �j!ndZ"e"j#�Z$d
d�Z%d^dd
�Z&d_dd�Z'dd�Z(dd�Z)dd�Z*dd�Z+dd�Z,dd�Z-dd�Z.dd �Z/d!d"�Z0d#d$�Z1d%d&�Z2d'd(�Z3d)d*�Z4d+d,�Z5d-d.�Z6d/d0�Z7d1d2�Z8d3d4�Z9d5d6�Z:d7d8�Z;d9d:�Z<d;d<�Z=d=d>�Z>d?d@�Z?dAdB�Z@dCdD�ZAd`dFdG�ZBdHdIejCfdJdK�ZDdLdM�ZEdNdO�ZFdPdQ�ZGdRdS�ZHGdTdU�dUeI�ZJGdVdW�dWeK�ZLGdXdY�dYeM�ZNdZd[�ZOd\d]�ZPdS)a�)�print_function)�absolute_import)�unicode_literals�)�PY3�
basestring)�_�ucdN�dnfZyumcCs�t|dg�t|dg�t|dg�t�}x�|D]�}||kr>q0|j|�tjjj|�d}|jd�rr|jj|�q0|r�|d
kr�|jj|�q0|j	d
�r�|j
j|dd��q0|jj|�q0WdS)a�
    Categorize :param values list into packages, groups and filenames

    :param namespace: argparse.Namespace, where specs will be stored
    :param values: list of specs, whether packages ('foo') or groups/modules ('@bar')
                   or filenames ('*.rmp', 'http://*', ...)

    To access packages use: specs.pkg_specs,
    to access groups use: specs.grp_specs,
    to access filenames use: specs.filenames
    �	filenames�	grp_specs�	pkg_specsrz.rpm�http�ftp�file�https�@rN)rrrr)�setattr�set�addr
�pycompZurlparse�endswithr�append�
startswithrr
)�	namespace�valuesZtmp_set�valueZschemes�r�/usr/lib/python3.6/util.py�_parse_specs7s 




rcCs�|dkrtjj�}tjj|||�}tjj|j�r6|jSt	|j
g�}|jd|�|j�g}yt
jjjt
jj|�d�WnBtk
r�}z&|jr�tt|���tjt|��WYdd}~XnX|jS)NrT)r
�callbackZNullDownloadProgress�repoZRemoteRPMPayload�os�path�existsZ
local_path�sumZ
download_size�startZ_librepo_target�libdnfZ
PackageTargetZdownloadPackagesZVectorPPackageTarget�RuntimeError�strict�IOError�str�logger�error)�url�confZprogressZploadZest_remote_sizeZtargets�errr�_urlopen_progressWs

 r1�w+bcKs�trd|kr|jdd�tj|f|�}y<|r@|jj||j��n tjj	j
|rR|jnd||j��Wn.tk
r�}zt
t|���WYdd}~XnX|jd�|S)z|
    Open the specified absolute url, return a file object
    which respects proxy setting even for non-repo downloads
    �b�encodingzutf-8Nr)r�
setdefault�tempfileZNamedTemporaryFileZ_repoZdownloadUrl�filenor'r!Z
DownloaderZdownloadURLZ_configr(r*r+�seek)r.r/r!�mode�kwargsZfor0rrr�_urlopenhs$
r;cCs |j|�r|dt|��}|S)N)r�len)�s�rrrr�rtrim|s
r?cCstj�dkS)Nr)r"�geteuidrrrr�	am_i_root�srAcCs.x(tj|�D]}tjj||�}t|�qWdS)zBRemove all files and dirs under `path`

    Also see rm_rf()

    N)r"�listdirr#�join�rm_rf)r#�entryZcontained_pathrrr�	clear_dir�srFcCsXytj|dd�Wn@tk
rR}z$|jtjks>tjj|�rB|�WYdd}~XnXdS)Ni�)r9)r"�makedirs�OSError�errnoZEEXISTr#�isdir)Zdnamer0rrr�
ensure_dir�s
rKcCsJg}|}x<tjj|�\}}|s6|s(|r4|jd|�P|jd|�q
W|S)z`
    Split path by path separators.
    Use os.path.join() to join the path back to string.
    r)r"r#�split�insert)r#�result�head�tailrrr�
split_path�s
rQcCs6yt|�}Wn tk
r,tt|��}YnX|dkS)Nr)r<�	TypeError�list)�iterable�lrrr�empty�s
rVcCs*t|�}yt|�Stk
r$dSXdS)zFReturns the first item from an iterable or None if it has no elements.N)�iter�next�
StopIteration)rT�itrrr�first�s
r[cCs4t|�}ytdd�|D��Stk
r.dSXdS)Ncss|]}|dk	r|VqdS)Nr)�.0�itemrrr�	<genexpr>�sz!first_not_none.<locals>.<genexpr>)rWrXrY)rTrZrrr�first_not_none�s
r_cCstj�t|�S)N)�time�file_timestamp)�fnrrr�file_age�srccCstj|�jS)N)r"�stat�st_mtime)rbrrrra�sracCs4ytjtj��dStk
r.dtj�SXdS)NrzUID: %s)�pwd�getpwuidr"r@�KeyErrorrrrr�get_effective_login�sricCs(x"|D]}|j|�}|dkr|SqW|S)z!Like dict.get() for nested dicts.N)�get)Zdct�keysZ	not_found�krrr�get_in�s


rmcs�fdd�}tj||ggf�S)Ncs|t�|��j|�|S)N)�boolr)Zaccr])rbrr�splitter�sz!group_by_filter.<locals>.splitter)�	functools�reduce)rbrTror)rbr�group_by_filter�srrccs&x |D]}||�r|V|VqWdS)z/Insert an item into an iterable by a condition.Nr)r]rT�	conditionZ
original_itemrrr�	insert_if�s
rtcCs*yt|�Wntk
r dSXdSdS)z&Test whether an iterator is exhausted.TFN)rXrY)�iteratorrrr�is_exhausted�s
rvcCs*t|�r|g}t|t�o(tdd�|D��S)Ncss|]}t|�td�@VqdS)z*[?N)r)r\�prrrr^�sz"is_glob_pattern.<locals>.<genexpr>)�is_string_type�
isinstancerS�any)�patternrrr�is_glob_pattern�sr|cCstrt|t�St|t�SdS)N)rryr+r)�objrrrrx�s
rxcs�fdd�}|S)z�Decorator to get lazy attribute initialization.

    Composes with @property. Force reinitialization by deleting the <attrname>.
    cs��fdd�}|S)Ncs8y
t|��Stk
r2�|�}t|�|�|SXdS)N)�getattr�AttributeErrorr)r}�val)�attrnamerbrr�
cached_getters
z6lazyattr.<locals>.get_decorated.<locals>.cached_getterr)rbr�)r�)rbr�
get_decorated�szlazyattr.<locals>.get_decoratedr)r�r�r)r�r�lazyattr�s	r�cGstt|f|���S)z�Like functools.map(), but return a list instead of an iterator.

    This means all side effects of fn take place even without iterating the
    result.

    )rS�map)rb�seqrrr�mapallsr�cCs8tjdtj|��}tjjs4tj�d}|r4|j|�}|S)z6Convert time into locale aware datetime string object.z%cr)	r`ZstrftimeZ	localtimer
rr�localeZ	getlocale�decode)Z	timestamp�tZcurrent_locale_settingrrr�normalize_times
r�cCszy\d}dd�tj|�D�}t|�dkrZ|d}tdj||���}|j�}t|�dkSQRXdSttfk
rtdSXdS)z�Decide whether we are on line power.

    Returns True if we are on line power, False if not, None if it can not be
    decided.

    z/sys/class/power_supplycSsg|]}|jd�r|�qS)ZAC)r)r\Znoderrr�
<listcomp>&szon_ac_power.<locals>.<listcomp>rz{}/{}/onlinerN)	r"rBr<�open�format�read�intr*�
ValueError)Z	ps_folderZac_nodesZac_nodeZ	ac_status�datarrr�on_ac_powersr�cCs�yddl}Wntk
r dSXy0|j�}|jdd�}|j|d�}|jdd�}Wn|jk
rhdSX|dkrvdS|dkr�d	S|dkr�dStd
|��dS)z�Decide whether we are on metered connection.

    Returns:
      True: if on metered connection
      False: if not
      None: if it can not be decided
    rNzorg.freedesktop.NetworkManagerz/org/freedesktop/NetworkManagerzorg.freedesktop.DBus.PropertiesZMeteredr�T��Fz&Unknown value for metered property: %r)rr�)r�r�)�dbus�ImportErrorZ	SystemBusZ
get_objectZ	InterfaceZGetZ
DBusExceptionr�)r�Zbus�proxyZifaceZmeteredrrr�on_metered_connection1s&r�cCs&tj|�\}}tjj||�t||�fS)z�Use a predicate to partition entries into false entries and true entries.

    Credit: Python library itertools' documentation.

    )�	itertools�teer
r�filterfalse�filter)ZpredrTZt1Zt2rrr�	partitionNsr�cCs(ytj|�Wntk
r"YnXdS)N)�shutilZrmtreerH)r#rrrrDWsrDc#sFt���fdd�}t�||�}||�Vx||�}|s8P|Vq*WdS)z�Split an iterable into tuples by a condition.

    Inserts a separator before each item which meets the condition and then
    cuts the iterable by these separators.

    csttj�fdd�|��S)Ncs|�kS)Nr)r0)�	separatorrr�<lambda>gsz4split_by.<locals>.next_subsequence.<locals>.<lambda>)�tupler��	takewhile)rZ)r�rr�next_subsequencefsz"split_by.<locals>.next_subsequenceN)�objectrt)rTrsr�ZmarkedZsubsequencer)r�r�split_by]s
r�cCs|j|�r|t|�d�SdS)N)rr<)r=�prefixrrr�strip_prefixus
r�Fc	Cs8|stj|tj�rtj|d�St|d��WdQRXdS)z{Create an empty file if it doesn't exist or bump it's timestamps.

    If no_create is True only bumps the timestamps.
    N�a)r"�access�F_OK�utimer�)r#Z	no_createrrr�touch{sr��write�cCs�yh|dkr|j|�nP|dkr(|j�n>|dkrD|j|�|j�n"|dkrZt||d�ntd|��Wn>tk
r�}z"tjdjt|�j	t
|���WYdd}~XnXdS)Nr��flushZwrite_flush�print)rzUnsupported type: z{}: {})r�r�r�r�r*r,�criticalr��type�__name__r	)�tp�msg�outr0rrr�_terminal_messenger�s


r�cCsnd}t|�dk}xXt|dd�D]H\}}|rD|dtd�d|7}n|dtd�d7}|dj|�7}qW|S)	z�
    Format string about problems in resolve

    :param resolve_problems: list with list of strings (output of goal.problem_rules())
    :return: string
    r�r)r&z
 ZProblemz %d: z: z
  - )r<�	enumeraterrC)Zresolve_problemsr�Zcount_problems�iZrsrrr�_format_resolve_problems�sr�cCsX|j�d}|j�dk	r4|j�dkr4||j�d7}||j�d|j�d|j�S)N�-�0�:�.)�N�E�V�R�A)ZteZnevrarrr�	_te_nevra�sr�cCs�tjd�xH|D]@}|j�}d}|dk	r.|j}djt|�|||j��}tj|�qWx:|D]2}djt|�|j|j|j	|j
|j��}tj|�qZWdS)NzLogging transaction elementsz@RPM element: '{}', Key(): '{}', Key state: '{}', Failed() '{}': z^SWDB element: '{}', State: '{}', Action: '{}', From repo: '{}', Reason: '{}', Get reason: '{}')r,�debug�Key�stater�r��Failedr+�actionZ	from_repo�reasonZ
get_reason)�rpm_transaction�swdb_transaction�rpm_el�tsiZ	tsi_stater�rrr�_log_rpm_trans_with_swdb�s



r�c
CsVtjjtjjtjjtjjtjjh}dd�|D�}d}d}x�|D]�}t|�}|j�}|dksft	|d�r�x:|D]2}	|	j
tjjkr�ql|	j|kr�qlt
|	�|krl|	}PqlW|dks�t	|d�r�tjtd�j|��d}q>|j�r�tjj|_
d}q>tjj|_
q>Wx6|D].}|j
tjjkr�tjtd�jt
|���d}q�W|�rBtjtd��|�rRt||�dS)	NcSsg|]}|�qSrr)r\r�rrrr��sz-_sync_rpm_trans_with_swdb.<locals>.<listcomp>FZpkgz%TransactionItem not found for key: {}Tz)TransactionSWDBItem not found for key: {}z#Errors occurred during transaction.)r'�transactionZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETED�TransactionItemAction_REMOVEZTransactionItemAction_UPGRADEDZ!TransactionItemAction_REINSTALLEDr�r��hasattrr�ZTransactionItemState_UNKNOWNr�r+r,r�rr�r��TransactionItemState_ERRORZTransactionItemState_DONEr�r�)
r�r�Zrevert_actionsZ
cached_tsiZel_not_foundr-r�Zte_nevrar�Z
tsi_candidaterrr�_sync_rpm_trans_with_swdb�sH





r�c@s$eZdZdd�Zdd�Zdd�ZdS)�tmpdircCsdtjj}tj|d�|_dS)Nz%s-)r�)r
�constZPREFIXr6Zmkdtempr#)�selfr�rrr�__init__�sztmpdir.__init__cCs|jS)N)r#)r�rrr�	__enter__�sztmpdir.__enter__cCst|j�dS)N)rDr#)r��exc_type�	exc_value�	tracebackrrr�__exit__�sztmpdir.__exit__N)r��
__module__�__qualname__r�r�r�rrrrr��sr�cs(eZdZdZ�fdd�Zdd�Z�ZS)�Bunchz�Dictionary with attribute accessing syntax.

    In DNF, prefer using this over dnf.yum.misc.GenericHolder.

    Credit: Alex Martelli, Doug Hudgeon

    cstt|�j||�||_dS)N)�superr�r��__dict__)r��args�kwds)�	__class__rrr��szBunch.__init__cCst|�S)N)�id)r�rrr�__hash__szBunch.__hash__)r�r�r��__doc__r�r��
__classcell__rr)r�rr��sr�cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�
MultiCallListcstt|�j�|j|�dS)N)r�r�r��extend)r�rT)r�rrr�szMultiCallList.__init__cs��fdd�}|S)Ncs���fdd�}tt|���S)Ncst|��}|���S)N)r~)�v�method)r�r:�whatrr�	call_what
s
z8MultiCallList.__getattr__.<locals>.fn.<locals>.call_what)rSr�)r�r:r�)r�r�)r�r:rrbsz%MultiCallList.__getattr__.<locals>.fnr)r�r�rbr)r�r�r�__getattr__szMultiCallList.__getattr__cs��fdd�}tt||��S)Ncst|���dS)N)r)r])r�r�rr�settersz)MultiCallList.__setattr__.<locals>.setter)rSr�)r�r�r�r�r)r�r�r�__setattr__szMultiCallList.__setattr__)r�r�r�r�r�r�r�rr)r�rr�sr�c
Csntgggggggggggd��}�xF|D�]<}|jtjjkrJ|jj|�q(|jtjjkrf|j	j|�q(|jtjj
kr�|jtjjkr�|j
j|�nD|jtjjkr�|jj|�n(|jtjjkr�|jj|�n|jj|�q(|jtjjkr�|jj|�q(|jtjjk�rL|jtjjk�r |jj|�n*|jtjjk�r>|jj|�n|jj|�q(|jtjjkr(|jj|�q(W|S)N)�
downgraded�erased�erased_clean�
erased_dep�	installed�installed_group�
installed_dep�installed_weak�reinstalled�upgraded�failed)r�r�r'r�r�r�rr�ZTransactionItemAction_DOWNGRADEr�ZTransactionItemAction_INSTALLr�ZTransactionItemReason_GROUPr�Z TransactionItemReason_DEPENDENCYr�Z%TransactionItemReason_WEAK_DEPENDENCYr�r�ZTransactionItemAction_REINSTALLr�r�ZTransactionItemReason_CLEANr�r�r�ZTransactionItemAction_UPGRADEr�)r�r3r�rrr�_make_listssH
rcs��fdd�}tjj|�}�jd|d�\}}|j|�}g}x�td�|jftd�|jftd�|j|j	|j
|jftd�|jftd	�|ftd
�|j
|j|jftd�|jfgD]&\}	}
|j||	t|
tj|�d���q�W|S)
alReturns a human-readable summary of the results of the
    transaction.

    :param action_callback: function generating output for specific action. It
       takes two parameters - action as a string and list of affected packages for
       this action
    :return: a list of lines containing a human-readable summary of the
       results of the transaction
    cs�|j|jk|j|jk}|dkr$|Stj|j|j|j|j|jd�}tj|j|j|j|j|jd�}|j|�j�}|dkrz|S|j|jk|j|jkS)z�Compares two transaction items or packages by nevra.
           Used as a fallback when tsi does not contain package object.
        r)�name�epoch�version�release�arch)	r�hawkeyZNEVRArrrrZevr_cmpZsack)Zitem1Zitem2�retZnevra1Znevra2)�baserr�_tsi_or_pkg_nevra_cmpPsz7_post_transaction_output.<locals>._tsi_or_pkg_nevra_cmpF)Zreport_problemsr�ZUpgradedZ
DowngradedZ	InstalledZReinstalledZSkippedZRemovedr�)�key)r
�utilrZ_skipped_packages�unionrr�r�r�r�r�r�r�r�r�r�r�r��sortedrp�
cmp_to_key)rr�Zaction_callbackr	Z
list_bunchZskipped_conflictsZskipped_brokenZskippedr�r�Ztsisr)rr�_post_transaction_outputFs(



r)N)NNr2)F)QZ
__future__rrrrrrZdnf.i18nrr	�argparser
Zdnf.callbackZ	dnf.constZ
dnf.pycomprIrprr�r�Zloggingr"rfr��sysr6r`Zlibdnf.repor'Zlibdnf.transactionZ	getLoggerr,�ArgumentParser�progZ	MAIN_PROG�upperZMAIN_PROG_UPPERrr1r;r?rArFrKrQrVr[r_rcrarirmrrrtrvr|rxr�r�r�r�r�r�rDr�r�r��stdoutr�r�r�r�r�r�r��dictr�rSr�rrrrrr�<module>s�
 


						
(-PK!�FZ�`�x��)__pycache__/selector.cpython-36.opt-1.pycnu�[���3

�ft`e�@s(ddlmZddlmZddlmZdS)�)�absolute_import)�unicode_literals)�SelectorN)Z
__future__rrZhawkeyr�rr�/usr/lib/python3.6/selector.py�<module>sPK!�FZ%O�E��	crypto.pynu�[���# crypto.py
# Keys and signatures.
#
# Copyright (C) 2014  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
import contextlib
import dnf.pycomp
import dnf.util
import dnf.yum.misc
import io
import logging
import os
import tempfile

try:
    from gpg import Context
    from gpg import Data
except ImportError:
    import gpgme


    class Context(object):
        def __init__(self):
            self.__dict__["ctx"] = gpgme.Context()

        def __enter__(self):
            return self

        def __exit__(self, type, value, tb):
            pass

        @property
        def armor(self):
            return self.ctx.armor

        @armor.setter
        def armor(self, value):
            self.ctx.armor = value

        def op_import(self, key_fo):
            if isinstance(key_fo, basestring):
                key_fo = io.BytesIO(key_fo)
            self.ctx.import_(key_fo)

        def op_export(self, pattern, mode, keydata):
            self.ctx.export(pattern, keydata)

        def __getattr__(self, name):
            return getattr(self.ctx, name)


    class Data(object):
        def __init__(self):
            self.__dict__["buf"] = io.BytesIO()

        def __enter__(self):
            return self

        def __exit__(self, type, value, tb):
            pass

        def read(self):
            return self.buf.getvalue()

        def __getattr__(self, name):
            return getattr(self.buf, name)


GPG_HOME_ENV = 'GNUPGHOME'
logger = logging.getLogger('dnf')


def _extract_signing_subkey(key):
    return dnf.util.first(subkey for subkey in key.subkeys if subkey.can_sign)


def _printable_fingerprint(fpr_hex):
    segments = (fpr_hex[i:i + 4] for i in range(0, len(fpr_hex), 4))
    return " ".join(segments)


def import_repo_keys(repo):
    gpgdir = repo._pubring_dir
    known_keys = keyids_from_pubring(gpgdir)
    for keyurl in repo.gpgkey:
        for keyinfo in retrieve(keyurl, repo):
            keyid = keyinfo.id_
            if keyid in known_keys:
                logger.debug(_('repo %s: 0x%s already imported'), repo.id, keyid)
                continue
            if not repo._key_import._confirm(keyinfo):
                continue
            dnf.yum.misc.import_key_to_pubring(
                keyinfo.raw_key, keyinfo.short_id, gpgdir=gpgdir,
                make_ro_copy=False)
            logger.debug(_('repo %s: imported key 0x%s.'), repo.id, keyid)


def keyids_from_pubring(gpgdir):
    if not os.path.exists(gpgdir):
        return []

    with pubring_dir(gpgdir), Context() as ctx:
        keyids = []
        for k in ctx.keylist():
            subkey = _extract_signing_subkey(k)
            if subkey is not None:
                keyids.append(subkey.keyid)
        return keyids


def log_key_import(keyinfo):
    msg = (_('Importing GPG key 0x%s:\n'
             ' Userid     : "%s"\n'
             ' Fingerprint: %s\n'
             ' From       : %s') %
           (keyinfo.short_id, keyinfo.userid,
            _printable_fingerprint(keyinfo.fingerprint),
            keyinfo.url.replace("file://", "")))
    logger.critical("%s", msg)


def log_dns_key_import(keyinfo, dns_result):
    log_key_import(keyinfo)
    if dns_result == dnf.dnssec.Validity.VALID:
        logger.critical(_('Verified using DNS record with DNSSEC signature.'))
    else:
        logger.critical(_('NOT verified using DNS record.'))

@contextlib.contextmanager
def pubring_dir(pubring_dir):
    orig = os.environ.get(GPG_HOME_ENV, None)
    os.environ[GPG_HOME_ENV] = pubring_dir
    try:
        yield
    finally:
        if orig is None:
            del os.environ[GPG_HOME_ENV]
        else:
            os.environ[GPG_HOME_ENV] = orig


def rawkey2infos(key_fo):
    pb_dir = tempfile.mkdtemp()
    keyinfos = []
    with pubring_dir(pb_dir), Context() as ctx:
        ctx.op_import(key_fo)
        for key in ctx.keylist():
            subkey = _extract_signing_subkey(key)
            if subkey is None:
                continue
            keyinfos.append(Key(key, subkey))
        ctx.armor = True
        for info in keyinfos:
            with Data() as sink:
                ctx.op_export(info.id_, 0, sink)
                sink.seek(0, os.SEEK_SET)
                info.raw_key = sink.read()
    dnf.util.rm_rf(pb_dir)
    return keyinfos


def retrieve(keyurl, repo=None):
    if keyurl.startswith('http:'):
        logger.warning(_("retrieving repo key for %s unencrypted from %s"), repo.id, keyurl)
    with dnf.util._urlopen(keyurl, repo=repo) as handle:
        keyinfos = rawkey2infos(handle)
    for keyinfo in keyinfos:
        keyinfo.url = keyurl
    return keyinfos


class Key(object):
    def __init__(self, key, subkey):
        self.id_ = subkey.keyid
        self.fingerprint = subkey.fpr
        self.raw_key = None
        self.timestamp = subkey.timestamp
        self.url = None
        self.userid = key.uids[0].uid

    @property
    def short_id(self):
        rj = '0' if dnf.pycomp.PY3 else b'0'
        return self.id_[-8:].rjust(8, rj)

    @property
    def rpm_id(self):
        return self.short_id.lower()
PK!�FZP���<<*module/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`��@sPddlmZdZdZdZdZdZeed�eed�eed	�eed
�eed�iZdS)
�)�_�����z#Enabling different stream for '{}'.zNothing to show.z;Installing newer version of '{}' than specified. Reason: {}zEnabled modules: {}.z6No profile specified for '{}', please specify profile.N)Zdnf.i18nrZDIFFERENT_STREAM_INFOZNOTHING_TO_SHOWZINSTALLING_NEWER_VERSIONZENABLED_MODULESZNO_PROFILE_SPECIFIEDZmodule_messages�rr�/usr/lib/python3.6/__init__.py�<module>sPK!�FZ����,module/__pycache__/exceptions.cpython-36.pycnu�[���3

�ft`F�@sddlZddlmZmZddlmZGdd�dejj�ZGdd�dejj�Z	Gdd	�d	ejj�Z
Gd
d�dejj�ZGdd
�d
ejj�ZGdd�dejj�Z
Gdd�dejj�ZGdd�dejj�ZGdd�dejj�ZGdd�dejj�ZGdd�dejj�ZdS)�N)�module_messages�NO_PROFILE_SPECIFIED)�_cseZdZ�fdd�Z�ZS)�NoModuleExceptioncs"td�j|�}tt|�j|�dS)NzNo such module: {})r�format�superr�__init__)�self�module_spec�value)�	__class__�� /usr/lib/python3.6/exceptions.pyrszNoModuleException.__init__)�__name__�
__module__�__qualname__r�
__classcell__r
r
)rrrsrcseZdZ�fdd�Z�ZS)�NoStreamExceptioncs"td�j|�}tt|�j|�dS)NzNo such stream: {})rrrrr)r	�streamr)rr
rr szNoStreamException.__init__)rrrrrr
r
)rrrsrcseZdZ�fdd�Z�ZS)�EnabledStreamExceptioncs"td�j|�}tt|�j|�dS)Nz No enabled stream for module: {})rrrrr)r	r
r)rr
rr&szEnabledStreamException.__init__)rrrrrr
r
)rrr%srcseZdZd�fdd�	Z�ZS)�EnableMultipleStreamsExceptionNcs*|dkrtd�j|�}tt|�j|�dS)Nz<Cannot enable more streams from module '{}' at the same time)rrrrr)r	r
r)rr
rr,sz'EnableMultipleStreamsException.__init__)N)rrrrrr
r
)rrr+srcseZdZ�fdd�Z�ZS)�DifferentStreamEnabledExceptioncs"td�j|�}tt|�j|�dS)Nz'Different stream enabled for module: {})rrrrr)r	r
r)rr
rr3sz(DifferentStreamEnabledException.__init__)rrrrrr
r
)rrr2srcseZdZ�fdd�Z�ZS)�NoProfileExceptioncs"td�j|�}tt|�j|�dS)NzNo such profile: {})rrrrr)r	Zprofiler)rr
rr9szNoProfileException.__init__)rrrrrr
r
)rrr8srcseZdZ�fdd�Z�ZS)�ProfileNotInstalledExceptioncs"td�j|�}tt|�j|�dS)Nz&Specified profile not installed for {})rrrrr)r	r
r)rr
rr?sz%ProfileNotInstalledException.__init__)rrrrrr
r
)rrr>srcseZdZ�fdd�Z�ZS)�NoStreamSpecifiedExceptioncs"td�j|�}tt|�j|�dS)Nz3No stream specified for '{}', please specify stream)rrrrr)r	r
r)rr
rrEsz#NoStreamSpecifiedException.__init__)rrrrrr
r
)rrrDsrcseZdZ�fdd�Z�ZS)�NoProfileSpecifiedExceptioncs"ttj|�}tt|�j|�dS)N)rrrrrr)r	r
r)rr
rrKsz$NoProfileSpecifiedException.__init__)rrrrrr
r
)rrrJsrcseZdZ�fdd�Z�ZS)�NoProfilesExceptioncs"td�j|�}tt|�j|�dS)Nz*No such profile: {}. No profiles available)rrrrr)r	r
r)rr
rrQszNoProfilesException.__init__)rrrrrr
r
)rrrPsrcseZdZ�fdd�Z�ZS)�NoProfileToRemoveExceptioncs"td�j|�}tt|�j|�dS)NzNo profile to remove for '{}')rrrrr)r	r
r)rr
rrWsz#NoProfileToRemoveException.__init__)rrrrrr
r
)rrrVsr)ZdnfZ
dnf.modulerrZdnf.i18nr�
exceptions�Errorrrrrrrrrrrrr
r
r
r�<module>sPK!�FZ����2module/__pycache__/exceptions.cpython-36.opt-1.pycnu�[���3

�ft`F�@sddlZddlmZmZddlmZGdd�dejj�ZGdd�dejj�Z	Gdd	�d	ejj�Z
Gd
d�dejj�ZGdd
�d
ejj�ZGdd�dejj�Z
Gdd�dejj�ZGdd�dejj�ZGdd�dejj�ZGdd�dejj�ZGdd�dejj�ZdS)�N)�module_messages�NO_PROFILE_SPECIFIED)�_cseZdZ�fdd�Z�ZS)�NoModuleExceptioncs"td�j|�}tt|�j|�dS)NzNo such module: {})r�format�superr�__init__)�self�module_spec�value)�	__class__�� /usr/lib/python3.6/exceptions.pyrszNoModuleException.__init__)�__name__�
__module__�__qualname__r�
__classcell__r
r
)rrrsrcseZdZ�fdd�Z�ZS)�NoStreamExceptioncs"td�j|�}tt|�j|�dS)NzNo such stream: {})rrrrr)r	�streamr)rr
rr szNoStreamException.__init__)rrrrrr
r
)rrrsrcseZdZ�fdd�Z�ZS)�EnabledStreamExceptioncs"td�j|�}tt|�j|�dS)Nz No enabled stream for module: {})rrrrr)r	r
r)rr
rr&szEnabledStreamException.__init__)rrrrrr
r
)rrr%srcseZdZd�fdd�	Z�ZS)�EnableMultipleStreamsExceptionNcs*|dkrtd�j|�}tt|�j|�dS)Nz<Cannot enable more streams from module '{}' at the same time)rrrrr)r	r
r)rr
rr,sz'EnableMultipleStreamsException.__init__)N)rrrrrr
r
)rrr+srcseZdZ�fdd�Z�ZS)�DifferentStreamEnabledExceptioncs"td�j|�}tt|�j|�dS)Nz'Different stream enabled for module: {})rrrrr)r	r
r)rr
rr3sz(DifferentStreamEnabledException.__init__)rrrrrr
r
)rrr2srcseZdZ�fdd�Z�ZS)�NoProfileExceptioncs"td�j|�}tt|�j|�dS)NzNo such profile: {})rrrrr)r	Zprofiler)rr
rr9szNoProfileException.__init__)rrrrrr
r
)rrr8srcseZdZ�fdd�Z�ZS)�ProfileNotInstalledExceptioncs"td�j|�}tt|�j|�dS)Nz&Specified profile not installed for {})rrrrr)r	r
r)rr
rr?sz%ProfileNotInstalledException.__init__)rrrrrr
r
)rrr>srcseZdZ�fdd�Z�ZS)�NoStreamSpecifiedExceptioncs"td�j|�}tt|�j|�dS)Nz3No stream specified for '{}', please specify stream)rrrrr)r	r
r)rr
rrEsz#NoStreamSpecifiedException.__init__)rrrrrr
r
)rrrDsrcseZdZ�fdd�Z�ZS)�NoProfileSpecifiedExceptioncs"ttj|�}tt|�j|�dS)N)rrrrrr)r	r
r)rr
rrKsz$NoProfileSpecifiedException.__init__)rrrrrr
r
)rrrJsrcseZdZ�fdd�Z�ZS)�NoProfilesExceptioncs"td�j|�}tt|�j|�dS)Nz*No such profile: {}. No profiles available)rrrrr)r	r
r)rr
rrQszNoProfilesException.__init__)rrrrrr
r
)rrrPsrcseZdZ�fdd�Z�ZS)�NoProfileToRemoveExceptioncs"td�j|�}tt|�j|�dS)NzNo profile to remove for '{}')rrrrr)r	r
r)rr
rrWsz#NoProfileToRemoveException.__init__)rrrrrr
r
)rrrVsr)ZdnfZ
dnf.modulerrZdnf.i18nr�
exceptions�Errorrrrrrrrrrrrr
r
r
r�<module>sPK!�FZ7���^�^-module/__pycache__/module_base.cpython-36.pycnu�[���3

�ft`���@s�ddlmZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZmZmZddlZejjjZejjjZejjjZejjjZed�Zed�Zdd	�ZGd
d�de�Z dd
�Z!dS)�)�OrderedDictN)�EnableMultipleStreamsException)�logger)�_�P_�ucdz6

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledz@

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctivecCs|j�S)N)�getName)�profile�r
�!/usr/lib/python3.6/module_base.py�_profile_comparison_key'src@seZdZdd�Zdd�Zdd�ZdBdd	�ZdCd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dDdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdEd%d&�Zd'd(�Zd)d*�Zd+d,�ZdFd-d.�Zd/d0�Zed1d2��Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAS)G�
ModuleBasecCs
||_dS)N)�base)�selfrr
r
r�__init__.szModuleBase.__init__c	Csn|j|�\}}}}x8|j�D],\}\}}|jrtjtd�j|j|j��qW|sX|sX|rjtj	j
|||d��dS)Nz%Ignoring unnecessary profile: '{}/{}')�no_match_group_specs�error_group_specs�module_depsolv_errors)�!_resolve_specs_enable_update_sack�itemsr	r�infor�format�name�dnf�
exceptions�
MarkingErrors)	r�module_specs�no_match_specs�error_specs�
solver_errors�module_dicts�spec�nsvcap�module_dictr
r
r�enable2szModuleBase.enablecCs,|j|t�\}}|s|r(tjj||d��dS)N)rr)�_modules_reset_or_disable�STATE_DISABLEDrrr)rrrrr
r
r�disable?szModuleBase.disableTc	s��j|�\}}}}tj}i}t�}	d}
�xt|j�D�]f\}\}}
�xV|
j�D�]H\}}�x<|j�D�].\}}�fdd�|D�}|s�tjtd�j|||��|j	|�qbg}�j
|�}|j�|kr�td�}tj|j|j
�|��d}
|j�rd|j|j|j��|�s(|j�}|�r>djtdd�|D���}td	�j||||�}ntd
�j|�}tj|�|j	|�qbnĈjjj||�}|�s�|j�}|�r�djtdd�|D���}td�j|||�}ntd
�j||�}tj|�|j	|�xNt|�D]B}|j|�}|�stjtd�j|||��|j	|�|j|��q�WxJ|D]B}�jjj||j��x&|j�D]}|j|t��j|��qPW�q.Wx|D]}|	j|j���qzWqbWqLWq2W|
�r�tjjtd����j |	||�\}}|�r�|j|�|�s�|�s�|�r�tjj!|||d��dS)NFcs"g|]}�jjj|j��r|�qSr
)r�_moduleContainer�isModuleActive�getId)�.0�x)rr
r�
<listcomp>Ssz&ModuleBase.install.<locals>.<listcomp>zAAll matches for argument '{0}' in module '{1}:{2}' are not activezDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, cSsg|]}|j��qSr
)r)r+r	r
r
rr-gszKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}cSsg|]}|j��qSr
)r)r+r	r
r
rr-wsz<No default profiles for module {}:{}. Available profiles: {}zNo profiles for module {}:{}z0Default profile {} not available in module {}:{}z:Installing module from Fail-Safe repository is not allowed)rrr)"r�hawkey�MODULE_FAIL_SAFE_REPO_NAME�setrr�errorrr�append�_get_latest�	getRepoID�critical�
getNameStreamr	�extend�getProfiles�join�sortedrr(�getDefaultProfiles�installr�
getContent�
setdefault�add�update�getArtifactsrr�Error�_install_profiles_internalr)rr�strictrrrr �fail_safe_repo�install_dict�install_set_artifacts�fail_safe_repo_usedr!r"�
moduledictr�
streamdict�stream�module_list�install_module_list�profiles�
latest_module�msg�available_profiles�
profile_namesZprofiles_stringsr	�module_profiles�pkg_name�module�__�profiles_errorsr
)rrr<Fs�








 
 
zModuleBase.installc.	s��j|�\}}}t�}t�}ddh}x�|j�D]�\}	\}
}x�|j�D]x}xr�jjj|dddd�D]X}
�jjj|
�r`xD|
j�D]8}|j	dd�d}||kr�q||j	dd�d}|j
|�q|Wq`WqDWq.W�j�}�j|�}|r�|j
|�tj}i}t�}d	}�jjj�}�x^|j�D�]P\}	\}
}�x>|j�D�]0\}}�x"|j�D�]\}}�fd
d�|D�}|�s�tjtd�j|	||��|j|	��q@g}�j|�}|j�|k�r�td
�}tj|j|j�|��d}|
j�rJ|j
|j|
j��|�s�|j�}|�r"djtdd�|D���} td�j|	||| �}ntd�j|	�}tj|�|j|	��q@nT||k�r�xH||D]<}!|j|!�}"|"�s�tjtd�j|!||���q^|j
|"��q^WxJ|D]B}!�jjj||!j ��x&|!j!�D]}|j"|t��j
|	��q�W�q�Wxh|D]`}
|
j�}#|j#|#�xF|#D]>}|j	dd�d}||k�r.�q|j	dd�d}|j
|��qW�q�W�q@W�q*W�qW|�r|t$j%j&td����j'|||�\}$}%|%�r�|j
|%�t�}&|&j#|�|&j#|��jj(j�j)dd�}'�jj(j�j)ddgd�j*�}(x�|&D]�}|(j+|d�})|)j,�}*|*�s�q�|)j-�}+|+�sJtjtd�j|��||k�r�|'j.|)�}'�q�|)j/|$�},|,�r^|,})t$j0j1�jj(�}-|-j|)d��jj2j3|-d��q�W�jj4|'�|�s�|�s�|�r�t$j%j5|||d��dS)N�nosrc�src��.��-�rFcs"g|]}�jjj|j��r|�qSr
)rr(r)r*)r+r,)rr
rr-�sz(ModuleBase.switch_to.<locals>.<listcomp>z8No active matches for argument '{0}' in module '{1}:{2}'zDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, cSsg|]}|j��qSr
)r)r+r	r
r
rr-�szKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}zEInstalled profile '{0}' is not available in module '{1}' stream '{2}'z:Installing module from Fail-Safe repository is not allowed)�empty)�	arch__neq)rz9No packages available to distrosync for package name '{}')�pkg)�select)rrr)6�_resolve_specs_enabler0r�keysrr(�queryr)rA�rsplitr?�_update_sack�_enable_dependenciesr7r.r/ZgetRemovedProfilesrr1rrr2r3r4r5r6r	r8r9r:Zwarningr<rr=r>r@rrrBrC�sack�filterm�apply�filter�	installed�	available�union�intersection�selector�Selector�_goalZdistupgrade�_remove_if_unneededr).rrrDrrr Znew_artifacts_namesZactive_artifacts_namesZ
src_archesr!r"rIrrU�artifact�archrTr�dependency_error_specrErFrGrHZremoved_profilesrJrKrLrMrNrOrPrQrRr	rS�	artifacts�install_base_queryrWZ	all_namesZremove_query�base_no_source_queryrermrnZonly_new_module�sltrr
)rr�	switch_to�s�








 



(






zModuleBase.switch_tocCs(|j|t�\}}|r$tjj||d��dS)N)rr)r%�
STATE_UNKNOWNrrr)rrrrr
r
r�resetszModuleBase.resetcs,g}tj}d}�jjj�jddgd�j�}�x�|D�]�}�j|�\}}|sV|j|�q2�fdd�|D�}	|	s�t	j
td�j|��q2�j
|	|d�}
t�}�x|
j�D�]\}}
�x|
j�D]�\}}|j�j||���j|�}|j�|k�rtd�}t	j|j|j�|��d	}|j�rH|j|j�}|�s(q�x�|D]}|j|j���q.Wq�x |j�D]}|j|j���qRWxD|j�D]8}tj|�}x&|jtjgd
�D]}|j|j��q�W�qtWq�Wq�W|�s�t	j
td�j|��|j|d�}|r2t j!j"�jj�}|j|d
��jj#j$|d�q2W|�r(t j%j&td���|S)NFrYrX)r`cs"g|]}�jjj|j��r|�qSr
)rr(r)r*)r+r,)rr
rr-3sz&ModuleBase.upgrade.<locals>.<listcomp>zUnable to resolve argument {}zCUpgrading module '{0}' from Fail-Safe repository {1} is not allowedT)Zformsz&Unable to match profile in argument {})r)ra)rbz9Upgrading module from Fail-Safe repository is not allowed)'r.r/rrirerjrk�_get_modulesr2rr1rr�_create_module_dict_and_enabler0rr@�)_get_package_name_set_and_remove_profilesr3r4r5r6r	r8r=rA�SubjectZget_nevra_possibilitiesZ
FORM_NEVRAr?rrlrrqrrrs�upgraderrB)rrrrErHrzr!rLr"Zupdate_module_listr#Zupgrade_package_setrrJrK�module_list_from_dictrOrP�profiles_setr	ru�subjZ	nevra_objrer{r
)rrr�%sb




 zModuleBase.upgradecCs�g}t�}x�|D]�}|j|�\}}|s2|j|�q|j||d�}g}x>|j�D]2\}	}
x(|
j�D]\}}|j|j||d��q`WqNW|s�tjt	d�j
|��|j|�qW|r�|jj
j�}
|j|
�}|r�|jjj�j�j|d�}|r�|jj|�|S)NFTz&Unable to match profile in argument {})r)r0rr2r�rr7r�rr1rrr@rr(ZgetInstalledPkgNames�
differencerirermrjrt)rrrZremove_package_setr!rLr"r#Zremove_packages_namesrrJrKr�Zkeep_pkg_namesrer
r
r�remove_s0


zModuleBase.removecCs
|j|�S)N)r)r�module_specr
r
r�get_modules|szModuleBase.get_modulesc
Cs�tj|�}x�|j�D]�}|jr$|jnd}|jr4|jnd}d}|jrH|jnd}|jrX|jnd}|jrv|jdkrvt|j�}|j	j
j|||||�}	|	r|	|fSqWfdfS)NrZr\���)r.r�Znsvcap_possibilitiesrrK�contextrv�version�strrr(re)
rr�r�r"rrKr�r�rv�modulesr
r
rr�s

zModuleBase._get_modulescCs>d}|r:|d}x(|dd�D]}|j�|j�kr|}qW|S)Nrr\)Z
getVersionNum)rrL�latestrUr
r
rr3�szModuleBase._get_latestc
Cs�i}x.|D]&}|j|j�i�j|j�g�j|�q
W�xL|j�D�]>\}}|jjj|�}t|�dk�rF|t	kr�|t
kr�|tkr�djt
|j�tj|jjj�d��}	td�j|t|�|	|d�}
t||
��|t
kr�|jjj|�}n|jjj|�}|s�||k�rt|��xlt
|j��D]0}||k�r8|�r|jjj||��q||=�qWn*|�rpx"|j�D]}|jjj||��qVWt|�dks@t�q@W|S)Nr\z', ')�keyz�Argument '{argument}' matches {stream_count} streams ('{streams}') of module '{module}', but none of the streams are enabled or default)ZargumentZstream_countZstreamsrU)r>r�	getStreamr2rrr(ZgetModuleState�len�
STATE_DEFAULT�
STATE_ENABLEDr&r9r:rd�	functools�
cmp_to_keyriZevr_cmprrrZgetEnabledStream�getDefaultStreamr$�AssertionError)
rrLr!r$�
moduleDictrUZ
moduleName�
streamDictZmoduleStateZstreams_strrPrKr�r
r
rr��s>
"


z)ModuleBase._create_module_dict_and_enablec
Cs�g}g}i}x�|D]�}|j|�\}}|s4|j|�qy|j||d�}||f||<Wqttfk
r�}	z2|j|�tjt|	��tjtd�j	|��WYdd}	~	XqXqW|||fS)NTzUnable to resolve argument {})
rr2r��RuntimeErrorrrr1rrr)
rrr�
error_specr r!rLr"r#�er
r
rrc�s 


*z ModuleBase._resolve_specs_enablecCs�dd�|jjj�D�}y4|jjj|jj||jjj|jjjd|jjj	d�}Wn4t
jk
r~}ztj
jt|���WYdd}~XnX|S)NcSsg|]}|jr|j�qSr
)�module_hotfixes�id)r+�ir
r
rr-�sz+ModuleBase._update_sack.<locals>.<listcomp>T)Zupdate_onlyZdebugsolver)r�repos�iter_enabledriZfilter_modulesr(�confZinstallrootZmodule_platform_idZdebug_solverr.�	ExceptionrrrBr)r�
hot_fix_reposrr�r
r
rrg�s
"zModuleBase._update_sackc	Cs�g}x�|j�D]�\}\}}x�|j�D]�}xz|j�D]n}y|jjjtjj|��Wq2tk
r�}z2|j	|�t
jt|��t
jt
d�j|��WYdd}~Xq2Xq2Wq$WqW|S)NzUnable to resolve argument {})r�valuesrr(ZenableDependencyTree�libdnfrUZVectorModulePackagePtrr�r2rr1rrr)	rr r�r!r"r�r�r�r�r
r
rrh�s
2zModuleBase._enable_dependenciescCs<|j|�\}}}|j�}|j|�}|r0|j|�||||fS)N)rcrgrhr7)rrrr�r rrwr
r
rr�s

z,ModuleBase._resolve_specs_enable_update_sackcCs�g}x�|D]�}|j|�\}}|s@tjtd�j|��|j|�q
|js^|js^|js^|j	s^|j
rrtjtd�j|��t�}x|D]}|j
|j��q~Wx8|D]0}	|tkr�|jjj|	�|tkr�|jjj|	�q�Wq
W|j�}
||
fS)NzUnable to resolve argument {}zMOnly module name is required. Ignoring unneeded information in argument: '{}')rrr1rrr2rKr�r�rvr	rr0r?rr}rr(r~r&r'rg)rrZto_staterr!rLr"Zmodule_namesrUrrr
r
rr%�s(



z$ModuleBase._modules_reset_or_disableFc
Cs�t�}|j|�}t|jjj|j���}|s0t�S|jr�|j|j�}|sLt�Sx�|D]6}|j�|krR|rz|jjj||j��|j	|j
��qRWnDxB|D]:}	|r�|jjj||	�x |j|	�D]}|j	|j
��q�Wq�W|S)N)r0r3rr(�getInstalledProfilesrr	r8Z	uninstallr@r=)
rrLr"r�Zpackage_name_setrOZinstalled_profiles_stringsr�r	Zprofile_stringr
r
rr�s*



z4ModuleBase._get_package_name_set_and_remove_profilesc	Cs�t�}x�|D]�}|j|�\}}|s8tjtd�j|��q|jrXtjtd�j|j|j��xl|D]d}t�}|j	�|d<x8t
|j�td�D]$}dj
dd�|j�D��||j�<q�W|j|j|�j��q^WqWdj
t
|��S)	NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'�Name)r��
cSsg|]}|�qSr
r
)r+ZpkgNamer
r
rr-5sz1ModuleBase._get_info_profiles.<locals>.<listcomp>z

)r0rrrrrr	rr�getFullIdentifierr:r8rr9r=rr?�_create_simple_table�toString)	rr�outputr�rLr"rU�linesr	r
r
r�_get_info_profiles#s"

 zModuleBase._get_info_profilescCs�|jjj|j��}|j�}d}xTt|td�D]D}|dj|j�|j�|krLdnd�7}||j�|krj|rjdnd7}q,W|dd�S)	NrZ)r�z{}{}z [d]z [i], z, r^���)rr(r�rr8r:rr)r�
modulePackage�default_profiles�enabled_strZinstalled_profilesrQ�profiles_strr	r
r
r�_profile_report_formatter:s

z$ModuleBase._profile_report_formattercCs|j�jdd�S)Nr�� )�strip�replace)rZsummaryr
r
r�_summary_report_formatterFsz$ModuleBase._summary_report_formattercCs�d}d}d}|j�|jjj|j��kr*d}|jjj|�rJ|s@d}|d7}n|jjj|�rh|s`d}|d7}|r�|jjj|�r�|s�d}|d7}|||fS)NrZz [d]r�z[e]z[x]z[a])r�rr(r�rZ	isEnabledZ
isDisabledr))rr��
markActive�default_strr��disabled_strr
r
r�_module_strs_formatterIs&
z!ModuleBase._module_strs_formatterc
Cs�t�}�x�|D�]�}|j|�\}}|s<tjtd�j|��q|jr\tjtd�j|j|j���xj|D�]`}|j|dd�\}}}	|j	j
j|j�|j
��}
|j||
|�}t�}|j�|d<|j
�|||	|d<|j�|d<|j�|d<|j�|d	<||d
<dj|
�|d<|j�|d
<|j�|d<|j�|d<t�}
xV|j�D]J}xB|j�D]6}x.|j�D]"\}}|
jdj|dj|����qXW�qJW�q<Wdjt|
��|d<djt|j���|d<|j|j|�j��qdWqWdjt|��}|�r�|t7}|S)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'T)r�r��StreamZVersionZContextZArchitecture�Profilesr�zDefault profiles�Repo�SummaryZDescriptionz{}:[{}]�,r�ZRequiresZ	Artifactsz

) r0rrrrrr	rr�rr(r;rr�r�rZ
getVersionZ
getContextZgetArchr9r4�
getSummaryZgetDescriptionZgetModuleDependenciesZgetRequiresrr?r:rAr�r��MODULE_INFO_TABLE_HINT)rrr�r�rLr"r�r�r�r�r�r�r�Zreq_setZreqZrequire_dictZmod_requirerK�	str_tabler
r
r�	_get_info^sP

*zModuleBase._get_infocCs�tjj�}|jd�|jd�|jd�}|jd�}|jd�|jd�|j�xL|j	�D]@\}}|dkrld}|j
�}|j|�j|�|j|�jt
|��qXW|S)NTz : r�ZValuer�rZ)r��	smartcols�TableZenableNoheadingsZsetColumnSeparator�	newColumn�setWrapZsetSafecharsZsetNewlineWrapFunctionr�newLine�
getColumnCell�setDatar�)r��table�column_nameZcolumn_valueZ	line_name�value�liner
r
rr��s






zModuleBase._create_simple_tablec	Cs�t�}xx|D]p}|j|�\}}|s8tjtd�j|��q|jrXtjtd�j|j|j��x"|D]}|j�}|r^|j	|�q^WqWdj
t|��}|S)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'z

)r0rrrrrr	rZgetYamlr?r9r:)	rrr�r�rLr"r�rZ
output_stringr
r
r�_get_full_info�s

zModuleBase._get_full_infoc	Cs�t�}|jjj�}|jjj�jdd�j�}|jjjtj	d�}x6|D].}t
jj|�}|j
|j|jjddd|d��}qBW|j�x�|D]�}|j�}	|	s�q�|j|	d�}
|
r�x�|
D]�}d}g}
x4t|j�td�D] }|j|j�kr�|
j|j��q�Wt�}|j�|d	<d
jt|
��|d<|j�|d<|j�|d
<|j|�}|dj|jjj j!t"|���7}|dj|j#��7}|j$|�q�Wq�Wdjt|��S)NT)r_)�flagsF)Z
with_nevraZ
with_providesZwith_filenamesre)�nevra_strictrZ)r�ZModuler�r�r�r�z{}
z{}z

)%r0rr(�getModulePackagesrirerjrkr.ZIGNORE_MODULAR_EXCLUDESrZsubjectr�roZget_best_queryrArlr:r8rrr=r2rrr�r9r4r�r�rr��term�boldr�r�r?)rZ	rpm_specsr�ZmodulePackagesZ	baseQueryZgetBestInitQueryr!r�r�rxreraZ
string_outputrNr	r�r�r
r
r�_what_provides�s@



zModuleBase._what_providescsrtjj�}|jtjjj�|jd�|jd�}|jd�}|jd�}|jd�|jd�}|jd��jj	j
spd|_x�|D]�}x�|D]�}t|�dkr�|d}	n(�fdd	�|D�}
|
r�|
d}	n|d}	|j
�}�j|	d
d�\}}
}�jjj|	j�|	j��}�j|	||
�}|j|�j|	j��|j|�j|	j�||
|�|j|�j|��j|	j��}|j|�j|�q�WqvW|S)NTr�r�r�r�r\rcsg|]}�jjj|�r|�qSr
)rr(r))r+rU)rr
rr-�sz5ModuleBase._create_and_fill_table.<locals>.<listcomp>F)r�)r�r�r�ZsetTermforceZTermForce_AUTOZenableMaxoutr�r�rr��verboseZhiddenr�r�r�r(r;rr�r�r�r�r�r�)rr�r�r�Z
column_streamZcolumn_profilesZcolumn_infoZlatest_per_repoZnameStreamArchr�Zactiver�r�r�r�r�r�Zsummary_strr
)rr�_create_and_fill_table�sD












z!ModuleBase._create_and_fill_tablecCs�g}|r0x2|D]}|j|�\}}|j|�qWn|jjj�}|jjj||�}|sTdS|j|�}d}	d}
y"|jj|dddj�j	}Wn(t
k
r�|dddj�}YnXt|d�}|j|�}
|j
|�}||
7}x�td|j��D]�}||
|k�r�|
|7}
|	d7}	y"|jj||	ddj�j	}Wn*t
k
�rX||	ddj�}YnXt||	�}|d7}||j
|�7}||
7}|j|�}||j||�7}q�W|tS)NrZrr\r�)rr7rr(r�ZgetLatestModulesPerRepor�r�r4r�KeyErrorr��_format_header�_format_repoid�rangeZgetNumberOfLines�getLiner��MODULE_TABLE_HINT)rrZmodule_stater�r!rLr"r�r�Zcurrent_repo_id_indexZalready_printed_lines�	repo_nameZversions�headerr�r�r�r
r
r�_get_brief_descriptionsH

"


z!ModuleBase._get_brief_descriptioncCs&|jd�}|j||�jdd�ddS)Nrr�r\)r�r��split)rr�r�r
r
rr�.s
zModuleBase._format_headercCsdj|jjjj|��S)Nz{}
)rrr�r�r�)rr�r
r
rr�2szModuleBase._format_repoidcCs|jjj�jddgd�j�}|j|d�}g}dd�|jjj�D�}|j||j�d�}|j	|�}x�|j
�D]�\}	}
|j|	d�}|s�|j|	d�}|s�x |
D]}tjt
d	�j|��q�Wtjt
d
�j|	��|j|
�qh|jjjj|	�tjj|jj�}
|
j|d�|jjj|
|d�qhW||fS)
NrYrX)r`)r�cSsg|]}|jr|j�qSr
)r�r�)r+r�r
r
rr-<sz9ModuleBase._install_profiles_internal.<locals>.<listcomp>)Zreponamer)rzUnable to resolve argument {}zNo match for package {})ra)rbZoptional)rrirerjrkrlr�r�rdrorrr1rrr7rsZ
group_membersr?rrqrrr0r<)rrGrFrDrzryrr�Zhotfix_packagesrTZ	set_specsrer!r{r
r
rrC5s,


z%ModuleBase._install_profiles_internalN)T)T)T)F)F)#�__name__�
__module__�__qualname__rr$r'r<r|r~r�r�r�rr3r�rcrgrhrr%r�r�r�r�r�r��staticmethodr�r�r�r�r�r�r�rCr
r
r
rr
+s@

U
:	
%

-(**r
cCs&tjj|�}djtddt|��|g�S)Nr�zModular dependency problem:zModular dependency problems:)r�utilZ_format_resolve_problemsr9rr�)�errorsrPr
r
r�format_modular_solver_errorsSsr�)"�collectionsrr.Zlibdnf.smartcolsr�Z
libdnf.moduleZdnf.selectorrZdnf.exceptionsZdnf.module.exceptionsrZdnf.utilrZdnf.i18nrrrr�rUZModulePackageContainerZModuleState_DEFAULTr�ZModuleState_ENABLEDr�ZModuleState_DISABLEDr&ZModuleState_UNKNOWNr}r�r�r�objectr
r�r
r
r
r�<module>s0



.PK!�FZP���<<0module/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`��@sPddlmZdZdZdZdZdZeed�eed�eed	�eed
�eed�iZdS)
�)�_�����z#Enabling different stream for '{}'.zNothing to show.z;Installing newer version of '{}' than specified. Reason: {}zEnabled modules: {}.z6No profile specified for '{}', please specify profile.N)Zdnf.i18nrZDIFFERENT_STREAM_INFOZNOTHING_TO_SHOWZINSTALLING_NEWER_VERSIONZENABLED_MODULESZNO_PROFILE_SPECIFIEDZmodule_messages�rr�/usr/lib/python3.6/__init__.py�<module>sPK!�FZ"���^�^3module/__pycache__/module_base.cpython-36.opt-1.pycnu�[���3

�ft`���@s�ddlmZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZmZmZddlZejjjZejjjZejjjZejjjZed�Zed�Zdd	�ZGd
d�de�Z dd
�Z!dS)�)�OrderedDictN)�EnableMultipleStreamsException)�logger)�_�P_�ucdz6

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledz@

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctivecCs|j�S)N)�getName)�profile�r
�!/usr/lib/python3.6/module_base.py�_profile_comparison_key'src@seZdZdd�Zdd�Zdd�ZdBdd	�ZdCd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dDdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdEd%d&�Zd'd(�Zd)d*�Zd+d,�ZdFd-d.�Zd/d0�Zed1d2��Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAS)G�
ModuleBasecCs
||_dS)N)�base)�selfrr
r
r�__init__.szModuleBase.__init__c	Csn|j|�\}}}}x8|j�D],\}\}}|jrtjtd�j|j|j��qW|sX|sX|rjtj	j
|||d��dS)Nz%Ignoring unnecessary profile: '{}/{}')�no_match_group_specs�error_group_specs�module_depsolv_errors)�!_resolve_specs_enable_update_sack�itemsr	r�infor�format�name�dnf�
exceptions�
MarkingErrors)	r�module_specs�no_match_specs�error_specs�
solver_errors�module_dicts�spec�nsvcap�module_dictr
r
r�enable2szModuleBase.enablecCs,|j|t�\}}|s|r(tjj||d��dS)N)rr)�_modules_reset_or_disable�STATE_DISABLEDrrr)rrrrr
r
r�disable?szModuleBase.disableTc	s��j|�\}}}}tj}i}t�}	d}
�xt|j�D�]f\}\}}
�xV|
j�D�]H\}}�x<|j�D�].\}}�fdd�|D�}|s�tjtd�j|||��|j	|�qbg}�j
|�}|j�|kr�td�}tj|j|j
�|��d}
|j�rd|j|j|j��|�s(|j�}|�r>djtdd�|D���}td	�j||||�}ntd
�j|�}tj|�|j	|�qbnĈjjj||�}|�s�|j�}|�r�djtdd�|D���}td�j|||�}ntd
�j||�}tj|�|j	|�xNt|�D]B}|j|�}|�stjtd�j|||��|j	|�|j|��q�WxJ|D]B}�jjj||j��x&|j�D]}|j|t��j|��qPW�q.Wx|D]}|	j|j���qzWqbWqLWq2W|
�r�tjjtd����j |	||�\}}|�r�|j|�|�s�|�s�|�r�tjj!|||d��dS)NFcs"g|]}�jjj|j��r|�qSr
)r�_moduleContainer�isModuleActive�getId)�.0�x)rr
r�
<listcomp>Ssz&ModuleBase.install.<locals>.<listcomp>zAAll matches for argument '{0}' in module '{1}:{2}' are not activezDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, cSsg|]}|j��qSr
)r)r+r	r
r
rr-gszKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}cSsg|]}|j��qSr
)r)r+r	r
r
rr-wsz<No default profiles for module {}:{}. Available profiles: {}zNo profiles for module {}:{}z0Default profile {} not available in module {}:{}z:Installing module from Fail-Safe repository is not allowed)rrr)"r�hawkey�MODULE_FAIL_SAFE_REPO_NAME�setrr�errorrr�append�_get_latest�	getRepoID�critical�
getNameStreamr	�extend�getProfiles�join�sortedrr(�getDefaultProfiles�installr�
getContent�
setdefault�add�update�getArtifactsrr�Error�_install_profiles_internalr)rr�strictrrrr �fail_safe_repo�install_dict�install_set_artifacts�fail_safe_repo_usedr!r"�
moduledictr�
streamdict�stream�module_list�install_module_list�profiles�
latest_module�msg�available_profiles�
profile_namesZprofiles_stringsr	�module_profiles�pkg_name�module�__�profiles_errorsr
)rrr<Fs�








 
 
zModuleBase.installc.	s��j|�\}}}t�}t�}ddh}x�|j�D]�\}	\}
}x�|j�D]x}xr�jjj|dddd�D]X}
�jjj|
�r`xD|
j�D]8}|j	dd�d}||kr�q||j	dd�d}|j
|�q|Wq`WqDWq.W�j�}�j|�}|r�|j
|�tj}i}t�}d	}�jjj�}�x^|j�D�]P\}	\}
}�x>|j�D�]0\}}�x"|j�D�]\}}�fd
d�|D�}|�s�tjtd�j|	||��|j|	��q@g}�j|�}|j�|k�r�td
�}tj|j|j�|��d}|
j�rJ|j
|j|
j��|�s�|j�}|�r"djtdd�|D���} td�j|	||| �}ntd�j|	�}tj|�|j|	��q@nT||k�r�xH||D]<}!|j|!�}"|"�s�tjtd�j|!||���q^|j
|"��q^WxJ|D]B}!�jjj||!j ��x&|!j!�D]}|j"|t��j
|	��q�W�q�Wxh|D]`}
|
j�}#|j#|#�xF|#D]>}|j	dd�d}||k�r.�q|j	dd�d}|j
|��qW�q�W�q@W�q*W�qW|�r|t$j%j&td����j'|||�\}$}%|%�r�|j
|%�t�}&|&j#|�|&j#|��jj(j�j)dd�}'�jj(j�j)ddgd�j*�}(x�|&D]�}|(j+|d�})|)j,�}*|*�s�q�|)j-�}+|+�sJtjtd�j|��||k�r�|'j.|)�}'�q�|)j/|$�},|,�r^|,})t$j0j1�jj(�}-|-j|)d��jj2j3|-d��q�W�jj4|'�|�s�|�s�|�r�t$j%j5|||d��dS)N�nosrc�src��.��-�rFcs"g|]}�jjj|j��r|�qSr
)rr(r)r*)r+r,)rr
rr-�sz(ModuleBase.switch_to.<locals>.<listcomp>z8No active matches for argument '{0}' in module '{1}:{2}'zDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, cSsg|]}|j��qSr
)r)r+r	r
r
rr-�szKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}zEInstalled profile '{0}' is not available in module '{1}' stream '{2}'z:Installing module from Fail-Safe repository is not allowed)�empty)�	arch__neq)rz9No packages available to distrosync for package name '{}')�pkg)�select)rrr)6�_resolve_specs_enabler0r�keysrr(�queryr)rA�rsplitr?�_update_sack�_enable_dependenciesr7r.r/ZgetRemovedProfilesrr1rrr2r3r4r5r6r	r8r9r:Zwarningr<rr=r>r@rrrBrC�sack�filterm�apply�filter�	installed�	available�union�intersection�selector�Selector�_goalZdistupgrade�_remove_if_unneededr).rrrDrrr Znew_artifacts_namesZactive_artifacts_namesZ
src_archesr!r"rIrrU�artifact�archrTr�dependency_error_specrErFrGrHZremoved_profilesrJrKrLrMrNrOrPrQrRr	rS�	artifacts�install_base_queryrWZ	all_namesZremove_query�base_no_source_queryrermrnZonly_new_module�sltrr
)rr�	switch_to�s�








 



(






zModuleBase.switch_tocCs(|j|t�\}}|r$tjj||d��dS)N)rr)r%�
STATE_UNKNOWNrrr)rrrrr
r
r�resetszModuleBase.resetcs,g}tj}d}�jjj�jddgd�j�}�x�|D�]�}�j|�\}}|sV|j|�q2�fdd�|D�}	|	s�t	j
td�j|��q2�j
|	|d�}
t�}�x|
j�D�]\}}
�x|
j�D]�\}}|j�j||���j|�}|j�|k�rtd�}t	j|j|j�|��d	}|j�rH|j|j�}|�s(q�x�|D]}|j|j���q.Wq�x |j�D]}|j|j���qRWxD|j�D]8}tj|�}x&|jtjgd
�D]}|j|j��q�W�qtWq�Wq�W|�s�t	j
td�j|��|j|d�}|r2t j!j"�jj�}|j|d
��jj#j$|d�q2W|�r(t j%j&td���|S)NFrYrX)r`cs"g|]}�jjj|j��r|�qSr
)rr(r)r*)r+r,)rr
rr-3sz&ModuleBase.upgrade.<locals>.<listcomp>zUnable to resolve argument {}zCUpgrading module '{0}' from Fail-Safe repository {1} is not allowedT)Zformsz&Unable to match profile in argument {})r)ra)rbz9Upgrading module from Fail-Safe repository is not allowed)'r.r/rrirerjrk�_get_modulesr2rr1rr�_create_module_dict_and_enabler0rr@�)_get_package_name_set_and_remove_profilesr3r4r5r6r	r8r=rA�SubjectZget_nevra_possibilitiesZ
FORM_NEVRAr?rrlrrqrrrs�upgraderrB)rrrrErHrzr!rLr"Zupdate_module_listr#Zupgrade_package_setrrJrK�module_list_from_dictrOrP�profiles_setr	ru�subjZ	nevra_objrer{r
)rrr�%sb




 zModuleBase.upgradecCs�g}t�}x�|D]�}|j|�\}}|s2|j|�q|j||d�}g}x>|j�D]2\}	}
x(|
j�D]\}}|j|j||d��q`WqNW|s�tjt	d�j
|��|j|�qW|r�|jj
j�}
|j|
�}|r�|jjj�j�j|d�}|r�|jj|�|S)NFTz&Unable to match profile in argument {})r)r0rr2r�rr7r�rr1rrr@rr(ZgetInstalledPkgNames�
differencerirermrjrt)rrrZremove_package_setr!rLr"r#Zremove_packages_namesrrJrKr�Zkeep_pkg_namesrer
r
r�remove_s0


zModuleBase.removecCs
|j|�S)N)r)r�module_specr
r
r�get_modules|szModuleBase.get_modulesc
Cs�tj|�}x�|j�D]�}|jr$|jnd}|jr4|jnd}d}|jrH|jnd}|jrX|jnd}|jrv|jdkrvt|j�}|j	j
j|||||�}	|	r|	|fSqWfdfS)NrZr\���)r.r�Znsvcap_possibilitiesrrK�contextrv�version�strrr(re)
rr�r�r"rrKr�r�rv�modulesr
r
rr�s

zModuleBase._get_modulescCs>d}|r:|d}x(|dd�D]}|j�|j�kr|}qW|S)Nrr\)Z
getVersionNum)rrL�latestrUr
r
rr3�szModuleBase._get_latestc
Csvi}x.|D]&}|j|j�i�j|j�g�j|�q
W�x:|j�D�],\}}|jjj|�}t|�dk�rF|t	kr�|t
kr�|tkr�djt
|j�tj|jjj�d��}	td�j|t|�|	|d�}
t||
��|t
kr�|jjj|�}n|jjj|�}|s�||k�rt|��xjt
|j��D]0}||k�r8|�r|jjj||��q||=�qWq@|r@x"|j�D]}|jjj||��qTWq@W|S)Nr\z', ')�keyz�Argument '{argument}' matches {stream_count} streams ('{streams}') of module '{module}', but none of the streams are enabled or default)ZargumentZstream_countZstreamsrU)r>r�	getStreamr2rrr(ZgetModuleState�len�
STATE_DEFAULT�
STATE_ENABLEDr&r9r:rd�	functools�
cmp_to_keyriZevr_cmprrrZgetEnabledStream�getDefaultStreamr$)
rrLr!r$�
moduleDictrUZ
moduleName�
streamDictZmoduleStateZstreams_strrPrKr�r
r
rr��s>
"


z)ModuleBase._create_module_dict_and_enablec
Cs�g}g}i}x�|D]�}|j|�\}}|s4|j|�qy|j||d�}||f||<Wqttfk
r�}	z2|j|�tjt|	��tjtd�j	|��WYdd}	~	XqXqW|||fS)NTzUnable to resolve argument {})
rr2r��RuntimeErrorrrr1rrr)
rrr�
error_specr r!rLr"r#�er
r
rrc�s 


*z ModuleBase._resolve_specs_enablecCs�dd�|jjj�D�}y4|jjj|jj||jjj|jjjd|jjj	d�}Wn4t
jk
r~}ztj
jt|���WYdd}~XnX|S)NcSsg|]}|jr|j�qSr
)�module_hotfixes�id)r+�ir
r
rr-�sz+ModuleBase._update_sack.<locals>.<listcomp>T)Zupdate_onlyZdebugsolver)r�repos�iter_enabledriZfilter_modulesr(�confZinstallrootZmodule_platform_idZdebug_solverr.�	ExceptionrrrBr)r�
hot_fix_reposrr�r
r
rrg�s
"zModuleBase._update_sackc	Cs�g}x�|j�D]�\}\}}x�|j�D]�}xz|j�D]n}y|jjjtjj|��Wq2tk
r�}z2|j	|�t
jt|��t
jt
d�j|��WYdd}~Xq2Xq2Wq$WqW|S)NzUnable to resolve argument {})r�valuesrr(ZenableDependencyTree�libdnfrUZVectorModulePackagePtrr�r2rr1rrr)	rr r�r!r"r�r�r�r�r
r
rrh�s
2zModuleBase._enable_dependenciescCs<|j|�\}}}|j�}|j|�}|r0|j|�||||fS)N)rcrgrhr7)rrrr�r rrwr
r
rr�s

z,ModuleBase._resolve_specs_enable_update_sackcCs�g}x�|D]�}|j|�\}}|s@tjtd�j|��|j|�q
|js^|js^|js^|j	s^|j
rrtjtd�j|��t�}x|D]}|j
|j��q~Wx8|D]0}	|tkr�|jjj|	�|tkr�|jjj|	�q�Wq
W|j�}
||
fS)NzUnable to resolve argument {}zMOnly module name is required. Ignoring unneeded information in argument: '{}')rrr1rrr2rKr�r�rvr	rr0r?rr}rr(r~r&r'rg)rrZto_staterr!rLr"Zmodule_namesrUrrr
r
rr%�s(



z$ModuleBase._modules_reset_or_disableFc
Cs�t�}|j|�}t|jjj|j���}|s0t�S|jr�|j|j�}|sLt�Sx�|D]6}|j�|krR|rz|jjj||j��|j	|j
��qRWnDxB|D]:}	|r�|jjj||	�x |j|	�D]}|j	|j
��q�Wq�W|S)N)r0r3rr(�getInstalledProfilesrr	r8Z	uninstallr@r=)
rrLr"r�Zpackage_name_setrOZinstalled_profiles_stringsr�r	Zprofile_stringr
r
rr�s*



z4ModuleBase._get_package_name_set_and_remove_profilesc	Cs�t�}x�|D]�}|j|�\}}|s8tjtd�j|��q|jrXtjtd�j|j|j��xl|D]d}t�}|j	�|d<x8t
|j�td�D]$}dj
dd�|j�D��||j�<q�W|j|j|�j��q^WqWdj
t
|��S)	NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'�Name)r��
cSsg|]}|�qSr
r
)r+ZpkgNamer
r
rr-5sz1ModuleBase._get_info_profiles.<locals>.<listcomp>z

)r0rrrrrr	rr�getFullIdentifierr:r8rr9r=rr?�_create_simple_table�toString)	rr�outputr�rLr"rU�linesr	r
r
r�_get_info_profiles#s"

 zModuleBase._get_info_profilescCs�|jjj|j��}|j�}d}xTt|td�D]D}|dj|j�|j�|krLdnd�7}||j�|krj|rjdnd7}q,W|dd�S)	NrZ)r�z{}{}z [d]z [i], z, r^���)rr(r�rr8r:rr)r�
modulePackage�default_profiles�enabled_strZinstalled_profilesrQ�profiles_strr	r
r
r�_profile_report_formatter:s

z$ModuleBase._profile_report_formattercCs|j�jdd�S)Nr�� )�strip�replace)rZsummaryr
r
r�_summary_report_formatterFsz$ModuleBase._summary_report_formattercCs�d}d}d}|j�|jjj|j��kr*d}|jjj|�rJ|s@d}|d7}n|jjj|�rh|s`d}|d7}|r�|jjj|�r�|s�d}|d7}|||fS)NrZz [d]r�z[e]z[x]z[a])r�rr(r�rZ	isEnabledZ
isDisabledr))rr��
markActive�default_strr��disabled_strr
r
r�_module_strs_formatterIs&
z!ModuleBase._module_strs_formatterc
Cs�t�}�x�|D�]�}|j|�\}}|s<tjtd�j|��q|jr\tjtd�j|j|j���xj|D�]`}|j|dd�\}}}	|j	j
j|j�|j
��}
|j||
|�}t�}|j�|d<|j
�|||	|d<|j�|d<|j�|d<|j�|d	<||d
<dj|
�|d<|j�|d
<|j�|d<|j�|d<t�}
xV|j�D]J}xB|j�D]6}x.|j�D]"\}}|
jdj|dj|����qXW�qJW�q<Wdjt|
��|d<djt|j���|d<|j|j|�j��qdWqWdjt|��}|�r�|t7}|S)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'T)r�r��StreamZVersionZContextZArchitecture�Profilesr�zDefault profiles�Repo�SummaryZDescriptionz{}:[{}]�,r�ZRequiresZ	Artifactsz

) r0rrrrrr	rr�rr(r;rr�r�rZ
getVersionZ
getContextZgetArchr9r4�
getSummaryZgetDescriptionZgetModuleDependenciesZgetRequiresrr?r:rAr�r��MODULE_INFO_TABLE_HINT)rrr�r�rLr"r�r�r�r�r�r�r�Zreq_setZreqZrequire_dictZmod_requirerK�	str_tabler
r
r�	_get_info^sP

*zModuleBase._get_infocCs�tjj�}|jd�|jd�|jd�}|jd�}|jd�|jd�|j�xL|j	�D]@\}}|dkrld}|j
�}|j|�j|�|j|�jt
|��qXW|S)NTz : r�ZValuer�rZ)r��	smartcols�TableZenableNoheadingsZsetColumnSeparator�	newColumn�setWrapZsetSafecharsZsetNewlineWrapFunctionr�newLine�
getColumnCell�setDatar�)r��table�column_nameZcolumn_valueZ	line_name�value�liner
r
rr��s






zModuleBase._create_simple_tablec	Cs�t�}xx|D]p}|j|�\}}|s8tjtd�j|��q|jrXtjtd�j|j|j��x"|D]}|j�}|r^|j	|�q^WqWdj
t|��}|S)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'z

)r0rrrrrr	rZgetYamlr?r9r:)	rrr�r�rLr"r�rZ
output_stringr
r
r�_get_full_info�s

zModuleBase._get_full_infoc	Cs�t�}|jjj�}|jjj�jdd�j�}|jjjtj	d�}x6|D].}t
jj|�}|j
|j|jjddd|d��}qBW|j�x�|D]�}|j�}	|	s�q�|j|	d�}
|
r�x�|
D]�}d}g}
x4t|j�td�D] }|j|j�kr�|
j|j��q�Wt�}|j�|d	<d
jt|
��|d<|j�|d<|j�|d
<|j|�}|dj|jjj j!t"|���7}|dj|j#��7}|j$|�q�Wq�Wdjt|��S)NT)r_)�flagsF)Z
with_nevraZ
with_providesZwith_filenamesre)�nevra_strictrZ)r�ZModuler�r�r�r�z{}
z{}z

)%r0rr(�getModulePackagesrirerjrkr.ZIGNORE_MODULAR_EXCLUDESrZsubjectr�roZget_best_queryrArlr:r8rrr=r2rrr�r9r4r�r�rr��term�boldr�r�r?)rZ	rpm_specsr�ZmodulePackagesZ	baseQueryZgetBestInitQueryr!r�r�rxreraZ
string_outputrNr	r�r�r
r
r�_what_provides�s@



zModuleBase._what_providescsrtjj�}|jtjjj�|jd�|jd�}|jd�}|jd�}|jd�|jd�}|jd��jj	j
spd|_x�|D]�}x�|D]�}t|�dkr�|d}	n(�fdd	�|D�}
|
r�|
d}	n|d}	|j
�}�j|	d
d�\}}
}�jjj|	j�|	j��}�j|	||
�}|j|�j|	j��|j|�j|	j�||
|�|j|�j|��j|	j��}|j|�j|�q�WqvW|S)NTr�r�r�r�r\rcsg|]}�jjj|�r|�qSr
)rr(r))r+rU)rr
rr-�sz5ModuleBase._create_and_fill_table.<locals>.<listcomp>F)r�)r�r�r�ZsetTermforceZTermForce_AUTOZenableMaxoutr�r�rr��verboseZhiddenr�r�r�r(r;rr�r�r�r�r�r�)rr�r�r�Z
column_streamZcolumn_profilesZcolumn_infoZlatest_per_repoZnameStreamArchr�Zactiver�r�r�r�r�r�Zsummary_strr
)rr�_create_and_fill_table�sD












z!ModuleBase._create_and_fill_tablecCs�g}|r0x2|D]}|j|�\}}|j|�qWn|jjj�}|jjj||�}|sTdS|j|�}d}	d}
y"|jj|dddj�j	}Wn(t
k
r�|dddj�}YnXt|d�}|j|�}
|j
|�}||
7}x�td|j��D]�}||
|k�r�|
|7}
|	d7}	y"|jj||	ddj�j	}Wn*t
k
�rX||	ddj�}YnXt||	�}|d7}||j
|�7}||
7}|j|�}||j||�7}q�W|tS)NrZrr\r�)rr7rr(r�ZgetLatestModulesPerRepor�r�r4r�KeyErrorr��_format_header�_format_repoid�rangeZgetNumberOfLines�getLiner��MODULE_TABLE_HINT)rrZmodule_stater�r!rLr"r�r�Zcurrent_repo_id_indexZalready_printed_lines�	repo_nameZversions�headerr�r�r�r
r
r�_get_brief_descriptionsH

"


z!ModuleBase._get_brief_descriptioncCs&|jd�}|j||�jdd�ddS)Nrr�r\)r�r��split)rr�r�r
r
rr�.s
zModuleBase._format_headercCsdj|jjjj|��S)Nz{}
)rrr�r�r�)rr�r
r
rr�2szModuleBase._format_repoidcCs|jjj�jddgd�j�}|j|d�}g}dd�|jjj�D�}|j||j�d�}|j	|�}x�|j
�D]�\}	}
|j|	d�}|s�|j|	d�}|s�x |
D]}tjt
d	�j|��q�Wtjt
d
�j|	��|j|
�qh|jjjj|	�tjj|jj�}
|
j|d�|jjj|
|d�qhW||fS)
NrYrX)r`)r�cSsg|]}|jr|j�qSr
)r�r�)r+r�r
r
rr-<sz9ModuleBase._install_profiles_internal.<locals>.<listcomp>)Zreponamer)rzUnable to resolve argument {}zNo match for package {})ra)rbZoptional)rrirerjrkrlr�r�rdrorrr1rrr7rsZ
group_membersr?rrqrrr0r<)rrGrFrDrzryrr�Zhotfix_packagesrTZ	set_specsrer!r{r
r
rrC5s,


z%ModuleBase._install_profiles_internalN)T)T)T)F)F)#�__name__�
__module__�__qualname__rr$r'r<r|r~r�r�r�rr3r�rcrgrhrr%r�r�r�r�r�r��staticmethodr�r�r�r�r�r�r�rCr
r
r
rr
+s@

U
:	
%

-(**r
cCs&tjj|�}djtddt|��|g�S)Nr�zModular dependency problem:zModular dependency problems:)r�utilZ_format_resolve_problemsr9rr�)�errorsrPr
r
r�format_modular_solver_errorsSsr�)"�collectionsrr.Zlibdnf.smartcolsr�Z
libdnf.moduleZdnf.selectorrZdnf.exceptionsZdnf.module.exceptionsrZdnf.utilrZdnf.i18nrrrr�rUZModulePackageContainerZModuleState_DEFAULTr�ZModuleState_ENABLEDr�ZModuleState_DISABLEDr&ZModuleState_UNKNOWNr}r�r�r�objectr
r�r
r
r
r�<module>s0



.PK!�FZh�Q����module/module_base.pynu�[���# Copyright (C) 2017-2018  Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from collections import OrderedDict

import hawkey
import libdnf.smartcols
import libdnf.module
import dnf.selector
import dnf.exceptions

from dnf.module.exceptions import EnableMultipleStreamsException
from dnf.util import logger
from dnf.i18n import _, P_, ucd

import functools

STATE_DEFAULT = libdnf.module.ModulePackageContainer.ModuleState_DEFAULT
STATE_ENABLED = libdnf.module.ModulePackageContainer.ModuleState_ENABLED
STATE_DISABLED = libdnf.module.ModulePackageContainer.ModuleState_DISABLED
STATE_UNKNOWN = libdnf.module.ModulePackageContainer.ModuleState_UNKNOWN
MODULE_TABLE_HINT = _("\n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled")
MODULE_INFO_TABLE_HINT = _("\n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctive")


def _profile_comparison_key(profile):
    return profile.getName()


class ModuleBase(object):
    # :api

    def __init__(self, base):
        # :api
        self.base = base

    def enable(self, module_specs):
        # :api
        no_match_specs, error_specs, solver_errors, module_dicts = \
            self._resolve_specs_enable_update_sack(module_specs)
        for spec, (nsvcap, module_dict) in module_dicts.items():
            if nsvcap.profile:
                logger.info(_("Ignoring unnecessary profile: '{}/{}'").format(
                    nsvcap.name, nsvcap.profile))
        if no_match_specs or error_specs or solver_errors:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_specs,
                                               error_group_specs=error_specs,
                                               module_depsolv_errors=solver_errors)

    def disable(self, module_specs):
        # :api
        no_match_specs, solver_errors = self._modules_reset_or_disable(module_specs, STATE_DISABLED)
        if no_match_specs or solver_errors:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_specs,
                                               module_depsolv_errors=solver_errors)

    def install(self, module_specs, strict=True):
        # :api
        no_match_specs, error_specs, solver_errors, module_dicts = \
            self._resolve_specs_enable_update_sack(module_specs)

        # <package_name, set_of_spec>
        fail_safe_repo = hawkey.MODULE_FAIL_SAFE_REPO_NAME
        install_dict = {}
        install_set_artifacts = set()
        fail_safe_repo_used = False
        for spec, (nsvcap, moduledict) in module_dicts.items():
            for name, streamdict in moduledict.items():
                for stream, module_list in streamdict.items():
                    install_module_list = [x for x in module_list
                                           if self.base._moduleContainer.isModuleActive(x.getId())]
                    if not install_module_list:
                        logger.error(_("All matches for argument '{0}' in module '{1}:{2}' are not "
                                       "active").format(spec, name, stream))
                        error_specs.append(spec)
                        continue
                    profiles = []
                    latest_module = self._get_latest(install_module_list)
                    if latest_module.getRepoID() == fail_safe_repo:
                        msg = _(
                            "Installing module '{0}' from Fail-Safe repository {1} is not allowed")
                        logger.critical(msg.format(latest_module.getNameStream(), fail_safe_repo))
                        fail_safe_repo_used = True
                    if nsvcap.profile:
                        profiles.extend(latest_module.getProfiles(nsvcap.profile))
                        if not profiles:
                            available_profiles = latest_module.getProfiles()
                            if available_profiles:
                                profile_names = ", ".join(sorted(
                                    [profile.getName() for profile in available_profiles]))
                                msg = _("Unable to match profile for argument {}. Available "
                                        "profiles for '{}:{}': {}").format(
                                    spec, name, stream, profile_names)
                            else:
                                msg = _("Unable to match profile for argument {}").format(spec)
                            logger.error(msg)
                            no_match_specs.append(spec)
                            continue
                    else:
                        profiles_strings = self.base._moduleContainer.getDefaultProfiles(
                            name, stream)
                        if not profiles_strings:
                            available_profiles = latest_module.getProfiles()
                            if available_profiles:
                                profile_names = ", ".join(sorted(
                                    [profile.getName() for profile in available_profiles]))
                                msg = _("No default profiles for module {}:{}. Available profiles"
                                        ": {}").format(
                                    name, stream, profile_names)
                            else:
                                msg = _("No profiles for module {}:{}").format(name, stream)
                            logger.error(msg)
                            error_specs.append(spec)
                        for profile in set(profiles_strings):
                            module_profiles = latest_module.getProfiles(profile)
                            if not module_profiles:
                                logger.error(
                                    _("Default profile {} not available in module {}:{}").format(
                                        profile, name, stream))
                                error_specs.append(spec)

                            profiles.extend(module_profiles)
                    for profile in profiles:
                        self.base._moduleContainer.install(latest_module ,profile.getName())
                        for pkg_name in profile.getContent():
                            install_dict.setdefault(pkg_name, set()).add(spec)
                    for module in install_module_list:
                        install_set_artifacts.update(module.getArtifacts())
        if fail_safe_repo_used:
            raise dnf.exceptions.Error(_(
                "Installing module from Fail-Safe repository is not allowed"))
        __, profiles_errors = self._install_profiles_internal(
            install_set_artifacts, install_dict, strict)
        if profiles_errors:
            error_specs.extend(profiles_errors)

        if no_match_specs or error_specs or solver_errors:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_specs,
                                               error_group_specs=error_specs,
                                               module_depsolv_errors=solver_errors)

    def switch_to(self, module_specs, strict=True):
        # :api
        no_match_specs, error_specs, module_dicts = self._resolve_specs_enable(module_specs)
        # collect name of artifacts from new modules for distrosync
        new_artifacts_names = set()
        # collect name of artifacts from active modules for distrosync before sack update
        active_artifacts_names = set()
        src_arches = {"nosrc", "src"}
        for spec, (nsvcap, moduledict) in module_dicts.items():
            for name in moduledict.keys():
                for module in self.base._moduleContainer.query(name, "", "", "", ""):
                    if self.base._moduleContainer.isModuleActive(module):
                        for artifact in module.getArtifacts():
                            arch = artifact.rsplit(".", 1)[1]
                            if arch in src_arches:
                                continue
                            pkg_name = artifact.rsplit("-", 2)[0]
                            active_artifacts_names.add(pkg_name)

        solver_errors = self._update_sack()

        dependency_error_spec = self._enable_dependencies(module_dicts)
        if dependency_error_spec:
            error_specs.extend(dependency_error_spec)

        # <package_name, set_of_spec>
        fail_safe_repo = hawkey.MODULE_FAIL_SAFE_REPO_NAME
        install_dict = {}
        install_set_artifacts = set()
        fail_safe_repo_used = False

        # list of name: [profiles] for module profiles being removed
        removed_profiles = self.base._moduleContainer.getRemovedProfiles()

        for spec, (nsvcap, moduledict) in module_dicts.items():
            for name, streamdict in moduledict.items():
                for stream, module_list in streamdict.items():
                    install_module_list = [x for x in module_list
                                           if self.base._moduleContainer.isModuleActive(x.getId())]
                    if not install_module_list:
                        "No active matches for argument '{0}' in module '{1}:{2}'"
                        logger.error(_("No active matches for argument '{0}' in module "
                                       "'{1}:{2}'").format(spec, name, stream))
                        error_specs.append(spec)
                        continue
                    profiles = []
                    latest_module = self._get_latest(install_module_list)
                    if latest_module.getRepoID() == fail_safe_repo:
                        msg = _(
                            "Installing module '{0}' from Fail-Safe repository {1} is not allowed")
                        logger.critical(msg.format(latest_module.getNameStream(), fail_safe_repo))
                        fail_safe_repo_used = True
                    if nsvcap.profile:
                        profiles.extend(latest_module.getProfiles(nsvcap.profile))
                        if not profiles:
                            available_profiles = latest_module.getProfiles()
                            if available_profiles:
                                profile_names = ", ".join(sorted(
                                    [profile.getName() for profile in available_profiles]))
                                msg = _("Unable to match profile for argument {}. Available "
                                        "profiles for '{}:{}': {}").format(
                                    spec, name, stream, profile_names)
                            else:
                                msg = _("Unable to match profile for argument {}").format(spec)
                            logger.error(msg)
                            no_match_specs.append(spec)
                            continue
                    elif name in removed_profiles:

                        for profile in removed_profiles[name]:
                            module_profiles = latest_module.getProfiles(profile)
                            if not module_profiles:
                                logger.warning(
                                    _("Installed profile '{0}' is not available in module "
                                      "'{1}' stream '{2}'").format(profile, name, stream))
                                continue
                            profiles.extend(module_profiles)
                    for profile in profiles:
                        self.base._moduleContainer.install(latest_module, profile.getName())
                        for pkg_name in profile.getContent():
                            install_dict.setdefault(pkg_name, set()).add(spec)
                    for module in install_module_list:
                        artifacts = module.getArtifacts()
                        install_set_artifacts.update(artifacts)
                        for artifact in artifacts:
                            arch = artifact.rsplit(".", 1)[1]
                            if arch in src_arches:
                                continue
                            pkg_name = artifact.rsplit("-", 2)[0]
                            new_artifacts_names.add(pkg_name)
        if fail_safe_repo_used:
            raise dnf.exceptions.Error(_(
                "Installing module from Fail-Safe repository is not allowed"))
        install_base_query, profiles_errors = self._install_profiles_internal(
            install_set_artifacts, install_dict, strict)
        if profiles_errors:
            error_specs.extend(profiles_errors)

        # distrosync module name
        all_names = set()
        all_names.update(new_artifacts_names)
        all_names.update(active_artifacts_names)
        remove_query = self.base.sack.query().filterm(empty=True)
        base_no_source_query = self.base.sack.query().filterm(arch__neq=['src', 'nosrc']).apply()

        for pkg_name in all_names:
            query = base_no_source_query.filter(name=pkg_name)
            installed = query.installed()
            if not installed:
                continue
            available = query.available()
            if not available:
                logger.warning(_("No packages available to distrosync for package name "
                                 "'{}'").format(pkg_name))
                if pkg_name not in new_artifacts_names:
                    remove_query = remove_query.union(query)
                continue

            only_new_module = query.intersection(install_base_query)
            if only_new_module:
                query = only_new_module
            sltr = dnf.selector.Selector(self.base.sack)
            sltr.set(pkg=query)
            self.base._goal.distupgrade(select=sltr)
        self.base._remove_if_unneeded(remove_query)

        if no_match_specs or error_specs or solver_errors:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_specs,
                                               error_group_specs=error_specs,
                                               module_depsolv_errors=solver_errors)

    def reset(self, module_specs):
        # :api
        no_match_specs, solver_errors = self._modules_reset_or_disable(module_specs, STATE_UNKNOWN)
        if no_match_specs:
            raise dnf.exceptions.MarkingErrors(no_match_group_specs=no_match_specs,
                                               module_depsolv_errors=solver_errors)

    def upgrade(self, module_specs):
        # :api
        no_match_specs = []
        fail_safe_repo = hawkey.MODULE_FAIL_SAFE_REPO_NAME
        fail_safe_repo_used = False

        #  Remove source packages because they cannot be installed or upgraded
        base_no_source_query = self.base.sack.query().filterm(arch__neq=['src', 'nosrc']).apply()

        for spec in module_specs:
            module_list, nsvcap = self._get_modules(spec)
            if not module_list:
                no_match_specs.append(spec)
                continue
            update_module_list = [x for x in module_list
                                  if self.base._moduleContainer.isModuleActive(x.getId())]
            if not update_module_list:
                logger.error(_("Unable to resolve argument {}").format(spec))
                continue
            module_dict = self._create_module_dict_and_enable(update_module_list, spec, False)
            upgrade_package_set = set()
            for name, streamdict in module_dict.items():
                for stream, module_list_from_dict in streamdict.items():
                    upgrade_package_set.update(self._get_package_name_set_and_remove_profiles(
                        module_list_from_dict, nsvcap))
                    latest_module = self._get_latest(module_list_from_dict)
                    if latest_module.getRepoID() == fail_safe_repo:
                        msg = _(
                            "Upgrading module '{0}' from Fail-Safe repository {1} is not allowed")
                        logger.critical(msg.format(latest_module.getNameStream(), fail_safe_repo))
                        fail_safe_repo_used = True
                    if nsvcap.profile:
                        profiles_set = latest_module.getProfiles(nsvcap.profile)
                        if not profiles_set:
                            continue
                        for profile in profiles_set:
                            upgrade_package_set.update(profile.getContent())
                    else:
                        for profile in latest_module.getProfiles():
                            upgrade_package_set.update(profile.getContent())
                        for artifact in latest_module.getArtifacts():
                            subj = hawkey.Subject(artifact)
                            for nevra_obj in subj.get_nevra_possibilities(
                                    forms=[hawkey.FORM_NEVRA]):
                                upgrade_package_set.add(nevra_obj.name)

            if not upgrade_package_set:
                logger.error(_("Unable to match profile in argument {}").format(spec))
            query = base_no_source_query.filter(name=upgrade_package_set)
            if query:
                sltr = dnf.selector.Selector(self.base.sack)
                sltr.set(pkg=query)
                self.base._goal.upgrade(select=sltr)
        if fail_safe_repo_used:
            raise dnf.exceptions.Error(_(
                "Upgrading module from Fail-Safe repository is not allowed"))
        return no_match_specs

    def remove(self, module_specs):
        # :api
        no_match_specs = []
        remove_package_set = set()

        for spec in module_specs:
            module_list, nsvcap = self._get_modules(spec)
            if not module_list:
                no_match_specs.append(spec)
                continue
            module_dict = self._create_module_dict_and_enable(module_list, spec, False)
            remove_packages_names = []
            for name, streamdict in module_dict.items():
                for stream, module_list_from_dict in streamdict.items():
                    remove_packages_names.extend(self._get_package_name_set_and_remove_profiles(
                        module_list_from_dict, nsvcap, True))
            if not remove_packages_names:
                logger.error(_("Unable to match profile in argument {}").format(spec))
            remove_package_set.update(remove_packages_names)

        if remove_package_set:
            keep_pkg_names = self.base._moduleContainer.getInstalledPkgNames()
            remove_package_set = remove_package_set.difference(keep_pkg_names)
            if remove_package_set:
                query = self.base.sack.query().installed().filterm(name=remove_package_set)
                if query:
                    self.base._remove_if_unneeded(query)
        return no_match_specs

    def get_modules(self, module_spec):
        # :api
        return self._get_modules(module_spec)

    def _get_modules(self, module_spec):
        # used by ansible (lib/ansible/modules/packaging/os/dnf.py)
        subj = hawkey.Subject(module_spec)
        for nsvcap in subj.nsvcap_possibilities():
            name = nsvcap.name if nsvcap.name else ""
            stream = nsvcap.stream if nsvcap.stream else ""
            version = ""
            context = nsvcap.context if nsvcap.context else ""
            arch = nsvcap.arch if nsvcap.arch else ""
            if nsvcap.version and nsvcap.version != -1:
                version = str(nsvcap.version)
            modules = self.base._moduleContainer.query(name, stream, version, context, arch)
            if modules:
                return modules, nsvcap
        return (), None

    def _get_latest(self, module_list):
        latest = None
        if module_list:
            latest = module_list[0]
            for module in module_list[1:]:
                if module.getVersionNum() > latest.getVersionNum():
                    latest = module
        return latest

    def _create_module_dict_and_enable(self, module_list, spec, enable=True):
        moduleDict = {}
        for module in module_list:
            moduleDict.setdefault(
                module.getName(), {}).setdefault(module.getStream(), []).append(module)

        for moduleName, streamDict in moduleDict.items():
            moduleState = self.base._moduleContainer.getModuleState(moduleName)
            if len(streamDict) > 1:
                if moduleState != STATE_DEFAULT and moduleState != STATE_ENABLED \
                        and moduleState != STATE_DISABLED:
                    streams_str = "', '".join(
                        sorted(streamDict.keys(), key=functools.cmp_to_key(self.base.sack.evr_cmp)))
                    msg = _("Argument '{argument}' matches {stream_count} streams ('{streams}') of "
                            "module '{module}', but none of the streams are enabled or "
                            "default").format(
                        argument=spec, stream_count=len(streamDict), streams=streams_str,
                        module=moduleName)
                    raise EnableMultipleStreamsException(moduleName, msg)
                if moduleState == STATE_ENABLED:
                    stream = self.base._moduleContainer.getEnabledStream(moduleName)
                else:
                    stream = self.base._moduleContainer.getDefaultStream(moduleName)
                if not stream or stream not in streamDict:
                    raise EnableMultipleStreamsException(moduleName)
                for key in sorted(streamDict.keys()):
                    if key == stream:
                        if enable:
                            self.base._moduleContainer.enable(moduleName, key)
                        continue
                    del streamDict[key]
            elif enable:
                for key in streamDict.keys():
                    self.base._moduleContainer.enable(moduleName, key)
            assert len(streamDict) == 1
        return moduleDict

    def _resolve_specs_enable(self, module_specs):
        no_match_specs = []
        error_spec = []
        module_dicts = {}
        for spec in module_specs:
            module_list, nsvcap = self._get_modules(spec)
            if not module_list:
                no_match_specs.append(spec)
                continue
            try:
                module_dict = self._create_module_dict_and_enable(module_list, spec, True)
                module_dicts[spec] = (nsvcap, module_dict)
            except (RuntimeError, EnableMultipleStreamsException) as e:
                error_spec.append(spec)
                logger.error(ucd(e))
                logger.error(_("Unable to resolve argument {}").format(spec))
        return no_match_specs, error_spec, module_dicts

    def _update_sack(self):
        hot_fix_repos = [i.id for i in self.base.repos.iter_enabled() if i.module_hotfixes]
        try:
            solver_errors = self.base.sack.filter_modules(
                self.base._moduleContainer, hot_fix_repos, self.base.conf.installroot,
                self.base.conf.module_platform_id, update_only=True,
                debugsolver=self.base.conf.debug_solver)
        except hawkey.Exception as e:
            raise dnf.exceptions.Error(ucd(e))
        return solver_errors

    def _enable_dependencies(self, module_dicts):
        error_spec = []
        for spec, (nsvcap, moduleDict) in module_dicts.items():
            for streamDict in moduleDict.values():
                for modules in streamDict.values():
                    try:
                        self.base._moduleContainer.enableDependencyTree(
                            libdnf.module.VectorModulePackagePtr(modules))
                    except RuntimeError as e:
                        error_spec.append(spec)
                        logger.error(ucd(e))
                        logger.error(_("Unable to resolve argument {}").format(spec))
        return error_spec

    def _resolve_specs_enable_update_sack(self, module_specs):
        no_match_specs, error_spec, module_dicts = self._resolve_specs_enable(module_specs)

        solver_errors = self._update_sack()

        dependency_error_spec = self._enable_dependencies(module_dicts)
        if dependency_error_spec:
            error_spec.extend(dependency_error_spec)

        return no_match_specs, error_spec, solver_errors, module_dicts

    def _modules_reset_or_disable(self, module_specs, to_state):
        no_match_specs = []
        for spec in module_specs:
            module_list, nsvcap = self._get_modules(spec)
            if not module_list:
                logger.error(_("Unable to resolve argument {}").format(spec))
                no_match_specs.append(spec)
                continue
            if nsvcap.stream or nsvcap.version or nsvcap.context or nsvcap.arch or nsvcap.profile:
                logger.info(_("Only module name is required. "
                              "Ignoring unneeded information in argument: '{}'").format(spec))
            module_names = set()
            for module in module_list:
                module_names.add(module.getName())
            for name in module_names:
                if to_state == STATE_UNKNOWN:
                    self.base._moduleContainer.reset(name)
                if to_state == STATE_DISABLED:
                    self.base._moduleContainer.disable(name)

        solver_errors = self._update_sack()
        return no_match_specs, solver_errors

    def _get_package_name_set_and_remove_profiles(self, module_list, nsvcap, remove=False):
        package_name_set = set()
        latest_module = self._get_latest(module_list)
        installed_profiles_strings = set(self.base._moduleContainer.getInstalledProfiles(
            latest_module.getName()))
        if not installed_profiles_strings:
            return set()
        if nsvcap.profile:
            profiles_set = latest_module.getProfiles(nsvcap.profile)
            if not profiles_set:
                return set()
            for profile in profiles_set:
                if profile.getName() in installed_profiles_strings:
                    if remove:
                        self.base._moduleContainer.uninstall(latest_module, profile.getName())
                    package_name_set.update(profile.getContent())
        else:
            for profile_string in installed_profiles_strings:
                if remove:
                    self.base._moduleContainer.uninstall(latest_module, profile_string)
                for profile in latest_module.getProfiles(profile_string):
                    package_name_set.update(profile.getContent())
        return package_name_set

    def _get_info_profiles(self, module_specs):
        output = set()
        for module_spec in module_specs:
            module_list, nsvcap = self._get_modules(module_spec)
            if not module_list:
                logger.info(_("Unable to resolve argument {}").format(module_spec))
                continue

            if nsvcap.profile:
                logger.info(_("Ignoring unnecessary profile: '{}/{}'").format(
                    nsvcap.name, nsvcap.profile))
            for module in module_list:

                lines = OrderedDict()
                lines["Name"] = module.getFullIdentifier()

                for profile in sorted(module.getProfiles(), key=_profile_comparison_key):
                    lines[profile.getName()] = "\n".join(
                        [pkgName for pkgName in profile.getContent()])

                output.add(self._create_simple_table(lines).toString())
        return "\n\n".join(sorted(output))

    def _profile_report_formatter(self, modulePackage, default_profiles, enabled_str):
        installed_profiles = self.base._moduleContainer.getInstalledProfiles(
            modulePackage.getName())
        available_profiles = modulePackage.getProfiles()
        profiles_str = ""
        for profile in sorted(available_profiles, key=_profile_comparison_key):
            profiles_str += "{}{}".format(
                profile.getName(), " [d]" if profile.getName() in default_profiles else "")
            profiles_str += " [i], " if profile.getName() in installed_profiles and enabled_str \
                else ", "
        return profiles_str[:-2]

    def _summary_report_formatter(self, summary):
        return summary.strip().replace("\n", " ")

    def _module_strs_formatter(self, modulePackage, markActive=False):
        default_str = ""
        enabled_str = ""
        disabled_str = ""
        if modulePackage.getStream() == self.base._moduleContainer.getDefaultStream(
                modulePackage.getName()):
            default_str = " [d]"
        if self.base._moduleContainer.isEnabled(modulePackage):
            if not default_str:
                enabled_str = " "
            enabled_str += "[e]"
        elif self.base._moduleContainer.isDisabled(modulePackage):
            if not default_str:
                disabled_str = " "
            disabled_str += "[x]"
        if markActive and self.base._moduleContainer.isModuleActive(modulePackage):
            if not default_str:
                disabled_str = " "
            disabled_str += "[a]"
        return default_str, enabled_str, disabled_str

    def _get_info(self, module_specs):
        output = set()
        for module_spec in module_specs:
            module_list, nsvcap = self._get_modules(module_spec)
            if not module_list:
                logger.info(_("Unable to resolve argument {}").format(module_spec))
                continue

            if nsvcap.profile:
                logger.info(_("Ignoring unnecessary profile: '{}/{}'").format(
                    nsvcap.name, nsvcap.profile))
            for modulePackage in module_list:
                default_str, enabled_str, disabled_str = self._module_strs_formatter(
                    modulePackage, markActive=True)
                default_profiles = self.base._moduleContainer.getDefaultProfiles(
                    modulePackage.getName(), modulePackage.getStream())

                profiles_str = self._profile_report_formatter(
                    modulePackage, default_profiles, enabled_str)

                lines = OrderedDict()
                lines["Name"] = modulePackage.getName()
                lines["Stream"] = modulePackage.getStream() + default_str + enabled_str + \
                                  disabled_str
                lines["Version"] = modulePackage.getVersion()
                lines["Context"] = modulePackage.getContext()
                lines["Architecture"] = modulePackage.getArch()
                lines["Profiles"] = profiles_str
                lines["Default profiles"] = " ".join(default_profiles)
                lines["Repo"] = modulePackage.getRepoID()
                lines["Summary"] = modulePackage.getSummary()
                lines["Description"] = modulePackage.getDescription()
                req_set = set()
                for req in modulePackage.getModuleDependencies():
                    for require_dict in req.getRequires():
                        for mod_require, stream in require_dict.items():
                            req_set.add("{}:[{}]".format(mod_require, ",".join(stream)))
                lines["Requires"] = "\n".join(sorted(req_set))
                lines["Artifacts"] = "\n".join(sorted(modulePackage.getArtifacts()))
                output.add(self._create_simple_table(lines).toString())
        str_table = "\n\n".join(sorted(output))
        if str_table:
            str_table += MODULE_INFO_TABLE_HINT
        return str_table

    @staticmethod
    def _create_simple_table(lines):
        table = libdnf.smartcols.Table()
        table.enableNoheadings(True)
        table.setColumnSeparator(" : ")

        column_name = table.newColumn("Name")
        column_value = table.newColumn("Value")
        column_value.setWrap(True)
        column_value.setSafechars("\n")
        column_value.setNewlineWrapFunction()

        for line_name, value in lines.items():
            if value is None:
                value = ""
            line = table.newLine()
            line.getColumnCell(column_name).setData(line_name)
            line.getColumnCell(column_value).setData(str(value))

        return table

    def _get_full_info(self, module_specs):
        output = set()
        for module_spec in module_specs:
            module_list, nsvcap = self._get_modules(module_spec)
            if not module_list:
                logger.info(_("Unable to resolve argument {}").format(module_spec))
                continue

            if nsvcap.profile:
                logger.info(_("Ignoring unnecessary profile: '{}/{}'").format(
                    nsvcap.name, nsvcap.profile))
            for modulePackage in module_list:
                info = modulePackage.getYaml()
                if info:
                    output.add(info)
        output_string = "\n\n".join(sorted(output))
        return output_string

    def _what_provides(self, rpm_specs):
        output = set()
        modulePackages = self.base._moduleContainer.getModulePackages()
        baseQuery = self.base.sack.query().filterm(empty=True).apply()
        getBestInitQuery = self.base.sack.query(flags=hawkey.IGNORE_MODULAR_EXCLUDES)

        for spec in rpm_specs:
            subj = dnf.subject.Subject(spec)
            baseQuery = baseQuery.union(subj.get_best_query(
                self.base.sack, with_nevra=True, with_provides=False, with_filenames=False,
                query=getBestInitQuery))

        baseQuery.apply()

        for modulePackage in modulePackages:
            artifacts = modulePackage.getArtifacts()
            if not artifacts:
                continue
            query = baseQuery.filter(nevra_strict=artifacts)
            if query:
                for pkg in query:
                    string_output = ""
                    profiles = []
                    for profile in sorted(modulePackage.getProfiles(), key=_profile_comparison_key):
                        if pkg.name in profile.getContent():
                            profiles.append(profile.getName())
                    lines = OrderedDict()
                    lines["Module"] = modulePackage.getFullIdentifier()
                    lines["Profiles"] = " ".join(sorted(profiles))
                    lines["Repo"] = modulePackage.getRepoID()
                    lines["Summary"] = modulePackage.getSummary()

                    table = self._create_simple_table(lines)

                    string_output += "{}\n".format(self.base.output.term.bold(str(pkg)))
                    string_output += "{}".format(table.toString())
                    output.add(string_output)

        return "\n\n".join(sorted(output))

    def _create_and_fill_table(self, latest):
        table = libdnf.smartcols.Table()
        table.setTermforce(libdnf.smartcols.Table.TermForce_AUTO)
        table.enableMaxout(True)
        column_name = table.newColumn("Name")
        column_stream = table.newColumn("Stream")
        column_profiles = table.newColumn("Profiles")
        column_profiles.setWrap(True)
        column_info = table.newColumn("Summary")
        column_info.setWrap(True)

        if not self.base.conf.verbose:
            column_info.hidden = True

        for latest_per_repo in latest:
            for nameStreamArch in latest_per_repo:
                if len(nameStreamArch) == 1:
                    modulePackage = nameStreamArch[0]
                else:
                    active = [module for module in nameStreamArch
                              if self.base._moduleContainer.isModuleActive(module)]
                    if active:
                        modulePackage = active[0]
                    else:
                        modulePackage = nameStreamArch[0]
                line = table.newLine()
                default_str, enabled_str, disabled_str = self._module_strs_formatter(
                    modulePackage, markActive=False)
                default_profiles = self.base._moduleContainer.getDefaultProfiles(
                    modulePackage.getName(), modulePackage.getStream())
                profiles_str = self._profile_report_formatter(modulePackage, default_profiles,
                                                             enabled_str)
                line.getColumnCell(column_name).setData(modulePackage.getName())
                line.getColumnCell(
                    column_stream).setData(
                    modulePackage.getStream() + default_str + enabled_str + disabled_str)
                line.getColumnCell(column_profiles).setData(profiles_str)
                summary_str = self._summary_report_formatter(modulePackage.getSummary())
                line.getColumnCell(column_info).setData(summary_str)

        return table

    def _get_brief_description(self, module_specs, module_state):
        modules = []
        if module_specs:
            for spec in module_specs:
                module_list, nsvcap = self._get_modules(spec)
                modules.extend(module_list)
        else:
            modules = self.base._moduleContainer.getModulePackages()
        latest = self.base._moduleContainer.getLatestModulesPerRepo(module_state, modules)
        if not latest:
            return ""

        table = self._create_and_fill_table(latest)
        current_repo_id_index = 0
        already_printed_lines = 0
        try:
            repo_name = self.base.repos[latest[0][0][0].getRepoID()].name
        except KeyError:
            repo_name = latest[0][0][0].getRepoID()
        versions = len(latest[0])
        header = self._format_header(table)
        str_table = self._format_repoid(repo_name)
        str_table += header
        for i in range(0, table.getNumberOfLines()):
            if versions + already_printed_lines <= i:
                already_printed_lines += versions
                current_repo_id_index += 1
                # Fail-Safe repository is not in self.base.repos
                try:
                    repo_name = self.base.repos[
                        latest[current_repo_id_index][0][0].getRepoID()].name
                except KeyError:
                    repo_name = latest[current_repo_id_index][0][0].getRepoID()
                versions = len(latest[current_repo_id_index])
                str_table += "\n"
                str_table += self._format_repoid(repo_name)
                str_table += header

            line = table.getLine(i)
            str_table += table.toString(line, line)
        return str_table + MODULE_TABLE_HINT

    def _format_header(self, table):
        line = table.getLine(0)
        return table.toString(line, line).split('\n', 1)[0] + '\n'

    def _format_repoid(self, repo_name):
        return "{}\n".format(self.base.output.term.bold(repo_name))

    def _install_profiles_internal(self, install_set_artifacts, install_dict, strict):
        #  Remove source packages because they cannot be installed or upgraded
        base_no_source_query = self.base.sack.query().filterm(arch__neq=['src', 'nosrc']).apply()
        install_base_query = base_no_source_query.filter(nevra_strict=install_set_artifacts)
        error_specs = []

        # add hot-fix packages
        hot_fix_repos = [i.id for i in self.base.repos.iter_enabled() if i.module_hotfixes]
        hotfix_packages = base_no_source_query.filter(
            reponame=hot_fix_repos, name=install_dict.keys())
        install_base_query = install_base_query.union(hotfix_packages)

        for pkg_name, set_specs in install_dict.items():
            query = install_base_query.filter(name=pkg_name)
            if not query:
                # package can also be non-modular or part of another stream
                query = base_no_source_query.filter(name=pkg_name)
                if not query:
                    for spec in set_specs:
                        logger.error(_("Unable to resolve argument {}").format(spec))
                    logger.error(_("No match for package {}").format(pkg_name))
                    error_specs.extend(set_specs)
                    continue
            self.base._goal.group_members.add(pkg_name)
            sltr = dnf.selector.Selector(self.base.sack)
            sltr.set(pkg=query)
            self.base._goal.install(select=sltr, optional=(not strict))
        return install_base_query, error_specs


def format_modular_solver_errors(errors):
    msg = dnf.util._format_resolve_problems(errors)
    return "\n".join(
        [P_('Modular dependency problem:', 'Modular dependency problems:', len(errors)), msg])
PK"�FZE�#FFmodule/exceptions.pynu�[���# supplies the 'module' command.
#
# Copyright (C) 2014-2017  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

import dnf
from dnf.module import module_messages, NO_PROFILE_SPECIFIED
from dnf.i18n import _


class NoModuleException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("No such module: {}").format(module_spec)
        super(NoModuleException, self).__init__(value)


class NoStreamException(dnf.exceptions.Error):
    def __init__(self, stream):
        value = _("No such stream: {}").format(stream)
        super(NoStreamException, self).__init__(value)


class EnabledStreamException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("No enabled stream for module: {}").format(module_spec)
        super(EnabledStreamException, self).__init__(value)


class EnableMultipleStreamsException(dnf.exceptions.Error):
    def __init__(self, module_spec, value=None):
        if value is None:
            value = _("Cannot enable more streams from module '{}' at the same time").format(module_spec)
        super(EnableMultipleStreamsException, self).__init__(value)


class DifferentStreamEnabledException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("Different stream enabled for module: {}").format(module_spec)
        super(DifferentStreamEnabledException, self).__init__(value)


class NoProfileException(dnf.exceptions.Error):
    def __init__(self, profile):
        value = _("No such profile: {}").format(profile)
        super(NoProfileException, self).__init__(value)


class ProfileNotInstalledException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("Specified profile not installed for {}").format(module_spec)
        super(ProfileNotInstalledException, self).__init__(value)


class NoStreamSpecifiedException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("No stream specified for '{}', please specify stream").format(module_spec)
        super(NoStreamSpecifiedException, self).__init__(value)


class NoProfileSpecifiedException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = module_messages[NO_PROFILE_SPECIFIED].format(module_spec)
        super(NoProfileSpecifiedException, self).__init__(value)


class NoProfilesException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("No such profile: {}. No profiles available").format(module_spec)
        super(NoProfilesException, self).__init__(value)


class NoProfileToRemoveException(dnf.exceptions.Error):
    def __init__(self, module_spec):
        value = _("No profile to remove for '{}'").format(module_spec)
        super(NoProfileToRemoveException, self).__init__(value)
PK"�FZ�T��module/__init__.pynu�[���# Copyright (C) 2017  Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from dnf.i18n import _

DIFFERENT_STREAM_INFO = 1
NOTHING_TO_SHOW = 2
INSTALLING_NEWER_VERSION = 4
ENABLED_MODULES = 5
NO_PROFILE_SPECIFIED = 6

module_messages = {
    DIFFERENT_STREAM_INFO: _("Enabling different stream for '{}'."),
    NOTHING_TO_SHOW: _("Nothing to show."),
    INSTALLING_NEWER_VERSION: _("Installing newer version of '{}' than specified. Reason: {}"),
    ENABLED_MODULES: _("Enabled modules: {}."),
    NO_PROFILE_SPECIFIED: _("No profile specified for '{}', please specify profile."),
}
PK"�FZ��6%	pycomp.pynu�[���# pycomp.py
# Python 2 and Python 3 compatibility module
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from gettext import NullTranslations
from sys import version_info
import base64
import email.mime.text
import gettext
import itertools
import locale
import sys
import types

PY3 = version_info.major >= 3

if PY3:
    from io import StringIO
    from configparser import ConfigParser
    import queue
    import urllib.parse
    import shlex

    # functions renamed in py3
    Queue = queue.Queue
    basestring = unicode = str
    filterfalse = itertools.filterfalse
    long = int
    NullTranslations.ugettext = NullTranslations.gettext
    NullTranslations.ungettext = NullTranslations.ngettext
    xrange = range
    raw_input = input
    base64_decodebytes = base64.decodebytes
    urlparse = urllib.parse
    urllib_quote = urlparse.quote
    shlex_quote = shlex.quote
    sys_maxsize = sys.maxsize


    def gettext_setup(t):
        _ = t.gettext
        P_ = t.ngettext
        return (_, P_)

    # string helpers
    def is_py2str_py3bytes(o):
        return isinstance(o, bytes)
    def is_py3bytes(o):
        return isinstance(o, bytes)

    # functions that don't take unicode arguments in py2
    ModuleType = lambda m: types.ModuleType(m)
    format = locale.format_string
    def setlocale(category, loc=None):
        locale.setlocale(category, loc)
    def write_to_file(f, content):
        f.write(content)
    def email_mime(body):
        return email.mime.text.MIMEText(body)
else:
    # functions renamed in py3
    from __builtin__ import unicode, basestring, long, xrange, raw_input
    from StringIO import StringIO
    from ConfigParser import ConfigParser
    import Queue
    import urllib
    import urlparse
    import pipes

    Queue = Queue.Queue
    filterfalse = itertools.ifilterfalse
    base64_decodebytes = base64.decodestring
    urllib_quote = urllib.quote
    shlex_quote = pipes.quote
    sys_maxsize = sys.maxint

    def gettext_setup(t):
        _ = t.ugettext
        P_ = t.ungettext
        return (_, P_)

    # string helpers
    def is_py2str_py3bytes(o):
        return isinstance(o, str)
    def is_py3bytes(o):
        return False

    # functions that don't take unicode arguments in py2
    ModuleType = lambda m: types.ModuleType(m.encode('utf-8'))
    def format(percent, *args, **kwargs):
        return locale.format(percent.encode('utf-8'), *args, **kwargs)
    def setlocale(category, loc=None):
        locale.setlocale(category, loc.encode('utf-8'))
    def write_to_file(f, content):
        f.write(content.encode('utf-8'))
    def email_mime(body):
        return email.mime.text.MIMEText(body.encode('utf-8'))
PK"�FZ;a��cli/__init__.pynu�[���# __init__.py
# DNF cli subpackage.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
import dnf.exceptions


class CliError(dnf.exceptions.Error):
    """CLI Exception. :api"""
    pass


from dnf.cli.cli import Cli  # :api
from dnf.cli.commands import Command  # :api
PK"�FZ(C��		cli/commands/downgrade.pynu�[���# downgrade.py
# Downgrade CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _


class DowngradeCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    downgrade command.
    """

    aliases = ('downgrade', 'dg')
    summary = _("Downgrade a package")

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('package', nargs='*', help=_('Package to downgrade'),
                            action=OptionParser.ParseSpecGroupFileCallback)

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True

        commands._checkGPGKey(self.base, self.cli)
        if not self.opts.filenames:
            commands._checkEnabledRepo(self.base)

    def run(self):
        file_pkgs = self.base.add_remote_rpms(self.opts.filenames, strict=False,
                                              progress=self.base.output.progress)
        return self.base.downgradePkgs(
            specs=self.opts.pkg_specs + ['@' + x for x in self.opts.grp_specs],
            file_pkgs=file_pkgs,
            strict=self.base.conf.strict)
PK"�FZ#B���:�:cli/commands/group.pynu�[���# group.py
# Group CLI command.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.comps import CompsQuery
from dnf.cli import commands
from dnf.i18n import _, ucd

import libdnf.transaction

import dnf.cli
import dnf.exceptions
import dnf.util
import logging

logger = logging.getLogger("dnf")

class GroupCommand(commands.Command):
    """ Single sub-command interface for most groups interaction. """

    direct_commands = {'grouplist'    : 'list',
                       'groupinstall' : 'install',
                       'groupupdate'  : 'install',
                       'groupremove'  : 'remove',
                       'grouperase'   : 'remove',
                       'groupinfo'    : 'info'}
    aliases = ('group', 'groups', 'grp') + tuple(direct_commands.keys())
    summary = _('display, or use, the groups information')

    _CMD_ALIASES = {'update'     : 'upgrade',
                    'erase'      : 'remove'}
    _MARK_CMDS = ('install', 'remove')
    _GROUP_SUBCOMMANDS = ('summary', 'list', 'info', 'remove', 'install', 'upgrade', 'mark')


    def _canonical(self):
        # were we called with direct command?
        direct = self.direct_commands.get(self.opts.command)
        if direct:
            # canonize subcmd and args
            if self.opts.subcmd is not None:
                self.opts.args.insert(0, self.opts.subcmd)
            self.opts.subcmd = direct
        if self.opts.subcmd is None:
            self.opts.subcmd = 'summary'
        self.opts.subcmd = self._CMD_ALIASES.get(self.opts.subcmd,
                                                 self.opts.subcmd)

    def __init__(self, cli):
        super(GroupCommand, self).__init__(cli)
        self._remark = False

    def _assert_comps(self):
        msg = _('No group data available for configured repositories.')
        if not len(self.base.comps):
            raise dnf.exceptions.CompsError(msg)

    def _environment_lists(self, patterns):
        def available_pred(env):
            env_found = self.base.history.env.get(env.id)
            return not(env_found)

        self._assert_comps()
        if patterns is None:
            envs = self.base.comps.environments
        else:
            envs = self.base.comps.environments_by_pattern(",".join(patterns))

        return dnf.util.mapall(list, dnf.util.partition(available_pred, envs))

    def _group_lists(self, uservisible, patterns):
        def installed_pred(group):
            group_found = self.base.history.group.get(group.id)
            if group_found:
                return True
            return False
        installed = []
        available = []

        self._assert_comps()

        if patterns is None:
            grps = self.base.comps.groups
        else:
            grps = self.base.comps.groups_by_pattern(",".join(patterns))
        for grp in grps:
            tgt_list = available
            if installed_pred(grp):
                tgt_list = installed
            if not uservisible or grp.uservisible:
                tgt_list.append(grp)

        return installed, available

    def _info(self, userlist):
        for strng in userlist:
            group_matched = False

            for env in self.base.comps.environments_by_pattern(strng):
                self.output.display_groups_in_environment(env)
                group_matched = True

            for group in self.base.comps.groups_by_pattern(strng):
                self.output.display_pkgs_in_groups(group)
                group_matched = True

            if not group_matched:
                logger.error(_('Warning: Group %s does not exist.'), strng)

        return 0, []

    def _list(self, userlist):
        uservisible = 1
        showinstalled = 0
        showavailable = 0
        print_ids = self.base.conf.verbose or self.opts.ids

        while userlist:
            if userlist[0] == 'hidden':
                uservisible = 0
                userlist.pop(0)
            elif userlist[0] == 'installed':
                showinstalled = 1
                userlist.pop(0)
            elif userlist[0] == 'available':
                showavailable = 1
                userlist.pop(0)
            elif userlist[0] == 'ids':
                print_ids = True
                userlist.pop(0)
            else:
                break
        if self.opts.hidden:
            uservisible = 0
        if self.opts.installed:
            showinstalled = 1
        if self.opts.available:
            showavailable = 1
        if not userlist:
            userlist = None # Match everything...

        errs = False
        if userlist is not None:
            for group in userlist:
                comps = self.base.comps
                in_group = len(comps.groups_by_pattern(group)) > 0
                in_environment = len(comps.environments_by_pattern(group)) > 0
                if not in_group and not in_environment:
                    logger.error(_('Warning: No groups match:') + '\n   %s',
                                 group)
                    errs = True
            if errs:
                return 0, []

        env_inst, env_avail = self._environment_lists(userlist)
        installed, available = self._group_lists(uservisible, userlist)

        def _out_grp(sect, group):
            if not done:
                print(sect)
            msg = '   %s' % (group.ui_name if group.ui_name is not None else _("<name-unset>"))
            if print_ids:
                msg += ' (%s)' % group.id
            if group.lang_only:
                msg += ' [%s]' % group.lang_only
            print('{}'.format(msg))

        def _out_env(sect, envs):
            if envs:
                print(sect)
            for e in envs:
                msg = '   %s' % (e.ui_name if e.ui_name is not None else _("<name-unset>"))
                if print_ids:
                    msg += ' (%s)' % e.id
                print(msg)

        if not showinstalled:
            _out_env(_('Available Environment Groups:'), env_avail)
        if not showavailable:
            _out_env(_('Installed Environment Groups:'), env_inst)

        if not showavailable:
            done = False
            for group in installed:
                if group.lang_only:
                    continue
                _out_grp(_('Installed Groups:'), group)
                done = True

            done = False
            for group in installed:
                if not group.lang_only:
                    continue
                _out_grp(_('Installed Language Groups:'), group)
                done = True

        if showinstalled:
            return 0, []

        done = False
        for group in available:
            if group.lang_only:
                continue
            _out_grp(_('Available Groups:'), group)
            done = True

        done = False
        for group in available:
            if not group.lang_only:
                continue
            _out_grp(_('Available Language Groups:'), group)
            done = True

        return 0, []

    def _mark_install(self, patterns):
        q = CompsQuery(self.base.comps, self.base.history,
                       CompsQuery.GROUPS | CompsQuery.ENVIRONMENTS,
                       CompsQuery.AVAILABLE | CompsQuery.INSTALLED)
        solver = self.base._build_comps_solver()
        res = q.get(*patterns)

        if self.opts.with_optional:
            types = tuple(self.base.conf.group_package_types + ['optional'])
        else:
            types = tuple(self.base.conf.group_package_types)
        pkg_types = libdnf.transaction.listToCompsPackageType(types)
        for env_id in res.environments:
            solver._environment_install(env_id, pkg_types)
        for group_id in res.groups:
            solver._group_install(group_id, pkg_types)

    def _mark_remove(self, patterns):
        q = CompsQuery(self.base.comps, self.base.history,
                       CompsQuery.GROUPS | CompsQuery.ENVIRONMENTS,
                       CompsQuery.INSTALLED)
        solver = self.base._build_comps_solver()
        res = q.get(*patterns)
        for env_id in res.environments:
            assert dnf.util.is_string_type(env_id)
            solver._environment_remove(env_id)
        for grp_id in res.groups:
            assert dnf.util.is_string_type(grp_id)
            solver._group_remove(grp_id)

    def _mark_subcmd(self, extcmds):
        if extcmds[0] in self._MARK_CMDS:
            return extcmds[0], extcmds[1:]
        return 'install', extcmds

    def _summary(self, userlist):
        uservisible = 1
        if len(userlist) > 0:
            if userlist[0] == 'hidden':
                uservisible = 0
                userlist.pop(0)
        if self.opts.hidden:
            uservisible = 0
        if not userlist:
            userlist = None # Match everything...

        installed, available = self._group_lists(uservisible, userlist)

        def _out_grp(sect, num):
            if not num:
                return
            logger.info('%s %u', sect, num)
        done = 0
        for group in installed:
            if group.lang_only:
                continue
            done += 1
        _out_grp(_('Installed Groups:'), done)

        done = 0
        for group in installed:
            if not group.lang_only:
                continue
            done += 1
        _out_grp(_('Installed Language Groups:'), done)

        done = False
        for group in available:
            if group.lang_only:
                continue
            done += 1
        _out_grp(_('Available Groups:'), done)

        done = False
        for group in available:
            if not group.lang_only:
                continue
            done += 1
        _out_grp(_('Available Language Groups:'), done)

        return 0, []

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('--with-optional', action='store_true',
                            help=_("include optional packages from group"))
        grpparser = parser.add_mutually_exclusive_group()
        grpparser.add_argument('--hidden', action='store_true',
                               help=_("show also hidden groups"))
        grpparser.add_argument('--installed', action='store_true',
                               help=_("show only installed groups"))
        grpparser.add_argument('--available', action='store_true',
                               help=_("show only available groups"))
        grpparser.add_argument('--ids', action='store_true',
                               help=_("show also ID of groups"))
        parser.add_argument('subcmd', nargs='?', metavar='COMMAND',
                            help=_('available subcommands: {} (default), {}').format(
                                GroupCommand._GROUP_SUBCOMMANDS[0],
                                ', '.join(GroupCommand._GROUP_SUBCOMMANDS[1:])))
        parser.add_argument('args', nargs='*', metavar='COMMAND_ARG',
                            help=_('argument for group subcommand'))

    def configure(self):
        self._canonical()

        cmd = self.opts.subcmd
        args = self.opts.args

        if cmd not in self._GROUP_SUBCOMMANDS:
            logger.critical(_('Invalid groups sub-command, use: %s.'),
                            ", ".join(self._GROUP_SUBCOMMANDS))
            raise dnf.cli.CliError
        if cmd in ('install', 'remove', 'mark', 'info') and not args:
            self.cli.optparser.print_help(self)
            raise dnf.cli.CliError

        demands = self.cli.demands
        demands.sack_activation = True
        if cmd in ('install', 'mark', 'remove', 'upgrade'):
            demands.root_user = True
            demands.resolving = True
        if cmd == 'remove':
            demands.allow_erasing = True
            demands.available_repos = False
        else:
            demands.available_repos = True

        if cmd not in ('remove'):
            commands._checkEnabledRepo(self.base)

        if cmd in ('install', 'upgrade'):
            commands._checkGPGKey(self.base, self.cli)

    def run(self):
        cmd = self.opts.subcmd
        extcmds = self.opts.args

        if cmd == 'summary':
            return self._summary(extcmds)
        if cmd == 'list':
            return self._list(extcmds)
        if cmd == 'info':
            return self._info(extcmds)
        if cmd == 'mark':
            (subcmd, extcmds) = self._mark_subcmd(extcmds)
            if subcmd == 'remove':
                return self._mark_remove(extcmds)
            else:
                assert subcmd == 'install'
                return self._mark_install(extcmds)

        if cmd == 'install':
            if self.opts.with_optional:
                types = tuple(self.base.conf.group_package_types + ['optional'])
            else:
                types = tuple(self.base.conf.group_package_types)

            self._remark = True
            try:
                return self.base.env_group_install(extcmds, types,
                                                   self.base.conf.strict)
            except dnf.exceptions.MarkingError as e:
                msg = _('No package %s available.')
                logger.info(msg, self.base.output.term.bold(e))
                raise dnf.exceptions.PackagesNotAvailableError(
                    _("Unable to find a mandatory group package."))
        if cmd == 'upgrade':
            return self.base.env_group_upgrade(extcmds)
        if cmd == 'remove':
            for arg in extcmds:
                try:
                    self.base.env_group_remove([arg])
                except dnf.exceptions.Error:
                    pass

    def run_transaction(self):
        if not self._remark:
            return
        goal = self.base._goal
        history = self.base.history
        names = goal.group_members
        for pkg in self.base.sack.query().installed().filterm(name=names):
            reason = history.rpm.get_reason(pkg)
            history.set_reason(pkg, goal.group_reason(pkg, reason))
PK"�FZ��tD��cli/commands/alias.pynu�[���# alias.py
# Alias CLI command.
#
# Copyright (C) 2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import logging
import os.path

import dnf.cli
import dnf.cli.aliases
from dnf.cli import commands
import dnf.conf
import dnf.exceptions
from dnf.i18n import _

logger = logging.getLogger('dnf')


class AliasCommand(commands.Command):
    aliases = ('alias',)
    summary = _('List or create command aliases')

    @staticmethod
    def set_argparser(parser):
        enable_group = parser.add_mutually_exclusive_group()
        enable_group.add_argument(
            '--enable-resolving', default=False, action='store_true',
            help=_('enable aliases resolving'))
        enable_group.add_argument(
            '--disable-resolving', default=False, action='store_true',
            help=_('disable aliases resolving'))
        parser.add_argument("subcommand", nargs='?', default='list',
                            choices=['add', 'list', 'delete'],
                            help=_("action to do with aliases"))
        parser.add_argument("alias", nargs="*", metavar="command[=result]",
                            help=_("alias definition"))

    def configure(self):
        demands = self.cli.demands
        if self.opts.subcommand in ('add', 'delete'):
            demands.root_user = True
        self.aliases_base = dnf.cli.aliases.Aliases()
        self.aliases_base._load_aliases()
        self.resolving_enabled = self.aliases_base.enabled
        self._update_config_from_options()

    def _update_config_from_options(self):
        enabled = None
        if self.opts.enable_resolving:
            enabled = True
            logger.info(_("Aliases are now enabled"))
        if self.opts.disable_resolving:
            enabled = False
            logger.info(_("Aliases are now disabled"))

        if enabled is not None:
            if not os.path.exists(dnf.cli.aliases.ALIASES_CONF_PATH):
                open(dnf.cli.aliases.ALIASES_CONF_PATH, 'w').close()
            dnf.conf.BaseConfig.write_raw_configfile(
                dnf.cli.aliases.ALIASES_CONF_PATH,
                'main', None, {'enabled': enabled})
            if not self.aliases_base._disabled_by_environ():
                self.aliases_base.enabled = enabled

    def _parse_option_alias(self):
        new_aliases = {}
        for alias in self.opts.alias:
            alias = alias.split('=', 1)
            cmd = alias[0].strip()
            if len(cmd.split()) != 1:
                logger.warning(_("Invalid alias key: %s"), cmd)
                continue
            if cmd.startswith('-'):
                logger.warning(_("Invalid alias key: %s"), cmd)
                continue
            if len(alias) == 1:
                logger.warning(_("Alias argument has no value: %s"), cmd)
                continue
            new_aliases[cmd] = alias[1].split()
        return new_aliases

    def _load_user_aliases(self):
        if not os.path.exists(dnf.cli.aliases.ALIASES_USER_PATH):
            open(dnf.cli.aliases.ALIASES_USER_PATH, 'w').close()
        try:
            conf = dnf.cli.aliases.AliasesConfig(
                dnf.cli.aliases.ALIASES_USER_PATH)
        except dnf.exceptions.ConfigError as e:
            logger.warning(_('Config error: %s'), e)
            return None
        return conf

    def _store_user_aliases(self, user_aliases, enabled):
        fileobj = open(dnf.cli.aliases.ALIASES_USER_PATH, 'w')
        output = "[main]\n"
        output += "enabled = {}\n\n".format(enabled)
        output += "[aliases]\n"
        for key, value in user_aliases.items():
            output += "{} = {}\n".format(key, ' '.join(value))
        fileobj.write(output)

    def add_aliases(self, aliases):
        conf = self._load_user_aliases()
        user_aliases = conf.aliases
        if user_aliases is None:
            return

        user_aliases.update(aliases)

        self._store_user_aliases(user_aliases, conf.enabled)
        logger.info(_("Aliases added: %s"), ', '.join(aliases.keys()))

    def remove_aliases(self, cmds):
        conf = self._load_user_aliases()
        user_aliases = conf.aliases
        if user_aliases is None:
            return

        valid_cmds = []
        for cmd in cmds:
            try:
                del user_aliases[cmd]
                valid_cmds.append(cmd)
            except KeyError:
                logger.info(_("Alias not found: %s"), cmd)

        self._store_user_aliases(user_aliases, conf.enabled)
        logger.info(_("Aliases deleted: %s"), ', '.join(valid_cmds))

    def list_alias(self, cmd):
        args = [cmd]
        try:
            args = self.aliases_base._resolve(args)
        except dnf.exceptions.Error as e:
            logger.error(
                _('%s, alias %s="%s"'), e, cmd, (' ').join(self.aliases_base.aliases[cmd]))
        else:
            print(_("Alias %s='%s'") % (cmd, " ".join(args)))

    def run(self):
        if not self.aliases_base.enabled:
            logger.warning(_("Aliases resolving is disabled."))

        if self.opts.subcommand == 'add':  # Add new alias
            aliases = self._parse_option_alias()
            if not aliases:
                raise dnf.exceptions.Error(_("No aliases specified."))
            self.add_aliases(aliases)
            return

        if self.opts.subcommand == 'delete':  # Remove alias
            cmds = self.opts.alias
            if cmds == []:
                raise dnf.exceptions.Error(_("No alias specified."))
            self.remove_aliases(cmds)
            return

        if not self.opts.alias:  # List all aliases
            if not self.aliases_base.aliases:
                logger.info(_("No aliases defined."))
                return
            for cmd in self.aliases_base.aliases:
                self.list_alias(cmd)
        else:  # List alias by key
            for cmd in self.opts.alias:
                if cmd not in self.aliases_base.aliases:
                    logger.info(_("No match for alias: %s") % cmd)
                    continue
                self.list_alias(cmd)
PK"�FZ��s	s	cli/commands/swap.pynu�[���#
# Copyright (C) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
from dnf.cli import commands

import dnf.util
import logging

logger = logging.getLogger("dnf")


class SwapCommand(commands.Command):
    """A class containing methods needed by the cli to execute the swap command.
    """

    aliases = ('swap',)
    summary = _('run an interactive {prog} mod for remove and install one spec').format(
        prog=dnf.util.MAIN_PROG_UPPER)

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('remove_spec', action="store", help=_('The specs that will be removed'))
        parser.add_argument('install_spec', action="store", help=_(
            'The specs that will be installed'))

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True
        commands._checkGPGKey(self.base, self.cli)
        commands._checkEnabledRepo(self.base, [self.opts.install_spec])

    def _perform(self, cmd_str, spec):
        cmd_cls = self.cli.cli_commands.get(cmd_str)
        if cmd_cls is not None:
            cmd = cmd_cls(self.cli)
            self.cli.optparser.parse_command_args(cmd, [cmd_str, spec])
            cmd.run()

    def run(self):
        self._perform('remove', self.opts.remove_spec)
        self._perform('install', self.opts.install_spec)
PK"�FZ-?k�l&l&cli/commands/shell.pynu�[���# shell.py
# Shell CLI command.
#
# Copyright (C) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from dnf.cli import commands
from dnf.i18n import _, ucd

import dnf.util
import cmd
import copy
import dnf
import logging
import shlex
import sys


logger = logging.getLogger('dnf')


# only demands we'd like to override
class ShellDemandSheet(object):
    available_repos = True
    resolving = True
    root_user = True
    sack_activation = True


class ShellCommand(commands.Command, cmd.Cmd):

    aliases = ('shell', 'sh')
    summary = _('run an interactive {prog} shell').format(prog=dnf.util.MAIN_PROG_UPPER)

    MAPPING = {'repo': 'repo',
               'repository': 'repo',
               'exit': 'quit',
               'quit': 'quit',
               'run': 'ts_run',
               'ts': 'transaction',
               'transaction': 'transaction',
               'config': 'config',
               'resolvedep': 'resolve',
               'help': 'help'
               }

    def __init__(self, cli):
        commands.Command.__init__(self, cli)
        cmd.Cmd.__init__(self)
        self.prompt = '> '

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('script', nargs='?', metavar=_('SCRIPT'),
                            help=_('Script to run in {prog} shell').format(
                                prog=dnf.util.MAIN_PROG_UPPER))

    def configure(self):
        # append to ShellDemandSheet missing demands from
        # dnf.cli.demand.DemandSheet with their default values.
        default_demands = self.cli.demands
        self.cli.demands = ShellDemandSheet()
        for attr in dir(default_demands):
            if attr.startswith('__'):
                continue
            try:
                getattr(self.cli.demands, attr)
            except AttributeError:
                setattr(self.cli.demands, attr, getattr(default_demands, attr))

    def run(self):
        if self.opts.script:
            self._run_script(self.opts.script)
        else:
            self.cmdloop()

    def _clean(self):
        self.base._finalize_base()
        self.base._transaction = None
        self.base.fill_sack()

    def onecmd(self, line):
        if not line or line == '\n':
            return
        if line == 'EOF':
            line = 'quit'
        try:
            s_line = shlex.split(line)
        except:
            self._help()
            return
        # reset option parser before each command, keep usage information
        self.cli.optparser.__init__(reset_usage=False)
        opts = self.cli.optparser.parse_main_args(s_line)
        # Disable shell recursion.
        if opts.command == 'shell':
            return
        if opts.command in self.MAPPING:
            getattr(self, '_' + self.MAPPING[opts.command])(s_line[1::])
        else:
            cmd_cls = self.cli.cli_commands.get(opts.command)
            if cmd_cls is not None:
                cmd = cmd_cls(self.cli)
                try:
                    opts = self.cli.optparser.parse_command_args(cmd, s_line)
                except SystemExit:
                    # argparse.ArgumentParser prints usage information and executes
                    # sys.exit() on problems with parsing command line arguments
                    return
                try:
                    cmd.cli.demands = copy.deepcopy(self.cli.demands)
                    cmd.configure()
                    cmd.run()
                except dnf.exceptions.Error as e:
                    logger.error(_("Error:") + " " + ucd(e))
                    return
            else:
                self._help()

    def _config(self, args=None):
        def print_or_set(key, val, conf):
            if val:
                setattr(conf, key, val)
            else:
                try:
                    print('{}: {}'.format(key, getattr(conf, str(key))))
                except:
                    logger.warning(_('Unsupported key value.'))

        if not args or len(args) > 2:
            self._help('config')
            return

        key = args[0]
        val = args[1] if len(args) == 2 else None
        period = key.find('.')
        if period != -1:
            repo_name = key[:period]
            key = key[period+1:]
            repos = self.base.repos.get_matching(repo_name)
            for repo in repos:
                print_or_set(key, val, repo)
            if not repos:
                logger.warning(_('Could not find repository: %s'),
                               repo_name)
        else:
            print_or_set(key, val, self.base.conf)

    def _help(self, args=None):
        """Output help information.

        :param args: the command to output help information about. If
           *args* is an empty, general help will be output.
        """
        arg = args[0] if isinstance(args, list) and len(args) > 0 else args
        msg = None

        if arg:
            if arg == 'config':
                msg = _("""{} arg [value]
  arg: debuglevel, errorlevel, obsoletes, gpgcheck, assumeyes, exclude,
        repo_id.gpgcheck, repo_id.exclude
    If no value is given it prints the current value.
    If value is given it sets that value.""").format(arg)

            elif arg == 'help':
                msg = _("""{} [command]
    print help""").format(arg)

            elif arg in ['repo', 'repository']:
                msg = _("""{} arg [option]
  list: lists repositories and their status. option = [all | id | glob]
  enable: enable repositories. option = repository id
  disable: disable repositories. option = repository id""").format(arg)

            elif arg == 'resolvedep':
                msg = _("""{}
    resolve the transaction set""").format(arg)

            elif arg in ['transaction', 'ts']:
                msg = _("""{} arg
  list: lists the contents of the transaction
  reset: reset (zero-out) the transaction
  run: run the transaction""").format(arg)

            elif arg == 'run':
                msg = _("""{}
    run the transaction""").format(arg)

            elif arg in ['exit', 'quit']:
                msg = _("""{}
    exit the shell""").format(arg)

        if not msg:
            self.cli.optparser.print_help()
            msg = _("""Shell specific arguments:

config                   set config options
help                     print help
repository (or repo)     enable, disable or list repositories
resolvedep               resolve the transaction set
transaction (or ts)      list, reset or run the transaction set
run                      resolve and run the transaction set
exit (or quit)           exit the shell""")

        print('\n' + msg)

    def _repo(self, args=None):
        cmd = args[0] if args else None

        if cmd in ['list', None]:
            self.onecmd('repolist ' + ' '.join(args[1:]))

        elif cmd in ['enable', 'disable']:
            repos = self.cli.base.repos
            fill_sack = False
            for repo in args[1::]:
                r = repos.get_matching(repo)
                if r:
                    getattr(r, cmd)()
                    fill_sack = True
                else:
                    logger.critical(_("Error:") + " " + _("Unknown repo: '%s'"),
                                    self.base.output.term.bold(repo))
            if fill_sack:
                self.base.fill_sack()

            # reset base._comps, as it has changed due to changing the repos
            self.base._comps = None

        else:
            self._help('repo')

    def _resolve(self, args=None):
        try:
            self.cli.base.resolve(self.cli.demands.allow_erasing)
        except dnf.exceptions.DepsolveError as e:
            print(e)

    def _run_script(self, file):
        try:
            with open(file, 'r') as fd:
                lines = fd.readlines()
                for line in lines:
                    if not line.startswith('#'):
                        self.onecmd(line)
        except IOError:
            logger.info(_('Error: Cannot open %s for reading'), self.base.output.term.bold(file))
            sys.exit(1)

    def _transaction(self, args=None):
        cmd = args[0] if args else None

        if cmd == 'reset':
            self._clean()
            return

        self._resolve()
        if cmd in ['list', None]:
            if self.base._transaction:
                out = self.base.output.list_transaction(self.base._transaction)
                logger.info(out)

        elif cmd == 'run':
            try:
                self.base.do_transaction()
            except dnf.exceptions.Error as e:
                logger.error(_("Error:") + " " + ucd(e))
            else:
                logger.info(_("Complete!"))
            self._clean()

        else:
            self._help('transaction')

    def _ts_run(self, args=None):
        self._transaction(['run'])

    def _quit(self, args=None):
        logger.info(_('Leaving Shell'))
        sys.exit(0)
PK"�FZ3��1��cli/commands/search.pynu�[���# search.py
# Search CLI command.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import collections

from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import ucd, _, C_

import dnf.i18n
import dnf.match_counter
import dnf.util
import hawkey
import logging

logger = logging.getLogger('dnf')


class SearchCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    search command.
    """

    aliases = ('search', 'se')
    summary = _('search package details for the given string')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('--all', action='store_true',
                            help=_("search also package description and URL"))
        parser.add_argument('query_string', nargs='+', metavar=_('KEYWORD'),
                            choices=['all'], default=None,
                            action=OptionParser.PkgNarrowCallback,
                            help=_("Keyword to search for"))

    def _search(self, args):
        """Search for simple text tags in a package object."""

        TRANS_TBL = collections.OrderedDict((
            ('name', C_('long', 'Name')),
            ('summary', C_('long', 'Summary')),
            ('description', C_('long', 'Description')),
            ('url', _('URL')),
        ))

        def _translate_attr(attr):
            try:
                return TRANS_TBL[attr]
            except:
                return attr

        def _print_section_header(exact_match, attrs, keys):
            trans_attrs = map(_translate_attr, attrs)
            # TRANSLATORS: separator used between package attributes (eg. Name & Summary & URL)
            trans_attrs_str = _(' & ').join(trans_attrs)
            if exact_match:
                # TRANSLATORS: %s  - translated package attributes,
                #              %%s - found keys (in listed attributes)
                section_text = _('%s Exactly Matched: %%s') % trans_attrs_str
            else:
                # TRANSLATORS: %s  - translated package attributes,
                #              %%s - found keys (in listed attributes)
                section_text = _('%s Matched: %%s') % trans_attrs_str
            formatted = self.base.output.fmtSection(section_text % ", ".join(keys))
            print(ucd(formatted))

        counter = dnf.match_counter.MatchCounter()
        for arg in args:
            self._search_counted(counter, 'name', arg)
            self._search_counted(counter, 'summary', arg)

        if self.opts.all:
            for arg in args:
                self._search_counted(counter, 'description', arg)
                self._search_counted(counter, 'url', arg)
        else:
            needles = len(args)
            pkgs = list(counter.keys())
            for pkg in pkgs:
                if len(counter.matched_needles(pkg)) != needles:
                    del counter[pkg]

        used_attrs = None
        matched_needles = None
        exact_match = False
        print_section_header = False
        limit = None
        if not self.base.conf.showdupesfromrepos:
            limit = self.base.sack.query().filterm(pkg=counter.keys()).latest()

        seen = set()
        for pkg in counter.sorted(reverse=True, limit_to=limit):
            if not self.base.conf.showdupesfromrepos:
                if pkg.name + pkg.arch in seen:
                    continue
                seen.add(pkg.name + pkg.arch)

            if used_attrs != counter.matched_keys(pkg):
                used_attrs = counter.matched_keys(pkg)
                print_section_header = True
            if matched_needles != counter.matched_needles(pkg):
                matched_needles = counter.matched_needles(pkg)
                print_section_header = True
            if exact_match != (counter.matched_haystacks(pkg) == matched_needles):
                exact_match = counter.matched_haystacks(pkg) == matched_needles
                print_section_header = True
            if print_section_header:
                _print_section_header(exact_match, used_attrs, matched_needles)
                print_section_header = False
            self.base.output.matchcallback(pkg, counter.matched_haystacks(pkg), args)

        if len(counter) == 0:
            logger.info(_('No matches found.'))

    def _search_counted(self, counter, attr, needle):
        fdict = {'%s__substr' % attr : needle}
        if dnf.util.is_glob_pattern(needle):
            fdict = {'%s__glob' % attr : needle}
        q = self.base.sack.query().filterm(hawkey.ICASE, **fdict)
        for pkg in q.run():
            counter.add(pkg, attr, needle)
        return counter

    def pre_configure(self):
        if not self.opts.quiet:
            self.cli.redirect_logger(stdout=logging.WARNING, stderr=logging.INFO)

    def configure(self):
        if not self.opts.quiet:
            self.cli.redirect_repo_progress()
        demands = self.cli.demands
        demands.available_repos = True
        demands.fresh_metadata = False
        demands.sack_activation = True
        self.opts.all = self.opts.all or self.opts.query_string_action

    def run(self):
        logger.debug(_('Searching Packages: '))
        return self._search(self.opts.query_string)
PK"�FZ�y��ننcli/commands/repoquery.pynu�[���#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
from dnf.i18n import _
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser

import argparse
import datetime
import logging
import re
import sys

import dnf
import dnf.cli
import dnf.exceptions
import dnf.subject
import dnf.util
import hawkey

logger = logging.getLogger('dnf')


QFORMAT_DEFAULT = '%{name}-%{epoch}:%{version}-%{release}.%{arch}'
# matches %[-][dd]{attr}
QFORMAT_MATCH = re.compile(r'%(-?\d*?){([:.\w]+?)}')

QUERY_TAGS = """\
name, arch, epoch, version, release, reponame (repoid), from_repo, evr,
debug_name, source_name, source_debug_name,
installtime, buildtime, size, downloadsize, installsize,
provides, requires, obsoletes, conflicts, sourcerpm,
description, summary, license, url, reason"""

OPTS_MAPPING = {
    'conflicts': 'conflicts',
    'enhances': 'enhances',
    'obsoletes': 'obsoletes',
    'provides': 'provides',
    'recommends': 'recommends',
    'requires': 'requires',
    'requires-pre': 'requires_pre',
    'suggests': 'suggests',
    'supplements': 'supplements'
}


def rpm2py_format(queryformat):
    """Convert a rpm like QUERYFMT to an python .format() string."""
    def fmt_repl(matchobj):
        fill = matchobj.groups()[0]
        key = matchobj.groups()[1]
        if fill:
            if fill[0] == '-':
                fill = '>' + fill[1:]
            else:
                fill = '<' + fill
            fill = ':' + fill
        return '{0.' + key.lower() + fill + "}"

    def brackets(txt):
        return txt.replace('{', '{{').replace('}', '}}')

    queryformat = queryformat.replace("\\n", "\n").replace("\\t", "\t")
    for key, value in OPTS_MAPPING.items():
        queryformat = queryformat.replace(key, value)
    fmt = ""
    spos = 0
    for item in QFORMAT_MATCH.finditer(queryformat):
        fmt += brackets(queryformat[spos:item.start()])
        fmt += fmt_repl(item)
        spos = item.end()
    fmt += brackets(queryformat[spos:])
    return fmt


class _CommaSplitCallback(OptionParser._SplitCallback):
    SPLITTER = r'\s*,\s*'


class RepoQueryCommand(commands.Command):
    """A class containing methods needed by the cli to execute the repoquery command.
    """
    nevra_forms = {'repoquery-n': hawkey.FORM_NAME,
                   'repoquery-na': hawkey.FORM_NA,
                   'repoquery-nevra': hawkey.FORM_NEVRA}

    aliases = ('repoquery', 'rq') + tuple(nevra_forms.keys())
    summary = _('search for packages matching keyword')

    @staticmethod
    def filter_repo_arch(opts, query):
        """Filter query by repoid and arch options"""
        if opts.repo:
            query.filterm(reponame=opts.repo)
        if opts.arches:
            query.filterm(arch=opts.arches)
        return query

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('-a', '--all', dest='queryall', action='store_true',
                            help=_("Query all packages (shorthand for repoquery '*' "
                                   "or repoquery without argument)"))
        parser.add_argument('--show-duplicates', action='store_true',
                            help=_("Query all versions of packages (default)"))
        parser.add_argument('--arch', '--archlist', dest='arches', default=[],
                            action=_CommaSplitCallback, metavar='[arch]',
                            help=_('show only results from this ARCH'))
        parser.add_argument('-f', '--file', metavar='FILE', nargs='+',
                            help=_('show only results that owns FILE'))
        parser.add_argument('--whatconflicts', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that conflict REQ'))
        parser.add_argument('--whatdepends', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('shows results that requires, suggests, supplements, enhances,'
                                   'or recommends package provides and files REQ'))
        parser.add_argument('--whatobsoletes', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that obsolete REQ'))
        parser.add_argument('--whatprovides', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that provide REQ'))
        parser.add_argument('--whatrequires', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('shows results that requires package provides and files REQ'))
        parser.add_argument('--whatrecommends', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that recommend REQ'))
        parser.add_argument('--whatenhances', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that enhance REQ'))
        parser.add_argument('--whatsuggests', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that suggest REQ'))
        parser.add_argument('--whatsupplements', default=[], action=_CommaSplitCallback,
                            metavar='REQ',
                            help=_('show only results that supplement REQ'))
        whatrequiresform = parser.add_mutually_exclusive_group()
        whatrequiresform.add_argument("--alldeps", action="store_true",
                                      help=_("check non-explicit dependencies (files and Provides); default"))
        whatrequiresform.add_argument("--exactdeps", action="store_true",
                                      help=_('check dependencies exactly as given, opposite of --alldeps'))
        parser.add_argument("--recursive", action="store_true", help=_(
            'used with --whatrequires, and --requires --resolve, query packages recursively.'))
        parser.add_argument('--deplist', action='store_true', help=_(
            "show a list of all dependencies and what packages provide them"))
        parser.add_argument('--resolve', action='store_true',
                            help=_('resolve capabilities to originating package(s)'))
        parser.add_argument("--tree", action="store_true",
                            help=_('show recursive tree for package(s)'))
        parser.add_argument('--srpm', action='store_true',
                            help=_('operate on corresponding source RPM'))
        parser.add_argument("--latest-limit", dest='latest_limit', type=int,
                             help=_('show N latest packages for a given name.arch'
                                    ' (or latest but N if N is negative)'))
        parser.add_argument("--disable-modular-filtering", action="store_true",
                            help=_("list also packages of inactive module streams"))

        outform = parser.add_mutually_exclusive_group()
        outform.add_argument('-i', "--info", dest='queryinfo',
                             default=False, action='store_true',
                             help=_('show detailed information about the package'))
        outform.add_argument('-l', "--list", dest='queryfilelist',
                             default=False, action='store_true',
                             help=_('show list of files in the package'))
        outform.add_argument('-s', "--source", dest='querysourcerpm',
                             default=False, action='store_true',
                             help=_('show package source RPM name'))
        outform.add_argument('--changelogs', dest='querychangelogs',
                             default=False, action='store_true',
                             help=_('show changelogs of the package'))
        outform.add_argument('--qf', "--queryformat", dest='queryformat',
                             default=QFORMAT_DEFAULT,
                             help=_('display format for listing packages: '
                                    '"%%{name} %%{version} ...", '
                                    'use --querytags to view full tag list'))
        parser.add_argument('--querytags', action='store_true',
                            help=_('show available tags to use with '
                                   '--queryformat'))
        outform.add_argument("--nevra", dest='queryformat', const=QFORMAT_DEFAULT,
                             action='store_const',
                             help=_('use name-epoch:version-release.architecture format for '
                                    'displaying found packages (default)'))
        outform.add_argument("--nvr", dest='queryformat', const='%{name}-%{version}-%{release}',
                             action='store_const', help=_('use name-version-release format for '
                                                          'displaying found packages '
                                                          '(rpm query default)'))
        outform.add_argument("--envra", dest='queryformat',
                             const='%{epoch}:%{name}-%{version}-%{release}.%{arch}',
                             action='store_const',
                             help=_('use epoch:name-version-release.architecture format for '
                                    'displaying found packages'))
        outform.add_argument('--groupmember', action="store_true", help=_(
            'Display in which comps groups are presented selected packages'))
        pkgfilter = parser.add_mutually_exclusive_group()
        pkgfilter.add_argument("--duplicates", dest='pkgfilter',
                               const='duplicated', action='store_const',
                               help=_('limit the query to installed duplicate '
                                      'packages'))
        pkgfilter.add_argument("--duplicated", dest='pkgfilter',
                               const='duplicated', action='store_const',
                               help=argparse.SUPPRESS)
        pkgfilter.add_argument("--installonly", dest='pkgfilter',
                               const='installonly', action='store_const',
                               help=_('limit the query to installed installonly packages'))
        pkgfilter.add_argument("--unsatisfied", dest='pkgfilter',
                               const='unsatisfied', action='store_const',
                               help=_('limit the query to installed packages with unsatisfied dependencies'))
        parser.add_argument('--location', action='store_true',
                            help=_('show a location from where packages can be downloaded'))
        package_attribute = parser.add_mutually_exclusive_group()
        help_msgs = {
            'conflicts': _('Display capabilities that the package conflicts with.'),
            'depends': _('Display capabilities that the package can depend on, enhance, recommend,'
                         ' suggest, and supplement.'),
            'enhances': _('Display capabilities that the package can enhance.'),
            'provides': _('Display capabilities provided by the package.'),
            'recommends':  _('Display capabilities that the package recommends.'),
            'requires':  _('Display capabilities that the package depends on.'),
            'requires-pre':  _('If the package is not installed display capabilities that it depends on for '
                               'running %%pre and %%post scriptlets. If the package is installed display '
                               'capabilities that is depends for %%pre, %%post, %%preun and %%postun.'),
            'suggests':  _('Display capabilities that the package suggests.'),
            'supplements':  _('Display capabilities that the package can supplement.')
        }
        for arg, help_msg in help_msgs.items():
            name = '--%s' % arg
            package_attribute.add_argument(name, dest='packageatr', action='store_const',
                                           const=arg, help=help_msg)
        parser.add_argument('--available', action="store_true", help=_('Display only available packages.'))

        help_list = {
            'installed': _('Display only installed packages.'),
            'extras': _('Display only packages that are not present in any of available repositories.'),
            'upgrades': _('Display only packages that provide an upgrade for some already installed package.'),
            'unneeded': _('Display only packages that can be removed by "{prog} autoremove" '
                          'command.').format(prog=dnf.util.MAIN_PROG),
            'userinstalled': _('Display only packages that were installed by user.')
        }
        list_group = parser.add_mutually_exclusive_group()
        for list_arg, help_arg in help_list.items():
            switch = '--%s' % list_arg
            list_group.add_argument(switch, dest='list', action='store_const',
                                    const=list_arg, help=help_arg)

        # make --autoremove hidden compatibility alias for --unneeded
        list_group.add_argument(
            '--autoremove', dest='list', action='store_const',
            const="unneeded", help=argparse.SUPPRESS)
        parser.add_argument('--recent', action="store_true", help=_('Display only recently edited packages'))

        parser.add_argument('key', nargs='*', metavar="KEY",
                            help=_('the key to search for'))

    def pre_configure(self):
        if not self.opts.quiet:
            self.cli.redirect_logger(stdout=logging.WARNING, stderr=logging.INFO)

    def configure(self):
        if not self.opts.quiet:
            self.cli.redirect_repo_progress()
        demands = self.cli.demands

        if self.opts.obsoletes:
            if self.opts.packageatr:
                self.cli._option_conflict("--obsoletes", "--" + self.opts.packageatr)
            else:
                self.opts.packageatr = "obsoletes"

        if self.opts.querytags:
            return

        if self.opts.resolve and not self.opts.packageatr:
            raise dnf.cli.CliError(
                _("Option '--resolve' has to be used together with one of the "
                  "'--conflicts', '--depends', '--enhances', '--provides', '--recommends', "
                  "'--requires', '--requires-pre', '--suggests' or '--supplements' options"))

        if self.opts.recursive:
            if self.opts.exactdeps:
                self.cli._option_conflict("--recursive", "--exactdeps")
            if not any([self.opts.whatrequires,
                        (self.opts.packageatr == "requires" and self.opts.resolve)]):
                raise dnf.cli.CliError(
                    _("Option '--recursive' has to be used with '--whatrequires <REQ>' "
                      "(optionally with '--alldeps', but not with '--exactdeps'), or with "
                      "'--requires <REQ> --resolve'"))

        if self.opts.alldeps or self.opts.exactdeps:
            if not (self.opts.whatrequires or self.opts.whatdepends):
                raise dnf.cli.CliError(
                    _("argument {} requires --whatrequires or --whatdepends option".format(
                        '--alldeps' if self.opts.alldeps else '--exactdeps')))

        if self.opts.srpm:
            self.base.repos.enable_source_repos()

        if (self.opts.list not in ["installed", "userinstalled"] and
           self.opts.pkgfilter != "installonly") or self.opts.available:
            demands.available_repos = True

        demands.sack_activation = True

        if self.opts.querychangelogs:
            demands.changelogs = True

    def build_format_fn(self, opts, pkg):
        if opts.querychangelogs:
            out = []
            out.append('Changelog for %s' % str(pkg))
            for chlog in pkg.changelogs:
                dt = chlog['timestamp']
                out.append('* %s %s\n%s\n' % (dt.strftime("%a %b %d %Y"),
                                              dnf.i18n.ucd(chlog['author']),
                                              dnf.i18n.ucd(chlog['text'])))
            return '\n'.join(out)
        try:
            po = PackageWrapper(pkg)
            if opts.queryinfo:
                return self.base.output.infoOutput(pkg)
            elif opts.queryfilelist:
                filelist = po.files
                if not filelist:
                    print(_('Package {} contains no files').format(pkg), file=sys.stderr)
                return filelist
            elif opts.querysourcerpm:
                return po.sourcerpm
            else:
                return rpm2py_format(opts.queryformat).format(po)
        except AttributeError as e:
            # catch that the user has specified attributes
            # there don't exist on the dnf Package object.
            raise dnf.exceptions.Error(str(e))

    def _resolve_nevras(self, nevras, base_query):
        resolved_nevras_query = self.base.sack.query().filterm(empty=True)
        for nevra in nevras:
            resolved_nevras_query = resolved_nevras_query.union(base_query.intersection(
                dnf.subject.Subject(nevra).get_best_query(
                    self.base.sack,
                    with_provides=False,
                    with_filenames=False
                )
            ))

        return resolved_nevras_query

    def _do_recursive_deps(self, query_in, query_select, done=None):
        done = done if done else query_select

        query_required = query_in.filter(requires=query_select)

        query_select = query_required.difference(done)
        done = query_required.union(done)

        if query_select:
            done = self._do_recursive_deps(query_in, query_select, done=done)

        return done

    def by_all_deps(self, names, query, all_dep_types=False):
        # in case of arguments being NEVRAs, resolve them to packages
        resolved_nevras_query = self._resolve_nevras(names, query)

        # filter the arguments directly as reldeps
        depquery = query.filter(requires__glob=names)

        # filter the resolved NEVRAs as packages
        depquery = depquery.union(query.filter(requires=resolved_nevras_query))

        if all_dep_types:
            # TODO this is very inefficient, as it resolves the `names` glob to
            # reldeps four more times, which in a reasonably wide glob like
            # `dnf repoquery --whatdepends "libdnf*"` can take roughly 50% of
            # the total execution time.
            depquery = depquery.union(query.filter(recommends__glob=names))
            depquery = depquery.union(query.filter(enhances__glob=names))
            depquery = depquery.union(query.filter(supplements__glob=names))
            depquery = depquery.union(query.filter(suggests__glob=names))

            depquery = depquery.union(query.filter(recommends=resolved_nevras_query))
            depquery = depquery.union(query.filter(enhances=resolved_nevras_query))
            depquery = depquery.union(query.filter(supplements=resolved_nevras_query))
            depquery = depquery.union(query.filter(suggests=resolved_nevras_query))

        if self.opts.recursive:
            depquery = self._do_recursive_deps(query, depquery)

        return depquery

    def _get_recursive_providers_query(self, query_in, providers, done=None):
        done = done if done else self.base.sack.query().filterm(empty=True)
        t = self.base.sack.query().filterm(empty=True)
        for pkg in providers.run():
            t = t.union(query_in.filter(provides=pkg.requires))
        query_select = t.difference(done)
        if query_select:
            done = self._get_recursive_providers_query(query_in, query_select, done=t.union(done))
        return t.union(done)

    def _add_add_remote_packages(self):
        rpmnames = []
        remote_packages = []
        for key in self.opts.key:
            schemes = dnf.pycomp.urlparse.urlparse(key)[0]
            if key.endswith('.rpm'):
                rpmnames.append(key)
            elif schemes and schemes in ('http', 'ftp', 'file', 'https'):
                rpmnames.append(key)
        if rpmnames:
            remote_packages = self.base.add_remote_rpms(
                rpmnames, strict=False, progress=self.base.output.progress)
        return remote_packages

    def run(self):
        if self.opts.querytags:
            print(QUERY_TAGS)
            return

        self.cli._populate_update_security_filter(self.opts)

        q = self.base.sack.query(
            flags=hawkey.IGNORE_MODULAR_EXCLUDES
            if self.opts.disable_modular_filtering
            else hawkey.APPLY_EXCLUDES
        )
        if self.opts.key:
            remote_packages = self._add_add_remote_packages()

            kwark = {}
            if self.opts.command in self.nevra_forms:
                kwark["forms"] = [self.nevra_forms[self.opts.command]]
            pkgs = []
            query_results = q.filter(empty=True)

            if remote_packages:
                query_results = query_results.union(
                    self.base.sack.query().filterm(pkg=remote_packages))

            for key in self.opts.key:
                query_results = query_results.union(
                    dnf.subject.Subject(key, ignore_case=True).get_best_query(
                        self.base.sack, with_provides=False, query=q, **kwark))
            q = query_results

        if self.opts.recent:
            q = q._recent(self.base.conf.recent)
        if self.opts.available:
            if self.opts.list and self.opts.list != "installed":
                print(self.cli.optparser.print_usage())
                raise dnf.exceptions.Error(_("argument {}: not allowed with argument {}".format(
                    "--available", "--" + self.opts.list)))
        elif self.opts.list == "unneeded":
            q = q._unneeded(self.base.history.swdb)
        elif self.opts.list and self.opts.list != 'userinstalled':
            q = getattr(q, self.opts.list)()

        if self.opts.pkgfilter == "duplicated":
            installonly = self.base._get_installonly_query(q)
            q = q.difference(installonly).duplicated()
        elif self.opts.pkgfilter == "installonly":
            q = self.base._get_installonly_query(q)
        elif self.opts.pkgfilter == "unsatisfied":
            rpmdb = dnf.sack.rpmdb_sack(self.base)
            rpmdb._configure(self.base.conf.installonlypkgs, self.base.conf.installonly_limit)
            goal = dnf.goal.Goal(rpmdb)
            goal.protect_running_kernel = False
            solved = goal.run(verify=True)
            if not solved:
                print(dnf.util._format_resolve_problems(goal.problem_rules()))
            return
        elif not self.opts.list:
            # do not show packages from @System repo
            q = q.available()

        # filter repo and arch
        q = self.filter_repo_arch(self.opts, q)
        orquery = q

        if self.opts.file:
            q.filterm(file__glob=self.opts.file)
        if self.opts.whatconflicts:
            rels = q.filter(conflicts__glob=self.opts.whatconflicts)
            q = rels.union(q.filter(conflicts=self._resolve_nevras(self.opts.whatconflicts, q)))
        if self.opts.whatobsoletes:
            q.filterm(obsoletes=self.opts.whatobsoletes)
        if self.opts.whatprovides:
            query_for_provide = q.filter(provides__glob=self.opts.whatprovides)
            if query_for_provide:
                q = query_for_provide
            else:
                q.filterm(file__glob=self.opts.whatprovides)

        if self.opts.whatrequires:
            if (self.opts.exactdeps):
                q.filterm(requires__glob=self.opts.whatrequires)
            else:
                q = self.by_all_deps(self.opts.whatrequires, q)

        if self.opts.whatdepends:
            if (self.opts.exactdeps):
                dependsquery = q.filter(requires__glob=self.opts.whatdepends)
                dependsquery = dependsquery.union(q.filter(recommends__glob=self.opts.whatdepends))
                dependsquery = dependsquery.union(q.filter(enhances__glob=self.opts.whatdepends))
                dependsquery = dependsquery.union(q.filter(supplements__glob=self.opts.whatdepends))
                q = dependsquery.union(q.filter(suggests__glob=self.opts.whatdepends))
            else:
                q = self.by_all_deps(self.opts.whatdepends, q, True)

        if self.opts.whatrecommends:
            rels = q.filter(recommends__glob=self.opts.whatrecommends)
            q = rels.union(q.filter(recommends=self._resolve_nevras(self.opts.whatrecommends, q)))
        if self.opts.whatenhances:
            rels = q.filter(enhances__glob=self.opts.whatenhances)
            q = rels.union(q.filter(enhances=self._resolve_nevras(self.opts.whatenhances, q)))
        if self.opts.whatsupplements:
            rels = q.filter(supplements__glob=self.opts.whatsupplements)
            q = rels.union(q.filter(supplements=self._resolve_nevras(self.opts.whatsupplements, q)))
        if self.opts.whatsuggests:
            rels = q.filter(suggests__glob=self.opts.whatsuggests)
            q = rels.union(q.filter(suggests=self._resolve_nevras(self.opts.whatsuggests, q)))

        if self.opts.latest_limit:
            q = q.latest(self.opts.latest_limit)
        # reduce a query to security upgrades if they are specified
        q = self.base._merge_update_filters(q, warning=False)
        if self.opts.srpm:
            pkg_list = []
            for pkg in q:
                srcname = pkg.source_name
                if srcname is not None:
                    tmp_query = self.base.sack.query().filterm(name=srcname, evr=pkg.evr,
                                                               arch='src')
                    pkg_list += tmp_query.run()
            q = self.base.sack.query().filterm(pkg=pkg_list)
        if self.opts.tree:
            if not self.opts.whatrequires and self.opts.packageatr not in (
                    'conflicts', 'enhances', 'obsoletes', 'provides', 'recommends',
                    'requires', 'suggests', 'supplements'):
                raise dnf.exceptions.Error(
                    _("No valid switch specified\nusage: {prog} repoquery [--conflicts|"
                      "--enhances|--obsoletes|--provides|--recommends|--requires|"
                      "--suggest|--supplements|--whatrequires] [key] [--tree]\n\n"
                      "description:\n  For the given packages print a tree of the"
                      "packages.").format(prog=dnf.util.MAIN_PROG))
            self.tree_seed(q, orquery, self.opts)
            return

        pkgs = set()
        if self.opts.packageatr:
            rels = set()
            for pkg in q.run():
                if self.opts.list != 'userinstalled' or self.base.history.user_installed(pkg):
                    if self.opts.packageatr == 'depends':
                        rels.update(pkg.requires + pkg.enhances + pkg.suggests +
                                    pkg.supplements + pkg.recommends)
                    else:
                        rels.update(getattr(pkg, OPTS_MAPPING[self.opts.packageatr]))
            if self.opts.resolve:
                # find the providing packages and show them
                if self.opts.list == "installed":
                    query = self.filter_repo_arch(self.opts, self.base.sack.query())
                else:
                    query = self.filter_repo_arch(self.opts, self.base.sack.query().available())
                providers = query.filter(provides=rels)
                if self.opts.recursive:
                    providers = providers.union(
                        self._get_recursive_providers_query(query, providers))
                pkgs = set()
                for pkg in providers.latest().run():
                    pkgs.add(self.build_format_fn(self.opts, pkg))
            else:
                pkgs.update(str(rel) for rel in rels)
        elif self.opts.location:
            for pkg in q.run():
                location = pkg.remote_location()
                if location is not None:
                    pkgs.add(location)
        elif self.opts.deplist:
            pkgs = []
            for pkg in sorted(set(q.run())):
                if self.opts.list != 'userinstalled' or self.base.history.user_installed(pkg):
                    deplist_output = []
                    deplist_output.append('package: ' + str(pkg))
                    for req in sorted([str(req) for req in pkg.requires]):
                        deplist_output.append('  dependency: ' + req)
                        subject = dnf.subject.Subject(req)
                        query = subject.get_best_query(self.base.sack)
                        query = self.filter_repo_arch(
                            self.opts, query.available())
                        if not self.opts.verbose:
                            query = query.latest()
                        for provider in query.run():
                            deplist_output.append('   provider: ' + str(provider))
                    pkgs.append('\n'.join(deplist_output))
            if pkgs:
                print('\n\n'.join(pkgs))
            return
        elif self.opts.groupmember:
            self._group_member_report(q)
            return

        else:
            for pkg in q.run():
                if self.opts.list != 'userinstalled' or self.base.history.user_installed(pkg):
                    pkgs.add(self.build_format_fn(self.opts, pkg))

        if pkgs:
            if self.opts.queryinfo:
                print("\n\n".join(sorted(pkgs)))
            else:
                print("\n".join(sorted(pkgs)))

    def _group_member_report(self, query):
        package_conf_dict = {}
        for group in self.base.comps.groups:
            package_conf_dict[group.id] = set([pkg.name for pkg in group.packages_iter()])
        group_package_dict = {}
        pkg_not_in_group = []
        for pkg in query.run():
            group_id_list = []
            for group_id, package_name_set in package_conf_dict.items():
                if pkg.name in package_name_set:
                    group_id_list.append(group_id)
            if group_id_list:
                group_package_dict.setdefault(
                    '$'.join(sorted(group_id_list)), []).append(str(pkg))
            else:
                pkg_not_in_group.append(str(pkg))
        output = []
        for key, package_list in sorted(group_package_dict.items()):
            output.append(
                '\n'.join(sorted(package_list) + sorted(['  @' + id for id in key.split('$')])))
        output.append('\n'.join(sorted(pkg_not_in_group)))
        if output:
            print('\n'.join(output))

    def grow_tree(self, level, pkg, opts):
        pkg_string = self.build_format_fn(opts, pkg)
        if level == -1:
            print(pkg_string)
            return
        spacing = " "
        for x in range(0, level):
            spacing += "|   "
        requires = []
        for requirepkg in pkg.requires:
            requires.append(str(requirepkg))
        reqstr = "[" + str(len(requires)) + ": " + ", ".join(requires) + "]"
        print(spacing + r"\_ " + pkg_string + " " + reqstr)

    def tree_seed(self, query, aquery, opts, level=-1, usedpkgs=None):
        for pkg in sorted(set(query.run()), key=lambda p: p.name):
            usedpkgs = set() if usedpkgs is None or level == -1 else usedpkgs
            if pkg.name.startswith("rpmlib") or pkg.name.startswith("solvable"):
                return
            self.grow_tree(level, pkg, opts)
            if pkg not in usedpkgs:
                usedpkgs.add(pkg)
                if opts.packageatr:
                    strpkg = getattr(pkg, opts.packageatr)
                    ar = {}
                    for name in set(strpkg):
                        pkgquery = self.base.sack.query().filterm(provides=name)
                        for querypkg in pkgquery:
                            ar[querypkg.name + "." + querypkg.arch] = querypkg
                    pkgquery = self.base.sack.query().filterm(pkg=list(ar.values()))
                else:
                    pkgquery = self.by_all_deps((pkg.name, ), aquery) if opts.alldeps \
                        else aquery.filter(requires__glob=pkg.name)
                self.tree_seed(pkgquery, aquery, opts, level + 1, usedpkgs)


class PackageWrapper(object):

    """Wrapper for dnf.package.Package, so we can control formatting."""

    def __init__(self, pkg):
        self._pkg = pkg

    def __getattr__(self, attr):
        atr = getattr(self._pkg, attr)
        if atr is None:
            return "(none)"
        if isinstance(atr, list):
            return '\n'.join(sorted({dnf.i18n.ucd(reldep) for reldep in atr}))
        return dnf.i18n.ucd(atr)

    @staticmethod
    def _get_timestamp(timestamp):
        if timestamp > 0:
            dt = datetime.datetime.utcfromtimestamp(timestamp)
            return dt.strftime("%Y-%m-%d %H:%M")
        else:
            return ''

    @property
    def buildtime(self):
        return self._get_timestamp(self._pkg.buildtime)

    @property
    def installtime(self):
        return self._get_timestamp(self._pkg.installtime)
PK"�FZ�,��cli/commands/distrosync.pynu�[���# distrosync.py
# distro-sync CLI command.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from dnf.cli import commands
from dnf.i18n import _


class DistroSyncCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    distro-synch command.
    """

    aliases = ('distro-sync', 'distrosync', 'distribution-synchronization', 'dsync')
    summary = _('synchronize installed packages to the latest available versions')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('package', nargs='*', help=_('Package to synchronize'))

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True
        commands._checkGPGKey(self.base, self.cli)
        commands._checkEnabledRepo(self.base, self.opts.package)

    def run(self):
        return self.base.distro_sync_userlist(self.opts.package)
PK"�FZ�J�lSScli/commands/install.pynu�[���# install.py
# Install CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

import logging
from itertools import chain

import hawkey

import dnf.exceptions
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _

logger = logging.getLogger('dnf')


class InstallCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    install command.
    """
    nevra_forms = {'install-n': hawkey.FORM_NAME,
                   'install-na': hawkey.FORM_NA,
                   'install-nevra': hawkey.FORM_NEVRA}
    alternatives_provide = 'alternative-for({})'

    aliases = ('install', 'localinstall', 'in') + tuple(nevra_forms.keys())
    summary = _('install a package or packages on your system')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('package', nargs='+', metavar=_('PACKAGE'),
                            action=OptionParser.ParseSpecGroupFileCallback,
                            help=_('Package to install'))

    def configure(self):
        """Verify that conditions are met so that this command can run.
        That there are enabled repositories with gpg keys, and that
        this command is called with appropriate arguments.
        """
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True
        commands._checkGPGKey(self.base, self.cli)
        if not self.opts.filenames:
            commands._checkEnabledRepo(self.base)

    def run(self):
        err_pkgs = []
        errs = []
        error_module_specs = []

        nevra_forms = self._get_nevra_forms_from_command()

        self.cli._populate_update_security_filter(self.opts)
        if self.opts.command == 'localinstall' and (self.opts.grp_specs or self.opts.pkg_specs):
            self._log_not_valid_rpm_file_paths(self.opts.grp_specs)
            if self.base.conf.strict:
                raise dnf.exceptions.Error(_('Nothing to do.'))
        skipped_grp_specs = []
        if self.opts.grp_specs and self.opts.command != 'localinstall':
            if dnf.base.WITH_MODULES:
                try:
                    module_base = dnf.module.module_base.ModuleBase(self.base)
                    module_base.install(self.opts.grp_specs, strict=self.base.conf.strict)
                except dnf.exceptions.MarkingErrors as e:
                    if e.no_match_group_specs:
                        for e_spec in e.no_match_group_specs:
                            skipped_grp_specs.append(e_spec)
                    if e.error_group_specs:
                        for e_spec in e.error_group_specs:
                            error_module_specs.append("@" + e_spec)
                    module_depsolv_errors = e.module_depsolv_errors
                    if module_depsolv_errors:
                        logger.error(dnf.module.module_base.format_modular_solver_errors(
                            module_depsolv_errors[0]))
            else:
                skipped_grp_specs = self.opts.grp_specs
        if self.opts.filenames and nevra_forms:
            self._inform_not_a_valid_combination(self.opts.filenames)
            if self.base.conf.strict:
                raise dnf.exceptions.Error(_('Nothing to do.'))
        else:
            err_pkgs = self._install_files()

        if skipped_grp_specs and nevra_forms:
            self._inform_not_a_valid_combination(skipped_grp_specs)
            if self.base.conf.strict:
                raise dnf.exceptions.Error(_('Nothing to do.'))
        elif skipped_grp_specs and self.opts.command != 'localinstall':
            self._install_groups(skipped_grp_specs)

        if self.opts.command != 'localinstall':
            errs = self._install_packages(nevra_forms)

        if (len(errs) != 0 or len(err_pkgs) != 0 or error_module_specs) and self.base.conf.strict:
            raise dnf.exceptions.PackagesNotAvailableError(_("Unable to find a match"),
                                                           pkg_spec=' '.join(errs),
                                                           packages=err_pkgs)

    def _get_nevra_forms_from_command(self):
        if self.opts.command in self.nevra_forms:
            return [self.nevra_forms[self.opts.command]]
        else:
            return []

    def _log_not_valid_rpm_file_paths(self, grp_specs):
        group_names = map(lambda g: '@' + g, grp_specs)
        for pkg in chain(self.opts.pkg_specs, group_names):
            msg = _('Not a valid rpm file path: %s')
            logger.info(msg, self.base.output.term.bold(pkg))

    def _inform_not_a_valid_combination(self, forms):
        for form in forms:
            msg = _('Not a valid form: %s')
            logger.warning(msg, self.base.output.term.bold(form))

    def _install_files(self):
        err_pkgs = []
        strict = self.base.conf.strict
        for pkg in self.base.add_remote_rpms(self.opts.filenames, strict=strict,
                                             progress=self.base.output.progress):
            try:
                self.base.package_install(pkg, strict=strict)
            except dnf.exceptions.MarkingError:
                msg = _('No match for argument: %s')
                logger.info(msg, self.base.output.term.bold(pkg.location))
                err_pkgs.append(pkg)

        return err_pkgs

    def _install_groups(self, grp_specs):
        try:
            self.base.env_group_install(grp_specs,
                                        tuple(self.base.conf.group_package_types),
                                        strict=self.base.conf.strict)
        except dnf.exceptions.Error:
            if self.base.conf.strict:
                raise

    def _report_alternatives(self, pkg_spec):
        query = self.base.sack.query().filterm(
            provides=self.alternatives_provide.format(pkg_spec))
        if query:
            msg = _('There are following alternatives for "{0}": {1}')
            logger.info(msg.format(
                pkg_spec,
                ', '.join(sorted(set([alt.name for alt in query])))))

    def _install_packages(self, nevra_forms):
        errs = []
        strict = self.base.conf.strict
        for pkg_spec in self.opts.pkg_specs:
            try:
                self.base.install(pkg_spec, strict=strict, forms=nevra_forms)
            except dnf.exceptions.MarkingError as e:
                msg = '{}: {}'.format(e.value, self.base.output.term.bold(pkg_spec))
                logger.info(msg)
                self.base._report_icase_hint(pkg_spec)
                self._report_alternatives(pkg_spec)
                errs.append(pkg_spec)

        return errs
PK"�FZ�X�:ee2cli/commands/__pycache__/mark.cpython-36.opt-1.pycnu�[���3

�ft`�
�@spddlmZddlmZddlZddlmZddlmZddl	Z	ddl
Z
ddlZejd�Z
Gdd�dej�ZdS)	�)�print_function)�unicode_literalsN)�_)�commands�dnfc@sLeZdZdZed�Zedd��Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�MarkCommand�markz7mark or unmark installed packages as installed by user.cCs6|jdddddgtd�d�|jdd	d
td�d�dS)
Nr�Zinstall�remove�groupzhinstall: mark as installed by user
remove: unmark as installed by user
group: mark as installed by group)�nargs�choices�help�package�+ZPACKAGEzPackage specification)r�metavarr)�add_argumentr)�parser�r�/usr/lib/python3.6/mark.py�
set_argparser)s
zMarkCommand.set_argparsercCs,|jjj|tjj�tjtd�t	|��dS)Nz%s marked as user installed.)
�base�history�
set_reason�libdnf�transactionZTransactionItemReason_USER�logger�infor�str)�self�pkgrrr�
_mark_install2szMarkCommand._mark_installcCs,|jjj|tjj�tjtd�t	|��dS)Nz%s unmarked as user installed.)
rrrrrZ TransactionItemReason_DEPENDENCYrrrr)rr rrr�_mark_remove6szMarkCommand._mark_removecCs,|jjj|tjj�tjtd�t	|��dS)Nz%s marked as group installed.)
rrrrrZTransactionItemReason_GROUPrrrr)rr rrr�_mark_group:szMarkCommand._mark_groupcCs$|jj}d|_d|_d|_d|_dS)NTF)�cli�demandsZsack_activationZ	root_userZavailable_reposZ	resolving)rr%rrr�	configure>s
zMarkCommand.configurec
Cs|jjd}|jj}tjt|d|��}g}xR|D]J}tjj|�}|j	|j
j�}x|D]}||�qVWt|�dkr2|j
|�q2W|r�tjtd��x|D]}tjtd�|�q�Wtjj�|j
jj�}|dkr�|jj�}	n|j}	|j
jj|	gg�|j
jj|	�dS)NrZ_mark_zError:zPackage %s is not installed.)Zoptsrr�	functools�partial�getattrrZsubjectZSubjectZget_best_queryrZsack�len�appendr�errorrr$ZCliErrorrZlastZ_rpmdb_versionZend_rpmdb_versionZbeg�end)
r�cmdZpkgsZ	mark_funcZnotfoundr Zsubj�q�oldZ
rpmdb_versionrrr�runEs,


zMarkCommand.runN)r)
�__name__�
__module__�__qualname__�aliasesrZsummary�staticmethodrr!r"r#r&r1rrrrr$s	r)Z
__future__rrZlibdnf.transactionrZdnf.i18nrZdnf.clirrr'ZloggingZ	getLoggerrZCommandrrrrr�<module>s
PK"�FZ�
'�		-cli/commands/__pycache__/clean.cpython-36.pycnu�[���3

�ft`t�@s�ddlmZddlmZddlmZddlmZmZddlm	Z	ddlZ
ddlZ
ddlZ
ddl
Z
ddlZ
ddlZddlZddlZddlZejd�Zdd	d
gdgd	gd
gddd	gd�Zd
d�Zdd�Zdd�Zdd�ZGdd�dej�ZdS)�)�absolute_import)�unicode_literals)�commands)�_�P_)�miscN�dnf�metadata�dbcachezexpire-cache�packages)r	rr
zexpire-cache�allccsVxPtj|�D]B\}}}tjj||�}x(|D] }tjj||�}tjj|�Vq*WqWdS)z:Traverse dirpath recursively and yield relative filenames.N)�os�walk�path�relpath�join�normpath)�dirpath�root�dirs�files�base�fr�r�/usr/lib/python3.6/clean.py�_tree1s

rcs�fdd�|D�S)z5Yield those filenames that match any of the patterns.c3s(|] }�D]}tj||�r
|Vq
qdS)N)�re�match)�.0r�p)�patternsrr�	<genexpr><sz_filter.<locals>.<genexpr>r)rr r)r r�_filter:sr"cCsLd}xB|D]:}tjj||�}tjtjjtd�|�t	j
|�|d7}q
W|S)z(Remove the given filenames from dirpath.rzRemoving file %s�)r
rr�logger�logr�loggingZDDEBUGrrZunlink_f)rr�countrrrrr�_clean?s

r(cs0tjjd��fdd�|D�}tdd�|D��S)z:Return the repo IDs that have some cached metadata around.r	c3s|]}tj�|�VqdS)N)rr)rr)�metapatrrr!Msz _cached_repos.<locals>.<genexpr>css|]}|r|jd�VqdS)ZrepoidN)�group)r�mrrrr!Ns)r�repo�CACHE_FILES�set)rZmatchesr)r)r�
_cached_reposJsr/c@s0eZdZdZd	Zed�Zedd��Zdd�Z	dS)
�CleanCommandzSA class containing methods needed by the cli to execute the
    clean command.
    �cleanzremove cached datacCs|jddtj�td�d�dS)N�type�+zMetadata type to clean)�nargs�choices�help)�add_argument�_CACHE_TYPES�keysr)�parserrrr�
set_argparserYszCleanCommand.set_argparsercCsf|jjj}tjj|d�}tjj|d�}tjj|jjjd�}�x$y�|oJ|oJ|��t	dd�|j
jD��}tt
|��}tjtddj|���d|kr�t|�}|jjjj|�|jd�tjtd��dd	�|D�}t|t||��}	tjtd
d|	�|	�dSQRXWq>tjjk
�r\}
z:|jjj�sHtd�|
j}tj|�tj d
�n|
�WYdd}
~
Xq>Xq>WdS)NTcss |]}t|D]
}|VqqdS)N)r8)r�c�trrrr!gsz#CleanCommand.run.<locals>.<genexpr>zCleaning data: � zexpire-cachezCache was expiredcSsg|]}tjj|�qSr)rr,r-)rr=rrr�
<listcomp>qsz$CleanCommand.run.<locals>.<listcomp>z%d file removedz%d files removedz*Waiting for process with pid %d to finish.�)!rZconf�cachedirr�lockZbuild_metadata_lockZbuild_download_lockZbuild_rpmdb_lockZ
persistdirr.Zoptsr2�listrr$�debugrrr/Z_repo_persistorZexpired_to_add�update�remove�infor(r"r�
exceptionsZ	LockErrorZexit_on_lock�pid�timeZsleep)�selfrAZmd_lockZ
download_lockZ
rpmdb_lock�typesrZexpiredr r'�e�msgrrr�run_s2


zCleanCommand.runN)r1)
�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodr;rOrrrrr0Qs
r0)Z
__future__rrZdnf.clirZdnf.i18nrrZdnf.yumrrZdnf.exceptionsZdnf.lockZdnf.loggingZdnf.repor&r
rrJZ	getLoggerr$r8rr"r(r/ZCommandr0rrrr�<module>s0
	PK"�FZV����-cli/commands/__pycache__/alias.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlZddlZddl	Zddlm
Z
ddlZddlZddl
mZejd�ZGdd	�d	e
j�ZdS)
�)�absolute_import)�print_function)�unicode_literalsN)�commands)�_�dnfc@sleZdZdZed�Zedd��Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�ZdS)�AliasCommand�aliaszList or create command aliasescCsl|j�}|jdddtd�d�|jdddtd�d�|jdd	d
dd
dgtd
�d�|jdddtd�d�dS)Nz--enable-resolvingF�
store_truezenable aliases resolving)�default�action�helpz--disable-resolvingzdisable aliases resolving�
subcommand�?�list�add�deletezaction to do with aliases)�nargsr�choicesr
r	�*zcommand[=result]zalias definition)r�metavarr
)Zadd_mutually_exclusive_group�add_argumentr)�parserZenable_group�r�/usr/lib/python3.6/alias.py�
set_argparser*s

zAliasCommand.set_argparsercCsH|jj}|jjdkrd|_tjjj�|_|jj	�|jj
|_|j�dS)NrrT)rr)
�cli�demands�optsrZ	root_userr�aliasesZAliases�aliases_baseZ
_load_aliases�enabledZresolving_enabled�_update_config_from_options)�selfrrrr�	configure9s

zAliasCommand.configurecCs�d}|jjrd}tjtd��|jjr8d}tjtd��|dk	r�tjjt	j
jj�sft
t	j
jjd�j�t	jjjt	j
jjddd|i�|jj�s�||j_dS)NTzAliases are now enabledFzAliases are now disabled�w�mainr!)rZenable_resolving�logger�inforZdisable_resolving�os�path�existsrrrZALIASES_CONF_PATH�open�close�confZ
BaseConfigZwrite_raw_configfiler Z_disabled_by_environr!)r#r!rrrr"Bs
z(AliasCommand._update_config_from_optionscCs�i}x�|jjD]�}|jdd�}|dj�}t|j��dkrLtjtd�|�q|jd�rhtjtd�|�qt|�dkr�tjtd�|�q|dj�||<qW|S)N�=�rzInvalid alias key: %s�-zAlias argument has no value: %s)	rr	�split�strip�lenr'�warningr�
startswith)r#Znew_aliasesr	�cmdrrr�_parse_option_aliasTs
z AliasCommand._parse_option_aliascCsxtjjtjjj�s&ttjjjd�j�ytjjj	tjjj�}Wn4tj
jk
rr}ztj
td�|�dSd}~XnX|S)Nr%zConfig error: %s)r)r*r+rrr�ALIASES_USER_PATHr,r-Z
AliasesConfig�
exceptionsZConfigErrorr'r5r)r#r.�errr�_load_user_aliaseseszAliasCommand._load_user_aliasescCsdttjjjd�}d}|dj|�7}|d7}x*|j�D]\}}|dj|dj|��7}q4W|j|�dS)Nr%z[main]
zenabled = {}

z
[aliases]
z{} = {}
� )	r,rrrr9�format�items�join�write)r#�user_aliasesr!Zfileobj�output�key�valuerrr�_store_user_aliasespsz AliasCommand._store_user_aliasescCsP|j�}|j}|dkrdS|j|�|j||j�tjtd�dj|j	���dS)NzAliases added: %sz, )
r<r�updaterFr!r'r(rr@�keys)r#rr.rBrrr�add_aliasesys
zAliasCommand.add_aliasescCs�|j�}|j}|dkrdSg}xF|D]>}y||=|j|�Wq$tk
r`tjtd�|�Yq$Xq$W|j||j�tjtd�dj	|��dS)NzAlias not found: %szAliases deleted: %sz, )
r<r�append�KeyErrorr'r(rrFr!r@)r#�cmdsr.rBZ
valid_cmdsr7rrr�remove_aliases�s
zAliasCommand.remove_aliasescCs~|g}y|jj|�}WnHtjjk
r^}z(tjtd�||dj|jj	|��WYdd}~XnXt
td�|dj|�f�dS)Nz%s, alias %s="%s"r=z
Alias %s='%s')r Z_resolverr:�Errorr'�errorrr@r�print)r#r7�argsr;rrr�
list_alias�s0zAliasCommand.list_aliascCs|jjstjtd��|jjdkrL|j�}|s>tj	j
td���|j|�dS|jjdkr�|jj}|gkrxtj	j
td���|j
|�dS|jjs�|jjs�tjtd��dSxX|jjD]}|j|�q�Wn<x:|jjD].}||jjkr�tjtd�|�q�|j|�q�WdS)NzAliases resolving is disabled.rzNo aliases specified.rzNo alias specified.zNo aliases defined.zNo match for alias: %s)r r!r'r5rrrr8rr:rNrIr	rMrr(rR)r#rrLr7rrr�run�s2

zAliasCommand.runN)r	)�__name__�
__module__�__qualname__rrZsummary�staticmethodrr$r"r8r<rFrIrMrRrSrrrrr&s		
r)Z
__future__rrrZloggingZos.pathr)Zdnf.clirZdnf.cli.aliasesrZdnf.confZdnf.exceptionsZdnf.i18nrZ	getLoggerr'ZCommandrrrrr�<module>s
PK"�FZ�!�W�,�,5cli/commands/__pycache__/history.cpython-36.opt-1.pycnu�[���3

i�-e%F�@s�ddlmZddlmZddlmZddlZddlZddlmZmZddl	m
Z
ddlmZm
Z
ddl	ZddlZddlZddlZddlZddlZddlZejd�ZGd	d
�d
e
j�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_�ucd)�commands)�TransactionReplay�serialize_transaction�dnfcs�eZdZdZd+Zed�Zddddd	d
ddgZ�fd
d�Ze	dd��Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Z�ZS),�HistoryCommandzUA class containing methods needed by the cli to execute the
    history command.
    �history�histz(display, or use, the transaction history�list�info�redo�replay�rollback�store�undo�
userinstalledcstt|�j||�d|_dS)NF)�superr�__init__�_require_one_transaction_id)�self�args�kw)�	__class__��/usr/lib/python3.6/history.pyr4szHistoryCommand.__init__c
Cs�|jddddjtjddjtjdd���d�|jd	d
dd�|jd
ddtd�d�|jdd
td�d�|jdd
td�d�|jdd
td�d�|jddddd�|jddddd�dS)N�transactions_action�?ZCOMMANDz$Available commands: {} (default), {}rz, �)�nargs�metavar�helpz	--reverse�
store_truez$display history list output reversed)�actionr$z-oz--outputz<For the store command, file path to store the transaction to)�defaultr$z--ignore-installedzXFor the replay command, don't check for installed packages matching those in transactionz--ignore-extraszRFor the replay command, don't check for extra packages pulled into the transactionz--skip-unavailablezYFor the replay command, skip packages that are not available or have missing dependencies�transactions�*ZTRANSACTIONz�For commands working with history transactions, Transaction ID (<number>, 'last' or 'last-<number>' for one transaction, <transaction-id>..<transaction-id> for a range)�transaction_filenameZTRANSACTION_FILEzEFor the replay command, path to the stored transaction file to replay)�add_argument�formatr�_CMDS�joinr)�parserrrr�
set_argparser9s$



zHistoryCommand.set_argparsercCs.|jjs|jd|j_n0|jj|jkrH|jjjd|jj�|jd|j_td�j|jj�|_|jj	}|jjdk�r|jjs�t
jjtd���t|jj�dkr�t
jjtd���t
jj|jjd�|j_g|j_d|_d|_d|_d|jj_d|jj_t
jjj|j|j�n�|jjd	k�r6d|_|jj�s�t
jjtd
���n�|jjdk�r�d|_d|_d|_d|_|jj�s�td
�}tj|�t
jj|��n,t|jj�dk�r�tj|j�t
jj|j��d|_t
jjj|j|j�nd|_d|_|jjjdk�r*t
j |jjjt
j!��r*td|jjj�}tj|�t
jj|��dS)NrzUFound more than one transaction ID.
'{}' requires one transaction ID or package name.rzNo transaction file name given.r!z6More than one argument given as transaction file name.TFrz(No transaction ID or package name given.rrrz:memory:z+You don't have access to the history DB: %s)rrr)"�optsrr-r(�insertrr,�_require_one_transaction_id_msg�cli�demandsr
�CliError�len�os�path�abspathr*Zavailable_reposZ	resolvingZ	root_user�base�confZclean_requirements_on_removeZinstall_weak_depsrZ_checkGPGKeyr�logger�criticalZfresh_metadataZsack_activationr�access�R_OK)rr5�msgrrr�	configureUsZ




(
zHistoryCommand.configurecCs�t|tjj�rv|jjdkr2|jj\}td�|fS|jjdkrv|jjddkrV|jjn|jjdd�\}td�|fStjj	j
j||�S)	z.Get suggestions for resolving the given error.rzVCannot undo transaction %s, doing so would result in an inconsistent package database.rr�forcer!NzZCannot rollback transaction %s, doing so would result in an inconsistent package database.)�
isinstancer
�
exceptionsZTransactionCheckErrorr1rr(rr4r�Command�get_error_output)r�errorZid_rrrrG�s
zHistoryCommand.get_error_outputcCs:|j|�}t|�}t|j|dd|jjd�|_|jj�dS)NT)�data�ignore_installed�
ignore_extras�skip_unavailable)�_history_get_transactionr	rr;r1rLr�run)r�extcmds�oldrIrrr�
_hcmd_redo�s
zHistoryCommand._hcmd_redocCsD|stjjtd���|jjj|�}|s@tjjtd�j|d���|S)NzNo transaction ID givenzTransaction ID "{0}" not found.r)r
r4r6rr;rrPr,)rrOrPrrr�_history_get_transactions�sz(HistoryCommand._history_get_transactionscCs.|j|�}t|�dkr&tjjtd���|dS)Nr!z#Found more than one transaction ID!r)rRr7r
r4r6r)rrOrPrrrrM�s
z'HistoryCommand._history_get_transactioncCs|j|�}|j|�dS)N)rM�_revert_transaction)rrOrPrrr�
_hcmd_undo�s
zHistoryCommand._hcmd_undocCs�|j|�}|jjj�}d}|j|jkr�x�|jjjtt|jd|jd���D]X}|jrjt	j
td�|j�n|jr�t	j
td�|j�|dkr�t
jjj|�}qL|j|�qLW|j|�dS)Nr!z-Transaction history is incomplete, before %u.z,Transaction history is incomplete, after %u.)rMr;r�last�tidrPr�rangeZaltered_lt_rpmdbr=ZwarningrZaltered_gt_rpmdbr
ZdbZMergedTransactionWrapper�mergerS)rrOrPrUZmerged_trans�transrrr�_hcmd_rollback�s
*zHistoryCommand._hcmd_rollbackc	Cs&dddddddddd	d
d�}t|�}x�dD]�}x�|j|g�D]�}||d|d<|ddkrt|jdd�dkrtd|d<|dd
kr�d|kr�tj|d�}|jtjgd�d}|jjjj	|j
|j|j�dd�}t
jj|�|d<|jd�tjkr<d|d<q<Wq*Wt|j|dd|jjd�|_|jj�dS)N�Removed�Install�
Downgraded�	Downgrade�Upgraded�Upgrade�	Reinstall�Reinstalled�	Obsoletedz
Reason Change)r\r[r`r_r^r]rbrarcZObsoletez
Reason Change�rpms�groups�environmentsr&�reasonZcleanZ
dependency�nevra)Zformsrr!Zrepo_idT)rIrJrKrL)rdrerf)r	�get�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRA�outputrZswdbZresolveRPMTransactionItemReason�nameZarch�tids�libdnfZtransactionZTransactionItemReasonToStringZSYSTEM_REPO_NAMErr;r1rLrrN)	rrYZ
action_maprIZcontent_typeZtiZsubjrhrgrrrrS�sD

z"HistoryCommand._revert_transactioncCs:t|jj��}|jj|dd�}|dkr6tjjtd���dS)z&Execute history userinstalled command.zPackages installed by userrhrzNo packages to listN)	�tupler;Ziter_userinstalledrkZlistPkgsr
r4r6r)rZpkgsZn_listedrrr�_hcmd_userinstalledsz"HistoryCommand._hcmd_userinstalledc
s��fdd�}t�}t�}�xĈjjD�]�}d|k�r\y|jdd�\}}Wn0tk
rxtjtd�j|��t	j
j�YnXtd�}y||�}Wn0tk
r�tjt|�j|��t	j
j�YnXy||�}Wn0tk
r�tjt|�j|��t	j
j�YnX�j�r$||k�r$tj�j
�t	j
j�||k�r8||}}|j||f�|jt||d��q$y|j||��Wq$tk
�r��jjj|g�}|�r�|j|�n4td�j|�}	�j�r�tj|	�t	j
j�n
tj|	�Yq$Xq$Wt|d	d
�|fS)z0Convert commandline arguments to transaction idscsJ|dkrd}n|jd�r$|dd�}t|�}|dkrF|�jjj�j7}|S)NrU�0zlast-�r)�
startswith�intrkrrUrV)�sZtransaction_id)rrr�str2transaction_ids
z@HistoryCommand._args2transaction_ids.<locals>.str2transaction_idz..�zWInvalid transaction ID range definition '{}'.
Use '<transaction-id>..<transaction-id>'.zNCan't convert '{}' to transaction ID.
Use '<number>', 'last', 'last-<number>'.r!z8No transaction which manipulates package '{}' was found.T)�reverse)�setr1r(�split�
ValueErrorr=r>rr,r
r4r6rr3�add�updaterWrkr�searchr�sorted)
rrvrm�merged_tids�tZbegin_transaction_idZend_transaction_idZcant_convert_msgZtransact_ids_from_pkgnamerAr)rr�_args2transaction_ids
sV





z$HistoryCommand._args2transaction_idsc
Cs@|jj}|dkrDt|j|jj|jj|jj|jjd�|_|jj	��n�|j
�\}}|dkr~|sf|jjr~|jj
||jjd��n�|dkr�|s�|jjr�|jj||jj|��n�|dkr�|j|��nz|dkr�|j|��nd|dkr�|j|��nN|d	k�r|j��n8|d
k�r<|j|�}t|�}y�|jjdk	�r8|jjnd}|jjj�sV|jjj�r�tjj|��r�td�j|�}|jjj�s�|jjjd
j|�dj|�d��r�ttd�j|��dSt |d��"}t!j"||ddd�|j#d�WdQRXttd�j|��Wn>t$k
�r:}	z t%j&j'td�jt(|	����WYdd}	~	XnXdS)Nr)�filenamerJrKrLr)rxrrrrrrztransaction.jsonz{} exists, overwrite?z
{} [y/N]: z
{} [Y/n]: )rAZdefaultyes_msgzNot overwriting {}, exiting.�wrrT)�indentZ	sort_keys�
zTransaction saved to {}.zError storing transaction: {}))r1rrr;r*rJrKrLrrNr�r(rkZhistoryListCmdrxZhistoryInfoCmdrTrQrZrprMr	r<ZassumenoZ	assumeyesr8r9�isfilerr,Zuserconfirm�print�open�json�dump�write�OSErrorr
r4r6�str)
rZvcmdrmr�rVrIr�rA�f�errrrNMsN


(zHistoryCommand.runcCs|jjdkrdS|jj�dS)Nrrrr)rrrr)r1rrZpost_transaction)rrrr�run_resolvedszHistoryCommand.run_resolvedcCsX|jjdkrdS|jj�}|rTtjtjjt	d��x |D]}tjtjjd|�q8WdS)NrrrrzEWarning, the following problems occurred while running a transaction:z  )rrrr)
r1rrZget_warningsr=�logr
�loggingZWARNINGr)r�warningsr�rrr�run_transaction�s


zHistoryCommand.run_transaction)rr
)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr-r�staticmethodr0rBrGrQrRrMrTrZrSrpr�rNr�r��
__classcell__rr)rrr*s&=	0@2r)Z
__future__rrrrnrjZdnf.i18nrrZdnf.clirZdnf.transaction_srrr	r
Zdnf.exceptionsZdnf.transactionZdnf.utilr�r�r8Z	getLoggerr=rFrrrrr�<module>s 
PK"�FZ�X�:ee,cli/commands/__pycache__/mark.cpython-36.pycnu�[���3

�ft`�
�@spddlmZddlmZddlZddlmZddlmZddl	Z	ddl
Z
ddlZejd�Z
Gdd�dej�ZdS)	�)�print_function)�unicode_literalsN)�_)�commands�dnfc@sLeZdZdZed�Zedd��Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�MarkCommand�markz7mark or unmark installed packages as installed by user.cCs6|jdddddgtd�d�|jdd	d
td�d�dS)
Nr�Zinstall�remove�groupzhinstall: mark as installed by user
remove: unmark as installed by user
group: mark as installed by group)�nargs�choices�help�package�+ZPACKAGEzPackage specification)r�metavarr)�add_argumentr)�parser�r�/usr/lib/python3.6/mark.py�
set_argparser)s
zMarkCommand.set_argparsercCs,|jjj|tjj�tjtd�t	|��dS)Nz%s marked as user installed.)
�base�history�
set_reason�libdnf�transactionZTransactionItemReason_USER�logger�infor�str)�self�pkgrrr�
_mark_install2szMarkCommand._mark_installcCs,|jjj|tjj�tjtd�t	|��dS)Nz%s unmarked as user installed.)
rrrrrZ TransactionItemReason_DEPENDENCYrrrr)rr rrr�_mark_remove6szMarkCommand._mark_removecCs,|jjj|tjj�tjtd�t	|��dS)Nz%s marked as group installed.)
rrrrrZTransactionItemReason_GROUPrrrr)rr rrr�_mark_group:szMarkCommand._mark_groupcCs$|jj}d|_d|_d|_d|_dS)NTF)�cli�demandsZsack_activationZ	root_userZavailable_reposZ	resolving)rr%rrr�	configure>s
zMarkCommand.configurec
Cs|jjd}|jj}tjt|d|��}g}xR|D]J}tjj|�}|j	|j
j�}x|D]}||�qVWt|�dkr2|j
|�q2W|r�tjtd��x|D]}tjtd�|�q�Wtjj�|j
jj�}|dkr�|jj�}	n|j}	|j
jj|	gg�|j
jj|	�dS)NrZ_mark_zError:zPackage %s is not installed.)Zoptsrr�	functools�partial�getattrrZsubjectZSubjectZget_best_queryrZsack�len�appendr�errorrr$ZCliErrorrZlastZ_rpmdb_versionZend_rpmdb_versionZbeg�end)
r�cmdZpkgsZ	mark_funcZnotfoundr Zsubj�q�oldZ
rpmdb_versionrrr�runEs,


zMarkCommand.runN)r)
�__name__�
__module__�__qualname__�aliasesrZsummary�staticmethodrr!r"r#r&r1rrrrr$s	r)Z
__future__rrZlibdnf.transactionrZdnf.i18nrZdnf.clirrr'ZloggingZ	getLoggerrZCommandrrrrr�<module>s
PK"�FZ�ϷAQQ4cli/commands/__pycache__/remove.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZddlZddl
Z
ddlZejd�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�_)�OptionParserN�dnfc@sbeZdZdZejejejejejejd�Zde	ej
��Zed�Z
edd��Zd	d
�Zdd�Zd
S)�
RemoveCommandzRemove command.)zremove-nz	remove-nazremove-nevrazerase-nzerase-nazerase-nevra�remove�erase�rmz-remove a package or packages from your systemcCsf|j�}|jdddtd�d�|jddtjd�|jddtd	�d�|jd
dtd�tjtd
�d�dS)Nz--duplicates�
store_true�
duplicatedzremove duplicated packages)�action�dest�helpz--duplicated)rrz--oldinstallonlyz*remove installonly packages over the limitZpackages�*zPackage to removeZPACKAGE)�nargsrr�metavar)Zadd_mutually_exclusive_group�add_argumentr�argparseZSUPPRESSrZParseSpecGroupFileCallback)�parserZmgroup�r�/usr/lib/python3.6/remove.py�
set_argparser0s

zRemoveCommand.set_argparsercCs^|jj}d|_d|_d|_|jjr*d|_n0tj	j
rN|jjrNd|_d|_d|_
nd|_
d|_dS)NTF)Zcli�demandsZ	resolvingZ	root_userZsack_activation�optsr
Zavailable_reposr�base�WITH_MODULES�	grp_specsZfresh_metadataZ
allow_erasing)�selfrrrr�	configure?szRemoveCommand.configurecCs\g}|jj|jkr"|j|jjg}|jj|jj7_d}|jj�rD|jjj�}|jj	|j
��}|j�j|�}|s�tj
jtd���x�|j�j�D]�\\}}}t|�dkr�q�|jdd�y|jjt|d��WnHtj
jk
�rd}	td�}
tj|
|jjjjt|d��|	�YnXx"|d	d�D]}|jj|��q&Wq�WdS|jj�r�|jjj�}|jj	|j
��jd�}|jjj�}|dk	�r�|j |j!|j"|j#d
�}
|
�r�|j|
�}|�r�x,|D]}|jj|��q�Wntj
jtd���dS|jj$�r*|�r*x�|jj$D]&}td�}
tj|
|jjjj|���q�Wn�|jj$�r�tjj%�rxtj&j'j(|j�}|j)|jj$�}t|jj$�t|�k�r�d}n|jj$}|�r�xB|D]:}y|jj*|g��r�d}Wntj
jk
�r�YnX�q�Wxx|jjD]l}y|jj)||d
�WnLtj
j+k
�r8}z*dj,|j-|jjjj|��}
tj.|
�WYdd}~XnXd}�q�W|�sXtjtd��dS)NFz)No duplicated packages found for removal.�T)�reverser�z%Installed package %s%s not available.�)�epoch�version�releasez.No old installonly packages found for removal.zNot a valid form: %s)�formsz{}: {}zNo packages marked for removal.���)/rZcommand�nevra_formsZ	pkg_specs�	filenamesr
rZsackZqueryZ_get_installonly_queryZ	installed�
differencer�
exceptions�ErrorrZ_na_dict�items�len�sortZ	reinstall�strZPackagesNotAvailableError�loggerZwarning�outputZtermZboldZpackage_removeZoldinstallonlyZlatestZget_running_kernel�filterr%r&r'rr�module�module_baseZ
ModuleBaser	Zenv_group_removeZMarkingError�format�value�info)rr(�done�qZinstonlyZdups�nameZarchZ	pkgs_listZxmsg�msgZpkgZkernelZrunning_installonlyZgrp_specr7Zskipped_grps�groupZpkg_spec�errr�runPs�
(




 



zRemoveCommand.runN)r	r
r)�__name__�
__module__�__qualname__�__doc__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr*�tuple�keys�aliasesrZsummary�staticmethodrr rArrrrr#s
r)Z
__future__rrZdnf.clirZdnf.i18nrZdnf.cli.option_parserrZdnf.baserrrFZdnf.exceptionsZloggingZ	getLoggerr3ZCommandrrrrr�<module>s
PK"�FZ@4$B�(�(-cli/commands/__pycache__/group.cpython-36.pycnu�[���3

i�-e�:�@s�ddlmZddlmZddlmZddlmZddlmZm	Z	ddl
ZddlZddl
ZddlZddlZejd�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�
CompsQuery)�commands)�_�ucdN�dnfcs�eZdZdZddddddd�Zd-eej��Zed
�Z	ddd�Z
d.Zd/Zdd�Z
�fdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zed%d&��Zd'd(�Zd)d*�Zd+d,�Z�ZS)0�GroupCommandz; Single sub-command interface for most groups interaction. �list�install�remove�info)Z	grouplistZgroupinstallZgroupupdateZgroupremoveZ
grouperaseZ	groupinfo�group�groups�grpz'display, or use, the groups information�upgrade)�updateZerase�summary�markcCsn|jj|jj�}|r<|jjdk	r4|jjjd|jj�||j_|jjdkrPd|j_|jj|jj|jj�|j_dS)Nrr)�direct_commands�get�optsZcommand�subcmd�args�insert�_CMD_ALIASES)�selfZdirect�r�/usr/lib/python3.6/group.py�
_canonical6szGroupCommand._canonicalcstt|�j|�d|_dS)NF)�superr	�__init__�_remark)r�cli)�	__class__rrr!CszGroupCommand.__init__cCs$td�}t|jj�s tjj|��dS)Nz4No group data available for configured repositories.)r�len�base�compsr�
exceptionsZ
CompsError)r�msgrrr�
_assert_compsGszGroupCommand._assert_compscsT�fdd�}�j�|dkr(�jjj}n�jjjdj|��}tjjt	tjj
||��S)Ncs�jjjj|j�}|S)N)r&�history�envr�id)r,Z	env_found)rrr�available_predMsz7GroupCommand._environment_lists.<locals>.available_pred�,)r*r&r'�environments�environments_by_pattern�joinr�utilZmapallr
�	partition)r�patternsr.�envsr)rr�_environment_listsLszGroupCommand._environment_listsc	s��fdd�}g}g}�j�|dkr0�jjj}n�jjjdj|��}x2|D]*}|}||�r^|}|sj|jrJ|j|�qJW||fS)Ncs�jjjj|j�}|rdSdS)NTF)r&r+rrr-)rZgroup_found)rrr�installed_predZsz1GroupCommand._group_lists.<locals>.installed_predr/)r*r&r'r�groups_by_patternr2�uservisible�append)	rr:r5r8�	installed�	availableZgrpsrZtgt_listr)rr�_group_listsYs
zGroupCommand._group_listscCs~xt|D]l}d}x&|jjj|�D]}|jj|�d}qWx&|jjj|�D]}|jj|�d}qFW|stjt	d�|�qWdgfS)NFTz!Warning: Group %s does not exist.r)
r&r'r1�outputZdisplay_groups_in_environmentr9Zdisplay_pkgs_in_groups�logger�errorr)r�userlistZstrngZ
group_matchedr,rrrr�_infoqs
zGroupCommand._infocs�d}d}d}|jjjp|jj�xz|r�|ddkr@d}|jd�q |ddkr\d}|jd�q |ddkrxd}|jd�q |ddkr�d�|jd�q Pq W|jjr�d}|jjr�d}|jjr�d}|s�d}d}|dk	�r@x\|D]T}|jj	}t
|j|��dk}t
|j|��dk}	|r�|	r�t
jtd	�d
|�d}q�W|�r@dgfS|j|�\}
}|j||�\}}
��fdd�}�fd
d�}|�s�|td�|�|�s�|td�|
�|�s
d�x,|D]$}|j�r��q�|td�|�d��q�Wd�x,|D]$}|j�s�q�|td�|�d��q�W|�rdgfSd�x,|
D]$}|j�r2�q"|td�|�d��q"Wd�x,|
D]$}|j�sd�qT|td�|�d��qTWdgfS)N�r�hiddenr<r=�idsTFzWarning: No groups match:z
   %scs`�st|�d|jdk	r|jntd�}�r:|d|j7}|jrN|d|j7}tdj|��dS)Nz   %sz<name-unset>z (%s)z [%s]z{})�print�ui_namerr-�	lang_only�format)�sectrr))�done�	print_idsrr�_out_grp�sz$GroupCommand._list.<locals>._out_grpcsT|rt|�xB|D]:}d|jdk	r(|jntd�}�rD|d|j7}t|�qWdS)Nz   %sz<name-unset>z (%s))rGrHrr-)rKr6�er))rMrr�_out_env�s
z$GroupCommand._list.<locals>._out_envzAvailable Environment Groups:zInstalled Environment Groups:zInstalled Groups:zInstalled Language Groups:zAvailable Groups:zAvailable Language Groups:)r&�conf�verboserrF�poprEr<r=r'r%r9r1r@rArr7r>rI)rrBr:Z
showinstalledZ
showavailableZerrsrr'Zin_groupZin_environmentZenv_instZ	env_availr<r=rNrPr)rLrMr�_list�s�


	







zGroupCommand._listc	Cs�t|jj|jjtjtjBtjtjB�}|jj�}|j	|�}|j
jrXt|jj
jdg�}nt|jj
j�}tjj|�}x|jD]}|j||�qzWx|jD]}|j||�q�WdS)N�optional)rr&r'r+�GROUPS�ENVIRONMENTSZ	AVAILABLE�	INSTALLED�_build_comps_solverrr�
with_optional�tuplerQ�group_package_types�libdnfZtransactionZlistToCompsPackageTyper0Z_environment_installrZ_group_install)	rr5�q�solver�res�typesZ	pkg_types�env_idZgroup_idrrr�
_mark_install�s


zGroupCommand._mark_installcCs�t|jj|jjtjtjBtj�}|jj�}|j|�}x(|j	D]}t
jj|�sPt
�|j|�q<Wx(|jD]}t
jj|�szt
�|j|�qfWdS)N)rr&r'r+rVrWrXrYrr0rr3Zis_string_type�AssertionErrorZ_environment_removerZ
_group_remove)rr5r^r_r`rbZgrp_idrrr�_mark_remove�s


zGroupCommand._mark_removecCs*|d|jkr"|d|dd�fSd|fS)NrrDr)�
_MARK_CMDS)r�extcmdsrrr�_mark_subcmdszGroupCommand._mark_subcmdcCs d}t|�dkr*|ddkr*d}|jd�|jjr6d}|s>d}|j||�\}}dd�}d}x|D]}|jrlq`|d7}q`W|td�|�d}x|D]}|js�q�|d7}q�W|td�|�d}x|D]}|jr�q�|d7}q�W|td	�|�d}x|D]}|j�s�q�|d7}q�W|td
�|�dgfS)NrDrrEcSs|sdStjd||�dS)Nz%s %u)r@r
)rKZnumrrrrNsz'GroupCommand._summary.<locals>._out_grpzInstalled Groups:zInstalled Language Groups:FzAvailable Groups:zAvailable Language Groups:)r%rSrrEr>rIr)rrBr:r<r=rNrLrrrr�_summary
sH




zGroupCommand._summaryc
Cs�|jddtd�d�|j�}|jddtd�d�|jddtd�d�|jd	dtd
�d�|jddtd�d�|jd
ddtd�jtjddjtjdd���d�|jdddtd�d�dS)Nz--with-optional�
store_truez$include optional packages from group)�action�helpz--hiddenzshow also hidden groupsz--installedzshow only installed groupsz--availablezshow only available groupsz--idszshow also ID of groupsr�?ZCOMMANDz'available subcommands: {} (default), {}rz, rD)�nargs�metavarrlr�*ZCOMMAND_ARGzargument for group subcommand)�add_argumentrZadd_mutually_exclusive_grouprJr	�_GROUP_SUBCOMMANDSr2)�parserZ	grpparserrrr�
set_argparser<s"

zGroupCommand.set_argparsercCs�|j�|jj}|jj}||jkrBtjtd�dj|j��t	j
j�|d
krf|rf|j
jj
|�t	j
j�|j
j}d|_|dkr�d|_d|_|dkr�d|_d	|_nd|_|dkr�tj|j�|dkr�tj|j|j
�dS)
Nz$Invalid groups sub-command, use: %s.z, rrrr
TrF)rrrr
)rrrr)rr)rrrrrrr@Zcriticalrr2rr#ZCliErrorZ	optparserZ
print_help�demandsZsack_activationZ	root_userZ	resolvingZ
allow_erasingZavailable_reposrZ_checkEnabledRepor&Z_checkGPGKey)r�cmdrrurrr�	configurePs.

zGroupCommand.configurecCs�|jj}|jj}|dkr"|j|�S|dkr4|j|�S|dkrF|j|�S|dkr�|j|�\}}|dkrn|j|�S|dkszt�|j	|�S|dk�r0|jj
r�t|jj
jdg�}nt|jj
j�}d|_y|jj|||jj
j�Stjjk
�r.}z6td	�}tj||jjjj|��tjjtd
���WYdd}~XnX|dk�rF|jj|�S|dk�r�x<|D]4}y|jj|g�Wntjjk
�r�YnX�qVWdS)Nrr
r
rrrrUTzNo package %s available.z)Unable to find a mandatory group package.r)rrrrirTrCrhrerdrcrZr[r&rQr\r"Zenv_group_install�strictrr(ZMarkingErrorrr@r
r?ZtermZboldZPackagesNotAvailableErrorZenv_group_upgradeZenv_group_remove�Error)rrvrgrrarOr)�argrrr�runosF









zGroupCommand.runcCsf|js
dS|jj}|jj}|j}x@|jjj�j�j|d�D]$}|j	j
|�}|j||j||��q:WdS)N)�name)
r"r&Z_goalr+Z
group_membersZsackZqueryr<ZfiltermZrpmZ
get_reasonZ
set_reasonZgroup_reason)rZgoalr+�namesZpkg�reasonrrr�run_transaction�szGroupCommand.run_transaction)rrr)rr)rr
r
rrrr)�__name__�
__module__�__qualname__�__doc__rr[�keys�aliasesrrrrfrrrr!r*r7r>rCrTrcrerhri�staticmethodrtrwr{r�
__classcell__rr)r$rr	$s8

h
/*r	)Z
__future__rrZ	dnf.compsrZdnf.clirZdnf.i18nrrZlibdnf.transactionr]rZdnf.exceptionsZdnf.utilZloggingZ	getLoggerr@ZCommandr	rrrr�<module>s
PK"�FZ�
'�		3cli/commands/__pycache__/clean.cpython-36.opt-1.pycnu�[���3

�ft`t�@s�ddlmZddlmZddlmZddlmZmZddlm	Z	ddlZ
ddlZ
ddlZ
ddl
Z
ddlZ
ddlZddlZddlZddlZejd�Zdd	d
gdgd	gd
gddd	gd�Zd
d�Zdd�Zdd�Zdd�ZGdd�dej�ZdS)�)�absolute_import)�unicode_literals)�commands)�_�P_)�miscN�dnf�metadata�dbcachezexpire-cache�packages)r	rr
zexpire-cache�allccsVxPtj|�D]B\}}}tjj||�}x(|D] }tjj||�}tjj|�Vq*WqWdS)z:Traverse dirpath recursively and yield relative filenames.N)�os�walk�path�relpath�join�normpath)�dirpath�root�dirs�files�base�fr�r�/usr/lib/python3.6/clean.py�_tree1s

rcs�fdd�|D�S)z5Yield those filenames that match any of the patterns.c3s(|] }�D]}tj||�r
|Vq
qdS)N)�re�match)�.0r�p)�patternsrr�	<genexpr><sz_filter.<locals>.<genexpr>r)rr r)r r�_filter:sr"cCsLd}xB|D]:}tjj||�}tjtjjtd�|�t	j
|�|d7}q
W|S)z(Remove the given filenames from dirpath.rzRemoving file %s�)r
rr�logger�logr�loggingZDDEBUGrrZunlink_f)rr�countrrrrr�_clean?s

r(cs0tjjd��fdd�|D�}tdd�|D��S)z:Return the repo IDs that have some cached metadata around.r	c3s|]}tj�|�VqdS)N)rr)rr)�metapatrrr!Msz _cached_repos.<locals>.<genexpr>css|]}|r|jd�VqdS)ZrepoidN)�group)r�mrrrr!Ns)r�repo�CACHE_FILES�set)rZmatchesr)r)r�
_cached_reposJsr/c@s0eZdZdZd	Zed�Zedd��Zdd�Z	dS)
�CleanCommandzSA class containing methods needed by the cli to execute the
    clean command.
    �cleanzremove cached datacCs|jddtj�td�d�dS)N�type�+zMetadata type to clean)�nargs�choices�help)�add_argument�_CACHE_TYPES�keysr)�parserrrr�
set_argparserYszCleanCommand.set_argparsercCsf|jjj}tjj|d�}tjj|d�}tjj|jjjd�}�x$y�|oJ|oJ|��t	dd�|j
jD��}tt
|��}tjtddj|���d|kr�t|�}|jjjj|�|jd�tjtd��dd	�|D�}t|t||��}	tjtd
d|	�|	�dSQRXWq>tjjk
�r\}
z:|jjj�sHtd�|
j}tj|�tj d
�n|
�WYdd}
~
Xq>Xq>WdS)NTcss |]}t|D]
}|VqqdS)N)r8)r�c�trrrr!gsz#CleanCommand.run.<locals>.<genexpr>zCleaning data: � zexpire-cachezCache was expiredcSsg|]}tjj|�qSr)rr,r-)rr=rrr�
<listcomp>qsz$CleanCommand.run.<locals>.<listcomp>z%d file removedz%d files removedz*Waiting for process with pid %d to finish.�)!rZconf�cachedirr�lockZbuild_metadata_lockZbuild_download_lockZbuild_rpmdb_lockZ
persistdirr.Zoptsr2�listrr$�debugrrr/Z_repo_persistorZexpired_to_add�update�remove�infor(r"r�
exceptionsZ	LockErrorZexit_on_lock�pid�timeZsleep)�selfrAZmd_lockZ
download_lockZ
rpmdb_lock�typesrZexpiredr r'�e�msgrrr�run_s2


zCleanCommand.runN)r1)
�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodr;rOrrrrr0Qs
r0)Z
__future__rrZdnf.clirZdnf.i18nrrZdnf.yumrrZdnf.exceptionsZdnf.lockZdnf.loggingZdnf.repor&r
rrJZ	getLoggerr$r8rr"r(r/ZCommandr0rrrr�<module>s0
	PK"�FZm��p��3cli/commands/__pycache__/shell.cpython-36.opt-1.pycnu�[���3

�ft`l&�@s�ddlmZddlmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZe	jd�Z
Gdd�de�ZGdd�dejej�ZdS)	�)�commands)�_�ucdN�dnfc@seZdZdZdZdZdZdS)�ShellDemandSheetTN)�__name__�
__module__�__qualname__Zavailable_reposZ	resolvingZ	root_userZsack_activation�r
r
�/usr/lib/python3.6/shell.pyr%src@s�eZdZd*Zed�jejjd�Z	dddddddd	d
dd�
Z
d
d�Zedd��Z
dd�Zdd�Zdd�Zdd�Zd+dd�Zd,dd�Zd-dd�Zd.d d!�Zd"d#�Zd/d$d%�Zd0d&d'�Zd1d(d)�ZdS)2�ShellCommand�shell�shzrun an interactive {prog} shell)�prog�repo�quitZts_run�transaction�config�resolve�help)
r�
repository�exitr�run�tsrr�
resolvedeprcCs$tjj||�tjj|�d|_dS)Nz> )r�Command�__init__�cmd�Cmd�prompt)�self�clir
r
rr=szShellCommand.__init__cCs*|jddtd�td�jtjjd�d�dS)N�script�?ZSCRIPTzScript to run in {prog} shell)r)�nargs�metavarr)�add_argumentr�formatr�util�MAIN_PROG_UPPER)�parserr
r
r�
set_argparserBszShellCommand.set_argparserc
Csr|jj}t�|j_xZt|�D]N}|jd�r,qyt|jj|�Wqtk
rht|jj|t||��YqXqWdS)N�__)r!�demandsr�dir�
startswith�getattr�AttributeError�setattr)r Zdefault_demands�attrr
r
r�	configureHs

zShellCommand.configurecCs$|jjr|j|jj�n|j�dS)N)�optsr"�_run_scriptZcmdloop)r r
r
rrUszShellCommand.runcCs |jj�d|j_|jj�dS)N)�baseZ_finalize_base�_transaction�	fill_sack)r r
r
r�_clean[s
zShellCommand._cleancCs`|s|dkrdS|dkrd}ytj|�}Wn|j�dS|jjjdd�|jjj|�}|jdkrldS|j|jkr�t	|d|j|j�|dd��n�|jj
j|j�}|dk	�rT||j�}y|jjj||�}Wnt
k
r�dSXy&tj|jj�|j_|j�|j�Wn@tjjk
�rP}ztjtd	�d
t|��dSd}~XnXn|j�dS)N�
ZEOFrF)Zreset_usager
r�zError:� )�shlex�split�_helpr!�	optparserrZparse_main_argsZcommand�MAPPINGr0Zcli_commands�getZparse_command_args�
SystemExit�copy�deepcopyr-r4rr�
exceptions�Error�logger�errorrr)r �lineZs_liner5Zcmd_clsr�er
r
r�onecmd`s<
$

zShellCommand.onecmdNc	Cs�dd�}|st|�dkr(|jd�dS|d}t|�dkrD|dnd}|jd�}|d	kr�|d|�}||dd�}|jjj|�}x|D]}||||�q�W|s�tjtd�|�n||||jj	�dS)
Nc
SsP|rt|||�n:ytdj|t|t|����Wntjtd��YnXdS)Nz{}: {}zUnsupported key value.)r2�printr'r0�strrI�warningr)�key�val�confr
r
r�print_or_set�sz*ShellCommand._config.<locals>.print_or_set�rrr<�.zCould not find repository: %s���)
�lenr@�findr7�repos�get_matchingrIrPrrS)	r �argsrTrQrRZperiodZ	repo_namerZrr
r
r�_config�s"	



zShellCommand._configcCs�t|t�rt|�dkr|dn|}d}|r�|dkrBtd�j|�}n�|dkrZtd�j|�}nv|dkrrtd	�j|�}n^|d
kr�td�j|�}nF|dkr�td�j|�}n.|dkr�td�j|�}n|dkr�td�j|�}|s�|jjj�td�}td|�dS)z�Output help information.

        :param args: the command to output help information about. If
           *args* is an empty, general help will be output.
        rNrz�{} arg [value]
  arg: debuglevel, errorlevel, obsoletes, gpgcheck, assumeyes, exclude,
        repo_id.gpgcheck, repo_id.exclude
    If no value is given it prints the current value.
    If value is given it sets that value.rz{} [command]
    print helprrz�{} arg [option]
  list: lists repositories and their status. option = [all | id | glob]
  enable: enable repositories. option = repository id
  disable: disable repositories. option = repository idrz"{}
    resolve the transaction setrrzy{} arg
  list: lists the contents of the transaction
  reset: reset (zero-out) the transaction
  run: run the transactionrz{}
    run the transactionrrz{}
    exit the shella�Shell specific arguments:

config                   set config options
help                     print help
repository (or repo)     enable, disable or list repositories
resolvedep               resolve the transaction set
transaction (or ts)      list, reset or run the transaction set
run                      resolve and run the transaction set
exit (or quit)           exit the shellr;)rr)rr)rr)	�
isinstance�listrXrr'r!rAZ
print_helprN)r r\�arg�msgr
r
rr@�s:"zShellCommand._helpcCs�|r|dnd}|d
kr6|jddj|dd���n�|dkr�|jjj}d}x\|dd�D]L}|j|�}|r~t||��d	}qZtjt	d
�dt	d�|jj
jj|��qZW|r�|jj
�d|j_n
|jd�dS)Nrr_z	repolist r=r<�enable�disableFTzError:zUnknown repo: '%s'r)r_N)rbrc)rM�joinr!r7rZr[r0rIZcriticalr�output�term�boldr9Z_compsr@)r r\rrZr9r�rr
r
r�_repo�s"



zShellCommand._repocCsLy|jjj|jjj�Wn.tjjk
rF}zt|�WYdd}~XnXdS)N)	r!r7rr-Z
allow_erasingrrGZ
DepsolveErrorrN)r r\rLr
r
r�_resolve�szShellCommand._resolvecCs�yDt|d��0}|j�}x |D]}|jd�s|j|�qWWdQRXWn:tk
r~tjtd�|jj	j
j|��tj
d�YnXdS)Nrh�#z!Error: Cannot open %s for readingr<)�open�	readlinesr/rM�IOErrorrI�inforr7rerfrg�sysr)r �file�fd�linesrKr
r
rr6�s

zShellCommand._run_scriptcCs�|r|dnd}|dkr$|j�dS|j�|d	krZ|jjr�|jjj|jj�}tj|�nz|dkr�y|jj�Wn@t	j
jk
r�}z tjt
d�dt|��WYdd}~XnXtjt
d��|j�n
|jd�dS)
Nr�resetr_rzError:r=z	Complete!r)r_N)r:rjr7r8reZlist_transactionrIroZdo_transactionrrGrHrJrrr@)r r\r�outrLr
r
rr8	s",
zShellCommand._transactioncCs|jdg�dS)Nr)r8)r r\r
r
r�_ts_run"szShellCommand._ts_runcCstjtd��tjd�dS)Nz
Leaving Shellr)rIrorrpr)r r\r
r
r�_quit%szShellCommand._quit)r
r)N)N)N)N)N)N)N)rrr	�aliasesrr'rr(r)ZsummaryrBr�staticmethodr+r4rr:rMr]r@rirjr6r8rvrwr
r
r
rr,s4
&

;



r)Zdnf.clirZdnf.i18nrrZdnf.utilrrrEZloggingr>rpZ	getLoggerrI�objectrrrrr
r
r
r�<module>s
PK"�FZQx�__,cli/commands/__pycache__/swap.cpython-36.pycnu�[���3

�ft`s	�@s`ddlmZddlmZddlmZddlmZddlZddl	Z	e	j
d�ZGdd�dej�Z
dS)	�)�absolute_import)�unicode_literals)�_)�commandsN�dnfc@sLeZdZdZdZed�jejj	d�Z
edd��Zdd�Z
d	d
�Zdd�Zd
S)�SwapCommandzNA class containing methods needed by the cli to execute the swap command.
    �swapz=run an interactive {prog} mod for remove and install one spec)�progcCs,|jddtd�d�|jddtd�d�dS)N�remove_specZstorezThe specs that will be removed)�action�help�install_specz The specs that will be installed)�add_argumentr)�parser�r�/usr/lib/python3.6/swap.py�
set_argparser&s
zSwapCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�tj	|j|j
jg�dS)NT)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�baseZ_checkEnabledRepo�optsr
)�selfrrrr�	configure,szSwapCommand.configurecCs@|jjj|�}|dk	r<||j�}|jjj|||g�|j�dS)N)rZcli_commands�getZ	optparserZparse_command_args�run)rZcmd_str�specZcmd_cls�cmdrrr�_perform5s

zSwapCommand._performcCs$|jd|jj�|jd|jj�dS)N�removeZinstall)rrr
r
)rrrrr<szSwapCommand.runN)r)�__name__�
__module__�__qualname__�__doc__�aliasesr�formatr�utilZMAIN_PROG_UPPERZsummary�staticmethodrrrrrrrrrs	r)Z
__future__rrZdnf.i18nrZdnf.clirZdnf.utilrZloggingZ	getLoggerZloggerZCommandrrrrr�<module>s
PK"�FZm��p��-cli/commands/__pycache__/shell.cpython-36.pycnu�[���3

�ft`l&�@s�ddlmZddlmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZe	jd�Z
Gdd�de�ZGdd�dejej�ZdS)	�)�commands)�_�ucdN�dnfc@seZdZdZdZdZdZdS)�ShellDemandSheetTN)�__name__�
__module__�__qualname__Zavailable_reposZ	resolvingZ	root_userZsack_activation�r
r
�/usr/lib/python3.6/shell.pyr%src@s�eZdZd*Zed�jejjd�Z	dddddddd	d
dd�
Z
d
d�Zedd��Z
dd�Zdd�Zdd�Zdd�Zd+dd�Zd,dd�Zd-dd�Zd.d d!�Zd"d#�Zd/d$d%�Zd0d&d'�Zd1d(d)�ZdS)2�ShellCommand�shell�shzrun an interactive {prog} shell)�prog�repo�quitZts_run�transaction�config�resolve�help)
r�
repository�exitr�run�tsrr�
resolvedeprcCs$tjj||�tjj|�d|_dS)Nz> )r�Command�__init__�cmd�Cmd�prompt)�self�clir
r
rr=szShellCommand.__init__cCs*|jddtd�td�jtjjd�d�dS)N�script�?ZSCRIPTzScript to run in {prog} shell)r)�nargs�metavarr)�add_argumentr�formatr�util�MAIN_PROG_UPPER)�parserr
r
r�
set_argparserBszShellCommand.set_argparserc
Csr|jj}t�|j_xZt|�D]N}|jd�r,qyt|jj|�Wqtk
rht|jj|t||��YqXqWdS)N�__)r!�demandsr�dir�
startswith�getattr�AttributeError�setattr)r Zdefault_demands�attrr
r
r�	configureHs

zShellCommand.configurecCs$|jjr|j|jj�n|j�dS)N)�optsr"�_run_scriptZcmdloop)r r
r
rrUszShellCommand.runcCs |jj�d|j_|jj�dS)N)�baseZ_finalize_base�_transaction�	fill_sack)r r
r
r�_clean[s
zShellCommand._cleancCs`|s|dkrdS|dkrd}ytj|�}Wn|j�dS|jjjdd�|jjj|�}|jdkrldS|j|jkr�t	|d|j|j�|dd��n�|jj
j|j�}|dk	�rT||j�}y|jjj||�}Wnt
k
r�dSXy&tj|jj�|j_|j�|j�Wn@tjjk
�rP}ztjtd	�d
t|��dSd}~XnXn|j�dS)N�
ZEOFrF)Zreset_usager
r�zError:� )�shlex�split�_helpr!�	optparserrZparse_main_argsZcommand�MAPPINGr0Zcli_commands�getZparse_command_args�
SystemExit�copy�deepcopyr-r4rr�
exceptions�Error�logger�errorrr)r �lineZs_liner5Zcmd_clsr�er
r
r�onecmd`s<
$

zShellCommand.onecmdNc	Cs�dd�}|st|�dkr(|jd�dS|d}t|�dkrD|dnd}|jd�}|d	kr�|d|�}||dd�}|jjj|�}x|D]}||||�q�W|s�tjtd�|�n||||jj	�dS)
Nc
SsP|rt|||�n:ytdj|t|t|����Wntjtd��YnXdS)Nz{}: {}zUnsupported key value.)r2�printr'r0�strrI�warningr)�key�val�confr
r
r�print_or_set�sz*ShellCommand._config.<locals>.print_or_set�rrr<�.zCould not find repository: %s���)
�lenr@�findr7�repos�get_matchingrIrPrrS)	r �argsrTrQrRZperiodZ	repo_namerZrr
r
r�_config�s"	



zShellCommand._configcCs�t|t�rt|�dkr|dn|}d}|r�|dkrBtd�j|�}n�|dkrZtd�j|�}nv|dkrrtd	�j|�}n^|d
kr�td�j|�}nF|dkr�td�j|�}n.|dkr�td�j|�}n|dkr�td�j|�}|s�|jjj�td�}td|�dS)z�Output help information.

        :param args: the command to output help information about. If
           *args* is an empty, general help will be output.
        rNrz�{} arg [value]
  arg: debuglevel, errorlevel, obsoletes, gpgcheck, assumeyes, exclude,
        repo_id.gpgcheck, repo_id.exclude
    If no value is given it prints the current value.
    If value is given it sets that value.rz{} [command]
    print helprrz�{} arg [option]
  list: lists repositories and their status. option = [all | id | glob]
  enable: enable repositories. option = repository id
  disable: disable repositories. option = repository idrz"{}
    resolve the transaction setrrzy{} arg
  list: lists the contents of the transaction
  reset: reset (zero-out) the transaction
  run: run the transactionrz{}
    run the transactionrrz{}
    exit the shella�Shell specific arguments:

config                   set config options
help                     print help
repository (or repo)     enable, disable or list repositories
resolvedep               resolve the transaction set
transaction (or ts)      list, reset or run the transaction set
run                      resolve and run the transaction set
exit (or quit)           exit the shellr;)rr)rr)rr)	�
isinstance�listrXrr'r!rAZ
print_helprN)r r\�arg�msgr
r
rr@�s:"zShellCommand._helpcCs�|r|dnd}|d
kr6|jddj|dd���n�|dkr�|jjj}d}x\|dd�D]L}|j|�}|r~t||��d	}qZtjt	d
�dt	d�|jj
jj|��qZW|r�|jj
�d|j_n
|jd�dS)Nrr_z	repolist r=r<�enable�disableFTzError:zUnknown repo: '%s'r)r_N)rbrc)rM�joinr!r7rZr[r0rIZcriticalr�output�term�boldr9Z_compsr@)r r\rrZr9r�rr
r
r�_repo�s"



zShellCommand._repocCsLy|jjj|jjj�Wn.tjjk
rF}zt|�WYdd}~XnXdS)N)	r!r7rr-Z
allow_erasingrrGZ
DepsolveErrorrN)r r\rLr
r
r�_resolve�szShellCommand._resolvecCs�yDt|d��0}|j�}x |D]}|jd�s|j|�qWWdQRXWn:tk
r~tjtd�|jj	j
j|��tj
d�YnXdS)Nrh�#z!Error: Cannot open %s for readingr<)�open�	readlinesr/rM�IOErrorrI�inforr7rerfrg�sysr)r �file�fd�linesrKr
r
rr6�s

zShellCommand._run_scriptcCs�|r|dnd}|dkr$|j�dS|j�|d	krZ|jjr�|jjj|jj�}tj|�nz|dkr�y|jj�Wn@t	j
jk
r�}z tjt
d�dt|��WYdd}~XnXtjt
d��|j�n
|jd�dS)
Nr�resetr_rzError:r=z	Complete!r)r_N)r:rjr7r8reZlist_transactionrIroZdo_transactionrrGrHrJrrr@)r r\r�outrLr
r
rr8	s",
zShellCommand._transactioncCs|jdg�dS)Nr)r8)r r\r
r
r�_ts_run"szShellCommand._ts_runcCstjtd��tjd�dS)Nz
Leaving Shellr)rIrorrpr)r r\r
r
r�_quit%szShellCommand._quit)r
r)N)N)N)N)N)N)N)rrr	�aliasesrr'rr(r)ZsummaryrBr�staticmethodr+r4rr:rMr]r@rirjr6r8rvrwr
r
r
rr,s4
&

;



r)Zdnf.clirZdnf.i18nrrZdnf.utilrrrEZloggingr>rpZ	getLoggerrI�objectrrrrr
r
r
r�<module>s
PK"�FZ�&�yy5cli/commands/__pycache__/deplist.cpython-36.opt-1.pycnu�[���3

�ft`��@sPddlmZddlmZddlmZddlmZddlmZGdd�de�ZdS)	�)�print_function)�absolute_import)�unicode_literals)�_)�RepoQueryCommandc@s$eZdZdZdZed�Zdd�ZdS)�DeplistCommandz<
    The command is alias for 'dnf repoquery --deplist'
    �deplistz`[deprecated, use repoquery --deplist] List package's dependencies and what packages provide themcCstj|�d|j_dS)NT)r�	configureZoptsr)�self�r�/usr/lib/python3.6/deplist.pyr	"s
zDeplistCommand.configureN)r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr	rrrrrsrN)	Z
__future__rrrZdnf.i18nrZdnf.cli.commands.repoqueryrrrrrr�<module>s
PK"�FZ��EyOO6cli/commands/__pycache__/upgrademinimal.cpython-36.pycnu�[���3

�ft`�@sDddlmZddlmZddlmZddlmZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�_)�UpgradeCommandc@s$eZdZdZd	Zed�Zdd�ZdS)
�UpgradeMinimalCommandzSA class containing methods needed by the cli to execute the check
    command.
    �upgrade-minimal�update-minimal�up-minzWupgrade, but only 'newest' package match which fixes a problem that affects your systemc	CsRtj|�d|_t|jj|jj|jj|jj|jj	|jj
|jj|jjg�sNd|_
dS)NT)r�	configureZupgrade_minimal�anyZoptsZbugfixZenhancementZ
newpackageZsecurityZadvisoryZbugzillaZcvesZseverityZall_security)�self�r
�$/usr/lib/python3.6/upgrademinimal.pyr
"s
zUpgradeMinimalCommand.configureN)rrr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr
r
r
r
rrsrN)Z
__future__rrZdnf.i18nrZdnf.cli.commands.upgraderrr
r
r
r�<module>sPK"�FZ������/cli/commands/__pycache__/install.cpython-36.pycnu�[���3

�ft`S�@s�ddlmZddlmZddlZddlmZddlZddlZddl	m
Z
ddlmZddl
mZejd�ZGd	d
�d
e
j�ZdS)�)�absolute_import)�unicode_literalsN)�chain)�commands)�OptionParser)�_�dnfc@s�eZdZdZejejejd�ZdZ	de
ej��Ze
d�Zedd	��Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�InstallCommandzUA class containing methods needed by the cli to execute the
    install command.
    )z	install-nz
install-naz
install-nevrazalternative-for({})�install�localinstall�inz,install a package or packages on your systemcCs"|jddtd�tjtd�d�dS)N�package�+ZPACKAGEzPackage to install)�nargs�metavar�action�help)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/install.py�
set_argparser1szInstallCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)z�Verify that conditions are met so that this command can run.
        That there are enabled repositories with gpg keys, and that
        this command is called with appropriate arguments.
        TN)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure7szInstallCommand.configurec
CsPg}g}g}|j�}|jj|j�|jjdkrf|jjs>|jjrf|j|jj�|jj	j
rftjj
td���g}|jjo||jjdk�rTtjj�rLy,tjjj|j�}|j|jj|jj	j
d�Wn�tjjk
�rH}zp|jr�x|jD]}|j|�q�W|j�rx|jD]}|jd|�q�W|j}	|	�r8tjtjjj|	d��WYdd}~XnXn|jj}|jj�r�|�r�|j|jj�|jj	j
�r�tjj
td���n|j�}|�r�|�r�|j|�|jj	j
�r�tjj
td���n|�r�|jjdk�r�|j|�|jjdk�r|j |�}t!|�dk�s$t!|�dk�s$|�rL|jj	j
�rLtjj"td�dj#|�|d��dS)	NrzNothing to do.)�strict�@rzUnable to find a match� )�pkg_specZpackages)$�_get_nevra_forms_from_commandrZ _populate_update_security_filterr�command�	grp_specs�	pkg_specs�_log_not_valid_rpm_file_pathsr�confrr�
exceptions�ErrorrZWITH_MODULES�module�module_baseZ
ModuleBaser
Z
MarkingErrorsZno_match_group_specs�appendZerror_group_specs�module_depsolv_errors�logger�errorZformat_modular_solver_errorsr�_inform_not_a_valid_combination�_install_files�_install_groups�_install_packages�lenZPackagesNotAvailableError�join)
r�err_pkgs�errsZerror_module_specs�nevra_formsZskipped_grp_specsr,�eZe_specr.rrr�runEsX

 


.zInstallCommand.runcCs&|jj|jkr|j|jjgSgSdS)N)rr$r9)rrrrr#zsz,InstallCommand._get_nevra_forms_from_commandcCsJtdd�|�}x6t|jj|�D]$}td�}tj||jjj	j
|��qWdS)NcSsd|S)Nr r)�grrr�<lambda>�sz>InstallCommand._log_not_valid_rpm_file_paths.<locals>.<lambda>zNot a valid rpm file path: %s)�maprrr&rr/�infor�output�term�bold)rr%Zgroup_names�pkg�msgrrrr'�sz,InstallCommand._log_not_valid_rpm_file_pathscCs2x,|D]$}td�}tj||jjjj|��qWdS)NzNot a valid form: %s)rr/Zwarningrr@rArB)r�formsZformrDrrrr1�s
z.InstallCommand._inform_not_a_valid_combinationcCs�g}|jjj}x~|jj|jj||jjjd�D]^}y|jj||d�Wq,t	j
jk
r�td�}t
j||jjjj|j��|j|�Yq,Xq,W|S)N)r�progress)rzNo match for argument: %s)rr(rZadd_remote_rpmsrrr@rFZpackage_installrr)�MarkingErrorrr/r?rArB�locationr-)rr7rrCrDrrrr2�s
zInstallCommand._install_filescCsPy&|jj|t|jjj�|jjjd�Wn$tjjk
rJ|jjjrF�YnXdS)N)r)	rZenv_group_install�tupler(Zgroup_package_typesrrr)r*)rr%rrrr3�s
zInstallCommand._install_groupscCsV|jjj�j|jj|�d�}|rRtd�}tj|j|dj	t
tdd�|D������dS)N)Zprovidesz/There are following alternatives for "{0}": {1}z, cSsg|]
}|j�qSr)�name)�.0Zaltrrr�
<listcomp>�sz7InstallCommand._report_alternatives.<locals>.<listcomp>)rZsack�queryZfilterm�alternatives_provide�formatrr/r?r6�sorted�set)rr"rMrDrrr�_report_alternatives�sz#InstallCommand._report_alternativescCs�g}|jjj}x�|jjD]�}y|jj|||d�Wqtjjk
r�}zJdj	|j
|jjjj
|��}tj|�|jj|�|j|�|j|�WYdd}~XqXqW|S)N)rrEz{}: {})rr(rrr&r
rr)rGrO�valuer@rArBr/r?Z_report_icase_hintrRr-)rr9r8rr"r:rDrrrr4�s


 z InstallCommand._install_packagesN)r
rr)�__name__�
__module__�__qualname__�__doc__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr9rNrI�keys�aliasesrZsummary�staticmethodrrr;r#r'r1r2r3rRr4rrrrr	%s"
5		r	)Z
__future__rrZlogging�	itertoolsrrXZdnf.exceptionsrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZ	getLoggerr/ZCommandr	rrrr�<module>s
PK"�FZ(uu���2cli/commands/__pycache__/distrosync.cpython-36.pycnu�[���3

�ft`��@s:ddlmZddlmZddlmZGdd�dej�ZdS)�)�absolute_import)�commands)�_c@s8eZdZdZdZed�Zedd��Zd	d
�Z	dd�Z
d
S)�DistroSyncCommandzZA class containing methods needed by the cli to execute the
    distro-synch command.
    �distro-sync�
distrosync�distribution-synchronization�dsyncz?synchronize installed packages to the latest available versionscCs|jddtd�d�dS)N�package�*zPackage to synchronize)�nargs�help)�add_argumentr)�parser�r� /usr/lib/python3.6/distrosync.py�
set_argparser"szDistroSyncCommand.set_argparsercCsF|jj}d|_d|_d|_d|_tj|j|j�tj	|j|j
j�dS)NT)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�baseZ_checkEnabledRepo�optsr
)�selfrrrr�	configure&szDistroSyncCommand.configurecCs|jj|jj�S)N)rZdistro_sync_userlistrr
)rrrr�run/szDistroSyncCommand.runN)rrrr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrrrrrrrs	rN)Z
__future__rZdnf.clirZdnf.i18nrZCommandrrrrr�<module>sPK"�FZ���֍(�(3cli/commands/__pycache__/group.cpython-36.opt-1.pycnu�[���3

i�-e�:�@s�ddlmZddlmZddlmZddlmZddlmZm	Z	ddl
ZddlZddl
ZddlZddlZejd�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�
CompsQuery)�commands)�_�ucdN�dnfcs�eZdZdZddddddd�Zd-eej��Zed
�Z	ddd�Z
d.Zd/Zdd�Z
�fdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zed%d&��Zd'd(�Zd)d*�Zd+d,�Z�ZS)0�GroupCommandz; Single sub-command interface for most groups interaction. �list�install�remove�info)Z	grouplistZgroupinstallZgroupupdateZgroupremoveZ
grouperaseZ	groupinfo�group�groups�grpz'display, or use, the groups information�upgrade)�updateZerase�summary�markcCsn|jj|jj�}|r<|jjdk	r4|jjjd|jj�||j_|jjdkrPd|j_|jj|jj|jj�|j_dS)Nrr)�direct_commands�get�optsZcommand�subcmd�args�insert�_CMD_ALIASES)�selfZdirect�r�/usr/lib/python3.6/group.py�
_canonical6szGroupCommand._canonicalcstt|�j|�d|_dS)NF)�superr	�__init__�_remark)r�cli)�	__class__rrr!CszGroupCommand.__init__cCs$td�}t|jj�s tjj|��dS)Nz4No group data available for configured repositories.)r�len�base�compsr�
exceptionsZ
CompsError)r�msgrrr�
_assert_compsGszGroupCommand._assert_compscsT�fdd�}�j�|dkr(�jjj}n�jjjdj|��}tjjt	tjj
||��S)Ncs�jjjj|j�}|S)N)r&�history�envr�id)r,Z	env_found)rrr�available_predMsz7GroupCommand._environment_lists.<locals>.available_pred�,)r*r&r'�environments�environments_by_pattern�joinr�utilZmapallr
�	partition)r�patternsr.�envsr)rr�_environment_listsLszGroupCommand._environment_listsc	s��fdd�}g}g}�j�|dkr0�jjj}n�jjjdj|��}x2|D]*}|}||�r^|}|sj|jrJ|j|�qJW||fS)Ncs�jjjj|j�}|rdSdS)NTF)r&r+rrr-)rZgroup_found)rrr�installed_predZsz1GroupCommand._group_lists.<locals>.installed_predr/)r*r&r'r�groups_by_patternr2�uservisible�append)	rr:r5r8�	installed�	availableZgrpsrZtgt_listr)rr�_group_listsYs
zGroupCommand._group_listscCs~xt|D]l}d}x&|jjj|�D]}|jj|�d}qWx&|jjj|�D]}|jj|�d}qFW|stjt	d�|�qWdgfS)NFTz!Warning: Group %s does not exist.r)
r&r'r1�outputZdisplay_groups_in_environmentr9Zdisplay_pkgs_in_groups�logger�errorr)r�userlistZstrngZ
group_matchedr,rrrr�_infoqs
zGroupCommand._infocs�d}d}d}|jjjp|jj�xz|r�|ddkr@d}|jd�q |ddkr\d}|jd�q |ddkrxd}|jd�q |ddkr�d�|jd�q Pq W|jjr�d}|jjr�d}|jjr�d}|s�d}d}|dk	�r@x\|D]T}|jj	}t
|j|��dk}t
|j|��dk}	|r�|	r�t
jtd	�d
|�d}q�W|�r@dgfS|j|�\}
}|j||�\}}
��fdd�}�fd
d�}|�s�|td�|�|�s�|td�|
�|�s
d�x,|D]$}|j�r��q�|td�|�d��q�Wd�x,|D]$}|j�s�q�|td�|�d��q�W|�rdgfSd�x,|
D]$}|j�r2�q"|td�|�d��q"Wd�x,|
D]$}|j�sd�qT|td�|�d��qTWdgfS)N�r�hiddenr<r=�idsTFzWarning: No groups match:z
   %scs`�st|�d|jdk	r|jntd�}�r:|d|j7}|jrN|d|j7}tdj|��dS)Nz   %sz<name-unset>z (%s)z [%s]z{})�print�ui_namerr-�	lang_only�format)�sectrr))�done�	print_idsrr�_out_grp�sz$GroupCommand._list.<locals>._out_grpcsT|rt|�xB|D]:}d|jdk	r(|jntd�}�rD|d|j7}t|�qWdS)Nz   %sz<name-unset>z (%s))rGrHrr-)rKr6�er))rMrr�_out_env�s
z$GroupCommand._list.<locals>._out_envzAvailable Environment Groups:zInstalled Environment Groups:zInstalled Groups:zInstalled Language Groups:zAvailable Groups:zAvailable Language Groups:)r&�conf�verboserrF�poprEr<r=r'r%r9r1r@rArr7r>rI)rrBr:Z
showinstalledZ
showavailableZerrsrr'Zin_groupZin_environmentZenv_instZ	env_availr<r=rNrPr)rLrMr�_list�s�


	







zGroupCommand._listc	Cs�t|jj|jjtjtjBtjtjB�}|jj�}|j	|�}|j
jrXt|jj
jdg�}nt|jj
j�}tjj|�}x|jD]}|j||�qzWx|jD]}|j||�q�WdS)N�optional)rr&r'r+�GROUPS�ENVIRONMENTSZ	AVAILABLE�	INSTALLED�_build_comps_solverrr�
with_optional�tuplerQ�group_package_types�libdnfZtransactionZlistToCompsPackageTyper0Z_environment_installrZ_group_install)	rr5�q�solver�res�typesZ	pkg_types�env_idZgroup_idrrr�
_mark_install�s


zGroupCommand._mark_installcCslt|jj|jjtjtjBtj�}|jj�}|j|�}x|j	D]}|j
|�q<Wx|jD]}|j|�qVWdS)N)
rr&r'r+rVrWrXrYrr0Z_environment_removerZ
_group_remove)rr5r^r_r`rbZgrp_idrrr�_mark_remove�s


zGroupCommand._mark_removecCs*|d|jkr"|d|dd�fSd|fS)NrrDr)�
_MARK_CMDS)r�extcmdsrrr�_mark_subcmdszGroupCommand._mark_subcmdcCs d}t|�dkr*|ddkr*d}|jd�|jjr6d}|s>d}|j||�\}}dd�}d}x|D]}|jrlq`|d7}q`W|td�|�d}x|D]}|js�q�|d7}q�W|td�|�d}x|D]}|jr�q�|d7}q�W|td	�|�d}x|D]}|j�s�q�|d7}q�W|td
�|�dgfS)NrDrrEcSs|sdStjd||�dS)Nz%s %u)r@r
)rKZnumrrrrNsz'GroupCommand._summary.<locals>._out_grpzInstalled Groups:zInstalled Language Groups:FzAvailable Groups:zAvailable Language Groups:)r%rSrrEr>rIr)rrBr:r<r=rNrLrrrr�_summary
sH




zGroupCommand._summaryc
Cs�|jddtd�d�|j�}|jddtd�d�|jddtd�d�|jd	dtd
�d�|jddtd�d�|jd
ddtd�jtjddjtjdd���d�|jdddtd�d�dS)Nz--with-optional�
store_truez$include optional packages from group)�action�helpz--hiddenzshow also hidden groupsz--installedzshow only installed groupsz--availablezshow only available groupsz--idszshow also ID of groupsr�?ZCOMMANDz'available subcommands: {} (default), {}rz, rD)�nargs�metavarrkr�*ZCOMMAND_ARGzargument for group subcommand)�add_argumentrZadd_mutually_exclusive_grouprJr	�_GROUP_SUBCOMMANDSr2)�parserZ	grpparserrrr�
set_argparser<s"

zGroupCommand.set_argparsercCs�|j�|jj}|jj}||jkrBtjtd�dj|j��t	j
j�|d
krf|rf|j
jj
|�t	j
j�|j
j}d|_|dkr�d|_d|_|dkr�d|_d	|_nd|_|dkr�tj|j�|dkr�tj|j|j
�dS)
Nz$Invalid groups sub-command, use: %s.z, rrrr
TrF)rrrr
)rrrr)rr)rrrrrqr@Zcriticalrr2rr#ZCliErrorZ	optparserZ
print_help�demandsZsack_activationZ	root_userZ	resolvingZ
allow_erasingZavailable_reposrZ_checkEnabledRepor&Z_checkGPGKey)r�cmdrrtrrr�	configurePs.

zGroupCommand.configurecCs�|jj}|jj}|dkr"|j|�S|dkr4|j|�S|dkrF|j|�S|dkrx|j|�\}}|dkrn|j|�S|j|�S|dk�r$|jj	r�t
|jjj
dg�}nt
|jjj
�}d|_y|jj|||jjj�Stjjk
�r"}z6td	�}tj||jjjj|��tjjtd
���WYdd}~XnX|dk�r:|jj|�S|dk�r�x<|D]4}y|jj|g�Wntjjk
�rzYnX�qJWdS)Nrr
r
rrrrUTzNo package %s available.z)Unable to find a mandatory group package.r)rrrrhrTrCrgrdrcrZr[r&rQr\r"Zenv_group_install�strictrr(ZMarkingErrorrr@r
r?ZtermZboldZPackagesNotAvailableErrorZenv_group_upgradeZenv_group_remove�Error)rrurfrrarOr)�argrrr�runosD









zGroupCommand.runcCsf|js
dS|jj}|jj}|j}x@|jjj�j�j|d�D]$}|j	j
|�}|j||j||��q:WdS)N)�name)
r"r&Z_goalr+Z
group_membersZsackZqueryr<ZfiltermZrpmZ
get_reasonZ
set_reasonZgroup_reason)rZgoalr+�namesZpkg�reasonrrr�run_transaction�szGroupCommand.run_transaction)rrr)rr)rr
r
rrrr)�__name__�
__module__�__qualname__�__doc__rr[�keys�aliasesrrrrerqrr!r*r7r>rCrTrcrdrgrh�staticmethodrsrvrzr~�
__classcell__rr)r$rr	$s8

h
/*r	)Z
__future__rrZ	dnf.compsrZdnf.clirZdnf.i18nrrZlibdnf.transactionr]rZdnf.exceptionsZdnf.utilZloggingZ	getLoggerr@ZCommandr	rrrr�<module>s
PK"�FZj�X��3cli/commands/__pycache__/check.cpython-36.opt-1.pycnu�[���3

�ft`?�@sVddlmZddlmZddlmZddlmZddlZddlZ	Gdd�dej
�ZdS)�)�absolute_import)�unicode_literals)�_)�commandsNc@s8eZdZdZdZed�Zedd��Zdd�Z	dd	�Z
d
S)�CheckCommandzSA class containing methods needed by the cli to execute the check
    command.
    �checkz#check for problems in the packagedbc	Cs�|jddddtd�d�|jddddtd	�d�|jd
dddtd�d�|jd
dddtd�d�|jddddtd�d�|jdddddddggtjd�dS)Nz--all�check_typesZappend_const�allzshow all problems; default)�dest�action�const�helpz--dependencies�dependencieszshow dependency problemsz--duplicates�
duplicateszshow duplicate problemsz--obsoleted�	obsoletedzshow obsoleted packagesz
--provides�provideszshow problems with provides�check_yum_types�*)�nargs�choicesr
)�add_argumentr�argparseZSUPPRESS)�parser�r�/usr/lib/python3.6/check.py�
set_argparser$s$zCheckCommand.set_argparsercCsxd|jj_|jjr<|jjr0|jj|jj|j_n|jj|j_|jjsPdh|j_nt|jj�|j_|jjj	dg7_	dS)NTr	)
ZcliZdemandsZsack_activation�optsrr�set�base�confZdisable_excludes)�selfrrr�	configure;s
zCheckCommand.configurec	Cs�t�}|jjj�j�}|jjjddh��r�d}�x||D�]r}x�t|j�tt|j	�t|j
��BD]�}t|�jd�rtq`t
|j|gd��s`t|�jd�r�|dkr�tjj|j�}tjj|�}|jt|�d�tjj|�}|jjj|_|j|dd�|j�}|r�q`td�}	|j|	j|jjjj|�|jjjj|���q`Wxx|jD]n}
|j|
gt|
�j �d	d
�}xJ|D]B}d}	|j|	j|jjjj|�|jjjj|
�|jjjj|����q^W�q8Wq6W|jjjddh��rN|jj!|�}
|j"�j#|
�j$�}xl|j%�D]`\}}|j&�xL|d
d�D]<}td�j|jjjj|d	�|jjjj|��}	|j|	��qW�q�W|jjjddh��r�x||D]t}xl|j'D]b}|j|gt|�j �d	d
�}t
|��rttd�j|jjjj|d	�|jjjj|��}	|j|	��qtW�qhW|jjjddh��r\xf|D]^}xV|j(D]L}||j|gd�k�rtd�}	|j|	j|jjjj|�|jjjj|����qW�q�Wxt)|�D]}	t*|	��qfW|�r�tj+j,djt
|����dS)Nr	rZrpmlib)r�(F)ZselectZoptionalz{} has missing requires of {}r)r�namez"{} has installed conflict "{}": {}r�z{} is a duplicate with {}rz{} is obsoleted by {}rz%{} provides {} but it cannot be foundzCheck discovered {} problem(s))-rr�sackZqueryZ	installedrr�intersectionZregular_requiresZrequires_preZprereq_ignoreinst�str�
startswith�len�filter�dnfZ
rpmdb_sack�selectorZSelector�goalZGoalrZprotect_running_kernelZinstall�runr�add�format�outputZtermZboldZ	conflicts�splitZ_get_installonly_queryZ
duplicated�
differenceZ
_name_dict�items�sortZ	obsoletesr�sorted�print�
exceptions�Error)r Z
output_set�qr%ZpkgZrequirer,r-Zsolved�msgZconflictZ
conflictedZconflict_pkgZinstallonlyZdupsr#Zpkgs�dupZobsoleterZproviderrrr.Is�(
$


 zCheckCommand.runN)r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrr!r.rrrrrsr)Z
__future__rrZdnf.i18nrZdnf.clirrZdnf.exceptionsr+ZCommandrrrrr�<module>sPK"�FZa�0gg6cli/commands/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`{}�@sdZddlmZddlmZddlmZddlmZddlZ	ddl
Z	ddlZ	ddlZ	ddl
Z
ddlZe
jd�Zed�d	Zed
�dZed�Zd
d�Zffdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)z<
Classes for subcommands of the yum command line interface.
�)�print_function)�unicode_literals)�OptionParser)�_N�dnfz+To diagnose the problem, try running: '%s'.zrpm -Va --nofiles --nodigestzDYou probably have corrupted RPMDB, running '%s' might fix the issue.zrpm --rebuilddbaYou have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
    rpm --import public.gpg.key


Alternatively you can specify the url to the key you would like to use
for a repository in the 'gpgkey' option in a repository section and {prog}
will install it for you.

For more information contact your distribution or package provider.cCsp|jjsdS|j�slxV|jj�D]H}|js0|jr |jr tjdt	j
tjj
d��tjtd�|�tjj�q WdS)z�Verify that there are gpg keys for the enabled repositories in the
    rpm database.

    :param base: a :class:`dnf.Base` object.
    :raises: :class:`cli.CliError`
    Nz
%s
)�progzProblem repository: %s)�confZgpgcheckZ_gpg_key_check�reposZiter_enabledZ
repo_gpgcheckZgpgkey�loggerZcritical�gpg_msg�formatr�util�MAIN_PROG_UPPERr�cli�CliError)�baser�repo�r�/usr/lib/python3.6/__init__.py�_checkGPGKey:srcCs||jj�rdSxD|D]<}|jd�r2tjj|�r2dStjjj|�d}|d
krdSqWt	d�j
d	j|jj
��}tjj|��dS)z�Verify that there is at least one enabled repo.

    :param base: a :class:`dnf.Base` object.
    :param possible_local_files: the list of strings that could be a local rpms
    :raises: :class:`cli.CliError`:
    Nz.rpmr�http�ftp�file�httpsz*There are no enabled repositories in "{}".z", ")rrrr)r	Z_any_enabled�endswith�os�path�existsrZpycompZurlparserr�joinrZreposdirrr)rZpossible_local_filesZlfile�scheme�msgrrr�_checkEnabledRepoKs

r!c@s�eZdZdZgZdZdZdd�Zedd��Z	edd	��Z
ed
d��Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�Commandz%Abstract base class for CLI commands.�NcCs
||_dS)N)r)�selfrrrr�__init__fszCommand.__init__cCs|jjS)N)rr)r$rrrrjszCommand.basecCs
|jdS)Nr)�aliases)r$rrr�_basecmdoszCommand._basecmdcCs
|jjjS)N)rr�output)r$rrrr(sszCommand.outputcCsdS)z4Define command specific options and arguments. #:apiNr)r$�parserrrr�
set_argparserwszCommand.set_argparsercCsdS)z*Do any command-specific pre-configuration.Nr)r$rrr�
pre_configure{szCommand.pre_configurecCsdS)z&Do any command-specific configuration.Nr)r$rrr�	configure�szCommand.configurecCs&t|tjj�rttfStd|��dS)z.Get suggestions for resolving the given error.zerror not supported yet: %sN)�
isinstancer�
exceptionsZTransactionCheckError�_RPM_VERIFY�_RPM_REBUILDDB�NotImplementedError)r$�errorrrr�get_error_output�szCommand.get_error_outputcCsdS)zExecute the command.Nr)r$rrr�run�szCommand.runcCsdS)z$Finalize operation after resolvementNr)r$rrr�run_resolved�szCommand.run_resolvedcCsdS)z%Finalize operations post-transaction.Nr)r$rrr�run_transaction�szCommand.run_transaction)�__name__�
__module__�__qualname__�__doc__r&�summary�optsr%�propertyrr'r(r*r+r,r3r4r5r6rrrrr"_sr"c	@sReZdZdZdZed�ZdZddddd	d
ddeh	Ze	d
d��Z
dd�Zdd�ZdS)�InfoCommandzRA class containing methods needed by the cli to execute the
    info command.
    �infoz4display details about a package or group of packages�all�	available�	installed�extras�updates�upgrades�
autoremove�recent�	obsoletesc	Cs�|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddtd�|j|jtjtd�d�dS) Nz--all�_packages_action�store_constr@zshow all packages (default))�dest�action�const�default�helpz--availablerAzshow only available packages)rKrLrMrOz--installedrBzshow only installed packagesz--extrasrCzshow only extras packagesz	--updatesrEzshow only upgrades packagesz
--upgradesz--autoremoverFzshow only autoremove packagesz--recentrGz#show only recently changed packages�packages�*�PACKAGEzPackage name specification)�nargs�metavar�choicesrNrLrO)�add_mutually_exclusive_group�add_argumentr�
pkgnarrows�DEFAULT_PKGNARROWr�PkgNarrowCallback)�clsr)�narrowsrrrr*�s:zInfoCommand.set_argparsercCs||jj}d|_|jjr"|jj|j_|jjdkr4d|_|jjrd|jjr\|jjdd|jj�nd|j_|jjdkrxd|j_dS)NTrBz--obsoletesz--rHrDrE)	r�demands�sack_activationr<rI�packages_action�available_reposrH�_option_conflict)r$r]rrrr,�szInfoCommand.configurecCs&|jj|j�|jjd|jj|jj�S)Nr?)r� _populate_update_security_filterr<r�output_packagesr_rP)r$rrrr4�szInfoCommand.runN)r?)
r7r8r9r:r&rr;rYrX�classmethodr*r,r4rrrrr>�s
 r>c@s$eZdZdZdZed�Zdd�ZdS)	�ListCommandzRA class containing methods needed by the cli to execute the
    list command.
    �list�lsz$list a package or groups of packagescCs&|jj|j�|jjd|jj|jj�S)Nrf)rrbr<rrcr_rP)r$rrrr4�szListCommand.runN)rfrg)r7r8r9r:r&rr;r4rrrrre�srec@s8eZdZdZd
Zed�Zedd��Zdd	�Z	d
d�Z
dS)�ProvidesCommandzVA class containing methods needed by the cli to execute the
    provides command.
    �provides�whatprovides�provz*find what package provides the given valuecCs|jddtd�td�d�dS)N�
dependency�+ZPROVIDEz#Provide specification to search for)rSrTrO)rWr)r)rrrr*�szProvidesCommand.set_argparsercCs|jj}d|_d|_d|_dS)NTF)rr]r`Zfresh_metadatar^)r$r]rrrr,�szProvidesCommand.configurecCstjtd��|jj|jj�S)NzSearching Packages: )r
�debugrrrir<rl)r$rrrr4�szProvidesCommand.runN)rirjrk)r7r8r9r:r&rr;�staticmethodr*r,r4rrrrrh�srhc@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�CheckUpdateCommandzZA class containing methods needed by the cli to execute the
    check-update command.
    �check-update�
check-upgradez$check for available package upgradescCs0|jddddtd�d�|jddtd	�d
�dS)Nz--changelogs�
changelogsF�
store_truezshow changelogs before update)rKrNrLrOrPrQrR)rSrT)rWr)r)rrrr*sz CheckUpdateCommand.set_argparsercCs6|jj}d|_d|_d|_|jjr(d|_t|j�dS)NT)	rr]r^r`Zplugin_filtering_enabledr<rsr!r)r$r]rrrr,szCheckUpdateCommand.configurecCsR|jj|jdd�|jj|jjd|jjd�}|r:d|jj_|jj	j
rN|jj�dS)NZgte)Zcmp_typeT)�print_rs�d)rrbr<r�
check_updatesrPrsr]�success_exit_statusrZautocheck_running_kernelZ_check_running_kernel)r$�foundrrrr4s

zCheckUpdateCommand.runN)rqrr)r7r8r9r:r&rr;ror*r,r4rrrrrp�s	rpcseZdZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de�Z	Gdd
�d
e�Z
Gdd�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�Zeeeee	e
eee
eehZd%Zed�Z�fdd�Zdd �Zd!d"�Zd#d$�Z�ZS)&�RepoPkgsCommandz2Implementation of the repository-packages command.c@s$eZdZdZdZdd�Zdd�ZdS)	z%RepoPkgsCommand.CheckUpdateSubCommandz'Implementation of the info sub-command.�check-updatecCs|jj}d|_d|_dS)NT)rr]r`r^)r$r]rrrr,(sz/RepoPkgsCommand.CheckUpdateSubCommand.configurecCs*|jj|jj|jdd�}|r&d|jj_dS)z?Execute the command with respect to given arguments *cli_args*.T)rurvN)rrwr<�	pkg_specs�reponamerr]rx)r$ryrrr�run_on_repo-sz1RepoPkgsCommand.CheckUpdateSubCommand.run_on_repoN)r{)r7r8r9r:r&r,r~rrrr�CheckUpdateSubCommand#src@s$eZdZdZdZdd�Zdd�ZdS)	zRepoPkgsCommand.InfoSubCommandz'Implementation of the info sub-command.r?cCsh|jj}d|_|jjr"|jj|j_|jjdkr4d|_|jjrd|jjr\|jjdd|jj�nd|j_dS)NTrBz--obsoletesz--rH)	rr]r^r<�_pkg_specs_action�pkg_specs_actionr`rHra)r$r]rrrr,9sz(RepoPkgsCommand.InfoSubCommand.configurecCs.|jj|j�|jjd|jj|jj|j�dS)z?Execute the command with respect to given arguments *cli_args*.r?N)rrbr<rrcr�r|r})r$rrrr~Fsz*RepoPkgsCommand.InfoSubCommand.run_on_repoN)r?)r7r8r9r:r&r,r~rrrr�InfoSubCommand4s
r�c@s$eZdZdZdZdd�Zdd�ZdS)	z!RepoPkgsCommand.InstallSubCommandz*Implementation of the install sub-command.�installcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r`r^�	resolving�	root_user)r$r]rrrr,Qs
z+RepoPkgsCommand.InstallSubCommand.configurecCs�|jj|j�t|j|j�d}|jjsjy|jjd|j�Wn&tj	j
k
rbtjt
d��Yq�Xd}nvxt|jjD]h}y|jj||j�WnJtj	j
k
r�}z*dj|j|jjjj|��}tj|�WYdd}~XqtXd}qtW|s�tj	jt
d���dS)NFrQzNo package available.Tz{}: {}zNo packages marked for install.)rrbr<rrr|r�r}rr.�MarkingErrorr
r?rr�valuer(�term�bold�Error)r$�done�pkg_spec�er rrrr~Xs$z-RepoPkgsCommand.InstallSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�InstallSubCommandLsr�c@seZdZdZdZdd�ZdS)zRepoPkgsCommand.ListSubCommandz'Implementation of the list sub-command.rfcCs.|jj|j�|jjd|jj|jj|j�dS)z?Execute the command with respect to given arguments *cli_args*.rfN)rrbr<rrcr�r|r})r$rrrr~zsz*RepoPkgsCommand.ListSubCommand.run_on_repoN)rf)r7r8r9r:r&r~rrrr�ListSubCommandusr�c@s$eZdZdZdZdd�Zdd�ZdS)	z RepoPkgsCommand.MoveToSubCommandz*Implementation of the move-to sub-command.�move-tocCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z*RepoPkgsCommand.MoveToSubCommand.configurecCs�t|j|j�d}|jjs�y|jjd|jd�Wn`tjj	k
rVt
jtd��Yn@tjj
k
rzt
jtd��Yntjjk
r�YnXd}n�x�|jjD]�}y|jj||jd�Wn�tjj	k
r�td�}t
j||�Yq�tjj
k
�rd}z\xT|jD]J}d}|jjj|�}|�r.td	�|}td
�}t
j||jjj|�|��qWWYdd}~Xq�tjjk
�r|Yq�Xd}q�W|�s�tjjtd���dS)
z?Execute the command with respect to given arguments *cli_args*.FrQ)Znew_reponamezNo package installed.zNo package available.TzNo match for argument: %sr#z
 (from %s)z%Installed package %s%s not available.NzNothing to do.)rrrr<r|�	reinstallr}rr.�PackagesNotInstalledErrorr
r?r�PackagesNotAvailableErrorr�rP�historyrr(r�r�r�)r$r�r�r �err�pkg�xmsg�pkgreporrrr~�s>.z,RepoPkgsCommand.MoveToSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�MoveToSubCommand�sr�c@s$eZdZdZdZdd�Zdd�ZdS)	z&RepoPkgsCommand.ReinstallOldSubCommandz0Implementation of the reinstall-old sub-command.�
reinstall-oldcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z0RepoPkgsCommand.ReinstallOldSubCommand.configurecCs�t|j|j�d}|jjs�y|jjd|j|j�Wndtjj	k
r\t
d�}tj|�Yn@tjj
k
r�tjt
d��Yntjjk
r�YnXd}n�x�|jjD]�}y|jj||j|j�Wn�tjj	k
r�t
d�}tj||�Yq�tjj
k
�rl}z\xT|jD]J}d}|jjj|�}|�r6t
d�|}t
d	�}tj||jjj|�|��qWWYd
d
}~Xq�tjjk
�r�Yq�Xd}q�W|�s�tjjt
d���d
S)z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.zNo package available.TzNo match for argument: %sr#z
 (from %s)z%Installed package %s%s not available.NzNothing to do.)rrrr<r|r�r}rr.r�rr
r?r�r�rPr�rr(r�r�r�)r$r�r r�r�r�r�r�rrrr~�sB.z2RepoPkgsCommand.ReinstallOldSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�ReinstallOldSubCommand�sr�cs4eZdZdZd	Z�fdd�Zdd�Zdd�Z�ZS)
z#RepoPkgsCommand.ReinstallSubCommandz,Implementation of the reinstall sub-command.r�cs,ttj|�j|�tj|�tj|�f|_dS)zInitialize the command.N)�superrz�ReinstallSubCommandr%r�r��wrapped_commands)r$r)�	__class__rrr%�sz,RepoPkgsCommand.ReinstallSubCommand.__init__cCs6d|jj_x&|jD]}|j|_|j|_|j�qWdS)NT)rr]r`r�r<r}r,)r$�commandrrrr,�s

z-RepoPkgsCommand.ReinstallSubCommand.configurecCs\t|j|j�xH|jD].}y|j�Wntjjk
r@wYqXPqWtjjtd���dS)z?Execute the command with respect to given arguments *cli_args*.z!No packages marked for reinstall.N)	rrrr�r~rr.r�r)r$r�rrrr~sz/RepoPkgsCommand.ReinstallSubCommand.run_on_repo)r�)	r7r8r9r:r&r%r,r~�
__classcell__rr)r�rr��s
r�c@s,eZdZdZd
Zdd�Zdd�Zdd�Zd	S)z,RepoPkgsCommand.RemoveOrDistroSyncSubCommandz8Implementation of the remove-or-distro-sync sub-command.�remove-or-distro-synccCs$|jj}d|_d|_d|_d|_dS)NT)rr]r`r^r�r�)r$r]rrrr,s
z6RepoPkgsCommand.RemoveOrDistroSyncSubCommand.configurec	s�|jjjj��tjj|�}|j|jjj�}|jjj���fdd�|j	�D�}|s`tj
jd|��|j�}|jjj
j}xD|D]<}|j|j|jd�r�|jjjj|�qz|jjjj||d�qzWdS)z;Synchronize a package with another repository or remove it.csg|]}�j|��kr|�qSr)r)�.0r�)r�r}rr�
<listcomp>#szIRepoPkgsCommand.RemoveOrDistroSyncSubCommand._replace.<locals>.<listcomp>zno package matched)�name�arch)�
clean_depsN)rrZsackZdisable_repor�subjectZSubjectZget_best_queryr�rBr.r�rArZclean_requirements_on_remove�filterr�r�Z_goalZdistupgradeZerase)	r$r�r}r�ZmatchesrBrAr��packager)r�r}r�_replaces

z5RepoPkgsCommand.RemoveOrDistroSyncSubCommand._replacecCs�t|j|j�d}|jjs^y|jd|j�Wn*tjj	k
rVt
d�}tj|�Yq�Xd}nVxT|jjD]H}y|j||j�Wn,tjj	k
r�t
d�}tj||�YqhXd}qhW|s�tjj
t
d���dS)z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.TzNo match for argument: %szNothing to do.N)rrrr<r|r�r}rr.r�rr
r?r�)r$r�r r�rrrr~0s$z8RepoPkgsCommand.RemoveOrDistroSyncSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r�r~rrrr�RemoveOrDistroSyncSubCommands
r�c@s$eZdZdZdZdd�Zdd�ZdS)	z+RepoPkgsCommand.RemoveOrReinstallSubCommandz6Implementation of the remove-or-reinstall sub-command.�remove-or-reinstallcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,Rs
z5RepoPkgsCommand.RemoveOrReinstallSubCommand.configurec
Cst|j|j�d}|jjs~y|jjd|j|jdd�Wn@tjj	k
r`t
d�}tj|�Yq�tjj
k
rvYq�Xd}nvxt|jjD]h}y|jj||j|jdd�WnBtjj	k
r�t
d�}tj||�Yq�tjj
k
r�Yq�Xd}q�W|�s
tjjt
d���dS)	z?Execute the command with respect to given arguments *cli_args*.FrQT)Zold_reponameZnew_reponame_neqZ	remove_naz)No package installed from the repository.zNo match for argument: %szNothing to do.N)rrrr<r|r�r}rr.r�rr
r?r�r�)r$r�r r�rrrr~Ys4z7RepoPkgsCommand.RemoveOrReinstallSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�RemoveOrReinstallSubCommandMsr�c@s$eZdZdZdZdd�Zdd�ZdS)	z RepoPkgsCommand.RemoveSubCommandz)Implementation of the remove sub-command.�removecCs*|jj}d|_d|_d|_d|_d|_dS)NTF)rr]r^Z
allow_erasingr`r�r�)r$r]rrrr,�sz*RepoPkgsCommand.RemoveSubCommand.configurecCs�d}|jjsRy|jjd|j�Wn*tjjk
rJtd�}t	j
|�Yq�Xd}n`x^|jjD]R}y|jj||j�Wn4tjjk
r�}zt	j
t|��WYdd}~Xq\Xd}q\W|s�t	jtd��dS)z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.TNzNo packages marked for removal.)
r<r|rr�r}rr.r�rr
r?�strZwarning)r$r�r r�r�rrrr~�s  z,RepoPkgsCommand.RemoveSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�RemoveSubCommand~sr�c@s$eZdZdZd	Zdd�Zdd�ZdS)
z!RepoPkgsCommand.UpgradeSubCommandz*Implementation of the upgrade sub-command.�upgrade�
upgrade-tocCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z+RepoPkgsCommand.UpgradeSubCommand.configurecCs�t|j|j�d}|jjs.|jj|j�d}nTxR|jjD]F}y|jj||j�Wn(tj	j
k
rxtjt
d�|�Yq8Xd}q8W|s�tj	jt
d���dS)z?Execute the command with respect to given arguments *cli_args*.FTzNo match for argument: %szNo packages marked for upgrade.N)rrrr<r|Zupgrade_allr}r�rr.r�r
r?rr�)r$r�r�rrrr~�sz-RepoPkgsCommand.UpgradeSubCommand.run_on_repoN)r�r�)r7r8r9r:r&r,r~rrrr�UpgradeSubCommand�sr��repository-packages�	repo-pkgs�
repo-packages�repository-pkgsz7run commands on top of all packages in given repositorycs>tt|�j���fdd�|jD�}d|_dd�|D�|_dS)zInitialize the command.c3s|]}|��VqdS)Nr)r��subcmd)rrr�	<genexpr>�sz+RepoPkgsCommand.__init__.<locals>.<genexpr>NcSsi|]}|jD]
}||�qqSr)r&)r�r��aliasrrr�
<dictcomp>�sz,RepoPkgsCommand.__init__.<locals>.<dictcomp>)r�rzr%�SUBCMDSr��_subcmd_name2obj)r$rZsubcmd_objs)r�)rrr%�s
zRepoPkgsCommand.__init__c	Cs`|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddtjtd�td�d�d d!�|jD�}d"d!�|jD�}|jd#dd$|d%j|�d&�d}|ddddd'ddh}|jd(d)td*�||tjtd+�d,�dS)-Nz--allr�rJr@zshow all packages (default))rKrLrMrNrOz--availablerAzshow only available packages)rKrLrMrOz--installedrBzshow only installed packagesz--extrasrCzshow only extras packagesz	--updatesrEzshow only upgrades packagesz
--upgradesz--autoremoverFzshow only autoremove packagesz--recentrGz#show only recently changed packagesr}�ZREPOIDz
Repository ID)rSrLrTrOcSsg|]}|jd�qS)r)r&)r�r�rrrr��sz1RepoPkgsCommand.set_argparser.<locals>.<listcomp>cSsg|]}|jD]}|�qqSr)r&)r�r�r�rrrr��sr�Z
SUBCOMMANDz, )rSrTrUrOrHr|rQrRzPackage specification)rSrTrUrNrLrO)rVrWrrZ_RepoCallbackEnabler�rrZ)r$r)r\Zsubcommand_choicesZsubcommand_choices_allrYrXrrrr*�sP
zRepoPkgsCommand.set_argparsercCs�y|j|jjd|_Wn>tjjtfk
rV}z|jjj�tjj�WYdd}~XnX|j|j_|jj	d|j_	|jj
�dS)z8Verify whether the command can run with given arguments.rN)r�r<r�rrr�KeyError�	optparserZprint_usager}r,)r$r�rrrr,s
zRepoPkgsCommand.configurecCs|jj�dS)z>Execute the command with respect to given arguments *extcmds*.N)r�r~)r$rrrr4szRepoPkgsCommand.run)r�r�r�r�)r7r8r9r:r"rr�r�r�r�r�r�r�r�r�r�r�r&rr;r%r*r,r4r�rr)r�rrz s0)79>1(#+rzc@s0eZdZdZd	Zed�Zedd��Zdd�Z	dS)
�HelpCommandzRA class containing methods needed by the cli to execute the
    help command.
    rOzdisplay a helpful usage messagecCs*|jddtd�td�jtjjd�d�dS)N�cmd�?ZCOMMANDz{prog} command to get help for)r)rSrTrO)rWrrrr
r)r)rrrr*szHelpCommand.set_argparsercCsN|jjs|jj|jjkr(|jjj�n"|jj|jj}|jjj||��dS)N)r<r�rZcli_commandsr�Z
print_help)r$r�rrrr4$s

zHelpCommand.runN)rO)
r7r8r9r:r&rr;ror*r4rrrrr�s
r�)r:Z
__future__rrZdnf.cli.option_parserrZdnf.i18nrZdnf.clirZdnf.exceptionsZ
dnf.pycompZdnf.utilZloggingrZ	getLoggerr
r/r0rrr!�objectr"r>rerhrprzr�rrrr�<module>s:
9?$yPK"�FZ�͌zz2cli/commands/__pycache__/autoremove.cpython-36.pycnu�[���3

�ft`��@stddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZddlZej
d�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_N�dnfc@sReZdZejejejd�Zdeej	��Z
ed�Ze
dd��Zdd�Zdd	�Zd
S)�AutoremoveCommand)zautoremove-nz
autoremove-nazautoremove-nevra�
autoremovezKremove all unneeded packages that were originally installed as dependenciescCs"|jddtd�tjtd�d�dS)NZpackages�*zPackage to removeZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r� /usr/lib/python3.6/autoremove.py�
set_argparser,szAutoremoveCommand.set_argparsercCs\|jj}d|_d|_d|_t|jj|jj|jj	g�rLd|j
j_d|_
d|_nd|_d|_dS)NTF)Zcli�demandsZ	resolvingZ	root_userZsack_activation�any�opts�	grp_specs�	pkg_specs�	filenames�baseZconfZclean_requirements_on_removeZ
allow_erasingZavailable_reposZfresh_metadata)�selfrrrr�	configure2s
zAutoremoveCommand.configurecCsjt|jj|jj|jjg�r\g}|jj|jkr<|j|jjg}|jj||jj|jj|jj�n
|jj�dS)N)	rrrrrZcommand�nevra_formsrr	)rZformsrrr�runBszAutoremoveCommand.runN)r	)�__name__�
__module__�__qualname__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr�tuple�keys�aliasesrZsummary�staticmethodrrrrrrrr"s
r)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZdnf.exceptionsrr"ZloggingZ	getLoggerZloggerZCommandrrrrr�<module>s
PK"�FZ���hh0cli/commands/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`{}�@sdZddlmZddlmZddlmZddlmZddlZ	ddl
Z	ddlZ	ddlZ	ddl
Z
ddlZe
jd�Zed�d	Zed
�dZed�Zd
d�Zffdd�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)z<
Classes for subcommands of the yum command line interface.
�)�print_function)�unicode_literals)�OptionParser)�_N�dnfz+To diagnose the problem, try running: '%s'.zrpm -Va --nofiles --nodigestzDYou probably have corrupted RPMDB, running '%s' might fix the issue.zrpm --rebuilddbaYou have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
    rpm --import public.gpg.key


Alternatively you can specify the url to the key you would like to use
for a repository in the 'gpgkey' option in a repository section and {prog}
will install it for you.

For more information contact your distribution or package provider.cCsp|jjsdS|j�slxV|jj�D]H}|js0|jr |jr tjdt	j
tjj
d��tjtd�|�tjj�q WdS)z�Verify that there are gpg keys for the enabled repositories in the
    rpm database.

    :param base: a :class:`dnf.Base` object.
    :raises: :class:`cli.CliError`
    Nz
%s
)�progzProblem repository: %s)�confZgpgcheckZ_gpg_key_check�reposZiter_enabledZ
repo_gpgcheckZgpgkey�loggerZcritical�gpg_msg�formatr�util�MAIN_PROG_UPPERr�cli�CliError)�baser�repo�r�/usr/lib/python3.6/__init__.py�_checkGPGKey:srcCs||jj�rdSxD|D]<}|jd�r2tjj|�r2dStjjj|�d}|d
krdSqWt	d�j
d	j|jj
��}tjj|��dS)z�Verify that there is at least one enabled repo.

    :param base: a :class:`dnf.Base` object.
    :param possible_local_files: the list of strings that could be a local rpms
    :raises: :class:`cli.CliError`:
    Nz.rpmr�http�ftp�file�httpsz*There are no enabled repositories in "{}".z", ")rrrr)r	Z_any_enabled�endswith�os�path�existsrZpycompZurlparserr�joinrZreposdirrr)rZpossible_local_filesZlfile�scheme�msgrrr�_checkEnabledRepoKs

r!c@s�eZdZdZgZdZdZdd�Zedd��Z	edd	��Z
ed
d��Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�Commandz%Abstract base class for CLI commands.�NcCs
||_dS)N)r)�selfrrrr�__init__fszCommand.__init__cCs|jjS)N)rr)r$rrrrjszCommand.basecCs
|jdS)Nr)�aliases)r$rrr�_basecmdoszCommand._basecmdcCs
|jjjS)N)rr�output)r$rrrr(sszCommand.outputcCsdS)z4Define command specific options and arguments. #:apiNr)r$�parserrrr�
set_argparserwszCommand.set_argparsercCsdS)z*Do any command-specific pre-configuration.Nr)r$rrr�
pre_configure{szCommand.pre_configurecCsdS)z&Do any command-specific configuration.Nr)r$rrr�	configure�szCommand.configurecCs&t|tjj�rttfStd|��dS)z.Get suggestions for resolving the given error.zerror not supported yet: %sN)�
isinstancer�
exceptionsZTransactionCheckError�_RPM_VERIFY�_RPM_REBUILDDB�NotImplementedError)r$�errorrrr�get_error_output�szCommand.get_error_outputcCsdS)zExecute the command.Nr)r$rrr�run�szCommand.runcCsdS)z$Finalize operation after resolvementNr)r$rrr�run_resolved�szCommand.run_resolvedcCsdS)z%Finalize operations post-transaction.Nr)r$rrr�run_transaction�szCommand.run_transaction)�__name__�
__module__�__qualname__�__doc__r&�summary�optsr%�propertyrr'r(r*r+r,r3r4r5r6rrrrr"_sr"c	@sReZdZdZdZed�ZdZddddd	d
ddeh	Ze	d
d��Z
dd�Zdd�ZdS)�InfoCommandzRA class containing methods needed by the cli to execute the
    info command.
    �infoz4display details about a package or group of packages�all�	available�	installed�extras�updates�upgrades�
autoremove�recent�	obsoletesc	Cs�|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddtd�|j|jtjtd�d�dS) Nz--all�_packages_action�store_constr@zshow all packages (default))�dest�action�const�default�helpz--availablerAzshow only available packages)rKrLrMrOz--installedrBzshow only installed packagesz--extrasrCzshow only extras packagesz	--updatesrEzshow only upgrades packagesz
--upgradesz--autoremoverFzshow only autoremove packagesz--recentrGz#show only recently changed packages�packages�*�PACKAGEzPackage name specification)�nargs�metavar�choicesrNrLrO)�add_mutually_exclusive_group�add_argumentr�
pkgnarrows�DEFAULT_PKGNARROWr�PkgNarrowCallback)�clsr)�narrowsrrrr*�s:zInfoCommand.set_argparsercCs||jj}d|_|jjr"|jj|j_|jjdkr4d|_|jjrd|jjr\|jjdd|jj�nd|j_|jjdkrxd|j_dS)NTrBz--obsoletesz--rHrDrE)	r�demands�sack_activationr<rI�packages_action�available_reposrH�_option_conflict)r$r]rrrr,�szInfoCommand.configurecCs&|jj|j�|jjd|jj|jj�S)Nr?)r� _populate_update_security_filterr<r�output_packagesr_rP)r$rrrr4�szInfoCommand.runN)r?)
r7r8r9r:r&rr;rYrX�classmethodr*r,r4rrrrr>�s
 r>c@s$eZdZdZdZed�Zdd�ZdS)	�ListCommandzRA class containing methods needed by the cli to execute the
    list command.
    �list�lsz$list a package or groups of packagescCs&|jj|j�|jjd|jj|jj�S)Nrf)rrbr<rrcr_rP)r$rrrr4�szListCommand.runN)rfrg)r7r8r9r:r&rr;r4rrrrre�srec@s8eZdZdZd
Zed�Zedd��Zdd	�Z	d
d�Z
dS)�ProvidesCommandzVA class containing methods needed by the cli to execute the
    provides command.
    �provides�whatprovides�provz*find what package provides the given valuecCs|jddtd�td�d�dS)N�
dependency�+ZPROVIDEz#Provide specification to search for)rSrTrO)rWr)r)rrrr*�szProvidesCommand.set_argparsercCs|jj}d|_d|_d|_dS)NTF)rr]r`Zfresh_metadatar^)r$r]rrrr,�szProvidesCommand.configurecCstjtd��|jj|jj�S)NzSearching Packages: )r
�debugrrrir<rl)r$rrrr4�szProvidesCommand.runN)rirjrk)r7r8r9r:r&rr;�staticmethodr*r,r4rrrrrh�srhc@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�CheckUpdateCommandzZA class containing methods needed by the cli to execute the
    check-update command.
    �check-update�
check-upgradez$check for available package upgradescCs0|jddddtd�d�|jddtd	�d
�dS)Nz--changelogs�
changelogsF�
store_truezshow changelogs before update)rKrNrLrOrPrQrR)rSrT)rWr)r)rrrr*sz CheckUpdateCommand.set_argparsercCs6|jj}d|_d|_d|_|jjr(d|_t|j�dS)NT)	rr]r^r`Zplugin_filtering_enabledr<rsr!r)r$r]rrrr,szCheckUpdateCommand.configurecCsR|jj|jdd�|jj|jjd|jjd�}|r:d|jj_|jj	j
rN|jj�dS)NZgte)Zcmp_typeT)�print_rs�d)rrbr<r�
check_updatesrPrsr]�success_exit_statusrZautocheck_running_kernelZ_check_running_kernel)r$�foundrrrr4s

zCheckUpdateCommand.runN)rqrr)r7r8r9r:r&rr;ror*r,r4rrrrrp�s	rpcseZdZdZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de�Z	Gdd
�d
e�Z
Gdd�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�Zeeeee	e
eee
eehZd%Zed�Z�fdd�Zdd �Zd!d"�Zd#d$�Z�ZS)&�RepoPkgsCommandz2Implementation of the repository-packages command.c@s$eZdZdZdZdd�Zdd�ZdS)	z%RepoPkgsCommand.CheckUpdateSubCommandz'Implementation of the info sub-command.�check-updatecCs|jj}d|_d|_dS)NT)rr]r`r^)r$r]rrrr,(sz/RepoPkgsCommand.CheckUpdateSubCommand.configurecCs*|jj|jj|jdd�}|r&d|jj_dS)z?Execute the command with respect to given arguments *cli_args*.T)rurvN)rrwr<�	pkg_specs�reponamerr]rx)r$ryrrr�run_on_repo-sz1RepoPkgsCommand.CheckUpdateSubCommand.run_on_repoN)r{)r7r8r9r:r&r,r~rrrr�CheckUpdateSubCommand#src@s$eZdZdZdZdd�Zdd�ZdS)	zRepoPkgsCommand.InfoSubCommandz'Implementation of the info sub-command.r?cCsh|jj}d|_|jjr"|jj|j_|jjdkr4d|_|jjrd|jjr\|jjdd|jj�nd|j_dS)NTrBz--obsoletesz--rH)	rr]r^r<�_pkg_specs_action�pkg_specs_actionr`rHra)r$r]rrrr,9sz(RepoPkgsCommand.InfoSubCommand.configurecCs.|jj|j�|jjd|jj|jj|j�dS)z?Execute the command with respect to given arguments *cli_args*.r?N)rrbr<rrcr�r|r})r$rrrr~Fsz*RepoPkgsCommand.InfoSubCommand.run_on_repoN)r?)r7r8r9r:r&r,r~rrrr�InfoSubCommand4s
r�c@s$eZdZdZdZdd�Zdd�ZdS)	z!RepoPkgsCommand.InstallSubCommandz*Implementation of the install sub-command.�installcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r`r^�	resolving�	root_user)r$r]rrrr,Qs
z+RepoPkgsCommand.InstallSubCommand.configurecCs�|jj|j�t|j|j�d}|jjsjy|jjd|j�Wn&tj	j
k
rbtjt
d��Yq�Xd}nvxt|jjD]h}y|jj||j�WnJtj	j
k
r�}z*dj|j|jjjj|��}tj|�WYdd}~XqtXd}qtW|s�tj	jt
d���dS)NFrQzNo package available.Tz{}: {}zNo packages marked for install.)rrbr<rrr|r�r}rr.�MarkingErrorr
r?rr�valuer(�term�bold�Error)r$�done�pkg_spec�er rrrr~Xs$z-RepoPkgsCommand.InstallSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�InstallSubCommandLsr�c@seZdZdZdZdd�ZdS)zRepoPkgsCommand.ListSubCommandz'Implementation of the list sub-command.rfcCs.|jj|j�|jjd|jj|jj|j�dS)z?Execute the command with respect to given arguments *cli_args*.rfN)rrbr<rrcr�r|r})r$rrrr~zsz*RepoPkgsCommand.ListSubCommand.run_on_repoN)rf)r7r8r9r:r&r~rrrr�ListSubCommandusr�c@s$eZdZdZdZdd�Zdd�ZdS)	z RepoPkgsCommand.MoveToSubCommandz*Implementation of the move-to sub-command.�move-tocCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z*RepoPkgsCommand.MoveToSubCommand.configurecCs�t|j|j�d}|jjs�y|jjd|jd�Wnltjj	k
rVt
jtd��YnLtjj
k
rzt
jtd��Yn(tjjk
r�ds�td��YnXd}n�x�|jjD]�}y|jj||jd�Wn�tjj	k
r�td�}t
j||�Yq�tjj
k
�rp}z\xT|jD]J}d	}|jjj|�}|�r:td
�|}td�}t
j||jjj|�|��qWWYdd}~Xq�tjjk
�r�d�s�td��Yq�Xd}q�W|�s�tjjtd
���dS)z?Execute the command with respect to given arguments *cli_args*.FrQ)Znew_reponamezNo package installed.zNo package available.z+Only the above marking errors are expected.TzNo match for argument: %sr#z
 (from %s)z%Installed package %s%s not available.NzNothing to do.)rrrr<r|�	reinstallr}rr.�PackagesNotInstalledErrorr
r?r�PackagesNotAvailableErrorr��AssertionErrorrP�historyrr(r�r�r�)r$r�r�r �err�pkg�xmsg�pkgreporrrr~�s@.z,RepoPkgsCommand.MoveToSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�MoveToSubCommand�sr�c@s$eZdZdZdZdd�Zdd�ZdS)	z&RepoPkgsCommand.ReinstallOldSubCommandz0Implementation of the reinstall-old sub-command.�
reinstall-oldcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z0RepoPkgsCommand.ReinstallOldSubCommand.configurecCs�t|j|j�d}|jjs�y|jjd|j|j�Wnptjj	k
r\t
d�}tj|�YnLtjj
k
r�tjt
d��Yn(tjjk
r�ds�td��YnXd}n�x�|jjD]�}y|jj||j|j�Wn�tjj	k
r�t
d�}tj||�Yq�tjj
k
�rx}z\xT|jD]J}d}|jjj|�}|�rBt
d	�|}t
d
�}tj||jjj|�|��qWWYdd}~Xq�tjjk
�r�d�s�td��Yq�Xd}q�W|�s�tjjt
d���dS)
z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.zNo package available.z+Only the above marking errors are expected.TzNo match for argument: %sr#z
 (from %s)z%Installed package %s%s not available.NzNothing to do.)rrrr<r|r�r}rr.r�rr
r?r�r�r�rPr�rr(r�r�r�)r$r�r r�r�r�r�r�rrrr~�sD.z2RepoPkgsCommand.ReinstallOldSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�ReinstallOldSubCommand�sr�cs4eZdZdZd	Z�fdd�Zdd�Zdd�Z�ZS)
z#RepoPkgsCommand.ReinstallSubCommandz,Implementation of the reinstall sub-command.r�cs,ttj|�j|�tj|�tj|�f|_dS)zInitialize the command.N)�superrz�ReinstallSubCommandr%r�r��wrapped_commands)r$r)�	__class__rrr%�sz,RepoPkgsCommand.ReinstallSubCommand.__init__cCs6d|jj_x&|jD]}|j|_|j|_|j�qWdS)NT)rr]r`r�r<r}r,)r$�commandrrrr,�s

z-RepoPkgsCommand.ReinstallSubCommand.configurecCs\t|j|j�xH|jD].}y|j�Wntjjk
r@wYqXPqWtjjtd���dS)z?Execute the command with respect to given arguments *cli_args*.z!No packages marked for reinstall.N)	rrrr�r~rr.r�r)r$r�rrrr~sz/RepoPkgsCommand.ReinstallSubCommand.run_on_repo)r�)	r7r8r9r:r&r%r,r~�
__classcell__rr)r�rr��s
r�c@s,eZdZdZd
Zdd�Zdd�Zdd�Zd	S)z,RepoPkgsCommand.RemoveOrDistroSyncSubCommandz8Implementation of the remove-or-distro-sync sub-command.�remove-or-distro-synccCs$|jj}d|_d|_d|_d|_dS)NT)rr]r`r^r�r�)r$r]rrrr,s
z6RepoPkgsCommand.RemoveOrDistroSyncSubCommand.configurec	s�|jjjj��tjj|�}|j|jjj�}|jjj���fdd�|j	�D�}|s`tj
jd|��|j�}|jjj
j}xD|D]<}|j|j|jd�r�|jjjj|�qz|jjjj||d�qzWdS)z;Synchronize a package with another repository or remove it.csg|]}�j|��kr|�qSr)r)�.0r�)r�r}rr�
<listcomp>#szIRepoPkgsCommand.RemoveOrDistroSyncSubCommand._replace.<locals>.<listcomp>zno package matched)�name�arch)�
clean_depsN)rrZsackZdisable_repor�subjectZSubjectZget_best_queryr�rBr.r�rArZclean_requirements_on_remove�filterr�r�Z_goalZdistupgradeZerase)	r$r�r}r�ZmatchesrBrAr��packager)r�r}r�_replaces

z5RepoPkgsCommand.RemoveOrDistroSyncSubCommand._replacecCs�t|j|j�d}|jjs^y|jd|j�Wn*tjj	k
rVt
d�}tj|�Yq�Xd}nVxT|jjD]H}y|j||j�Wn,tjj	k
r�t
d�}tj||�YqhXd}qhW|s�tjj
t
d���dS)z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.TzNo match for argument: %szNothing to do.N)rrrr<r|r�r}rr.r�rr
r?r�)r$r�r r�rrrr~0s$z8RepoPkgsCommand.RemoveOrDistroSyncSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r�r~rrrr�RemoveOrDistroSyncSubCommands
r�c@s$eZdZdZdZdd�Zdd�ZdS)	z+RepoPkgsCommand.RemoveOrReinstallSubCommandz6Implementation of the remove-or-reinstall sub-command.�remove-or-reinstallcCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,Rs
z5RepoPkgsCommand.RemoveOrReinstallSubCommand.configurec
Cs*t|j|j�d}|jjs�y|jjd|j|jdd�WnLtjj	k
r`t
d�}tj|�Yn(tjj
k
r�ds~td��YnXd}n�x�|jjD]x}y|jj||j|jdd�WnRtjj	k
r�t
d�}tj||�Yq�tjj
k
�rd�std��Yq�Xd}q�W|�s&tjjt
d���d	S)
z?Execute the command with respect to given arguments *cli_args*.FrQT)Zold_reponameZnew_reponame_neqZ	remove_naz)No package installed from the repository.z)Only the above marking error is expected.zNo match for argument: %szNothing to do.N)rrrr<r|r�r}rr.r�rr
r?r�r�r�)r$r�r r�rrrr~Ys4z7RepoPkgsCommand.RemoveOrReinstallSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�RemoveOrReinstallSubCommandMsr�c@s$eZdZdZdZdd�Zdd�ZdS)	z RepoPkgsCommand.RemoveSubCommandz)Implementation of the remove sub-command.�removecCs*|jj}d|_d|_d|_d|_d|_dS)NTF)rr]r^Z
allow_erasingr`r�r�)r$r]rrrr,�sz*RepoPkgsCommand.RemoveSubCommand.configurecCs�d}|jjsRy|jjd|j�Wn*tjjk
rJtd�}t	j
|�Yq�Xd}n`x^|jjD]R}y|jj||j�Wn4tjjk
r�}zt	j
t|��WYdd}~Xq\Xd}q\W|s�t	jtd��dS)z?Execute the command with respect to given arguments *cli_args*.FrQz)No package installed from the repository.TNzNo packages marked for removal.)
r<r|rr�r}rr.r�rr
r?�strZwarning)r$r�r r�r�rrrr~�s  z,RepoPkgsCommand.RemoveSubCommand.run_on_repoN)r�)r7r8r9r:r&r,r~rrrr�RemoveSubCommand~sr�c@s$eZdZdZd	Zdd�Zdd�ZdS)
z!RepoPkgsCommand.UpgradeSubCommandz*Implementation of the upgrade sub-command.�upgrade�
upgrade-tocCs$|jj}d|_d|_d|_d|_dS)NT)rr]r^r`r�r�)r$r]rrrr,�s
z+RepoPkgsCommand.UpgradeSubCommand.configurecCs�t|j|j�d}|jjs.|jj|j�d}nTxR|jjD]F}y|jj||j�Wn(tj	j
k
rxtjt
d�|�Yq8Xd}q8W|s�tj	jt
d���dS)z?Execute the command with respect to given arguments *cli_args*.FTzNo match for argument: %szNo packages marked for upgrade.N)rrrr<r|Zupgrade_allr}r�rr.r�r
r?rr�)r$r�r�rrrr~�sz-RepoPkgsCommand.UpgradeSubCommand.run_on_repoN)r�r�)r7r8r9r:r&r,r~rrrr�UpgradeSubCommand�sr��repository-packages�	repo-pkgs�
repo-packages�repository-pkgsz7run commands on top of all packages in given repositorycs>tt|�j���fdd�|jD�}d|_dd�|D�|_dS)zInitialize the command.c3s|]}|��VqdS)Nr)r��subcmd)rrr�	<genexpr>�sz+RepoPkgsCommand.__init__.<locals>.<genexpr>NcSsi|]}|jD]
}||�qqSr)r&)r�r��aliasrrr�
<dictcomp>�sz,RepoPkgsCommand.__init__.<locals>.<dictcomp>)r�rzr%�SUBCMDSr��_subcmd_name2obj)r$rZsubcmd_objs)r�)rrr%�s
zRepoPkgsCommand.__init__c	Cs`|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddddtd�d
�|jddtjtd�td�d�d d!�|jD�}d"d!�|jD�}|jd#dd$|d%j|�d&�d}|ddddd'ddh}|jd(d)td*�||tjtd+�d,�dS)-Nz--allr�rJr@zshow all packages (default))rKrLrMrNrOz--availablerAzshow only available packages)rKrLrMrOz--installedrBzshow only installed packagesz--extrasrCzshow only extras packagesz	--updatesrEzshow only upgrades packagesz
--upgradesz--autoremoverFzshow only autoremove packagesz--recentrGz#show only recently changed packagesr}�ZREPOIDz
Repository ID)rSrLrTrOcSsg|]}|jd�qS)r)r&)r�r�rrrr��sz1RepoPkgsCommand.set_argparser.<locals>.<listcomp>cSsg|]}|jD]}|�qqSr)r&)r�r�r�rrrr��sr�Z
SUBCOMMANDz, )rSrTrUrOrHr|rQrRzPackage specification)rSrTrUrNrLrO)rVrWrrZ_RepoCallbackEnabler�rrZ)r$r)r\Zsubcommand_choicesZsubcommand_choices_allrYrXrrrr*�sP
zRepoPkgsCommand.set_argparsercCs�y|j|jjd|_Wn>tjjtfk
rV}z|jjj�tjj�WYdd}~XnX|j|j_|jj	d|j_	|jj
�dS)z8Verify whether the command can run with given arguments.rN)r�r<r�rrr�KeyError�	optparserZprint_usager}r,)r$r�rrrr,s
zRepoPkgsCommand.configurecCs|jj�dS)z>Execute the command with respect to given arguments *extcmds*.N)r�r~)r$rrrr4szRepoPkgsCommand.run)r�r�r�r�)r7r8r9r:r"rr�r�r�r�r�r�r�r�r�r�r�r&rr;r%r*r,r4r�rr)r�rrz s0)79>1(#+rzc@s0eZdZdZd	Zed�Zedd��Zdd�Z	dS)
�HelpCommandzRA class containing methods needed by the cli to execute the
    help command.
    rOzdisplay a helpful usage messagecCs*|jddtd�td�jtjjd�d�dS)N�cmd�?ZCOMMANDz{prog} command to get help for)r)rSrTrO)rWrrrr
r)r)rrrr*szHelpCommand.set_argparsercCsN|jjs|jj|jjkr(|jjj�n"|jj|jj}|jjj||��dS)N)r<r�rZcli_commandsr�Z
print_help)r$r�rrrr4$s

zHelpCommand.runN)rO)
r7r8r9r:r&rr;ror*r4rrrrr�s
r�)r:Z
__future__rrZdnf.cli.option_parserrZdnf.i18nrZdnf.clirZdnf.exceptionsZ
dnf.pycompZdnf.utilZloggingrZ	getLoggerr
r/r0rrr!�objectr"r>rerhrprzr�rrrr�<module>s:
9?$yPK"�FZ����Q6Q62cli/commands/__pycache__/updateinfo.cpython-36.pycnu�[���3

�ft`2J�@s�dZddlmZddlmZddlmZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZdd	lmZd
d�ZGdd
�d
e	j�ZdS)zUpdateInfo CLI command.�)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�_�exact_width)�unicodecCstdd�|D��S)z7Return maximum length of items in a non-empty iterable.css|]}t|�VqdS)N)r)�.0�item�r� /usr/lib/python3.6/updateinfo.py�	<genexpr>&sz_maxlen.<locals>.<genexpr>)�max)�iterablerrr
�_maxlen$srcs.eZdZdZejed�ejed�ejed�ej	ed�ej
ed�iZed�ed�ed	�ed
�d�Zdddd
d
d
dd�Z
dgee
j��Zed�ZdZdddegZ�fdd�Zedd��Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Z d.d/�Z!d0d1�Z"d2d3�Z#d4d5�Z$�Z%S)6�UpdateInfoCommandz)Implementation of the UpdateInfo command.�bugfix�enhancement�security�unknown�
newpackagez
Critical/Sec.zImportant/Sec.z
Moderate/Sec.zLow/Sec.)�Critical�	Important�Moderate�Low�list�info�summary)zlist-updateinfoz
list-securityzlist-seczinfo-updateinfoz
info-securityzinfo-seczsummary-updateinfoZ
updateinfoz!display advisories about packages�	available�	installed�updates�allcstt|�j|�d|_dS)zInitialize the command.N)�superr�__init__�_installed_query)�self�cli)�	__class__rr
r$CszUpdateInfoCommand.__init__c	Cs|j�}|jddddtd�d�|jddddtd	�d�|jd
dddtd�d�|jd
dddtd�d�dddg}|j�}|jddddtd�d�|jddddtd�d�|jddddtd�d�|jddddtd�d�|jd d!ddtd"�d�|jd#d$d%||d&tjtd'�d(�dS))Nz--available�
_availabilityr�store_constz?advisories about newer versions of installed packages (default))�dest�const�action�helpz--installedr z?advisories about equal and older versions of installed packagesz	--updatesr!zbadvisories about newer versions of those installed packages for which a newer version is availablez--allr"z3advisories about any versions of installed packagesrrrz	--summary�_spec_actionz$show summary of advisories (default)z--listzshow list of advisoriesz--infozshow info of advisoriesz
--with-cve�with_cveF�
store_truez'show only advisories with CVE reference)r+�defaultr-r.z	--with-bz�with_bzz,show only advisories with bugzilla reference�spec�*ZSPECrzPackage specification)�nargs�metavar�choicesr2r-r.)Zadd_mutually_exclusive_group�add_argumentrrZPkgNarrowCallback)�parser�availabilityZcmdsZ
output_formatrrr
�
set_argparserHsD






zUpdateInfoCommand.set_argparsercCs�d|jj_d|jj_|jj|jkr6|j|jj|j_n|jjrJ|jj|j_|jj	r`|jj	|j_
n:|jjs||jjd|jkr�|j
|j_
n|jjjd�|j_
t�|j_|jjr�|jjjtj�|jjr�|jjjtj�|jjr�|jjjtj�|jj�r|jjjtj�|jj�r�|jjjd�}|dk�r:|jjjtj�n�|dk�rV|jjjtj�np|dk�rr|jjjtj�nT|dk�r�|jjjtj�n8|d
k�r�d|j_n$|d
k�r�d|j_n|jjjd|�|jj�r�|jjj|jj�dS)zADo any command-specific configuration based on command arguments.Trrrr�secr�	bugzillas�bzs�cvesN)rr=)r>r?) r'ZdemandsZavailable_reposZsack_activation�optsZcommand�direct_commands�spec_actionr/r)r;r4�availabilities�availability_default�pop�set�_advisory_typesr�add�hawkey�ADVISORY_BUGFIXr�ADVISORY_ENHANCEMENTr�ADVISORY_NEWPACKAGEr�ADVISORY_SECURITYr3r0�insert�advisory�extend)r&r4rrr
�	configurensJ













zUpdateInfoCommand.configurecCs�|jjdkr$|j|jj�}td�}n^|jjdkrH|j|jj�}td�}n:|jjdkrl|j|jj�}td�}n|j|jj�}td�}|jjdkr�|j	|�n$|jjdkr�|j
|�n|j||�dS)z#Execute the command with arguments.r r!r"rrrN)rAr;�installed_apkg_adv_instsr4r�updating_apkg_adv_insts�all_apkg_adv_insts�available_apkg_adv_instsrC�display_list�display_info�display_summary)r&�apkg_adv_insts�descriptionrrr
�run�s 


zUpdateInfoCommand.runcCs@|jdkr |jjj�j�j�|_|jj|j|jd�}t	|�dkS)N)�nameZevr__gter)
r%�base�sack�queryr Zapply�filterr]�evr�len)r&�apackage�qrrr
�_newer_equal_installed�s
z(UpdateInfoCommand._newer_equal_installedcs,|jjrJ|jjrJ|jjrJ|jjrJ|jjrJ|jjrJ|jjrJdS�j|jjkr\dSt	�fdd�|jjD��rzdS|jjr��j|jjkr�dS|jjr�t	�fdd�|jjD��r�dS|jjr�t	�fdd�|jjD��r�dS|jj�rt	dd��j
D���rdS|jj�r(t	dd��j
D���r(dSd	S)
NTc3s|]}tj�j|�VqdS)N)�fnmatch�fnmatchcase�id)r
�pat)rPrr
r�sz6UpdateInfoCommand._advisory_matcher.<locals>.<genexpr>csg|]}�j|��qSr)Z	match_bug)r
Zbug)rPrr
�
<listcomp>�sz7UpdateInfoCommand._advisory_matcher.<locals>.<listcomp>csg|]}�j|��qSr)Z	match_cve)r
Zcve)rPrr
rk�scSsg|]}|jtjk�qSr)�typerJ�
REFERENCE_CVE)r
�refrrr
rk�scSsg|]}|jtjk�qSr)rlrJ�REFERENCE_BUGZILLA)r
rnrrr
rk�sF)rArHr4�severityZbugzillar@r0r3rl�any�
references)r&rPr)rPr
�_advisory_matcher�s2






""

z#UpdateInfoCommand._advisory_matcherc#shxb|j|�D]T��j|jj�}|j|�}t�fdd�|jjD��}|sJ|r|j��}�||fVqWdS)z4Return (adv. package, advisory, installed) triplets.c3s|]}tj�j|�VqdS)N)rgrhr])r
rj)rdrr
r�szAUpdateInfoCommand._apackage_advisory_installed.<locals>.<genexpr>N)	Zget_advisory_pkgsZget_advisoryr^r_rsrqrAr4rf)r&Z
pkgs_queryZcmptype�specsrPZadvisory_matchZapackage_matchr r)rdr
�_apackage_advisory_installed�s

z.UpdateInfoCommand._apackage_advisory_installedcCs@|jj}|j�jdd�}|j�}|r<|j|j�j|jd��}|S)z<Return query containing packages of currently running kernelT)�empty)�	sourcerpm)r^r_r`�filtermZget_running_kernel�unionrw)r&r_reZkernelrrr
�running_kernel_pkgs�sz%UpdateInfoCommand.running_kernel_pkgscCs8|jjj�j�jd�}|j|j�j��}|j|tj	|�S)z5Return available (adv. package, adv., inst.) triplets�)
r^r_r`r ZlatestryrzrurJ�GT)r&rtrerrr
rV�sz*UpdateInfoCommand.available_apkg_adv_instscCs"|j|jjj�j�tjtjB|�S)z5Return installed (adv. package, adv., inst.) triplets)rur^r_r`r rJ�LT�EQ)r&rtrrr
rS�sz*UpdateInfoCommand.installed_apkg_adv_instscCs |j|jjj�jdd�tj|�S)z4Return updating (adv. package, adv., inst.) tripletsT)Z
upgradable)rur^r_r`rxrJr|)r&rtrrr
rT�sz)UpdateInfoCommand.updating_apkg_adv_instscCs(|j|jjj�j�tjtjBtjB|�S)z5Return installed (adv. package, adv., inst.) triplets)	rur^r_r`r rJr}r~r|)r&rtrrr
rUsz$UpdateInfoCommand.all_apkg_adv_instscCsVi}xB|D]:\}}}|j||j<|jtjkr
|j|jf||j|jf<q
Wtj|j��S)zMake the summary of advisories.)rlrirJrNrp�collections�Counter�values)r&rZ�id2type�apkgrPr rrr
�_summaryszUpdateInfoCommand._summaryc	
CsV|j|�}|�r<ttd�|�dtd�|tjfdtd�|tjfdtd�|tjdffdtd�|tjd	ffdtd
�|tjdffdtd�|tjd
ffdtd�|tjdffdtd�|tjfdtd�|tjfdtd�|tjfg
}t	dd�|D��}x<|D]4\}}}|�s�qtd|d|t
|�|f��qW|jjj
�rR|jj�dS)z"Display the summary of advisories.zUpdates Information Summary: rzNew Package notice(s)zSecurity notice(s)r{zCritical Security notice(s)rzImportant Security notice(s)rzModerate Security notice(s)rzLow Security notice(s)rzUnknown Security notice(s)NzBugfix notice(s)zEnhancement notice(s)zother notice(s)css"|]}|drt|d�VqdS)�N)r	)r
�vrrr
r(sz4UpdateInfoCommand.display_summary.<locals>.<genexpr>z
    %*s %s�)r��printrrJrMrNrKrL�ADVISORY_UNKNOWNrr	r^�confZautocheck_running_kernelr'Z_check_running_kernel)	r&rZr[Ztyp2cntZlabel_counts�width�indent�label�countrrr
rYs2
$z!UpdateInfoCommand.display_summarycs��fdd�}�fdd�}t�}x�|D]�\}}}d|j|j|jf}�jjsR�jjr�x�|jD]Z}	|	jt	j
krx�jjrxqZn|	jt	jkr��jjr�qZ|j|jf|j
|||jft��|	j<qZWq$|j|jf|j
|||jft��|j<q$Wg}
d}}}
x�t|j�dd�d	�D]r\\}}}}t|
t|��}
xR|j�D]F\}}t|t|��}||�}t|t|��}|
j||�||||f��q.W�qWxZ|
D]R\}}}}}�jjj�r�td
||||||
||f�ntd||||||f��q�WdS)
zDisplay the list of advisories.cs �jjdksdS|rdSdSdS)Nr"�zi z  )rAr;)�inst)r&rr
�	inst2mark2s
z1UpdateInfoCommand.display_list.<locals>.inst2markcs2|tjkr�jj|td��S�jj|td��SdS)NzUnknown/Sec.r)rJrN�SECURITY2LABEL�getr�
TYPE2LABEL)�typZsev)r&rr
�
type2label:s
z2UpdateInfoCommand.display_list.<locals>.type2labelz%s-%s.%srcSs|dS)Nrr)�xrrr
�<lambda>Rsz0UpdateInfoCommand.display_list.<locals>.<lambda>)�keyz%s%-*s %-*s %-*s %sz%s%-*s %-*s %sN)�dictr]rb�archrAr0r3rrrlrJrormrp�
setdefault�updatedri�sorted�itemsrrc�appendr^r��verboser�)r&rZr�r�Znevra_inst_dictr�rPr ZnevrarnZadvlistZidwZtlwZnwr�Zaupdatedr�ZaidZatypesevr�r)r&r
rW0s4*($$zUpdateInfoCommand.display_listcs��jjj���jjj�td�td�td�td�td�td�td�td�td	�td
�f
�����fdd�}t�}x"|D]\}}}|j|||��qtWtd
j	t
|dd�d���dS)z/Display the details about available advisories.z	Update IDZTypeZUpdatedZBugsZCVEsZDescriptionZSeverityZRightsZFilesZ	Installedc
s�|jg�jj|jtd��gt|j�ggg|jp0dj�|j	g|j
pBdj�tt�fdd�|j
D���dg
}xV|jD]L}|jtjkr�|djdj|j|jp�d��qn|jtjkrn|dj|j�qnW|dj�|dj��s�d|d<d|d	<�jjd
k�r|�rtd�ntd�g|d
<t��}g}|jdd�|jd|j�|jdd�xxt�|�D]j\}}|ddgfk�rt�qXxJt|�D]>\}}	|dk�r�|nd}
|t|
�}|jd|d|
|	f��q~W�qXWdj|�S)Nrr�c3s|]}|j�kr|jVqdS)N)r��filename)r
Zpkg)�archesrr
rsszHUpdateInfoCommand.display_info.<locals>.advisory2info.<locals>.<genexpr>�z{} - {}r���r"�trueZfalse�	�=�Oz  rz	%*s%s: %s�
)rir�r�rlrr	r�r[�
splitlinesrpZrightsr�rGZpackagesrrrJror��format�titlerm�sortrAr;r�zip�	enumerater�join)rPr Z
attributesrnr��linesr�Z	atr_lines�i�liner�Zkey_padding)r��labelsr&r�rr
�
advisory2infoisF
 "z5UpdateInfoCommand.display_info.<locals>.advisory2infoz

cSs|j�S)N)�lower)r�rrr
r��sz0UpdateInfoCommand.display_info.<locals>.<lambda>)r�N)r^r_Zlist_archesr�r�rrGrIr�r�r�)r&rZr�Z
advisoriesr�rPr r)r�r�r&r�r
rXas
(zUpdateInfoCommand.display_info)&�__name__�
__module__�__qualname__�__doc__rJrKrrLrNr�rMr�r�rBr�keys�aliasesrrErDr$�staticmethodr<rRr\rfrsrurzrVrSrTrUr�rYrWrX�
__classcell__rr)r(r
r)sJ



&6	1r)r�Z
__future__rrrrrgrJZdnf.clirZdnf.cli.option_parserrZdnf.i18nrrZ
dnf.pycompr	rZCommandrrrrr
�<module>sPK"�FZ�͌zz8cli/commands/__pycache__/autoremove.cpython-36.opt-1.pycnu�[���3

�ft`��@stddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZddlZej
d�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_N�dnfc@sReZdZejejejd�Zdeej	��Z
ed�Ze
dd��Zdd�Zdd	�Zd
S)�AutoremoveCommand)zautoremove-nz
autoremove-nazautoremove-nevra�
autoremovezKremove all unneeded packages that were originally installed as dependenciescCs"|jddtd�tjtd�d�dS)NZpackages�*zPackage to removeZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r� /usr/lib/python3.6/autoremove.py�
set_argparser,szAutoremoveCommand.set_argparsercCs\|jj}d|_d|_d|_t|jj|jj|jj	g�rLd|j
j_d|_
d|_nd|_d|_dS)NTF)Zcli�demandsZ	resolvingZ	root_userZsack_activation�any�opts�	grp_specs�	pkg_specs�	filenames�baseZconfZclean_requirements_on_removeZ
allow_erasingZavailable_reposZfresh_metadata)�selfrrrr�	configure2s
zAutoremoveCommand.configurecCsjt|jj|jj|jjg�r\g}|jj|jkr<|j|jjg}|jj||jj|jj|jj�n
|jj�dS)N)	rrrrrZcommand�nevra_formsrr	)rZformsrrr�runBszAutoremoveCommand.runN)r	)�__name__�
__module__�__qualname__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr�tuple�keys�aliasesrZsummary�staticmethodrrrrrrrr"s
r)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZdnf.exceptionsrr"ZloggingZ	getLoggerZloggerZCommandrrrrr�<module>s
PK"�FZ�&�caa/cli/commands/__pycache__/upgrade.cpython-36.pycnu�[���3

�ft`~�@stddlmZddlmZddlZddlZddlZddlmZddl	m
Z
ddlmZej
d�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literalsN)�commands)�OptionParser)�_�dnfc@sXeZdZdZdZed�Zed	d
��Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)�UpgradeCommandzTA class containing methods needed by the cli to execute the
    update command.
    �upgrade�update�
upgrade-to�	update-to�localupdate�upz,upgrade a package or packages on your systemcCs"|jddtd�tjtd�d�dS)NZpackages�*zPackage to upgradeZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/upgrade.py�
set_argparser*szUpgradeCommand.set_argparsercCsZ|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�d|_d|_
d|_dS)z�Verify that conditions are met so that this command can run.

        These include that there are enabled repositories with gpg
        keys, and that this command is being run by the root user.
        TN)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo�upgrade_minimal�all_security�skipped_grp_specs)�selfrrrr�	configure0szUpgradeCommand.configurecCs�|jr
dnd}|jj|j||jd�|jjs<|jjs<|jjrzd}||j�O}||j	�O}||j
�O}||j�O}|r�dSn|jj
�dStjjtd���dS)N�eqZgte)�cmp_type�allFzNo packages marked for upgrade.)rrZ _populate_update_security_filterrrr�	pkg_specs�	grp_specs�_update_modules�
_update_files�_update_packages�_update_groupsrZupgrade_allr�
exceptions�Errorr)r!r$�resultrrr�runBs

zUpgradeCommand.runcCsNt|jj�}tjjr6tjjj|j�}|j	|jj�|_
n
|jj|_
t|j
�|kS)N)�lenrr'rrZWITH_MODULES�module�module_baseZ
ModuleBaser	r )r!Zgroup_specs_numr2rrrr(Vs
zUpgradeCommand._update_modulescCs�d}|jjr�x~|jj|jjd|jjjd�D]^}y|jj|�d}Wq*tjj	k
r�}z$t
jtd�|jjj
j|j��WYdd}~Xq*Xq*W|S)NF)�strict�progressTzNo match for argument: %s)rrrZadd_remote_rpms�outputr4Zpackage_upgraderr,�MarkingError�logger�infor�term�bold�location)r!�successZpkg�errrr)`s
*zUpgradeCommand._update_filescCsrd}xh|jjD]\}y|jj|�d}Wqtjjk
rh}z"tjt	d�|jj
jj|��WYdd}~XqXqW|S)NFTzNo match for argument: %s)
rr&rr	rr,r6r7r8rr5r9r:)r!r<Zpkg_specr=rrrr*ms
(zUpgradeCommand._update_packagescCs|jr|jj|j�dSdS)NTF)r rZenv_group_upgrade)r!rrrr+xszUpgradeCommand._update_groupsN)r	r
rrr
r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrr"r/r(r)r*r+rrrrr#s

r)Z
__future__rrZloggingZdnf.exceptionsrZdnf.baseZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZ	getLoggerr7ZCommandrrrrr�<module>s
PK"�FZx�����7cli/commands/__pycache__/makecache.cpython-36.opt-1.pycnu�[���3

�ft`m�@sxddlmZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZejd�Z
Gdd�dej�ZdS)	�)�absolute_import)�unicode_literals)�commands)�_N�dnfc@s,eZdZd	Zed�Zedd��Zdd�ZdS)
�MakeCacheCommand�	makecache�mczgenerate the metadata cachecCs,|jdddd�|jdddgdtjd�dS)Nz--timer�
store_true�	timer_opt)�action�dest�timer�?)�nargs�choices�metavar�help)�add_argument�argparseZSUPPRESS)�parser�r�/usr/lib/python3.6/makecache.py�
set_argparser'szMakeCacheCommand.set_argparsercCs2|jjdk	p|jj}td�}tj|�|jj|�S)Nz*Making cache files for all metadata files.)Zoptsrrr�logger�debug�baseZupdate_cache)�selfr�msgrrr�run.s
zMakeCacheCommand.runN)rr	)	�__name__�
__module__�__qualname__�aliasesrZsummary�staticmethodrrrrrrr#sr)Z
__future__rrZdnf.clirZdnf.i18nrrrZdnf.exceptionsZdnf.utilZloggingZ	getLoggerrZCommandrrrrr�<module>s
PK"�FZ�ϷAQQ.cli/commands/__pycache__/remove.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZddlZddl
Z
ddlZejd�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�_)�OptionParserN�dnfc@sbeZdZdZejejejejejejd�Zde	ej
��Zed�Z
edd��Zd	d
�Zdd�Zd
S)�
RemoveCommandzRemove command.)zremove-nz	remove-nazremove-nevrazerase-nzerase-nazerase-nevra�remove�erase�rmz-remove a package or packages from your systemcCsf|j�}|jdddtd�d�|jddtjd�|jddtd	�d�|jd
dtd�tjtd
�d�dS)Nz--duplicates�
store_true�
duplicatedzremove duplicated packages)�action�dest�helpz--duplicated)rrz--oldinstallonlyz*remove installonly packages over the limitZpackages�*zPackage to removeZPACKAGE)�nargsrr�metavar)Zadd_mutually_exclusive_group�add_argumentr�argparseZSUPPRESSrZParseSpecGroupFileCallback)�parserZmgroup�r�/usr/lib/python3.6/remove.py�
set_argparser0s

zRemoveCommand.set_argparsercCs^|jj}d|_d|_d|_|jjr*d|_n0tj	j
rN|jjrNd|_d|_d|_
nd|_
d|_dS)NTF)Zcli�demandsZ	resolvingZ	root_userZsack_activation�optsr
Zavailable_reposr�base�WITH_MODULES�	grp_specsZfresh_metadataZ
allow_erasing)�selfrrrr�	configure?szRemoveCommand.configurecCs\g}|jj|jkr"|j|jjg}|jj|jj7_d}|jj�rD|jjj�}|jj	|j
��}|j�j|�}|s�tj
jtd���x�|j�j�D]�\\}}}t|�dkr�q�|jdd�y|jjt|d��WnHtj
jk
�rd}	td�}
tj|
|jjjjt|d��|	�YnXx"|d	d�D]}|jj|��q&Wq�WdS|jj�r�|jjj�}|jj	|j
��jd�}|jjj�}|dk	�r�|j |j!|j"|j#d
�}
|
�r�|j|
�}|�r�x,|D]}|jj|��q�Wntj
jtd���dS|jj$�r*|�r*x�|jj$D]&}td�}
tj|
|jjjj|���q�Wn�|jj$�r�tjj%�rxtj&j'j(|j�}|j)|jj$�}t|jj$�t|�k�r�d}n|jj$}|�r�xB|D]:}y|jj*|g��r�d}Wntj
jk
�r�YnX�q�Wxx|jjD]l}y|jj)||d
�WnLtj
j+k
�r8}z*dj,|j-|jjjj|��}
tj.|
�WYdd}~XnXd}�q�W|�sXtjtd��dS)NFz)No duplicated packages found for removal.�T)�reverser�z%Installed package %s%s not available.�)�epoch�version�releasez.No old installonly packages found for removal.zNot a valid form: %s)�formsz{}: {}zNo packages marked for removal.���)/rZcommand�nevra_formsZ	pkg_specs�	filenamesr
rZsackZqueryZ_get_installonly_queryZ	installed�
differencer�
exceptions�ErrorrZ_na_dict�items�len�sortZ	reinstall�strZPackagesNotAvailableError�loggerZwarning�outputZtermZboldZpackage_removeZoldinstallonlyZlatestZget_running_kernel�filterr%r&r'rr�module�module_baseZ
ModuleBaser	Zenv_group_removeZMarkingError�format�value�info)rr(�done�qZinstonlyZdups�nameZarchZ	pkgs_listZxmsg�msgZpkgZkernelZrunning_installonlyZgrp_specr7Zskipped_grps�groupZpkg_spec�errr�runPs�
(




 



zRemoveCommand.runN)r	r
r)�__name__�
__module__�__qualname__�__doc__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr*�tuple�keys�aliasesrZsummary�staticmethodrr rArrrrr#s
r)Z
__future__rrZdnf.clirZdnf.i18nrZdnf.cli.option_parserrZdnf.baserrrFZdnf.exceptionsZloggingZ	getLoggerr3ZCommandrrrrr�<module>s
PK"�FZV����3cli/commands/__pycache__/alias.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlZddlZddl	Zddlm
Z
ddlZddlZddl
mZejd�ZGdd	�d	e
j�ZdS)
�)�absolute_import)�print_function)�unicode_literalsN)�commands)�_�dnfc@sleZdZdZed�Zedd��Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�ZdS)�AliasCommand�aliaszList or create command aliasescCsl|j�}|jdddtd�d�|jdddtd�d�|jdd	d
dd
dgtd
�d�|jdddtd�d�dS)Nz--enable-resolvingF�
store_truezenable aliases resolving)�default�action�helpz--disable-resolvingzdisable aliases resolving�
subcommand�?�list�add�deletezaction to do with aliases)�nargsr�choicesr
r	�*zcommand[=result]zalias definition)r�metavarr
)Zadd_mutually_exclusive_group�add_argumentr)�parserZenable_group�r�/usr/lib/python3.6/alias.py�
set_argparser*s

zAliasCommand.set_argparsercCsH|jj}|jjdkrd|_tjjj�|_|jj	�|jj
|_|j�dS)NrrT)rr)
�cli�demands�optsrZ	root_userr�aliasesZAliases�aliases_baseZ
_load_aliases�enabledZresolving_enabled�_update_config_from_options)�selfrrrr�	configure9s

zAliasCommand.configurecCs�d}|jjrd}tjtd��|jjr8d}tjtd��|dk	r�tjjt	j
jj�sft
t	j
jjd�j�t	jjjt	j
jjddd|i�|jj�s�||j_dS)NTzAliases are now enabledFzAliases are now disabled�w�mainr!)rZenable_resolving�logger�inforZdisable_resolving�os�path�existsrrrZALIASES_CONF_PATH�open�close�confZ
BaseConfigZwrite_raw_configfiler Z_disabled_by_environr!)r#r!rrrr"Bs
z(AliasCommand._update_config_from_optionscCs�i}x�|jjD]�}|jdd�}|dj�}t|j��dkrLtjtd�|�q|jd�rhtjtd�|�qt|�dkr�tjtd�|�q|dj�||<qW|S)N�=�rzInvalid alias key: %s�-zAlias argument has no value: %s)	rr	�split�strip�lenr'�warningr�
startswith)r#Znew_aliasesr	�cmdrrr�_parse_option_aliasTs
z AliasCommand._parse_option_aliascCsxtjjtjjj�s&ttjjjd�j�ytjjj	tjjj�}Wn4tj
jk
rr}ztj
td�|�dSd}~XnX|S)Nr%zConfig error: %s)r)r*r+rrr�ALIASES_USER_PATHr,r-Z
AliasesConfig�
exceptionsZConfigErrorr'r5r)r#r.�errr�_load_user_aliaseseszAliasCommand._load_user_aliasescCsdttjjjd�}d}|dj|�7}|d7}x*|j�D]\}}|dj|dj|��7}q4W|j|�dS)Nr%z[main]
zenabled = {}

z
[aliases]
z{} = {}
� )	r,rrrr9�format�items�join�write)r#�user_aliasesr!Zfileobj�output�key�valuerrr�_store_user_aliasespsz AliasCommand._store_user_aliasescCsP|j�}|j}|dkrdS|j|�|j||j�tjtd�dj|j	���dS)NzAliases added: %sz, )
r<r�updaterFr!r'r(rr@�keys)r#rr.rBrrr�add_aliasesys
zAliasCommand.add_aliasescCs�|j�}|j}|dkrdSg}xF|D]>}y||=|j|�Wq$tk
r`tjtd�|�Yq$Xq$W|j||j�tjtd�dj	|��dS)NzAlias not found: %szAliases deleted: %sz, )
r<r�append�KeyErrorr'r(rrFr!r@)r#�cmdsr.rBZ
valid_cmdsr7rrr�remove_aliases�s
zAliasCommand.remove_aliasescCs~|g}y|jj|�}WnHtjjk
r^}z(tjtd�||dj|jj	|��WYdd}~XnXt
td�|dj|�f�dS)Nz%s, alias %s="%s"r=z
Alias %s='%s')r Z_resolverr:�Errorr'�errorrr@r�print)r#r7�argsr;rrr�
list_alias�s0zAliasCommand.list_aliascCs|jjstjtd��|jjdkrL|j�}|s>tj	j
td���|j|�dS|jjdkr�|jj}|gkrxtj	j
td���|j
|�dS|jjs�|jjs�tjtd��dSxX|jjD]}|j|�q�Wn<x:|jjD].}||jjkr�tjtd�|�q�|j|�q�WdS)NzAliases resolving is disabled.rzNo aliases specified.rzNo alias specified.zNo aliases defined.zNo match for alias: %s)r r!r'r5rrrr8rr:rNrIr	rMrr(rR)r#rrLr7rrr�run�s2

zAliasCommand.runN)r	)�__name__�
__module__�__qualname__rrZsummary�staticmethodrr$r"r8r<rFrIrMrRrSrrrrr&s		
r)Z
__future__rrrZloggingZos.pathr)Zdnf.clirZdnf.cli.aliasesrZdnf.confZdnf.exceptionsZdnf.i18nrZ	getLoggerr'ZCommandrrrrr�<module>s
PK"�FZ��90cli/commands/__pycache__/repolist.cpython-36.pycnu�[���3

�ft`z2�@s�ddlmZddlmZddlmZddlmZmZmZm	Z	ddl
mZddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZejd�Zdd	�Zd
d�Zdd
�Zdd�ZGdd�dej�ZdS)�)�absolute_import)�unicode_literals)�commands)�_�ucd�fill_exact_width�exact_width)�OptionParserN�dnfcCsd|rtjj|jj��ntd�}|jdkr4td�|S|jsFtd�|St|j�}td�||fSdS)N�unknown�zNever (last: %s)zInstant (last: %s)z%s second(s) (last: %s)���)r
�util�normalize_time�_repo�getTimestamprZmetadata_expire�_num2ui_num)�repo�mdZlast�num�r�/usr/lib/python3.6/repolist.py�_expire_str%s

rcCsttjjd|d��S)Nz%dT)rr
Zpycomp�format)rrrrr0srcCsF|jj�}|jj�}x,|D]$}tj||�r.dStj||�rdSqWdS)NTF)�id�lower�name�fnmatch)rZpatterns�ridZrnmZpatrrr�_repo_match4s


rcCs>d}x*|jtjd�j|jd�D]}||j7}qWtjjj	|�S)Nr)�flags)�reponame__eq)
�query�hawkey�IGNORE_EXCLUDES�filtermrZ_sizer
�clirZ
format_number)�sackr�retZpkgrrr�
_repo_size?sr)c@s@eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dd�Zd
S)�RepoListCommandzVA class containing methods needed by the cli to execute the
    repolist command.
    �repolist�repoinfoz,display the configured software repositoriesc	Csz|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jdddddddgtjtd�d�dS)Nz--all�
_repos_action�store_const�allzshow all repos)�dest�action�const�default�helpz	--enabled�enabledzshow enabled repos (default))r0r1r2r4z
--disabled�disabledzshow disabled repos�repos�*zenabled-defaultZ
REPOSITORYzRepository specification)�nargsr3�metavar�choicesr1r4)Zadd_mutually_exclusive_group�add_argumentrr	ZPkgNarrowCallback)�parserZ	repolimitrrr�
set_argparserNszRepoListCommand.set_argparsercCs |jjs|jjtjtjd�dS)N)�stdout�stderr)�opts�quietr&Zredirect_logger�loggingZWARNING�INFO)�selfrrr�
pre_configure_szRepoListCommand.pre_configurecCsT|jjs|jj�|jj}|jjjs0|jjdkr<d|_	d|_
|jjrP|jj|j_dS)Nr,T)
rArBr&Zredirect_repo_progress�demands�base�conf�verbose�commandZavailable_reposZsack_activationr-�repos_action)rErGrrr�	configurecs
zRepoListCommand.configurec-
Csl|jj}dd�|jjD�}|jjj}t|jjj��}|jt	j
d�d�|jj}|j
d|jd}|j
d}|jd}d	}	g}
|s�tjtd
��dS|dkp�|dko�|}g}�x�|D�]�}
t|�r�t|
|�r�q�d7\}}}d
}d	}d
}|�r�|||}}}|
j�rnd}|dk�rq�|�s.|�s.|jjdk�rJ|td�|}ttd��}|�s^|jjdk�r�t|jj|
�}n<d}|dks�|dk�r�|�r�q�|td�|}ttd��}|�p�|jjdk�s�t|
j�}|
j||
j||ff�q�|�r�|
j}nd}|jjtd�|
j�|jjtd�|
j�g}|�r8||jjtd�|�g7}|�rh|
jj ��rh||jjtd�|
jj ��g7}|�r�|
jj!��r�|
jj!�}||jjtd�dj"t#|���g7}|�r|
jj$��rdd�|
jj$�D�}x@|j%�D]4\}}||jjtd�d|dj"t#|��f�g7}�q�W|�r�t|jjj&t'j(d�j)|
jd��}t|jjj&�j)|
jd��}t*|�}t*|�}|	|7}	||jjtd�t+j,j-|
jj.���|jjtd �|�|jjtd!�|�|jjtd"�|�g7}|
j/�r||jjtd#�|
j/�g7}|�r2|
jj0�} ||jjtd$�t+j,j-| ��g7}n"|
j1�r2||jjtd%�|
j1�g7}|
j2}!|!�r^||jjtd&�dj"|!��g7}nF|�r�|
jj3�}"|"�r�d'|"d	t|"�d(f}#||jjtd&�|#�g7}t4|
|�}$||jjtd)�|$�g7}|
j5�r�||jjtd*�dj"|
j5��g7}|
j6�r||jjtd+�dj"|
j6��g7}|�r4||jjtd,�|�g7}|
j7�rV||jjtd-�|
j7�g7}|jd.j"t8t|���q�W|�r�t9d/j"|��|�r:|
�r:ttd0��}%d	}&d	}'xR|
D]J\}}(\}}|%t|�k�r�t|�}%|&t|(�k�r�t|(�}&|'|k�r�|}'�q�W|�rBttd1��|'k�r.|j:|%ttd1��d2})n|j:|%|'d2})n|j:|%d(})|)|&k�r`|)}&n$|)|&8})|%|)d27}%|&|)|)d27}&t;td0�|%�}*|�r�t;td3�|&|&�}+ntd3�}+|�s�t9d4|*|+f�nt9d5|*|+td1�f�xX|
D]P\}}(\}}|�st9d4t;||%�|(f��q�t9d5t;||%�t;|(|&|&�|f��q�W|�sN|jjdk�rhtd6�},t9|,j<t*|	���dS)8NcSsg|]}|j��qSr)r)�.0�xrrr�
<listcomp>psz'RepoListCommand.run.<locals>.<listcomp>r)�keyZgreenZboldZredZnormalrzNo repositories availabler/zenabled-default�Tr6r,r5FzRepo-id            : zRepo-name          : zRepo-status        : zRepo-revision      : zRepo-tags          : z, cSsi|]\}}||�qSrr)rN�k�vrrr�
<dictcomp>�sz'RepoListCommand.run.<locals>.<dictcomp>zRepo-distro-tags      : z[%s]: %s)r )r!zRepo-updated       : zRepo-pkgs          : zRepo-available-pkgs: zRepo-size          : zRepo-metalink      : z  Updated          : zRepo-mirrors       : zRepo-baseurl       : z%s (%d more)rzRepo-expire        : zRepo-exclude       : zRepo-include       : zRepo-excluded      : zRepo-filename      : �
z

zrepo idZstatus�z	repo namez%s %sz%s %s %szTotal packages: {})rRrRrR)=rArLr7rHrIrJ�list�values�sort�operator�
attrgetter�output�termZFG_COLORZMODE�loggerZwarningr�lenrr5rKrr)r'rr�appendrZmetadataZ
fmtKeyValFillrZgetRevisionZgetContentTags�join�sortedZ
getDistroTags�itemsr"r#r$r%rr
rrZgetMaxTimestampZmetalinkrZ
mirrorlistZbaseurlZ
getMirrorsrZexcludepkgsZincludepkgsZrepofile�map�print�columnsrr)-rE�argZextcmdsrJr7r^Z	on_ehibegZ	on_dhibegZon_hiendZtot_numZcolsZinclude_statusZrepoinfo_outputrZehibegZdhibegZhiendZ
ui_enabledZui_endis_widZui_excludes_numr5Zui_sizerr�outZtagsZdistroTagsDictZdistrorZ
num_availableZui_numZui_num_availableZtsZbaseurlsZmirrorsZurlZexpireZid_lenZnm_lenZst_lenZrname�leftZtxt_ridZtxt_rnam�msgrrr�runns.







"







zRepoListCommand.runN)r+r,)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodr>rFrMrlrrrrr*Fsr*)Z
__future__rrZdnf.clirZdnf.i18nrrrrZdnf.cli.option_parserr	Zdnf.cli.formatr
Z
dnf.pycompZdnf.utilrr#rCr[Z	getLoggerr_rrrr)ZCommandr*rrrr�<module>s"
PK"�FZ�&�yy/cli/commands/__pycache__/deplist.cpython-36.pycnu�[���3

�ft`��@sPddlmZddlmZddlmZddlmZddlmZGdd�de�ZdS)	�)�print_function)�absolute_import)�unicode_literals)�_)�RepoQueryCommandc@s$eZdZdZdZed�Zdd�ZdS)�DeplistCommandz<
    The command is alias for 'dnf repoquery --deplist'
    �deplistz`[deprecated, use repoquery --deplist] List package's dependencies and what packages provide themcCstj|�d|j_dS)NT)r�	configureZoptsr)�self�r�/usr/lib/python3.6/deplist.pyr	"s
zDeplistCommand.configureN)r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr	rrrrrsrN)	Z
__future__rrrZdnf.i18nrZdnf.cli.commands.repoqueryrrrrrr�<module>s
PK"�FZ.��%��1cli/commands/__pycache__/reinstall.cpython-36.pycnu�[���3

�ft`]�@slddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZejd�Z
Gdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_N�dnfc@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�ReinstallCommandzSA class containing methods needed by the cli to execute the reinstall command.
    �	reinstall�reizreinstall a packagecCs"|jddtd�tjtd�d�dS)N�packages�+zPackage to reinstallZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/reinstall.py�
set_argparser(szReinstallCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)aVerify that conditions are met so that this command can
        run.  These include that the program is being run by the root
        user, that there are enabled repositories with gpg keys, and
        that this command is called with appropriate arguments.
        TN)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure.szReinstallCommand.configurecCs�d}xp|jj|jjd|jjjd�D]P}y|jj|�Wn6tjj	k
rlt
jtd�|jjj
j|j��Yq"Xd}q"W�xR|jjdd�|jjD�D�]2}y|jj|�W�ntjjk
�r}zPx,|jD]"}t
jtd�|jj
j|j��Pq�Wt
jtd�|jjj
j|��WYdd}~Xq�tjjk
�r�}z^xV|jD]L}d}|jjj|�}|�rdtd	�|}td
�}t
j||jjj
j|�|��q<WWYdd}~Xq�tjj	k
�r�d�s�td��Yq�Xd}q�W|�s�tjjtd���dS)
NF)�strict�progresszNo match for argument: %sTcSsg|]}d|�qS)�@r)�.0�xrrr�
<listcomp>Lsz(ReinstallCommand.run.<locals>.<listcomp>z(Package %s available, but not installed.�z
 (from %s)z%Installed package %s%s not available.z+Only the above marking errors are expected.z!No packages marked for reinstall.)rZadd_remote_rpmsrr�outputrZpackage_reinstallr�
exceptionsZMarkingError�logger�inforZtermZbold�locationZ	pkg_specsZ	grp_specsr	ZPackagesNotInstalledErrorr�nameZPackagesNotAvailableError�historyZrepo�AssertionError�Error)r�doneZpkgZpkg_spec�errZxmsgZpkgrepo�msgrrr�run=sB
$

"zReinstallCommand.runN)r	r
)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrr/rrrrr!sr)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZdnf.exceptionsrZloggingZ	getLoggerr%ZCommandrrrrr�<module>s
PK"�FZ�&R1cli/commands/__pycache__/downgrade.cpython-36.pycnu�[���3

�ft`	�@sRddlmZddlmZddlmZddlmZddlmZGdd�dej	�Z
dS)	�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_c@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�DowngradeCommandzWA class containing methods needed by the cli to execute the
    downgrade command.
    �	downgrade�dgzDowngrade a packagecCs|jddtd�tjd�dS)N�package�*zPackage to downgrade)�nargs�help�action)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/downgrade.py�
set_argparser$szDowngradeCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)NT)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure)szDowngradeCommand.configurecCsJ|jj|jjd|jjjd�}|jj|jjdd�|jjD�||jj	j
d�S)NF)�strict�progresscSsg|]}d|�qS)�@r)�.0�xrrr�
<listcomp>8sz(DowngradeCommand.run.<locals>.<listcomp>)Zspecs�	file_pkgsr)rZadd_remote_rpmsrr�outputrZ
downgradePkgsZ	pkg_specsZ	grp_specsZconfr)rr rrr�run4szDowngradeCommand.runN)rr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrr"rrrrrsrN)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZCommandrrrrr�<module>s
PK"�FZ������5cli/commands/__pycache__/install.cpython-36.opt-1.pycnu�[���3

�ft`S�@s�ddlmZddlmZddlZddlmZddlZddlZddl	m
Z
ddlmZddl
mZejd�ZGd	d
�d
e
j�ZdS)�)�absolute_import)�unicode_literalsN)�chain)�commands)�OptionParser)�_�dnfc@s�eZdZdZejejejd�ZdZ	de
ej��Ze
d�Zedd	��Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�InstallCommandzUA class containing methods needed by the cli to execute the
    install command.
    )z	install-nz
install-naz
install-nevrazalternative-for({})�install�localinstall�inz,install a package or packages on your systemcCs"|jddtd�tjtd�d�dS)N�package�+ZPACKAGEzPackage to install)�nargs�metavar�action�help)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/install.py�
set_argparser1szInstallCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)z�Verify that conditions are met so that this command can run.
        That there are enabled repositories with gpg keys, and that
        this command is called with appropriate arguments.
        TN)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure7szInstallCommand.configurec
CsPg}g}g}|j�}|jj|j�|jjdkrf|jjs>|jjrf|j|jj�|jj	j
rftjj
td���g}|jjo||jjdk�rTtjj�rLy,tjjj|j�}|j|jj|jj	j
d�Wn�tjjk
�rH}zp|jr�x|jD]}|j|�q�W|j�rx|jD]}|jd|�q�W|j}	|	�r8tjtjjj|	d��WYdd}~XnXn|jj}|jj�r�|�r�|j|jj�|jj	j
�r�tjj
td���n|j�}|�r�|�r�|j|�|jj	j
�r�tjj
td���n|�r�|jjdk�r�|j|�|jjdk�r|j |�}t!|�dk�s$t!|�dk�s$|�rL|jj	j
�rLtjj"td�dj#|�|d��dS)	NrzNothing to do.)�strict�@rzUnable to find a match� )�pkg_specZpackages)$�_get_nevra_forms_from_commandrZ _populate_update_security_filterr�command�	grp_specs�	pkg_specs�_log_not_valid_rpm_file_pathsr�confrr�
exceptions�ErrorrZWITH_MODULES�module�module_baseZ
ModuleBaser
Z
MarkingErrorsZno_match_group_specs�appendZerror_group_specs�module_depsolv_errors�logger�errorZformat_modular_solver_errorsr�_inform_not_a_valid_combination�_install_files�_install_groups�_install_packages�lenZPackagesNotAvailableError�join)
r�err_pkgs�errsZerror_module_specs�nevra_formsZskipped_grp_specsr,�eZe_specr.rrr�runEsX

 


.zInstallCommand.runcCs&|jj|jkr|j|jjgSgSdS)N)rr$r9)rrrrr#zsz,InstallCommand._get_nevra_forms_from_commandcCsJtdd�|�}x6t|jj|�D]$}td�}tj||jjj	j
|��qWdS)NcSsd|S)Nr r)�grrr�<lambda>�sz>InstallCommand._log_not_valid_rpm_file_paths.<locals>.<lambda>zNot a valid rpm file path: %s)�maprrr&rr/�infor�output�term�bold)rr%Zgroup_names�pkg�msgrrrr'�sz,InstallCommand._log_not_valid_rpm_file_pathscCs2x,|D]$}td�}tj||jjjj|��qWdS)NzNot a valid form: %s)rr/Zwarningrr@rArB)r�formsZformrDrrrr1�s
z.InstallCommand._inform_not_a_valid_combinationcCs�g}|jjj}x~|jj|jj||jjjd�D]^}y|jj||d�Wq,t	j
jk
r�td�}t
j||jjjj|j��|j|�Yq,Xq,W|S)N)r�progress)rzNo match for argument: %s)rr(rZadd_remote_rpmsrrr@rFZpackage_installrr)�MarkingErrorrr/r?rArB�locationr-)rr7rrCrDrrrr2�s
zInstallCommand._install_filescCsPy&|jj|t|jjj�|jjjd�Wn$tjjk
rJ|jjjrF�YnXdS)N)r)	rZenv_group_install�tupler(Zgroup_package_typesrrr)r*)rr%rrrr3�s
zInstallCommand._install_groupscCsV|jjj�j|jj|�d�}|rRtd�}tj|j|dj	t
tdd�|D������dS)N)Zprovidesz/There are following alternatives for "{0}": {1}z, cSsg|]
}|j�qSr)�name)�.0Zaltrrr�
<listcomp>�sz7InstallCommand._report_alternatives.<locals>.<listcomp>)rZsack�queryZfilterm�alternatives_provide�formatrr/r?r6�sorted�set)rr"rMrDrrr�_report_alternatives�sz#InstallCommand._report_alternativescCs�g}|jjj}x�|jjD]�}y|jj|||d�Wqtjjk
r�}zJdj	|j
|jjjj
|��}tj|�|jj|�|j|�|j|�WYdd}~XqXqW|S)N)rrEz{}: {})rr(rrr&r
rr)rGrO�valuer@rArBr/r?Z_report_icase_hintrRr-)rr9r8rr"r:rDrrrr4�s


 z InstallCommand._install_packagesN)r
rr)�__name__�
__module__�__qualname__�__doc__�hawkeyZ	FORM_NAMEZFORM_NAZ
FORM_NEVRAr9rNrI�keys�aliasesrZsummary�staticmethodrrr;r#r'r1r2r3rRr4rrrrr	%s"
5		r	)Z
__future__rrZlogging�	itertoolsrrXZdnf.exceptionsrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZ	getLoggerr/ZCommandr	rrrr�<module>s
PK"�FZ�!�W�,�,/cli/commands/__pycache__/history.cpython-36.pycnu�[���3

i�-e%F�@s�ddlmZddlmZddlmZddlZddlZddlmZmZddl	m
Z
ddlmZm
Z
ddl	ZddlZddlZddlZddlZddlZddlZejd�ZGd	d
�d
e
j�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�_�ucd)�commands)�TransactionReplay�serialize_transaction�dnfcs�eZdZdZd+Zed�Zddddd	d
ddgZ�fd
d�Ze	dd��Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Z�ZS),�HistoryCommandzUA class containing methods needed by the cli to execute the
    history command.
    �history�histz(display, or use, the transaction history�list�info�redo�replay�rollback�store�undo�
userinstalledcstt|�j||�d|_dS)NF)�superr�__init__�_require_one_transaction_id)�self�args�kw)�	__class__��/usr/lib/python3.6/history.pyr4szHistoryCommand.__init__c
Cs�|jddddjtjddjtjdd���d�|jd	d
dd�|jd
ddtd�d�|jdd
td�d�|jdd
td�d�|jdd
td�d�|jddddd�|jddddd�dS)N�transactions_action�?ZCOMMANDz$Available commands: {} (default), {}rz, �)�nargs�metavar�helpz	--reverse�
store_truez$display history list output reversed)�actionr$z-oz--outputz<For the store command, file path to store the transaction to)�defaultr$z--ignore-installedzXFor the replay command, don't check for installed packages matching those in transactionz--ignore-extraszRFor the replay command, don't check for extra packages pulled into the transactionz--skip-unavailablezYFor the replay command, skip packages that are not available or have missing dependencies�transactions�*ZTRANSACTIONz�For commands working with history transactions, Transaction ID (<number>, 'last' or 'last-<number>' for one transaction, <transaction-id>..<transaction-id> for a range)�transaction_filenameZTRANSACTION_FILEzEFor the replay command, path to the stored transaction file to replay)�add_argument�formatr�_CMDS�joinr)�parserrrr�
set_argparser9s$



zHistoryCommand.set_argparsercCs.|jjs|jd|j_n0|jj|jkrH|jjjd|jj�|jd|j_td�j|jj�|_|jj	}|jjdk�r|jjs�t
jjtd���t|jj�dkr�t
jjtd���t
jj|jjd�|j_g|j_d|_d|_d|_d|jj_d|jj_t
jjj|j|j�n�|jjd	k�r6d|_|jj�s�t
jjtd
���n�|jjdk�r�d|_d|_d|_d|_|jj�s�td
�}tj|�t
jj|��n,t|jj�dk�r�tj|j�t
jj|j��d|_t
jjj|j|j�nd|_d|_|jjjdk�r*t
j |jjjt
j!��r*td|jjj�}tj|�t
jj|��dS)NrzUFound more than one transaction ID.
'{}' requires one transaction ID or package name.rzNo transaction file name given.r!z6More than one argument given as transaction file name.TFrz(No transaction ID or package name given.rrrz:memory:z+You don't have access to the history DB: %s)rrr)"�optsrr-r(�insertrr,�_require_one_transaction_id_msg�cli�demandsr
�CliError�len�os�path�abspathr*Zavailable_reposZ	resolvingZ	root_user�base�confZclean_requirements_on_removeZinstall_weak_depsrZ_checkGPGKeyr�logger�criticalZfresh_metadataZsack_activationr�access�R_OK)rr5�msgrrr�	configureUsZ




(
zHistoryCommand.configurecCs�t|tjj�rv|jjdkr2|jj\}td�|fS|jjdkrv|jjddkrV|jjn|jjdd�\}td�|fStjj	j
j||�S)	z.Get suggestions for resolving the given error.rzVCannot undo transaction %s, doing so would result in an inconsistent package database.rr�forcer!NzZCannot rollback transaction %s, doing so would result in an inconsistent package database.)�
isinstancer
�
exceptionsZTransactionCheckErrorr1rr(rr4r�Command�get_error_output)r�errorZid_rrrrG�s
zHistoryCommand.get_error_outputcCs:|j|�}t|�}t|j|dd|jjd�|_|jj�dS)NT)�data�ignore_installed�
ignore_extras�skip_unavailable)�_history_get_transactionr	rr;r1rLr�run)r�extcmds�oldrIrrr�
_hcmd_redo�s
zHistoryCommand._hcmd_redocCsD|stjjtd���|jjj|�}|s@tjjtd�j|d���|S)NzNo transaction ID givenzTransaction ID "{0}" not found.r)r
r4r6rr;rrPr,)rrOrPrrr�_history_get_transactions�sz(HistoryCommand._history_get_transactionscCs.|j|�}t|�dkr&tjjtd���|dS)Nr!z#Found more than one transaction ID!r)rRr7r
r4r6r)rrOrPrrrrM�s
z'HistoryCommand._history_get_transactioncCs|j|�}|j|�dS)N)rM�_revert_transaction)rrOrPrrr�
_hcmd_undo�s
zHistoryCommand._hcmd_undocCs�|j|�}|jjj�}d}|j|jkr�x�|jjjtt|jd|jd���D]X}|jrjt	j
td�|j�n|jr�t	j
td�|j�|dkr�t
jjj|�}qL|j|�qLW|j|�dS)Nr!z-Transaction history is incomplete, before %u.z,Transaction history is incomplete, after %u.)rMr;r�last�tidrPr�rangeZaltered_lt_rpmdbr=ZwarningrZaltered_gt_rpmdbr
ZdbZMergedTransactionWrapper�mergerS)rrOrPrUZmerged_trans�transrrr�_hcmd_rollback�s
*zHistoryCommand._hcmd_rollbackc	Cs&dddddddddd	d
d�}t|�}x�dD]�}x�|j|g�D]�}||d|d<|ddkrt|jdd�dkrtd|d<|dd
kr�d|kr�tj|d�}|jtjgd�d}|jjjj	|j
|j|j�dd�}t
jj|�|d<|jd�tjkr<d|d<q<Wq*Wt|j|dd|jjd�|_|jj�dS)N�Removed�Install�
Downgraded�	Downgrade�Upgraded�Upgrade�	Reinstall�Reinstalled�	Obsoletedz
Reason Change)r\r[r`r_r^r]rbrarcZObsoletez
Reason Change�rpms�groups�environmentsr&�reasonZcleanZ
dependency�nevra)Zformsrr!Zrepo_idT)rIrJrKrL)rdrerf)r	�get�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRA�outputrZswdbZresolveRPMTransactionItemReason�nameZarch�tids�libdnfZtransactionZTransactionItemReasonToStringZSYSTEM_REPO_NAMErr;r1rLrrN)	rrYZ
action_maprIZcontent_typeZtiZsubjrhrgrrrrS�sD

z"HistoryCommand._revert_transactioncCs:t|jj��}|jj|dd�}|dkr6tjjtd���dS)z&Execute history userinstalled command.zPackages installed by userrhrzNo packages to listN)	�tupler;Ziter_userinstalledrkZlistPkgsr
r4r6r)rZpkgsZn_listedrrr�_hcmd_userinstalledsz"HistoryCommand._hcmd_userinstalledc
s��fdd�}t�}t�}�xĈjjD�]�}d|k�r\y|jdd�\}}Wn0tk
rxtjtd�j|��t	j
j�YnXtd�}y||�}Wn0tk
r�tjt|�j|��t	j
j�YnXy||�}Wn0tk
r�tjt|�j|��t	j
j�YnX�j�r$||k�r$tj�j
�t	j
j�||k�r8||}}|j||f�|jt||d��q$y|j||��Wq$tk
�r��jjj|g�}|�r�|j|�n4td�j|�}	�j�r�tj|	�t	j
j�n
tj|	�Yq$Xq$Wt|d	d
�|fS)z0Convert commandline arguments to transaction idscsJ|dkrd}n|jd�r$|dd�}t|�}|dkrF|�jjj�j7}|S)NrU�0zlast-�r)�
startswith�intrkrrUrV)�sZtransaction_id)rrr�str2transaction_ids
z@HistoryCommand._args2transaction_ids.<locals>.str2transaction_idz..�zWInvalid transaction ID range definition '{}'.
Use '<transaction-id>..<transaction-id>'.zNCan't convert '{}' to transaction ID.
Use '<number>', 'last', 'last-<number>'.r!z8No transaction which manipulates package '{}' was found.T)�reverse)�setr1r(�split�
ValueErrorr=r>rr,r
r4r6rr3�add�updaterWrkr�searchr�sorted)
rrvrm�merged_tids�tZbegin_transaction_idZend_transaction_idZcant_convert_msgZtransact_ids_from_pkgnamerAr)rr�_args2transaction_ids
sV





z$HistoryCommand._args2transaction_idsc
Cs@|jj}|dkrDt|j|jj|jj|jj|jjd�|_|jj	��n�|j
�\}}|dkr~|sf|jjr~|jj
||jjd��n�|dkr�|s�|jjr�|jj||jj|��n�|dkr�|j|��nz|dkr�|j|��nd|dkr�|j|��nN|d	k�r|j��n8|d
k�r<|j|�}t|�}y�|jjdk	�r8|jjnd}|jjj�sV|jjj�r�tjj|��r�td�j|�}|jjj�s�|jjjd
j|�dj|�d��r�ttd�j|��dSt |d��"}t!j"||ddd�|j#d�WdQRXttd�j|��Wn>t$k
�r:}	z t%j&j'td�jt(|	����WYdd}	~	XnXdS)Nr)�filenamerJrKrLr)rxrrrrrrztransaction.jsonz{} exists, overwrite?z
{} [y/N]: z
{} [Y/n]: )rAZdefaultyes_msgzNot overwriting {}, exiting.�wrrT)�indentZ	sort_keys�
zTransaction saved to {}.zError storing transaction: {}))r1rrr;r*rJrKrLrrNr�r(rkZhistoryListCmdrxZhistoryInfoCmdrTrQrZrprMr	r<ZassumenoZ	assumeyesr8r9�isfilerr,Zuserconfirm�print�open�json�dump�write�OSErrorr
r4r6�str)
rZvcmdrmr�rVrIr�rA�f�errrrNMsN


(zHistoryCommand.runcCs|jjdkrdS|jj�dS)Nrrrr)rrrr)r1rrZpost_transaction)rrrr�run_resolvedszHistoryCommand.run_resolvedcCsX|jjdkrdS|jj�}|rTtjtjjt	d��x |D]}tjtjjd|�q8WdS)NrrrrzEWarning, the following problems occurred while running a transaction:z  )rrrr)
r1rrZget_warningsr=�logr
�loggingZWARNINGr)r�warningsr�rrr�run_transaction�s


zHistoryCommand.run_transaction)rr
)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr-r�staticmethodr0rBrGrQrRrMrTrZrSrpr�rNr�r��
__classcell__rr)rrr*s&=	0@2r)Z
__future__rrrrnrjZdnf.i18nrrZdnf.clirZdnf.transaction_srrr	r
Zdnf.exceptionsZdnf.transactionZdnf.utilr�r�r8Z	getLoggerr=rFrrrrr�<module>s 
PK"�FZj�X��-cli/commands/__pycache__/check.cpython-36.pycnu�[���3

�ft`?�@sVddlmZddlmZddlmZddlmZddlZddlZ	Gdd�dej
�ZdS)�)�absolute_import)�unicode_literals)�_)�commandsNc@s8eZdZdZdZed�Zedd��Zdd�Z	dd	�Z
d
S)�CheckCommandzSA class containing methods needed by the cli to execute the check
    command.
    �checkz#check for problems in the packagedbc	Cs�|jddddtd�d�|jddddtd	�d�|jd
dddtd�d�|jd
dddtd�d�|jddddtd�d�|jdddddddggtjd�dS)Nz--all�check_typesZappend_const�allzshow all problems; default)�dest�action�const�helpz--dependencies�dependencieszshow dependency problemsz--duplicates�
duplicateszshow duplicate problemsz--obsoleted�	obsoletedzshow obsoleted packagesz
--provides�provideszshow problems with provides�check_yum_types�*)�nargs�choicesr
)�add_argumentr�argparseZSUPPRESS)�parser�r�/usr/lib/python3.6/check.py�
set_argparser$s$zCheckCommand.set_argparsercCsxd|jj_|jjr<|jjr0|jj|jj|j_n|jj|j_|jjsPdh|j_nt|jj�|j_|jjj	dg7_	dS)NTr	)
ZcliZdemandsZsack_activation�optsrr�set�base�confZdisable_excludes)�selfrrr�	configure;s
zCheckCommand.configurec	Cs�t�}|jjj�j�}|jjjddh��r�d}�x||D�]r}x�t|j�tt|j	�t|j
��BD]�}t|�jd�rtq`t
|j|gd��s`t|�jd�r�|dkr�tjj|j�}tjj|�}|jt|�d�tjj|�}|jjj|_|j|dd�|j�}|r�q`td�}	|j|	j|jjjj|�|jjjj|���q`Wxx|jD]n}
|j|
gt|
�j �d	d
�}xJ|D]B}d}	|j|	j|jjjj|�|jjjj|
�|jjjj|����q^W�q8Wq6W|jjjddh��rN|jj!|�}
|j"�j#|
�j$�}xl|j%�D]`\}}|j&�xL|d
d�D]<}td�j|jjjj|d	�|jjjj|��}	|j|	��qW�q�W|jjjddh��r�x||D]t}xl|j'D]b}|j|gt|�j �d	d
�}t
|��rttd�j|jjjj|d	�|jjjj|��}	|j|	��qtW�qhW|jjjddh��r\xf|D]^}xV|j(D]L}||j|gd�k�rtd�}	|j|	j|jjjj|�|jjjj|����qW�q�Wxt)|�D]}	t*|	��qfW|�r�tj+j,djt
|����dS)Nr	rZrpmlib)r�(F)ZselectZoptionalz{} has missing requires of {}r)r�namez"{} has installed conflict "{}": {}r�z{} is a duplicate with {}rz{} is obsoleted by {}rz%{} provides {} but it cannot be foundzCheck discovered {} problem(s))-rr�sackZqueryZ	installedrr�intersectionZregular_requiresZrequires_preZprereq_ignoreinst�str�
startswith�len�filter�dnfZ
rpmdb_sack�selectorZSelector�goalZGoalrZprotect_running_kernelZinstall�runr�add�format�outputZtermZboldZ	conflicts�splitZ_get_installonly_queryZ
duplicated�
differenceZ
_name_dict�items�sortZ	obsoletesr�sorted�print�
exceptions�Error)r Z
output_set�qr%ZpkgZrequirer,r-Zsolved�msgZconflictZ
conflictedZconflict_pkgZinstallonlyZdupsr#Zpkgs�dupZobsoleterZproviderrrr.Is�(
$


 zCheckCommand.runN)r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrr!r.rrrrrsr)Z
__future__rrZdnf.i18nrZdnf.clirrZdnf.exceptionsr+ZCommandrrrrr�<module>sPK"�FZ3",�t:t:.cli/commands/__pycache__/module.cpython-36.pycnu�[���3

�ft`�A�@s�ddlmZddlmZmZddlmZddlmZddl	m
Z
ddl	ZddlZddl
Z
ddlZddlZddlZddlZGdd�dej�ZdS)	�)�print_function)�commands�CliError)�_)�NoModuleException)�loggerNcs*eZdZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�de�ZGd	d
�d
e�Z	Gdd�de�Z
Gd
d�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�Zeeee	e
eee
eeehZehZd%Zed�Z�fdd�Zdd�Zdd �Zd!d"�Zd#d$�Z�ZS)&�
ModuleCommandcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)zModuleCommand.SubCommandcs(ttj|�j|�tjjj|j�|_dS)N)	�superr�
SubCommand�__init__�dnf�module�module_baseZ
ModuleBase�base)�self�cli)�	__class__��/usr/lib/python3.6/module.pyr(sz!ModuleCommand.SubCommand.__init__c	Cs�t�}x�|jjD]�}|jj|�\}}|dkr.q|jr:|jnd}|jrJ|jnd}|jr^|jdksd|jrxt	j
td�j|��|j
r�|j
nd}|jjj||dd|�}|j|�qW|S)N��zjOnly module name, stream, architecture or profile is used. Ignoring unneeded information in argument: '{}'���)�set�opts�module_specr�_get_modules�name�stream�version�contextr�infor�format�archr�_moduleContainer�query�update)	r�modules_from_specsr�__Znsvcaprrr"�modulesrrr�#_get_modules_from_name_stream_specs,sz<ModuleCommand.SubCommand._get_modules_from_name_stream_specsc	Cs�t�}t�}x0|D](}||kr|jjj|�r|j|j��qWxB|D]:}tj|�}x*|jtj	gd�D]}|j
rd|j|j
�qdWqDW||fS)N)Zforms)rrr#ZisModuleActiver%ZgetArtifacts�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRAr�add)	rZuse_modulesZskip_modulesZ	artifactsZ	pkg_namesr
ZartifactZsubjZ	nevra_objrrr�_get_module_artifact_names>s


z3ModuleCommand.SubCommand._get_module_artifact_names)�__name__�
__module__�__qualname__rr)r,�
__classcell__rr)rrr
&sr
c@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.ListSubCommand�listz,list all module streams, profiles and statescCs|jj}d|_d|_dS)NT)r�demands�available_repos�sack_activation)rr2rrr�	configureRsz&ModuleCommand.ListSubCommand.configurecCs�|j}|jjr&|j|jjtjjj�}nV|jj	rF|j|jjtjjj
�}n6|jjrf|j|jjtjjj�}n|j|jjtjjj
�}|r�t|�dS|jjr�td�}tjj|��dS)NzNo matching Modules to list)rr�enabledZ_get_brief_descriptionr�libdnfr
�ModulePackageContainerZModuleState_ENABLED�disabledZModuleState_DISABLED�	installedZModuleState_INSTALLEDZModuleState_UNKNOWN�printrr�
exceptions�Error)rZmods�output�msgrrr�
run_on_moduleWs(z*ModuleCommand.ListSubCommand.run_on_moduleN)r1)r-r.r/�aliasesr�summaryr5r@rrrr�ListSubCommandMsrCc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.InfoSubCommandr z)print detailed information about a modulecCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr5tsz&ModuleCommand.InfoSubCommand.configurecCsf|jjr|jj|jj�}n*|jjr4|jj|jj�}n|jj|jj�}|rRt|�nt	j
jtd���dS)NzNo matching Modules to list)
r�verboserZ_get_full_infor�profileZ_get_info_profilesZ	_get_infor;rr<r=r)rr>rrrr@ys
z*ModuleCommand.InfoSubCommand.run_on_moduleN)r )r-r.r/rArrBr5r@rrrr�InfoSubCommandosrFc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.EnableSubCommand�enablezenable a module streamcCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4�	resolving�	root_user)rr2rrrr5�s
z(ModuleCommand.EnableSubCommand.configurecCs�y|jj|jj�Wnltjjk
r�}zL|jjj	rb|j
s@|jrD|�|jrb|jdt
jjjkrb|�tjt|��WYdd}~XnXdS)Nr)rrGrrrr<�
MarkingErrorsr�conf�strict�no_match_group_specs�error_group_specs�module_depsolv_errorsr7r
r8�!ModuleErrorType_ERROR_IN_DEFAULTSr�error�str)r�errrr@�s
z,ModuleCommand.EnableSubCommand.run_on_moduleN)rG)r-r.r/rArrBr5r@rrrr�EnableSubCommand�srTc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.DisableSubCommand�disablez%disable a module with all its streamscCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z)ModuleCommand.DisableSubCommand.configurecCs�y|jj|jj�Wnltjjk
r�}zL|jjj	rb|j
s@|jrD|�|jrb|jdt
jjjkrb|�tjt|��WYdd}~XnXdS)Nr)rrUrrrr<rJrrKrLrMrNrOr7r
r8rPrrQrR)rrSrrrr@�s
z-ModuleCommand.DisableSubCommand.run_on_moduleN)rU)r-r.r/rArrBr5r@rrrr�DisableSubCommand�srVc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.ResetSubCommand�resetzreset a modulecCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z'ModuleCommand.ResetSubCommand.configurecCsby|jj|jj�WnHtjjk
r\}z(|jjj	r>|j
r>|�tjt
|��WYdd}~XnXdS)N)rrWrrrr<rJrrKrLrMrrQrR)rrSrrrr@�s
z+ModuleCommand.ResetSubCommand.run_on_moduleN)rW)r-r.r/rArrBr5r@rrrr�ResetSubCommand�srXc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.InstallSubCommand�installz/install a module profile including its packagescCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z)ModuleCommand.InstallSubCommand.configurecCspy|jj|jj|jjj�WnNtjj	k
rj}z.|jjjrL|j
sH|jrL|�tj
t|��WYdd}~XnXdS)N)rrYrrrrKrLrr<rJrMrNrrQrR)rrSrrrr@�s
z-ModuleCommand.InstallSubCommand.run_on_moduleN)rY)r-r.r/rArrBr5r@rrrr�InstallSubCommand�srZc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.UpdateSubCommandr%z0update packages associated with an active streamcCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z(ModuleCommand.UpdateSubCommand.configurecCs&|jj|jj�}|r"tdj|���dS)Nz, )rZupgraderrr�join)rZmodule_specsrrrr@�sz,ModuleCommand.UpdateSubCommand.run_on_moduleN)r%)r-r.r/rArrBr5r@rrrr�UpdateSubCommand�sr\c@s(eZdZd	Zed�Zdd�Zdd�ZdS)
zModuleCommand.RemoveSubCommand�remove�erasez3remove installed module profiles and their packagescCs0|jj}d|_d|_d|_d|_d|_d|_dS)NTF)rr2Z
allow_erasingr3Zfresh_metadatarHrIr4)rr2rrrr5�sz(ModuleCommand.RemoveSubCommand.configurec
Cs�|jj|jj�}|jjr�|j�}|j|t��\}}|j|jj	j
�|�\}}|jjj�j
�j|d�}|jjj�j
�j|d�}xF|D]>}||kr�td�j|�}	tj|	�q�|jjj||jjjd�q�W|s�dStjtjj|d��dS)N)rz0Package {} belongs to multiple modules, skipping)Z
clean_deps)rM)rr]rr�allr)r,rrr#ZgetModulePackages�sackr$r:�filtermrr!rr Zgoalr^rKZclean_requirements_on_removerQrr<rJ)
rZskipped_groupsr&Zremove_names_from_specr'Z
keep_namesZremove_queryZ
keep_query�pkgr?rrrr@�s&
z,ModuleCommand.RemoveSubCommand.run_on_moduleN)r]r^)r-r.r/rArrBr5r@rrrr�RemoveSubCommand�s	rcc@s(eZdZdZed�Zdd�Zdd�ZdS)	z ModuleCommand.SwitchToSubCommand�	switch-toz7switch a module to a stream and distrosync rpm packagescCs.|jj}d|_d|_d|_d|_d|jj_dS)NT)	rr2r3r4rHrIrrKZmodule_stream_switch)rr2rrrr5sz*ModuleCommand.SwitchToSubCommand.configurecCsry|jj|jj|jjjd�WnNtjj	k
rl}z.|jjjrN|j
sJ|jrN|�tj
t|��WYdd}~XnXdS)N)rL)rZ	switch_torrrrKrLrr<rJrMrNrrQrR)rrSrrrr@"s
z.ModuleCommand.SwitchToSubCommand.run_on_moduleN)rd)r-r.r/rArrBr5r@rrrr�SwitchToSubCommandsrec@s(eZdZdZed�Zdd�Zdd�ZdS)	z ModuleCommand.ProvidesSubCommand�provideszlist modular packagescCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr50sz*ModuleCommand.ProvidesSubCommand.configurecCs |jj|jj�}|rt|�dS)N)rZ_what_providesrrr;)rr>rrrr@5sz.ModuleCommand.ProvidesSubCommand.run_on_moduleN)rf)r-r.r/rArrBr5r@rrrr�ProvidesSubCommand+srgc@s(eZdZdZed�Zdd�Zdd�ZdS)	z!ModuleCommand.RepoquerySubCommand�	repoqueryz#list packages belonging to a modulecCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr5?sz+ModuleCommand.RepoquerySubCommand.configurecCs�t�}x*|jjD]}|jj|�\}}|j|�qW|j|t��\}}t�}|jjs\|jjr�|j	j
j�j�j|d�}x|D]}	|j
t|	��qzW|jjr�|j	j
j�j�j|d�}x|D]}	|j
t|	��q�Wdjt|��}
t|
�dS)N)Znevra_strict)r�
)rrrrrr%r,�	availabler:rr`r$rar+rRr[�sortedr;)rr&rr(r'Znames_from_specZspec_artifactsZpackage_stringsr$rbr>rrrr@Ds"

z/ModuleCommand.RepoquerySubCommand.run_on_moduleN)rh)r-r.r/rArrBr5r@rrrr�RepoquerySubCommand:srlr
zInteract with Modules.cs>tt|�j���fdd�|jD�}d|_dd�|D�|_dS)Nc3s|]}|��VqdS)Nr)�.0�subcmd)rrr�	<genexpr>dsz)ModuleCommand.__init__.<locals>.<genexpr>cSsi|]}|jD]
}||�qqSr)rA)rmrn�aliasrrr�
<dictcomp>fsz*ModuleCommand.__init__.<locals>.<dictcomp>)r	rr�SUBCMDSrn�_subcmd_name2obj)rrZsubcmd_objs)r)rrrbs
zModuleCommand.__init__cCs|j�}|jdddtd�d�|jdddtd�d�|jd	d
dtd�d�|jdd
dtd�d�|jdddtd�d�|jdddtd�d�g}g}xHt|jdd�d�D]2}|j|jd�|jdj|jd|jp�d��q�W|jdd|ddj	|�d�|jd d!d"td#�d$�dS)%Nz	--enabledr6�
store_truezshow only enabled modules)�dest�action�helpz
--disabledr9zshow only disabled modulesz--installedr:z'show only installed modules or packagesz	--profilerEzshow profile contentz--availablerjzshow only available packagesz--allr_zremove all modular packagescSs
|jdS)Nr)rA)�xrrr�<lambda>~sz-ModuleCommand.set_argparser.<locals>.<lambda>)�keyrz{}: {}rrnrz<modular command>ri)�nargs�choices�metavarrwrzmodule-spec�*zModule specification)r}r{rw)
Zadd_mutually_exclusive_group�add_argumentrrkrr�appendrAr!rBr[)r�parserZnarrowsZsubcommand_choicesZsubcommand_helprnrrr�
set_argparseris8
"

zModuleCommand.set_argparsercCsZy|j|jjd|_Wn(ttfk
r@|jjj�t�YnX|j|j_|jj�dS)Nr)	rsrrnr�KeyErrorrZ	optparserZprint_usager5)rrrrr5�s

zModuleCommand.configurecCs|j�|jj�dS)N)�check_required_argumentrnr@)rrrr�run�szModuleCommand.runcCsRdd�|jD�}|jjd|krN|jjsNttd�jtjj	|jj
|jjd���dS)NcSsg|]}|jD]}|�qqSr)rA)rmrnrprrr�
<listcomp>�sz9ModuleCommand.check_required_argument.<locals>.<listcomp>rz{} {} {}: too few arguments)�SUBCMDS_NOT_REQUIRED_ARGrrnrrrr!r�utilZ	MAIN_PROGZcommand)rZnot_required_argumentrrrr��s
z%ModuleCommand.check_required_argument)r
)r-r.r/r�Commandr
rCrFrTrVrXrZr\rcrergrlrrr�rArrBrr�r5r�r�r0rr)rrr%s.'"%	r)Z
__future__rZdnf.clirrZdnf.i18nrZdnf.module.exceptionsrZdnf.utilrr�sys�osr*r7Zdnf.module.module_baseZdnf.exceptionsr�rrrrr�<module>sPK"�FZ����Q6Q68cli/commands/__pycache__/updateinfo.cpython-36.opt-1.pycnu�[���3

�ft`2J�@s�dZddlmZddlmZddlmZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
mZdd	lmZd
d�ZGdd
�d
e	j�ZdS)zUpdateInfo CLI command.�)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�_�exact_width)�unicodecCstdd�|D��S)z7Return maximum length of items in a non-empty iterable.css|]}t|�VqdS)N)r)�.0�item�r� /usr/lib/python3.6/updateinfo.py�	<genexpr>&sz_maxlen.<locals>.<genexpr>)�max)�iterablerrr
�_maxlen$srcs.eZdZdZejed�ejed�ejed�ej	ed�ej
ed�iZed�ed�ed	�ed
�d�Zdddd
d
d
dd�Z
dgee
j��Zed�ZdZdddegZ�fdd�Zedd��Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Z d.d/�Z!d0d1�Z"d2d3�Z#d4d5�Z$�Z%S)6�UpdateInfoCommandz)Implementation of the UpdateInfo command.�bugfix�enhancement�security�unknown�
newpackagez
Critical/Sec.zImportant/Sec.z
Moderate/Sec.zLow/Sec.)�Critical�	Important�Moderate�Low�list�info�summary)zlist-updateinfoz
list-securityzlist-seczinfo-updateinfoz
info-securityzinfo-seczsummary-updateinfoZ
updateinfoz!display advisories about packages�	available�	installed�updates�allcstt|�j|�d|_dS)zInitialize the command.N)�superr�__init__�_installed_query)�self�cli)�	__class__rr
r$CszUpdateInfoCommand.__init__c	Cs|j�}|jddddtd�d�|jddddtd	�d�|jd
dddtd�d�|jd
dddtd�d�dddg}|j�}|jddddtd�d�|jddddtd�d�|jddddtd�d�|jddddtd�d�|jd d!ddtd"�d�|jd#d$d%||d&tjtd'�d(�dS))Nz--available�
_availabilityr�store_constz?advisories about newer versions of installed packages (default))�dest�const�action�helpz--installedr z?advisories about equal and older versions of installed packagesz	--updatesr!zbadvisories about newer versions of those installed packages for which a newer version is availablez--allr"z3advisories about any versions of installed packagesrrrz	--summary�_spec_actionz$show summary of advisories (default)z--listzshow list of advisoriesz--infozshow info of advisoriesz
--with-cve�with_cveF�
store_truez'show only advisories with CVE reference)r+�defaultr-r.z	--with-bz�with_bzz,show only advisories with bugzilla reference�spec�*ZSPECrzPackage specification)�nargs�metavar�choicesr2r-r.)Zadd_mutually_exclusive_group�add_argumentrrZPkgNarrowCallback)�parser�availabilityZcmdsZ
output_formatrrr
�
set_argparserHsD






zUpdateInfoCommand.set_argparsercCs�d|jj_d|jj_|jj|jkr6|j|jj|j_n|jjrJ|jj|j_|jj	r`|jj	|j_
n:|jjs||jjd|jkr�|j
|j_
n|jjjd�|j_
t�|j_|jjr�|jjjtj�|jjr�|jjjtj�|jjr�|jjjtj�|jj�r|jjjtj�|jj�r�|jjjd�}|dk�r:|jjjtj�n�|dk�rV|jjjtj�np|dk�rr|jjjtj�nT|dk�r�|jjjtj�n8|d
k�r�d|j_n$|d
k�r�d|j_n|jjjd|�|jj�r�|jjj|jj�dS)zADo any command-specific configuration based on command arguments.Trrrr�secr�	bugzillas�bzs�cvesN)rr=)r>r?) r'ZdemandsZavailable_reposZsack_activation�optsZcommand�direct_commands�spec_actionr/r)r;r4�availabilities�availability_default�pop�set�_advisory_typesr�add�hawkey�ADVISORY_BUGFIXr�ADVISORY_ENHANCEMENTr�ADVISORY_NEWPACKAGEr�ADVISORY_SECURITYr3r0�insert�advisory�extend)r&r4rrr
�	configurensJ













zUpdateInfoCommand.configurecCs�|jjdkr$|j|jj�}td�}n^|jjdkrH|j|jj�}td�}n:|jjdkrl|j|jj�}td�}n|j|jj�}td�}|jjdkr�|j	|�n$|jjdkr�|j
|�n|j||�dS)z#Execute the command with arguments.r r!r"rrrN)rAr;�installed_apkg_adv_instsr4r�updating_apkg_adv_insts�all_apkg_adv_insts�available_apkg_adv_instsrC�display_list�display_info�display_summary)r&�apkg_adv_insts�descriptionrrr
�run�s 


zUpdateInfoCommand.runcCs@|jdkr |jjj�j�j�|_|jj|j|jd�}t	|�dkS)N)�nameZevr__gter)
r%�base�sack�queryr Zapply�filterr]�evr�len)r&�apackage�qrrr
�_newer_equal_installed�s
z(UpdateInfoCommand._newer_equal_installedcs,|jjrJ|jjrJ|jjrJ|jjrJ|jjrJ|jjrJ|jjrJdS�j|jjkr\dSt	�fdd�|jjD��rzdS|jjr��j|jjkr�dS|jjr�t	�fdd�|jjD��r�dS|jjr�t	�fdd�|jjD��r�dS|jj�rt	dd��j
D���rdS|jj�r(t	dd��j
D���r(dSd	S)
NTc3s|]}tj�j|�VqdS)N)�fnmatch�fnmatchcase�id)r
�pat)rPrr
r�sz6UpdateInfoCommand._advisory_matcher.<locals>.<genexpr>csg|]}�j|��qSr)Z	match_bug)r
Zbug)rPrr
�
<listcomp>�sz7UpdateInfoCommand._advisory_matcher.<locals>.<listcomp>csg|]}�j|��qSr)Z	match_cve)r
Zcve)rPrr
rk�scSsg|]}|jtjk�qSr)�typerJ�
REFERENCE_CVE)r
�refrrr
rk�scSsg|]}|jtjk�qSr)rlrJ�REFERENCE_BUGZILLA)r
rnrrr
rk�sF)rArHr4�severityZbugzillar@r0r3rl�any�
references)r&rPr)rPr
�_advisory_matcher�s2






""

z#UpdateInfoCommand._advisory_matcherc#shxb|j|�D]T��j|jj�}|j|�}t�fdd�|jjD��}|sJ|r|j��}�||fVqWdS)z4Return (adv. package, advisory, installed) triplets.c3s|]}tj�j|�VqdS)N)rgrhr])r
rj)rdrr
r�szAUpdateInfoCommand._apackage_advisory_installed.<locals>.<genexpr>N)	Zget_advisory_pkgsZget_advisoryr^r_rsrqrAr4rf)r&Z
pkgs_queryZcmptype�specsrPZadvisory_matchZapackage_matchr r)rdr
�_apackage_advisory_installed�s

z.UpdateInfoCommand._apackage_advisory_installedcCs@|jj}|j�jdd�}|j�}|r<|j|j�j|jd��}|S)z<Return query containing packages of currently running kernelT)�empty)�	sourcerpm)r^r_r`�filtermZget_running_kernel�unionrw)r&r_reZkernelrrr
�running_kernel_pkgs�sz%UpdateInfoCommand.running_kernel_pkgscCs8|jjj�j�jd�}|j|j�j��}|j|tj	|�S)z5Return available (adv. package, adv., inst.) triplets�)
r^r_r`r ZlatestryrzrurJ�GT)r&rtrerrr
rV�sz*UpdateInfoCommand.available_apkg_adv_instscCs"|j|jjj�j�tjtjB|�S)z5Return installed (adv. package, adv., inst.) triplets)rur^r_r`r rJ�LT�EQ)r&rtrrr
rS�sz*UpdateInfoCommand.installed_apkg_adv_instscCs |j|jjj�jdd�tj|�S)z4Return updating (adv. package, adv., inst.) tripletsT)Z
upgradable)rur^r_r`rxrJr|)r&rtrrr
rT�sz)UpdateInfoCommand.updating_apkg_adv_instscCs(|j|jjj�j�tjtjBtjB|�S)z5Return installed (adv. package, adv., inst.) triplets)	rur^r_r`r rJr}r~r|)r&rtrrr
rUsz$UpdateInfoCommand.all_apkg_adv_instscCsVi}xB|D]:\}}}|j||j<|jtjkr
|j|jf||j|jf<q
Wtj|j��S)zMake the summary of advisories.)rlrirJrNrp�collections�Counter�values)r&rZ�id2type�apkgrPr rrr
�_summaryszUpdateInfoCommand._summaryc	
CsV|j|�}|�r<ttd�|�dtd�|tjfdtd�|tjfdtd�|tjdffdtd�|tjd	ffdtd
�|tjdffdtd�|tjd
ffdtd�|tjdffdtd�|tjfdtd�|tjfdtd�|tjfg
}t	dd�|D��}x<|D]4\}}}|�s�qtd|d|t
|�|f��qW|jjj
�rR|jj�dS)z"Display the summary of advisories.zUpdates Information Summary: rzNew Package notice(s)zSecurity notice(s)r{zCritical Security notice(s)rzImportant Security notice(s)rzModerate Security notice(s)rzLow Security notice(s)rzUnknown Security notice(s)NzBugfix notice(s)zEnhancement notice(s)zother notice(s)css"|]}|drt|d�VqdS)�N)r	)r
�vrrr
r(sz4UpdateInfoCommand.display_summary.<locals>.<genexpr>z
    %*s %s�)r��printrrJrMrNrKrL�ADVISORY_UNKNOWNrr	r^�confZautocheck_running_kernelr'Z_check_running_kernel)	r&rZr[Ztyp2cntZlabel_counts�width�indent�label�countrrr
rYs2
$z!UpdateInfoCommand.display_summarycs��fdd�}�fdd�}t�}x�|D]�\}}}d|j|j|jf}�jjsR�jjr�x�|jD]Z}	|	jt	j
krx�jjrxqZn|	jt	jkr��jjr�qZ|j|jf|j
|||jft��|	j<qZWq$|j|jf|j
|||jft��|j<q$Wg}
d}}}
x�t|j�dd�d	�D]r\\}}}}t|
t|��}
xR|j�D]F\}}t|t|��}||�}t|t|��}|
j||�||||f��q.W�qWxZ|
D]R\}}}}}�jjj�r�td
||||||
||f�ntd||||||f��q�WdS)
zDisplay the list of advisories.cs �jjdksdS|rdSdSdS)Nr"�zi z  )rAr;)�inst)r&rr
�	inst2mark2s
z1UpdateInfoCommand.display_list.<locals>.inst2markcs2|tjkr�jj|td��S�jj|td��SdS)NzUnknown/Sec.r)rJrN�SECURITY2LABEL�getr�
TYPE2LABEL)�typZsev)r&rr
�
type2label:s
z2UpdateInfoCommand.display_list.<locals>.type2labelz%s-%s.%srcSs|dS)Nrr)�xrrr
�<lambda>Rsz0UpdateInfoCommand.display_list.<locals>.<lambda>)�keyz%s%-*s %-*s %-*s %sz%s%-*s %-*s %sN)�dictr]rb�archrAr0r3rrrlrJrormrp�
setdefault�updatedri�sorted�itemsrrc�appendr^r��verboser�)r&rZr�r�Znevra_inst_dictr�rPr ZnevrarnZadvlistZidwZtlwZnwr�Zaupdatedr�ZaidZatypesevr�r)r&r
rW0s4*($$zUpdateInfoCommand.display_listcs��jjj���jjj�td�td�td�td�td�td�td�td�td	�td
�f
�����fdd�}t�}x"|D]\}}}|j|||��qtWtd
j	t
|dd�d���dS)z/Display the details about available advisories.z	Update IDZTypeZUpdatedZBugsZCVEsZDescriptionZSeverityZRightsZFilesZ	Installedc
s�|jg�jj|jtd��gt|j�ggg|jp0dj�|j	g|j
pBdj�tt�fdd�|j
D���dg
}xV|jD]L}|jtjkr�|djdj|j|jp�d��qn|jtjkrn|dj|j�qnW|dj�|dj��s�d|d<d|d	<�jjd
k�r|�rtd�ntd�g|d
<t��}g}|jdd�|jd|j�|jdd�xxt�|�D]j\}}|ddgfk�rt�qXxJt|�D]>\}}	|dk�r�|nd}
|t|
�}|jd|d|
|	f��q~W�qXWdj|�S)Nrr�c3s|]}|j�kr|jVqdS)N)r��filename)r
Zpkg)�archesrr
rsszHUpdateInfoCommand.display_info.<locals>.advisory2info.<locals>.<genexpr>�z{} - {}r���r"�trueZfalse�	�=�Oz  rz	%*s%s: %s�
)rir�r�rlrr	r�r[�
splitlinesrpZrightsr�rGZpackagesrrrJror��format�titlerm�sortrAr;r�zip�	enumerater�join)rPr Z
attributesrnr��linesr�Z	atr_lines�i�liner�Zkey_padding)r��labelsr&r�rr
�
advisory2infoisF
 "z5UpdateInfoCommand.display_info.<locals>.advisory2infoz

cSs|j�S)N)�lower)r�rrr
r��sz0UpdateInfoCommand.display_info.<locals>.<lambda>)r�N)r^r_Zlist_archesr�r�rrGrIr�r�r�)r&rZr�Z
advisoriesr�rPr r)r�r�r&r�r
rXas
(zUpdateInfoCommand.display_info)&�__name__�
__module__�__qualname__�__doc__rJrKrrLrNr�rMr�r�rBr�keys�aliasesrrErDr$�staticmethodr<rRr\rfrsrurzrVrSrTrUr�rYrWrX�
__classcell__rr)r(r
r)sJ



&6	1r)r�Z
__future__rrrrrgrJZdnf.clirZdnf.cli.option_parserrZdnf.i18nrrZ
dnf.pycompr	rZCommandrrrrr
�<module>sPK"�FZQx�__2cli/commands/__pycache__/swap.cpython-36.opt-1.pycnu�[���3

�ft`s	�@s`ddlmZddlmZddlmZddlmZddlZddl	Z	e	j
d�ZGdd�dej�Z
dS)	�)�absolute_import)�unicode_literals)�_)�commandsN�dnfc@sLeZdZdZdZed�jejj	d�Z
edd��Zdd�Z
d	d
�Zdd�Zd
S)�SwapCommandzNA class containing methods needed by the cli to execute the swap command.
    �swapz=run an interactive {prog} mod for remove and install one spec)�progcCs,|jddtd�d�|jddtd�d�dS)N�remove_specZstorezThe specs that will be removed)�action�help�install_specz The specs that will be installed)�add_argumentr)�parser�r�/usr/lib/python3.6/swap.py�
set_argparser&s
zSwapCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�tj	|j|j
jg�dS)NT)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�baseZ_checkEnabledRepo�optsr
)�selfrrrr�	configure,szSwapCommand.configurecCs@|jjj|�}|dk	r<||j�}|jjj|||g�|j�dS)N)rZcli_commands�getZ	optparserZparse_command_args�run)rZcmd_str�specZcmd_cls�cmdrrr�_perform5s

zSwapCommand._performcCs$|jd|jj�|jd|jj�dS)N�removeZinstall)rrr
r
)rrrrr<szSwapCommand.runN)r)�__name__�
__module__�__qualname__�__doc__�aliasesr�formatr�utilZMAIN_PROG_UPPERZsummary�staticmethodrrrrrrrrrs	r)Z
__future__rrZdnf.i18nrZdnf.clirZdnf.utilrZloggingZ	getLoggerZloggerZCommandrrrrr�<module>s
PK"�FZ��96cli/commands/__pycache__/repolist.cpython-36.opt-1.pycnu�[���3

�ft`z2�@s�ddlmZddlmZddlmZddlmZmZmZm	Z	ddl
mZddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZejd�Zdd	�Zd
d�Zdd
�Zdd�ZGdd�dej�ZdS)�)�absolute_import)�unicode_literals)�commands)�_�ucd�fill_exact_width�exact_width)�OptionParserN�dnfcCsd|rtjj|jj��ntd�}|jdkr4td�|S|jsFtd�|St|j�}td�||fSdS)N�unknown�zNever (last: %s)zInstant (last: %s)z%s second(s) (last: %s)���)r
�util�normalize_time�_repo�getTimestamprZmetadata_expire�_num2ui_num)�repo�mdZlast�num�r�/usr/lib/python3.6/repolist.py�_expire_str%s

rcCsttjjd|d��S)Nz%dT)rr
Zpycomp�format)rrrrr0srcCsF|jj�}|jj�}x,|D]$}tj||�r.dStj||�rdSqWdS)NTF)�id�lower�name�fnmatch)rZpatterns�ridZrnmZpatrrr�_repo_match4s


rcCs>d}x*|jtjd�j|jd�D]}||j7}qWtjjj	|�S)Nr)�flags)�reponame__eq)
�query�hawkey�IGNORE_EXCLUDES�filtermrZ_sizer
�clirZ
format_number)�sackr�retZpkgrrr�
_repo_size?sr)c@s@eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dd�Zd
S)�RepoListCommandzVA class containing methods needed by the cli to execute the
    repolist command.
    �repolist�repoinfoz,display the configured software repositoriesc	Csz|j�}|jdddddtd�d�|jddddtd	�d
�|jddddtd
�d
�|jdddddddgtjtd�d�dS)Nz--all�
_repos_action�store_const�allzshow all repos)�dest�action�const�default�helpz	--enabled�enabledzshow enabled repos (default))r0r1r2r4z
--disabled�disabledzshow disabled repos�repos�*zenabled-defaultZ
REPOSITORYzRepository specification)�nargsr3�metavar�choicesr1r4)Zadd_mutually_exclusive_group�add_argumentrr	ZPkgNarrowCallback)�parserZ	repolimitrrr�
set_argparserNszRepoListCommand.set_argparsercCs |jjs|jjtjtjd�dS)N)�stdout�stderr)�opts�quietr&Zredirect_logger�loggingZWARNING�INFO)�selfrrr�
pre_configure_szRepoListCommand.pre_configurecCsT|jjs|jj�|jj}|jjjs0|jjdkr<d|_	d|_
|jjrP|jj|j_dS)Nr,T)
rArBr&Zredirect_repo_progress�demands�base�conf�verbose�commandZavailable_reposZsack_activationr-�repos_action)rErGrrr�	configurecs
zRepoListCommand.configurec-
Csl|jj}dd�|jjD�}|jjj}t|jjj��}|jt	j
d�d�|jj}|j
d|jd}|j
d}|jd}d	}	g}
|s�tjtd
��dS|dkp�|dko�|}g}�x�|D�]�}
t|�r�t|
|�r�q�d7\}}}d
}d	}d
}|�r�|||}}}|
j�rnd}|dk�rq�|�s.|�s.|jjdk�rJ|td�|}ttd��}|�s^|jjdk�r�t|jj|
�}n<d}|dks�|dk�r�|�r�q�|td�|}ttd��}|�p�|jjdk�s�t|
j�}|
j||
j||ff�q�|�r�|
j}nd}|jjtd�|
j�|jjtd�|
j�g}|�r8||jjtd�|�g7}|�rh|
jj ��rh||jjtd�|
jj ��g7}|�r�|
jj!��r�|
jj!�}||jjtd�dj"t#|���g7}|�r|
jj$��rdd�|
jj$�D�}x@|j%�D]4\}}||jjtd�d|dj"t#|��f�g7}�q�W|�r�t|jjj&t'j(d�j)|
jd��}t|jjj&�j)|
jd��}t*|�}t*|�}|	|7}	||jjtd�t+j,j-|
jj.���|jjtd �|�|jjtd!�|�|jjtd"�|�g7}|
j/�r||jjtd#�|
j/�g7}|�r2|
jj0�} ||jjtd$�t+j,j-| ��g7}n"|
j1�r2||jjtd%�|
j1�g7}|
j2}!|!�r^||jjtd&�dj"|!��g7}nF|�r�|
jj3�}"|"�r�d'|"d	t|"�d(f}#||jjtd&�|#�g7}t4|
|�}$||jjtd)�|$�g7}|
j5�r�||jjtd*�dj"|
j5��g7}|
j6�r||jjtd+�dj"|
j6��g7}|�r4||jjtd,�|�g7}|
j7�rV||jjtd-�|
j7�g7}|jd.j"t8t|���q�W|�r�t9d/j"|��|�r:|
�r:ttd0��}%d	}&d	}'xR|
D]J\}}(\}}|%t|�k�r�t|�}%|&t|(�k�r�t|(�}&|'|k�r�|}'�q�W|�rBttd1��|'k�r.|j:|%ttd1��d2})n|j:|%|'d2})n|j:|%d(})|)|&k�r`|)}&n$|)|&8})|%|)d27}%|&|)|)d27}&t;td0�|%�}*|�r�t;td3�|&|&�}+ntd3�}+|�s�t9d4|*|+f�nt9d5|*|+td1�f�xX|
D]P\}}(\}}|�st9d4t;||%�|(f��q�t9d5t;||%�t;|(|&|&�|f��q�W|�sN|jjdk�rhtd6�},t9|,j<t*|	���dS)8NcSsg|]}|j��qSr)r)�.0�xrrr�
<listcomp>psz'RepoListCommand.run.<locals>.<listcomp>r)�keyZgreenZboldZredZnormalrzNo repositories availabler/zenabled-default�Tr6r,r5FzRepo-id            : zRepo-name          : zRepo-status        : zRepo-revision      : zRepo-tags          : z, cSsi|]\}}||�qSrr)rN�k�vrrr�
<dictcomp>�sz'RepoListCommand.run.<locals>.<dictcomp>zRepo-distro-tags      : z[%s]: %s)r )r!zRepo-updated       : zRepo-pkgs          : zRepo-available-pkgs: zRepo-size          : zRepo-metalink      : z  Updated          : zRepo-mirrors       : zRepo-baseurl       : z%s (%d more)rzRepo-expire        : zRepo-exclude       : zRepo-include       : zRepo-excluded      : zRepo-filename      : �
z

zrepo idZstatus�z	repo namez%s %sz%s %s %szTotal packages: {})rRrRrR)=rArLr7rHrIrJ�list�values�sort�operator�
attrgetter�output�termZFG_COLORZMODE�loggerZwarningr�lenrr5rKrr)r'rr�appendrZmetadataZ
fmtKeyValFillrZgetRevisionZgetContentTags�join�sortedZ
getDistroTags�itemsr"r#r$r%rr
rrZgetMaxTimestampZmetalinkrZ
mirrorlistZbaseurlZ
getMirrorsrZexcludepkgsZincludepkgsZrepofile�map�print�columnsrr)-rE�argZextcmdsrJr7r^Z	on_ehibegZ	on_dhibegZon_hiendZtot_numZcolsZinclude_statusZrepoinfo_outputrZehibegZdhibegZhiendZ
ui_enabledZui_endis_widZui_excludes_numr5Zui_sizerr�outZtagsZdistroTagsDictZdistrorZ
num_availableZui_numZui_num_availableZtsZbaseurlsZmirrorsZurlZexpireZid_lenZnm_lenZst_lenZrname�leftZtxt_ridZtxt_rnam�msgrrr�runns.







"







zRepoListCommand.runN)r+r,)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodr>rFrMrlrrrrr*Fsr*)Z
__future__rrZdnf.clirZdnf.i18nrrrrZdnf.cli.option_parserr	Zdnf.cli.formatr
Z
dnf.pycompZdnf.utilrr#rCr[Z	getLoggerr_rrrr)ZCommandr*rrrr�<module>s"
PK"�FZD�<��7cli/commands/__pycache__/reinstall.cpython-36.opt-1.pycnu�[���3

�ft`]�@slddlmZddlmZddlmZddlmZddlmZddl	Z
ddlZejd�Z
Gdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_N�dnfc@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�ReinstallCommandzSA class containing methods needed by the cli to execute the reinstall command.
    �	reinstall�reizreinstall a packagecCs"|jddtd�tjtd�d�dS)N�packages�+zPackage to reinstallZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/reinstall.py�
set_argparser(szReinstallCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)aVerify that conditions are met so that this command can
        run.  These include that the program is being run by the root
        user, that there are enabled repositories with gpg keys, and
        that this command is called with appropriate arguments.
        TN)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure.szReinstallCommand.configurecCs�d}xp|jj|jjd|jjjd�D]P}y|jj|�Wn6tjj	k
rlt
jtd�|jjj
j|j��Yq"Xd}q"W�xD|jjdd�|jjD�D�]$}y|jj|�W�ntjjk
�r}zPx,|jD]"}t
jtd�|jj
j|j��Pq�Wt
jtd�|jjj
j|��WYdd}~Xq�tjjk
�r�}z^xV|jD]L}d}|jjj|�}|�rdtd	�|}td
�}t
j||jjj
j|�|��q<WWYdd}~Xq�tjj	k
�r�Yq�Xd}q�W|�s�tjjtd���dS)NF)�strict�progresszNo match for argument: %sTcSsg|]}d|�qS)�@r)�.0�xrrr�
<listcomp>Lsz(ReinstallCommand.run.<locals>.<listcomp>z(Package %s available, but not installed.�z
 (from %s)z%Installed package %s%s not available.z!No packages marked for reinstall.)rZadd_remote_rpmsrr�outputrZpackage_reinstallr�
exceptionsZMarkingError�logger�inforZtermZbold�locationZ	pkg_specsZ	grp_specsr	ZPackagesNotInstalledErrorr�nameZPackagesNotAvailableError�historyZrepo�Error)r�doneZpkgZpkg_spec�errZxmsgZpkgrepo�msgrrr�run=sB
$

"zReinstallCommand.runN)r	r
)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrr.rrrrr!sr)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZdnf.exceptionsrZloggingZ	getLoggerr%ZCommandrrrrr�<module>s
PK"�FZ(uu���8cli/commands/__pycache__/distrosync.cpython-36.opt-1.pycnu�[���3

�ft`��@s:ddlmZddlmZddlmZGdd�dej�ZdS)�)�absolute_import)�commands)�_c@s8eZdZdZdZed�Zedd��Zd	d
�Z	dd�Z
d
S)�DistroSyncCommandzZA class containing methods needed by the cli to execute the
    distro-synch command.
    �distro-sync�
distrosync�distribution-synchronization�dsyncz?synchronize installed packages to the latest available versionscCs|jddtd�d�dS)N�package�*zPackage to synchronize)�nargs�help)�add_argumentr)�parser�r� /usr/lib/python3.6/distrosync.py�
set_argparser"szDistroSyncCommand.set_argparsercCsF|jj}d|_d|_d|_d|_tj|j|j�tj	|j|j
j�dS)NT)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�baseZ_checkEnabledRepo�optsr
)�selfrrrr�	configure&szDistroSyncCommand.configurecCs|jj|jj�S)N)rZdistro_sync_userlistrr
)rrrr�run/szDistroSyncCommand.runN)rrrr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrrrrrrrs	rN)Z
__future__rZdnf.clirZdnf.i18nrZCommandrrrrr�<module>sPK"�FZ��EyOO<cli/commands/__pycache__/upgrademinimal.cpython-36.opt-1.pycnu�[���3

�ft`�@sDddlmZddlmZddlmZddlmZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�_)�UpgradeCommandc@s$eZdZdZd	Zed�Zdd�ZdS)
�UpgradeMinimalCommandzSA class containing methods needed by the cli to execute the check
    command.
    �upgrade-minimal�update-minimal�up-minzWupgrade, but only 'newest' package match which fixes a problem that affects your systemc	CsRtj|�d|_t|jj|jj|jj|jj|jj	|jj
|jj|jjg�sNd|_
dS)NT)r�	configureZupgrade_minimal�anyZoptsZbugfixZenhancementZ
newpackageZsecurityZadvisoryZbugzillaZcvesZseverityZall_security)�self�r
�$/usr/lib/python3.6/upgrademinimal.pyr
"s
zUpgradeMinimalCommand.configureN)rrr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummaryr
r
r
r
rrsrN)Z
__future__rrZdnf.i18nrZdnf.cli.commands.upgraderrr
r
r
r�<module>sPK"�FZ^��**4cli/commands/__pycache__/search.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlmZddlmZddl	m
Z
mZmZddl	Z
ddlZ
ddlZ
ddlZddlZejd�ZGd	d
�d
ej�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�ucd�_�C_�dnfc@sPeZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dS)�
SearchCommandzTA class containing methods needed by the cli to execute the
    search command.
    �search�sez+search package details for the given stringc	Cs<|jddtd�d�|jddtd�dgdtjtd	�d
�dS)Nz--all�
store_truez'search also package description and URL)�action�help�query_string�+ZKEYWORD�allzKeyword to search for)�nargs�metavar�choices�defaultrr)�add_argumentrrZPkgNarrowCallback)�parser�r�/usr/lib/python3.6/search.py�
set_argparser0szSearchCommand.set_argparsercs4tjdtdd�fdtdd�fdtdd�fdtd	�ff���fd
d����fdd
�}tjj�}x(|D] }�j|d|��j|d|�qbW�jj	r�xd|D] }�j|d|��j|d|�q�Wn:t
|�}t|j��}x$|D]}t
|j
|��|kr�||=q�Wd}d}	d}
d}d}�jjj�s0�jjj�j|j�d�j�}t�}
x�|jd|d�D]�}�jjj�s~|j|j|
k�rl�qF|
j|j|j�||j|�k�r�|j|�}d}|	|j
|�k�r�|j
|�}	d}|
|j|�|	kk�r�|j|�|	k}
d}|�r�||
||	�d}�jjj||j|�|��qFWt
|�dk�r0tjtd��dS)z0Search for simple text tags in a package object.�nameZlong�Name�summaryZSummary�descriptionZDescriptionZurlZURLc	sy�|S|SdS)Nr)�attr)�	TRANS_TBLrr�_translate_attrCsz.SearchCommand._search.<locals>._translate_attrcs^t�|�}td�j|�}|r*td�|}ntd�|}�jjj|dj|��}tt|��dS)Nz & z%s Exactly Matched: %%sz%s Matched: %%sz, )�mapr�join�base�outputZ
fmtSection�printr)�exact_matchZattrs�keysZtrans_attrsZtrans_attrs_strZsection_textZ	formatted)r#�selfrr�_print_section_headerIs
z4SearchCommand._search.<locals>._print_section_headerNF)�pkgT)�reverseZlimit_torzNo matches found.) �collections�OrderedDictr	rr
Z
match_counterZMatchCounter�_search_counted�optsr�len�listr*�matched_needlesr&ZconfZshowdupesfromrepos�sack�query�filtermZlatest�set�sortedrZarch�addZmatched_keysZmatched_haystacksr'Z
matchcallback�logger�info)r+�argsr,�counter�argZneedlesZpkgsr-Z
used_attrsr5r)Zprint_section_header�limit�seenr)r"r#r+r�_search9s`






zSearchCommand._searchcCs`d||i}tjj|�r$d||i}|jjj�jtjf|�}x|j	�D]}|j
|||�qFW|S)Nz
%s__substrz%s__glob)r
�utilZis_glob_patternr&r6r7r8�hawkeyZICASE�runr;)r+r?r!ZneedleZfdict�qr-rrrr1�szSearchCommand._search_countedcCs |jjs|jjtjtjd�dS)N)�stdout�stderr)r2�quiet�cliZredirect_logger�loggingZWARNING�INFO)r+rrr�
pre_configure�szSearchCommand.pre_configurecCsD|jjs|jj�|jj}d|_d|_d|_|jjp:|jj	|j_dS)NTF)
r2rJrKZredirect_repo_progress�demandsZavailable_reposZfresh_metadataZsack_activationrZquery_string_action)r+rOrrr�	configure�s
zSearchCommand.configurecCstjtd��|j|jj�S)NzSearching Packages: )r<�debugrrCr2r)r+rrrrF�szSearchCommand.runN)rr
)�__name__�
__module__�__qualname__�__doc__�aliasesrr�staticmethodrrCr1rNrPrFrrrrr(s	O		r)Z
__future__rrrr/Zdnf.clirZdnf.cli.option_parserrZdnf.i18nrrr	r
Zdnf.match_counterZdnf.utilrErLZ	getLoggerr<ZCommandrrrrr�<module>s
PK"�FZ3",�t:t:4cli/commands/__pycache__/module.cpython-36.opt-1.pycnu�[���3

�ft`�A�@s�ddlmZddlmZmZddlmZddlmZddl	m
Z
ddl	ZddlZddl
Z
ddlZddlZddlZddlZGdd�dej�ZdS)	�)�print_function)�commands�CliError)�_)�NoModuleException)�loggerNcs*eZdZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�de�ZGd	d
�d
e�Z	Gdd�de�Z
Gd
d�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�Zeeee	e
eee
eeehZehZd%Zed�Z�fdd�Zdd�Zdd �Zd!d"�Zd#d$�Z�ZS)&�
ModuleCommandcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)zModuleCommand.SubCommandcs(ttj|�j|�tjjj|j�|_dS)N)	�superr�
SubCommand�__init__�dnf�module�module_baseZ
ModuleBase�base)�self�cli)�	__class__��/usr/lib/python3.6/module.pyr(sz!ModuleCommand.SubCommand.__init__c	Cs�t�}x�|jjD]�}|jj|�\}}|dkr.q|jr:|jnd}|jrJ|jnd}|jr^|jdksd|jrxt	j
td�j|��|j
r�|j
nd}|jjj||dd|�}|j|�qW|S)N��zjOnly module name, stream, architecture or profile is used. Ignoring unneeded information in argument: '{}'���)�set�opts�module_specr�_get_modules�name�stream�version�contextr�infor�format�archr�_moduleContainer�query�update)	r�modules_from_specsr�__Znsvcaprrr"�modulesrrr�#_get_modules_from_name_stream_specs,sz<ModuleCommand.SubCommand._get_modules_from_name_stream_specsc	Cs�t�}t�}x0|D](}||kr|jjj|�r|j|j��qWxB|D]:}tj|�}x*|jtj	gd�D]}|j
rd|j|j
�qdWqDW||fS)N)Zforms)rrr#ZisModuleActiver%ZgetArtifacts�hawkeyZSubjectZget_nevra_possibilitiesZ
FORM_NEVRAr�add)	rZuse_modulesZskip_modulesZ	artifactsZ	pkg_namesr
ZartifactZsubjZ	nevra_objrrr�_get_module_artifact_names>s


z3ModuleCommand.SubCommand._get_module_artifact_names)�__name__�
__module__�__qualname__rr)r,�
__classcell__rr)rrr
&sr
c@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.ListSubCommand�listz,list all module streams, profiles and statescCs|jj}d|_d|_dS)NT)r�demands�available_repos�sack_activation)rr2rrr�	configureRsz&ModuleCommand.ListSubCommand.configurecCs�|j}|jjr&|j|jjtjjj�}nV|jj	rF|j|jjtjjj
�}n6|jjrf|j|jjtjjj�}n|j|jjtjjj
�}|r�t|�dS|jjr�td�}tjj|��dS)NzNo matching Modules to list)rr�enabledZ_get_brief_descriptionr�libdnfr
�ModulePackageContainerZModuleState_ENABLED�disabledZModuleState_DISABLED�	installedZModuleState_INSTALLEDZModuleState_UNKNOWN�printrr�
exceptions�Error)rZmods�output�msgrrr�
run_on_moduleWs(z*ModuleCommand.ListSubCommand.run_on_moduleN)r1)r-r.r/�aliasesr�summaryr5r@rrrr�ListSubCommandMsrCc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.InfoSubCommandr z)print detailed information about a modulecCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr5tsz&ModuleCommand.InfoSubCommand.configurecCsf|jjr|jj|jj�}n*|jjr4|jj|jj�}n|jj|jj�}|rRt|�nt	j
jtd���dS)NzNo matching Modules to list)
r�verboserZ_get_full_infor�profileZ_get_info_profilesZ	_get_infor;rr<r=r)rr>rrrr@ys
z*ModuleCommand.InfoSubCommand.run_on_moduleN)r )r-r.r/rArrBr5r@rrrr�InfoSubCommandosrFc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.EnableSubCommand�enablezenable a module streamcCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4�	resolving�	root_user)rr2rrrr5�s
z(ModuleCommand.EnableSubCommand.configurecCs�y|jj|jj�Wnltjjk
r�}zL|jjj	rb|j
s@|jrD|�|jrb|jdt
jjjkrb|�tjt|��WYdd}~XnXdS)Nr)rrGrrrr<�
MarkingErrorsr�conf�strict�no_match_group_specs�error_group_specs�module_depsolv_errorsr7r
r8�!ModuleErrorType_ERROR_IN_DEFAULTSr�error�str)r�errrr@�s
z,ModuleCommand.EnableSubCommand.run_on_moduleN)rG)r-r.r/rArrBr5r@rrrr�EnableSubCommand�srTc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.DisableSubCommand�disablez%disable a module with all its streamscCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z)ModuleCommand.DisableSubCommand.configurecCs�y|jj|jj�Wnltjjk
r�}zL|jjj	rb|j
s@|jrD|�|jrb|jdt
jjjkrb|�tjt|��WYdd}~XnXdS)Nr)rrUrrrr<rJrrKrLrMrNrOr7r
r8rPrrQrR)rrSrrrr@�s
z-ModuleCommand.DisableSubCommand.run_on_moduleN)rU)r-r.r/rArrBr5r@rrrr�DisableSubCommand�srVc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.ResetSubCommand�resetzreset a modulecCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z'ModuleCommand.ResetSubCommand.configurecCsby|jj|jj�WnHtjjk
r\}z(|jjj	r>|j
r>|�tjt
|��WYdd}~XnXdS)N)rrWrrrr<rJrrKrLrMrrQrR)rrSrrrr@�s
z+ModuleCommand.ResetSubCommand.run_on_moduleN)rW)r-r.r/rArrBr5r@rrrr�ResetSubCommand�srXc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.InstallSubCommand�installz/install a module profile including its packagescCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z)ModuleCommand.InstallSubCommand.configurecCspy|jj|jj|jjj�WnNtjj	k
rj}z.|jjjrL|j
sH|jrL|�tj
t|��WYdd}~XnXdS)N)rrYrrrrKrLrr<rJrMrNrrQrR)rrSrrrr@�s
z-ModuleCommand.InstallSubCommand.run_on_moduleN)rY)r-r.r/rArrBr5r@rrrr�InstallSubCommand�srZc@s(eZdZdZed�Zdd�Zdd�ZdS)	zModuleCommand.UpdateSubCommandr%z0update packages associated with an active streamcCs$|jj}d|_d|_d|_d|_dS)NT)rr2r3r4rHrI)rr2rrrr5�s
z(ModuleCommand.UpdateSubCommand.configurecCs&|jj|jj�}|r"tdj|���dS)Nz, )rZupgraderrr�join)rZmodule_specsrrrr@�sz,ModuleCommand.UpdateSubCommand.run_on_moduleN)r%)r-r.r/rArrBr5r@rrrr�UpdateSubCommand�sr\c@s(eZdZd	Zed�Zdd�Zdd�ZdS)
zModuleCommand.RemoveSubCommand�remove�erasez3remove installed module profiles and their packagescCs0|jj}d|_d|_d|_d|_d|_d|_dS)NTF)rr2Z
allow_erasingr3Zfresh_metadatarHrIr4)rr2rrrr5�sz(ModuleCommand.RemoveSubCommand.configurec
Cs�|jj|jj�}|jjr�|j�}|j|t��\}}|j|jj	j
�|�\}}|jjj�j
�j|d�}|jjj�j
�j|d�}xF|D]>}||kr�td�j|�}	tj|	�q�|jjj||jjjd�q�W|s�dStjtjj|d��dS)N)rz0Package {} belongs to multiple modules, skipping)Z
clean_deps)rM)rr]rr�allr)r,rrr#ZgetModulePackages�sackr$r:�filtermrr!rr Zgoalr^rKZclean_requirements_on_removerQrr<rJ)
rZskipped_groupsr&Zremove_names_from_specr'Z
keep_namesZremove_queryZ
keep_query�pkgr?rrrr@�s&
z,ModuleCommand.RemoveSubCommand.run_on_moduleN)r]r^)r-r.r/rArrBr5r@rrrr�RemoveSubCommand�s	rcc@s(eZdZdZed�Zdd�Zdd�ZdS)	z ModuleCommand.SwitchToSubCommand�	switch-toz7switch a module to a stream and distrosync rpm packagescCs.|jj}d|_d|_d|_d|_d|jj_dS)NT)	rr2r3r4rHrIrrKZmodule_stream_switch)rr2rrrr5sz*ModuleCommand.SwitchToSubCommand.configurecCsry|jj|jj|jjjd�WnNtjj	k
rl}z.|jjjrN|j
sJ|jrN|�tj
t|��WYdd}~XnXdS)N)rL)rZ	switch_torrrrKrLrr<rJrMrNrrQrR)rrSrrrr@"s
z.ModuleCommand.SwitchToSubCommand.run_on_moduleN)rd)r-r.r/rArrBr5r@rrrr�SwitchToSubCommandsrec@s(eZdZdZed�Zdd�Zdd�ZdS)	z ModuleCommand.ProvidesSubCommand�provideszlist modular packagescCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr50sz*ModuleCommand.ProvidesSubCommand.configurecCs |jj|jj�}|rt|�dS)N)rZ_what_providesrrr;)rr>rrrr@5sz.ModuleCommand.ProvidesSubCommand.run_on_moduleN)rf)r-r.r/rArrBr5r@rrrr�ProvidesSubCommand+srgc@s(eZdZdZed�Zdd�Zdd�ZdS)	z!ModuleCommand.RepoquerySubCommand�	repoqueryz#list packages belonging to a modulecCs|jj}d|_d|_dS)NT)rr2r3r4)rr2rrrr5?sz+ModuleCommand.RepoquerySubCommand.configurecCs�t�}x*|jjD]}|jj|�\}}|j|�qW|j|t��\}}t�}|jjs\|jjr�|j	j
j�j�j|d�}x|D]}	|j
t|	��qzW|jjr�|j	j
j�j�j|d�}x|D]}	|j
t|	��q�Wdjt|��}
t|
�dS)N)Znevra_strict)r�
)rrrrrr%r,�	availabler:rr`r$rar+rRr[�sortedr;)rr&rr(r'Znames_from_specZspec_artifactsZpackage_stringsr$rbr>rrrr@Ds"

z/ModuleCommand.RepoquerySubCommand.run_on_moduleN)rh)r-r.r/rArrBr5r@rrrr�RepoquerySubCommand:srlr
zInteract with Modules.cs>tt|�j���fdd�|jD�}d|_dd�|D�|_dS)Nc3s|]}|��VqdS)Nr)�.0�subcmd)rrr�	<genexpr>dsz)ModuleCommand.__init__.<locals>.<genexpr>cSsi|]}|jD]
}||�qqSr)rA)rmrn�aliasrrr�
<dictcomp>fsz*ModuleCommand.__init__.<locals>.<dictcomp>)r	rr�SUBCMDSrn�_subcmd_name2obj)rrZsubcmd_objs)r)rrrbs
zModuleCommand.__init__cCs|j�}|jdddtd�d�|jdddtd�d�|jd	d
dtd�d�|jdd
dtd�d�|jdddtd�d�|jdddtd�d�g}g}xHt|jdd�d�D]2}|j|jd�|jdj|jd|jp�d��q�W|jdd|ddj	|�d�|jd d!d"td#�d$�dS)%Nz	--enabledr6�
store_truezshow only enabled modules)�dest�action�helpz
--disabledr9zshow only disabled modulesz--installedr:z'show only installed modules or packagesz	--profilerEzshow profile contentz--availablerjzshow only available packagesz--allr_zremove all modular packagescSs
|jdS)Nr)rA)�xrrr�<lambda>~sz-ModuleCommand.set_argparser.<locals>.<lambda>)�keyrz{}: {}rrnrz<modular command>ri)�nargs�choices�metavarrwrzmodule-spec�*zModule specification)r}r{rw)
Zadd_mutually_exclusive_group�add_argumentrrkrr�appendrAr!rBr[)r�parserZnarrowsZsubcommand_choicesZsubcommand_helprnrrr�
set_argparseris8
"

zModuleCommand.set_argparsercCsZy|j|jjd|_Wn(ttfk
r@|jjj�t�YnX|j|j_|jj�dS)Nr)	rsrrnr�KeyErrorrZ	optparserZprint_usager5)rrrrr5�s

zModuleCommand.configurecCs|j�|jj�dS)N)�check_required_argumentrnr@)rrrr�run�szModuleCommand.runcCsRdd�|jD�}|jjd|krN|jjsNttd�jtjj	|jj
|jjd���dS)NcSsg|]}|jD]}|�qqSr)rA)rmrnrprrr�
<listcomp>�sz9ModuleCommand.check_required_argument.<locals>.<listcomp>rz{} {} {}: too few arguments)�SUBCMDS_NOT_REQUIRED_ARGrrnrrrr!r�utilZ	MAIN_PROGZcommand)rZnot_required_argumentrrrr��s
z%ModuleCommand.check_required_argument)r
)r-r.r/r�Commandr
rCrFrTrVrXrZr\rcrergrlrrr�rArrBrr�r5r�r�r0rr)rrr%s.'"%	r)Z
__future__rZdnf.clirrZdnf.i18nrZdnf.module.exceptionsrZdnf.utilrr�sys�osr*r7Zdnf.module.module_baseZdnf.exceptionsr�rrrrr�<module>sPK"�FZ�&R7cli/commands/__pycache__/downgrade.cpython-36.opt-1.pycnu�[���3

�ft`	�@sRddlmZddlmZddlmZddlmZddlmZGdd�dej	�Z
dS)	�)�absolute_import)�unicode_literals)�commands)�OptionParser)�_c@s8eZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dS)
�DowngradeCommandzWA class containing methods needed by the cli to execute the
    downgrade command.
    �	downgrade�dgzDowngrade a packagecCs|jddtd�tjd�dS)N�package�*zPackage to downgrade)�nargs�help�action)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/downgrade.py�
set_argparser$szDowngradeCommand.set_argparsercCsH|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�dS)NT)Zcli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo)�selfrrrr�	configure)szDowngradeCommand.configurecCsJ|jj|jjd|jjjd�}|jj|jjdd�|jjD�||jj	j
d�S)NF)�strict�progresscSsg|]}d|�qS)�@r)�.0�xrrr�
<listcomp>8sz(DowngradeCommand.run.<locals>.<listcomp>)Zspecs�	file_pkgsr)rZadd_remote_rpmsrr�outputrZ
downgradePkgsZ	pkg_specsZ	grp_specsZconfr)rr rrr�run4szDowngradeCommand.runN)rr	)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrrr"rrrrrsrN)Z
__future__rrZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZCommandrrrrr�<module>s
PK"�FZN
�WW1cli/commands/__pycache__/repoquery.cpython-36.pycnu�[���3

�ft`ن�
@sddlmZddlmZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZejd�Zd	Ze
jd
�ZdZdd
dddddddd�	Zdd�ZGdd�de	j�ZGdd�dej�ZGdd�de �Z!dS)�)�absolute_import)�print_function)�unicode_literals)�_)�commands)�OptionParserN�dnfz.%{name}-%{epoch}:%{version}-%{release}.%{arch}z%(-?\d*?){([:.\w]+?)}aname, arch, epoch, version, release, reponame (repoid), from_repo, evr,
debug_name, source_name, source_debug_name,
installtime, buildtime, size, downloadsize, installsize,
provides, requires, obsoletes, conflicts, sourcerpm,
description, summary, license, url, reason�	conflicts�enhances�	obsoletes�provides�
recommends�requiresZrequires_pre�suggests�supplements)	r	r
rrr
rzrequires-prerrcCs�dd�}dd�}|jdd�jdd�}x tj�D]\}}|j||�}q.Wd	}d
}x>tj|�D]0}|||||j���7}|||�7}|j�}qZW||||d��7}|S)z:Convert a rpm like QUERYFMT to an python .format() string.cSs^|j�d}|j�d}|rJ|ddkr:d|dd�}nd|}d|}d|j�|dS)	Nr��-�>�<�:z{0.�})�groups�lower)ZmatchobjZfill�key�r�/usr/lib/python3.6/repoquery.py�fmt_replDszrpm2py_format.<locals>.fmt_replcSs|jdd�jdd�S)N�{z{{rz}})�replace)Ztxtrrr�bracketsOszrpm2py_format.<locals>.bracketsz\n�
z\t�	�rN)r�OPTS_MAPPING�items�
QFORMAT_MATCH�finditer�start�end)�queryformatrrr�valueZfmt�spos�itemrrr�
rpm2py_formatBsr-c@seZdZdZdS)�_CommaSplitCallbackz\s*,\s*N)�__name__�
__module__�__qualname__ZSPLITTERrrrrr._sr.c@s�eZdZdZejejejd�Zd%e	ej
��Zed�Z
edd��Zedd	��Zd
d�Zdd
�Zdd�Zdd�Zd&dd�Zd'dd�Zd(dd�Zdd�Zdd�Zdd�Zd d!�Zd*d#d$�ZdS)+�RepoQueryCommandzSA class containing methods needed by the cli to execute the repoquery command.
    )zrepoquery-nzrepoquery-nazrepoquery-nevra�	repoquery�rqz$search for packages matching keywordcCs,|jr|j|jd�|jr(|j|jd�|S)z'Filter query by repoid and arch options)Zreponame)�arch)Zrepo�filterm�arches)�opts�queryrrr�filter_repo_archms
z!RepoQueryCommand.filter_repo_archc
Cs�|jddddtd�d�|jddtd�d	�|jd
ddgtd
td�d�|jddddtd�d�|jdgtdtd�d�|jdgtdtd�d�|jdgtdtd�d�|jdgtdtd�d�|jd gtdtd!�d�|jd"gtdtd#�d�|jd$gtdtd%�d�|jd&gtdtd'�d�|jd(gtdtd)�d�|j�}|jd*dtd+�d	�|jd,dtd-�d	�|jd.dtd/�d	�|jd0dtd1�d	�|jd2dtd3�d	�|jd4dtd5�d	�|jd6dtd7�d	�|jd8d9ttd:�d;�|jd<dtd=�d	�|j�}|jd>d?d@dAdtdB�dC�|jdDdEdFdAdtdG�dC�|jdHdIdJdAdtdK�dC�|jdLdMdAdtdN�dC�|jdOdPdQttdR�dS�|jdTdtdU�d	�|jdVdQtdWtdX�dY�|jdZdQd[dWtd\�dY�|jd]dQd^dWtd_�dY�|jd`dtda�d	�|j�}|jdbdcdddWtde�dY�|jdfdcdddWtjdY�|jdgdcdhdWtdi�dY�|jdjdcdkdWtdl�dY�|jdmdtdn�d	�|j�}tdo�tdp�tdq�tdr�tds�tdt�tdu�tdv�tdw�dx�	}x2|j�D]&\}}dy|}|j|dzdW||d{��q�W|jd|dtd}�d	�td~�td�td��td��j	t
jjd��td��d��}	|j�}
x2|	j�D]&\}}dy|}
|
j|
d�dW||d{��q4W|
jd�d�dWd�tjd{�|jd�dtd��d	�|jd�d�d�td��d��dS)�Nz-az--allZqueryall�
store_truezNQuery all packages (shorthand for repoquery '*' or repoquery without argument))�dest�action�helpz--show-duplicatesz(Query all versions of packages (default))r=r>z--archz
--archlistr7z[arch]z show only results from this ARCH)r<�defaultr=�metavarr>z-fz--file�FILE�+z show only results that owns FILE)r@�nargsr>z--whatconflictsZREQz#show only results that conflict REQ)r?r=r@r>z
--whatdependszishows results that requires, suggests, supplements, enhances,or recommends package provides and files REQz--whatobsoletesz#show only results that obsolete REQz--whatprovidesz"show only results that provide REQz--whatrequiresz:shows results that requires package provides and files REQz--whatrecommendsz$show only results that recommend REQz--whatenhancesz"show only results that enhance REQz--whatsuggestsz"show only results that suggest REQz--whatsupplementsz%show only results that supplement REQz	--alldepsz=check non-explicit dependencies (files and Provides); defaultz--exactdepsz:check dependencies exactly as given, opposite of --alldepsz--recursivezOused with --whatrequires, and --requires --resolve, query packages recursively.z	--deplistz>show a list of all dependencies and what packages provide themz	--resolvez.resolve capabilities to originating package(s)z--treez"show recursive tree for package(s)z--srpmz#operate on corresponding source RPMz--latest-limit�latest_limitzOshow N latest packages for a given name.arch (or latest but N if N is negative))r<�typer>z--disable-modular-filteringz-list also packages of inactive module streamsz-iz--info�	queryinfoFz+show detailed information about the package)r<r?r=r>z-lz--list�
queryfilelistz!show list of files in the packagez-sz--source�querysourcerpmzshow package source RPM namez--changelogs�querychangelogszshow changelogs of the packagez--qfz
--queryformatr)zfdisplay format for listing packages: "%%{name} %%{version} ...", use --querytags to view full tag list)r<r?r>z--querytagsz-show available tags to use with --queryformatz--nevra�store_constzZuse name-epoch:version-release.architecture format for displaying found packages (default))r<�constr=r>z--nvrz%{name}-%{version}-%{release}zQuse name-version-release format for displaying found packages (rpm query default)z--envraz.%{epoch}:%{name}-%{version}-%{release}.%{arch}zPuse epoch:name-version-release.architecture format for displaying found packagesz
--groupmemberz=Display in which comps groups are presented selected packagesz--duplicates�	pkgfilter�
duplicatedz/limit the query to installed duplicate packagesz--duplicatedz
--installonly�installonlyz1limit the query to installed installonly packagesz
--unsatisfied�unsatisfiedzClimit the query to installed packages with unsatisfied dependenciesz
--locationz5show a location from where packages can be downloadedz5Display capabilities that the package conflicts with.zaDisplay capabilities that the package can depend on, enhance, recommend, suggest, and supplement.z2Display capabilities that the package can enhance.z-Display capabilities provided by the package.z1Display capabilities that the package recommends.z1Display capabilities that the package depends on.z�If the package is not installed display capabilities that it depends on for running %%pre and %%post scriptlets. If the package is installed display capabilities that is depends for %%pre, %%post, %%preun and %%postun.z/Display capabilities that the package suggests.z5Display capabilities that the package can supplement.)	r	�dependsr
rr
rzrequires-prerrz--%s�
packageatr)r<r=rKr>z--availablez Display only available packages.z Display only installed packages.zLDisplay only packages that are not present in any of available repositories.zQDisplay only packages that provide an upgrade for some already installed package.zIDisplay only packages that can be removed by "{prog} autoremove" command.)�progz2Display only packages that were installed by user.)�	installedZextrasZupgrades�unneeded�
userinstalled�listz--autoremoverTz--recentz%Display only recently edited packagesr�*ZKEYzthe key to search for)rCr@r>)
�add_argumentrr.Zadd_mutually_exclusive_group�int�QFORMAT_DEFAULT�argparseZSUPPRESSr$�formatr�util�	MAIN_PROG)�parserZwhatrequiresformZoutformrLZpackage_attributeZ	help_msgs�argZhelp_msg�nameZ	help_listZ
list_groupZlist_argZhelp_argZswitchrrr�
set_argparservs


























zRepoQueryCommand.set_argparsercCs |jjs|jjtjtjd�dS)N)�stdout�stderr)r8�quiet�cliZredirect_logger�loggingZWARNING�INFO)�selfrrr�
pre_configureszRepoQueryCommand.pre_configurecCsj|jjs|jj�|jj}|jjrJ|jjrB|jjdd|jj�nd|j_|jjrVdS|jj	rx|jjrxt
jjtd���|jj
r�|jjr�|jjdd�t|jj|jjdko�|jj	g�s�t
jjtd���|jjs�|jj�r|jjp�|jj�st
jjtd	j|jj�rd
nd����|jj�r$|jjj�|jjdk�r@|jjd
k�sJ|jj�rPd|_d|_|jj�rfd|_dS)Nz--obsoletesz--rz�Option '--resolve' has to be used together with one of the '--conflicts', '--depends', '--enhances', '--provides', '--recommends', '--requires', '--requires-pre', '--suggests' or '--supplements' optionsz--recursivez--exactdepsrz�Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --resolve'z;argument {} requires --whatrequires or --whatdepends optionz	--alldepsrSrUrNT)rSrU)r8rerfZredirect_repo_progress�demandsrrQZ_option_conflict�	querytags�resolverZCliErrorr�	recursive�	exactdeps�any�whatrequires�alldeps�whatdependsr\�srpm�baseZreposZenable_source_reposrVrL�	availableZavailable_reposZsack_activationrI�
changelogs)rirkrrr�	configures@




zRepoQueryCommand.configurec	Cs|jrpg}|jdt|��xH|jD]>}|d}|jd|jd�tjj|d�tjj|d�f�q$Wdj|�Syht	|�}|j
r�|jjj
|�S|jr�|j}|s�ttd�j|�tjd	�|S|jr�|jSt|j�j|�SWn4tk
�r}ztjjt|���WYdd}~XnXdS)
NzChangelog for %s�	timestampz* %s %s
%s
z%a %b %d %YZauthor�textr zPackage {} contains no files)�file)rI�append�strrw�strftimer�i18n�ucd�join�PackageWrapperrFru�outputZ
infoOutputrG�files�printrr\�sysrdrHZ	sourcerpmr-r)�AttributeError�
exceptions�Error)	rir8�pkg�outZchlog�dtZpoZfilelist�errr�build_format_fnGs.
z RepoQueryCommand.build_format_fncCsN|jjj�jdd�}x4|D],}|j|jtjj|�j	|jjddd���}qW|S)NT)�emptyF)�
with_providesZwith_filenames)
ru�sackr9r6�union�intersectionr�subject�Subject�get_best_query)riZnevrasZ
base_query�resolved_nevras_queryZnevrarrr�_resolve_nevrascs
z RepoQueryCommand._resolve_nevrasNcCsD|r|n|}|j|d�}|j|�}|j|�}|r@|j|||d�}|S)N)r)�done)�filter�
differencer��_do_recursive_deps)ri�query_in�query_selectr�Zquery_requiredrrrr�ps

z#RepoQueryCommand._do_recursive_depsFcCs�|j||�}|j|d�}|j|j|d��}|r�|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d	��}|j|j|d
��}|jjr�|j||�}|S)N)�requires__glob)r)�recommends__glob)�enhances__glob)�supplements__glob)�suggests__glob)r
)r
)r)r)r�r�r�r8rnr�)ri�namesr9Z
all_dep_typesr�Zdepqueryrrr�by_all_deps}szRepoQueryCommand.by_all_depscCs�|r|n|jjj�jdd�}|jjj�jdd�}x$|j�D]}|j|j|jd��}q:W|j|�}|rz|j	|||j|�d�}|j|�S)NT)r�)r)r�)
rur�r9r6�runr�r�rr��_get_recursive_providers_query)rir��	providersr��tr�r�rrrr��s
z/RepoQueryCommand._get_recursive_providers_querycCsxg}g}xN|jjD]B}tjjj|�d}|jd�r>|j|�q|r|d	kr|j|�qW|rt|jj|d|jj	j
d�}|S)
Nrz.rpm�http�ftpr{�httpsF)�strict�progress)r�r�r{r�)r8rrZpycompZurlparse�endswithr|ruZadd_remote_rpmsr�r�)riZrpmnames�remote_packagesrZschemesrrr�_add_add_remote_packages�s
z)RepoQueryCommand._add_add_remote_packagesc	Cs�|jjrtt�dS|jj|j�|jjj|jj	r8t
jnt
jd�}|jj
r�|j�}i}|jj|jkrx|j|jjg|d<g}|jdd�}|r�|j|jjj�j|d��}x>|jj
D]2}|jtjj|dd�j|jjfd|d�|���}q�W|}|jj�r|j|jjj�}|jj�rX|jj�r�|jjd	k�r�t|jjj��tjj t!d
j"dd|jj����nH|jjd
k�rx|j#|jj$j%�}n(|jj�r�|jjdk�r�t&||jj��}|jj'dk�r�|jj(|�}|j)|�j*�}n�|jj'dk�r�|jj(|�}n�|jj'dk�rVtjj+|j�}|j,|jjj-|jjj.�tj/j0|�}	d|	_1|	j2dd�}
|
�sRttj3j4|	j5���dS|jj�sh|j�}|j6|j|�}|}|jj7�r�|j|jj7d�|jj8�r�|j|jj8d�}|j|j|j9|jj8|�d��}|jj:�r�|j|jj:d�|jj;�r|j|jj;d�}
|
�r|
}n|j|jj;d�|jj<�rR|jj=�rB|j|jj<d�n|j>|jj<|�}|jj?�r�|jj=�r�|j|jj?d�}|j|j|jj?d��}|j|j|jj?d��}|j|j|jj?d��}|j|j|jj?d��}n|j>|jj?|d�}|jj@�r|j|jj@d�}|j|j|j9|jj@|�d��}|jjA�rR|j|jjAd�}|j|j|j9|jjA|�d��}|jjB�r�|j|jjBd�}|j|j|j9|jjB|�d��}|jjC�r�|j|jjCd�}|j|j|j9|jjC|�d ��}|jjD�r�|jE|jjD�}|jjF|dd!�}|jjG�rRg}xD|D]<}|jH}|dk	�r�|jjj�j||jId"d#�}||j2�7}�q�W|jjj�j|d�}|jjJ�r�|jj<�r�|jjKd9k�r�tjj t!d,�j"tj3jLd-���|jM|||j�dStN�}|jjK�r�tN�}x||j2�D]p}|jjdk�s�|jj$jO|��r�|jjKd.k�r|jP|jQ|jR|jS|jT|jU�n|jPt&|tV|jjK���q�W|jjW�r�|jjd	k�rj|j6|j|jjj��}n|j6|j|jjj�j��}|j|d/�}|jjX�r�|j|jY||��}tN�}x@|jE�j2�D]}|jZ|j[|j|���q�Wn|jPd0d1�|D���n�|jj\�r6x.|j2�D]"}|j]�}|dk	�r|jZ|��qW�nv|jj^�rNg}x�t_tN|j2���D]�}|jjdk�sx|jj$jO|��rVg}|j`d2ta|��x�t_d3d4�|jQD��D]x}|j`d5|�tjj|�}|j|jj�}|j6|j|j��}|jjb�s�|jE�}x$|j2�D]}|j`d6ta|���q�W�q�W|j`d7jc|���qVW|�rJtd8jc|��dS|jjd�rf|je|�dSxD|j2�D]8}|jjdk�s�|jj$jO|��rp|jZ|j[|j|���qpW|�r�|jjf�r�td8jct_|���ntd7jct_|���dS):N)�flagsZformsT)r�)r�)Zignore_caseF)r�r9rSz)argument {}: not allowed with argument {}z--availablez--rTrUrMrNrO)Zverify)Z
file__glob)Zconflicts__glob)r	)r)Zprovides__glob)r�)r�)r�)r�)r�)r
)r
)r)r)Zwarning�src)ra�evrr5r	r
rrr
rrrz�No valid switch specified
usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]

description:
  For the given packages print a tree of thepackages.)rRrP)rcss|]}t|�VqdS)N)r})�.0Zrelrrr�	<genexpr>Qsz'RepoQueryCommand.run.<locals>.<genexpr>z	package: cSsg|]}t|��qSr)r})r��reqrrr�
<listcomp>]sz(RepoQueryCommand.run.<locals>.<listcomp>z  dependency: z
   provider: r z

)r	r
rrr
rrr)gr8rlr��
QUERY_TAGSrfZ _populate_update_security_filterrur�r9Zdisable_modular_filtering�hawkeyZIGNORE_MODULAR_EXCLUDESZAPPLY_EXCLUDESrr�Zcommand�nevra_formsr�r�r6rr�r�r�ZrecentZ_recentZconfrvrVZ	optparserZprint_usager�r�rr\Z	_unneeded�historyZswdb�getattrrLZ_get_installonly_queryr�rMZ
rpmdb_sackZ
_configureZinstallonlypkgsZinstallonly_limit�goalZGoalZprotect_running_kernelr�r]Z_format_resolve_problemsZ
problem_rulesr:r{Z
whatconflictsr�Z
whatobsoletesZwhatprovidesrqror�rsZwhatrecommendsZwhatenhancesZwhatsupplementsZwhatsuggestsrDZlatestZ_merge_update_filtersrtZsource_namer�ZtreerQr^�	tree_seed�setZuser_installed�updaterr
rrr
r#rmrnr��addr��locationZremote_locationZdeplist�sortedr|r}�verboser�Zgroupmember�_group_member_reportrF)ri�qr�ZkwarkZpkgsZ
query_resultsrrNZrpmdbr�ZsolvedZorqueryZrelsZquery_for_provideZdependsqueryZpkg_listr�ZsrcnameZ	tmp_queryr9r�r�Zdeplist_outputr�r�Zproviderrrrr��sH





















"








zRepoQueryCommand.runc
Cs&i}x.|jjjD] }tdd�|j�D��||j<qWi}g}xr|j�D]f}g}x(|j�D]\}}	|j|	krX|j	|�qXW|r�|j
djt|��g�j	t
|��qF|j	t
|��qFWg}
xDt|j��D]4\}}|
j	djt|�tdd�|jd�D����q�W|
j	djt|���|
�r"tdj|
��dS)NcSsg|]
}|j�qSr)ra)r�r�rrrr�}sz9RepoQueryCommand._group_member_report.<locals>.<listcomp>�$r cSsg|]}d|�qS)z  @r)r��idrrrr��s)ru�compsrr�Z
packages_iterr�r�r$rar|�
setdefaultr�r�r}�splitr�)
rir9Zpackage_conf_dict�groupZgroup_package_dictZpkg_not_in_groupr�Z
group_id_listZgroup_idZpackage_name_setr�rZpackage_listrrrr�zs* 
,z%RepoQueryCommand._group_member_reportc
Cs�|j||�}|d
kr t|�dSd}xtd|�D]}|d7}q0Wg}x|jD]}|jt|��qLWdtt|��ddj|�d}	t|d	|d|	�dS)Nr� rz|   �[z: z, �]z\_ ���)r�r��rangerr|r}�lenr�)
ri�levelr�r8Z
pkg_stringZspacing�xrZ
requirepkgZreqstrrrr�	grow_tree�s"zRepoQueryCommand.grow_treercCs8�x0tt|j��dd�d�D�]}|dks2|dkr8t�n|}|jjd�sT|jjd�rXdS|j|||�||kr|j|�|jr�t||j�}i}xFt|�D]:}	|j	j
j�j|	d�}
x |
D]}|||jd|j
<q�Wq�W|j	j
j�jt|j��d	�}
n&|j�r|j|jf|�n|j|jd
�}
|j|
|||d|�qWdS)NcSs|jS)N)ra)�prrr�<lambda>�sz,RepoQueryCommand.tree_seed.<locals>.<lambda>)rrZrpmlibZsolvable)r�.)r�)r�r�)r�r�r�ra�
startswithr�r�rQr�rur�r9r6r5rV�valuesrrr�r�r�)rir9Zaqueryr8r�Zusedpkgsr�Zstrpkg�arraZpkgqueryZquerypkgrrrr��s$"

zRepoQueryCommand.tree_seed)r3r4)N)F)Nr�)r�N)r/r0r1�__doc__r�Z	FORM_NAMEZFORM_NAZ
FORM_NEVRAr��tuple�keys�aliasesrZsummary�staticmethodr:rbrjrxr�r�r�r�r�r�r�r�r�r�rrrrr2cs,
	0



Hr2c@sDeZdZdZdd�Zdd�Zedd��Zedd	��Z	ed
d��Z
dS)
r�z>Wrapper for dnf.package.Package, so we can control formatting.cCs
||_dS)N)�_pkg)rir�rrr�__init__�szPackageWrapper.__init__cCsFt|j|�}|dkrdSt|t�r:djtdd�|D���Stjj|�S)Nz(none)r cSsh|]}tjj|��qSr)rrr�)r�Zreldeprrr�	<setcomp>�sz-PackageWrapper.__getattr__.<locals>.<setcomp>)	r�r��
isinstancerVr�r�rrr�)ri�attrZatrrrr�__getattr__�s
zPackageWrapper.__getattr__cCs&|dkrtjj|�}|jd�SdSdS)Nrz%Y-%m-%d %H:%Mr")�datetimeZutcfromtimestampr~)ryr�rrr�_get_timestamp�s
zPackageWrapper._get_timestampcCs|j|jj�S)N)r�r��	buildtime)rirrrr��szPackageWrapper.buildtimecCs|j|jj�S)N)r�r��installtime)rirrrr��szPackageWrapper.installtimeN)r/r0r1r�r�r�r�r��propertyr�r�rrrrr��sr�)"Z
__future__rrrZdnf.i18nrZdnf.clirZdnf.cli.option_parserrr[r�rg�rer�rZdnf.exceptionsZdnf.subjectZdnf.utilr�Z	getLoggerZloggerrZ�compiler%r�r#r-Z_SplitCallbackr.ZCommandr2�objectr�rrrr�<module>sJ

WPK"�FZN
�WW7cli/commands/__pycache__/repoquery.cpython-36.opt-1.pycnu�[���3

�ft`ن�
@sddlmZddlmZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZejd�Zd	Ze
jd
�ZdZdd
dddddddd�	Zdd�ZGdd�de	j�ZGdd�dej�ZGdd�de �Z!dS)�)�absolute_import)�print_function)�unicode_literals)�_)�commands)�OptionParserN�dnfz.%{name}-%{epoch}:%{version}-%{release}.%{arch}z%(-?\d*?){([:.\w]+?)}aname, arch, epoch, version, release, reponame (repoid), from_repo, evr,
debug_name, source_name, source_debug_name,
installtime, buildtime, size, downloadsize, installsize,
provides, requires, obsoletes, conflicts, sourcerpm,
description, summary, license, url, reason�	conflicts�enhances�	obsoletes�provides�
recommends�requiresZrequires_pre�suggests�supplements)	r	r
rrr
rzrequires-prerrcCs�dd�}dd�}|jdd�jdd�}x tj�D]\}}|j||�}q.Wd	}d
}x>tj|�D]0}|||||j���7}|||�7}|j�}qZW||||d��7}|S)z:Convert a rpm like QUERYFMT to an python .format() string.cSs^|j�d}|j�d}|rJ|ddkr:d|dd�}nd|}d|}d|j�|dS)	Nr��-�>�<�:z{0.�})�groups�lower)ZmatchobjZfill�key�r�/usr/lib/python3.6/repoquery.py�fmt_replDszrpm2py_format.<locals>.fmt_replcSs|jdd�jdd�S)N�{z{{rz}})�replace)Ztxtrrr�bracketsOszrpm2py_format.<locals>.bracketsz\n�
z\t�	�rN)r�OPTS_MAPPING�items�
QFORMAT_MATCH�finditer�start�end)�queryformatrrr�valueZfmt�spos�itemrrr�
rpm2py_formatBsr-c@seZdZdZdS)�_CommaSplitCallbackz\s*,\s*N)�__name__�
__module__�__qualname__ZSPLITTERrrrrr._sr.c@s�eZdZdZejejejd�Zd%e	ej
��Zed�Z
edd��Zedd	��Zd
d�Zdd
�Zdd�Zdd�Zd&dd�Zd'dd�Zd(dd�Zdd�Zdd�Zdd�Zd d!�Zd*d#d$�ZdS)+�RepoQueryCommandzSA class containing methods needed by the cli to execute the repoquery command.
    )zrepoquery-nzrepoquery-nazrepoquery-nevra�	repoquery�rqz$search for packages matching keywordcCs,|jr|j|jd�|jr(|j|jd�|S)z'Filter query by repoid and arch options)Zreponame)�arch)Zrepo�filterm�arches)�opts�queryrrr�filter_repo_archms
z!RepoQueryCommand.filter_repo_archc
Cs�|jddddtd�d�|jddtd�d	�|jd
ddgtd
td�d�|jddddtd�d�|jdgtdtd�d�|jdgtdtd�d�|jdgtdtd�d�|jdgtdtd�d�|jd gtdtd!�d�|jd"gtdtd#�d�|jd$gtdtd%�d�|jd&gtdtd'�d�|jd(gtdtd)�d�|j�}|jd*dtd+�d	�|jd,dtd-�d	�|jd.dtd/�d	�|jd0dtd1�d	�|jd2dtd3�d	�|jd4dtd5�d	�|jd6dtd7�d	�|jd8d9ttd:�d;�|jd<dtd=�d	�|j�}|jd>d?d@dAdtdB�dC�|jdDdEdFdAdtdG�dC�|jdHdIdJdAdtdK�dC�|jdLdMdAdtdN�dC�|jdOdPdQttdR�dS�|jdTdtdU�d	�|jdVdQtdWtdX�dY�|jdZdQd[dWtd\�dY�|jd]dQd^dWtd_�dY�|jd`dtda�d	�|j�}|jdbdcdddWtde�dY�|jdfdcdddWtjdY�|jdgdcdhdWtdi�dY�|jdjdcdkdWtdl�dY�|jdmdtdn�d	�|j�}tdo�tdp�tdq�tdr�tds�tdt�tdu�tdv�tdw�dx�	}x2|j�D]&\}}dy|}|j|dzdW||d{��q�W|jd|dtd}�d	�td~�td�td��td��j	t
jjd��td��d��}	|j�}
x2|	j�D]&\}}dy|}
|
j|
d�dW||d{��q4W|
jd�d�dWd�tjd{�|jd�dtd��d	�|jd�d�d�td��d��dS)�Nz-az--allZqueryall�
store_truezNQuery all packages (shorthand for repoquery '*' or repoquery without argument))�dest�action�helpz--show-duplicatesz(Query all versions of packages (default))r=r>z--archz
--archlistr7z[arch]z show only results from this ARCH)r<�defaultr=�metavarr>z-fz--file�FILE�+z show only results that owns FILE)r@�nargsr>z--whatconflictsZREQz#show only results that conflict REQ)r?r=r@r>z
--whatdependszishows results that requires, suggests, supplements, enhances,or recommends package provides and files REQz--whatobsoletesz#show only results that obsolete REQz--whatprovidesz"show only results that provide REQz--whatrequiresz:shows results that requires package provides and files REQz--whatrecommendsz$show only results that recommend REQz--whatenhancesz"show only results that enhance REQz--whatsuggestsz"show only results that suggest REQz--whatsupplementsz%show only results that supplement REQz	--alldepsz=check non-explicit dependencies (files and Provides); defaultz--exactdepsz:check dependencies exactly as given, opposite of --alldepsz--recursivezOused with --whatrequires, and --requires --resolve, query packages recursively.z	--deplistz>show a list of all dependencies and what packages provide themz	--resolvez.resolve capabilities to originating package(s)z--treez"show recursive tree for package(s)z--srpmz#operate on corresponding source RPMz--latest-limit�latest_limitzOshow N latest packages for a given name.arch (or latest but N if N is negative))r<�typer>z--disable-modular-filteringz-list also packages of inactive module streamsz-iz--info�	queryinfoFz+show detailed information about the package)r<r?r=r>z-lz--list�
queryfilelistz!show list of files in the packagez-sz--source�querysourcerpmzshow package source RPM namez--changelogs�querychangelogszshow changelogs of the packagez--qfz
--queryformatr)zfdisplay format for listing packages: "%%{name} %%{version} ...", use --querytags to view full tag list)r<r?r>z--querytagsz-show available tags to use with --queryformatz--nevra�store_constzZuse name-epoch:version-release.architecture format for displaying found packages (default))r<�constr=r>z--nvrz%{name}-%{version}-%{release}zQuse name-version-release format for displaying found packages (rpm query default)z--envraz.%{epoch}:%{name}-%{version}-%{release}.%{arch}zPuse epoch:name-version-release.architecture format for displaying found packagesz
--groupmemberz=Display in which comps groups are presented selected packagesz--duplicates�	pkgfilter�
duplicatedz/limit the query to installed duplicate packagesz--duplicatedz
--installonly�installonlyz1limit the query to installed installonly packagesz
--unsatisfied�unsatisfiedzClimit the query to installed packages with unsatisfied dependenciesz
--locationz5show a location from where packages can be downloadedz5Display capabilities that the package conflicts with.zaDisplay capabilities that the package can depend on, enhance, recommend, suggest, and supplement.z2Display capabilities that the package can enhance.z-Display capabilities provided by the package.z1Display capabilities that the package recommends.z1Display capabilities that the package depends on.z�If the package is not installed display capabilities that it depends on for running %%pre and %%post scriptlets. If the package is installed display capabilities that is depends for %%pre, %%post, %%preun and %%postun.z/Display capabilities that the package suggests.z5Display capabilities that the package can supplement.)	r	�dependsr
rr
rzrequires-prerrz--%s�
packageatr)r<r=rKr>z--availablez Display only available packages.z Display only installed packages.zLDisplay only packages that are not present in any of available repositories.zQDisplay only packages that provide an upgrade for some already installed package.zIDisplay only packages that can be removed by "{prog} autoremove" command.)�progz2Display only packages that were installed by user.)�	installedZextrasZupgrades�unneeded�
userinstalled�listz--autoremoverTz--recentz%Display only recently edited packagesr�*ZKEYzthe key to search for)rCr@r>)
�add_argumentrr.Zadd_mutually_exclusive_group�int�QFORMAT_DEFAULT�argparseZSUPPRESSr$�formatr�util�	MAIN_PROG)�parserZwhatrequiresformZoutformrLZpackage_attributeZ	help_msgs�argZhelp_msg�nameZ	help_listZ
list_groupZlist_argZhelp_argZswitchrrr�
set_argparservs


























zRepoQueryCommand.set_argparsercCs |jjs|jjtjtjd�dS)N)�stdout�stderr)r8�quiet�cliZredirect_logger�loggingZWARNING�INFO)�selfrrr�
pre_configureszRepoQueryCommand.pre_configurecCsj|jjs|jj�|jj}|jjrJ|jjrB|jjdd|jj�nd|j_|jjrVdS|jj	rx|jjrxt
jjtd���|jj
r�|jjr�|jjdd�t|jj|jjdko�|jj	g�s�t
jjtd���|jjs�|jj�r|jjp�|jj�st
jjtd	j|jj�rd
nd����|jj�r$|jjj�|jjdk�r@|jjd
k�sJ|jj�rPd|_d|_|jj�rfd|_dS)Nz--obsoletesz--rz�Option '--resolve' has to be used together with one of the '--conflicts', '--depends', '--enhances', '--provides', '--recommends', '--requires', '--requires-pre', '--suggests' or '--supplements' optionsz--recursivez--exactdepsrz�Option '--recursive' has to be used with '--whatrequires <REQ>' (optionally with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --resolve'z;argument {} requires --whatrequires or --whatdepends optionz	--alldepsrSrUrNT)rSrU)r8rerfZredirect_repo_progress�demandsrrQZ_option_conflict�	querytags�resolverZCliErrorr�	recursive�	exactdeps�any�whatrequires�alldeps�whatdependsr\�srpm�baseZreposZenable_source_reposrVrL�	availableZavailable_reposZsack_activationrI�
changelogs)rirkrrr�	configures@




zRepoQueryCommand.configurec	Cs|jrpg}|jdt|��xH|jD]>}|d}|jd|jd�tjj|d�tjj|d�f�q$Wdj|�Syht	|�}|j
r�|jjj
|�S|jr�|j}|s�ttd�j|�tjd	�|S|jr�|jSt|j�j|�SWn4tk
�r}ztjjt|���WYdd}~XnXdS)
NzChangelog for %s�	timestampz* %s %s
%s
z%a %b %d %YZauthor�textr zPackage {} contains no files)�file)rI�append�strrw�strftimer�i18n�ucd�join�PackageWrapperrFru�outputZ
infoOutputrG�files�printrr\�sysrdrHZ	sourcerpmr-r)�AttributeError�
exceptions�Error)	rir8�pkg�outZchlog�dtZpoZfilelist�errr�build_format_fnGs.
z RepoQueryCommand.build_format_fncCsN|jjj�jdd�}x4|D],}|j|jtjj|�j	|jjddd���}qW|S)NT)�emptyF)�
with_providesZwith_filenames)
ru�sackr9r6�union�intersectionr�subject�Subject�get_best_query)riZnevrasZ
base_query�resolved_nevras_queryZnevrarrr�_resolve_nevrascs
z RepoQueryCommand._resolve_nevrasNcCsD|r|n|}|j|d�}|j|�}|j|�}|r@|j|||d�}|S)N)r)�done)�filter�
differencer��_do_recursive_deps)ri�query_in�query_selectr�Zquery_requiredrrrr�ps

z#RepoQueryCommand._do_recursive_depsFcCs�|j||�}|j|d�}|j|j|d��}|r�|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d��}|j|j|d	��}|j|j|d
��}|jjr�|j||�}|S)N)�requires__glob)r)�recommends__glob)�enhances__glob)�supplements__glob)�suggests__glob)r
)r
)r)r)r�r�r�r8rnr�)ri�namesr9Z
all_dep_typesr�Zdepqueryrrr�by_all_deps}szRepoQueryCommand.by_all_depscCs�|r|n|jjj�jdd�}|jjj�jdd�}x$|j�D]}|j|j|jd��}q:W|j|�}|rz|j	|||j|�d�}|j|�S)NT)r�)r)r�)
rur�r9r6�runr�r�rr��_get_recursive_providers_query)rir��	providersr��tr�r�rrrr��s
z/RepoQueryCommand._get_recursive_providers_querycCsxg}g}xN|jjD]B}tjjj|�d}|jd�r>|j|�q|r|d	kr|j|�qW|rt|jj|d|jj	j
d�}|S)
Nrz.rpm�http�ftpr{�httpsF)�strict�progress)r�r�r{r�)r8rrZpycompZurlparse�endswithr|ruZadd_remote_rpmsr�r�)riZrpmnames�remote_packagesrZschemesrrr�_add_add_remote_packages�s
z)RepoQueryCommand._add_add_remote_packagesc	Cs�|jjrtt�dS|jj|j�|jjj|jj	r8t
jnt
jd�}|jj
r�|j�}i}|jj|jkrx|j|jjg|d<g}|jdd�}|r�|j|jjj�j|d��}x>|jj
D]2}|jtjj|dd�j|jjfd|d�|���}q�W|}|jj�r|j|jjj�}|jj�rX|jj�r�|jjd	k�r�t|jjj��tjj t!d
j"dd|jj����nH|jjd
k�rx|j#|jj$j%�}n(|jj�r�|jjdk�r�t&||jj��}|jj'dk�r�|jj(|�}|j)|�j*�}n�|jj'dk�r�|jj(|�}n�|jj'dk�rVtjj+|j�}|j,|jjj-|jjj.�tj/j0|�}	d|	_1|	j2dd�}
|
�sRttj3j4|	j5���dS|jj�sh|j�}|j6|j|�}|}|jj7�r�|j|jj7d�|jj8�r�|j|jj8d�}|j|j|j9|jj8|�d��}|jj:�r�|j|jj:d�|jj;�r|j|jj;d�}
|
�r|
}n|j|jj;d�|jj<�rR|jj=�rB|j|jj<d�n|j>|jj<|�}|jj?�r�|jj=�r�|j|jj?d�}|j|j|jj?d��}|j|j|jj?d��}|j|j|jj?d��}|j|j|jj?d��}n|j>|jj?|d�}|jj@�r|j|jj@d�}|j|j|j9|jj@|�d��}|jjA�rR|j|jjAd�}|j|j|j9|jjA|�d��}|jjB�r�|j|jjBd�}|j|j|j9|jjB|�d��}|jjC�r�|j|jjCd�}|j|j|j9|jjC|�d ��}|jjD�r�|jE|jjD�}|jjF|dd!�}|jjG�rRg}xD|D]<}|jH}|dk	�r�|jjj�j||jId"d#�}||j2�7}�q�W|jjj�j|d�}|jjJ�r�|jj<�r�|jjKd9k�r�tjj t!d,�j"tj3jLd-���|jM|||j�dStN�}|jjK�r�tN�}x||j2�D]p}|jjdk�s�|jj$jO|��r�|jjKd.k�r|jP|jQ|jR|jS|jT|jU�n|jPt&|tV|jjK���q�W|jjW�r�|jjd	k�rj|j6|j|jjj��}n|j6|j|jjj�j��}|j|d/�}|jjX�r�|j|jY||��}tN�}x@|jE�j2�D]}|jZ|j[|j|���q�Wn|jPd0d1�|D���n�|jj\�r6x.|j2�D]"}|j]�}|dk	�r|jZ|��qW�nv|jj^�rNg}x�t_tN|j2���D]�}|jjdk�sx|jj$jO|��rVg}|j`d2ta|��x�t_d3d4�|jQD��D]x}|j`d5|�tjj|�}|j|jj�}|j6|j|j��}|jjb�s�|jE�}x$|j2�D]}|j`d6ta|���q�W�q�W|j`d7jc|���qVW|�rJtd8jc|��dS|jjd�rf|je|�dSxD|j2�D]8}|jjdk�s�|jj$jO|��rp|jZ|j[|j|���qpW|�r�|jjf�r�td8jct_|���ntd7jct_|���dS):N)�flagsZformsT)r�)r�)Zignore_caseF)r�r9rSz)argument {}: not allowed with argument {}z--availablez--rTrUrMrNrO)Zverify)Z
file__glob)Zconflicts__glob)r	)r)Zprovides__glob)r�)r�)r�)r�)r�)r
)r
)r)r)Zwarning�src)ra�evrr5r	r
rrr
rrrz�No valid switch specified
usage: {prog} repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]

description:
  For the given packages print a tree of thepackages.)rRrP)rcss|]}t|�VqdS)N)r})�.0Zrelrrr�	<genexpr>Qsz'RepoQueryCommand.run.<locals>.<genexpr>z	package: cSsg|]}t|��qSr)r})r��reqrrr�
<listcomp>]sz(RepoQueryCommand.run.<locals>.<listcomp>z  dependency: z
   provider: r z

)r	r
rrr
rrr)gr8rlr��
QUERY_TAGSrfZ _populate_update_security_filterrur�r9Zdisable_modular_filtering�hawkeyZIGNORE_MODULAR_EXCLUDESZAPPLY_EXCLUDESrr�Zcommand�nevra_formsr�r�r6rr�r�r�ZrecentZ_recentZconfrvrVZ	optparserZprint_usager�r�rr\Z	_unneeded�historyZswdb�getattrrLZ_get_installonly_queryr�rMZ
rpmdb_sackZ
_configureZinstallonlypkgsZinstallonly_limit�goalZGoalZprotect_running_kernelr�r]Z_format_resolve_problemsZ
problem_rulesr:r{Z
whatconflictsr�Z
whatobsoletesZwhatprovidesrqror�rsZwhatrecommendsZwhatenhancesZwhatsupplementsZwhatsuggestsrDZlatestZ_merge_update_filtersrtZsource_namer�ZtreerQr^�	tree_seed�setZuser_installed�updaterr
rrr
r#rmrnr��addr��locationZremote_locationZdeplist�sortedr|r}�verboser�Zgroupmember�_group_member_reportrF)ri�qr�ZkwarkZpkgsZ
query_resultsrrNZrpmdbr�ZsolvedZorqueryZrelsZquery_for_provideZdependsqueryZpkg_listr�ZsrcnameZ	tmp_queryr9r�r�Zdeplist_outputr�r�Zproviderrrrr��sH





















"








zRepoQueryCommand.runc
Cs&i}x.|jjjD] }tdd�|j�D��||j<qWi}g}xr|j�D]f}g}x(|j�D]\}}	|j|	krX|j	|�qXW|r�|j
djt|��g�j	t
|��qF|j	t
|��qFWg}
xDt|j��D]4\}}|
j	djt|�tdd�|jd�D����q�W|
j	djt|���|
�r"tdj|
��dS)NcSsg|]
}|j�qSr)ra)r�r�rrrr�}sz9RepoQueryCommand._group_member_report.<locals>.<listcomp>�$r cSsg|]}d|�qS)z  @r)r��idrrrr��s)ru�compsrr�Z
packages_iterr�r�r$rar|�
setdefaultr�r�r}�splitr�)
rir9Zpackage_conf_dict�groupZgroup_package_dictZpkg_not_in_groupr�Z
group_id_listZgroup_idZpackage_name_setr�rZpackage_listrrrr�zs* 
,z%RepoQueryCommand._group_member_reportc
Cs�|j||�}|d
kr t|�dSd}xtd|�D]}|d7}q0Wg}x|jD]}|jt|��qLWdtt|��ddj|�d}	t|d	|d|	�dS)Nr� rz|   �[z: z, �]z\_ ���)r�r��rangerr|r}�lenr�)
ri�levelr�r8Z
pkg_stringZspacing�xrZ
requirepkgZreqstrrrr�	grow_tree�s"zRepoQueryCommand.grow_treercCs8�x0tt|j��dd�d�D�]}|dks2|dkr8t�n|}|jjd�sT|jjd�rXdS|j|||�||kr|j|�|jr�t||j�}i}xFt|�D]:}	|j	j
j�j|	d�}
x |
D]}|||jd|j
<q�Wq�W|j	j
j�jt|j��d	�}
n&|j�r|j|jf|�n|j|jd
�}
|j|
|||d|�qWdS)NcSs|jS)N)ra)�prrr�<lambda>�sz,RepoQueryCommand.tree_seed.<locals>.<lambda>)rrZrpmlibZsolvable)r�.)r�)r�r�)r�r�r�ra�
startswithr�r�rQr�rur�r9r6r5rV�valuesrrr�r�r�)rir9Zaqueryr8r�Zusedpkgsr�Zstrpkg�arraZpkgqueryZquerypkgrrrr��s$"

zRepoQueryCommand.tree_seed)r3r4)N)F)Nr�)r�N)r/r0r1�__doc__r�Z	FORM_NAMEZFORM_NAZ
FORM_NEVRAr��tuple�keys�aliasesrZsummary�staticmethodr:rbrjrxr�r�r�r�r�r�r�r�r�r�rrrrr2cs,
	0



Hr2c@sDeZdZdZdd�Zdd�Zedd��Zedd	��Z	ed
d��Z
dS)
r�z>Wrapper for dnf.package.Package, so we can control formatting.cCs
||_dS)N)�_pkg)rir�rrr�__init__�szPackageWrapper.__init__cCsFt|j|�}|dkrdSt|t�r:djtdd�|D���Stjj|�S)Nz(none)r cSsh|]}tjj|��qSr)rrr�)r�Zreldeprrr�	<setcomp>�sz-PackageWrapper.__getattr__.<locals>.<setcomp>)	r�r��
isinstancerVr�r�rrr�)ri�attrZatrrrr�__getattr__�s
zPackageWrapper.__getattr__cCs&|dkrtjj|�}|jd�SdSdS)Nrz%Y-%m-%d %H:%Mr")�datetimeZutcfromtimestampr~)ryr�rrr�_get_timestamp�s
zPackageWrapper._get_timestampcCs|j|jj�S)N)r�r��	buildtime)rirrrr��szPackageWrapper.buildtimecCs|j|jj�S)N)r�r��installtime)rirrrr��szPackageWrapper.installtimeN)r/r0r1r�r�r�r�r��propertyr�r�rrrrr��sr�)"Z
__future__rrrZdnf.i18nrZdnf.clirZdnf.cli.option_parserrr[r�rg�rer�rZdnf.exceptionsZdnf.subjectZdnf.utilr�Z	getLoggerZloggerrZ�compiler%r�r#r-Z_SplitCallbackr.ZCommandr2�objectr�rrrr�<module>sJ

WPK"�FZx�����1cli/commands/__pycache__/makecache.cpython-36.pycnu�[���3

�ft`m�@sxddlmZddlmZddlmZddlmZddlZddlZddl	Zddl
ZddlZejd�Z
Gdd�dej�ZdS)	�)�absolute_import)�unicode_literals)�commands)�_N�dnfc@s,eZdZd	Zed�Zedd��Zdd�ZdS)
�MakeCacheCommand�	makecache�mczgenerate the metadata cachecCs,|jdddd�|jdddgdtjd�dS)Nz--timer�
store_true�	timer_opt)�action�dest�timer�?)�nargs�choices�metavar�help)�add_argument�argparseZSUPPRESS)�parser�r�/usr/lib/python3.6/makecache.py�
set_argparser'szMakeCacheCommand.set_argparsercCs2|jjdk	p|jj}td�}tj|�|jj|�S)Nz*Making cache files for all metadata files.)Zoptsrrr�logger�debug�baseZupdate_cache)�selfr�msgrrr�run.s
zMakeCacheCommand.runN)rr	)	�__name__�
__module__�__qualname__�aliasesrZsummary�staticmethodrrrrrrr#sr)Z
__future__rrZdnf.clirZdnf.i18nrrrZdnf.exceptionsZdnf.utilZloggingZ	getLoggerrZCommandrrrrr�<module>s
PK"�FZ^��**.cli/commands/__pycache__/search.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlmZddlmZddl	m
Z
mZmZddl	Z
ddlZ
ddlZ
ddlZddlZejd�ZGd	d
�d
ej�ZdS)�)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�ucd�_�C_�dnfc@sPeZdZdZdZed�Zedd��Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dS)�
SearchCommandzTA class containing methods needed by the cli to execute the
    search command.
    �search�sez+search package details for the given stringc	Cs<|jddtd�d�|jddtd�dgdtjtd	�d
�dS)Nz--all�
store_truez'search also package description and URL)�action�help�query_string�+ZKEYWORD�allzKeyword to search for)�nargs�metavar�choices�defaultrr)�add_argumentrrZPkgNarrowCallback)�parser�r�/usr/lib/python3.6/search.py�
set_argparser0szSearchCommand.set_argparsercs4tjdtdd�fdtdd�fdtdd�fdtd	�ff���fd
d����fdd
�}tjj�}x(|D] }�j|d|��j|d|�qbW�jj	r�xd|D] }�j|d|��j|d|�q�Wn:t
|�}t|j��}x$|D]}t
|j
|��|kr�||=q�Wd}d}	d}
d}d}�jjj�s0�jjj�j|j�d�j�}t�}
x�|jd|d�D]�}�jjj�s~|j|j|
k�rl�qF|
j|j|j�||j|�k�r�|j|�}d}|	|j
|�k�r�|j
|�}	d}|
|j|�|	kk�r�|j|�|	k}
d}|�r�||
||	�d}�jjj||j|�|��qFWt
|�dk�r0tjtd��dS)z0Search for simple text tags in a package object.�nameZlong�Name�summaryZSummary�descriptionZDescriptionZurlZURLc	sy�|S|SdS)Nr)�attr)�	TRANS_TBLrr�_translate_attrCsz.SearchCommand._search.<locals>._translate_attrcs^t�|�}td�j|�}|r*td�|}ntd�|}�jjj|dj|��}tt|��dS)Nz & z%s Exactly Matched: %%sz%s Matched: %%sz, )�mapr�join�base�outputZ
fmtSection�printr)�exact_matchZattrs�keysZtrans_attrsZtrans_attrs_strZsection_textZ	formatted)r#�selfrr�_print_section_headerIs
z4SearchCommand._search.<locals>._print_section_headerNF)�pkgT)�reverseZlimit_torzNo matches found.) �collections�OrderedDictr	rr
Z
match_counterZMatchCounter�_search_counted�optsr�len�listr*�matched_needlesr&ZconfZshowdupesfromrepos�sack�query�filtermZlatest�set�sortedrZarch�addZmatched_keysZmatched_haystacksr'Z
matchcallback�logger�info)r+�argsr,�counter�argZneedlesZpkgsr-Z
used_attrsr5r)Zprint_section_header�limit�seenr)r"r#r+r�_search9s`






zSearchCommand._searchcCs`d||i}tjj|�r$d||i}|jjj�jtjf|�}x|j	�D]}|j
|||�qFW|S)Nz
%s__substrz%s__glob)r
�utilZis_glob_patternr&r6r7r8�hawkeyZICASE�runr;)r+r?r!ZneedleZfdict�qr-rrrr1�szSearchCommand._search_countedcCs |jjs|jjtjtjd�dS)N)�stdout�stderr)r2�quiet�cliZredirect_logger�loggingZWARNING�INFO)r+rrr�
pre_configure�szSearchCommand.pre_configurecCsD|jjs|jj�|jj}d|_d|_d|_|jjp:|jj	|j_dS)NTF)
r2rJrKZredirect_repo_progress�demandsZavailable_reposZfresh_metadataZsack_activationrZquery_string_action)r+rOrrr�	configure�s
zSearchCommand.configurecCstjtd��|j|jj�S)NzSearching Packages: )r<�debugrrCr2r)r+rrrrF�szSearchCommand.runN)rr
)�__name__�
__module__�__qualname__�__doc__�aliasesrr�staticmethodrrCr1rNrPrFrrrrr(s	O		r)Z
__future__rrrr/Zdnf.clirZdnf.cli.option_parserrZdnf.i18nrrr	r
Zdnf.match_counterZdnf.utilrErLZ	getLoggerr<ZCommandrrrrr�<module>s
PK"�FZ�&�caa5cli/commands/__pycache__/upgrade.cpython-36.opt-1.pycnu�[���3

�ft`~�@stddlmZddlmZddlZddlZddlZddlmZddl	m
Z
ddlmZej
d�ZGdd	�d	ej�ZdS)
�)�absolute_import)�unicode_literalsN)�commands)�OptionParser)�_�dnfc@sXeZdZdZdZed�Zed	d
��Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�ZdS)�UpgradeCommandzTA class containing methods needed by the cli to execute the
    update command.
    �upgrade�update�
upgrade-to�	update-to�localupdate�upz,upgrade a package or packages on your systemcCs"|jddtd�tjtd�d�dS)NZpackages�*zPackage to upgradeZPACKAGE)�nargs�help�action�metavar)�add_argumentrrZParseSpecGroupFileCallback)�parser�r�/usr/lib/python3.6/upgrade.py�
set_argparser*szUpgradeCommand.set_argparsercCsZ|jj}d|_d|_d|_d|_tj|j|j�|j	j
sDtj|j�d|_d|_
d|_dS)z�Verify that conditions are met so that this command can run.

        These include that there are enabled repositories with gpg
        keys, and that this command is being run by the root user.
        TN)�cli�demandsZsack_activationZavailable_reposZ	resolvingZ	root_userrZ_checkGPGKey�base�opts�	filenamesZ_checkEnabledRepo�upgrade_minimal�all_security�skipped_grp_specs)�selfrrrr�	configure0szUpgradeCommand.configurecCs�|jr
dnd}|jj|j||jd�|jjs<|jjs<|jjrzd}||j�O}||j	�O}||j
�O}||j�O}|r�dSn|jj
�dStjjtd���dS)N�eqZgte)�cmp_type�allFzNo packages marked for upgrade.)rrZ _populate_update_security_filterrrr�	pkg_specs�	grp_specs�_update_modules�
_update_files�_update_packages�_update_groupsrZupgrade_allr�
exceptions�Errorr)r!r$�resultrrr�runBs

zUpgradeCommand.runcCsNt|jj�}tjjr6tjjj|j�}|j	|jj�|_
n
|jj|_
t|j
�|kS)N)�lenrr'rrZWITH_MODULES�module�module_baseZ
ModuleBaser	r )r!Zgroup_specs_numr2rrrr(Vs
zUpgradeCommand._update_modulescCs�d}|jjr�x~|jj|jjd|jjjd�D]^}y|jj|�d}Wq*tjj	k
r�}z$t
jtd�|jjj
j|j��WYdd}~Xq*Xq*W|S)NF)�strict�progressTzNo match for argument: %s)rrrZadd_remote_rpms�outputr4Zpackage_upgraderr,�MarkingError�logger�infor�term�bold�location)r!�successZpkg�errrr)`s
*zUpgradeCommand._update_filescCsrd}xh|jjD]\}y|jj|�d}Wqtjjk
rh}z"tjt	d�|jj
jj|��WYdd}~XqXqW|S)NFTzNo match for argument: %s)
rr&rr	rr,r6r7r8rr5r9r:)r!r<Zpkg_specr=rrrr*ms
(zUpgradeCommand._update_packagescCs|jr|jj|j�dSdS)NTF)r rZenv_group_upgrade)r!rrrr+xszUpgradeCommand._update_groupsN)r	r
rrr
r)�__name__�
__module__�__qualname__�__doc__�aliasesrZsummary�staticmethodrr"r/r(r)r*r+rrrrr#s

r)Z
__future__rrZloggingZdnf.exceptionsrZdnf.baseZdnf.clirZdnf.cli.option_parserrZdnf.i18nrZ	getLoggerr7ZCommandrrrrr�<module>s
PK"�FZ��3z2z2cli/commands/repolist.pynu�[���# repolist.py
# repolist CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.i18n import _, ucd, fill_exact_width, exact_width
from dnf.cli.option_parser import OptionParser
import dnf.cli.format
import dnf.pycomp
import dnf.util
import fnmatch
import hawkey
import logging
import operator

logger = logging.getLogger('dnf')


def _expire_str(repo, md):
    last = dnf.util.normalize_time(repo._repo.getTimestamp()) if md else _("unknown")
    if repo.metadata_expire <= -1:
        return _("Never (last: %s)") % last
    elif not repo.metadata_expire:
        return _("Instant (last: %s)") % last
    else:
        num = _num2ui_num(repo.metadata_expire)
        return _("%s second(s) (last: %s)") % (num, last)


def _num2ui_num(num):
    return ucd(dnf.pycomp.format("%d", num, True))


def _repo_match(repo, patterns):
    rid = repo.id.lower()
    rnm = repo.name.lower()
    for pat in patterns:
        if fnmatch.fnmatch(rid, pat):
            return True
        if fnmatch.fnmatch(rnm, pat):
            return True
    return False


def _repo_size(sack, repo):
    ret = 0
    for pkg in sack.query(flags=hawkey.IGNORE_EXCLUDES).filterm(reponame__eq=repo.id):
        ret += pkg._size
    return dnf.cli.format.format_number(ret)


class RepoListCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    repolist command.
    """

    aliases = ('repolist', 'repoinfo')
    summary = _('display the configured software repositories')

    @staticmethod
    def set_argparser(parser):
        repolimit = parser.add_mutually_exclusive_group()
        repolimit.add_argument('--all', dest='_repos_action',
                               action='store_const', const='all', default=None,
                               help=_("show all repos"))
        repolimit.add_argument('--enabled', dest='_repos_action',
                               action='store_const', const='enabled',
                               help=_("show enabled repos (default)"))
        repolimit.add_argument('--disabled', dest='_repos_action',
                               action='store_const', const='disabled',
                               help=_("show disabled repos"))
        parser.add_argument('repos', nargs='*', default='enabled-default', metavar="REPOSITORY",
                            choices=['all', 'enabled', 'disabled'],
                            action=OptionParser.PkgNarrowCallback,
                            help=_("Repository specification"))

    def pre_configure(self):
        if not self.opts.quiet:
            self.cli.redirect_logger(stdout=logging.WARNING, stderr=logging.INFO)

    def configure(self):
        if not self.opts.quiet:
            self.cli.redirect_repo_progress()
        demands = self.cli.demands
        if self.base.conf.verbose or self.opts.command == 'repoinfo':
            demands.available_repos = True
            demands.sack_activation = True

        if self.opts._repos_action:
            self.opts.repos_action = self.opts._repos_action

    def run(self):
        arg = self.opts.repos_action
        extcmds = [x.lower() for x in self.opts.repos]

        verbose = self.base.conf.verbose

        repos = list(self.base.repos.values())
        repos.sort(key=operator.attrgetter('id'))
        term = self.output.term
        on_ehibeg = term.FG_COLOR['green'] + term.MODE['bold']
        on_dhibeg = term.FG_COLOR['red']
        on_hiend = term.MODE['normal']
        tot_num = 0
        cols = []
        if not repos:
            logger.warning(_('No repositories available'))
            return
        include_status = arg == 'all' or (arg == 'enabled-default' and extcmds)
        repoinfo_output = []
        for repo in repos:
            if len(extcmds) and not _repo_match(repo, extcmds):
                continue
            (ehibeg, dhibeg, hiend) = '', '', ''
            ui_enabled = ''
            ui_endis_wid = 0
            ui_excludes_num = ''
            if include_status:
                (ehibeg, dhibeg, hiend) = (on_ehibeg, on_dhibeg, on_hiend)
            if repo.enabled:
                enabled = True
                if arg == 'disabled':
                    continue
                if include_status or verbose or self.opts.command == 'repoinfo':
                    ui_enabled = ehibeg + _('enabled') + hiend
                    ui_endis_wid = exact_width(_('enabled'))
                if verbose or self.opts.command == 'repoinfo':
                    ui_size = _repo_size(self.base.sack, repo)
            else:
                enabled = False
                if arg == 'enabled' or (arg == 'enabled-default' and not extcmds):
                    continue
                ui_enabled = dhibeg + _('disabled') + hiend
                ui_endis_wid = exact_width(_('disabled'))

            if not (verbose or self.opts.command == 'repoinfo'):
                rid = ucd(repo.id)
                cols.append((rid, repo.name, (ui_enabled, ui_endis_wid)))
            else:
                if enabled:
                    md = repo.metadata
                else:
                    md = None
                out = [self.output.fmtKeyValFill(_("Repo-id            : "), repo.id),
                       self.output.fmtKeyValFill(_("Repo-name          : "), repo.name)]

                if include_status:
                    out += [self.output.fmtKeyValFill(_("Repo-status        : "),
                                                      ui_enabled)]
                if md and repo._repo.getRevision():
                    out += [self.output.fmtKeyValFill(_("Repo-revision      : "),
                                                      repo._repo.getRevision())]
                if md and repo._repo.getContentTags():
                    tags = repo._repo.getContentTags()
                    out += [self.output.fmtKeyValFill(_("Repo-tags          : "),
                                                      ", ".join(sorted(tags)))]

                if md and repo._repo.getDistroTags():
                    distroTagsDict = {k: v for (k, v) in repo._repo.getDistroTags()}
                    for (distro, tags) in distroTagsDict.items():
                        out += [self.output.fmtKeyValFill(
                            _("Repo-distro-tags      : "),
                            "[%s]: %s" % (distro, ", ".join(sorted(tags))))]

                if md:
                    num = len(self.base.sack.query(flags=hawkey.IGNORE_EXCLUDES).filterm(
                        reponame__eq=repo.id))
                    num_available = len(self.base.sack.query().filterm(reponame__eq=repo.id))
                    ui_num = _num2ui_num(num)
                    ui_num_available = _num2ui_num(num_available)
                    tot_num += num
                    out += [
                        self.output.fmtKeyValFill(
                            _("Repo-updated       : "),
                            dnf.util.normalize_time(repo._repo.getMaxTimestamp())),
                        self.output.fmtKeyValFill(_("Repo-pkgs          : "), ui_num),
                        self.output.fmtKeyValFill(_("Repo-available-pkgs: "), ui_num_available),
                        self.output.fmtKeyValFill(_("Repo-size          : "), ui_size)]

                if repo.metalink:
                    out += [self.output.fmtKeyValFill(_("Repo-metalink      : "),
                                                      repo.metalink)]
                    if enabled:
                        ts = repo._repo.getTimestamp()
                        out += [self.output.fmtKeyValFill(
                            _("  Updated          : "), dnf.util.normalize_time(ts))]
                elif repo.mirrorlist:
                    out += [self.output.fmtKeyValFill(_("Repo-mirrors       : "),
                                                      repo.mirrorlist)]
                baseurls = repo.baseurl
                if baseurls:
                    out += [self.output.fmtKeyValFill(_("Repo-baseurl       : "),
                                                      ", ".join(baseurls))]
                elif enabled:
                    mirrors = repo._repo.getMirrors()
                    if mirrors:
                        url = "%s (%d more)" % (mirrors[0], len(mirrors) - 1)
                        out += [self.output.fmtKeyValFill(_("Repo-baseurl       : "), url)]

                expire = _expire_str(repo, md)
                out += [self.output.fmtKeyValFill(_("Repo-expire        : "), expire)]

                if repo.excludepkgs:
                    # TRANSLATORS: Packages that are excluded - their names like (dnf systemd)
                    out += [self.output.fmtKeyValFill(_("Repo-exclude       : "),
                                                      ", ".join(repo.excludepkgs))]

                if repo.includepkgs:
                    out += [self.output.fmtKeyValFill(_("Repo-include       : "),
                                                      ", ".join(repo.includepkgs))]

                if ui_excludes_num:
                    # TRANSLATORS: Number of packages that where excluded (5)
                    out += [self.output.fmtKeyValFill(_("Repo-excluded      : "),
                                                      ui_excludes_num)]

                if repo.repofile:
                    out += [self.output.fmtKeyValFill(_("Repo-filename      : "),
                                                      repo.repofile)]
                repoinfo_output.append("\n".join(map(ucd, out)))

        if repoinfo_output:
            print("\n\n".join(repoinfo_output))
        if not verbose and cols:
            #  Work out the first (id) and last (enabled/disabled/count),
            # then chop the middle (name)...

            id_len = exact_width(_('repo id'))
            nm_len = 0
            st_len = 0

            for (rid, rname, (ui_enabled, ui_endis_wid)) in cols:
                if id_len < exact_width(rid):
                    id_len = exact_width(rid)
                if nm_len < exact_width(rname):
                    nm_len = exact_width(rname)
                if st_len < ui_endis_wid:
                    st_len = ui_endis_wid
                # Need this as well as above for: fill_exact_width()
            if include_status:
                if exact_width(_('status')) > st_len:
                    left = term.columns - (id_len + len(_('status')) + 2)
                else:
                    left = term.columns - (id_len + st_len + 2)
            else:  # Don't output a status column.
                left = term.columns - (id_len + 1)

            if left < nm_len:  # Name gets chopped
                nm_len = left
            else:  # Share the extra...
                left -= nm_len
                id_len += left // 2
                nm_len += left - (left // 2)

            txt_rid = fill_exact_width(_('repo id'), id_len)
            if include_status:
                txt_rnam = fill_exact_width(_('repo name'), nm_len, nm_len)
            else:
                txt_rnam = _('repo name')
            if not include_status:  # Don't output a status column.
                print("%s %s" % (txt_rid, txt_rnam))
            else:
                print("%s %s %s" % (txt_rid, txt_rnam, _('status')))
            for (rid, rname, (ui_enabled, ui_endis_wid)) in cols:
                if not include_status:  # Don't output a status column.
                    print("%s %s" % (fill_exact_width(rid, id_len), rname))
                    continue

                print("%s %s %s" % (fill_exact_width(rid, id_len),
                                    fill_exact_width(rname, nm_len, nm_len),
                                    ui_enabled))
        if verbose or self.opts.command == 'repoinfo':
            msg = _('Total packages: {}')
            print(msg.format(_num2ui_num(tot_num)))
PK"�FZ!�B�
�
cli/commands/mark.pynu�[���# mark.py
# Mark CLI command.
#
# Copyright (C) 2015-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import unicode_literals

import libdnf.transaction

from dnf.i18n import _
from dnf.cli import commands

import dnf
import functools
import logging

logger = logging.getLogger("dnf")


class MarkCommand(commands.Command):

    aliases = ('mark',)
    summary = _('mark or unmark installed packages as installed by user.')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('mark', nargs=1, choices=['install', 'remove', 'group'],
                            help=_("install: mark as installed by user\n"
                                   "remove: unmark as installed by user\n"
                                   "group: mark as installed by group"))
        parser.add_argument('package', nargs='+', metavar="PACKAGE",
                            help=_("Package specification"))

    def _mark_install(self, pkg):
        self.base.history.set_reason(pkg, libdnf.transaction.TransactionItemReason_USER)
        logger.info(_('%s marked as user installed.'), str(pkg))

    def _mark_remove(self, pkg):
        self.base.history.set_reason(pkg, libdnf.transaction.TransactionItemReason_DEPENDENCY)
        logger.info(_('%s unmarked as user installed.'), str(pkg))

    def _mark_group(self, pkg):
        self.base.history.set_reason(pkg, libdnf.transaction.TransactionItemReason_GROUP)
        logger.info(_('%s marked as group installed.'), str(pkg))

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        demands.root_user = True
        demands.available_repos = False
        demands.resolving = False

    def run(self):
        cmd = self.opts.mark[0]
        pkgs = self.opts.package

        mark_func = functools.partial(getattr(self, '_mark_' + cmd))

        notfound = []
        for pkg in pkgs:
            subj = dnf.subject.Subject(pkg)
            q = subj.get_best_query(self.base.sack)
            for pkg in q:
                mark_func(pkg)
            if len(q) == 0:
                notfound.append(pkg)

        if notfound:
            logger.error(_('Error:'))
            for pkg in notfound:
                logger.error(_('Package %s is not installed.'), pkg)
            raise dnf.cli.CliError

        old = self.base.history.last()
        if old is None:
            rpmdb_version = self.sack._rpmdb_version()
        else:
            rpmdb_version = old.end_rpmdb_version

        self.base.history.beg(rpmdb_version, [], [])
        self.base.history.end(rpmdb_version)
PK"�FZHh�??cli/commands/check.pynu�[���#
# Copyright (C) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
from dnf.cli import commands

import argparse
import dnf.exceptions


class CheckCommand(commands.Command):
    """A class containing methods needed by the cli to execute the check
    command.
    """

    aliases = ('check',)
    summary = _('check for problems in the packagedb')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('--all', dest='check_types',
                            action='append_const', const='all',
                            help=_('show all problems; default'))
        parser.add_argument('--dependencies', dest='check_types',
                            action='append_const', const='dependencies',
                            help=_('show dependency problems'))
        parser.add_argument('--duplicates', dest='check_types',
                            action='append_const', const='duplicates',
                            help=_('show duplicate problems'))
        parser.add_argument('--obsoleted', dest='check_types',
                            action='append_const', const='obsoleted',
                            help=_('show obsoleted packages'))
        parser.add_argument('--provides', dest='check_types',
                            action='append_const', const='provides',
                            help=_('show problems with provides'))
        # Add compatibility with yum but invisible in help
        # In choices [] allows to return empty list if no argument otherwise it fails
        parser.add_argument('check_yum_types', nargs='*', choices=[
            'all', 'dependencies', 'duplicates', 'obsoleted', 'provides', []],
                            help=argparse.SUPPRESS)

    def configure(self):
        self.cli.demands.sack_activation = True
        if self.opts.check_yum_types:
            if self.opts.check_types:
                self.opts.check_types = self.opts.check_types + \
                                        self.opts.check_yum_types
            else:
                self.opts.check_types = self.opts.check_yum_types
        if not self.opts.check_types:
            self.opts.check_types = {'all'}
        else:
            self.opts.check_types = set(self.opts.check_types)
        self.base.conf.disable_excludes += ["all"]

    def run(self):
        output_set = set()
        q = self.base.sack.query().installed()

        if self.opts.check_types.intersection({'all', 'dependencies'}):
            sack = None
            for pkg in q:
                for require in set(pkg.regular_requires) | set(set(pkg.requires_pre) - set(pkg.prereq_ignoreinst)):
                    if str(require).startswith('rpmlib'):
                        continue
                    if not len(q.filter(provides=[require])):
                        if str(require).startswith('('):
                            # rich deps can be only tested by solver
                            if sack is None:
                                sack = dnf.sack.rpmdb_sack(self.base)
                            selector = dnf.selector.Selector(sack)
                            selector.set(provides=str(require))
                            goal = dnf.goal.Goal(sack)
                            goal.protect_running_kernel = self.base.conf.protect_running_kernel
                            goal.install(select=selector, optional=False)
                            solved = goal.run()
                            # there ase only @system repo in sack, therefore solved is only in case
                            # when rich deps doesn't require any additional package
                            if solved:
                                continue
                        msg = _("{} has missing requires of {}")
                        output_set.add(msg.format(
                            self.base.output.term.bold(pkg),
                            self.base.output.term.bold(require)))
                for conflict in pkg.conflicts:
                    conflicted = q.filter(provides=[conflict],
                                          name=str(conflict).split()[0])
                    for conflict_pkg in conflicted:
                        msg = '{} has installed conflict "{}": {}'
                        output_set.add(msg.format(
                            self.base.output.term.bold(pkg),
                            self.base.output.term.bold(conflict),
                            self.base.output.term.bold(conflict_pkg)))

        if self.opts.check_types.intersection({'all', 'duplicates'}):
            installonly = self.base._get_installonly_query(q)
            dups = q.duplicated().difference(installonly)._name_dict()
            for name, pkgs in dups.items():
                pkgs.sort()
                for dup in pkgs[1:]:
                    msg = _("{} is a duplicate with {}").format(
                        self.base.output.term.bold(pkgs[0]),
                        self.base.output.term.bold(dup))
                    output_set.add(msg)

        if self.opts.check_types.intersection({'all', 'obsoleted'}):
            for pkg in q:
                for obsolete in pkg.obsoletes:
                    obsoleted = q.filter(provides=[obsolete],
                                         name=str(obsolete).split()[0])
                    if len(obsoleted):
                        msg = _("{} is obsoleted by {}").format(
                            self.base.output.term.bold(obsoleted[0]),
                            self.base.output.term.bold(pkg))
                        output_set.add(msg)

        if self.opts.check_types.intersection({'all', 'provides'}):
            for pkg in q:
                for provide in pkg.provides:
                    if pkg not in q.filter(provides=[provide]):
                        msg = _("{} provides {} but it cannot be found")
                        output_set.add(msg.format(
                            self.base.output.term.bold(pkg),
                            self.base.output.term.bold(provide)))

        for msg in sorted(output_set):
            print(msg)

        if output_set:
            raise dnf.exceptions.Error(
                'Check discovered {} problem(s)'.format(len(output_set)))
PK"�FZ�n�A�Acli/commands/module.pynu�[���# supplies the 'module' command.
#
# Copyright (C) 2014-2017  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function

from dnf.cli import commands, CliError
from dnf.i18n import _
from dnf.module.exceptions import NoModuleException
from dnf.util import logger
import dnf.util

import sys
import os

import hawkey
import libdnf
import dnf.module.module_base
import dnf.exceptions


class ModuleCommand(commands.Command):
    class SubCommand(commands.Command):

        def __init__(self, cli):
            super(ModuleCommand.SubCommand, self).__init__(cli)
            self.module_base = dnf.module.module_base.ModuleBase(self.base)

        def _get_modules_from_name_stream_specs(self):
            modules_from_specs = set()
            for module_spec in self.opts.module_spec:
                __, nsvcap = self.module_base._get_modules(module_spec)
                # When there is no match, the problem was already reported by module_base.remove()
                if nsvcap is None:
                    continue
                name = nsvcap.name if nsvcap.name else ""
                stream = nsvcap.stream if nsvcap.stream else ""
                if (nsvcap.version and nsvcap.version != -1) or nsvcap.context:
                    logger.info(_("Only module name, stream, architecture or profile is used. "
                                  "Ignoring unneeded information in argument: '{}'").format(
                        module_spec))
                arch = nsvcap.arch if nsvcap.arch else ""
                modules = self.base._moduleContainer.query(name, stream, "", "", arch)
                modules_from_specs.update(modules)
            return modules_from_specs

        def _get_module_artifact_names(self, use_modules, skip_modules):
            artifacts = set()
            pkg_names = set()
            for module in use_modules:
                if module not in skip_modules:
                    if self.base._moduleContainer.isModuleActive(module):
                        artifacts.update(module.getArtifacts())
            for artifact in artifacts:
                subj = hawkey.Subject(artifact)
                for nevra_obj in subj.get_nevra_possibilities(
                        forms=[hawkey.FORM_NEVRA]):
                    if nevra_obj.name:
                        pkg_names.add(nevra_obj.name)
            return pkg_names, artifacts

    class ListSubCommand(SubCommand):

        aliases = ('list',)
        summary = _('list all module streams, profiles and states')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True

        def run_on_module(self):
            mods = self.module_base

            if self.opts.enabled:
                output = mods._get_brief_description(
                    self.opts.module_spec, libdnf.module.ModulePackageContainer.ModuleState_ENABLED)
            elif self.opts.disabled:
                output = mods._get_brief_description(
                    self.opts.module_spec,
                    libdnf.module.ModulePackageContainer.ModuleState_DISABLED)
            elif self.opts.installed:
                output = mods._get_brief_description(
                    self.opts.module_spec,
                    libdnf.module.ModulePackageContainer.ModuleState_INSTALLED)
            else:
                output = mods._get_brief_description(
                    self.opts.module_spec, libdnf.module.ModulePackageContainer.ModuleState_UNKNOWN)
            if output:
                print(output)
                return
            if self.opts.module_spec:
                msg = _('No matching Modules to list')
                raise dnf.exceptions.Error(msg)

    class InfoSubCommand(SubCommand):

        aliases = ('info',)
        summary = _('print detailed information about a module')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True

        def run_on_module(self):
            if self.opts.verbose:
                output = self.module_base._get_full_info(self.opts.module_spec)
            elif self.opts.profile:
                output = self.module_base._get_info_profiles(self.opts.module_spec)
            else:
                output = self.module_base._get_info(self.opts.module_spec)
            if output:
                print(output)
            else:
                raise dnf.exceptions.Error(_('No matching Modules to list'))

    class EnableSubCommand(SubCommand):

        aliases = ('enable',)
        summary = _('enable a module stream')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_module(self):
            try:
                self.module_base.enable(self.opts.module_spec)
            except dnf.exceptions.MarkingErrors as e:
                if self.base.conf.strict:
                    if e.no_match_group_specs or e.error_group_specs:
                        raise e
                    if e.module_depsolv_errors and e.module_depsolv_errors[1] != \
                            libdnf.module.ModulePackageContainer.ModuleErrorType_ERROR_IN_DEFAULTS:
                        raise e
                logger.error(str(e))

    class DisableSubCommand(SubCommand):

        aliases = ('disable',)
        summary = _('disable a module with all its streams')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_module(self):
            try:
                self.module_base.disable(self.opts.module_spec)
            except dnf.exceptions.MarkingErrors as e:
                if self.base.conf.strict:
                    if e.no_match_group_specs or e.error_group_specs:
                        raise e
                    if e.module_depsolv_errors and e.module_depsolv_errors[1] != \
                            libdnf.module.ModulePackageContainer.ModuleErrorType_ERROR_IN_DEFAULTS:
                        raise e
                logger.error(str(e))

    class ResetSubCommand(SubCommand):

        aliases = ('reset',)
        summary = _('reset a module')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_module(self):
            try:
                self.module_base.reset(self.opts.module_spec)
            except dnf.exceptions.MarkingErrors as e:
                if self.base.conf.strict:
                    if e.no_match_group_specs:
                        raise e
                logger.error(str(e))

    class InstallSubCommand(SubCommand):

        aliases = ('install',)
        summary = _('install a module profile including its packages')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_module(self):
            try:
                self.module_base.install(self.opts.module_spec, self.base.conf.strict)
            except dnf.exceptions.MarkingErrors as e:
                if self.base.conf.strict:
                    if e.no_match_group_specs or e.error_group_specs:
                        raise e
                logger.error(str(e))

    class UpdateSubCommand(SubCommand):

        aliases = ('update',)
        summary = _('update packages associated with an active stream')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_module(self):
            module_specs = self.module_base.upgrade(self.opts.module_spec)
            if module_specs:
                raise NoModuleException(", ".join(module_specs))

    class RemoveSubCommand(SubCommand):

        aliases = ('remove', 'erase',)
        summary = _('remove installed module profiles and their packages')

        def configure(self):
            demands = self.cli.demands
            demands.allow_erasing = True
            demands.available_repos = True
            demands.fresh_metadata = False
            demands.resolving = True
            demands.root_user = True
            demands.sack_activation = True

        def run_on_module(self):
            skipped_groups = self.module_base.remove(self.opts.module_spec)
            if self.opts.all:
                modules_from_specs = self._get_modules_from_name_stream_specs()
                remove_names_from_spec, __ = self._get_module_artifact_names(
                    modules_from_specs, set())
                keep_names, __ = self._get_module_artifact_names(
                    self.base._moduleContainer.getModulePackages(), modules_from_specs)
                remove_query = self.base.sack.query().installed().filterm(
                    name=remove_names_from_spec)
                keep_query = self.base.sack.query().installed().filterm(name=keep_names)
                for pkg in remove_query:
                    if pkg in keep_query:
                        msg = _("Package {} belongs to multiple modules, skipping").format(pkg)
                        logger.info(msg)
                    else:
                        self.base.goal.erase(
                            pkg, clean_deps=self.base.conf.clean_requirements_on_remove)
            if not skipped_groups:
                return

            logger.error(dnf.exceptions.MarkingErrors(no_match_group_specs=skipped_groups))

    class SwitchToSubCommand(SubCommand):

        aliases = ('switch-to',)
        summary = _('switch a module to a stream and distrosync rpm packages')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True
            self.base.conf.module_stream_switch = True

        def run_on_module(self):
            try:
                self.module_base.switch_to(self.opts.module_spec, strict=self.base.conf.strict)
            except dnf.exceptions.MarkingErrors as e:
                if self.base.conf.strict:
                    if e.no_match_group_specs or e.error_group_specs:
                        raise e
                logger.error(str(e))

    class ProvidesSubCommand(SubCommand):

        aliases = ("provides", )
        summary = _('list modular packages')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True

        def run_on_module(self):
            output = self.module_base._what_provides(self.opts.module_spec)
            if output:
                print(output)

    class RepoquerySubCommand(SubCommand):

        aliases = ("repoquery", )
        summary = _('list packages belonging to a module')

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True

        def run_on_module(self):
            modules_from_specs = set()
            for module_spec in self.opts.module_spec:
                modules, __ = self.module_base._get_modules(module_spec)
                modules_from_specs.update(modules)
            names_from_spec, spec_artifacts = self._get_module_artifact_names(
                modules_from_specs, set())
            package_strings = set()
            if self.opts.available or not self.opts.installed:
                query = self.base.sack.query().available().filterm(nevra_strict=spec_artifacts)
                for pkg in query:
                    package_strings.add(str(pkg))
            if self.opts.installed:
                query = self.base.sack.query().installed().filterm(name=names_from_spec)
                for pkg in query:
                    package_strings.add(str(pkg))

            output = "\n".join(sorted(package_strings))
            print(output)


    SUBCMDS = {ListSubCommand, InfoSubCommand, EnableSubCommand,
               DisableSubCommand, ResetSubCommand, InstallSubCommand, UpdateSubCommand,
               RemoveSubCommand, SwitchToSubCommand, ProvidesSubCommand, RepoquerySubCommand}

    SUBCMDS_NOT_REQUIRED_ARG = {ListSubCommand}

    aliases = ("module",)
    summary = _("Interact with Modules.")

    def __init__(self, cli):
        super(ModuleCommand, self).__init__(cli)
        subcmd_objs = (subcmd(cli) for subcmd in self.SUBCMDS)
        self.subcmd = None
        self._subcmd_name2obj = {
            alias: subcmd for subcmd in subcmd_objs for alias in subcmd.aliases}

    def set_argparser(self, parser):
        narrows = parser.add_mutually_exclusive_group()
        narrows.add_argument('--enabled', dest='enabled',
                             action='store_true',
                             help=_("show only enabled modules"))
        narrows.add_argument('--disabled', dest='disabled',
                             action='store_true',
                             help=_("show only disabled modules"))
        narrows.add_argument('--installed', dest='installed',
                             action='store_true',
                             help=_("show only installed modules or packages"))
        narrows.add_argument('--profile', dest='profile',
                             action='store_true',
                             help=_("show profile content"))
        parser.add_argument('--available', dest='available', action='store_true',
                            help=_("show only available packages"))
        narrows.add_argument('--all', dest='all',
                             action='store_true',
                             help=_("remove all modular packages"))
        subcommand_choices = []
        subcommand_help = []
        for subcmd in sorted(self.SUBCMDS, key=lambda x: x.aliases[0]):
            subcommand_choices.append(subcmd.aliases[0])
            subcommand_help.append('{}: {}'.format(subcmd.aliases[0], subcmd.summary or ''))
        parser.add_argument('subcmd', nargs=1, choices=subcommand_choices,
                            metavar='<modular command>',
                            help='\n'.join(subcommand_help))
        parser.add_argument('module_spec', metavar='module-spec', nargs='*',
                            help=_("Module specification"))

    def configure(self):
        try:
            self.subcmd = self._subcmd_name2obj[self.opts.subcmd[0]]
        except (CliError, KeyError):
            self.cli.optparser.print_usage()
            raise CliError
        self.subcmd.opts = self.opts
        self.subcmd.configure()

    def run(self):
        self.check_required_argument()
        self.subcmd.run_on_module()

    def check_required_argument(self):
        not_required_argument = [alias
                                 for subcmd in self.SUBCMDS_NOT_REQUIRED_ARG
                                 for alias in subcmd.aliases]
        if self.opts.subcmd[0] not in not_required_argument:
            if not self.opts.module_spec:
                raise CliError(
                    _("{} {} {}: too few arguments").format(dnf.util.MAIN_PROG,
                                                            self.opts.command,
                                                            self.opts.subcmd[0]))
PK"�FZ�����cli/commands/autoremove.pynu�[���# autoremove.py
# Autoremove CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _

import dnf.exceptions
import hawkey
import logging

logger = logging.getLogger("dnf")


class AutoremoveCommand(commands.Command):

    nevra_forms = {'autoremove-n': hawkey.FORM_NAME,
                   'autoremove-na': hawkey.FORM_NA,
                   'autoremove-nevra': hawkey.FORM_NEVRA}

    aliases = ('autoremove',) + tuple(nevra_forms.keys())
    summary = _('remove all unneeded packages that were originally installed '
                'as dependencies')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('packages', nargs='*', help=_('Package to remove'),
                            action=OptionParser.ParseSpecGroupFileCallback,
                            metavar=_('PACKAGE'))

    def configure(self):
        demands = self.cli.demands
        demands.resolving = True
        demands.root_user = True
        demands.sack_activation = True

        if any([self.opts.grp_specs, self.opts.pkg_specs, self.opts.filenames]):
            self.base.conf.clean_requirements_on_remove = True
            demands.allow_erasing = True
            # disable all available repos to delete whole dependency tree
            # instead of replacing removable package with available packages
            demands.available_repos = False
        else:
            demands.available_repos = True
            demands.fresh_metadata = False

    def run(self):
        if any([self.opts.grp_specs, self.opts.pkg_specs, self.opts.filenames]):
            forms = []
            if self.opts.command in self.nevra_forms:
                forms = [self.nevra_forms[self.opts.command]]

            self.base.autoremove(forms,
                                 self.opts.pkg_specs,
                                 self.opts.grp_specs,
                                 self.opts.filenames)
        else:
            self.base.autoremove()
PK"�FZ}�gO~~cli/commands/upgrade.pynu�[���# upgrade.py
# Upgrade CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

import logging

import dnf.exceptions
import dnf.base
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _

logger = logging.getLogger('dnf')


class UpgradeCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    update command.
    """
    aliases = ('upgrade', 'update', 'upgrade-to', 'update-to', 'localupdate', 'up')
    summary = _('upgrade a package or packages on your system')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('packages', nargs='*', help=_('Package to upgrade'),
                            action=OptionParser.ParseSpecGroupFileCallback,
                            metavar=_('PACKAGE'))

    def configure(self):
        """Verify that conditions are met so that this command can run.

        These include that there are enabled repositories with gpg
        keys, and that this command is being run by the root user.
        """
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True
        commands._checkGPGKey(self.base, self.cli)
        if not self.opts.filenames:
            commands._checkEnabledRepo(self.base)
        self.upgrade_minimal = None
        self.all_security = None
        self.skipped_grp_specs = None

    def run(self):
        cmp_type = "eq" if self.upgrade_minimal else "gte"
        self.cli._populate_update_security_filter(self.opts, cmp_type=cmp_type,
                                                  all=self.all_security)

        if self.opts.filenames or self.opts.pkg_specs or self.opts.grp_specs:
            result = False
            result |= self._update_modules()
            result |= self._update_files()
            result |= self._update_packages()
            result |= self._update_groups()

            if result:
                return
        else:
            self.base.upgrade_all()
            return

        raise dnf.exceptions.Error(_('No packages marked for upgrade.'))

    def _update_modules(self):
        group_specs_num = len(self.opts.grp_specs)
        if dnf.base.WITH_MODULES:
            module_base = dnf.module.module_base.ModuleBase(self.base)
            self.skipped_grp_specs = module_base.upgrade(self.opts.grp_specs)
        else:
            self.skipped_grp_specs = self.opts.grp_specs

        return len(self.skipped_grp_specs) != group_specs_num

    def _update_files(self):
        success = False
        if self.opts.filenames:
            for pkg in self.base.add_remote_rpms(self.opts.filenames, strict=False,
                                                 progress=self.base.output.progress):
                try:
                    self.base.package_upgrade(pkg)
                    success = True
                except dnf.exceptions.MarkingError as e:
                    logger.info(_('No match for argument: %s'),
                                self.base.output.term.bold(pkg.location))
        return success

    def _update_packages(self):
        success = False
        for pkg_spec in self.opts.pkg_specs:
            try:
                self.base.upgrade(pkg_spec)
                success = True
            except dnf.exceptions.MarkingError as e:
                logger.info(_('No match for argument: %s'),
                            self.base.output.term.bold(pkg_spec))
        return success

    def _update_groups(self):
        if self.skipped_grp_specs:
            self.base.env_group_upgrade(self.skipped_grp_specs)
            return True
        return False
PK"�FZĀ�%F%Fcli/commands/history.pynu�[���# Copyright 2006 Duke University
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import libdnf
import hawkey

from dnf.i18n import _, ucd
from dnf.cli import commands
from dnf.transaction_sr import TransactionReplay, serialize_transaction

import dnf.cli
import dnf.exceptions
import dnf.transaction
import dnf.util

import json
import logging
import os


logger = logging.getLogger('dnf')


class HistoryCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    history command.
    """

    aliases = ('history', 'hist')
    summary = _('display, or use, the transaction history')

    _CMDS = ['list', 'info', 'redo', 'replay', 'rollback', 'store', 'undo', 'userinstalled']

    def __init__(self, *args, **kw):
        super(HistoryCommand, self).__init__(*args, **kw)

        self._require_one_transaction_id = False

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('transactions_action', nargs='?', metavar="COMMAND",
                            help="Available commands: {} (default), {}".format(
                                HistoryCommand._CMDS[0],
                                ", ".join(HistoryCommand._CMDS[1:])))
        parser.add_argument('--reverse', action='store_true',
                            help="display history list output reversed")
        parser.add_argument("-o", "--output", default=None,
                            help=_("For the store command, file path to store the transaction to"))
        parser.add_argument("--ignore-installed", action="store_true",
                            help=_("For the replay command, don't check for installed packages matching "
                            "those in transaction"))
        parser.add_argument("--ignore-extras", action="store_true",
                            help=_("For the replay command, don't check for extra packages pulled "
                            "into the transaction"))
        parser.add_argument("--skip-unavailable", action="store_true",
                            help=_("For the replay command, skip packages that are not available or have "
                            "missing dependencies"))
        parser.add_argument('transactions', nargs='*', metavar="TRANSACTION",
                            help="For commands working with history transactions, "
                                 "Transaction ID (<number>, 'last' or 'last-<number>' "
                                 "for one transaction, <transaction-id>..<transaction-id> "
                                 "for a range)")
        parser.add_argument('transaction_filename', nargs='?', metavar="TRANSACTION_FILE",
                            help="For the replay command, path to the stored "
                                 "transaction file to replay")

    def configure(self):
        if not self.opts.transactions_action:
            # no positional argument given
            self.opts.transactions_action = self._CMDS[0]
        elif self.opts.transactions_action not in self._CMDS:
            # first positional argument is not a command
            self.opts.transactions.insert(0, self.opts.transactions_action)
            self.opts.transactions_action = self._CMDS[0]

        self._require_one_transaction_id_msg = _("Found more than one transaction ID.\n"
                                                 "'{}' requires one transaction ID or package name."
                                                 ).format(self.opts.transactions_action)

        demands = self.cli.demands
        if self.opts.transactions_action == 'replay':
            if not self.opts.transactions:
                raise dnf.cli.CliError(_('No transaction file name given.'))
            if len(self.opts.transactions) > 1:
                raise dnf.cli.CliError(_('More than one argument given as transaction file name.'))

            # in case of replay, copy over the file name to it's appropriate variable
            # (the arg parser can't distinguish here)
            self.opts.transaction_filename = os.path.abspath(self.opts.transactions[0])
            self.opts.transactions = []

            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

            # Override configuration options that affect how the transaction is resolved
            self.base.conf.clean_requirements_on_remove = False
            self.base.conf.install_weak_deps = False

            dnf.cli.commands._checkGPGKey(self.base, self.cli)
        elif self.opts.transactions_action == 'store':
            self._require_one_transaction_id = True
            if not self.opts.transactions:
                raise dnf.cli.CliError(_('No transaction ID or package name given.'))
        elif self.opts.transactions_action in ['redo', 'undo', 'rollback']:
            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

            self._require_one_transaction_id = True
            if not self.opts.transactions:
                msg = _('No transaction ID or package name given.')
                logger.critical(msg)
                raise dnf.cli.CliError(msg)
            elif len(self.opts.transactions) > 1:
                logger.critical(self._require_one_transaction_id_msg)
                raise dnf.cli.CliError(self._require_one_transaction_id_msg)
            demands.available_repos = True
            dnf.cli.commands._checkGPGKey(self.base, self.cli)
        else:
            demands.fresh_metadata = False
        demands.sack_activation = True
        if self.base.history.path != ":memory:" and not os.access(self.base.history.path, os.R_OK):
            msg = _("You don't have access to the history DB: %s" % self.base.history.path)
            logger.critical(msg)
            raise dnf.cli.CliError(msg)

    def get_error_output(self, error):
        """Get suggestions for resolving the given error."""
        if isinstance(error, dnf.exceptions.TransactionCheckError):
            if self.opts.transactions_action == 'undo':
                id_, = self.opts.transactions
                return (_('Cannot undo transaction %s, doing so would result '
                          'in an inconsistent package database.') % id_,)
            elif self.opts.transactions_action == 'rollback':
                id_, = (self.opts.transactions if self.opts.transactions[0] != 'force'
                        else self.opts.transactions[1:])
                return (_('Cannot rollback transaction %s, doing so would '
                          'result in an inconsistent package database.') % id_,)

        return dnf.cli.commands.Command.get_error_output(self, error)

    def _hcmd_redo(self, extcmds):
        old = self._history_get_transaction(extcmds)
        data = serialize_transaction(old)
        self.replay = TransactionReplay(
            self.base,
            data=data,
            ignore_installed=True,
            ignore_extras=True,
            skip_unavailable=self.opts.skip_unavailable
        )
        self.replay.run()

    def _history_get_transactions(self, extcmds):
        if not extcmds:
            raise dnf.cli.CliError(_('No transaction ID given'))

        old = self.base.history.old(extcmds)
        if not old:
            raise dnf.cli.CliError(_('Transaction ID "{0}" not found.').format(extcmds[0]))
        return old

    def _history_get_transaction(self, extcmds):
        old = self._history_get_transactions(extcmds)
        if len(old) > 1:
            raise dnf.cli.CliError(_('Found more than one transaction ID!'))
        return old[0]

    def _hcmd_undo(self, extcmds):
        old = self._history_get_transaction(extcmds)
        self._revert_transaction(old)

    def _hcmd_rollback(self, extcmds):
        old = self._history_get_transaction(extcmds)
        last = self.base.history.last()

        merged_trans = None
        if old.tid != last.tid:
            # history.old([]) returns all transactions and we don't want that
            # so skip merging the transactions when trying to rollback to the last transaction
            # which is the current system state and rollback is not applicable
            for trans in self.base.history.old(list(range(old.tid + 1, last.tid + 1))):
                if trans.altered_lt_rpmdb:
                    logger.warning(_('Transaction history is incomplete, before %u.'), trans.tid)
                elif trans.altered_gt_rpmdb:
                    logger.warning(_('Transaction history is incomplete, after %u.'), trans.tid)

                if merged_trans is None:
                    merged_trans = dnf.db.history.MergedTransactionWrapper(trans)
                else:
                    merged_trans.merge(trans)

        self._revert_transaction(merged_trans)

    def _revert_transaction(self, trans):
        action_map = {
            "Install": "Removed",
            "Removed": "Install",
            "Upgrade": "Downgraded",
            "Upgraded": "Downgrade",
            "Downgrade": "Upgraded",
            "Downgraded": "Upgrade",
            "Reinstalled": "Reinstall",
            "Reinstall": "Reinstalled",
            "Obsoleted": "Install",
            "Obsolete": "Obsoleted",
            "Reason Change": "Reason Change",
        }

        data = serialize_transaction(trans)

        # revert actions in the serialized transaction data to perform rollback/undo
        for content_type in ("rpms", "groups", "environments"):
            for ti in data.get(content_type, []):
                ti["action"] = action_map[ti["action"]]

                if ti["action"] == "Install" and ti.get("reason", None) == "clean":
                    ti["reason"] = "dependency"

                if ti["action"] == "Reason Change" and "nevra" in ti:
                    subj = hawkey.Subject(ti["nevra"])
                    nevra = subj.get_nevra_possibilities(forms=[hawkey.FORM_NEVRA])[0]
                    reason = self.output.history.swdb.resolveRPMTransactionItemReason(
                        nevra.name,
                        nevra.arch,
                        trans.tids()[0] - 1
                    )
                    ti["reason"] = libdnf.transaction.TransactionItemReasonToString(reason)

                if ti.get("repo_id") == hawkey.SYSTEM_REPO_NAME:
                    # erase repo_id, because it's not possible to perform forward actions from the @System repo
                    ti["repo_id"] = None

        self.replay = TransactionReplay(
            self.base,
            data=data,
            ignore_installed=True,
            ignore_extras=True,
            skip_unavailable=self.opts.skip_unavailable
        )
        self.replay.run()

    def _hcmd_userinstalled(self):
        """Execute history userinstalled command."""
        pkgs = tuple(self.base.iter_userinstalled())
        n_listed = self.output.listPkgs(pkgs, 'Packages installed by user', 'nevra')
        if n_listed == 0:
            raise dnf.cli.CliError(_('No packages to list'))

    def _args2transaction_ids(self):
        """Convert commandline arguments to transaction ids"""

        def str2transaction_id(s):
            if s == 'last':
                s = '0'
            elif s.startswith('last-'):
                s = s[4:]
            transaction_id = int(s)
            if transaction_id <= 0:
                transaction_id += self.output.history.last().tid
            return transaction_id

        tids = set()
        merged_tids = set()
        for t in self.opts.transactions:
            if '..' in t:
                try:
                    begin_transaction_id, end_transaction_id = t.split('..', 2)
                except ValueError:
                    logger.critical(
                        _("Invalid transaction ID range definition '{}'.\n"
                          "Use '<transaction-id>..<transaction-id>'."
                          ).format(t))
                    raise dnf.cli.CliError
                cant_convert_msg = _("Can't convert '{}' to transaction ID.\n"
                                     "Use '<number>', 'last', 'last-<number>'.")
                try:
                    begin_transaction_id = str2transaction_id(begin_transaction_id)
                except ValueError:
                    logger.critical(_(cant_convert_msg).format(begin_transaction_id))
                    raise dnf.cli.CliError
                try:
                    end_transaction_id = str2transaction_id(end_transaction_id)
                except ValueError:
                    logger.critical(_(cant_convert_msg).format(end_transaction_id))
                    raise dnf.cli.CliError
                if self._require_one_transaction_id and begin_transaction_id != end_transaction_id:
                        logger.critical(self._require_one_transaction_id_msg)
                        raise dnf.cli.CliError
                if begin_transaction_id > end_transaction_id:
                    begin_transaction_id, end_transaction_id = \
                        end_transaction_id, begin_transaction_id
                merged_tids.add((begin_transaction_id, end_transaction_id))
                tids.update(range(begin_transaction_id, end_transaction_id + 1))
            else:
                try:
                    tids.add(str2transaction_id(t))
                except ValueError:
                    # not a transaction id, assume it's package name
                    transact_ids_from_pkgname = self.output.history.search([t])
                    if transact_ids_from_pkgname:
                        tids.update(transact_ids_from_pkgname)
                    else:
                        msg = _("No transaction which manipulates package '{}' was found."
                                ).format(t)
                        if self._require_one_transaction_id:
                            logger.critical(msg)
                            raise dnf.cli.CliError
                        else:
                            logger.info(msg)

        return sorted(tids, reverse=True), merged_tids

    def run(self):
        vcmd = self.opts.transactions_action

        if vcmd == 'replay':
            self.replay = TransactionReplay(
                self.base,
                filename=self.opts.transaction_filename,
                ignore_installed = self.opts.ignore_installed,
                ignore_extras = self.opts.ignore_extras,
                skip_unavailable = self.opts.skip_unavailable
            )
            self.replay.run()
        else:
            tids, merged_tids = self._args2transaction_ids()

            if vcmd == 'list' and (tids or not self.opts.transactions):
                self.output.historyListCmd(tids, reverse=self.opts.reverse)
            elif vcmd == 'info' and (tids or not self.opts.transactions):
                self.output.historyInfoCmd(tids, self.opts.transactions, merged_tids)
            elif vcmd == 'undo':
                self._hcmd_undo(tids)
            elif vcmd == 'redo':
                self._hcmd_redo(tids)
            elif vcmd == 'rollback':
                self._hcmd_rollback(tids)
            elif vcmd == 'userinstalled':
                self._hcmd_userinstalled()
            elif vcmd == 'store':
                tid = self._history_get_transaction(tids)
                data = serialize_transaction(tid)
                try:
                    filename = self.opts.output if self.opts.output is not None else "transaction.json"

                    # it is absolutely possible for both assumeyes and assumeno to be True, go figure
                    if (self.base.conf.assumeno or not self.base.conf.assumeyes) and os.path.isfile(filename):
                        msg = _("{} exists, overwrite?").format(filename)
                        if self.base.conf.assumeno or not self.base.output.userconfirm(
                            msg='\n{} [y/N]: '.format(msg), defaultyes_msg='\n{} [Y/n]: '.format(msg)):
                                print(_("Not overwriting {}, exiting.").format(filename))
                                return

                    with open(filename, "w") as f:
                        json.dump(data, f, indent=4, sort_keys=True)
                        f.write("\n")

                    print(_("Transaction saved to {}.").format(filename))

                except OSError as e:
                    raise dnf.cli.CliError(_('Error storing transaction: {}').format(str(e)))

    def run_resolved(self):
        if self.opts.transactions_action not in ("replay", "redo", "rollback", "undo"):
            return

        self.replay.post_transaction()

    def run_transaction(self):
        if self.opts.transactions_action not in ("replay", "redo", "rollback", "undo"):
            return

        warnings = self.replay.get_warnings()
        if warnings:
            logger.log(
                dnf.logging.WARNING,
                _("Warning, the following problems occurred while running a transaction:")
            )
            for w in warnings:
                logger.log(dnf.logging.WARNING, "  " + w)
PK"�FZ�����cli/commands/deplist.pynu�[���#
# Copyright (C) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
from dnf.cli.commands.repoquery import RepoQueryCommand


class DeplistCommand(RepoQueryCommand):
    """
    The command is alias for 'dnf repoquery --deplist'
    """

    aliases = ('deplist',)
    summary = _("[deprecated, use repoquery --deplist] List package's dependencies and what packages provide them")

    def configure(self):
        RepoQueryCommand.configure(self)
        self.opts.deplist = True
PK"�FZB��p��cli/commands/remove.pynu�[���# remove_command.py
# Remove CLI command.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.i18n import _
from dnf.cli.option_parser import OptionParser
import dnf.base
import argparse
import hawkey
import dnf.exceptions
import logging

logger = logging.getLogger("dnf")


class RemoveCommand(commands.Command):
    """Remove command."""

    nevra_forms = {'remove-n': hawkey.FORM_NAME,
                   'remove-na': hawkey.FORM_NA,
                   'remove-nevra': hawkey.FORM_NEVRA,
                   'erase-n': hawkey.FORM_NAME,
                   'erase-na': hawkey.FORM_NA,
                   'erase-nevra': hawkey.FORM_NEVRA}

    aliases = ('remove', 'erase', 'rm') + tuple(nevra_forms.keys())
    summary = _('remove a package or packages from your system')

    @staticmethod
    def set_argparser(parser):
        mgroup = parser.add_mutually_exclusive_group()
        mgroup.add_argument('--duplicates', action='store_true',
                            dest='duplicated',
                            help=_('remove duplicated packages'))
        mgroup.add_argument('--duplicated', action='store_true',
                            help=argparse.SUPPRESS)
        mgroup.add_argument('--oldinstallonly', action='store_true',
                            help=_(
                                'remove installonly packages over the limit'))
        parser.add_argument('packages', nargs='*', help=_('Package to remove'),
                            action=OptionParser.ParseSpecGroupFileCallback,
                            metavar=_('PACKAGE'))

    def configure(self):
        demands = self.cli.demands
        # disable all available repos to delete whole dependency tree
        # instead of replacing removable package with available packages
        demands.resolving = True
        demands.root_user = True
        demands.sack_activation = True
        if self.opts.duplicated:
            demands.available_repos = True
        elif dnf.base.WITH_MODULES and self.opts.grp_specs:
            demands.available_repos = True
            demands.fresh_metadata = False
            demands.allow_erasing = True
        else:
            demands.allow_erasing = True
            demands.available_repos = False

    def run(self):

        forms = []
        if self.opts.command in self.nevra_forms:
            forms = [self.nevra_forms[self.opts.command]]

        # local pkgs not supported in erase command
        self.opts.pkg_specs += self.opts.filenames
        done = False

        if self.opts.duplicated:
            q = self.base.sack.query()
            instonly = self.base._get_installonly_query(q.installed())
            dups = q.duplicated().difference(instonly)
            if not dups:
                raise dnf.exceptions.Error(_('No duplicated packages found for removal.'))

            for (name, arch), pkgs_list in dups._na_dict().items():
                if len(pkgs_list) < 2:
                    continue
                pkgs_list.sort(reverse=True)
                try:
                    self.base.reinstall(str(pkgs_list[0]))
                except dnf.exceptions.PackagesNotAvailableError:
                    xmsg = ''
                    msg = _('Installed package %s%s not available.')
                    logger.warning(msg, self.base.output.term.bold(str(pkgs_list[0])), xmsg)

                for pkg in pkgs_list[1:]:
                    self.base.package_remove(pkg)
            return

        if self.opts.oldinstallonly:
            q = self.base.sack.query()
            instonly = self.base._get_installonly_query(q.installed()).latest(-1)
            # also remove running kernel from the set
            kernel = self.base.sack.get_running_kernel()
            if kernel is not None:
                running_installonly = instonly.filter(
                    epoch=kernel.epoch, version=kernel.version, release=kernel.release)
                if running_installonly:
                    instonly = instonly.difference(running_installonly)
            if instonly:
                for pkg in instonly:
                    self.base.package_remove(pkg)
            else:
                raise dnf.exceptions.Error(
                    _('No old installonly packages found for removal.'))
            return

        # Remove groups.
        if self.opts.grp_specs and forms:
            for grp_spec in self.opts.grp_specs:
                msg = _('Not a valid form: %s')
                logger.warning(msg, self.base.output.term.bold(grp_spec))
        elif self.opts.grp_specs:
            if dnf.base.WITH_MODULES:
                module_base = dnf.module.module_base.ModuleBase(self.base)
                skipped_grps = module_base.remove(self.opts.grp_specs)
                if len(self.opts.grp_specs) != len(skipped_grps):
                    done = True
            else:
                skipped_grps = self.opts.grp_specs

            if skipped_grps:
                for group in skipped_grps:
                    try:
                        if self.base.env_group_remove([group]):
                            done = True
                    except dnf.exceptions.Error:
                        pass

        for pkg_spec in self.opts.pkg_specs:
            try:
                self.base.remove(pkg_spec, forms=forms)
            except dnf.exceptions.MarkingError as e:
                msg = '{}: {}'.format(e.value, self.base.output.term.bold(pkg_spec))
                logger.info(msg)
            else:
                done = True

        if not done:
            logger.warning(_('No packages marked for removal.'))
PK"�FZ�%� ttcli/commands/clean.pynu�[���# clean.py
# Clean CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.i18n import _, P_
from dnf.yum import misc

import dnf.cli
import dnf.exceptions
import dnf.lock
import dnf.logging
import dnf.repo
import logging
import os
import re
import time

logger = logging.getLogger("dnf")

# Dict mapping cmdline arguments to actual data types to be cleaned up
_CACHE_TYPES = {
    'metadata': ['metadata', 'dbcache', 'expire-cache'],
    'packages': ['packages'],
    'dbcache': ['dbcache'],
    'expire-cache': ['expire-cache'],
    'all': ['metadata', 'packages', 'dbcache'],
}


def _tree(dirpath):
    """Traverse dirpath recursively and yield relative filenames."""
    for root, dirs, files in os.walk(dirpath):
        base = os.path.relpath(root, dirpath)
        for f in files:
            path = os.path.join(base, f)
            yield os.path.normpath(path)


def _filter(files, patterns):
    """Yield those filenames that match any of the patterns."""
    return (f for f in files for p in patterns if re.match(p, f))


def _clean(dirpath, files):
    """Remove the given filenames from dirpath."""
    count = 0
    for f in files:
        path = os.path.join(dirpath, f)
        logger.log(dnf.logging.DDEBUG, _('Removing file %s'), path)
        misc.unlink_f(path)
        count += 1
    return count


def _cached_repos(files):
    """Return the repo IDs that have some cached metadata around."""
    metapat = dnf.repo.CACHE_FILES['metadata']
    matches = (re.match(metapat, f) for f in files)
    return set(m.group('repoid') for m in matches if m)


class CleanCommand(commands.Command):
    """A class containing methods needed by the cli to execute the
    clean command.
    """

    aliases = ('clean',)
    summary = _('remove cached data')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('type', nargs='+',
                           choices=_CACHE_TYPES.keys(),
                           help=_('Metadata type to clean'))

    def run(self):
        cachedir = self.base.conf.cachedir
        md_lock = dnf.lock.build_metadata_lock(cachedir, True)
        download_lock = dnf.lock.build_download_lock(cachedir, True)
        rpmdb_lock = dnf.lock.build_rpmdb_lock(self.base.conf.persistdir, True)
        while True:
            try:
                with md_lock and download_lock and rpmdb_lock:
                    types = set(t for c in self.opts.type for t in _CACHE_TYPES[c])
                    files = list(_tree(cachedir))
                    logger.debug(_('Cleaning data: ' + ' '.join(types)))

                    if 'expire-cache' in types:
                        expired = _cached_repos(files)
                        self.base._repo_persistor.expired_to_add.update(expired)
                        types.remove('expire-cache')
                        logger.info(_('Cache was expired'))

                    patterns = [dnf.repo.CACHE_FILES[t] for t in types]
                    count = _clean(cachedir, _filter(files, patterns))
                    logger.info(P_('%d file removed', '%d files removed', count) % count)
                    return
            except dnf.exceptions.LockError as e:
                if not self.base.conf.exit_on_lock:
                    msg = _('Waiting for process with pid %d to finish.') % (e.pid)
                    logger.info(msg)
                    time.sleep(3)
                else:
                    raise e
PK"�FZ��N�mmcli/commands/makecache.pynu�[���# makecache.py
# Makecache CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.i18n import _

import argparse
import dnf.cli
import dnf.exceptions
import dnf.util
import logging

logger = logging.getLogger("dnf")


class MakeCacheCommand(commands.Command):
    aliases = ('makecache', 'mc')
    summary = _('generate the metadata cache')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('--timer', action='store_true', dest="timer_opt")
        # compatibility with dnf < 2.0
        parser.add_argument('timer', nargs='?', choices=['timer'],
                            metavar='timer', help=argparse.SUPPRESS)

    def run(self):
        timer = self.opts.timer is not None or self.opts.timer_opt
        msg = _("Making cache files for all metadata files.")
        logger.debug(msg)
        return self.base.update_cache(timer)
PK"�FZ�[fH]]cli/commands/reinstall.pynu�[���# reinstall.py
# Reinstall CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _

import dnf.exceptions
import logging

logger = logging.getLogger('dnf')


class ReinstallCommand(commands.Command):
    """A class containing methods needed by the cli to execute the reinstall command.
    """

    aliases = ('reinstall', 'rei')
    summary = _('reinstall a package')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('packages', nargs='+', help=_('Package to reinstall'),
                            action=OptionParser.ParseSpecGroupFileCallback,
                            metavar=_('PACKAGE'))

    def configure(self):
        """Verify that conditions are met so that this command can
        run.  These include that the program is being run by the root
        user, that there are enabled repositories with gpg keys, and
        that this command is called with appropriate arguments.
        """
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.resolving = True
        demands.root_user = True
        commands._checkGPGKey(self.base, self.cli)
        if not self.opts.filenames:
            commands._checkEnabledRepo(self.base)

    def run(self):

        # Reinstall files.
        done = False
        for pkg in self.base.add_remote_rpms(self.opts.filenames, strict=False,
                                             progress=self.base.output.progress):
            try:
                self.base.package_reinstall(pkg)
            except dnf.exceptions.MarkingError:
                logger.info(_('No match for argument: %s'),
                            self.base.output.term.bold(pkg.location))
            else:
                done = True

        # Reinstall packages.
        for pkg_spec in self.opts.pkg_specs + ['@' + x for x in self.opts.grp_specs]:
            try:
                self.base.reinstall(pkg_spec)
            except dnf.exceptions.PackagesNotInstalledError as err:
                for pkg in err.packages:
                    logger.info(_('Package %s available, but not installed.'),
                                self.output.term.bold(pkg.name))
                    break
                logger.info(_('No match for argument: %s'),
                            self.base.output.term.bold(pkg_spec))
            except dnf.exceptions.PackagesNotAvailableError as err:
                for pkg in err.packages:
                    xmsg = ''
                    pkgrepo = self.base.history.repo(pkg)
                    if pkgrepo:
                        xmsg = _(' (from %s)') % pkgrepo
                    msg = _('Installed package %s%s not available.')
                    logger.info(msg, self.base.output.term.bold(pkg),
                                xmsg)
            except dnf.exceptions.MarkingError:
                assert False, 'Only the above marking errors are expected.'
            else:
                done = True

        if not done:
            raise dnf.exceptions.Error(_('No packages marked for reinstall.'))
PK"�FZ�H2J2Jcli/commands/updateinfo.pynu�[���# updateinfo.py
# UpdateInfo CLI command.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

"""UpdateInfo CLI command."""
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import collections
import fnmatch

import hawkey
from dnf.cli import commands
from dnf.cli.option_parser import OptionParser
from dnf.i18n import _, exact_width
from dnf.pycomp import unicode


def _maxlen(iterable):
    """Return maximum length of items in a non-empty iterable."""
    return max(exact_width(item) for item in iterable)


class UpdateInfoCommand(commands.Command):
    """Implementation of the UpdateInfo command."""

    TYPE2LABEL = {hawkey.ADVISORY_BUGFIX: _('bugfix'),
                  hawkey.ADVISORY_ENHANCEMENT: _('enhancement'),
                  hawkey.ADVISORY_SECURITY: _('security'),
                  hawkey.ADVISORY_UNKNOWN: _('unknown'),
                  hawkey.ADVISORY_NEWPACKAGE: _('newpackage')}

    SECURITY2LABEL = {'Critical': _('Critical/Sec.'),
                      'Important': _('Important/Sec.'),
                      'Moderate': _('Moderate/Sec.'),
                      'Low': _('Low/Sec.')}

    direct_commands = {'list-updateinfo'    : 'list',
                       'list-security'      : 'list',
                       'list-sec'           : 'list',
                       'info-updateinfo'    : 'info',
                       'info-security'      : 'info',
                       'info-sec'           : 'info',
                       'summary-updateinfo' : 'summary'}
    aliases = ['updateinfo'] + list(direct_commands.keys())
    summary = _('display advisories about packages')
    availability_default = 'available'
    availabilities = ['installed', 'updates', 'all', availability_default]

    def __init__(self, cli):
        """Initialize the command."""
        super(UpdateInfoCommand, self).__init__(cli)
        self._installed_query = None

    @staticmethod
    def set_argparser(parser):
        availability = parser.add_mutually_exclusive_group()
        availability.add_argument(
            "--available", dest='_availability', const='available', action='store_const',
            help=_("advisories about newer versions of installed packages (default)"))
        availability.add_argument(
            "--installed", dest='_availability', const='installed', action='store_const',
            help=_("advisories about equal and older versions of installed packages"))
        availability.add_argument(
            "--updates", dest='_availability', const='updates', action='store_const',
            help=_("advisories about newer versions of those installed packages "
                   "for which a newer version is available"))
        availability.add_argument(
            "--all", dest='_availability', const='all', action='store_const',
            help=_("advisories about any versions of installed packages"))
        cmds = ['summary', 'list', 'info']
        output_format = parser.add_mutually_exclusive_group()
        output_format.add_argument("--summary", dest='_spec_action', const='summary',
                                   action='store_const',
                                   help=_('show summary of advisories (default)'))
        output_format.add_argument("--list", dest='_spec_action', const='list',
                                   action='store_const',
                                   help=_('show list of advisories'))
        output_format.add_argument("--info", dest='_spec_action', const='info',
                                   action='store_const',
                                   help=_('show info of advisories'))
        parser.add_argument("--with-cve", dest='with_cve', default=False,
                            action='store_true',
                            help=_('show only advisories with CVE reference'))
        parser.add_argument("--with-bz", dest='with_bz', default=False,
                            action='store_true',
                            help=_('show only advisories with bugzilla reference'))
        parser.add_argument('spec', nargs='*', metavar='SPEC',
                            choices=cmds, default=cmds[0],
                            action=OptionParser.PkgNarrowCallback,
                            help=_("Package specification"))

    def configure(self):
        """Do any command-specific configuration based on command arguments."""
        self.cli.demands.available_repos = True
        self.cli.demands.sack_activation = True

        if self.opts.command in self.direct_commands:
            # we were called with direct command
            self.opts.spec_action = self.direct_commands[self.opts.command]
        else:
            if self.opts._spec_action:
                self.opts.spec_action = self.opts._spec_action

        if self.opts._availability:
            self.opts.availability = self.opts._availability
        else:
            # yum compatibility - search for all|available|installed|updates in spec[0]
            if not self.opts.spec or self.opts.spec[0] not in self.availabilities:
                self.opts.availability = self.availability_default
            else:
                self.opts.availability = self.opts.spec.pop(0)

        # filtering by advisory types (security/bugfix/enhancement/newpackage)
        self.opts._advisory_types = set()
        if self.opts.bugfix:
            self.opts._advisory_types.add(hawkey.ADVISORY_BUGFIX)
        if self.opts.enhancement:
            self.opts._advisory_types.add(hawkey.ADVISORY_ENHANCEMENT)
        if self.opts.newpackage:
            self.opts._advisory_types.add(hawkey.ADVISORY_NEWPACKAGE)
        if self.opts.security:
            self.opts._advisory_types.add(hawkey.ADVISORY_SECURITY)

        # yum compatibility - yum accepts types also as positional arguments
        if self.opts.spec:
            spec = self.opts.spec.pop(0)
            if spec == 'bugfix':
                self.opts._advisory_types.add(hawkey.ADVISORY_BUGFIX)
            elif spec == 'enhancement':
                self.opts._advisory_types.add(hawkey.ADVISORY_ENHANCEMENT)
            elif spec in ('security', 'sec'):
                self.opts._advisory_types.add(hawkey.ADVISORY_SECURITY)
            elif spec == 'newpackage':
                self.opts._advisory_types.add(hawkey.ADVISORY_NEWPACKAGE)
            elif spec in ('bugzillas', 'bzs'):
                self.opts.with_bz = True
            elif spec == 'cves':
                self.opts.with_cve = True
            else:
                self.opts.spec.insert(0, spec)

        if self.opts.advisory:
            self.opts.spec.extend(self.opts.advisory)


    def run(self):
        """Execute the command with arguments."""
        if self.opts.availability == 'installed':
            apkg_adv_insts = self.installed_apkg_adv_insts(self.opts.spec)
            description = _('installed')
        elif self.opts.availability == 'updates':
            apkg_adv_insts = self.updating_apkg_adv_insts(self.opts.spec)
            description = _('updates')
        elif self.opts.availability == 'all':
            apkg_adv_insts = self.all_apkg_adv_insts(self.opts.spec)
            description = _('all')
        else:
            apkg_adv_insts = self.available_apkg_adv_insts(self.opts.spec)
            description = _('available')

        if self.opts.spec_action == 'list':
            self.display_list(apkg_adv_insts)
        elif self.opts.spec_action == 'info':
            self.display_info(apkg_adv_insts)
        else:
            self.display_summary(apkg_adv_insts, description)

    def _newer_equal_installed(self, apackage):
        if self._installed_query is None:
            self._installed_query = self.base.sack.query().installed().apply()
        q = self._installed_query.filter(name=apackage.name, evr__gte=apackage.evr)
        return len(q) > 0

    def _advisory_matcher(self, advisory):
        if not self.opts._advisory_types \
                and not self.opts.spec \
                and not self.opts.severity \
                and not self.opts.bugzilla \
                and not self.opts.cves \
                and not self.opts.with_cve \
                and not self.opts.with_bz:
            return True
        if advisory.type in self.opts._advisory_types:
            return True
        if any(fnmatch.fnmatchcase(advisory.id, pat) for pat in self.opts.spec):
            return True
        if self.opts.severity and advisory.severity in self.opts.severity:
            return True
        if self.opts.bugzilla and any([advisory.match_bug(bug) for bug in self.opts.bugzilla]):
            return True
        if self.opts.cves and any([advisory.match_cve(cve) for cve in self.opts.cves]):
            return True
        if self.opts.with_cve:
            if any([ref.type == hawkey.REFERENCE_CVE for ref in advisory.references]):
                return True
        if self.opts.with_bz:
            if any([ref.type == hawkey.REFERENCE_BUGZILLA for ref in advisory.references]):
                return True
        return False

    def _apackage_advisory_installed(self, pkgs_query, cmptype, specs):
        """Return (adv. package, advisory, installed) triplets."""
        for apackage in pkgs_query.get_advisory_pkgs(cmptype):
            advisory = apackage.get_advisory(self.base.sack)
            advisory_match = self._advisory_matcher(advisory)
            apackage_match = any(fnmatch.fnmatchcase(apackage.name, pat)
                                 for pat in self.opts.spec)
            if advisory_match or apackage_match:
                installed = self._newer_equal_installed(apackage)
                yield apackage, advisory, installed

    def running_kernel_pkgs(self):
        """Return query containing packages of currently running kernel"""
        sack = self.base.sack
        q = sack.query().filterm(empty=True)
        kernel = sack.get_running_kernel()
        if kernel:
            q = q.union(sack.query().filterm(sourcerpm=kernel.sourcerpm))
        return q

    def available_apkg_adv_insts(self, specs):
        """Return available (adv. package, adv., inst.) triplets"""
        # check advisories for the latest installed packages
        q = self.base.sack.query().installed().latest(1)
        # plus packages of the running kernel
        q = q.union(self.running_kernel_pkgs().installed())
        return self._apackage_advisory_installed(q, hawkey.GT, specs)

    def installed_apkg_adv_insts(self, specs):
        """Return installed (adv. package, adv., inst.) triplets"""
        return self._apackage_advisory_installed(
            self.base.sack.query().installed(), hawkey.LT | hawkey.EQ, specs)

    def updating_apkg_adv_insts(self, specs):
        """Return updating (adv. package, adv., inst.) triplets"""
        return self._apackage_advisory_installed(
            self.base.sack.query().filterm(upgradable=True), hawkey.GT, specs)

    def all_apkg_adv_insts(self, specs):
        """Return installed (adv. package, adv., inst.) triplets"""
        return self._apackage_advisory_installed(
            self.base.sack.query().installed(), hawkey.LT | hawkey.EQ | hawkey.GT, specs)

    def _summary(self, apkg_adv_insts):
        """Make the summary of advisories."""
        # Remove duplicate advisory IDs. We assume that the ID is unique within
        # a repository and two advisories with the same IDs in different
        # repositories must have the same type.
        id2type = {}
        for (apkg, advisory, installed) in apkg_adv_insts:
            id2type[advisory.id] = advisory.type
            if advisory.type == hawkey.ADVISORY_SECURITY:
                id2type[(advisory.id, advisory.severity)] = (advisory.type, advisory.severity)
        return collections.Counter(id2type.values())

    def display_summary(self, apkg_adv_insts, description):
        """Display the summary of advisories."""
        typ2cnt = self._summary(apkg_adv_insts)
        if typ2cnt:
            print(_('Updates Information Summary: ') + description)
            # Convert types to strings and order the entries.
            label_counts = [
                (0, _('New Package notice(s)'), typ2cnt[hawkey.ADVISORY_NEWPACKAGE]),
                (0, _('Security notice(s)'), typ2cnt[hawkey.ADVISORY_SECURITY]),
                (1, _('Critical Security notice(s)'),
                 typ2cnt[(hawkey.ADVISORY_SECURITY, 'Critical')]),
                (1, _('Important Security notice(s)'),
                 typ2cnt[(hawkey.ADVISORY_SECURITY, 'Important')]),
                (1, _('Moderate Security notice(s)'),
                 typ2cnt[(hawkey.ADVISORY_SECURITY, 'Moderate')]),
                (1, _('Low Security notice(s)'),
                 typ2cnt[(hawkey.ADVISORY_SECURITY, 'Low')]),
                (1, _('Unknown Security notice(s)'),
                 typ2cnt[(hawkey.ADVISORY_SECURITY, None)]),
                (0, _('Bugfix notice(s)'), typ2cnt[hawkey.ADVISORY_BUGFIX]),
                (0, _('Enhancement notice(s)'), typ2cnt[hawkey.ADVISORY_ENHANCEMENT]),
                (0, _('other notice(s)'), typ2cnt[hawkey.ADVISORY_UNKNOWN])]
            width = _maxlen(unicode(v[2]) for v in label_counts if v[2])
            for indent, label, count in label_counts:
                if not count:
                    continue
                print('    %*s %s' % (width + 4 * indent, unicode(count), label))
        if self.base.conf.autocheck_running_kernel:
            self.cli._check_running_kernel()

    def display_list(self, apkg_adv_insts):
        """Display the list of advisories."""
        def inst2mark(inst):
            if not self.opts.availability == 'all':
                return ''
            elif inst:
                return 'i '
            else:
                return '  '

        def type2label(typ, sev):
            if typ == hawkey.ADVISORY_SECURITY:
                return self.SECURITY2LABEL.get(sev, _('Unknown/Sec.'))
            else:
                return self.TYPE2LABEL.get(typ, _('unknown'))

        nevra_inst_dict = dict()
        for apkg, advisory, installed in apkg_adv_insts:
            nevra = '%s-%s.%s' % (apkg.name, apkg.evr, apkg.arch)
            if self.opts.with_cve or self.opts.with_bz:
                for ref in advisory.references:
                    if ref.type == hawkey.REFERENCE_BUGZILLA and not self.opts.with_bz:
                        continue
                    elif ref.type == hawkey.REFERENCE_CVE and not self.opts.with_cve:
                        continue
                    nevra_inst_dict.setdefault((nevra, installed, advisory.updated), dict())[ref.id] = (
                            advisory.type, advisory.severity)
            else:
                nevra_inst_dict.setdefault((nevra, installed, advisory.updated), dict())[advisory.id] = (
                        advisory.type, advisory.severity)

        advlist = []
        # convert types to labels, find max len of advisory IDs and types
        idw = tlw = nw = 0
        for (nevra, inst, aupdated), id2type in sorted(nevra_inst_dict.items(), key=lambda x: x[0]):
            nw = max(nw, len(nevra))
            for aid, atypesev in id2type.items():
                idw = max(idw, len(aid))
                label = type2label(*atypesev)
                tlw = max(tlw, len(label))
                advlist.append((inst2mark(inst), aid, label, nevra, aupdated))

        for (inst, aid, label, nevra, aupdated) in advlist:
            if self.base.conf.verbose:
                print('%s%-*s %-*s %-*s %s' % (inst, idw, aid, tlw, label, nw, nevra, aupdated))
            else:
                print('%s%-*s %-*s %s' % (inst, idw, aid, tlw, label, nevra))


    def display_info(self, apkg_adv_insts):
        """Display the details about available advisories."""
        arches = self.base.sack.list_arches()
        verbose = self.base.conf.verbose
        labels = (_('Update ID'), _('Type'), _('Updated'), _('Bugs'),
                  _('CVEs'), _('Description'), _('Severity'), _('Rights'),
                  _('Files'), _('Installed'))

        def advisory2info(advisory, installed):
            attributes = [
                [advisory.id],
                [self.TYPE2LABEL.get(advisory.type, _('unknown'))],
                [unicode(advisory.updated)],
                [],
                [],
                (advisory.description or '').splitlines(),
                [advisory.severity],
                (advisory.rights or '').splitlines(),
                sorted(set(pkg.filename for pkg in advisory.packages
                           if pkg.arch in arches)),
                None]
            for ref in advisory.references:
                if ref.type == hawkey.REFERENCE_BUGZILLA:
                    attributes[3].append('{} - {}'.format(ref.id, ref.title or ''))
                elif ref.type == hawkey.REFERENCE_CVE:
                    attributes[4].append(ref.id)
            attributes[3].sort()
            attributes[4].sort()
            if not verbose:
                attributes[7] = None
                attributes[8] = None
            if self.opts.availability == 'all':
                attributes[9] = [_('true') if installed else _('false')]

            width = _maxlen(labels)
            lines = []
            lines.append('=' * 79)
            lines.append('  ' + advisory.title)
            lines.append('=' * 79)
            for label, atr_lines in zip(labels, attributes):
                if atr_lines in (None, [None]):
                    continue
                for i, line in enumerate(atr_lines):
                    key = label if i == 0 else ''
                    key_padding = width - exact_width(key)
                    lines.append('%*s%s: %s' % (key_padding, "", key, line))
            return '\n'.join(lines)

        advisories = set()
        for apkg, advisory, installed in apkg_adv_insts:
            advisories.add(advisory2info(advisory, installed))

        print("\n\n".join(sorted(advisories, key=lambda x: x.lower())))
PK"�FZ;�{cli/commands/upgrademinimal.pynu�[���#
# Copyright (C) 2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _
from dnf.cli.commands.upgrade import UpgradeCommand


class UpgradeMinimalCommand(UpgradeCommand):
    """A class containing methods needed by the cli to execute the check
    command.
    """

    aliases = ('upgrade-minimal', 'update-minimal', 'up-min')
    summary = _("upgrade, but only 'newest' package match which fixes a problem"
                " that affects your system")

    def configure(self):
        UpgradeCommand.configure(self)

        self.upgrade_minimal = True
        if not any([self.opts.bugfix, self.opts.enhancement,
                   self.opts.newpackage, self.opts.security, self.opts.advisory,
                   self.opts.bugzilla, self.opts.cves, self.opts.severity]):
            self.all_security = True
PK"�FZ|
�{}{}cli/commands/__init__.pynu�[���# Copyright 2006 Duke University
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Written by Seth Vidal

"""
Classes for subcommands of the yum command line interface.
"""

from __future__ import print_function
from __future__ import unicode_literals

from dnf.cli.option_parser import OptionParser
from dnf.i18n import _

import dnf.cli
import dnf.exceptions
import dnf.pycomp
import dnf.util
import logging
import os

logger = logging.getLogger('dnf')
_RPM_VERIFY = _("To diagnose the problem, try running: '%s'.") % \
    'rpm -Va --nofiles --nodigest'
_RPM_REBUILDDB = _("You probably have corrupted RPMDB, running '%s'"
                   " might fix the issue.") % 'rpm --rebuilddb'

gpg_msg = \
    _("""You have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
    rpm --import public.gpg.key


Alternatively you can specify the url to the key you would like to use
for a repository in the 'gpgkey' option in a repository section and {prog}
will install it for you.

For more information contact your distribution or package provider.""")


def _checkGPGKey(base, cli):
    """Verify that there are gpg keys for the enabled repositories in the
    rpm database.

    :param base: a :class:`dnf.Base` object.
    :raises: :class:`cli.CliError`
    """
    if not base.conf.gpgcheck:
        return
    if not base._gpg_key_check():
        for repo in base.repos.iter_enabled():
            if (repo.gpgcheck or repo.repo_gpgcheck) and not repo.gpgkey:
                logger.critical("\n%s\n", gpg_msg.format(prog=dnf.util.MAIN_PROG_UPPER))
                logger.critical(_("Problem repository: %s"), repo)
                raise dnf.cli.CliError


def _checkEnabledRepo(base, possible_local_files=()):
    """Verify that there is at least one enabled repo.

    :param base: a :class:`dnf.Base` object.
    :param possible_local_files: the list of strings that could be a local rpms
    :raises: :class:`cli.CliError`:
    """
    if base.repos._any_enabled():
        return

    for lfile in possible_local_files:
        if lfile.endswith(".rpm") and os.path.exists(lfile):
            return
        scheme = dnf.pycomp.urlparse.urlparse(lfile)[0]
        if scheme in ('http', 'ftp', 'file', 'https'):
            return
    msg = _('There are no enabled repositories in "{}".').format('", "'.join(base.conf.reposdir))
    raise dnf.cli.CliError(msg)


class Command(object):
    """Abstract base class for CLI commands."""

    aliases = [] # :api
    summary = ""  # :api
    opts = None

    def __init__(self, cli):
        # :api
        self.cli = cli

    @property
    def base(self):
        # :api
        return self.cli.base

    @property
    def _basecmd(self):
        return self.aliases[0]

    @property
    def output(self):
        return self.cli.base.output

    def set_argparser(self, parser):
        """Define command specific options and arguments. #:api"""
        pass

    def pre_configure(self):
        # :api
        """Do any command-specific pre-configuration."""
        pass

    def configure(self):
        # :api
        """Do any command-specific configuration."""
        pass

    def get_error_output(self, error):
        """Get suggestions for resolving the given error."""
        if isinstance(error, dnf.exceptions.TransactionCheckError):
            return (_RPM_VERIFY, _RPM_REBUILDDB)
        raise NotImplementedError('error not supported yet: %s' % error)

    def run(self):
        # :api
        """Execute the command."""
        pass

    def run_resolved(self):
        """Finalize operation after resolvement"""
        pass

    def run_transaction(self):
        """Finalize operations post-transaction."""
        pass

class InfoCommand(Command):
    """A class containing methods needed by the cli to execute the
    info command.
    """

    aliases = ('info',)
    summary = _('display details about a package or group of packages')
    DEFAULT_PKGNARROW = 'all'
    pkgnarrows = {'available', 'installed', 'extras', 'updates', 'upgrades',
                  'autoremove', 'recent', 'obsoletes', DEFAULT_PKGNARROW}

    @classmethod
    def set_argparser(cls, parser):
        narrows = parser.add_mutually_exclusive_group()
        narrows.add_argument('--all', dest='_packages_action',
                             action='store_const', const='all', default=None,
                             help=_("show all packages (default)"))
        narrows.add_argument('--available', dest='_packages_action',
                             action='store_const', const='available',
                             help=_("show only available packages"))
        narrows.add_argument('--installed', dest='_packages_action',
                             action='store_const', const='installed',
                             help=_("show only installed packages"))
        narrows.add_argument('--extras', dest='_packages_action',
                             action='store_const', const='extras',
                             help=_("show only extras packages"))
        narrows.add_argument('--updates', dest='_packages_action',
                             action='store_const', const='upgrades',
                             help=_("show only upgrades packages"))
        narrows.add_argument('--upgrades', dest='_packages_action',
                             action='store_const', const='upgrades',
                             help=_("show only upgrades packages"))
        narrows.add_argument('--autoremove', dest='_packages_action',
                             action='store_const', const='autoremove',
                             help=_("show only autoremove packages"))
        narrows.add_argument('--recent', dest='_packages_action',
                             action='store_const', const='recent',
                             help=_("show only recently changed packages"))
        parser.add_argument('packages', nargs='*', metavar=_('PACKAGE'),
                            choices=cls.pkgnarrows, default=cls.DEFAULT_PKGNARROW,
                            action=OptionParser.PkgNarrowCallback,
                            help=_("Package name specification"))

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        if self.opts._packages_action:
            self.opts.packages_action = self.opts._packages_action
        if self.opts.packages_action != 'installed':
            demands.available_repos = True
        if self.opts.obsoletes:
            if self.opts._packages_action:
                self.cli._option_conflict("--obsoletes", "--" + self.opts._packages_action)
            else:
                self.opts.packages_action = 'obsoletes'
        if self.opts.packages_action == 'updates':
            self.opts.packages_action = 'upgrades'

    def run(self):
        self.cli._populate_update_security_filter(self.opts)
        return self.base.output_packages('info', self.opts.packages_action,
                                         self.opts.packages)

class ListCommand(InfoCommand):
    """A class containing methods needed by the cli to execute the
    list command.
    """

    aliases = ('list', 'ls')
    summary = _('list a package or groups of packages')

    def run(self):
        self.cli._populate_update_security_filter(self.opts)
        return self.base.output_packages('list', self.opts.packages_action,
                                         self.opts.packages)


class ProvidesCommand(Command):
    """A class containing methods needed by the cli to execute the
    provides command.
    """

    aliases = ('provides', 'whatprovides', 'prov')
    summary = _('find what package provides the given value')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('dependency', nargs='+', metavar=_('PROVIDE'),
                            help=_("Provide specification to search for"))

    def configure(self):
        demands = self.cli.demands
        demands.available_repos = True
        demands.fresh_metadata = False
        demands.sack_activation = True

    def run(self):
        logger.debug(_("Searching Packages: "))
        return self.base.provides(self.opts.dependency)

class CheckUpdateCommand(Command):
    """A class containing methods needed by the cli to execute the
    check-update command.
    """

    aliases = ('check-update', 'check-upgrade')
    summary = _('check for available package upgrades')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('--changelogs', dest='changelogs',
                            default=False, action='store_true',
                            help=_('show changelogs before update'))
        parser.add_argument('packages', nargs='*', metavar=_('PACKAGE'))

    def configure(self):
        demands = self.cli.demands
        demands.sack_activation = True
        demands.available_repos = True
        demands.plugin_filtering_enabled = True
        if self.opts.changelogs:
            demands.changelogs = True
        _checkEnabledRepo(self.base)

    def run(self):
        self.cli._populate_update_security_filter(self.opts, cmp_type="gte")

        found = self.base.check_updates(self.opts.packages, print_=True,
                                        changelogs=self.opts.changelogs)
        if found:
            self.cli.demands.success_exit_status = 100

        if self.base.conf.autocheck_running_kernel:
            self.cli._check_running_kernel()


class RepoPkgsCommand(Command):
    """Implementation of the repository-packages command."""

    class CheckUpdateSubCommand(Command):
        """Implementation of the info sub-command."""

        aliases = ('check-update',)

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            found = self.base.check_updates(self.opts.pkg_specs,
                                            self.reponame, print_=True)
            if found:
                self.cli.demands.success_exit_status = 100

    class InfoSubCommand(Command):
        """Implementation of the info sub-command."""

        aliases = ('info',)

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            if self.opts._pkg_specs_action:
                self.opts.pkg_specs_action = self.opts._pkg_specs_action
            if self.opts.pkg_specs_action != 'installed':
                demands.available_repos = True
            if self.opts.obsoletes:
                if self.opts._pkg_specs_action:
                    self.cli._option_conflict("--obsoletes", "--" + self.opts._pkg_specs_action)
                else:
                    self.opts.pkg_specs_action = 'obsoletes'

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            self.cli._populate_update_security_filter(self.opts)
            self.base.output_packages('info', self.opts.pkg_specs_action,
                                      self.opts.pkg_specs, self.reponame)

    class InstallSubCommand(Command):
        """Implementation of the install sub-command."""

        aliases = ('install',)

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            self.cli._populate_update_security_filter(self.opts)
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Install all packages.
                try:
                    self.base.install('*', self.reponame)
                except dnf.exceptions.MarkingError:
                    logger.info(_('No package available.'))
                else:
                    done = True
            else:
                # Install packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.install(pkg_spec, self.reponame)
                    except dnf.exceptions.MarkingError as e:
                        msg = '{}: {}'.format(e.value, self.base.output.term.bold(pkg_spec))
                        logger.info(msg)
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('No packages marked for install.'))

    class ListSubCommand(InfoSubCommand):
        """Implementation of the list sub-command."""

        aliases = ('list',)

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            self.cli._populate_update_security_filter(self.opts)
            self.base.output_packages('list', self.opts.pkg_specs_action,
                                      self.opts.pkg_specs, self.reponame)

    class MoveToSubCommand(Command):
        """Implementation of the move-to sub-command."""

        aliases = ('move-to',)

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Reinstall all packages.
                try:
                    self.base.reinstall('*', new_reponame=self.reponame)
                except dnf.exceptions.PackagesNotInstalledError:
                    logger.info(_('No package installed.'))
                except dnf.exceptions.PackagesNotAvailableError:
                    logger.info(_('No package available.'))
                except dnf.exceptions.MarkingError:
                    assert False, 'Only the above marking errors are expected.'
                else:
                    done = True
            else:
                # Reinstall packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.reinstall(pkg_spec, new_reponame=self.reponame)
                    except dnf.exceptions.PackagesNotInstalledError:
                        msg = _('No match for argument: %s')
                        logger.info(msg, pkg_spec)
                    except dnf.exceptions.PackagesNotAvailableError as err:
                        for pkg in err.packages:
                            xmsg = ''
                            pkgrepo = self.base.history.repo(pkg)
                            if pkgrepo:
                                xmsg = _(' (from %s)') % pkgrepo
                            msg = _('Installed package %s%s not available.')
                            logger.info(msg, self.output.term.bold(pkg), xmsg)
                    except dnf.exceptions.MarkingError:
                        assert False, \
                               'Only the above marking errors are expected.'
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('Nothing to do.'))

    class ReinstallOldSubCommand(Command):
        """Implementation of the reinstall-old sub-command."""

        aliases = ('reinstall-old',)

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Reinstall all packages.
                try:
                    self.base.reinstall('*', self.reponame, self.reponame)
                except dnf.exceptions.PackagesNotInstalledError:
                    msg = _('No package installed from the repository.')
                    logger.info(msg)
                except dnf.exceptions.PackagesNotAvailableError:
                    logger.info(_('No package available.'))
                except dnf.exceptions.MarkingError:
                    assert False, 'Only the above marking errors are expected.'
                else:
                    done = True
            else:
                # Reinstall packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.reinstall(pkg_spec, self.reponame,
                                            self.reponame)
                    except dnf.exceptions.PackagesNotInstalledError:
                        msg = _('No match for argument: %s')
                        logger.info(msg, pkg_spec)
                    except dnf.exceptions.PackagesNotAvailableError as err:
                        for pkg in err.packages:
                            xmsg = ''
                            pkgrepo = self.base.history.repo(pkg)
                            if pkgrepo:
                                xmsg = _(' (from %s)') % pkgrepo
                            msg = _('Installed package %s%s not available.')
                            logger.info(msg, self.output.term.bold(pkg), xmsg)
                    except dnf.exceptions.MarkingError:
                        assert False, \
                               'Only the above marking errors are expected.'
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('Nothing to do.'))

    class ReinstallSubCommand(Command):
        """Implementation of the reinstall sub-command."""

        aliases = ('reinstall',)

        def __init__(self, cli):
            """Initialize the command."""
            super(RepoPkgsCommand.ReinstallSubCommand, self).__init__(cli)
            self.wrapped_commands = (RepoPkgsCommand.ReinstallOldSubCommand(cli),
                                     RepoPkgsCommand.MoveToSubCommand(cli))

        def configure(self):
            self.cli.demands.available_repos = True
            for command in self.wrapped_commands:
                command.opts = self.opts
                command.reponame = self.reponame
                command.configure()

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)
            for command in self.wrapped_commands:
                try:
                    command.run_on_repo()
                except dnf.exceptions.Error:
                    continue
                else:
                    break
            else:
                raise dnf.exceptions.Error(_('No packages marked for reinstall.'))

    class RemoveOrDistroSyncSubCommand(Command):
        """Implementation of the remove-or-distro-sync sub-command."""

        aliases = ('remove-or-distro-sync',)

        def configure(self):
            demands = self.cli.demands
            demands.available_repos = True
            demands.sack_activation = True
            demands.resolving = True
            demands.root_user = True

        def _replace(self, pkg_spec, reponame):
            """Synchronize a package with another repository or remove it."""
            self.cli.base.sack.disable_repo(reponame)

            subject = dnf.subject.Subject(pkg_spec)
            matches = subject.get_best_query(self.cli.base.sack)
            history = self.cli.base.history
            installed = [
                pkg for pkg in matches.installed()
                if history.repo(pkg) == reponame]
            if not installed:
                raise dnf.exceptions.PackagesNotInstalledError(
                    'no package matched', pkg_spec)
            available = matches.available()
            clean_deps = self.cli.base.conf.clean_requirements_on_remove
            for package in installed:
                if available.filter(name=package.name, arch=package.arch):
                    self.cli.base._goal.distupgrade(package)
                else:
                    self.cli.base._goal.erase(package, clean_deps=clean_deps)

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Sync all packages.
                try:
                    self._replace('*', self.reponame)
                except dnf.exceptions.PackagesNotInstalledError:
                    msg = _('No package installed from the repository.')
                    logger.info(msg)
                else:
                    done = True
            else:
                # Reinstall packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self._replace(pkg_spec, self.reponame)
                    except dnf.exceptions.PackagesNotInstalledError:
                        msg = _('No match for argument: %s')
                        logger.info(msg, pkg_spec)
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('Nothing to do.'))

    class RemoveOrReinstallSubCommand(Command):
        """Implementation of the remove-or-reinstall sub-command."""

        aliases = ('remove-or-reinstall',)

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Reinstall all packages.
                try:
                    self.base.reinstall('*', old_reponame=self.reponame,
                                        new_reponame_neq=self.reponame,
                                        remove_na=True)
                except dnf.exceptions.PackagesNotInstalledError:
                    msg = _('No package installed from the repository.')
                    logger.info(msg)
                except dnf.exceptions.MarkingError:
                    assert False, 'Only the above marking error is expected.'
                else:
                    done = True
            else:
                # Reinstall packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.reinstall(
                            pkg_spec, old_reponame=self.reponame,
                            new_reponame_neq=self.reponame, remove_na=True)
                    except dnf.exceptions.PackagesNotInstalledError:
                        msg = _('No match for argument: %s')
                        logger.info(msg, pkg_spec)
                    except dnf.exceptions.MarkingError:
                        assert False, 'Only the above marking error is expected.'
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('Nothing to do.'))

    class RemoveSubCommand(Command):
        """Implementation of the remove sub-command."""

        aliases = ('remove',)

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            demands.allow_erasing = True
            demands.available_repos = False
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""

            done = False

            if not self.opts.pkg_specs:
                # Remove all packages.
                try:
                    self.base.remove('*', self.reponame)
                except dnf.exceptions.MarkingError:
                    msg = _('No package installed from the repository.')
                    logger.info(msg)
                else:
                    done = True
            else:
                # Remove packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.remove(pkg_spec, self.reponame)
                    except dnf.exceptions.MarkingError as e:
                        logger.info(str(e))
                    else:
                        done = True

            if not done:
                logger.warning(_('No packages marked for removal.'))

    class UpgradeSubCommand(Command):
        """Implementation of the upgrade sub-command."""

        aliases = ('upgrade', 'upgrade-to')

        def configure(self):
            demands = self.cli.demands
            demands.sack_activation = True
            demands.available_repos = True
            demands.resolving = True
            demands.root_user = True

        def run_on_repo(self):
            """Execute the command with respect to given arguments *cli_args*."""
            _checkGPGKey(self.base, self.cli)

            done = False

            if not self.opts.pkg_specs:
                # Update all packages.
                self.base.upgrade_all(self.reponame)
                done = True
            else:
                # Update packages.
                for pkg_spec in self.opts.pkg_specs:
                    try:
                        self.base.upgrade(pkg_spec, self.reponame)
                    except dnf.exceptions.MarkingError:
                        logger.info(_('No match for argument: %s'), pkg_spec)
                    else:
                        done = True

            if not done:
                raise dnf.exceptions.Error(_('No packages marked for upgrade.'))

    SUBCMDS = {CheckUpdateSubCommand, InfoSubCommand, InstallSubCommand,
               ListSubCommand, MoveToSubCommand, ReinstallOldSubCommand,
               ReinstallSubCommand, RemoveOrDistroSyncSubCommand,
               RemoveOrReinstallSubCommand, RemoveSubCommand,
               UpgradeSubCommand}

    aliases = ('repository-packages',
               'repo-pkgs', 'repo-packages', 'repository-pkgs')
    summary = _('run commands on top of all packages in given repository')

    def __init__(self, cli):
        """Initialize the command."""
        super(RepoPkgsCommand, self).__init__(cli)
        subcmd_objs = (subcmd(cli) for subcmd in self.SUBCMDS)
        self.subcmd = None
        self._subcmd_name2obj = {
            alias: subcmd for subcmd in subcmd_objs for alias in subcmd.aliases}

    def set_argparser(self, parser):
        narrows = parser.add_mutually_exclusive_group()
        narrows.add_argument('--all', dest='_pkg_specs_action',
                             action='store_const', const='all', default=None,
                             help=_("show all packages (default)"))
        narrows.add_argument('--available', dest='_pkg_specs_action',
                             action='store_const', const='available',
                             help=_("show only available packages"))
        narrows.add_argument('--installed', dest='_pkg_specs_action',
                             action='store_const', const='installed',
                             help=_("show only installed packages"))
        narrows.add_argument('--extras', dest='_pkg_specs_action',
                             action='store_const', const='extras',
                             help=_("show only extras packages"))
        narrows.add_argument('--updates', dest='_pkg_specs_action',
                             action='store_const', const='upgrades',
                             help=_("show only upgrades packages"))
        narrows.add_argument('--upgrades', dest='_pkg_specs_action',
                             action='store_const', const='upgrades',
                             help=_("show only upgrades packages"))
        narrows.add_argument('--autoremove', dest='_pkg_specs_action',
                             action='store_const', const='autoremove',
                             help=_("show only autoremove packages"))
        narrows.add_argument('--recent', dest='_pkg_specs_action',
                             action='store_const', const='recent',
                             help=_("show only recently changed packages"))

        parser.add_argument(
            'reponame', nargs=1, action=OptionParser._RepoCallbackEnable,
            metavar=_('REPOID'), help=_("Repository ID"))
        subcommand_choices = [subcmd.aliases[0] for subcmd in self.SUBCMDS]
        subcommand_choices_all = [alias for subcmd in self.SUBCMDS for alias in subcmd.aliases]
        parser.add_argument('subcmd', nargs=1, metavar="SUBCOMMAND",
                            choices=subcommand_choices_all, help=", ".join(subcommand_choices))
        DEFAULT_PKGNARROW = 'all'
        pkgnarrows = {DEFAULT_PKGNARROW, 'installed', 'available',
                      'autoremove', 'extras', 'obsoletes', 'recent',
                      'upgrades'}
        parser.add_argument('pkg_specs', nargs='*', metavar=_('PACKAGE'),
                            choices=pkgnarrows, default=DEFAULT_PKGNARROW,
                            action=OptionParser.PkgNarrowCallback,
                            help=_("Package specification"))

    def configure(self):
        """Verify whether the command can run with given arguments."""
        # Check sub-command.
        try:
            self.subcmd = self._subcmd_name2obj[self.opts.subcmd[0]]
        except (dnf.cli.CliError, KeyError) as e:
            self.cli.optparser.print_usage()
            raise dnf.cli.CliError
        self.subcmd.opts = self.opts
        self.subcmd.reponame = self.opts.reponame[0]
        self.subcmd.configure()

    def run(self):
        """Execute the command with respect to given arguments *extcmds*."""
        self.subcmd.run_on_repo()

class HelpCommand(Command):
    """A class containing methods needed by the cli to execute the
    help command.
    """

    aliases = ('help',)
    summary = _('display a helpful usage message')

    @staticmethod
    def set_argparser(parser):
        parser.add_argument('cmd', nargs='?', metavar=_('COMMAND'),
                            help=_("{prog} command to get help for").format(
                                prog=dnf.util.MAIN_PROG_UPPER))

    def run(self):
        if (not self.opts.cmd
                or self.opts.cmd not in self.cli.cli_commands):
            self.cli.optparser.print_help()
        else:
            command = self.cli.cli_commands[self.opts.cmd]
            self.cli.optparser.print_help(command(self))
PK"�FZ*,ϰ��cli/utils.pynu�[���# Copyright (C) 2016  Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

"""Various utility functions, and a utility class."""

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.cli.format import format_number
from dnf.i18n import _
import dnf.util
import logging
import os
import time

_USER_HZ = os.sysconf(os.sysconf_names['SC_CLK_TCK'])
logger = logging.getLogger('dnf')

def jiffies_to_seconds(jiffies):
    """Convert a number of jiffies to seconds. How many jiffies are in a second
    is system-dependent, e.g. 100 jiffies = 1 second is common.

    :param jiffies: a number of jiffies
    :return: the equivalent number of seconds
    """
    return int(jiffies) / _USER_HZ


def seconds_to_ui_time(seconds):
    """Return a human-readable string representation of the length of
    a time interval given in seconds.

    :param seconds: the length of the time interval in seconds
    :return: a human-readable string representation of the length of
      the time interval
    """
    if seconds >= 60 * 60 * 24:
        return "%d day(s) %d:%02d:%02d" % (seconds // (60 * 60 * 24),
                                           (seconds // (60 * 60)) % 24,
                                           (seconds // 60) % 60,
                                           seconds % 60)
    if seconds >= 60 * 60:
        return "%d:%02d:%02d" % (seconds // (60 * 60), (seconds // 60) % 60,
                                 (seconds % 60))
    return "%02d:%02d" % ((seconds // 60), seconds % 60)


def get_process_info(pid):
    """Return info dict about a process."""

    pid = int(pid)

    # Maybe true if /proc isn't mounted, or not Linux ... or something.
    if (not os.path.exists("/proc/%d/status" % pid) or
        not os.path.exists("/proc/stat") or
        not os.path.exists("/proc/%d/stat" % pid)):
        return

    ps = {}
    with open("/proc/%d/status" % pid) as status_file:
        for line in status_file:
            if line[-1] != '\n':
                continue
            data = line[:-1].split(':\t', 1)
            if len(data) < 2:
                continue
            data[1] = dnf.util.rtrim(data[1], ' kB')
            ps[data[0].strip().lower()] = data[1].strip()
    if 'vmrss' not in ps:
        return
    if 'vmsize' not in ps:
        return

    boot_time = None
    with open("/proc/stat") as stat_file:
        for line in stat_file:
            if line.startswith("btime "):
                boot_time = int(line[len("btime "):-1])
                break
    if boot_time is None:
        return

    with open('/proc/%d/stat' % pid) as stat_file:
        ps_stat = stat_file.read().split()
        ps['start_time'] = boot_time + jiffies_to_seconds(ps_stat[21])
        ps['state'] = {'R' : _('Running'),
                       'S' : _('Sleeping'),
                       'D' : _('Uninterruptible'),
                       'Z' : _('Zombie'),
                       'T' : _('Traced/Stopped')
                       }.get(ps_stat[2], _('Unknown'))

    return ps


def show_lock_owner(pid):
    """Output information about process holding a lock."""

    ps = get_process_info(pid)
    if not ps:
        msg = _('Unable to find information about the locking process (PID %d)')
        logger.critical(msg, pid)
        return

    msg = _('  The application with PID %d is: %s') % (pid, ps['name'])

    logger.critical("%s", msg)
    logger.critical(_("    Memory : %5s RSS (%5sB VSZ)"),
                    format_number(int(ps['vmrss']) * 1024),
                    format_number(int(ps['vmsize']) * 1024))

    ago = seconds_to_ui_time(int(time.time()) - ps['start_time'])
    logger.critical(_('    Started: %s - %s ago'),
                    dnf.util.normalize_time(ps['start_time']), ago)
    logger.critical(_('    State  : %s'), ps['state'])

    return
PK"�FZ4�B4]4]cli/option_parser.pynu�[���# optparse.py
# CLI options parser.
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals
from dnf.i18n import _
from dnf.util import _parse_specs

import argparse
import dnf.exceptions
import dnf.util
import dnf.rpm
import dnf.yum.misc
import logging
import os.path
import re
import sys

logger = logging.getLogger("dnf")


class MultilineHelpFormatter(argparse.HelpFormatter):
    def _split_lines(self, text, width):
        if '\n' in text:
            return text.splitlines()
        return super(MultilineHelpFormatter, self)._split_lines(text, width)

class OptionParser(argparse.ArgumentParser):
    """ArgumentParser like class to do things the "yum way"."""

    def __init__(self, reset_usage=True):
        super(OptionParser, self).__init__(add_help=False,
                                           formatter_class=MultilineHelpFormatter)
        self.command_positional_parser = None
        self.command_group = None
        self._add_general_options()
        if reset_usage:
            self._cmd_usage = {}      # names, summary for dnf commands, to build usage
            self._cmd_groups = set()  # cmd groups added (main, plugin)

    def error(self, msg):
        """Output an error message, and exit the program.
           This method overrides standard argparser's error
           so that error output goes to the logger.

        :param msg: the error message to output
        """
        self.print_usage()
        logger.critical(_("Command line error: %s"), msg)
        sys.exit(1)

    class _RepoCallback(argparse.Action):
        def __call__(self, parser, namespace, values, opt_str):
            operation = 'disable' if opt_str == '--disablerepo' else 'enable'
            l = getattr(namespace, self.dest)
            l.extend((x, operation) for x in re.split(r'\s*[,\s]\s*', values))

    class _RepoCallbackEnable(argparse.Action):
        def __call__(self, parser, namespace, values, opt_str):
            namespace.repos_ed.append((values[0], 'enable'))
            setattr(namespace, 'reponame', values)

    class _SplitCallback(argparse._AppendAction):
        """ Split all strings in seq, at "," and whitespace.
        Returns a new list. """
        SPLITTER = r'\s*[,\s]\s*'

        def __call__(self, parser, namespace, values, opt_str):
            first = True
            for val in re.split(self.SPLITTER, values):
                if first or val:
                    # Empty values are sometimes used to clear existing content of the option.
                    # Only the first value in the parsed string can be empty. Other empty values
                    # are ignored.
                    super(OptionParser._SplitCallback,
                          self).__call__(parser, namespace, val, opt_str)
                first = False

    class _SplitExtendDictCallback(argparse.Action):
        """ Split string at "," or whitespace to (key, value).
        Extends dict with {key: value}."""
        def __call__(self, parser, namespace, values, opt_str):
            try:
                key, val = values.split(',')
                if not key or not val:
                    raise ValueError
            except ValueError:
                msg = _('bad format: %s') % values
                raise argparse.ArgumentError(self, msg)
            dct = getattr(namespace, self.dest)
            dct[key] = val

    class _SetoptsCallback(argparse.Action):
        """ Parse setopts arguments and put them into main_<setopts>
            and repo_<setopts>."""
        def __call__(self, parser, namespace, values, opt_str):
            vals = values.split('=')
            if len(vals) > 2:
                logger.warning(_("Setopt argument has multiple values: %s"), values)
                return
            if len(vals) < 2:
                logger.warning(_("Setopt argument has no value: %s"), values)
                return
            k, v = vals
            period = k.rfind('.')
            if period != -1:
                repo = k[:period]
                k = k[period+1:]
                if hasattr(namespace, 'repo_setopts'):
                    repoopts = namespace.repo_setopts
                else:
                    repoopts = {}
                repoopts.setdefault(repo, {}).setdefault(k, []).append(v)
                setattr(namespace, 'repo_' + self.dest, repoopts)
            else:
                if hasattr(namespace, 'main_setopts'):
                    mainopts = namespace.main_setopts
                else:
                    mainopts = {}
                mainopts.setdefault(k, []).append(v)
                setattr(namespace, 'main_' + self.dest, mainopts)

    class ParseSpecGroupFileCallback(argparse.Action):
        def __call__(self, parser, namespace, values, opt_str):
            _parse_specs(namespace, values)

    class PkgNarrowCallback(argparse.Action):
        def __init__(self, *args, **kwargs):
            self.pkgnarrow = {}
            try:
                for k in ['choices', 'default']:
                    self.pkgnarrow[k] = kwargs[k]
                    del kwargs[k]
            except KeyError as e:
                raise TypeError("%s() missing mandatory argument %s"
                                % (self.__class__.__name__, e))
            kwargs['default'] = []
            super(OptionParser.PkgNarrowCallback, self).__init__(*args, **kwargs)

        def __call__(self, parser, namespace, values, opt_str):
            dest_action = self.dest + '_action'
            if not values or values[0] not in self.pkgnarrow['choices']:
                narrow = self.pkgnarrow['default']
            else:
                narrow = values.pop(0)
            setattr(namespace, dest_action, narrow)
            setattr(namespace, self.dest, values)

    class ForceArchAction(argparse.Action):
        def __call__(self, parser, namespace, values, opt_str):
            namespace.ignorearch = True
            namespace.arch = values

    def _add_general_options(self):
        """ Standard options known to all dnf subcommands. """
        # All defaults need to be a None, so we can always tell whether the user
        # has set something or whether we are getting a default.
        general_grp = self.add_argument_group(_('General {prog} options'.format(
            prog=dnf.util.MAIN_PROG_UPPER)))
        general_grp.add_argument("-c", "--config", dest="config_file_path",
                                 default=None, metavar='[config file]',
                                 help=_("config file location"))
        general_grp.add_argument("-q", "--quiet", dest="quiet",
                                 action="store_true", default=None,
                                 help=_("quiet operation"))
        general_grp.add_argument("-v", "--verbose", action="store_true",
                                 default=None, help=_("verbose operation"))
        general_grp.add_argument("--version", action="store_true", default=None,
                                 help=_("show {prog} version and exit").format(
                                     prog=dnf.util.MAIN_PROG_UPPER))
        general_grp.add_argument("--installroot", help=_("set install root"),
                                 metavar='[path]')
        general_grp.add_argument("--nodocs", action="store_const", const=['nodocs'], dest='tsflags',
                                 help=_("do not install documentations"))
        general_grp.add_argument("--noplugins", action="store_false",
                                 default=None, dest='plugins',
                                 help=_("disable all plugins"))
        general_grp.add_argument("--enableplugin", dest="enableplugin",
                                 default=[], action=self._SplitCallback,
                                 help=_("enable plugins by name"),
                                 metavar='[plugin]')
        general_grp.add_argument("--disableplugin", dest="disableplugin",
                                 default=[], action=self._SplitCallback,
                                 help=_("disable plugins by name"),
                                 metavar='[plugin]')
        general_grp.add_argument("--releasever", default=None,
                                 help=_("override the value of $releasever"
                                        " in config and repo files"))
        general_grp.add_argument("--setopt", dest="setopts", default=[],
                                 action=self._SetoptsCallback,
                                 help=_("set arbitrary config and repo options"))
        general_grp.add_argument("--skip-broken", dest="skip_broken", action="store_true",
                                 default=None,
                                 help=_("resolve depsolve problems by skipping packages"))
        general_grp.add_argument('-h', '--help', '--help-cmd',
                                 action="store_true", dest='help',
                                 help=_("show command help"))

        general_grp.add_argument('--allowerasing', action='store_true',
                                 default=None,
                                 help=_('allow erasing of installed packages to '
                                        'resolve dependencies'))
        best_group = general_grp.add_mutually_exclusive_group()
        best_group.add_argument("-b", "--best", action="store_true", dest='best', default=None,
                                help=_("try the best available package versions in transactions."))
        best_group.add_argument("--nobest", action="store_false", dest='best',
                                help=_("do not limit the transaction to the best candidate"))
        general_grp.add_argument("-C", "--cacheonly", dest="cacheonly",
                                 action="store_true", default=None,
                                 help=_("run entirely from system cache, "
                                        "don't update cache"))
        general_grp.add_argument("-R", "--randomwait", dest="sleeptime", type=int,
                                 default=None, metavar='[minutes]',
                                 help=_("maximum command wait time"))
        general_grp.add_argument("-d", "--debuglevel", dest="debuglevel",
                                 metavar='[debug level]', default=None,
                                 help=_("debugging output level"), type=int)
        general_grp.add_argument("--debugsolver",
                                 action="store_true", default=None,
                                 help=_("dumps detailed solving results into"
                                        " files"))
        general_grp.add_argument("--showduplicates", dest="showdupesfromrepos",
                                 action="store_true", default=None,
                                 help=_("show duplicates, in repos, "
                                        "in list/search commands"))
        general_grp.add_argument("-e", "--errorlevel", default=None, type=int,
                                 help=_("error output level"))
        general_grp.add_argument("--obsoletes", default=None, dest="obsoletes",
                                 action="store_true",
                                 help=_("enables {prog}'s obsoletes processing logic "
                                        "for upgrade or display capabilities that "
                                        "the package obsoletes for info, list and "
                                        "repoquery").format(prog=dnf.util.MAIN_PROG))
        general_grp.add_argument("--rpmverbosity", default=None,
                                 help=_("debugging output level for rpm"),
                                 metavar='[debug level name]')
        general_grp.add_argument("-y", "--assumeyes", action="store_true",
                                 default=None, help=_("automatically answer yes"
                                                      " for all questions"))
        general_grp.add_argument("--assumeno", action="store_true",
                                 default=None, help=_("automatically answer no"
                                                      " for all questions"))
        general_grp.add_argument("--enablerepo", action=self._RepoCallback,
                                 dest='repos_ed', default=[], metavar='[repo]',
                                 help=_("Enable additional repositories. List option. "
                                        "Supports globs, can be specified multiple times."))
        repo_group = general_grp.add_mutually_exclusive_group()
        repo_group.add_argument("--disablerepo", action=self._RepoCallback,
                                dest='repos_ed', default=[], metavar='[repo]',
                                help=_("Disable repositories. List option. "
                                       "Supports globs, can be specified multiple times."))
        repo_group.add_argument('--repo', '--repoid', metavar='[repo]', dest='repo',
                                action=self._SplitCallback, default=[],
                                help=_('enable just specific repositories by an id or a glob, '
                                       'can be specified multiple times'))
        enable_group = general_grp.add_mutually_exclusive_group()
        enable_group.add_argument("--enable", default=False,
                                  dest="set_enabled", action="store_true",
                                  help=_("enable repos with config-manager "
                                         "command (automatically saves)"))
        enable_group.add_argument("--disable", default=False,
                                  dest="set_disabled", action="store_true",
                                  help=_("disable repos with config-manager "
                                         "command (automatically saves)"))
        general_grp.add_argument("-x", "--exclude", "--excludepkgs", default=[],
                                 dest='excludepkgs', action=self._SplitCallback,
                                 help=_("exclude packages by name or glob"),
                                 metavar='[package]')
        general_grp.add_argument("--disableexcludes", "--disableexcludepkgs",
                                 default=[], dest="disable_excludes",
                                 action=self._SplitCallback,
                                 help=_("disable excludepkgs"),
                                 metavar='[repo]')
        general_grp.add_argument("--repofrompath", default={},
                                 action=self._SplitExtendDictCallback,
                                 metavar='[repo,path]',
                                 help=_("label and path to an additional repository to use (same "
                                        "path as in a baseurl), can be specified multiple times."))
        general_grp.add_argument("--noautoremove", action="store_false",
                                 default=None, dest='clean_requirements_on_remove',
                                 help=_("disable removal of dependencies that are no longer used"))
        general_grp.add_argument("--nogpgcheck", action="store_false",
                                 default=None, dest='gpgcheck',
                                 help=_("disable gpg signature checking (if RPM policy allows)"))
        general_grp.add_argument("--color", dest="color", default=None,
                                 help=_("control whether color is used"))
        general_grp.add_argument("--refresh", dest="freshest_metadata",
                                 action="store_true",
                                 help=_("set metadata as expired before running"
                                        " the command"))
        general_grp.add_argument("-4", dest="ip_resolve", default=None,
                                 help=_("resolve to IPv4 addresses only"),
                                 action="store_const", const='ipv4')
        general_grp.add_argument("-6", dest="ip_resolve", default=None,
                                 help=_("resolve to IPv6 addresses only"),
                                 action="store_const", const='ipv6')
        general_grp.add_argument("--destdir", "--downloaddir", dest="destdir", default=None,
                                 help=_("set directory to copy packages to"))
        general_grp.add_argument("--downloadonly", dest="downloadonly",
                                 action="store_true", default=False,
                                 help=_("only download packages"))
        general_grp.add_argument("--comment", dest="comment", default=None,
                                 help=_("add a comment to transaction"))
        # Updateinfo options...
        general_grp.add_argument("--bugfix", action="store_true",
                                 help=_("Include bugfix relevant packages, "
                                        "in updates"))
        general_grp.add_argument("--enhancement", action="store_true",
                                 help=_("Include enhancement relevant packages,"
                                        " in updates"))
        general_grp.add_argument("--newpackage", action="store_true",
                                 help=_("Include newpackage relevant packages,"
                                        " in updates"))
        general_grp.add_argument("--security", action="store_true",
                                 help=_("Include security relevant packages, "
                                        "in updates"))
        general_grp.add_argument("--advisory", "--advisories", dest="advisory",
                                 default=[], action=self._SplitCallback,
                                 help=_("Include packages needed to fix the "
                                        "given advisory, in updates"))
        general_grp.add_argument("--bz", "--bzs", default=[], dest="bugzilla",
                                 action=self._SplitCallback, help=_(
                "Include packages needed to fix the given BZ, in updates"))
        general_grp.add_argument("--cve", "--cves", default=[], dest="cves",
                                 action=self._SplitCallback,
                                 help=_("Include packages needed to fix the given CVE, in updates"))
        general_grp.add_argument(
            "--sec-severity", "--secseverity",
            choices=['Critical', 'Important', 'Moderate', 'Low'], default=[],
            dest="severity", action=self._SplitCallback, help=_(
                "Include security relevant packages matching the severity, "
                "in updates"))
        general_grp.add_argument("--forcearch", metavar="ARCH",
                                 dest=argparse.SUPPRESS,
                                 action=self.ForceArchAction,
                                 choices=sorted(dnf.rpm._BASEARCH_MAP.keys()),
                                 help=_("Force the use of an architecture"))
        general_grp.add_argument('command', nargs='?', help=argparse.SUPPRESS)

    def _add_cmd_usage(self, cmd, group):
        """ store usage info about a single dnf command."""
        summary = dnf.i18n.ucd(cmd.summary)
        name = dnf.i18n.ucd(cmd.aliases[0])
        if not name in self._cmd_usage:
            self._cmd_usage[name] = (group, summary)
            self._cmd_groups.add(group)

    def add_commands(self, cli_cmds, group):
        """ store name & summary for dnf commands

        The stored information is used build usage information
        grouped by build-in & plugin commands.
        """
        for cmd in set(cli_cmds.values()):
            self._add_cmd_usage(cmd, group)

    def get_usage(self):
        """ get the usage information to show the user. """
        desc = {'main': _('List of Main Commands:'),
                'plugin': _('List of Plugin Commands:')}
        usage = '%s [options] COMMAND\n' % dnf.util.MAIN_PROG
        for grp in ['main', 'plugin']:
            if not grp in self._cmd_groups:
                # dont add plugin usage, if we dont have plugins
                continue
            usage += "\n%s\n\n" % desc[grp]
            for name in sorted(self._cmd_usage.keys()):
                group, summary = self._cmd_usage[name]
                if group == grp:
                    usage += "%-25s %s\n" % (name, summary)
        return usage

    def _add_command_options(self, command):
        self.prog = "%s %s" % (dnf.util.MAIN_PROG, command._basecmd)
        self.description = command.summary
        self.command_positional_parser = argparse.ArgumentParser(self.prog, add_help=False)
        self.command_positional_parser.print_usage = self.print_usage
        self.command_positional_parser._positionals.title = None
        self.command_group = self.add_argument_group(
            '{} command-specific options'.format(command._basecmd.capitalize()))
        self.command_group.add_argument = self.cmd_add_argument
        self.command_group._command = command._basecmd
        command.set_argparser(self.command_group)

    def cmd_add_argument(self, *args, **kwargs):
        if all([(arg[0] in self.prefix_chars) for arg in args]):
            return type(self.command_group).add_argument(self.command_group, *args, **kwargs)
        else:
            return self.command_positional_parser.add_argument(*args, **kwargs)

    def _check_encoding(self, args):
        for arg in args:
            try:
                arg.encode('utf-8')
            except UnicodeEncodeError as e:
                raise dnf.exceptions.ConfigError(
                    _("Cannot encode argument '%s': %s") % (arg, str(e)))

    def parse_main_args(self, args):
        self._check_encoding(args)
        namespace, _unused_args = self.parse_known_args(args)
        return namespace

    def parse_command_args(self, command, args):
        self._add_command_options(command)
        namespace, unused_args = self.parse_known_args(args)
        namespace = self.command_positional_parser.parse_args(unused_args, namespace)
        command.opts = namespace
        return command.opts

    def print_usage(self, file_=None):
        if self.command_positional_parser:
            self._actions += self.command_positional_parser._actions
        super(OptionParser, self).print_usage(file_)

    def print_help(self, command=None):
        # pylint: disable=W0212
        if command:
            if not self.command_group or self.command_group._command != command._basecmd:
                self._add_command_options(command)
            self._actions += self.command_positional_parser._actions
            self._action_groups.append(self.command_positional_parser._positionals)
        else:
            self.usage = self.get_usage()
        super(OptionParser, self).print_help()
PK"�FZ6D}���cli/aliases.pynu�[���# aliases.py
# Resolving aliases in CLI arguments.
#
# Copyright (C) 2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _

import collections
import dnf.cli
from dnf.conf.config import PRIO_DEFAULT
import dnf.exceptions
import libdnf.conf
import logging
import os
import os.path

logger = logging.getLogger('dnf')

ALIASES_DROPIN_DIR = '/etc/dnf/aliases.d/'
ALIASES_CONF_PATH = os.path.join(ALIASES_DROPIN_DIR, 'ALIASES.conf')
ALIASES_USER_PATH = os.path.join(ALIASES_DROPIN_DIR, 'USER.conf')


class AliasesConfig(object):
    def __init__(self, path):
        self._path = path
        self._parser = libdnf.conf.ConfigParser()
        self._parser.read(self._path)

    @property
    def enabled(self):
        option = libdnf.conf.OptionBool(True)
        try:
            option.set(PRIO_DEFAULT, self._parser.getData()["main"]["enabled"])
        except IndexError:
            pass
        return option.getValue()

    @property
    def aliases(self):
        result = collections.OrderedDict()
        section = "aliases"
        if not self._parser.hasSection(section):
            return result
        for key in self._parser.options(section):
            value = self._parser.getValue(section, key)
            if not value:
                continue
            result[key] = value.split()
        return result


class Aliases(object):
    def __init__(self):
        self.aliases = collections.OrderedDict()
        self.conf = None
        self.enabled = True

        if self._disabled_by_environ():
            self.enabled = False
            return

        self._load_main()

        if not self.enabled:
            return

        self._load_aliases()

    def _disabled_by_environ(self):
        option = libdnf.conf.OptionBool(True)
        try:
            option.set(PRIO_DEFAULT, os.environ['DNF_DISABLE_ALIASES'])
            return option.getValue()
        except KeyError:
            return False
        except RuntimeError:
            logger.warning(
                _('Unexpected value of environment variable: '
                  'DNF_DISABLE_ALIASES=%s'), os.environ['DNF_DISABLE_ALIASES'])
            return True

    def _load_conf(self, path):
        try:
            return AliasesConfig(path)
        except RuntimeError as e:
            raise dnf.exceptions.ConfigError(
                _('Parsing file "%s" failed: %s') % (path, e))
        except IOError as e:
            raise dnf.exceptions.ConfigError(
                _('Cannot read file "%s": %s') % (path, e))

    def _load_main(self):
        try:
            self.conf = self._load_conf(ALIASES_CONF_PATH)
            self.enabled = self.conf.enabled
        except dnf.exceptions.ConfigError as e:
            logger.debug(_('Config error: %s'), e)

    def _load_aliases(self, filenames=None):
        if filenames is None:
            try:
                filenames = self._dropin_dir_filenames()
            except dnf.exceptions.ConfigError:
                return
        for filename in filenames:
            try:
                conf = self._load_conf(filename)
                if conf.enabled:
                    self.aliases.update(conf.aliases)
            except dnf.exceptions.ConfigError as e:
                logger.warning(_('Config error: %s'), e)

    def _dropin_dir_filenames(self):
        # Get default aliases config filenames:
        #   all files from ALIASES_DROPIN_DIR,
        #   and ALIASES_USER_PATH as the last one (-> override all others)
        ignored_filenames = [os.path.basename(ALIASES_CONF_PATH),
                             os.path.basename(ALIASES_USER_PATH)]

        def _ignore_filename(filename):
            return filename in ignored_filenames or\
                filename.startswith('.') or\
                not filename.endswith(('.conf', '.CONF'))

        filenames = []
        try:
            if not os.path.exists(ALIASES_DROPIN_DIR):
                os.mkdir(ALIASES_DROPIN_DIR)
            for fn in sorted(os.listdir(ALIASES_DROPIN_DIR)):
                if _ignore_filename(fn):
                    continue
                filenames.append(os.path.join(ALIASES_DROPIN_DIR, fn))
        except (IOError, OSError) as e:
            raise dnf.exceptions.ConfigError(e)
        if os.path.exists(ALIASES_USER_PATH):
            filenames.append(ALIASES_USER_PATH)
        return filenames

    def _resolve(self, args):
        stack = []
        self.prefix_options = []

        def store_prefix(args):
            num = 0
            for arg in args:
                if arg and arg[0] != '-':
                    break
                num += 1

            self.prefix_options += args[:num]

            return args[num:]

        def subresolve(args):
            suffix = store_prefix(args)

            if (not suffix or  # Current alias on stack is resolved
                    suffix[0] not in self.aliases or  # End resolving
                    suffix[0].startswith('\\')):  # End resolving
                try:
                    stack.pop()

                    # strip the '\' if it exists
                    if suffix[0].startswith('\\'):
                        suffix[0] = suffix[0][1:]
                except IndexError:
                    pass

                return suffix

            if suffix[0] in stack:  # Infinite recursion detected
                raise dnf.exceptions.Error(
                    _('Aliases contain infinite recursion'))

            # Next word must be an alias
            stack.append(suffix[0])
            current_alias_result = subresolve(self.aliases[suffix[0]])
            if current_alias_result:  # We reached non-alias or '\'
                return current_alias_result + suffix[1:]
            else:  # Need to resolve aliases in the rest
                return subresolve(suffix[1:])

        suffix = subresolve(args)
        return self.prefix_options + suffix

    def resolve(self, args):
        if self.enabled:
            try:
                args = self._resolve(args)
            except dnf.exceptions.Error as e:
                logger.error(_('%s, using original arguments.'), e)
        return args
PK"�FZ4�땱���
cli/cli.pynu�[���# Copyright 2005 Duke University
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Written by Seth Vidal

"""
Command line interface yum class and related.
"""

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals

try:
    from collections.abc import Sequence
except ImportError:
    from collections import Sequence
import datetime
import logging
import operator
import os
import random
import rpm
import sys
import time

import hawkey
import libdnf.transaction

from . import output
from dnf.cli import CliError
from dnf.i18n import ucd, _
import dnf
import dnf.cli.aliases
import dnf.cli.commands
import dnf.cli.commands.alias
import dnf.cli.commands.autoremove
import dnf.cli.commands.check
import dnf.cli.commands.clean
import dnf.cli.commands.deplist
import dnf.cli.commands.distrosync
import dnf.cli.commands.downgrade
import dnf.cli.commands.group
import dnf.cli.commands.history
import dnf.cli.commands.install
import dnf.cli.commands.makecache
import dnf.cli.commands.mark
import dnf.cli.commands.module
import dnf.cli.commands.reinstall
import dnf.cli.commands.remove
import dnf.cli.commands.repolist
import dnf.cli.commands.repoquery
import dnf.cli.commands.search
import dnf.cli.commands.shell
import dnf.cli.commands.swap
import dnf.cli.commands.updateinfo
import dnf.cli.commands.upgrade
import dnf.cli.commands.upgrademinimal
import dnf.cli.demand
import dnf.cli.format
import dnf.cli.option_parser
import dnf.conf
import dnf.conf.substitutions
import dnf.const
import dnf.db.history
import dnf.exceptions
import dnf.logging
import dnf.persistor
import dnf.plugin
import dnf.rpm
import dnf.sack
import dnf.transaction
import dnf.util
import dnf.yum.misc

logger = logging.getLogger('dnf')


def _add_pkg_simple_list_lens(data, pkg, indent=''):
    """ Get the length of each pkg's column. Add that to data.
        This "knows" about simpleList and printVer. """
    na = len(pkg.name) + 1 + len(pkg.arch) + len(indent)
    ver = len(pkg.evr)
    rid = len(pkg._from_repo)
    for (d, v) in (('na', na), ('ver', ver), ('rid', rid)):
        data[d].setdefault(v, 0)
        data[d][v] += 1


def _list_cmd_calc_columns(output, ypl):
    """ Work out the dynamic size of the columns to pass to fmtColumns. """
    data = {'na' : {}, 'ver' : {}, 'rid' : {}}
    for lst in (ypl.installed, ypl.available, ypl.extras, ypl.autoremove,
                ypl.updates, ypl.recent):
        for pkg in lst:
            _add_pkg_simple_list_lens(data, pkg)
    if len(ypl.obsoletes) > 0:
        for (npkg, opkg) in ypl.obsoletesTuples:
            _add_pkg_simple_list_lens(data, npkg)
            _add_pkg_simple_list_lens(data, opkg, indent=" " * 4)

    data = [data['na'], data['ver'], data['rid']]
    columns = output.calcColumns(data, remainder_column=1)
    return (-columns[0], -columns[1], -columns[2])


def print_versions(pkgs, base, output):
    def sm_ui_time(x):
        return time.strftime("%c", time.gmtime(x))

    rpmdb_sack = dnf.sack.rpmdb_sack(base)
    done = False
    for pkg in rpmdb_sack.query().installed().filterm(name=pkgs):
        if done:
            print("")
        done = True
        if pkg.epoch == '0':
            ver = '%s-%s.%s' % (pkg.version, pkg.release, pkg.arch)
        else:
            ver = '%s:%s-%s.%s' % (pkg.epoch,
                                   pkg.version, pkg.release, pkg.arch)
        name = output.term.bold(pkg.name)
        print(_("  Installed: %s-%s at %s") %(name, ver,
                                              sm_ui_time(pkg.installtime)))
        print(_("  Built    : %s at %s") % (pkg.packager if pkg.packager else "",
                                            sm_ui_time(pkg.buildtime)))
        # :hawkey, no changelist information yet
        # print(_("  Committed: %s at %s") % (pkg.committer,
        #                                    sm_ui_date(pkg.committime)))


def report_module_switch(switchedModules):
    msg1 = _("The operation would result in switching of module '{0}' stream '{1}' to "
             "stream '{2}'")
    for moduleName, streams in switchedModules.items():
        logger.warning(msg1.format(moduleName, streams[0], streams[1]))


class BaseCli(dnf.Base):
    """This is the base class for yum cli."""

    def __init__(self, conf=None):
        conf = conf or dnf.conf.Conf()
        super(BaseCli, self).__init__(conf=conf)
        self.output = output.Output(self, self.conf)

    def do_transaction(self, display=()):
        """Take care of package downloading, checking, user
        confirmation and actually running the transaction.

        :param display: `rpm.callback.TransactionProgress` object(s)
        :return: history database transaction ID or None
        """
        if dnf.base.WITH_MODULES:
            if not self.conf.module_stream_switch:
                switchedModules = dict(self._moduleContainer.getSwitchedStreams())
                if switchedModules:
                    report_module_switch(switchedModules)
                    msg = _("It is not possible to switch enabled streams of a module unless explicitly "
                            "enabled via configuration option module_stream_switch.\n"
                            "It is recommended to rather remove all installed content from the module, and "
                            "reset the module using '{prog} module reset <module_name>' command. After "
                            "you reset the module, you can install the other stream.").format(
                        prog=dnf.util.MAIN_PROG)
                    raise dnf.exceptions.Error(msg)

        trans = self.transaction
        pkg_str = self.output.list_transaction(trans)
        if pkg_str:
            logger.info(pkg_str)

        if trans:
            # Check which packages have to be downloaded
            install_pkgs = []
            rmpkgs = []
            install_only = True
            for tsi in trans:
                if tsi.action in dnf.transaction.FORWARD_ACTIONS:
                    install_pkgs.append(tsi.pkg)
                elif tsi.action in dnf.transaction.BACKWARD_ACTIONS:
                    install_only = False
                    rmpkgs.append(tsi.pkg)

            # Close the connection to the rpmdb so that rpm doesn't hold the
            # SIGINT handler during the downloads.
            del self._ts

            # report the total download size to the user
            if not install_pkgs:
                self.output.reportRemoveSize(rmpkgs)
            else:
                self.output.reportDownloadSize(install_pkgs, install_only)

        if trans or self._moduleContainer.isChanged() or \
                (self._history and (self._history.group or self._history.env)):
            # confirm with user
            if self.conf.downloadonly:
                logger.info(_("{prog} will only download packages for the transaction.").format(
                    prog=dnf.util.MAIN_PROG_UPPER))
            elif 'test' in self.conf.tsflags:
                logger.info(_("{prog} will only download packages, install gpg keys, and check the "
                              "transaction.").format(prog=dnf.util.MAIN_PROG_UPPER))
            if self._promptWanted():
                if self.conf.assumeno or not self.output.userconfirm():
                    raise CliError(_("Operation aborted."))
        else:
            logger.info(_('Nothing to do.'))
            return

        if trans:
            if install_pkgs:
                logger.info(_('Downloading Packages:'))
                try:
                    total_cb = self.output.download_callback_total_cb
                    self.download_packages(install_pkgs, self.output.progress, total_cb)
                except dnf.exceptions.DownloadError as e:
                    specific = dnf.cli.format.indent_block(ucd(e))
                    errstr = _('Error downloading packages:') + '\n%s' % specific
                    # setting the new line to prevent next chars being eaten up
                    # by carriage returns
                    print()
                    raise dnf.exceptions.Error(errstr)
            # Check GPG signatures
            self.gpgsigcheck(install_pkgs)

        if self.conf.downloadonly:
            return

        if not isinstance(display, Sequence):
            display = [display]
        display = [output.CliTransactionDisplay()] + list(display)
        tid = super(BaseCli, self).do_transaction(display)

        # display last transaction (which was closed during do_transaction())
        if tid is not None:
            trans = self.history.old([tid])[0]
            trans = dnf.db.group.RPMTransaction(self.history, trans._trans)
        else:
            trans = None

        if trans:
            # the post transaction summary is already written to log during
            # Base.do_transaction() so here only print the messages to the
            # user arranged in columns
            print()
            print('\n'.join(self.output.post_transaction_output(trans)))
            print()
            for tsi in trans:
                if tsi.state == libdnf.transaction.TransactionItemState_ERROR:
                    raise dnf.exceptions.Error(_('Transaction failed'))

        return tid

    def gpgsigcheck(self, pkgs):
        """Perform GPG signature verification on the given packages,
        installing keys if possible.

        :param pkgs: a list of package objects to verify the GPG
           signatures of
        :raises: Will raise :class:`Error` if there's a problem
        """
        error_messages = []
        for po in pkgs:
            result, errmsg = self._sig_check_pkg(po)

            if result == 0:
                # Verified ok, or verify not req'd
                continue

            elif result == 1:
                ay = self.conf.assumeyes and not self.conf.assumeno
                if (not sys.stdin or not sys.stdin.isatty()) and not ay:
                    raise dnf.exceptions.Error(_('Refusing to automatically import keys when running ' \
                            'unattended.\nUse "-y" to override.'))

                # the callback here expects to be able to take options which
                # userconfirm really doesn't... so fake it
                fn = lambda x, y, z: self.output.userconfirm()
                try:
                    self._get_key_for_package(po, fn)
                except (dnf.exceptions.Error, ValueError) as e:
                    error_messages.append(str(e))

            else:
                # Fatal error
                error_messages.append(errmsg)

        if error_messages:
            for msg in error_messages:
                logger.critical(msg)
            raise dnf.exceptions.Error(_("GPG check FAILED"))

    def latest_changelogs(self, package):
        """Return list of changelogs for package newer then installed version"""
        newest = None
        # find the date of the newest changelog for installed version of package
        # stored in rpmdb
        for mi in self._rpmconn.readonly_ts.dbMatch('name', package.name):
            changelogtimes = mi[rpm.RPMTAG_CHANGELOGTIME]
            if changelogtimes:
                newest = datetime.date.fromtimestamp(changelogtimes[0])
                break
        chlogs = [chlog for chlog in package.changelogs
                  if newest is None or chlog['timestamp'] > newest]
        return chlogs

    def format_changelog(self, changelog):
        """Return changelog formatted as in spec file"""
        chlog_str = '* %s %s\n%s\n' % (
            changelog['timestamp'].strftime("%a %b %d %X %Y"),
            dnf.i18n.ucd(changelog['author']),
            dnf.i18n.ucd(changelog['text']))
        return chlog_str

    def print_changelogs(self, packages):
        # group packages by src.rpm to avoid showing duplicate changelogs
        bysrpm = dict()
        for p in packages:
            # there are packages without source_name, use name then.
            bysrpm.setdefault(p.source_name or p.name, []).append(p)
        for source_name in sorted(bysrpm.keys()):
            bin_packages = bysrpm[source_name]
            print(_("Changelogs for {}").format(', '.join([str(pkg) for pkg in bin_packages])))
            for chl in self.latest_changelogs(bin_packages[0]):
                print(self.format_changelog(chl))

    def check_updates(self, patterns=(), reponame=None, print_=True, changelogs=False):
        """Check updates matching given *patterns* in selected repository."""
        ypl = self.returnPkgLists('upgrades', patterns, reponame=reponame)
        if self.conf.obsoletes or self.conf.verbose:
            typl = self.returnPkgLists('obsoletes', patterns, reponame=reponame)
            ypl.obsoletes = typl.obsoletes
            ypl.obsoletesTuples = typl.obsoletesTuples

        if print_:
            columns = _list_cmd_calc_columns(self.output, ypl)
            if len(ypl.updates) > 0:
                local_pkgs = {}
                highlight = self.output.term.MODE['bold']
                if highlight:
                    # Do the local/remote split we get in "yum updates"
                    for po in sorted(ypl.updates):
                        local = po.localPkg()
                        if os.path.exists(local) and po.verifyLocalPkg():
                            local_pkgs[(po.name, po.arch)] = po

                cul = self.conf.color_update_local
                cur = self.conf.color_update_remote
                self.output.listPkgs(ypl.updates, '', outputType='list',
                              highlight_na=local_pkgs, columns=columns,
                              highlight_modes={'=' : cul, 'not in' : cur})
                if changelogs:
                    self.print_changelogs(ypl.updates)

            if len(ypl.obsoletes) > 0:
                print(_('Obsoleting Packages'))
                # The tuple is (newPkg, oldPkg) ... so sort by new
                for obtup in sorted(ypl.obsoletesTuples,
                                    key=operator.itemgetter(0)):
                    self.output.updatesObsoletesList(obtup, 'obsoletes',
                                                     columns=columns)

        return ypl.updates or ypl.obsoletes

    def distro_sync_userlist(self, userlist):
        """ Upgrade or downgrade packages to match the latest versions available
            in the enabled repositories.

            :return: (exit_code, [ errors ])

            exit_code is::
                0 = we're done, exit
                1 = we've errored, exit with error string
                2 = we've got work yet to do, onto the next stage
        """
        oldcount = self._goal.req_length()
        if len(userlist) == 0:
            self.distro_sync()
        else:
            for pkg_spec in userlist:
                self.distro_sync(pkg_spec)

        cnt = self._goal.req_length() - oldcount
        if cnt <= 0 and not self._goal.req_has_distupgrade_all():
            msg = _('No packages marked for distribution synchronization.')
            raise dnf.exceptions.Error(msg)

    def downgradePkgs(self, specs=[], file_pkgs=[], strict=False):
        """Attempt to take the user specified list of packages or
        wildcards and downgrade them. If a complete version number is
        specified, attempt to downgrade them to the specified version

        :param specs: a list of names or wildcards specifying packages to downgrade
        :param file_pkgs: a list of pkg objects from local files
        """

        result = False
        for pkg in file_pkgs:
            try:
                self.package_downgrade(pkg, strict=strict)
                result = True
            except dnf.exceptions.MarkingError as e:
                logger.info(_('No match for argument: %s'),
                            self.output.term.bold(pkg.location))

        for arg in specs:
            try:
                self.downgrade_to(arg, strict=strict)
                result = True
            except dnf.exceptions.PackageNotFoundError as err:
                msg = _('No package %s available.')
                logger.info(msg, self.output.term.bold(arg))
            except dnf.exceptions.PackagesNotInstalledError as err:
                logger.info(_('Packages for argument %s available, but not installed.'),
                            self.output.term.bold(err.pkg_spec))
            except dnf.exceptions.MarkingError:
                assert False

        if not result:
            raise dnf.exceptions.Error(_('No packages marked for downgrade.'))

    def output_packages(self, basecmd, pkgnarrow='all', patterns=(), reponame=None):
        """Output selection *pkgnarrow* of packages matching *patterns* and *repoid*."""
        try:
            highlight = self.output.term.MODE['bold']
            ypl = self.returnPkgLists(
                pkgnarrow, patterns, installed_available=highlight, reponame=reponame)
        except dnf.exceptions.Error as e:
            return 1, [str(e)]
        else:
            update_pkgs = {}
            inst_pkgs = {}
            local_pkgs = {}

            columns = None
            if basecmd == 'list':
                # Dynamically size the columns
                columns = _list_cmd_calc_columns(self.output, ypl)

            if highlight and ypl.installed:
                #  If we have installed and available lists, then do the
                # highlighting for the installed packages so you can see what's
                # available to update, an extra, or newer than what we have.
                for pkg in (ypl.hidden_available +
                            ypl.reinstall_available +
                            ypl.old_available):
                    key = (pkg.name, pkg.arch)
                    if key not in update_pkgs or pkg > update_pkgs[key]:
                        update_pkgs[key] = pkg

            if highlight and ypl.available:
                #  If we have installed and available lists, then do the
                # highlighting for the available packages so you can see what's
                # available to install vs. update vs. old.
                for pkg in ypl.hidden_installed:
                    key = (pkg.name, pkg.arch)
                    if key not in inst_pkgs or pkg > inst_pkgs[key]:
                        inst_pkgs[key] = pkg

            if highlight and ypl.updates:
                # Do the local/remote split we get in "yum updates"
                for po in sorted(ypl.updates):
                    if po.reponame != hawkey.SYSTEM_REPO_NAME:
                        local_pkgs[(po.name, po.arch)] = po

            # Output the packages:
            clio = self.conf.color_list_installed_older
            clin = self.conf.color_list_installed_newer
            clir = self.conf.color_list_installed_reinstall
            clie = self.conf.color_list_installed_extra
            rip = self.output.listPkgs(ypl.installed, _('Installed Packages'), basecmd,
                                highlight_na=update_pkgs, columns=columns,
                                highlight_modes={'>' : clio, '<' : clin,
                                                 '=' : clir, 'not in' : clie})
            clau = self.conf.color_list_available_upgrade
            clad = self.conf.color_list_available_downgrade
            clar = self.conf.color_list_available_reinstall
            clai = self.conf.color_list_available_install
            rap = self.output.listPkgs(ypl.available, _('Available Packages'), basecmd,
                                highlight_na=inst_pkgs, columns=columns,
                                highlight_modes={'<' : clau, '>' : clad,
                                                 '=' : clar, 'not in' : clai})
            raep = self.output.listPkgs(ypl.autoremove, _('Autoremove Packages'),
                                basecmd, columns=columns)
            rep = self.output.listPkgs(ypl.extras, _('Extra Packages'), basecmd,
                                columns=columns)
            cul = self.conf.color_update_local
            cur = self.conf.color_update_remote
            rup = self.output.listPkgs(ypl.updates, _('Available Upgrades'), basecmd,
                                highlight_na=local_pkgs, columns=columns,
                                highlight_modes={'=' : cul, 'not in' : cur})

            # XXX put this into the ListCommand at some point
            if len(ypl.obsoletes) > 0 and basecmd == 'list':
            # if we've looked up obsolete lists and it's a list request
                rop = len(ypl.obsoletes)
                print(_('Obsoleting Packages'))
                for obtup in sorted(ypl.obsoletesTuples,
                                    key=operator.itemgetter(0)):
                    self.output.updatesObsoletesList(obtup, 'obsoletes',
                                                     columns=columns)
            else:
                rop = self.output.listPkgs(ypl.obsoletes, _('Obsoleting Packages'),
                                    basecmd, columns=columns)
            rrap = self.output.listPkgs(ypl.recent, _('Recently Added Packages'),
                                 basecmd, columns=columns)
            if len(patterns) and \
                    rrap == 0 and rop == 0 and rup == 0 and rep == 0 and rap == 0 and raep == 0 and rip == 0:
                raise dnf.exceptions.Error(_('No matching Packages to list'))

    def returnPkgLists(self, pkgnarrow='all', patterns=None,
                       installed_available=False, reponame=None):
        """Return a :class:`dnf.yum.misc.GenericHolder` object containing
        lists of package objects that match the given names or wildcards.

        :param pkgnarrow: a string specifying which types of packages
           lists to produce, such as updates, installed, available, etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param installed_available: whether the available package list
           is present as .hidden_available when doing all, available,
           or installed
        :param reponame: limit packages list to the given repository

        :return: a :class:`dnf.yum.misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        """

        done_hidden_available = False
        done_hidden_installed = False
        if installed_available and pkgnarrow == 'installed':
            done_hidden_available = True
            pkgnarrow = 'all'
        elif installed_available and pkgnarrow == 'available':
            done_hidden_installed = True
            pkgnarrow = 'all'

        ypl = self._do_package_lists(
            pkgnarrow, patterns, ignore_case=True, reponame=reponame)
        if self.conf.showdupesfromrepos:
            for pkg in ypl.reinstall_available:
                if not pkg.installed and not done_hidden_available:
                    ypl.available.append(pkg)

        if installed_available:
            ypl.hidden_available = ypl.available
            ypl.hidden_installed = ypl.installed
        if done_hidden_available:
            ypl.available = []
        if done_hidden_installed:
            ypl.installed = []
        return ypl

    def provides(self, args):
        """Print out a list of packages that provide the given file or
        feature.  This a cli wrapper to the provides methods in the
        rpmdb and pkgsack.

        :param args: the name of a file or feature to search for
        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        """
        # always in showdups mode
        old_sdup = self.conf.showdupesfromrepos
        self.conf.showdupesfromrepos = True

        matches = []
        used_search_strings = []
        for spec in args:
            query, used_search_string = super(BaseCli, self).provides(spec)
            matches.extend(query)
            used_search_strings.extend(used_search_string)
        for pkg in sorted(matches):
            self.output.matchcallback_verbose(pkg, used_search_strings, args)
        self.conf.showdupesfromrepos = old_sdup

        if not matches:
            raise dnf.exceptions.Error(_('No Matches found'))

    def _promptWanted(self):
        # shortcut for the always-off/always-on options
        if self.conf.assumeyes and not self.conf.assumeno:
            return False
        return True


class Cli(object):
    def __init__(self, base):
        self.base = base
        self.cli_commands = {}
        self.command = None
        self.demands = dnf.cli.demand.DemandSheet()  # :api

        self.register_command(dnf.cli.commands.alias.AliasCommand)
        self.register_command(dnf.cli.commands.autoremove.AutoremoveCommand)
        self.register_command(dnf.cli.commands.check.CheckCommand)
        self.register_command(dnf.cli.commands.clean.CleanCommand)
        self.register_command(dnf.cli.commands.distrosync.DistroSyncCommand)
        self.register_command(dnf.cli.commands.deplist.DeplistCommand)
        self.register_command(dnf.cli.commands.downgrade.DowngradeCommand)
        self.register_command(dnf.cli.commands.group.GroupCommand)
        self.register_command(dnf.cli.commands.history.HistoryCommand)
        self.register_command(dnf.cli.commands.install.InstallCommand)
        self.register_command(dnf.cli.commands.makecache.MakeCacheCommand)
        self.register_command(dnf.cli.commands.mark.MarkCommand)
        self.register_command(dnf.cli.commands.module.ModuleCommand)
        self.register_command(dnf.cli.commands.reinstall.ReinstallCommand)
        self.register_command(dnf.cli.commands.remove.RemoveCommand)
        self.register_command(dnf.cli.commands.repolist.RepoListCommand)
        self.register_command(dnf.cli.commands.repoquery.RepoQueryCommand)
        self.register_command(dnf.cli.commands.search.SearchCommand)
        self.register_command(dnf.cli.commands.shell.ShellCommand)
        self.register_command(dnf.cli.commands.swap.SwapCommand)
        self.register_command(dnf.cli.commands.updateinfo.UpdateInfoCommand)
        self.register_command(dnf.cli.commands.upgrade.UpgradeCommand)
        self.register_command(dnf.cli.commands.upgrademinimal.UpgradeMinimalCommand)
        self.register_command(dnf.cli.commands.InfoCommand)
        self.register_command(dnf.cli.commands.ListCommand)
        self.register_command(dnf.cli.commands.ProvidesCommand)
        self.register_command(dnf.cli.commands.CheckUpdateCommand)
        self.register_command(dnf.cli.commands.RepoPkgsCommand)
        self.register_command(dnf.cli.commands.HelpCommand)

    def _configure_repos(self, opts):
        self.base.read_all_repos(opts)
        if opts.repofrompath:
            for label, path in opts.repofrompath.items():
                this_repo = self.base.repos.add_new_repo(label, self.base.conf, baseurl=[path])
                this_repo._configure_from_options(opts)
                # do not let this repo to be disabled
                opts.repos_ed.append((label, "enable"))

        if opts.repo:
            opts.repos_ed.insert(0, ("*", "disable"))
            opts.repos_ed.extend([(r, "enable") for r in opts.repo])

        notmatch = set()

        # Process repo enables and disables in order
        try:
            for (repo, operation) in opts.repos_ed:
                repolist = self.base.repos.get_matching(repo)
                if not repolist:
                    if self.base.conf.strict and operation == "enable":
                        msg = _("Unknown repo: '%s'")
                        raise dnf.exceptions.RepoError(msg % repo)
                    notmatch.add(repo)

                if operation == "enable":
                    repolist.enable()
                else:
                    repolist.disable()
        except dnf.exceptions.ConfigError as e:
            logger.critical(e)
            self.optparser.print_help()
            sys.exit(1)

        for repo in notmatch:
            logger.warning(_("No repository match: %s"), repo)

        expired_repos = self.base._repo_persistor.get_expired_repos()
        if expired_repos is None:
            expired_repos = self.base.repos.keys()
        for rid in expired_repos:
            repo = self.base.repos.get(rid)
            if repo:
                repo._repo.expire()

        # setup the progress bars/callbacks
        (bar, self.base._ds_callback) = self.base.output.setup_progress_callbacks()
        self.base.repos.all().set_progress_bar(bar)
        key_import = output.CliKeyImport(self.base, self.base.output)
        self.base.repos.all()._set_key_import(key_import)

    def _log_essentials(self):
        logger.debug('{prog} version: %s'.format(prog=dnf.util.MAIN_PROG_UPPER),
                     dnf.const.VERSION)
        logger.log(dnf.logging.DDEBUG,
                        'Command: %s', self.cmdstring)
        logger.log(dnf.logging.DDEBUG,
                        'Installroot: %s', self.base.conf.installroot)
        logger.log(dnf.logging.DDEBUG, 'Releasever: %s',
                        self.base.conf.releasever)
        logger.debug("cachedir: %s", self.base.conf.cachedir)

    def _process_demands(self):
        demands = self.demands
        repos = self.base.repos

        if demands.root_user:
            if not dnf.util.am_i_root():
                raise dnf.exceptions.Error(
                    _('This command has to be run with superuser privileges '
                        '(under the root user on most systems).'))

        if demands.changelogs:
            for repo in repos.iter_enabled():
                repo.load_metadata_other = True

        if demands.cacheonly or self.base.conf.cacheonly:
            self.base.conf.cacheonly = True
            for repo in repos.values():
                repo._repo.setSyncStrategy(dnf.repo.SYNC_ONLY_CACHE)
        else:
            if demands.freshest_metadata:
                for repo in repos.iter_enabled():
                    repo._repo.expire()
            elif not demands.fresh_metadata:
                for repo in repos.values():
                    repo._repo.setSyncStrategy(dnf.repo.SYNC_LAZY)

        if demands.sack_activation:
            self.base.fill_sack(
                load_system_repo='auto' if self.demands.load_system_repo else False,
                load_available_repos=self.demands.available_repos)

    def _parse_commands(self, opts, args):
        """Check that the requested CLI command exists."""

        basecmd = opts.command
        command_cls = self.cli_commands.get(basecmd)
        if command_cls is None:
            logger.critical(_('No such command: %s. Please use %s --help'),
                            basecmd, sys.argv[0])
            if self.base.conf.plugins:
                logger.critical(_("It could be a {PROG} plugin command, "
                                  "try: \"{prog} install 'dnf-command(%s)'\"").format(
                    prog=dnf.util.MAIN_PROG, PROG=dnf.util.MAIN_PROG_UPPER), basecmd)
            else:
                logger.critical(_("It could be a {prog} plugin command, "
                                  "but loading of plugins is currently disabled.").format(
                    prog=dnf.util.MAIN_PROG_UPPER))
            raise CliError
        self.command = command_cls(self)

        logger.log(dnf.logging.DDEBUG, 'Base command: %s', basecmd)
        logger.log(dnf.logging.DDEBUG, 'Extra commands: %s', args)

    def configure(self, args, option_parser=None):
        """Parse command line arguments, and set up :attr:`self.base.conf` and
        :attr:`self.cmds`, as well as logger objects in base instance.

        :param args: a list of command line arguments
        :param option_parser: a class for parsing cli options
        """
        aliases = dnf.cli.aliases.Aliases()
        args = aliases.resolve(args)

        self.optparser = dnf.cli.option_parser.OptionParser() \
            if option_parser is None else option_parser
        opts = self.optparser.parse_main_args(args)

        # Just print out the version if that's what the user wanted
        if opts.version:
            print(dnf.const.VERSION)
            print_versions(self.base.conf.history_record_packages, self.base,
                           self.base.output)
            sys.exit(0)

        if opts.quiet:
            opts.debuglevel = 0
            opts.errorlevel = 2
        if opts.verbose:
            opts.debuglevel = opts.errorlevel = dnf.const.VERBOSE_LEVEL

        # Read up configuration options and initialize plugins
        try:
            if opts.cacheonly:
                self.base.conf._set_value("cachedir", self.base.conf.system_cachedir,
                                          dnf.conf.PRIO_DEFAULT)
                self.demands.cacheonly = True
            self.base.conf._configure_from_options(opts)
            self._read_conf_file(opts.releasever)
            if 'arch' in opts:
                self.base.conf.arch = opts.arch
            self.base.conf._adjust_conf_options()
        except (dnf.exceptions.ConfigError, ValueError) as e:
            logger.critical(_('Config error: %s'), e)
            sys.exit(1)
        except IOError as e:
            e = '%s: %s' % (ucd(str(e)), repr(e.filename))
            logger.critical(_('Config error: %s'), e)
            sys.exit(1)
        if opts.destdir is not None:
            self.base.conf.destdir = opts.destdir
            if not self.base.conf.downloadonly and opts.command not in (
                    'download', 'system-upgrade', 'reposync', 'modulesync'):
                logger.critical(_('--destdir or --downloaddir must be used with --downloadonly '
                                  'or download or system-upgrade command.')
                )
                sys.exit(1)
        if (opts.set_enabled or opts.set_disabled) and opts.command != 'config-manager':
            logger.critical(
                _('--enable, --set-enabled and --disable, --set-disabled '
                  'must be used with config-manager command.'))
            sys.exit(1)

        if opts.sleeptime is not None:
            time.sleep(random.randrange(opts.sleeptime * 60))

        # store the main commands & summaries, before plugins are loaded
        self.optparser.add_commands(self.cli_commands, 'main')
        # store the plugin commands & summaries
        self.base.init_plugins(opts.disableplugin, opts.enableplugin, self)
        self.optparser.add_commands(self.cli_commands,'plugin')

        # show help if no command specified
        # this is done here, because we first have the full
        # usage info after the plugins are loaded.
        if not opts.command:
            self.optparser.print_help()
            sys.exit(0)

        # save our original args out
        self.base.args = args
        # save out as a nice command string
        self.cmdstring = self.optparser.prog + ' '
        for arg in self.base.args:
            self.cmdstring += '%s ' % arg

        self._log_essentials()
        try:
            self._parse_commands(opts, args)
        except CliError:
            sys.exit(1)

        # show help for dnf <command> --help / --help-cmd
        if opts.help:
            self.optparser.print_help(self.command)
            sys.exit(0)

        opts = self.optparser.parse_command_args(self.command, args)

        if opts.allowerasing:
            self.demands.allow_erasing = opts.allowerasing
            self.base._allow_erasing = True
        if opts.freshest_metadata:
            self.demands.freshest_metadata = opts.freshest_metadata
        if opts.debugsolver:
            self.base.conf.debug_solver = True
        if opts.obsoletes:
            self.base.conf.obsoletes = True
        self.command.pre_configure()
        self.base.pre_configure_plugins()

        # with cachedir in place we can configure stuff depending on it:
        self.base._activate_persistor()

        self._configure_repos(opts)

        self.base.configure_plugins()

        self.base.conf._configure_from_options(opts)

        self.command.configure()

        if self.base.conf.destdir:
            dnf.util.ensure_dir(self.base.conf.destdir)
            self.base.repos.all().pkgdir = self.base.conf.destdir

        if self.base.conf.color != 'auto':
            self.base.output.term.reinit(color=self.base.conf.color)

        if rpm.expandMacro('%_pkgverify_level') in ('signature', 'all'):
            forcing = False
            for repo in self.base.repos.iter_enabled():
                if repo.gpgcheck:
                    continue
                repo.gpgcheck = True
                forcing = True
            if not self.base.conf.localpkg_gpgcheck:
                self.base.conf.localpkg_gpgcheck = True
                forcing = True
            if forcing:
                logger.warning(
                    _("Warning: Enforcing GPG signature check globally "
                      "as per active RPM security policy (see 'gpgcheck' in "
                      "dnf.conf(5) for how to squelch this message)"
                      )
                )

    def _read_conf_file(self, releasever=None):
        timer = dnf.logging.Timer('config')
        conf = self.base.conf

        # replace remote config path with downloaded file
        conf._check_remote_file('config_file_path')

        # search config file inside the installroot first
        conf._search_inside_installroot('config_file_path')

        # check whether a config file is requested from command line and the file exists
        filename = conf._get_value('config_file_path')
        if (conf._get_priority('config_file_path') == dnf.conf.PRIO_COMMANDLINE) and \
                not os.path.isfile(filename):
            raise dnf.exceptions.ConfigError(_('Config file "{}" does not exist').format(filename))

        # read config
        conf.read(priority=dnf.conf.PRIO_MAINCONFIG)

        # search reposdir file inside the installroot first
        from_root = conf._search_inside_installroot('reposdir')
        # Update vars from same root like repos were taken
        if conf._get_priority('varsdir') == dnf.conf.PRIO_COMMANDLINE:
            from_root = "/"
        subst = conf.substitutions
        subst.update_from_etc(from_root, varsdir=conf._get_value('varsdir'))
        # cachedir, logs, releasever, and gpgkey are taken from or stored in installroot
        if releasever is None and conf.releasever is None:
            releasever = dnf.rpm.detect_releasever(conf.installroot)
        elif releasever == '/':
            releasever = dnf.rpm.detect_releasever(releasever)
        if releasever is not None:
            conf.releasever = releasever
        if conf.releasever is None:
            logger.warning(_("Unable to detect release version (use '--releasever' to specify "
                             "release version)"))

        for opt in ('cachedir', 'logdir', 'persistdir'):
            conf.prepend_installroot(opt)

        self.base._logging._setup_from_dnf_conf(conf)

        timer()
        return conf

    def _populate_update_security_filter(self, opts, cmp_type='eq', all=None):
        """

        :param opts:
        :param cmp_type: string supported "eq", "gte"
        :param all:
        :return:
        """
        if (opts is None) and (all is None):
            return
        types = []

        if opts.bugfix or all:
            types.append('bugfix')
        if opts.enhancement or all:
            types.append('enhancement')
        if opts.newpackage or all:
            types.append('newpackage')
        if opts.security or all:
            types.append('security')

        self.base.add_security_filters(cmp_type, types=types, advisory=opts.advisory,
                                       bugzilla=opts.bugzilla, cves=opts.cves,
                                       severity=opts.severity)

    def redirect_logger(self, stdout=None, stderr=None):
        # :api
        """
        Change minimal logger level for terminal output to stdout and stderr according to specific
        command requirements
        @param stdout: logging.INFO, logging.WARNING, ...
        @param stderr:logging.INFO, logging.WARNING, ...
        """
        if stdout is not None:
            self.base._logging.stdout_handler.setLevel(stdout)
        if stderr is not None:
            self.base._logging.stderr_handler.setLevel(stderr)

    def redirect_repo_progress(self, fo=sys.stderr):
        progress = dnf.cli.progress.MultiFileProgressMeter(fo)
        self.base.output.progress = progress
        self.base.repos.all().set_progress_bar(progress)

    def _check_running_kernel(self):
        kernel = self.base.sack.get_running_kernel()
        if kernel is None:
            return

        q = self.base.sack.query().filterm(provides=kernel.name)
        q = q.installed()
        q.filterm(advisory_type='security')

        ikpkg = kernel
        for pkg in q:
            if pkg > ikpkg:
                ikpkg = pkg

        if ikpkg > kernel:
            print('Security: %s is an installed security update' % ikpkg)
            print('Security: %s is the currently running version' % kernel)

    def _option_conflict(self, option_string_1, option_string_2):
        print(self.optparser.print_usage())
        raise dnf.exceptions.Error(_("argument {}: not allowed with argument {}".format(
            option_string_1, option_string_2)))

    def register_command(self, command_cls):
        """Register a Command. :api"""
        for name in command_cls.aliases:
            if name in self.cli_commands:
                raise dnf.exceptions.ConfigError(_('Command "%s" already defined') % name)
            self.cli_commands[name] = command_cls

    def run(self):
        """Call the base command, and pass it the extended commands or
           arguments.

        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        """
        self._process_demands()

        # Reports about excludes and includes (but not from plugins)
        if self.base.conf.excludepkgs:
            logger.debug(
                _('Excludes in dnf.conf: ') + ", ".join(sorted(set(self.base.conf.excludepkgs))))
        if self.base.conf.includepkgs:
            logger.debug(
                _('Includes in dnf.conf: ') + ", ".join(sorted(set(self.base.conf.includepkgs))))
        for repo in self.base.repos.iter_enabled():
            if repo.excludepkgs:
                logger.debug(_('Excludes in repo ') + repo.id + ": "
                             + ", ".join(sorted(set(repo.excludepkgs))))
            if repo.includepkgs:
                logger.debug(_('Includes in repo ') + repo.id + ": "
                             + ", ".join(sorted(set(repo.includepkgs))))

        return self.command.run()
PK"�FZ
�3
cli/format.pynu�[���# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.

from __future__ import unicode_literals
from dnf.pycomp import long

def format_number(number, SI=0, space=' '):
    """Return a human-readable metric-like string representation
    of a number.

    :param number: the number to be converted to a human-readable form
    :param SI: If is 0, this function will use the convention
       that 1 kilobyte = 1024 bytes, otherwise, the convention
       that 1 kilobyte = 1000 bytes will be used
    :param space: string that will be placed between the number
       and the SI prefix
    :return: a human-readable metric-like string representation of
       *number*
    """

    # copied from from urlgrabber.progress
    symbols = [ ' ', # (none)
                'k', # kilo
                'M', # mega
                'G', # giga
                'T', # tera
                'P', # peta
                'E', # exa
                'Z', # zetta
                'Y'] # yotta

    if SI: step = 1000.0
    else: step = 1024.0

    thresh = 999
    depth = 0
    max_depth = len(symbols) - 1

    if number is None:
        number = 0.0

    # we want numbers between 0 and thresh, but don't exceed the length
    # of our list.  In that event, the formatting will be screwed up,
    # but it'll still show the right number.
    while number > thresh and depth < max_depth:
        depth  = depth + 1
        number = number / step

    if isinstance(number, int) or isinstance(number, long):
        format = '%i%s%s'
    elif number < 9.95:
        # must use 9.95 for proper sizing.  For example, 9.99 will be
        # rounded to 10.0 with the .1f format string (which is too long)
        format = '%.1f%s%s'
    else:
        format = '%.0f%s%s'

    return(format % (float(number or 0), space, symbols[depth]))

def format_time(seconds, use_hours=0):
    """Return a human-readable string representation of a number
    of seconds.  The string will show seconds, minutes, and
    optionally hours.

    :param seconds: the number of seconds to convert to a
       human-readable form
    :param use_hours: If use_hours is 0, the representation will
       be in minutes and seconds. Otherwise, it will be in hours,
       minutes, and seconds
    :return: a human-readable string representation of *seconds*
    """

    # copied from from urlgrabber.progress
    if seconds is None or seconds < 0:
        if use_hours: return '--:--:--'
        else:         return '--:--'
    elif seconds == float('inf'):
        return 'Infinite'
    else:
        seconds = int(seconds)
        minutes = seconds // 60
        seconds = seconds % 60
        if use_hours:
            hours = minutes // 60
            minutes = minutes % 60
            return '%02i:%02i:%02i' % (hours, minutes, seconds)
        else:
            return '%02i:%02i' % (minutes, seconds)

def indent_block(s):
    return '\n'.join('  ' + s for s in s.splitlines())
PK"�FZr�:��cli/progress.pynu�[���# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.

from __future__ import unicode_literals
from dnf.cli.format import format_number, format_time
from dnf.cli.term import _term_width
from dnf.pycomp import unicode
from time import time

import sys
import dnf.callback
import dnf.util


class MultiFileProgressMeter(dnf.callback.DownloadProgress):
    """Multi-file download progress meter"""

    STATUS_2_STR = {
        dnf.callback.STATUS_FAILED: 'FAILED',
        dnf.callback.STATUS_ALREADY_EXISTS: 'SKIPPED',
        dnf.callback.STATUS_MIRROR: 'MIRROR',
        dnf.callback.STATUS_DRPM: 'DRPM',
    }

    def __init__(self, fo=sys.stderr, update_period=0.3, tick_period=1.0, rate_average=5.0):
        """Creates a new progress meter instance

        update_period -- how often to update the progress bar
        tick_period -- how fast to cycle through concurrent downloads
        rate_average -- time constant for average speed calculation
        """
        self.fo = fo
        self.update_period = update_period
        self.tick_period = tick_period
        self.rate_average = rate_average
        self.unknown_progres = 0
        self.total_drpm = 0
        self.isatty = sys.stdout.isatty()
        self.done_drpm = 0
        self.done_files = 0
        self.done_size = 0
        self.active = []
        self.state = {}
        self.last_time = 0
        self.last_size = 0
        self.rate = None
        self.total_files = 0
        self.total_size = 0

    def message(self, msg):
        dnf.util._terminal_messenger('write_flush', msg, self.fo)

    def start(self, total_files, total_size, total_drpms=0):
        self.total_files = total_files
        self.total_size = total_size
        self.total_drpm = total_drpms

        # download state
        self.done_drpm = 0
        self.done_files = 0
        self.done_size = 0
        self.active = []
        self.state = {}

        # rate averaging
        self.last_time = 0
        self.last_size = 0
        self.rate = None

    def progress(self, payload, done):
        now = time()
        text = unicode(payload)
        total = int(payload.download_size)
        done = int(done)

        # update done_size
        if text not in self.state:
            self.state[text] = now, 0
            self.active.append(text)
        start, old = self.state[text]
        self.state[text] = start, done
        self.done_size += done - old

        # update screen if enough time has elapsed
        if now - self.last_time > self.update_period:
            if total > self.total_size:
                self.total_size = total
            self._update(now)

    def _update(self, now):
        if self.last_time:
            delta_time = now - self.last_time
            delta_size = self.done_size - self.last_size
            if delta_time > 0 and delta_size > 0:
                # update the average rate
                rate = delta_size / delta_time
                if self.rate is not None:
                    weight = min(delta_time/self.rate_average, 1)
                    rate = rate*weight + self.rate*(1 - weight)
                self.rate = rate
        self.last_time = now
        self.last_size = self.done_size
        if not self.isatty:
            return
        # pick one of the active downloads
        text = self.active[int(now/self.tick_period) % len(self.active)]
        if self.total_files > 1:
            n = '%d' % (self.done_files + 1)
            if len(self.active) > 1:
                n += '-%d' % (self.done_files + len(self.active))
            text = '(%s/%d): %s' % (n, self.total_files, text)

        # average rate, total done size, estimated remaining time
        if self.rate and self.total_size:
            time_eta = format_time((self.total_size - self.done_size) / self.rate)
        else:
            time_eta = '--:--'
        msg = ' %5sB/s | %5sB %9s ETA\r' % (
            format_number(self.rate) if self.rate else '---  ',
            format_number(self.done_size),
            time_eta)
        left = _term_width() - len(msg)
        bl = (left - 7)//2
        if bl > 8:
            # use part of the remaining space for progress bar
            if self.total_size:
                pct = self.done_size * 100 // self.total_size
                n, p = divmod(self.done_size * bl * 2 // self.total_size, 2)
                bar = '=' * n + '-' * p
                msg = '%3d%% [%-*s]%s' % (pct, bl, bar, msg)
                left -= bl + 7
            else:
                n = self.unknown_progres - 3
                p = 3
                n = 0 if n < 0 else n
                bar = ' ' * n + '=' * p
                msg = '     [%-*s]%s' % (bl, bar, msg)
                left -= bl + 7
                self.unknown_progres = self.unknown_progres + 3 if self.unknown_progres + 3 < bl \
                    else 0
        self.message('%-*.*s%s' % (left, left, text, msg))

    def end(self, payload, status, err_msg):
        start = now = time()
        text = unicode(payload)
        size = int(payload.download_size)
        done = 0

        # update state
        if status == dnf.callback.STATUS_MIRROR:
            pass
        elif status == dnf.callback.STATUS_DRPM:
            self.done_drpm += 1
        elif text in self.state:
            start, done = self.state.pop(text)
            self.active.remove(text)
            size -= done
            self.done_files += 1
            self.done_size += size
        elif status == dnf.callback.STATUS_ALREADY_EXISTS:
            self.done_files += 1
            self.done_size += size

        if status:
            # the error message, no trimming
            if status is dnf.callback.STATUS_DRPM and self.total_drpm > 1:
                msg = '[%s %d/%d] %s: ' % (self.STATUS_2_STR[status], self.done_drpm,
                                           self.total_drpm, text)
            else:
                msg = '[%s] %s: ' % (self.STATUS_2_STR[status], text)
            left = _term_width() - len(msg) - 1
            msg = '%s%-*s\n' % (msg, left, err_msg)
        else:
            if self.total_files > 1:
                text = '(%d/%d): %s' % (self.done_files, self.total_files, text)

            # average rate, file size, download time
            tm = max(now - start, 0.001)
            msg = ' %5sB/s | %5sB %9s    \n' % (
                format_number(float(done) / tm),
                format_number(done),
                format_time(tm))
            left = _term_width() - len(msg)
            msg = '%-*.*s%s' % (left, left, text, msg)
        self.message(msg)

        # now there's a blank line. fill it if possible.
        if self.active:
            self._update(now)
PK"�FZ�s�..#cli/__pycache__/term.cpython-36.pycnu�[���3

�ft`f9�@sxddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddd�Zddd�ZGd	d
�d
e
�ZdS)
�)�absolute_import)�unicode_literalsN�cCsBy(d}tj|tj|�}tjd|�d}|Stk
r<dSXdS)z Get the real terminal width ZabcdefghshhhhrN)�fcntlZioctl�termiosZ
TIOCGWINSZ�struct�unpack�IOError)�fdZbuf�ret�r�/usr/lib/python3.6/term.py�_real_term_widthsrcCs&tdd�}|sdS|dkrdS|SdS)z@ Compute terminal width falling to default 80 in case of troubler)r
�P�N)r)r
Ztwrrr
�_term_width)s
rc	@seZdZdZdZedd��Zedd��Zdddd	�Zd
ddd
ddddd�Z	d
ddd
ddddd�Z
ddddddd�Zdddddd d!d"d�Zd#d$d%d&d'd(d)d*d�Z
d+d,�ZdFd/d0�ZdGd1d2�Zd3d4�Zd5d6�Zd7d8�ZdHd:d;�Zd<d=�Zd>d?�Zd@dA�ZdBdC�ZdDdE�Zd-S)I�Termz>A class to provide some terminal "UI" helpers based on curses.TcCst�S)N)r)�selfrrr
�<lambda>@sz
Term.<lambda>cCst�S)N)r)rrrr
rAsZsmulZrevZsgr0)�	underline�reverse�normalrr������)�black�blue�green�cyan�red�magenta�yellow�white)rr"r r$rr#r!r%zz�zzz(B)�bold�blink�dimrrrzzzzzzzzzzzzzzzzcCs|j|_|j|_|j|_dS)N)�_Term__ansi_forced_MODE�MODE�_Term__ansi_forced_FG_COLOR�FG_COLOR�_Term__ansi_forced_BG_COLOR�BG_COLOR)rrrr
Z
__forced_initzszTerm.__forced_initN�autocCsXd|_d|_|dkr |j�dSddddddd�|_ddddddddd�|_ddddddddd�|_|dkrvd	|_dS|d
ks�t�|s�tj}|j	�s�d	|_dSyt
j|j�d�Wnt
k
r�d	|_dSXt
j|_t
jd�|_x8|jD].}|}||jk�r|j|}|j|�|j|<q�W|jd
�jd�}|�rhx4|jj�D]&\}}t
j||�j��pZd|j|<�q>W|jd�jd�}|�r�x8|jj�D]*\}}t
j||�j��p�d}||j|<�q�W|jd�jd�}	|	�rx4|jj�D]&\}}t
j|	|�j��p�d|j|<�q�W|jd�jd�}
|
�rTx8|jj�D]*\}}t
j|
|�j��pBd}||j|<�q&WdS)a
Reinitializes the :class:`Term`.

        :param term_stream:  the terminal stream that the
           :class:`Term` should be initialized to use.  If
           *term_stream* is not given, :attr:`sys.stdout` is used.
        :param color: when to colorize output.  Valid values are
           'always', 'auto', and 'never'.  'always' will use ANSI codes
           to always colorize output, 'auto' will decide whether do
           colorize depending on the terminal, and 'never' will never
           colorize.
        T��alwaysNr&)r'r(r)rrr)rrr r!r"r#r$r%ZneverFr0)r
�linesZsetfzutf-8ZsetafZsetbZsetab)�_Term__enabledr3�_Term__forced_initr+r-r/�AssertionError�sys�stdout�isatty�cursesZ	setupterm�fileno�	ExceptionZtigetstr�
_ctigetstrZtigetnum�_Term__cap_names�	_tigetstr�encode�
_Term__colors�itemsZtparm�decode�_Term__ansi_colors)r�term_stream�color�cap_name�modeZset_fg�valZset_fg_ansiZfg_colorZset_bgZset_bg_ansiZbg_colorrrr
�reinits�



""zTerm.reinitcCs|j||�dS)N)rJ)rrErFrrr
�__init__�sz
Term.__init__cCs0|j|�pd}tjj|�r"|j�}tjdd|�S)Nr&z\$<\d+>[/*]?)r=�dnfZpycompZis_py3bytesrC�re�sub)rrGZcaprrr
r?�szTerm._tigetstrcCs|j|t|�|jdS)zColorize string with colorr)r+�str)rrF�srrr
rF�sz
Term.colorcCs|jd|�S)zMake string bold.r')rF)rrPrrr
r'�sz	Term.boldFc
s\|js
|S|stj}��fdd�}x4|D],}||�}	|rFtj|	tj�}	tj|	||�}q(W|S)aSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with *end*, then return the
        modified string.  For example::

           >>> yt = Term()
           >>> yt.sub('spam and eggs', 'x', 'z', ['and'])
           'spam xandz eggs'

        This is particularly useful for emphasizing certain words
        in output: for example, calling :func:`sub` with *beg* =
        MODE['bold'] and *end* = MODE['normal'] will return a string
        that when printed to the terminal will appear to be *haystack*
        with each occurrence of the strings in *needles* in bold
        face.  Note, however, that the :func:`sub_mode`,
        :func:`sub_bold`, :func:`sub_fg`, and :func:`sub_bg` methods
        provide convenient ways to access this same emphasizing functionality.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :param escape: a function that accepts a string and returns
           the same string with problematic characters escaped.  By
           default, :func:`re.escape` is used.
        :param ignore_case: whether case should be ignored when
           searching for matches
        :return: *haystack* with *beg* prefixing, and *end*
          postfixing, occurrences of the strings in *needles*
        cs�|j��S)N)�group)�match)�beg�endrr
rszTerm.sub.<locals>.<lambda>)r4rM�escape�template�IrN)
r�haystackrSrT�needlesrUZignore_caseZrenderZneedleZpatr)rSrTr
rN�s 
zTerm.subcKs|j|||jd|f|�S)aOSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with self.MODE['normal'],
        then return the modified string.  If *beg* is an ANSI escape
        code, such as given by self.MODE['bold'], this method will
        return *haystack* with the formatting given by the code only
        applied to the strings in *needles*.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with *beg* prefixing, and self.MODE['normal']
          postfixing, occurrences of the strings in *needles*
        r)rNr+)rrXrSrY�kwdsrrr
�sub_norm&sz
Term.sub_normcKs|j||j||f|�S)aTSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE[*mode*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given *mode*.

        :param haystack: the string to be modified
        :param mode: the mode to set the matches to be in.  Valid
           values are given by self.MODE.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE[*mode*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )r[r+)rrXrHrYrZrrr
�sub_mode9sz
Term.sub_modecKs|j|d|f|�S)a�Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE['bold'], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in bold face.

        :param haystack: the string to be modified
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE['bold'] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        r')r\)rrXrYrZrrr
�sub_boldMsz
Term.sub_boldcKs|j||j||f|�S)acSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.FG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given color.

        :param haystack: the string to be modified
        :param color: the color to set the matches to be in.  Valid
           values are given by self.FG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.FG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )r[r-)rrXrFrYrZrrr
�sub_fg_szTerm.sub_fgcKs|j||j||f|�S)a�Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.BG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* highlighted in the given background color.

        :param haystack: the string to be modified
        :param color: the background color to set the matches to be in.  Valid
           values are given by self.BG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.BG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )r[r/)rrXrFrYrZrrr
�sub_bgsszTerm.sub_bg)Nr0)Nr0)NF)�__name__�
__module__�__qualname__�__doc__r4�propertyZreal_columns�columnsr>rArDr*r,r.r5rJrKr?rFr'rNr[r\r]r^r_rrrr
r4sr	
f
	
-r)r)r)Z
__future__rrr:Z
dnf.pycomprLrrMrr7rrr�objectrrrrr
�<module>s

PK"�FZ.�/<<,cli/__pycache__/aliases.cpython-36.opt-1.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlZddlm	Z	ddl
ZddlZddl
Z
ddlZddlZe
jd�ZdZejjed�Zejjed	�ZGd
d�de�ZGdd
�d
e�ZdS)�)�absolute_import)�unicode_literals)�_N)�PRIO_DEFAULT�dnfz/etc/dnf/aliases.d/zALIASES.confz	USER.confc@s,eZdZdd�Zedd��Zedd��ZdS)�
AliasesConfigcCs$||_tjj�|_|jj|j�dS)N)�_path�libdnf�confZConfigParser�_parser�read)�self�path�r�/usr/lib/python3.6/aliases.py�__init__*szAliasesConfig.__init__cCsHtjjd�}y|jt|jj�dd�Wntk
r>YnX|j�S)NT�main�enabled)	r	r
�
OptionBool�setrrZgetData�
IndexError�getValue)r
�optionrrrr/szAliasesConfig.enabledcCsVtj�}d}|jj|�s|Sx4|jj|�D]$}|jj||�}|sBq*|j�||<q*W|S)N�aliases)�collections�OrderedDictrZ
hasSectionZoptionsr�split)r
�resultZsection�key�valuerrrr8szAliasesConfig.aliasesN)�__name__�
__module__�__qualname__r�propertyrrrrrrr)s	rc@sNeZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zdd
�Zdd�Z	dd�Z
d	S)�AliasescCsFtj�|_d|_d|_|j�r(d|_dS|j�|js:dS|j�dS)NTF)rrrr
r�_disabled_by_environ�
_load_main�
_load_aliases)r
rrrrGs
zAliases.__init__cCshtjjd�}y|jttjd�|j�Stk
r:dSt	k
rbt
jtd�tjd�dSXdS)NTZDNF_DISABLE_ALIASESFz@Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s)
r	r
rrr�os�environr�KeyError�RuntimeError�logger�warningr)r
rrrrr%WszAliases._disabled_by_environcCs�yt|�Stk
rB}ztjjtd�||f��WYdd}~Xn:tk
rz}ztjjtd�||f��WYdd}~XnXdS)NzParsing file "%s" failed: %szCannot read file "%s": %s)rr+r�
exceptions�ConfigErrorr�IOError)r
r�errr�
_load_confds"zAliases._load_confcCsVy|jt�|_|jj|_Wn6tjjk
rP}ztjt	d�|�WYdd}~XnXdS)NzConfig error: %s)
r2�ALIASES_CONF_PATHr
rrr.r/r,�debugr)r
r1rrrr&ns
zAliases._load_mainNcCs�|dkr.y|j�}Wntjjk
r,dSXxf|D]^}y"|j|�}|jrX|jj|j�Wq4tjjk
r�}ztj	t
d�|�WYdd}~Xq4Xq4WdS)NzConfig error: %s)�_dropin_dir_filenamesrr.r/r2rr�updater,r-r)r
�	filenames�filenamer
r1rrrr'us

zAliases._load_aliasescs�tjjt�tjjt�g��fdd�}g}yPtjjt�s@tjt�x4ttj	t��D]"}||�r^qP|j
tjjt|��qPWWn2tt
fk
r�}ztjj|��WYdd}~XnXtjjt�r�|j
t�|S)Ncs|�kp|jd�p|jd�S)N�.�.conf�.CONF)r:r;)�
startswith�endswith)r8)�ignored_filenamesrr�_ignore_filename�s
z7Aliases._dropin_dir_filenames.<locals>._ignore_filename)r(r�basenamer3�ALIASES_USER_PATH�exists�ALIASES_DROPIN_DIR�mkdir�sorted�listdir�append�joinr0�OSErrorrr.r/)r
r?r7�fnr1r)r>rr5�s 


zAliases._dropin_dir_filenamescs:g�g�_�fdd������fdd���|�}�j|S)NcsNd}x&|D]}|r |ddkr P|d7}q
W�j|d|�7_||d�S)Nr�-�)�prefix_options)�argsZnum�arg)r
rr�store_prefix�s
z&Aliases._resolve.<locals>.store_prefixcs��|�}|s*|d�jks*|djd�rry.�j�|djd�rV|ddd�|d<Wntk
rlYnX|S|d�kr�tjjtd����j|d���j|d�}|r�||dd�S�|dd��SdS)Nr�\rLz"Aliases contain infinite recursion)	rr<�poprrr.�ErrorrrG)rN�suffixZcurrent_alias_result)r
�stackrP�
subresolverrrV�s&
z$Aliases._resolve.<locals>.subresolve)rM)r
rNrTr)r
rUrPrVr�_resolve�szAliases._resolvecCsP|jrLy|j|�}Wn6tjjk
rJ}ztjtd�|�WYdd}~XnX|S)Nz%s, using original arguments.)rrWrr.rSr,�errorr)r
rNr1rrr�resolve�s"zAliases.resolve)N)r r!r"rr%r2r&r'r5rWrYrrrrr$Fs


/r$)Z
__future__rrZdnf.i18nrrZdnf.clirZdnf.conf.configrZdnf.exceptionsZlibdnf.confr	Zloggingr(Zos.pathZ	getLoggerr,rCrrHr3rA�objectrr$rrrr�<module>s 
PK"�FZDr
���'cli/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`��@sDddlmZddlZGdd�dejj�ZddlmZddl	m
Z
dS)�)�absolute_importNc@seZdZdZdS)�CliErrorzCLI Exception. :apiN)�__name__�
__module__�__qualname__�__doc__�rr�/usr/lib/python3.6/__init__.pyrsr)�Cli)�Command)Z
__future__rZdnf.exceptionsZdnf�
exceptions�ErrorrZdnf.cli.clir
Zdnf.cli.commandsrrrrr	�<module>sPK"�FZ2^���!�!6cli/__pycache__/completion_helper.cpython-36.opt-1.pycnu�[���3

i�-e/�@s<ddlZddlZddlZddlZdd�Zdd�ZGdd�dejjj	j
�ZGdd	�d	ejjjj
�ZGd
d�dejjjj�ZGdd
�d
ejjj�ZGdd�dejjjj�ZGdd�dejjjj�ZGdd�dejjjj�ZGdd�dejjjj�Zdd�Z e!dk�r8ye ej"dd��Wn e#k
�r6ej$d�YnXdS)�Ncst�fdd�|�S)Ncst|�j��S)N)�str�
startswith)�k)�kw��'/usr/lib/python3.6/completion_helper.py�<lambda>sz#filter_list_by_kw.<locals>.<lambda>)�filter)rZlstr)rr�filter_list_by_kwsr
cCstdd�|D��S)NcSsg|]}t|��qSr)r)�.0�xrrr�
<listcomp>!sz%listpkg_to_setstr.<locals>.<listcomp>)�set)�pkgsrrr�listpkg_to_setstr srcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�RemoveCompletionCommandcstt|�j|�dS)N)�superr�__init__)�self�args)�	__class__rrr$sz RemoveCompletionCommand.__init__cCsd|jj_d|jj_dS)NFT)�cli�demands�	root_user�sack_activation)rrrr�	configure's
z!RemoveCompletionCommand.configurecCs,x&tj|j|jj�D]}tt|��qWdS)N)�ListCompletionCommand�	installed�base�opts�	pkg_specs�printr)r�pkgrrr�run+szRemoveCompletionCommand.run)�__name__�
__module__�__qualname__rrr#�
__classcell__rr)rrr#srcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�InstallCompletionCommandcstt|�j|�dS)N)rr(r)rr)rrrr1sz!InstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrr�available_reposr)rrrrr4s

z"InstallCompletionCommand.configurecCsNttj|j|jj��}ttj|j|jj��}x||D]}tt|��q6WdS)N)	rrrrrr �	availabler!r)rrr*r"rrrr#9s

zInstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr(0sr(cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�ReinstallCompletionCommandcstt|�j|�dS)N)rr+r)rr)rrrrCsz#ReinstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrrFs

z$ReinstallCompletionCommand.configurecCsNttj|j|jj��}ttj|j|jj��}x||@D]}tt|��q6WdS)N)	rrrrrr r*r!r)rrr*r"rrrr#Ks

zReinstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr+Bsr+csHeZdZ�fdd�Zdd�Zedd��Zedd��Zed	d
��Z�Z	S)rcstt|�j|�dS)N)rrr)rr)rrrrTszListCompletionCommand.__init__cCs�|j}|jj}|jj}t|�dkrH|d|krHtdjt|d|���n�|dkr`|j|j	|�}n||dkrx|j
|j	|�}nd|dkr�|j|j	|�}nLt|j
|j	|��}t|j|j	|��}||B}|s�tdjt|d|���dSx|D]}tt
|��q�WdS)N��
rr*�updatesr)Z
pkgnarrowsrZpackagesZpackages_action�lenr!�joinr
rrr*r.rr)r�subcmdsr�actionrr*rr"rrrr#Ws&
zListCompletionCommand.runcCs |jj�j�jdj|d�d�S)Nz{}*r)�
name__glob)�sack�queryr�filterm�format)r�argrrrrnszListCompletionCommand.installedcCs |jj�j�jdj|d�d�S)Nz{}*r)r3)r4r5r*r6r7)rr8rrrr*rszListCompletionCommand.availablecCs|jdj|d�gdd�S)Nz{}*rF)Zprint_)Z
check_updatesr7)rr8rrrr.vszListCompletionCommand.updates)
r$r%r&rr#�staticmethodrr*r.r'rr)rrrSs
rcs$eZdZ�fdd�Zdd�Z�ZS)�RepoListCompletionCommandcstt|�j|�dS)N)rr:r)rr)rrrr|sz"RepoListCompletionCommand.__init__cCs�|j}|jdkr>tdjt|jddd�|jjj�D����nn|jdkrvtdjt|jddd�|jjj�D����n6|jdkr�tdjt|jdd	d�|jjj�D����dS)
N�enabledr-rcSsg|]
}|j�qSr)�id)r�rrrrr
�sz1RepoListCompletionCommand.run.<locals>.<listcomp>ZdisabledcSsg|]}|js|j�qSr)r;r<)rr=rrrr
�s�allcSsg|]
}|j�qSr)r<)rr=rrrr
�s)	rZrepos_actionr!r0r
ZreposrZiter_enabledr>)rrrrrr#s


zRepoListCompletionCommand.run)r$r%r&rr#r'rr)rrr:{sr:cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�UpgradeCompletionCommandcstt|�j|�dS)N)rr?r)rr)rrrr�sz!UpgradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrr�s

z"UpgradeCompletionCommand.configurecCs,x&tj|j|jj�D]}tt|��qWdS)N)rr.rrr r!r)rr"rrrr#�szUpgradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr?�sr?cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�DowngradeCompletionCommandcstt|�j|�dS)N)rr@r)rr)rrrr�sz#DowngradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrr�s

z$DowngradeCompletionCommand.configurecCs0x*tj|j|jj�j�D]}tt|��qWdS)N)rr*rrr Z
downgradesr!r)rr"rrrr#�szDowngradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr@�sr@cs$eZdZ�fdd�Zdd�Z�ZS)�CleanCompletionCommandcstt|�j|�dS)N)rrAr)rr)rrrr�szCleanCompletionCommand.__init__cCs0tjjjjj�}tdjt|j	j
d|���dS)Nr-r,)�dnfr�commands�cleanZ_CACHE_TYPES�keysr!r0r
r�type)rr1rrrr#�szCleanCompletionCommand.run)r$r%r&rr#r'rr)rrrA�srAcCs�tjjj�}tjj|�}|ddkrP|jgg|�tdjt|d|j���dS|jj	�|j
t�|j
t�|j
t
�|j
t�|j
t�|j
t�|j
t�|j
t�|j|�y|j�Wn&ttjjfk
r�tjd�YnXdS)NrZ_cmdsr-r,)rBrZBaseCliZCliZinit_pluginsr!r0r
Zcli_commands�clearZregister_commandrr(r+rr:r?r@rArr#�OSError�
exceptions�Error�sys�exit)rrrrrr�main�s(









rM�__main__r,)%Zdnf.exceptionsrBZdnf.cliZdnf.cli.commands.cleanrKr
rrrC�removeZ
RemoveCommandrZinstallZInstallCommandr(Z	reinstallZReinstallCommandr+ZListCommandrZrepolistZRepoListCommandr:ZupgradeZUpgradeCommandr?Z	downgradeZDowngradeCommandr@rDZCleanCommandrArMr$�argv�KeyboardInterruptrLrrrr�<module>s&
(	
PK"�FZdǦ-(�(�%cli/__pycache__/output.cpython-36.pycnu�[���3

�ft`Z�@s�dZddlmZddlmZddlmZddlZddlZddlZddlZ	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZddlmZmZmZmZmZmZmZmZddlmZmZmZm Z m!Z!dd	l"m#Z#dd
l$m%Z%ddl&Z'ddl(Z'ddl)Z'ddl*Z'ddl+Z'ddl,Z'ddlZ'ddl-Z'ddl.Z'ddl/Z'e
j0d�Z1dd
�Z2Gdd�de3�Z4Gdd�de'j5j6�Z7Gdd�de'j5j8�Z9Gdd�de#�Z:ddd�Z;dS)z"Handle actual output from the cli.�)�absolute_import)�print_function)�unicode_literalsN)�
format_number�format_time)�_�C_�P_�ucd�fill_exact_width�
textwrap_fill�exact_width�select_short_long)�xrange�
basestring�long�unicode�sys_maxsize)�TransactionDisplay)�MergedTransactionWrapper�dnfcCsrtj|ftjd��}t|�}|d}||}|s@tjd|�}n|rR|jd|�t|�}tt|f|g|���S)N��)r)�	itertools�chain�repeat�len�extend�iter�list�zip)Z
cols_countZlabel�lst�leftZ
lst_lengthZright_countZ
missing_itemsZlst_iter�r#�/usr/lib/python3.6/output.py�_spread_in_columns6s
r%c@s
eZdZdZdmZejd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Ze
dd��Zedd��Zedd��Zdndd�Ze
dd��Zdd�Zdodd�Zdpd!d"�Zdqd#d$�Zd%d&�Zd'd(�Zd)d*�Zdrd,d-�Zdsd.d/�Zdtd0d1�Zidifd2d3�Zdud4d5�Zd6d7�Z d8d9�Z!d:d;�Z"d<d=�Z#d>d?�Z$d@dA�Z%dvdBdC�Z&dwdDdE�Z'dxdFdG�Z(dHdI�Z)dJdK�Z*dydLdM�Z+dNdO�Z,dPdQ�Z-dRdS�Z.dTdU�Z/dVdW�Z0dzdXdY�Z1d{dZd[�Z2ge3�fd\d]�Z4gfd^d_�Z5e6d`�e6d`�e6da�e6db�e6dc�e6dd�e6de�e6df�e6dg�e6dh�e6di�dj�Z7gfdkdl�Z8dS)|�Outputz+Main output class for the yum command line.� �z	^\*{0,2}/cCs$||_||_tjjj�|_d|_dS)N)�conf�baser�cli�termZTerm�progress)�selfr*r)r#r#r$�__init__IszOutput.__init__cCs0|jj}dd|}|jt||�d�}|||fS)Nz%s�=r')r,�columns�
fmtColumnsr )r.�col_data�rowZ
term_widthZrule�headerr#r#r$�_bannerOszOutput._bannerc	Cszdd�|dD�}xF|D]>}x8t|�D],\}}||}t|�}|j|d�d||<q&WqW|j|ddd�}tttj|��S)NcSsg|]
}t��qSr#)�dict)�.0rr#r#r$�
<listcomp>Vsz&Output._col_widths.<locals>.<listcomp>rrz  )�indent)�	enumerater�get�calcColumnsr�map�operator�neg)	r.�rowsr3r4�i�valZcol_dctZlength�colsr#r#r$�_col_widthsUs
zOutput._col_widthscCs(d}d}|s�n�t|t�s$|dkr2|jjd}n�|dkr<n�x�|jdd�j�D]�}|dkr`d}qN||jjkr~||jj|7}qN||jjkr�||jj|7}qN|jd�r�|dd�|jjkr�||jj|dd�7}qN|jd�o�|dd�|jjkrN||jj|dd�7}qNW|�r |jjd}||fS)	Nr�bold�normal�,r'zfg:r(zbg:)	�
isinstancerr,ZMODE�replace�splitZFG_COLOR�
startswithZBG_COLOR)r.�	highlight�hibeg�hiendZhighr#r#r$�
_highlight`s0

zOutput._highlightcKs$|j|�\}}|jj||||f|�S)N)rPr,�sub)r.ZhaystackrMZneedles�kwdsrNrOr#r#r$�_sub_highlight}szOutput._sub_highlightcCs4d}x*|D]"}||d|kr P||d7}q
W|S)z; Spaces left on the current field will help how many pkgs? rrr#)�currentZ	data_tupsr"�ret�tupr#r#r$�_calc_columns_spaces_helps�s
z!Output._calc_columns_spaces_helpscCs|jjS)N)r*�history)r.r#r#r$rX�szOutput.historycCs|jjS)N)r*�sack)r.r#r#r$rY�szOutput.sackNrrcCs�t|�}|}dg|}x&td|�D]}t||j��||<q"W|dkrN|jj}|dkrndg|d}|jd�|s�g}	xDtd|�D]6}||}
|
r�|	j|
dd�q�|	j||d�q�W|	dt|�7<|jj}t	|	�|kr�|	S|}|t	|�|dt
|�8}|d�s|d7}�x�|dk�r�d}d}
xptd|�D]b}|j|||||�}|�s`�q<|�r�||dk�r�|d|k�r��q<||k�r��q<|}|}
�q<W|�r||
jd�d||
}||
�r�|
|dk�r�|d8}||
|7<||8}�qd}x*td|�D]}||�s"�q|d7}�qW|�rz||}x:td|�D],}||�s\�qJ|||7<||8}�qJW|d8}||}x$td|�D]}|||7<�q�W|||||7<d}�qW|S)a�Dynamically calculate the widths of the columns that the
        fields in data should be placed into for output.

        :param data: a list of dictionaries that represent the data to
           be output.  Each dictionary in the list corresponds to a
           column of output. The keys of the dictionary are the
           lengths of the items to be output, and the value associated
           with a key is the number of items of that length.
        :param columns: a list containing the minimum amount of space
           that must be allocated for each row. This can be used to
           ensure that there is space available in a column if, for
           example, the actual lengths of the items being output
           cannot be given in *data*
        :param remainder_column: number of the column to receive a few
           extra spaces that may remain after other allocation has
           taken place
        :param total_width: the total width of the output.
           self.term.real_columns is used by default
        :param indent: string that will be prefixed to a line of
           output to create e.g. an indent
        :return: a list of the widths of the columns that the fields
           in data should be placed into for output
        Nrr����r[)
r�range�sorted�itemsr,�real_columns�appendrr1�sumr
rW�pop)r.�datar1�remainder_column�total_widthr:rDZpdata�dZfull_columns�colZ
default_widthZhelpsrCZthelps�diffZoverflowed_columnsZnormr#r#r$r=�s�



"




zOutput.calcColumnscCs|dkrd|fSd|fS)z$Returns tuple of (align_left, width)rTFr#)�widthr#r#r$�_fmt_column_align_widths
zOutput._fmt_column_align_widthcCslt|�dkst|�dkst�t|�dkr8|\}}d}}t|�dkr\|\}}}|j|�\}}t|�|||fS)NrZr(r)r�AssertionErrorrPr
)r.r3rCrirNrOrMr#r#r$�	_col_datas
zOutput._col_datac
CsFt|�}t|�}g}x�|dd	�D]�}|j|�\}}}	}
|sP|d7}|j|�q"|j|�\}}t|�}||kr�|d7}|r�|j|	|d|||
g�q�|j|	d||||
g�n(|dd||d7}|j|	||
g�||7}|d7}q"W|j|d
�\}}}	}
|j|�\}}t||||	|
d�}|d|7}|j|�|t|�S)a.Return a row of data formatted into a string for output.
        Items can overflow their columns.

        :param columns: a list of tuples containing the data to
           output.  Each tuple contains first the item to be output,
           then the amount of space allocated for the column, and then
           optionally a type of highlighting for the item
        :param msg: a string to begin the line of output with
        :param end: a string to end the line of output with
        :return: a row of data formatted into a string for output
        Nrz%sz	%s%s%s%s r'z%s%s%s
)r"�prefix�suffixz%%s%sr[r[)	rrrlr`rjr
rr�tuple)
r.r1�msg�endrercr3rCrirNrOZ
align_leftZ	val_widthr#r#r$r2%s6


zOutput.fmtColumnsFcCsP|dkrd
}d||j|jf}|ddg}t||j|jf||�}t|j|��dS)a�Print a package as a line.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns are the package name, version,
           and repository
        N�(��z%s%s.%srG���������)rurvrw)�name�archr �evr�
_from_repo�printr2)r.�pkg�ui_overflowr:rMr1Zna�hi_colsr#r#r$�
simpleListTs
zOutput.simpleListc	CsN|dkrd}d|t|�f}|ddg}|j}t||f||�}t|j|��dS)	a(Print a package as a line, with the package itself in envra
        format so it can be passed to list/install/etc.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns the are the package envra and
           repository
        N�?rtz%s%srG�����)r�r�)r
�ui_from_repor r|r2)	r.r}r~r:rMr1ZenvrarZridr#r#r$�simpleEnvraListjs
zOutput.simpleEnvraListcCstt|j��dS)z.Print a package as a line containing its name.N)r|r
rx)r.r}r#r#r$�simple_name_list�szOutput.simple_name_listcCstt|��dS)z/Print a package as a line containing its NEVRA.N)r|r
)r.r}r#r#r$�simple_nevra_list�szOutput.simple_nevra_listcCs�t|�}|jj}|st}n|dkr&d}d|dd}|s>|St|�}t||||d�}|jd�dkr�||dkr�t|||d	d�}|S)
z�Return a key value pair in the common two column output
        format.

        :param key: the key to be formatted
        :param val: the value associated with *key*
        :return: the key value pair formatted in two columns for output
        �r'rZz: )riZinitial_indentZsubsequent_indent�
rr(z
     ...: )r
r,r_rr
r�count)r.�keyrCZkeylenrDZnxtrUr#r#r$�
fmtKeyValFill�s zOutput.fmtKeyValFillr0cCsht|�}|jjd}t|�}||dkr6|d}}n$|||d}|||t|�}d|||fS)a�Format and return a section header.  The format of the
        header is a line with *name* centered, and *fill* repeated on
        either side to fill an entire line on the terminal.

        :param name: the name of the section
        :param fill: the character to repeat on either side of *name*
          to fill an entire line.  *fill* must be a single character.
        :return: a string formatted to be a section header
        rZ�z%s %s %s)r
r,r1r
r)r.rxZfillrDZname_lenZbegrqr#r#r$�
fmtSection�s
zOutput.fmtSectioncs�dd�}�fdd�}g}�j|�\}}tdtdd�tdd��}|j||d	||j|f��|jrv|j|td
�|j��tdtdd�tdd��}|j|||j��|j|td�|j��tdtdd
�tdd��}|j|||j	��tdtdd�tdd��}|j||t
t|j����|j|td�|j
��tdtdd�tdd��}|j|||j��|j�r��jj|�}	|	�r�|j|td�|	���jj�r>|j|td�|j��|j|td�tjj|j���|j�r�|j|td�tjj|j����jj|�}
|
�r>yt|
jj��}Wntk
�r"d}YnX|j|td��j|���tdtdd�tdd��}|j|||j ��|j!�r�|j|td�t"|j!���|j|td�|j#��tdtdd�tdd��}|j|||j$��dj%|�S)z�Print information about the given package.

        :param pkg: the package to print information about
        :param highlight: highlighting options for the name of the
           package
        cSsdjt|dd�dt|�g�S)Nr'��:)�joinr�str)r�rCr#r#r$�format_key_val�sz)Output.infoOutput.<locals>.format_key_valcs�jt|dd�d|pd�S)Nr�z : r)r�r)r�rC)r.r#r$�format_key_val_fill�sz.Output.infoOutput.<locals>.format_key_val_fillr��short�Namerz%s%s%sZEpoch�VersionZRelease�Arch�Architecture�SizeZSource�Repo�
Repositoryz	From repoZPackagerZ	BuildtimezInstall timeNzInstalled byZSummaryZURLZLicenseZDescriptionr�)&rPrrr`rxZepochr�version�releaseryr�float�_sizeZ	sourcerpm�repoid�_from_systemrXZrepor)�verboseZpackagerr�utilZnormalize_timeZ	buildtimeZinstalltimeZpackage_data�int�_itemZgetInstalledBy�
ValueError�_pwd_ui_username�summary�urlr
�license�descriptionr�)r.r}rMr�r�Zoutput_listrNrOr�Zhistory_repoZhistory_pkg�uidr#)r.r$�
infoOutput�sh

zOutput.infoOutputc
Cs�|\}}|dk	rV|jj}|jtjkr,|jj}|j|||d�|j||d|jjd�dS|j�}d|j	|j
f}|j}	td||	||f�dS)	a{Print a simple string that explains the relationship
        between the members of an update or obsoletes tuple.

        :param uotup: an update or obsoletes tuple.  The first member
           is the new package, and the second member is the old
           package
        :param changetype: a string indicating what the change between
           the packages is, e.g. 'updates' or 'obsoletes'
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and repository
        N)r1rMr'r�)r1r:rMz%s.%sz%-35.35s [%.12s] %.10s %-20.20sz    )
r)�color_update_remote�reponame�hawkeyZSYSTEM_REPO_NAME�color_update_localr��color_update_installedZcompactPrintrxryr�r|)
r.ZuotupZ
changetyper1Z	changePkgZinstPkgZchiZ	c_compactZ	i_compactZc_repor#r#r$�updatesObsoletesLists
zOutput.updatesObsoletesListcCsl|dk�rht|�dk�r`td|�t�}|dkrbi}x"|D]}	|	|t|	�t|	j�<q<W|j�}x�t|�D]�}	|	j|	jf}
d}|
|kr�|j	dd	�}nD|	j
||
�r�|j	d
d	�}n(|	j||
�r�|j	dd�}n|j	d
d	�}|dkr�|j|	d||d�ql|dk�r|j
|j|	|d�d�ql|dk�r0|j|	�ql|dkrl|j|	�qlqlW|�r`tdjt|���t|�SdS)a�Prints information about the given list of packages.

        :param lst: a list of packages to print information about
        :param description: string describing what the list of
           packages contains, e.g. 'Available Packages'
        :param outputType: The type of information to be printed.
           Current options::

              'list' - simple pkg list
              'info' - similar to rpm -qi output
              'name' - simple name list
              'nevra' - simple nevra list
        :param highlight_na: a dictionary containing information about
              packages that should be highlighted in the output.  The
              dictionary keys are (name, arch) tuples for the package,
              and the associated values are the package objects
              themselves.
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and
           repository
        :param highlight_modes: dictionary containing information
              about to highlight the packages in *highlight_na*.
              *highlight_modes* should contain the following keys::

                 'not_in' - highlighting used for packages not in *highlight_na*
                 '=' - highlighting used when the package versions are equal
                 '<' - highlighting used when the package has a lower version
                       number
                 '>' - highlighting used when the package has a higher version
                       number
        :return: number of packages listed
        r�inforx�nevrarz%sFznot inrGr0�>rF�<T)r~rMr1)rMr�N)rr�rxr�)rr|�setr�r{�valuesr]rxryr<Zevr_eqZevr_ltr��addr�r�r�r�)r.r!r�Z
outputTypeZhighlight_nar1Zhighlight_modesZinfo_setZunique_item_dictr}r�rMr#r#r$�listPkgs3s@'



zOutput.listPkgscCs2ttd��ttd��f}ttd��ttd��f}||}x�|dkrJtd�}d}|jjrl|dkrhtd�}n|}ytjj|�}Wn.tk
r�Yntk
r�|d	}YnXt|�j	�}t
|�d	kr�|jjr�|d	n|d	}||kr�Pd|ko�d|k�r|d	}Pd|kr:d|kr:|d	}Pq:W||k�r.d
SdS)z�Get a yes or no from the user, and default to No

        :msg: String for case with [y/N]
        :defaultyes_msg: String for case with [Y/n]
        :return: True if the user selects yes, and False if the user
           selects no
        �y�yes�n�noNzIs this ok [y/N]: rzIs this ok [Y/n]: rTF)r
rr)Z
defaultyesrZi18nZ	ucd_input�EOFError�KeyboardInterrupt�lowerr)r.rpZdefaultyes_msgZyuiZnuiZauiZchoicer#r#r$�userconfirm�s>

zOutput.userconfirmcCs~|jj�j�j�}|jj�j�j�}i}xPtjtt|��d�D]6}||kr^||d||<q@||kr@||d||<q@W|S)Nrr)	rY�query�	installedZ
_name_dict�	availablerrrr )r.�sectionsr�r�rf�pkg_namer#r#r$�_pkgs2name_dict�szOutput._pkgs2name_dictc	Cs�i}i}x~tjtt|��d�D]d}|j|�}|dkr8q tt|��t|j�}tt|j��}|j|d�d||<|j|d�d||<q W||fS)Nrr)	rrrr r<r
r
�GRP_PACKAGE_INDENTr�)	r.r��	name_dictZ
nevra_lengthsZrepo_lengthsr�r}Znevra_lZrepo_lr#r#r$�_pkgs2col_lengths�s
zOutput._pkgs2col_lengthscCs$x|D]}td|j|f�qWdS)Nz%s%s)r|r�)r.�	pkg_namesrxr#r#r$�_display_packages�s
zOutput._display_packagescCspxj|D]b}y||}Wn(tk
r>td|j|f�wYnXd}|jsR|jj}|j|d|j||d�qWdS)Nz%s%sFT)r~r:rMr1)�KeyErrorr|r�r�r)Zcolor_list_available_installr�)r.r�r�r1rxr}rMr#r#r$�_display_packages_verbose�s
z Output._display_packages_verbosec
Csldd�}tdtd�|j�|jj}|r@ttd�t|j��|jr`ttd�t|j�p\d�|jrxttd�|j�td	�||j	�ftd
�||j
�ftd�||j�ftd�||j�ff}|�r0|j
|�}|j||�}|j|�}|d
|df}xp|D].\}}	t|	�dk�rq�t|�|j|	||�q�Wn8x6|D].\}}	t|	�dk�rP�q6t|�|j|	��q6WdS)z�Output information about the packages in a given group

        :param group: a Group object to output information about
        cSstdd�|D��S)Ncss|]}|jVqdS)N)rx)r8r}r#r#r$�	<genexpr>�sz?Output.display_pkgs_in_groups.<locals>.names.<locals>.<genexpr>)r])�packagesr#r#r$�names�sz,Output.display_pkgs_in_groups.<locals>.namesr�z	Group: %sz
 Group-Id: %sz Description: %srz
 Language: %sz Mandatory Packages:z Default Packages:z Optional Packages:z Conditional Packages:rrN)r|r�ui_namer)r�r
�id�ui_descriptionZ	lang_onlyZmandatory_packagesZdefault_packagesZoptional_packagesZconditional_packagesr�r�r=rr�r�)
r.�groupr�r�r�r�Zcol_lengthsr1�section_namer�r#r#r$�display_pkgs_in_groups�s8

zOutput.display_pkgs_in_groupscCs�dd�}ttd�|j�|jjr8ttd�t|j��|jr\t|j�pJd}ttd�|�td�||j�ftd�||j	�ff}x0|D](\}}t
|�d	kr�q�t|�|j|�q�Wd
S)z�Output information about the packages in a given environment

        :param environment: an Environment object to output information about
        cSstdd�|D��S)Ncss|]}|jVqdS)N)rx)r8r�r#r#r$r�	szFOutput.display_groups_in_environment.<locals>.names.<locals>.<genexpr>)r])�groupsr#r#r$r�sz3Output.display_groups_in_environment.<locals>.nameszEnvironment Group: %sz Environment-Id: %srz Description: %sz Mandatory Groups:z Optional Groups:rN)r|rr�r)r�r
r�r�Zmandatory_groupsZoptional_groupsrr�)r.Zenvironmentr�r�r�r�r�r#r#r$�display_groups_in_environmentsz$Output.display_groups_in_environmentcsVd���fdd�	����fdd�}�jjr4d�}nd�j�jf}�j|�jpRd�}�r|�d	krj�jj��j|��d
d�}t|�|d	kr��jj	}|s�d	Stt
d��j�d}d}	�xXt|�D�]J}
�j|
kr�d
}	qˆj
|
k�rt
d
�}�||
|d
d�d
}qˆj|
k�r,t
d�}�||
|dd�d
}qˆj|
k�rVt
d�}�||
|dd�d
}q�||
|��rhd
}q�t
d�}x��jD]�}t|�}tj||
��r��|||dd�d
}n`|j�d}
td��t�fdd�|
D���r�|
j�d}n|
}tj|
|��rx�|||dd�d
}�qxWq�Wt||	g��sLx*t|�D]}
t
d�}�||
|dd��q*Wt�d	S)a�Output search/provides type callback matches.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        :param verbose: whether to output extra verbose information
        :param highlight: highlighting options for the highlighted matches
        Fcsd|sttd��t|�pd}|dkr(dS�r>�j|��dd�}|rTt�j||��nt||�dS)Nz
Matched from:rT)�ignore_case)r|rr
rSr�)r��itemZprinted_headline�can_overflow)rM�matchforr.r#r$�print_highlighted_key_item'sz8Output.matchcallback.<locals>.print_highlighted_key_itemcsT�jj|�sdStd�}d}x2�jD](}tj||�r$�|||p@|dd�d}q$W|S)NFzFilename    : %s)r�T)�FILE_PROVIDE_RE�matchr�files�fnmatch)r��
printed_matchr�Z
file_match�filename)�por�r.r#r$�print_file_provides4sz1Output.matchcallback.<locals>.print_file_providesz%s : z%s.%s : rNT)r�zRepo        : %szDescription : )r�zURL         : %szLicense     : %szProvide    : %srz=<>c3s|]}|�kVqdS)Nr#)r8�char)�possibler#r$r�psz'Output.matchcallback.<locals>.<genexpr>zOther       : %s)F)r)Zshowdupesfromreposrxryr�r�Zcolor_search_matchrSr|r�rr�r�r�r�r�Zprovidesr�r�rK�any)r.r�r�r�r�rMr�rpr�Z
name_matchr�r�ZprovideZ
first_provideZitem_newr#)rMr�r�r�r�r.r$�
matchcallbacksp


zOutput.matchcallbackcCs|j|||dd�S)aqOutput search/provides type callback matches.  This will
        output more information than :func:`matchcallback`.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        T)r�)r�)r.r�r�r�r#r#r$�matchcallback_verboses
zOutput.matchcallback_verbosec
Csd}d}d}d}x�|D]�}yrt|j�}||7}y|j�r@||7}Wntk
rVYnX|s^wyt|j�}Wntk
r�YnX||7}Wqtk
r�d}td�}	tj|	�PYqXqW|�s|r�tjtd�t	|��||k�r�tjtd�t	||��|�rtjtd�t	|��dS)	z�Report the total download size for a set of packages

        :param packages: a list of package objects
        :param installonly: whether the transaction consists only of installations
        rFTz2There was an error calculating total download sizezTotal size: %szTotal download size: %szInstalled size: %sN)
r�r�ZverifyLocalPkg�	ExceptionZinstallsizer�logger�errorr�r)
r.r�Zinstallonly�totsizeZlocsizeZinsizer�r}�sizerpr#r#r$�reportDownloadSize�sD






zOutput.reportDownloadSizecCsrd}d}xL|D]D}y|j}||7}Wqtk
rPd}td�}tj|�PYqXqW|sntjtd�t|��dS)zmReport the total size of packages being removed.

        :param packages: a list of package objects
        rFTz-There was an error calculating installed sizezFreed space: %sN)r�r�rr�r�r�r)r.r�r�r�r}r�rpr#r#r$�reportRemoveSize�s

zOutput.reportRemoveSizecCs*|sdSg}g}|jr$|jtd��xJ|jD]@}t|j|��}|j|�}|rR|jn|}	|jtdd|	|��q,W|j	r�|jtd��x@|j	D]6}t|j
|��}|jj|�j}	|jtdd|	|��q�W|�r |j
|�}
x$|D]}|j|jt||
�d��q�W|j|
td�td�ddf�|d	d	�<d
j|�S)Nz+Marking packages as installed by the group:r��@z)Marking packages as removed by the group:r'ZGroup�Packagesrrr�)Z
new_groupsr`rrZadded_packagesZ_group_by_idr�rr%Zremoved_groupsZremoved_packagesr�r<rEr2r r6r�)r.�compsrXrh�outrAZgrp_idZpkgsZgroup_objectZgrp_namer3r4r#r#r$�list_group_transaction�s.


$zOutput.list_group_transactioncQs�tjtjBtjBtjBtjBtjB}t�}t�}|dkr<g}tj	j
|�}g}iiid�}d}	gf�fdd�	}
tjjr|t
d�nt
d�}�xPtdd	�|jftdd
�|jftdd�|jf||jft
d�|jft
d
�|jft
d�|jft
d�|jft
d�|jftdd�|jfg
D]�\}}
g}i}xL|D]D}|jtjjk�r6�qx(|jj�D]}|j|t��j |��qBW�qWx\t!|
dd�d�D]H}|jtjj"tjj#gk�r��qxt!|j$|jg��}|
|||	|j%|�}	�qxW|j&||f��qWt!t'�jj(j)��j*��}|�rXt
d�}g}xF|D]>\}}x2t+|�D]&}|j&d||fddddddf��qW�qW|j&||f�t!t'�jj(j,��j*��}|�r�t
d�}g}xF|D]>\}}x2t+|�D]&}|j&d||fddddddf��q�W�q�W|j&||f�t!t'�jj(j-��j*��}|�r<t
d�}g}x*|D]"\}}|j&|d|ddddf��qW|j&||f�t!t'�jj(j.��j*��}|�r�t
d�}g}x:|D]2\}}|j&|dd|d|dfddddf��qlW|j&||f�t!t+�jj(j/���}|�rt
d�}g}x&|D]}|j&|ddddddf��q�W|j&||f�t!t+�jj(j0���}|�rht
d�}g}x&|D]}|j&|ddddddf��q8W|j&||f��jj1�rNdd �}�jj1j2j3}|�r�t
d!�}g}x |j4�D]}|j&||���q�W|j&||f��jj1j2j5} | �rt
d"�}g}x | j4�D]}|j&||���q�W|j&||f��jj1j2j6}!|!�rdt
d#�}g}x |!j4�D]}|j&||���q>W|j&||f��jj1j7j3}"|"�r�t
d$�}g}x |"j4�D]}|j&||���q�W|j&||f��jj1j7j5}#|#�rt
d%�}g}x |#j4�D]}|j&||���q�W|j&||f��jj1j7j6}$|$�rNt
d&�}g}x |$j4�D]}|j&||���q(W|j&||f��j8j9�rv�jj:j;|@�rvg}�jj<d'|d(�\}}t'd)d*�|D��}x"t!|�D]}%|
|||	|%g�}	�q�Wd+g}&�jj=�s�|&j&d,�t
d-�d.j>|&�}'d/d0�|D�}|j&|'|f�g}x*t!|j*��D]\}(}%|
|||	|%g�}	�qWt
d1�}'�jj8j?�rN|'d}'n|'t
d2�}'d3d0�|D�}|j&|'|f��j@jA})|d4�rˆjj(jB��rˆjj1�o��jj1j7�p��jj1j2�r�dS|d4i|d5|d6ig}d|	ddd7g}*�jC|d8|*d9|d:�}*|*\}+}	},}-}.tD|*�d7}/|)|/k�r&|)n|/})tE|+td;d<�td=d<��}0tE|	td;d>�td=d?��}1tE|,td;d@�td=d@��}2tE|-td;dA�td=dB��}3tE|.td;dC�td=dC��}4dDdE|)�jF|0|+f|1|	f|2|,f|3|-f|4|.ffd.�dE|)fg}5x�|D]�\}}|�	rdF|}6x�|D]�\}7}8}9}:};}<}=|7|+|=f|8|	f|9|,f|:|-f|;|.ff}*�jF|*d.dG�}>�jG�j8jH�\}?}@xBt!|<�D]6}AdHt
dI�dJ}B|B|?|AjI|@|AjJ|AjKf;}B|>|B7}>�	qrW|6|>}6�	q
W|�r�|5j&|6��q�W|5j&t
dK�dE|)�t
dL�tL|j�tL|j�tL|j�tL|j�dft
dM�tL|j�dft
dN�tL|j�tL|j�tL|j�dft
dO�tL|j�dft
dP�tL|�tL|�dff}Cd}Dd}Ed}Fd}Gx�|CD]�\}}H}I|H�
r�|I�
r��
q�tMd<dQ|H�}JtN|�}KtNtO|H��}LtN|J�}M|I�
r�tNtO|I��}Nnd}NtP|K|D�}DtP|L|E�}EtP|M|F�}FtP|N|G�}G�
q�Wx�|CD]�\}}H}ItMd<dQ|H�}J|I�r�tMdRdS|I�}OtQ||D�}P|H�r�dT}>|5j&|>|P|E|HdU|F|Jf|G|I|Of�n$dV}>|5j&|>|P|E|Fd.|G|I|Of�n&|H�r$dW}>|5j&|>tQ||D�|E|H|Jf��q$Wdj>|5�S)Xz]Return a string representation of the transaction in an
        easy-to-read format.
        N)r��v�rrcs�|j\}}}}}	|j}
|j}t|j�}|dkr2d}|jrB�jj}
n|jrR�jj	}
n�jj
}
|j|||
||||
f�xRdt|�fdt|
�fdt|�ffD],\}}||j
|d�|||d7<q�Wt|t|��}|S)NZnoarchr�r�r�rr)Zpkgtuprzr{rr�r�r)r�Z
_from_cmdliner�r�r`r�
setdefault�max)�linesrc�a_widr��	obsoletesr��a�er�r�rzr�r��hirf)r.r#r$�	_add_line�s"


,z*Output.list_transaction.<locals>._add_linez Installing group/module packageszInstalling group packagesr�Z
InstallingZ	UpgradingZReinstallingzInstalling dependencieszInstalling weak dependenciesZRemovingzRemoving dependent packageszRemoving unused dependenciesZDowngradingcSs|jS)N)r})�xr#r#r$�<lambda>4sz)Output.list_transaction.<locals>.<lambda>)r�zInstalling module profilesz%s/%srzDisabling module profileszEnabling module streamszSwitching module streamsz%s -> %srzDisabling moduleszResetting modulescSs&|j�}|r|ntd�ddddddfS)Nz<name-unset>r)ZgetNamer)r�rxr#r#r$�format_lineqsz,Output.list_transaction.<locals>.format_linezInstalling Environment GroupszUpgrading Environment GroupszRemoving Environment GroupszInstalling GroupszUpgrading GroupszRemoving GroupsT)Zreport_problems�transactioncss|]}t|�|fVqdS)N)r�)r8r}r#r#r$r��sz*Output.list_transaction.<locals>.<genexpr>z--bestz--allowerasingzSSkipping packages with conflicts:
(add '%s' to command line to force their upgrade)r'cSsg|]}|dd�d�qS)Nrrr[)rr#)r8rBr#r#r$r9�sz+Output.list_transaction.<locals>.<listcomp>z,Skipping packages with broken dependencies%sz or part of a groupcSsg|]}|dd�d�qS)Nrrr[)rr#)r8rBr#r#r$r9�sr�r�r��z  rZ)r:r1rdrer�ZPackagerr�r�r�r�r�r�z	%s
%s
%s
r0z%s:
r�z     Z	replacingz  %s%s%s.%s %s
z
Transaction Summary
%s
�Install�UpgradeZRemove�	DowngradeZSkipr�zDependent packagezDependent packagesz%s  %*d %s (+%*d %s)
z%-*sz%s  %s  ( %*d %s)
z%s  %*d %s
)Rr�ZUPGRADEZUPGRADE_ALLZDISTUPGRADEZDISTUPGRADE_ALLZ	DOWNGRADE�INSTALLr�rr�Z_make_listsr*ZWITH_MODULESrrr�ZupgradedZreinstalledZinstalled_groupZ
installed_depZinstalled_weakZerasedZ
erased_depZerased_cleanZ
downgraded�action�libdnfr	ZTransactionItemAction_OBSOLETEDr�Z
getReplacedByr�r�r]ZFORWARD_ACTIONSZTransactionItemAction_REMOVEr<r}r`r7Z_moduleContainerZgetInstalledProfilesr^rZgetRemovedProfilesZgetEnabledStreamsZgetSwitchedStreamsZgetDisabledModulesZgetResetModulesZ_history�envZ
_installedr�Z	_upgradedZ_removedr�r)ZbestZ_goal�actionsZ_skipped_packagesZ_allow_erasingr�Zupgrade_group_objects_upgrader,r1Z	isChangedr=rarr2rPr�rxryrzrr	r
rr�r)Qr.r	reZforward_actionsZskipped_conflictsZskipped_brokenZ
list_bunchZ
pkglist_linesrcrrZ
ins_group_msgrZpkglistr�Zreplaces�tsirBZ	obsoletedZinstalledProfilesrxZprofilesZprofileZremovedProfilesZenabledStreams�streamZswitchedStreamsZdisabledModulesZresetModulesrZinstall_env_groupr�Zupgrade_env_groupZremove_env_groupZ
install_groupZ
upgrade_groupZremove_groupr}ZrecommendationsZskip_strr�Zoutput_widthr1Zn_widZv_widZr_widZs_widZ
real_widthZmsg_packageZmsg_archZmsg_versionZmsg_repositoryZmsg_sizer�Ztotalmsgr�rrzr�r�rrrprNrOZobspoZappendedZsummary_dataZmax_msg_actionZ
max_msg_countZmax_msg_pkgsZmax_msg_depcountr�ZdepcountZmsg_pkgsZlen_msg_actionZ
len_msg_countZlen_msg_pkgsZlen_msg_depcountZmsg_deppkgsZ
action_msgr#)r.r$�list_transaction�s�$
 ,,.





$







zOutput.list_transactionc
s��fdd�}|sdSg}g}|jdj|��x|D]}|jt|��q2Wxd
D]}|||�}|rNPqNW|sz�jjdg}xD|r�|dt|��}	|jdj�jt|	|����|t|�d�}q|W|S)Ncs�t|�|krgS�jj|dd}|dkr0gSdg|}d}x`|D]X}t|�||kr�t|�||}||krtgS||8}t|�||<|d7}|t|�;}qDWx8tt|��D](}||||7<||d9<q�W|S)zb Work out how many columns we can use to display stuff, in
                the post trans output. rrZrr[)rr,r1r\)�msgs�numr"Zcol_lensrgrprh)r.r#r$�
_fits_in_colsKs(

z+Output._pto_callback.<locals>._fits_in_colsrz{}:���r
r�r(rZz  {})rrrr
r�r(rZ)r`�formatr�r,r1rr2r )
r.rZtsisrr�rrrrDZcurrent_msgsr#)r.r$�
_pto_callbackHs&


zOutput._pto_callbackcCstjj|j||j�S)z{
        Return a human-readable summary of the transaction. Packages in sections
        are arranged to columns.
        )rr�Z_post_transaction_outputr*r)r.r	r#r#r$�post_transaction_outputzszOutput.post_transaction_outputcCs@d}|jjdkr6tjjjtjd�}tjjjtjd�|_|t�fS)z_Set up the progress callbacks and various
           output bars based on debug level.
        NrZ)Zfo)	r)Z
debuglevelrr+r-ZMultiFileProgressMeter�sys�stdout�DepSolveProgressCallBack)r.�progressbarr#r#r$�setup_progress_callbacks�s
zOutput.setup_progress_callbackscCsz|dkrdS|jj}tjd|�tdtj�|�}dt||�t|�t|�f}tt	d�|t
|��|}tj|�dS)a!Outputs summary information about the download process.

        :param remote_size: the total amount of information that was
           downloaded, in bytes
        :param download_start_timestamp: the time when the download
           process started, in seconds since the epoch
        rN�-g{�G�z�?z %5sB/s | %5sB %9s     ZTotal)r,r1r�r�r��timerrrrr)r.Zremote_sizeZdownload_start_timestampriZdl_timerpr#r#r$�download_callback_total_cb�s
z!Output.download_callback_total_cbcCs�t�}t�}d}xD|D]<}|jtjjtjjfkr2q|j|j�|j|j�|d7}qWt	|�dkrt|dj
t|��fS|dj
t|��fS)Nrrz, r)
r�rrr	ZTransactionItemAction_UPGRADEDZ TransactionItemAction_DOWNGRADEDr��action_nameZaction_shortrr�r]r)r.ZhpkgsrZ
actions_shortr�r}r#r#r$�_history_uiactions�s
zOutput._history_uiactionsc	st|t�r��fdd�|D�S|dks.|dkrftd�}td�d|}�dk	r^t|��kr^|}t|�Sdd	�}yrtjt|��}|t|j�d
d�}t|j	�}d||f}�dk	r�t|��kr�d
||�|f}t|��kr�d|}|St
k
�r�t|�SXdS)Ncsg|]}�j|���qSr#)r�)r8�u)�limitr.r#r$r9�sz+Output._pwd_ui_username.<locals>.<listcomp>�����z<unset>ZSystemr'cWs|j|�}|sdS|dS)zf Split gives us a [0] for everything _but_ '', this function
                returns '' in that case. rr)rK)�text�argsrUr#r#r$�
_safe_split_0�s
z.Output._pwd_ui_username.<locals>._safe_split_0�;rZz%s <%s>z%s ... <%s>z<%s>)r+r,)rIrrrr
�pwd�getpwuidr�Zpw_gecosZpw_namer�)	r.r�r*Zloginidrxr/�user�fullnameZ	user_namer#)r*r.r$r��s*

zOutput._pwd_ui_usernamec
Csz|jj|�}|jjdkr"ddg}nf|jjdkr6dg}nR|jjdksFt�t�}d}d}x2|D]*}|d7}|jdkrx|d7}|j|j�qZWd}t	|�dkr�t
d	�}	|jj}
|
dkr�t
jjjd�}
|
dkr�d
}
|
dkr�|
dnd
}nt
d
�}	d
}t|tt
d�dd�t|	||�tt
d�dd�tt
d�dd�tt
d�dd�f�d#|dddddd}td|�d}|dk�r|t|�}x�|D]�}t	|�dk�r�|j�p�d}	n|j|jd
�}	t|	�}	tjdtj|j��}
|j|j��\}}t|	||�}	t|dd�}d}}|jdk�rd}}n"|j�r&d}}n|j�r6d}}|j�rBd }|j�rNd!}t||j|	|
||fd"||f��q�WdS)$z�Output a list of information about the history of yum
        transactions.

        :param tids: transaction Ids; lists all transactions if empty
        ZusersrrZZcommandszsingle-user-commandsrNz%s | %s | %s | %s | %szCommand line��O�7z	User nameZIDrz
Date and timertz	Action(s)�ZAlteredrr(r$z%6u | %s | %-16.16s | %s | %4uTrz%Y-%m-%d %H:%Mr'�*�#�Er�r�z%s%s�	) rX�oldr)Zhistory_list_viewrkr��cmdliner��loginuidrrr,r_rr+Z_real_term_widthr|r�reversedr�r
r%�strftime�	localtime�
beg_timestampr(rc�return_codeZ	is_output�altered_lt_rpmdb�altered_gt_rpmdb�tid)r.�tids�reverse�transactionsZuids�doneZblanksr	�fmtrxZ	real_colsZ
name_widthZtable_widthZtmrZuiactsZrmarkZlmarkr#r#r$�historyListCmd�sr



 



zOutput.historyListCmdcCst|�}|jj�}|dkr8tjtd��tjjtd���|j	}|j
}g}|sz|jjdd�}|dk	r�|j|j	�|j|�n|jj
|�}|s�tjtd��tjjtd���d
\}}	d}
d}|r�t|�}|j�\}}	�x|D]�}|dk	o�|j	|k�r|jj�}
|jt|
��d}d}|j	|k�rL|j	|	k�rL|
dk�r<t|�}
n
|
j|�d}n`|
dk	�r�|�rhtd	d
�d}|j|
�d}
|�r�|j�\}}	|j	|k�r�|j	|	k�r�|}
d}|s�|�r�td	d
�d}|j||�q�W|
dk	�r�|�r�td	d
�|j|
�dS)z�Output information about a transaction in history

        :param tids: transaction Ids; prints info for the last transaction if empty
        :raises dnf.exceptions.Error in case no transactions were found
        NzNo transactionszFailed history infoF)Zcomplete_transactions_onlyz$No transaction ID, or package, givenrTr$r6r[r[)r[r[)r�rX�lastr��criticalrr�
exceptions�ErrorrG�end_rpmdb_versionr�r`r=r]rbrYZ_rpmdb_versionZcompare_rpmdbvr�r�merger|�_historyInfoCmd)r.rH�patsZmtidsrNZlasttidZlastdbvrJZbmtidZemtidZmobjrKZtransZrpmdbvZmergedr#r#r$�historyInfoCmd#sl







zOutput.historyInfoCmdcs||j}t|t�r|g}�fdd�|D�}td�td�td�td�d��td�td�td	�td
�d��tdd�t�j��t�j��D��}|�d<|�d<d4���fdd�	}|j�}t|�dkr�t	td�d|d|d5f�nt	td�|d�t
|j�}tj
dtj|��}	t	td�|	�|jdk	�rT|j�rDt	td�|jd�nt	td�|j�|jdk	�r�|j}
tj
dtj|
��}|
|}|d6k�r�td�|}nH|d8k�r�td�|d}n,|d;k�r�td�|d<}ntd�|d>}t	td �||�|jdk	�r(|j�rt	td!�|jd�nt	td!�|j�t|ttf��rvt�}
xD|D],}||
k�rV�qD|
j|�t	td"�|��qDWnt	td"�|�t|jttf��r|j}|ddk�r�t	td#�dtd$�d�|dd�}nHt|��s�t	td#�td%��n*|�rnt	td#�td&�d'jd(d�|D���nV|jdk�r<t	td#�dtd$�d�n2|j�r\t	td#�td)�|j�nt	td#�td%��t|jttf��r�t�}
x(|jD]}||
k�r��q�|
j|��q�Wt	td*�|�nt	td*�|j�|jdk	�r t|jttf��rx0|jD]}t	td+�|��q�Wnt	td+�|j�|jdk	�rpt|jttf��r`x0|jD]}t	td,�|��qFWnt	td,�|j�|j�}|�r�t	td-��d}x(|D] }tt|��}||k�r�|}�q�Wx|D]}||d.d|d/��q�Wt	td0���j||�|j �}|�r4t	td1��d}x$|D]}|d7}t	d2||��qW|j!�}|�rxt	td3��d}x$|D]}|d7}t	d2||��qXWdS)?Ncsg|]}�j|��qSr#)r�)r8r�)r.r#r$r9tsz*Output._historyInfoCmd.<locals>.<listcomp>Z	InstalledZErased�Upgraded�
Downgraded)rBr�or�z
Not installedZOlderZNewercSsg|]}t|��qSr#)r)r8rr#r#r$r9zs�maxlenFrTc	s�d|}|r�}n�}|d}�jj�j�j|jd�j�}	|	sH|d}nB�jj|	d�}
|
r�|j|
�}|dkrpn|dkr�|d}n|d}|r��j	d�\}}
n�j	d	�\}}
t
||d
�}d}|r�|j�}td||||
|t
|�|f�dS)
Nr'rB)rxrrrYr�rFrGrZrz%s%s%s%s %-*s %s)rYr�r�ZfiltermrxZrunrX�packageZcomparerPrr�r|r�)r}Z
prefix_len�
was_installedrM�pkg_max_lenZ	show_repormZ_pkg_states�stateZipkgsZinst_pkg�resrNrOZui_repo)�_pkg_states_available�_pkg_states_installedr.r#r$�_simple_pkg~s2


z+Output._historyInfoCmd.<locals>._simple_pkgrzTransaction ID :z%u..%uz%czBegin time     :zBegin rpmdb    :z**r
�<z(%u seconds)z(%u minutes)r5z
(%u hours)z	(%u days)zEnd time       :zEnd rpmdb      :zUser           :zReturn-Code    :ZAbortedZSuccessz	Failures:z, cSsg|]}t|��qSr#)r�)r8rBr#r#r$r9�szFailure:zReleasever     :zCommand Line   :zComment        :zTransaction performed with:r�)r\r]zPackages Altered:zScriptlet output:z%4dzErrors:)FFrTr[i,i,iPFi,iPFi��iii�Q)"r?rIr�rr�rr�rHrr|r�rCr%rArBZbeg_rpmdb_versionrEZ
end_timestamprRrFror�r�rD�allr�Z
releaseverr>�commentZperformed_withr��historyInfoCmdPkgsAltered�outputr�)r.r=rUr?rxrZrbrHZbegtZbegtmZendtZendtmrh�seenrBZcodesr>reZ	perf_withZmax_lenZwith_pkgZstr_lenZt_outr�lineZt_errr#)r`rar.r$rTps�
( 







&






zOutput._historyInfoCmdrzDep-Install�	Obsoleted�
Obsoleting�Erase�	Reinstallr
rXrrW)zTrue-InstallrzDep-Installrjrkrlrmr
rXZUpdateZUpdatedc

s�|j}d}d}|j�}xH|D]@�|j�j�j�}|t|�krDt|�}tt���}||kr|}qWx�|D]��d}	�jtjj	kr�d}	d}
|r�t
�fdd�|D��r�d}
|j|
�\}}|j�j�j�}tt
|�|�}td	|	||||t���j�f�qfWd
S)aPrint information about how packages are altered in a transaction.

        :param old: the :class:`DnfSwdbTrans` to
           print information about
        :param pats: a list of patterns.  Packages that match a patten
           in *pats* will be highlighted in the output
        rr'r�z ** rGcsg|]}�j|��qSr#)r�)r8Zpat)r}r#r$r9Bsz4Output.historyInfoCmdPkgsAltered.<locals>.<listcomp>rFz%s%s%s%s %-*s %sNz    )�_history_state2uistater�r<r'rr�r^rr	ZTransactionItemState_DONEr�rPrr
r|r�)
r.r=rUZall_uistatesrZr]r�ZuistateZpkg_lenrmrMrNrOr#)r}r$rf"s2

z Output.historyInfoCmdPkgsAlteredz   )NrNr)rr)FrFN)FrFN)r0)F)N)NN)NNN)N)F)N)N)F)9�__name__�
__module__�__qualname__�__doc__r��re�compiler�r/r6rErPrS�staticmethodrW�propertyrXrYr=rjrlr2r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr#r&r(r�rMr�rVrTrrnrfr#r#r#r$r&Cs�




/



V
$N
-
'
c

/
_2
"
MM'r&c@s(eZdZdZdd�Zdd�Zdd�ZdS)	r!zGProvides text output callback functions for Dependency Solver callback.cCs�d}|dkrtd�}n||dkr(td�}nj|dkr:td�}nX|dkrLtd	�}nF|d
kr^td�}n4|dkrptd
�}n"|dkr�td�}n|dkr�td�}|r�tj||j|j|j�dS)a�Print information about a package being added to the
        transaction set.

        :param pkgtup: tuple containing the package name, arch,
           version, and repository
        :param mode: a short string indicating why the package is
           being added to the transaction set.

        Valid current values for *mode* are::

           i = the package will be installed
           u = the package will be an update
           e = the package will be erased
           r = the package will be reinstalled
           d = the package will be a downgrade
           o = the package will be obsoleting another package
           ud = the package will be updated
           od = the package will be obsoleted
        NrBz'---> Package %s.%s %s will be installedr)z(---> Package %s.%s %s will be an upgraderz$---> Package %s.%s %s will be erasedr�z)---> Package %s.%s %s will be reinstalledrfz)---> Package %s.%s %s will be a downgraderYz(---> Package %s.%s %s will be obsoletingZudz&---> Package %s.%s %s will be upgradedZodz'---> Package %s.%s %s will be obsoleted)rr��debugrxryrz)r.r}�modergr#r#r$�	pkg_addedPs&






z"DepSolveProgressCallBack.pkg_addedcCstjtd��dS)zRPerform setup at the beginning of the dependency solving
        process.
        z"--> Starting dependency resolutionN)r�rwr)r.r#r#r$�startyszDepSolveProgressCallBack.startcCstjtd��dS)zAOutput a message stating that dependency resolution has finished.z"--> Finished dependency resolutionN)r�rwr)r.r#r#r$rqszDepSolveProgressCallBack.endN)rorprqrrryrzrqr#r#r#r$r!Ms)r!c@seZdZdd�Zdd�ZdS)�CliKeyImportcCs||_||_dS)N)r*rg)r.r*rgr#r#r$r/�szCliKeyImport.__init__cCsbdd�}td�||�|tjj|�|jdd�f}tjd|�|jjj	rJdS|jjj
rXdS|jj�S)	NcSs$tjjrdnd}|dd�jd|�S)N�0�0ri����)rZpycompZPY3�rjust)r�Zrjr#r#r$�short_id�sz'CliKeyImport._confirm.<locals>.short_idzLImporting GPG key 0x%s:
 Userid     : "%s"
 Fingerprint: %s
 From       : %szfile://rz%sTF)
rrZcryptoZ_printable_fingerprintrJr�rOr*r)Z	assumeyesZassumenorgr�)r.r�ZuseridZfingerprintr�Z	timestamprrpr#r#r$�_confirm�s


zCliKeyImport._confirmN)rorprqr/r�r#r#r#r$r{�sr{csNeZdZdZedd��Z�fdd�Zdd�Zdd	�Zd
d�Z	ddd�Z
�ZS)�CliTransactionDisplayz1A YUM specific callback class for RPM operations.cCstjjj�S)N)rr+r,�_term_width)r.r#r#r$r�szCliTransactionDisplay.<lambda>cs0tt|�j�d|_d|_d|_d|_d|_dS)NrTr0rs)�superr�r/�lastmsg�lastpackagerg�mark�marks)r.)�	__class__r#r$r/�szCliTransactionDisplay.__init__c	Csjtjjj|�}|dkrdS|j�}t|�}	||_|dkr>d}
n|td�|}
|j|||||
||	|�dS)a�Output information about an rpm operation.  This may
        include a text progress bar.

        :param package: the package involved in the event
        :param action: the type of action that is taking place.  Valid
           values are given by
           :func:`rpmtrans.TransactionDisplay.action.keys()`
        :param ti_done: a number representing the amount of work
           already done in the current transaction
        :param ti_total: a number representing the total amount of work
           to be done in the current transaction
        :param ts_done: the number of the current transaction in
           transaction set
        :param ts_total: the total number of transactions in the
           transaction set
        Nr�d)	rr	�ACTIONSr<�_max_action_widthr
r�r�
_out_progress)r.r[r�ti_done�ti_total�ts_done�ts_totalZ
action_str�wid1�pkgname�percentr#r#r$r-�szCliTransactionDisplay.progresscCsHt|d�s>d}x(tjjj�D]}t|�}||kr|}qW||_|j}|S)N�_max_action_wid_cacher)�hasattrrr	r�r�r
r�)r.r�rCZwid_valr#r#r$r��s
z'CliTransactionDisplay._max_action_widthc	Cs�|jr�tjj�s||kr�|j|||tjj�||d�\}	}}
t|�}|	t|||�t||
|
�f}||jkr�tj	j
d|tj�||_||kr�td�dS)N)r-r�r�Zwrite_flushr')rgrr �isatty�_makefmtr
rr�rr��_terminal_messengerr|)r.r�r�r�r�r�Zprocessr�r�rL�wid2rpr#r#r$r��s

z#CliTransactionDisplay._out_progressTN�cCs�tt|��}d||f}d|d|d}	|	||f}
|dkrFd}nt|�}d|d}|d|d7}|d7}|d7}|d7}|j}
|
|kr�|}
|
|8}
||
dkr�|
d}|j||}d||f}
d|
d	}||d}|r�|d
kr�d|
}|}n�|�rD|dk�r*||jt||d
�f}nd}d|d|
}|}nL|d
k�r\d|
}|}n4|dk�rx||j|f}nd}d|d|
}|}|||fS)Nz%s.%s�%zs/%�srsrZrz[%-zs]r�z
  %s: %s   r
gY@rz

  %s: %s r'z  %s: %s   z	  %s: %s )rr�r
rir�r�)r.r�r�r�r-r�r��lr�Zfmt_donerKZpnlZoverheadrir�Zfmt_barZfull_pnlrLr�Zbarr#r#r$r��sP


zCliTransactionDisplay._makefmt)TNr�)rorprqrrrvrir/r-r�r�r��
__classcell__r#r#)r�r$r��s
 r�c
Cs�d}tjj�sdS|dkr d}n|dkr6t|�|}nd}tjjj�}|dkrZ||krZd}d||f}|t|�d8}|dkr�d}|dkr�|d8}|dkr�d}|t	||�}d|||f}n�||kr�d	t
|||�|f}nb|d
8}|dkr�d}|d}	|	t|�k�rt|�}	||	8}|t	||�}dt
||	|	�|||f}||k�rZtjj
d|tj�||k�rvtjj
dd
tj�tjj
dtjd�dS)aIOutput the current status to the terminal using a simple
    text progress bar consisting of 50 # marks.

    :param current: a number representing the amount of work
       already done
    :param total: a number representing the total amount of work
       to be done
    :param name: a name to label the progress bar with
    r:Nrr$z %d/%drrZz	
[%-*s]%sz
%s%sr�z

%s: [%-*s]%s�writer��flush)r�)rr r�r�rr+r,r�rr�rr
r�r�)
rTZtotalrxr�r�rirqZhashbarrgZnwidr#r#r$r"sL



r")N)<rrZ
__future__rrrr�r�rZlibdnf.transactionrZloggingr?r1rsrr%Zdnf.cli.formatrrZdnf.i18nrrr	r
rrr
rZ
dnf.pycomprrrrrZdnf.yum.rpmtransrZdnf.db.historyrZdnf.baserZdnf.callbackZdnf.cli.progressZdnf.cli.termZdnf.confZ
dnf.cryptoZdnf.transactionZdnf.utilZdnf.yum.miscZ	getLoggerr�r%�objectr&�callbackZDepsolver!Z	KeyImportr{r�r"r#r#r#r$�<module>sb(

7PK"�FZr�9�aa$cli/__pycache__/utils.cpython-36.pycnu�[���3

�ft`��@s�dZddlmZddlmZddlmZddlmZddlZ	ddl
Z
ddlZddlZej
ejd�Ze
jd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)z/Various utility functions, and a utility class.�)�absolute_import)�unicode_literals)�
format_number)�_N�
SC_CLK_TCK�dnfcCst|�tS)z�Convert a number of jiffies to seconds. How many jiffies are in a second
    is system-dependent, e.g. 100 jiffies = 1 second is common.

    :param jiffies: a number of jiffies
    :return: the equivalent number of seconds
    )�int�_USER_HZ)Zjiffies�r
�/usr/lib/python3.6/utils.py�jiffies_to_secondssrcCsj|dkr0d|d	|d
d|dd|dfS|dkrVd|d|dd|dfSd|d|dfS)
aReturn a human-readable string representation of the length of
    a time interval given in seconds.

    :param seconds: the length of the time interval in seconds
    :return: a human-readable string representation of the length of
      the time interval
    �<�z%d day(s) %d:%02d:%02dz%d:%02d:%02dz	%02d:%02dii�Qii�Qiiir
)Zsecondsr
r
r�seconds_to_ui_time)s

rcCs�t|�}tjjd|�s:tjjd�s:tjjd|�r>dSi}td|��v}xn|D]f}|ddkrhqV|dd�jdd�}t|�dkr�qVtjj	|dd	�|d<|dj
�||d
j
�j�<qVWWdQRXd|kr�dSd|kr�dSd}td��4}x,|D]$}|jd
�r�t|td
�d��}Pq�WWdQRX|dk�r6dStd|��^}|j
�j�}|t|d�|d<td�td�td�td�td�d�j|dtd��|d<WdQRX|S)z!Return info dict about a process.z/proc/%d/statusz
/proc/statz
/proc/%d/statN��
z:	�z kBr�vmrss�vmsizezbtime ��
start_timeZRunningZSleepingZUninterruptibleZZombiezTraced/Stopped)�R�S�D�Z�TZUnknown�state���rr)r�os�path�exists�open�split�lenr�utilZrtrim�strip�lower�
startswith�readrr�get)�pid�psZstatus_file�line�dataZ	boot_timeZ	stat_fileZps_statr
r
r�get_process_info<sJ
*



r.cCs�t|�}|s$td�}tj||�dStd�||df}tjd|�tjtd�tt|d�d�tt|d	�d��tttj��|d
�}tjtd�tj	j
|d
�|�tjtd�|d
�dS)z0Output information about process holding a lock.z=Unable to find information about the locking process (PID %d)Nz$  The application with PID %d is: %s�namez%sz    Memory : %5s RSS (%5sB VSZ)rirrz    Started: %s - %s agoz    State  : %sr)r.r�loggerZcriticalrrr�timerr$Znormalize_time)r*r+�msgZagor
r
r�show_lock_ownerls

r3)�__doc__Z
__future__rrZdnf.cli.formatrZdnf.i18nrZdnf.utilrZloggingrr1�sysconf�
sysconf_namesr	Z	getLoggerr0rrr.r3r
r
r
r�<module>s

0PK"�FZ�T�e�A�A,cli/__pycache__/option_parser.cpython-36.pycnu�[���3

�ft`4]�@s�ddlmZddlmZddlmZddlZddlZddlZddl	Zddl
ZddlZddlZ
ddlZddlZejd�ZGdd�dej�ZGdd	�d	ej�ZdS)
�)�unicode_literals)�_)�_parse_specsN�dnfcseZdZ�fdd�Z�ZS)�MultilineHelpFormattercs"d|kr|j�Stt|�j||�S)N�
)�
splitlines�superr�_split_lines)�self�text�width)�	__class__��#/usr/lib/python3.6/option_parser.pyr
'sz#MultilineHelpFormatter._split_lines)�__name__�
__module__�__qualname__r
�
__classcell__rr)rrr&srcseZdZdZd.�fdd�	Zdd�ZGdd�dej�ZGd	d
�d
ej�Z	Gdd�dej
�ZGd
d�dej�ZGdd�dej�Z
Gdd�dej�ZGdd�dej�ZGdd�dej�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd/�fd*d+�	Zd0�fd,d-�	Z�ZS)1�OptionParserz5ArgumentParser like class to do things the "yum way".Tcs>tt|�jdtd�d|_d|_|j�|r:i|_t�|_	dS)NF)�add_helpZformatter_class)
r	r�__init__r�command_positional_parser�
command_group�_add_general_options�
_cmd_usage�set�_cmd_groups)rZreset_usage)rrrr/szOptionParser.__init__cCs&|j�tjtd�|�tjd�dS)z�Output an error message, and exit the program.
           This method overrides standard argparser's error
           so that error output goes to the logger.

        :param msg: the error message to output
        zCommand line error: %s�N)�print_usage�loggerZcriticalr�sys�exit)r�msgrrr�error9szOptionParser.errorc@seZdZdd�ZdS)zOptionParser._RepoCallbackcs@|dkrdnd�t||j�}|j�fdd�tjd|�D��dS)Nz
--disablerepo�disable�enablec3s|]}|�fVqdS)Nr)�.0�x)�	operationrr�	<genexpr>Hsz6OptionParser._RepoCallback.__call__.<locals>.<genexpr>z\s*[,\s]\s*)�getattr�dest�extend�re�split)r�parser�	namespace�values�opt_str�lr)r)r�__call__Esz#OptionParser._RepoCallback.__call__N)rrrr5rrrr�
_RepoCallbackDsr6c@seZdZdd�ZdS)z OptionParser._RepoCallbackEnablecCs$|jj|ddf�t|d|�dS)Nrr&Zreponame)�repos_ed�append�setattr)rr0r1r2r3rrrr5Ksz)OptionParser._RepoCallbackEnable.__call__N)rrrr5rrrr�_RepoCallbackEnableJsr:cs$eZdZdZdZ�fdd�Z�ZS)zOptionParser._SplitCallbackzN Split all strings in seq, at "," and whitespace.
        Returns a new list. z\s*[,\s]\s*csDd}x:tj|j|�D](}|s |r8ttj|�j||||�d}qWdS)NTF)r.r/�SPLITTERr	r�_SplitCallbackr5)rr0r1r2r3�first�val)rrrr5Tsz$OptionParser._SplitCallback.__call__)rrr�__doc__r;r5rrr)rrr<Osr<c@seZdZdZdd�ZdS)z%OptionParser._SplitExtendDictCallbackz[ Split string at "," or whitespace to (key, value).
        Extends dict with {key: value}.c	Cshy"|jd�\}}|s|r t�Wn,tk
rNtd�|}tj||��YnXt||j�}|||<dS)N�,zbad format: %s)r/�
ValueErrorr�argparseZ
ArgumentErrorr+r,)	rr0r1r2r3�keyr>r#Zdctrrrr5bsz.OptionParser._SplitExtendDictCallback.__call__N)rrrr?r5rrrr�_SplitExtendDictCallback_srDc@seZdZdZdd�ZdS)zOptionParser._SetoptsCallbackzY Parse setopts arguments and put them into main_<setopts>
            and repo_<setopts>.cCs|jd�}t|�dkr*tjtd�|�dSt|�dkrJtjtd�|�dS|\}}|jd�}|dkr�|d|�}	||dd�}t|d�r�|j}
ni}
|
j|	i�j|g�j	|�t
|d|j|
�n:t|d	�r�|j}ni}|j|g�j	|�t
|d
|j|�dS)N�=�z'Setopt argument has multiple values: %sz Setopt argument has no value: %s�.r�repo_setoptsZrepo_�main_setoptsZmain_���)
r/�lenr Zwarningr�rfind�hasattrrH�
setdefaultr8r9r,rI)rr0r1r2r3�vals�k�vZperiod�repoZrepooptsZmainoptsrrrr5ps,



z&OptionParser._SetoptsCallback.__call__N)rrrr?r5rrrr�_SetoptsCallbackmsrSc@seZdZdd�ZdS)z'OptionParser.ParseSpecGroupFileCallbackcCst||�dS)N)r)rr0r1r2r3rrrr5�sz0OptionParser.ParseSpecGroupFileCallback.__call__N)rrrr5rrrr�ParseSpecGroupFileCallback�srTcs$eZdZ�fdd�Zdd�Z�ZS)zOptionParser.PkgNarrowCallbackcs�i|_y&x dD]}|||j|<||=qWWn6tk
rb}ztd|jj|f��WYdd}~XnXg|d<ttj|�j||�dS)N�choices�defaultz"%s() missing mandatory argument %s)rUrV)	�	pkgnarrow�KeyError�	TypeErrorrrr	r�PkgNarrowCallbackr)r�args�kwargsrP�e)rrrr�s
"z'OptionParser.PkgNarrowCallback.__init__cCsV|jd}|s"|d|jdkr.|jd}n
|jd�}t|||�t||j|�dS)NZ_actionrrUrV)r,rW�popr9)rr0r1r2r3Zdest_actionZnarrowrrrr5�s

z'OptionParser.PkgNarrowCallback.__call__)rrrrr5rrr)rrrZ�srZc@seZdZdd�ZdS)zOptionParser.ForceArchActioncCsd|_||_dS)NT)Z
ignorearchZarch)rr0r1r2r3rrrr5�sz%OptionParser.ForceArchAction.__call__N)rrrr5rrrr�ForceArchAction�sr_c
Cs�|jtdjtjjd���}|jdddddtd�d	�|jd
ddd
dtd�d�|jddd
dtd�d�|jdd
dtd�jtjjd�d�|jdtd�dd�|jdddgdtd�d�|jd d!dd"td#�d$�|jd%d&g|jtd'�d(d)�|jd*d+g|jtd,�d(d)�|jd-dtd.�d/�|jd0d1g|jtd2�d3�|jd4d5d
dtd6�d�|jd7d8d9d
d:td;�d<�|jd=d
dtd>�d�|j	�}|jd?d@d
dAdtdB�dC�|jdDd!dAtdE�d<�|jdFdGdHd
dtdI�d�|jdJdKdLt
ddMtdN�dO�|jdPdQdRdSdtdT�t
dU�|jdVd
dtdW�d�|jdXdYd
dtdZ�d�|jd[d\dt
td]�d^�|jd_dd`d
tda�jtjjd�db�|jdcdtdd�dedf�|jdgdhd
dtdi�d�|jdjd
dtdk�d�|jdl|jdmgdntdo�dp�|j	�}|jdq|jdmgdntdr�dp�|jdsdtdndu|jgtdv�dw�|j	�}|jdxdydzd
td{�db�|jd|dyd}d
td~�db�|jdd�d�gd�|jtd��d�d��|jd�d�gd�|jtd��dnd��|jd�i|j
d�td��d��|jd�d!dd�td��d$�|jd�d!dd�td��d$�|jd�d�dtd��d��|jd�d�d
td��d��|jd�d�dtd��dd�d��|jd�d�dtd��dd�d��|jd�d�d�dtd��d��|jd�d�d
dytd��d�|jd�d�dtd��d��|jd�d
td��d��|jd�d
td��d��|jd�d
td��d��|jd�d
td��d��|jd�d�d�g|jtd��d3�|jd�d�gd�|jtd��db�|jd�d�gd�|jtdƒdb�|jd�d�d�d�d�d�ggd�|jtdʃdˍ|jd�d�tj|jttjjj��td΃dύ|jd�d�tjdҍdS)�z0 Standard options known to all dnf subcommands. zGeneral {prog} options)�progz-cz--configZconfig_file_pathNz
[config file]zconfig file location)r,rV�metavar�helpz-qz--quiet�quiet�
store_truezquiet operation)r,�actionrVrbz-vz	--verbosezverbose operation)rerVrbz	--versionzshow {prog} version and exitz
--installrootzset install rootz[path])rbraz--nodocs�store_constZnodocsZtsflagszdo not install documentations)re�constr,rbz--nopluginsZstore_falseZpluginszdisable all plugins)rerVr,rbz--enablepluginZenablepluginzenable plugins by namez[plugin])r,rVrerbraz--disablepluginZ
disablepluginzdisable plugins by namez--releaseverz:override the value of $releasever in config and repo files)rVrbz--setoptZsetoptsz%set arbitrary config and repo options)r,rVrerbz
--skip-brokenZskip_brokenz.resolve depsolve problems by skipping packagesz-hz--helpz
--help-cmdrbzshow command help)rer,rbz--allowerasingz;allow erasing of installed packages to resolve dependenciesz-bz--bestZbestz8try the best available package versions in transactions.)rer,rVrbz--nobestz2do not limit the transaction to the best candidatez-Cz--cacheonlyZ	cacheonlyz2run entirely from system cache, don't update cachez-Rz--randomwaitZ	sleeptimez	[minutes]zmaximum command wait time)r,�typerVrarbz-dz--debuglevelZ
debuglevelz
[debug level]zdebugging output level)r,rarVrbrhz
--debugsolverz)dumps detailed solving results into filesz--showduplicatesZshowdupesfromreposz2show duplicates, in repos, in list/search commandsz-ez--errorlevelzerror output level)rVrhrbz--obsoletesZ	obsoletesz�enables {prog}'s obsoletes processing logic for upgrade or display capabilities that the package obsoletes for info, list and repoquery)rVr,rerbz--rpmverbosityzdebugging output level for rpmz[debug level name])rVrbraz-yz--assumeyesz*automatically answer yes for all questionsz
--assumenoz)automatically answer no for all questionsz--enablerepor7z[repo]z]Enable additional repositories. List option. Supports globs, can be specified multiple times.)rer,rVrarbz
--disablerepozSDisable repositories. List option. Supports globs, can be specified multiple times.z--repoz--repoidrRzUenable just specific repositories by an id or a glob, can be specified multiple times)rar,rerVrbz--enableFZset_enabledz>enable repos with config-manager command (automatically saves)z	--disableZset_disabledz?disable repos with config-manager command (automatically saves)z-xz	--excludez
--excludepkgsZexcludepkgsz exclude packages by name or globz	[package])rVr,rerbraz--disableexcludesz--disableexcludepkgsZdisable_excludeszdisable excludepkgsz--repofrompathz[repo,path]zolabel and path to an additional repository to use (same path as in a baseurl), can be specified multiple times.)rVrerarbz--noautoremoveZclean_requirements_on_removez7disable removal of dependencies that are no longer usedz--nogpgcheckZgpgcheckz5disable gpg signature checking (if RPM policy allows)z--colorZcolorzcontrol whether color is used)r,rVrbz	--refreshZfreshest_metadataz2set metadata as expired before running the command)r,rerbz-4Z
ip_resolvezresolve to IPv4 addresses onlyZipv4)r,rVrbrergz-6zresolve to IPv6 addresses onlyZipv6z	--destdirz
--downloaddirZdestdirz!set directory to copy packages toz--downloadonlyZdownloadonlyzonly download packagesz	--commentZcommentzadd a comment to transactionz--bugfixz,Include bugfix relevant packages, in updates)rerbz
--enhancementz1Include enhancement relevant packages, in updatesz--newpackagez0Include newpackage relevant packages, in updatesz
--securityz.Include security relevant packages, in updatesz
--advisoryz--advisoriesZadvisoryz=Include packages needed to fix the given advisory, in updatesz--bzz--bzsZbugzillaz7Include packages needed to fix the given BZ, in updatesz--cvez--cvesZcvesz8Include packages needed to fix the given CVE, in updatesz--sec-severityz
--secseverityZCriticalZ	ImportantZModerateZLowZseverityzDInclude security relevant packages matching the severity, in updates)rUrVr,rerbz--forcearchZARCHz Force the use of an architecture)rar,rerUrb�command�?)�nargsrb)�add_argument_groupr�formatr�utilZMAIN_PROG_UPPER�add_argumentr<rSZadd_mutually_exclusive_group�int�	MAIN_PROGr6rDrBZSUPPRESSr_�sortedZrpmZ
_BASEARCH_MAP�keys)rZgeneral_grpZ
best_groupZ
repo_groupZenable_grouprrrr�s:























z!OptionParser._add_general_optionscCsHtjj|j�}tjj|jd�}||jkrD||f|j|<|jj|�dS)z- store usage info about a single dnf command.rN)rZi18nZucd�summary�aliasesrr�add)r�cmd�grouprt�namerrr�_add_cmd_usageds

zOptionParser._add_cmd_usagecCs&x t|j��D]}|j||�qWdS)z� store name & summary for dnf commands

        The stored information is used build usage information
        grouped by build-in & plugin commands.
        N)rr2rz)rZcli_cmdsrxrwrrr�add_commandslszOptionParser.add_commandscCs�td�td�d�}dtjj}xfd	D]^}||jkr4q$|d||7}x<t|jj��D]*}|j|\}}||krT|d||f7}qTWq$W|S)
z- get the usage information to show the user. zList of Main Commands:zList of Plugin Commands:)�main�pluginz%s [options] COMMAND
r|r}z
%s

z	%-25s %s
)r|r})rrrnrqrrrrrs)rZdesc�usageZgrpryrxrtrrr�	get_usageus

zOptionParser.get_usagecCs~dtjj|jf|_|j|_tj|jdd�|_	|j
|j	_
d|j	j_|j
dj|jj���|_|j|j_|j|j_|j|j�dS)Nz%s %sF)rz{} command-specific options)rrnrq�_basecmdr`rt�descriptionrB�ArgumentParserrr�_positionals�titlerlrm�
capitalizer�cmd_add_argumentro�_commandZ
set_argparser)rrirrr�_add_command_options�s



z!OptionParser._add_command_optionscsBt�fdd�|D��r0t�j�j�jf|�|�S�jj||�SdS)Ncsg|]}|d�jk�qS)r)Zprefix_chars)r'�arg)rrr�
<listcomp>�sz1OptionParser.cmd_add_argument.<locals>.<listcomp>)�allrhrror)rr[r\r)rrr��szOptionParser.cmd_add_argumentcCs`xZ|D]R}y|jd�Wqtk
rV}z"tjjtd�|t|�f��WYdd}~XqXqWdS)Nzutf-8zCannot encode argument '%s': %s)�encode�UnicodeEncodeErrorr�
exceptionsZConfigErrorr�str)rr[r�r]rrr�_check_encoding�s
zOptionParser._check_encodingcCs|j|�|j|�\}}|S)N)r��parse_known_args)rr[r1Z_unused_argsrrr�parse_main_args�s
zOptionParser.parse_main_argscCs2|j|�|j|�\}}|jj||�}||_|jS)N)r�r�r�
parse_argsZopts)rrir[r1Zunused_argsrrr�parse_command_args�s

zOptionParser.parse_command_argsNcs,|jr|j|jj7_tt|�j|�dS)N)r�_actionsr	rr)rZfile_)rrrr�szOptionParser.print_usagecsd|rH|js|jj|jkr$|j|�|j|jj7_|jj|jj�n
|j	�|_
tt|�j
�dS)N)rr�r�r�r�rZ_action_groupsr8r�rr~r	r�
print_help)rri)rrrr��s

zOptionParser.print_help)T)N)N)rrrr?rr$rBZActionr6r:Z
_AppendActionr<rDrSrTrZr_rrzr{rr�r�r�r�r�rr�rrr)rrr,s.
;	r)Z
__future__rZdnf.i18nrZdnf.utilrrBZdnf.exceptionsrZdnf.rpmZdnf.yum.miscZloggingZos.path�osr.r!Z	getLoggerr Z
HelpFormatterrr�rrrrr�<module>s
PK"�FZoZv�+cli/__pycache__/demand.cpython-36.opt-1.pycnu�[���3

�ft`�	�@s0ddlmZGdd�de�ZGdd�de�ZdS)�)�unicode_literalsc@s&eZdZdd�Zddd�Zdd�ZdS)	�_BoolDefaultcCs ||_d|jjt|�f|_dS)Nz__%s%x)�default�	__class__�__name__�id�
_storing_name)�selfr�r
�/usr/lib/python3.6/demand.py�__init__sz_BoolDefault.__init__NcCs |j}|j|kr||jS|jS)N)�__dict__rr)r	�objZobjtype�objdictr
r
r�__get__s

z_BoolDefault.__get__cCs8|j}|j|kr*||j}||kr*td��|||j<dS)NzDemand already set.)r
r�AttributeError)r	r�valrZcurrent_valr
r
r�__set__#s

z_BoolDefault.__set__)N)r�
__module__�__qualname__rrrr
r
r
rrs
rc@speZdZdZed�Zed�Zed�Zed�Zed�Z	ed�Z
dZed�Zed�Z
ed�Zed�ZdZed�ZdS)�DemandSheetzHCollection of demands that different CLI parts have on other parts. :apiFTrN)rrr�__doc__rZ
allow_erasingZavailable_reposZ	resolvingZ	root_userZsack_activationZload_system_repoZsuccess_exit_statusZ	cacheonlyZfresh_metadataZfreshest_metadataZ
changelogsZtransaction_displayZplugin_filtering_enabledr
r
r
rr+srN)Z
__future__r�objectrrr
r
r
r�<module>sPK"�FZ.�/<<&cli/__pycache__/aliases.cpython-36.pycnu�[���3

�ft`��@s�ddlmZddlmZddlmZddlZddlZddlm	Z	ddl
ZddlZddl
Z
ddlZddlZe
jd�ZdZejjed�Zejjed	�ZGd
d�de�ZGdd
�d
e�ZdS)�)�absolute_import)�unicode_literals)�_N)�PRIO_DEFAULT�dnfz/etc/dnf/aliases.d/zALIASES.confz	USER.confc@s,eZdZdd�Zedd��Zedd��ZdS)�
AliasesConfigcCs$||_tjj�|_|jj|j�dS)N)�_path�libdnf�confZConfigParser�_parser�read)�self�path�r�/usr/lib/python3.6/aliases.py�__init__*szAliasesConfig.__init__cCsHtjjd�}y|jt|jj�dd�Wntk
r>YnX|j�S)NT�main�enabled)	r	r
�
OptionBool�setrrZgetData�
IndexError�getValue)r
�optionrrrr/szAliasesConfig.enabledcCsVtj�}d}|jj|�s|Sx4|jj|�D]$}|jj||�}|sBq*|j�||<q*W|S)N�aliases)�collections�OrderedDictrZ
hasSectionZoptionsr�split)r
�resultZsection�key�valuerrrr8szAliasesConfig.aliasesN)�__name__�
__module__�__qualname__r�propertyrrrrrrr)s	rc@sNeZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zdd
�Zdd�Z	dd�Z
d	S)�AliasescCsFtj�|_d|_d|_|j�r(d|_dS|j�|js:dS|j�dS)NTF)rrrr
r�_disabled_by_environ�
_load_main�
_load_aliases)r
rrrrGs
zAliases.__init__cCshtjjd�}y|jttjd�|j�Stk
r:dSt	k
rbt
jtd�tjd�dSXdS)NTZDNF_DISABLE_ALIASESFz@Unexpected value of environment variable: DNF_DISABLE_ALIASES=%s)
r	r
rrr�os�environr�KeyError�RuntimeError�logger�warningr)r
rrrrr%WszAliases._disabled_by_environcCs�yt|�Stk
rB}ztjjtd�||f��WYdd}~Xn:tk
rz}ztjjtd�||f��WYdd}~XnXdS)NzParsing file "%s" failed: %szCannot read file "%s": %s)rr+r�
exceptions�ConfigErrorr�IOError)r
r�errr�
_load_confds"zAliases._load_confcCsVy|jt�|_|jj|_Wn6tjjk
rP}ztjt	d�|�WYdd}~XnXdS)NzConfig error: %s)
r2�ALIASES_CONF_PATHr
rrr.r/r,�debugr)r
r1rrrr&ns
zAliases._load_mainNcCs�|dkr.y|j�}Wntjjk
r,dSXxf|D]^}y"|j|�}|jrX|jj|j�Wq4tjjk
r�}ztj	t
d�|�WYdd}~Xq4Xq4WdS)NzConfig error: %s)�_dropin_dir_filenamesrr.r/r2rr�updater,r-r)r
�	filenames�filenamer
r1rrrr'us

zAliases._load_aliasescs�tjjt�tjjt�g��fdd�}g}yPtjjt�s@tjt�x4ttj	t��D]"}||�r^qP|j
tjjt|��qPWWn2tt
fk
r�}ztjj|��WYdd}~XnXtjjt�r�|j
t�|S)Ncs|�kp|jd�p|jd�S)N�.�.conf�.CONF)r:r;)�
startswith�endswith)r8)�ignored_filenamesrr�_ignore_filename�s
z7Aliases._dropin_dir_filenames.<locals>._ignore_filename)r(r�basenamer3�ALIASES_USER_PATH�exists�ALIASES_DROPIN_DIR�mkdir�sorted�listdir�append�joinr0�OSErrorrr.r/)r
r?r7�fnr1r)r>rr5�s 


zAliases._dropin_dir_filenamescs:g�g�_�fdd������fdd���|�}�j|S)NcsNd}x&|D]}|r |ddkr P|d7}q
W�j|d|�7_||d�S)Nr�-�)�prefix_options)�argsZnum�arg)r
rr�store_prefix�s
z&Aliases._resolve.<locals>.store_prefixcs��|�}|s*|d�jks*|djd�rry.�j�|djd�rV|ddd�|d<Wntk
rlYnX|S|d�kr�tjjtd����j|d���j|d�}|r�||dd�S�|dd��SdS)Nr�\rLz"Aliases contain infinite recursion)	rr<�poprrr.�ErrorrrG)rN�suffixZcurrent_alias_result)r
�stackrP�
subresolverrrV�s&
z$Aliases._resolve.<locals>.subresolve)rM)r
rNrTr)r
rUrPrVr�_resolve�szAliases._resolvecCsP|jrLy|j|�}Wn6tjjk
rJ}ztjtd�|�WYdd}~XnX|S)Nz%s, using original arguments.)rrWrr.rSr,�errorr)r
rNr1rrr�resolve�s"zAliases.resolve)N)r r!r"rr%r2r&r'r5rWrYrrrrr$Fs


/r$)Z
__future__rrZdnf.i18nrrZdnf.clirZdnf.conf.configrZdnf.exceptionsZlibdnf.confr	Zloggingr(Zos.pathZ	getLoggerr,rCrrHr3rA�objectrr$rrrr�<module>s 
PK"�FZU?���)cli/__pycache__/main.cpython-36.opt-1.pycnu�[���3

�ft`f�@sPdZddlmZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZdd	l
mZdd
lmZddlZddlZddl	ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�Zd
d�Zdd�Z eee
fdd�Z!dd�Z"dd�Z#dd�Z$d dd�Z%e&dk�rLe%ej'dd�dd�dS)!z4
Entrance point for the yum command line interface.
�)�print_function)�absolute_import)�unicode_literals)�Conf)�Cli)�OptionParser)�ucd)�show_lock_owner)�_N�dnfcCs&tjtjjddd�tjt|��dS)N�T)�exc_info�)�logger�logr�logging�SUBDEBUG�criticalr)�e�r�/usr/lib/python3.6/main.py�
ex_IOError2srcCs6tjtjjddd�|jdk	r2tjtd�t|��dS)NrT)r
z	Error: %sr)	rrrrr�valuerr
r)rrrr�ex_Error8s
rcCs�y6tjj�tjjj|���}t||||�SQRXW�n�tjjk
rr}ztj	|j
�t|j�dSd}~X�nLtjj
k
r�}ztj	|j
�dSd}~X�ntjjk
r�}zdSd}~X�n�tjjk
�r�}zt|�Sd}~Xn�tjk
�r$}ztj	td�t|��dSd}~Xn�tjjk
�r\}ztj	td�t|��dSd}~Xnbtk
�r�}zt|�Sd}~Xn>tk
�r�}z tj	djt|�jtd���dSd}~XnXdS)N��rz	Error: %sz{}: {}zTerminated.)rZi18nZsetup_stdout�cliZBaseCli�_main�
exceptionsZProcessLockErrorrrrr	�pid�	LockError�
DepsolveError�Errorr�hawkey�	Exceptionr
r�libdnf�error�IOErrorr�KeyboardInterrupt�format�type�__name__)�argsZ
conf_class�	cli_classZoption_parser_class�baserrrr�main?s4

r.cCsb|jj�||�}y|jttt|��|��Wn(ttfk
rV}zt|�Sd}~XnXt	||�S)z2Run the dnf program from a command line interface.N)
Z_loggingZ	_presetupZ	configure�list�maprr&�OSErrorr�cli_run)r-r+r,Z
option_parserrrrrrr\s
rc,Cs�ytd�}WnFtk
rR}z*|jtjkrBtjtd��tjd�WYdd}~Xn
X|j	�y|j
�Wn@tjj
k
r��Yn(ttfk
r�}zt|�Sd}~XnX|jj�r�yt||�}W�ntjjk
�r�}z�t|�d}|jj�r|jjdd��r|td�jd�7}|jjj�rN|�s<|td	�jd
�7}n|td�jd
�7}|jjj�r�|jjjd�}|tjjk�r�|�s�|td
�jd�7}n|td�jd�7}|�r�tjdj|���WYdd}~XnX|�r�|S|jj �|jj!S)N�.z8No read/execute access in current directory, moving to /�/rT)Z	availablez?try to add '{}' to command line to replace conflicting packagesz--allowerasingz.try to add '{}' to skip uninstallable packagesz
--skip-brokenz' or '{}' to skip uninstallable packages�bestz7try to add '{}' to use not only best candidate packagesz--nobestz0 or '{}' to use not only best candidate packagesz({}))"�openr&�errnoZEACCESrrr
�os�chdir�closeZrunrrrr1r�demands�	resolvingr r�
allow_erasingZ_goalZproblem_conflictsr(r-Zconf�strictr5Z
_get_priorityZPRIO_MAINCONFIG�info�commandZrun_transactionZsuccess_exit_status)rr-�fr�ret�msgZpriorrrr2msT







r2cCs
|jdkr&|j|jj�tjtd��|jj�g}|jj	dk	rN|j
|jj	�y|j|d�Wn�tj
jk
r�}ztjt|��dSd}~Xnvtjjk
r�}z$x|jj|�D]}tj|�q�WdSd}~Xn4tk
�r�}zt|�Sd}~XnXtjtd��dS)z9Perform the depsolve, download and RPM transaction stage.NzDependencies resolved.)Zdisplayrz	Complete!r)ZtransactionZresolver;r=rr?r
r@Zrun_resolvedZtransaction_display�appendZdo_transactionrrZCliErrorr%rrZTransactionCheckErrorZget_error_outputrr&r)rr-Zdisplays�exc�errrCrrrrr<�s(

r<FcCst|�}|rtj|�|S)apCall one of the multiple main() functions based on environment variables.

    :param args: command line arguments passed into yum
    :param exit_code: if *exit_code* is True, this function will exit
       python with its exit code when it has finished executing.
       Otherwise, it will return its exit code.
    :return: the exit code from dnf.yum execution
    )r.�sys�exit)r+�	exit_codeZerrcoderrr�	user_main�s

rJ�__main__rT)rI)F)(�__doc__Z
__future__rrrZdnf.confrZdnf.cli.clirZdnf.cli.option_parserrZdnf.i18nrZ
dnf.cli.utilsr	r
Zdnf.clirZdnf.exceptionsZdnf.loggingZdnf.utilr7r"Zlibdnf.errorr$rr8Zos.pathrGZ	getLoggerrrrr.rr2r<rJr*�argvrrrr�<module>sB
5

PK"�FZr�9�aa*cli/__pycache__/utils.cpython-36.opt-1.pycnu�[���3

�ft`��@s�dZddlmZddlmZddlmZddlmZddlZ	ddl
Z
ddlZddlZej
ejd�Ze
jd�Zd	d
�Zdd�Zd
d�Zdd�ZdS)z/Various utility functions, and a utility class.�)�absolute_import)�unicode_literals)�
format_number)�_N�
SC_CLK_TCK�dnfcCst|�tS)z�Convert a number of jiffies to seconds. How many jiffies are in a second
    is system-dependent, e.g. 100 jiffies = 1 second is common.

    :param jiffies: a number of jiffies
    :return: the equivalent number of seconds
    )�int�_USER_HZ)Zjiffies�r
�/usr/lib/python3.6/utils.py�jiffies_to_secondssrcCsj|dkr0d|d	|d
d|dd|dfS|dkrVd|d|dd|dfSd|d|dfS)
aReturn a human-readable string representation of the length of
    a time interval given in seconds.

    :param seconds: the length of the time interval in seconds
    :return: a human-readable string representation of the length of
      the time interval
    �<�z%d day(s) %d:%02d:%02dz%d:%02d:%02dz	%02d:%02dii�Qii�Qiiir
)Zsecondsr
r
r�seconds_to_ui_time)s

rcCs�t|�}tjjd|�s:tjjd�s:tjjd|�r>dSi}td|��v}xn|D]f}|ddkrhqV|dd�jdd�}t|�dkr�qVtjj	|dd	�|d<|dj
�||d
j
�j�<qVWWdQRXd|kr�dSd|kr�dSd}td��4}x,|D]$}|jd
�r�t|td
�d��}Pq�WWdQRX|dk�r6dStd|��^}|j
�j�}|t|d�|d<td�td�td�td�td�d�j|dtd��|d<WdQRX|S)z!Return info dict about a process.z/proc/%d/statusz
/proc/statz
/proc/%d/statN��
z:	�z kBr�vmrss�vmsizezbtime ��
start_timeZRunningZSleepingZUninterruptibleZZombiezTraced/Stopped)�R�S�D�Z�TZUnknown�state���rr)r�os�path�exists�open�split�lenr�utilZrtrim�strip�lower�
startswith�readrr�get)�pid�psZstatus_file�line�dataZ	boot_timeZ	stat_fileZps_statr
r
r�get_process_info<sJ
*



r.cCs�t|�}|s$td�}tj||�dStd�||df}tjd|�tjtd�tt|d�d�tt|d	�d��tttj��|d
�}tjtd�tj	j
|d
�|�tjtd�|d
�dS)z0Output information about process holding a lock.z=Unable to find information about the locking process (PID %d)Nz$  The application with PID %d is: %s�namez%sz    Memory : %5s RSS (%5sB VSZ)rirrz    Started: %s - %s agoz    State  : %sr)r.r�loggerZcriticalrrr�timerr$Znormalize_time)r*r+�msgZagor
r
r�show_lock_ownerls

r3)�__doc__Z
__future__rrZdnf.cli.formatrZdnf.i18nrZdnf.utilrZloggingrr1�sysconf�
sysconf_namesr	Z	getLoggerr0rrr.r3r
r
r
r�<module>s

0PK"�FZDr
���-cli/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`��@sDddlmZddlZGdd�dejj�ZddlmZddl	m
Z
dS)�)�absolute_importNc@seZdZdZdS)�CliErrorzCLI Exception. :apiN)�__name__�
__module__�__qualname__�__doc__�rr�/usr/lib/python3.6/__init__.pyrsr)�Cli)�Command)Z
__future__rZdnf.exceptionsZdnf�
exceptions�ErrorrZdnf.cli.clir
Zdnf.cli.commandsrrrrr	�<module>sPK"�FZ�i[��-cli/__pycache__/progress.cpython-36.opt-1.pycnu�[���3

�ft`��@spddlmZddlmZmZddlmZddlmZddl	m	Z	ddl
Z
ddlZddl
ZGdd�dejj�ZdS)	�)�unicode_literals)�
format_number�format_time)�_term_width)�unicode)�timeNc@sreZdZdZejjdejjdejjdejj	diZ
ejdddfd	d
�Z
dd�Zddd�Zdd�Zdd�Zdd�ZdS)�MultiFileProgressMeterz"Multi-file download progress meterZFAILEDZSKIPPEDZMIRRORZDRPMg333333�?g�?g@cCsp||_||_||_||_d|_d|_tjj�|_d|_	d|_
d|_g|_i|_
d|_d|_d|_d|_d|_dS)z�Creates a new progress meter instance

        update_period -- how often to update the progress bar
        tick_period -- how fast to cycle through concurrent downloads
        rate_average -- time constant for average speed calculation
        rN)�fo�
update_period�tick_period�rate_average�unknown_progres�
total_drpm�sys�stdout�isatty�	done_drpm�
done_files�	done_size�active�state�	last_time�	last_size�rate�total_files�
total_size)�selfr	r
rr�r�/usr/lib/python3.6/progress.py�__init__&s"zMultiFileProgressMeter.__init__cCstjjd||j�dS)NZwrite_flush)�dnf�utilZ_terminal_messengerr	)r�msgrrr�message?szMultiFileProgressMeter.messagercCsF||_||_||_d|_d|_d|_g|_i|_d|_d|_	d|_
dS)Nr)rrrrrrrrrrr)rrrZtotal_drpmsrrr�startBszMultiFileProgressMeter.startcCs�t�}t|�}t|j�}t|�}||jkrD|df|j|<|jj|�|j|\}}||f|j|<|j||7_||j|j	kr�||j
kr�||_
|j|�dS)Nr)rr�int�
download_sizerr�appendrrr
r�_update)r�payload�done�now�textZtotalr$�oldrrr�progressSs


zMultiFileProgressMeter.progresscCsJ|jrj||j}|j|j}|dkrj|dkrj||}|jdk	rdt||jd�}|||jd|}||_||_|j|_|js�dS|jt||j	�t
|j�}|jdkr�d|jd}t
|j�dkr�|d|jt
|j�7}d||j|f}|jo�|j
�rt|j
|j|j�}nd}d|j�r,t|j�ndt|j�|f}	t�t
|	�}
|
d	d
}|dk�r0|j
�r�|jd|j
}t|j|d
|j
d
�\}}
d
|d|
}d||||	f}	|
|d	8}
nj|jd}d}
|dk�r�dn|}d|d
|
}d|||	f}	|
|d	8}
|jd|k�r*|jdnd|_|jd|
|
||	f�dS)Nr�z%dz-%dz(%s/%d): %sz--:--z %5sB/s | %5sB %9s ETA
z---  ����d�=�-z%3d%% [%-*s]%s�� z
     [%-*s]%sz%-*.*s%s)rrrr�minrrrr%r�lenrrrrrr�divmodr
r#)rr+Z
delta_timeZ
delta_sizerZweightr,�nZtime_etar"�leftZblZpct�pZbarrrrr(gsX




zMultiFileProgressMeter._updatecCs�t�}}t|�}t|j�}d}|tjjkr.n�|tjjkrJ|jd7_nt||j	kr�|j	j
|�\}}|jj|�||8}|j
d7_
|j|7_n(|tjjkr�|j
d7_
|j|7_|�r*|tjjkr�|jdkr�d|j||j|j|f}	nd|j||f}	t�t|	�d}
d|	|
|f}	nl|jdk�rHd|j
|j|f}t||d�}dtt|�|�t|�t|�f}	t�t|	�}
d	|
|
||	f}	|j|	�|j�r�|j|�dS)
Nrr/z[%s %d/%d] %s: z	[%s] %s: z%s%-*s
z(%d/%d): %sg����MbP?z %5sB/s | %5sB %9s    
z%-*.*s%s)rrr%r&r �callback�
STATUS_MIRROR�STATUS_DRPMrr�popr�removerr�STATUS_ALREADY_EXISTSr�STATUS_2_STRrr9r�maxr�floatrr#r()rr)ZstatusZerr_msgr$r+r,�sizer*r"r<Ztmrrr�end�sH



zMultiFileProgressMeter.endN)r)�__name__�
__module__�__qualname__�__doc__r r>Z
STATUS_FAILEDrCr?r@rDr�stderrrr#r$r.r(rHrrrrrs
5r)Z
__future__rZdnf.cli.formatrrZdnf.cli.termrZ
dnf.pycomprrrZdnf.callbackr Zdnf.utilr>ZDownloadProgressrrrrr�<module>sPK"�FZFD9+�-�-)cli/__pycache__/term.cpython-36.opt-1.pycnu�[���3

�ft`f9�@sxddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddd�Zddd�ZGd	d
�d
e
�ZdS)
�)�absolute_import)�unicode_literalsN�cCsBy(d}tj|tj|�}tjd|�d}|Stk
r<dSXdS)z Get the real terminal width ZabcdefghshhhhrN)�fcntlZioctl�termiosZ
TIOCGWINSZ�struct�unpack�IOError)�fdZbuf�ret�r�/usr/lib/python3.6/term.py�_real_term_widthsrcCs&tdd�}|sdS|dkrdS|SdS)z@ Compute terminal width falling to default 80 in case of troubler)r
�P�N)r)r
Ztwrrr
�_term_width)s
rc	@seZdZdZdZedd��Zedd��Zdddd	�Zd
ddd
ddddd�Z	d
ddd
ddddd�Z
ddddddd�Zdddddd d!d"d�Zd#d$d%d&d'd(d)d*d�Z
d+d,�ZdFd/d0�ZdGd1d2�Zd3d4�Zd5d6�Zd7d8�ZdHd:d;�Zd<d=�Zd>d?�Zd@dA�ZdBdC�ZdDdE�Zd-S)I�Termz>A class to provide some terminal "UI" helpers based on curses.TcCst�S)N)r)�selfrrr
�<lambda>@sz
Term.<lambda>cCst�S)N)r)rrrr
rAsZsmulZrevZsgr0)�	underline�reverse�normalrr������)�black�blue�green�cyan�red�magenta�yellow�white)rr"r r$rr#r!r%zz�zzz(B)�bold�blink�dimrrrzzzzzzzzzzzzzzzzcCs|j|_|j|_|j|_dS)N)�_Term__ansi_forced_MODE�MODE�_Term__ansi_forced_FG_COLOR�FG_COLOR�_Term__ansi_forced_BG_COLOR�BG_COLOR)rrrr
Z
__forced_initzszTerm.__forced_initN�autocCsLd|_d|_|dkr |j�dSddddddd�|_ddddddddd�|_ddddddddd�|_|dkrvd	|_dS|s�tj}|j�s�d	|_dSyt	j
|j�d
�Wntk
r�d	|_dSXt	j
|_t	jd�|_x8|jD].}|}||jk�r�|j|}|j|�|j|<q�W|jd�jd
�}|�r\x4|jj�D]&\}}t	j||�j��pNd|j|<�q2W|jd�jd
�}|�r�x8|jj�D]*\}}t	j||�j��p�d}||j|<�q~W|jd�jd
�}	|	�r�x4|jj�D]&\}}t	j|	|�j��p�d|j|<�q�W|jd�jd
�}
|
�rHx8|jj�D]*\}}t	j|
|�j��p6d}||j|<�qWdS)a
Reinitializes the :class:`Term`.

        :param term_stream:  the terminal stream that the
           :class:`Term` should be initialized to use.  If
           *term_stream* is not given, :attr:`sys.stdout` is used.
        :param color: when to colorize output.  Valid values are
           'always', 'auto', and 'never'.  'always' will use ANSI codes
           to always colorize output, 'auto' will decide whether do
           colorize depending on the terminal, and 'never' will never
           colorize.
        T��alwaysNr&)r'r(r)rrr)rrr r!r"r#r$r%ZneverF)r
�linesZsetfzutf-8ZsetafZsetbZsetab)�_Term__enabledr3�_Term__forced_initr+r-r/�sys�stdout�isatty�cursesZ	setupterm�fileno�	ExceptionZtigetstr�
_ctigetstrZtigetnum�_Term__cap_names�	_tigetstr�encode�
_Term__colors�itemsZtparm�decode�_Term__ansi_colors)r�term_stream�color�cap_name�modeZset_fg�valZset_fg_ansiZfg_colorZset_bgZset_bg_ansiZbg_colorrrr
�reinits�



""zTerm.reinitcCs|j||�dS)N)rI)rrDrErrr
�__init__�sz
Term.__init__cCs0|j|�pd}tjj|�r"|j�}tjdd|�S)Nr&z\$<\d+>[/*]?)r<�dnfZpycompZis_py3bytesrB�re�sub)rrFZcaprrr
r>�szTerm._tigetstrcCs|j|t|�|jdS)zColorize string with colorr)r+�str)rrE�srrr
rE�sz
Term.colorcCs|jd|�S)zMake string bold.r')rE)rrOrrr
r'�sz	Term.boldFc
s\|js
|S|stj}��fdd�}x4|D],}||�}	|rFtj|	tj�}	tj|	||�}q(W|S)aSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with *end*, then return the
        modified string.  For example::

           >>> yt = Term()
           >>> yt.sub('spam and eggs', 'x', 'z', ['and'])
           'spam xandz eggs'

        This is particularly useful for emphasizing certain words
        in output: for example, calling :func:`sub` with *beg* =
        MODE['bold'] and *end* = MODE['normal'] will return a string
        that when printed to the terminal will appear to be *haystack*
        with each occurrence of the strings in *needles* in bold
        face.  Note, however, that the :func:`sub_mode`,
        :func:`sub_bold`, :func:`sub_fg`, and :func:`sub_bg` methods
        provide convenient ways to access this same emphasizing functionality.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :param escape: a function that accepts a string and returns
           the same string with problematic characters escaped.  By
           default, :func:`re.escape` is used.
        :param ignore_case: whether case should be ignored when
           searching for matches
        :return: *haystack* with *beg* prefixing, and *end*
          postfixing, occurrences of the strings in *needles*
        cs�|j��S)N)�group)�match)�beg�endrr
rszTerm.sub.<locals>.<lambda>)r4rL�escape�template�IrM)
r�haystackrRrS�needlesrTZignore_caseZrenderZneedleZpatr)rRrSr
rM�s 
zTerm.subcKs|j|||jd|f|�S)aOSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with self.MODE['normal'],
        then return the modified string.  If *beg* is an ANSI escape
        code, such as given by self.MODE['bold'], this method will
        return *haystack* with the formatting given by the code only
        applied to the strings in *needles*.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with *beg* prefixing, and self.MODE['normal']
          postfixing, occurrences of the strings in *needles*
        r)rMr+)rrWrRrX�kwdsrrr
�sub_norm&sz
Term.sub_normcKs|j||j||f|�S)aTSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE[*mode*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given *mode*.

        :param haystack: the string to be modified
        :param mode: the mode to set the matches to be in.  Valid
           values are given by self.MODE.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE[*mode*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )rZr+)rrWrGrXrYrrr
�sub_mode9sz
Term.sub_modecKs|j|d|f|�S)a�Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE['bold'], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in bold face.

        :param haystack: the string to be modified
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE['bold'] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        r')r[)rrWrXrYrrr
�sub_boldMsz
Term.sub_boldcKs|j||j||f|�S)acSearch the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.FG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given color.

        :param haystack: the string to be modified
        :param color: the color to set the matches to be in.  Valid
           values are given by self.FG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.FG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )rZr-)rrWrErXrYrrr
�sub_fg_szTerm.sub_fgcKs|j||j||f|�S)a�Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.BG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* highlighted in the given background color.

        :param haystack: the string to be modified
        :param color: the background color to set the matches to be in.  Valid
           values are given by self.BG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.BG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        )rZr/)rrWrErXrYrrr
�sub_bgsszTerm.sub_bg)Nr0)Nr0)NF)�__name__�
__module__�__qualname__�__doc__r4�propertyZreal_columns�columnsr=r@rCr*r,r.r5rIrJr>rEr'rMrZr[r\r]r^rrrr
r4sr	
f
	
-r)r)r)Z
__future__rrr9Z
dnf.pycomprKrrLrr6rrr�objectrrrrr
�<module>s

PK"�FZ�Q_xixix(cli/__pycache__/cli.cpython-36.opt-1.pycnu�[���3

h�-e���@stdZddlmZddlmZddlmZyddlmZWn ek
rXddlmZYnXddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZdd	lmZdd
lmZmZddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zddl(Zddl)Zddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4Zddl5Zddl6Zddl7Zddl8Zddl9Zddl:Zddl;Zddl<Zddl=Zddl>Zddl?Zddl@ZddlAZddlBZddlCZddlDZe
jEd�ZFdd
d�ZGdd�ZHdd�ZIdd�ZJGdd�dejK�ZLGdd�deM�ZNdS)z/
Command line interface yum class and related.
�)�print_function)�absolute_import)�unicode_literals)�SequenceN�)�output)�CliError)�ucd�_�dnf�cCs�t|j�dt|j�t|�}t|j�}t|j�}xFd|fd|fd|ffD],\}}||j|d�|||d7<qLWdS)zl Get the length of each pkg's column. Add that to data.
        This "knows" about simpleList and printVer. r�na�ver�ridrN)�len�name�archZevrZ
_from_repo�
setdefault)�data�pkg�indentr
rr�d�v�r�/usr/lib/python3.6/cli.py�_add_pkg_simple_list_lens]s 

 rcCs�iiid�}x<|j|j|j|j|j|jfD]}x|D]}t||�q4Wq*Wt|j�dkr�x*|j	D] \}}t||�t||dd�q`W|d|d|dg}|j
|d	d
�}|d|d	|dfS)
zA Work out the dynamic size of the columns to pass to fmtColumns. )r
rrr� �)rr
rrr)Zremainder_column�z    )�	installed�	available�extras�
autoremove�updates�recentrr�	obsoletes�obsoletesTuplesZcalcColumns)r�yplrZlstrZnpkgZopkg�columnsrrr�_list_cmd_calc_columnshs

r)c	Cs�dd�}tjj|�}d}x�|j�j�j|d�D]�}|r>td�d}|jdkrbd|j|j	|j
f}nd	|j|j|j	|j
f}|jj|j
�}ttd
�||||j�f�ttd�|jr�|jnd||j�f�q.WdS)NcSstjdtj|��S)Nz%c)�time�strftimeZgmtime)�xrrr�
sm_ui_timezsz"print_versions.<locals>.sm_ui_timeF)rrT�0z%s-%s.%sz%s:%s-%s.%sz  Installed: %s-%s at %sz  Built    : %s at %s)r�sack�
rpmdb_sack�queryr�filterm�printZepoch�version�releaser�term�boldrr
ZinstalltimeZpackagerZ	buildtime)	�pkgs�baserr-r0�donerrrrrr�print_versionsys 
r;cCs>td�}x0|j�D]$\}}tj|j||d|d��qWdS)NzTThe operation would result in switching of module '{0}' stream '{1}' to stream '{2}'rr)r
�items�logger�warning�format)�switchedModulesZmsg1Z
moduleNameZstreamsrrr�report_module_switch�srAcs�eZdZdZd �fdd�	Zff�fdd�	Zdd�Zd	d
�Zdd�Zd
d�Z	fdddfdd�Z
dd�Zggdfdd�Zdfdfdd�Z
d!dd�Z�fdd�Zdd�Z�ZS)"�BaseCliz#This is the base class for yum cli.Ncs4|ptjj�}tt|�j|d�tj||j�|_dS)N)�conf)rrCZConf�superrB�__init__rZOutput)�selfrC)�	__class__rrrE�szBaseCli.__init__cstjjrJ|jjsJt|jj��}|rJt|�t	d�j
tjjd�}tj
j|��|j}|jj|�}|rjtj|�|r�g}g}d}xF|D]>}	|	jtjjkr�|j|	j�q�|	jtjjkr�d}|j|	j�q�W|`|s�|jj|�n|jj||�|�s|jj��s|j�r�|jj�s|jj�r�|jj �r:tjt	d�j
tjj!d��n(d|jj"k�rbtjt	d�j
tjj!d��|j#��r�|jj$�s�|jj%��r�t&t	d���ntjt	d	��d
S|�rD|�r:tjt	d��y|jj'}
|j(||jj)|
�Wn\tj
j*k
�r8}z:tj+j
j,t-|��}t	d�d
|}
t.�tj
j|
��WYd
d
}~XnX|j/|�|jj �rRd
St0|t1��sd|g}tj2�gt3|�}t4t5|�j6|�}|d
k	�r�|j7j8|g�d}tj9jj:|j7|j;�}nd
}|�rt.�t.dj<|jj=|���t.�x.|D]&}	|	j>t?jj@k�r�tj
jt	d����q�W|S)z�Take care of package downloading, checking, user
        confirmation and actually running the transaction.

        :param display: `rpm.callback.TransactionProgress` object(s)
        :return: history database transaction ID or None
        aQIt is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.
It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream.)�progTFz7{prog} will only download packages for the transaction.ZtestzP{prog} will only download packages, install gpg keys, and check the transaction.zOperation aborted.zNothing to do.NzDownloading Packages:zError downloading packages:z
%sr�
zTransaction failed)Arr9ZWITH_MODULESrCZmodule_stream_switch�dictZ_moduleContainerZgetSwitchedStreamsrAr
r?�util�	MAIN_PROG�
exceptions�ErrorZtransactionrZlist_transactionr=�info�actionZFORWARD_ACTIONS�appendrZBACKWARD_ACTIONSZ_tsZreportRemoveSizeZreportDownloadSizeZ	isChangedZ_history�group�env�downloadonly�MAIN_PROG_UPPERZtsflags�
_promptWanted�assumeno�userconfirmrZdownload_callback_total_cbZdownload_packages�progressZ
DownloadError�cliZindent_blockr	r3�gpgsigcheck�
isinstancerZCliTransactionDisplay�listrDrB�do_transaction�history�oldZdbZRPMTransactionZ_trans�joinZpost_transaction_output�state�libdnfZTransactionItemState_ERROR)rFZdisplayr@�msgZtransZpkg_strZinstall_pkgsZrmpkgsZinstall_onlyZtsiZtotal_cb�eZspecificZerrstr�tid)rGrrr^�s�







zBaseCli.do_transactionc
sg}x�|D]�}�j|�\}}|dkr(q
q
|dkrĈjjo@�jj}tjsVtjj�rl|rltjj	t
d����fdd�}y�j||�Wq�tjj	tfk
r�}z|j
t|��WYdd}~Xq�Xq
|j
|�q
W|r�x|D]}	tj|	�q�Wtjj	t
d���dS)aPerform GPG signature verification on the given packages,
        installing keys if possible.

        :param pkgs: a list of package objects to verify the GPG
           signatures of
        :raises: Will raise :class:`Error` if there's a problem
        rrzTRefusing to automatically import keys when running unattended.
Use "-y" to override.cs
�jj�S)N)rrX)r,�y�z)rFrr�<lambda>$sz%BaseCli.gpgsigcheck.<locals>.<lambda>NzGPG check FAILED)Z_sig_check_pkgrC�	assumeyesrW�sys�stdin�isattyrrMrNr
Z_get_key_for_package�
ValueErrorrQ�strr=�critical)
rFr8Zerror_messages�po�result�errmsgZay�fnrerdr)rFrr[s&
"
zBaseCli.gpgsigcheckcsXd�x:|jjjd|j�D]$}|tj}|rtjj|d��PqW�fdd�|j	D�}|S)zBReturn list of changelogs for package newer then installed versionNrrcs$g|]}�dks|d�kr|�qS)N�	timestampr)�.0Zchlog)�newestrr�
<listcomp>=sz-BaseCli.latest_changelogs.<locals>.<listcomp>)
Z_rpmconnZreadonly_tsZdbMatchr�rpmZRPMTAG_CHANGELOGTIME�datetimeZdateZ
fromtimestamp�
changelogs)rF�packageZmiZchangelogtimesZchlogsr)rwr�latest_changelogs3s
zBaseCli.latest_changelogscCs4d|djd�tjj|d�tjj|d�f}|S)z*Return changelog formatted as in spec filez* %s %s
%s
ruz%a %b %d %X %YZauthor�text)r+rZi18nr	)rFZ	changelogZ	chlog_strrrr�format_changelogAs
zBaseCli.format_changelogcCs�t�}x&|D]}|j|jp|jg�j|�qWxdt|j��D]T}||}ttd�j	dj
dd�|D����x$|j|d�D]}t|j|��qzWq<WdS)NzChangelogs for {}z, cSsg|]}t|��qSr)ro)rvrrrrrxQsz,BaseCli.print_changelogs.<locals>.<listcomp>r)
rJr�source_namerrQ�sorted�keysr3r
r?rar}r)rFZpackagesZbysrpm�pr�Zbin_packagesZchlrrr�print_changelogsIs
"zBaseCli.print_changelogsTFc	CsR|jd||d�}|jjs |jjr@|jd||d�}|j|_|j|_|�rDt|j|�}t|j�dkr�i}|jj	j
d}	|	r�x>t|j�D]0}
|
j�}t
jj|�r�|
j�r�|
||
j|
jf<q�W|jj}|jj}
|jj|jdd||||
d�d	�|r�|j|j�t|j�dk�rDttd
��x0t|jtjd�d�D]}|jj|d|d��q(W|j�pP|jS)
z?Check updates matching given *patterns* in selected repository.Zupgrades)�reponamer%rr7rr])�=znot in)Z
outputType�highlight_nar(�highlight_modeszObsoleting Packages)�key)r()�returnPkgListsrCr%�verboser&r)rrr#r6�MODEr�ZlocalPkg�os�path�existsZverifyLocalPkgrr�color_update_local�color_update_remote�listPkgsr�r3r
�operator�
itemgetter�updatesObsoletesList)rF�patternsr�Zprint_r{r'Ztyplr(�
local_pkgs�	highlightrqZlocal�cul�cur�obtuprrr�
check_updatesUs:
zBaseCli.check_updatescCsr|jj�}t|�dkr |j�nx|D]}|j|�q&W|jj�|}|dkrn|jj�rntd�}tjj|��dS)ab Upgrade or downgrade packages to match the latest versions available
            in the enabled repositories.

            :return: (exit_code, [ errors ])

            exit_code is::
                0 = we're done, exit
                1 = we've errored, exit with error string
                2 = we've got work yet to do, onto the next stage
        rz4No packages marked for distribution synchronization.N)	Z_goalZ
req_lengthrZdistro_syncZreq_has_distupgrade_allr
rrMrN)rFZuserlistZoldcount�pkg_specZcntrdrrr�distro_sync_userlist{s


zBaseCli.distro_sync_userlistc
CsJd}xf|D]^}y|j||d�d}Wq
tjjk
rf}z"tjtd�|jjj	|j
��WYdd}~Xq
Xq
Wx�|D]�}y|j||d�d}Wqrtjjk
r�}z$td�}	tj|	|jjj	|��WYdd}~Xqrtjj
k
�r}z"tjtd�|jjj	|j��WYdd}~Xqrtjjk
�r*YqrXqrW|�sFtjjtd���dS)	aaAttempt to take the user specified list of packages or
        wildcards and downgrade them. If a complete version number is
        specified, attempt to downgrade them to the specified version

        :param specs: a list of names or wildcards specifying packages to downgrade
        :param file_pkgs: a list of pkg objects from local files
        F)�strictTzNo match for argument: %sNzNo package %s available.z6Packages for argument %s available, but not installed.z!No packages marked for downgrade.)Zpackage_downgraderrMZMarkingErrorr=rOr
rr6r7�locationZdowngrade_toZPackageNotFoundErrorZPackagesNotInstalledErrorr�rN)
rFZspecsZ	file_pkgsr�rrrre�arg�errrdrrr�
downgradePkgs�s,	

(
&
"
zBaseCli.downgradePkgs�allc!CsDy$|jjjd}|j||||d�}Wn0tjjk
rT}zdt|�gfSd}~X�n�Xi}i}	i}
d}|dkrzt|j|�}|r�|j	r�xB|j
|j|jD],}|j
|jf}
|
|ks�|||
kr�|||
<q�W|o�|j�rx8|jD].}|j
|jf}
|
|	k�s||	|
kr�||	|
<q�W|�rP|j�rPx2t|j�D]$}|jtjk�r(||
|j
|jf<�q(W|jj}|jj}|jj}|jj}|jj|j	td�|||||||d�d�}|jj}|jj}|jj}|jj }|jj|jtd	�||	|||||d
�d�}|jj|j!td�||d�}|jj|j"td
�||d�}|jj#}|jj$}|jj|jtd�||
|||d�d�}t%|j&�dk�r�|dk�r�t%|j&�}t'td��xLt|j(t)j*d�d�D]}|jj+|d|d��q�Wn|jj|j&td�||d�}|jj|j,td�||d�} t%|��r@| dk�r@|dk�r@|dk�r@|dk�r@|dk�r@|dk�r@|dk�r@tjjtd���dS)zJOutput selection *pkgnarrow* of packages matching *patterns* and *repoid*.r7)�installed_availabler�rNr]zInstalled Packages)�>�<r�znot in)r�r(r�zAvailable Packages)r�r�r�znot inzAutoremove Packages)r(zExtra PackageszAvailable Upgrades)r�znot inrzObsoleting Packages)r�r%zRecently Added PackageszNo matching Packages to list)-rr6r�r�rrMrNror)r�hidden_available�reinstall_availableZ
old_availablerrr �hidden_installedr#r�r��hawkeyZSYSTEM_REPO_NAMErCZcolor_list_installed_olderZcolor_list_installed_newerZcolor_list_installed_reinstallZcolor_list_installed_extrar�r
Zcolor_list_available_upgradeZcolor_list_available_downgradeZcolor_list_available_reinstallZcolor_list_available_installr"r!r�r�rr%r3r&r�r�r�r$)!rF�basecmd�	pkgnarrowr�r�r�r'reZupdate_pkgsZ	inst_pkgsr�r(rr�rqZclioZclinZclirZclieZripZclauZcladZclarZclaiZrapZraepZrepr�r�ZrupZropr�Zrraprrr�output_packages�s�







FzBaseCli.output_packagesc	Cs�d}d}|r|dkrd}d}n|r2|dkr2d}d}|j||d|d�}|jjrvx(|jD]}|jrT|rT|jj|�qTW|r�|j|_|j|_|r�g|_|r�g|_|S)a#Return a :class:`dnf.yum.misc.GenericHolder` object containing
        lists of package objects that match the given names or wildcards.

        :param pkgnarrow: a string specifying which types of packages
           lists to produce, such as updates, installed, available, etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param installed_available: whether the available package list
           is present as .hidden_available when doing all, available,
           or installed
        :param reponame: limit packages list to the given repository

        :return: a :class:`dnf.yum.misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        FrTr�r )Zignore_caser�)	Z_do_package_listsrC�showdupesfromreposr�rr rQr�r�)	rFr�r�r�r�Zdone_hidden_availableZdone_hidden_installedr'rrrrr�
s,zBaseCli.returnPkgListsc	s�|jj}d|j_g}g}x4|D],}tt|�j|�\}}|j|�|j|�qWx t|�D]}|jj|||�qXW||j_|s�t	j
jtd���dS)a�Print out a list of packages that provide the given file or
        feature.  This a cli wrapper to the provides methods in the
        rpmdb and pkgsack.

        :param args: the name of a file or feature to search for
        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        TzNo Matches foundN)
rCr�rDrB�provides�extendr�rZmatchcallback_verboserrMrNr
)	rF�argsZold_sdupZmatchesZused_search_strings�specr1Zused_search_stringr)rGrrr�?s

zBaseCli.providescCs|jjr|jjrdSdS)NFT)rCrjrW)rFrrrrV^szBaseCli._promptWanted)N)r�NFN)�__name__�
__module__�__qualname__�__doc__rEr^r[r}rr�r�r�r�r�r�r�rV�
__classcell__rr)rGrrB�sk'&"Y
1rBc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zddd
�Zd dd�Z	d!dd�Z
d"dd�Zej
fdd�Zdd�Zdd�Zdd�Zdd�ZdS)#�ClicCs"||_i|_d|_tjjj�|_|jtjj	j
j�|jtjj	jj
�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	j j!�|jtjj	j"j#�|jtjj	j$j%�|jtjj	j&j'�|jtjj	j(j)�|jtjj	j*j+�|jtjj	j,j-�|jtjj	j.j/�|jtjj	j0j1�|jtjj	j2j3�|jtjj	j4j5�|jtjj	j6j7�|jtjj	j8�|jtjj	j9�|jtjj	j:�|jtjj	j;�|jtjj	j<�|jtjj	j=�dS)N)>r9�cli_commands�commandrrZZdemandZDemandSheet�demands�register_commandZcommands�aliasZAliasCommandr"ZAutoremoveCommandZcheckZCheckCommandZcleanZCleanCommandZ
distrosyncZDistroSyncCommandZdeplistZDeplistCommandZ	downgradeZDowngradeCommandrRZGroupCommandr_ZHistoryCommandZinstallZInstallCommandZ	makecacheZMakeCacheCommandZmarkZMarkCommand�moduleZ
ModuleCommandZ	reinstallZReinstallCommand�removeZ
RemoveCommand�repolistZRepoListCommandZ	repoqueryZRepoQueryCommand�searchZ
SearchCommand�shellZShellCommandZswapZSwapCommandZ
updateinfoZUpdateInfoCommandZupgradeZUpgradeCommandZupgrademinimalZUpgradeMinimalCommandZInfoCommandZListCommandZProvidesCommandZCheckUpdateCommandZRepoPkgsCommandZHelpCommand)rFr9rrrrEfsBzCli.__init__cCs|jj|�|jr^xJ|jj�D]<\}}|jjj||jj|gd�}|j|�|jj	|df�qW|j
r�|jjdd�|jjdd�|j
D��t
�}yzxt|jD]j\}}|jjj|�}|s�|jjjr�|dkr�td�}	tjj|	|��|j|�|dk�r�|j�q�|j�q�WWnFtjjk
�rP}
z$tj|
�|jj�tjd	�WYdd}
~
XnXx|D]}tjtd
�|��qXW|jjj �}|dk�r�|jjj!�}x,|D]$}|jjj"|�}|�r�|j#j$��q�W|jj%j&�\}
|j_'|jjj(�j)|
�t%j*|j|jj%�}|jjj(�j+|�dS)N)Zbaseurl�enabler�*�disablecSsg|]}|df�qS)r�r)rv�rrrrrx�sz(Cli._configure_repos.<locals>.<listcomp>zUnknown repo: '%s'rzNo repository match: %s)r�r�),r9Zread_all_reposZrepofrompathr<�reposZadd_new_reporC�_configure_from_optionsZrepos_edrQ�repo�insertr��setZget_matchingr�r
rrMZ	RepoError�addr�r��ConfigErrorr=rp�	optparser�
print_helprk�exitr>Z_repo_persistorZget_expired_reposr��get�_repo�expirerZsetup_progress_callbacksZ_ds_callbackr��set_progress_barZCliKeyImportZ_set_key_import)rF�optsZlabelr�Z	this_repoZnotmatchr�Z	operationr�rdreZ
expired_reposrZbarZ
key_importrrr�_configure_repos�sL








zCli._configure_reposcCsvtjdjtjjd�tjj�tjtj	j
d|j�tjtj	j
d|jj
j�tjtj	j
d|jj
j�tjd|jj
j�dS)Nz{prog} version: %s)rHzCommand: %szInstallroot: %szReleasever: %szcachedir: %s)r=�debugr?rrKrU�const�VERSION�log�logging�DDEBUG�	cmdstringr9rC�installroot�
releasever�cachedir)rFrrr�_log_essentials�s



zCli._log_essentialscCs|j}|jj}|jr.tjj�s.tjjt	d���|j
rLx|j�D]
}d|_q>W|j
s\|jjj
r�d|jj_
xn|j�D]}|jjtjj�qpWnL|jr�xD|j�D]}|jj�q�Wn(|js�x |j�D]}|jjtjj�q�W|j�r�|jj|jjr�dnd|jjd�dS)Nz[This command has to be run with superuser privileges (under the root user on most systems).T�autoF)�load_system_repoZload_available_repos)r�r9r�Z	root_userrrKZ	am_i_rootrMrNr
r{�iter_enabledZload_metadata_other�	cacheonlyrC�valuesr�ZsetSyncStrategyr�ZSYNC_ONLY_CACHE�freshest_metadatar�Zfresh_metadataZ	SYNC_LAZYZsack_activationZ	fill_sackr�Zavailable_repos)rFr�r�r�rrr�_process_demands�s.



zCli._process_demandscCs�|j}|jj|�}|dkr~tjtd�|tjd�|jj	j
r`tjtd�jtj
jtj
jd�|�ntjtd�jtj
jd��t�||�|_tjtjjd|�tjtjjd	|�dS)
z,Check that the requested CLI command exists.Nz)No such command: %s. Please use %s --helprzLIt could be a {PROG} plugin command, try: "{prog} install 'dnf-command(%s)'")rHZPROGzRIt could be a {prog} plugin command, but loading of plugins is currently disabled.)rHzBase command: %szExtra commands: %s)r�r�r�r=rpr
rk�argvr9rCZpluginsr?rrKrLrUrr�r�r�)rFr�r�r��command_clsrrr�_parse_commands�s


zCli._parse_commandsNc	Cs�tjjj�}|j|�}|dkr*tjjj�n||_|jj|�}|j	rpt
tjj�t
|jjj|j|jj�tjd�|jr�d|_d|_|jr�tjj|_|_yh|jr�|jjjd|jjjtjj�d|j_|jjj|�|j|j �d|kr�|j!|jj_!|jjj"�Wn�tj#j$t%fk
�rF}z t&j't(d�|�tjd�WYdd}~XnXt)k
�r�}z:d	t*t+|��t,|j-�f}t&j't(d�|�tjd�WYdd}~XnX|j.dk	�r�|j.|jj_.|jjj/�r�|j0dk�r�t&j't(d��tjd�|j1�s�|j2�r|j0dk�rt&j't(d��tjd�|j3dk	�r>t4j5t6j7|j3d��|jj8|j9d�|jj:|j;|j<|�|jj8|j9d�|j0�s�|jj=�tjd�||j_>|jj?d|_@x$|jj>D]}|j@d|7_@�q�W|jA�y|jB||�Wn tCk
�rtjd�YnX|jD�r$|jj=|j0�tjd�|jjE|j0|�}|jF�rN|jF|j_Gd|j_H|jI�r`|jI|j_I|jJ�rrd|jj_K|jL�r�d|jj_L|j0jM�|jjN�|jjO�|jP|�|jjQ�|jjj|�|j0jR�|jjj.�rtjSjT|jjj.�|jjj.|jjUjV�_W|jjjXdk�r(|jjjYjZ|jjjXd�t[j\d�dk�r�d}x,|jjUj]�D]}|j^�rZ�qJd|_^d}�qJW|jjj_�s�d|jj__d}|�r�t&j`t(d��dS)aParse command line arguments, and set up :attr:`self.base.conf` and
        :attr:`self.cmds`, as well as logger objects in base instance.

        :param args: a list of command line arguments
        :param option_parser: a class for parsing cli options
        Nrrr�TrzConfig error: %srz%s: %s�download�system-upgrade�reposync�
modulesynczb--destdir or --downloaddir must be used with --downloadonly or download or system-upgrade command.zconfig-managerz_--enable, --set-enabled and --disable, --set-disabled must be used with config-manager command.�<�mainZpluginrz%s r�)�colorz%_pkgverify_level�	signaturer�Fz�Warning: Enforcing GPG signature check globally as per active RPM security policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message))r�r�r�r�)r�r�)arrZ�aliasesZAliasesZresolve�
option_parserZOptionParserr�Zparse_main_argsr4r3r�r�r;r9rCZhistory_record_packagesrrkr��quietZ
debuglevelZ
errorlevelr�Z
VERBOSE_LEVELr�Z
_set_valueZsystem_cachedirZPRIO_DEFAULTr�r��_read_conf_filer�rZ_adjust_conf_optionsrMr�rnr=rpr
�IOErrorr	ro�repr�filenameZdestdirrTr�Zset_enabledZset_disabledZ	sleeptimer*Zsleep�randomZ	randrangeZadd_commandsr�Zinit_pluginsZ
disablepluginZenablepluginr�r�rHr�r�r�r�helpZparse_command_argsZallowerasingZ
allow_erasingZ_allow_erasingr�ZdebugsolverZdebug_solverr%Z
pre_configureZpre_configure_pluginsZ_activate_persistorr�Zconfigure_plugins�	configurerKZ
ensure_dirr�r�Zpkgdirr�r6ZreinitryZexpandMacror�ZgpgcheckZlocalpkg_gpgcheckr>)	rFr�r�r�r�rer�Zforcingr�rrrr��s�





















z
Cli.configurecCsBtjjd�}|jj}|jd�|jd�|jd�}|jd�tjj	krht
jj|�rhtj
jtd�j|���|jtjjd�|jd�}|jd�tjj	kr�d}|j}|j||jd�d�|dkr�|jdkr�tjj|j�}n|dkr�tjj|�}|dk	r�||_|jdk�rtjtd	��xd
D]}|j|��qW|jjj|�|�|S)N�configZconfig_file_pathzConfig file "{}" does not exist)ZpriorityZreposdir�varsdir�/)rzPUnable to detect release version (use '--releasever' to specify release version)r��logdir�
persistdir)r�rr)rr�ZTimerr9rCZ_check_remote_fileZ_search_inside_installrootZ
_get_valueZ
_get_priorityZPRIO_COMMANDLINEr�r��isfilerMr�r
r?�readZPRIO_MAINCONFIGZ
substitutionsZupdate_from_etcr�ryZdetect_releaseverr�r=r>Zprepend_installroot�_loggingZ_setup_from_dnf_conf)rFr�ZtimerrCr�Z	from_rootZsubst�optrrrr��s6




zCli._read_conf_file�eqcCs�|dkr|dkrdSg}|js"|r,|jd�|js6|r@|jd�|jsJ|rT|jd�|js^|rh|jd�|jj|||j|j|j	|j
d�dS)zz

        :param opts:
        :param cmp_type: string supported "eq", "gte"
        :param all:
        :return:
        N�bugfix�enhancement�
newpackage�security)�types�advisory�bugzilla�cves�severity)r	rQr
rrr9Zadd_security_filtersrrrr)rFr�Zcmp_typer�r
rrr� _populate_update_security_filter�s







z$Cli._populate_update_security_filtercCs4|dk	r|jjjj|�|dk	r0|jjjj|�dS)z�
        Change minimal logger level for terminal output to stdout and stderr according to specific
        command requirements
        @param stdout: logging.INFO, logging.WARNING, ...
        @param stderr:logging.INFO, logging.WARNING, ...
        N)r9rZstdout_handlerZsetLevelZstderr_handler)rF�stdout�stderrrrr�redirect_logger�szCli.redirect_loggercCs.tjjj|�}||jj_|jjj�j|�dS)N)	rrZrYZMultiFileProgressMeterr9rr�r�r�)rFZforYrrr�redirect_repo_progress�s
zCli.redirect_repo_progresscCs�|jjj�}|dkrdS|jjj�j|jd�}|j�}|jdd�|}x|D]}||krL|}qLW||kr�td|�td|�dS)N)r�r)Z
advisory_typez,Security: %s is an installed security updatez-Security: %s is the currently running version)r9r/Zget_running_kernelr1r2rrr3)rFZkernel�qZikpkgrrrr�_check_running_kernel�s
zCli._check_running_kernelcCs*t|jj��tjjtdj||����dS)Nz)argument {}: not allowed with argument {})r3r�Zprint_usagerrMrNr
r?)rFZoption_string_1Zoption_string_2rrr�_option_conflict�szCli._option_conflictcCs<x6|jD],}||jkr*tjjtd�|��||j|<qWdS)zRegister a Command. :apizCommand "%s" already definedN)r�r�rrMr�r
)rFr�rrrrr��s
zCli.register_commandcCs�|j�|jjjr8tjtd�djtt	|jjj����|jjj
rhtjtd�djtt	|jjj
����xx|jjj�D]h}|jr�tjtd�|j
ddjtt	|j����|j
rvtjtd�|j
ddjtt	|j
����qvW|jj�S)a2Call the base command, and pass it the extended commands or
           arguments.

        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        zExcludes in dnf.conf: z, zIncludes in dnf.conf: zExcludes in repo z: zIncludes in repo )r�r9rCZexcludepkgsr=r�r
rar�r�Zincludepkgsr�r��idr��run)rFr�rrrrs
"
"(,zCli.run)N)N)rN)NN)r�r�r�rEr�r�r�r�r�r�rrrkrrrrr�rrrrrr�es$3

-


r�)r)Or�Z
__future__rrr�collections.abcr�ImportError�collectionsrzr�r�r�r�ryrkr*r�Zlibdnf.transactionrcrrZdnf.clirZdnf.i18nr	r
rZdnf.cli.aliasesZdnf.cli.commandsZdnf.cli.commands.aliasZdnf.cli.commands.autoremoveZdnf.cli.commands.checkZdnf.cli.commands.cleanZdnf.cli.commands.deplistZdnf.cli.commands.distrosyncZdnf.cli.commands.downgradeZdnf.cli.commands.groupZdnf.cli.commands.historyZdnf.cli.commands.installZdnf.cli.commands.makecacheZdnf.cli.commands.markZdnf.cli.commands.moduleZdnf.cli.commands.reinstallZdnf.cli.commands.removeZdnf.cli.commands.repolistZdnf.cli.commands.repoqueryZdnf.cli.commands.searchZdnf.cli.commands.shellZdnf.cli.commands.swapZdnf.cli.commands.updateinfoZdnf.cli.commands.upgradeZdnf.cli.commands.upgrademinimalZdnf.cli.demandZdnf.cli.formatZdnf.cli.option_parserZdnf.confZdnf.conf.substitutionsZ	dnf.constZdnf.db.historyZdnf.exceptionsZdnf.loggingZ
dnf.persistorZ
dnf.pluginZdnf.rpmZdnf.sackZdnf.transactionZdnf.utilZdnf.yum.miscZ	getLoggerr=rr)r;rAZBaserB�objectr�rrrr�<module>s�

OPK"�FZ�T�e�A�A2cli/__pycache__/option_parser.cpython-36.opt-1.pycnu�[���3

�ft`4]�@s�ddlmZddlmZddlmZddlZddlZddlZddl	Zddl
ZddlZddlZ
ddlZddlZejd�ZGdd�dej�ZGdd	�d	ej�ZdS)
�)�unicode_literals)�_)�_parse_specsN�dnfcseZdZ�fdd�Z�ZS)�MultilineHelpFormattercs"d|kr|j�Stt|�j||�S)N�
)�
splitlines�superr�_split_lines)�self�text�width)�	__class__��#/usr/lib/python3.6/option_parser.pyr
'sz#MultilineHelpFormatter._split_lines)�__name__�
__module__�__qualname__r
�
__classcell__rr)rrr&srcseZdZdZd.�fdd�	Zdd�ZGdd�dej�ZGd	d
�d
ej�Z	Gdd�dej
�ZGd
d�dej�ZGdd�dej�Z
Gdd�dej�ZGdd�dej�ZGdd�dej�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd/�fd*d+�	Zd0�fd,d-�	Z�ZS)1�OptionParserz5ArgumentParser like class to do things the "yum way".Tcs>tt|�jdtd�d|_d|_|j�|r:i|_t�|_	dS)NF)�add_helpZformatter_class)
r	r�__init__r�command_positional_parser�
command_group�_add_general_options�
_cmd_usage�set�_cmd_groups)rZreset_usage)rrrr/szOptionParser.__init__cCs&|j�tjtd�|�tjd�dS)z�Output an error message, and exit the program.
           This method overrides standard argparser's error
           so that error output goes to the logger.

        :param msg: the error message to output
        zCommand line error: %s�N)�print_usage�loggerZcriticalr�sys�exit)r�msgrrr�error9szOptionParser.errorc@seZdZdd�ZdS)zOptionParser._RepoCallbackcs@|dkrdnd�t||j�}|j�fdd�tjd|�D��dS)Nz
--disablerepo�disable�enablec3s|]}|�fVqdS)Nr)�.0�x)�	operationrr�	<genexpr>Hsz6OptionParser._RepoCallback.__call__.<locals>.<genexpr>z\s*[,\s]\s*)�getattr�dest�extend�re�split)r�parser�	namespace�values�opt_str�lr)r)r�__call__Esz#OptionParser._RepoCallback.__call__N)rrrr5rrrr�
_RepoCallbackDsr6c@seZdZdd�ZdS)z OptionParser._RepoCallbackEnablecCs$|jj|ddf�t|d|�dS)Nrr&Zreponame)�repos_ed�append�setattr)rr0r1r2r3rrrr5Ksz)OptionParser._RepoCallbackEnable.__call__N)rrrr5rrrr�_RepoCallbackEnableJsr:cs$eZdZdZdZ�fdd�Z�ZS)zOptionParser._SplitCallbackzN Split all strings in seq, at "," and whitespace.
        Returns a new list. z\s*[,\s]\s*csDd}x:tj|j|�D](}|s |r8ttj|�j||||�d}qWdS)NTF)r.r/�SPLITTERr	r�_SplitCallbackr5)rr0r1r2r3�first�val)rrrr5Tsz$OptionParser._SplitCallback.__call__)rrr�__doc__r;r5rrr)rrr<Osr<c@seZdZdZdd�ZdS)z%OptionParser._SplitExtendDictCallbackz[ Split string at "," or whitespace to (key, value).
        Extends dict with {key: value}.c	Cshy"|jd�\}}|s|r t�Wn,tk
rNtd�|}tj||��YnXt||j�}|||<dS)N�,zbad format: %s)r/�
ValueErrorr�argparseZ
ArgumentErrorr+r,)	rr0r1r2r3�keyr>r#Zdctrrrr5bsz.OptionParser._SplitExtendDictCallback.__call__N)rrrr?r5rrrr�_SplitExtendDictCallback_srDc@seZdZdZdd�ZdS)zOptionParser._SetoptsCallbackzY Parse setopts arguments and put them into main_<setopts>
            and repo_<setopts>.cCs|jd�}t|�dkr*tjtd�|�dSt|�dkrJtjtd�|�dS|\}}|jd�}|dkr�|d|�}	||dd�}t|d�r�|j}
ni}
|
j|	i�j|g�j	|�t
|d|j|
�n:t|d	�r�|j}ni}|j|g�j	|�t
|d
|j|�dS)N�=�z'Setopt argument has multiple values: %sz Setopt argument has no value: %s�.r�repo_setoptsZrepo_�main_setoptsZmain_���)
r/�lenr Zwarningr�rfind�hasattrrH�
setdefaultr8r9r,rI)rr0r1r2r3�vals�k�vZperiod�repoZrepooptsZmainoptsrrrr5ps,



z&OptionParser._SetoptsCallback.__call__N)rrrr?r5rrrr�_SetoptsCallbackmsrSc@seZdZdd�ZdS)z'OptionParser.ParseSpecGroupFileCallbackcCst||�dS)N)r)rr0r1r2r3rrrr5�sz0OptionParser.ParseSpecGroupFileCallback.__call__N)rrrr5rrrr�ParseSpecGroupFileCallback�srTcs$eZdZ�fdd�Zdd�Z�ZS)zOptionParser.PkgNarrowCallbackcs�i|_y&x dD]}|||j|<||=qWWn6tk
rb}ztd|jj|f��WYdd}~XnXg|d<ttj|�j||�dS)N�choices�defaultz"%s() missing mandatory argument %s)rUrV)	�	pkgnarrow�KeyError�	TypeErrorrrr	r�PkgNarrowCallbackr)r�args�kwargsrP�e)rrrr�s
"z'OptionParser.PkgNarrowCallback.__init__cCsV|jd}|s"|d|jdkr.|jd}n
|jd�}t|||�t||j|�dS)NZ_actionrrUrV)r,rW�popr9)rr0r1r2r3Zdest_actionZnarrowrrrr5�s

z'OptionParser.PkgNarrowCallback.__call__)rrrrr5rrr)rrrZ�srZc@seZdZdd�ZdS)zOptionParser.ForceArchActioncCsd|_||_dS)NT)Z
ignorearchZarch)rr0r1r2r3rrrr5�sz%OptionParser.ForceArchAction.__call__N)rrrr5rrrr�ForceArchAction�sr_c
Cs�|jtdjtjjd���}|jdddddtd�d	�|jd
ddd
dtd�d�|jddd
dtd�d�|jdd
dtd�jtjjd�d�|jdtd�dd�|jdddgdtd�d�|jd d!dd"td#�d$�|jd%d&g|jtd'�d(d)�|jd*d+g|jtd,�d(d)�|jd-dtd.�d/�|jd0d1g|jtd2�d3�|jd4d5d
dtd6�d�|jd7d8d9d
d:td;�d<�|jd=d
dtd>�d�|j	�}|jd?d@d
dAdtdB�dC�|jdDd!dAtdE�d<�|jdFdGdHd
dtdI�d�|jdJdKdLt
ddMtdN�dO�|jdPdQdRdSdtdT�t
dU�|jdVd
dtdW�d�|jdXdYd
dtdZ�d�|jd[d\dt
td]�d^�|jd_dd`d
tda�jtjjd�db�|jdcdtdd�dedf�|jdgdhd
dtdi�d�|jdjd
dtdk�d�|jdl|jdmgdntdo�dp�|j	�}|jdq|jdmgdntdr�dp�|jdsdtdndu|jgtdv�dw�|j	�}|jdxdydzd
td{�db�|jd|dyd}d
td~�db�|jdd�d�gd�|jtd��d�d��|jd�d�gd�|jtd��dnd��|jd�i|j
d�td��d��|jd�d!dd�td��d$�|jd�d!dd�td��d$�|jd�d�dtd��d��|jd�d�d
td��d��|jd�d�dtd��dd�d��|jd�d�dtd��dd�d��|jd�d�d�dtd��d��|jd�d�d
dytd��d�|jd�d�dtd��d��|jd�d
td��d��|jd�d
td��d��|jd�d
td��d��|jd�d
td��d��|jd�d�d�g|jtd��d3�|jd�d�gd�|jtd��db�|jd�d�gd�|jtdƒdb�|jd�d�d�d�d�d�ggd�|jtdʃdˍ|jd�d�tj|jttjjj��td΃dύ|jd�d�tjdҍdS)�z0 Standard options known to all dnf subcommands. zGeneral {prog} options)�progz-cz--configZconfig_file_pathNz
[config file]zconfig file location)r,rV�metavar�helpz-qz--quiet�quiet�
store_truezquiet operation)r,�actionrVrbz-vz	--verbosezverbose operation)rerVrbz	--versionzshow {prog} version and exitz
--installrootzset install rootz[path])rbraz--nodocs�store_constZnodocsZtsflagszdo not install documentations)re�constr,rbz--nopluginsZstore_falseZpluginszdisable all plugins)rerVr,rbz--enablepluginZenablepluginzenable plugins by namez[plugin])r,rVrerbraz--disablepluginZ
disablepluginzdisable plugins by namez--releaseverz:override the value of $releasever in config and repo files)rVrbz--setoptZsetoptsz%set arbitrary config and repo options)r,rVrerbz
--skip-brokenZskip_brokenz.resolve depsolve problems by skipping packagesz-hz--helpz
--help-cmdrbzshow command help)rer,rbz--allowerasingz;allow erasing of installed packages to resolve dependenciesz-bz--bestZbestz8try the best available package versions in transactions.)rer,rVrbz--nobestz2do not limit the transaction to the best candidatez-Cz--cacheonlyZ	cacheonlyz2run entirely from system cache, don't update cachez-Rz--randomwaitZ	sleeptimez	[minutes]zmaximum command wait time)r,�typerVrarbz-dz--debuglevelZ
debuglevelz
[debug level]zdebugging output level)r,rarVrbrhz
--debugsolverz)dumps detailed solving results into filesz--showduplicatesZshowdupesfromreposz2show duplicates, in repos, in list/search commandsz-ez--errorlevelzerror output level)rVrhrbz--obsoletesZ	obsoletesz�enables {prog}'s obsoletes processing logic for upgrade or display capabilities that the package obsoletes for info, list and repoquery)rVr,rerbz--rpmverbosityzdebugging output level for rpmz[debug level name])rVrbraz-yz--assumeyesz*automatically answer yes for all questionsz
--assumenoz)automatically answer no for all questionsz--enablerepor7z[repo]z]Enable additional repositories. List option. Supports globs, can be specified multiple times.)rer,rVrarbz
--disablerepozSDisable repositories. List option. Supports globs, can be specified multiple times.z--repoz--repoidrRzUenable just specific repositories by an id or a glob, can be specified multiple times)rar,rerVrbz--enableFZset_enabledz>enable repos with config-manager command (automatically saves)z	--disableZset_disabledz?disable repos with config-manager command (automatically saves)z-xz	--excludez
--excludepkgsZexcludepkgsz exclude packages by name or globz	[package])rVr,rerbraz--disableexcludesz--disableexcludepkgsZdisable_excludeszdisable excludepkgsz--repofrompathz[repo,path]zolabel and path to an additional repository to use (same path as in a baseurl), can be specified multiple times.)rVrerarbz--noautoremoveZclean_requirements_on_removez7disable removal of dependencies that are no longer usedz--nogpgcheckZgpgcheckz5disable gpg signature checking (if RPM policy allows)z--colorZcolorzcontrol whether color is used)r,rVrbz	--refreshZfreshest_metadataz2set metadata as expired before running the command)r,rerbz-4Z
ip_resolvezresolve to IPv4 addresses onlyZipv4)r,rVrbrergz-6zresolve to IPv6 addresses onlyZipv6z	--destdirz
--downloaddirZdestdirz!set directory to copy packages toz--downloadonlyZdownloadonlyzonly download packagesz	--commentZcommentzadd a comment to transactionz--bugfixz,Include bugfix relevant packages, in updates)rerbz
--enhancementz1Include enhancement relevant packages, in updatesz--newpackagez0Include newpackage relevant packages, in updatesz
--securityz.Include security relevant packages, in updatesz
--advisoryz--advisoriesZadvisoryz=Include packages needed to fix the given advisory, in updatesz--bzz--bzsZbugzillaz7Include packages needed to fix the given BZ, in updatesz--cvez--cvesZcvesz8Include packages needed to fix the given CVE, in updatesz--sec-severityz
--secseverityZCriticalZ	ImportantZModerateZLowZseverityzDInclude security relevant packages matching the severity, in updates)rUrVr,rerbz--forcearchZARCHz Force the use of an architecture)rar,rerUrb�command�?)�nargsrb)�add_argument_groupr�formatr�utilZMAIN_PROG_UPPER�add_argumentr<rSZadd_mutually_exclusive_group�int�	MAIN_PROGr6rDrBZSUPPRESSr_�sortedZrpmZ
_BASEARCH_MAP�keys)rZgeneral_grpZ
best_groupZ
repo_groupZenable_grouprrrr�s:























z!OptionParser._add_general_optionscCsHtjj|j�}tjj|jd�}||jkrD||f|j|<|jj|�dS)z- store usage info about a single dnf command.rN)rZi18nZucd�summary�aliasesrr�add)r�cmd�grouprt�namerrr�_add_cmd_usageds

zOptionParser._add_cmd_usagecCs&x t|j��D]}|j||�qWdS)z� store name & summary for dnf commands

        The stored information is used build usage information
        grouped by build-in & plugin commands.
        N)rr2rz)rZcli_cmdsrxrwrrr�add_commandslszOptionParser.add_commandscCs�td�td�d�}dtjj}xfd	D]^}||jkr4q$|d||7}x<t|jj��D]*}|j|\}}||krT|d||f7}qTWq$W|S)
z- get the usage information to show the user. zList of Main Commands:zList of Plugin Commands:)�main�pluginz%s [options] COMMAND
r|r}z
%s

z	%-25s %s
)r|r})rrrnrqrrrrrs)rZdesc�usageZgrpryrxrtrrr�	get_usageus

zOptionParser.get_usagecCs~dtjj|jf|_|j|_tj|jdd�|_	|j
|j	_
d|j	j_|j
dj|jj���|_|j|j_|j|j_|j|j�dS)Nz%s %sF)rz{} command-specific options)rrnrq�_basecmdr`rt�descriptionrB�ArgumentParserrr�_positionals�titlerlrm�
capitalizer�cmd_add_argumentro�_commandZ
set_argparser)rrirrr�_add_command_options�s



z!OptionParser._add_command_optionscsBt�fdd�|D��r0t�j�j�jf|�|�S�jj||�SdS)Ncsg|]}|d�jk�qS)r)Zprefix_chars)r'�arg)rrr�
<listcomp>�sz1OptionParser.cmd_add_argument.<locals>.<listcomp>)�allrhrror)rr[r\r)rrr��szOptionParser.cmd_add_argumentcCs`xZ|D]R}y|jd�Wqtk
rV}z"tjjtd�|t|�f��WYdd}~XqXqWdS)Nzutf-8zCannot encode argument '%s': %s)�encode�UnicodeEncodeErrorr�
exceptionsZConfigErrorr�str)rr[r�r]rrr�_check_encoding�s
zOptionParser._check_encodingcCs|j|�|j|�\}}|S)N)r��parse_known_args)rr[r1Z_unused_argsrrr�parse_main_args�s
zOptionParser.parse_main_argscCs2|j|�|j|�\}}|jj||�}||_|jS)N)r�r�r�
parse_argsZopts)rrir[r1Zunused_argsrrr�parse_command_args�s

zOptionParser.parse_command_argsNcs,|jr|j|jj7_tt|�j|�dS)N)r�_actionsr	rr)rZfile_)rrrr�szOptionParser.print_usagecsd|rH|js|jj|jkr$|j|�|j|jj7_|jj|jj�n
|j	�|_
tt|�j
�dS)N)rr�r�r�r�rZ_action_groupsr8r�rr~r	r�
print_help)rri)rrrr��s

zOptionParser.print_help)T)N)N)rrrr?rr$rBZActionr6r:Z
_AppendActionr<rDrSrTrZr_rrzr{rr�r�r�r�r�rr�rrr)rrr,s.
;	r)Z
__future__rZdnf.i18nrZdnf.utilrrBZdnf.exceptionsrZdnf.rpmZdnf.yum.miscZloggingZos.path�osr.r!Z	getLoggerr Z
HelpFormatterrr�rrrrr�<module>s
PK"�FZ�1ƽ1	1	%cli/__pycache__/format.cpython-36.pycnu�[���3

�ft`�@s8ddlmZddlmZddd�Zddd�Zdd	�Zd
S)
�)�unicode_literals)�long� c		Cs�ddddddddd	g	}|r d
}nd}d}d
}t|�d}|dkrDd}x$||krh||krh|d}||}qFWt|t�s~t|t�r�d}n|dkr�d}nd}|t|p�d
�|||fS)a�Return a human-readable metric-like string representation
    of a number.

    :param number: the number to be converted to a human-readable form
    :param SI: If is 0, this function will use the convention
       that 1 kilobyte = 1024 bytes, otherwise, the convention
       that 1 kilobyte = 1000 bytes will be used
    :param space: string that will be placed between the number
       and the SI prefix
    :return: a human-readable metric-like string representation of
       *number*
    r�k�M�G�T�P�E�Z�Yg@�@g�@i�r�Ngz%i%s%sgfffff�#@z%.1f%s%sz%.0f%s%s)�len�
isinstance�intr�float)	ZnumberZSIZspaceZsymbols�stepZthresh�depthZ	max_depth�format�r�/usr/lib/python3.6/format.py�
format_numbers4rcCsx|dks|dkr|rdSdSnV|td�kr.dSt|�}|d}|d}|rh|d}|d}d|||fSd	||fSdS)
a�Return a human-readable string representation of a number
    of seconds.  The string will show seconds, minutes, and
    optionally hours.

    :param seconds: the number of seconds to convert to a
       human-readable form
    :param use_hours: If use_hours is 0, the representation will
       be in minutes and seconds. Otherwise, it will be in hours,
       minutes, and seconds
    :return: a human-readable string representation of *seconds*
    Nrz--:--:--z--:--�infZInfinite�<z%02i:%02i:%02iz	%02i:%02i)rr)ZsecondsZ	use_hoursZminutesZhoursrrr�format_timeIsrcCsdjdd�|j�D��S)N�
css|]}d|VqdS)z  Nr)�.0�srrr�	<genexpr>hszindent_block.<locals>.<genexpr>)�join�
splitlines)rrrr�indent_blockgsr!N)rr)r)Z
__future__rZ
dnf.pycomprrrr!rrrr�<module>s
5
PK"�FZF�g����+cli/__pycache__/output.cpython-36.opt-1.pycnu�[���3

�ft`Z�@s�dZddlmZddlmZddlmZddlZddlZddlZddlZ	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZddlmZmZmZmZmZmZmZmZddlmZmZmZm Z m!Z!dd	l"m#Z#dd
l$m%Z%ddl&Z'ddl(Z'ddl)Z'ddl*Z'ddl+Z'ddl,Z'ddlZ'ddl-Z'ddl.Z'ddl/Z'e
j0d�Z1dd
�Z2Gdd�de3�Z4Gdd�de'j5j6�Z7Gdd�de'j5j8�Z9Gdd�de#�Z:ddd�Z;dS)z"Handle actual output from the cli.�)�absolute_import)�print_function)�unicode_literalsN)�
format_number�format_time)�_�C_�P_�ucd�fill_exact_width�
textwrap_fill�exact_width�select_short_long)�xrange�
basestring�long�unicode�sys_maxsize)�TransactionDisplay)�MergedTransactionWrapper�dnfcCsrtj|ftjd��}t|�}|d}||}|s@tjd|�}n|rR|jd|�t|�}tt|f|g|���S)N��)r)�	itertools�chain�repeat�len�extend�iter�list�zip)Z
cols_countZlabel�lst�leftZ
lst_lengthZright_countZ
missing_itemsZlst_iter�r#�/usr/lib/python3.6/output.py�_spread_in_columns6s
r%c@s
eZdZdZdmZejd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Ze
dd��Zedd��Zedd��Zdndd�Ze
dd��Zdd�Zdodd�Zdpd!d"�Zdqd#d$�Zd%d&�Zd'd(�Zd)d*�Zdrd,d-�Zdsd.d/�Zdtd0d1�Zidifd2d3�Zdud4d5�Zd6d7�Z d8d9�Z!d:d;�Z"d<d=�Z#d>d?�Z$d@dA�Z%dvdBdC�Z&dwdDdE�Z'dxdFdG�Z(dHdI�Z)dJdK�Z*dydLdM�Z+dNdO�Z,dPdQ�Z-dRdS�Z.dTdU�Z/dVdW�Z0dzdXdY�Z1d{dZd[�Z2ge3�fd\d]�Z4gfd^d_�Z5e6d`�e6d`�e6da�e6db�e6dc�e6dd�e6de�e6df�e6dg�e6dh�e6di�dj�Z7gfdkdl�Z8dS)|�Outputz+Main output class for the yum command line.� �z	^\*{0,2}/cCs$||_||_tjjj�|_d|_dS)N)�conf�baser�cli�termZTerm�progress)�selfr*r)r#r#r$�__init__IszOutput.__init__cCs0|jj}dd|}|jt||�d�}|||fS)Nz%s�=r')r,�columns�
fmtColumnsr )r.�col_data�rowZ
term_widthZrule�headerr#r#r$�_bannerOszOutput._bannerc	Cszdd�|dD�}xF|D]>}x8t|�D],\}}||}t|�}|j|d�d||<q&WqW|j|ddd�}tttj|��S)NcSsg|]
}t��qSr#)�dict)�.0rr#r#r$�
<listcomp>Vsz&Output._col_widths.<locals>.<listcomp>rrz  )�indent)�	enumerater�get�calcColumnsr�map�operator�neg)	r.�rowsr3r4�i�valZcol_dctZlength�colsr#r#r$�_col_widthsUs
zOutput._col_widthscCs(d}d}|s�n�t|t�s$|dkr2|jjd}n�|dkr<n�x�|jdd�j�D]�}|dkr`d}qN||jjkr~||jj|7}qN||jjkr�||jj|7}qN|jd�r�|dd�|jjkr�||jj|dd�7}qN|jd�o�|dd�|jjkrN||jj|dd�7}qNW|�r |jjd}||fS)	Nr�bold�normal�,r'zfg:r(zbg:)	�
isinstancerr,ZMODE�replace�splitZFG_COLOR�
startswithZBG_COLOR)r.�	highlight�hibeg�hiendZhighr#r#r$�
_highlight`s0

zOutput._highlightcKs$|j|�\}}|jj||||f|�S)N)rPr,�sub)r.ZhaystackrMZneedles�kwdsrNrOr#r#r$�_sub_highlight}szOutput._sub_highlightcCs4d}x*|D]"}||d|kr P||d7}q
W|S)z; Spaces left on the current field will help how many pkgs? rrr#)�currentZ	data_tupsr"�ret�tupr#r#r$�_calc_columns_spaces_helps�s
z!Output._calc_columns_spaces_helpscCs|jjS)N)r*�history)r.r#r#r$rX�szOutput.historycCs|jjS)N)r*�sack)r.r#r#r$rY�szOutput.sackNrrcCs�t|�}|}dg|}x&td|�D]}t||j��||<q"W|dkrN|jj}|dkrndg|d}|jd�|s�g}	xDtd|�D]6}||}
|
r�|	j|
dd�q�|	j||d�q�W|	dt|�7<|jj}t	|	�|kr�|	S|}|t	|�|dt
|�8}|d�s|d7}�x�|dk�r�d}d}
xptd|�D]b}|j|||||�}|�s`�q<|�r�||dk�r�|d|k�r��q<||k�r��q<|}|}
�q<W|�r||
jd�d||
}||
�r�|
|dk�r�|d8}||
|7<||8}�qd}x*td|�D]}||�s"�q|d7}�qW|�rz||}x:td|�D],}||�s\�qJ|||7<||8}�qJW|d8}||}x$td|�D]}|||7<�q�W|||||7<d}�qW|S)a�Dynamically calculate the widths of the columns that the
        fields in data should be placed into for output.

        :param data: a list of dictionaries that represent the data to
           be output.  Each dictionary in the list corresponds to a
           column of output. The keys of the dictionary are the
           lengths of the items to be output, and the value associated
           with a key is the number of items of that length.
        :param columns: a list containing the minimum amount of space
           that must be allocated for each row. This can be used to
           ensure that there is space available in a column if, for
           example, the actual lengths of the items being output
           cannot be given in *data*
        :param remainder_column: number of the column to receive a few
           extra spaces that may remain after other allocation has
           taken place
        :param total_width: the total width of the output.
           self.term.real_columns is used by default
        :param indent: string that will be prefixed to a line of
           output to create e.g. an indent
        :return: a list of the widths of the columns that the fields
           in data should be placed into for output
        Nrr����r[)
r�range�sorted�itemsr,�real_columns�appendrr1�sumr
rW�pop)r.�datar1�remainder_column�total_widthr:rDZpdata�dZfull_columns�colZ
default_widthZhelpsrCZthelps�diffZoverflowed_columnsZnormr#r#r$r=�s�



"




zOutput.calcColumnscCs|dkrd|fSd|fS)z$Returns tuple of (align_left, width)rTFr#)�widthr#r#r$�_fmt_column_align_widths
zOutput._fmt_column_align_widthcCsPt|�dkr|\}}d}}t|�dkr@|\}}}|j|�\}}t|�|||fS)NrZrr()rrPr
)r.r3rCrirNrOrMr#r#r$�	_col_datas
zOutput._col_datac
CsFt|�}t|�}g}x�|dd	�D]�}|j|�\}}}	}
|sP|d7}|j|�q"|j|�\}}t|�}||kr�|d7}|r�|j|	|d|||
g�q�|j|	d||||
g�n(|dd||d7}|j|	||
g�||7}|d7}q"W|j|d
�\}}}	}
|j|�\}}t||||	|
d�}|d|7}|j|�|t|�S)a.Return a row of data formatted into a string for output.
        Items can overflow their columns.

        :param columns: a list of tuples containing the data to
           output.  Each tuple contains first the item to be output,
           then the amount of space allocated for the column, and then
           optionally a type of highlighting for the item
        :param msg: a string to begin the line of output with
        :param end: a string to end the line of output with
        :return: a row of data formatted into a string for output
        Nrz%sz	%s%s%s%s r'z%s%s%s
)r"�prefix�suffixz%%s%sr[r[)	rrrkr`rjr
rr�tuple)
r.r1�msg�endrercr3rCrirNrOZ
align_leftZ	val_widthr#r#r$r2%s6


zOutput.fmtColumnsFcCsP|dkrd
}d||j|jf}|ddg}t||j|jf||�}t|j|��dS)a�Print a package as a line.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns are the package name, version,
           and repository
        N�(��z%s%s.%srG���������)rtrurv)�name�archr �evr�
_from_repo�printr2)r.�pkg�ui_overflowr:rMr1Zna�hi_colsr#r#r$�
simpleListTs
zOutput.simpleListc	CsN|dkrd}d|t|�f}|ddg}|j}t||f||�}t|j|��dS)	a(Print a package as a line, with the package itself in envra
        format so it can be passed to list/install/etc.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns the are the package envra and
           repository
        N�?rsz%s%srG�����)r�r�)r
�ui_from_repor r{r2)	r.r|r}r:rMr1Zenvrar~Zridr#r#r$�simpleEnvraListjs
zOutput.simpleEnvraListcCstt|j��dS)z.Print a package as a line containing its name.N)r{r
rw)r.r|r#r#r$�simple_name_list�szOutput.simple_name_listcCstt|��dS)z/Print a package as a line containing its NEVRA.N)r{r
)r.r|r#r#r$�simple_nevra_list�szOutput.simple_nevra_listcCs�t|�}|jj}|st}n|dkr&d}d|dd}|s>|St|�}t||||d�}|jd�dkr�||dkr�t|||d	d�}|S)
z�Return a key value pair in the common two column output
        format.

        :param key: the key to be formatted
        :param val: the value associated with *key*
        :return: the key value pair formatted in two columns for output
        �r'rZz: )riZinitial_indentZsubsequent_indent�
rr(z
     ...: )r
r,r_rr
r�count)r.�keyrCZkeylenrDZnxtrUr#r#r$�
fmtKeyValFill�s zOutput.fmtKeyValFillr0cCsht|�}|jjd}t|�}||dkr6|d}}n$|||d}|||t|�}d|||fS)a�Format and return a section header.  The format of the
        header is a line with *name* centered, and *fill* repeated on
        either side to fill an entire line on the terminal.

        :param name: the name of the section
        :param fill: the character to repeat on either side of *name*
          to fill an entire line.  *fill* must be a single character.
        :return: a string formatted to be a section header
        rZ�z%s %s %s)r
r,r1r
r)r.rwZfillrDZname_lenZbegrpr#r#r$�
fmtSection�s
zOutput.fmtSectioncs�dd�}�fdd�}g}�j|�\}}tdtdd�tdd��}|j||d	||j|f��|jrv|j|td
�|j��tdtdd�tdd��}|j|||j��|j|td�|j��tdtdd
�tdd��}|j|||j	��tdtdd�tdd��}|j||t
t|j����|j|td�|j
��tdtdd�tdd��}|j|||j��|j�r��jj|�}	|	�r�|j|td�|	���jj�r>|j|td�|j��|j|td�tjj|j���|j�r�|j|td�tjj|j����jj|�}
|
�r>yt|
jj��}Wntk
�r"d}YnX|j|td��j|���tdtdd�tdd��}|j|||j ��|j!�r�|j|td�t"|j!���|j|td�|j#��tdtdd�tdd��}|j|||j$��dj%|�S)z�Print information about the given package.

        :param pkg: the package to print information about
        :param highlight: highlighting options for the name of the
           package
        cSsdjt|dd�dt|�g�S)Nr'��:)�joinr�str)r�rCr#r#r$�format_key_val�sz)Output.infoOutput.<locals>.format_key_valcs�jt|dd�d|pd�S)Nr�z : r)r�r)r�rC)r.r#r$�format_key_val_fill�sz.Output.infoOutput.<locals>.format_key_val_fillr��short�Namerz%s%s%sZEpoch�VersionZRelease�Arch�Architecture�SizeZSource�Repo�
Repositoryz	From repoZPackagerZ	BuildtimezInstall timeNzInstalled byZSummaryZURLZLicenseZDescriptionr�)&rPrrr`rwZepochr�version�releaserxr�float�_sizeZ	sourcerpm�repoid�_from_systemrXZrepor)�verboseZpackagerr�utilZnormalize_timeZ	buildtimeZinstalltimeZpackage_data�int�_itemZgetInstalledBy�
ValueError�_pwd_ui_username�summary�urlr
�license�descriptionr�)r.r|rMr�r�Zoutput_listrNrOr�Zhistory_repoZhistory_pkg�uidr#)r.r$�
infoOutput�sh

zOutput.infoOutputc
Cs�|\}}|dk	rV|jj}|jtjkr,|jj}|j|||d�|j||d|jjd�dS|j�}d|j	|j
f}|j}	td||	||f�dS)	a{Print a simple string that explains the relationship
        between the members of an update or obsoletes tuple.

        :param uotup: an update or obsoletes tuple.  The first member
           is the new package, and the second member is the old
           package
        :param changetype: a string indicating what the change between
           the packages is, e.g. 'updates' or 'obsoletes'
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and repository
        N)r1rMr'r�)r1r:rMz%s.%sz%-35.35s [%.12s] %.10s %-20.20sz    )
r)�color_update_remote�reponame�hawkeyZSYSTEM_REPO_NAME�color_update_localr�color_update_installedZcompactPrintrwrxr�r{)
r.ZuotupZ
changetyper1Z	changePkgZinstPkgZchiZ	c_compactZ	i_compactZc_repor#r#r$�updatesObsoletesLists
zOutput.updatesObsoletesListcCsl|dk�rht|�dk�r`td|�t�}|dkrbi}x"|D]}	|	|t|	�t|	j�<q<W|j�}x�t|�D]�}	|	j|	jf}
d}|
|kr�|j	dd	�}nD|	j
||
�r�|j	d
d	�}n(|	j||
�r�|j	dd�}n|j	d
d	�}|dkr�|j|	d||d�ql|dk�r|j
|j|	|d�d�ql|dk�r0|j|	�ql|dkrl|j|	�qlqlW|�r`tdjt|���t|�SdS)a�Prints information about the given list of packages.

        :param lst: a list of packages to print information about
        :param description: string describing what the list of
           packages contains, e.g. 'Available Packages'
        :param outputType: The type of information to be printed.
           Current options::

              'list' - simple pkg list
              'info' - similar to rpm -qi output
              'name' - simple name list
              'nevra' - simple nevra list
        :param highlight_na: a dictionary containing information about
              packages that should be highlighted in the output.  The
              dictionary keys are (name, arch) tuples for the package,
              and the associated values are the package objects
              themselves.
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and
           repository
        :param highlight_modes: dictionary containing information
              about to highlight the packages in *highlight_na*.
              *highlight_modes* should contain the following keys::

                 'not_in' - highlighting used for packages not in *highlight_na*
                 '=' - highlighting used when the package versions are equal
                 '<' - highlighting used when the package has a lower version
                       number
                 '>' - highlighting used when the package has a higher version
                       number
        :return: number of packages listed
        r�inforw�nevrarz%sFznot inrGr0�>rF�<T)r}rMr1)rMr�N)rr�rwr�)rr{�setr�rz�valuesr]rwrxr<Zevr_eqZevr_ltr�addr�r�r�r�)r.r!r�Z
outputTypeZhighlight_nar1Zhighlight_modesZinfo_setZunique_item_dictr|r�rMr#r#r$�listPkgs3s@'



zOutput.listPkgscCs2ttd��ttd��f}ttd��ttd��f}||}x�|dkrJtd�}d}|jjrl|dkrhtd�}n|}ytjj|�}Wn.tk
r�Yntk
r�|d	}YnXt|�j	�}t
|�d	kr�|jjr�|d	n|d	}||kr�Pd|ko�d|k�r|d	}Pd|kr:d|kr:|d	}Pq:W||k�r.d
SdS)z�Get a yes or no from the user, and default to No

        :msg: String for case with [y/N]
        :defaultyes_msg: String for case with [Y/n]
        :return: True if the user selects yes, and False if the user
           selects no
        �y�yes�n�noNzIs this ok [y/N]: rzIs this ok [Y/n]: rTF)r
rr)Z
defaultyesrZi18nZ	ucd_input�EOFError�KeyboardInterrupt�lowerr)r.roZdefaultyes_msgZyuiZnuiZauiZchoicer#r#r$�userconfirm�s>

zOutput.userconfirmcCs~|jj�j�j�}|jj�j�j�}i}xPtjtt|��d�D]6}||kr^||d||<q@||kr@||d||<q@W|S)Nrr)	rY�query�	installedZ
_name_dict�	availablerrrr )r.�sectionsr�r�rf�pkg_namer#r#r$�_pkgs2name_dict�szOutput._pkgs2name_dictc	Cs�i}i}x~tjtt|��d�D]d}|j|�}|dkr8q tt|��t|j�}tt|j��}|j|d�d||<|j|d�d||<q W||fS)Nrr)	rrrr r<r
r
�GRP_PACKAGE_INDENTr�)	r.r��	name_dictZ
nevra_lengthsZrepo_lengthsr�r|Znevra_lZrepo_lr#r#r$�_pkgs2col_lengths�s
zOutput._pkgs2col_lengthscCs$x|D]}td|j|f�qWdS)Nz%s%s)r{r�)r.�	pkg_namesrwr#r#r$�_display_packages�s
zOutput._display_packagescCspxj|D]b}y||}Wn(tk
r>td|j|f�wYnXd}|jsR|jj}|j|d|j||d�qWdS)Nz%s%sFT)r}r:rMr1)�KeyErrorr{r�r�r)Zcolor_list_available_installr�)r.r�r�r1rwr|rMr#r#r$�_display_packages_verbose�s
z Output._display_packages_verbosec
Csldd�}tdtd�|j�|jj}|r@ttd�t|j��|jr`ttd�t|j�p\d�|jrxttd�|j�td	�||j	�ftd
�||j
�ftd�||j�ftd�||j�ff}|�r0|j
|�}|j||�}|j|�}|d
|df}xp|D].\}}	t|	�dk�rq�t|�|j|	||�q�Wn8x6|D].\}}	t|	�dk�rP�q6t|�|j|	��q6WdS)z�Output information about the packages in a given group

        :param group: a Group object to output information about
        cSstdd�|D��S)Ncss|]}|jVqdS)N)rw)r8r|r#r#r$�	<genexpr>�sz?Output.display_pkgs_in_groups.<locals>.names.<locals>.<genexpr>)r])�packagesr#r#r$�names�sz,Output.display_pkgs_in_groups.<locals>.namesr�z	Group: %sz
 Group-Id: %sz Description: %srz
 Language: %sz Mandatory Packages:z Default Packages:z Optional Packages:z Conditional Packages:rrN)r{r�ui_namer)r�r
�id�ui_descriptionZ	lang_onlyZmandatory_packagesZdefault_packagesZoptional_packagesZconditional_packagesr�r�r=rr�r�)
r.�groupr�r�r�r�Zcol_lengthsr1�section_namer�r#r#r$�display_pkgs_in_groups�s8

zOutput.display_pkgs_in_groupscCs�dd�}ttd�|j�|jjr8ttd�t|j��|jr\t|j�pJd}ttd�|�td�||j�ftd�||j	�ff}x0|D](\}}t
|�d	kr�q�t|�|j|�q�Wd
S)z�Output information about the packages in a given environment

        :param environment: an Environment object to output information about
        cSstdd�|D��S)Ncss|]}|jVqdS)N)rw)r8r�r#r#r$r�	szFOutput.display_groups_in_environment.<locals>.names.<locals>.<genexpr>)r])�groupsr#r#r$r�sz3Output.display_groups_in_environment.<locals>.nameszEnvironment Group: %sz Environment-Id: %srz Description: %sz Mandatory Groups:z Optional Groups:rN)r{rr�r)r�r
r�r�Zmandatory_groupsZoptional_groupsrr�)r.Zenvironmentr�r�r�r�r�r#r#r$�display_groups_in_environmentsz$Output.display_groups_in_environmentcsVd���fdd�	����fdd�}�jjr4d�}nd�j�jf}�j|�jpRd�}�r|�d	krj�jj��j|��d
d�}t|�|d	kr��jj	}|s�d	Stt
d��j�d}d}	�xXt|�D�]J}
�j|
kr�d
}	qˆj
|
k�rt
d
�}�||
|d
d�d
}qˆj|
k�r,t
d�}�||
|dd�d
}qˆj|
k�rVt
d�}�||
|dd�d
}q�||
|��rhd
}q�t
d�}x��jD]�}t|�}tj||
��r��|||dd�d
}n`|j�d}
td��t�fdd�|
D���r�|
j�d}n|
}tj|
|��rx�|||dd�d
}�qxWq�Wt||	g��sLx*t|�D]}
t
d�}�||
|dd��q*Wt�d	S)a�Output search/provides type callback matches.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        :param verbose: whether to output extra verbose information
        :param highlight: highlighting options for the highlighted matches
        Fcsd|sttd��t|�pd}|dkr(dS�r>�j|��dd�}|rTt�j||��nt||�dS)Nz
Matched from:rT)�ignore_case)r{rr
rSr�)r��itemZprinted_headline�can_overflow)rM�matchforr.r#r$�print_highlighted_key_item'sz8Output.matchcallback.<locals>.print_highlighted_key_itemcsT�jj|�sdStd�}d}x2�jD](}tj||�r$�|||p@|dd�d}q$W|S)NFzFilename    : %s)r�T)�FILE_PROVIDE_RE�matchr�files�fnmatch)r��
printed_matchr�Z
file_match�filename)�por�r.r#r$�print_file_provides4sz1Output.matchcallback.<locals>.print_file_providesz%s : z%s.%s : rNT)r�zRepo        : %szDescription : )r�zURL         : %szLicense     : %szProvide    : %srz=<>c3s|]}|�kVqdS)Nr#)r8�char)�possibler#r$r�psz'Output.matchcallback.<locals>.<genexpr>zOther       : %s)F)r)Zshowdupesfromreposrwrxr�r�Zcolor_search_matchrSr{r�rr�r�r�r�r�Zprovidesr�r�rK�any)r.r�r�r�r�rMr�ror�Z
name_matchr�r�ZprovideZ
first_provideZitem_newr#)rMr�r�r�r�r.r$�
matchcallbacksp


zOutput.matchcallbackcCs|j|||dd�S)aqOutput search/provides type callback matches.  This will
        output more information than :func:`matchcallback`.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        T)r�)r�)r.r�r�r�r#r#r$�matchcallback_verboses
zOutput.matchcallback_verbosec
Csd}d}d}d}x�|D]�}yrt|j�}||7}y|j�r@||7}Wntk
rVYnX|s^wyt|j�}Wntk
r�YnX||7}Wqtk
r�d}td�}	tj|	�PYqXqW|�s|r�tjtd�t	|��||k�r�tjtd�t	||��|�rtjtd�t	|��dS)	z�Report the total download size for a set of packages

        :param packages: a list of package objects
        :param installonly: whether the transaction consists only of installations
        rFTz2There was an error calculating total download sizezTotal size: %szTotal download size: %szInstalled size: %sN)
r�r�ZverifyLocalPkg�	ExceptionZinstallsizer�logger�errorr�r)
r.r�Zinstallonly�totsizeZlocsizeZinsizer�r|�sizeror#r#r$�reportDownloadSize�sD






zOutput.reportDownloadSizecCsrd}d}xL|D]D}y|j}||7}Wqtk
rPd}td�}tj|�PYqXqW|sntjtd�t|��dS)zmReport the total size of packages being removed.

        :param packages: a list of package objects
        rFTz-There was an error calculating installed sizezFreed space: %sN)r�r�rr�r�r�r)r.r�r�r�r|r�ror#r#r$�reportRemoveSize�s

zOutput.reportRemoveSizecCs*|sdSg}g}|jr$|jtd��xJ|jD]@}t|j|��}|j|�}|rR|jn|}	|jtdd|	|��q,W|j	r�|jtd��x@|j	D]6}t|j
|��}|jj|�j}	|jtdd|	|��q�W|�r |j
|�}
x$|D]}|j|jt||
�d��q�W|j|
td�td�ddf�|d	d	�<d
j|�S)Nz+Marking packages as installed by the group:r��@z)Marking packages as removed by the group:r'ZGroup�Packagesrrr�)Z
new_groupsr`rrZadded_packagesZ_group_by_idr�rr%Zremoved_groupsZremoved_packagesr�r<rEr2r r6r�)r.�compsrXrh�outrAZgrp_idZpkgsZgroup_objectZgrp_namer3r4r#r#r$�list_group_transaction�s.


$zOutput.list_group_transactioncQs�tjtjBtjBtjBtjBtjB}t�}t�}|dkr<g}tj	j
|�}g}iiid�}d}	gf�fdd�	}
tjjr|t
d�nt
d�}�xPtdd	�|jftdd
�|jftdd�|jf||jft
d�|jft
d
�|jft
d�|jft
d�|jft
d�|jftdd�|jfg
D]�\}}
g}i}xL|D]D}|jtjjk�r6�qx(|jj�D]}|j|t��j |��qBW�qWx\t!|
dd�d�D]H}|jtjj"tjj#gk�r��qxt!|j$|jg��}|
|||	|j%|�}	�qxW|j&||f��qWt!t'�jj(j)��j*��}|�rXt
d�}g}xF|D]>\}}x2t+|�D]&}|j&d||fddddddf��qW�qW|j&||f�t!t'�jj(j,��j*��}|�r�t
d�}g}xF|D]>\}}x2t+|�D]&}|j&d||fddddddf��q�W�q�W|j&||f�t!t'�jj(j-��j*��}|�r<t
d�}g}x*|D]"\}}|j&|d|ddddf��qW|j&||f�t!t'�jj(j.��j*��}|�r�t
d�}g}x:|D]2\}}|j&|dd|d|dfddddf��qlW|j&||f�t!t+�jj(j/���}|�rt
d�}g}x&|D]}|j&|ddddddf��q�W|j&||f�t!t+�jj(j0���}|�rht
d�}g}x&|D]}|j&|ddddddf��q8W|j&||f��jj1�rNdd �}�jj1j2j3}|�r�t
d!�}g}x |j4�D]}|j&||���q�W|j&||f��jj1j2j5} | �rt
d"�}g}x | j4�D]}|j&||���q�W|j&||f��jj1j2j6}!|!�rdt
d#�}g}x |!j4�D]}|j&||���q>W|j&||f��jj1j7j3}"|"�r�t
d$�}g}x |"j4�D]}|j&||���q�W|j&||f��jj1j7j5}#|#�rt
d%�}g}x |#j4�D]}|j&||���q�W|j&||f��jj1j7j6}$|$�rNt
d&�}g}x |$j4�D]}|j&||���q(W|j&||f��j8j9�rv�jj:j;|@�rvg}�jj<d'|d(�\}}t'd)d*�|D��}x"t!|�D]}%|
|||	|%g�}	�q�Wd+g}&�jj=�s�|&j&d,�t
d-�d.j>|&�}'d/d0�|D�}|j&|'|f�g}x*t!|j*��D]\}(}%|
|||	|%g�}	�qWt
d1�}'�jj8j?�rN|'d}'n|'t
d2�}'d3d0�|D�}|j&|'|f��j@jA})|d4�rˆjj(jB��rˆjj1�o��jj1j7�p��jj1j2�r�dS|d4i|d5|d6ig}d|	ddd7g}*�jC|d8|*d9|d:�}*|*\}+}	},}-}.tD|*�d7}/|)|/k�r&|)n|/})tE|+td;d<�td=d<��}0tE|	td;d>�td=d?��}1tE|,td;d@�td=d@��}2tE|-td;dA�td=dB��}3tE|.td;dC�td=dC��}4dDdE|)�jF|0|+f|1|	f|2|,f|3|-f|4|.ffd.�dE|)fg}5x�|D]�\}}|�	rdF|}6x�|D]�\}7}8}9}:};}<}=|7|+|=f|8|	f|9|,f|:|-f|;|.ff}*�jF|*d.dG�}>�jG�j8jH�\}?}@xBt!|<�D]6}AdHt
dI�dJ}B|B|?|AjI|@|AjJ|AjKf;}B|>|B7}>�	qrW|6|>}6�	q
W|�r�|5j&|6��q�W|5j&t
dK�dE|)�t
dL�tL|j�tL|j�tL|j�tL|j�dft
dM�tL|j�dft
dN�tL|j�tL|j�tL|j�dft
dO�tL|j�dft
dP�tL|�tL|�dff}Cd}Dd}Ed}Fd}Gx�|CD]�\}}H}I|H�
r�|I�
r��
q�tMd<dQ|H�}JtN|�}KtNtO|H��}LtN|J�}M|I�
r�tNtO|I��}Nnd}NtP|K|D�}DtP|L|E�}EtP|M|F�}FtP|N|G�}G�
q�Wx�|CD]�\}}H}ItMd<dQ|H�}J|I�r�tMdRdS|I�}OtQ||D�}P|H�r�dT}>|5j&|>|P|E|HdU|F|Jf|G|I|Of�n$dV}>|5j&|>|P|E|Fd.|G|I|Of�n&|H�r$dW}>|5j&|>tQ||D�|E|H|Jf��q$Wdj>|5�S)Xz]Return a string representation of the transaction in an
        easy-to-read format.
        N)r��v�rrcs�|j\}}}}}	|j}
|j}t|j�}|dkr2d}|jrB�jj}
n|jrR�jj	}
n�jj
}
|j|||
||||
f�xRdt|�fdt|
�fdt|�ffD],\}}||j
|d�|||d7<q�Wt|t|��}|S)NZnoarchr�r�r�rr)Zpkgtupryrzrr�r�r)r�Z
_from_cmdliner�r�r`r�
setdefault�max)�linesrc�a_widr��	obsoletesr��a�er�r�ryr�r��hirf)r.r#r$�	_add_line�s"


,z*Output.list_transaction.<locals>._add_linez Installing group/module packageszInstalling group packagesr�Z
InstallingZ	UpgradingZReinstallingzInstalling dependencieszInstalling weak dependenciesZRemovingzRemoving dependent packageszRemoving unused dependenciesZDowngradingcSs|jS)N)r|)�xr#r#r$�<lambda>4sz)Output.list_transaction.<locals>.<lambda>)r�zInstalling module profilesz%s/%srzDisabling module profileszEnabling module streamszSwitching module streamsz%s -> %srzDisabling moduleszResetting modulescSs&|j�}|r|ntd�ddddddfS)Nz<name-unset>r)ZgetNamer)r�rwr#r#r$�format_lineqsz,Output.list_transaction.<locals>.format_linezInstalling Environment GroupszUpgrading Environment GroupszRemoving Environment GroupszInstalling GroupszUpgrading GroupszRemoving GroupsT)Zreport_problems�transactioncss|]}t|�|fVqdS)N)r�)r8r|r#r#r$r��sz*Output.list_transaction.<locals>.<genexpr>z--bestz--allowerasingzSSkipping packages with conflicts:
(add '%s' to command line to force their upgrade)r'cSsg|]}|dd�d�qS)Nrrr[)rr#)r8rBr#r#r$r9�sz+Output.list_transaction.<locals>.<listcomp>z,Skipping packages with broken dependencies%sz or part of a groupcSsg|]}|dd�d�qS)Nrrr[)rr#)r8rBr#r#r$r9�sr�r�r��z  rZ)r:r1rdrer�ZPackagerr�r�r�r�r�r�z	%s
%s
%s
r0z%s:
r�z     Z	replacingz  %s%s%s.%s %s
z
Transaction Summary
%s
�Install�UpgradeZRemove�	DowngradeZSkipr�zDependent packagezDependent packagesz%s  %*d %s (+%*d %s)
z%-*sz%s  %s  ( %*d %s)
z%s  %*d %s
)Rr�ZUPGRADEZUPGRADE_ALLZDISTUPGRADEZDISTUPGRADE_ALLZ	DOWNGRADE�INSTALLr�rr�Z_make_listsr*ZWITH_MODULESrrr�ZupgradedZreinstalledZinstalled_groupZ
installed_depZinstalled_weakZerasedZ
erased_depZerased_cleanZ
downgraded�action�libdnfrZTransactionItemAction_OBSOLETEDr�Z
getReplacedByr�r�r]ZFORWARD_ACTIONSZTransactionItemAction_REMOVEr<r|r`r7Z_moduleContainerZgetInstalledProfilesr^rZgetRemovedProfilesZgetEnabledStreamsZgetSwitchedStreamsZgetDisabledModulesZgetResetModulesZ_history�envZ
_installedr�Z	_upgradedZ_removedr�r)ZbestZ_goal�actionsZ_skipped_packagesZ_allow_erasingr�Zupgrade_group_objects_upgrader,r1Z	isChangedr=rarr2rPr�rwrxryrr	r
rr�r)Qr.rreZforward_actionsZskipped_conflictsZskipped_brokenZ
list_bunchZ
pkglist_linesrcr�rZ
ins_group_msgrZpkglistr�Zreplaces�tsirBZ	obsoletedZinstalledProfilesrwZprofilesZprofileZremovedProfilesZenabledStreams�streamZswitchedStreamsZdisabledModulesZresetModulesrZinstall_env_groupr�Zupgrade_env_groupZremove_env_groupZ
install_groupZ
upgrade_groupZremove_groupr|ZrecommendationsZskip_strr�Zoutput_widthr1Zn_widZv_widZr_widZs_widZ
real_widthZmsg_packageZmsg_archZmsg_versionZmsg_repositoryZmsg_sizer�Ztotalmsgr�rryr�r�rrrorNrOZobspoZappendedZsummary_dataZmax_msg_actionZ
max_msg_countZmax_msg_pkgsZmax_msg_depcountr�ZdepcountZmsg_pkgsZlen_msg_actionZ
len_msg_countZlen_msg_pkgsZlen_msg_depcountZmsg_deppkgsZ
action_msgr#)r.r$�list_transaction�s�$
 ,,.





$







zOutput.list_transactionc
s��fdd�}|sdSg}g}|jdj|��x|D]}|jt|��q2Wxd
D]}|||�}|rNPqNW|sz�jjdg}xD|r�|dt|��}	|jdj�jt|	|����|t|�d�}q|W|S)Ncs�t|�|krgS�jj|dd}|dkr0gSdg|}d}x`|D]X}t|�||kr�t|�||}||krtgS||8}t|�||<|d7}|t|�;}qDWx8tt|��D](}||||7<||d9<q�W|S)zb Work out how many columns we can use to display stuff, in
                the post trans output. rrZrr[)rr,r1r\)�msgs�numr"Zcol_lensrgrorh)r.r#r$�
_fits_in_colsKs(

z+Output._pto_callback.<locals>._fits_in_colsrz{}:���r	r�r(rZz  {})rrrr	r�r(rZ)r`�formatr�r,r1rr2r )
r.rZtsisrr�rrrrDZcurrent_msgsr#)r.r$�
_pto_callbackHs&


zOutput._pto_callbackcCstjj|j||j�S)z{
        Return a human-readable summary of the transaction. Packages in sections
        are arranged to columns.
        )rr�Z_post_transaction_outputr*r)r.rr#r#r$�post_transaction_outputzszOutput.post_transaction_outputcCs@d}|jjdkr6tjjjtjd�}tjjjtjd�|_|t�fS)z_Set up the progress callbacks and various
           output bars based on debug level.
        NrZ)Zfo)	r)Z
debuglevelrr+r-ZMultiFileProgressMeter�sys�stdout�DepSolveProgressCallBack)r.�progressbarr#r#r$�setup_progress_callbacks�s
zOutput.setup_progress_callbackscCsz|dkrdS|jj}tjd|�tdtj�|�}dt||�t|�t|�f}tt	d�|t
|��|}tj|�dS)a!Outputs summary information about the download process.

        :param remote_size: the total amount of information that was
           downloaded, in bytes
        :param download_start_timestamp: the time when the download
           process started, in seconds since the epoch
        rN�-g{�G�z�?z %5sB/s | %5sB %9s     ZTotal)r,r1r�r�r��timerrrrr)r.Zremote_sizeZdownload_start_timestampriZdl_timeror#r#r$�download_callback_total_cb�s
z!Output.download_callback_total_cbcCs�t�}t�}d}xD|D]<}|jtjjtjjfkr2q|j|j�|j|j�|d7}qWt	|�dkrt|dj
t|��fS|dj
t|��fS)Nrrz, r)
r�rrrZTransactionItemAction_UPGRADEDZ TransactionItemAction_DOWNGRADEDr��action_nameZaction_shortrr�r]r)r.ZhpkgsrZ
actions_shortr�r|r#r#r$�_history_uiactions�s
zOutput._history_uiactionsc	st|t�r��fdd�|D�S|dks.|dkrftd�}td�d|}�dk	r^t|��kr^|}t|�Sdd	�}yrtjt|��}|t|j�d
d�}t|j	�}d||f}�dk	r�t|��kr�d
||�|f}t|��kr�d|}|St
k
�r�t|�SXdS)Ncsg|]}�j|���qSr#)r�)r8�u)�limitr.r#r$r9�sz+Output._pwd_ui_username.<locals>.<listcomp>�����z<unset>ZSystemr'cWs|j|�}|sdS|dS)zf Split gives us a [0] for everything _but_ '', this function
                returns '' in that case. rr)rK)�text�argsrUr#r#r$�
_safe_split_0�s
z.Output._pwd_ui_username.<locals>._safe_split_0�;rZz%s <%s>z%s ... <%s>z<%s>)r*r+)rIrrrr
�pwd�getpwuidr�Zpw_gecosZpw_namer�)	r.r�r)Zloginidrwr.�user�fullnameZ	user_namer#)r)r.r$r��s*

zOutput._pwd_ui_usernamec
Csj|jj|�}|jjdkr"ddg}nV|jjdkr6dg}nBt�}d}d}x2|D]*}|d7}|jdkrh|d7}|j|j�qJWd}t|�dkr�t	d�}	|j
j}
|
dkr�tj
j
jd�}
|
dkr�d	}
|
d
kr�|
dnd	}nt	d�}	d	}t|tt	d
�dd�t|	||�tt	d�dd�tt	d�dd�tt	d�dd�f�d"|dddddd}td|�d}|dk�rlt|�}x�|D]�}t|�dk�r�|j�p�d}	n|j|jd	�}	t|	�}	tjdtj|j��}
|j|j��\}}t|	||�}	t|dd�}d}}|jdk�rd}}n"|j�rd}}n|j�r&d}}|j�r2d}|j�r>d }t||j|	|
||fd!||f��qrWdS)#z�Output a list of information about the history of yum
        transactions.

        :param tids: transaction Ids; lists all transactions if empty
        ZusersrrZZcommandsrNz%s | %s | %s | %s | %szCommand line��O�7z	User nameZIDrz
Date and timersz	Action(s)�ZAlteredrr(r#z%6u | %s | %-16.16s | %s | %4uTrz%Y-%m-%d %H:%Mr'�*�#�Er�r�z%s%s�	)rX�oldr)Zhistory_list_viewr��cmdliner��loginuidrrr,r_rr+Z_real_term_widthr{r�reversedr�r
r$�strftime�	localtime�
beg_timestampr'rc�return_codeZ	is_output�altered_lt_rpmdb�altered_gt_rpmdb�tid)r.�tids�reverse�transactionsZuids�doneZblanksr�fmtrwZ	real_colsZ
name_widthZtable_widthZtmrZuiactsZrmarkZlmarkr#r#r$�historyListCmd�sp



 



zOutput.historyListCmdcCst|�}|jj�}|dkr8tjtd��tjjtd���|j	}|j
}g}|sz|jjdd�}|dk	r�|j|j	�|j|�n|jj
|�}|s�tjtd��tjjtd���d
\}}	d}
d}|r�t|�}|j�\}}	�x|D]�}|dk	o�|j	|k�r|jj�}
|jt|
��d}d}|j	|k�rL|j	|	k�rL|
dk�r<t|�}
n
|
j|�d}n`|
dk	�r�|�rhtd	d
�d}|j|
�d}
|�r�|j�\}}	|j	|k�r�|j	|	k�r�|}
d}|s�|�r�td	d
�d}|j||�q�W|
dk	�r�|�r�td	d
�|j|
�dS)z�Output information about a transaction in history

        :param tids: transaction Ids; prints info for the last transaction if empty
        :raises dnf.exceptions.Error in case no transactions were found
        NzNo transactionszFailed history infoF)Zcomplete_transactions_onlyz$No transaction ID, or package, givenrTr#r5r[r[)r[r[)r�rX�lastr��criticalrr�
exceptions�ErrorrF�end_rpmdb_versionr�r`r<r]rbrYZ_rpmdb_versionZcompare_rpmdbvr�r�merger{�_historyInfoCmd)r.rG�patsZmtidsrMZlasttidZlastdbvrIZbmtidZemtidZmobjrJZtransZrpmdbvZmergedr#r#r$�historyInfoCmd#sl







zOutput.historyInfoCmdcs||j}t|t�r|g}�fdd�|D�}td�td�td�td�d��td�td�td	�td
�d��tdd�t�j��t�j��D��}|�d<|�d<d4���fdd�	}|j�}t|�dkr�t	td�d|d|d5f�nt	td�|d�t
|j�}tj
dtj|��}	t	td�|	�|jdk	�rT|j�rDt	td�|jd�nt	td�|j�|jdk	�r�|j}
tj
dtj|
��}|
|}|d6k�r�td�|}nH|d8k�r�td�|d}n,|d;k�r�td�|d<}ntd�|d>}t	td �||�|jdk	�r(|j�rt	td!�|jd�nt	td!�|j�t|ttf��rvt�}
xD|D],}||
k�rV�qD|
j|�t	td"�|��qDWnt	td"�|�t|jttf��r|j}|ddk�r�t	td#�dtd$�d�|dd�}nHt|��s�t	td#�td%��n*|�rnt	td#�td&�d'jd(d�|D���nV|jdk�r<t	td#�dtd$�d�n2|j�r\t	td#�td)�|j�nt	td#�td%��t|jttf��r�t�}
x(|jD]}||
k�r��q�|
j|��q�Wt	td*�|�nt	td*�|j�|jdk	�r t|jttf��rx0|jD]}t	td+�|��q�Wnt	td+�|j�|jdk	�rpt|jttf��r`x0|jD]}t	td,�|��qFWnt	td,�|j�|j�}|�r�t	td-��d}x(|D] }tt|��}||k�r�|}�q�Wx|D]}||d.d|d/��q�Wt	td0���j||�|j �}|�r4t	td1��d}x$|D]}|d7}t	d2||��qW|j!�}|�rxt	td3��d}x$|D]}|d7}t	d2||��qXWdS)?Ncsg|]}�j|��qSr#)r�)r8r�)r.r#r$r9tsz*Output._historyInfoCmd.<locals>.<listcomp>Z	InstalledZErased�Upgraded�
Downgraded)rBr�or�z
Not installedZOlderZNewercSsg|]}t|��qSr#)r)r8rr#r#r$r9zs�maxlenFrTc	s�d|}|r�}n�}|d}�jj�j�j|jd�j�}	|	sH|d}nB�jj|	d�}
|
r�|j|
�}|dkrpn|dkr�|d}n|d}|r��j	d�\}}
n�j	d	�\}}
t
||d
�}d}|r�|j�}td||||
|t
|�|f�dS)
Nr'rB)rwrrrXr�rFrGrYrz%s%s%s%s %-*s %s)rYr�r�ZfiltermrwZrunrX�packageZcomparerPrr�r{r�)r|Z
prefix_len�
was_installedrM�pkg_max_lenZ	show_reporlZ_pkg_states�stateZipkgsZinst_pkg�resrNrOZui_repo)�_pkg_states_available�_pkg_states_installedr.r#r$�_simple_pkg~s2


z+Output._historyInfoCmd.<locals>._simple_pkgrzTransaction ID :z%u..%uz%czBegin time     :zBegin rpmdb    :z**r	�<z(%u seconds)z(%u minutes)r4z
(%u hours)z	(%u days)zEnd time       :zEnd rpmdb      :zUser           :zReturn-Code    :ZAbortedZSuccessz	Failures:z, cSsg|]}t|��qSr#)r�)r8rBr#r#r$r9�szFailure:zReleasever     :zCommand Line   :zComment        :zTransaction performed with:r�)r[r\zPackages Altered:zScriptlet output:z%4dzErrors:)FFrTr[i,i,iPFi,iPFi��iii�Q)"r>rIr�rr�rr�rGrr{r�rBr$r@rAZbeg_rpmdb_versionrDZ
end_timestamprQrErnr�r�rC�allr�Z
releaseverr=�commentZperformed_withr��historyInfoCmdPkgsAltered�outputr�)r.r<rTr>rwrYrarGZbegtZbegtmZendtZendtmrh�seenrBZcodesr=rdZ	perf_withZmax_lenZwith_pkgZstr_lenZt_outr�lineZt_errr#)r_r`r.r$rSps�
( 







&






zOutput._historyInfoCmdr
zDep-Install�	Obsoleted�
Obsoleting�Erase�	ReinstallrrWrrV)zTrue-Installr
zDep-InstallrirjrkrlrrWZUpdateZUpdatedc

s�|j}d}d}|j�}xH|D]@�|j�j�j�}|t|�krDt|�}tt���}||kr|}qWx�|D]��d}	�jtjj	kr�d}	d}
|r�t
�fdd�|D��r�d}
|j|
�\}}|j�j�j�}tt
|�|�}td	|	||||t���j�f�qfWd
S)aPrint information about how packages are altered in a transaction.

        :param old: the :class:`DnfSwdbTrans` to
           print information about
        :param pats: a list of patterns.  Packages that match a patten
           in *pats* will be highlighted in the output
        rr'r�z ** rGcsg|]}�j|��qSr#)r�)r8Zpat)r|r#r$r9Bsz4Output.historyInfoCmdPkgsAltered.<locals>.<listcomp>rFz%s%s%s%s %-*s %sNz    )�_history_state2uistater�r<r&rr�r]rrZTransactionItemState_DONEr�rPrr
r{r�)
r.r<rTZall_uistatesrYr\r�ZuistateZpkg_lenrlrMrNrOr#)r|r$re"s2

z Output.historyInfoCmdPkgsAlteredz   )NrNr)rr)FrFN)FrFN)r0)F)N)NN)NNN)N)F)N)N)F)9�__name__�
__module__�__qualname__�__doc__r��re�compiler�r/r6rErPrS�staticmethodrW�propertyrXrYr=rjrkr2rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr"r%r'r�rLr�rUrSrrmrer#r#r#r$r&Cs�




/



V
$N
-
'
c

/
_2
"
MM'r&c@s(eZdZdZdd�Zdd�Zdd�ZdS)	r zGProvides text output callback functions for Dependency Solver callback.cCs�d}|dkrtd�}n||dkr(td�}nj|dkr:td�}nX|dkrLtd	�}nF|d
kr^td�}n4|dkrptd
�}n"|dkr�td�}n|dkr�td�}|r�tj||j|j|j�dS)a�Print information about a package being added to the
        transaction set.

        :param pkgtup: tuple containing the package name, arch,
           version, and repository
        :param mode: a short string indicating why the package is
           being added to the transaction set.

        Valid current values for *mode* are::

           i = the package will be installed
           u = the package will be an update
           e = the package will be erased
           r = the package will be reinstalled
           d = the package will be a downgrade
           o = the package will be obsoleting another package
           ud = the package will be updated
           od = the package will be obsoleted
        NrBz'---> Package %s.%s %s will be installedr(z(---> Package %s.%s %s will be an upgraderz$---> Package %s.%s %s will be erasedr�z)---> Package %s.%s %s will be reinstalledrfz)---> Package %s.%s %s will be a downgraderXz(---> Package %s.%s %s will be obsoletingZudz&---> Package %s.%s %s will be upgradedZodz'---> Package %s.%s %s will be obsoleted)rr��debugrwrxry)r.r|�moderfr#r#r$�	pkg_addedPs&






z"DepSolveProgressCallBack.pkg_addedcCstjtd��dS)zRPerform setup at the beginning of the dependency solving
        process.
        z"--> Starting dependency resolutionN)r�rvr)r.r#r#r$�startyszDepSolveProgressCallBack.startcCstjtd��dS)zAOutput a message stating that dependency resolution has finished.z"--> Finished dependency resolutionN)r�rvr)r.r#r#r$rpszDepSolveProgressCallBack.endN)rnrorprqrxryrpr#r#r#r$r Ms)r c@seZdZdd�Zdd�ZdS)�CliKeyImportcCs||_||_dS)N)r*rf)r.r*rfr#r#r$r/�szCliKeyImport.__init__cCsbdd�}td�||�|tjj|�|jdd�f}tjd|�|jjj	rJdS|jjj
rXdS|jj�S)	NcSs$tjjrdnd}|dd�jd|�S)N�0�0ri����)rZpycompZPY3�rjust)r�Zrjr#r#r$�short_id�sz'CliKeyImport._confirm.<locals>.short_idzLImporting GPG key 0x%s:
 Userid     : "%s"
 Fingerprint: %s
 From       : %szfile://rz%sTF)
rrZcryptoZ_printable_fingerprintrJr�rNr*r)Z	assumeyesZassumenorfr�)r.r�ZuseridZfingerprintr�Z	timestampr~ror#r#r$�_confirm�s


zCliKeyImport._confirmN)rnrorpr/rr#r#r#r$rz�srzcsNeZdZdZedd��Z�fdd�Zdd�Zdd	�Zd
d�Z	ddd�Z
�ZS)�CliTransactionDisplayz1A YUM specific callback class for RPM operations.cCstjjj�S)N)rr+r,�_term_width)r.r#r#r$r�szCliTransactionDisplay.<lambda>cs0tt|�j�d|_d|_d|_d|_d|_dS)NrTr0rr)�superr�r/�lastmsg�lastpackagerf�mark�marks)r.)�	__class__r#r$r/�szCliTransactionDisplay.__init__c	Csjtjjj|�}|dkrdS|j�}t|�}	||_|dkr>d}
n|td�|}
|j|||||
||	|�dS)a�Output information about an rpm operation.  This may
        include a text progress bar.

        :param package: the package involved in the event
        :param action: the type of action that is taking place.  Valid
           values are given by
           :func:`rpmtrans.TransactionDisplay.action.keys()`
        :param ti_done: a number representing the amount of work
           already done in the current transaction
        :param ti_total: a number representing the total amount of work
           to be done in the current transaction
        :param ts_done: the number of the current transaction in
           transaction set
        :param ts_total: the total number of transactions in the
           transaction set
        Nr�d)	rr�ACTIONSr<�_max_action_widthr
r�r�
_out_progress)r.rZr�ti_done�ti_total�ts_done�ts_totalZ
action_str�wid1�pkgname�percentr#r#r$r-�szCliTransactionDisplay.progresscCsHt|d�s>d}x(tjjj�D]}t|�}||kr|}qW||_|j}|S)N�_max_action_wid_cacher)�hasattrrrr�r�r
r�)r.r�rCZwid_valr#r#r$r��s
z'CliTransactionDisplay._max_action_widthc	Cs�|jr�tjj�s||kr�|j|||tjj�||d�\}	}}
t|�}|	t|||�t||
|
�f}||jkr�tj	j
d|tj�||_||kr�td�dS)N)r-r�r�Zwrite_flushr')rfrr�isatty�_makefmtr
rr�rr��_terminal_messengerr{)r.r�r�r�r�r�Zprocessr�r�rK�wid2ror#r#r$r��s

z#CliTransactionDisplay._out_progressTN�cCs�tt|��}d||f}d|d|d}	|	||f}
|dkrFd}nt|�}d|d}|d|d7}|d7}|d7}|d7}|j}
|
|kr�|}
|
|8}
||
dkr�|
d}|j||}d||f}
d|
d	}||d}|r�|d
kr�d|
}|}n�|�rD|dk�r*||jt||d
�f}nd}d|d|
}|}nL|d
k�r\d|
}|}n4|dk�rx||j|f}nd}d|d|
}|}|||fS)Nz%s.%s�%zs/%�srrrZrz[%-zs]r�z
  %s: %s   r	gY@rz

  %s: %s r'z  %s: %s   z	  %s: %s )rr�r
rir�r�)r.r�r�r�r-r�r��lr�Zfmt_donerJZpnlZoverheadrir�Zfmt_barZfull_pnlrKr�Zbarr#r#r$r��sP


zCliTransactionDisplay._makefmt)TNr�)rnrorprqrurir/r-r�r�r��
__classcell__r#r#)r�r$r��s
 r�c
Cs�d}tjj�sdS|dkr d}n|dkr6t|�|}nd}tjjj�}|dkrZ||krZd}d||f}|t|�d8}|dkr�d}|dkr�|d8}|dkr�d}|t	||�}d|||f}n�||kr�d	t
|||�|f}nb|d
8}|dkr�d}|d}	|	t|�k�rt|�}	||	8}|t	||�}dt
||	|	�|||f}||k�rZtjj
d|tj�||k�rvtjj
dd
tj�tjj
dtjd�dS)aIOutput the current status to the terminal using a simple
    text progress bar consisting of 50 # marks.

    :param current: a number representing the amount of work
       already done
    :param total: a number representing the total amount of work
       to be done
    :param name: a name to label the progress bar with
    r9Nrr#z %d/%drrZz	
[%-*s]%sz
%s%sr�z

%s: [%-*s]%s�writer��flush)r�)rrr�r�rr+r,r�rr�rr
r�r�)
rTZtotalrwr�r�rirpZhashbarrfZnwidr#r#r$r!sL



r!)N)<rqZ
__future__rrrr�r�rZlibdnf.transactionrZloggingr?r0rrrr$Zdnf.cli.formatrrZdnf.i18nrrr	r
rrr
rZ
dnf.pycomprrrrrZdnf.yum.rpmtransrZdnf.db.historyrZdnf.baserZdnf.callbackZdnf.cli.progressZdnf.cli.termZdnf.confZ
dnf.cryptoZdnf.transactionZdnf.utilZdnf.yum.miscZ	getLoggerr�r%�objectr&�callbackZDepsolver Z	KeyImportrzr�r!r#r#r#r$�<module>sb(

7PK"�FZ����x�x"cli/__pycache__/cli.cpython-36.pycnu�[���3

h�-e���@stdZddlmZddlmZddlmZyddlmZWn ek
rXddlmZYnXddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZdd	lmZdd
lmZmZddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zddl(Zddl)Zddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4Zddl5Zddl6Zddl7Zddl8Zddl9Zddl:Zddl;Zddl<Zddl=Zddl>Zddl?Zddl@ZddlAZddlBZddlCZddlDZe
jEd�ZFdd
d�ZGdd�ZHdd�ZIdd�ZJGdd�dejK�ZLGdd�deM�ZNdS)z/
Command line interface yum class and related.
�)�print_function)�absolute_import)�unicode_literals)�SequenceN�)�output)�CliError)�ucd�_�dnf�cCs�t|j�dt|j�t|�}t|j�}t|j�}xFd|fd|fd|ffD],\}}||j|d�|||d7<qLWdS)zl Get the length of each pkg's column. Add that to data.
        This "knows" about simpleList and printVer. r�na�ver�ridrN)�len�name�archZevrZ
_from_repo�
setdefault)�data�pkg�indentr
rr�d�v�r�/usr/lib/python3.6/cli.py�_add_pkg_simple_list_lens]s 

 rcCs�iiid�}x<|j|j|j|j|j|jfD]}x|D]}t||�q4Wq*Wt|j�dkr�x*|j	D] \}}t||�t||dd�q`W|d|d|dg}|j
|d	d
�}|d|d	|dfS)
zA Work out the dynamic size of the columns to pass to fmtColumns. )r
rrr� �)rr
rrr)Zremainder_column�z    )�	installed�	available�extras�
autoremove�updates�recentrr�	obsoletes�obsoletesTuplesZcalcColumns)r�yplrZlstrZnpkgZopkg�columnsrrr�_list_cmd_calc_columnshs

r)c	Cs�dd�}tjj|�}d}x�|j�j�j|d�D]�}|r>td�d}|jdkrbd|j|j	|j
f}nd	|j|j|j	|j
f}|jj|j
�}ttd
�||||j�f�ttd�|jr�|jnd||j�f�q.WdS)NcSstjdtj|��S)Nz%c)�time�strftimeZgmtime)�xrrr�
sm_ui_timezsz"print_versions.<locals>.sm_ui_timeF)rrT�0z%s-%s.%sz%s:%s-%s.%sz  Installed: %s-%s at %sz  Built    : %s at %s)r�sack�
rpmdb_sack�queryr�filterm�printZepoch�version�releaser�term�boldrr
ZinstalltimeZpackagerZ	buildtime)	�pkgs�baserr-r0�donerrrrrr�print_versionsys 
r;cCs>td�}x0|j�D]$\}}tj|j||d|d��qWdS)NzTThe operation would result in switching of module '{0}' stream '{1}' to stream '{2}'rr)r
�items�logger�warning�format)�switchedModulesZmsg1Z
moduleNameZstreamsrrr�report_module_switch�srAcs�eZdZdZd �fdd�	Zff�fdd�	Zdd�Zd	d
�Zdd�Zd
d�Z	fdddfdd�Z
dd�Zggdfdd�Zdfdfdd�Z
d!dd�Z�fdd�Zdd�Z�ZS)"�BaseCliz#This is the base class for yum cli.Ncs4|ptjj�}tt|�j|d�tj||j�|_dS)N)�conf)rrCZConf�superrB�__init__rZOutput)�selfrC)�	__class__rrrE�szBaseCli.__init__cstjjrJ|jjsJt|jj��}|rJt|�t	d�j
tjjd�}tj
j|��|j}|jj|�}|rjtj|�|r�g}g}d}xF|D]>}	|	jtjjkr�|j|	j�q�|	jtjjkr�d}|j|	j�q�W|`|s�|jj|�n|jj||�|�s|jj��s|j�r�|jj�s|jj�r�|jj �r:tjt	d�j
tjj!d��n(d|jj"k�rbtjt	d�j
tjj!d��|j#��r�|jj$�s�|jj%��r�t&t	d���ntjt	d	��d
S|�rD|�r:tjt	d��y|jj'}
|j(||jj)|
�Wn\tj
j*k
�r8}z:tj+j
j,t-|��}t	d�d
|}
t.�tj
j|
��WYd
d
}~XnX|j/|�|jj �rRd
St0|t1��sd|g}tj2�gt3|�}t4t5|�j6|�}|d
k	�r�|j7j8|g�d}tj9jj:|j7|j;�}nd
}|�rt.�t.dj<|jj=|���t.�x.|D]&}	|	j>t?jj@k�r�tj
jt	d����q�W|S)z�Take care of package downloading, checking, user
        confirmation and actually running the transaction.

        :param display: `rpm.callback.TransactionProgress` object(s)
        :return: history database transaction ID or None
        aQIt is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.
It is recommended to rather remove all installed content from the module, and reset the module using '{prog} module reset <module_name>' command. After you reset the module, you can install the other stream.)�progTFz7{prog} will only download packages for the transaction.ZtestzP{prog} will only download packages, install gpg keys, and check the transaction.zOperation aborted.zNothing to do.NzDownloading Packages:zError downloading packages:z
%sr�
zTransaction failed)Arr9ZWITH_MODULESrCZmodule_stream_switch�dictZ_moduleContainerZgetSwitchedStreamsrAr
r?�util�	MAIN_PROG�
exceptions�ErrorZtransactionrZlist_transactionr=�info�actionZFORWARD_ACTIONS�appendrZBACKWARD_ACTIONSZ_tsZreportRemoveSizeZreportDownloadSizeZ	isChangedZ_history�group�env�downloadonly�MAIN_PROG_UPPERZtsflags�
_promptWanted�assumeno�userconfirmrZdownload_callback_total_cbZdownload_packages�progressZ
DownloadError�cliZindent_blockr	r3�gpgsigcheck�
isinstancerZCliTransactionDisplay�listrDrB�do_transaction�history�oldZdbZRPMTransactionZ_trans�joinZpost_transaction_output�state�libdnfZTransactionItemState_ERROR)rFZdisplayr@�msgZtransZpkg_strZinstall_pkgsZrmpkgsZinstall_onlyZtsiZtotal_cb�eZspecificZerrstr�tid)rGrrr^�s�







zBaseCli.do_transactionc
sg}x�|D]�}�j|�\}}|dkr(q
q
|dkrĈjjo@�jj}tjsVtjj�rl|rltjj	t
d����fdd�}y�j||�Wq�tjj	tfk
r�}z|j
t|��WYdd}~Xq�Xq
|j
|�q
W|r�x|D]}	tj|	�q�Wtjj	t
d���dS)aPerform GPG signature verification on the given packages,
        installing keys if possible.

        :param pkgs: a list of package objects to verify the GPG
           signatures of
        :raises: Will raise :class:`Error` if there's a problem
        rrzTRefusing to automatically import keys when running unattended.
Use "-y" to override.cs
�jj�S)N)rrX)r,�y�z)rFrr�<lambda>$sz%BaseCli.gpgsigcheck.<locals>.<lambda>NzGPG check FAILED)Z_sig_check_pkgrC�	assumeyesrW�sys�stdin�isattyrrMrNr
Z_get_key_for_package�
ValueErrorrQ�strr=�critical)
rFr8Zerror_messages�po�result�errmsgZay�fnrerdr)rFrr[s&
"
zBaseCli.gpgsigcheckcsXd�x:|jjjd|j�D]$}|tj}|rtjj|d��PqW�fdd�|j	D�}|S)zBReturn list of changelogs for package newer then installed versionNrrcs$g|]}�dks|d�kr|�qS)N�	timestampr)�.0Zchlog)�newestrr�
<listcomp>=sz-BaseCli.latest_changelogs.<locals>.<listcomp>)
Z_rpmconnZreadonly_tsZdbMatchr�rpmZRPMTAG_CHANGELOGTIME�datetimeZdateZ
fromtimestamp�
changelogs)rF�packageZmiZchangelogtimesZchlogsr)rwr�latest_changelogs3s
zBaseCli.latest_changelogscCs4d|djd�tjj|d�tjj|d�f}|S)z*Return changelog formatted as in spec filez* %s %s
%s
ruz%a %b %d %X %YZauthor�text)r+rZi18nr	)rFZ	changelogZ	chlog_strrrr�format_changelogAs
zBaseCli.format_changelogcCs�t�}x&|D]}|j|jp|jg�j|�qWxdt|j��D]T}||}ttd�j	dj
dd�|D����x$|j|d�D]}t|j|��qzWq<WdS)NzChangelogs for {}z, cSsg|]}t|��qSr)ro)rvrrrrrxQsz,BaseCli.print_changelogs.<locals>.<listcomp>r)
rJr�source_namerrQ�sorted�keysr3r
r?rar}r)rFZpackagesZbysrpm�pr�Zbin_packagesZchlrrr�print_changelogsIs
"zBaseCli.print_changelogsTFc	CsR|jd||d�}|jjs |jjr@|jd||d�}|j|_|j|_|�rDt|j|�}t|j�dkr�i}|jj	j
d}	|	r�x>t|j�D]0}
|
j�}t
jj|�r�|
j�r�|
||
j|
jf<q�W|jj}|jj}
|jj|jdd||||
d�d	�|r�|j|j�t|j�dk�rDttd
��x0t|jtjd�d�D]}|jj|d|d��q(W|j�pP|jS)
z?Check updates matching given *patterns* in selected repository.Zupgrades)�reponamer%rr7rr])�=znot in)Z
outputType�highlight_nar(�highlight_modeszObsoleting Packages)�key)r()�returnPkgListsrCr%�verboser&r)rrr#r6�MODEr�ZlocalPkg�os�path�existsZverifyLocalPkgrr�color_update_local�color_update_remote�listPkgsr�r3r
�operator�
itemgetter�updatesObsoletesList)rF�patternsr�Zprint_r{r'Ztyplr(�
local_pkgs�	highlightrqZlocal�cul�cur�obtuprrr�
check_updatesUs:
zBaseCli.check_updatescCsr|jj�}t|�dkr |j�nx|D]}|j|�q&W|jj�|}|dkrn|jj�rntd�}tjj|��dS)ab Upgrade or downgrade packages to match the latest versions available
            in the enabled repositories.

            :return: (exit_code, [ errors ])

            exit_code is::
                0 = we're done, exit
                1 = we've errored, exit with error string
                2 = we've got work yet to do, onto the next stage
        rz4No packages marked for distribution synchronization.N)	Z_goalZ
req_lengthrZdistro_syncZreq_has_distupgrade_allr
rrMrN)rFZuserlistZoldcount�pkg_specZcntrdrrr�distro_sync_userlist{s


zBaseCli.distro_sync_userlistc
CsTd}xf|D]^}y|j||d�d}Wq
tjjk
rf}z"tjtd�|jjj	|j
��WYdd}~Xq
Xq
Wx�|D]�}y|j||d�d}Wqrtjjk
r�}z$td�}	tj|	|jjj	|��WYdd}~Xqrtjj
k
�r}z"tjtd�|jjj	|j��WYdd}~Xqrtjjk
�r4d�s0t�YqrXqrW|�sPtjjtd���dS)	aaAttempt to take the user specified list of packages or
        wildcards and downgrade them. If a complete version number is
        specified, attempt to downgrade them to the specified version

        :param specs: a list of names or wildcards specifying packages to downgrade
        :param file_pkgs: a list of pkg objects from local files
        F)�strictTzNo match for argument: %sNzNo package %s available.z6Packages for argument %s available, but not installed.z!No packages marked for downgrade.)Zpackage_downgraderrMZMarkingErrorr=rOr
rr6r7�locationZdowngrade_toZPackageNotFoundErrorZPackagesNotInstalledErrorr��AssertionErrorrN)
rFZspecsZ	file_pkgsr�rrrre�arg�errrdrrr�
downgradePkgs�s,	

(
&
"zBaseCli.downgradePkgs�allc!CsDy$|jjjd}|j||||d�}Wn0tjjk
rT}zdt|�gfSd}~X�n�Xi}i}	i}
d}|dkrzt|j|�}|r�|j	r�xB|j
|j|jD],}|j
|jf}
|
|ks�|||
kr�|||
<q�W|o�|j�rx8|jD].}|j
|jf}
|
|	k�s||	|
kr�||	|
<q�W|�rP|j�rPx2t|j�D]$}|jtjk�r(||
|j
|jf<�q(W|jj}|jj}|jj}|jj}|jj|j	td�|||||||d�d�}|jj}|jj}|jj}|jj }|jj|jtd	�||	|||||d
�d�}|jj|j!td�||d�}|jj|j"td
�||d�}|jj#}|jj$}|jj|jtd�||
|||d�d�}t%|j&�dk�r�|dk�r�t%|j&�}t'td��xLt|j(t)j*d�d�D]}|jj+|d|d��q�Wn|jj|j&td�||d�}|jj|j,td�||d�} t%|��r@| dk�r@|dk�r@|dk�r@|dk�r@|dk�r@|dk�r@|dk�r@tjjtd���dS)zJOutput selection *pkgnarrow* of packages matching *patterns* and *repoid*.r7)�installed_availabler�rNr]zInstalled Packages)�>�<r�znot in)r�r(r�zAvailable Packages)r�r�r�znot inzAutoremove Packages)r(zExtra PackageszAvailable Upgrades)r�znot inrzObsoleting Packages)r�r%zRecently Added PackageszNo matching Packages to list)-rr6r�r�rrMrNror)r�hidden_available�reinstall_availableZ
old_availablerrr �hidden_installedr#r�r��hawkeyZSYSTEM_REPO_NAMErCZcolor_list_installed_olderZcolor_list_installed_newerZcolor_list_installed_reinstallZcolor_list_installed_extrar�r
Zcolor_list_available_upgradeZcolor_list_available_downgradeZcolor_list_available_reinstallZcolor_list_available_installr"r!r�r�rr%r3r&r�r�r�r$)!rF�basecmd�	pkgnarrowr�r�r�r'reZupdate_pkgsZ	inst_pkgsr�r(rr�rqZclioZclinZclirZclieZripZclauZcladZclarZclaiZrapZraepZrepr�r�ZrupZropr�Zrraprrr�output_packages�s�







FzBaseCli.output_packagesc	Cs�d}d}|r|dkrd}d}n|r2|dkr2d}d}|j||d|d�}|jjrvx(|jD]}|jrT|rT|jj|�qTW|r�|j|_|j|_|r�g|_|r�g|_|S)a#Return a :class:`dnf.yum.misc.GenericHolder` object containing
        lists of package objects that match the given names or wildcards.

        :param pkgnarrow: a string specifying which types of packages
           lists to produce, such as updates, installed, available, etc.
        :param patterns: a list of names or wildcards specifying
           packages to list
        :param installed_available: whether the available package list
           is present as .hidden_available when doing all, available,
           or installed
        :param reponame: limit packages list to the given repository

        :return: a :class:`dnf.yum.misc.GenericHolder` instance with the
           following lists defined::

             available = list of packageObjects
             installed = list of packageObjects
             upgrades = tuples of packageObjects (updating, installed)
             extras = list of packageObjects
             obsoletes = tuples of packageObjects (obsoleting, installed)
             recent = list of packageObjects
        FrTr�r )Zignore_caser�)	Z_do_package_listsrC�showdupesfromreposr�rr rQr�r�)	rFr�r�r�r�Zdone_hidden_availableZdone_hidden_installedr'rrrrr�
s,zBaseCli.returnPkgListsc	s�|jj}d|j_g}g}x4|D],}tt|�j|�\}}|j|�|j|�qWx t|�D]}|jj|||�qXW||j_|s�t	j
jtd���dS)a�Print out a list of packages that provide the given file or
        feature.  This a cli wrapper to the provides methods in the
        rpmdb and pkgsack.

        :param args: the name of a file or feature to search for
        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        TzNo Matches foundN)
rCr�rDrB�provides�extendr�rZmatchcallback_verboserrMrNr
)	rF�argsZold_sdupZmatchesZused_search_strings�specr1Zused_search_stringr)rGrrr�?s

zBaseCli.providescCs|jjr|jjrdSdS)NFT)rCrjrW)rFrrrrV^szBaseCli._promptWanted)N)r�NFN)�__name__�
__module__�__qualname__�__doc__rEr^r[r}rr�r�r�r�r�r�r�rV�
__classcell__rr)rGrrB�sk'&"Y
1rBc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zddd
�Zd dd�Z	d!dd�Z
d"dd�Zej
fdd�Zdd�Zdd�Zdd�Zdd�ZdS)#�ClicCs"||_i|_d|_tjjj�|_|jtjj	j
j�|jtjj	jj
�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	jj�|jtjj	j j!�|jtjj	j"j#�|jtjj	j$j%�|jtjj	j&j'�|jtjj	j(j)�|jtjj	j*j+�|jtjj	j,j-�|jtjj	j.j/�|jtjj	j0j1�|jtjj	j2j3�|jtjj	j4j5�|jtjj	j6j7�|jtjj	j8�|jtjj	j9�|jtjj	j:�|jtjj	j;�|jtjj	j<�|jtjj	j=�dS)N)>r9�cli_commands�commandrrZZdemandZDemandSheet�demands�register_commandZcommands�aliasZAliasCommandr"ZAutoremoveCommandZcheckZCheckCommandZcleanZCleanCommandZ
distrosyncZDistroSyncCommandZdeplistZDeplistCommandZ	downgradeZDowngradeCommandrRZGroupCommandr_ZHistoryCommandZinstallZInstallCommandZ	makecacheZMakeCacheCommandZmarkZMarkCommand�moduleZ
ModuleCommandZ	reinstallZReinstallCommand�removeZ
RemoveCommand�repolistZRepoListCommandZ	repoqueryZRepoQueryCommand�searchZ
SearchCommand�shellZShellCommandZswapZSwapCommandZ
updateinfoZUpdateInfoCommandZupgradeZUpgradeCommandZupgrademinimalZUpgradeMinimalCommandZInfoCommandZListCommandZProvidesCommandZCheckUpdateCommandZRepoPkgsCommandZHelpCommand)rFr9rrrrEfsBzCli.__init__cCs|jj|�|jr^xJ|jj�D]<\}}|jjj||jj|gd�}|j|�|jj	|df�qW|j
r�|jjdd�|jjdd�|j
D��t
�}yzxt|jD]j\}}|jjj|�}|s�|jjjr�|dkr�td�}	tjj|	|��|j|�|dk�r�|j�q�|j�q�WWnFtjjk
�rP}
z$tj|
�|jj�tjd	�WYdd}
~
XnXx|D]}tjtd
�|��qXW|jjj �}|dk�r�|jjj!�}x,|D]$}|jjj"|�}|�r�|j#j$��q�W|jj%j&�\}
|j_'|jjj(�j)|
�t%j*|j|jj%�}|jjj(�j+|�dS)N)Zbaseurl�enabler�*�disablecSsg|]}|df�qS)r�r)rv�rrrrrx�sz(Cli._configure_repos.<locals>.<listcomp>zUnknown repo: '%s'rzNo repository match: %s)r�r�),r9Zread_all_reposZrepofrompathr<�reposZadd_new_reporC�_configure_from_optionsZrepos_edrQ�repo�insertr��setZget_matchingr�r
rrMZ	RepoError�addr�r��ConfigErrorr=rp�	optparser�
print_helprk�exitr>Z_repo_persistorZget_expired_reposr��get�_repo�expirerZsetup_progress_callbacksZ_ds_callbackr��set_progress_barZCliKeyImportZ_set_key_import)rF�optsZlabelr�Z	this_repoZnotmatchr�Z	operationr�rdreZ
expired_reposrZbarZ
key_importrrr�_configure_repos�sL








zCli._configure_reposcCsvtjdjtjjd�tjj�tjtj	j
d|j�tjtj	j
d|jj
j�tjtj	j
d|jj
j�tjd|jj
j�dS)Nz{prog} version: %s)rHzCommand: %szInstallroot: %szReleasever: %szcachedir: %s)r=�debugr?rrKrU�const�VERSION�log�logging�DDEBUG�	cmdstringr9rC�installroot�
releasever�cachedir)rFrrr�_log_essentials�s



zCli._log_essentialscCs|j}|jj}|jr.tjj�s.tjjt	d���|j
rLx|j�D]
}d|_q>W|j
s\|jjj
r�d|jj_
xn|j�D]}|jjtjj�qpWnL|jr�xD|j�D]}|jj�q�Wn(|js�x |j�D]}|jjtjj�q�W|j�r�|jj|jjr�dnd|jjd�dS)Nz[This command has to be run with superuser privileges (under the root user on most systems).T�autoF)�load_system_repoZload_available_repos)r�r9r�Z	root_userrrKZ	am_i_rootrMrNr
r{�iter_enabledZload_metadata_other�	cacheonlyrC�valuesr�ZsetSyncStrategyr�ZSYNC_ONLY_CACHE�freshest_metadatar�Zfresh_metadataZ	SYNC_LAZYZsack_activationZ	fill_sackr�Zavailable_repos)rFr�r�r�rrr�_process_demands�s.



zCli._process_demandscCs�|j}|jj|�}|dkr~tjtd�|tjd�|jj	j
r`tjtd�jtj
jtj
jd�|�ntjtd�jtj
jd��t�||�|_tjtjjd|�tjtjjd	|�dS)
z,Check that the requested CLI command exists.Nz)No such command: %s. Please use %s --helprzLIt could be a {PROG} plugin command, try: "{prog} install 'dnf-command(%s)'")rHZPROGzRIt could be a {prog} plugin command, but loading of plugins is currently disabled.)rHzBase command: %szExtra commands: %s)r�r�r�r=rpr
rk�argvr9rCZpluginsr?rrKrLrUrr�r�r�)rFr�r�r��command_clsrrr�_parse_commands�s


zCli._parse_commandsNc	Cs�tjjj�}|j|�}|dkr*tjjj�n||_|jj|�}|j	rpt
tjj�t
|jjj|j|jj�tjd�|jr�d|_d|_|jr�tjj|_|_yh|jr�|jjjd|jjjtjj�d|j_|jjj|�|j|j �d|kr�|j!|jj_!|jjj"�Wn�tj#j$t%fk
�rF}z t&j't(d�|�tjd�WYdd}~XnXt)k
�r�}z:d	t*t+|��t,|j-�f}t&j't(d�|�tjd�WYdd}~XnX|j.dk	�r�|j.|jj_.|jjj/�r�|j0dk�r�t&j't(d��tjd�|j1�s�|j2�r|j0dk�rt&j't(d��tjd�|j3dk	�r>t4j5t6j7|j3d��|jj8|j9d�|jj:|j;|j<|�|jj8|j9d�|j0�s�|jj=�tjd�||j_>|jj?d|_@x$|jj>D]}|j@d|7_@�q�W|jA�y|jB||�Wn tCk
�rtjd�YnX|jD�r$|jj=|j0�tjd�|jjE|j0|�}|jF�rN|jF|j_Gd|j_H|jI�r`|jI|j_I|jJ�rrd|jj_K|jL�r�d|jj_L|j0jM�|jjN�|jjO�|jP|�|jjQ�|jjj|�|j0jR�|jjj.�rtjSjT|jjj.�|jjj.|jjUjV�_W|jjjXdk�r(|jjjYjZ|jjjXd�t[j\d�dk�r�d}x,|jjUj]�D]}|j^�rZ�qJd|_^d}�qJW|jjj_�s�d|jj__d}|�r�t&j`t(d��dS)aParse command line arguments, and set up :attr:`self.base.conf` and
        :attr:`self.cmds`, as well as logger objects in base instance.

        :param args: a list of command line arguments
        :param option_parser: a class for parsing cli options
        Nrrr�TrzConfig error: %srz%s: %s�download�system-upgrade�reposync�
modulesynczb--destdir or --downloaddir must be used with --downloadonly or download or system-upgrade command.zconfig-managerz_--enable, --set-enabled and --disable, --set-disabled must be used with config-manager command.�<�mainZpluginrz%s r�)�colorz%_pkgverify_level�	signaturer�Fz�Warning: Enforcing GPG signature check globally as per active RPM security policy (see 'gpgcheck' in dnf.conf(5) for how to squelch this message))r�r�r�r�)r�r�)arrZ�aliasesZAliasesZresolve�
option_parserZOptionParserr�Zparse_main_argsr4r3r�r�r;r9rCZhistory_record_packagesrrkr��quietZ
debuglevelZ
errorlevelr�Z
VERBOSE_LEVELr�Z
_set_valueZsystem_cachedirZPRIO_DEFAULTr�r��_read_conf_filer�rZ_adjust_conf_optionsrMr�rnr=rpr
�IOErrorr	ro�repr�filenameZdestdirrTr�Zset_enabledZset_disabledZ	sleeptimer*Zsleep�randomZ	randrangeZadd_commandsr�Zinit_pluginsZ
disablepluginZenablepluginr�r�rHr�r�r�r�helpZparse_command_argsZallowerasingZ
allow_erasingZ_allow_erasingr�ZdebugsolverZdebug_solverr%Z
pre_configureZpre_configure_pluginsZ_activate_persistorr�Zconfigure_plugins�	configurerKZ
ensure_dirr�r�Zpkgdirr�r6ZreinitryZexpandMacror�ZgpgcheckZlocalpkg_gpgcheckr>)	rFr�r�r�r�rer�Zforcingr�rrrr��s�





















z
Cli.configurecCsBtjjd�}|jj}|jd�|jd�|jd�}|jd�tjj	krht
jj|�rhtj
jtd�j|���|jtjjd�|jd�}|jd�tjj	kr�d}|j}|j||jd�d�|dkr�|jdkr�tjj|j�}n|dkr�tjj|�}|dk	r�||_|jdk�rtjtd	��xd
D]}|j|��qW|jjj|�|�|S)N�configZconfig_file_pathzConfig file "{}" does not exist)ZpriorityZreposdir�varsdir�/)rzPUnable to detect release version (use '--releasever' to specify release version)r��logdir�
persistdir)r�rr)rr�ZTimerr9rCZ_check_remote_fileZ_search_inside_installrootZ
_get_valueZ
_get_priorityZPRIO_COMMANDLINEr�r��isfilerMr�r
r?�readZPRIO_MAINCONFIGZ
substitutionsZupdate_from_etcr�ryZdetect_releaseverr�r=r>Zprepend_installroot�_loggingZ_setup_from_dnf_conf)rFr�ZtimerrCr�Z	from_rootZsubst�optrrrr��s6




zCli._read_conf_file�eqcCs�|dkr|dkrdSg}|js"|r,|jd�|js6|r@|jd�|jsJ|rT|jd�|js^|rh|jd�|jj|||j|j|j	|j
d�dS)zz

        :param opts:
        :param cmp_type: string supported "eq", "gte"
        :param all:
        :return:
        N�bugfix�enhancement�
newpackage�security)�types�advisory�bugzilla�cves�severity)r
rQrrr
r9Zadd_security_filtersrrrr)rFr�Zcmp_typer�rrrr� _populate_update_security_filter�s







z$Cli._populate_update_security_filtercCs4|dk	r|jjjj|�|dk	r0|jjjj|�dS)z�
        Change minimal logger level for terminal output to stdout and stderr according to specific
        command requirements
        @param stdout: logging.INFO, logging.WARNING, ...
        @param stderr:logging.INFO, logging.WARNING, ...
        N)r9rZstdout_handlerZsetLevelZstderr_handler)rF�stdout�stderrrrr�redirect_logger�szCli.redirect_loggercCs.tjjj|�}||jj_|jjj�j|�dS)N)	rrZrYZMultiFileProgressMeterr9rr�r�r�)rFZforYrrr�redirect_repo_progress�s
zCli.redirect_repo_progresscCs�|jjj�}|dkrdS|jjj�j|jd�}|j�}|jdd�|}x|D]}||krL|}qLW||kr�td|�td|�dS)N)r�r
)Z
advisory_typez,Security: %s is an installed security updatez-Security: %s is the currently running version)r9r/Zget_running_kernelr1r2rrr3)rFZkernel�qZikpkgrrrr�_check_running_kernel�s
zCli._check_running_kernelcCs*t|jj��tjjtdj||����dS)Nz)argument {}: not allowed with argument {})r3r�Zprint_usagerrMrNr
r?)rFZoption_string_1Zoption_string_2rrr�_option_conflict�szCli._option_conflictcCs<x6|jD],}||jkr*tjjtd�|��||j|<qWdS)zRegister a Command. :apizCommand "%s" already definedN)r�r�rrMr�r
)rFr�rrrrr��s
zCli.register_commandcCs�|j�|jjjr8tjtd�djtt	|jjj����|jjj
rhtjtd�djtt	|jjj
����xx|jjj�D]h}|jr�tjtd�|j
ddjtt	|j����|j
rvtjtd�|j
ddjtt	|j
����qvW|jj�S)a2Call the base command, and pass it the extended commands or
           arguments.

        :return: (exit_code, [ errors ])

        exit_code is::

            0 = we're done, exit
            1 = we've errored, exit with error string
            2 = we've got work yet to do, onto the next stage
        zExcludes in dnf.conf: z, zIncludes in dnf.conf: zExcludes in repo z: zIncludes in repo )r�r9rCZexcludepkgsr=r�r
rar�r�Zincludepkgsr�r��idr��run)rFr�rrrrs
"
"(,zCli.run)N)N)r	N)NN)r�r�r�rEr�r�r�r�r�r�rrrkrrrrr�rrrrrr�es$3

-


r�)r)Or�Z
__future__rrr�collections.abcr�ImportError�collectionsrzr�r�r�r�ryrkr*r�Zlibdnf.transactionrcrrZdnf.clirZdnf.i18nr	r
rZdnf.cli.aliasesZdnf.cli.commandsZdnf.cli.commands.aliasZdnf.cli.commands.autoremoveZdnf.cli.commands.checkZdnf.cli.commands.cleanZdnf.cli.commands.deplistZdnf.cli.commands.distrosyncZdnf.cli.commands.downgradeZdnf.cli.commands.groupZdnf.cli.commands.historyZdnf.cli.commands.installZdnf.cli.commands.makecacheZdnf.cli.commands.markZdnf.cli.commands.moduleZdnf.cli.commands.reinstallZdnf.cli.commands.removeZdnf.cli.commands.repolistZdnf.cli.commands.repoqueryZdnf.cli.commands.searchZdnf.cli.commands.shellZdnf.cli.commands.swapZdnf.cli.commands.updateinfoZdnf.cli.commands.upgradeZdnf.cli.commands.upgrademinimalZdnf.cli.demandZdnf.cli.formatZdnf.cli.option_parserZdnf.confZdnf.conf.substitutionsZ	dnf.constZdnf.db.historyZdnf.exceptionsZdnf.loggingZ
dnf.persistorZ
dnf.pluginZdnf.rpmZdnf.sackZdnf.transactionZdnf.utilZdnf.yum.miscZ	getLoggerr=rr)r;rAZBaserB�objectr�rrrr�<module>s�

OPK"�FZ�1ƽ1	1	+cli/__pycache__/format.cpython-36.opt-1.pycnu�[���3

�ft`�@s8ddlmZddlmZddd�Zddd�Zdd	�Zd
S)
�)�unicode_literals)�long� c		Cs�ddddddddd	g	}|r d
}nd}d}d
}t|�d}|dkrDd}x$||krh||krh|d}||}qFWt|t�s~t|t�r�d}n|dkr�d}nd}|t|p�d
�|||fS)a�Return a human-readable metric-like string representation
    of a number.

    :param number: the number to be converted to a human-readable form
    :param SI: If is 0, this function will use the convention
       that 1 kilobyte = 1024 bytes, otherwise, the convention
       that 1 kilobyte = 1000 bytes will be used
    :param space: string that will be placed between the number
       and the SI prefix
    :return: a human-readable metric-like string representation of
       *number*
    r�k�M�G�T�P�E�Z�Yg@�@g�@i�r�Ngz%i%s%sgfffff�#@z%.1f%s%sz%.0f%s%s)�len�
isinstance�intr�float)	ZnumberZSIZspaceZsymbols�stepZthresh�depthZ	max_depth�format�r�/usr/lib/python3.6/format.py�
format_numbers4rcCsx|dks|dkr|rdSdSnV|td�kr.dSt|�}|d}|d}|rh|d}|d}d|||fSd	||fSdS)
a�Return a human-readable string representation of a number
    of seconds.  The string will show seconds, minutes, and
    optionally hours.

    :param seconds: the number of seconds to convert to a
       human-readable form
    :param use_hours: If use_hours is 0, the representation will
       be in minutes and seconds. Otherwise, it will be in hours,
       minutes, and seconds
    :return: a human-readable string representation of *seconds*
    Nrz--:--:--z--:--�infZInfinite�<z%02i:%02i:%02iz	%02i:%02i)rr)ZsecondsZ	use_hoursZminutesZhoursrrr�format_timeIsrcCsdjdd�|j�D��S)N�
css|]}d|VqdS)z  Nr)�.0�srrr�	<genexpr>hszindent_block.<locals>.<genexpr>)�join�
splitlines)rrrr�indent_blockgsr!N)rr)r)Z
__future__rZ
dnf.pycomprrrr!rrrr�<module>s
5
PK"�FZU?���#cli/__pycache__/main.cpython-36.pycnu�[���3

�ft`f�@sPdZddlmZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZdd	l
mZdd
lmZddlZddlZddl	ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZejd�Zd
d�Zdd�Z eee
fdd�Z!dd�Z"dd�Z#dd�Z$d dd�Z%e&dk�rLe%ej'dd�dd�dS)!z4
Entrance point for the yum command line interface.
�)�print_function)�absolute_import)�unicode_literals)�Conf)�Cli)�OptionParser)�ucd)�show_lock_owner)�_N�dnfcCs&tjtjjddd�tjt|��dS)N�T)�exc_info�)�logger�logr�logging�SUBDEBUG�criticalr)�e�r�/usr/lib/python3.6/main.py�
ex_IOError2srcCs6tjtjjddd�|jdk	r2tjtd�t|��dS)NrT)r
z	Error: %sr)	rrrrr�valuerr
r)rrrr�ex_Error8s
rcCs�y6tjj�tjjj|���}t||||�SQRXW�n�tjjk
rr}ztj	|j
�t|j�dSd}~X�nLtjj
k
r�}ztj	|j
�dSd}~X�ntjjk
r�}zdSd}~X�n�tjjk
�r�}zt|�Sd}~Xn�tjk
�r$}ztj	td�t|��dSd}~Xn�tjjk
�r\}ztj	td�t|��dSd}~Xnbtk
�r�}zt|�Sd}~Xn>tk
�r�}z tj	djt|�jtd���dSd}~XnXdS)N��rz	Error: %sz{}: {}zTerminated.)rZi18nZsetup_stdout�cliZBaseCli�_main�
exceptionsZProcessLockErrorrrrr	�pid�	LockError�
DepsolveError�Errorr�hawkey�	Exceptionr
r�libdnf�error�IOErrorr�KeyboardInterrupt�format�type�__name__)�argsZ
conf_class�	cli_classZoption_parser_class�baserrrr�main?s4

r.cCsb|jj�||�}y|jttt|��|��Wn(ttfk
rV}zt|�Sd}~XnXt	||�S)z2Run the dnf program from a command line interface.N)
Z_loggingZ	_presetupZ	configure�list�maprr&�OSErrorr�cli_run)r-r+r,Z
option_parserrrrrrr\s
rc,Cs�ytd�}WnFtk
rR}z*|jtjkrBtjtd��tjd�WYdd}~Xn
X|j	�y|j
�Wn@tjj
k
r��Yn(ttfk
r�}zt|�Sd}~XnX|jj�r�yt||�}W�ntjjk
�r�}z�t|�d}|jj�r|jjdd��r|td�jd�7}|jjj�rN|�s<|td	�jd
�7}n|td�jd
�7}|jjj�r�|jjjd�}|tjjk�r�|�s�|td
�jd�7}n|td�jd�7}|�r�tjdj|���WYdd}~XnX|�r�|S|jj �|jj!S)N�.z8No read/execute access in current directory, moving to /�/rT)Z	availablez?try to add '{}' to command line to replace conflicting packagesz--allowerasingz.try to add '{}' to skip uninstallable packagesz
--skip-brokenz' or '{}' to skip uninstallable packages�bestz7try to add '{}' to use not only best candidate packagesz--nobestz0 or '{}' to use not only best candidate packagesz({}))"�openr&�errnoZEACCESrrr
�os�chdir�closeZrunrrrr1r�demands�	resolvingr r�
allow_erasingZ_goalZproblem_conflictsr(r-Zconf�strictr5Z
_get_priorityZPRIO_MAINCONFIG�info�commandZrun_transactionZsuccess_exit_status)rr-�fr�ret�msgZpriorrrr2msT







r2cCs
|jdkr&|j|jj�tjtd��|jj�g}|jj	dk	rN|j
|jj	�y|j|d�Wn�tj
jk
r�}ztjt|��dSd}~Xnvtjjk
r�}z$x|jj|�D]}tj|�q�WdSd}~Xn4tk
�r�}zt|�Sd}~XnXtjtd��dS)z9Perform the depsolve, download and RPM transaction stage.NzDependencies resolved.)Zdisplayrz	Complete!r)ZtransactionZresolver;r=rr?r
r@Zrun_resolvedZtransaction_display�appendZdo_transactionrrZCliErrorr%rrZTransactionCheckErrorZget_error_outputrr&r)rr-Zdisplays�exc�errrCrrrrr<�s(

r<FcCst|�}|rtj|�|S)apCall one of the multiple main() functions based on environment variables.

    :param args: command line arguments passed into yum
    :param exit_code: if *exit_code* is True, this function will exit
       python with its exit code when it has finished executing.
       Otherwise, it will return its exit code.
    :return: the exit code from dnf.yum execution
    )r.�sys�exit)r+�	exit_codeZerrcoderrr�	user_main�s

rJ�__main__rT)rI)F)(�__doc__Z
__future__rrrZdnf.confrZdnf.cli.clirZdnf.cli.option_parserrZdnf.i18nrZ
dnf.cli.utilsr	r
Zdnf.clirZdnf.exceptionsZdnf.loggingZdnf.utilr7r"Zlibdnf.errorr$rr8Zos.pathrGZ	getLoggerrrrr.rr2r<rJr*�argvrrrr�<module>sB
5

PK"�FZoZv�%cli/__pycache__/demand.cpython-36.pycnu�[���3

�ft`�	�@s0ddlmZGdd�de�ZGdd�de�ZdS)�)�unicode_literalsc@s&eZdZdd�Zddd�Zdd�ZdS)	�_BoolDefaultcCs ||_d|jjt|�f|_dS)Nz__%s%x)�default�	__class__�__name__�id�
_storing_name)�selfr�r
�/usr/lib/python3.6/demand.py�__init__sz_BoolDefault.__init__NcCs |j}|j|kr||jS|jS)N)�__dict__rr)r	�objZobjtype�objdictr
r
r�__get__s

z_BoolDefault.__get__cCs8|j}|j|kr*||j}||kr*td��|||j<dS)NzDemand already set.)r
r�AttributeError)r	r�valrZcurrent_valr
r
r�__set__#s

z_BoolDefault.__set__)N)r�
__module__�__qualname__rrrr
r
r
rrs
rc@speZdZdZed�Zed�Zed�Zed�Zed�Z	ed�Z
dZed�Zed�Z
ed�Zed�ZdZed�ZdS)�DemandSheetzHCollection of demands that different CLI parts have on other parts. :apiFTrN)rrr�__doc__rZ
allow_erasingZavailable_reposZ	resolvingZ	root_userZsack_activationZload_system_repoZsuccess_exit_statusZ	cacheonlyZfresh_metadataZfreshest_metadataZ
changelogsZtransaction_displayZplugin_filtering_enabledr
r
r
rr+srN)Z
__future__r�objectrrr
r
r
r�<module>sPK"�FZ2^���!�!0cli/__pycache__/completion_helper.cpython-36.pycnu�[���3

i�-e/�@s<ddlZddlZddlZddlZdd�Zdd�ZGdd�dejjj	j
�ZGdd	�d	ejjjj
�ZGd
d�dejjjj�ZGdd
�d
ejjj�ZGdd�dejjjj�ZGdd�dejjjj�ZGdd�dejjjj�ZGdd�dejjjj�Zdd�Z e!dk�r8ye ej"dd��Wn e#k
�r6ej$d�YnXdS)�Ncst�fdd�|�S)Ncst|�j��S)N)�str�
startswith)�k)�kw��'/usr/lib/python3.6/completion_helper.py�<lambda>sz#filter_list_by_kw.<locals>.<lambda>)�filter)rZlstr)rr�filter_list_by_kwsr
cCstdd�|D��S)NcSsg|]}t|��qSr)r)�.0�xrrr�
<listcomp>!sz%listpkg_to_setstr.<locals>.<listcomp>)�set)�pkgsrrr�listpkg_to_setstr srcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�RemoveCompletionCommandcstt|�j|�dS)N)�superr�__init__)�self�args)�	__class__rrr$sz RemoveCompletionCommand.__init__cCsd|jj_d|jj_dS)NFT)�cli�demands�	root_user�sack_activation)rrrr�	configure's
z!RemoveCompletionCommand.configurecCs,x&tj|j|jj�D]}tt|��qWdS)N)�ListCompletionCommand�	installed�base�opts�	pkg_specs�printr)r�pkgrrr�run+szRemoveCompletionCommand.run)�__name__�
__module__�__qualname__rrr#�
__classcell__rr)rrr#srcs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�InstallCompletionCommandcstt|�j|�dS)N)rr(r)rr)rrrr1sz!InstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrr�available_reposr)rrrrr4s

z"InstallCompletionCommand.configurecCsNttj|j|jj��}ttj|j|jj��}x||D]}tt|��q6WdS)N)	rrrrrr �	availabler!r)rrr*r"rrrr#9s

zInstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr(0sr(cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�ReinstallCompletionCommandcstt|�j|�dS)N)rr+r)rr)rrrrCsz#ReinstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrrFs

z$ReinstallCompletionCommand.configurecCsNttj|j|jj��}ttj|j|jj��}x||@D]}tt|��q6WdS)N)	rrrrrr r*r!r)rrr*r"rrrr#Ks

zReinstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr+Bsr+csHeZdZ�fdd�Zdd�Zedd��Zedd��Zed	d
��Z�Z	S)rcstt|�j|�dS)N)rrr)rr)rrrrTszListCompletionCommand.__init__cCs�|j}|jj}|jj}t|�dkrH|d|krHtdjt|d|���n�|dkr`|j|j	|�}n||dkrx|j
|j	|�}nd|dkr�|j|j	|�}nLt|j
|j	|��}t|j|j	|��}||B}|s�tdjt|d|���dSx|D]}tt
|��q�WdS)N��
rr*�updatesr)Z
pkgnarrowsrZpackagesZpackages_action�lenr!�joinr
rrr*r.rr)r�subcmdsr�actionrr*rr"rrrr#Ws&
zListCompletionCommand.runcCs |jj�j�jdj|d�d�S)Nz{}*r)�
name__glob)�sack�queryr�filterm�format)r�argrrrrnszListCompletionCommand.installedcCs |jj�j�jdj|d�d�S)Nz{}*r)r3)r4r5r*r6r7)rr8rrrr*rszListCompletionCommand.availablecCs|jdj|d�gdd�S)Nz{}*rF)Zprint_)Z
check_updatesr7)rr8rrrr.vszListCompletionCommand.updates)
r$r%r&rr#�staticmethodrr*r.r'rr)rrrSs
rcs$eZdZ�fdd�Zdd�Z�ZS)�RepoListCompletionCommandcstt|�j|�dS)N)rr:r)rr)rrrr|sz"RepoListCompletionCommand.__init__cCs�|j}|jdkr>tdjt|jddd�|jjj�D����nn|jdkrvtdjt|jddd�|jjj�D����n6|jdkr�tdjt|jdd	d�|jjj�D����dS)
N�enabledr-rcSsg|]
}|j�qSr)�id)r�rrrrr
�sz1RepoListCompletionCommand.run.<locals>.<listcomp>ZdisabledcSsg|]}|js|j�qSr)r;r<)rr=rrrr
�s�allcSsg|]
}|j�qSr)r<)rr=rrrr
�s)	rZrepos_actionr!r0r
ZreposrZiter_enabledr>)rrrrrr#s


zRepoListCompletionCommand.run)r$r%r&rr#r'rr)rrr:{sr:cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�UpgradeCompletionCommandcstt|�j|�dS)N)rr?r)rr)rrrr�sz!UpgradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrr�s

z"UpgradeCompletionCommand.configurecCs,x&tj|j|jj�D]}tt|��qWdS)N)rr.rrr r!r)rr"rrrr#�szUpgradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr?�sr?cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�DowngradeCompletionCommandcstt|�j|�dS)N)rr@r)rr)rrrr�sz#DowngradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrr�s

z$DowngradeCompletionCommand.configurecCs0x*tj|j|jj�j�D]}tt|��qWdS)N)rr*rrr Z
downgradesr!r)rr"rrrr#�szDowngradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr@�sr@cs$eZdZ�fdd�Zdd�Z�ZS)�CleanCompletionCommandcstt|�j|�dS)N)rrAr)rr)rrrr�szCleanCompletionCommand.__init__cCs0tjjjjj�}tdjt|j	j
d|���dS)Nr-r,)�dnfr�commands�cleanZ_CACHE_TYPES�keysr!r0r
r�type)rr1rrrr#�szCleanCompletionCommand.run)r$r%r&rr#r'rr)rrrA�srAcCs�tjjj�}tjj|�}|ddkrP|jgg|�tdjt|d|j���dS|jj	�|j
t�|j
t�|j
t
�|j
t�|j
t�|j
t�|j
t�|j
t�|j|�y|j�Wn&ttjjfk
r�tjd�YnXdS)NrZ_cmdsr-r,)rBrZBaseCliZCliZinit_pluginsr!r0r
Zcli_commands�clearZregister_commandrr(r+rr:r?r@rArr#�OSError�
exceptions�Error�sys�exit)rrrrrr�main�s(









rM�__main__r,)%Zdnf.exceptionsrBZdnf.cliZdnf.cli.commands.cleanrKr
rrrC�removeZ
RemoveCommandrZinstallZInstallCommandr(Z	reinstallZReinstallCommandr+ZListCommandrZrepolistZRepoListCommandr:ZupgradeZUpgradeCommandr?Z	downgradeZDowngradeCommandr@rDZCleanCommandrArMr$�argv�KeyboardInterruptrLrrrr�<module>s&
(	
PK"�FZ�i[��'cli/__pycache__/progress.cpython-36.pycnu�[���3

�ft`��@spddlmZddlmZmZddlmZddlmZddl	m	Z	ddl
Z
ddlZddl
ZGdd�dejj�ZdS)	�)�unicode_literals)�
format_number�format_time)�_term_width)�unicode)�timeNc@sreZdZdZejjdejjdejjdejj	diZ
ejdddfd	d
�Z
dd�Zddd�Zdd�Zdd�Zdd�ZdS)�MultiFileProgressMeterz"Multi-file download progress meterZFAILEDZSKIPPEDZMIRRORZDRPMg333333�?g�?g@cCsp||_||_||_||_d|_d|_tjj�|_d|_	d|_
d|_g|_i|_
d|_d|_d|_d|_d|_dS)z�Creates a new progress meter instance

        update_period -- how often to update the progress bar
        tick_period -- how fast to cycle through concurrent downloads
        rate_average -- time constant for average speed calculation
        rN)�fo�
update_period�tick_period�rate_average�unknown_progres�
total_drpm�sys�stdout�isatty�	done_drpm�
done_files�	done_size�active�state�	last_time�	last_size�rate�total_files�
total_size)�selfr	r
rr�r�/usr/lib/python3.6/progress.py�__init__&s"zMultiFileProgressMeter.__init__cCstjjd||j�dS)NZwrite_flush)�dnf�utilZ_terminal_messengerr	)r�msgrrr�message?szMultiFileProgressMeter.messagercCsF||_||_||_d|_d|_d|_g|_i|_d|_d|_	d|_
dS)Nr)rrrrrrrrrrr)rrrZtotal_drpmsrrr�startBszMultiFileProgressMeter.startcCs�t�}t|�}t|j�}t|�}||jkrD|df|j|<|jj|�|j|\}}||f|j|<|j||7_||j|j	kr�||j
kr�||_
|j|�dS)Nr)rr�int�
download_sizerr�appendrrr
r�_update)r�payload�done�now�textZtotalr$�oldrrr�progressSs


zMultiFileProgressMeter.progresscCsJ|jrj||j}|j|j}|dkrj|dkrj||}|jdk	rdt||jd�}|||jd|}||_||_|j|_|js�dS|jt||j	�t
|j�}|jdkr�d|jd}t
|j�dkr�|d|jt
|j�7}d||j|f}|jo�|j
�rt|j
|j|j�}nd}d|j�r,t|j�ndt|j�|f}	t�t
|	�}
|
d	d
}|dk�r0|j
�r�|jd|j
}t|j|d
|j
d
�\}}
d
|d|
}d||||	f}	|
|d	8}
nj|jd}d}
|dk�r�dn|}d|d
|
}d|||	f}	|
|d	8}
|jd|k�r*|jdnd|_|jd|
|
||	f�dS)Nr�z%dz-%dz(%s/%d): %sz--:--z %5sB/s | %5sB %9s ETA
z---  ����d�=�-z%3d%% [%-*s]%s�� z
     [%-*s]%sz%-*.*s%s)rrrr�minrrrr%r�lenrrrrrr�divmodr
r#)rr+Z
delta_timeZ
delta_sizerZweightr,�nZtime_etar"�leftZblZpct�pZbarrrrr(gsX




zMultiFileProgressMeter._updatecCs�t�}}t|�}t|j�}d}|tjjkr.n�|tjjkrJ|jd7_nt||j	kr�|j	j
|�\}}|jj|�||8}|j
d7_
|j|7_n(|tjjkr�|j
d7_
|j|7_|�r*|tjjkr�|jdkr�d|j||j|j|f}	nd|j||f}	t�t|	�d}
d|	|
|f}	nl|jdk�rHd|j
|j|f}t||d�}dtt|�|�t|�t|�f}	t�t|	�}
d	|
|
||	f}	|j|	�|j�r�|j|�dS)
Nrr/z[%s %d/%d] %s: z	[%s] %s: z%s%-*s
z(%d/%d): %sg����MbP?z %5sB/s | %5sB %9s    
z%-*.*s%s)rrr%r&r �callback�
STATUS_MIRROR�STATUS_DRPMrr�popr�removerr�STATUS_ALREADY_EXISTSr�STATUS_2_STRrr9r�maxr�floatrr#r()rr)ZstatusZerr_msgr$r+r,�sizer*r"r<Ztmrrr�end�sH



zMultiFileProgressMeter.endN)r)�__name__�
__module__�__qualname__�__doc__r r>Z
STATUS_FAILEDrCr?r@rDr�stderrrr#r$r.r(rHrrrrrs
5r)Z
__future__rZdnf.cli.formatrrZdnf.cli.termrZ
dnf.pycomprrrZdnf.callbackr Zdnf.utilr>ZDownloadProgressrrrrr�<module>sPK"�FZNaBZZ
cli/output.pynu�[���# Copyright 2005 Duke University
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

"""Handle actual output from the cli."""

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import fnmatch
import hawkey
import itertools
import libdnf.transaction
import logging
import operator
import pwd
import re
import sys
import time

from dnf.cli.format import format_number, format_time
from dnf.i18n import _, C_, P_, ucd, fill_exact_width, textwrap_fill, exact_width, select_short_long
from dnf.pycomp import xrange, basestring, long, unicode, sys_maxsize
from dnf.yum.rpmtrans import TransactionDisplay
from dnf.db.history import MergedTransactionWrapper
import dnf.base
import dnf.callback
import dnf.cli.progress
import dnf.cli.term
import dnf.conf
import dnf.crypto
import dnf.i18n
import dnf.transaction
import dnf.util
import dnf.yum.misc

logger = logging.getLogger('dnf')


def _spread_in_columns(cols_count, label, lst):
    left = itertools.chain((label,), itertools.repeat(''))
    lst_length = len(lst)
    right_count = cols_count - 1
    missing_items = -lst_length % right_count
    if not lst_length:
        lst = itertools.repeat('', right_count)
    elif missing_items:
        lst.extend(('',) * missing_items)
    lst_iter = iter(lst)
    return list(zip(left, *[lst_iter] * right_count))


class Output(object):
    """Main output class for the yum command line."""

    GRP_PACKAGE_INDENT = ' ' * 3
    FILE_PROVIDE_RE = re.compile(r'^\*{0,2}/')

    def __init__(self, base, conf):
        self.conf = conf
        self.base = base
        self.term = dnf.cli.term.Term()
        self.progress = None

    def _banner(self, col_data, row):
        term_width = self.term.columns
        rule = '%s' % '=' * term_width
        header = self.fmtColumns(zip(row, col_data), ' ')
        return rule, header, rule

    def _col_widths(self, rows):
        col_data = [dict() for _ in rows[0]]
        for row in rows:
            for (i, val) in enumerate(row):
                col_dct = col_data[i]
                length = len(val)
                col_dct[length] = col_dct.get(length, 0) + 1
        cols = self.calcColumns(col_data, None, indent='  ')
        # align to the left
        return list(map(operator.neg, cols))

    def _highlight(self, highlight):
        hibeg = ''
        hiend = ''
        if not highlight:
            pass
        elif not isinstance(highlight, basestring) or highlight == 'bold':
            hibeg = self.term.MODE['bold']
        elif highlight == 'normal':
            pass # Minor opt.
        else:
            # Turn a string into a specific output: colour, bold, etc.
            for high in highlight.replace(',', ' ').split():
                if high == 'normal':
                    hibeg = ''
                elif high in self.term.MODE:
                    hibeg += self.term.MODE[high]
                elif high in self.term.FG_COLOR:
                    hibeg += self.term.FG_COLOR[high]
                elif (high.startswith('fg:') and
                      high[3:] in self.term.FG_COLOR):
                    hibeg += self.term.FG_COLOR[high[3:]]
                elif (high.startswith('bg:') and
                      high[3:] in self.term.BG_COLOR):
                    hibeg += self.term.BG_COLOR[high[3:]]

        if hibeg:
            hiend = self.term.MODE['normal']
        return (hibeg, hiend)

    def _sub_highlight(self, haystack, highlight, needles, **kwds):
        hibeg, hiend = self._highlight(highlight)
        return self.term.sub(haystack, hibeg, hiend, needles, **kwds)

    @staticmethod
    def _calc_columns_spaces_helps(current, data_tups, left):
        """ Spaces left on the current field will help how many pkgs? """
        ret = 0
        for tup in data_tups:
            if left < (tup[0] - current):
                break
            ret += tup[1]
        return ret

    @property
    def history(self):
        return self.base.history

    @property
    def sack(self):
        return self.base.sack

    def calcColumns(self, data, columns=None, remainder_column=0,
                    total_width=None, indent=''):
        """Dynamically calculate the widths of the columns that the
        fields in data should be placed into for output.

        :param data: a list of dictionaries that represent the data to
           be output.  Each dictionary in the list corresponds to a
           column of output. The keys of the dictionary are the
           lengths of the items to be output, and the value associated
           with a key is the number of items of that length.
        :param columns: a list containing the minimum amount of space
           that must be allocated for each row. This can be used to
           ensure that there is space available in a column if, for
           example, the actual lengths of the items being output
           cannot be given in *data*
        :param remainder_column: number of the column to receive a few
           extra spaces that may remain after other allocation has
           taken place
        :param total_width: the total width of the output.
           self.term.real_columns is used by default
        :param indent: string that will be prefixed to a line of
           output to create e.g. an indent
        :return: a list of the widths of the columns that the fields
           in data should be placed into for output
        """
        cols = len(data)
        # Convert the data to ascending list of tuples, (field_length, pkgs)
        pdata = data
        data = [None] * cols # Don't modify the passed in data
        for d in range(0, cols):
            data[d] = sorted(pdata[d].items())

        if total_width is None:
            total_width = self.term.real_columns

        #  We start allocating 1 char to everything but the last column, and a
        # space between each (again, except for the last column). Because
        # at worst we are better with:
        # |one two three|
        # | four        |
        # ...than:
        # |one two three|
        # |            f|
        # |our          |
        # ...the later being what we get if we pre-allocate the last column, and
        # thus. the space, due to "three" overflowing it's column by 2 chars.
        if columns is None:
            columns = [1] * (cols - 1)
            columns.append(0)

        # i'm not able to get real terminal width so i'm probably
        # running in non interactive terminal (pipe to grep, redirect to file...)
        # avoid splitting lines to enable filtering output
        if not total_width:
            full_columns = []
            for d in xrange(0, cols):
                col = data[d]
                if col:
                    full_columns.append(col[-1][0])
                else:
                    full_columns.append(columns[d] + 1)
            full_columns[0] += len(indent)
            # if possible, try to keep default width (usually 80 columns)
            default_width = self.term.columns
            if sum(full_columns) > default_width:
                return full_columns
            total_width = default_width


        total_width -= (sum(columns) + (cols - 1) + exact_width(indent))
        if not columns[-1]:
            total_width += 1
        while total_width > 0:
            # Find which field all the spaces left will help best
            helps = 0
            val = 0
            for d in xrange(0, cols):
                thelps = self._calc_columns_spaces_helps(columns[d], data[d],
                                                         total_width)
                if not thelps:
                    continue
                #  We prefer to overflow: the last column, and then earlier
                # columns. This is so that in the best case (just overflow the
                # last) ... grep still "works", and then we make it prettier.
                if helps and (d == (cols - 1)) and (thelps / 2) < helps:
                    continue
                if thelps < helps:
                    continue
                helps = thelps
                val = d

            #  If we found a column to expand, move up to the next level with
            # that column and start again with any remaining space.
            if helps:
                diff = data[val].pop(0)[0] - columns[val]
                if not columns[val] and (val == (cols - 1)):
                    #  If we are going from 0 => N on the last column, take 1
                    # for the space before the column.
                    total_width -= 1
                columns[val] += diff
                total_width -= diff
                continue

            overflowed_columns = 0
            for d in xrange(0, cols):
                if not data[d]:
                    continue
                overflowed_columns += 1
            if overflowed_columns:
                #  Split the remaining spaces among each overflowed column
                # equally
                norm = total_width // overflowed_columns
                for d in xrange(0, cols):
                    if not data[d]:
                        continue
                    columns[d] += norm
                    total_width -= norm

            #  Split the remaining spaces among each column equally, except the
            # last one. And put the rest into the remainder column
            cols -= 1
            norm = total_width // cols
            for d in xrange(0, cols):
                columns[d] += norm
            columns[remainder_column] += total_width - (cols * norm)
            total_width = 0

        return columns

    @staticmethod
    def _fmt_column_align_width(width):
        """Returns tuple of (align_left, width)"""
        if width < 0:
            return (True, -width)
        return (False, width)

    def _col_data(self, col_data):
        assert len(col_data) == 2 or len(col_data) == 3
        if len(col_data) == 2:
            (val, width) = col_data
            hibeg = hiend = ''
        if len(col_data) == 3:
            (val, width, highlight) = col_data
            (hibeg, hiend) = self._highlight(highlight)
        return (ucd(val), width, hibeg, hiend)

    def fmtColumns(self, columns, msg=u'', end=u''):
        """Return a row of data formatted into a string for output.
        Items can overflow their columns.

        :param columns: a list of tuples containing the data to
           output.  Each tuple contains first the item to be output,
           then the amount of space allocated for the column, and then
           optionally a type of highlighting for the item
        :param msg: a string to begin the line of output with
        :param end: a string to end the line of output with
        :return: a row of data formatted into a string for output
        """
        columns = list(columns)
        total_width = len(msg)
        data = []
        for col_data in columns[:-1]:
            (val, width, hibeg, hiend) = self._col_data(col_data)

            if not width: # Don't count this column, invisible text
                msg += u"%s"
                data.append(val)
                continue

            (align_left, width) = self._fmt_column_align_width(width)
            val_width = exact_width(val)
            if val_width <= width:
                #  Don't use fill_exact_width() because it sucks performance
                # wise for 1,000s of rows. Also allows us to use len(), when
                # we can.
                msg += u"%s%s%s%s "
                if align_left:
                    data.extend([hibeg, val, " " * (width - val_width), hiend])
                else:
                    data.extend([hibeg, " " * (width - val_width), val, hiend])
            else:
                msg += u"%s%s%s\n" + " " * (total_width + width + 1)
                data.extend([hibeg, val, hiend])
            total_width += width
            total_width += 1
        (val, width, hibeg, hiend) = self._col_data(columns[-1])
        (align_left, width) = self._fmt_column_align_width(width)
        val = fill_exact_width(val, width, left=align_left,
                              prefix=hibeg, suffix=hiend)
        msg += u"%%s%s" % end
        data.append(val)
        return msg % tuple(data)

    def simpleList(self, pkg, ui_overflow=False, indent='', highlight=False,
                   columns=None):
        """Print a package as a line.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns are the package name, version,
           and repository
        """
        if columns is None:
            columns = (-40, -22, -16) # Old default
        na = '%s%s.%s' % (indent, pkg.name, pkg.arch)
        hi_cols = [highlight, 'normal', 'normal']

        columns = zip((na, pkg.evr, pkg._from_repo), columns, hi_cols)
        print(self.fmtColumns(columns))

    def simpleEnvraList(self, pkg, ui_overflow=False,
                        indent='', highlight=False, columns=None):
        """Print a package as a line, with the package itself in envra
        format so it can be passed to list/install/etc.

        :param pkg: the package to be printed
        :param ui_overflow: unused
        :param indent: string to be prefixed onto the line to provide
           e.g. an indent
        :param highlight: highlighting options for the name of the
           package
        :param columns: tuple containing the space allocated for each
           column of output.  The columns the are the package envra and
           repository
        """
        if columns is None:
            columns = (-63, -16) # Old default
        envra = '%s%s' % (indent, ucd(pkg))
        hi_cols = [highlight, 'normal', 'normal']
        rid = pkg.ui_from_repo
        columns = zip((envra, rid), columns, hi_cols)
        print(self.fmtColumns(columns))

    def simple_name_list(self, pkg):
        """Print a package as a line containing its name."""
        print(ucd(pkg.name))

    def simple_nevra_list(self, pkg):
        """Print a package as a line containing its NEVRA."""
        print(ucd(pkg))

    def fmtKeyValFill(self, key, val):
        """Return a key value pair in the common two column output
        format.

        :param key: the key to be formatted
        :param val: the value associated with *key*
        :return: the key value pair formatted in two columns for output
        """
        keylen = exact_width(key)
        cols = self.term.real_columns
        if not cols:
            cols = sys_maxsize
        elif cols < 20:
            cols = 20
        nxt = ' ' * (keylen - 2) + ': '
        if not val:
            # textwrap.fill in case of empty val returns empty string
            return key
        val = ucd(val)
        ret = textwrap_fill(val, width=cols, initial_indent=key,
                            subsequent_indent=nxt)
        if ret.count("\n") > 1 and keylen > (cols // 3):
            # If it's big, redo it again with a smaller subsequent off
            ret = textwrap_fill(val, width=cols, initial_indent=key,
                                subsequent_indent='     ...: ')
        return ret

    def fmtSection(self, name, fill='='):
        """Format and return a section header.  The format of the
        header is a line with *name* centered, and *fill* repeated on
        either side to fill an entire line on the terminal.

        :param name: the name of the section
        :param fill: the character to repeat on either side of *name*
          to fill an entire line.  *fill* must be a single character.
        :return: a string formatted to be a section header
        """
        name = ucd(name)
        cols = self.term.columns - 2
        name_len = exact_width(name)
        if name_len >= (cols - 4):
            beg = end = fill * 2
        else:
            beg = fill * ((cols - name_len) // 2)
            end = fill * (cols - name_len - len(beg))

        return "%s %s %s" % (beg, name, end)

    def infoOutput(self, pkg, highlight=False):
        """Print information about the given package.

        :param pkg: the package to print information about
        :param highlight: highlighting options for the name of the
           package
        """
        def format_key_val(key, val):
            return " ".join([fill_exact_width(key, 12, 12), ":", str(val)])

        def format_key_val_fill(key, val):
            return self.fmtKeyValFill(fill_exact_width(key, 12, 12) + " : ", val or "")

        output_list = []
        (hibeg, hiend) = self._highlight(highlight)
        # Translators: This is abbreviated 'Name'. Should be no longer
        # than 12 characters. You can use the full version if it is short
        # enough in your language.
        key = select_short_long(12, C_("short", "Name"),
                                    C_("long", "Name"))
        output_list.append(format_key_val(key,
                                          "%s%s%s" % (hibeg, pkg.name, hiend)))
        if pkg.epoch:
            # Translators: This message should be no longer than 12 characters.
            output_list.append(format_key_val(_("Epoch"), pkg.epoch))
        key = select_short_long(12, C_("short", "Version"),
                                    C_("long", "Version"))
        output_list.append(format_key_val(key, pkg.version))
        # Translators: This message should be no longer than 12 characters.
        output_list.append(format_key_val(_("Release"), pkg.release))
        key = select_short_long(12, C_("short", "Arch"),
                                    C_("long", "Architecture"))
        output_list.append(format_key_val(key, pkg.arch))
        key = select_short_long(12, C_("short", "Size"), C_("long", "Size"))
        output_list.append(format_key_val(key,
                                          format_number(float(pkg._size))))
        # Translators: This message should be no longer than 12 characters.
        output_list.append(format_key_val(_("Source"), pkg.sourcerpm))
        key = select_short_long(12, C_("short", "Repo"),
                                    C_("long", "Repository"))
        output_list.append(format_key_val(key, pkg.repoid))

        if pkg._from_system:
            history_repo = self.history.repo(pkg)
            if history_repo:
                # Translators: This message should be no longer than 12 chars.
                output_list.append(format_key_val(_("From repo"), history_repo))
        if self.conf.verbose:
            # :hawkey does not support changelog information
            # print(_("Committer   : %s") % ucd(pkg.committer))
            # print(_("Committime  : %s") % time.ctime(pkg.committime))
            # Translators: This message should be no longer than 12 characters.
            output_list.append(format_key_val(_("Packager"), pkg.packager))
            # Translators: This message should be no longer than 12 characters.
            output_list.append(format_key_val(_("Buildtime"),
                                              dnf.util.normalize_time(pkg.buildtime)))
            if pkg.installtime:
            # Translators: This message should be no longer than 12 characters.
                output_list.append(format_key_val(_("Install time"),
                                                  dnf.util.normalize_time(pkg.installtime)))
            history_pkg = self.history.package_data(pkg)
            if history_pkg:
                try:
                    uid = int(history_pkg._item.getInstalledBy())
                except ValueError: # In case int() fails
                    uid = None
                # Translators: This message should be no longer than 12 chars.
                output_list.append(format_key_val(_("Installed by"), self._pwd_ui_username(uid)))
        # Translators: This is abbreviated 'Summary'. Should be no longer
        # than 12 characters. You can use the full version if it is short
        # enough in your language.
        key = select_short_long(12, C_("short", "Summary"),
                                    C_("long", "Summary"))
        output_list.append(format_key_val_fill(key, pkg.summary))
        if pkg.url:
            output_list.append(format_key_val(_("URL"), ucd(pkg.url)))
        # Translators: This message should be no longer than 12 characters.
        output_list.append(format_key_val_fill(_("License"), pkg.license))
        # Translators: This is abbreviated 'Description'. Should be no longer
        # than 12 characters. You can use the full version if it is short
        # enough in your language.
        key = select_short_long(12, C_("short", "Description"),
                                    C_("long", "Description"))
        output_list.append(format_key_val_fill(key, pkg.description))
        return "\n".join(output_list)

    def updatesObsoletesList(self, uotup, changetype, columns=None):
        """Print a simple string that explains the relationship
        between the members of an update or obsoletes tuple.

        :param uotup: an update or obsoletes tuple.  The first member
           is the new package, and the second member is the old
           package
        :param changetype: a string indicating what the change between
           the packages is, e.g. 'updates' or 'obsoletes'
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and repository
        """
        (changePkg, instPkg) = uotup

        if columns is not None:
            # New style, output all info. for both old/new with old indented
            chi = self.conf.color_update_remote
            if changePkg.reponame != hawkey.SYSTEM_REPO_NAME:
                chi = self.conf.color_update_local
            self.simpleList(changePkg, columns=columns, highlight=chi)
            self.simpleList(instPkg, columns=columns, indent=' ' * 4,
                            highlight=self.conf.color_update_installed)
            return

        # Old style
        c_compact = changePkg.compactPrint()
        i_compact = '%s.%s' % (instPkg.name, instPkg.arch)
        c_repo = changePkg.repoid
        print('%-35.35s [%.12s] %.10s %-20.20s' %
              (c_compact, c_repo, changetype, i_compact))

    def listPkgs(self, lst, description, outputType, highlight_na={},
                 columns=None, highlight_modes={}):
        """Prints information about the given list of packages.

        :param lst: a list of packages to print information about
        :param description: string describing what the list of
           packages contains, e.g. 'Available Packages'
        :param outputType: The type of information to be printed.
           Current options::

              'list' - simple pkg list
              'info' - similar to rpm -qi output
              'name' - simple name list
              'nevra' - simple nevra list
        :param highlight_na: a dictionary containing information about
              packages that should be highlighted in the output.  The
              dictionary keys are (name, arch) tuples for the package,
              and the associated values are the package objects
              themselves.
        :param columns: a tuple containing information about how to
           format the columns of output.  The absolute value of each
           number in the tuple indicates how much space has been
           allocated for the corresponding column.  If the number is
           negative, the text in the column will be left justified,
           and if it is positive, the text will be right justified.
           The columns of output are the package name, version, and
           repository
        :param highlight_modes: dictionary containing information
              about to highlight the packages in *highlight_na*.
              *highlight_modes* should contain the following keys::

                 'not_in' - highlighting used for packages not in *highlight_na*
                 '=' - highlighting used when the package versions are equal
                 '<' - highlighting used when the package has a lower version
                       number
                 '>' - highlighting used when the package has a higher version
                       number
        :return: number of packages listed
        """
        if outputType in ['list', 'info', 'name', 'nevra']:
            if len(lst) > 0:
                print('%s' % description)
                info_set = set()
                if outputType == 'list':
                    unique_item_dict = {}
                    for pkg in lst:
                        unique_item_dict[str(pkg) + str(pkg._from_repo)] = pkg

                    lst = unique_item_dict.values()

                for pkg in sorted(lst):
                    key = (pkg.name, pkg.arch)
                    highlight = False
                    if key not in highlight_na:
                        highlight = highlight_modes.get('not in', 'normal')
                    elif pkg.evr_eq(highlight_na[key]):
                        highlight = highlight_modes.get('=', 'normal')
                    elif pkg.evr_lt(highlight_na[key]):
                        highlight = highlight_modes.get('>', 'bold')
                    else:
                        highlight = highlight_modes.get('<', 'normal')

                    if outputType == 'list':
                        self.simpleList(pkg, ui_overflow=True,
                                        highlight=highlight, columns=columns)
                    elif outputType == 'info':
                        info_set.add(self.infoOutput(pkg, highlight=highlight) + "\n")
                    elif outputType == 'name':
                        self.simple_name_list(pkg)
                    elif outputType == 'nevra':
                        self.simple_nevra_list(pkg)
                    else:
                        pass

                if info_set:
                    print("\n".join(sorted(info_set)))

            return len(lst)

    def userconfirm(self, msg=None, defaultyes_msg=None):
        """Get a yes or no from the user, and default to No

        :msg: String for case with [y/N]
        :defaultyes_msg: String for case with [Y/n]
        :return: True if the user selects yes, and False if the user
           selects no
        """
        yui = (ucd(_('y')), ucd(_('yes')))
        nui = (ucd(_('n')), ucd(_('no')))
        aui = yui + nui
        while True:
            if msg is None:
                msg = _('Is this ok [y/N]: ')
            choice = ''
            if self.conf.defaultyes:
                if defaultyes_msg is None:
                    msg = _('Is this ok [Y/n]: ')
                else:
                    msg = defaultyes_msg
            try:
                choice = dnf.i18n.ucd_input(msg)
            except EOFError:
                pass
            except KeyboardInterrupt:
                choice = nui[0]
            choice = ucd(choice).lower()
            if len(choice) == 0:
                choice = yui[0] if self.conf.defaultyes else nui[0]
            if choice in aui:
                break

            # If the English one letter names don't mix with the translated
            # letters, allow them too:
            if u'y' == choice and u'y' not in aui:
                choice = yui[0]
                break
            if u'n' == choice and u'n' not in aui:
                choice = nui[0]
                break

        if choice in yui:
            return True
        return False

    def _pkgs2name_dict(self, sections):
        installed = self.sack.query().installed()._name_dict()
        available = self.sack.query().available()._name_dict()

        d = {}
        for pkg_name in itertools.chain(*list(zip(*sections))[1]):
            if pkg_name in installed:
                d[pkg_name] = installed[pkg_name][0]
            elif pkg_name in available:
                d[pkg_name] = available[pkg_name][0]
        return d

    def _pkgs2col_lengths(self, sections, name_dict):
        nevra_lengths = {}
        repo_lengths = {}
        for pkg_name in itertools.chain(*list(zip(*sections))[1]):
            pkg = name_dict.get(pkg_name)
            if pkg is None:
                continue
            nevra_l = exact_width(ucd(pkg)) + exact_width(self.GRP_PACKAGE_INDENT)
            repo_l = exact_width(ucd(pkg.reponame))
            nevra_lengths[nevra_l] = nevra_lengths.get(nevra_l, 0) + 1
            repo_lengths[repo_l] = repo_lengths.get(repo_l, 0) + 1
        return (nevra_lengths, repo_lengths)

    def _display_packages(self, pkg_names):
        for name in pkg_names:
            print('%s%s' % (self.GRP_PACKAGE_INDENT, name))

    def _display_packages_verbose(self, pkg_names, name_dict, columns):
        for name in pkg_names:
            try:
                pkg = name_dict[name]
            except KeyError:
                # package not in any repo -> print only package name
                print('%s%s' % (self.GRP_PACKAGE_INDENT, name))
                continue
            highlight = False
            if not pkg._from_system:
                highlight = self.conf.color_list_available_install
            self.simpleEnvraList(pkg, ui_overflow=True,
                                 indent=self.GRP_PACKAGE_INDENT,
                                 highlight=highlight,
                                 columns=columns)

    def display_pkgs_in_groups(self, group):
        """Output information about the packages in a given group

        :param group: a Group object to output information about
        """
        def names(packages):
            return sorted(pkg.name for pkg in packages)
        print('\n' + _('Group: %s') % group.ui_name)

        verbose = self.conf.verbose
        if verbose:
            print(_(' Group-Id: %s') % ucd(group.id))
        if group.ui_description:
            print(_(' Description: %s') % ucd(group.ui_description) or "")
        if group.lang_only:
            print(_(' Language: %s') % group.lang_only)

        sections = (
            (_(' Mandatory Packages:'), names(group.mandatory_packages)),
            (_(' Default Packages:'), names(group.default_packages)),
            (_(' Optional Packages:'), names(group.optional_packages)),
            (_(' Conditional Packages:'), names(group.conditional_packages)))
        if verbose:
            name_dict = self._pkgs2name_dict(sections)
            col_lengths = self._pkgs2col_lengths(sections, name_dict)
            columns = self.calcColumns(col_lengths)
            columns = (-columns[0], -columns[1])
            for (section_name, packages) in sections:
                if len(packages) < 1:
                    continue
                print(section_name)
                self._display_packages_verbose(packages, name_dict, columns)
        else:
            for (section_name, packages) in sections:
                if len(packages) < 1:
                    continue
                print(section_name)
                self._display_packages(packages)

    def display_groups_in_environment(self, environment):
        """Output information about the packages in a given environment

        :param environment: an Environment object to output information about
        """
        def names(groups):
            return sorted(group.name for group in groups)
        print(_('Environment Group: %s') % environment.ui_name)

        if self.conf.verbose:
            print(_(' Environment-Id: %s') % ucd(environment.id))
        if environment.ui_description:
            description = ucd(environment.ui_description) or ""
            print(_(' Description: %s') % description)

        sections = (
            (_(' Mandatory Groups:'), names(environment.mandatory_groups)),
            (_(' Optional Groups:'), names(environment.optional_groups)))
        for (section_name, packages) in sections:
            if len(packages) < 1:
                continue
            print(section_name)
            self._display_packages(packages)

    def matchcallback(self, po, values, matchfor=None, verbose=None,
                      highlight=None):
        """Output search/provides type callback matches.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        :param verbose: whether to output extra verbose information
        :param highlight: highlighting options for the highlighted matches
        """
        def print_highlighted_key_item(key, item, printed_headline, can_overflow=False):
            if not printed_headline:
                print(_('Matched from:'))
            item = ucd(item) or ""
            if item == "":
                return
            if matchfor:
                item = self._sub_highlight(item, highlight, matchfor, ignore_case=True)
            if can_overflow:
                print(self.fmtKeyValFill(key, item))
            else:
                print(key % item)

        def print_file_provides(item, printed_match):
            if not self.FILE_PROVIDE_RE.match(item):
                return False
            key = _("Filename    : %s")
            file_match = False
            for filename in po.files:
                if fnmatch.fnmatch(filename, item):
                    print_highlighted_key_item(
                        key, filename, file_match or printed_match, can_overflow=False)
                    file_match = True
            return file_match

        if self.conf.showdupesfromrepos:
            msg = '%s : ' % po
        else:
            msg = '%s.%s : ' % (po.name, po.arch)
        msg = self.fmtKeyValFill(msg, po.summary or "")
        if matchfor:
            if highlight is None:
                highlight = self.conf.color_search_match
            msg = self._sub_highlight(msg, highlight, matchfor, ignore_case=True)
        print(msg)

        if verbose is None:
            verbose = self.conf.verbose
        if not verbose:
            return

        print(_("Repo        : %s") % po.ui_from_repo)
        printed_match = False
        name_match = False
        for item in set(values):
            if po.summary == item:
                name_match = True
                continue # Skip double name/summary printing

            if po.description == item:
                key = _("Description : ")
                print_highlighted_key_item(key, item, printed_match, can_overflow=True)
                printed_match = True
            elif po.url == item:
                key = _("URL         : %s")
                print_highlighted_key_item(key, item, printed_match, can_overflow=False)
                printed_match = True
            elif po.license == item:
                key = _("License     : %s")
                print_highlighted_key_item(key, item, printed_match, can_overflow=False)
                printed_match = True
            elif print_file_provides(item, printed_match):
                printed_match = True
            else:
                key = _("Provide    : %s")
                for provide in po.provides:
                    provide = str(provide)
                    if fnmatch.fnmatch(provide, item):
                        print_highlighted_key_item(key, provide, printed_match, can_overflow=False)
                        printed_match = True
                    else:
                        first_provide = provide.split()[0]
                        possible = set('=<>')
                        if any((char in possible) for char in item):
                            item_new = item.split()[0]
                        else:
                            item_new = item
                        if fnmatch.fnmatch(first_provide, item_new):
                            print_highlighted_key_item(
                                key, provide, printed_match, can_overflow=False)
                            printed_match = True

        if not any([printed_match, name_match]):
            for item in set(values):
                key = _("Other       : %s")
                print_highlighted_key_item(key, item, printed_match, can_overflow=False)
        print()

    def matchcallback_verbose(self, po, values, matchfor=None):
        """Output search/provides type callback matches.  This will
        output more information than :func:`matchcallback`.

        :param po: the package object that matched the search
        :param values: the information associated with *po* that
           matched the search
        :param matchfor: a list of strings to be highlighted in the
           output
        """
        return self.matchcallback(po, values, matchfor, verbose=True)

    def reportDownloadSize(self, packages, installonly=False):
        """Report the total download size for a set of packages

        :param packages: a list of package objects
        :param installonly: whether the transaction consists only of installations
        """
        totsize = 0
        locsize = 0
        insize = 0
        error = False
        for pkg in packages:
            # Just to be on the safe side, if for some reason getting
            # the package size fails, log the error and don't report download
            # size
            try:
                size = int(pkg._size)
                totsize += size
                try:
                    if pkg.verifyLocalPkg():
                        locsize += size
                except Exception:
                    pass

                if not installonly:
                    continue

                try:
                    size = int(pkg.installsize)
                except Exception:
                    pass
                insize += size
            except Exception:
                error = True
                msg = _('There was an error calculating total download size')
                logger.error(msg)
                break

        if not error:
            if locsize:
                logger.info(_("Total size: %s"),
                                        format_number(totsize))
            if locsize != totsize:
                logger.info(_("Total download size: %s"),
                                        format_number(totsize - locsize))
            if installonly:
                logger.info(_("Installed size: %s"), format_number(insize))

    def reportRemoveSize(self, packages):
        """Report the total size of packages being removed.

        :param packages: a list of package objects
        """
        totsize = 0
        error = False
        for pkg in packages:
            # Just to be on the safe side, if for some reason getting
            # the package size fails, log the error and don't report download
            # size
            try:
                size = pkg._size
                totsize += size
            except Exception:
                error = True
                msg = _('There was an error calculating installed size')
                logger.error(msg)
                break
        if not error:
            logger.info(_("Freed space: %s"), format_number(totsize))

    def list_group_transaction(self, comps, history, diff):
        if not diff:
            return None

        out = []
        rows = []
        if diff.new_groups:
            out.append(_('Marking packages as installed by the group:'))
        for grp_id in diff.new_groups:
            pkgs = list(diff.added_packages(grp_id))
            group_object = comps._group_by_id(grp_id)
            grp_name = group_object.ui_name if group_object else grp_id
            rows.extend(_spread_in_columns(4, "@" + grp_name, pkgs))
        if diff.removed_groups:
            out.append(_('Marking packages as removed by the group:'))
        for grp_id in diff.removed_groups:
            pkgs = list(diff.removed_packages(grp_id))
            grp_name = history.group.get(grp_id).ui_name
            rows.extend(_spread_in_columns(4, "@" + grp_name, pkgs))

        if rows:
            col_data = self._col_widths(rows)
            for row in rows:
                out.append(self.fmtColumns(zip(row, col_data), ' '))
            out[0:0] = self._banner(col_data, (_('Group'), _('Packages'), '', ''))
        return '\n'.join(out)

    def list_transaction(self, transaction, total_width=None):
        """Return a string representation of the transaction in an
        easy-to-read format.
        """
        forward_actions = hawkey.UPGRADE | hawkey.UPGRADE_ALL | hawkey.DISTUPGRADE | \
            hawkey.DISTUPGRADE_ALL | hawkey.DOWNGRADE | hawkey.INSTALL
        skipped_conflicts = set()
        skipped_broken = set()

        if transaction is None:
            # set empty transaction list instead of returning None
            # in order to display module changes when RPM transaction is empty
            transaction = []

        list_bunch = dnf.util._make_lists(transaction)
        pkglist_lines = []
        data = {'n' : {}, 'v' : {}, 'r' : {}}
        a_wid = 0 # Arch can't get "that big" ... so always use the max.

        def _add_line(lines, data, a_wid, po, obsoletes=[]):
            (n, a, e, v, r) = po.pkgtup
            evr = po.evr
            repoid = po._from_repo
            size = format_number(po._size)

            if a is None: # gpgkeys are weird
                a = 'noarch'

            # none, partial, full?
            if po._from_system:
                hi = self.conf.color_update_installed
            elif po._from_cmdline:
                hi = self.conf.color_update_local
            else:
                hi = self.conf.color_update_remote
            lines.append((n, a, evr, repoid, size, obsoletes, hi))
            #  Create a dict of field_length => number of packages, for
            # each field.
            for (d, v) in (("n", len(n)), ("v", len(evr)), ("r", len(repoid))):
                data[d].setdefault(v, 0)
                data[d][v] += 1
            a_wid = max(a_wid, len(a))
            return a_wid
        ins_group_msg = _('Installing group/module packages') if dnf.base.WITH_MODULES \
            else _('Installing group packages')

        for (action, pkglist) in [
                # TRANSLATORS: This is for a list of packages to be installed.
                (C_('summary', 'Installing'), list_bunch.installed),
                # TRANSLATORS: This is for a list of packages to be upgraded.
                (C_('summary', 'Upgrading'), list_bunch.upgraded),
                # TRANSLATORS: This is for a list of packages to be reinstalled.
                (C_('summary', 'Reinstalling'), list_bunch.reinstalled),
                (ins_group_msg, list_bunch.installed_group),
                (_('Installing dependencies'), list_bunch.installed_dep),
                (_('Installing weak dependencies'), list_bunch.installed_weak),
                # TRANSLATORS: This is for a list of packages to be removed.
                (_('Removing'), list_bunch.erased),
                (_('Removing dependent packages'), list_bunch.erased_dep),
                (_('Removing unused dependencies'), list_bunch.erased_clean),
                # TRANSLATORS: This is for a list of packages to be downgraded.
                (C_('summary', 'Downgrading'), list_bunch.downgraded)]:
            lines = []

            # build a reverse mapping to 'replaced_by'
            # this is required to achieve reasonable speed
            replaces = {}
            for tsi in transaction:
                if tsi.action != libdnf.transaction.TransactionItemAction_OBSOLETED:
                    continue
                for i in tsi._item.getReplacedBy():
                    replaces.setdefault(i, set()).add(tsi)

            for tsi in sorted(pkglist, key=lambda x: x.pkg):
                if tsi.action not in dnf.transaction.FORWARD_ACTIONS + [libdnf.transaction.TransactionItemAction_REMOVE]:
                    continue

                # get TransactionItems obsoleted by tsi
                obsoleted = sorted(replaces.get(tsi._item, []))

                a_wid = _add_line(lines, data, a_wid, tsi.pkg, obsoleted)

            pkglist_lines.append((action, lines))

        installedProfiles = sorted(dict(self.base._moduleContainer.getInstalledProfiles()).items())
        if installedProfiles:
            action = _("Installing module profiles")
            lines = []
            for name, profiles in installedProfiles:
                for profile in list(profiles):
                    lines.append(("%s/%s" % (name, profile), "", "", "", "", "", ""))
            pkglist_lines.append((action, lines))

        removedProfiles = sorted(dict(self.base._moduleContainer.getRemovedProfiles()).items())
        if removedProfiles:
            action = _("Disabling module profiles")
            lines = []
            for name, profiles in removedProfiles:
                for profile in list(profiles):
                    lines.append(("%s/%s" % (name, profile), "", "", "", "", "", ""))
            pkglist_lines.append((action, lines))

        enabledStreams = sorted(dict(self.base._moduleContainer.getEnabledStreams()).items())
        if enabledStreams:
            action = _("Enabling module streams")
            lines = []
            for name, stream in enabledStreams:
                lines.append((name, "", stream, "", "", "", ""))
            pkglist_lines.append((action, lines))

        switchedStreams = sorted(dict(self.base._moduleContainer.getSwitchedStreams()).items())
        if switchedStreams:
            action = _("Switching module streams")
            lines = []
            for name, stream in switchedStreams:
                lines.append((name, "", "%s -> %s" % (stream[0], stream[1]), "", "", "", ""))
            pkglist_lines.append((action, lines))

        disabledModules = sorted(list(self.base._moduleContainer.getDisabledModules()))
        if disabledModules:
            action = _("Disabling modules")
            lines = []
            for name in disabledModules:
                lines.append((name, "", "", "", "", "", ""))
            pkglist_lines.append((action, lines))

        resetModules = sorted(list(self.base._moduleContainer.getResetModules()))
        if resetModules:
            action = _("Resetting modules")
            lines = []
            for name in resetModules:
                lines.append((name, "", "", "", "", "", ""))
            pkglist_lines.append((action, lines))
        if self.base._history:
            def format_line(group):
                name = group.getName()
                return (name if name else _("<name-unset>"), "", "", "", "", "", "")

            install_env_group = self.base._history.env._installed
            if install_env_group:
                action = _("Installing Environment Groups")
                lines = []
                for group in install_env_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
            upgrade_env_group = self.base._history.env._upgraded
            if upgrade_env_group:
                action = _("Upgrading Environment Groups")
                lines = []
                for group in upgrade_env_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
            remove_env_group = self.base._history.env._removed
            if remove_env_group:
                action = _("Removing Environment Groups")
                lines = []
                for group in remove_env_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
            install_group = self.base._history.group._installed
            if install_group:
                action = _("Installing Groups")
                lines = []
                for group in install_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
            upgrade_group = self.base._history.group._upgraded
            if upgrade_group:
                action = _("Upgrading Groups")
                lines = []
                for group in upgrade_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
            remove_group = self.base._history.group._removed
            if remove_group:
                action = _("Removing Groups")
                lines = []
                for group in remove_group.values():
                    lines.append(format_line(group))
                pkglist_lines.append((action, lines))
        # show skipped conflicting packages
        if not self.conf.best and self.base._goal.actions & forward_actions:
            lines = []
            skipped_conflicts, skipped_broken = self.base._skipped_packages(
                report_problems=True, transaction=transaction)
            skipped_broken = dict((str(pkg), pkg) for pkg in skipped_broken)
            for pkg in sorted(skipped_conflicts):
                a_wid = _add_line(lines, data, a_wid, pkg, [])
            recommendations = ["--best"]
            if not self.base._allow_erasing:
                recommendations.append("--allowerasing")
            skip_str = _("Skipping packages with conflicts:\n"
                         "(add '%s' to command line "
                         "to force their upgrade)") % " ".join(recommendations)
            # remove misleading green color from the "packages with conflicts" lines
            lines = [i[:-1] + ("", ) for i in lines]
            pkglist_lines.append((skip_str, lines))

            lines = []
            for nevra, pkg in sorted(skipped_broken.items()):
                a_wid = _add_line(lines, data, a_wid, pkg, [])
            skip_str = _("Skipping packages with broken dependencies%s")
            if self.base.conf.upgrade_group_objects_upgrade:
                skip_str = skip_str % ""
            else:
                skip_str = skip_str % _(" or part of a group")

            # remove misleading green color from the "broken dependencies" lines
            lines = [i[:-1] + ("", ) for i in lines]
            pkglist_lines.append((skip_str, lines))
        output_width = self.term.columns
        if not data['n'] and not self.base._moduleContainer.isChanged() and not \
                (self.base._history and (self.base._history.group or self.base._history.env)):
            return u''
        else:
            data = [data['n'], {}, data['v'], data['r'], {}]
            columns = [1, a_wid, 1, 1, 5]
            columns = self.calcColumns(data, indent="  ", columns=columns,
                                       remainder_column=2, total_width=total_width)
            (n_wid, a_wid, v_wid, r_wid, s_wid) = columns
            real_width = sum(columns) + 5
            output_width = output_width if output_width >= real_width else real_width

            # Do not use 'Package' without context. Using context resolves
            # RhBug 1302935 as a side effect.
            msg_package = select_short_long(n_wid,
            # Translators: This is the short version of 'Package'. You can
            # use the full (unabbreviated) term 'Package' if you think that
            # the translation to your language is not too long and will
            # always fit to limited space.
                                            C_('short', 'Package'),
            # Translators: This is the full (unabbreviated) term 'Package'.
                                            C_('long', 'Package'))
            msg_arch = select_short_long(a_wid,
            # Translators: This is abbreviated 'Architecture', used when
            # we have not enough space to display the full word.
                                         C_('short', 'Arch'),
            # Translators: This is the full word 'Architecture', used when
            # we have enough space.
                                         C_('long', 'Architecture'))
            msg_version = select_short_long(v_wid,
            # Translators: This is the short version of 'Version'. You can
            # use the full (unabbreviated) term 'Version' if you think that
            # the translation to your language is not too long and will
            # always fit to limited space.
                                            C_('short', 'Version'),
            # Translators: This is the full (unabbreviated) term 'Version'.
                                            C_('long', 'Version'))
            msg_repository = select_short_long(r_wid,
            # Translators: This is abbreviated 'Repository', used when
            # we have not enough space to display the full word.
                                               C_('short', 'Repo'),
            # Translators: This is the full word 'Repository', used when
            # we have enough space.
                                               C_('long', 'Repository'))
            msg_size = select_short_long(s_wid,
            # Translators: This is the short version of 'Size'. It should
            # not be longer than 5 characters. If the term 'Size' in your
            # language is not longer than 5 characters then you can use it
            # unabbreviated.
                                         C_('short', 'Size'),
            # Translators: This is the full (unabbreviated) term 'Size'.
                                         C_('long', 'Size'))

            out = [u"%s\n%s\n%s\n" % ('=' * output_width,
                                      self.fmtColumns(((msg_package, -n_wid),
                                                       (msg_arch, -a_wid),
                                                       (msg_version, -v_wid),
                                                       (msg_repository, -r_wid),
                                                       (msg_size, s_wid)), u" "),
                                      '=' * output_width)]

        for (action, lines) in pkglist_lines:
            if lines:
                totalmsg = u"%s:\n" % action
            for (n, a, evr, repoid, size, obsoletes, hi) in lines:
                columns = ((n, -n_wid, hi), (a, -a_wid),
                           (evr, -v_wid), (repoid, -r_wid), (size, s_wid))
                msg = self.fmtColumns(columns, u" ", u"\n")
                hibeg, hiend = self._highlight(self.conf.color_update_installed)
                for obspo in sorted(obsoletes):
                    appended = '     ' + _('replacing') + '  %s%s%s.%s %s\n'
                    appended %= (hibeg, obspo.name, hiend, obspo.arch, obspo.evr)
                    msg += appended
                totalmsg = totalmsg + msg

            if lines:
                out.append(totalmsg)
        out.append(_("""
Transaction Summary
%s
""") % ('=' * output_width))
        summary_data = (
            (_('Install'), len(list_bunch.installed) +
             len(list_bunch.installed_group) +
             len(list_bunch.installed_weak) +
             len(list_bunch.installed_dep), 0),
            (_('Upgrade'), len(list_bunch.upgraded), 0),
            (_('Remove'), len(list_bunch.erased) + len(list_bunch.erased_dep) +
             len(list_bunch.erased_clean), 0),
            (_('Downgrade'), len(list_bunch.downgraded), 0),
            (_('Skip'), len(skipped_conflicts) + len(skipped_broken), 0))
        max_msg_action = 0
        max_msg_count = 0
        max_msg_pkgs = 0
        max_msg_depcount = 0
        for action, count, depcount in summary_data:
            if not count and not depcount:
                continue

            msg_pkgs = P_('Package', 'Packages', count)
            len_msg_action = exact_width(action)
            len_msg_count = exact_width(unicode(count))
            len_msg_pkgs = exact_width(msg_pkgs)

            if depcount:
                len_msg_depcount = exact_width(unicode(depcount))
            else:
                len_msg_depcount = 0

            max_msg_action = max(len_msg_action, max_msg_action)
            max_msg_count = max(len_msg_count, max_msg_count)
            max_msg_pkgs = max(len_msg_pkgs, max_msg_pkgs)
            max_msg_depcount = max(len_msg_depcount, max_msg_depcount)

        for action, count, depcount in summary_data:
            msg_pkgs = P_('Package', 'Packages', count)
            if depcount:
                msg_deppkgs = P_('Dependent package', 'Dependent packages',
                                 depcount)
                action_msg = fill_exact_width(action, max_msg_action)
                if count:
                    msg = '%s  %*d %s (+%*d %s)\n'
                    out.append(msg % (action_msg,
                                      max_msg_count, count,
                                      "%-*s" % (max_msg_pkgs, msg_pkgs),
                                      max_msg_depcount, depcount, msg_deppkgs))
                else:
                    msg = '%s  %s  ( %*d %s)\n'
                    out.append(msg % (action_msg,
                                      (max_msg_count + max_msg_pkgs) * ' ',
                                      max_msg_depcount, depcount, msg_deppkgs))
            elif count:
                msg = '%s  %*d %s\n'
                out.append(msg % (fill_exact_width(action, max_msg_action),
                                  max_msg_count, count, msg_pkgs))
        return ''.join(out)


    def _pto_callback(self, action, tsis):
        #  Works a bit like calcColumns, but we never overflow a column we just
        # have a dynamic number of columns.
        def _fits_in_cols(msgs, num):
            """ Work out how many columns we can use to display stuff, in
                the post trans output. """
            if len(msgs) < num:
                return []

            left = self.term.columns - ((num - 1) + 2)
            if left <= 0:
                return []

            col_lens = [0] * num
            col = 0
            for msg in msgs:
                if len(msg) > col_lens[col]:
                    diff = (len(msg) - col_lens[col])
                    if left <= diff:
                        return []
                    left -= diff
                    col_lens[col] = len(msg)
                col += 1
                col %= len(col_lens)

            for col in range(len(col_lens)):
                col_lens[col] += left // num
                col_lens[col] *= -1
            return col_lens

        if not tsis:
            return ''
        out = []
        msgs = []
        out.append('{}:'.format(action))
        for tsi in tsis:
            msgs.append(str(tsi))
        for num in (8, 7, 6, 5, 4, 3, 2):
            cols = _fits_in_cols(msgs, num)
            if cols:
                break
        if not cols:
            cols = [-(self.term.columns - 2)]
        while msgs:
            current_msgs = msgs[:len(cols)]
            out.append('  {}'.format(self.fmtColumns(zip(current_msgs, cols))))
            msgs = msgs[len(cols):]
        return out


    def post_transaction_output(self, transaction):
        """
        Return a human-readable summary of the transaction. Packages in sections
        are arranged to columns.
        """
        return dnf.util._post_transaction_output(self.base, transaction, self._pto_callback)

    def setup_progress_callbacks(self):
        """Set up the progress callbacks and various
           output bars based on debug level.
        """
        progressbar = None
        if self.conf.debuglevel >= 2:
            progressbar = dnf.cli.progress.MultiFileProgressMeter(fo=sys.stdout)
            self.progress = dnf.cli.progress.MultiFileProgressMeter(fo=sys.stdout)

        # setup our depsolve progress callback
        return (progressbar, DepSolveProgressCallBack())

    def download_callback_total_cb(self, remote_size, download_start_timestamp):
        """Outputs summary information about the download process.

        :param remote_size: the total amount of information that was
           downloaded, in bytes
        :param download_start_timestamp: the time when the download
           process started, in seconds since the epoch
        """
        if remote_size <= 0:
            return

        width = self.term.columns
        logger.info("-" * width)
        dl_time = max(0.01, time.time() - download_start_timestamp)
        msg = ' %5sB/s | %5sB %9s     ' % (
            format_number(remote_size // dl_time),
            format_number(remote_size),
            format_time(dl_time))
        msg = fill_exact_width(_("Total"), width - len(msg)) + msg
        logger.info(msg)

    def _history_uiactions(self, hpkgs):
        actions = set()
        actions_short = set()
        count = 0
        for pkg in hpkgs:
            if pkg.action in (libdnf.transaction.TransactionItemAction_UPGRADED, libdnf.transaction.TransactionItemAction_DOWNGRADED):
                # skip states we don't want to display in user input
                continue
            actions.add(pkg.action_name)
            actions_short.add(pkg.action_short)
            count += 1

        if len(actions) > 1:
            return count, ", ".join(sorted(actions_short))

        # So empty transactions work, although that "shouldn't" really happen
        return count, "".join(list(actions))

    def _pwd_ui_username(self, uid, limit=None):
        if isinstance(uid, list):
            return [self._pwd_ui_username(u, limit) for u in uid]

        # loginuid is set to      -1 (0xFFFF_FFFF) on init, in newer kernels.
        # loginuid is set to INT_MAX (0x7FFF_FFFF) on init, in older kernels.
        if uid is None or uid in (0xFFFFFFFF, 0x7FFFFFFF):
            loginid = _("<unset>")
            name = _("System") + " " + loginid
            if limit is not None and len(name) > limit:
                name = loginid
            return ucd(name)

        def _safe_split_0(text, *args):
            """ Split gives us a [0] for everything _but_ '', this function
                returns '' in that case. """
            ret = text.split(*args)
            if not ret:
                return ''
            return ret[0]

        try:
            user = pwd.getpwuid(int(uid))
            fullname = _safe_split_0(ucd(user.pw_gecos), ';', 2)
            user_name = ucd(user.pw_name)
            name = "%s <%s>" % (fullname, user_name)
            if limit is not None and len(name) > limit:
                name = "%s ... <%s>" % (_safe_split_0(fullname), user_name)
                if len(name) > limit:
                    name = "<%s>" % user_name
            return name
        except KeyError:
            return ucd(uid)

    def historyListCmd(self, tids, reverse=False):
        """Output a list of information about the history of yum
        transactions.

        :param tids: transaction Ids; lists all transactions if empty
        """
        transactions = self.history.old(tids)
        if self.conf.history_list_view == 'users':
            uids = [1, 2]
        elif self.conf.history_list_view == 'commands':
            uids = [1]
        else:
            assert self.conf.history_list_view == 'single-user-commands'
            uids = set()
            done = 0
            blanks = 0
            for transaction in transactions:
                done += 1
                if transaction.cmdline is None:
                    blanks += 1
                uids.add(transaction.loginuid)

        fmt = "%s | %s | %s | %s | %s"
        if len(uids) == 1:
            name = _("Command line")
            real_cols = self.term.real_columns
            if real_cols is None:
                # if output is redirected in `less` the columns
                # detected are None value, to detect terminal size
                # use stdin file descriptor
                real_cols = dnf.cli.term._real_term_width(0)
            if real_cols is None:
                # if even stdin fd fails use 24 to fit to 80 cols
                real_cols = 24
            name_width = real_cols - 55 if real_cols > 79 else 24
        else:
            # TRANSLATORS: user names who executed transaction in history command output
            name = _("User name")
            name_width = 24
        print(fmt % (fill_exact_width(_("ID"), 6, 6),
                     fill_exact_width(name, name_width, name_width),
                     fill_exact_width(_("Date and time"), 16, 16),
                     fill_exact_width(_("Action(s)"), 14, 14),
                     fill_exact_width(_("Altered"), 7, 7)))

        # total table width: each column length +3 (padding and separator between columns)
        table_width = 6 + 3 + name_width + 3 + 16 + 3 + 14 + 3 + 7
        print("-" * table_width)
        fmt = "%6u | %s | %-16.16s | %s | %4u"

        if reverse is True:
            transactions = reversed(transactions)
        for transaction in transactions:
            if len(uids) == 1:
                name = transaction.cmdline or ''
            else:
                name = self._pwd_ui_username(transaction.loginuid, 24)
            name = ucd(name)
            tm = time.strftime("%Y-%m-%d %H:%M",
                               time.localtime(transaction.beg_timestamp))
            num, uiacts = self._history_uiactions(transaction.data())
            name = fill_exact_width(name, name_width, name_width)
            uiacts = fill_exact_width(uiacts, 14, 14)
            rmark = lmark = ' '
            if transaction.return_code is None:
                rmark = lmark = '*'
            elif transaction.return_code:
                rmark = lmark = '#'
                # We don't check .errors, because return_code will be non-0
            elif transaction.is_output:
                rmark = lmark = 'E'
            if transaction.altered_lt_rpmdb:
                rmark = '<'
            if transaction.altered_gt_rpmdb:
                lmark = '>'
            print(fmt % (transaction.tid, name, tm, uiacts, num), "%s%s" % (lmark, rmark))

    def historyInfoCmd(self, tids, pats=[], mtids=set()):
        """Output information about a transaction in history

        :param tids: transaction Ids; prints info for the last transaction if empty
        :raises dnf.exceptions.Error in case no transactions were found
        """
        tids = set(tids)
        last = self.history.last()
        if last is None:
            logger.critical(_('No transactions'))
            raise dnf.exceptions.Error(_('Failed history info'))

        lasttid = last.tid
        lastdbv = last.end_rpmdb_version

        transactions = []
        if not tids:
            last = self.history.last(complete_transactions_only=False)
            if last is not None:
                tids.add(last.tid)
                transactions.append(last)
        else:
            transactions = self.history.old(tids)

        if not tids:
            logger.critical(_('No transaction ID, or package, given'))
            raise dnf.exceptions.Error(_('Failed history info'))

        bmtid, emtid = -1, -1
        mobj = None
        done = False

        if mtids:
            mtids = sorted(mtids)
            bmtid, emtid = mtids.pop()

        for trans in transactions:
            if lastdbv is not None and trans.tid == lasttid:
                #  If this is the last transaction, is good and it doesn't
                # match the current rpmdb ... then mark it as bad.
                rpmdbv = self.sack._rpmdb_version()
                trans.compare_rpmdbv(str(rpmdbv))
            lastdbv = None

            merged = False

            if trans.tid >= bmtid and trans.tid <= emtid:
                if mobj is None:
                    mobj = MergedTransactionWrapper(trans)
                else:
                    mobj.merge(trans)
                merged = True
            elif mobj is not None:
                if done:
                    print("-" * 79)
                done = True

                self._historyInfoCmd(mobj)
                mobj = None

                if mtids:
                    bmtid, emtid = mtids.pop()
                    if trans.tid >= bmtid and trans.tid <= emtid:
                        mobj = trans
                        merged = True

            if not merged:
                if done:
                    print("-" * 79)
                done = True
                self._historyInfoCmd(trans, pats)

        if mobj is not None:
            if done:
                print("-" * 79)
            self._historyInfoCmd(mobj)

    def _historyInfoCmd(self, old, pats=[]):
        loginuid = old.loginuid
        if isinstance(loginuid, int):
            loginuid = [loginuid]
        name = [self._pwd_ui_username(uid) for uid in loginuid]

        _pkg_states_installed = {'i' : _('Installed'), 'e' : _('Erased'),
                                 'o' : _('Upgraded'), 'n' : _('Downgraded')}
        _pkg_states_available = {'i' : _('Installed'), 'e' : _('Not installed'),
                                 'o' : _('Older'), 'n' : _('Newer')}
        maxlen = max([len(x) for x in (list(_pkg_states_installed.values()) +
                                       list(_pkg_states_available.values()))])
        _pkg_states_installed['maxlen'] = maxlen
        _pkg_states_available['maxlen'] = maxlen
        def _simple_pkg(pkg, prefix_len, was_installed=False, highlight=False,
                        pkg_max_len=0, show_repo=True):
            prefix = " " * prefix_len
            if was_installed:
                _pkg_states = _pkg_states_installed
            else:
                _pkg_states = _pkg_states_available
            state = _pkg_states['i']

            # get installed packages with name = pkg.name
            ipkgs = self.sack.query().installed().filterm(name=pkg.name).run()

            if not ipkgs:
                state = _pkg_states['e']
            else:
                # get latest installed package from software database
                inst_pkg = self.history.package(ipkgs[0])
                if inst_pkg:
                    res = pkg.compare(inst_pkg)
                    # res is:
                    # 0 if inst_pkg == pkg
                    # > 0 when inst_pkg > pkg
                    # < 0 when inst_pkg < pkg
                    if res == 0:
                        pass  # installed
                    elif res > 0:
                        state = _pkg_states['o']  # updated
                    else:
                        state = _pkg_states['n']  # downgraded

            if highlight:
                (hibeg, hiend) = self._highlight('bold')
            else:
                (hibeg, hiend) = self._highlight('normal')
            state = fill_exact_width(state, _pkg_states['maxlen'])
            ui_repo = ''
            if show_repo:
                ui_repo = pkg.ui_from_repo()
            print("%s%s%s%s %-*s %s" % (prefix, hibeg, state, hiend,
                                        pkg_max_len, str(pkg), ui_repo))

        tids = old.tids()
        if len(tids) > 1:
            print(_("Transaction ID :"), "%u..%u" % (tids[0], tids[-1]))
        else:
            print(_("Transaction ID :"), tids[0])
        begt = float(old.beg_timestamp)
        begtm = time.strftime("%c", time.localtime(begt))
        print(_("Begin time     :"), begtm)
        if old.beg_rpmdb_version is not None:
            if old.altered_lt_rpmdb:
                print(_("Begin rpmdb    :"), old.beg_rpmdb_version, "**")
            else:
                print(_("Begin rpmdb    :"), old.beg_rpmdb_version)
        if old.end_timestamp is not None:
            endt = old.end_timestamp
            endtm = time.strftime("%c", time.localtime(endt))
            diff = endt - begt
            if diff < 5 * 60:
                diff = _("(%u seconds)") % diff
            elif diff < 5 * 60 * 60:
                diff = _("(%u minutes)") % (diff // 60)
            elif diff < 5 * 60 * 60 * 24:
                diff = _("(%u hours)") % (diff // (60 * 60))
            else:
                diff = _("(%u days)") % (diff // (60 * 60 * 24))
            print(_("End time       :"), endtm, diff)
        if old.end_rpmdb_version is not None:
            if old.altered_gt_rpmdb:
                print(_("End rpmdb      :"), old.end_rpmdb_version, "**")
            else:
                print(_("End rpmdb      :"), old.end_rpmdb_version)
        if isinstance(name, (list, tuple)):
            seen = set()
            for i in name:
                if i in seen:
                    continue
                seen.add(i)
                print(_("User           :"), i)
        else:
            print(_("User           :"), name)
        if isinstance(old.return_code, (list, tuple)):
            codes = old.return_code
            if codes[0] is None:
                print(_("Return-Code    :"), "**", _("Aborted"), "**")
                codes = codes[1:]
            elif not all(codes):
                print(_("Return-Code    :"), _("Success"))
            elif codes:
                print(_("Return-Code    :"), _("Failures:"), ", ".join([str(i) for i in codes]))
        elif old.return_code is None:
            print(_("Return-Code    :"), "**", _("Aborted"), "**")
        elif old.return_code:
            print(_("Return-Code    :"), _("Failure:"), old.return_code)
        else:
            print(_("Return-Code    :"), _("Success"))

        if isinstance(old.releasever, (list, tuple)):
            seen = set()
            for i in old.releasever:
                if i in seen:
                    continue
                seen.add(i)
            print(_("Releasever     :"), i)
        else:
            print(_("Releasever     :"), old.releasever)

        if old.cmdline is not None:
            if isinstance(old.cmdline, (list, tuple)):
                for cmdline in old.cmdline:
                    print(_("Command Line   :"), cmdline)
            else:
                print(_("Command Line   :"), old.cmdline)

        if old.comment is not None:
            if isinstance(old.comment, (list, tuple)):
                for comment in old.comment:
                    print(_("Comment        :"), comment)
            else:
                print(_("Comment        :"), old.comment)

        perf_with = old.performed_with()
        if perf_with:
            print(_("Transaction performed with:"))
        max_len = 0
        for with_pkg in perf_with:
            str_len = len(str(with_pkg))
            if str_len > max_len:
                max_len = str_len
        for with_pkg in perf_with:
            _simple_pkg(with_pkg, 4, was_installed=True, pkg_max_len=max_len)

        print(_("Packages Altered:"))

        self.historyInfoCmdPkgsAltered(old, pats)

        t_out = old.output()
        if t_out:
            print(_("Scriptlet output:"))
            num = 0
            for line in t_out:
                num += 1
                print("%4d" % num, line)
        t_err = old.error()
        if t_err:
            print(_("Errors:"))
            num = 0
            for line in t_err:
                num += 1
                print("%4d" % num, line)

    # TODO: remove
    _history_state2uistate = {'True-Install' : _('Install'),
                              'Install'      : _('Install'),
                              'Dep-Install'  : _('Dep-Install'),
                              'Obsoleted'    : _('Obsoleted'),
                              'Obsoleting'   : _('Obsoleting'),
                              'Erase'        : _('Erase'),
                              'Reinstall'    : _('Reinstall'),
                              'Downgrade'    : _('Downgrade'),
                              'Downgraded'   : _('Downgraded'),
                              'Update'       : _('Upgrade'),
                              'Updated'      : _('Upgraded'),
                              }
    def historyInfoCmdPkgsAltered(self, old, pats=[]):
        """Print information about how packages are altered in a transaction.

        :param old: the :class:`DnfSwdbTrans` to
           print information about
        :param pats: a list of patterns.  Packages that match a patten
           in *pats* will be highlighted in the output
        """
        #  Note that these don't use _simple_pkg() because we are showing what
        # happened to them in the transaction ... not the difference between the
        # version in the transaction and now.
        all_uistates = self._history_state2uistate
        maxlen = 0
        pkg_max_len = 0

        packages = old.packages()

        for pkg in packages:
            uistate = all_uistates.get(pkg.action_name, pkg.action_name)
            if maxlen < len(uistate):
                maxlen = len(uistate)
            pkg_len = len(str(pkg))
            if pkg_max_len < pkg_len:
                pkg_max_len = pkg_len

        for pkg in packages:
            prefix = " " * 4
            if pkg.state != libdnf.transaction.TransactionItemState_DONE:
                prefix = " ** "

            highlight = 'normal'
            if pats:
                if any([pkg.match(pat) for pat in pats]):
                    highlight = 'bold'
            (hibeg, hiend) = self._highlight(highlight)

            uistate = all_uistates.get(pkg.action_name, pkg.action_name)
            uistate = fill_exact_width(ucd(uistate), maxlen)

            print("%s%s%s%s %-*s %s" % (prefix, hibeg, uistate, hiend,
                                        pkg_max_len, str(pkg),
                                        pkg.ui_from_repo()))

class DepSolveProgressCallBack(dnf.callback.Depsolve):
    """Provides text output callback functions for Dependency Solver callback."""

    def pkg_added(self, pkg, mode):
        """Print information about a package being added to the
        transaction set.

        :param pkgtup: tuple containing the package name, arch,
           version, and repository
        :param mode: a short string indicating why the package is
           being added to the transaction set.

        Valid current values for *mode* are::

           i = the package will be installed
           u = the package will be an update
           e = the package will be erased
           r = the package will be reinstalled
           d = the package will be a downgrade
           o = the package will be obsoleting another package
           ud = the package will be updated
           od = the package will be obsoleted
        """
        output = None
        if mode == 'i':
            output = _('---> Package %s.%s %s will be installed')
        elif mode == 'u':
            output = _('---> Package %s.%s %s will be an upgrade')
        elif mode == 'e':
            output = _('---> Package %s.%s %s will be erased')
        elif mode == 'r':
            output = _('---> Package %s.%s %s will be reinstalled')
        elif mode == 'd':
            output = _('---> Package %s.%s %s will be a downgrade')
        elif mode == 'o':
            output = _('---> Package %s.%s %s will be obsoleting')
        elif mode == 'ud':
            output = _('---> Package %s.%s %s will be upgraded')
        elif mode == 'od':
            output = _('---> Package %s.%s %s will be obsoleted')

        if output:
            logger.debug(output, pkg.name, pkg.arch, pkg.evr)

    def start(self):
        """Perform setup at the beginning of the dependency solving
        process.
        """
        logger.debug(_('--> Starting dependency resolution'))

    def end(self):
        """Output a message stating that dependency resolution has finished."""
        logger.debug(_('--> Finished dependency resolution'))


class CliKeyImport(dnf.callback.KeyImport):
    def __init__(self, base, output):
        self.base = base
        self.output = output

    def _confirm(self, id, userid, fingerprint, url, timestamp):

        def short_id(id):
            rj = '0' if dnf.pycomp.PY3 else b'0'
            return id[-8:].rjust(8, rj)

        msg = (_('Importing GPG key 0x%s:\n'
                 ' Userid     : "%s"\n'
                 ' Fingerprint: %s\n'
                 ' From       : %s') %
               (short_id(id), userid,
                dnf.crypto._printable_fingerprint(fingerprint),
                url.replace("file://", "")))
        logger.critical("%s", msg)

        if self.base.conf.assumeyes:
            return True
        if self.base.conf.assumeno:
            return False
        return self.output.userconfirm()


class CliTransactionDisplay(TransactionDisplay):
    """A YUM specific callback class for RPM operations."""

    width = property(lambda self: dnf.cli.term._term_width())

    def __init__(self):
        super(CliTransactionDisplay, self).__init__()
        self.lastmsg = ""
        self.lastpackage = None # name of last package we looked at
        self.output = True

        # for a progress bar
        self.mark = "="
        self.marks = 22

    def progress(self, package, action, ti_done, ti_total, ts_done, ts_total):
        """Output information about an rpm operation.  This may
        include a text progress bar.

        :param package: the package involved in the event
        :param action: the type of action that is taking place.  Valid
           values are given by
           :func:`rpmtrans.TransactionDisplay.action.keys()`
        :param ti_done: a number representing the amount of work
           already done in the current transaction
        :param ti_total: a number representing the total amount of work
           to be done in the current transaction
        :param ts_done: the number of the current transaction in
           transaction set
        :param ts_total: the total number of transactions in the
           transaction set
        """
        action_str = dnf.transaction.ACTIONS.get(action)
        if action_str is None:
            return

        wid1 = self._max_action_width()

        pkgname = ucd(package)
        self.lastpackage = package
        if ti_total == 0:
            percent = 0
        else:
            percent = (ti_done*long(100))//ti_total
        self._out_progress(ti_done, ti_total, ts_done, ts_total,
                           percent, action_str, pkgname, wid1)

    def _max_action_width(self):
        if not hasattr(self, '_max_action_wid_cache'):
            wid1 = 0
            for val in dnf.transaction.ACTIONS.values():
                wid_val = exact_width(val)
                if wid1 < wid_val:
                    wid1 = wid_val
            self._max_action_wid_cache = wid1
        wid1 = self._max_action_wid_cache
        return wid1

    def _out_progress(self, ti_done, ti_total, ts_done, ts_total,
                      percent, process, pkgname, wid1):
        if self.output and (sys.stdout.isatty() or ti_done == ti_total):
            (fmt, wid1, wid2) = self._makefmt(percent, ts_done, ts_total,
                                              progress=sys.stdout.isatty(),
                                              pkgname=pkgname, wid1=wid1)
            pkgname = ucd(pkgname)
            msg = fmt % (fill_exact_width(process, wid1, wid1),
                         fill_exact_width(pkgname, wid2, wid2))
            if msg != self.lastmsg:
                dnf.util._terminal_messenger('write_flush', msg, sys.stdout)
                self.lastmsg = msg
                if ti_done == ti_total:
                    print(" ")

    def _makefmt(self, percent, ts_done, ts_total, progress=True,
                 pkgname=None, wid1=15):
        l = len(str(ts_total))
        size = "%s.%s" % (l, l)
        fmt_done = "%" + size + "s/%" + size + "s"
        done = fmt_done % (ts_done, ts_total)

        #  This should probably use TerminLine, but we don't want to dep. on
        # that. So we kind do an ok job by hand ... at least it's dynamic now.
        if pkgname is None:
            pnl = 22
        else:
            pnl = exact_width(pkgname)

        overhead = (2 * l) + 2 # Length of done, above
        overhead += 2 + wid1 +2 # Length of beginning ("  " action " :")
        overhead += 1          # Space between pn and done
        overhead += 2          # Ends for progress
        overhead += 1          # Space for end
        width = self.width
        if width < overhead:
            width = overhead    # Give up
        width -= overhead
        if pnl > width // 2:
            pnl = width // 2

        marks = self.width - (overhead + pnl)
        width = "%s.%s" % (marks, marks)
        fmt_bar = "[%-" + width + "s]"
        # pnl = str(28 + marks + 1)
        full_pnl = pnl + marks + 1

        if progress and percent == 100: # Don't chop pkg name on 100%
            fmt = "\r  %s: %s   " + done
            wid2 = full_pnl
        elif progress:
            if marks > 5:
                bar = fmt_bar % (self.mark * int(marks * (percent / 100.0)), )
            else:
                bar = ""
            fmt = "\r  %s: %s " + bar + " " + done
            wid2 = pnl
        elif percent == 100:
            fmt = "  %s: %s   " + done
            wid2 = full_pnl
        else:
            if marks > 5:
                bar = fmt_bar % (self.mark * marks, )
            else:
                bar = ""
            fmt = "  %s: %s " + bar + " " + done
            wid2 = pnl
        return fmt, wid1, wid2

def progressbar(current, total, name=None):
    """Output the current status to the terminal using a simple
    text progress bar consisting of 50 # marks.

    :param current: a number representing the amount of work
       already done
    :param total: a number representing the total amount of work
       to be done
    :param name: a name to label the progress bar with
    """

    mark = '#'
    if not sys.stdout.isatty():
        return

    if current == 0:
        percent = 0
    else:
        if total != 0:
            percent = float(current) / total
        else:
            percent = 0

    width = dnf.cli.term._term_width()

    if name is None and current == total:
        name = '-'

    end = ' %d/%d' % (current, total)
    width -= len(end) + 1
    if width < 0:
        width = 0
    if name is None:
        width -= 2
        if width < 0:
            width = 0
        hashbar = mark * int(width * percent)
        output = '\r[%-*s]%s' % (width, hashbar, end)
    elif current == total: # Don't chop name on 100%
        output = '\r%s%s' % (fill_exact_width(name, width, width), end)
    else:
        width -= 4
        if width < 0:
            width = 0
        nwid = width // 2
        if nwid > exact_width(name):
            nwid = exact_width(name)
        width -= nwid
        hashbar = mark * int(width * percent)
        output = '\r%s: [%-*s]%s' % (fill_exact_width(name, nwid, nwid), width,
                                     hashbar, end)

    if current <= total:
        dnf.util._terminal_messenger('write', output, sys.stdout)

    if current == total:
        dnf.util._terminal_messenger('write', '\n', sys.stdout)

    dnf.util._terminal_messenger('flush', out=sys.stdout)
PK"�FZ,�8M//cli/completion_helper.pynu�[���#!/usr/libexec/platform-python
#
# This file is part of dnf.
#
# Copyright 2015 (C) Igor Gnatenko <i.gnatenko.brain@gmail.com>
# Copyright 2016 (C) Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301  USA

import dnf.exceptions
import dnf.cli
import dnf.cli.commands.clean
import sys


def filter_list_by_kw(kw, lst):
    return filter(lambda k: str(k).startswith(kw), lst)

def listpkg_to_setstr(pkgs):
    return set([str(x) for x in pkgs])

class RemoveCompletionCommand(dnf.cli.commands.remove.RemoveCommand):
    def __init__(self, args):
        super(RemoveCompletionCommand, self).__init__(args)

    def configure(self):
        self.cli.demands.root_user = False
        self.cli.demands.sack_activation = True

    def run(self):
        for pkg in ListCompletionCommand.installed(self.base, self.opts.pkg_specs):
            print(str(pkg))


class InstallCompletionCommand(dnf.cli.commands.install.InstallCommand):
    def __init__(self, args):
        super(InstallCompletionCommand, self).__init__(args)

    def configure(self):
        self.cli.demands.root_user = False
        self.cli.demands.available_repos = True
        self.cli.demands.sack_activation = True

    def run(self):
        installed = listpkg_to_setstr(ListCompletionCommand.installed(self.base,
                                                                      self.opts.pkg_specs))
        available = listpkg_to_setstr(ListCompletionCommand.available(self.base,
                                                                      self.opts.pkg_specs))
        for pkg in (available - installed):
            print(str(pkg))


class ReinstallCompletionCommand(dnf.cli.commands.reinstall.ReinstallCommand):
    def __init__(self, args):
        super(ReinstallCompletionCommand, self).__init__(args)

    def configure(self):
        self.cli.demands.root_user = False
        self.cli.demands.available_repos = True
        self.cli.demands.sack_activation = True

    def run(self):
        installed = listpkg_to_setstr(ListCompletionCommand.installed(self.base,
                                                                      self.opts.pkg_specs))
        available = listpkg_to_setstr(ListCompletionCommand.available(self.base,
                                                                      self.opts.pkg_specs))
        for pkg in (installed & available):
            print(str(pkg))

class ListCompletionCommand(dnf.cli.commands.ListCommand):
    def __init__(self, args):
        super(ListCompletionCommand, self).__init__(args)

    def run(self):
        subcmds = self.pkgnarrows
        args = self.opts.packages
        action = self.opts.packages_action
        if len(args) > 1 and args[1] not in subcmds:
            print("\n".join(filter_list_by_kw(args[1], subcmds)))
        else:
            if action == "installed":
                pkgs = self.installed(self.base, args)
            elif action == "available":
                pkgs = self.available(self.base, args)
            elif action == "updates":
                pkgs = self.updates(self.base, args)
            else:
                available = listpkg_to_setstr(self.available(self.base, args))
                installed = listpkg_to_setstr(self.installed(self.base, args))
                pkgs = (available | installed)
                if not pkgs:
                    print("\n".join(filter_list_by_kw(args[0], subcmds)))
                    return
            for pkg in pkgs:
                print(str(pkg))

    @staticmethod
    def installed(base, arg):
        return base.sack.query().installed().filterm(name__glob="{}*".format(arg[0]))

    @staticmethod
    def available(base, arg):
        return base.sack.query().available().filterm(name__glob="{}*".format(arg[0]))

    @staticmethod
    def updates(base, arg):
        return base.check_updates(["{}*".format(arg[0])], print_=False)


class RepoListCompletionCommand(dnf.cli.commands.repolist.RepoListCommand):
    def __init__(self, args):
        super(RepoListCompletionCommand, self).__init__(args)

    def run(self):
        args = self.opts
        if args.repos_action == "enabled":
            print("\n".join(filter_list_by_kw(args.repos[0],
                            [r.id for r in self.base.repos.iter_enabled()])))
        elif args.repos_action == "disabled":
            print("\n".join(filter_list_by_kw(args.repos[0],
                            [r.id for r in self.base.repos.all() if not r.enabled])))
        elif args.repos_action == "all":
            print("\n".join(filter_list_by_kw(args.repos[0],
                            [r.id for r in self.base.repos.all()])))


class UpgradeCompletionCommand(dnf.cli.commands.upgrade.UpgradeCommand):
    def __init__(self, args):
        super(UpgradeCompletionCommand, self).__init__(args)

    def configure(self):
        self.cli.demands.root_user = False
        self.cli.demands.available_repos = True
        self.cli.demands.sack_activation = True

    def run(self):
        for pkg in ListCompletionCommand.updates(self.base, self.opts.pkg_specs):
            print(str(pkg))


class DowngradeCompletionCommand(dnf.cli.commands.downgrade.DowngradeCommand):
    def __init__(self, args):
        super(DowngradeCompletionCommand, self).__init__(args)

    def configure(self):
        self.cli.demands.root_user = False
        self.cli.demands.available_repos = True
        self.cli.demands.sack_activation = True

    def run(self):
        for pkg in ListCompletionCommand.available(self.base, self.opts.pkg_specs).downgrades():
            print(str(pkg))


class CleanCompletionCommand(dnf.cli.commands.clean.CleanCommand):
    def __init__(self, args):
        super(CleanCompletionCommand, self).__init__(args)

    def run(self):
        subcmds = dnf.cli.commands.clean._CACHE_TYPES.keys()
        print("\n".join(filter_list_by_kw(self.opts.type[1], subcmds)))


def main(args):
    base = dnf.cli.cli.BaseCli()
    cli = dnf.cli.Cli(base)
    if args[0] == "_cmds":
        base.init_plugins([], [], cli)
        print("\n".join(filter_list_by_kw(args[1], cli.cli_commands)))
        return
    cli.cli_commands.clear()
    cli.register_command(RemoveCompletionCommand)
    cli.register_command(InstallCompletionCommand)
    cli.register_command(ReinstallCompletionCommand)
    cli.register_command(ListCompletionCommand)
    cli.register_command(RepoListCompletionCommand)
    cli.register_command(UpgradeCompletionCommand)
    cli.register_command(DowngradeCompletionCommand)
    cli.register_command(CleanCompletionCommand)
    cli.configure(args)
    try:
        cli.run()
    except (OSError, dnf.exceptions.Error):
        sys.exit(0)

if __name__ == "__main__":
    try:
        main(sys.argv[1:])
    except KeyboardInterrupt:
        sys.exit(1)
PK"�FZck��f9f9cli/term.pynu�[���# Copyright (C) 2013-2014  Red Hat, Inc.
# Terminal routines.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
import curses
import dnf.pycomp
import fcntl
import re
import struct
import sys
import termios


def _real_term_width(fd=1):
    """ Get the real terminal width """
    try:
        buf = 'abcdefgh'
        buf = fcntl.ioctl(fd, termios.TIOCGWINSZ, buf)
        ret = struct.unpack(b'hhhh', buf)[1]
        return ret
    except IOError:
        return None


def _term_width(fd=1):
    """ Compute terminal width falling to default 80 in case of trouble"""
    tw = _real_term_width(fd=1)
    if not tw:
        return 80
    elif tw < 20:
        return 20
    else:
        return tw


class Term(object):
    """A class to provide some terminal "UI" helpers based on curses."""

    # From initial search for "terminfo and python" got:
    # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/475116
    # ...it's probably not copyrightable, but if so ASPN says:
    #
    #  Except where otherwise noted, recipes in the Python Cookbook are
    # published under the Python license.

    __enabled = True

    real_columns = property(lambda self: _real_term_width())
    columns = property(lambda self: _term_width())

    __cap_names = {
        'underline' : 'smul',
        'reverse' : 'rev',
        'normal' : 'sgr0',
        }

    __colors = {
        'black' : 0,
        'blue' : 1,
        'green' : 2,
        'cyan' : 3,
        'red' : 4,
        'magenta' : 5,
        'yellow' : 6,
        'white' : 7
        }
    __ansi_colors = {
        'black' : 0,
        'red' : 1,
        'green' : 2,
        'yellow' : 3,
        'blue' : 4,
        'magenta' : 5,
        'cyan' : 6,
        'white' : 7
        }
    __ansi_forced_MODE = {
        'bold' : '\x1b[1m',
        'blink' : '\x1b[5m',
        'dim' : '',
        'reverse' : '\x1b[7m',
        'underline' : '\x1b[4m',
        'normal' : '\x1b(B\x1b[m'
        }
    __ansi_forced_FG_COLOR = {
        'black' : '\x1b[30m',
        'red' : '\x1b[31m',
        'green' : '\x1b[32m',
        'yellow' : '\x1b[33m',
        'blue' : '\x1b[34m',
        'magenta' : '\x1b[35m',
        'cyan' : '\x1b[36m',
        'white' : '\x1b[37m'
        }
    __ansi_forced_BG_COLOR = {
        'black' : '\x1b[40m',
        'red' : '\x1b[41m',
        'green' : '\x1b[42m',
        'yellow' : '\x1b[43m',
        'blue' : '\x1b[44m',
        'magenta' : '\x1b[45m',
        'cyan' : '\x1b[46m',
        'white' : '\x1b[47m'
        }

    def __forced_init(self):
        self.MODE = self.__ansi_forced_MODE
        self.FG_COLOR = self.__ansi_forced_FG_COLOR
        self.BG_COLOR = self.__ansi_forced_BG_COLOR

    def reinit(self, term_stream=None, color='auto'):
        """Reinitializes the :class:`Term`.

        :param term_stream:  the terminal stream that the
           :class:`Term` should be initialized to use.  If
           *term_stream* is not given, :attr:`sys.stdout` is used.
        :param color: when to colorize output.  Valid values are
           'always', 'auto', and 'never'.  'always' will use ANSI codes
           to always colorize output, 'auto' will decide whether do
           colorize depending on the terminal, and 'never' will never
           colorize.
        """
        self.__enabled = True
        self.lines = 24

        if color == 'always':
            self.__forced_init()
            return

        # Output modes:
        self.MODE = {
            'bold' : '',
            'blink' : '',
            'dim' : '',
            'reverse' : '',
            'underline' : '',
            'normal' : ''
            }

        # Colours
        self.FG_COLOR = {
            'black' : '',
            'blue' : '',
            'green' : '',
            'cyan' : '',
            'red' : '',
            'magenta' : '',
            'yellow' : '',
            'white' : ''
            }

        self.BG_COLOR = {
            'black' : '',
            'blue' : '',
            'green' : '',
            'cyan' : '',
            'red' : '',
            'magenta' : '',
            'yellow' : '',
            'white' : ''
            }

        if color == 'never':
            self.__enabled = False
            return
        assert color == 'auto'

        # If the stream isn't a tty, then assume it has no capabilities.
        if not term_stream:
            term_stream = sys.stdout
        if not term_stream.isatty():
            self.__enabled = False
            return

        # Check the terminal type.  If we fail, then assume that the
        # terminal has no capabilities.
        try:
            curses.setupterm(fd=term_stream.fileno())
        except Exception:
            self.__enabled = False
            return
        self._ctigetstr = curses.tigetstr

        self.lines = curses.tigetnum('lines')

        # Look up string capabilities.
        for cap_name in self.MODE:
            mode = cap_name
            if cap_name in self.__cap_names:
                cap_name = self.__cap_names[cap_name]
            self.MODE[mode] = self._tigetstr(cap_name)

        # Colors
        set_fg = self._tigetstr('setf').encode('utf-8')
        if set_fg:
            for (color, val) in self.__colors.items():
                self.FG_COLOR[color] = curses.tparm(set_fg, val).decode() or ''
        set_fg_ansi = self._tigetstr('setaf').encode('utf-8')
        if set_fg_ansi:
            for (color, val) in self.__ansi_colors.items():
                fg_color = curses.tparm(set_fg_ansi, val).decode() or ''
                self.FG_COLOR[color] = fg_color
        set_bg = self._tigetstr('setb').encode('utf-8')
        if set_bg:
            for (color, val) in self.__colors.items():
                self.BG_COLOR[color] = curses.tparm(set_bg, val).decode() or ''
        set_bg_ansi = self._tigetstr('setab').encode('utf-8')
        if set_bg_ansi:
            for (color, val) in self.__ansi_colors.items():
                bg_color = curses.tparm(set_bg_ansi, val).decode() or ''
                self.BG_COLOR[color] = bg_color

    def __init__(self, term_stream=None, color='auto'):
        self.reinit(term_stream, color)

    def _tigetstr(self, cap_name):
        # String capabilities can include "delays" of the form "$<2>".
        # For any modern terminal, we should be able to just ignore
        # these, so strip them out.
        cap = self._ctigetstr(cap_name) or ''
        if dnf.pycomp.is_py3bytes(cap):
            cap = cap.decode()
        return re.sub(r'\$<\d+>[/*]?', '', cap)

    def color(self, color, s):
        """Colorize string with color"""
        return (self.MODE[color] + str(s) + self.MODE['normal'])

    def bold(self, s):
        """Make string bold."""
        return self.color('bold', s)

    def sub(self, haystack, beg, end, needles, escape=None, ignore_case=False):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with *end*, then return the
        modified string.  For example::

           >>> yt = Term()
           >>> yt.sub('spam and eggs', 'x', 'z', ['and'])
           'spam xandz eggs'

        This is particularly useful for emphasizing certain words
        in output: for example, calling :func:`sub` with *beg* =
        MODE['bold'] and *end* = MODE['normal'] will return a string
        that when printed to the terminal will appear to be *haystack*
        with each occurrence of the strings in *needles* in bold
        face.  Note, however, that the :func:`sub_mode`,
        :func:`sub_bold`, :func:`sub_fg`, and :func:`sub_bg` methods
        provide convenient ways to access this same emphasizing functionality.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :param escape: a function that accepts a string and returns
           the same string with problematic characters escaped.  By
           default, :func:`re.escape` is used.
        :param ignore_case: whether case should be ignored when
           searching for matches
        :return: *haystack* with *beg* prefixing, and *end*
          postfixing, occurrences of the strings in *needles*
        """
        if not self.__enabled:
            return haystack

        if not escape:
            escape = re.escape

        render = lambda match: beg + match.group() + end
        for needle in needles:
            pat = escape(needle)
            if ignore_case:
                pat = re.template(pat, re.I)
            haystack = re.sub(pat, render, haystack)
        return haystack
    def sub_norm(self, haystack, beg, needles, **kwds):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        *beg*, and postfix each occurrence with self.MODE['normal'],
        then return the modified string.  If *beg* is an ANSI escape
        code, such as given by self.MODE['bold'], this method will
        return *haystack* with the formatting given by the code only
        applied to the strings in *needles*.

        :param haystack: the string to be modified
        :param beg: the string to be prefixed onto matches
        :param end: the string to be postfixed onto matches
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with *beg* prefixing, and self.MODE['normal']
          postfixing, occurrences of the strings in *needles*
        """
        return self.sub(haystack, beg, self.MODE['normal'], needles, **kwds)

    def sub_mode(self, haystack, mode, needles, **kwds):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE[*mode*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given *mode*.

        :param haystack: the string to be modified
        :param mode: the mode to set the matches to be in.  Valid
           values are given by self.MODE.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE[*mode*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        """
        return self.sub_norm(haystack, self.MODE[mode], needles, **kwds)

    def sub_bold(self, haystack, needles, **kwds):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.MODE['bold'], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in bold face.

        :param haystack: the string to be modified
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.MODE['bold'] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        """
        return self.sub_mode(haystack, 'bold', needles, **kwds)

    def sub_fg(self, haystack, color, needles, **kwds):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.FG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* in the given color.

        :param haystack: the string to be modified
        :param color: the color to set the matches to be in.  Valid
           values are given by self.FG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.FG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        """
        return self.sub_norm(haystack, self.FG_COLOR[color], needles, **kwds)

    def sub_bg(self, haystack, color, needles, **kwds):
        """Search the string *haystack* for all occurrences of any
        string in the list *needles*.  Prefix each occurrence with
        self.BG_COLOR[*color*], and postfix each occurrence with
        self.MODE['normal'], then return the modified string.  This
        will return a string that when printed to the terminal will
        appear to be *haystack* with each occurrence of the strings in
        *needles* highlighted in the given background color.

        :param haystack: the string to be modified
        :param color: the background color to set the matches to be in.  Valid
           values are given by self.BG_COLOR.keys().
        :param needles: a list of strings to add the prefixes and
           postfixes to
        :return: *haystack* with self.BG_COLOR[*color*] prefixing, and
          self.MODE['normal'] postfixing, occurrences of the strings
          in *needles*
        """
        return self.sub_norm(haystack, self.BG_COLOR[color], needles, **kwds)
PK"�FZ.)ffcli/main.pynu�[���# Copyright 2005 Duke University
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

"""
Entrance point for the yum command line interface.
"""

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.conf import Conf
from dnf.cli.cli import Cli
from dnf.cli.option_parser import OptionParser
from dnf.i18n import ucd
from dnf.cli.utils import show_lock_owner
from dnf.i18n import _

import dnf.cli
import dnf.cli.cli
import dnf.cli.option_parser
import dnf.exceptions
import dnf.i18n
import dnf.logging
import dnf.util
import errno
import hawkey
import libdnf.error
import logging
import os
import os.path
import sys

logger = logging.getLogger("dnf")


def ex_IOError(e):
    logger.log(dnf.logging.SUBDEBUG, '', exc_info=True)
    logger.critical(ucd(e))
    return 1


def ex_Error(e):
    logger.log(dnf.logging.SUBDEBUG, '', exc_info=True)
    if e.value is not None:
        logger.critical(_('Error: %s'), ucd(e))
    return 1


def main(args, conf_class=Conf, cli_class=Cli, option_parser_class=OptionParser):
    try:
        dnf.i18n.setup_stdout()
        with dnf.cli.cli.BaseCli(conf_class()) as base:
            return _main(base, args, cli_class, option_parser_class)
    except dnf.exceptions.ProcessLockError as e:
        logger.critical(e.value)
        show_lock_owner(e.pid)
        return 200
    except dnf.exceptions.LockError as e:
        logger.critical(e.value)
        return 200
    except dnf.exceptions.DepsolveError as e:
        return 1
    except dnf.exceptions.Error as e:
        return ex_Error(e)
    except hawkey.Exception as e:
        logger.critical(_('Error: %s'), ucd(e))
        return 1
    except libdnf.error.Error as e:
        logger.critical(_('Error: %s'), ucd(e))
        return 1
    except IOError as e:
        return ex_IOError(e)
    except KeyboardInterrupt as e:
        logger.critical('{}: {}'.format(type(e).__name__, _("Terminated.")))
        return 1


def _main(base, args, cli_class, option_parser):
    """Run the dnf program from a command line interface."""

    # our core object for the cli
    base._logging._presetup()
    cli = cli_class(base)

    # do our cli parsing and config file setup
    # also sanity check the things being passed on the cli
    try:
        cli.configure(list(map(ucd, args)), option_parser())
    except (IOError, OSError) as e:
        return ex_IOError(e)

    return cli_run(cli, base)


def cli_run(cli, base):
    # Try to open the current directory to see if we have
    # read and execute access. If not, chdir to /
    try:
        f = open(".")
    except IOError as e:
        if e.errno == errno.EACCES:
            logger.critical(_('No read/execute access in current directory, moving to /'))
            os.chdir("/")
    else:
        f.close()

    try:
        cli.run()
    except dnf.exceptions.LockError:
        raise
    except (IOError, OSError) as e:
        return ex_IOError(e)

    if cli.demands.resolving:
        try:
            ret = resolving(cli, base)
        except dnf.exceptions.DepsolveError as e:
            ex_Error(e)
            msg = ""
            if not cli.demands.allow_erasing and base._goal.problem_conflicts(available=True):
                msg += _("try to add '{}' to command line to replace conflicting "
                         "packages").format("--allowerasing")
            if cli.base.conf.strict:
                if not msg:
                    msg += _("try to add '{}' to skip uninstallable packages").format(
                        "--skip-broken")
                else:
                    msg += _(" or '{}' to skip uninstallable packages").format("--skip-broken")
            if cli.base.conf.best:
                prio = cli.base.conf._get_priority("best")
                if prio <= dnf.conf.PRIO_MAINCONFIG:
                    if not msg:
                        msg += _("try to add '{}' to use not only best candidate packages").format(
                            "--nobest")
                    else:
                        msg += _(" or '{}' to use not only best candidate packages").format(
                            "--nobest")
            if msg:
                logger.info("({})".format(msg))
            raise
        if ret:
            return ret

    cli.command.run_transaction()
    return cli.demands.success_exit_status


def resolving(cli, base):
    """Perform the depsolve, download and RPM transaction stage."""

    if base.transaction is None:
        base.resolve(cli.demands.allow_erasing)
        logger.info(_('Dependencies resolved.'))

    cli.command.run_resolved()

    # Run the transaction
    displays = []
    if cli.demands.transaction_display is not None:
        displays.append(cli.demands.transaction_display)
    try:
        base.do_transaction(display=displays)
    except dnf.cli.CliError as exc:
        logger.error(ucd(exc))
        return 1
    except dnf.exceptions.TransactionCheckError as err:
        for msg in cli.command.get_error_output(err):
            logger.critical(msg)
        return 1
    except IOError as e:
        return ex_IOError(e)
    else:
        logger.info(_('Complete!'))
    return 0


def user_main(args, exit_code=False):
    """Call one of the multiple main() functions based on environment variables.

    :param args: command line arguments passed into yum
    :param exit_code: if *exit_code* is True, this function will exit
       python with its exit code when it has finished executing.
       Otherwise, it will return its exit code.
    :return: the exit code from dnf.yum execution
    """

    errcode = main(args)
    if exit_code:
        sys.exit(errcode)
    return errcode


if __name__ == "__main__":
    user_main(sys.argv[1:], exit_code=True)
PK"�FZ����	�	
cli/demand.pynu�[���# demand.py
# Demand sheet and related classes.
#
# Copyright (C) 2014-2015  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals


class _BoolDefault(object):
    def __init__(self, default):
        self.default = default
        self._storing_name = '__%s%x' % (self.__class__.__name__, id(self))

    def __get__(self, obj, objtype=None):
        objdict = obj.__dict__
        if self._storing_name in objdict:
            return objdict[self._storing_name]
        return self.default

    def __set__(self, obj, val):
        objdict = obj.__dict__
        if self._storing_name in objdict:
            current_val = objdict[self._storing_name]
            if current_val != val:
                raise AttributeError('Demand already set.')
        objdict[self._storing_name] = val

class DemandSheet(object):
    """Collection of demands that different CLI parts have on other parts. :api"""

    # :api...
    allow_erasing = _BoolDefault(False)
    available_repos = _BoolDefault(False)
    resolving = _BoolDefault(False)
    root_user = _BoolDefault(False)
    sack_activation = _BoolDefault(False)
    load_system_repo = _BoolDefault(True)
    success_exit_status = 0

    cacheonly = _BoolDefault(False)
    fresh_metadata = _BoolDefault(True)
    freshest_metadata = _BoolDefault(False)
    changelogs = _BoolDefault(False)

    transaction_display = None

    # This demand controlls applicability of the plugins that could filter
    # repositories packages (e.g. versionlock).
    # If it stays None, the demands.resolving is used as a fallback.
    plugin_filtering_enabled = _BoolDefault(None)
PK"�FZū�~~
subject.pynu�[���# subject.py
# Implements Subject.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
from hawkey import Subject  # :api

PK"�FZ��'�<�<db/group.pynu�[���# -*- coding: utf-8 -*-

# Copyright (C) 2017-2018 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#


import libdnf.transaction

import dnf.db.history
import dnf.transaction
import dnf.exceptions
from dnf.i18n import _
from dnf.util import logger

import rpm

class PersistorBase(object):
    def __init__(self, history):
        assert isinstance(history, dnf.db.history.SwdbInterface), str(type(history))
        self.history = history
        self._installed = {}
        self._removed = {}
        self._upgraded = {}
        self._downgraded = {}

    def __len__(self):
        return len(self._installed) + len(self._removed) + len(self._upgraded) + len(self._downgraded)

    def clean(self):
        self._installed = {}
        self._removed = {}
        self._upgraded = {}
        self._downgraded = {}

    def _get_obj_id(self, obj):
        raise NotImplementedError

    def _add_to_history(self, item, action):
        ti = self.history.swdb.addItem(item, "", action, libdnf.transaction.TransactionItemReason_USER)
        ti.setState(libdnf.transaction.TransactionItemState_DONE)

    def install(self, obj):
        self._installed[self._get_obj_id(obj)] = obj
        self._add_to_history(obj, libdnf.transaction.TransactionItemAction_INSTALL)

    def remove(self, obj):
        self._removed[self._get_obj_id(obj)] = obj
        self._add_to_history(obj, libdnf.transaction.TransactionItemAction_REMOVE)

    def upgrade(self, obj):
        self._upgraded[self._get_obj_id(obj)] = obj
        self._add_to_history(obj, libdnf.transaction.TransactionItemAction_UPGRADE)

    def downgrade(self, obj):
        self._downgraded[self._get_obj_id(obj)] = obj
        self._add_to_history(obj, libdnf.transaction.TransactionItemAction_DOWNGRADE)

    def new(self, obj_id, name, translated_name, pkg_types):
        raise NotImplementedError

    def get(self, obj_id):
        raise NotImplementedError

    def search_by_pattern(self, pattern):
        raise NotImplementedError


class GroupPersistor(PersistorBase):

    def __iter__(self):
        items = self.history.swdb.getItems()
        items = [i for i in items if i.getCompsGroupItem()]
        return iter(items)

    def _get_obj_id(self, obj):
        return obj.getGroupId()

    def new(self, obj_id, name, translated_name, pkg_types):
        swdb_group = self.history.swdb.createCompsGroupItem()
        swdb_group.setGroupId(obj_id)
        if name is not None:
            swdb_group.setName(name)
        if translated_name is not None:
            swdb_group.setTranslatedName(translated_name)
        swdb_group.setPackageTypes(pkg_types)
        return swdb_group

    def get(self, obj_id):
        swdb_group = self.history.swdb.getCompsGroupItem(obj_id)
        if not swdb_group:
            return None
        swdb_group = swdb_group.getCompsGroupItem()
        return swdb_group

    def search_by_pattern(self, pattern):
        return self.history.swdb.getCompsGroupItemsByPattern(pattern)

    def get_package_groups(self, pkg_name):
        return self.history.swdb.getPackageCompsGroups(pkg_name)

    def is_removable_pkg(self, pkg_name):
        # for group removal and autoremove
        reason = self.history.swdb.resolveRPMTransactionItemReason(pkg_name, "", -2)
        if reason != libdnf.transaction.TransactionItemReason_GROUP:
            return False

        # TODO: implement lastTransId == -2 in libdnf
        package_groups = set(self.get_package_groups(pkg_name))
        for group_id, group in self._removed.items():
            for pkg in group.getPackages():
                if pkg.getName() != pkg_name:
                    continue
                if not pkg.getInstalled():
                    continue
                package_groups.remove(group_id)
        for group_id, group in self._installed.items():
            for pkg in group.getPackages():
                if pkg.getName() != pkg_name:
                    continue
                if not pkg.getInstalled():
                    continue
                package_groups.add(group_id)
        if package_groups:
            return False
        return True


class EnvironmentPersistor(PersistorBase):

    def __iter__(self):
        items = self.history.swdb.getItems()
        items = [i for i in items if i.getCompsEnvironmentItem()]
        return iter(items)

    def _get_obj_id(self, obj):
        return obj.getEnvironmentId()

    def new(self, obj_id, name, translated_name, pkg_types):
        swdb_env = self.history.swdb.createCompsEnvironmentItem()
        swdb_env.setEnvironmentId(obj_id)
        if name is not None:
            swdb_env.setName(name)
        if translated_name is not None:
            swdb_env.setTranslatedName(translated_name)
        swdb_env.setPackageTypes(pkg_types)
        return swdb_env

    def get(self, obj_id):
        swdb_env = self.history.swdb.getCompsEnvironmentItem(obj_id)
        if not swdb_env:
            return None
        swdb_env = swdb_env.getCompsEnvironmentItem()
        return swdb_env

    def search_by_pattern(self, pattern):
        return self.history.swdb.getCompsEnvironmentItemsByPattern(pattern)

    def get_group_environments(self, group_id):
        return self.history.swdb.getCompsGroupEnvironments(group_id)

    def is_removable_group(self, group_id):
        # for environment removal
        swdb_group = self.history.group.get(group_id)
        if not swdb_group:
            return False

        # TODO: implement lastTransId == -2 in libdnf
        group_environments = set(self.get_group_environments(group_id))
        for env_id, env in self._removed.items():
            for group in env.getGroups():
                if group.getGroupId() != group_id:
                    continue
                if not group.getInstalled():
                    continue
                group_environments.remove(env_id)
        for env_id, env in self._installed.items():
            for group in env.getGroups():
                if group.getGroupId() != group_id:
                    continue
                if not group.getInstalled():
                    continue
                group_environments.add(env_id)
        if group_environments:
            return False
        return True


class RPMTransaction(object):
    def __init__(self, history, transaction=None):
        self.history = history
        self.transaction = transaction
        if not self.transaction:
            try:
                self.history.swdb.initTransaction()
            except:
                pass
        self._swdb_ti_pkg = {}

    # TODO: close trans if needed

    def __iter__(self):
        # :api
        if self.transaction:
            items = self.transaction.getItems()
        else:
            items = self.history.swdb.getItems()
        items = [dnf.db.history.RPMTransactionItemWrapper(self.history, i) for i in items if i.getRPMItem()]
        return iter(items)

    def __len__(self):
        if self.transaction:
            items = self.transaction.getItems()
        else:
            items = self.history.swdb.getItems()
        items = [dnf.db.history.RPMTransactionItemWrapper(self.history, i) for i in items if i.getRPMItem()]
        return len(items)

    def _pkg_to_swdb_rpm_item(self, pkg):
        rpm_item = self.history.swdb.createRPMItem()
        rpm_item.setName(pkg.name)
        rpm_item.setEpoch(pkg.epoch or 0)
        rpm_item.setVersion(pkg.version)
        rpm_item.setRelease(pkg.release)
        rpm_item.setArch(pkg.arch)
        return rpm_item

    def new(self, pkg, action, reason=None, replaced_by=None):
        rpm_item = self._pkg_to_swdb_rpm_item(pkg)
        repoid = self.get_repoid(pkg)
        if reason is None:
            reason = self.get_reason(pkg)
        result = self.history.swdb.addItem(rpm_item, repoid, action, reason)
        if replaced_by:
            result.addReplacedBy(replaced_by)
        self._swdb_ti_pkg[result] = pkg
        return result

    def get_repoid(self, pkg):
        result = getattr(pkg, "_force_swdb_repoid", None)
        if result:
            return result
        return pkg.reponame

    def get_reason(self, pkg):
        """Get reason for package"""
        return self.history.swdb.resolveRPMTransactionItemReason(pkg.name, pkg.arch, -1)

    def get_reason_name(self, pkg):
        """Get reason for package"""
        return libdnf.transaction.TransactionItemReasonToString(self.get_reason(pkg))

    def _add_obsoleted(self, obsoleted, replaced_by=None):
        obsoleted = obsoleted or []
        for obs in obsoleted:
            ti = self.new(obs, libdnf.transaction.TransactionItemAction_OBSOLETED)
            if replaced_by:
                ti.addReplacedBy(replaced_by)

    def add_downgrade(self, new, old, obsoleted=None):
        ti_new = self.new(new, libdnf.transaction.TransactionItemAction_DOWNGRADE)
        ti_old = self.new(old, libdnf.transaction.TransactionItemAction_DOWNGRADED, replaced_by=ti_new)
        self._add_obsoleted(obsoleted, replaced_by=ti_new)

    def add_erase(self, old, reason=None):
        self.add_remove(old, reason)

    def add_install(self, new, obsoleted=None, reason=None):
        if reason is None:
            reason = libdnf.transaction.TransactionItemReason_USER
        ti_new = self.new(new, libdnf.transaction.TransactionItemAction_INSTALL, reason)
        self._add_obsoleted(obsoleted, replaced_by=ti_new)

    def add_reinstall(self, new, old, obsoleted=None):
        ti_new = self.new(new, libdnf.transaction.TransactionItemAction_REINSTALL)
        ti_old = self.new(old, libdnf.transaction.TransactionItemAction_REINSTALLED, replaced_by=ti_new)
        self._add_obsoleted(obsoleted, replaced_by=ti_new)

    def add_remove(self, old, reason=None):
        reason = reason or libdnf.transaction.TransactionItemReason_USER
        ti_old = self.new(old, libdnf.transaction.TransactionItemAction_REMOVE, reason)

    def add_upgrade(self, new, old, obsoleted=None):
        ti_new = self.new(new, libdnf.transaction.TransactionItemAction_UPGRADE)
        ti_old = self.new(old, libdnf.transaction.TransactionItemAction_UPGRADED, replaced_by=ti_new)
        self._add_obsoleted(obsoleted, replaced_by=ti_new)

    def _test_fail_safe(self, hdr, pkg):
        if pkg._from_cmdline:
            return 0
        if pkg.repo.module_hotfixes:
            return 0
        try:
            if hdr['modularitylabel'] and not pkg._is_in_active_module():
                logger.critical(_("No available modular metadata for modular package '{}', "
                                  "it cannot be installed on the system").format(pkg))
                return 1
        except ValueError:
            return 0
        return 0

    def _populate_rpm_ts(self, ts):
        """Populate the RPM transaction set."""
        modular_problems = 0

        for tsi in self:
            try:
                if tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADE:
                    hdr = tsi.pkg._header
                    modular_problems += self._test_fail_safe(hdr, tsi.pkg)
                    ts.addInstall(hdr, tsi, 'u')
                elif tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADED:
                    ts.addErase(tsi.pkg.idx)
                elif tsi.action == libdnf.transaction.TransactionItemAction_INSTALL:
                    hdr = tsi.pkg._header
                    modular_problems += self._test_fail_safe(hdr, tsi.pkg)
                    ts.addInstall(hdr, tsi, 'i')
                elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETE:
                    hdr = tsi.pkg._header
                    modular_problems += self._test_fail_safe(hdr, tsi.pkg)
                    ts.addInstall(hdr, tsi, 'u')
                elif tsi.action == libdnf.transaction.TransactionItemAction_OBSOLETED:
                    ts.addErase(tsi.pkg.idx)
                elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALL:
                    # note: in rpm 4.12 there should not be set
                    # rpm.RPMPROB_FILTER_REPLACEPKG to work
                    hdr = tsi.pkg._header
                    modular_problems += self._test_fail_safe(hdr, tsi.pkg)
                    ts.addReinstall(hdr, tsi)
                elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALLED:
                    # Required when multiple packages with the same NEVRA marked as installed
                    ts.addErase(tsi.pkg.idx)
                elif tsi.action == libdnf.transaction.TransactionItemAction_REMOVE:
                    ts.addErase(tsi.pkg.idx)
                elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADE:
                    hdr = tsi.pkg._header
                    modular_problems += self._test_fail_safe(hdr, tsi.pkg)
                    ts.addInstall(hdr, tsi, 'u')
                elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADED:
                    ts.addErase(tsi.pkg.idx)
                elif tsi.action == libdnf.transaction.TransactionItemAction_REASON_CHANGE:
                    pass
                else:
                    raise RuntimeError("TransactionItemAction not handled: %s" % tsi.action)
            except rpm.error as e:
                raise dnf.exceptions.Error(_("An rpm exception occurred: %s" % e))
        if modular_problems:
            raise dnf.exceptions.Error(_("No available modular metadata for modular package"))

        return ts

    @property
    def install_set(self):
        # :api
        result = set()
        for tsi in self:
            if tsi.action in dnf.transaction.FORWARD_ACTIONS:
                try:
                    result.add(tsi.pkg)
                except KeyError:
                    raise RuntimeError("TransactionItem is has no RPM attached: %s" % tsi)
        return result

    @property
    def remove_set(self):
        # :api
        result = set()
        for tsi in self:
            if tsi.action in dnf.transaction.BACKWARD_ACTIONS + [libdnf.transaction.TransactionItemAction_REINSTALLED]:
                try:
                    result.add(tsi.pkg)
                except KeyError:
                    raise RuntimeError("TransactionItem is has no RPM attached: %s" % tsi)
        return result

    def _rpm_limitations(self):
        """ Ensures all the members can be passed to rpm as they are to perform
            the transaction.
        """
        src_installs = [pkg for pkg in self.install_set if pkg.arch == 'src']
        if len(src_installs):
            return _("Will not install a source rpm package (%s).") % \
                src_installs[0]
        return None

    def _get_items(self, action):
        return [tsi for tsi in self if tsi.action == action]
PK"�FZC�W"%:%:
db/history.pynu�[���# -*- coding: utf-8 -*-

# Copyright (C) 2009, 2012-2018  Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#

import calendar
import os
import time

import libdnf.transaction
import libdnf.utils

from dnf.i18n import ucd
from dnf.yum import misc
from dnf.exceptions import DatabaseError

from .group import GroupPersistor, EnvironmentPersistor, RPMTransaction


class RPMTransactionItemWrapper(object):
    def __init__(self, swdb, item):
        assert item is not None
        self._swdb = swdb
        self._item = item

    def __str__(self):
        return self._item.getItem().toStr()

    def __lt__(self, other):
        return self._item < other._item

    def __eq__(self, other):
        return self._item == other._item

    def __hash__(self):
        return self._item.__hash__()

    def match(self, pattern):
        return True

    def is_package(self):
        return self._item.getRPMItem() is not None

    def is_group(self):
        return self._item.getCompsGroupItem() is not None

    def is_environment(self):
        return self._item.getCompsEnvironmentItem() is not None

    def get_group(self):
        return self._item.getCompsGroupItem()

    def get_environment(self):
        return self._item.getCompsEnvironmentItem()

    @property
    def name(self):
        return self._item.getRPMItem().getName()

    @property
    def epoch(self):
        return self._item.getRPMItem().getEpoch()

    @property
    def version(self):
        return self._item.getRPMItem().getVersion()

    @property
    def release(self):
        return self._item.getRPMItem().getRelease()

    @property
    def arch(self):
        return self._item.getRPMItem().getArch()

    @property
    def evr(self):
        if self.epoch:
            return "{}:{}-{}".format(self.epoch, self.version, self.release)
        return "{}-{}".format(self.version, self.release)

    @property
    def nevra(self):
        return self._item.getRPMItem().getNEVRA()

    @property
    def action(self):
        return self._item.getAction()

    @action.setter
    def action(self, value):
        self._item.setAction(value)

    @property
    def reason(self):
        return self._item.getReason()

    @reason.setter
    def reason(self, value):
        return self._item.setReason(value)

    @property
    def action_name(self):
        try:
            return self._item.getActionName()
        except AttributeError:
            return ""

    @property
    def action_short(self):
        try:
            return self._item.getActionShort()
        except AttributeError:
            return ""

    @property
    def state(self):
        return self._item.getState()

    @state.setter
    def state(self, value):
        self._item.setState(value)

    @property
    def from_repo(self):
        return self._item.getRepoid()

    def ui_from_repo(self):
        if not self._item.getRepoid():
            return ""
        return "@" + self._item.getRepoid()

    @property
    def obsoleting(self):
        return None

    def get_reason(self):
        # TODO: get_history_reason
        return self._swdb.rpm.get_reason(self)

    @property
    def pkg(self):
        return self._swdb.rpm._swdb_ti_pkg[self._item]

    @property
    def files(self):
        return self.pkg.files

    @property
    def _active(self):
        return self.pkg


class TransactionWrapper(object):

    altered_lt_rpmdb = False
    altered_gt_rpmdb = False

    def __init__(self, trans):
        self._trans = trans

    @property
    def tid(self):
        return self._trans.getId()

    @property
    def cmdline(self):
        return self._trans.getCmdline()

    @property
    def releasever(self):
        return self._trans.getReleasever()

    @property
    def beg_timestamp(self):
        return self._trans.getDtBegin()

    @property
    def end_timestamp(self):
        return self._trans.getDtEnd()

    @property
    def beg_rpmdb_version(self):
        return self._trans.getRpmdbVersionBegin()

    @property
    def end_rpmdb_version(self):
        return self._trans.getRpmdbVersionEnd()

    @property
    def return_code(self):
        return int(self._trans.getState() != libdnf.transaction.TransactionItemState_DONE)

    @property
    def loginuid(self):
        return self._trans.getUserId()

    @property
    def data(self):
        return self.packages

    @property
    def is_output(self):
        output = self._trans.getConsoleOutput()
        return bool(output)

    @property
    def comment(self):
        return self._trans.getComment()

    def tids(self):
        return [self._trans.getId()]

    def performed_with(self):
        return []

    def packages(self):
        result = self._trans.getItems()
        return [RPMTransactionItemWrapper(self, i) for i in result]

    def output(self):
        return [i[1] for i in self._trans.getConsoleOutput()]

    def error(self):
        return []

    def compare_rpmdbv(self, rpmdbv):
        self.altered_gt_rpmdb = self._trans.getRpmdbVersionEnd() != rpmdbv


class MergedTransactionWrapper(TransactionWrapper):

    def __init__(self, trans):
        self._trans = libdnf.transaction.MergedTransaction(trans._trans)

    def merge(self, trans):
        self._trans.merge(trans._trans)

    @property
    def loginuid(self):
        return self._trans.listUserIds()

    def tids(self):
        return self._trans.listIds()

    @property
    def return_code(self):
        return [int(i != libdnf.transaction.TransactionItemState_DONE) for i in self._trans.listStates()]

    @property
    def cmdline(self):
        return self._trans.listCmdlines()

    @property
    def releasever(self):
        return self._trans.listReleasevers()

    @property
    def comment(self):
        return self._trans.listComments()

    def output(self):
        return [i[1] for i in self._trans.getConsoleOutput()]

class SwdbInterface(object):

    def __init__(self, db_dir, releasever=""):
        # TODO: record all vars
        # TODO: remove relreasever from options
        self.releasever = str(releasever)
        self._rpm = None
        self._group = None
        self._env = None
        self._addon_data = None
        self._swdb = None
        self._db_dir = db_dir
        self._output = []

    def __del__(self):
        self.close()

    @property
    def rpm(self):
        if self._rpm is None:
            self._rpm = RPMTransaction(self)
        return self._rpm

    @property
    def group(self):
        if self._group is None:
            self._group = GroupPersistor(self)
        return self._group

    @property
    def env(self):
        if self._env is None:
            self._env = EnvironmentPersistor(self)
        return self._env

    @property
    def dbpath(self):
        return os.path.join(self._db_dir, libdnf.transaction.Swdb.defaultDatabaseName)

    @property
    def swdb(self):
        """ Lazy initialize Swdb object """
        if not self._swdb:
            # _db_dir == persistdir which is prepended with installroot already
            try:
                self._swdb = libdnf.transaction.Swdb(self.dbpath)
            except RuntimeError as ex:
                raise DatabaseError(str(ex))
            self._swdb.initTransaction()
            # TODO: vars -> libdnf
        return self._swdb

    def transform(self, input_dir):
        transformer = libdnf.transaction.Transformer(input_dir, self.dbpath)
        transformer.transform()

    def close(self):
        try:
            del self._tid
        except AttributeError:
            pass
        self._rpm = None
        self._group = None
        self._env = None
        if self._swdb:
            self._swdb.closeTransaction()
            self._swdb.closeDatabase()
        self._swdb = None
        self._output = []

    @property
    def path(self):
        return self.swdb.getPath()

    def reset_db(self):
        return self.swdb.resetDatabase()

    # TODO: rename to get_last_transaction?
    def last(self, complete_transactions_only=True):
        # TODO: complete_transactions_only
        t = self.swdb.getLastTransaction()
        if not t:
            return None
        return TransactionWrapper(t)

    # TODO: rename to: list_transactions?
    def old(self, tids=None, limit=0, complete_transactions_only=False):
        tids = tids or []
        tids = [int(i) for i in tids]
        result = self.swdb.listTransactions()
        result = [TransactionWrapper(i) for i in result]
        # TODO: move to libdnf
        if tids:
            result = [i for i in result if i.tid in tids]

        # populate altered_lt_rpmdb and altered_gt_rpmdb
        for i, trans in enumerate(result):
            if i == 0:
                continue
            prev_trans = result[i-1]
            if trans._trans.getRpmdbVersionBegin() != prev_trans._trans.getRpmdbVersionEnd():
                trans.altered_lt_rpmdb = True
                prev_trans.altered_gt_rpmdb = True
        return result[::-1]

    def get_current(self):
        return TransactionWrapper(self.swdb.getCurrent())

    def set_reason(self, pkg, reason):
        """Set reason for package"""
        rpm_item = self.rpm._pkg_to_swdb_rpm_item(pkg)
        repoid = self.repo(pkg)
        action = libdnf.transaction.TransactionItemAction_REASON_CHANGE
        ti = self.swdb.addItem(rpm_item, repoid, action, reason)
        ti.setState(libdnf.transaction.TransactionItemState_DONE)
        return ti

    '''
    def package(self, pkg):
        """Get SwdbPackage from package"""
        return self.swdb.package(str(pkg))
    '''

    def repo(self, pkg):
        """Get repository of package"""
        return self.swdb.getRPMRepo(str(pkg))

    def package_data(self, pkg):
        """Get package data for package"""
        # trans item is returned
        result = self.swdb.getRPMTransactionItem(str(pkg))
        if result is None:
            return result
        result = RPMTransactionItemWrapper(self, result)
        return result

#    def reason(self, pkg):
#        """Get reason for package"""
#        result = self.swdb.resolveRPMTransactionItemReason(pkg.name, pkg.arch, -1)
#        return result

    # TODO: rename to begin_transaction?
    def beg(self, rpmdb_version, using_pkgs, tsis, cmdline=None, comment=""):
        try:
            self.swdb.initTransaction()
        except:
            pass

        tid = self.swdb.beginTransaction(
            int(calendar.timegm(time.gmtime())),
            str(rpmdb_version),
            cmdline or "",
            int(misc.getloginuid()),
            comment)
        self.swdb.setReleasever(self.releasever)
        self._tid = tid

        return tid

    def pkg_to_swdb_rpm_item(self, po):
        rpm_item = self.swdb.createRPMItem()
        rpm_item.setName(po.name)
        rpm_item.setEpoch(po.epoch or 0)
        rpm_item.setVersion(po.version)
        rpm_item.setRelease(po.release)
        rpm_item.setArch(po.arch)
        return rpm_item

    def log_scriptlet_output(self, msg):
        if not hasattr(self, '_tid'):
            return
        if not msg:
            return
        for line in msg.splitlines():
            line = ucd(line)
            # logging directly to database fails if transaction runs in a background process
            self._output.append((1, line))

    '''
    def _log_errors(self, errors):
        for error in errors:
            error = ucd(error)
            self.swdb.log_error(self._tid, error)
    '''

    def end(self, end_rpmdb_version="", return_code=None, errors=None):
        if not hasattr(self, '_tid'):
            return  # Failed at beg() time

        if return_code is None:
            # return_code/state auto-detection
            return_code = libdnf.transaction.TransactionState_DONE
            for tsi in self.rpm:
                if tsi.state == libdnf.transaction.TransactionItemState_ERROR:
                    return_code = libdnf.transaction.TransactionState_ERROR
                    break

        for file_descriptor, line in self._output:
            self.swdb.addConsoleOutputLine(file_descriptor, line)
        self._output = []

        self.swdb.endTransaction(
            int(time.time()),
            str(end_rpmdb_version),
            return_code,
        )

        # Closing and cleanup is done in the close() method.
        # It is important to keep data around after the transaction ends
        # because it's needed by plugins to report installed packages etc.

    # TODO: ignore_case, more patterns
    def search(self, patterns, ignore_case=True):
        """ Search for history transactions which contain specified
            packages al. la. "yum list". Returns transaction ids. """
        return self.swdb.searchTransactionsByRPM(patterns)

    def user_installed(self, pkg):
        """Returns True if package is user installed"""
        reason = self.swdb.resolveRPMTransactionItemReason(pkg.name, pkg.arch, -1)
        if reason == libdnf.transaction.TransactionItemReason_USER:
            return True
        # if reason is not known, consider a package user-installed
        # because it was most likely installed via rpm
        if reason == libdnf.transaction.TransactionItemReason_UNKNOWN:
            return True
        return False

    def get_erased_reason(self, pkg, first_trans, rollback):
        """Get reason of package before transaction being undone. If package
        is already installed in the system, keep his reason.

        :param pkg: package being installed
        :param first_trans: id of first transaction being undone
        :param rollback: True if transaction is performing a rollback"""
        if rollback:
            # return the reason at the point of rollback; we're setting that reason
            result = self.swdb.resolveRPMTransactionItemReason(pkg.name, pkg.arch, first_trans)
        else:
            result = self.swdb.resolveRPMTransactionItemReason(pkg.name, pkg.arch, -1)

        # consider unknown reason as user-installed
        if result == libdnf.transaction.TransactionItemReason_UNKNOWN:
            result = libdnf.transaction.TransactionItemReason_USER
        return result
PK"�FZ�㦆

db/__init__.pynu�[���# Copyright (C) 2017  Red Hat, Inc.
#
# DNF database subpackage
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
PK"�FZ�	u�7�7)db/__pycache__/group.cpython-36.opt-1.pycnu�[���3

i�-e�<�@s�ddlZddlZddlZddlZddlmZddlm	Z	ddl
Z
Gdd�de�ZGdd�de�Z
Gdd	�d	e�ZGd
d�de�ZdS)�N)�_)�loggerc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�
PersistorBasecCs"||_i|_i|_i|_i|_dS)N)�history�
_installed�_removed�	_upgraded�_downgraded)�selfr�r�/usr/lib/python3.6/group.py�__init__ s
zPersistorBase.__init__cCs(t|j�t|j�t|j�t|j�S)N)�lenrrrr	)r
rrr�__len__(szPersistorBase.__len__cCsi|_i|_i|_i|_dS)N)rrrr	)r
rrr�clean+szPersistorBase.cleancCst�dS)N)�NotImplementedError)r
�objrrr�_get_obj_id1szPersistorBase._get_obj_idcCs*|jjj|d|tjj�}|jtjj�dS)N�)r�swdb�addItem�libdnf�transaction�TransactionItemReason_USERZsetStateZTransactionItemState_DONE)r
�item�action�tirrr�_add_to_history4szPersistorBase._add_to_historycCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_INSTALL)r
rrrr�install8szPersistorBase.installcCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_REMOVE)r
rrrr�remove<szPersistorBase.removecCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_UPGRADE)r
rrrr�upgrade@szPersistorBase.upgradecCs$||j|j|�<|j|tjj�dS)N)r	rrrr�TransactionItemAction_DOWNGRADE)r
rrrr�	downgradeDszPersistorBase.downgradecCst�dS)N)r)r
�obj_id�name�translated_name�	pkg_typesrrr�newHszPersistorBase.newcCst�dS)N)r)r
r&rrr�getKszPersistorBase.getcCst�dS)N)r)r
�patternrrr�search_by_patternNszPersistorBase.search_by_patternN)�__name__�
__module__�__qualname__r
rrrrrr!r#r%r*r+r-rrrrrsrc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�GroupPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsGroupItem)�.0�irrr�
<listcomp>Vsz+GroupPersistor.__iter__.<locals>.<listcomp>)rr�getItems�iter)r
�itemsrrr�__iter__TszGroupPersistor.__iter__cCs|j�S)N)�
getGroupId)r
rrrrrYszGroupPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsGroupItemZ
setGroupId�setName�setTranslatedName�setPackageTypes)r
r&r'r(r)�
swdb_grouprrrr*\s



zGroupPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrr2)r
r&r>rrrr+fs
zGroupPersistor.getcCs|jjj|�S)N)rrZgetCompsGroupItemsByPattern)r
r,rrrr-msz GroupPersistor.search_by_patterncCs|jjj|�S)N)rrZgetPackageCompsGroups)r
�pkg_namerrr�get_package_groupspsz!GroupPersistor.get_package_groupscCs�|jjj|dd�}|tjjkr"dSt|j|��}xJ|jj	�D]<\}}x2|j
�D]&}|j�|kr`qN|j�sjqN|j
|�qNWq<WxJ|jj	�D]<\}}x2|j
�D]&}|j�|kr�q�|j�s�q�|j|�q�Wq�W|r�dSdS)Nr�FT���)rr�resolveRPMTransactionItemReasonrrZTransactionItemReason_GROUP�setr@rr8ZgetPackagesZgetName�getInstalledr!r�add)r
r?�reasonZpackage_groups�group_id�group�pkgrrr�is_removable_pkgss*zGroupPersistor.is_removable_pkgN)
r.r/r0r9rr*r+r-r@rKrrrrr1Rs
r1c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�EnvironmentPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsEnvironmentItem)r3r4rrrr5�sz1EnvironmentPersistor.__iter__.<locals>.<listcomp>)rrr6r7)r
r8rrrr9�szEnvironmentPersistor.__iter__cCs|j�S)N)ZgetEnvironmentId)r
rrrrr�sz EnvironmentPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsEnvironmentItemZsetEnvironmentIdr;r<r=)r
r&r'r(r)�swdb_envrrrr*�s



zEnvironmentPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrrM)r
r&rNrrrr+�s
zEnvironmentPersistor.getcCs|jjj|�S)N)rrZ!getCompsEnvironmentItemsByPattern)r
r,rrrr-�sz&EnvironmentPersistor.search_by_patterncCs|jjj|�S)N)rrZgetCompsGroupEnvironments)r
rHrrr�get_group_environments�sz+EnvironmentPersistor.get_group_environmentscCs�|jjj|�}|sdSt|j|��}xJ|jj�D]<\}}x2|j�D]&}|j�|krTqB|j	�s^qB|j
|�qBWq0WxJ|jj�D]<\}}x2|j�D]&}|j�|kr�q�|j	�s�q�|j|�q�Wq|W|r�dSdS)NFT)
rrIr+rDrOrr8Z	getGroupsr:rEr!rrF)r
rHr>Zgroup_environmentsZenv_id�envrIrrr�is_removable_group�s*z'EnvironmentPersistor.is_removable_groupN)
r.r/r0r9rr*r+r-rOrQrrrrrL�s
rLc@s�eZdZd,dd�Zdd�Zdd�Zdd	�Zd-d
d�Zdd
�Zdd�Z	dd�Z
d.dd�Zd/dd�Zd0dd�Z
d1dd�Zd2dd�Zd3dd�Zd4dd�Zd d!�Zd"d#�Zed$d%��Zed&d'��Zd(d)�Zd*d+�ZdS)5�RPMTransactionNc	Cs:||_||_|js0y|jjj�WnYnXi|_dS)N)rrrZinitTransaction�_swdb_ti_pkg)r
rrrrrr
�szRPMTransaction.__init__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)�
getRPMItem�dnf�dbr�RPMTransactionItemWrapper)r3r4)r
rrr5�sz+RPMTransaction.__iter__.<locals>.<listcomp>)rr6rrr7)r
r8r)r
rr9�s
zRPMTransaction.__iter__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)rTrUrVrrW)r3r4)r
rrr5�sz*RPMTransaction.__len__.<locals>.<listcomp>)rr6rrr)r
r8r)r
rr�s
zRPMTransaction.__len__cCsP|jjj�}|j|j�|j|jp$d�|j|j�|j	|j
�|j|j�|S)Nr)
rrZ
createRPMItemr;r'ZsetEpochZepochZ
setVersion�versionZ
setRelease�releaseZsetArch�arch)r
rJ�rpm_itemrrr�_pkg_to_swdb_rpm_item�sz$RPMTransaction._pkg_to_swdb_rpm_itemcCsV|j|�}|j|�}|dkr&|j|�}|jjj||||�}|rH|j|�||j|<|S)N)r\�
get_repoid�
get_reasonrrr�
addReplacedByrS)r
rJrrG�replaced_byr[Zrepoid�resultrrrr*�s




zRPMTransaction.newcCst|dd�}|r|S|jS)NZ_force_swdb_repoid)�getattrZreponame)r
rJrarrrr]�szRPMTransaction.get_repoidcCs|jjj|j|jd�S)zGet reason for package����)rrrCr'rZ)r
rJrrrr^szRPMTransaction.get_reasoncCstjj|j|��S)zGet reason for package)rrZTransactionItemReasonToStringr^)r
rJrrr�get_reason_nameszRPMTransaction.get_reason_namecCs8|pg}x*|D]"}|j|tjj�}|r|j|�qWdS)N)r*rr�TransactionItemAction_OBSOLETEDr_)r
�	obsoletedr`Zobsrrrr�_add_obsoleted
s

zRPMTransaction._add_obsoletedcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r`)r*rrr$� TransactionItemAction_DOWNGRADEDrh)r
r*�oldrg�ti_new�ti_oldrrr�
add_downgradeszRPMTransaction.add_downgradecCs|j||�dS)N)�
add_remove)r
rjrGrrr�	add_eraseszRPMTransaction.add_erasecCs4|dkrtjj}|j|tjj|�}|j||d�dS)N)r`)rrrr*rrh)r
r*rgrGrkrrr�add_installszRPMTransaction.add_installcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r`)r*rr�TransactionItemAction_REINSTALL�!TransactionItemAction_REINSTALLEDrh)r
r*rjrgrkrlrrr�
add_reinstallszRPMTransaction.add_reinstallcCs"|p
tjj}|j|tjj|�}dS)N)rrrr*r )r
rjrGrlrrrrn$szRPMTransaction.add_removecCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r`)r*rrr"�TransactionItemAction_UPGRADEDrh)r
r*rjrgrkrlrrr�add_upgrade(szRPMTransaction.add_upgradecCs^|jr
dS|jjrdSy.|drB|j�rBtjtd�j|��dSWntk
rXdSXdS)NrZmodularitylabelz\No available modular metadata for modular package '{}', it cannot be installed on the systemrc)	Z
_from_cmdlineZrepoZmodule_hotfixesZ_is_in_active_modulerZcriticalr�format�
ValueError)r
�hdrrJrrr�_test_fail_safe-szRPMTransaction._test_fail_safecCsRd}�x0|D�]&}�y�|jtjjkrP|jj}||j||j�7}|j||d��n�|jtjjkrp|j	|jj
��n�|jtjjkr�|jj}||j||j�7}|j||d��nL|jtjjkr�|jj}||j||j�7}|j||d��n|jtjj
k�r|j	|jj
�n�|jtjjk�r<|jj}||j||j�7}|j||�n�|jtjjk�r\|j	|jj
�n�|jtjjk�r||j	|jj
�nz|jtjjk�r�|jj}||j||j�7}|j||d�n@|jtjjk�r�|j	|jj
�n |jtjjk�r�ntd|j��Wqtjk
�r2}ztjjtd|���WYdd}~XqXqW|�rNtjjtd���|S)z!Populate the RPM transaction set.r�ur4z%TransactionItemAction not handled: %szAn rpm exception occurred: %sNz1No available modular metadata for modular package)rrrr$rJZ_headerryZ
addInstallriZaddErase�idxrZTransactionItemAction_OBSOLETErfrqZaddReinstallrrr r"rtZ#TransactionItemAction_REASON_CHANGE�RuntimeError�rpm�errorrU�
exceptions�Errorr)r
ZtsZmodular_problems�tsirx�errr�_populate_rpm_ts;sR*zRPMTransaction._populate_rpm_tscCsXt�}xL|D]D}|jtjjkry|j|j�Wqtk
rNtd|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)	rDrrUrZFORWARD_ACTIONSrFrJ�KeyErrorr|)r
rar�rrr�install_setms
zRPMTransaction.install_setcCsbt�}xV|D]N}|jtjjtjjgkry|j|j�Wqt	k
rXt
d|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)rDrrUrZBACKWARD_ACTIONSrrrrFrJr�r|)r
rar�rrr�
remove_setys
zRPMTransaction.remove_setcCs,dd�|jD�}t|�r(td�|dSdS)zj Ensures all the members can be passed to rpm as they are to perform
            the transaction.
        cSsg|]}|jdkr|�qS)�src)rZ)r3rJrrrr5�sz3RPMTransaction._rpm_limitations.<locals>.<listcomp>z+Will not install a source rpm package (%s).rN)r�rr)r
Zsrc_installsrrr�_rpm_limitations�s

zRPMTransaction._rpm_limitationscs�fdd�|D�S)Ncsg|]}|j�kr|�qSr)r)r3r�)rrrr5�sz-RPMTransaction._get_items.<locals>.<listcomp>r)r
rr)rr�
_get_items�szRPMTransaction._get_items)N)NN)N)N)N)NN)N)N)N)r.r/r0r
r9rr\r*r]r^rerhrmrorprsrnruryr��propertyr�r�r�r�rrrrrR�s*
		







2
rR)Zlibdnf.transactionrZdnf.db.historyrUZdnf.transactionZdnf.exceptionsZdnf.i18nrZdnf.utilrr}�objectrr1rLrRrrrr�<module>s3<<PK"�FZ9�wM�F�F%db/__pycache__/history.cpython-36.pycnu�[���3

�ft`%:�@s�ddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
mZmZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZdS)�N)�ucd)�misc)�
DatabaseError�)�GroupPersistor�EnvironmentPersistor�RPMTransactionc@sjeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
edd��Zedd��Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zejd'd&��Zed(d)��Zejd*d)��Zed+d,��Zed-d.��Zed/d0��Zejd1d0��Zed2d3��Zd4d5�Zed6d7��Zd8d9�Zed:d;��Z ed<d=��Z!ed>d?��Z"d@S)A�RPMTransactionItemWrappercCs|dk	st�||_||_dS)N)�AssertionError�_swdb�_item)�self�swdb�item�r�/usr/lib/python3.6/history.py�__init__#sz"RPMTransactionItemWrapper.__init__cCs|jj�j�S)N)rZgetItemZtoStr)r
rrr�__str__(sz!RPMTransactionItemWrapper.__str__cCs|j|jkS)N)r)r
�otherrrr�__lt__+sz RPMTransactionItemWrapper.__lt__cCs|j|jkS)N)r)r
rrrr�__eq__.sz RPMTransactionItemWrapper.__eq__cCs
|jj�S)N)r�__hash__)r
rrrr1sz"RPMTransactionItemWrapper.__hash__cCsdS)NTr)r
�patternrrr�match4szRPMTransactionItemWrapper.matchcCs|jj�dk	S)N)r�
getRPMItem)r
rrr�
is_package7sz$RPMTransactionItemWrapper.is_packagecCs|jj�dk	S)N)r�getCompsGroupItem)r
rrr�is_group:sz"RPMTransactionItemWrapper.is_groupcCs|jj�dk	S)N)r�getCompsEnvironmentItem)r
rrr�is_environment=sz(RPMTransactionItemWrapper.is_environmentcCs
|jj�S)N)rr)r
rrr�	get_group@sz#RPMTransactionItemWrapper.get_groupcCs
|jj�S)N)rr)r
rrr�get_environmentCsz)RPMTransactionItemWrapper.get_environmentcCs|jj�j�S)N)rrZgetName)r
rrr�nameFszRPMTransactionItemWrapper.namecCs|jj�j�S)N)rrZgetEpoch)r
rrr�epochJszRPMTransactionItemWrapper.epochcCs|jj�j�S)N)rrZ
getVersion)r
rrr�versionNsz!RPMTransactionItemWrapper.versioncCs|jj�j�S)N)rrZ
getRelease)r
rrr�releaseRsz!RPMTransactionItemWrapper.releasecCs|jj�j�S)N)rrZgetArch)r
rrr�archVszRPMTransactionItemWrapper.archcCs*|jrdj|j|j|j�Sdj|j|j�S)Nz{}:{}-{}z{}-{})r#�formatr$r%)r
rrr�evrZszRPMTransactionItemWrapper.evrcCs|jj�j�S)N)rrZgetNEVRA)r
rrr�nevra`szRPMTransactionItemWrapper.nevracCs
|jj�S)N)rZ	getAction)r
rrr�actiondsz RPMTransactionItemWrapper.actioncCs|jj|�dS)N)rZ	setAction)r
�valuerrrr*hscCs
|jj�S)N)rZ	getReason)r
rrr�reasonlsz RPMTransactionItemWrapper.reasoncCs|jj|�S)N)rZ	setReason)r
r+rrrr,pscCs$y
|jj�Stk
rdSXdS)N�)rZ
getActionName�AttributeError)r
rrr�action_namets
z%RPMTransactionItemWrapper.action_namecCs$y
|jj�Stk
rdSXdS)Nr-)rZgetActionShortr.)r
rrr�action_short{s
z&RPMTransactionItemWrapper.action_shortcCs
|jj�S)N)r�getState)r
rrr�state�szRPMTransactionItemWrapper.statecCs|jj|�dS)N)r�setState)r
r+rrrr2�scCs
|jj�S)N)r�	getRepoid)r
rrr�	from_repo�sz#RPMTransactionItemWrapper.from_repocCs|jj�sdSd|jj�S)Nr-�@)rr4)r
rrr�ui_from_repo�s
z&RPMTransactionItemWrapper.ui_from_repocCsdS)Nr)r
rrr�
obsoleting�sz$RPMTransactionItemWrapper.obsoletingcCs|jjj|�S)N)r�rpm�
get_reason)r
rrrr:�sz$RPMTransactionItemWrapper.get_reasoncCs|jjj|jS)N)rr9Z_swdb_ti_pkgr)r
rrr�pkg�szRPMTransactionItemWrapper.pkgcCs|jjS)N)r;�files)r
rrrr<�szRPMTransactionItemWrapper.filescCs|jS)N)r;)r
rrr�_active�sz!RPMTransactionItemWrapper._activeN)#�__name__�
__module__�__qualname__rrrrrrrrrr r!�propertyr"r#r$r%r&r(r)r*�setterr,r/r0r2r5r7r8r:r;r<r=rrrrr	"sBr	c@s�eZdZdZdZdd�Zedd��Zedd��Zedd	��Z	ed
d��Z
edd
��Zedd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(S))�TransactionWrapperFcCs
||_dS)N)�_trans)r
�transrrrr�szTransactionWrapper.__init__cCs
|jj�S)N)rD�getId)r
rrr�tid�szTransactionWrapper.tidcCs
|jj�S)N)rDZ
getCmdline)r
rrr�cmdline�szTransactionWrapper.cmdlinecCs
|jj�S)N)rDZ
getReleasever)r
rrr�
releasever�szTransactionWrapper.releasevercCs
|jj�S)N)rDZ
getDtBegin)r
rrr�
beg_timestamp�sz TransactionWrapper.beg_timestampcCs
|jj�S)N)rDZgetDtEnd)r
rrr�
end_timestamp�sz TransactionWrapper.end_timestampcCs
|jj�S)N)rD�getRpmdbVersionBegin)r
rrr�beg_rpmdb_version�sz$TransactionWrapper.beg_rpmdb_versioncCs
|jj�S)N)rD�getRpmdbVersionEnd)r
rrr�end_rpmdb_version�sz$TransactionWrapper.end_rpmdb_versioncCst|jj�tjjk�S)N)�intrDr1�libdnf�transaction�TransactionItemState_DONE)r
rrr�return_code�szTransactionWrapper.return_codecCs
|jj�S)N)rDZ	getUserId)r
rrr�loginuid�szTransactionWrapper.loginuidcCs|jS)N)�packages)r
rrr�data�szTransactionWrapper.datacCs|jj�}t|�S)N)rD�getConsoleOutput�bool)r
�outputrrr�	is_output�s
zTransactionWrapper.is_outputcCs
|jj�S)N)rDZ
getComment)r
rrr�comment�szTransactionWrapper.commentcCs|jj�gS)N)rDrF)r
rrr�tids�szTransactionWrapper.tidscCsgS)Nr)r
rrr�performed_with�sz!TransactionWrapper.performed_withcs�jj�}�fdd�|D�S)Ncsg|]}t�|��qSr)r	)�.0�i)r
rr�
<listcomp>�sz/TransactionWrapper.packages.<locals>.<listcomp>)rDZgetItems)r
�resultr)r
rrV�s
zTransactionWrapper.packagescCsdd�|jj�D�S)NcSsg|]}|d�qS)rr)r_r`rrrra�sz-TransactionWrapper.output.<locals>.<listcomp>)rDrX)r
rrrrZ�szTransactionWrapper.outputcCsgS)Nr)r
rrr�error�szTransactionWrapper.errorcCs|jj�|k|_dS)N)rDrN�altered_gt_rpmdb)r
Zrpmdbvrrr�compare_rpmdbv�sz!TransactionWrapper.compare_rpmdbvN)r>r?r@�altered_lt_rpmdbrdrrArGrHrIrJrKrMrOrTrUrWr[r\r]r^rVrZrcrerrrrrC�s*rCc@sheZdZdd�Zdd�Zedd��Zdd�Zed	d
��Zedd��Z	ed
d��Z
edd��Zdd�ZdS)�MergedTransactionWrappercCstjj|j�|_dS)N)rQrRZMergedTransactionrD)r
rErrrr�sz!MergedTransactionWrapper.__init__cCs|jj|j�dS)N)rD�merge)r
rErrrrh�szMergedTransactionWrapper.mergecCs
|jj�S)N)rDZlistUserIds)r
rrrrU�sz!MergedTransactionWrapper.loginuidcCs
|jj�S)N)rDZlistIds)r
rrrr]szMergedTransactionWrapper.tidscCsdd�|jj�D�S)NcSsg|]}t|tjjk��qSr)rPrQrRrS)r_r`rrrrasz8MergedTransactionWrapper.return_code.<locals>.<listcomp>)rDZ
listStates)r
rrrrTsz$MergedTransactionWrapper.return_codecCs
|jj�S)N)rDZlistCmdlines)r
rrrrHsz MergedTransactionWrapper.cmdlinecCs
|jj�S)N)rDZlistReleasevers)r
rrrrIsz#MergedTransactionWrapper.releasevercCs
|jj�S)N)rDZlistComments)r
rrrr\sz MergedTransactionWrapper.commentcCsdd�|jj�D�S)NcSsg|]}|d�qS)rr)r_r`rrrrasz3MergedTransactionWrapper.output.<locals>.<listcomp>)rDrX)r
rrrrZszMergedTransactionWrapper.outputN)
r>r?r@rrhrArUr]rTrHrIr\rZrrrrrg�srgc@s�eZdZd6dd�Zdd�Zedd��Zedd	��Zed
d��Zedd
��Z	edd��Z
dd�Zdd�Zedd��Z
dd�Zd7dd�Zd8dd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd9d(d)�Zd*d+�Zd,d-�Zd:d.d/�Zd;d0d1�Zd2d3�Zd4d5�ZdS)<�
SwdbInterfacer-cCs8t|�|_d|_d|_d|_d|_d|_||_g|_dS)N)	�strrI�_rpm�_group�_envZ_addon_datar�_db_dir�_output)r
Zdb_dirrIrrrrs
zSwdbInterface.__init__cCs|j�dS)N)�close)r
rrr�__del__%szSwdbInterface.__del__cCs|jdkrt|�|_|jS)N)rkr)r
rrrr9(s

zSwdbInterface.rpmcCs|jdkrt|�|_|jS)N)rlr)r
rrr�group.s

zSwdbInterface.groupcCs|jdkrt|�|_|jS)N)rmr)r
rrr�env4s

zSwdbInterface.envcCstjj|jtjjj�S)N)�os�path�joinrnrQrR�SwdbZdefaultDatabaseName)r
rrr�dbpath:szSwdbInterface.dbpathcCsZ|jsTytjj|j�|_Wn.tk
rH}ztt|���WYdd}~XnX|jj�|jS)z Lazy initialize Swdb object N)	rrQrRrwrx�RuntimeErrorrrj�initTransaction)r
Zexrrrr>s
zSwdbInterface.swdbcCstjj||j�}|j�dS)N)rQrRZTransformerrx�	transform)r
Z	input_dirZtransformerrrrr{KszSwdbInterface.transformcCsZy|`Wntk
rYnXd|_d|_d|_|jrJ|jj�|jj�d|_g|_dS)N)	�_tidr.rkrlrmrZcloseTransactionZ
closeDatabasero)r
rrrrpOs

zSwdbInterface.closecCs
|jj�S)N)rZgetPath)r
rrrru]szSwdbInterface.pathcCs
|jj�S)N)rZ
resetDatabase)r
rrr�reset_dbaszSwdbInterface.reset_dbTcCs|jj�}|sdSt|�S)N)rZgetLastTransactionrC)r
�complete_transactions_only�trrr�lastes
zSwdbInterface.lastNrFcs��pg�dd��D��|jj�}dd�|D�}�rD�fdd�|D�}xJt|�D]>\}}|dkr`qN||d}|jj�|jj�krNd|_d|_qNW|ddd�S)	NcSsg|]}t|��qSr)rP)r_r`rrrraosz%SwdbInterface.old.<locals>.<listcomp>cSsg|]}t|��qSr)rC)r_r`rrrraqscsg|]}|j�kr|�qSr)rG)r_r`)r]rrratsrrT���)rZlistTransactions�	enumeraterDrLrNrfrd)r
r]�limitr~rbr`rEZ
prev_transr)r]r�oldms

zSwdbInterface.oldcCst|jj��S)N)rCrZ
getCurrent)r
rrr�get_current�szSwdbInterface.get_currentcCsB|jj|�}|j|�}tjj}|jj||||�}|jtjj	�|S)zSet reason for package)
r9Z_pkg_to_swdb_rpm_item�reporQrRZ#TransactionItemAction_REASON_CHANGErZaddItemr3rS)r
r;r,�rpm_itemZrepoidr*Ztirrr�
set_reason�s
zSwdbInterface.set_reasoncCs|jjt|��S)zGet repository of package)rZ
getRPMReporj)r
r;rrrr��szSwdbInterface.repocCs*|jjt|��}|dkr|St||�}|S)zGet package data for packageN)rZgetRPMTransactionItemrjr	)r
r;rbrrr�package_data�s

zSwdbInterface.package_datacCsfy|jj�WnYnX|jjttjtj���t|�|p>dtt	j
��|�}|jj|j�||_
|S)Nr-)rrzZbeginTransactionrP�calendarZtimegm�timeZgmtimerjrZgetloginuidZ
setReleaseverrIr|)r
Z
rpmdb_versionZ
using_pkgsZtsisrHr\rGrrr�beg�s
zSwdbInterface.begcCsN|jj�}|j|j�|j|jp"d�|j|j�|j|j	�|j
|j�|S)Nr)rZ
createRPMItemZsetNamer"ZsetEpochr#Z
setVersionr$Z
setReleaser%ZsetArchr&)r
Zpor�rrr�pkg_to_swdb_rpm_item�s
z"SwdbInterface.pkg_to_swdb_rpm_itemcCsDt|d�sdS|sdSx(|j�D]}t|�}|jjd|f�q WdS)Nr|r)�hasattr�
splitlinesrro�append)r
�msg�linerrr�log_scriptlet_output�s
z"SwdbInterface.log_scriptlet_outputcCs�t|d�sdS|dkrFtjj}x&|jD]}|jtjjkr&tjj}Pq&Wx |jD]\}}|j	j
||�qNWg|_|j	jtt
j
��t|�|�dS)Nr|)r�rQrRZTransactionState_DONEr9r2ZTransactionItemState_ERRORZTransactionState_ERRORrorZaddConsoleOutputLineZendTransactionrPr�rj)r
rOrT�errorsZtsiZfile_descriptorr�rrr�end�s

zSwdbInterface.endcCs|jj|�S)z{ Search for history transactions which contain specified
            packages al. la. "yum list". Returns transaction ids. )rZsearchTransactionsByRPM)r
ZpatternsZignore_caserrr�search�szSwdbInterface.searchcCs8|jj|j|jd�}|tjjkr$dS|tjjkr4dSdS)z)Returns True if package is user installedrTFr�)r�resolveRPMTransactionItemReasonr"r&rQrR�TransactionItemReason_USER�TransactionItemReason_UNKNOWN)r
r;r,rrr�user_installed�szSwdbInterface.user_installedcCsF|r|jj|j|j|�}n|jj|j|jd�}|tjjkrBtjj}|S)a2Get reason of package before transaction being undone. If package
        is already installed in the system, keep his reason.

        :param pkg: package being installed
        :param first_trans: id of first transaction being undone
        :param rollback: True if transaction is performing a rollbackrr�)rr�r"r&rQrRr�r�)r
r;Zfirst_transZrollbackrbrrr�get_erased_reason�szSwdbInterface.get_erased_reason)r-)T)NrF)Nr-)r-NN)T)r>r?r@rrqrAr9rrrsrxrr{rprur}r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrris0




	

ri)r�rtr�Zlibdnf.transactionrQZlibdnf.utilsZdnf.i18nrZdnf.yumrZdnf.exceptionsrrrrrr�objectr	rCrgrirrrr�<module>sM"PK"�FZ�s��X8X8#db/__pycache__/group.cpython-36.pycnu�[���3

i�-e�<�@s�ddlZddlZddlZddlZddlmZddlm	Z	ddl
Z
Gdd�de�ZGdd�de�Z
Gdd	�d	e�ZGd
d�de�ZdS)�N)�_)�loggerc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�
PersistorBasecCsBt|tjjj�s ttt|����||_i|_i|_	i|_
i|_dS)N)�
isinstance�dnf�db�historyZ
SwdbInterface�AssertionError�str�type�
_installed�_removed�	_upgraded�_downgraded)�selfr�r�/usr/lib/python3.6/group.py�__init__ s zPersistorBase.__init__cCs(t|j�t|j�t|j�t|j�S)N)�lenrr
rr)rrrr�__len__(szPersistorBase.__len__cCsi|_i|_i|_i|_dS)N)rr
rr)rrrr�clean+szPersistorBase.cleancCst�dS)N)�NotImplementedError)r�objrrr�_get_obj_id1szPersistorBase._get_obj_idcCs*|jjj|d|tjj�}|jtjj�dS)N�)r�swdb�addItem�libdnf�transaction�TransactionItemReason_USERZsetStateZTransactionItemState_DONE)r�item�action�tirrr�_add_to_history4szPersistorBase._add_to_historycCs$||j|j|�<|j|tjj�dS)N)rrr#rr�TransactionItemAction_INSTALL)rrrrr�install8szPersistorBase.installcCs$||j|j|�<|j|tjj�dS)N)r
rr#rr�TransactionItemAction_REMOVE)rrrrr�remove<szPersistorBase.removecCs$||j|j|�<|j|tjj�dS)N)rrr#rr�TransactionItemAction_UPGRADE)rrrrr�upgrade@szPersistorBase.upgradecCs$||j|j|�<|j|tjj�dS)N)rrr#rr�TransactionItemAction_DOWNGRADE)rrrrr�	downgradeDszPersistorBase.downgradecCst�dS)N)r)r�obj_id�name�translated_name�	pkg_typesrrr�newHszPersistorBase.newcCst�dS)N)r)rr,rrr�getKszPersistorBase.getcCst�dS)N)r)r�patternrrr�search_by_patternNszPersistorBase.search_by_patternN)�__name__�
__module__�__qualname__rrrrr#r%r'r)r+r0r1r3rrrrrsrc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�GroupPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsGroupItem)�.0�irrr�
<listcomp>Vsz+GroupPersistor.__iter__.<locals>.<listcomp>)rr�getItems�iter)r�itemsrrr�__iter__TszGroupPersistor.__iter__cCs|j�S)N)�
getGroupId)rrrrrrYszGroupPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsGroupItemZ
setGroupId�setName�setTranslatedName�setPackageTypes)rr,r-r.r/�
swdb_grouprrrr0\s



zGroupPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrr8)rr,rDrrrr1fs
zGroupPersistor.getcCs|jjj|�S)N)rrZgetCompsGroupItemsByPattern)rr2rrrr3msz GroupPersistor.search_by_patterncCs|jjj|�S)N)rrZgetPackageCompsGroups)r�pkg_namerrr�get_package_groupspsz!GroupPersistor.get_package_groupscCs�|jjj|dd�}|tjjkr"dSt|j|��}xJ|jj	�D]<\}}x2|j
�D]&}|j�|kr`qN|j�sjqN|j
|�qNWq<WxJ|jj	�D]<\}}x2|j
�D]&}|j�|kr�q�|j�s�q�|j|�q�Wq�W|r�dSdS)Nr�FT���)rr�resolveRPMTransactionItemReasonrrZTransactionItemReason_GROUP�setrFr
r>ZgetPackagesZgetName�getInstalledr'r�add)rrE�reasonZpackage_groups�group_id�group�pkgrrr�is_removable_pkgss*zGroupPersistor.is_removable_pkgN)
r4r5r6r?rr0r1r3rFrQrrrrr7Rs
r7c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�EnvironmentPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr)�getCompsEnvironmentItem)r9r:rrrr;�sz1EnvironmentPersistor.__iter__.<locals>.<listcomp>)rrr<r=)rr>rrrr?�szEnvironmentPersistor.__iter__cCs|j�S)N)ZgetEnvironmentId)rrrrrr�sz EnvironmentPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsEnvironmentItemZsetEnvironmentIdrArBrC)rr,r-r.r/�swdb_envrrrr0�s



zEnvironmentPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrrS)rr,rTrrrr1�s
zEnvironmentPersistor.getcCs|jjj|�S)N)rrZ!getCompsEnvironmentItemsByPattern)rr2rrrr3�sz&EnvironmentPersistor.search_by_patterncCs|jjj|�S)N)rrZgetCompsGroupEnvironments)rrNrrr�get_group_environments�sz+EnvironmentPersistor.get_group_environmentscCs�|jjj|�}|sdSt|j|��}xJ|jj�D]<\}}x2|j�D]&}|j�|krTqB|j	�s^qB|j
|�qBWq0WxJ|jj�D]<\}}x2|j�D]&}|j�|kr�q�|j	�s�q�|j|�q�Wq|W|r�dSdS)NFT)
rrOr1rJrUr
r>Z	getGroupsr@rKr'rrL)rrNrDZgroup_environmentsZenv_id�envrOrrr�is_removable_group�s*z'EnvironmentPersistor.is_removable_groupN)
r4r5r6r?rr0r1r3rUrWrrrrrR�s
rRc@s�eZdZd,dd�Zdd�Zdd�Zdd	�Zd-d
d�Zdd
�Zdd�Z	dd�Z
d.dd�Zd/dd�Zd0dd�Z
d1dd�Zd2dd�Zd3dd�Zd4dd�Zd d!�Zd"d#�Zed$d%��Zed&d'��Zd(d)�Zd*d+�ZdS)5�RPMTransactionNc	Cs:||_||_|js0y|jjj�WnYnXi|_dS)N)rrrZinitTransaction�_swdb_ti_pkg)rrrrrrr�szRPMTransaction.__init__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)�
getRPMItemrrr�RPMTransactionItemWrapper)r9r:)rrrr;�sz+RPMTransaction.__iter__.<locals>.<listcomp>)rr<rrr=)rr>r)rrr?�s
zRPMTransaction.__iter__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr)rZrrrr[)r9r:)rrrr;�sz*RPMTransaction.__len__.<locals>.<listcomp>)rr<rrr)rr>r)rrr�s
zRPMTransaction.__len__cCsP|jjj�}|j|j�|j|jp$d�|j|j�|j	|j
�|j|j�|S)Nr)
rrZ
createRPMItemrAr-ZsetEpochZepochZ
setVersion�versionZ
setRelease�releaseZsetArch�arch)rrP�rpm_itemrrr�_pkg_to_swdb_rpm_item�sz$RPMTransaction._pkg_to_swdb_rpm_itemcCsV|j|�}|j|�}|dkr&|j|�}|jjj||||�}|rH|j|�||j|<|S)N)r`�
get_repoid�
get_reasonrrr�
addReplacedByrY)rrPr!rM�replaced_byr_Zrepoid�resultrrrr0�s




zRPMTransaction.newcCst|dd�}|r|S|jS)NZ_force_swdb_repoid)�getattrZreponame)rrPrerrrra�szRPMTransaction.get_repoidcCs|jjj|j|jd�S)zGet reason for package����)rrrIr-r^)rrPrrrrbszRPMTransaction.get_reasoncCstjj|j|��S)zGet reason for package)rrZTransactionItemReasonToStringrb)rrPrrr�get_reason_nameszRPMTransaction.get_reason_namecCs8|pg}x*|D]"}|j|tjj�}|r|j|�qWdS)N)r0rr�TransactionItemAction_OBSOLETEDrc)r�	obsoletedrdZobsr"rrr�_add_obsoleted
s

zRPMTransaction._add_obsoletedcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)rd)r0rrr*� TransactionItemAction_DOWNGRADEDrl)rr0�oldrk�ti_new�ti_oldrrr�
add_downgradeszRPMTransaction.add_downgradecCs|j||�dS)N)�
add_remove)rrnrMrrr�	add_eraseszRPMTransaction.add_erasecCs4|dkrtjj}|j|tjj|�}|j||d�dS)N)rd)rrrr0r$rl)rr0rkrMrorrr�add_installszRPMTransaction.add_installcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)rd)r0rr�TransactionItemAction_REINSTALL�!TransactionItemAction_REINSTALLEDrl)rr0rnrkrorprrr�
add_reinstallszRPMTransaction.add_reinstallcCs"|p
tjj}|j|tjj|�}dS)N)rrrr0r&)rrnrMrprrrrr$szRPMTransaction.add_removecCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)rd)r0rrr(�TransactionItemAction_UPGRADEDrl)rr0rnrkrorprrr�add_upgrade(szRPMTransaction.add_upgradecCs^|jr
dS|jjrdSy.|drB|j�rBtjtd�j|��dSWntk
rXdSXdS)NrZmodularitylabelz\No available modular metadata for modular package '{}', it cannot be installed on the systemrg)	Z
_from_cmdlineZrepoZmodule_hotfixesZ_is_in_active_modulerZcriticalr�format�
ValueError)r�hdrrPrrr�_test_fail_safe-szRPMTransaction._test_fail_safecCsRd}�x0|D�]&}�y�|jtjjkrP|jj}||j||j�7}|j||d��n�|jtjjkrp|j	|jj
��n�|jtjjkr�|jj}||j||j�7}|j||d��nL|jtjjkr�|jj}||j||j�7}|j||d��n|jtjj
k�r|j	|jj
�n�|jtjjk�r<|jj}||j||j�7}|j||�n�|jtjjk�r\|j	|jj
�n�|jtjjk�r||j	|jj
�nz|jtjjk�r�|jj}||j||j�7}|j||d�n@|jtjjk�r�|j	|jj
�n |jtjjk�r�ntd|j��Wqtjk
�r2}ztjjtd|���WYdd}~XqXqW|�rNtjjtd���|S)z!Populate the RPM transaction set.r�ur:z%TransactionItemAction not handled: %szAn rpm exception occurred: %sNz1No available modular metadata for modular package)r!rrr*rPZ_headerr}Z
addInstallrmZaddErase�idxr$ZTransactionItemAction_OBSOLETErjruZaddReinstallrvr&r(rxZ#TransactionItemAction_REASON_CHANGE�RuntimeError�rpm�errorr�
exceptions�Errorr)rZtsZmodular_problems�tsir|�errr�_populate_rpm_ts;sR*zRPMTransaction._populate_rpm_tscCsXt�}xL|D]D}|jtjjkry|j|j�Wqtk
rNtd|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)	rJr!rrZFORWARD_ACTIONSrLrP�KeyErrorr�)rrer�rrr�install_setms
zRPMTransaction.install_setcCsbt�}xV|D]N}|jtjjtjjgkry|j|j�Wqt	k
rXt
d|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)rJr!rrZBACKWARD_ACTIONSrrvrLrPr�r�)rrer�rrr�
remove_setys
zRPMTransaction.remove_setcCs,dd�|jD�}t|�r(td�|dSdS)zj Ensures all the members can be passed to rpm as they are to perform
            the transaction.
        cSsg|]}|jdkr|�qS)�src)r^)r9rPrrrr;�sz3RPMTransaction._rpm_limitations.<locals>.<listcomp>z+Will not install a source rpm package (%s).rN)r�rr)rZsrc_installsrrr�_rpm_limitations�s

zRPMTransaction._rpm_limitationscs�fdd�|D�S)Ncsg|]}|j�kr|�qSr)r!)r9r�)r!rrr;�sz-RPMTransaction._get_items.<locals>.<listcomp>r)rr!r)r!r�
_get_items�szRPMTransaction._get_items)N)NN)N)N)N)NN)N)N)N)r4r5r6rr?rr`r0rarbrirlrqrsrtrwrrryr}r��propertyr�r�r�r�rrrrrX�s*
		







2
rX)Zlibdnf.transactionrZdnf.db.historyrZdnf.transactionZdnf.exceptionsZdnf.i18nrZdnf.utilrr��objectrr7rRrXrrrr�<module>s3<<PK"�FZ��}qq,db/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`
�@sdS)N�rrr�/usr/lib/python3.6/__init__.py�<module>sPK"�FZ��}qq&db/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`
�@sdS)N�rrr�/usr/lib/python3.6/__init__.py�<module>sPK"�FZ�n	�F�F+db/__pycache__/history.cpython-36.opt-1.pycnu�[���3

�ft`%:�@s�ddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
Z
mZmZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZdS)�N)�ucd)�misc)�
DatabaseError�)�GroupPersistor�EnvironmentPersistor�RPMTransactionc@sjeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
edd��Zedd��Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Zejd'd&��Zed(d)��Zejd*d)��Zed+d,��Zed-d.��Zed/d0��Zejd1d0��Zed2d3��Zd4d5�Zed6d7��Zd8d9�Zed:d;��Z ed<d=��Z!ed>d?��Z"d@S)A�RPMTransactionItemWrappercCs||_||_dS)N)�_swdb�_item)�self�swdb�item�r�/usr/lib/python3.6/history.py�__init__#sz"RPMTransactionItemWrapper.__init__cCs|jj�j�S)N)rZgetItemZtoStr)rrrr�__str__(sz!RPMTransactionItemWrapper.__str__cCs|j|jkS)N)r)r�otherrrr�__lt__+sz RPMTransactionItemWrapper.__lt__cCs|j|jkS)N)r)rrrrr�__eq__.sz RPMTransactionItemWrapper.__eq__cCs
|jj�S)N)r�__hash__)rrrrr1sz"RPMTransactionItemWrapper.__hash__cCsdS)NTr)r�patternrrr�match4szRPMTransactionItemWrapper.matchcCs|jj�dk	S)N)r�
getRPMItem)rrrr�
is_package7sz$RPMTransactionItemWrapper.is_packagecCs|jj�dk	S)N)r�getCompsGroupItem)rrrr�is_group:sz"RPMTransactionItemWrapper.is_groupcCs|jj�dk	S)N)r�getCompsEnvironmentItem)rrrr�is_environment=sz(RPMTransactionItemWrapper.is_environmentcCs
|jj�S)N)rr)rrrr�	get_group@sz#RPMTransactionItemWrapper.get_groupcCs
|jj�S)N)rr)rrrr�get_environmentCsz)RPMTransactionItemWrapper.get_environmentcCs|jj�j�S)N)rrZgetName)rrrr�nameFszRPMTransactionItemWrapper.namecCs|jj�j�S)N)rrZgetEpoch)rrrr�epochJszRPMTransactionItemWrapper.epochcCs|jj�j�S)N)rrZ
getVersion)rrrr�versionNsz!RPMTransactionItemWrapper.versioncCs|jj�j�S)N)rrZ
getRelease)rrrr�releaseRsz!RPMTransactionItemWrapper.releasecCs|jj�j�S)N)rrZgetArch)rrrr�archVszRPMTransactionItemWrapper.archcCs*|jrdj|j|j|j�Sdj|j|j�S)Nz{}:{}-{}z{}-{})r"�formatr#r$)rrrr�evrZszRPMTransactionItemWrapper.evrcCs|jj�j�S)N)rrZgetNEVRA)rrrr�nevra`szRPMTransactionItemWrapper.nevracCs
|jj�S)N)rZ	getAction)rrrr�actiondsz RPMTransactionItemWrapper.actioncCs|jj|�dS)N)rZ	setAction)r�valuerrrr)hscCs
|jj�S)N)rZ	getReason)rrrr�reasonlsz RPMTransactionItemWrapper.reasoncCs|jj|�S)N)rZ	setReason)rr*rrrr+pscCs$y
|jj�Stk
rdSXdS)N�)rZ
getActionName�AttributeError)rrrr�action_namets
z%RPMTransactionItemWrapper.action_namecCs$y
|jj�Stk
rdSXdS)Nr,)rZgetActionShortr-)rrrr�action_short{s
z&RPMTransactionItemWrapper.action_shortcCs
|jj�S)N)r�getState)rrrr�state�szRPMTransactionItemWrapper.statecCs|jj|�dS)N)r�setState)rr*rrrr1�scCs
|jj�S)N)r�	getRepoid)rrrr�	from_repo�sz#RPMTransactionItemWrapper.from_repocCs|jj�sdSd|jj�S)Nr,�@)rr3)rrrr�ui_from_repo�s
z&RPMTransactionItemWrapper.ui_from_repocCsdS)Nr)rrrr�
obsoleting�sz$RPMTransactionItemWrapper.obsoletingcCs|jjj|�S)N)r
�rpm�
get_reason)rrrrr9�sz$RPMTransactionItemWrapper.get_reasoncCs|jjj|jS)N)r
r8Z_swdb_ti_pkgr)rrrr�pkg�szRPMTransactionItemWrapper.pkgcCs|jjS)N)r:�files)rrrrr;�szRPMTransactionItemWrapper.filescCs|jS)N)r:)rrrr�_active�sz!RPMTransactionItemWrapper._activeN)#�__name__�
__module__�__qualname__rrrrrrrrrrr �propertyr!r"r#r$r%r'r(r)�setterr+r.r/r1r4r6r7r9r:r;r<rrrrr	"sBr	c@s�eZdZdZdZdd�Zedd��Zedd��Zedd	��Z	ed
d��Z
edd
��Zedd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(S))�TransactionWrapperFcCs
||_dS)N)�_trans)r�transrrrr�szTransactionWrapper.__init__cCs
|jj�S)N)rC�getId)rrrr�tid�szTransactionWrapper.tidcCs
|jj�S)N)rCZ
getCmdline)rrrr�cmdline�szTransactionWrapper.cmdlinecCs
|jj�S)N)rCZ
getReleasever)rrrr�
releasever�szTransactionWrapper.releasevercCs
|jj�S)N)rCZ
getDtBegin)rrrr�
beg_timestamp�sz TransactionWrapper.beg_timestampcCs
|jj�S)N)rCZgetDtEnd)rrrr�
end_timestamp�sz TransactionWrapper.end_timestampcCs
|jj�S)N)rC�getRpmdbVersionBegin)rrrr�beg_rpmdb_version�sz$TransactionWrapper.beg_rpmdb_versioncCs
|jj�S)N)rC�getRpmdbVersionEnd)rrrr�end_rpmdb_version�sz$TransactionWrapper.end_rpmdb_versioncCst|jj�tjjk�S)N)�intrCr0�libdnf�transaction�TransactionItemState_DONE)rrrr�return_code�szTransactionWrapper.return_codecCs
|jj�S)N)rCZ	getUserId)rrrr�loginuid�szTransactionWrapper.loginuidcCs|jS)N)�packages)rrrr�data�szTransactionWrapper.datacCs|jj�}t|�S)N)rC�getConsoleOutput�bool)r�outputrrr�	is_output�s
zTransactionWrapper.is_outputcCs
|jj�S)N)rCZ
getComment)rrrr�comment�szTransactionWrapper.commentcCs|jj�gS)N)rCrE)rrrr�tids�szTransactionWrapper.tidscCsgS)Nr)rrrr�performed_with�sz!TransactionWrapper.performed_withcs�jj�}�fdd�|D�S)Ncsg|]}t�|��qSr)r	)�.0�i)rrr�
<listcomp>�sz/TransactionWrapper.packages.<locals>.<listcomp>)rCZgetItems)r�resultr)rrrU�s
zTransactionWrapper.packagescCsdd�|jj�D�S)NcSsg|]}|d�qS)rr)r^r_rrrr`�sz-TransactionWrapper.output.<locals>.<listcomp>)rCrW)rrrrrY�szTransactionWrapper.outputcCsgS)Nr)rrrr�error�szTransactionWrapper.errorcCs|jj�|k|_dS)N)rCrM�altered_gt_rpmdb)rZrpmdbvrrr�compare_rpmdbv�sz!TransactionWrapper.compare_rpmdbvN)r=r>r?�altered_lt_rpmdbrcrr@rFrGrHrIrJrLrNrSrTrVrZr[r\r]rUrYrbrdrrrrrB�s*rBc@sheZdZdd�Zdd�Zedd��Zdd�Zed	d
��Zedd��Z	ed
d��Z
edd��Zdd�ZdS)�MergedTransactionWrappercCstjj|j�|_dS)N)rPrQZMergedTransactionrC)rrDrrrr�sz!MergedTransactionWrapper.__init__cCs|jj|j�dS)N)rC�merge)rrDrrrrg�szMergedTransactionWrapper.mergecCs
|jj�S)N)rCZlistUserIds)rrrrrT�sz!MergedTransactionWrapper.loginuidcCs
|jj�S)N)rCZlistIds)rrrrr\szMergedTransactionWrapper.tidscCsdd�|jj�D�S)NcSsg|]}t|tjjk��qSr)rOrPrQrR)r^r_rrrr`sz8MergedTransactionWrapper.return_code.<locals>.<listcomp>)rCZ
listStates)rrrrrSsz$MergedTransactionWrapper.return_codecCs
|jj�S)N)rCZlistCmdlines)rrrrrGsz MergedTransactionWrapper.cmdlinecCs
|jj�S)N)rCZlistReleasevers)rrrrrHsz#MergedTransactionWrapper.releasevercCs
|jj�S)N)rCZlistComments)rrrrr[sz MergedTransactionWrapper.commentcCsdd�|jj�D�S)NcSsg|]}|d�qS)rr)r^r_rrrr`sz3MergedTransactionWrapper.output.<locals>.<listcomp>)rCrW)rrrrrYszMergedTransactionWrapper.outputN)
r=r>r?rrgr@rTr\rSrGrHr[rYrrrrrf�srfc@s�eZdZd6dd�Zdd�Zedd��Zedd	��Zed
d��Zedd
��Z	edd��Z
dd�Zdd�Zedd��Z
dd�Zd7dd�Zd8dd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd9d(d)�Zd*d+�Zd,d-�Zd:d.d/�Zd;d0d1�Zd2d3�Zd4d5�ZdS)<�
SwdbInterfacer,cCs8t|�|_d|_d|_d|_d|_d|_||_g|_dS)N)	�strrH�_rpm�_group�_envZ_addon_datar
�_db_dir�_output)rZdb_dirrHrrrrs
zSwdbInterface.__init__cCs|j�dS)N)�close)rrrr�__del__%szSwdbInterface.__del__cCs|jdkrt|�|_|jS)N)rjr)rrrrr8(s

zSwdbInterface.rpmcCs|jdkrt|�|_|jS)N)rkr)rrrr�group.s

zSwdbInterface.groupcCs|jdkrt|�|_|jS)N)rlr)rrrr�env4s

zSwdbInterface.envcCstjj|jtjjj�S)N)�os�path�joinrmrPrQ�SwdbZdefaultDatabaseName)rrrr�dbpath:szSwdbInterface.dbpathcCsZ|jsTytjj|j�|_Wn.tk
rH}ztt|���WYdd}~XnX|jj�|jS)z Lazy initialize Swdb object N)	r
rPrQrvrw�RuntimeErrorrri�initTransaction)rZexrrrr
>s
zSwdbInterface.swdbcCstjj||j�}|j�dS)N)rPrQZTransformerrw�	transform)rZ	input_dirZtransformerrrrrzKszSwdbInterface.transformcCsZy|`Wntk
rYnXd|_d|_d|_|jrJ|jj�|jj�d|_g|_dS)N)	�_tidr-rjrkrlr
ZcloseTransactionZ
closeDatabasern)rrrrroOs

zSwdbInterface.closecCs
|jj�S)N)r
ZgetPath)rrrrrt]szSwdbInterface.pathcCs
|jj�S)N)r
Z
resetDatabase)rrrr�reset_dbaszSwdbInterface.reset_dbTcCs|jj�}|sdSt|�S)N)r
ZgetLastTransactionrB)r�complete_transactions_only�trrr�lastes
zSwdbInterface.lastNrFcs��pg�dd��D��|jj�}dd�|D�}�rD�fdd�|D�}xJt|�D]>\}}|dkr`qN||d}|jj�|jj�krNd|_d|_qNW|ddd�S)	NcSsg|]}t|��qSr)rO)r^r_rrrr`osz%SwdbInterface.old.<locals>.<listcomp>cSsg|]}t|��qSr)rB)r^r_rrrr`qscsg|]}|j�kr|�qSr)rF)r^r_)r\rrr`tsrrT���)r
ZlistTransactions�	enumeraterCrKrMrerc)rr\�limitr}rar_rDZ
prev_transr)r\r�oldms

zSwdbInterface.oldcCst|jj��S)N)rBr
Z
getCurrent)rrrr�get_current�szSwdbInterface.get_currentcCsB|jj|�}|j|�}tjj}|jj||||�}|jtjj	�|S)zSet reason for package)
r8Z_pkg_to_swdb_rpm_item�reporPrQZ#TransactionItemAction_REASON_CHANGEr
ZaddItemr2rR)rr:r+�rpm_itemZrepoidr)Ztirrr�
set_reason�s
zSwdbInterface.set_reasoncCs|jjt|��S)zGet repository of package)r
Z
getRPMRepori)rr:rrrr��szSwdbInterface.repocCs*|jjt|��}|dkr|St||�}|S)zGet package data for packageN)r
ZgetRPMTransactionItemrir	)rr:rarrr�package_data�s

zSwdbInterface.package_datacCsfy|jj�WnYnX|jjttjtj���t|�|p>dtt	j
��|�}|jj|j�||_
|S)Nr,)r
ryZbeginTransactionrO�calendarZtimegm�timeZgmtimerirZgetloginuidZ
setReleaseverrHr{)rZ
rpmdb_versionZ
using_pkgsZtsisrGr[rFrrr�beg�s
zSwdbInterface.begcCsN|jj�}|j|j�|j|jp"d�|j|j�|j|j	�|j
|j�|S)Nr)r
Z
createRPMItemZsetNamer!ZsetEpochr"Z
setVersionr#Z
setReleaser$ZsetArchr%)rZpor�rrr�pkg_to_swdb_rpm_item�s
z"SwdbInterface.pkg_to_swdb_rpm_itemcCsDt|d�sdS|sdSx(|j�D]}t|�}|jjd|f�q WdS)Nr{r)�hasattr�
splitlinesrrn�append)r�msg�linerrr�log_scriptlet_output�s
z"SwdbInterface.log_scriptlet_outputcCs�t|d�sdS|dkrFtjj}x&|jD]}|jtjjkr&tjj}Pq&Wx |jD]\}}|j	j
||�qNWg|_|j	jtt
j
��t|�|�dS)Nr{)r�rPrQZTransactionState_DONEr8r1ZTransactionItemState_ERRORZTransactionState_ERRORrnr
ZaddConsoleOutputLineZendTransactionrOr�ri)rrNrS�errorsZtsiZfile_descriptorr�rrr�end�s

zSwdbInterface.endcCs|jj|�S)z{ Search for history transactions which contain specified
            packages al. la. "yum list". Returns transaction ids. )r
ZsearchTransactionsByRPM)rZpatternsZignore_caserrr�search�szSwdbInterface.searchcCs8|jj|j|jd�}|tjjkr$dS|tjjkr4dSdS)z)Returns True if package is user installedrTFr�)r
�resolveRPMTransactionItemReasonr!r%rPrQ�TransactionItemReason_USER�TransactionItemReason_UNKNOWN)rr:r+rrr�user_installed�szSwdbInterface.user_installedcCsF|r|jj|j|j|�}n|jj|j|jd�}|tjjkrBtjj}|S)a2Get reason of package before transaction being undone. If package
        is already installed in the system, keep his reason.

        :param pkg: package being installed
        :param first_trans: id of first transaction being undone
        :param rollback: True if transaction is performing a rollbackrr�)r
r�r!r%rPrQr�r�)rr:Zfirst_transZrollbackrarrr�get_erased_reason�szSwdbInterface.get_erased_reason)r,)T)NrF)Nr,)r,NN)T)r=r>r?rrpr@r8rqrrrwr
rzrortr|rr�r�r�r�r�r�r�r�r�r�r�r�rrrrrhs0




	

rh)r�rsr�Zlibdnf.transactionrPZlibdnf.utilsZdnf.i18nrZdnf.yumrZdnf.exceptionsrrqrrr�objectr	rBrfrhrrrr�<module>sM"PK"�FZ�����yum/__init__.pynu�[���# __init__.py
# The legacy YUM subpackage.
#
# Copyright (C) 2013  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
PK"�FZ`��>�>yum/rpmtrans.pynu�[���# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Copyright 2005 Duke University
# Parts Copyright 2007 Red Hat, Inc

from __future__ import print_function, absolute_import
from __future__ import unicode_literals

import libdnf.transaction

from dnf.i18n import _, ucd
import dnf.callback
import dnf.transaction
import dnf.util
import rpm
import os
import logging
import sys
import tempfile
import traceback
import warnings


# TODO: merge w/ libdnf
# transaction set states
TS_UPDATE = 10
TS_INSTALL = 20
TS_ERASE = 40
TS_OBSOLETED = 50
TS_OBSOLETING = 60
TS_AVAILABLE = 70
TS_UPDATED = 90
TS_FAILED = 100

TS_INSTALL_STATES = [TS_INSTALL, TS_UPDATE, TS_OBSOLETING]
TS_REMOVE_STATES = [TS_ERASE, TS_OBSOLETED, TS_UPDATED]

RPM_ACTIONS_SET = {libdnf.transaction.TransactionItemAction_INSTALL,
                   libdnf.transaction.TransactionItemAction_DOWNGRADE,
                   libdnf.transaction.TransactionItemAction_DOWNGRADED,
                   libdnf.transaction.TransactionItemAction_OBSOLETE,
                   libdnf.transaction.TransactionItemAction_OBSOLETED,
                   libdnf.transaction.TransactionItemAction_UPGRADE,
                   libdnf.transaction.TransactionItemAction_UPGRADED,
                   libdnf.transaction.TransactionItemAction_REMOVE,
                   libdnf.transaction.TransactionItemAction_REINSTALLED}

logger = logging.getLogger('dnf')


def _add_deprecated_action(name):
    """
    Wrapper to return a deprecated action constant
    while printing a deprecation warning.
    """
    @property
    def _func(self):
        msg = "%s.%s is deprecated. Use dnf.callback.%s instead." \
            % (self.__class__.__name__, name, name)
        warnings.warn(msg, DeprecationWarning, stacklevel=2)
        value = getattr(dnf.callback, name)
        return value
    return _func


class TransactionDisplay(object):
    # :api

    def __init__(self):
        # :api
        pass

    # use constants from dnf.callback which are the official API
    PKG_CLEANUP = _add_deprecated_action("PKG_CLEANUP")
    PKG_DOWNGRADE = _add_deprecated_action("PKG_DOWNGRADE")
    PKG_REMOVE = _add_deprecated_action("PKG_REMOVE")
    PKG_ERASE = PKG_REMOVE
    PKG_INSTALL = _add_deprecated_action("PKG_INSTALL")
    PKG_OBSOLETE = _add_deprecated_action("PKG_OBSOLETE")
    PKG_REINSTALL = _add_deprecated_action("PKG_REINSTALL")
    PKG_UPGRADE = _add_deprecated_action("PKG_UPGRADE")
    PKG_VERIFY = _add_deprecated_action("PKG_VERIFY")
    TRANS_PREPARATION = _add_deprecated_action("TRANS_PREPARATION")
    PKG_SCRIPTLET = _add_deprecated_action("PKG_SCRIPTLET")
    TRANS_POST = _add_deprecated_action("TRANS_POST")

    def progress(self, package, action, ti_done, ti_total, ts_done, ts_total):
        """Report ongoing progress on a transaction item. :api

        :param package: a package being processed
        :param action: the action being performed
        :param ti_done: number of processed bytes of the transaction
           item being processed
        :param ti_total: total number of bytes of the transaction item
           being processed
        :param ts_done: number of actions processed in the whole
           transaction
        :param ts_total: total number of actions in the whole
           transaction

        """
        pass

    def scriptout(self, msgs):
        """Hook for reporting an rpm scriptlet output.

        :param msgs: the scriptlet output
        """
        pass

    def error(self, message):
        """Report an error that occurred during the transaction. :api"""
        pass

    def filelog(self, package, action):
        # check package object type - if it is a string - just output it
        """package is the same as in progress() - a package object or simple
           string action is also the same as in progress()"""
        pass

    def verify_tsi_package(self, pkg, count, total):
        # TODO: replace with verify_tsi?
        self.progress(pkg, dnf.transaction.PKG_VERIFY, 100, 100, count, total)


class ErrorTransactionDisplay(TransactionDisplay):

    """An RPMTransaction display that prints errors to standard output."""

    def error(self, message):
        super(ErrorTransactionDisplay, self).error(message)
        dnf.util._terminal_messenger('print', message, sys.stderr)


class LoggingTransactionDisplay(TransactionDisplay):
    '''
    Base class for a RPMTransaction display callback class
    '''
    def __init__(self):
        super(LoggingTransactionDisplay, self).__init__()
        self.rpm_logger = logging.getLogger('dnf.rpm')

    def error(self, message):
        self.rpm_logger.error(message)

    def filelog(self, package, action):
        action_str = dnf.transaction.FILE_ACTIONS[action]
        msg = '%s: %s' % (action_str, package)
        self.rpm_logger.log(dnf.logging.SUBDEBUG, msg)

    def scriptout(self, msgs):
        if msgs:
            self.rpm_logger.info(ucd(msgs))


class RPMTransaction(object):
    def __init__(self, base, test=False, displays=()):
        if not displays:
            displays = [ErrorTransactionDisplay()]
        self.displays = displays
        self.base = base
        self.test = test  # are we a test?
        self.trans_running = False
        self.fd = None
        self.total_actions = 0
        self.total_installed = 0
        self.complete_actions = 0
        self.installed_pkg_names = set()
        self.total_removed = 0

        self._setupOutputLogging(base.conf.rpmverbosity)
        self._te_list = []
        # Index in _te_list of the transaction element being processed (for use
        # in callbacks)
        self._te_index = 0
        self._tsi_cache = None

    def _setupOutputLogging(self, rpmverbosity="info"):
        # UGLY... set up the transaction to record output from scriptlets
        io_r = tempfile.NamedTemporaryFile()
        self._readpipe = io_r
        self._writepipe = open(io_r.name, 'w+b')
        self.base._ts.setScriptFd(self._writepipe)
        rpmverbosity = {'critical' : 'crit',
                        'emergency' : 'emerg',
                        'error' : 'err',
                        'information' : 'info',
                        'warn' : 'warning'}.get(rpmverbosity, rpmverbosity)
        rpmverbosity = 'RPMLOG_' + rpmverbosity.upper()
        if not hasattr(rpm, rpmverbosity):
            rpmverbosity = 'RPMLOG_INFO'
        rpm.setVerbosity(getattr(rpm, rpmverbosity))
        rpm.setLogFile(self._writepipe)

    def _shutdownOutputLogging(self):
        # reset rpm bits from recording output
        rpm.setVerbosity(rpm.RPMLOG_NOTICE)
        rpm.setLogFile(sys.stderr)
        try:
            self._writepipe.close()
        except:
            pass

    def _scriptOutput(self):
        try:
            # XXX ugly workaround of problem which started after upgrading glibc
            # from glibc-2.27-32.fc28.x86_64 to glibc-2.28-9.fc29.x86_64
            # After this upgrade nothing is read from _readpipe, so every
            # posttrans and postun scriptlet output is lost. The problem
            # only occurs when using dnf-2, dnf-3 is OK.
            # I did not find the root cause of this error yet.
            self._readpipe.seek(self._readpipe.tell())
            out = self._readpipe.read()
            if not out:
                return None
            return out
        except IOError:
            pass

    def messages(self):
        messages = self._scriptOutput()
        if messages:
            for line in messages.splitlines():
                yield ucd(line)

    def _scriptout(self):
        msgs = self._scriptOutput()
        for display in self.displays:
            display.scriptout(msgs)
        self.base.history.log_scriptlet_output(msgs)

    def __del__(self):
        self._shutdownOutputLogging()

    def _extract_cbkey(self, cbkey):
        """Obtain the package related to the calling callback."""

        if hasattr(cbkey, "pkg"):
            tsi = cbkey
            return [tsi]

        te = self._te_list[self._te_index]
        te_nevra = dnf.util._te_nevra(te)
        if self._tsi_cache:
            if str(self._tsi_cache[0]) == te_nevra:
                return self._tsi_cache
        items = []
        for tsi in self.base.transaction:
            if tsi.action not in RPM_ACTIONS_SET:
                # skip REINSTALL in order to return REINSTALLED, or REASON_CHANGE to avoid crash
                continue
            if str(tsi) == te_nevra:
                items.append(tsi)
        if items:
            self._tsi_cache = items
            return items
        raise RuntimeError("TransactionItem not found for key: %s" % cbkey)

    def callback(self, what, amount, total, key, client_data):
        try:
            if isinstance(key, str):
                key = ucd(key)
            if what == rpm.RPMCALLBACK_TRANS_START:
                self._transStart(total)
            elif what == rpm.RPMCALLBACK_TRANS_STOP:
                pass
            elif what == rpm.RPMCALLBACK_TRANS_PROGRESS:
                self._trans_progress(amount, total)
            elif what == rpm.RPMCALLBACK_ELEM_PROGRESS:
                # This callback type is issued every time the next transaction
                # element is about to be processed by RPM, before any other
                # callbacks are issued.  "amount" carries the index of the element.
                self._elemProgress(key, amount)
            elif what == rpm.RPMCALLBACK_INST_OPEN_FILE:
                return self._instOpenFile(key)
            elif what == rpm.RPMCALLBACK_INST_CLOSE_FILE:
                self._instCloseFile(key)
            elif what == rpm.RPMCALLBACK_INST_START:
                self._inst_start(key)
            elif what == rpm.RPMCALLBACK_INST_STOP:
                self._inst_stop(key)
            elif what == rpm.RPMCALLBACK_INST_PROGRESS:
                self._instProgress(amount, total, key)
            elif what == rpm.RPMCALLBACK_UNINST_START:
                self._uninst_start(key)
            elif what == rpm.RPMCALLBACK_UNINST_STOP:
                self._unInstStop(key)
            elif what == rpm.RPMCALLBACK_UNINST_PROGRESS:
                self._uninst_progress(amount, total, key)
            elif what == rpm.RPMCALLBACK_CPIO_ERROR:
                self._cpioError(key)
            elif what == rpm.RPMCALLBACK_UNPACK_ERROR:
                self._unpackError(key)
            elif what == rpm.RPMCALLBACK_SCRIPT_ERROR:
                self._scriptError(amount, total, key)
            elif what == rpm.RPMCALLBACK_SCRIPT_START:
                self._script_start(key)
            elif what == rpm.RPMCALLBACK_SCRIPT_STOP:
                self._scriptStop()
        except Exception:
            exc_type, exc_value, exc_traceback = sys.exc_info()
            except_list = traceback.format_exception(exc_type, exc_value, exc_traceback)
            logger.critical(''.join(except_list))

    def _transStart(self, total):
        self.total_actions = total
        if self.test: return
        self.trans_running = True
        self._te_list = list(self.base._ts)

    def _trans_progress(self, amount, total):
        action = dnf.transaction.TRANS_PREPARATION
        for display in self.displays:
            display.progress('', action, amount + 1, total, 1, 1)

    def _elemProgress(self, key, index):
        self._te_index = index
        self.complete_actions += 1
        if not self.test:
            transaction_list = self._extract_cbkey(key)
            for display in self.displays:
                display.filelog(transaction_list[0].pkg, transaction_list[0].action)

    def _instOpenFile(self, key):
        self.lastmsg = None
        transaction_list = self._extract_cbkey(key)
        pkg = transaction_list[0].pkg
        rpmloc = pkg.localPkg()
        try:
            self.fd = open(rpmloc)
        except IOError as e:
            for display in self.displays:
                display.error("Error: Cannot open file %s: %s" % (rpmloc, e))
        else:
            if self.trans_running:
                self.total_installed += 1
                self.installed_pkg_names.add(pkg.name)
            return self.fd.fileno()

    def _instCloseFile(self, key):
        self.fd.close()
        self.fd = None

    def _inst_start(self, key):
        pass

    def _inst_stop(self, key):
        if self.test or not self.trans_running:
            return

        self._scriptout()

        if self.complete_actions == self.total_actions:
            # RPM doesn't explicitly report when post-trans phase starts
            action = dnf.transaction.TRANS_POST
            for display in self.displays:
                display.progress(None, action, None, None, None, None)

    def _instProgress(self, amount, total, key):
        transaction_list = self._extract_cbkey(key)
        pkg = transaction_list[0].pkg
        action = transaction_list[0].action
        for display in self.displays:
            display.progress(pkg, action, amount, total, self.complete_actions, self.total_actions)

    def _uninst_start(self, key):
        self.total_removed += 1

    def _uninst_progress(self, amount, total, key):
        transaction_list = self._extract_cbkey(key)
        pkg = transaction_list[0].pkg
        action = transaction_list[0].action
        for display in self.displays:
            display.progress(pkg, action, amount, total, self.complete_actions, self.total_actions)

    def _unInstStop(self, key):
        if self.test:
            return

        self._scriptout()

    def _cpioError(self, key):
        transaction_list = self._extract_cbkey(key)
        msg = "Error in cpio payload of rpm package %s" % transaction_list[0].pkg
        for display in self.displays:
            display.error(msg)

    def _unpackError(self, key):
        transaction_list = self._extract_cbkey(key)
        msg = "Error unpacking rpm package %s" % transaction_list[0].pkg
        for display in self.displays:
            display.error(msg)

    def _scriptError(self, amount, total, key):
        # "amount" carries the failed scriptlet tag,
        # "total" carries fatal/non-fatal status
        scriptlet_name = rpm.tagnames.get(amount, "<unknown>")

        transaction_list = self._extract_cbkey(key)
        name = transaction_list[0].pkg.name

        msg = ("Error in %s scriptlet in rpm package %s" % (scriptlet_name, name))

        for display in self.displays:
            display.error(msg)

    def _script_start(self, key):
        # TODO: this doesn't fit into libdnf TransactionItem use cases
        action = dnf.transaction.PKG_SCRIPTLET
        if key is None and self._te_list == []:
            pkg = 'None'
        else:
            transaction_list = self._extract_cbkey(key)
            pkg = transaction_list[0].pkg
        complete = self.complete_actions if self.total_actions != 0 and self.complete_actions != 0 \
            else 1
        total = self.total_actions if self.total_actions != 0 and self.complete_actions != 0 else 1
        for display in self.displays:
            display.progress(pkg, action, 100, 100, complete, total)

    def _scriptStop(self):
        self._scriptout()

    def verify_tsi_package(self, pkg, count, total):
        for display in self.displays:
            display.verify_tsi_package(pkg, count, total)
PK"�FZ2s�&�&)yum/__pycache__/misc.cpython-36.opt-1.pycnu�[���3

�ft`W.�@sZdZddlmZmZddlmZddlmZmZmZddl	Tddl
ZddlZ
ddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZdgZdadd	�Zdad
d�Zdd
�ZGdd�de �Z!dd�Z"dd�Z#d,dd�Z$dd�Z%dd�Z&dd�Z'd-dd�Z(d d!�Z)da*d"d#�Z+d.d$d%�Z,d&d'�Z-d(d)�Z.d/d*d+�Z/dS)0z%
Assorted utility functions for yum.
�)�print_function�absolute_import)�unicode_literals)�base64_decodebytes�
basestring�unicode)�*NZsha256cCstdkrtjd�jat|�S)z( Tests if a string is a shell wildcard. Nz[*?]|\[.+\])�_re_compiled_glob_match�re�compile�search)�s�r�/usr/lib/python3.6/misc.py�re_glob.srcCsFtdkr(tjd�j}tjd�j}||faxtD]}||�r.dSq.WdS)zC Tests if a string needs a full nevra match, instead of just name. Nz.*([-.*?]|\[.+\]).z[0-9]+:TF)�_re_compiled_full_matchr
r�match)r
ZoneZtwoZrecrrr�re_full_search_needed6s
rcCstdS)Nr)�_default_checksumsrrrr�get_default_chksum_typeDsrc@s:eZdZdZd
dd�Zdd�Zdd�Zd	d
�Zdd�ZdS)�
GenericHolderz�Generic Holder class used to hold other objects of known types
       It exists purely to be able to do object.somestuff, object.someotherstuff
       or object[key] and pass object to another function that will
       understand itNcCs
||_dS)N)�_GenericHolder__iter)�self�iterrrr�__init__MszGenericHolder.__init__cCs|jdk	rt||j�SdS)N)rr)rrrr�__iter__Ps
zGenericHolder.__iter__cCs t||�rt||�St|��dS)N)�hasattr�getattr�KeyError)r�itemrrr�__getitem__Ts

zGenericHolder.__getitem__cCsdd�t|�j�D�S)z!Return a dictionary of all lists.cSs"i|]\}}t|�tkr||�qSr)�type�list)�.0�keyZlist_rrr�
<dictcomp>\sz+GenericHolder.all_lists.<locals>.<dictcomp>)�vars�items)rrrr�	all_listsZszGenericHolder.all_listscCs4x.|j�j�D]\}}t|�j|g�j|�qW|S)z7 Concatenate the list attributes from 'other' to ours. )r(r'r&�
setdefault�extend)r�otherr$�valrrr�merge_lists_szGenericHolder.merge_lists)N)	�__name__�
__module__�__qualname__�__doc__rrr r(r-rrrrrGs
rcCs�tjdd|�}tj�}d}d}xn|jd�D]`}|jd�r>d}q*|rT|j�dkrTd}q*|rf|jd�rfPq*|rx|jd�rxPq*|r*|j|d�q*Wt|j	��S)	z,Convert ASCII-armored GPG key to binary
    s
?�
rs$-----BEGIN PGP PUBLIC KEY BLOCK-----��s"-----END PGP PUBLIC KEY BLOCK-----�=)
r
�sub�io�BytesIO�split�
startswith�strip�writer�getvalue)�rawkey�blockZinblockZpastheaders�linerrr�
procgpgkeyes 
rAcCsPxJ|jdd�D]:}|d|krt|dd�}||kr8dS||krDdSdSqWd	S)
ab
    Return if the GPG key described by the given keyid and timestamp are
    installed in the rpmdb.

    The keyid and timestamp should both be passed as integers.
    The ts is an rpm transaction set object

    Return values:
        - -1      key is not installed
        - 0       key with matching ID and timestamp is installed
        - 1       key with matching ID is installed but has an older timestamp
        - 2       key with matching ID is installed but has a newer timestamp

    No effort is made to handle duplicates. The first matching keyid is used to
    calculate the return result.
    �namez
gpg-pubkey�version�release�rr3����)ZdbMatch�int)Zts�keyidZ	timestampZhdrZinstalledtsrrr�keyInstalled�srJTcCstjj|�stj|�tjj|���tjj���}ttjj	|d�d��}|j
d�WdQRX|j|�|�r|d}tjj|��stj|dd�xFtj|d�D]4}tjj
|�}|d|}	tj||	�tj|	d�q�Wd	}
ttjj	|d�d
d��}|j
|
�WdQRXdSQRXWdQRXdS)Nzgpg.conf�wbr4z-roi�)�modez/*�/z�lock-never
    no-auto-check-trustdb
    trust-model direct
    no-expensive-trust-checks
    no-permission-warning
    preserve-permissions
    �wT)�os�path�exists�makedirs�dnfZcryptoZpubring_dirZContext�open�joinr<Z	op_import�glob�basename�shutil�copy�chmod)r>rIZgpgdirZmake_ro_copyZctx�fpZrodir�frWZro_fZoptsrrr�import_key_to_pubring�s&

r]c	Cs�tj�}y.tj|�}tjj|d�}dtjj|f}Wn$t	k
rZdtjj|f}YnXdtjj
|f}ttj|��}xB|D]:}tj
|�}t|d�r�t|d�dkr�|d|kr�|Sq�Wtj|tjj
d�}|S)zqreturn a path to a valid and safe cachedir - only used when not running
       as root or when --tempcache is setrz%s-%s-z%s/%s*i��)�prefix�dir)rO�geteuid�pwd�getpwuidrSZi18nZucd�constZPREFIXrZTMPDIR�sortedrV�lstat�S_ISDIR�S_IMODE�tempfileZmkdtemp)	ZuidZusertupZusernamer_�dirpathZ	cachedirsZthisdirZstatsZcachedirrrr�getCacheDir�s


(rkcCsfg}t|�}t|�}d}x6||krN||}|j|||��||7}||8}qW|j||d��|S)zE Given a seq, split into a list of lists of length max_entries each. rN)�lenr"�append)�seqZmax_entries�retZnumZbeg�endrrr�
seq_max_split�s
rqcCsDytj|�Wn0tk
r>}z|jtjkr.�WYdd}~XnXdS)z| Call os.unlink, but don't die if the file isn't there. This is the main
        difference between "rm -f" and plain "rm". N)rO�unlink�OSError�errno�ENOENT)�filename�errr�unlink_f�s
rxFcCs^y
tj|�Stk
rX}z2|jtjtjfkr2dS|rF|jtjkrFdS�WYdd}~XnXdS)zF Call os.stat(), but don't die if the file isn't there. Returns None. N)rO�statrsrtru�ENOTDIRZEACCES)rvZ
ignore_EACCESrwrrr�stat_f�s
r{cCsFy$td��}|j�}t|�SQRXWnttfk
r@tj�SXdS)z� Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. Note that no caching is done here. z/proc/self/loginuidN)rT�readrH�IOError�
ValueErrorrO�getuid)�fo�datarrr�_getloginuid�s
r�cCstdkrt�atS)z� Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. The value is cached, so you don't
        have to save it. N)�_cached_getloginuidr�rrrr�getloginuidsr�c	Cs�|r
|}nJd}|jd�}|dkr@||d�}|dkr@|d|�}|dkrTtjjd
��|r�t|�}t|�}|r�|r�|j|jkr�|Sytjj||d�Wn2t	k
r�}ztjjt
|���WYdd}~XnX|r�|r�tj||j|jf�|S)
z�take a filename and decompress it into the same relative location.
       When the compression type is not recognized (or file is not compressed),
       the content of the file is copied to the destinationN�.r�.zck�.xz�.bz2�.gz�.lzma�.zstz(Could not determine destination filenamei�)r�r�r�r�r�r�)
�rfindrS�
exceptionsZ	MiscErrorr{�st_mtime�libdnfZutils�
decompress�RuntimeError�strrO�utime)	rv�dest�check_timestamps�outZdot_posZextZfir�rwrrrr�s,
"r�cCs:tjj|�}|d7}tjj|�s.tj|dd�|d|S)Nz/geni�)rLrM)rOrP�dirnamerQrR)rv�generated_namer�rrr�calculate_repo_gen_dest8s
r�cCst||�}t||dd�S)z� This is a wrapper around decompress, where we work out a cached
        generated name, and use check_timestamps. filename _must_ be from
        a repo. and generated_name is the type of the file. T)r�r�)r�r�)rvr�r�rrr�repo_gen_decompress@s
r�cCs�g}x�tj|�D]�}t|��n}xf|D]^}tjd|�r6q$|j�}|j�}|sLq$|rx|jdd�}|jdd�}|j|j��q$|j	|�q$WWdQRXqW|S)a( Takes a glob of a dir (like /etc/foo.d/\*.foo) returns a list of all
       the lines in all the files matching that glob, ignores comments and blank
       lines, optional paramater 'line_as_list tells whether to treat each line
       as a space or comma-separated list, defaults to True.
    z\s*(#|$)�
� �,N)
rVrTr
r�rstrip�lstrip�replacer*r9rm)ZthisglobZline_as_list�resultsZfnamer\r@rrr�read_in_items_from_dot_dirHs"

r�)NT)F)NF)T)0r1Z
__future__rrrZ
dnf.pycomprrrryZlibdnf.utilsr�Z	dnf.constrSZ
dnf.cryptoZdnf.exceptionsZdnf.i18nrtrVr7rOZos.pathrbr
rXrirr	rrrr�objectrrArJr]rkrqrxr{r�r�r�r�r�r�r�rrrr�<module>sN
#	


#PK"�FZ2s�&�&#yum/__pycache__/misc.cpython-36.pycnu�[���3

�ft`W.�@sZdZddlmZmZddlmZddlmZmZmZddl	Tddl
ZddlZ
ddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZdgZdadd	�Zdad
d�Zdd
�ZGdd�de �Z!dd�Z"dd�Z#d,dd�Z$dd�Z%dd�Z&dd�Z'd-dd�Z(d d!�Z)da*d"d#�Z+d.d$d%�Z,d&d'�Z-d(d)�Z.d/d*d+�Z/dS)0z%
Assorted utility functions for yum.
�)�print_function�absolute_import)�unicode_literals)�base64_decodebytes�
basestring�unicode)�*NZsha256cCstdkrtjd�jat|�S)z( Tests if a string is a shell wildcard. Nz[*?]|\[.+\])�_re_compiled_glob_match�re�compile�search)�s�r�/usr/lib/python3.6/misc.py�re_glob.srcCsFtdkr(tjd�j}tjd�j}||faxtD]}||�r.dSq.WdS)zC Tests if a string needs a full nevra match, instead of just name. Nz.*([-.*?]|\[.+\]).z[0-9]+:TF)�_re_compiled_full_matchr
r�match)r
ZoneZtwoZrecrrr�re_full_search_needed6s
rcCstdS)Nr)�_default_checksumsrrrr�get_default_chksum_typeDsrc@s:eZdZdZd
dd�Zdd�Zdd�Zd	d
�Zdd�ZdS)�
GenericHolderz�Generic Holder class used to hold other objects of known types
       It exists purely to be able to do object.somestuff, object.someotherstuff
       or object[key] and pass object to another function that will
       understand itNcCs
||_dS)N)�_GenericHolder__iter)�self�iterrrr�__init__MszGenericHolder.__init__cCs|jdk	rt||j�SdS)N)rr)rrrr�__iter__Ps
zGenericHolder.__iter__cCs t||�rt||�St|��dS)N)�hasattr�getattr�KeyError)r�itemrrr�__getitem__Ts

zGenericHolder.__getitem__cCsdd�t|�j�D�S)z!Return a dictionary of all lists.cSs"i|]\}}t|�tkr||�qSr)�type�list)�.0�keyZlist_rrr�
<dictcomp>\sz+GenericHolder.all_lists.<locals>.<dictcomp>)�vars�items)rrrr�	all_listsZszGenericHolder.all_listscCs4x.|j�j�D]\}}t|�j|g�j|�qW|S)z7 Concatenate the list attributes from 'other' to ours. )r(r'r&�
setdefault�extend)r�otherr$�valrrr�merge_lists_szGenericHolder.merge_lists)N)	�__name__�
__module__�__qualname__�__doc__rrr r(r-rrrrrGs
rcCs�tjdd|�}tj�}d}d}xn|jd�D]`}|jd�r>d}q*|rT|j�dkrTd}q*|rf|jd�rfPq*|rx|jd�rxPq*|r*|j|d�q*Wt|j	��S)	z,Convert ASCII-armored GPG key to binary
    s
?�
rs$-----BEGIN PGP PUBLIC KEY BLOCK-----��s"-----END PGP PUBLIC KEY BLOCK-----�=)
r
�sub�io�BytesIO�split�
startswith�strip�writer�getvalue)�rawkey�blockZinblockZpastheaders�linerrr�
procgpgkeyes 
rAcCsPxJ|jdd�D]:}|d|krt|dd�}||kr8dS||krDdSdSqWd	S)
ab
    Return if the GPG key described by the given keyid and timestamp are
    installed in the rpmdb.

    The keyid and timestamp should both be passed as integers.
    The ts is an rpm transaction set object

    Return values:
        - -1      key is not installed
        - 0       key with matching ID and timestamp is installed
        - 1       key with matching ID is installed but has an older timestamp
        - 2       key with matching ID is installed but has a newer timestamp

    No effort is made to handle duplicates. The first matching keyid is used to
    calculate the return result.
    �namez
gpg-pubkey�version�release�rr3����)ZdbMatch�int)Zts�keyidZ	timestampZhdrZinstalledtsrrr�keyInstalled�srJTcCstjj|�stj|�tjj|���tjj���}ttjj	|d�d��}|j
d�WdQRX|j|�|�r|d}tjj|��stj|dd�xFtj|d�D]4}tjj
|�}|d|}	tj||	�tj|	d�q�Wd	}
ttjj	|d�d
d��}|j
|
�WdQRXdSQRXWdQRXdS)Nzgpg.conf�wbr4z-roi�)�modez/*�/z�lock-never
    no-auto-check-trustdb
    trust-model direct
    no-expensive-trust-checks
    no-permission-warning
    preserve-permissions
    �wT)�os�path�exists�makedirs�dnfZcryptoZpubring_dirZContext�open�joinr<Z	op_import�glob�basename�shutil�copy�chmod)r>rIZgpgdirZmake_ro_copyZctx�fpZrodir�frWZro_fZoptsrrr�import_key_to_pubring�s&

r]c	Cs�tj�}y.tj|�}tjj|d�}dtjj|f}Wn$t	k
rZdtjj|f}YnXdtjj
|f}ttj|��}xB|D]:}tj
|�}t|d�r�t|d�dkr�|d|kr�|Sq�Wtj|tjj
d�}|S)zqreturn a path to a valid and safe cachedir - only used when not running
       as root or when --tempcache is setrz%s-%s-z%s/%s*i��)�prefix�dir)rO�geteuid�pwd�getpwuidrSZi18nZucd�constZPREFIXrZTMPDIR�sortedrV�lstat�S_ISDIR�S_IMODE�tempfileZmkdtemp)	ZuidZusertupZusernamer_�dirpathZ	cachedirsZthisdirZstatsZcachedirrrr�getCacheDir�s


(rkcCsfg}t|�}t|�}d}x6||krN||}|j|||��||7}||8}qW|j||d��|S)zE Given a seq, split into a list of lists of length max_entries each. rN)�lenr"�append)�seqZmax_entries�retZnumZbeg�endrrr�
seq_max_split�s
rqcCsDytj|�Wn0tk
r>}z|jtjkr.�WYdd}~XnXdS)z| Call os.unlink, but don't die if the file isn't there. This is the main
        difference between "rm -f" and plain "rm". N)rO�unlink�OSError�errno�ENOENT)�filename�errr�unlink_f�s
rxFcCs^y
tj|�Stk
rX}z2|jtjtjfkr2dS|rF|jtjkrFdS�WYdd}~XnXdS)zF Call os.stat(), but don't die if the file isn't there. Returns None. N)rO�statrsrtru�ENOTDIRZEACCES)rvZ
ignore_EACCESrwrrr�stat_f�s
r{cCsFy$td��}|j�}t|�SQRXWnttfk
r@tj�SXdS)z� Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. Note that no caching is done here. z/proc/self/loginuidN)rT�readrH�IOError�
ValueErrorrO�getuid)�fo�datarrr�_getloginuid�s
r�cCstdkrt�atS)z� Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. The value is cached, so you don't
        have to save it. N)�_cached_getloginuidr�rrrr�getloginuidsr�c	Cs�|r
|}nJd}|jd�}|dkr@||d�}|dkr@|d|�}|dkrTtjjd
��|r�t|�}t|�}|r�|r�|j|jkr�|Sytjj||d�Wn2t	k
r�}ztjjt
|���WYdd}~XnX|r�|r�tj||j|jf�|S)
z�take a filename and decompress it into the same relative location.
       When the compression type is not recognized (or file is not compressed),
       the content of the file is copied to the destinationN�.r�.zck�.xz�.bz2�.gz�.lzma�.zstz(Could not determine destination filenamei�)r�r�r�r�r�r�)
�rfindrS�
exceptionsZ	MiscErrorr{�st_mtime�libdnfZutils�
decompress�RuntimeError�strrO�utime)	rv�dest�check_timestamps�outZdot_posZextZfir�rwrrrr�s,
"r�cCs:tjj|�}|d7}tjj|�s.tj|dd�|d|S)Nz/geni�)rLrM)rOrP�dirnamerQrR)rv�generated_namer�rrr�calculate_repo_gen_dest8s
r�cCst||�}t||dd�S)z� This is a wrapper around decompress, where we work out a cached
        generated name, and use check_timestamps. filename _must_ be from
        a repo. and generated_name is the type of the file. T)r�r�)r�r�)rvr�r�rrr�repo_gen_decompress@s
r�cCs�g}x�tj|�D]�}t|��n}xf|D]^}tjd|�r6q$|j�}|j�}|sLq$|rx|jdd�}|jdd�}|j|j��q$|j	|�q$WWdQRXqW|S)a( Takes a glob of a dir (like /etc/foo.d/\*.foo) returns a list of all
       the lines in all the files matching that glob, ignores comments and blank
       lines, optional paramater 'line_as_list tells whether to treat each line
       as a space or comma-separated list, defaults to True.
    z\s*(#|$)�
� �,N)
rVrTr
r�rstrip�lstrip�replacer*r9rm)ZthisglobZline_as_list�resultsZfnamer\r@rrr�read_in_items_from_dot_dirHs"

r�)NT)F)NF)T)0r1Z
__future__rrrZ
dnf.pycomprrrryZlibdnf.utilsr�Z	dnf.constrSZ
dnf.cryptoZdnf.exceptionsZdnf.i18nrtrVr7rOZos.pathrbr
rXrirr	rrrr�objectrrArJr]rkrqrxr{r�r�r�r�r�r�r�rrrr�<module>sN
#	


#PK"�FZ��7#qq'yum/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`��@sdS)N�rrr�/usr/lib/python3.6/__init__.py�<module>sPK"�FZn��Z66'yum/__pycache__/rpmtrans.cpython-36.pycnu�[���3

�ft`�>�	@sHddlmZmZddlmZddlZddlmZmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZddlZddlZddlZddlZddlZdZdZdZdZd	Zd
ZdZdZeeegZeeegZejjejj ejj!ejj"ejj#ejj$ejj%ejj&ejj'h	Z(ej)d
�Z*dd�Z+Gdd�de,�Z-Gdd�de-�Z.Gdd�de-�Z/Gdd�de,�Z0dS)�)�print_function�absolute_import)�unicode_literalsN)�_�ucd�
��(�2�<�F�Z�d�dnfcst�fdd��}|S)zb
    Wrapper to return a deprecated action constant
    while printing a deprecation warning.
    cs2d|jj��f}tj|tdd�ttj��}|S)Nz1%s.%s is deprecated. Use dnf.callback.%s instead.�)�
stacklevel)�	__class__�__name__�warnings�warn�DeprecationWarning�getattrr�callback)�self�msg�value)�name��/usr/lib/python3.6/rpmtrans.py�_funcCs
z%_add_deprecated_action.<locals>._func)�property)rrr)rr�_add_deprecated_action>sr!c@s�eZdZdd�Zed�Zed�Zed�ZeZed�Z	ed�Z
ed�Zed	�Zed
�Z
ed�Zed�Zed
�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�TransactionDisplaycCsdS)Nr)rrrr�__init__PszTransactionDisplay.__init__�PKG_CLEANUP�
PKG_DOWNGRADE�
PKG_REMOVE�PKG_INSTALL�PKG_OBSOLETE�
PKG_REINSTALL�PKG_UPGRADE�
PKG_VERIFY�TRANS_PREPARATION�
PKG_SCRIPTLET�
TRANS_POSTcCsdS)aReport ongoing progress on a transaction item. :api

        :param package: a package being processed
        :param action: the action being performed
        :param ti_done: number of processed bytes of the transaction
           item being processed
        :param ti_total: total number of bytes of the transaction item
           being processed
        :param ts_done: number of actions processed in the whole
           transaction
        :param ts_total: total number of actions in the whole
           transaction

        Nr)r�package�actionZti_doneZti_totalZts_doneZts_totalrrr�progressbszTransactionDisplay.progresscCsdS)z_Hook for reporting an rpm scriptlet output.

        :param msgs: the scriptlet output
        Nr)r�msgsrrr�	scriptoutsszTransactionDisplay.scriptoutcCsdS)z:Report an error that occurred during the transaction. :apiNr)r�messagerrr�errorzszTransactionDisplay.errorcCsdS)z|package is the same as in progress() - a package object or simple
           string action is also the same as in progress()Nr)rr/r0rrr�filelog~szTransactionDisplay.filelogcCs|j|tjjdd||�dS)Nr)r1r�transactionr+)r�pkg�count�totalrrr�verify_tsi_package�sz%TransactionDisplay.verify_tsi_packageN)r�
__module__�__qualname__r#r!r$r%r&Z	PKG_ERASEr'r(r)r*r+r,r-r.r1r3r5r6r;rrrrr"Ms$r"cs eZdZdZ�fdd�Z�ZS)�ErrorTransactionDisplayz@An RPMTransaction display that prints errors to standard output.cs&tt|�j|�tjjd|tj�dS)N�print)�superr>r5r�utilZ_terminal_messenger�sys�stderr)rr4)rrrr5�szErrorTransactionDisplay.error)rr<r=�__doc__r5�
__classcell__rr)rrr>�sr>cs8eZdZdZ�fdd�Zdd�Zdd�Zdd	�Z�ZS)
�LoggingTransactionDisplayz@
    Base class for a RPMTransaction display callback class
    cstt|�j�tjd�|_dS)Nzdnf.rpm)r@rFr#�logging�	getLogger�
rpm_logger)r)rrrr#�sz"LoggingTransactionDisplay.__init__cCs|jj|�dS)N)rIr5)rr4rrrr5�szLoggingTransactionDisplay.errorcCs.tjj|}d||f}|jjtjj|�dS)Nz%s: %s)rr7ZFILE_ACTIONSrI�logrGZSUBDEBUG)rr/r0Z
action_strrrrrr6�sz!LoggingTransactionDisplay.filelogcCs|r|jjt|��dS)N)rI�infor)rr2rrrr3�sz#LoggingTransactionDisplay.scriptout)	rr<r=rDr#r5r6r3rErr)rrrF�s
rFc@s�eZdZdffdd�Zd8dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)9�RPMTransactionFcCsn|st�g}||_||_||_d|_d|_d|_d|_d|_t	�|_
d|_|j|j
j�g|_d|_d|_dS)NFr)r>�displays�base�test�
trans_running�fd�
total_actions�total_installed�complete_actions�set�installed_pkg_names�
total_removed�_setupOutputLoggingZconf�rpmverbosity�_te_list�	_te_index�
_tsi_cache)rrNrOrMrrrr#�s zRPMTransaction.__init__rKcCs~tj�}||_t|jd�|_|jjj|j�dddddd�j	||�}d|j
�}tt|�s^d	}tj
tt|��tj|j�dS)
Nzw+bZcritZemerg�errrKZwarning)�criticalZ	emergencyr5ZinformationrZRPMLOG_ZRPMLOG_INFO)�tempfileZNamedTemporaryFile�	_readpipe�openr�
_writepiperN�_tsZsetScriptFd�get�upper�hasattr�rpm�setVerbosityr�
setLogFile)rrYZio_rrrrrX�s
z"RPMTransaction._setupOutputLoggingc	Cs8tjtj�tjtj�y|jj�WnYnXdS)N)rgrhZ
RPMLOG_NOTICErirBrCrb�close)rrrr�_shutdownOutputLogging�sz%RPMTransaction._shutdownOutputLoggingcCsBy(|jj|jj��|jj�}|s&dS|Stk
r<YnXdS)N)r`�seek�tell�read�IOError)r�outrrr�
_scriptOutput�s
zRPMTransaction._scriptOutputccs,|j�}|r(x|j�D]}t|�VqWdS)N)rq�
splitlinesr)r�messages�linerrrrs�szRPMTransaction.messagescCs4|j�}x|jD]}|j|�qW|jjj|�dS)N)rqrMr3rN�historyZlog_scriptlet_output)rr2�displayrrr�
_scriptout�szRPMTransaction._scriptoutcCs|j�dS)N)rk)rrrr�__del__�szRPMTransaction.__del__cCs�t|d�r|}|gS|j|j}tjj|�}|jrJt|jd�|krJ|jSg}x2|jj	D]&}|j
tkrhqXt|�|krX|j|�qXW|r�||_|St
d|��dS)z3Obtain the package related to the calling callback.r8rz%TransactionItem not found for key: %sN)rfrZr[rrAZ	_te_nevrar\�strrNr7r0�RPM_ACTIONS_SET�append�RuntimeError)rZcbkeyZtsiZteZte_nevra�itemsrrr�_extract_cbkey�s$

zRPMTransaction._extract_cbkeyc
Cs��y�t|t�rt|�}|tjkr.|j|��nv|tjkr<�nh|tjkrV|j||��nN|tj	krp|j
||��n4|tjkr�|j|�S|tj
kr�|j|��n|tjkr�|j|�n�|tjkr�|j|�n�|tjkr�|j|||�n�|tjkr�|j|�n�|tjk�r|j|�n�|tjk�r,|j|||�nx|tjk�rD|j|�n`|tjk�r\|j|�nH|tjk�rx|j |||�n,|tj!k�r�|j"|�n|tj#k�r�|j$�WnBt%k
�r�t&j'�\}}}t(j)|||�}	t*j+dj,|	��YnXdS)N�)-�
isinstanceryrrgZRPMCALLBACK_TRANS_START�_transStartZRPMCALLBACK_TRANS_STOPZRPMCALLBACK_TRANS_PROGRESS�_trans_progressZRPMCALLBACK_ELEM_PROGRESS�
_elemProgressZRPMCALLBACK_INST_OPEN_FILE�
_instOpenFileZRPMCALLBACK_INST_CLOSE_FILE�_instCloseFileZRPMCALLBACK_INST_START�_inst_startZRPMCALLBACK_INST_STOP�
_inst_stopZRPMCALLBACK_INST_PROGRESS�
_instProgressZRPMCALLBACK_UNINST_START�
_uninst_startZRPMCALLBACK_UNINST_STOP�_unInstStopZRPMCALLBACK_UNINST_PROGRESS�_uninst_progressZRPMCALLBACK_CPIO_ERROR�
_cpioErrorZRPMCALLBACK_UNPACK_ERROR�_unpackErrorZRPMCALLBACK_SCRIPT_ERROR�_scriptErrorZRPMCALLBACK_SCRIPT_START�
_script_startZRPMCALLBACK_SCRIPT_STOP�_scriptStop�	ExceptionrB�exc_info�	traceback�format_exception�loggerr^�join)
rZwhat�amountr:�keyZclient_data�exc_type�	exc_value�
exc_tracebackZexcept_listrrrrsR











zRPMTransaction.callbackcCs(||_|jrdSd|_t|jj�|_dS)NT)rRrOrP�listrNrcrZ)rr:rrrr�<s
zRPMTransaction._transStartcCs4tjj}x&|jD]}|jd||d|dd�qWdS)Nr�)rr7r,rMr1)rr�r:r0rvrrrr�BszRPMTransaction._trans_progresscCsP||_|jd7_|jsL|j|�}x&|jD]}|j|dj|dj�q,WdS)Nr�r)r[rTrOr~rMr6r8r0)rr��index�transaction_listrvrrrr�Gs
zRPMTransaction._elemProgresscCs�d|_|j|�}|dj}|j�}yt|�|_WnDtk
rt}z(x |jD]}|jd||f�qJWWYdd}~Xn.X|j	r�|j
d7_
|jj|j
�|jj�SdS)NrzError: Cannot open file %s: %sr�)Zlastmsgr~r8ZlocalPkgrarQrorMr5rPrSrV�addr�fileno)rr�r�r8Zrpmloc�ervrrrr�Os

(zRPMTransaction._instOpenFilecCs|jj�d|_dS)N)rQrj)rr�rrrr�_s
zRPMTransaction._instCloseFilecCsdS)Nr)rr�rrrr�cszRPMTransaction._inst_startcCsV|js|jrdS|j�|j|jkrRtjj}x"|jD]}|j	d|dddd�q6WdS)N)
rOrPrwrTrRrr7r.rMr1)rr�r0rvrrrr�fszRPMTransaction._inst_stopcCsJ|j|�}|dj}|dj}x&|jD]}|j|||||j|j�q&WdS)Nr)r~r8r0rMr1rTrR)rr�r:r�r�r8r0rvrrrr�rs



zRPMTransaction._instProgresscCs|jd7_dS)Nr�)rW)rr�rrrr�yszRPMTransaction._uninst_startcCsJ|j|�}|dj}|dj}x&|jD]}|j|||||j|j�q&WdS)Nr)r~r8r0rMr1rTrR)rr�r:r�r�r8r0rvrrrr�|s



zRPMTransaction._uninst_progresscCs|jr
dS|j�dS)N)rOrw)rr�rrrr��szRPMTransaction._unInstStopcCs6|j|�}d|dj}x|jD]}|j|�q WdS)Nz'Error in cpio payload of rpm package %sr)r~r8rMr5)rr�r�rrvrrrr��s
zRPMTransaction._cpioErrorcCs6|j|�}d|dj}x|jD]}|j|�q WdS)NzError unpacking rpm package %sr)r~r8rMr5)rr�r�rrvrrrr��s
zRPMTransaction._unpackErrorc	CsNtjj|d�}|j|�}|djj}d||f}x|jD]}|j|�q8WdS)Nz	<unknown>rz'Error in %s scriptlet in rpm package %s)rgZtagnamesrdr~r8rrMr5)	rr�r:r�Zscriptlet_namer�rrrvrrrr��s
zRPMTransaction._scriptErrorcCs�tjj}|dkr |jgkr d}n|j|�}|dj}|jdkrN|jdkrN|jnd}|jdkrl|jdkrl|jnd}x"|jD]}|j	||dd||�qxWdS)N�Nonerr�r)
rr7r-rZr~r8rRrTrMr1)rr�r0r8r�Zcompleter:rvrrrr��s

zRPMTransaction._script_startcCs|j�dS)N)rw)rrrrr��szRPMTransaction._scriptStopcCs"x|jD]}|j|||�qWdS)N)rMr;)rr8r9r:rvrrrr;�sz!RPMTransaction.verify_tsi_packageN)rK)rr<r=r#rXrkrqrsrwrxr~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r;rrrrrL�s4
	.
rL)1Z
__future__rrrZlibdnf.transactionZlibdnfZdnf.i18nrrZdnf.callbackrZdnf.transactionZdnf.utilrg�osrGrBr_r�rZ	TS_UPDATEZ
TS_INSTALLZTS_ERASEZTS_OBSOLETEDZ
TS_OBSOLETINGZTS_AVAILABLEZ
TS_UPDATEDZ	TS_FAILEDZTS_INSTALL_STATESZTS_REMOVE_STATESr7ZTransactionItemAction_INSTALLZTransactionItemAction_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEZTransactionItemAction_OBSOLETEDZTransactionItemAction_UPGRADEZTransactionItemAction_UPGRADEDZTransactionItemAction_REMOVEZ!TransactionItemAction_REINSTALLEDrzrHr�r!�objectr"r>rFrLrrrr�<module>sL



<	PK"�FZ��7#qq-yum/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`��@sdS)N�rrr�/usr/lib/python3.6/__init__.py�<module>sPK"�FZn��Z66-yum/__pycache__/rpmtrans.cpython-36.opt-1.pycnu�[���3

�ft`�>�	@sHddlmZmZddlmZddlZddlmZmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZddlZddlZddlZddlZddlZdZdZdZdZd	Zd
ZdZdZeeegZeeegZejjejj ejj!ejj"ejj#ejj$ejj%ejj&ejj'h	Z(ej)d
�Z*dd�Z+Gdd�de,�Z-Gdd�de-�Z.Gdd�de-�Z/Gdd�de,�Z0dS)�)�print_function�absolute_import)�unicode_literalsN)�_�ucd�
��(�2�<�F�Z�d�dnfcst�fdd��}|S)zb
    Wrapper to return a deprecated action constant
    while printing a deprecation warning.
    cs2d|jj��f}tj|tdd�ttj��}|S)Nz1%s.%s is deprecated. Use dnf.callback.%s instead.�)�
stacklevel)�	__class__�__name__�warnings�warn�DeprecationWarning�getattrr�callback)�self�msg�value)�name��/usr/lib/python3.6/rpmtrans.py�_funcCs
z%_add_deprecated_action.<locals>._func)�property)rrr)rr�_add_deprecated_action>sr!c@s�eZdZdd�Zed�Zed�Zed�ZeZed�Z	ed�Z
ed�Zed	�Zed
�Z
ed�Zed�Zed
�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�TransactionDisplaycCsdS)Nr)rrrr�__init__PszTransactionDisplay.__init__�PKG_CLEANUP�
PKG_DOWNGRADE�
PKG_REMOVE�PKG_INSTALL�PKG_OBSOLETE�
PKG_REINSTALL�PKG_UPGRADE�
PKG_VERIFY�TRANS_PREPARATION�
PKG_SCRIPTLET�
TRANS_POSTcCsdS)aReport ongoing progress on a transaction item. :api

        :param package: a package being processed
        :param action: the action being performed
        :param ti_done: number of processed bytes of the transaction
           item being processed
        :param ti_total: total number of bytes of the transaction item
           being processed
        :param ts_done: number of actions processed in the whole
           transaction
        :param ts_total: total number of actions in the whole
           transaction

        Nr)r�package�actionZti_doneZti_totalZts_doneZts_totalrrr�progressbszTransactionDisplay.progresscCsdS)z_Hook for reporting an rpm scriptlet output.

        :param msgs: the scriptlet output
        Nr)r�msgsrrr�	scriptoutsszTransactionDisplay.scriptoutcCsdS)z:Report an error that occurred during the transaction. :apiNr)r�messagerrr�errorzszTransactionDisplay.errorcCsdS)z|package is the same as in progress() - a package object or simple
           string action is also the same as in progress()Nr)rr/r0rrr�filelog~szTransactionDisplay.filelogcCs|j|tjjdd||�dS)Nr)r1r�transactionr+)r�pkg�count�totalrrr�verify_tsi_package�sz%TransactionDisplay.verify_tsi_packageN)r�
__module__�__qualname__r#r!r$r%r&Z	PKG_ERASEr'r(r)r*r+r,r-r.r1r3r5r6r;rrrrr"Ms$r"cs eZdZdZ�fdd�Z�ZS)�ErrorTransactionDisplayz@An RPMTransaction display that prints errors to standard output.cs&tt|�j|�tjjd|tj�dS)N�print)�superr>r5r�utilZ_terminal_messenger�sys�stderr)rr4)rrrr5�szErrorTransactionDisplay.error)rr<r=�__doc__r5�
__classcell__rr)rrr>�sr>cs8eZdZdZ�fdd�Zdd�Zdd�Zdd	�Z�ZS)
�LoggingTransactionDisplayz@
    Base class for a RPMTransaction display callback class
    cstt|�j�tjd�|_dS)Nzdnf.rpm)r@rFr#�logging�	getLogger�
rpm_logger)r)rrrr#�sz"LoggingTransactionDisplay.__init__cCs|jj|�dS)N)rIr5)rr4rrrr5�szLoggingTransactionDisplay.errorcCs.tjj|}d||f}|jjtjj|�dS)Nz%s: %s)rr7ZFILE_ACTIONSrI�logrGZSUBDEBUG)rr/r0Z
action_strrrrrr6�sz!LoggingTransactionDisplay.filelogcCs|r|jjt|��dS)N)rI�infor)rr2rrrr3�sz#LoggingTransactionDisplay.scriptout)	rr<r=rDr#r5r6r3rErr)rrrF�s
rFc@s�eZdZdffdd�Zd8dd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)9�RPMTransactionFcCsn|st�g}||_||_||_d|_d|_d|_d|_d|_t	�|_
d|_|j|j
j�g|_d|_d|_dS)NFr)r>�displays�base�test�
trans_running�fd�
total_actions�total_installed�complete_actions�set�installed_pkg_names�
total_removed�_setupOutputLoggingZconf�rpmverbosity�_te_list�	_te_index�
_tsi_cache)rrNrOrMrrrr#�s zRPMTransaction.__init__rKcCs~tj�}||_t|jd�|_|jjj|j�dddddd�j	||�}d|j
�}tt|�s^d	}tj
tt|��tj|j�dS)
Nzw+bZcritZemerg�errrKZwarning)�criticalZ	emergencyr5ZinformationrZRPMLOG_ZRPMLOG_INFO)�tempfileZNamedTemporaryFile�	_readpipe�openr�
_writepiperN�_tsZsetScriptFd�get�upper�hasattr�rpm�setVerbosityr�
setLogFile)rrYZio_rrrrrX�s
z"RPMTransaction._setupOutputLoggingc	Cs8tjtj�tjtj�y|jj�WnYnXdS)N)rgrhZ
RPMLOG_NOTICErirBrCrb�close)rrrr�_shutdownOutputLogging�sz%RPMTransaction._shutdownOutputLoggingcCsBy(|jj|jj��|jj�}|s&dS|Stk
r<YnXdS)N)r`�seek�tell�read�IOError)r�outrrr�
_scriptOutput�s
zRPMTransaction._scriptOutputccs,|j�}|r(x|j�D]}t|�VqWdS)N)rq�
splitlinesr)r�messages�linerrrrs�szRPMTransaction.messagescCs4|j�}x|jD]}|j|�qW|jjj|�dS)N)rqrMr3rN�historyZlog_scriptlet_output)rr2�displayrrr�
_scriptout�szRPMTransaction._scriptoutcCs|j�dS)N)rk)rrrr�__del__�szRPMTransaction.__del__cCs�t|d�r|}|gS|j|j}tjj|�}|jrJt|jd�|krJ|jSg}x2|jj	D]&}|j
tkrhqXt|�|krX|j|�qXW|r�||_|St
d|��dS)z3Obtain the package related to the calling callback.r8rz%TransactionItem not found for key: %sN)rfrZr[rrAZ	_te_nevrar\�strrNr7r0�RPM_ACTIONS_SET�append�RuntimeError)rZcbkeyZtsiZteZte_nevra�itemsrrr�_extract_cbkey�s$

zRPMTransaction._extract_cbkeyc
Cs��y�t|t�rt|�}|tjkr.|j|��nv|tjkr<�nh|tjkrV|j||��nN|tj	krp|j
||��n4|tjkr�|j|�S|tj
kr�|j|��n|tjkr�|j|�n�|tjkr�|j|�n�|tjkr�|j|||�n�|tjkr�|j|�n�|tjk�r|j|�n�|tjk�r,|j|||�nx|tjk�rD|j|�n`|tjk�r\|j|�nH|tjk�rx|j |||�n,|tj!k�r�|j"|�n|tj#k�r�|j$�WnBt%k
�r�t&j'�\}}}t(j)|||�}	t*j+dj,|	��YnXdS)N�)-�
isinstanceryrrgZRPMCALLBACK_TRANS_START�_transStartZRPMCALLBACK_TRANS_STOPZRPMCALLBACK_TRANS_PROGRESS�_trans_progressZRPMCALLBACK_ELEM_PROGRESS�
_elemProgressZRPMCALLBACK_INST_OPEN_FILE�
_instOpenFileZRPMCALLBACK_INST_CLOSE_FILE�_instCloseFileZRPMCALLBACK_INST_START�_inst_startZRPMCALLBACK_INST_STOP�
_inst_stopZRPMCALLBACK_INST_PROGRESS�
_instProgressZRPMCALLBACK_UNINST_START�
_uninst_startZRPMCALLBACK_UNINST_STOP�_unInstStopZRPMCALLBACK_UNINST_PROGRESS�_uninst_progressZRPMCALLBACK_CPIO_ERROR�
_cpioErrorZRPMCALLBACK_UNPACK_ERROR�_unpackErrorZRPMCALLBACK_SCRIPT_ERROR�_scriptErrorZRPMCALLBACK_SCRIPT_START�
_script_startZRPMCALLBACK_SCRIPT_STOP�_scriptStop�	ExceptionrB�exc_info�	traceback�format_exception�loggerr^�join)
rZwhat�amountr:�keyZclient_data�exc_type�	exc_value�
exc_tracebackZexcept_listrrrrsR











zRPMTransaction.callbackcCs(||_|jrdSd|_t|jj�|_dS)NT)rRrOrP�listrNrcrZ)rr:rrrr�<s
zRPMTransaction._transStartcCs4tjj}x&|jD]}|jd||d|dd�qWdS)Nr�)rr7r,rMr1)rr�r:r0rvrrrr�BszRPMTransaction._trans_progresscCsP||_|jd7_|jsL|j|�}x&|jD]}|j|dj|dj�q,WdS)Nr�r)r[rTrOr~rMr6r8r0)rr��index�transaction_listrvrrrr�Gs
zRPMTransaction._elemProgresscCs�d|_|j|�}|dj}|j�}yt|�|_WnDtk
rt}z(x |jD]}|jd||f�qJWWYdd}~Xn.X|j	r�|j
d7_
|jj|j
�|jj�SdS)NrzError: Cannot open file %s: %sr�)Zlastmsgr~r8ZlocalPkgrarQrorMr5rPrSrV�addr�fileno)rr�r�r8Zrpmloc�ervrrrr�Os

(zRPMTransaction._instOpenFilecCs|jj�d|_dS)N)rQrj)rr�rrrr�_s
zRPMTransaction._instCloseFilecCsdS)Nr)rr�rrrr�cszRPMTransaction._inst_startcCsV|js|jrdS|j�|j|jkrRtjj}x"|jD]}|j	d|dddd�q6WdS)N)
rOrPrwrTrRrr7r.rMr1)rr�r0rvrrrr�fszRPMTransaction._inst_stopcCsJ|j|�}|dj}|dj}x&|jD]}|j|||||j|j�q&WdS)Nr)r~r8r0rMr1rTrR)rr�r:r�r�r8r0rvrrrr�rs



zRPMTransaction._instProgresscCs|jd7_dS)Nr�)rW)rr�rrrr�yszRPMTransaction._uninst_startcCsJ|j|�}|dj}|dj}x&|jD]}|j|||||j|j�q&WdS)Nr)r~r8r0rMr1rTrR)rr�r:r�r�r8r0rvrrrr�|s



zRPMTransaction._uninst_progresscCs|jr
dS|j�dS)N)rOrw)rr�rrrr��szRPMTransaction._unInstStopcCs6|j|�}d|dj}x|jD]}|j|�q WdS)Nz'Error in cpio payload of rpm package %sr)r~r8rMr5)rr�r�rrvrrrr��s
zRPMTransaction._cpioErrorcCs6|j|�}d|dj}x|jD]}|j|�q WdS)NzError unpacking rpm package %sr)r~r8rMr5)rr�r�rrvrrrr��s
zRPMTransaction._unpackErrorc	CsNtjj|d�}|j|�}|djj}d||f}x|jD]}|j|�q8WdS)Nz	<unknown>rz'Error in %s scriptlet in rpm package %s)rgZtagnamesrdr~r8rrMr5)	rr�r:r�Zscriptlet_namer�rrrvrrrr��s
zRPMTransaction._scriptErrorcCs�tjj}|dkr |jgkr d}n|j|�}|dj}|jdkrN|jdkrN|jnd}|jdkrl|jdkrl|jnd}x"|jD]}|j	||dd||�qxWdS)N�Nonerr�r)
rr7r-rZr~r8rRrTrMr1)rr�r0r8r�Zcompleter:rvrrrr��s

zRPMTransaction._script_startcCs|j�dS)N)rw)rrrrr��szRPMTransaction._scriptStopcCs"x|jD]}|j|||�qWdS)N)rMr;)rr8r9r:rvrrrr;�sz!RPMTransaction.verify_tsi_packageN)rK)rr<r=r#rXrkrqrsrwrxr~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r;rrrrrL�s4
	.
rL)1Z
__future__rrrZlibdnf.transactionZlibdnfZdnf.i18nrrZdnf.callbackrZdnf.transactionZdnf.utilrg�osrGrBr_r�rZ	TS_UPDATEZ
TS_INSTALLZTS_ERASEZTS_OBSOLETEDZ
TS_OBSOLETINGZTS_AVAILABLEZ
TS_UPDATEDZ	TS_FAILEDZTS_INSTALL_STATESZTS_REMOVE_STATESr7ZTransactionItemAction_INSTALLZTransactionItemAction_DOWNGRADEZ TransactionItemAction_DOWNGRADEDZTransactionItemAction_OBSOLETEZTransactionItemAction_OBSOLETEDZTransactionItemAction_UPGRADEZTransactionItemAction_UPGRADEDZTransactionItemAction_REMOVEZ!TransactionItemAction_REINSTALLEDrzrHr�r!�objectr"r>rFrLrrrr�<module>sL



<	PK"�FZ�ͩfW.W.yum/misc.pynu�[���# misc.py
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

"""
Assorted utility functions for yum.
"""

from __future__ import print_function, absolute_import
from __future__ import unicode_literals
from dnf.pycomp import base64_decodebytes, basestring, unicode
from stat import *
import libdnf.utils
import dnf.const
import dnf.crypto
import dnf.exceptions
import dnf.i18n
import errno
import glob
import io
import os
import os.path
import pwd
import re
import shutil
import tempfile

_default_checksums = ['sha256']


_re_compiled_glob_match = None
def re_glob(s):
    """ Tests if a string is a shell wildcard. """
    global _re_compiled_glob_match
    if _re_compiled_glob_match is None:
        _re_compiled_glob_match = re.compile(r'[*?]|\[.+\]').search
    return _re_compiled_glob_match(s)

_re_compiled_full_match = None
def re_full_search_needed(s):
    """ Tests if a string needs a full nevra match, instead of just name. """
    global _re_compiled_full_match
    if _re_compiled_full_match is None:
        # A glob, or a "." or "-" separator, followed by something (the ".")
        one = re.compile(r'.*([-.*?]|\[.+\]).').match
        # Any epoch, for envra
        two = re.compile('[0-9]+:').match
        _re_compiled_full_match = (one, two)
    for rec in _re_compiled_full_match:
        if rec(s):
            return True
    return False

def get_default_chksum_type():
    return _default_checksums[0]

class GenericHolder(object):
    """Generic Holder class used to hold other objects of known types
       It exists purely to be able to do object.somestuff, object.someotherstuff
       or object[key] and pass object to another function that will
       understand it"""

    def __init__(self, iter=None):
        self.__iter = iter

    def __iter__(self):
        if self.__iter is not None:
            return iter(self[self.__iter])

    def __getitem__(self, item):
        if hasattr(self, item):
            return getattr(self, item)
        else:
            raise KeyError(item)

    def all_lists(self):
        """Return a dictionary of all lists."""
        return {key: list_ for key, list_ in vars(self).items()
                if type(list_) is list}

    def merge_lists(self, other):
        """ Concatenate the list attributes from 'other' to ours. """
        for (key, val) in other.all_lists().items():
            vars(self).setdefault(key, []).extend(val)
        return self

def procgpgkey(rawkey):
    '''Convert ASCII-armored GPG key to binary
    '''

    # Normalise newlines
    rawkey = re.sub(b'\r\n?', b'\n', rawkey)

    # Extract block
    block = io.BytesIO()
    inblock = 0
    pastheaders = 0
    for line in rawkey.split(b'\n'):
        if line.startswith(b'-----BEGIN PGP PUBLIC KEY BLOCK-----'):
            inblock = 1
        elif inblock and line.strip() == b'':
            pastheaders = 1
        elif inblock and line.startswith(b'-----END PGP PUBLIC KEY BLOCK-----'):
            # Hit the end of the block, get out
            break
        elif pastheaders and line.startswith(b'='):
            # Hit the CRC line, don't include this and stop
            break
        elif pastheaders:
            block.write(line + b'\n')

    # Decode and return
    return base64_decodebytes(block.getvalue())


def keyInstalled(ts, keyid, timestamp):
    '''
    Return if the GPG key described by the given keyid and timestamp are
    installed in the rpmdb.

    The keyid and timestamp should both be passed as integers.
    The ts is an rpm transaction set object

    Return values:
        - -1      key is not installed
        - 0       key with matching ID and timestamp is installed
        - 1       key with matching ID is installed but has an older timestamp
        - 2       key with matching ID is installed but has a newer timestamp

    No effort is made to handle duplicates. The first matching keyid is used to
    calculate the return result.
    '''
    # Search
    for hdr in ts.dbMatch('name', 'gpg-pubkey'):
        if hdr['version'] == keyid:
            installedts = int(hdr['release'], 16)
            if installedts == timestamp:
                return 0
            elif installedts < timestamp:
                return 1
            else:
                return 2

    return -1


def import_key_to_pubring(rawkey, keyid, gpgdir=None, make_ro_copy=True):
    if not os.path.exists(gpgdir):
        os.makedirs(gpgdir)

    with dnf.crypto.pubring_dir(gpgdir), dnf.crypto.Context() as ctx:
        # import the key
        with open(os.path.join(gpgdir, 'gpg.conf'), 'wb') as fp:
            fp.write(b'')
        ctx.op_import(rawkey)

        if make_ro_copy:

            rodir = gpgdir + '-ro'
            if not os.path.exists(rodir):
                os.makedirs(rodir, mode=0o755)
                for f in glob.glob(gpgdir + '/*'):
                    basename = os.path.basename(f)
                    ro_f = rodir + '/' + basename
                    shutil.copy(f, ro_f)
                    os.chmod(ro_f, 0o755)
                # yes it is this stupid, why do you ask?
                opts = """lock-never
    no-auto-check-trustdb
    trust-model direct
    no-expensive-trust-checks
    no-permission-warning
    preserve-permissions
    """
                with open(os.path.join(rodir, 'gpg.conf'), 'w', 0o755) as fp:
                    fp.write(opts)


        return True


def getCacheDir():
    """return a path to a valid and safe cachedir - only used when not running
       as root or when --tempcache is set"""

    uid = os.geteuid()
    try:
        usertup = pwd.getpwuid(uid)
        username = dnf.i18n.ucd(usertup[0])
        prefix = '%s-%s-' % (dnf.const.PREFIX, username)
    except KeyError:
        prefix = '%s-%s-' % (dnf.const.PREFIX, uid)

    # check for /var/tmp/prefix-* -
    dirpath = '%s/%s*' % (dnf.const.TMPDIR, prefix)
    cachedirs = sorted(glob.glob(dirpath))
    for thisdir in cachedirs:
        stats = os.lstat(thisdir)
        if S_ISDIR(stats[0]) and S_IMODE(stats[0]) == 448 and stats[4] == uid:
            return thisdir

    # make the dir (tempfile.mkdtemp())
    cachedir = tempfile.mkdtemp(prefix=prefix, dir=dnf.const.TMPDIR)
    return cachedir

def seq_max_split(seq, max_entries):
    """ Given a seq, split into a list of lists of length max_entries each. """
    ret = []
    num = len(seq)
    seq = list(seq) # Trying to use a set/etc. here is bad
    beg = 0
    while num > max_entries:
        end = beg + max_entries
        ret.append(seq[beg:end])
        beg += max_entries
        num -= max_entries
    ret.append(seq[beg:])
    return ret

def unlink_f(filename):
    """ Call os.unlink, but don't die if the file isn't there. This is the main
        difference between "rm -f" and plain "rm". """
    try:
        os.unlink(filename)
    except OSError as e:
        if e.errno != errno.ENOENT:
            raise

def stat_f(filename, ignore_EACCES=False):
    """ Call os.stat(), but don't die if the file isn't there. Returns None. """
    try:
        return os.stat(filename)
    except OSError as e:
        if e.errno in (errno.ENOENT, errno.ENOTDIR):
            return None
        if ignore_EACCES and e.errno == errno.EACCES:
            return None
        raise

def _getloginuid():
    """ Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. Note that no caching is done here. """
    #  We might normally call audit.audit_getloginuid(), except that requires
    # importing all of the audit module. And it doesn't work anyway: BZ 518721
    try:
        with open("/proc/self/loginuid") as fo:
            data = fo.read()
            return int(data)
    except (IOError, ValueError):
        return os.getuid()

_cached_getloginuid = None
def getloginuid():
    """ Get the audit-uid/login-uid, if available. os.getuid() is returned
        instead if there was a problem. The value is cached, so you don't
        have to save it. """
    global _cached_getloginuid
    if _cached_getloginuid is None:
        _cached_getloginuid = _getloginuid()
    return _cached_getloginuid


def decompress(filename, dest=None, check_timestamps=False):
    """take a filename and decompress it into the same relative location.
       When the compression type is not recognized (or file is not compressed),
       the content of the file is copied to the destination"""

    if dest:
        out = dest
    else:
        out = None
        dot_pos = filename.rfind('.')
        if dot_pos > 0:
            ext = filename[dot_pos:]
            if ext in ('.zck', '.xz', '.bz2', '.gz', '.lzma', '.zst'):
                out = filename[:dot_pos]
        if out is None:
            raise dnf.exceptions.MiscError("Could not determine destination filename")

    if check_timestamps:
        fi = stat_f(filename)
        fo = stat_f(out)
        if fi and fo and fo.st_mtime == fi.st_mtime:
            return out

    try:
        # libdnf.utils.decompress either decompress file to the destination or
        # copy the content if the compression type is not recognized
        libdnf.utils.decompress(filename, out, 0o644)
    except RuntimeError as e:
        raise dnf.exceptions.MiscError(str(e))

    if check_timestamps and fi:
        os.utime(out, (fi.st_mtime, fi.st_mtime))

    return out

def calculate_repo_gen_dest(filename, generated_name):
    dest = os.path.dirname(filename)
    dest += '/gen'
    if not os.path.exists(dest):
        os.makedirs(dest, mode=0o755)
    return dest + '/' + generated_name


def repo_gen_decompress(filename, generated_name):
    """ This is a wrapper around decompress, where we work out a cached
        generated name, and use check_timestamps. filename _must_ be from
        a repo. and generated_name is the type of the file. """

    dest = calculate_repo_gen_dest(filename, generated_name)
    return decompress(filename, dest=dest, check_timestamps=True)

def read_in_items_from_dot_dir(thisglob, line_as_list=True):
    """ Takes a glob of a dir (like /etc/foo.d/\\*.foo) returns a list of all
       the lines in all the files matching that glob, ignores comments and blank
       lines, optional paramater 'line_as_list tells whether to treat each line
       as a space or comma-separated list, defaults to True.
    """
    results = []
    for fname in glob.glob(thisglob):
        with open(fname) as f:
            for line in f:
                if re.match(r'\s*(#|$)', line):
                    continue
                line = line.rstrip() # no more trailing \n's
                line = line.lstrip() # be nice
                if not line:
                    continue
                if line_as_list:
                    line = line.replace('\n', ' ')
                    line = line.replace(',', ' ')
                    results.extend(line.split())
                    continue
                results.append(line)
    return results
PK"�FZ�#��A	A	const.pynu�[���# const.py
# dnf constants.
#
# Copyright (C) 2012-2015  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals
import distutils.sysconfig

CONF_FILENAME='/etc/dnf/dnf.conf' # :api
CONF_AUTOMATIC_FILENAME='/etc/dnf/automatic.conf'
DISTROVERPKG=('system-release(releasever)', 'system-release',
              'distribution-release(releasever)', 'distribution-release',
              'redhat-release', 'suse-release')
GROUP_PACKAGE_TYPES = ('mandatory', 'default', 'conditional') # :api
INSTALLONLYPKGS=['kernel', 'kernel-PAE',
                 'installonlypkg(kernel)',
                 'installonlypkg(kernel-module)',
                 'installonlypkg(vm)',
                 'multiversion(kernel)']
LOG='dnf.log'
LOG_HAWKEY='hawkey.log'
LOG_LIBREPO='dnf.librepo.log'
LOG_MARKER='--- logging initialized ---'
LOG_RPM='dnf.rpm.log'
NAME='DNF'
PERSISTDIR='/var/lib/dnf' # :api
PID_FILENAME = '/var/run/dnf.pid'
RUNDIR='/run'
USER_RUNDIR='/run/user'
SYSTEM_CACHEDIR='/var/cache/dnf'
TMPDIR='/var/tmp/'
# CLI verbose values greater or equal to this are considered "verbose":
VERBOSE_LEVEL=6

PREFIX=NAME.lower()
PROGRAM_NAME=NAME.lower()  # Deprecated - no longer used, Argparser prints program name based on sys.argv
PLUGINCONFPATH = '/etc/dnf/plugins'  # :api
PLUGINPATH = '%s/dnf-plugins' % distutils.sysconfig.get_python_lib()
VERSION='4.7.0'
USER_AGENT = "dnf/%s" % VERSION

BUGTRACKER_COMPONENT=NAME.lower()
BUGTRACKER='https://bugs.rockylinux.org/'
PK"�FZwg�;,;,	dnssec.pynu�[���# dnssec.py
# DNS extension for automatic GPG key verification
#
# Copyright (C) 2012-2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals

from enum import Enum
import base64
import hashlib
import logging
import re

from dnf.i18n import _
import dnf.rpm
import dnf.exceptions

logger = logging.getLogger("dnf")


RR_TYPE_OPENPGPKEY = 61


class DnssecError(dnf.exceptions.Error):
    """
    Exception used in the dnssec module
    """
    def __repr__(self):
        return "<DnssecError, value='{}'>"\
            .format(self.value if self.value is not None else "Not specified")


def email2location(email_address, tag="_openpgpkey"):
    # type: (str, str) -> str
    """
    Implements RFC 7929, section 3
    https://tools.ietf.org/html/rfc7929#section-3
    :param email_address:
    :param tag:
    :return:
    """
    split = email_address.split("@")
    if len(split) != 2:
        msg = "Email address must contain exactly one '@' sign."
        raise DnssecError(msg)

    local = split[0]
    domain = split[1]
    hash = hashlib.sha256()
    hash.update(local.encode('utf-8'))
    digest = base64.b16encode(hash.digest()[0:28])\
        .decode("utf-8")\
        .lower()
    return digest + "." + tag + "." + domain


class Validity(Enum):
    """
    Output of the verification algorithm.
    TODO: this type might be simplified in order to less reflect the underlying DNS layer.
    TODO: more specifically the variants from 3 to 5 should have more understandable names
    """
    VALID = 1
    REVOKED = 2
    PROVEN_NONEXISTENCE = 3
    RESULT_NOT_SECURE = 4
    BOGUS_RESULT = 5
    ERROR = 9


class NoKey:
    """
    This class represents an absence of a key in the cache. It is an expression of non-existence
    using the Python's type system.
    """
    pass


class KeyInfo:
    """
    Wrapper class for email and associated verification key, where both are represented in
    form of a string.
    """
    def __init__(self, email=None, key=None):
        self.email = email
        self.key = key

    @staticmethod
    def from_rpm_key_object(userid, raw_key):
        # type: (str, bytes) -> KeyInfo
        """
        Since dnf uses different format of the key than the one used in DNS RR, I need to convert
        the former one into the new one.
        """
        input_email = re.search('<(.*@.*)>', userid)
        if input_email is None:
            raise DnssecError

        email = input_email.group(1)
        key = raw_key.decode('ascii').split('\n')

        start = 0
        stop = 0
        for i in range(0, len(key)):
            if key[i] == '-----BEGIN PGP PUBLIC KEY BLOCK-----':
                start = i
            if key[i] == '-----END PGP PUBLIC KEY BLOCK-----':
                stop = i

        cat_key = ''.join(key[start + 2:stop - 1]).encode('ascii')
        return KeyInfo(email, cat_key)


class DNSSECKeyVerification:
    """
    The main class when it comes to verification itself. It wraps Unbound context and a cache with
    already obtained results.
    """

    # Mapping from email address to b64 encoded public key or NoKey in case of proven nonexistence
    _cache = {}
    # type: Dict[str, Union[str, NoKey]]

    @staticmethod
    def _cache_hit(key_union, input_key_string):
        # type: (Union[str, NoKey], str) -> Validity
        """
        Compare the key in case it was found in the cache.
        """
        if key_union == input_key_string:
            logger.debug("Cache hit, valid key")
            return Validity.VALID
        elif key_union is NoKey:
            logger.debug("Cache hit, proven non-existence")
            return Validity.PROVEN_NONEXISTENCE
        else:
            logger.debug("Key in cache: {}".format(key_union))
            logger.debug("Input key   : {}".format(input_key_string))
            return Validity.REVOKED

    @staticmethod
    def _cache_miss(input_key):
        # type: (KeyInfo) -> Validity
        """
        In case the key was not found in the cache, create an Unbound context and contact the DNS
        system
        """
        try:
            import unbound
        except ImportError as e:
            msg = _("Configuration option 'gpgkey_dns_verification' requires "
                    "python3-unbound ({})".format(e))
            raise dnf.exceptions.Error(msg)

        ctx = unbound.ub_ctx()
        if ctx.set_option("verbosity:", "0") != 0:
            logger.debug("Unbound context: Failed to set verbosity")

        if ctx.set_option("qname-minimisation:", "yes") != 0:
            logger.debug("Unbound context: Failed to set qname minimisation")

        if ctx.resolvconf() != 0:
            logger.debug("Unbound context: Failed to read resolv.conf")

        if ctx.add_ta_file("/var/lib/unbound/root.key") != 0:
            logger.debug("Unbound context: Failed to add trust anchor file")

        status, result = ctx.resolve(email2location(input_key.email),
                                     RR_TYPE_OPENPGPKEY, unbound.RR_CLASS_IN)
        if status != 0:
            logger.debug("Communication with DNS servers failed")
            return Validity.ERROR
        if result.bogus:
            logger.debug("DNSSEC signatures are wrong")
            return Validity.BOGUS_RESULT
        if not result.secure:
            logger.debug("Result is not secured with DNSSEC")
            return Validity.RESULT_NOT_SECURE
        if result.nxdomain:
            logger.debug("Non-existence of this record was proven by DNSSEC")
            return Validity.PROVEN_NONEXISTENCE
        if not result.havedata:
            # TODO: This is weird result, but there is no way to perform validation, so just return
            # an error
            logger.debug("Unknown error in DNS communication")
            return Validity.ERROR
        else:
            data = result.data.as_raw_data()[0]
            dns_data_b64 = base64.b64encode(data)
            if dns_data_b64 == input_key.key:
                return Validity.VALID
            else:
                # In case it is different, print the keys for further examination in debug mode
                logger.debug("Key from DNS: {}".format(dns_data_b64))
                logger.debug("Input key   : {}".format(input_key.key))
                return Validity.REVOKED

    @staticmethod
    def verify(input_key):
        # type: (KeyInfo) -> Validity
        """
        Public API. Use this method to verify a KeyInfo object.
        """
        logger.debug("Running verification for key with id: {}".format(input_key.email))
        key_union = DNSSECKeyVerification._cache.get(input_key.email)
        if key_union is not None:
            return DNSSECKeyVerification._cache_hit(key_union, input_key.key)
        else:
            result = DNSSECKeyVerification._cache_miss(input_key)
            if result == Validity.VALID:
                DNSSECKeyVerification._cache[input_key.email] = input_key.key
            elif result == Validity.PROVEN_NONEXISTENCE:
                DNSSECKeyVerification._cache[input_key.email] = NoKey()
            return result


def nice_user_msg(ki, v):
    # type: (KeyInfo, Validity) -> str
    """
    Inform the user about key validity in a human readable way.
    """
    prefix = _("DNSSEC extension: Key for user ") + ki.email + " "
    if v == Validity.VALID:
        return prefix + _("is valid.")
    else:
        return prefix + _("has unknown status.")


def any_msg(m):
    # type: (str) -> str
    """
    Label any given message with DNSSEC extension tag
    """
    return _("DNSSEC extension: ") + m


class RpmImportedKeys:
    """
    Wrapper around keys, that are imported in the RPM database.

    The keys are stored in packages with name gpg-pubkey, where the version and
    release is different for each of them. The key content itself is stored as
    an ASCII armored string in the package description, so it needs to be parsed
    before it can be used.
    """
    @staticmethod
    def _query_db_for_gpg_keys():
        # type: () -> List[KeyInfo]
        # TODO: base.conf.installroot ?? -----------------------\
        transaction_set = dnf.rpm.transaction.TransactionWrapper()
        packages = transaction_set.dbMatch("name", "gpg-pubkey")
        return_list = []
        for pkg in packages:
            packager = dnf.rpm.getheader(pkg, 'packager')
            email = re.search('<(.*@.*)>', packager).group(1)
            description = dnf.rpm.getheader(pkg, 'description')
            key_lines = description.split('\n')[3:-3]
            key_str = ''.join(key_lines)
            return_list += [KeyInfo(email, key_str.encode('ascii'))]

        return return_list

    @staticmethod
    def check_imported_keys_validity():
        keys = RpmImportedKeys._query_db_for_gpg_keys()
        logger.info(any_msg(_("Testing already imported keys for their validity.")))
        for key in keys:
            try:
                result = DNSSECKeyVerification.verify(key)
            except DnssecError as e:
                # Errors in this exception should not be fatal, print it and just continue
                logger.warning("DNSSEC extension error (email={}): {}"
                             .format(key.email, e.value))
                continue
            # TODO: remove revoked keys automatically and possibly ask user to confirm
            if result == Validity.VALID:
                logger.debug(any_msg("GPG Key {} is valid".format(key.email)))
                pass
            elif result == Validity.PROVEN_NONEXISTENCE:
                logger.debug(any_msg("GPG Key {} does not support DNS"
                                    " verification".format(key.email)))
            elif result == Validity.BOGUS_RESULT:
                logger.info(any_msg("GPG Key {} could not be verified, because DNSSEC signatures"
                                    " are bogus. Possible causes: wrong configuration of the DNS"
                                    " server, MITM attack".format(key.email)))
            elif result == Validity.REVOKED:
                logger.info(any_msg("GPG Key {} has been revoked and should"
                                    " be removed immediately".format(key.email)))
            else:
                logger.debug(any_msg("GPG Key {} could not be tested".format(key.email)))
PK"�FZ4�)
��lock.pynu�[���# lock.py
# DNF Locking Subsystem.
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.exceptions import ProcessLockError, ThreadLockError, LockError
from dnf.i18n import _
from dnf.yum import misc
import dnf.logging
import dnf.util
import errno
import fcntl
import hashlib
import logging
import os
import threading
import time

logger = logging.getLogger("dnf")

def _fit_lock_dir(dir_):
    if not dnf.util.am_i_root():
        # for regular users the best we currently do is not to clash with
        # another DNF process of the same user. Since dir_ is quite definitely
        # not writable for us, yet significant, use its hash:
        hexdir = hashlib.sha1(dir_.encode('utf-8')).hexdigest()
        dir_ = os.path.join(misc.getCacheDir(), 'locks', hexdir)
    return dir_

def build_download_lock(cachedir, exit_on_lock):
    return ProcessLock(os.path.join(_fit_lock_dir(cachedir), 'download_lock.pid'),
                       'cachedir', not exit_on_lock)

def build_metadata_lock(cachedir, exit_on_lock):
    return ProcessLock(os.path.join(_fit_lock_dir(cachedir), 'metadata_lock.pid'),
                       'metadata', not exit_on_lock)


def build_rpmdb_lock(persistdir, exit_on_lock):
    return ProcessLock(os.path.join(_fit_lock_dir(persistdir), 'rpmdb_lock.pid'),
                       'RPMDB', not exit_on_lock)


def build_log_lock(logdir, exit_on_lock):
    return ProcessLock(os.path.join(_fit_lock_dir(logdir), 'log_lock.pid'),
                       'log', not exit_on_lock)


class ProcessLock(object):
    def __init__(self, target, description, blocking=False):
        self.blocking = blocking
        self.count = 0
        self.description = description
        self.target = target
        self.thread_lock = threading.RLock()

    def _lock_thread(self):
        if not self.thread_lock.acquire(blocking=False):
            msg = '%s already locked by a different thread' % self.description
            raise ThreadLockError(msg)
        self.count += 1

    def _try_lock(self, pid):
        fd = os.open(self.target, os.O_CREAT | os.O_RDWR, 0o644)

        try:
            try:
                fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
            except OSError as e:
                if e.errno == errno.EWOULDBLOCK:
                    return -1
                raise

            old_pid = os.read(fd, 20)
            if len(old_pid) == 0:
                # empty file, write our pid
                os.write(fd, str(pid).encode('utf-8'))
                return pid

            try:
                old_pid = int(old_pid)
            except ValueError:
                msg = _('Malformed lock file found: %s.\n'
                        'Ensure no other dnf/yum process is running and '
                        'remove the lock file manually or run '
                        'systemd-tmpfiles --remove dnf.conf.') % (self.target)
                raise LockError(msg)

            if old_pid == pid:
                # already locked by this process
                return pid

            if not os.access('/proc/%d/stat' % old_pid, os.F_OK):
                # locked by a dead process, write our pid
                os.lseek(fd, 0, os.SEEK_SET)
                os.ftruncate(fd, 0)
                os.write(fd, str(pid).encode('utf-8'))
                return pid

            return old_pid

        finally:
            os.close(fd)

    def _unlock_thread(self):
        self.count -= 1
        self.thread_lock.release()

    def __enter__(self):
        dnf.util.ensure_dir(os.path.dirname(self.target))
        self._lock_thread()
        prev_pid = -1
        my_pid = os.getpid()
        pid = self._try_lock(my_pid)
        while pid != my_pid:
            if pid != -1:
                if not self.blocking:
                    self._unlock_thread()
                    msg = '%s already locked by %d' % (self.description, pid)
                    raise ProcessLockError(msg, pid)
                if prev_pid != pid:
                    msg = _('Waiting for process with pid %d to finish.') % (pid)
                    logger.info(msg)
                    prev_pid = pid
            time.sleep(1)
            pid = self._try_lock(my_pid)

    def __exit__(self, *exc_args):
        if self.count == 1:
            os.unlink(self.target)
        self._unlock_thread()
PK"�FZGJ�c�`�`comps.pynu�[���# comps.py
# Interface to libcomps.
#
# Copyright (C) 2013-2018 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import libdnf.transaction

from dnf.exceptions import CompsError
from dnf.i18n import _, ucd
from functools import reduce

import dnf.i18n
import dnf.util
import fnmatch
import gettext
import itertools
import libcomps
import locale
import logging
import operator
import re
import sys

logger = logging.getLogger("dnf")

# :api :binformat
CONDITIONAL = libdnf.transaction.CompsPackageType_CONDITIONAL
DEFAULT     = libdnf.transaction.CompsPackageType_DEFAULT
MANDATORY   = libdnf.transaction.CompsPackageType_MANDATORY
OPTIONAL    = libdnf.transaction.CompsPackageType_OPTIONAL

ALL_TYPES = CONDITIONAL | DEFAULT | MANDATORY | OPTIONAL


def _internal_comps_length(comps):
    collections = (comps.categories, comps.groups, comps.environments)
    return reduce(operator.__add__, map(len, collections))


def _first_if_iterable(seq):
    if seq is None:
        return None
    return dnf.util.first(seq)


def _by_pattern(pattern, case_sensitive, sqn):
    """Return items from sqn matching either exactly or glob-wise."""

    pattern = dnf.i18n.ucd(pattern)
    exact = {g for g in sqn if g.name == pattern or g.id == pattern}
    if exact:
        return exact

    if case_sensitive:
        match = re.compile(fnmatch.translate(pattern)).match
    else:
        match = re.compile(fnmatch.translate(pattern), flags=re.I).match

    ret = set()
    for g in sqn:
        if match(g.id):
            ret.add(g)
        elif g.name is not None and match(g.name):
            ret.add(g)
        elif g.ui_name is not None and match(g.ui_name):
            ret.add(g)

    return ret


def _fn_display_order(group):
    return sys.maxsize if group.display_order is None else group.display_order


def install_or_skip(install_fnc, grp_or_env_id, types, exclude=None,
                    strict=True, exclude_groups=None):
    """
    Installs a group or an environment identified by grp_or_env_id.
    This method is preserved for API compatibility. It used to catch an
    exception thrown when a gorup or env was already installed, which is no
    longer thrown.
    `install_fnc` has to be Solver._group_install or
    Solver._environment_install.
    """
    return install_fnc(grp_or_env_id, types, exclude, strict, exclude_groups)


class _Langs(object):

    """Get all usable abbreviations for the current language."""

    def __init__(self):
        self.last_locale = None
        self.cache = None

    @staticmethod
    def _dotted_locale_str():
        lcl = locale.getlocale(locale.LC_MESSAGES)
        if lcl == (None, None):
            return 'C'
        return '.'.join(lcl)

    def get(self):
        current_locale = self._dotted_locale_str()
        if self.last_locale == current_locale:
            return self.cache

        self.cache = []
        locales = [current_locale]
        if current_locale != 'C':
            locales.append('C')
        for l in locales:
            for nlang in gettext._expand_lang(l):
                if nlang not in self.cache:
                    self.cache.append(nlang)

        self.last_locale = current_locale
        return self.cache


class CompsQuery(object):

    AVAILABLE = 1
    INSTALLED = 2

    ENVIRONMENTS = 1
    GROUPS = 2

    def __init__(self, comps, history, kinds, status):
        self.comps = comps
        self.history = history
        self.kinds = kinds
        self.status = status

    def _get_groups(self, available, installed):
        result = set()
        if self.status & self.AVAILABLE:
            result.update({i.id for i in available})
        if self.status & self.INSTALLED:
            for i in installed:
                group = i.getCompsGroupItem()
                if not group:
                    continue
                result.add(group.getGroupId())
        return result

    def _get_envs(self, available, installed):
        result = set()
        if self.status & self.AVAILABLE:
            result.update({i.id for i in available})
        if self.status & self.INSTALLED:
            for i in installed:
                env = i.getCompsEnvironmentItem()
                if not env:
                    continue
                result.add(env.getEnvironmentId())
        return result

    def get(self, *patterns):
        res = dnf.util.Bunch()
        res.environments = []
        res.groups = []
        for pat in patterns:
            envs = grps = []
            if self.kinds & self.ENVIRONMENTS:
                available = self.comps.environments_by_pattern(pat)
                installed = self.history.env.search_by_pattern(pat)
                envs = self._get_envs(available, installed)
                res.environments.extend(envs)
            if self.kinds & self.GROUPS:
                available = self.comps.groups_by_pattern(pat)
                installed = self.history.group.search_by_pattern(pat)
                grps = self._get_groups(available, installed)
                res.groups.extend(grps)
            if not envs and not grps:
                if self.status == self.INSTALLED:
                    msg = _("Module or Group '%s' is not installed.") % ucd(pat)
                elif self.status == self.AVAILABLE:
                    msg = _("Module or Group '%s' is not available.") % ucd(pat)
                else:
                    msg = _("Module or Group '%s' does not exist.") % ucd(pat)
                raise CompsError(msg)
        return res


class Forwarder(object):
    def __init__(self, iobj, langs):
        self._i = iobj
        self._langs = langs

    def __getattr__(self, name):
        return getattr(self._i, name)

    def _ui_text(self, default, dct):
        for l in self._langs.get():
            t = dct.get(l)
            if t is not None:
                return t
        return default

    @property
    def ui_description(self):
        return self._ui_text(self.desc, self.desc_by_lang)

    @property
    def ui_name(self):
        return self._ui_text(self.name, self.name_by_lang)

class Category(Forwarder):
    # :api
    def __init__(self, iobj, langs, group_factory):
        super(Category, self).__init__(iobj, langs)
        self._group_factory = group_factory

    def _build_group(self, grp_id):
        grp = self._group_factory(grp_id.name)
        if grp is None:
            msg = "no group '%s' from category '%s'"
            raise ValueError(msg % (grp_id.name, self.id))
        return grp

    def groups_iter(self):
        for grp_id in self.group_ids:
            yield self._build_group(grp_id)

    @property
    def groups(self):
        return list(self.groups_iter())

class Environment(Forwarder):
    # :api

    def __init__(self, iobj, langs, group_factory):
        super(Environment, self).__init__(iobj, langs)
        self._group_factory = group_factory

    def _build_group(self, grp_id):
        grp = self._group_factory(grp_id.name)
        if grp is None:
            msg = "no group '%s' from environment '%s'"
            raise ValueError(msg % (grp_id.name, self.id))
        return grp

    def _build_groups(self, ids):
        groups = []
        for gi in ids:
            try:
                groups.append(self._build_group(gi))
            except ValueError as e:
                logger.error(e)

        return groups

    def groups_iter(self):
        for grp_id in itertools.chain(self.group_ids, self.option_ids):
            try:
                yield self._build_group(grp_id)
            except ValueError as e:
                logger.error(e)

    @property
    def mandatory_groups(self):
        return self._build_groups(self.group_ids)

    @property
    def optional_groups(self):
        return self._build_groups(self.option_ids)

class Group(Forwarder):
    # :api
    def __init__(self, iobj, langs, pkg_factory):
        super(Group, self).__init__(iobj, langs)
        self._pkg_factory = pkg_factory
        self.selected = iobj.default

    def _packages_of_type(self, type_):
        return [pkg for pkg in self.packages if pkg.type == type_]

    @property
    def conditional_packages(self):
        return self._packages_of_type(libcomps.PACKAGE_TYPE_CONDITIONAL)

    @property
    def default_packages(self):
        return self._packages_of_type(libcomps.PACKAGE_TYPE_DEFAULT)

    def packages_iter(self):
        # :api
        return map(self._pkg_factory, self.packages)

    @property
    def mandatory_packages(self):
        return self._packages_of_type(libcomps.PACKAGE_TYPE_MANDATORY)

    @property
    def optional_packages(self):
        return self._packages_of_type(libcomps.PACKAGE_TYPE_OPTIONAL)

    @property
    def visible(self):
        return self._i.uservisible

class Package(Forwarder):
    """Represents comps package data. :api"""

    _OPT_MAP = {
        libcomps.PACKAGE_TYPE_CONDITIONAL : CONDITIONAL,
        libcomps.PACKAGE_TYPE_DEFAULT     : DEFAULT,
        libcomps.PACKAGE_TYPE_MANDATORY   : MANDATORY,
        libcomps.PACKAGE_TYPE_OPTIONAL    : OPTIONAL,
    }

    def __init__(self, ipkg):
        self._i = ipkg

    @property
    def name(self):
        # :api
        return self._i.name

    @property
    def option_type(self):
        # :api
        return self._OPT_MAP[self.type]

class Comps(object):
    # :api

    def __init__(self):
        self._i = libcomps.Comps()
        self._langs = _Langs()

    def __len__(self):
        return _internal_comps_length(self._i)

    def _build_category(self, icategory):
        return Category(icategory, self._langs, self._group_by_id)

    def _build_environment(self, ienvironment):
        return Environment(ienvironment, self._langs, self._group_by_id)

    def _build_group(self, igroup):
        return Group(igroup, self._langs, self._build_package)

    def _build_package(self, ipkg):
        return Package(ipkg)

    def _add_from_xml_filename(self, fn):
        comps = libcomps.Comps()
        try:
            comps.fromxml_f(fn)
        except libcomps.ParserError:
            errors = comps.get_last_errors()
            raise CompsError(' '.join(errors))
        self._i += comps

    @property
    def categories(self):
        # :api
        return list(self.categories_iter())

    def category_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        cats = self.categories_by_pattern(pattern, case_sensitive)
        return _first_if_iterable(cats)

    def categories_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        return _by_pattern(pattern, case_sensitive, self.categories)

    def categories_iter(self):
        # :api
        return (self._build_category(c) for c in self._i.categories)

    @property
    def environments(self):
        # :api
        return sorted(self.environments_iter(), key=_fn_display_order)

    def _environment_by_id(self, id):
        assert dnf.util.is_string_type(id)
        return dnf.util.first(g for g in self.environments_iter() if g.id == id)

    def environment_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        envs = self.environments_by_pattern(pattern, case_sensitive)
        return _first_if_iterable(envs)

    def environments_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        envs = list(self.environments_iter())
        found_envs = _by_pattern(pattern, case_sensitive, envs)
        return sorted(found_envs, key=_fn_display_order)

    def environments_iter(self):
        # :api
        return (self._build_environment(e) for e in self._i.environments)

    @property
    def groups(self):
        # :api
        return sorted(self.groups_iter(), key=_fn_display_order)

    def _group_by_id(self, id_):
        assert dnf.util.is_string_type(id_)
        return dnf.util.first(g for g in self.groups_iter() if g.id == id_)

    def group_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        grps = self.groups_by_pattern(pattern, case_sensitive)
        return _first_if_iterable(grps)

    def groups_by_pattern(self, pattern, case_sensitive=False):
        # :api
        assert dnf.util.is_string_type(pattern)
        grps = _by_pattern(pattern, case_sensitive, list(self.groups_iter()))
        return sorted(grps, key=_fn_display_order)

    def groups_iter(self):
        # :api
        return (self._build_group(g) for g in self._i.groups)

class CompsTransPkg(object):
    def __init__(self, pkg_or_name):
        if dnf.util.is_string_type(pkg_or_name):
            # from package name
            self.basearchonly = False
            self.name = pkg_or_name
            self.optional = True
            self.requires = None
        elif isinstance(pkg_or_name, libdnf.transaction.CompsGroupPackage):
            # from swdb package
            # TODO:
            self.basearchonly = False
            # self.basearchonly = pkg_or_name.basearchonly
            self.name = pkg_or_name.getName()
            self.optional = pkg_or_name.getPackageType() & libcomps.PACKAGE_TYPE_OPTIONAL
            # TODO:
            self.requires = None
            # self.requires = pkg_or_name.requires
        else:
            # from comps package
            self.basearchonly = pkg_or_name.basearchonly
            self.name = pkg_or_name.name
            self.optional = pkg_or_name.type & libcomps.PACKAGE_TYPE_OPTIONAL
            self.requires = pkg_or_name.requires

    def __eq__(self, other):
        return (self.name == other.name and
                self.basearchonly == self.basearchonly and
                self.optional == self.optional and
                self.requires == self.requires)

    def __str__(self):
        return self.name

    def __hash__(self):
        return hash((self.name,
                    self.basearchonly,
                    self.optional,
                    self.requires))

class TransactionBunch(object):
    def __init__(self):
        self._install = set()
        self._install_opt = set()
        self._remove = set()
        self._upgrade = set()

    def __iadd__(self, other):
        self._install.update(other._install)
        self._install_opt.update(other._install_opt)
        self._upgrade.update(other._upgrade)
        self._remove = (self._remove | other._remove) - \
            self._install - self._install_opt - self._upgrade
        return self

    def __len__(self):
        return len(self.install) + len(self.install_opt) + len(self.upgrade) + len(self.remove)

    @staticmethod
    def _set_value(param, val):
        for item in val:
            if isinstance(item, CompsTransPkg):
                param.add(item)
            else:
                param.add(CompsTransPkg(item))

    @property
    def install(self):
        """
        Packages to be installed with strict=True - transaction will
        fail if they cannot be installed due to dependency errors etc.
        """
        return self._install

    @install.setter
    def install(self, value):
        self._set_value(self._install, value)

    @property
    def install_opt(self):
        """
        Packages to be installed with strict=False - they will be
        skipped if they cannot be installed
        """
        return self._install_opt

    @install_opt.setter
    def install_opt(self, value):
        self._set_value(self._install_opt, value)

    @property
    def remove(self):
        return self._remove

    @remove.setter
    def remove(self, value):
        self._set_value(self._remove, value)

    @property
    def upgrade(self):
        return self._upgrade

    @upgrade.setter
    def upgrade(self, value):
        self._set_value(self._upgrade, value)


class Solver(object):
    def __init__(self, history, comps, reason_fn):
        self.history = history
        self.comps = comps
        self._reason_fn = reason_fn

    @staticmethod
    def _mandatory_group_set(env):
        return {grp.id for grp in env.mandatory_groups}

    @staticmethod
    def _full_package_set(grp):
        return {pkg.getName() for pkg in grp.mandatory_packages +
                grp.default_packages + grp.optional_packages +
                grp.conditional_packages}

    @staticmethod
    def _pkgs_of_type(group, pkg_types, exclude=[]):
        def filter(pkgs):
            return [pkg for pkg in pkgs
                    if pkg.name not in exclude]

        pkgs = set()
        if pkg_types & MANDATORY:
            pkgs.update(filter(group.mandatory_packages))
        if pkg_types & DEFAULT:
            pkgs.update(filter(group.default_packages))
        if pkg_types & OPTIONAL:
            pkgs.update(filter(group.optional_packages))
        if pkg_types & CONDITIONAL:
            pkgs.update(filter(group.conditional_packages))
        return pkgs

    def _removable_pkg(self, pkg_name):
        assert dnf.util.is_string_type(pkg_name)
        return self.history.group.is_removable_pkg(pkg_name)

    def _removable_grp(self, group_id):
        assert dnf.util.is_string_type(group_id)
        return self.history.env.is_removable_group(group_id)

    def _environment_install(self, env_id, pkg_types, exclude=None, strict=True, exclude_groups=None):
        assert dnf.util.is_string_type(env_id)
        comps_env = self.comps._environment_by_id(env_id)
        if not comps_env:
            raise CompsError(_("Environment id '%s' does not exist.") % ucd(env_id))

        swdb_env = self.history.env.new(env_id, comps_env.name, comps_env.ui_name, pkg_types)
        self.history.env.install(swdb_env)

        trans = TransactionBunch()
        for comps_group in comps_env.mandatory_groups:
            if exclude_groups and comps_group.id in exclude_groups:
                continue
            trans += self._group_install(comps_group.id, pkg_types, exclude, strict)
            swdb_env.addGroup(comps_group.id, True, MANDATORY)

        for comps_group in comps_env.optional_groups:
            if exclude_groups and comps_group.id in exclude_groups:
                continue
            swdb_env.addGroup(comps_group.id, False, OPTIONAL)
            # TODO: if a group is already installed, mark it as installed?
        return trans

    def _environment_remove(self, env_id):
        assert dnf.util.is_string_type(env_id) is True
        swdb_env = self.history.env.get(env_id)
        if not swdb_env:
            raise CompsError(_("Environment id '%s' is not installed.") % env_id)

        self.history.env.remove(swdb_env)

        trans = TransactionBunch()
        group_ids = set([i.getGroupId() for i in swdb_env.getGroups()])
        for group_id in group_ids:
            if not self._removable_grp(group_id):
                continue
            trans += self._group_remove(group_id)
        return trans

    def _environment_upgrade(self, env_id):
        assert dnf.util.is_string_type(env_id)
        comps_env = self.comps._environment_by_id(env_id)
        swdb_env = self.history.env.get(env_id)
        if not swdb_env:
            raise CompsError(_("Environment '%s' is not installed.") % env_id)
        if not comps_env:
            raise CompsError(_("Environment '%s' is not available.") % env_id)

        old_set = set([i.getGroupId() for i in swdb_env.getGroups()])
        pkg_types = swdb_env.getPackageTypes()

        # create a new record for current transaction
        swdb_env = self.history.env.new(comps_env.id, comps_env.name, comps_env.ui_name, pkg_types)

        trans = TransactionBunch()
        for comps_group in comps_env.mandatory_groups:
            if comps_group.id in old_set:
                if self.history.group.get(comps_group.id):
                    # upgrade installed group
                    trans += self._group_upgrade(comps_group.id)
            else:
                # install new group
                trans += self._group_install(comps_group.id, pkg_types)
            swdb_env.addGroup(comps_group.id, True, MANDATORY)

        for comps_group in comps_env.optional_groups:
            if comps_group.id in old_set and self.history.group.get(comps_group.id):
                # upgrade installed group
                trans += self._group_upgrade(comps_group.id)
            swdb_env.addGroup(comps_group.id, False, OPTIONAL)
            # TODO: if a group is already installed, mark it as installed?
        self.history.env.upgrade(swdb_env)
        return trans

    def _group_install(self, group_id, pkg_types, exclude=None, strict=True, exclude_groups=None):
        assert dnf.util.is_string_type(group_id)
        comps_group = self.comps._group_by_id(group_id)
        if not comps_group:
            raise CompsError(_("Group id '%s' does not exist.") % ucd(group_id))

        swdb_group = self.history.group.new(group_id, comps_group.name, comps_group.ui_name, pkg_types)
        for i in comps_group.packages_iter():
            swdb_group.addPackage(i.name, False, Package._OPT_MAP[i.type])
        self.history.group.install(swdb_group)

        trans = TransactionBunch()
        # TODO: remove exclude
        if strict:
            trans.install.update(self._pkgs_of_type(comps_group, pkg_types, exclude=[]))
        else:
            trans.install_opt.update(self._pkgs_of_type(comps_group, pkg_types, exclude=[]))
        return trans

    def _group_remove(self, group_id):
        assert dnf.util.is_string_type(group_id)
        swdb_group = self.history.group.get(group_id)
        if not swdb_group:
            raise CompsError(_("Module or Group '%s' is not installed.") % group_id)
        self.history.group.remove(swdb_group)
        trans = TransactionBunch()
        trans.remove = {pkg for pkg in swdb_group.getPackages() if self._removable_pkg(pkg.getName())}
        return trans

    def _group_upgrade(self, group_id):
        assert dnf.util.is_string_type(group_id)
        comps_group = self.comps._group_by_id(group_id)
        swdb_group = self.history.group.get(group_id)
        exclude = []

        if not swdb_group:
            argument = comps_group.ui_name if comps_group else group_id
            raise CompsError(_("Module or Group '%s' is not installed.") % argument)
        if not comps_group:
            raise CompsError(_("Module or Group '%s' is not available.") % group_id)
        pkg_types = swdb_group.getPackageTypes()
        old_set = set([i.getName() for i in swdb_group.getPackages()])
        new_set = self._pkgs_of_type(comps_group, pkg_types, exclude)

        # create a new record for current transaction
        swdb_group = self.history.group.new(group_id, comps_group.name, comps_group.ui_name, pkg_types)
        for i in comps_group.packages_iter():
            swdb_group.addPackage(i.name, False, Package._OPT_MAP[i.type])
        self.history.group.upgrade(swdb_group)

        trans = TransactionBunch()
        trans.install = {pkg for pkg in new_set if pkg.name not in old_set}
        trans.remove = {name for name in old_set
                        if name not in [pkg.name for pkg in new_set]}
        trans.upgrade = {pkg for pkg in new_set if pkg.name in old_set}
        return trans

    def _exclude_packages_from_installed_groups(self, base):
        for group in self.persistor.groups:
            p_grp = self.persistor.group(group)
            if p_grp.installed:
                installed_pkg_names = \
                    set(p_grp.full_list) - set(p_grp.pkg_exclude)
                installed_pkgs = base.sack.query().installed().filterm(name=installed_pkg_names)
                for pkg in installed_pkgs:
                    base._goal.install(pkg)
PK"�FZ]�'�TTmatch_counter.pynu�[���# match_counter.py
# Implements class MatchCounter.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals
from functools import reduce

WEIGHTS = {
    'name'		: 7,
    'summary'		: 4,
    'description'	: 2,
    'url'		: 1,
    }


def _canonize_string_set(sset, length):
    """ Ordered sset with empty strings prepended. """
    current = len(sset)
    l = [''] * (length - current) + sorted(sset)
    return l


class MatchCounter(dict):
    """Map packages to which of their attributes matched in a search against
    what values.

    The mapping is: ``package -> [(key, needle), ... ]``.

    """

    @staticmethod
    def _eval_weights(pkg, matches):
        # how much is each match worth and return their sum:
        def weight(match):
            key = match[0]
            needle = match[1]
            haystack = getattr(pkg, key)
            if key == "name" and haystack == needle:
                # if package matches exactly by name, increase weight
                return 2 * WEIGHTS[key]
            return WEIGHTS[key]

        return sum(map(weight, matches))

    def _key_func(self):
        """Get the key function used for sorting matches.

        It is not enough to only look at the matches and order them by the sum
        of their weighted hits. In case this number is the same we have to
        ensure that the same matched needles are next to each other in the
        result.

        Returned function is:
        pkg -> (weights_sum, canonized_needles_set, -distance)

        """
        def get_key(pkg):
            return (
                # use negative value to make sure packages with the highest weight come first
                - self._eval_weights(pkg, self[pkg]),
                # then order packages alphabetically
                pkg.name,
            )
        return get_key

    def _max_needles(self):
        """Return the max count of needles of all packages."""
        if self:
            return max(len(self.matched_needles(pkg)) for pkg in self)
        return 0

    def add(self, pkg, key, needle):
        self.setdefault(pkg, []).append((key, needle))

    def dump(self):
        for pkg in self:
            print('%s\t%s' % (pkg, self[pkg]))

    def matched_haystacks(self, pkg):
        return set(getattr(pkg, m[0]) for m in self[pkg])

    def matched_keys(self, pkg):
        # return keys in the same order they appear in the list
        result = []
        for i in self[pkg]:
            if i[0] in result:
                continue
            result.append(i[0])
        return result

    def matched_needles(self, pkg):
        return set(m[1] for m in self[pkg])

    def sorted(self, reverse=False, limit_to=None):
        keys = limit_to if limit_to else self.keys()
        return sorted(keys, key=self._key_func())

    def total(self):
        return reduce(lambda total, pkg: total + len(self[pkg]), self, 0)
PK"�FZ�!e�LQLQrepo.pynu�[���# repo.py
# DNF Repository objects.
#
# Copyright (C) 2013-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

from dnf.i18n import ucd, _

import dnf.callback
import dnf.conf
import dnf.conf.substitutions
import dnf.const
import dnf.crypto
import dnf.exceptions
import dnf.logging
import dnf.pycomp
import dnf.util
import dnf.yum.misc
import libdnf.error
import libdnf.repo
import functools
import hashlib
import hawkey
import logging
import operator
import os
import re
import shutil
import string
import sys
import time
import traceback

_PACKAGES_RELATIVE_DIR = "packages"
_MIRRORLIST_FILENAME = "mirrorlist"
# Chars allowed in a repo ID
_REPOID_CHARS = string.ascii_letters + string.digits + '-_.:'
# Regex pattern that matches a repo cachedir and captures the repo ID
_CACHEDIR_RE = r'(?P<repoid>[%s]+)\-[%s]{16}' % (re.escape(_REPOID_CHARS),
                                                 string.hexdigits)

# Regex patterns matching any filename that is repo-specific cache data of a
# particular type.  The filename is expected to not contain the base cachedir
# path components.
CACHE_FILES = {
    'metadata': r'^%s\/.*((xml|yaml)(\.gz|\.xz|\.bz2|.zck)?|asc|cachecookie|%s)$' %
                (_CACHEDIR_RE, _MIRRORLIST_FILENAME),
    'packages': r'^%s\/%s\/.+rpm$' % (_CACHEDIR_RE, _PACKAGES_RELATIVE_DIR),
    'dbcache': r'^.+(solv|solvx)$',
}

logger = logging.getLogger("dnf")


def repo_id_invalid(repo_id):
    # :api
    """Return index of an invalid character in the repo ID (if present)."""
    first_invalid = libdnf.repo.Repo.verifyId(repo_id)
    return None if first_invalid < 0 else first_invalid


def _pkg2payload(pkg, progress, *factories):
    for fn in factories:
        pload = fn(pkg, progress)
        if pload is not None:
            return pload
    raise ValueError(_('no matching payload factory for %s') % pkg)


def _download_payloads(payloads, drpm, fail_fast=True):
    # download packages
    def _download_sort_key(payload):
        return not hasattr(payload, 'delta')

    drpm.err.clear()
    targets = [pload._librepo_target()
               for pload in sorted(payloads, key=_download_sort_key)]
    errs = _DownloadErrors()
    try:
        libdnf.repo.PackageTarget.downloadPackages(libdnf.repo.VectorPPackageTarget(targets), fail_fast)
    except RuntimeError as e:
        errs._fatal = str(e)
    drpm.wait()

    # process downloading errors
    errs._recoverable = drpm.err.copy()
    for tgt in targets:
        err = tgt.getErr()
        if err is None or err.startswith('Not finished'):
            continue
        callbacks = tgt.getCallbacks()
        payload = callbacks.package_pload
        pkg = payload.pkg
        if err == 'Already downloaded':
            errs._skipped.add(pkg)
            continue
        pkg.repo._repo.expire()
        errs._pkg_irrecoverable[pkg] = [err]

    return errs


def _update_saving(saving, payloads, errs):
    real, full = saving
    for pload in payloads:
        pkg = pload.pkg
        if pkg in errs:
            real += pload.download_size
            continue
        real += pload.download_size
        full += pload._full_size
    return real, full


class _DownloadErrors(object):
    def __init__(self):
        self._pkg_irrecoverable = {}
        self._val_recoverable = {}
        self._fatal = None
        self._skipped = set()

    def _irrecoverable(self):
        if self._pkg_irrecoverable:
            return self._pkg_irrecoverable
        if self._fatal:
            return {'': [self._fatal]}
        return {}

    @property
    def _recoverable(self):
        return self._val_recoverable

    @_recoverable.setter
    def _recoverable(self, new_dct):
        self._val_recoverable = new_dct

    def _bandwidth_used(self, pload):
        if pload.pkg in self._skipped:
            return 0
        return pload.download_size


class _DetailedLibrepoError(Exception):
    def __init__(self, librepo_err, source_url):
        Exception.__init__(self)
        self.librepo_code = librepo_err.args[0]
        self.librepo_msg = librepo_err.args[1]
        self.source_url = source_url


class _NullKeyImport(dnf.callback.KeyImport):
    def _confirm(self, id, userid, fingerprint, url, timestamp):
        return True


class Metadata(object):
    def __init__(self, repo):
        self._repo = repo

    @property
    def fresh(self):
        # :api
        return self._repo.fresh()


class PackageTargetCallbacks(libdnf.repo.PackageTargetCB):
    def __init__(self, package_pload):
        super(PackageTargetCallbacks, self).__init__()
        self.package_pload = package_pload

    def end(self, status, msg):
        self.package_pload._end_cb(None, status, msg)
        return 0

    def progress(self, totalToDownload, downloaded):
        self.package_pload._progress_cb(None, totalToDownload, downloaded)
        return 0

    def mirrorFailure(self, msg, url):
        self.package_pload._mirrorfail_cb(None, msg, url)
        return 0


class PackagePayload(dnf.callback.Payload):
    def __init__(self, pkg, progress):
        super(PackagePayload, self).__init__(progress)
        self.callbacks = PackageTargetCallbacks(self)
        self.pkg = pkg

    def _end_cb(self, cbdata, lr_status, msg):
        """End callback to librepo operation."""
        status = dnf.callback.STATUS_FAILED
        if msg is None:
            status = dnf.callback.STATUS_OK
        elif msg.startswith('Not finished'):
            return
        elif lr_status == libdnf.repo.PackageTargetCB.TransferStatus_ALREADYEXISTS:
            status = dnf.callback.STATUS_ALREADY_EXISTS

        self.progress.end(self, status, msg)

    def _mirrorfail_cb(self, cbdata, err, url):
        self.progress.end(self, dnf.callback.STATUS_MIRROR, err)

    def _progress_cb(self, cbdata, total, done):
        try:
            self.progress.progress(self, done)
        except Exception:
            exc_type, exc_value, exc_traceback = sys.exc_info()
            except_list = traceback.format_exception(exc_type, exc_value, exc_traceback)
            logger.critical(''.join(except_list))

    @property
    def _full_size(self):
        return self.download_size

    def _librepo_target(self):
        pkg = self.pkg
        pkgdir = pkg.pkgdir
        dnf.util.ensure_dir(pkgdir)

        target_dct = {
            'dest': pkgdir,
            'resume': True,
            'cbdata': self,
            'progresscb': self._progress_cb,
            'endcb': self._end_cb,
            'mirrorfailurecb': self._mirrorfail_cb,
        }
        target_dct.update(self._target_params())

        return libdnf.repo.PackageTarget(
            pkg.repo._repo,
            target_dct['relative_url'],
            target_dct['dest'], target_dct['checksum_type'], target_dct['checksum'],
            target_dct['expectedsize'], target_dct['base_url'], target_dct['resume'],
            0, 0, self.callbacks)


class RPMPayload(PackagePayload):

    def __str__(self):
        return os.path.basename(self.pkg.location)

    def _target_params(self):
        pkg = self.pkg
        ctype, csum = pkg.returnIdSum()
        ctype_code = libdnf.repo.PackageTarget.checksumType(ctype)
        if ctype_code == libdnf.repo.PackageTarget.ChecksumType_UNKNOWN:
            logger.warning(_("unsupported checksum type: %s"), ctype)

        return {
            'relative_url': pkg.location,
            'checksum_type': ctype_code,
            'checksum': csum,
            'expectedsize': pkg.downloadsize,
            'base_url': pkg.baseurl,
        }

    @property
    def download_size(self):
        """Total size of the download."""
        return self.pkg.downloadsize


class RemoteRPMPayload(PackagePayload):

    def __init__(self, remote_location, conf, progress):
        super(RemoteRPMPayload, self).__init__("unused_object", progress)
        self.remote_location = remote_location
        self.remote_size = 0
        self.conf = conf
        s = (self.conf.releasever or "") + self.conf.substitutions.get('basearch')
        digest = hashlib.sha256(s.encode('utf8')).hexdigest()[:16]
        repodir = "commandline-" + digest
        self.pkgdir = os.path.join(self.conf.cachedir, repodir, "packages")
        dnf.util.ensure_dir(self.pkgdir)
        self.local_path = os.path.join(self.pkgdir, self.__str__().lstrip("/"))

    def __str__(self):
        return os.path.basename(self.remote_location)

    def _progress_cb(self, cbdata, total, done):
        self.remote_size = total
        try:
            self.progress.progress(self, done)
        except Exception:
            exc_type, exc_value, exc_traceback = sys.exc_info()
            except_list = traceback.format_exception(exc_type, exc_value, exc_traceback)
            logger.critical(''.join(except_list))

    def _librepo_target(self):
        return libdnf.repo.PackageTarget(
            self.conf._config, os.path.basename(self.remote_location),
            self.pkgdir, 0, None, 0, os.path.dirname(self.remote_location),
            True, 0, 0, self.callbacks)

    @property
    def download_size(self):
        """Total size of the download."""
        return self.remote_size


class MDPayload(dnf.callback.Payload):

    def __init__(self, progress):
        super(MDPayload, self).__init__(progress)
        self._text = ""
        self._download_size = 0
        self.fastest_mirror_running = False
        self.mirror_failures = set()

    def __str__(self):
        if dnf.pycomp.PY3:
            return self._text
        else:
            return self._text.encode('utf-8')

    def __unicode__(self):
        return self._text

    def _progress_cb(self, cbdata, total, done):
        self._download_size = total
        self.progress.progress(self, done)

    def _fastestmirror_cb(self, cbdata, stage, data):
        if stage == libdnf.repo.RepoCB.FastestMirrorStage_DETECTION:
            # pinging mirrors, this might take a while
            msg = _('determining the fastest mirror (%s hosts).. ') % data
            self.fastest_mirror_running = True
        elif stage == libdnf.repo.RepoCB.FastestMirrorStage_STATUS and self.fastest_mirror_running:
            # done.. report but ignore any errors
            msg = 'error: %s\n' % data if data else 'done.\n'
        else:
            return
        self.progress.message(msg)

    def _mirror_failure_cb(self, cbdata, msg, url, metadata):
        self.mirror_failures.add(msg)
        msg = 'error: %s (%s).' % (msg, url)
        logger.debug(msg)

    @property
    def download_size(self):
        return self._download_size

    @property
    def progress(self):
        return self._progress

    @progress.setter
    def progress(self, progress):
        if progress is None:
            progress = dnf.callback.NullDownloadProgress()
        self._progress = progress

    def start(self, text):
        self._text = text
        self.progress.start(1, 0)

    def end(self):
        self._download_size = 0
        self.progress.end(self, None, None)


# use the local cache even if it's expired. download if there's no cache.
SYNC_LAZY = libdnf.repo.Repo.SyncStrategy_LAZY
# use the local cache, even if it's expired, never download.
SYNC_ONLY_CACHE = libdnf.repo.Repo.SyncStrategy_ONLY_CACHE
# try the cache, if it is expired download new md.
SYNC_TRY_CACHE = libdnf.repo.Repo.SyncStrategy_TRY_CACHE


class RepoCallbacks(libdnf.repo.RepoCB):
    def __init__(self, repo):
        super(RepoCallbacks, self).__init__()
        self._repo = repo
        self._md_pload = repo._md_pload

    def start(self, what):
        self._md_pload.start(what)

    def end(self):
        self._md_pload.end()

    def progress(self, totalToDownload, downloaded):
        self._md_pload._progress_cb(None, totalToDownload, downloaded)
        return 0

    def fastestMirror(self, stage, ptr):
        self._md_pload._fastestmirror_cb(None, stage, ptr)

    def handleMirrorFailure(self, msg, url, metadata):
        self._md_pload._mirror_failure_cb(None, msg, url, metadata)
        return 0

    def repokeyImport(self, id, userid, fingerprint, url, timestamp):
        return self._repo._key_import._confirm(id, userid, fingerprint, url, timestamp)


class Repo(dnf.conf.RepoConf):
    # :api
    DEFAULT_SYNC = SYNC_TRY_CACHE

    def __init__(self, name=None, parent_conf=None):
        # :api
        super(Repo, self).__init__(section=name, parent=parent_conf)

        self._config.this.disown()  # _repo will be the owner of _config
        self._repo = libdnf.repo.Repo(name if name else "", self._config)

        self._md_pload = MDPayload(dnf.callback.NullDownloadProgress())
        self._callbacks = RepoCallbacks(self)
        self._callbacks.this.disown()  # _repo will be the owner of callbacks
        self._repo.setCallbacks(self._callbacks)

        self._pkgdir = None
        self._key_import = _NullKeyImport()
        self.metadata = None  # :api
        self._repo.setSyncStrategy(SYNC_ONLY_CACHE if parent_conf and parent_conf.cacheonly else self.DEFAULT_SYNC)
        if parent_conf:
            self._repo.setSubstitutions(parent_conf.substitutions)
        self._substitutions = dnf.conf.substitutions.Substitutions()
        self._check_config_file_age = parent_conf.check_config_file_age \
            if parent_conf is not None else True

    @property
    def id(self):
        # :api
        return self._repo.getId()

    @property
    def repofile(self):
        # :api
        return self._repo.getRepoFilePath()

    @repofile.setter
    def repofile(self, value):
        self._repo.setRepoFilePath(value)

    @property
    def pkgdir(self):
        # :api
        if self._repo.isLocal():
            return self._repo.getLocalBaseurl()
        return self.cache_pkgdir()

    def cache_pkgdir(self):
        if self._pkgdir is not None:
            return self._pkgdir
        return os.path.join(self._repo.getCachedir(), _PACKAGES_RELATIVE_DIR)

    @pkgdir.setter
    def pkgdir(self, val):
        # :api
        self._pkgdir = val

    @property
    def _pubring_dir(self):
        return os.path.join(self._repo.getCachedir(), 'pubring')

    @property
    def load_metadata_other(self):
        return self._repo.getLoadMetadataOther()

    @load_metadata_other.setter
    def load_metadata_other(self, val):
        self._repo.setLoadMetadataOther(val)

    def __lt__(self, other):
        return self.id < other.id

    def __repr__(self):
        return "<%s %s>" % (self.__class__.__name__, self.id)

    def __setattr__(self, name, value):
        super(Repo, self).__setattr__(name, value)

    def disable(self):
        # :api
        self._repo.disable()

    def enable(self):
        # :api
        self._repo.enable()

    def add_metadata_type_to_download(self, metadata_type):
        # :api
        """Ask for additional repository metadata type to download.

        Given metadata_type is appended to the default metadata set when
        repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: add_metadata_type_to_download("productid")
        """
        self._repo.addMetadataTypeToDownload(metadata_type)

    def remove_metadata_type_from_download(self, metadata_type):
        # :api
        """Stop asking for this additional repository metadata type
        in download.

        Given metadata_type is no longer downloaded by default
        when this repository is downloaded.

        Parameters
        ----------
        metadata_type: string

        Example: remove_metadata_type_from_download("productid")
        """
        self._repo.removeMetadataTypeFromDownload(metadata_type)

    def get_metadata_path(self, metadata_type):
        # :api
        """Return path to the file with downloaded repository metadata of given type.

        Parameters
        ----------
        metadata_type: string
        """
        return self._repo.getMetadataPath(metadata_type)

    def get_metadata_content(self, metadata_type):
        # :api
        """Return content of the file with downloaded repository metadata of given type.

        Content of compressed metadata file is returned uncompressed.

        Parameters
        ----------
        metadata_type: string
        """
        return self._repo.getMetadataContent(metadata_type)

    def load(self):
        # :api
        """Load the metadata for this repo.

        Depending on the configuration and the age and consistence of data
        available on the disk cache, either loads the metadata from the cache or
        downloads them from the mirror, baseurl or metalink.

        This method will by default not try to refresh already loaded data if
        called repeatedly.

        Returns True if this call to load() caused a fresh metadata download.

        """
        ret = False
        try:
            ret = self._repo.load()
        except (libdnf.error.Error, RuntimeError) as e:
            if self._md_pload.mirror_failures:
                msg = "Errors during downloading metadata for repository '%s':" % self.id
                for failure in self._md_pload.mirror_failures:
                    msg += "\n  - %s" % failure
                logger.warning(msg)
            raise dnf.exceptions.RepoError(str(e))
        finally:
            self._md_pload.mirror_failures = set()
        self.metadata = Metadata(self._repo)
        return ret

    def _metadata_expire_in(self):
        """Get the number of seconds after which the cached metadata will expire.

        Returns a tuple, boolean whether there even is cached metadata and the
        number of seconds it will expire in. Negative number means the metadata
        has expired already, None that it never expires.

        """
        if not self.metadata:
            self._repo.loadCache(False)
        if self.metadata:
            if self.metadata_expire == -1:
                return True, None
            expiration = self._repo.getExpiresIn()
            if self._repo.isExpired():
                expiration = min(0, expiration)
            return True, expiration
        return False, 0

    def _set_key_import(self, key_import):
        self._key_import = key_import

    def set_progress_bar(self, progress):
        # :api
        self._md_pload.progress = progress

    def get_http_headers(self):
        # :api
        """Returns user defined http headers.

        Returns
        -------
        headers : tuple of strings
        """
        return self._repo.getHttpHeaders()

    def set_http_headers(self, headers):
        # :api
        """Sets http headers.

        Sets new http headers and rewrites existing ones.

        Parameters
        ----------
        headers : tuple or list of strings
            Example: set_http_headers(["User-Agent: Agent007", "MyFieldName: MyFieldValue"])
        """
        self._repo.setHttpHeaders(headers)

    def remote_location(self, location, schemes=('http', 'ftp', 'file', 'https')):
        """
        :param location: relative location inside the repo
        :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https')
        :return: absolute url (string) or None
        """
        def schemes_filter(url_list):
            for url in url_list:
                if schemes:
                    s = dnf.pycomp.urlparse.urlparse(url)[0]
                    if s in schemes:
                        return os.path.join(url, location.lstrip('/'))
                else:
                    return os.path.join(url, location.lstrip('/'))
            return None

        if not location:
            return None

        mirrors = self._repo.getMirrors()
        if mirrors:
            return schemes_filter(mirrors)
        elif self.baseurl:
            return schemes_filter(self.baseurl)
PK"�FZolcMMgoal.pynu�[���# goal.py
# Customized hawkey.Goal
#
# Copyright (C) 2014-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

from hawkey import Goal
PK"�FZo�4���sack.pynu�[���# sack.py
# The dnf.Sack class, derived from hawkey.Sack
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
import dnf.util
import dnf.package
import dnf.query
import logging
import hawkey
import os
from dnf.pycomp import basestring
from dnf.i18n import _

logger = logging.getLogger("dnf")

class Sack(hawkey.Sack):
    # :api

    def __init__(self, *args, **kwargs):
        super(Sack, self).__init__(*args, **kwargs)

    def _configure(self, installonly=None, installonly_limit=0, allow_vendor_change=None):
        if installonly:
            self.installonly = installonly
        self.installonly_limit = installonly_limit
        if allow_vendor_change is not None:
            self.allow_vendor_change = allow_vendor_change
            if allow_vendor_change is False:
                logger.warning(_("allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands"))

    def query(self, flags=0):
        # :api
        """Factory function returning a DNF Query."""
        return dnf.query.Query(self, flags)


def _build_sack(base):
    cachedir = base.conf.cachedir
    # create the dir ourselves so we have the permissions under control:
    dnf.util.ensure_dir(cachedir)
    return Sack(pkgcls=dnf.package.Package, pkginitval=base,
                arch=base.conf.substitutions["arch"],
                cachedir=cachedir, rootdir=base.conf.installroot,
                logfile=os.path.join(base.conf.logdir, dnf.const.LOG_HAWKEY),
                logdebug=base.conf.logfilelevel > 9)


def _rpmdb_sack(base):
    # used by subscription-manager (src/dnf-plugins/product-id.py)
    sack = _build_sack(base)
    try:
        # It can fail if rpmDB is not present
        sack.load_system_repo(build_cache=False)
    except IOError:
        pass
    return sack


def rpmdb_sack(base):
    # :api
    """
    Returns a new instance of sack containing only installed packages (@System repo)
    Useful to get list of the installed RPMs after transaction.
    """
    return _rpmdb_sack(base)
PK"�FZxw���
exceptions.pynu�[���# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Copyright 2004 Duke University

"""
Core DNF Errors.
"""

from __future__ import unicode_literals
from dnf.i18n import ucd, _, P_
import dnf.util
import libdnf
import warnings

class DeprecationWarning(DeprecationWarning):
    # :api
    pass


class Error(Exception):
    # :api
    """Base Error. All other Errors thrown by DNF should inherit from this.

    :api

    """
    def __init__(self, value=None):
        super(Error, self).__init__()
        self.value = None if value is None else ucd(value)

    def __str__(self):
        return "{}".format(self.value)

    def __unicode__(self):
        return ucd(self.__str__())



class CompsError(Error):
    # :api
    pass


class ConfigError(Error):
    def __init__(self, value=None, raw_error=None):
        super(ConfigError, self).__init__(value)
        self.raw_error = ucd(raw_error) if raw_error is not None else None


class DatabaseError(Error):
    pass


class DepsolveError(Error):
    # :api
    pass


class DownloadError(Error):
    # :api
    def __init__(self, errmap):
        super(DownloadError, self).__init__()
        self.errmap = errmap

    @staticmethod
    def errmap2str(errmap):
        errstrings = []
        for key in errmap:
            for error in errmap[key]:
                msg = '%s: %s' % (key, error) if key else '%s' % error
                errstrings.append(msg)
        return '\n'.join(errstrings)

    def __str__(self):
        return self.errmap2str(self.errmap)


class LockError(Error):
    pass


class MarkingError(Error):
    # :api

    def __init__(self, value=None, pkg_spec=None):
        """Initialize the marking error instance."""
        super(MarkingError, self).__init__(value)
        self.pkg_spec = None if pkg_spec is None else ucd(pkg_spec)

    def __str__(self):
        string = super(MarkingError, self).__str__()
        if self.pkg_spec:
            string += ': ' + self.pkg_spec
        return string


class MarkingErrors(Error):
    # :api
    def __init__(self, no_match_group_specs=(), error_group_specs=(), no_match_pkg_specs=(),
                 error_pkg_specs=(), module_depsolv_errors=()):
        """Initialize the marking error instance."""
        msg = _("Problems in request:")
        if (no_match_pkg_specs):
            msg += "\n" + _("missing packages: ") + ", ".join(no_match_pkg_specs)
        if (error_pkg_specs):
            msg += "\n" + _("broken packages: ") + ", ".join(error_pkg_specs)
        if (no_match_group_specs):
            msg += "\n" + _("missing groups or modules: ") + ", ".join(no_match_group_specs)
        if (error_group_specs):
            msg += "\n" + _("broken groups or modules: ") + ", ".join(error_group_specs)
        if (module_depsolv_errors):
            msg_mod = dnf.util._format_resolve_problems(module_depsolv_errors[0])
            if module_depsolv_errors[1] == \
                    libdnf.module.ModulePackageContainer.ModuleErrorType_ERROR_IN_DEFAULTS:
                msg += "\n" + "\n".join([P_('Modular dependency problem with Defaults:',
                                            'Modular dependency problems with Defaults:',
                                            len(module_depsolv_errors)),
                                        msg_mod])
            else:
                msg += "\n" + "\n".join([P_('Modular dependency problem:',
                                            'Modular dependency problems:',
                                            len(module_depsolv_errors)),
                                        msg_mod])
        super(MarkingErrors, self).__init__(msg)
        self.no_match_group_specs = no_match_group_specs
        self.error_group_specs = error_group_specs
        self.no_match_pkg_specs = no_match_pkg_specs
        self.error_pkg_specs = error_pkg_specs
        self.module_depsolv_errors = module_depsolv_errors

    @property
    def module_debsolv_errors(self):
        msg = "Attribute module_debsolv_errors is deprecated. Use module_depsolv_errors " \
              "attribute instead."
        warnings.warn(msg, DeprecationWarning, stacklevel=2)
        return self.module_depsolv_errors

class MetadataError(Error):
    pass


class MiscError(Error):
    pass


class PackagesNotAvailableError(MarkingError):
    def __init__(self, value=None, pkg_spec=None, packages=None):
        super(PackagesNotAvailableError, self).__init__(value, pkg_spec)
        self.packages = packages or []


class PackageNotFoundError(MarkingError):
    pass


class PackagesNotInstalledError(MarkingError):
    def __init__(self, value=None, pkg_spec=None, packages=None):
        super(PackagesNotInstalledError, self).__init__(value, pkg_spec)
        self.packages = packages or []


class ProcessLockError(LockError):
    def __init__(self, value, pid):
        super(ProcessLockError, self).__init__(value)
        self.pid = pid

    def __reduce__(self):
        """Pickling support."""
        return (ProcessLockError, (self.value, self.pid))


class RepoError(Error):
    # :api
    pass


class ThreadLockError(LockError):
    pass


class TransactionCheckError(Error):
    pass
PK"�FZ�9���conf/read.pynu�[���# read.py
# Reading configuration from files.
#
# Copyright (C) 2014-2017 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals
from dnf.i18n import _, ucd
import dnf.conf
import libdnf.conf
import dnf.exceptions
import dnf.repo
import glob
import logging
import os

logger = logging.getLogger('dnf')


class RepoReader(object):
    def __init__(self, conf, opts):
        self.conf = conf
        self.opts = opts

    def __iter__(self):
        # get the repos from the main yum.conf file
        for r in self._get_repos(self.conf.config_file_path):
            yield r

        # read .repo files from directories specified by conf.reposdir
        repo_configs = []
        for reposdir in self.conf.reposdir:
            for path in glob.glob(os.path.join(reposdir, "*.repo")):
                repo_configs.append(path)

        # remove .conf suffix before calling the sort function
        # also split the path so the separators are not treated as ordinary characters
        repo_configs.sort(key=lambda x: dnf.util.split_path(x[:-5]))

        for repofn in repo_configs:
            try:
                for r in self._get_repos(repofn):
                    yield r
            except dnf.exceptions.ConfigError:
                logger.warning(_("Warning: failed loading '%s', skipping."),
                               repofn)

    def _build_repo(self, parser, id_, repofn):
        """Build a repository using the parsed data."""

        substituted_id = libdnf.conf.ConfigParser.substitute(id_, self.conf.substitutions)

        # Check the repo.id against the valid chars
        invalid = dnf.repo.repo_id_invalid(substituted_id)
        if invalid is not None:
            if substituted_id != id_:
                msg = _("Bad id for repo: {} ({}), byte = {} {}").format(substituted_id, id_,
                                                                         substituted_id[invalid],
                                                                         invalid)
            else:
                msg = _("Bad id for repo: {}, byte = {} {}").format(id_, id_[invalid], invalid)
            raise dnf.exceptions.ConfigError(msg)

        repo = dnf.repo.Repo(substituted_id, self.conf)
        try:
            repo._populate(parser, id_, repofn, dnf.conf.PRIO_REPOCONFIG)
        except ValueError as e:
            if substituted_id != id_:
                msg = _("Repository '{}' ({}): Error parsing config: {}").format(substituted_id,
                                                                                 id_, e)
            else:
                msg = _("Repository '{}': Error parsing config: {}").format(id_, e)
            raise dnf.exceptions.ConfigError(msg)

        # Ensure that the repo name is set
        if repo._get_priority('name') == dnf.conf.PRIO_DEFAULT:
            if substituted_id != id_:
                msg = _("Repository '{}' ({}) is missing name in configuration, using id.").format(
                    substituted_id, id_)
            else:
                msg = _("Repository '{}' is missing name in configuration, using id.").format(id_)
            logger.warning(msg)
        repo.name = ucd(repo.name)
        repo._substitutions.update(self.conf.substitutions)
        repo.cfg = parser

        return repo

    def _get_repos(self, repofn):
        """Parse and yield all repositories from a config file."""

        substs = self.conf.substitutions
        parser = libdnf.conf.ConfigParser()
        parser.setSubstitutions(substs)
        try:
            parser.read(repofn)
        except RuntimeError as e:
            raise dnf.exceptions.ConfigError(_('Parsing file "{}" failed: {}').format(repofn, e))
        except IOError as e:
            logger.warning(e)

        # Check sections in the .repo file that was just slurped up
        for section in parser.getData():

            if section == 'main':
                continue

            try:
                thisrepo = self._build_repo(parser, ucd(section), repofn)
            except (dnf.exceptions.RepoError, dnf.exceptions.ConfigError) as e:
                logger.warning(e)
                continue
            else:
                thisrepo.repofile = repofn

            thisrepo._configure_from_options(self.opts)

            yield thisrepo
PK"�FZ���E�O�Oconf/config.pynu�[���# dnf configuration classes.
#
# Copyright (C) 2016-2017 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

from dnf.yum import misc
from dnf.i18n import ucd, _
from dnf.pycomp import basestring, urlparse

import fnmatch
import dnf.conf.substitutions
import dnf.const
import dnf.exceptions
import dnf.pycomp
import dnf.util
import hawkey
import logging
import os
import libdnf.conf
import libdnf.repo
import tempfile

PRIO_EMPTY = libdnf.conf.Option.Priority_EMPTY
PRIO_DEFAULT = libdnf.conf.Option.Priority_DEFAULT
PRIO_MAINCONFIG = libdnf.conf.Option.Priority_MAINCONFIG
PRIO_AUTOMATICCONFIG = libdnf.conf.Option.Priority_AUTOMATICCONFIG
PRIO_REPOCONFIG = libdnf.conf.Option.Priority_REPOCONFIG
PRIO_PLUGINDEFAULT = libdnf.conf.Option.Priority_PLUGINDEFAULT
PRIO_PLUGINCONFIG = libdnf.conf.Option.Priority_PLUGINCONFIG
PRIO_COMMANDLINE = libdnf.conf.Option.Priority_COMMANDLINE
PRIO_RUNTIME = libdnf.conf.Option.Priority_RUNTIME

logger = logging.getLogger('dnf')


class BaseConfig(object):
    """Base class for storing configuration definitions.

       Subclass when creating your own definitions.

    """

    def __init__(self, config=None, section=None, parser=None):
        self.__dict__["_config"] = config
        self._section = section

    def __getattr__(self, name):
        if "_config" not in self.__dict__:
            raise AttributeError("'{}' object has no attribute '{}'".format(self.__class__, name))
        option = getattr(self._config, name)
        if option is None:
            return None
        try:
            value = option().getValue()
        except Exception as ex:
            return None
        if isinstance(value, str):
            return ucd(value)
        return value

    def __setattr__(self, name, value):
        option = getattr(self._config, name, None)
        if option is None:
            # unknown config option, store to BaseConfig only
            return super(BaseConfig, self).__setattr__(name, value)
        self._set_value(name, value, PRIO_RUNTIME)

    def __str__(self):
        out = []
        out.append('[%s]' % self._section)
        if self._config:
            for optBind in self._config.optBinds():
                try:
                    value = optBind.second.getValueString()
                except RuntimeError:
                    value = ""
                out.append('%s: %s' % (optBind.first, value))
        return '\n'.join(out)

    def _has_option(self, name):
        method = getattr(self._config, name, None)
        return method is not None

    def _get_value(self, name):
        method = getattr(self._config, name, None)
        if method is None:
            return None
        return method().getValue()

    def _get_priority(self, name):
        method = getattr(self._config, name, None)
        if method is None:
            return None
        return method().getPriority()

    def _set_value(self, name, value, priority=PRIO_RUNTIME):
        """Set option's value if priority is equal or higher
           than current priority."""
        method = getattr(self._config, name, None)
        if method is None:
            raise Exception("Option \"" + name + "\" does not exists")
        option = method()
        if value is None:
            try:
                option.set(priority, value)
            except Exception:
                pass
        else:
            try:
                if isinstance(value, list) or isinstance(value, tuple):
                    option.set(priority, libdnf.conf.VectorString(value))
                elif (isinstance(option, libdnf.conf.OptionBool)
                      or isinstance(option, libdnf.conf.OptionChildBool)
                      ) and isinstance(value, int):
                    option.set(priority, bool(value))
                else:
                    option.set(priority, value)
            except RuntimeError as e:
                raise dnf.exceptions.ConfigError(_("Error parsing '%s': %s")
                                                 % (value, str(e)),
                                                 raw_error=str(e))

    def _populate(self, parser, section, filename, priority=PRIO_DEFAULT):
        """Set option values from an INI file section."""
        if parser.hasSection(section):
            for name in parser.options(section):
                value = parser.getSubstitutedValue(section, name)
                if not value or value == 'None':
                    value = ''
                if hasattr(self._config, name):
                    try:
                        self._config.optBinds().at(name).newString(priority, value)
                    except RuntimeError as e:
                        logger.error(_('Invalid configuration value: %s=%s in %s; %s'),
                                     ucd(name), ucd(value), ucd(filename), str(e))
                else:
                    if name == 'arch' and hasattr(self, name):
                        setattr(self, name, value)
                    else:
                        logger.debug(
                            _('Unknown configuration option: %s = %s in %s'),
                            ucd(name), ucd(value), ucd(filename))

    def dump(self):
        # :api
        """Return a string representing the values of all the
           configuration options.
        """
        output = ['[%s]' % self._section]

        if self._config:
            for optBind in self._config.optBinds():
                # if not opt._is_runtimeonly():
                try:
                    output.append('%s = %s' % (optBind.first, optBind.second.getValueString()))
                except RuntimeError:
                    pass

        return '\n'.join(output) + '\n'

    @staticmethod
    def write_raw_configfile(filename, section_id, substitutions, modify):
        # :api
        """
        filename   - name of config file (.conf or .repo)
        section_id - id of modified section (e.g. main, fedora, updates)
        substitutions - instance of base.conf.substitutions
        modify     - dict of modified options
        """
        parser = libdnf.conf.ConfigParser()
        parser.read(filename)

        # b/c repoids can have $values in them we need to map both ways to figure
        # out which one is which
        if not parser.hasSection(section_id):
            for sect in parser.getData():
                if libdnf.conf.ConfigParser.substitute(sect, substitutions) == section_id:
                    section_id = sect

        for name, value in modify.items():
            if isinstance(value, list):
                value = ' '.join(value)
            parser.setValue(section_id, name, value)

        parser.write(filename, False)


class MainConf(BaseConfig):
    # :api
    """Configuration option definitions for dnf.conf's [main] section."""
    def __init__(self, section='main', parser=None):
        # pylint: disable=R0915
        config = libdnf.conf.ConfigMain()
        super(MainConf, self).__init__(config, section, parser)
        self._set_value('pluginpath', [dnf.const.PLUGINPATH], PRIO_DEFAULT)
        self._set_value('pluginconfpath', [dnf.const.PLUGINCONFPATH], PRIO_DEFAULT)
        self.substitutions = dnf.conf.substitutions.Substitutions()
        self.arch = hawkey.detect_arch()
        self._config.system_cachedir().set(PRIO_DEFAULT, dnf.const.SYSTEM_CACHEDIR)

        # setup different cache and log for non-privileged users
        if dnf.util.am_i_root():
            cachedir = dnf.const.SYSTEM_CACHEDIR
            logdir = '/var/log'
        else:
            try:
                cachedir = logdir = misc.getCacheDir()
            except (IOError, OSError) as e:
                msg = _('Could not set cachedir: {}').format(ucd(e))
                raise dnf.exceptions.Error(msg)

        self._config.cachedir().set(PRIO_DEFAULT, cachedir)
        self._config.logdir().set(PRIO_DEFAULT, logdir)

        # track list of temporary files created
        self.tempfiles = []

    def __del__(self):
        for file_name in self.tempfiles:
            os.unlink(file_name)

    @property
    def get_reposdir(self):
        # :api
        """Returns the value of reposdir"""
        myrepodir = None
        # put repo file into first reposdir which exists or create it
        for rdir in self._get_value('reposdir'):
            if os.path.exists(rdir):
                myrepodir = rdir
                break

        if not myrepodir:
            myrepodir = self._get_value('reposdir')[0]
            dnf.util.ensure_dir(myrepodir)
        return myrepodir

    def _check_remote_file(self, optname):
        """
        In case the option value is a remote URL, download it to the temporary location
        and use this temporary file instead.
        """
        prio = self._get_priority(optname)
        val = self._get_value(optname)
        if isinstance(val, basestring):
            location = urlparse.urlparse(val)
            if location[0] in ('file', ''):
                # just strip the file:// prefix
                self._set_value(optname, location.path, prio)
            else:
                downloader = libdnf.repo.Downloader()
                temp_fd, temp_path = tempfile.mkstemp(prefix='dnf-downloaded-config-')
                self.tempfiles.append(temp_path)
                try:
                    downloader.downloadURL(None, val, temp_fd)
                except RuntimeError as e:
                    raise dnf.exceptions.ConfigError(
                        _('Configuration file URL "{}" could not be downloaded:\n'
                          '  {}').format(val, str(e)))
                else:
                    self._set_value(optname, temp_path, prio)
                finally:
                    os.close(temp_fd)

    def _search_inside_installroot(self, optname):
        """
        Return root used as prefix for option (installroot or "/"). When specified from commandline
        it returns value from conf.installroot
        """
        installroot = self._get_value('installroot')
        if installroot == "/":
            return installroot
        prio = self._get_priority(optname)
        # don't modify paths specified on commandline
        if prio >= PRIO_COMMANDLINE:
            return installroot
        val = self._get_value(optname)
        # if it exists inside installroot use it (i.e. adjust configuration)
        # for lists any component counts
        if not isinstance(val, str):
            if any(os.path.exists(os.path.join(installroot, p.lstrip('/'))) for p in val):
                self._set_value(
                    optname,
                    libdnf.conf.VectorString([self._prepend_installroot_path(p) for p in val]),
                    prio
                )
                return installroot
        elif os.path.exists(os.path.join(installroot, val.lstrip('/'))):
            self._set_value(optname, self._prepend_installroot_path(val), prio)
            return installroot
        return "/"

    def prepend_installroot(self, optname):
        # :api
        prio = self._get_priority(optname)
        new_path = self._prepend_installroot_path(self._get_value(optname))
        self._set_value(optname, new_path, prio)

    def _prepend_installroot_path(self, path):
        root_path = os.path.join(self._get_value('installroot'), path.lstrip('/'))
        return libdnf.conf.ConfigParser.substitute(root_path, self.substitutions)

    def _configure_from_options(self, opts):
        """Configure parts of CLI from the opts """
        config_args = ['plugins', 'version', 'config_file_path',
                       'debuglevel', 'errorlevel', 'installroot',
                       'best', 'assumeyes', 'assumeno', 'clean_requirements_on_remove', 'gpgcheck',
                       'showdupesfromrepos', 'plugins', 'ip_resolve',
                       'rpmverbosity', 'disable_excludes', 'color',
                       'downloadonly', 'exclude', 'excludepkgs', 'skip_broken',
                       'tsflags', 'arch', 'basearch', 'ignorearch', 'cacheonly', 'comment']

        for name in config_args:
            value = getattr(opts, name, None)
            if value is not None and value != []:
                if self._has_option(name):
                    appendValue = False
                    if self._config:
                        try:
                            appendValue = self._config.optBinds().at(name).getAddValue()
                        except RuntimeError:
                            # fails if option with "name" does not exist in _config (libdnf)
                            pass
                    if appendValue:
                        add_priority = dnf.conf.PRIO_COMMANDLINE
                        if add_priority < self._get_priority(name):
                            add_priority = self._get_priority(name)
                        for item in value:
                            if item:
                                self._set_value(name, self._get_value(name) + [item], add_priority)
                            else:
                                self._set_value(name, [], dnf.conf.PRIO_COMMANDLINE)
                    else:
                        self._set_value(name, value, dnf.conf.PRIO_COMMANDLINE)
                elif hasattr(self, name):
                    setattr(self, name, value)
                else:
                    logger.warning(_('Unknown configuration option: %s = %s'),
                                   ucd(name), ucd(value))

        if getattr(opts, 'gpgcheck', None) is False:
            self._set_value("localpkg_gpgcheck", False, dnf.conf.PRIO_COMMANDLINE)

        if hasattr(opts, 'main_setopts'):
            # now set all the non-first-start opts from main from our setopts
            # pylint: disable=W0212
            for name, values in opts.main_setopts.items():
                for val in values:
                    if hasattr(self._config, name):
                        try:
                            # values in main_setopts are strings, try to parse it using newString()
                            self._config.optBinds().at(name).newString(PRIO_COMMANDLINE, val)
                        except RuntimeError as e:
                            raise dnf.exceptions.ConfigError(
                                _("Error parsing --setopt with key '%s', value '%s': %s")
                                % (name, val, str(e)), raw_error=str(e))
                    else:
                        # if config option with "name" doesn't exist in _config, it could be defined
                        # only in Python layer
                        if hasattr(self, name):
                            setattr(self, name, val)
                        else:
                            msg = _("Main config did not have a %s attr. before setopt")
                            logger.warning(msg, name)

    def exclude_pkgs(self, pkgs):
        # :api
        name = "excludepkgs"

        if pkgs is not None and pkgs != []:
            if self._has_option(name):
                self._set_value(name, pkgs, dnf.conf.PRIO_COMMANDLINE)
            else:
                logger.warning(_('Unknown configuration option: %s = %s'),
                               ucd(name), ucd(pkgs))

    def _adjust_conf_options(self):
        """Adjust conf options interactions"""

        skip_broken_val = self._get_value('skip_broken')
        if skip_broken_val:
            self._set_value('strict', not skip_broken_val, self._get_priority('skip_broken'))

    @property
    def releasever(self):
        # :api
        return self.substitutions.get('releasever')

    @releasever.setter
    def releasever(self, val):
        # :api
        if val is None:
            self.substitutions.pop('releasever', None)
            return
        self.substitutions['releasever'] = str(val)

    @property
    def arch(self):
        # :api
        return self.substitutions.get('arch')

    @arch.setter
    def arch(self, val):
        # :api

        if val is None:
            self.substitutions.pop('arch', None)
            return
        if val not in dnf.rpm._BASEARCH_MAP.keys():
            msg = _('Incorrect or unknown "{}": {}')
            raise dnf.exceptions.Error(msg.format("arch", val))
        self.substitutions['arch'] = val
        self.basearch = dnf.rpm.basearch(val)

    @property
    def basearch(self):
        # :api
        return self.substitutions.get('basearch')

    @basearch.setter
    def basearch(self, val):
        # :api

        if val is None:
            self.substitutions.pop('basearch', None)
            return
        if val not in dnf.rpm._BASEARCH_MAP.values():
            msg = _('Incorrect or unknown "{}": {}')
            raise dnf.exceptions.Error(msg.format("basearch", val))
        self.substitutions['basearch'] = val

    def read(self, filename=None, priority=PRIO_DEFAULT):
        # :api
        if filename is None:
            filename = self._get_value('config_file_path')
        parser = libdnf.conf.ConfigParser()
        try:
            parser.read(filename)
        except RuntimeError as e:
            raise dnf.exceptions.ConfigError(_('Parsing file "%s" failed: %s') % (filename, e))
        except IOError as e:
            logger.warning(e)
        self._populate(parser, self._section, filename, priority)

        # update to where we read the file from
        self._set_value('config_file_path', filename, priority)

    @property
    def verbose(self):
        return self._get_value('debuglevel') >= dnf.const.VERBOSE_LEVEL


class RepoConf(BaseConfig):
    """Option definitions for repository INI file sections."""

    def __init__(self, parent, section=None, parser=None):
        mainConfig = parent._config if parent else libdnf.conf.ConfigMain()
        super(RepoConf, self).__init__(libdnf.conf.ConfigRepo(mainConfig), section, parser)
        # Do not remove! Attribute is a reference holder.
        # Prevents premature removal of the mainConfig. The libdnf ConfigRepo points to it.
        self._mainConfigRefHolder = mainConfig
        if section:
            self._config.name().set(PRIO_DEFAULT, section)

    def _configure_from_options(self, opts):
        """Configure repos from the opts. """

        if getattr(opts, 'gpgcheck', None) is False:
            for optname in ['gpgcheck', 'repo_gpgcheck']:
                self._set_value(optname, False, dnf.conf.PRIO_COMMANDLINE)

        repo_setopts = getattr(opts, 'repo_setopts', {})
        for repoid, setopts in repo_setopts.items():
            if not fnmatch.fnmatch(self._section, repoid):
                continue
            for name, values in setopts.items():
                for val in values:
                    if hasattr(self._config, name):
                        try:
                            # values in repo_setopts are strings, try to parse it using newString()
                            self._config.optBinds().at(name).newString(PRIO_COMMANDLINE, val)
                        except RuntimeError as e:
                            raise dnf.exceptions.ConfigError(
                                _("Error parsing --setopt with key '%s.%s', value '%s': %s")
                                % (self._section, name, val, str(e)), raw_error=str(e))
                    else:
                        msg = _("Repo %s did not have a %s attr. before setopt")
                        logger.warning(msg, self._section, name)
PK"�FZZ����conf/__init__.pynu�[���# conf.py
# dnf configuration classes.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#


"""
The configuration classes and routines in yum are splattered over too many
places, hard to change and debug. The new structure here will replace that. Its
goal is to:

* accept configuration options from all three sources (the main config file,
  repo config files, command line switches)
* handle all the logic of storing those and producing related values.
* returning configuration values.
* optionally: asserting no value is overridden once it has been applied
  somewhere (e.g. do not let a new repo be initialized with different global
  cache path than an already existing one).

"""

from __future__ import absolute_import
from __future__ import unicode_literals

from dnf.conf.config import PRIO_DEFAULT, PRIO_MAINCONFIG, PRIO_AUTOMATICCONFIG
from dnf.conf.config import PRIO_REPOCONFIG, PRIO_PLUGINDEFAULT, PRIO_PLUGINCONFIG
from dnf.conf.config import PRIO_COMMANDLINE, PRIO_RUNTIME

from dnf.conf.config import BaseConfig, MainConf, RepoConf

Conf = MainConf
PK"�FZ�"�Fj
j
conf/substitutions.pynu�[���# substitutions.py
# Config file substitutions.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

import logging
import os
import re

from dnf.i18n import _

ENVIRONMENT_VARS_RE = re.compile(r'^DNF_VAR_[A-Za-z0-9_]+$')
logger = logging.getLogger('dnf')


class Substitutions(dict):
    # :api

    def __init__(self):
        super(Substitutions, self).__init__()
        self._update_from_env()

    def _update_from_env(self):
        numericvars = ['DNF%d' % num for num in range(0, 10)]
        for key, val in os.environ.items():
            if ENVIRONMENT_VARS_RE.match(key):
                self[key[8:]] = val  # remove "DNF_VAR_" prefix
            elif key in numericvars:
                self[key] = val

    def update_from_etc(self, installroot, varsdir=("/etc/yum/vars/", "/etc/dnf/vars/")):
        # :api

        for vars_path in varsdir:
            fsvars = []
            try:
                dir_fsvars = os.path.join(installroot, vars_path.lstrip('/'))
                fsvars = os.listdir(dir_fsvars)
            except OSError:
                continue
            for fsvar in fsvars:
                filepath = os.path.join(dir_fsvars, fsvar)
                val = None
                if os.path.isfile(filepath):
                    try:
                        with open(filepath) as fp:
                            val = fp.readline()
                        if val and val[-1] == '\n':
                            val = val[:-1]
                    except (OSError, IOError, UnicodeDecodeError) as e:
                        logger.warning(_("Error when parsing a variable from file '{0}': {1}").format(filepath, e))
                        continue
                if val is not None:
                    self[fsvar] = val
PK"�FZQ��?��(conf/__pycache__/__init__.cpython-36.pycnu�[���3

�ft`��@spdZddlmZddlmZddlmZmZmZddlmZm	Z	m
Z
ddlmZmZddlm
Z
mZmZeZdS)	aL
The configuration classes and routines in yum are splattered over too many
places, hard to change and debug. The new structure here will replace that. Its
goal is to:

* accept configuration options from all three sources (the main config file,
  repo config files, command line switches)
* handle all the logic of storing those and producing related values.
* returning configuration values.
* optionally: asserting no value is overridden once it has been applied
  somewhere (e.g. do not let a new repo be initialized with different global
  cache path than an already existing one).

�)�absolute_import)�unicode_literals)�PRIO_DEFAULT�PRIO_MAINCONFIG�PRIO_AUTOMATICCONFIG)�PRIO_REPOCONFIG�PRIO_PLUGINDEFAULT�PRIO_PLUGINCONFIG)�PRIO_COMMANDLINE�PRIO_RUNTIME)�
BaseConfig�MainConf�RepoConfN)�__doc__Z
__future__rrZdnf.conf.configrrrrrr	r
rrr
rZConf�rr�/usr/lib/python3.6/__init__.py�<module>#sPK"�FZ���':':,conf/__pycache__/config.cpython-36.opt-1.pycnu�[���3

�ft`�O�@s<ddlmZddlmZddlmZddlmZmZddlm	Z	m
Z
ddlZddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZejjjZejjjZejjjZejjj Z!ejjj"Z#ejjj$Z%ejjj&Z'ejjj(Z)ejjj*Z+ej,d�Z-Gdd	�d	e.�Z/Gd
d�de/�Z0Gdd
�d
e/�Z1dS)�)�absolute_import)�unicode_literals)�misc)�ucd�_)�
basestring�urlparseN�dnfcs~eZdZdZddd�Zdd�Z�fdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
efdd�Ze
fdd�Zdd�Zedd��Z�ZS)�
BaseConfigzlBase class for storing configuration definitions.

       Subclass when creating your own definitions.

    NcCs||jd<||_dS)N�_config)�__dict__�_section)�self�config�section�parser�r�/usr/lib/python3.6/config.py�__init__<s
zBaseConfig.__init__cCszd|jkrtdj|j|���t|j|�}|dkr4dSy|�j�}Wn tk
rb}zdSd}~XnXt|t	�rvt
|�S|S)Nrz!'{}' object has no attribute '{}')r�AttributeError�format�	__class__�getattrr�getValue�	Exception�
isinstance�strr)r�name�option�valueZexrrr�__getattr__@s

zBaseConfig.__getattr__cs:t|j|d�}|dkr(tt|�j||�S|j||t�dS)N)rr�superr
�__setattr__�
_set_value�PRIO_RUNTIME)rrrr)rrrr"NszBaseConfig.__setattr__c
Cstg}|jd|j�|jrjxN|jj�D]@}y|jj�}Wntk
rPd}YnX|jd|j|f�q&Wdj|�S)Nz[%s]�z%s: %s�
)	�appendr
r�optBinds�second�getValueString�RuntimeError�first�join)r�out�optBindrrrr�__str__Us
zBaseConfig.__str__cCst|j|d�}|dk	S)N)rr)rr�methodrrr�_has_optionaszBaseConfig._has_optioncCs$t|j|d�}|dkrdS|�j�S)N)rrr)rrr1rrr�
_get_valueeszBaseConfig._get_valuecCs$t|j|d�}|dkrdS|�j�S)N)rrZgetPriority)rrr1rrr�
_get_prioritykszBaseConfig._get_prioritycCst|j|d�}|dkr&td|d��|�}|dkr\y|j||�Wntk
rXYnXn�yrt|t�srt|t�r�|j|tjj	|��nDt|tjj
�s�t|tjj�r�t|t�r�|j|t
|��n|j||�WnHtk
�r}z*tjjtd�|t|�ft|�d��WYdd}~XnXdS)zSSet option's value if priority is equal or higher
           than current priority.NzOption "z" does not existszError parsing '%s': %s)�	raw_error)rrr�setr�list�tuple�libdnf�conf�VectorStringZ
OptionBoolZOptionChildBool�int�boolr+r	�
exceptions�ConfigErrorrr)rrr�priorityr1r�errrr#qs*
zBaseConfig._set_valuecCs�|j|�r�x�|j|�D]�}|j||�}|s4|dkr8d}t|j|�r�y|jj�j|�j||�Wq�tk
r�}z,t	j
td�t|�t|�t|�t
|��WYdd}~Xq�Xq|dkr�t||�r�t|||�qt	jtd�t|�t|�t|��qWdS)z+Set option values from an INI file section.�Noner%z,Invalid configuration value: %s=%s in %s; %sN�archz+Unknown configuration option: %s = %s in %s)�
hasSectionZoptionsZgetSubstitutedValue�hasattrrr(�at�	newStringr+�logger�errorrrr�setattr�debug)rrr�filenamer@rrrArrr�	_populate�s 

0zBaseConfig._populatecCshd|jg}|jrZxF|jj�D]8}y|jd|j|jj�f�Wqtk
rTYqXqWdj|�dS)z]Return a string representing the values of all the
           configuration options.
        z[%s]z%s = %sr&)	r
rr(r'r,r)r*r+r-)r�outputr/rrr�dump�s
zBaseConfig.dumpcCs�tjj�}|j|�|j|�sHx(|j�D]}tjjj||�|kr(|}q(Wx6|j�D]*\}}t|t	�rndj
|�}|j|||�qRW|j|d�dS)z�
        filename   - name of config file (.conf or .repo)
        section_id - id of modified section (e.g. main, fedora, updates)
        substitutions - instance of base.conf.substitutions
        modify     - dict of modified options
        � FN)
r9r:�ConfigParser�readrDZgetData�
substitute�itemsrr7r-ZsetValue�write)rLZ
section_id�
substitutionsZmodifyrZsectrrrrr�write_raw_configfile�s	




zBaseConfig.write_raw_configfile)NNN)�__name__�
__module__�__qualname__�__doc__rr r"r0r2r3r4r$r#�PRIO_DEFAULTrMrO�staticmethodrW�
__classcell__rr)rrr
5s
r
cs�eZdZdZd%�fdd�	Zdd�Zedd	��Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zedd��Zejdd��Zedd��Zejdd��Zedd��Zejd d��Zdefd!d"�Zed#d$��Z�ZS)&�MainConfz?Configuration option definitions for dnf.conf's [main] section.�mainNcstjj�}tt|�j|||�|jdtjj	gt
�|jdtjjgt
�tjjj
�|_tj�|_|jj�jt
tjj�tjj�r�tjj}d}nVytj�}}WnDttfk
r�}z$td�jt|��}tjj|��WYdd}~XnX|jj �jt
|�|jj!�jt
|�g|_"dS)NZ
pluginpathZpluginconfpathz/var/logzCould not set cachedir: {})#r9r:�
ConfigMainr!r_rr#r	�constZ
PLUGINPATHr\ZPLUGINCONFPATHrVZ
Substitutions�hawkeyZdetect_archrCrZsystem_cachedirr6ZSYSTEM_CACHEDIR�utilZ	am_i_rootrZgetCacheDir�IOError�OSErrorrrrr>�Error�cachedir�logdir�	tempfiles)rrrrrhrirA�msg)rrrr�s$


zMainConf.__init__cCsx|jD]}tj|�qWdS)N)rj�os�unlink)r�	file_namerrr�__del__�szMainConf.__del__cCsLd}x$|jd�D]}tjj|�r|}PqW|sH|jd�d}tjj|�|S)zReturns the value of reposdirNZreposdirr)r3rl�path�existsr	rdZ
ensure_dir)rZ	myrepodirZrdirrrr�get_reposdir�szMainConf.get_reposdirc	Cs�|j|�}|j|�}t|t�r�tj|�}|ddkrF|j||j|�n�tjj	�}t
jdd�\}}|jj
|�zdy|jd||�Wn>tk
r�}z"tjjtd�j|t|����WYdd}~XnX|j|||�Wdtj|�XdS)	z�
        In case the option value is a remote URL, download it to the temporary location
        and use this temporary file instead.
        r�filer%zdnf-downloaded-config-)�prefixNz9Configuration file URL "{}" could not be downloaded:
  {})rsr%)r4r3rrrr#rpr9ZrepoZ
Downloader�tempfileZmkstemprjr'ZdownloadURLr+r	r>r?rrrrl�close)	r�optname�prio�val�locationZ
downloaderZtemp_fdZ	temp_pathrArrr�_check_remote_file�s"




 zMainConf._check_remote_filecs��jd���dkr�S�j|�}|tkr,�S�j|�}t|t�s�t�fdd�|D��r��j|tjj	�fdd�|D��|��Sn4t
jjt
jj
�|jd���r��j|�j|�|��SdS)z�
        Return root used as prefix for option (installroot or "/"). When specified from commandline
        it returns value from conf.installroot
        �installroot�/c3s*|]"}tjjtjj�|jd���VqdS)r}N)rlrprqr-�lstrip)�.0�p)r|rr�	<genexpr>*sz6MainConf._search_inside_installroot.<locals>.<genexpr>csg|]}�j|��qSr)�_prepend_installroot_path)rr�)rrr�
<listcomp>-sz7MainConf._search_inside_installroot.<locals>.<listcomp>)r3r4�PRIO_COMMANDLINErr�anyr#r9r:r;rlrprqr-r~r�)rrwrxryr)r|rr�_search_inside_installroots$



z#MainConf._search_inside_installrootcCs,|j|�}|j|j|��}|j|||�dS)N)r4r�r3r#)rrwrx�new_pathrrr�prepend_installroot6s
zMainConf.prepend_installrootcCs,tjj|jd�|jd��}tjjj||j	�S)Nr|r})
rlrpr-r3r~r9r:rQrSrV)rrpZ	root_pathrrrr�<sz"MainConf._prepend_installroot_pathcCs`ddddddddd	d
dddd
dddddddddddddg}�x|D�]}t||d�}|dk	ob|gkrB|j|��r$d}|jr�y|jj�j|�j�}Wntk
r�YnX|�rtjj	}||j
|�kr�|j
|�}xR|D]6}|r�|j||j|�|g|�q�|j|gtjj	�q�Wn|j||tjj	�qBt
||��r>t|||�qBtjtd�t|�t|��qBWt|dd�dk�r�|jddtjj	�t
|d��r\x�|jj�D]�\}}x�|D]�}	t
|j|��r"y|jj�j|�jt	|	�WnJtk
�r}
z,tjjtd �||	t|
�ft|
�d!��WYdd}
~
XnXn.t
||��r<t|||	�ntd"�}tj||��q�W�q�WdS)#z%Configure parts of CLI from the opts Zplugins�version�config_file_path�
debuglevelZ
errorlevelr|ZbestZ	assumeyesZassumenoZclean_requirements_on_remove�gpgcheckZshowdupesfromreposZ
ip_resolveZrpmverbosityZdisable_excludesZcolorZdownloadonly�exclude�excludepkgs�skip_brokenZtsflagsrC�basearchZ
ignorearchZ	cacheonlyZcommentNFz%Unknown configuration option: %s = %sZlocalpkg_gpgcheck�main_setoptsz4Error parsing --setopt with key '%s', value '%s': %s)r5z1Main config did not have a %s attr. before setopt)rr2rr(rFZgetAddValuer+r	r:r�r4r#r3rErJrH�warningrrr�rTrGr>r?r)r�optsZconfig_argsrrZappendValueZadd_priority�item�valuesryrArkrrr�_configure_from_options@s\




.z MainConf._configure_from_optionscCsPd}|dk	rL|gkrL|j|�r2|j||tjj�ntjtd�t|�t|��dS)Nr�z%Unknown configuration option: %s = %s)	r2r#r	r:r�rHr�rr)rZpkgsrrrr�exclude_pkgss

zMainConf.exclude_pkgscCs(|jd�}|r$|jd||jd��dS)z Adjust conf options interactionsr��strictN)r3r#r4)rZskip_broken_valrrr�_adjust_conf_options�s
zMainConf._adjust_conf_optionscCs|jjd�S)N�
releasever)rV�get)rrrrr��szMainConf.releasevercCs,|dkr|jjdd�dSt|�|jd<dS)Nr�)rV�popr)rryrrrr��scCs|jjd�S)NrC)rVr�)rrrrrC�sz
MainConf.archcCsb|dkr|jjdd�dS|tjjj�krFtd�}tjj|j	d|���||jd<tjj
|�|_
dS)NrCzIncorrect or unknown "{}": {})rVr�r	�rpm�
_BASEARCH_MAP�keysrr>rgrr�)rryrkrrrrC�s
cCs|jjd�S)Nr�)rVr�)rrrrr��szMainConf.basearchcCsT|dkr|jjdd�dS|tjjj�krFtd�}tjj|j	d|���||jd<dS)Nr�zIncorrect or unknown "{}": {})
rVr�r	r�r�r�rr>rgr)rryrkrrrr��scCs�|dkr|jd�}tjj�}y|j|�Wndtk
rd}ztjjt	d�||f��WYdd}~Xn,t
k
r�}ztj|�WYdd}~XnX|j
||j||�|jd||�dS)Nr�zParsing file "%s" failed: %s)r3r9r:rQrRr+r	r>r?rrerHr�rMr
r#)rrLr@rrArrrrR�s

(z
MainConf.readcCs|jd�tjjkS)Nr�)r3r	rbZ
VERBOSE_LEVEL)rrrr�verbose�szMainConf.verbose)r`N)rXrYrZr[rro�propertyrrr{r�r�r�r�r�r�r��setterrCr�r\rRr�r^rr)rrr_�s&?
r_cs*eZdZdZd�fdd�	Zdd�Z�ZS)�RepoConfz4Option definitions for repository INI file sections.NcsP|r
|jntjj�}tt|�jtjj|�||�||_|rL|jj	�j
t|�dS)N)rr9r:rar!r�rZ
ConfigRepoZ_mainConfigRefHolderrr6r\)r�parentrrZ
mainConfig)rrrr�s
zRepoConf.__init__cCst|dd�dkr0xd	D]}|j|dtjj�qWt|di�}x�|j�D]�\}}tj|j|�s^qFx�|j�D]�\}}x�|D]�}t|j	|�r�y|j	j
�j|�jt|�WnLt
k
r�}	z0tjjtd�|j||t|	�ft|	�d��WYdd}	~	XnXqvtd�}
tj|
|j|�qvWqhWqFWdS)
zConfigure repos from the opts. r�NF�
repo_gpgcheck�repo_setoptsz7Error parsing --setopt with key '%s.%s', value '%s': %s)r5z-Repo %s did not have a %s attr. before setopt)r�r�)rr#r	r:r�rT�fnmatchr
rErr(rFrGr+r>r?rrrHr�)rr�rwr�ZrepoidZsetoptsrr�ryrArkrrrr��s$

2z RepoConf._configure_from_options)NN)rXrYrZr[rr�r^rr)rrr��s	r�)2Z
__future__rrZdnf.yumrZdnf.i18nrrZ
dnf.pycomprrr�Zdnf.conf.substitutionsr	Z	dnf.constZdnf.exceptionsZdnf.utilrcZloggingrlZlibdnf.confr9Zlibdnf.reporur:ZOptionZPriority_EMPTYZ
PRIO_EMPTYZPriority_DEFAULTr\ZPriority_MAINCONFIGZPRIO_MAINCONFIGZPriority_AUTOMATICCONFIGZPRIO_AUTOMATICCONFIGZPriority_REPOCONFIGZPRIO_REPOCONFIGZPriority_PLUGINDEFAULTZPRIO_PLUGINDEFAULTZPriority_PLUGINCONFIGZPRIO_PLUGINCONFIGZPriority_COMMANDLINEr�ZPriority_RUNTIMEr$Z	getLoggerrH�objectr
r_r�rrrr�<module>s@









PK"�FZ\�f�	
	
*conf/__pycache__/read.cpython-36.opt-1.pycnu�[���3

�ft`��@s~ddlmZddlmZddlmZmZddlZddlZ	ddl
ZddlZddlZddl
Z
ddlZe
jd�ZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�_�ucdN�dnfc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
RepoReadercCs||_||_dS)N)�conf�opts)�selfrr	�r�/usr/lib/python3.6/read.py�__init__$szRepoReader.__init__ccs�x|j|jj�D]
}|VqWg}x8|jjD],}x&tjtjj|d��D]}|j|�qFWq,W|j	dd�d�xT|D]L}yx|j|�D]
}|Vq�WWqrt
jjk
r�t
jtd�|�YqrXqrWdS)Nz*.repocSstjj|dd��S)N����)r�utilZ
split_path)�xrrr�<lambda>5sz%RepoReader.__iter__.<locals>.<lambda>)�keyz'Warning: failed loading '%s', skipping.)�
_get_reposrZconfig_file_path�reposdir�glob�os�path�join�append�sortr�
exceptions�ConfigError�logger�warningr)r
�rZrepo_configsrr�repofnrrr�__iter__(s


zRepoReader.__iter__c	Cs^tjjj||jj�}tjj|�}|dk	rl||krJtd�j	|||||�}ntd�j	||||�}tj
j|��tjj||j�}y|j
|||tjj�WnZtk
r�}z>||kr�td�j	|||�}ntd�j	||�}tj
j|��WYdd}~XnX|jd�tjjk�r8||k�r td�j	||�}ntd�j	|�}tj|�t|j�|_|jj|jj�||_|S)	z)Build a repository using the parsed data.Nz&Bad id for repo: {} ({}), byte = {} {}z!Bad id for repo: {}, byte = {} {}z.Repository '{}' ({}): Error parsing config: {}z)Repository '{}': Error parsing config: {}�namez@Repository '{}' ({}) is missing name in configuration, using id.z;Repository '{}' is missing name in configuration, using id.)�libdnfr�ConfigParserZ
substitute�
substitutionsr�repoZrepo_id_invalidr�formatrrZRepoZ	_populateZPRIO_REPOCONFIG�
ValueErrorZ
_get_priorityZPRIO_DEFAULTrrrr#Z_substitutions�updateZcfg)	r
�parserZid_r!Zsubstituted_idZinvalid�msgr'�errr�_build_repo?s8




zRepoReader._build_repoccs|jj}tjj�}|j|�y|j|�Wndtk
rd}ztjj	t
d�j||���WYdd}~Xn,tk
r�}zt
j|�WYdd}~XnXx�|j�D]x}|dkr�q�y|j|t|�|�}Wn:tjjtjj	fk
r�}zt
j|�w�WYdd}~XnX||_|j|j�|Vq�WdS)z4Parse and yield all repositories from a config file.zParsing file "{}" failed: {}N�main)rr&r$r%ZsetSubstitutions�read�RuntimeErrorrrrrr(�IOErrorrrZgetDatar.rZ	RepoErrorZrepofileZ_configure_from_optionsr	)r
r!Zsubstsr+r-ZsectionZthisreporrrrhs(

(
zRepoReader._get_reposN)�__name__�
__module__�__qualname__r
r"r.rrrrrr#s)r)Z
__future__rrZdnf.i18nrrZdnf.confrZlibdnf.confr$Zdnf.exceptionsZdnf.reporZloggingrZ	getLoggerr�objectrrrrr�<module>s
PK"�FZ����jj3conf/__pycache__/substitutions.cpython-36.opt-1.pycnu�[���3

i�-ej
�@sLddlZddlZddlZddlmZejd�Zejd�ZGdd�de	�Z
dS)�N)�_z^DNF_VAR_[A-Za-z0-9_]+$Zdnfcs.eZdZ�fdd�Zdd�Zd
dd�Z�ZS)�
Substitutionscstt|�j�|j�dS)N)�superr�__init__�_update_from_env)�self)�	__class__��#/usr/lib/python3.6/substitutions.pyr"szSubstitutions.__init__cCs\dd�tdd�D�}xBtjj�D]4\}}tj|�rD|||dd�<q ||kr |||<q WdS)NcSsg|]}d|�qS)zDNF%dr	)�.0Znumr	r	r
�
<listcomp>'sz2Substitutions._update_from_env.<locals>.<listcomp>r�
�)�range�os�environ�items�ENVIRONMENT_VARS_RE�match)rZnumericvars�key�valr	r	r
r&s
zSubstitutions._update_from_env�/etc/yum/vars/�/etc/dnf/vars/cCs�x|D�]�}g}y"tjj||jd��}tj|�}Wntk
rJwYnXx�|D]�}tjj||�}d}tjj|�r�y<t|��}	|	j�}WdQRX|r�|ddkr�|dd�}Wn@tt	t
fk
r�}
ztjt
d�j||
��wRWYdd}
~
XnX|dk	rR|||<qRWqWdS)N�/��
z2Error when parsing a variable from file '{0}': {1}���r)r�path�join�lstrip�listdir�OSError�isfile�open�readline�IOError�UnicodeDecodeError�loggerZwarningr�format)rZinstallrootZvarsdirZ	vars_pathZfsvarsZ
dir_fsvarsZfsvar�filepathr�fp�er	r	r
�update_from_etc.s*

zSubstitutions.update_from_etc�rr)r-)�__name__�
__module__�__qualname__rrr,�
__classcell__r	r	)rr
rsr)Zloggingr�reZdnf.i18nr�compilerZ	getLoggerr'�dictrr	r	r	r
�<module>s

PK"�FZQ��?��.conf/__pycache__/__init__.cpython-36.opt-1.pycnu�[���3

�ft`��@spdZddlmZddlmZddlmZmZmZddlmZm	Z	m
Z
ddlmZmZddlm
Z
mZmZeZdS)	aL
The configuration classes and routines in yum are splattered over too many
places, hard to change and debug. The new structure here will replace that. Its
goal is to:

* accept configuration options from all three sources (the main config file,
  repo config files, command line switches)
* handle all the logic of storing those and producing related values.
* returning configuration values.
* optionally: asserting no value is overridden once it has been applied
  somewhere (e.g. do not let a new repo be initialized with different global
  cache path than an already existing one).

�)�absolute_import)�unicode_literals)�PRIO_DEFAULT�PRIO_MAINCONFIG�PRIO_AUTOMATICCONFIG)�PRIO_REPOCONFIG�PRIO_PLUGINDEFAULT�PRIO_PLUGINCONFIG)�PRIO_COMMANDLINE�PRIO_RUNTIME)�
BaseConfig�MainConf�RepoConfN)�__doc__Z
__future__rrZdnf.conf.configrrrrrr	r
rrr
rZConf�rr�/usr/lib/python3.6/__init__.py�<module>#sPK"�FZ����jj-conf/__pycache__/substitutions.cpython-36.pycnu�[���3

i�-ej
�@sLddlZddlZddlZddlmZejd�Zejd�ZGdd�de	�Z
dS)�N)�_z^DNF_VAR_[A-Za-z0-9_]+$Zdnfcs.eZdZ�fdd�Zdd�Zd
dd�Z�ZS)�
Substitutionscstt|�j�|j�dS)N)�superr�__init__�_update_from_env)�self)�	__class__��#/usr/lib/python3.6/substitutions.pyr"szSubstitutions.__init__cCs\dd�tdd�D�}xBtjj�D]4\}}tj|�rD|||dd�<q ||kr |||<q WdS)NcSsg|]}d|�qS)zDNF%dr	)�.0Znumr	r	r
�
<listcomp>'sz2Substitutions._update_from_env.<locals>.<listcomp>r�
�)�range�os�environ�items�ENVIRONMENT_VARS_RE�match)rZnumericvars�key�valr	r	r
r&s
zSubstitutions._update_from_env�/etc/yum/vars/�/etc/dnf/vars/cCs�x|D�]�}g}y"tjj||jd��}tj|�}Wntk
rJwYnXx�|D]�}tjj||�}d}tjj|�r�y<t|��}	|	j�}WdQRX|r�|ddkr�|dd�}Wn@tt	t
fk
r�}
ztjt
d�j||
��wRWYdd}
~
XnX|dk	rR|||<qRWqWdS)N�/��
z2Error when parsing a variable from file '{0}': {1}���r)r�path�join�lstrip�listdir�OSError�isfile�open�readline�IOError�UnicodeDecodeError�loggerZwarningr�format)rZinstallrootZvarsdirZ	vars_pathZfsvarsZ
dir_fsvarsZfsvar�filepathr�fp�er	r	r
�update_from_etc.s*

zSubstitutions.update_from_etc�rr)r-)�__name__�
__module__�__qualname__rrr,�
__classcell__r	r	)rr
rsr)Zloggingr�reZdnf.i18nr�compilerZ	getLoggerr'�dictrr	r	r	r
�<module>s

PK"�FZ���':':&conf/__pycache__/config.cpython-36.pycnu�[���3

�ft`�O�@s<ddlmZddlmZddlmZddlmZmZddlm	Z	m
Z
ddlZddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZejjjZejjjZejjjZejjj Z!ejjj"Z#ejjj$Z%ejjj&Z'ejjj(Z)ejjj*Z+ej,d�Z-Gdd	�d	e.�Z/Gd
d�de/�Z0Gdd
�d
e/�Z1dS)�)�absolute_import)�unicode_literals)�misc)�ucd�_)�
basestring�urlparseN�dnfcs~eZdZdZddd�Zdd�Z�fdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
efdd�Ze
fdd�Zdd�Zedd��Z�ZS)�
BaseConfigzlBase class for storing configuration definitions.

       Subclass when creating your own definitions.

    NcCs||jd<||_dS)N�_config)�__dict__�_section)�self�config�section�parser�r�/usr/lib/python3.6/config.py�__init__<s
zBaseConfig.__init__cCszd|jkrtdj|j|���t|j|�}|dkr4dSy|�j�}Wn tk
rb}zdSd}~XnXt|t	�rvt
|�S|S)Nrz!'{}' object has no attribute '{}')r�AttributeError�format�	__class__�getattrr�getValue�	Exception�
isinstance�strr)r�name�option�valueZexrrr�__getattr__@s

zBaseConfig.__getattr__cs:t|j|d�}|dkr(tt|�j||�S|j||t�dS)N)rr�superr
�__setattr__�
_set_value�PRIO_RUNTIME)rrrr)rrrr"NszBaseConfig.__setattr__c
Cstg}|jd|j�|jrjxN|jj�D]@}y|jj�}Wntk
rPd}YnX|jd|j|f�q&Wdj|�S)Nz[%s]�z%s: %s�
)	�appendr
r�optBinds�second�getValueString�RuntimeError�first�join)r�out�optBindrrrr�__str__Us
zBaseConfig.__str__cCst|j|d�}|dk	S)N)rr)rr�methodrrr�_has_optionaszBaseConfig._has_optioncCs$t|j|d�}|dkrdS|�j�S)N)rrr)rrr1rrr�
_get_valueeszBaseConfig._get_valuecCs$t|j|d�}|dkrdS|�j�S)N)rrZgetPriority)rrr1rrr�
_get_prioritykszBaseConfig._get_prioritycCst|j|d�}|dkr&td|d��|�}|dkr\y|j||�Wntk
rXYnXn�yrt|t�srt|t�r�|j|tjj	|��nDt|tjj
�s�t|tjj�r�t|t�r�|j|t
|��n|j||�WnHtk
�r}z*tjjtd�|t|�ft|�d��WYdd}~XnXdS)zSSet option's value if priority is equal or higher
           than current priority.NzOption "z" does not existszError parsing '%s': %s)�	raw_error)rrr�setr�list�tuple�libdnf�conf�VectorStringZ
OptionBoolZOptionChildBool�int�boolr+r	�
exceptions�ConfigErrorrr)rrr�priorityr1r�errrr#qs*
zBaseConfig._set_valuecCs�|j|�r�x�|j|�D]�}|j||�}|s4|dkr8d}t|j|�r�y|jj�j|�j||�Wq�tk
r�}z,t	j
td�t|�t|�t|�t
|��WYdd}~Xq�Xq|dkr�t||�r�t|||�qt	jtd�t|�t|�t|��qWdS)z+Set option values from an INI file section.�Noner%z,Invalid configuration value: %s=%s in %s; %sN�archz+Unknown configuration option: %s = %s in %s)�
hasSectionZoptionsZgetSubstitutedValue�hasattrrr(�at�	newStringr+�logger�errorrrr�setattr�debug)rrr�filenamer@rrrArrr�	_populate�s 

0zBaseConfig._populatecCshd|jg}|jrZxF|jj�D]8}y|jd|j|jj�f�Wqtk
rTYqXqWdj|�dS)z]Return a string representing the values of all the
           configuration options.
        z[%s]z%s = %sr&)	r
rr(r'r,r)r*r+r-)r�outputr/rrr�dump�s
zBaseConfig.dumpcCs�tjj�}|j|�|j|�sHx(|j�D]}tjjj||�|kr(|}q(Wx6|j�D]*\}}t|t	�rndj
|�}|j|||�qRW|j|d�dS)z�
        filename   - name of config file (.conf or .repo)
        section_id - id of modified section (e.g. main, fedora, updates)
        substitutions - instance of base.conf.substitutions
        modify     - dict of modified options
        � FN)
r9r:�ConfigParser�readrDZgetData�
substitute�itemsrr7r-ZsetValue�write)rLZ
section_id�
substitutionsZmodifyrZsectrrrrr�write_raw_configfile�s	




zBaseConfig.write_raw_configfile)NNN)�__name__�
__module__�__qualname__�__doc__rr r"r0r2r3r4r$r#�PRIO_DEFAULTrMrO�staticmethodrW�
__classcell__rr)rrr
5s
r
cs�eZdZdZd%�fdd�	Zdd�Zedd	��Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zedd��Zejdd��Zedd��Zejdd��Zedd��Zejd d��Zdefd!d"�Zed#d$��Z�ZS)&�MainConfz?Configuration option definitions for dnf.conf's [main] section.�mainNcstjj�}tt|�j|||�|jdtjj	gt
�|jdtjjgt
�tjjj
�|_tj�|_|jj�jt
tjj�tjj�r�tjj}d}nVytj�}}WnDttfk
r�}z$td�jt|��}tjj|��WYdd}~XnX|jj �jt
|�|jj!�jt
|�g|_"dS)NZ
pluginpathZpluginconfpathz/var/logzCould not set cachedir: {})#r9r:�
ConfigMainr!r_rr#r	�constZ
PLUGINPATHr\ZPLUGINCONFPATHrVZ
Substitutions�hawkeyZdetect_archrCrZsystem_cachedirr6ZSYSTEM_CACHEDIR�utilZ	am_i_rootrZgetCacheDir�IOError�OSErrorrrrr>�Error�cachedir�logdir�	tempfiles)rrrrrhrirA�msg)rrrr�s$


zMainConf.__init__cCsx|jD]}tj|�qWdS)N)rj�os�unlink)r�	file_namerrr�__del__�szMainConf.__del__cCsLd}x$|jd�D]}tjj|�r|}PqW|sH|jd�d}tjj|�|S)zReturns the value of reposdirNZreposdirr)r3rl�path�existsr	rdZ
ensure_dir)rZ	myrepodirZrdirrrr�get_reposdir�szMainConf.get_reposdirc	Cs�|j|�}|j|�}t|t�r�tj|�}|ddkrF|j||j|�n�tjj	�}t
jdd�\}}|jj
|�zdy|jd||�Wn>tk
r�}z"tjjtd�j|t|����WYdd}~XnX|j|||�Wdtj|�XdS)	z�
        In case the option value is a remote URL, download it to the temporary location
        and use this temporary file instead.
        r�filer%zdnf-downloaded-config-)�prefixNz9Configuration file URL "{}" could not be downloaded:
  {})rsr%)r4r3rrrr#rpr9ZrepoZ
Downloader�tempfileZmkstemprjr'ZdownloadURLr+r	r>r?rrrrl�close)	r�optname�prio�val�locationZ
downloaderZtemp_fdZ	temp_pathrArrr�_check_remote_file�s"




 zMainConf._check_remote_filecs��jd���dkr�S�j|�}|tkr,�S�j|�}t|t�s�t�fdd�|D��r��j|tjj	�fdd�|D��|��Sn4t
jjt
jj
�|jd���r��j|�j|�|��SdS)z�
        Return root used as prefix for option (installroot or "/"). When specified from commandline
        it returns value from conf.installroot
        �installroot�/c3s*|]"}tjjtjj�|jd���VqdS)r}N)rlrprqr-�lstrip)�.0�p)r|rr�	<genexpr>*sz6MainConf._search_inside_installroot.<locals>.<genexpr>csg|]}�j|��qSr)�_prepend_installroot_path)rr�)rrr�
<listcomp>-sz7MainConf._search_inside_installroot.<locals>.<listcomp>)r3r4�PRIO_COMMANDLINErr�anyr#r9r:r;rlrprqr-r~r�)rrwrxryr)r|rr�_search_inside_installroots$



z#MainConf._search_inside_installrootcCs,|j|�}|j|j|��}|j|||�dS)N)r4r�r3r#)rrwrx�new_pathrrr�prepend_installroot6s
zMainConf.prepend_installrootcCs,tjj|jd�|jd��}tjjj||j	�S)Nr|r})
rlrpr-r3r~r9r:rQrSrV)rrpZ	root_pathrrrr�<sz"MainConf._prepend_installroot_pathcCs`ddddddddd	d
dddd
dddddddddddddg}�x|D�]}t||d�}|dk	ob|gkrB|j|��r$d}|jr�y|jj�j|�j�}Wntk
r�YnX|�rtjj	}||j
|�kr�|j
|�}xR|D]6}|r�|j||j|�|g|�q�|j|gtjj	�q�Wn|j||tjj	�qBt
||��r>t|||�qBtjtd�t|�t|��qBWt|dd�dk�r�|jddtjj	�t
|d��r\x�|jj�D]�\}}x�|D]�}	t
|j|��r"y|jj�j|�jt	|	�WnJtk
�r}
z,tjjtd �||	t|
�ft|
�d!��WYdd}
~
XnXn.t
||��r<t|||	�ntd"�}tj||��q�W�q�WdS)#z%Configure parts of CLI from the opts Zplugins�version�config_file_path�
debuglevelZ
errorlevelr|ZbestZ	assumeyesZassumenoZclean_requirements_on_remove�gpgcheckZshowdupesfromreposZ
ip_resolveZrpmverbosityZdisable_excludesZcolorZdownloadonly�exclude�excludepkgs�skip_brokenZtsflagsrC�basearchZ
ignorearchZ	cacheonlyZcommentNFz%Unknown configuration option: %s = %sZlocalpkg_gpgcheck�main_setoptsz4Error parsing --setopt with key '%s', value '%s': %s)r5z1Main config did not have a %s attr. before setopt)rr2rr(rFZgetAddValuer+r	r:r�r4r#r3rErJrH�warningrrr�rTrGr>r?r)r�optsZconfig_argsrrZappendValueZadd_priority�item�valuesryrArkrrr�_configure_from_options@s\




.z MainConf._configure_from_optionscCsPd}|dk	rL|gkrL|j|�r2|j||tjj�ntjtd�t|�t|��dS)Nr�z%Unknown configuration option: %s = %s)	r2r#r	r:r�rHr�rr)rZpkgsrrrr�exclude_pkgss

zMainConf.exclude_pkgscCs(|jd�}|r$|jd||jd��dS)z Adjust conf options interactionsr��strictN)r3r#r4)rZskip_broken_valrrr�_adjust_conf_options�s
zMainConf._adjust_conf_optionscCs|jjd�S)N�
releasever)rV�get)rrrrr��szMainConf.releasevercCs,|dkr|jjdd�dSt|�|jd<dS)Nr�)rV�popr)rryrrrr��scCs|jjd�S)NrC)rVr�)rrrrrC�sz
MainConf.archcCsb|dkr|jjdd�dS|tjjj�krFtd�}tjj|j	d|���||jd<tjj
|�|_
dS)NrCzIncorrect or unknown "{}": {})rVr�r	�rpm�
_BASEARCH_MAP�keysrr>rgrr�)rryrkrrrrC�s
cCs|jjd�S)Nr�)rVr�)rrrrr��szMainConf.basearchcCsT|dkr|jjdd�dS|tjjj�krFtd�}tjj|j	d|���||jd<dS)Nr�zIncorrect or unknown "{}": {})
rVr�r	r�r�r�rr>rgr)rryrkrrrr��scCs�|dkr|jd�}tjj�}y|j|�Wndtk
rd}ztjjt	d�||f��WYdd}~Xn,t
k
r�}ztj|�WYdd}~XnX|j
||j||�|jd||�dS)Nr�zParsing file "%s" failed: %s)r3r9r:rQrRr+r	r>r?rrerHr�rMr
r#)rrLr@rrArrrrR�s

(z
MainConf.readcCs|jd�tjjkS)Nr�)r3r	rbZ
VERBOSE_LEVEL)rrrr�verbose�szMainConf.verbose)r`N)rXrYrZr[rro�propertyrrr{r�r�r�r�r�r�r��setterrCr�r\rRr�r^rr)rrr_�s&?
r_cs*eZdZdZd�fdd�	Zdd�Z�ZS)�RepoConfz4Option definitions for repository INI file sections.NcsP|r
|jntjj�}tt|�jtjj|�||�||_|rL|jj	�j
t|�dS)N)rr9r:rar!r�rZ
ConfigRepoZ_mainConfigRefHolderrr6r\)r�parentrrZ
mainConfig)rrrr�s
zRepoConf.__init__cCst|dd�dkr0xd	D]}|j|dtjj�qWt|di�}x�|j�D]�\}}tj|j|�s^qFx�|j�D]�\}}x�|D]�}t|j	|�r�y|j	j
�j|�jt|�WnLt
k
r�}	z0tjjtd�|j||t|	�ft|	�d��WYdd}	~	XnXqvtd�}
tj|
|j|�qvWqhWqFWdS)
zConfigure repos from the opts. r�NF�
repo_gpgcheck�repo_setoptsz7Error parsing --setopt with key '%s.%s', value '%s': %s)r5z-Repo %s did not have a %s attr. before setopt)r�r�)rr#r	r:r�rT�fnmatchr
rErr(rFrGr+r>r?rrrHr�)rr�rwr�ZrepoidZsetoptsrr�ryrArkrrrr��s$

2z RepoConf._configure_from_options)NN)rXrYrZr[rr�r^rr)rrr��s	r�)2Z
__future__rrZdnf.yumrZdnf.i18nrrZ
dnf.pycomprrr�Zdnf.conf.substitutionsr	Z	dnf.constZdnf.exceptionsZdnf.utilrcZloggingrlZlibdnf.confr9Zlibdnf.reporur:ZOptionZPriority_EMPTYZ
PRIO_EMPTYZPriority_DEFAULTr\ZPriority_MAINCONFIGZPRIO_MAINCONFIGZPriority_AUTOMATICCONFIGZPRIO_AUTOMATICCONFIGZPriority_REPOCONFIGZPRIO_REPOCONFIGZPriority_PLUGINDEFAULTZPRIO_PLUGINDEFAULTZPriority_PLUGINCONFIGZPRIO_PLUGINCONFIGZPriority_COMMANDLINEr�ZPriority_RUNTIMEr$Z	getLoggerrH�objectr
r_r�rrrr�<module>s@









PK"�FZ\�f�	
	
$conf/__pycache__/read.cpython-36.pycnu�[���3

�ft`��@s~ddlmZddlmZddlmZmZddlZddlZ	ddl
ZddlZddlZddl
Z
ddlZe
jd�ZGdd�de�ZdS)�)�absolute_import)�unicode_literals)�_�ucdN�dnfc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
RepoReadercCs||_||_dS)N)�conf�opts)�selfrr	�r�/usr/lib/python3.6/read.py�__init__$szRepoReader.__init__ccs�x|j|jj�D]
}|VqWg}x8|jjD],}x&tjtjj|d��D]}|j|�qFWq,W|j	dd�d�xT|D]L}yx|j|�D]
}|Vq�WWqrt
jjk
r�t
jtd�|�YqrXqrWdS)Nz*.repocSstjj|dd��S)N����)r�utilZ
split_path)�xrrr�<lambda>5sz%RepoReader.__iter__.<locals>.<lambda>)�keyz'Warning: failed loading '%s', skipping.)�
_get_reposrZconfig_file_path�reposdir�glob�os�path�join�append�sortr�
exceptions�ConfigError�logger�warningr)r
�rZrepo_configsrr�repofnrrr�__iter__(s


zRepoReader.__iter__c	Cs^tjjj||jj�}tjj|�}|dk	rl||krJtd�j	|||||�}ntd�j	||||�}tj
j|��tjj||j�}y|j
|||tjj�WnZtk
r�}z>||kr�td�j	|||�}ntd�j	||�}tj
j|��WYdd}~XnX|jd�tjjk�r8||k�r td�j	||�}ntd�j	|�}tj|�t|j�|_|jj|jj�||_|S)	z)Build a repository using the parsed data.Nz&Bad id for repo: {} ({}), byte = {} {}z!Bad id for repo: {}, byte = {} {}z.Repository '{}' ({}): Error parsing config: {}z)Repository '{}': Error parsing config: {}�namez@Repository '{}' ({}) is missing name in configuration, using id.z;Repository '{}' is missing name in configuration, using id.)�libdnfr�ConfigParserZ
substitute�
substitutionsr�repoZrepo_id_invalidr�formatrrZRepoZ	_populateZPRIO_REPOCONFIG�
ValueErrorZ
_get_priorityZPRIO_DEFAULTrrrr#Z_substitutions�updateZcfg)	r
�parserZid_r!Zsubstituted_idZinvalid�msgr'�errr�_build_repo?s8




zRepoReader._build_repoccs|jj}tjj�}|j|�y|j|�Wndtk
rd}ztjj	t
d�j||���WYdd}~Xn,tk
r�}zt
j|�WYdd}~XnXx�|j�D]x}|dkr�q�y|j|t|�|�}Wn:tjjtjj	fk
r�}zt
j|�w�WYdd}~XnX||_|j|j�|Vq�WdS)z4Parse and yield all repositories from a config file.zParsing file "{}" failed: {}N�main)rr&r$r%ZsetSubstitutions�read�RuntimeErrorrrrrr(�IOErrorrrZgetDatar.rZ	RepoErrorZrepofileZ_configure_from_optionsr	)r
r!Zsubstsr+r-ZsectionZthisreporrrrhs(

(
zRepoReader._get_reposN)�__name__�
__module__�__qualname__r
r"r.rrrrrr#s)r)Z
__future__rrZdnf.i18nrrZdnf.confrZlibdnf.confr$Zdnf.exceptionsZdnf.reporZloggingrZ	getLoggerr�objectrrrrr�<module>s
PK"�FZ����O�Outil.pynu�[���# util.py
# Basic dnf utils.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import print_function
from __future__ import absolute_import
from __future__ import unicode_literals

from .pycomp import PY3, basestring
from dnf.i18n import _, ucd
import argparse
import dnf
import dnf.callback
import dnf.const
import dnf.pycomp
import errno
import functools
import hawkey
import itertools
import locale
import logging
import os
import pwd
import shutil
import sys
import tempfile
import time
import libdnf.repo
import libdnf.transaction

logger = logging.getLogger('dnf')

MAIN_PROG = argparse.ArgumentParser().prog if argparse.ArgumentParser().prog == "yum" else "dnf"
MAIN_PROG_UPPER = MAIN_PROG.upper()

"""DNF Utilities."""


def _parse_specs(namespace, values):
    """
    Categorize :param values list into packages, groups and filenames

    :param namespace: argparse.Namespace, where specs will be stored
    :param values: list of specs, whether packages ('foo') or groups/modules ('@bar')
                   or filenames ('*.rmp', 'http://*', ...)

    To access packages use: specs.pkg_specs,
    to access groups use: specs.grp_specs,
    to access filenames use: specs.filenames
    """

    setattr(namespace, "filenames", [])
    setattr(namespace, "grp_specs", [])
    setattr(namespace, "pkg_specs", [])
    tmp_set = set()
    for value in values:
        if value in tmp_set:
            continue
        tmp_set.add(value)
        schemes = dnf.pycomp.urlparse.urlparse(value)[0]
        if value.endswith('.rpm'):
            namespace.filenames.append(value)
        elif schemes and schemes in ('http', 'ftp', 'file', 'https'):
            namespace.filenames.append(value)
        elif value.startswith('@'):
            namespace.grp_specs.append(value[1:])
        else:
            namespace.pkg_specs.append(value)


def _urlopen_progress(url, conf, progress=None):
    if progress is None:
        progress = dnf.callback.NullDownloadProgress()
    pload = dnf.repo.RemoteRPMPayload(url, conf, progress)
    if os.path.exists(pload.local_path):
        return pload.local_path
    est_remote_size = sum([pload.download_size])
    progress.start(1, est_remote_size)
    targets = [pload._librepo_target()]
    try:
        libdnf.repo.PackageTarget.downloadPackages(libdnf.repo.VectorPPackageTarget(targets), True)
    except RuntimeError as e:
        if conf.strict:
            raise IOError(str(e))
        logger.error(str(e))
    return pload.local_path

def _urlopen(url, conf=None, repo=None, mode='w+b', **kwargs):
    """
    Open the specified absolute url, return a file object
    which respects proxy setting even for non-repo downloads
    """
    if PY3 and 'b' not in mode:
        kwargs.setdefault('encoding', 'utf-8')
    fo = tempfile.NamedTemporaryFile(mode, **kwargs)

    try:
        if repo:
            repo._repo.downloadUrl(url, fo.fileno())
        else:
            libdnf.repo.Downloader.downloadURL(conf._config if conf else None, url, fo.fileno())
    except RuntimeError as e:
        raise IOError(str(e))

    fo.seek(0)
    return fo

def rtrim(s, r):
    if s.endswith(r):
        s = s[:-len(r)]
    return s


def am_i_root():
    # used by ansible (lib/ansible/modules/packaging/os/dnf.py)
    return os.geteuid() == 0

def clear_dir(path):
    """Remove all files and dirs under `path`

    Also see rm_rf()

    """
    for entry in os.listdir(path):
        contained_path = os.path.join(path, entry)
        rm_rf(contained_path)

def ensure_dir(dname):
    # used by ansible (lib/ansible/modules/packaging/os/dnf.py)
    try:
        os.makedirs(dname, mode=0o755)
    except OSError as e:
        if e.errno != errno.EEXIST or not os.path.isdir(dname):
            raise e


def split_path(path):
    """
    Split path by path separators.
    Use os.path.join() to join the path back to string.
    """
    result = []

    head = path
    while True:
        head, tail = os.path.split(head)
        if not tail:
            if head or not result:
                # if not result: make sure result is [""] so os.path.join(*result) can be called
                result.insert(0, head)
            break
        result.insert(0, tail)

    return result


def empty(iterable):
    try:
        l = len(iterable)
    except TypeError:
        l = len(list(iterable))
    return l == 0

def first(iterable):
    """Returns the first item from an iterable or None if it has no elements."""
    it = iter(iterable)
    try:
        return next(it)
    except StopIteration:
        return None


def first_not_none(iterable):
    it = iter(iterable)
    try:
        return next(item for item in it if item is not None)
    except StopIteration:
        return None


def file_age(fn):
    return time.time() - file_timestamp(fn)

def file_timestamp(fn):
    return os.stat(fn).st_mtime

def get_effective_login():
    try:
        return pwd.getpwuid(os.geteuid())[0]
    except KeyError:
        return "UID: %s" % os.geteuid()

def get_in(dct, keys, not_found):
    """Like dict.get() for nested dicts."""
    for k in keys:
        dct = dct.get(k)
        if dct is None:
            return not_found
    return dct

def group_by_filter(fn, iterable):
    def splitter(acc, item):
        acc[not bool(fn(item))].append(item)
        return acc
    return functools.reduce(splitter, iterable, ([], []))

def insert_if(item, iterable, condition):
    """Insert an item into an iterable by a condition."""
    for original_item in iterable:
        if condition(original_item):
            yield item
        yield original_item

def is_exhausted(iterator):
    """Test whether an iterator is exhausted."""
    try:
        next(iterator)
    except StopIteration:
        return True
    else:
        return False

def is_glob_pattern(pattern):
    if is_string_type(pattern):
        pattern = [pattern]
    return (isinstance(pattern, list) and any(set(p) & set("*[?") for p in pattern))

def is_string_type(obj):
    if PY3:
        return isinstance(obj, str)
    else:
        return isinstance(obj, basestring)

def lazyattr(attrname):
    """Decorator to get lazy attribute initialization.

    Composes with @property. Force reinitialization by deleting the <attrname>.
    """
    def get_decorated(fn):
        def cached_getter(obj):
            try:
                return getattr(obj, attrname)
            except AttributeError:
                val = fn(obj)
                setattr(obj, attrname, val)
                return val
        return cached_getter
    return get_decorated


def mapall(fn, *seq):
    """Like functools.map(), but return a list instead of an iterator.

    This means all side effects of fn take place even without iterating the
    result.

    """
    return list(map(fn, *seq))

def normalize_time(timestamp):
    """Convert time into locale aware datetime string object."""
    t = time.strftime("%c", time.localtime(timestamp))
    if not dnf.pycomp.PY3:
        current_locale_setting = locale.getlocale()[1]
        if current_locale_setting:
            t = t.decode(current_locale_setting)
    return t

def on_ac_power():
    """Decide whether we are on line power.

    Returns True if we are on line power, False if not, None if it can not be
    decided.

    """
    try:
        ps_folder = "/sys/class/power_supply"
        ac_nodes = [node for node in os.listdir(ps_folder) if node.startswith("AC")]
        if len(ac_nodes) > 0:
            ac_node = ac_nodes[0]
            with open("{}/{}/online".format(ps_folder, ac_node)) as ac_status:
                data = ac_status.read()
                return int(data) == 1
        return None
    except (IOError, ValueError):
        return None


def on_metered_connection():
    """Decide whether we are on metered connection.

    Returns:
      True: if on metered connection
      False: if not
      None: if it can not be decided
    """
    try:
        import dbus
    except ImportError:
        return None
    try:
        bus = dbus.SystemBus()
        proxy = bus.get_object("org.freedesktop.NetworkManager",
                               "/org/freedesktop/NetworkManager")
        iface = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
        metered = iface.Get("org.freedesktop.NetworkManager", "Metered")
    except dbus.DBusException:
        return None
    if metered == 0: # NM_METERED_UNKNOWN
        return None
    elif metered in (1, 3): # NM_METERED_YES, NM_METERED_GUESS_YES
        return True
    elif metered in (2, 4): # NM_METERED_NO, NM_METERED_GUESS_NO
        return False
    else: # Something undocumented (at least at this moment)
        raise ValueError("Unknown value for metered property: %r", metered)

def partition(pred, iterable):
    """Use a predicate to partition entries into false entries and true entries.

    Credit: Python library itertools' documentation.

    """
    t1, t2 = itertools.tee(iterable)
    return dnf.pycomp.filterfalse(pred, t1), filter(pred, t2)

def rm_rf(path):
    try:
        shutil.rmtree(path)
    except OSError:
        pass

def split_by(iterable, condition):
    """Split an iterable into tuples by a condition.

    Inserts a separator before each item which meets the condition and then
    cuts the iterable by these separators.

    """
    separator = object()  # A unique object.
    # Create a function returning tuple of objects before the separator.
    def next_subsequence(it):
        return tuple(itertools.takewhile(lambda e: e != separator, it))

    # Mark each place where the condition is met by the separator.
    marked = insert_if(separator, iterable, condition)

    # The 1st subsequence may be empty if the 1st item meets the condition.
    yield next_subsequence(marked)

    while True:
        subsequence = next_subsequence(marked)
        if not subsequence:
            break
        yield subsequence

def strip_prefix(s, prefix):
    if s.startswith(prefix):
        return s[len(prefix):]
    return None


def touch(path, no_create=False):
    """Create an empty file if it doesn't exist or bump it's timestamps.

    If no_create is True only bumps the timestamps.
    """
    if no_create or os.access(path, os.F_OK):
        return os.utime(path, None)
    with open(path, 'a'):
        pass


def _terminal_messenger(tp='write', msg="", out=sys.stdout):
    try:
        if tp == 'write':
            out.write(msg)
        elif tp == 'flush':
            out.flush()
        elif tp == 'write_flush':
            out.write(msg)
            out.flush()
        elif tp == 'print':
            print(msg, file=out)
        else:
            raise ValueError('Unsupported type: ' + tp)
    except IOError as e:
        logger.critical('{}: {}'.format(type(e).__name__, ucd(e)))
        pass


def _format_resolve_problems(resolve_problems):
    """
    Format string about problems in resolve

    :param resolve_problems: list with list of strings (output of goal.problem_rules())
    :return: string
    """
    msg = ""
    count_problems = (len(resolve_problems) > 1)
    for i, rs in enumerate(resolve_problems, start=1):
        if count_problems:
            msg += "\n " + _("Problem") + " %d: " % i
        else:
            msg += "\n " + _("Problem") + ": "
        msg += "\n  - ".join(rs)
    return msg


def _te_nevra(te):
    nevra = te.N() + '-'
    if te.E() is not None and te.E() != '0':
        nevra += te.E() + ':'
    return nevra + te.V() + '-' + te.R() + '.' + te.A()


def _log_rpm_trans_with_swdb(rpm_transaction, swdb_transaction):
    logger.debug("Logging transaction elements")
    for rpm_el in rpm_transaction:
        tsi = rpm_el.Key()
        tsi_state = None
        if tsi is not None:
            tsi_state = tsi.state
        msg = "RPM element: '{}', Key(): '{}', Key state: '{}', Failed() '{}': ".format(
            _te_nevra(rpm_el), tsi, tsi_state, rpm_el.Failed())
        logger.debug(msg)
    for tsi in swdb_transaction:
        msg = "SWDB element: '{}', State: '{}', Action: '{}', From repo: '{}', Reason: '{}', " \
              "Get reason: '{}'".format(str(tsi), tsi.state, tsi.action, tsi.from_repo, tsi.reason,
                                        tsi.get_reason())
        logger.debug(msg)


def _sync_rpm_trans_with_swdb(rpm_transaction, swdb_transaction):
    revert_actions = {libdnf.transaction.TransactionItemAction_DOWNGRADED,
                      libdnf.transaction.TransactionItemAction_OBSOLETED,
                      libdnf.transaction.TransactionItemAction_REMOVE,
                      libdnf.transaction.TransactionItemAction_UPGRADED,
                      libdnf.transaction.TransactionItemAction_REINSTALLED}
    cached_tsi = [tsi for tsi in swdb_transaction]
    el_not_found = False
    error = False
    for rpm_el in rpm_transaction:
        te_nevra = _te_nevra(rpm_el)
        tsi = rpm_el.Key()
        if tsi is None or not hasattr(tsi, "pkg"):
            for tsi_candidate in cached_tsi:
                if tsi_candidate.state != libdnf.transaction.TransactionItemState_UNKNOWN:
                    continue
                if tsi_candidate.action not in revert_actions:
                    continue
                if str(tsi_candidate) == te_nevra:
                    tsi = tsi_candidate
                    break
        if tsi is None or not hasattr(tsi, "pkg"):
            logger.critical(_("TransactionItem not found for key: {}").format(te_nevra))
            el_not_found = True
            continue
        if rpm_el.Failed():
            tsi.state = libdnf.transaction.TransactionItemState_ERROR
            error = True
        else:
            tsi.state = libdnf.transaction.TransactionItemState_DONE
    for tsi in cached_tsi:
        if tsi.state == libdnf.transaction.TransactionItemState_UNKNOWN:
            logger.critical(_("TransactionSWDBItem not found for key: {}").format(str(tsi)))
            el_not_found = True
    if error:
        logger.debug(_('Errors occurred during transaction.'))
    if el_not_found:
        _log_rpm_trans_with_swdb(rpm_transaction, cached_tsi)


class tmpdir(object):
    # used by subscription-manager (src/dnf-plugins/product-id.py)
    def __init__(self):
        prefix = '%s-' % dnf.const.PREFIX
        self.path = tempfile.mkdtemp(prefix=prefix)

    def __enter__(self):
        return self.path

    def __exit__(self, exc_type, exc_value, traceback):
        rm_rf(self.path)

class Bunch(dict):
    """Dictionary with attribute accessing syntax.

    In DNF, prefer using this over dnf.yum.misc.GenericHolder.

    Credit: Alex Martelli, Doug Hudgeon

    """
    def __init__(self, *args, **kwds):
         super(Bunch, self).__init__(*args, **kwds)
         self.__dict__ = self

    def __hash__(self):
        return id(self)


class MultiCallList(list):
    def __init__(self, iterable):
        super(MultiCallList, self).__init__()
        self.extend(iterable)

    def __getattr__(self, what):
        def fn(*args, **kwargs):
            def call_what(v):
                method = getattr(v, what)
                return method(*args, **kwargs)
            return list(map(call_what, self))
        return fn

    def __setattr__(self, what, val):
        def setter(item):
            setattr(item, what, val)
        return list(map(setter, self))


def _make_lists(transaction):
    b = Bunch({
        'downgraded': [],
        'erased': [],
        'erased_clean': [],
        'erased_dep': [],
        'installed': [],
        'installed_group': [],
        'installed_dep': [],
        'installed_weak': [],
        'reinstalled': [],
        'upgraded': [],
        'failed': [],
    })

    for tsi in transaction:
        if tsi.state == libdnf.transaction.TransactionItemState_ERROR:
            b.failed.append(tsi)
        elif tsi.action == libdnf.transaction.TransactionItemAction_DOWNGRADE:
            b.downgraded.append(tsi)
        elif tsi.action == libdnf.transaction.TransactionItemAction_INSTALL:
            if tsi.reason == libdnf.transaction.TransactionItemReason_GROUP:
                b.installed_group.append(tsi)
            elif tsi.reason == libdnf.transaction.TransactionItemReason_DEPENDENCY:
                b.installed_dep.append(tsi)
            elif tsi.reason == libdnf.transaction.TransactionItemReason_WEAK_DEPENDENCY:
                b.installed_weak.append(tsi)
            else:
                # TransactionItemReason_USER
                b.installed.append(tsi)
        elif tsi.action == libdnf.transaction.TransactionItemAction_REINSTALL:
            b.reinstalled.append(tsi)
        elif tsi.action == libdnf.transaction.TransactionItemAction_REMOVE:
            if tsi.reason == libdnf.transaction.TransactionItemReason_CLEAN:
                b.erased_clean.append(tsi)
            elif tsi.reason == libdnf.transaction.TransactionItemReason_DEPENDENCY:
                b.erased_dep.append(tsi)
            else:
                b.erased.append(tsi)
        elif tsi.action == libdnf.transaction.TransactionItemAction_UPGRADE:
            b.upgraded.append(tsi)

    return b


def _post_transaction_output(base, transaction, action_callback):
    """Returns a human-readable summary of the results of the
    transaction.

    :param action_callback: function generating output for specific action. It
       takes two parameters - action as a string and list of affected packages for
       this action
    :return: a list of lines containing a human-readable summary of the
       results of the transaction
    """
    def _tsi_or_pkg_nevra_cmp(item1, item2):
        """Compares two transaction items or packages by nevra.
           Used as a fallback when tsi does not contain package object.
        """
        ret = (item1.name > item2.name) - (item1.name < item2.name)
        if ret != 0:
            return ret
        nevra1 = hawkey.NEVRA(name=item1.name, epoch=item1.epoch, version=item1.version,
                              release=item1.release, arch=item1.arch)
        nevra2 = hawkey.NEVRA(name=item2.name, epoch=item2.epoch, version=item2.version,
                              release=item2.release, arch=item2.arch)
        ret = nevra1.evr_cmp(nevra2, base.sack)
        if ret != 0:
            return ret
        return (item1.arch > item2.arch) - (item1.arch < item2.arch)

    list_bunch = dnf.util._make_lists(transaction)

    skipped_conflicts, skipped_broken = base._skipped_packages(
        report_problems=False, transaction=transaction)
    skipped = skipped_conflicts.union(skipped_broken)

    out = []
    for (action, tsis) in [(_('Upgraded'), list_bunch.upgraded),
                           (_('Downgraded'), list_bunch.downgraded),
                           (_('Installed'), list_bunch.installed +
                            list_bunch.installed_group +
                            list_bunch.installed_weak +
                            list_bunch.installed_dep),
                           (_('Reinstalled'), list_bunch.reinstalled),
                           (_('Skipped'), skipped),
                           (_('Removed'), list_bunch.erased +
                               list_bunch.erased_dep +
                               list_bunch.erased_clean),
                           (_('Failed'), list_bunch.failed)]:
        out.extend(action_callback(
            action, sorted(tsis, key=functools.cmp_to_key(_tsi_or_pkg_nevra_cmp))))

    return out
PK"�FZ4�?mm__init__.pynu�[���# __init__.py
# The toplevel DNF package.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals
import warnings
import dnf.pycomp

warnings.filterwarnings('once', category=DeprecationWarning, module=r'^dnf\..*$')

from dnf.const import VERSION
__version__ = VERSION  # :api

import dnf.base
Base = dnf.base.Base # :api

import dnf.plugin
Plugin = dnf.plugin.Plugin # :api

# setup libraries
dnf.pycomp.urlparse.uses_fragment.append("media")
PK"�FZd��ٌ�callback.pynu�[���# callbacks.py
# Abstract interfaces to communicate progress on tasks.
#
# Copyright (C) 2014-2015  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import unicode_literals
import dnf.yum.rpmtrans

import dnf.transaction

PKG_DOWNGRADE = dnf.transaction.PKG_DOWNGRADE  # :api
PKG_DOWNGRADED = dnf.transaction.PKG_DOWNGRADED  # :api
PKG_INSTALL = dnf.transaction.PKG_INSTALL  # :api
PKG_OBSOLETE = dnf.transaction.PKG_OBSOLETE  # :api
PKG_OBSOLETED = dnf.transaction.PKG_OBSOLETED  # :api
PKG_REINSTALL = dnf.transaction.PKG_REINSTALL  # :api
PKG_REINSTALLED = dnf.transaction.PKG_REINSTALLED  # :api
PKG_REMOVE = dnf.transaction.PKG_ERASE  # :api
PKG_ERASE = PKG_REMOVE  # deprecated, use PKG_REMOVE instead
PKG_UPGRADE = dnf.transaction.PKG_UPGRADE  # :api
PKG_UPGRADED = dnf.transaction.PKG_UPGRADED  # :api

PKG_CLEANUP = dnf.transaction.PKG_CLEANUP  # :api
PKG_VERIFY = dnf.transaction.PKG_VERIFY  # :api
PKG_SCRIPTLET = dnf.transaction.PKG_SCRIPTLET  # :api

TRANS_PREPARATION = dnf.transaction.TRANS_PREPARATION  # :api
TRANS_POST = dnf.transaction.TRANS_POST  # :api

STATUS_OK = None # :api
STATUS_FAILED = 1 # :api
STATUS_ALREADY_EXISTS = 2 # :api
STATUS_MIRROR = 3  # :api
STATUS_DRPM = 4    # :api


class KeyImport(object):
    def _confirm(self, id, userid, fingerprint, url, timestamp):
        """Ask the user if the key should be imported."""
        return False


class Payload(object):
    # :api

    def __init__(self, progress):
        self.progress = progress

    def __str__(self):
        """Nice, human-readable representation. :api"""
        pass

    @property
    def download_size(self):
        """Total size of the download. :api"""
        pass


class DownloadProgress(object):
    # :api

    def end(self, payload, status, msg):
        """Communicate the information that `payload` has finished downloading.

        :api, `status` is a constant denoting the type of outcome, `err_msg` is an
        error message in case the outcome was an error.

        """
        pass

    def message(self, msg):
        pass

    def progress(self, payload, done):
        """Update the progress display. :api

        `payload` is the payload this call reports progress for, `done` is how
        many bytes of this payload are already downloaded.

        """

        pass

    def start(self, total_files, total_size, total_drpms=0):
        """Start new progress metering. :api

        `total_files` the number of files that will be downloaded,
        `total_size` total size of all files.

        """

        pass


class NullDownloadProgress(DownloadProgress):
    pass


class Depsolve(object):
    def start(self):
        pass

    def pkg_added(self, pkg, mode):
        pass

    def end(self):
        pass


TransactionProgress = dnf.yum.rpmtrans.TransactionDisplay  # :api
PK"�FZ�mqafaftransaction_sr.pynu�[���# Copyright (C) 2020 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import libdnf
import hawkey

from dnf.i18n import _
import dnf.exceptions

import json


VERSION_MAJOR = 0
VERSION_MINOR = 0
VERSION = "%s.%s" % (VERSION_MAJOR, VERSION_MINOR)
"""
The version of the stored transaction.

MAJOR version denotes backwards incompatible changes (old dnf won't work with
new transaction JSON).

MINOR version denotes extending the format without breaking backwards
compatibility (old dnf can work with new transaction JSON). Forwards
compatibility needs to be handled by being able to process the old format as
well as the new one.
"""


class TransactionError(dnf.exceptions.Error):
    def __init__(self, msg):
        super(TransactionError, self).__init__(msg)


class TransactionReplayError(dnf.exceptions.Error):
    def __init__(self, filename, errors):
        """
        :param filename: The name of the transaction file being replayed
        :param errors: a list of error classes or a string with an error description
        """

        # store args in case someone wants to read them from a caught exception
        self.filename = filename
        if isinstance(errors, (list, tuple)):
            self.errors = errors
        else:
            self.errors = [errors]

        if filename:
            msg = _('The following problems occurred while replaying the transaction from file "{filename}":').format(filename=filename)
        else:
            msg = _('The following problems occurred while running a transaction:')

        for error in self.errors:
            msg += "\n  " + str(error)

        super(TransactionReplayError, self).__init__(msg)


class IncompatibleTransactionVersionError(TransactionReplayError):
    def __init__(self, filename, msg):
        super(IncompatibleTransactionVersionError, self).__init__(filename, msg)


def _check_version(version, filename):
    major, minor = version.split('.')

    try:
        major = int(major)
    except ValueError as e:
        raise TransactionReplayError(
            filename,
            _('Invalid major version "{major}", number expected.').format(major=major)
        )

    try:
        int(minor)  # minor is unused, just check it's a number
    except ValueError as e:
        raise TransactionReplayError(
            filename,
            _('Invalid minor version "{minor}", number expected.').format(minor=minor)
        )

    if major != VERSION_MAJOR:
        raise IncompatibleTransactionVersionError(
            filename,
            _('Incompatible major version "{major}", supported major version is "{major_supp}".')
                .format(major=major, major_supp=VERSION_MAJOR)
        )


def serialize_transaction(transaction):
    """
    Serializes a transaction to a data structure that is equivalent to the stored JSON format.
    :param transaction: the transaction to serialize (an instance of dnf.db.history.TransactionWrapper)
    """

    data = {
        "version": VERSION,
    }
    rpms = []
    groups = []
    environments = []

    if transaction is None:
        return data

    for tsi in transaction.packages():
        if tsi.is_package():
            rpms.append({
                "action": tsi.action_name,
                "nevra": tsi.nevra,
                "reason": libdnf.transaction.TransactionItemReasonToString(tsi.reason),
                "repo_id": tsi.from_repo
            })

        elif tsi.is_group():
            group = tsi.get_group()

            group_data = {
                "action": tsi.action_name,
                "id": group.getGroupId(),
                "packages": [],
                "package_types": libdnf.transaction.compsPackageTypeToString(group.getPackageTypes())
            }

            for pkg in group.getPackages():
                group_data["packages"].append({
                    "name": pkg.getName(),
                    "installed": pkg.getInstalled(),
                    "package_type": libdnf.transaction.compsPackageTypeToString(pkg.getPackageType())
                })

            groups.append(group_data)

        elif tsi.is_environment():
            env = tsi.get_environment()

            env_data = {
                "action": tsi.action_name,
                "id": env.getEnvironmentId(),
                "groups": [],
                "package_types": libdnf.transaction.compsPackageTypeToString(env.getPackageTypes())
            }

            for grp in env.getGroups():
                env_data["groups"].append({
                    "id": grp.getGroupId(),
                    "installed": grp.getInstalled(),
                    "group_type": libdnf.transaction.compsPackageTypeToString(grp.getGroupType())
                })

            environments.append(env_data)

    if rpms:
        data["rpms"] = rpms

    if groups:
        data["groups"] = groups

    if environments:
        data["environments"] = environments

    return data


class TransactionReplay(object):
    """
    A class that encapsulates replaying a transaction. The transaction data are
    loaded and stored when the class is initialized. The transaction is run by
    calling the `run()` method, after the transaction is created (but before it is
    performed), the `post_transaction()` method needs to be called to verify no
    extra packages were pulled in and also to fix the reasons.
    """

    def __init__(
        self,
        base,
        filename="",
        data=None,
        ignore_extras=False,
        ignore_installed=False,
        skip_unavailable=False
    ):
        """
        :param base: the dnf base
        :param filename: the filename to load the transaction from (conflicts with the 'data' argument)
        :param data: the dictionary to load the transaction from (conflicts with the 'filename' argument)
        :param ignore_extras: whether to ignore extra package pulled into the transaction
        :param ignore_installed: whether to ignore installed versions of packages
        :param skip_unavailable: whether to skip transaction packages that aren't available
        """

        self._base = base
        self._filename = filename
        self._ignore_installed = ignore_installed
        self._ignore_extras = ignore_extras
        self._skip_unavailable = skip_unavailable

        if not self._base.conf.strict:
            self._skip_unavailable = True

        self._nevra_cache = set()
        self._nevra_reason_cache = {}
        self._warnings = []

        if filename and data:
            raise ValueError(_("Conflicting TransactionReplay arguments have been specified: filename, data"))
        elif filename:
            self._load_from_file(filename)
        else:
            self._load_from_data(data)


    def _load_from_file(self, fn):
        self._filename = fn
        with open(fn, "r") as f:
            try:
                replay_data = json.load(f)
            except json.decoder.JSONDecodeError as e:
                raise TransactionReplayError(fn, str(e) + ".")

        try:
            self._load_from_data(replay_data)
        except TransactionError as e:
            raise TransactionReplayError(fn, e)

    def _load_from_data(self, data):
        self._replay_data = data
        self._verify_toplevel_json(self._replay_data)

        self._rpms = self._replay_data.get("rpms", [])
        self._assert_type(self._rpms, list, "rpms", "array")

        self._groups = self._replay_data.get("groups", [])
        self._assert_type(self._groups, list, "groups", "array")

        self._environments = self._replay_data.get("environments", [])
        self._assert_type(self._environments, list, "environments", "array")

    def _raise_or_warn(self, warn_only, msg):
        if warn_only:
            self._warnings.append(msg)
        else:
            raise TransactionError(msg)

    def _assert_type(self, value, t, id, expected):
        if not isinstance(value, t):
            raise TransactionError(_('Unexpected type of "{id}", {exp} expected.').format(id=id, exp=expected))

    def _verify_toplevel_json(self, replay_data):
        fn = self._filename

        if "version" not in replay_data:
            raise TransactionReplayError(fn, _('Missing key "{key}".'.format(key="version")))

        self._assert_type(replay_data["version"], str, "version", "string")

        _check_version(replay_data["version"], fn)

    def _replay_pkg_action(self, pkg_data):
        try:
            action = pkg_data["action"]
            nevra = pkg_data["nevra"]
            repo_id = pkg_data["repo_id"]
            reason = libdnf.transaction.StringToTransactionItemReason(pkg_data["reason"])
        except KeyError as e:
            raise TransactionError(
                _('Missing object key "{key}" in an rpm.').format(key=e.args[0])
            )
        except IndexError as e:
            raise TransactionError(
                _('Unexpected value of package reason "{reason}" for rpm nevra "{nevra}".')
                    .format(reason=pkg_data["reason"], nevra=nevra)
            )

        subj = hawkey.Subject(nevra)
        parsed_nevras = subj.get_nevra_possibilities(forms=[hawkey.FORM_NEVRA])

        if len(parsed_nevras) != 1:
            raise TransactionError(_('Cannot parse NEVRA for package "{nevra}".').format(nevra=nevra))

        parsed_nevra = parsed_nevras[0]
        na = "%s.%s" % (parsed_nevra.name, parsed_nevra.arch)

        query_na = self._base.sack.query().filter(name=parsed_nevra.name, arch=parsed_nevra.arch)

        epoch = parsed_nevra.epoch if parsed_nevra.epoch is not None else 0
        query = query_na.filter(epoch=epoch, version=parsed_nevra.version, release=parsed_nevra.release)

        # In case the package is found in the same repo as in the original
        # transaction, limit the query to that plus installed packages. IOW
        # remove packages with the same NEVRA in case they are found in
        # multiple repos and the repo the package came from originally is one
        # of them.
        # This can e.g. make a difference in the system-upgrade plugin, in case
        # the same NEVRA is in two repos, this makes sure the same repo is used
        # for both download and upgrade steps of the plugin.
        if repo_id:
            query_repo = query.filter(reponame=repo_id)
            if query_repo:
                query = query_repo.union(query.installed())

        if not query:
            self._raise_or_warn(self._skip_unavailable, _('Cannot find rpm nevra "{nevra}".').format(nevra=nevra))
            return

        # a cache to check no extra packages were pulled into the transaction
        if action != "Reason Change":
            self._nevra_cache.add(nevra)

        # store reasons for forward actions and "Removed", the rest of the
        # actions reasons should stay as they were determined by the transaction
        if action in ("Install", "Upgrade", "Downgrade", "Reinstall", "Removed"):
            self._nevra_reason_cache[nevra] = reason

        if action in ("Install", "Upgrade", "Downgrade"):
            if action == "Install" and query_na.installed() and not self._base._get_installonly_query(query_na):
                self._raise_or_warn(self._ignore_installed,
                    _('Package "{na}" is already installed for action "{action}".').format(na=na, action=action))

            sltr = dnf.selector.Selector(self._base.sack).set(pkg=query)
            self._base.goal.install(select=sltr, optional=not self._base.conf.strict)
        elif action == "Reinstall":
            query = query.available()

            if not query:
                self._raise_or_warn(self._skip_unavailable,
                    _('Package nevra "{nevra}" not available in repositories for action "{action}".')
                    .format(nevra=nevra, action=action))
                return

            sltr = dnf.selector.Selector(self._base.sack).set(pkg=query)
            self._base.goal.install(select=sltr, optional=not self._base.conf.strict)
        elif action in ("Upgraded", "Downgraded", "Reinstalled", "Removed", "Obsoleted"):
            query = query.installed()

            if not query:
                self._raise_or_warn(self._ignore_installed,
                    _('Package nevra "{nevra}" not installed for action "{action}".').format(nevra=nevra, action=action))
                return

            # erasing the original version (the reverse part of an action like
            # e.g. upgrade) is more robust, but we can't do it if
            # skip_unavailable is True, because if the forward part of the
            # action is skipped, we would simply remove the package here
            if not self._skip_unavailable or action == "Removed":
                for pkg in query:
                    self._base.goal.erase(pkg, clean_deps=False)
        elif action == "Reason Change":
            self._base.history.set_reason(query[0], reason)
        else:
            raise TransactionError(
                _('Unexpected value of package action "{action}" for rpm nevra "{nevra}".')
                    .format(action=action, nevra=nevra)
            )

    def _create_swdb_group(self, group_id, pkg_types, pkgs):
        comps_group = self._base.comps._group_by_id(group_id)
        if not comps_group:
            self._raise_or_warn(self._skip_unavailable, _("Group id '%s' is not available.") % group_id)
            return None

        swdb_group = self._base.history.group.new(group_id, comps_group.name, comps_group.ui_name, pkg_types)

        try:
            for pkg in pkgs:
                name = pkg["name"]
                self._assert_type(name, str, "groups.packages.name", "string")
                installed = pkg["installed"]
                self._assert_type(installed, bool, "groups.packages.installed", "boolean")
                package_type = pkg["package_type"]
                self._assert_type(package_type, str, "groups.packages.package_type", "string")

                try:
                    swdb_group.addPackage(name, installed, libdnf.transaction.stringToCompsPackageType(package_type))
                except libdnf.error.Error as e:
                    raise TransactionError(str(e))

        except KeyError as e:
            raise TransactionError(
                _('Missing object key "{key}" in groups.packages.').format(key=e.args[0])
            )

        return swdb_group

    def _swdb_group_install(self, group_id, pkg_types, pkgs):
        swdb_group = self._create_swdb_group(group_id, pkg_types, pkgs)

        if swdb_group is not None:
            self._base.history.group.install(swdb_group)

    def _swdb_group_upgrade(self, group_id, pkg_types, pkgs):
        if not self._base.history.group.get(group_id):
            self._raise_or_warn( self._ignore_installed, _("Group id '%s' is not installed.") % group_id)
            return

        swdb_group = self._create_swdb_group(group_id, pkg_types, pkgs)

        if swdb_group is not None:
            self._base.history.group.upgrade(swdb_group)

    def _swdb_group_downgrade(self, group_id, pkg_types, pkgs):
        if not self._base.history.group.get(group_id):
            self._raise_or_warn(self._ignore_installed, _("Group id '%s' is not installed.") % group_id)
            return

        swdb_group = self._create_swdb_group(group_id, pkg_types, pkgs)

        if swdb_group is not None:
            self._base.history.group.downgrade(swdb_group)

    def _swdb_group_remove(self, group_id, pkg_types, pkgs):
        if not self._base.history.group.get(group_id):
            self._raise_or_warn(self._ignore_installed, _("Group id '%s' is not installed.") % group_id)
            return

        swdb_group = self._create_swdb_group(group_id, pkg_types, pkgs)

        if swdb_group is not None:
            self._base.history.group.remove(swdb_group)

    def _create_swdb_environment(self, env_id, pkg_types, groups):
        comps_env = self._base.comps._environment_by_id(env_id)
        if not comps_env:
            self._raise_or_warn(self._skip_unavailable, _("Environment id '%s' is not available.") % env_id)
            return None

        swdb_env = self._base.history.env.new(env_id, comps_env.name, comps_env.ui_name, pkg_types)

        try:
            for grp in groups:
                id = grp["id"]
                self._assert_type(id, str, "environments.groups.id", "string")
                installed = grp["installed"]
                self._assert_type(installed, bool, "environments.groups.installed", "boolean")
                group_type = grp["group_type"]
                self._assert_type(group_type, str, "environments.groups.group_type", "string")

                try:
                    group_type = libdnf.transaction.stringToCompsPackageType(group_type)
                except libdnf.error.Error as e:
                    raise TransactionError(str(e))

                if group_type not in (
                    libdnf.transaction.CompsPackageType_MANDATORY,
                    libdnf.transaction.CompsPackageType_OPTIONAL
                ):
                    raise TransactionError(
                        _('Invalid value "{group_type}" of environments.groups.group_type, '
                            'only "mandatory" or "optional" is supported.'
                        ).format(group_type=grp["group_type"])
                    )

                swdb_env.addGroup(id, installed, group_type)
        except KeyError as e:
            raise TransactionError(
                _('Missing object key "{key}" in environments.groups.').format(key=e.args[0])
            )

        return swdb_env

    def _swdb_environment_install(self, env_id, pkg_types, groups):
        swdb_env = self._create_swdb_environment(env_id, pkg_types, groups)

        if swdb_env is not None:
            self._base.history.env.install(swdb_env)

    def _swdb_environment_upgrade(self, env_id, pkg_types, groups):
        if not self._base.history.env.get(env_id):
            self._raise_or_warn(self._ignore_installed,_("Environment id '%s' is not installed.") % env_id)
            return

        swdb_env = self._create_swdb_environment(env_id, pkg_types, groups)

        if swdb_env is not None:
            self._base.history.env.upgrade(swdb_env)

    def _swdb_environment_downgrade(self, env_id, pkg_types, groups):
        if not self._base.history.env.get(env_id):
            self._raise_or_warn(self._ignore_installed, _("Environment id '%s' is not installed.") % env_id)
            return

        swdb_env = self._create_swdb_environment(env_id, pkg_types, groups)

        if swdb_env is not None:
            self._base.history.env.downgrade(swdb_env)

    def _swdb_environment_remove(self, env_id, pkg_types, groups):
        if not self._base.history.env.get(env_id):
            self._raise_or_warn(self._ignore_installed, _("Environment id '%s' is not installed.") % env_id)
            return

        swdb_env = self._create_swdb_environment(env_id, pkg_types, groups)

        if swdb_env is not None:
            self._base.history.env.remove(swdb_env)

    def get_data(self):
        """
        :returns: the loaded data of the transaction
        """

        return self._replay_data

    def get_warnings(self):
        """
        :returns: an array of warnings gathered during the transaction replay
        """

        return self._warnings

    def run(self):
        """
        Replays the transaction.
        """

        fn = self._filename
        errors = []

        for pkg_data in self._rpms:
            try:
                self._replay_pkg_action(pkg_data)
            except TransactionError as e:
                errors.append(e)

        for group_data in self._groups:
            try:
                action = group_data["action"]
                group_id = group_data["id"]

                try:
                    pkg_types = libdnf.transaction.stringToCompsPackageType(group_data["package_types"])
                except libdnf.error.Error as e:
                    errors.append(TransactionError(str(e)))
                    continue

                if action == "Install":
                    self._swdb_group_install(group_id, pkg_types, group_data["packages"])
                elif action == "Removed":
                    self._swdb_group_remove(group_id, pkg_types, group_data["packages"])
                # Groups are not versioned, but a reverse transaction could be applied,
                # therefore we treat both actions the same way
                elif action == "Upgrade" or action == "Upgraded":
                    self._swdb_group_upgrade(group_id, pkg_types, group_data["packages"])
                elif action == "Downgrade" or action == "Downgraded":
                    self._swdb_group_downgrade(group_id, pkg_types, group_data["packages"])
                else:
                    errors.append(TransactionError(
                        _('Unexpected value of group action "{action}" for group "{group}".')
                            .format(action=action, group=group_id)
                    ))
            except KeyError as e:
                errors.append(TransactionError(
                    _('Missing object key "{key}" in a group.').format(key=e.args[0])
                ))
            except TransactionError as e:
                errors.append(e)

        for env_data in self._environments:
            try:
                action = env_data["action"]
                env_id = env_data["id"]

                try:
                    pkg_types = libdnf.transaction.stringToCompsPackageType(env_data["package_types"])
                except libdnf.error.Error as e:
                    errors.append(TransactionError(str(e)))
                    continue

                if action == "Install":
                    self._swdb_environment_install(env_id, pkg_types, env_data["groups"])
                elif action == "Removed":
                    self._swdb_environment_remove(env_id, pkg_types, env_data["groups"])
                # Environments are not versioned, but a reverse transaction could be applied,
                # therefore we treat both actions the same way
                elif action == "Upgrade" or action == "Upgraded":
                    self._swdb_environment_upgrade(env_id, pkg_types, env_data["groups"])
                elif action == "Downgrade" or action == "Downgraded":
                    self._swdb_environment_downgrade(env_id, pkg_types, env_data["groups"])
                else:
                    errors.append(TransactionError(
                        _('Unexpected value of environment action "{action}" for environment "{env}".')
                            .format(action=action, env=env_id)
                    ))
            except KeyError as e:
                errors.append(TransactionError(
                    _('Missing object key "{key}" in an environment.').format(key=e.args[0])
                ))
            except TransactionError as e:
                errors.append(e)

        if errors:
            raise TransactionReplayError(fn, errors)

    def post_transaction(self):
        """
        Sets reasons in the transaction history to values from the stored transaction.

        Also serves to check whether additional packages were pulled in by the
        transaction, which results in an error (unless ignore_extras is True).
        """

        if not self._base.transaction:
            return

        errors = []

        for tsi in self._base.transaction:
            try:
                pkg = tsi.pkg
            except KeyError as e:
                # the transaction item has no package, happens for action == "Reason Change"
                continue

            nevra = str(pkg)

            if nevra not in self._nevra_cache:
                # if ignore_installed is True, we don't want to check for
                # Upgraded/Downgraded/Reinstalled extras in the transaction,
                # basically those may be installed and we are ignoring them
                if not self._ignore_installed or not tsi.action in (
                    libdnf.transaction.TransactionItemAction_UPGRADED,
                    libdnf.transaction.TransactionItemAction_DOWNGRADED,
                    libdnf.transaction.TransactionItemAction_REINSTALLED
                ):
                    msg = _('Package nevra "{nevra}", which is not present in the transaction file, was pulled '
                        'into the transaction.'
                    ).format(nevra=nevra)

                    if not self._ignore_extras:
                        errors.append(TransactionError(msg))
                    else:
                        self._warnings.append(msg)

            try:
                replay_reason = self._nevra_reason_cache[nevra]

                if tsi.action in (
                    libdnf.transaction.TransactionItemAction_INSTALL,
                    libdnf.transaction.TransactionItemAction_REMOVE
                ) or libdnf.transaction.TransactionItemReasonCompare(replay_reason, tsi.reason) > 0:
                    tsi.reason = replay_reason
            except KeyError as e:
                # if the pkg nevra wasn't found, we don't want to change the reason
                pass

        if errors:
            raise TransactionReplayError(self._filename, errors)
PK"�FZ��eeeselector.pynu�[���# selector.py
# DNF specific hawkey.Selector handling.
#
# Copyright (C) 2012-2016 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

from __future__ import absolute_import
from __future__ import unicode_literals

from hawkey import Selector
PKʀFZ�g�900history.sqlitenu�[���PKʀFZl���((6>0modulefailsafe/javapackages-runtime:201801:x86_64.yamlnu�[���PKʀFZ�
��/�5modulefailsafe/perl-DBD-SQLite:1.58:x86_64.yamlnu�[���PKʀFZ�Dϩ��$�<modulefailsafe/httpd:2.4:x86_64.yamlnu�[���PKʀFZ�(�X�X$�Imodulefailsafe/virt:rhel:x86_64.yamlnu�[���PKʀFZ���Xjj$�modulefailsafe/perl:5.26:x86_64.yamlnu�[���PKʀFZ�>r���3ӱmodulefailsafe/perl-IO-Socket-SSL:2.066:x86_64.yamlnu�[���PKʀFZ�٧j	j	-�modulefailsafe/rust-toolset:rhel8:x86_64.yamlnu�[���PKʀFZڈ*�x
x
$��modulefailsafe/nodejs:10:x86_64.yamlnu�[���PKʀFZxC>���'f�modulefailsafe/mariadb:10.3:x86_64.yamlnu�[���PKʀFZ���8/"/"0��modulefailsafe/perl-libwww-perl:6.34:x86_64.yamlnu�[���PKʀFZ�A�"%	modulefailsafe/php:7.2:x86_64.yamlnu�[���PKʀFZ�(7Mg
g
4�$modulefailsafe/perl-App-cpanminus:1.7044:x86_64.yamlnu�[���PKʀFZ.�̣��'S2modulefailsafe/python36:3.6:x86_64.yamlnu�[���PKʀFZF�>��/�Omodulefailsafe/perl-DBD-MySQL:4.046:x86_64.yamlnu�[���PKʀFZ����ff)Umodulefailsafe/perl-YAML:1.24:x86_64.yamlnu�[���PKʀFZx����%>[modulefailsafe/nginx:1.14:x86_64.yamlnu�[���PKʀFZ�6��``)�dmodulefailsafe/perl-DBI:1.641:x86_64.yamlnu�[���PKʀFZ�=,

$Kkmodulefailsafe/mysql:8.0:x86_64.yamlnu�[���PKʀFZZ'�xRxR'�xmodulefailsafe/python27:2.7:x86_64.yamlnu�[���PKʀFZ�h�!�!-��modulefailsafe/llvm-toolset:rhel8:x86_64.yamlnu�[���PKʀFZw�h,PP)��modulefailsafe/perl-FCGI:0.78:x86_64.yamlnu�[���PKʀFZ�(5��*W�modulefailsafe/perl-DBD-Pg:3.7:x86_64.yamlnu�[���PKʀFZ���a��#��modulefailsafe/ruby:2.5:x86_64.yamlnu�[���PKʀFZ���Axx$ymodulefailsafe/varnish:6:x86_64.yamlnu�[���PKʀFZ�w1��
�
*Emodulefailsafe/subversion:1.10:x86_64.yamlnu�[���PKʀFZxU�+L,repos/epel-modular-1c5bd3bdaaadd9e7/countmenu�[���PKʀFZ�<"T%�,repos/extras-b5feef55fd8cf39e/countmenu�[���PKʀFZ�5,.%.-repos/baseos-3e608afeebc9a90b/countmenu�[���PKʀFZۺf|)�-repos/powertools-4052165f5dae4a66/countmenu�[���PKʀFZa�o�(.repos/appstream-62ae9a0bbea44fbe/countmenu�[���PKʀFZ&7�$#.repos/epel-2f52d25564da0fd7/countmenu�[���PKʀFZ�a����.history.sqlite-shmnu�[���PKʀFZ�q��N?�N?.�history.sqlite-walnu�[���PK!�FZ*�s�r(r(
��Ulogging.pynu�[���PK!�FZU+�����&Vbase.pynu�[���PK!�FZ�g@!0!0��Wi18n.pynu�[���PK!�FZ�5�\YY("Xrpm/connection.pynu�[���PK!�FZB�Of���'Xrpm/__init__.pynu�[���PK!�FZk�?��:Xrpm/miscutils.pynu�[���PK!�FZ��j$JXrpm/__pycache__/error.cpython-36.pycnu�[���PK!�FZ����	�	.�KXrpm/__pycache__/miscutils.cpython-36.opt-1.pycnu�[���PK!�FZ��j*�UXrpm/__pycache__/error.cpython-36.opt-1.pycnu�[���PK!�FZǣ$)�VXrpm/__pycache__/connection.cpython-36.pycnu�[���PK!�FZ����	�	(aZXrpm/__pycache__/miscutils.cpython-36.pycnu�[���PK!�FZǣ$/[dXrpm/__pycache__/connection.cpython-36.opt-1.pycnu�[���PK!�FZed�A-�gXrpm/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK!�FZJ��hh0GvXrpm/__pycache__/transaction.cpython-36.opt-1.pycnu�[���PK!�FZJ��hh*�Xrpm/__pycache__/transaction.cpython-36.pycnu�[���PK!�FZed�A'ѓXrpm/__pycache__/__init__.cpython-36.pycnu�[���PK!�FZ������>�Xrpm/transaction.pynu�[���PK!�FZ#�k�Xrpm/error.pynu�[���PK!�FZS���--��Xtransaction.pynu�[���PK!�FZ�"�33�Xquery.pynu�[���PK!�FZY't�oo��Xpersistor.pynu�[���PK!�FZ8A�~~
.�Xhistory.pynu�[���PK!�FZ8����+�+
��Xpackage.pynu�[���PK!�FZ;G@�V%V%	�Yplugin.pynu�[���PK!�FZM�v��s6Ydrpm.pynu�[���PK!�FZuTV&&zOYrepodict.pynu�[���PK!�FZ�4�X��)�cY__pycache__/repodict.cpython-36.opt-1.pycnu�[���PK!�FZ��"�yY__pycache__/history.cpython-36.pycnu�[���PK!�FZ'&s�gg&N{Y__pycache__/transaction.cpython-36.pycnu�[���PK!�FZf獖*'*'"�Y__pycache__/package.cpython-36.pycnu�[���PK!�FZr��ӑ� ��Y__pycache__/query.cpython-36.pycnu�[���PK!�FZ X�xHH%h�Y__pycache__/exceptions.cpython-36.pycnu�[���PK!�FZ7��+��%�Y__pycache__/goal.cpython-36.opt-1.pycnu�[���PK!�FZ��(C�Y__pycache__/history.cpython-36.opt-1.pycnu�[���PK!�FZ�M�)��Y__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK!�FZTv��"�"!��Y__pycache__/dnssec.cpython-36.pycnu�[���PK!�FZ<�*l77)��Y__pycache__/callback.cpython-36.opt-1.pycnu�[���PK!�FZ X�xHH+��Y__pycache__/exceptions.cpython-36.opt-1.pycnu�[���PK!�FZ<�*l77#1Z__pycache__/callback.cpython-36.pycnu�[���PK!�FZ��1G77$�)Z__pycache__/persistor.cpython-36.pycnu�[���PK!�FZ��-�_D_D/F:Z__pycache__/transaction_sr.cpython-36.opt-1.pycnu�[���PK!�FZ����dd&Z__pycache__/comps.cpython-36.opt-1.pycnu�[���PK!�FZ�U��(i�Z__pycache__/match_counter.cpython-36.pycnu�[���PK!�FZ��1G77*��Z__pycache__/persistor.cpython-36.opt-1.pycnu�[���PK!�FZ�j)��!K[__pycache__/pycomp.cpython-36.pycnu�[���PK!�FZb��9�V�V7[__pycache__/repo.cpython-36.pycnu�[���PK!�FZ�$����%Cg[__pycache__/sack.cpython-36.opt-1.pycnu�[���PK!�FZ��7��'[p[__pycache__/crypto.cpython-36.opt-1.pycnu�[���PK!�FZ�4�X��#~�[__pycache__/repodict.cpython-36.pycnu�[���PK!�FZ�ʑ%��[__pycache__/lock.cpython-36.opt-1.pycnu�[���PK!�FZ�U��.�[__pycache__/match_counter.cpython-36.opt-1.pycnu�[���PK!�FZv
_##!C�[__pycache__/plugin.cpython-36.pycnu�[���PK!�FZ��g� � "��[__pycache__/logging.cpython-36.pycnu�[���PK!�FZTv��"�"'�\__pycache__/dnssec.cpython-36.opt-1.pycnu�[���PK!�FZ0��,uKuK%�(\__pycache__/util.cpython-36.opt-1.pycnu�[���PK!�FZr��ӑ�&t\__pycache__/query.cpython-36.opt-1.pycnu�[���PK!�FZ�j)��'fx\__pycache__/pycomp.cpython-36.opt-1.pycnu�[���PK!�FZ��2C�%�%%X�\__pycache__/i18n.cpython-36.opt-1.pycnu�[���PK!�FZ@�Kzz 7�\__pycache__/const.cpython-36.pycnu�[���PK!�FZ�ʑ�\__pycache__/lock.cpython-36.pycnu�[���PK!�FZ@�Kzz&R�\__pycache__/const.cpython-36.opt-1.pycnu�[���PK!�FZ�r惤�"�\__pycache__/drpm.cpython-36.pycnu�[���PK!�FZ��2C�%�%�\__pycache__/i18n.cpython-36.pycnu�[���PK!�FZ�&6I I (�]__pycache__/logging.cpython-36.opt-1.pycnu�[���PK!�FZ�M�#�!]__pycache__/__init__.cpython-36.pycnu�[���PK!�FZ6�!"�#]__pycache__/subject.cpython-36.pycnu�[���PK!�FZ��7��!N%]__pycache__/crypto.cpython-36.pycnu�[���PK!�FZ�~�W�6�6k?]__pycache__/base.cpython-36.pycnu�[���PK!�FZ'&s�gg,�v^__pycache__/transaction.cpython-36.opt-1.pycnu�[���PK!�FZ�`�x��#x}^__pycache__/selector.cpython-36.pycnu�[���PK!�FZ7��+���~^__pycache__/goal.cpython-36.pycnu�[���PK!�FZb��9�V�V%�^__pycache__/repo.cpython-36.opt-1.pycnu�[���PK!�FZ�r惤�%�^__pycache__/drpm.cpython-36.opt-1.pycnu�[���PK!�FZf獖*'*'(��^__pycache__/package.cpython-36.opt-1.pycnu�[���PK!�FZ6�!(�___pycache__/subject.cpython-36.opt-1.pycnu�[���PK!�FZ�����5�5%�___pycache__/base.cpython-36.opt-1.pycnu�[���PK!�FZ�:x�kfkf K`__pycache__/comps.cpython-36.pycnu�[���PK!�FZv
_##'ֱ`__pycache__/plugin.cpython-36.opt-1.pycnu�[���PK!�FZ�$����H�`__pycache__/sack.cpython-36.pycnu�[���PK!�FZ��-�_D_D)Z�`__pycache__/transaction_sr.cpython-36.pycnu�[���PK!�FZ0��,uKuK#a__pycache__/util.cpython-36.pycnu�[���PK!�FZ�`�x��)�na__pycache__/selector.cpython-36.opt-1.pycnu�[���PK!�FZ%O�E��	 pacrypto.pynu�[���PK!�FZP���<<*D�amodule/__pycache__/__init__.cpython-36.pycnu�[���PK!�FZ����,ڊamodule/__pycache__/exceptions.cpython-36.pycnu�[���PK!�FZ����2H�amodule/__pycache__/exceptions.cpython-36.opt-1.pycnu�[���PK!�FZ7���^�^-��amodule/__pycache__/module_base.cpython-36.pycnu�[���PK!�FZP���<<0�bmodule/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK!�FZ"���^�^3�bmodule/__pycache__/module_base.cpython-36.opt-1.pycnu�[���PK!�FZh�Q�����pbmodule/module_base.pynu�[���PK"�FZE�#FFncmodule/exceptions.pynu�[���PK"�FZ�T��� cmodule/__init__.pynu�[���PK"�FZ��6%	(&cpycomp.pynu�[���PK"�FZ;a��u4ccli/__init__.pynu�[���PK"�FZ(C��		y9ccli/commands/downgrade.pynu�[���PK"�FZ#B���:�:�Bccli/commands/group.pynu�[���PK"�FZ��tD���}ccli/commands/alias.pynu�[���PK"�FZ��s	s	��ccli/commands/swap.pynu�[���PK"�FZ-?k�l&l&e�ccli/commands/shell.pynu�[���PK"�FZ3��1���ccli/commands/search.pynu�[���PK"�FZ�y��نن��ccli/commands/repoquery.pynu�[���PK"�FZ�,�� jdcli/commands/distrosync.pynu�[���PK"�FZ�J�lSS	rdcli/commands/install.pynu�[���PK"�FZ�X�:ee2��dcli/commands/__pycache__/mark.cpython-36.opt-1.pycnu�[���PK"�FZ�
'�		-j�dcli/commands/__pycache__/clean.cpython-36.pycnu�[���PK"�FZV����-Ьdcli/commands/__pycache__/alias.cpython-36.pycnu�[���PK"�FZ�!�W�,�,5��dcli/commands/__pycache__/history.cpython-36.opt-1.pycnu�[���PK"�FZ�X�:ee,F�dcli/commands/__pycache__/mark.cpython-36.pycnu�[���PK"�FZ�ϷAQQ4�dcli/commands/__pycache__/remove.cpython-36.opt-1.pycnu�[���PK"�FZ@4$B�(�(-�
ecli/commands/__pycache__/group.cpython-36.pycnu�[���PK"�FZ�
'�		34ecli/commands/__pycache__/clean.cpython-36.opt-1.pycnu�[���PK"�FZm��p��3sDecli/commands/__pycache__/shell.cpython-36.opt-1.pycnu�[���PK"�FZQx�__,�cecli/commands/__pycache__/swap.cpython-36.pycnu�[���PK"�FZm��p��-Pkecli/commands/__pycache__/shell.cpython-36.pycnu�[���PK"�FZ�&�yy5l�ecli/commands/__pycache__/deplist.cpython-36.opt-1.pycnu�[���PK"�FZ��EyOO6J�ecli/commands/__pycache__/upgrademinimal.cpython-36.pycnu�[���PK"�FZ������/��ecli/commands/__pycache__/install.cpython-36.pycnu�[���PK"�FZ(uu���2!�ecli/commands/__pycache__/distrosync.cpython-36.pycnu�[���PK"�FZ���֍(�(3#�ecli/commands/__pycache__/group.cpython-36.opt-1.pycnu�[���PK"�FZj�X��3�ecli/commands/__pycache__/check.cpython-36.opt-1.pycnu�[���PK"�FZa�0gg6�ecli/commands/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK"�FZ�͌zz2�Pfcli/commands/__pycache__/autoremove.cpython-36.pycnu�[���PK"�FZ���hh0^Xfcli/commands/__pycache__/__init__.cpython-36.pycnu�[���PK"�FZ����Q6Q62�fcli/commands/__pycache__/updateinfo.cpython-36.pycnu�[���PK"�FZ�͌zz8�fcli/commands/__pycache__/autoremove.cpython-36.opt-1.pycnu�[���PK"�FZ�&�caa/a�fcli/commands/__pycache__/upgrade.cpython-36.pycnu�[���PK"�FZx�����7!gcli/commands/__pycache__/makecache.cpython-36.opt-1.pycnu�[���PK"�FZ�ϷAQQ.wgcli/commands/__pycache__/remove.cpython-36.pycnu�[���PK"�FZV����3&#gcli/commands/__pycache__/alias.cpython-36.opt-1.pycnu�[���PK"�FZ��90[8gcli/commands/__pycache__/repolist.cpython-36.pycnu�[���PK"�FZ�&�yy/�Ugcli/commands/__pycache__/deplist.cpython-36.pycnu�[���PK"�FZ.��%��1�Ygcli/commands/__pycache__/reinstall.cpython-36.pycnu�[���PK"�FZ�&R1�egcli/commands/__pycache__/downgrade.cpython-36.pycnu�[���PK"�FZ������5Bmgcli/commands/__pycache__/install.cpython-36.opt-1.pycnu�[���PK"�FZ�!�W�,�,/j�gcli/commands/__pycache__/history.cpython-36.pycnu�[���PK"�FZj�X��-��gcli/commands/__pycache__/check.cpython-36.pycnu�[���PK"�FZ3",�t:t:.��gcli/commands/__pycache__/module.cpython-36.pycnu�[���PK"�FZ����Q6Q68e�gcli/commands/__pycache__/updateinfo.cpython-36.opt-1.pycnu�[���PK"�FZQx�__23hcli/commands/__pycache__/swap.cpython-36.opt-1.pycnu�[���PK"�FZ��96�:hcli/commands/__pycache__/repolist.cpython-36.opt-1.pycnu�[���PK"�FZD�<��7GXhcli/commands/__pycache__/reinstall.cpython-36.opt-1.pycnu�[���PK"�FZ(uu���8Cdhcli/commands/__pycache__/distrosync.cpython-36.opt-1.pycnu�[���PK"�FZ��EyOO<Kjhcli/commands/__pycache__/upgrademinimal.cpython-36.opt-1.pycnu�[���PK"�FZ^��**4ohcli/commands/__pycache__/search.cpython-36.opt-1.pycnu�[���PK"�FZ3",�t:t:4��hcli/commands/__pycache__/module.cpython-36.opt-1.pycnu�[���PK"�FZ�&R7l�hcli/commands/__pycache__/downgrade.cpython-36.opt-1.pycnu�[���PK"�FZN
�WW1��hcli/commands/__pycache__/repoquery.cpython-36.pycnu�[���PK"�FZN
�WW7Xicli/commands/__pycache__/repoquery.cpython-36.opt-1.pycnu�[���PK"�FZx�����1�qicli/commands/__pycache__/makecache.cpython-36.pycnu�[���PK"�FZ^��**.(wicli/commands/__pycache__/search.cpython-36.pycnu�[���PK"�FZ�&�caa5��icli/commands/__pycache__/upgrade.cpython-36.opt-1.pycnu�[���PK"�FZ��3z2z2v�icli/commands/repolist.pynu�[���PK"�FZ!�B�
�
8�icli/commands/mark.pynu�[���PK"�FZHh�??L�icli/commands/check.pynu�[���PK"�FZ�n�A�A��icli/commands/module.pynu�[���PK"�FZ������6jcli/commands/autoremove.pynu�[���PK"�FZ}�gO~~Cjcli/commands/upgrade.pynu�[���PK"�FZĀ�%F%F�Ujcli/commands/history.pynu�[���PK"�FZ�����P�jcli/commands/deplist.pynu�[���PK"�FZB��p��}�jcli/commands/remove.pynu�[���PK"�FZ�%� tt��jcli/commands/clean.pynu�[���PK"�FZ��N�mmf�jcli/commands/makecache.pynu�[���PK"�FZ�[fH]]�jcli/commands/reinstall.pynu�[���PK"�FZ�H2J2J��jcli/commands/updateinfo.pynu�[���PK"�FZ;�{>1kcli/commands/upgrademinimal.pynu�[���PK"�FZ|
�{}{}�8kcli/commands/__init__.pynu�[���PK"�FZ*,ϰ��V�kcli/utils.pynu�[���PK"�FZ4�B4]4]:�kcli/option_parser.pynu�[���PK"�FZ6D}����%lcli/aliases.pynu�[���PK"�FZ4�땱���
�Alcli/cli.pynu�[���PK"�FZ
�3
��lcli/format.pynu�[���PK"�FZr�:����lcli/progress.pynu�[���PK"�FZ�s�..#�mcli/__pycache__/term.cpython-36.pycnu�[���PK"�FZ.�/<<,dJmcli/__pycache__/aliases.cpython-36.opt-1.pycnu�[���PK"�FZDr
���'�_mcli/__pycache__/__init__.cpython-36.pycnu�[���PK"�FZ2^���!�!6@bmcli/__pycache__/completion_helper.cpython-36.opt-1.pycnu�[���PK"�FZdǦ-(�(�%��mcli/__pycache__/output.cpython-36.pycnu�[���PK"�FZr�9�aa$�bncli/__pycache__/utils.cpython-36.pycnu�[���PK"�FZ�T�e�A�A,�oncli/__pycache__/option_parser.cpython-36.pycnu�[���PK"�FZoZv�+��ncli/__pycache__/demand.cpython-36.opt-1.pycnu�[���PK"�FZ.�/<<&%�ncli/__pycache__/aliases.cpython-36.pycnu�[���PK"�FZU?���)��ncli/__pycache__/main.cpython-36.opt-1.pycnu�[���PK"�FZr�9�aa*��ncli/__pycache__/utils.cpython-36.opt-1.pycnu�[���PK"�FZDr
���-l�ncli/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK"�FZ�i[��-��ncli/__pycache__/progress.cpython-36.opt-1.pycnu�[���PK"�FZFD9+�-�-)ocli/__pycache__/term.cpython-36.opt-1.pycnu�[���PK"�FZ�Q_xixix(f2ocli/__pycache__/cli.cpython-36.opt-1.pycnu�[���PK"�FZ�T�e�A�A2'�ocli/__pycache__/option_parser.cpython-36.opt-1.pycnu�[���PK"�FZ�1ƽ1	1	%9�ocli/__pycache__/format.cpython-36.pycnu�[���PK"�FZF�g����+��ocli/__pycache__/output.cpython-36.opt-1.pycnu�[���PK"�FZ����x�x"��pcli/__pycache__/cli.cpython-36.pycnu�[���PK"�FZ�1ƽ1	1	+�Mqcli/__pycache__/format.cpython-36.opt-1.pycnu�[���PK"�FZU?���#HWqcli/__pycache__/main.cpython-36.pycnu�[���PK"�FZoZv�%<lqcli/__pycache__/demand.cpython-36.pycnu�[���PK"�FZ2^���!�!0�rqcli/__pycache__/completion_helper.cpython-36.pycnu�[���PK"�FZ�i[��'הqcli/__pycache__/progress.cpython-36.pycnu�[���PK"�FZNaBZZ
-�qcli/output.pynu�[���PK"�FZ,�8M//oscli/completion_helper.pynu�[���PK"�FZck��f9f9�scli/term.pynu�[���PK"�FZ.)ff�Xscli/main.pynu�[���PK"�FZ����	�	
(rscli/demand.pynu�[���PK"�FZū�~~
L|ssubject.pynu�[���PK"�FZ��'�<�<�sdb/group.pynu�[���PK"�FZC�W"%:%:
Žsdb/history.pynu�[���PK"�FZ�㦆

'�sdb/__init__.pynu�[���PK"�FZ�	u�7�7)o�sdb/__pycache__/group.cpython-36.opt-1.pycnu�[���PK"�FZ9�wM�F�F%�3tdb/__pycache__/history.cpython-36.pycnu�[���PK"�FZ�s��X8X8#�ztdb/__pycache__/group.cpython-36.pycnu�[���PK"�FZ��}qq,��tdb/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK"�FZ��}qq&Q�tdb/__pycache__/__init__.cpython-36.pycnu�[���PK"�FZ�n	�F�F+�tdb/__pycache__/history.cpython-36.opt-1.pycnu�[���PK"�FZ������tyum/__init__.pynu�[���PK"�FZ`Õ��>�>Buyum/rpmtrans.pynu�[���PK"�FZ2s�&�&)?uyum/__pycache__/misc.cpython-36.opt-1.pycnu�[���PK"�FZ2s�&�&#fuyum/__pycache__/misc.cpython-36.pycnu�[���PK"�FZ��7#qq'�uyum/__pycache__/__init__.cpython-36.pycnu�[���PK"�FZn��Z66'ݍuyum/__pycache__/rpmtrans.cpython-36.pycnu�[���PK"�FZ��7#qq-��uyum/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK"�FZn��Z66-��uyum/__pycache__/rpmtrans.cpython-36.opt-1.pycnu�[���PK"�FZ�ͩfW.W.]�uyum/misc.pynu�[���PK"�FZ�#��A	A	�*vconst.pynu�[���PK"�FZwg�;,;,	h4vdnssec.pynu�[���PK"�FZ4�)
���`vlock.pynu�[���PK"�FZGJ�c�`�`�uvcomps.pynu�[���PK"�FZ]�'�TT	�vmatch_counter.pynu�[���PK"�FZ�!e�LQLQ��vrepo.pynu�[���PK"�FZolcMM 8wgoal.pynu�[���PK"�FZo�4����<wsack.pynu�[���PK"�FZxw���
�Hwexceptions.pynu�[���PK"�FZ�9����_wconf/read.pynu�[���PK"�FZ���E�O�O�twconf/config.pynu�[���PK"�FZZ������wconf/__init__.pynu�[���PK"�FZ�"�Fj
j
��wconf/substitutions.pynu�[���PK"�FZQ��?��(`�wconf/__pycache__/__init__.cpython-36.pycnu�[���PK"�FZ���':':,?�wconf/__pycache__/config.cpython-36.opt-1.pycnu�[���PK"�FZ\�f�	
	
*�xconf/__pycache__/read.cpython-36.opt-1.pycnu�[���PK"�FZ����jj3%$xconf/__pycache__/substitutions.cpython-36.opt-1.pycnu�[���PK"�FZQ��?��.�+xconf/__pycache__/__init__.cpython-36.opt-1.pycnu�[���PK"�FZ����jj-�0xconf/__pycache__/substitutions.cpython-36.pycnu�[���PK"�FZ���':':&�8xconf/__pycache__/config.cpython-36.pycnu�[���PK"�FZ\�f�	
	
$sxconf/__pycache__/read.cpython-36.pycnu�[���PK"�FZ����O�Ox�xutil.pynu�[���PK"�FZ4�?mmF�x__init__.pynu�[���PK"�FZd��ٌ���xcallback.pynu�[���PK"�FZ�mqafaf��xtransaction_sr.pynu�[���PK"�FZ��eeeWKyselector.pynu�[���PKuk�Oy
© 2025 GrazzMean