
    h>                    }   d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZmZm Z m!Z!m"Z" dd	l#m$Z$ dd
l%m&Z&m'Z' ddl(m)Z)m*Z*  G d dee
          Z+ G d dee          Z, G d de          Z- G d de+          Z. G d de          Z/ G d de          Z0ddddddddd d!d"d#dd$Z1i dd%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEi dFdGdHdIdJdKdLdMdNdOdPdCdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdlZ2 G dm dne          Z3 G do dpe          Z4 G dq dre          Z5 G ds dte          Z6 G du dve          Z7 G dw dxe          Z8 G dy dze          Z9 G d{ d|e          Z: G d} d~e          Z; G d de          Z< G d de          Z= G d de          Z> G d de          Z? G d de          Z@d,ZAd&ZBd,ZCg dZDd ZE G d de          ZFd ZG G d deF          ZH G d deF          ZI G d deF          ZJ G d deF          ZK G d deF          ZL G d deK          ZM G d deJ          ZN G d deK          ZO G d deJ          ZP G d deK          ZQ G d deJ          ZR G d deI          ZS G d deH          ZT G d deI          ZU G d deH          ZV G d deI          ZW G d deH          ZX G d deI          ZY G d deH          ZZ G d deI          Z[ G d deH          Z\ G d deK          Z] G d deJ          Z^ G d deK          Z_ G d deJ          Z` G d deK          Za G d deJ          Zb G dĄ deH          Zc G dƄ deH          Zd G dȄ deH          Ze G dʄ deH          Zf G d̄ deI          Zg G d΄ deK          Zh G dЄ deK          Zi G d҄ deH          Zj G dԄ deH          Zk G dք deH          Zl G d؄ deH          Zm G dڄ deH          Zn G d܄ deH          Zo G dބ deH          Zp G d deH          Zq G d deH          Zr G d deH          Zs G d deH          Zt G d deH          Zu G d deH          Zv G d deH          Zw G d deH          Zx G d deH          Zy G d deH          Zz G d deH          Z{ G d deH          Z| G d deH          Z} G d deH          Z~ G d deH          Z G d deH          Z G d  deH          Z G d deH          Z G d deH          Z G d deH          Z G d d	eH          Z G d
 deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d deH          Z G d  d!eH          Z G d" d#eH          Z G d$ d%eH          Z G d& d'eH          Z G d( d)eH          Z G d* d+eH          Z G d, d-eH          Z G d. d/eH          Z G d0 d1eH          Z G d2 d3eH          Z G d4 d5eH          Z G d6 d7eH          Z G d8 d9eH          Z G d: d;eH          Z G d< d=eH          Z G d> d?eH          Z G d@ dAeH          Z G dB dCeI          Z G dD dEeI          Z G dF dGeI          Z G dH dIeI          Z G dJ dKeI          Z G dL dMeI          Z G dN dOeI          Z G dP dQeI          Z G dR dSeI          Z G dT dUeI          Z G dV dWeI          Z G dX dYeI          Z G dZ d[eI          Z G d\ d]eI          Z G d^ d_eI          Z G d` daeI          Z G db dceI          Z G dd deeI          Z G df dgeI          Z G dh dieI          Z G dj dkeI          Z G dl dmeI          Z G dn doeI          Z G dp dqeI          Z G dr dseI          Z G dt dueI          Z G dv dweI          Z G dx dyeI          Z G dz d{eI          Z G d| d}eI          Z G d~ deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G dĄ deI          Z G dƄ deI          Z G dȄ deI          Z G dʄ deI          Z G d̄ deI          Z G d΄ deI          Z G dЄ deI          Z G d҄ deI          Z G dԄ deI          Z G dք deI          Z G d؄ deI          Z G dڄ deI          Z G d܄ deI          Z G dބ deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z  G d  deI          Z G d deI          Z G d deI          Z G d deI          Z G d d	eI          Z G d
 deI          Z G d deI          Z G d deI          Z G d deI          Z	 G d deI          Z
 G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d deI          Z G d  d!eI          Z G d" d#eI          Z G d$ d%eI          Z G d& d'eI          Z G d( d)eI          Z G d* d+eI          Z G d, d-eI          Z G d. d/eI          Z G d0 d1eI          Z G d2 d3eI          Z G d4 d5eI          Z G d6 d7eI          Z G d8 d9eI          Z G d: d;eI          Z G d< d=eI          Z G d> d?eI          Z  G d@ dAeI          Z! G dB dCeI          Z" G dD dEeI          Z# G dF dGeI          Z$ G dH dIeI          Z% G dJ dKeI          Z& G dL dMeI          Z' G dN dOeI          Z( G dP dQeI          Z) G dR dSeI          Z* G dT dUeI          Z+ G dV dWeI          Z, G dX dYeI          Z- G dZ d[eI          Z. G d\ d]eI          Z/ G d^ d_eI          Z0 G d` daeI          Z1 G db dceI          Z2 G dd deeI          Z3 G df dgeI          Z4 G dh dieI          Z5 G dj dkeI          Z6 G dl dmeI          Z7 G dn doeI          Z8 G dp dqeI          Z9 G dr dseI          Z: G dt dueI          Z; G dv dweI          Z< G dx dyeI          Z= G dz d{eI          Z> G d| d}eI          Z? G d~ deI          Z@ G d deI          ZA G d deI          ZB G d deI          ZC G d deI          ZD G d deI          ZE G d deI          ZF G d deI          ZG G d deI          ZH G d deI          ZI G d deI          ZJ G d deI          ZK G d deI          ZL G d deI          ZM G d deI          ZN G d deI          ZO G d deI          ZP G d deI          ZQ G d deI          ZR G d deI          ZS G d deI          ZT G d deI          ZU G d deI          ZV G d deI          ZW G d deI          ZX G d deI          ZY G d deI          ZZ G d deI          Z[ G d deI          Z\ G d deI          Z] G d deI          Z^ G d deI          Z_ G d deI          Z` G d deI          Za G d deI          Zb G dĄ deI          Zc G dƄ deI          Zd G dȄ deI          Ze G dʄ deI          Zfi d&deNdfd(dePdfd.deTdfd0dejdfd2dekdfdҐdePdfdԐdeldfd֐deNdfdؐdeTdfdڐdemdfdܐdendfdސdeTdfddeNdfddeNdfddeNdfddeNdfddeTdfi ddePdfddeTdfddeTdfddeNdfddeNdfddePdfddePdfddePdfddePdfddeTdfddeTdfd dePdfddeTdfddePdfddeodfdd	eTdfd
deNdfi ddeTdfdde\dfddePdfddepdfddeTdfddePdfd͐deqdfdderdfddeNdfddeNdfdd ePdfd!d"ePdfd#d$ePdfd%d&ePdfd'd(esdfd)d*eTdfd+d,ePdfi d-d.eTdfd/d0etdfd1d2eNdfd3d4ePdfd5d6ePdfd7d8ePdfd9d:eTdfd;d<ePdfd=d>eTdfd?d@eTdfdAdBeNdfdCdDePdfdEdFePdfdGdHeNdfdIdJeNdfdKdLePdfdMdNeXdfi dOdPePdfdQdReNdfdSdTePdfdUdVePdfdWdXeNdfdYdZeNdfd6d[eNdfd\d]ePdfd^d_eXdfd`daePdfdbdce^dfdddeecdfdfdgeTdfdhdieRdfdjdkeudfdldmeTdfdndoeNdfi dpdqeNdfdrdseTdfdtdueddfdvdweTdfdxdyeedfdzd{eNdfd|d}eTdfd~devdfddeTdfddewdfddexdfddeTdfddeydfddeTdfddeRdfddeNdfddeNdfi ddeNdfddeNdfddeRdfddezdfddeXdfddeTdfddeNdfddeNdfddeNdfdde{dfddeNdfddeRdfddefdfddeTdfddeTdfddeTdfddePdfi ddePdfddeRdfddeTdfddeRdfddeRdfddeRdfddeRdfddeRdfdĐdeRdfdƐde^dfdȐde^dfdʐdePdfd̐deNdfdΐdeTdfdАdeTdfdҐdeTdfdԐdeTdfi d֐deTdfdؐde`dfdڐdePdfdܐdePdfdސde|dfdde}dfddeRdfddeNdfddeXdfddeXdfddeXdfddeXdfddeTdfddeRdfddeNdfddeNdfddeNdfi ddeRdfddeTdfddeTdfdde~dfd deRdfddedfddeTdfddeRdfdd	eRdfd
deRdfddeTdfddeRdfddedfddeNdfddeNdfddedfddeNdfi ddeRdfddeNdfddePdfd d!edfd"d#eNdfd$d%e`dfd&d'eRdfd(d)eRdfd*d+edfd,d-ePdfd.d/ePdfd0d1edfd2d3ebdfd4d5ePdfd6d7eXdfd8d9eRdfd:d;eXdfi d<d=eTdfd>d?edfd@dAeXdfdBdCedfdDdEeXdfdFdGeTdfdHdIeXdfdJdKedfdLdMeRdfdNdOeNdfdPdQeTdfdRdSedfdTdUedfdVdWedfdXdYeVdfdZd[eRdfd\d]eRdfi d^d_eTdfd`daedfdbdceRdfdddeeNdfdfdgedfdhdieRdfdjdke`dfdldmeTdfdndoeRdfdpdqeTdfdrdsePdfdtdueRdfdvdweNdfdxdyeRdfdzd{eRdfd|d}eZdfd~deTdfi ddedfddedfdde\dfddedfddeTdfddedfddedfddeRdfddeRdfddeRdfddedfddePdfddeNdfddePdfddePdfddePdfddeXdfi ddedfddedfddeTdfddeRdfdde^dfddePdfddePdfddePdfddeTdfddeRdfddeNdfddedfddeNdfddeRdfddeRdfddeTdfddeRdfi dĐdePdfdƐdedfdȐdedfdʐdeRdfd̐deRdfdΐdedfdАde^dfdҐdeRdfdԐde^dfd֐de^dfdؐdeRdfdڐdeTdfdܐdePdfdސdeRdfddePdfddePdfddeRdfi ddePdfddeVdfddeRdfddeVdfddeVdfddedfddedfddedfddeRdfddedfddePdfddeRdfddedfd dePdfddeRdfddeTdfddeRdfi dd	edfd
dedfddeRdfddeRdfddePdfddePdfddeRdfddeTdfddeTdfd8deTdfddeTdfddeRdfdd eTdfd!d"eTdfd#d$eRdfd%d&eTdfd'd(eTdfi d)d*eTdfd+d,eTdfd-d.eTdfd/d0e\dfd1d2eTdfd3d4e\dfd5d6eTdfd7d8edfd9d:eVdfd;d<eRdfd=d>eTdfd?d@eRdfdAdBedfdCdDeRdfdEdFeRdfdGdHeRdfdIdJeRdfdKdLeNdfii dڐdMeMdNfddOeMdNfdPdQedNfdRdSe]dNfdTdUeQdNfdVdWeOdNfdXdYeOdNfdZd[eOdNfdd\eOdNfd]d^e_dNfdd_eQdNfdd`eSdNfddaeQdNfddbedNfdĐdcedNfdƐddedNfdʐdeeSdNfi d̐dfeSdNfdΐdgeQdNfdАdheSdNfdҐdieQdNfdԐdjedNfd֐dkeSdNfdؐdleSdNfdڐdmedNfdސdneOdNfddoeQdNfddpedNfddqeOdrfddsedrfddteMdrfddueMdrfddvedrfddweSdrfi ddxeSdrfddyedrfddzeOdrfdd{eOdrfdd|eSdrfdd}eSdrfdd~eSdrfddeOdNfddeMdNfddeMdNfddeQdNfddeSdNfddeSdNfddeOdNfddeSdNfddeMdNfddeOdNfi dd	eOdNfddeOdNfddeQdNfddeSdNfddedNfddeQdNfddedNfddeMdNfdIdeQdNfdKdeMdNfddeMdNfddeMdNfddeMdNfddedNfddedNfddeOdNfddeOdNfi ddeQdrfddeSdrfddegdrfddeQdrfddeQdrfddedNfddeMdrfddeQdrfddeMdrfddeSdrfddedrfdÐdeQdrfdŐdeOdrfdǐdeOdrfdɐdeQdrfdːdeOdrfd͐deOdrfi dϐdeOdrfdѐdeOdrfdӐdeQdrfdՐdedrfdאdeQdrfdِdedrfdېdeQdrfdݐdedrfdߐdeSdrfddeSdrfddeSdrfddeQdNfddehdNfddeOdNfddedNfddeOdNfddedNfi ddedNfddedNfddedrfdde[drfddedrfddeOdNfddedrfddeSdrfd dedrfddeQdrfddeSdrfddedrfdd	edrfd
deSdrfddeQdrfddeOdrfddeOdrfi ddeQdNfdd#eMdNfddeMdNfddeMdNfddeSdNfddeMdNfddedNfddoeMdNfd d!eMdNfd"d#eMdNfd$d%eQdNfd&d'e[dNfd(d)e[dNfd*d+eMdNfd,d-eMdNfd.d/eQdNfd0d1eMdNfi d2d3eMdNfd4d5eMdNfd6d7eMdNfd8d9eQdNfd:d;eMdNfd<d=eMdNfd>d?e]dNfd@dAe]dNfdBdCe]dNfdDdEeMdNfdFdGeQdNfdHdIeQdNfdJdKeMdNfdLdMeMdNfdNdOeOdNfdPdQeMdNfdRdSeMdNfi dTdUeMdNfdVdWeMdNfdXdYeMdNfdZd[eUdNfd\d]edNfd^d_edNfd`daeQdNfdbdceOdNfdddeedNfdfdgeSdNfdhdieSdNfdjdkeÐdNfdldmeSdNfdndoeĐdNfdpdqeQdNfdrdseQdNfdtdueQdNfi dvdweQdNfdxdyeQdNfdzd{eQdNfd|d}eQdNfd~deSdNfddeŐdNfddeƐdNfddeǐdNfddeSdNfddeMdNfddeSdNfddeQdNfddeMdNfddeQdNfddeȐdNfddeOdNfddeMdNfi ddeɐdNfddeOdNfddeOdNfddeMdNfddeʐdNfddeːdNfddeMdNfddeOdNfddeOdNfddeOdNfdde̐dNfdde͐dNfddeΐdNfddeQdNfddeQdNfddeQdNfddeMdNfi ddeOdNfddeϐdNfddeАdNfddeѐdNfddeҐdNfdĐdeSdNfdƐdeӐdNfdȐde_dNfdʐdeQdNfd̐deOdNfdΐdeԐdNfdАdeQdNfdҐdeՐdNfdԐdeOdNfd֐de֐dNfdؐdeQdNfdڐdeאdNfi dܐdeؐdNfdސdeSdNfddeSdNfddeِdNfddeڐdNfddeېdrfddeQdrfddeQdrfdde]drfdde_drfddeSdrfddeQdrfddeQdrfddeSdrfddeSdrfdde[dNfdde[dNfi dde[dNfd deܐdNfddeSdrfddeݐdrfddeސdrfdd	eQdrfd
de]drfddeOdrfddeOdrfddeQdrfdde_drfddeOdrfddeQdrfddeߐdrfddedrfddeOdrfddeOdrfi d d!eQdrfd"d#edrfd$d%edrfd&d'edrfd(d)edrfd*d+edrfd,d-edrfd.d/eQdrfd0d1eQdrfd2d3eOdrfd4d5eQdrfd6d7e]drfd8d9edrfd:d;eSdrfd<d=eQdrfd>d?edrfd@dAeQdrfi dBdCeOdrfdDdEeMdrfdFdGeMdrfdHdIe]drfdJdKeQdrfdLdMedrfdNdOeMdNfdPdQeQdNfdRdSedNfdTdUeMdNfdVdWeSdNfdXdYeQdNfdZd[edNfd\d]edNfd^d_edNfd`daeSdNfdbdceQdNfi dddeedNfdfdgeMdNfdhdiedNfdjdkedNfdldmeMdNfdndoeMdNfdpdqedNfdrdsedNfdtduedNfdvdweMdNfdxdyedNfdzd{edNfd|d}eSdNfd~de]dNfdde]dNfddeMdNfddeMdNfi ddeMdNfddeMdNfddedNfddedNfddeMdNfddeMdNfddeQdNfddeMdNfddedNfddeQdNfdde[dNfddedNfddeQdNfddedNfdde[dNfddeOdNfddeQdNfi ddeSdNfddeQdNfdde[dNfddedNfdde[dNfddeQdNfddedNfddeQdNfddeQdNfdde[dNfdde[dNfddeQdNfddedNfddeQdNfdĐdedNfdƐdeMdNfdȐdeSdNfi dʐdeSdNfd̐deSdNfdΐdeSdNfdАdeSdNfdҐdeSdNfdԐdeMdNfd֐deQdNfdؐdeQdNfdڐdeMdNfdܐdeMdNfdސdeOdNfddeSdNfddeSdNfddeOdNfddeQdNfddeQdNfddeSdNfi ddeOdNfddeSdNfddeQdNfddeQdNfddeQdNfddeQdNfddedNfddeSdNfddeSdNfdde dNfd deSdNfddeSdNfddeSdNfddedNfdd	eSdNfd
deSdNfddeMdNfi ddedNfddeQdNfddeQdNfddeQdNfddedNfddeOdNfddedNfddeQdNfddeSdNfd d!edNfd"d#e[dNfd$d%eSdNfd&d'eSdNfd(d)eSdNfd*d+eSdNfd,d-eMdrfd.d/edNfi d0d1eOdNfd2d3eOdNfd4d5eOdNfd6d7eOdNfd8d9eOdNfd:d;e]dNfd<d=eOdNfd>d?eOdNfd@dAedNfdBdCedNfdDdEeQdNfdFdGeOdNfdHdIe	dNfdJdKeOdNfdLdMeOdNfdNdOeOdNfdPdQeOdNfi dRdSeQdNfdTdUe
dNfdVdWeQdNfdXdYeOdNfdZd[eOdNfd\d]eQdNfd^d_eQdNfd`daeOdNfdbdceQdNfdddeeOdNfdfdgeOdNfdhdiedNfdjdkeQdNfdldmeOdNfdndoedNfdpdqedNfdrdeQdNfi dsdteSdNfdudveQdNfdwdxeQdNfdydzeOdNfd{d|eQdNfd}d~eOdNfddeSdNfddedrfddedrfddedrfdde[drfddeQdrfddeQdrfddeQdrfddeQdrfddedrfddeQdNfi ddedNfddedNfddedNfddeMdNfddeQdrfddeOdNfddeSdNfddeSdrfddeQdrfddeQdrfddeSdrfddeSdrfddedrfddeOdrfddeOdrfddeSdrfddedrfi ddeSdrfddeSdrfddeSdrfddeSdrfddeMdrfddeMdrfdÐdeQdrfdŐdeSdrfdǐdeQdrfdɐdeSdrfdːdeOdrfd͐de]drfdϐdeMdrfdѐdeSdrfdӐdeSdrfdՐdeOdrfdאdeQdrfi dِdeQdrfdېdeOdrfdݐdeOdrfdߐdeOdrfddeOdrfddeOdrfddeOdrfddeOdrfddeOdrfddedrfddeSdrfddeQdrfddedrfddedrfddedrfddeSdrfddedrfi ddedrfddeSdrfd	d e]drf	d	deQdrf	d	dedrf	d	deQdrf	d	deSdrf	d		d
eSdrf	d	dedrf	d	dedrf	d	deSdrf	d	de drf	d	de!drf	d	de"drf	d	de#drf	d	deSdrf	d	de$drfi 	d	deSdrf	d	d eSdNf	d!	d"eSdNf	d#	d$eQdNf	d%	d&eMdrf	d'	d(eidrf	d)	d*eOdrf	d+	d,e%drf	d-	d.eQdrf	d/	d0e&drf	d1	d2eSdrf	d3	d4eOdrf	d5	d6eOdrf	d7	d8eUdrf	d9	d:eUdrf	d;	d<eSdrf	d=	d>eMdrfi 	d?	d@eSdrf	dA	dBeMdrf	dC	dDeQdrf	dE	dFeSdrf	dG	dHeSdrf	dI	dJeOdrf	dK	dLeOdrf	dM	dNeQdNf	dO	dPeUdNf	dQ	dReQdNf	dS	dTeMdNf	dU	dVeMdNf	dW	dXeMdNf	dY	dZe'dNf	d[	d\e(dNf	d]	d^e]dNf	d_	d`eQdNfi 	da	dbe]dNf	dc	dde)dNf	de	dfe[dNf	dg	dheOdNf	di	djeOdNf	dk	dle*dNf	dm	dne]dNf	do	dpeSdNf	dq	dreQdNf	ds	dteOdNf	du	dveMdNf	dw	dxeMdNf	dy	dze+dNf	d{	d|eQdNf	d}	d~eQdNf	d	deQdNf	d	de,dNfi 	d	deQdNf	d	deSdNf	d	deSdNf	d	de-dNf	d	deSdNf	d	deMdNf	d	de.dNf	d	deUdNf	d	de[dNf	d	deUdNf	d	deQdNf	d	de[dNf	d	de[dNf	d	de[dNf	d	de[dNf	d	deSdNf	d	deQdNfi 	d	de/dNf	d	deQdNf	d	de0dNf	d	deSdNf	d	de1dNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deQdNf	d	deSdNf	d	deMdNf	dÐ	dĐe2dNf	dŐ	dƐe3dNfi 	dǐ	de]dNf	dɐ	dʐe4dNf	dː	d̐e5dNf	d͐	deQdNf	dϐ	deQdNf	dѐ	deSdNf	dӐ	dԐe6dNf	dՐ	d֐e7dNf	dא	dؐe8drf	dِ	dڐe9drf	dې	deSdNf	dݐ	deSdNf	dߐ	de:dNf	d	deOdNf	d	deQdNf	d	deMdNf	d	de]dNfi 	d	de;dNf	d	de[dNf	d	de<dNf	d	deQdNf	d	de=dNf	d	de>dNf	d	deQdNf	d	deSdNf	d	de?dNf	d	de@dNf	d	deQdNf	d
d eMdNf
d
deMdNf
d
deAdNf
d
deBdNf
d
deOdNf
d	
d
eQdNfi 
d
deMdNf
d
deOdNf
d
deSdNf
d
de]dNf
d
deQdNf
d
de]dNf
d
deMdrf
d
deMdrf
d
deMdrf
d
deSdrf
d
d eCdNf
d!
d"eQdNf
d#
d$eQdNf
d%
d&eSdNf
d'
d(eQdNf
d)
d*eSdNf
d+
d,eSdNfi 
d-
d.eDdNf
d/
d0eEdNf
d1
d2eFdNf
d3
d4eSdNf
d5
d6eMdNf
d7
d8eGdNf
d9
d:eHdNf
d;
d<eSdNf
d=
d>eOdNf
d?
d@eOdNf
dA
dBeOdNf
dC
dDeIdNf
dE
dFeJdNf
dG
dHeSdNf
dI
dJeKdNf
dK
dLeQdrf
dM
dNeOdrfi 
dO
dPeOdrf
dQ
dReQdrf
dS
dTeOdrf
dU
dVeOdrf
dW
dXeSdrf
dY
dZeOdrf
d[
d\eSdrf
d]
d^eQdrf
d_
d`eQdrf
da
dbeQdrf
dc
ddeSdrf
de
dfeQdrf
dg
dheLdrf
di
djeSdrf
dk
dleQdrf
dm
dneSdrf
do
dpeSdrfi 
dq
dreQdrf
ds
dteQdrf
du
dveSdrf
dw
dxeSdrf
dy
dzeQdrf
d{deSdrf
d|
d}eSdrf
d~
deMdrf
d
deNdrf
d
deQdrf
d
deSdrf
d
deOdrf
d
deMdNf
d
deOdNf
d
dePdNf
d
deQdNf
d
deSdNfi 
d
deMdNf
d
deRdNf
d
deSdNf
d
de]dNf
d
deTdNf
d
deUdNf
d
deMdNf
d
deQdNf
d
deVdNf
d
deMdNf
d
de]dNf
d
deMdNf
d
deQdNf
d
deMdNf
d
deWdNf
d
deOdrf
d
de]drfi 
d
de]drf
d
deSdrf
d
deXdrf
d
de[drf
d
deYdrf
d
de[drf
d
deQdrf
d
deMdrf
dĐ
deQdrf
dƐ
deOdrf
dȐ
deOdrf
dʐ
deOdrf
d̐
deQdrf
dΐ
deSdrf
dА
deSdrf
dҐ
deQdrf
dԐ
deSdrfi 
d֐
deSdrf
dؐ
deSdrf
dڐ
deMdNf
dܐ
deMdNf
dސ
deQdNf
d
deZdNf
d
deQdNf
d
de[dNf
d
deMdNf
d
deMdNf
d
deMdNf
d
deMdNf
d
deQdNf
d
de]dNf
d
de[dNf
d
deSdNf
d
deSdNfi 
d
deQdNf
d
deQdNf
d
deOdNf
d
deOdNfd deOdNfdde\dNfddeQdNfddeOdNfdd	eOdNfd
de[dNfddeOdNfdde]dNfddeOdNfddeSdNfddeSdNfdde]dNfdde^dNfi ddeMdNfddeMdNfddeMdNfd d!eMdNfd"d#eMdNfd$d%eUdNfd&d'eUdNfd(d)eMdNfd*d+eMdNfd,d-e_dNfd.d/eUdNfd0d1eMdNfd2d3eQdNfd4d5e`dNfd6d7eadNfd8d9e]dNfd:d;ebdNfd<e]dNfd=eQdNfd>ecdNfd?eddNfd@e[dNfdAeedNfdBe]dNfdCeMdNfdDefdNfdEe[dNfdFe[dNfdGeMdNfdHdIZgdZhg dJZii dbdKdLddMifdddNdOdPdPdPdPdPdQfdhdRdSd(dPifdldTdUd(dPifdrdVdVdPdPdPdPdWfdxdXdYdPdPdPdPdPdZfd~d[d\dPdPd]fddSd^d,dPifdd_d`dPdPdPdPdPdQfdadbdcdPdPdPdPdPddfddedfddMifddgdhddMifddidjd0dPifddkdld0dPifddmdnd0dPifdodpdqd0dPifddrdsd0dPifi dtdudvd0dPifdwdidjd:dPifdxdkdldPdPdyfdzdmdnd:dPifd{dpdqdPdPdyfd|drdsdPdPdyfd}dudvdPd~dyfdddd<dPifdddd<dPifdddd<dPifdddd<dPifddddSdPifddddSdPifddddSdPifddddSdPifddddSdPifddddSdPifdddSdPifdddSdPifdddUdPifddd4dPifdddWdPifdddWdPifdddedPifdddWdPifdddWdPifddddPifddddPifdZj G d de          Zkd Zld Zmd Zn eeekd            eeekd            eeekd            eeekd            eeekd            eeekd           dS (  a  
Diameter protocol implementation for Scapy

This implements the base Diameter protocol RFC6733 and the additional standards:  # noqa: E501
    RFC7155, RFC4004, RFC4006, RFC4072, RFC4740, RFC5778, RFC5447, RFC6942, RFC5777  # noqa: E501
    ETS29229 V12.3.0 (2014-09), ETS29272 V13.1.0 (2015-03), ETS29329 V12.5.0 (2014-12),  # noqa: E501
    ETS29212 V13.1.0 (2015-03), ETS32299 V13.0.0 (2015-03), ETS29210 V6.7.0 (2006-12),  # noqa: E501
    ETS29214 V13.1.0 (2015-03), ETS29273 V12.7.0 (2015-03), ETS29173 V12.3.0 (2015-03),  # noqa: E501
    ETS29172 V12.5.0 (2015-03), ETS29215 V13.1.0 (2015-03), ETS29209 V6.8.0 (2011-09),  # noqa: E501
    ETS29061 V13.0.0 (2015-03), ETS29219 V13.0.0 (2014-12)

IMPORTANT note:
    - Some Diameter fields (Unsigned64, Float32, ...) have not been tested yet due to lack  # noqa: E501
        of network captures containing AVPs of that types contributions are welcomed.  # noqa: E501
    Nctime)Packetbind_layers)ConditionalField	EnumFieldFieldFieldLenField
FlagsFieldIEEEDoubleFieldIEEEFloatFieldIntEnumFieldIntField	LongFieldPacketListFieldSignedIntFieldStrLenFieldX3BytesField
XByteField	XIntField)TCP)SCTPChunkData)chborbraw	bytes_hex	plain_str)warning)	inet_ntoa	inet_aton)	inet_pton	inet_ntopc                       e Zd ZdZd ZdS )I3BytesEnumFieldz 3 bytes enum field c                 6    t          j        | |||d           d S )N!I)r   __init__)selfnamedefaultenums       Z/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/scapy/contrib/diameter.pyr'   zI3BytesEnumField.__init__5   s!    4wd;;;;;    N)__name__
__module____qualname____doc__r'    r-   r,   r$   r$   2   s)        < < < < <r-   r$   c                   ,    e Zd Zg dZddd fdZd ZdS )I3FieldLenField)	length_ofcount_ofadjustNc                     |S Nr2   pktxs     r,   <lambda>zI3FieldLenField.<lambda>B   s
     r-   c                 \    t          j        | ||           || _        || _        || _        d S r9   )r   r'   r5   r6   r7   )r(   r)   r*   r5   r6   r7   s         r,   r'   zI3FieldLenField.__init__<   s2     	dD'222" r-   c                 .    t          j        | ||          S r9   )r
   i2mr(   r;   r<   s      r,   r@   zI3FieldLenField.i2mI   s     sA...r-   )r.   r/   r0   	__slots__r'   r@   r2   r-   r,   r4   r4   9   sT        333I     / / / / /r-   r4   c                       e Zd Zd ZdS )DRFlagsc                 H   |dS t          t          |                    }d}|dz  rdnd}|dz  rd}d}n	d	}d	}|d	z  }t          |          D ]4}||d
z  r#t          | j        ||z            d                   pdz  }|d
z  }5|d d d         }	||z   dz   |	d |         z   dz   S )NNone    z Requestz Answer      r         - ()hexintrangestrnames)
r(   r;   r<   resrcmdtnboffsetiinverts
             r,   i2reprzDRFlags.i2reprR   s    96#a&&kk#g5zzIr6 	BFFBF!GAr 	 	A!a%;SFQJ!7!:;;BsBA!GAA44R4TzD 6#2#;.44r-   Nr.   r/   r0   r^   r2   r-   r,   rD   rD   Q   s#        5 5 5 5 5r-   rD   c                       e Zd Zd Zd ZdS )DRCodec                     i }|                                 D ]\  }}|d         ||<   t                              | |||           dS )zenum is a dict of tuples, so conversion is required before calling the actual init method.  # noqa: E501
           Note: the conversion is done only once.r   N)itemsr$   r'   )r(   r)   r*   r+   enumDictkvs          r,   r'   zDRCode.__init__g   sS     JJLL 	 	DAqA$HQKK!!$gx@@@@@r-   c                 r    |                      ||          }t          |          }||k    rd}|dz   |z   dz   S )NUnknownrO   rP   )
i2repr_onerU   )r(   r;   r<   cmdsxs        r,   r^   zDRCode.i2repro   sA    ooc1%%VV"99CDy3$$r-   N)r.   r/   r0   r'   r^   r2   r-   r,   ra   ra   f   s5        A A A% % % % %r-   ra   c                       e Zd Zd ZdS )AVPFlagsc                 0   |dS t          t          |                    }d}|dz  rd}d}n	d}d}|dz  }t          |          D ]4}||dz  r#t          | j        ||z            d                   pd	z  }|dz  }5|d d d
         }|dz   |d |         z   dz   S )NrF   rG      rJ   r         rL   rM   rN   rO   rP   rQ   )	r(   r;   r<   rW   rX   rZ   r[   r\   r]   s	            r,   r^   zAVPFlags.i2repr|   s    96#a&&kkr6 	BFFBF!GAr 	 	A!a%;SFQJ!7!:;;BsBA!GAA44R4TzF3B3K'#--r-   Nr_   r2   r-   r,   rm   rm   {   s#        . . . . .r-   rm   c                       e Zd Zd ZdS )	AVPVendorc                 b    t                               |d          }|dt          |          dS )NUnkown_VendorrO   rP   )
vendorListgetrU   )r(   r;   r<   vendors       r,   r^   zAVPVendor.i2repr   s.    ?33"FFCFFFF++r-   Nr_   r2   r-   r,   rs   rs      s#        , , , , ,r-   rs   ciscoSystemszNortel Networks3Com	MicrosoftTekeleczJuniper Networks, Inc.NetgearzCisco Systems, Inc.zCisco SystemszStarent Networks3GPPETSI)	   #   +   i7  C  iL
  i  i  i  i  (  i2  iA  Diameter_Common_MessagesrL   NASREQ_Application   Mobile_IPv4_Applicationrp   Diameter_Base_AccountingrK   #Diameter_Credit_Control_Applicationrq   EAP_Application   z6Diameter_Session_Initiation_Protocol_(SIP)_Application   z"Diameter_Mobile_IPv6_IKE___(MIP6I)rJ   z"Diameter_Mobile_IPv6_Auth__(MIP6A)o   ALU_Syi+  Sun_Ping_Application   3GPP_Cxi  3GPP_Shi  3GPP_Gqi  3GPP_Gmbi  3GPP_Gxi  Ericsson_MSIi  Ericsson_Zxi  3GPP_RXi  Diameter_e2e4_Applicationi  zEricsson_Charging-CIPi  3GPP_Rxi  "  3GPP_STai#  z3GPP_S6a/S6di$  z3GPP_S13/S13'i'  3GPP_SLg0  3GPP_SWm1  3GPP_SWxi2  3GPP_Gxxi3  3GPP_S9i5  Ericsson_HSI8  3GPP_S6biK  3GPP_SLh	3GPP_SGmb3GPP_SyEricsson_Syz9Ericsson_Diameter_Signalling_Controller_Application_(DSC)Relay)iL  iV  iX  ic      c                       e Zd Zd ZdS )OctetStringc                 `    	 t          |          S # t          $ r t          |          cY S w xY wr9   )r   BaseExceptionr   rA   s      r,   r^   zOctetString.i2repr   s@    	 Q<< 	  	  	 Q<<	 s    --Nr_   r2   r-   r,   r   r      s#                 r-   r   c                       e Zd ZdS )	Integer32Nr.   r/   r0   r2   r-   r,   r   r              Dr-   r   c                       e Zd Zd ZdS )	Integer64c                 4    t          j        | ||d           d S )Nq)r	   r'   )r(   r)   r*   s      r,   r'   zInteger64.__init__   s    tT7C00000r-   N)r.   r/   r0   r'   r2   r-   r,   r   r      s#        1 1 1 1 1r-   r   c                       e Zd ZdS )
Unsigned32Nr   r2   r-   r,   r   r      r   r-   r   c                       e Zd ZdS )
Unsigned64Nr   r2   r-   r,   r   r      r   r-   r   c                       e Zd ZdS )Float32Nr   r2   r-   r,   r   r      r   r-   r   c                       e Zd ZdS )Float64Nr   r2   r-   r,   r   r      r   r-   r   c                       e Zd Zd Zd ZdS )Addressc                    |                     d          rt          |dd                    S |                     d          r"t          t          j        |dd                    S t          d           t          |          S )N    r       z(Warning: Address format not yet decoded.)
startswithr   r"   socketAF_INET6printr   rA   s      r,   r^   zAddress.i2repr   su    <<$$ 	 QqrrU###\\+&& 	 V_ae444<===Q<<r-   c                     |r{t          |t                    rf	 t          |          }d|z   S # t          $ rD 	 t	          t
          j        |          }d|z   cY S # t          $ r t          d           Y nw xY wY nw xY wdS )Nr   r   z*Warning: Address format not supported yet.r-   )
isinstancerU   r    r   r!   r   r   r   )r(   r;   r<   ss       r,   any2izAddress.any2i  s     		HAs## 		HHaLL"Q&  H H HH!&/155A&?***$ H H HFGGGGGHGGH ss2   - 
A;AA;A52A;4A55A;:A;Nr.   r/   r0   r^   r   r2   r-   r,   r   r      s2                 r-   r   c                       e Zd Zd ZdS )Timec                      t          |          S r9   r   rA   s      r,   r^   zTime.i2repr  s    Qxxr-   Nr_   r2   r-   r,   r   r     s#            r-   r   c                       e Zd Zd ZdS )
Enumeratedc                 ^    || j         v r| j         |         d|z  z   S t          |          dz   S )Nz (%d)z
 (Unknown))i2sreprrA   s      r,   r^   zEnumerated.i2repr  s3    ==8A;1,,77\))r-   Nr_   r2   r-   r,   r   r     s#        * * * * *r-   r   c                       e Zd ZdS )IPFilterRuleNr   r2   r-   r,   r   r   "  r   r-   r   c                       e Zd ZdZdS )GroupedzZThis class is just for declarative purpose because it is used in the AVP definitions dict.N)r.   r/   r0   r1   r2   r-   r,   r   r   &  s        ddDr-   r   c                       e Zd ZdS )QoSFilterRuleNr   r2   r-   r,   r   r   /  r   r-   r   c                       e Zd Zd Zd ZdS )ISDNc                     d}|D ]L}t          |          }|t          d|dz  z             z  }|dz  dz	  }|dk    r|t          d|z             z  }M|S )Nr-   0   rI      rK   r   r   )r(   r;   r<   outcharcrf   s          r,   r^   zISDN.i2repr4  sk     	# 	#DD		A3rQV}%%%CSQABwws26{{"
r-   c                     d}|rRd}|D ]6}t          |          dz
  }|r|}n|d|z  z   }|t          |          z  }| }7|s|t          d|z             z  }|S )Nr-   Tr      r   r   )r(   r;   r<   r   fdr   digitvals           r,   r   z
ISDN.any2i>  s     	&B  A $CCU
*C3s88OCV &s39~~%
r-   Nr   r2   r-   r,   r   r   3  s2              r-   r   )r<   r<   r<   r<   r<   PMVc           	      
   t          |           t          t          z   k    rt          j        d| d t                             d         }t          t          j        d| t          t          t          z                      d         dz            }|r#t          j        d| dd                   d         nd}|t          v r:t          |         }||v r)||         d d         \  }}} || fi |}	d|z   |	_        |	S t          | fi |S )	Nr&   r   z!BrH   rJ      rp   AVP )	lenAVP_Code_lengthAVP_Flag_lengthstructunpackbool
AvpDefDictr)   AVP_Unknown)
pkargsavpCodevndvndCode
AvpVndDictavpNameAVPClassflagsresults
             r,   GuessAvpTyper  ]  s"   
1vv/111-a(8(8&9::1=6=!OOo$EEFH HHIKMPQ R R58?&-a"g..q11a j  #G,J*$$+5g+>rr+B(5!!--u--$w.q""E"""r-   c                   $    e Zd ZdZd Zd Zd ZdS )AVP_Genericz@ Parent class for the 5 following AVP intermediate classes belowc                 `    | j         t          z  }|r
t          |z
  }|d |         ||d          fS r9   )avpLenDIAMETER_BYTES_ALIGNMENT)r(   r   nbBytess      r,   extract_paddingzAVP_Generic.extract_paddingu  s<    + 88 	9.8G'{AghhK''r-   c                 t    t          |           dz  }|r|t          j        dd          z  }|dz  }|||z   S )NrK   Br   rL   )r   r   pack)r(   r   payr
  s       r,   
post_buildzAVP_Generic.post_build{  sO    FF7a- 	S!$$$AqLG  	 3wr-   c                 |    |                      t          |           | j                                                   d S )N)r)   )	__class__r   r)   show)r(   s    r,   show2zAVP_Generic.show2  s2    s4yyty116688888r-   N)r.   r/   r0   r1   r  r  r  r2   r-   r,   r  r  r  sG        JJ( ( (  9 9 9 9 9r-   r  c                    d}t           }t          | t                    re	 t          D ]G}t          |         D ]7}t          |         |         }|d         dt	          |                    | k    r 8Hd}ne# t
          $ r d}Y nWw xY wt          | t                    r| d         }| d         }n| }d}	 t          |         |         }d}n# t
          $ r d}Y nw xY w|s6t          dt          |           z             t          | t                    rdS ||d<   d|vr|r||d<   d	|vr|r|d
         |d	<   n	|rdnd|d	<   |r|d         } |di |}|rd|d         z   |_        |S )z; Craft an AVP based on its id and optional parameter fieldsNr   FTrL   z)The AVP identifier %s has not been found.r   avpVndavpFlagsr   rH   r   r2   )	r   r   rU   r   r   r   listr   r)   )avpIdfieldsr   	classTyper   codefound_rets           r,   AVPr    s   
CI% 		!  &sO  D$S/$/C1v #s! #  # # $',- --
 EE 	 	 	EEE	 eT"" 	8D(CCDC	S/$'CEE 	 	 	EEE	 ;c%jjHIIIeS!! 	4 F9v#x 	3!$QF:(+!2F:
 F	9vD
 $SVO	Ks$   AA2 2B B/C CCc                   \    e Zd ZdZ edd           eddde           edd          gZdS )	AVP_FL_NVz6 Defines the AVP of Fixed Length with No Vendor field.r   Nr  rJ   r  )	r.   r/   r0   r1   r   rm   AVP_Flags_Listr   fields_descr2   r-   r,   r!  r!    sL        @@D!!T1n55Xt$$KKKr-   r!  c                   r    e Zd ZdZ edd           eddde           edd           edd          gZ	dS )	AVP_FL_Vz3 Defines the AVP of Fixed Length with Vendor field.r   Nr  rJ   r  r  r   )
r.   r/   r0   r1   r   rm   r"  r   rs   r#  r2   r-   r,   r%  r%    s[        ==D!!T1n55Xt$$	(A	KKKr-   r%  c                   d    e Zd ZdZ edd           eddde           edddd 	          gZdS )
	AVP_VL_NVz9 Defines the AVP of Variable Length with No Vendor field.r   Nr  rJ   r  r   c                     |dz   S NrJ   r2   r:   s     r,   r=   zAVP_VL_NV.<lambda>  s
    QU r-   r5   r7   )	r.   r/   r0   r1   r   rm   r"  r4   r#  r2   r-   r,   r'  r'    s]        CCD!!T1n55$%22	4 	4 	4KKKr-   r'  c                   z    e Zd ZdZ edd           eddde           edddd 	           ed
d          gZ	dS )AVP_VL_Vz6 Defines the AVP of Variable Length with Vendor field.r   Nr  rJ   r  r   c                     |dz   S Nr   r2   r:   s     r,   r=   zAVP_VL_V.<lambda>  s
    QV r-   r*  r  r   )
r.   r/   r0   r1   r   rm   r"  r4   rs   r#  r2   r-   r,   r,  r,    sl        @@D!!T1n55$%33	5 	5 	5	(AKKKr-   r,  c            	           e Zd ZdZdZ edd           eddde           edddd	 
           e	 e
dd          d            eddd           gZdS )r   ze The default structure for AVPs which could not be decoded (optional vendor field, variable length). zAVP Unknownr   Nr  rJ   r  r   c                 (    |dz   | j         dz  dz	  z   S NrJ   rH   rq   r  r:   s     r,   r=   zAVP_Unknown.<lambda>  s    QUs|d7Jq6P-Q r-   r*  r  r   c                     | j         dz  S )NrH   r2  r;   s    r,   r=   zAVP_Unknown.<lambda>  s    CL4<O r-   c                 2    | j         dz
  | j        dz  dz	  z
  S r1  )r  r  r4  s    r,   r=   zAVP_Unknown.<lambda>  s    3:>clT>QVW=W+X r-   length_from)r.   r/   r0   r1   r)   r   rm   r"  r4   r   rs   r   r#  r2   r-   r,   r   r     s        ooDD!!T1n55$%QQ	S 	S 	S8Q//1O1OPPE4 X X	Z 	Z 	ZKKKr-   r   c                   0    e Zd Ze eddd           gZdS )AVPV_StrLenFieldr   Nc                     | j         dz
  S r.  r  r4  s    r,   r=   zAVPV_StrLenField.<lambda>      
R r-   r6  )r.   r/   r0   r,  r   r#  r2   r-   r,   r9  r9    0        E4-G-GHHHKKKr-   r9  c                   0    e Zd Ze eddd           gZdS )AVPNV_StrLenFieldr   Nc                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_StrLenField.<lambda>       
Q r-   r6  )r.   r/   r0   r'  r   r#  r2   r-   r,   r?  r?    0        E4-F-FGGGKKKr-   r?  c                   0    e Zd Ze eddd           gZdS )AVPV_OctetStringr   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVPV_OctetString.<lambda>  r<  r-   r6  )r.   r/   r0   r,  r   r#  r2   r-   r,   rD  rD    r=  r-   rD  c                   0    e Zd Ze eddd           gZdS )AVPNV_OctetStringr   Nc                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_OctetString.<lambda>  rA  r-   r6  )r.   r/   r0   r'  r   r#  r2   r-   r,   rG  rG    rB  r-   rG  c                   2    e Zd Ze edg ed           gZdS )AVPV_Groupedr   c                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVPV_Grouped.<lambda>  s    szB r-   r6  N)r.   r/   r0   r,  r   r  r#  r2   r-   r,   rJ  rJ    s;        r<$>$>	@ 	@ 	@KKKr-   rJ  c                   2    e Zd Ze edg ed           gZdS )AVPNV_Groupedr   c                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_Grouped.<lambda>  s    szA~ r-   r6  N)r.   r/   r0   r'  r   r  r#  r2   r-   r,   rM  rM    s9        r<$=$=	? 	? 	?@KKKr-   rM  c                   .    e Zd ZdZe edd          gZdS )AVPV_Unsigned32r   r   N)r.   r/   r0   r  r%  r   r#  r2   r-   r,   rP  rP  !  )        FZZt445KKKr-   rP  c                   .    e Zd ZdZe edd          gZdS )AVPNV_Unsigned32r   r   N)r.   r/   r0   r  r!  r   r#  r2   r-   r,   rS  rS  &  )        Fjj556KKKr-   rS  c                   .    e Zd ZdZe edd          gZdS )AVPV_Integer32r   r   N)r.   r/   r0   r  r%  r   r#  r2   r-   r,   rV  rV  +  )        FYYud334KKKr-   rV  c                   .    e Zd ZdZe edd          gZdS )AVPNV_Integer32r   r   N)r.   r/   r0   r  r!  r   r#  r2   r-   r,   rY  rY  0  )        Fiit445KKKr-   rY  c                   .    e Zd ZdZe edd          gZdS )AVPV_Unsigned64   r   N)r.   r/   r0   r  r%  r   r#  r2   r-   r,   r\  r\  5  rQ  r-   r\  c                   .    e Zd ZdZe edd          gZdS )AVPNV_Unsigned64r   r   N)r.   r/   r0   r  r!  r   r#  r2   r-   r,   r_  r_  :  rT  r-   r_  c                   .    e Zd ZdZe edd          gZdS )AVPV_Integer64r]  r   N)r.   r/   r0   r  r%  r   r#  r2   r-   r,   ra  ra  ?  rW  r-   ra  c                   .    e Zd ZdZe edd          gZdS )AVPNV_Integer64r   r   N)r.   r/   r0   r  r!  r   r#  r2   r-   r,   rc  rc  D  rZ  r-   rc  c                   .    e Zd ZdZe edd          gZdS )	AVPV_Timer   r   N)r.   r/   r0   r  r%  r   r#  r2   r-   r,   re  re  I  s)        FTT%../KKKr-   re  c                   .    e Zd ZdZe edd          gZdS )
AVPNV_Timer   r   N)r.   r/   r0   r  r!  r   r#  r2   r-   r,   rg  rg  N  s)        Fdd5$//0KKKr-   rg  c                   0    e Zd Ze eddd           gZdS )AVPV_Addressr   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVPV_Address.<lambda>V  s    CJO r-   r6  )r.   r/   r0   r,  r   r#  r2   r-   r,   ri  ri  S  s0        t)C)CDDDKKKr-   ri  c                   0    e Zd Ze eddd           gZdS )AVPNV_Addressr   Nc                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_Address.<lambda>]  s    CJN r-   r6  )r.   r/   r0   r'  r   r#  r2   r-   r,   rl  rl  Z  s0        t)B)BCCCKKKr-   rl  c                   0    e Zd Ze eddd           gZdS )AVPV_IPFilterRuler   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVPV_IPFilterRule.<lambda>d      b r-   r6  )r.   r/   r0   r,  r   r#  r2   r-   r,   ro  ro  a  s0        UD.H.HIIIKKKr-   ro  c                   0    e Zd Ze eddd           gZdS )AVPNV_IPFilterRuler   Nc                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_IPFilterRule.<lambda>k  s    a r-   r6  )r.   r/   r0   r'  r   r#  r2   r-   r,   rs  rs  h  s0        UD.G.GHHHKKKr-   rs  c                   0    e Zd Ze eddd           gZdS )AVPV_QoSFilterRuler   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVPV_QoSFilterRule.<lambda>r  s    #*r/ r-   r6  )r.   r/   r0   r,  r   r#  r2   r-   r,   rv  rv  o  s0        eT/I/IJJJKKKr-   rv  c                   0    e Zd Ze eddd           gZdS )AVPNV_QoSFilterRuler   Nc                     | j         dz
  S r)  r;  r4  s    r,   r=   zAVPNV_QoSFilterRule.<lambda>y  s    #*q. r-   r6  )r.   r/   r0   r'  r   r#  r2   r-   r,   ry  ry  v  s0        eT/H/HIIIKKKr-   ry  c                   4    e Zd ZdZdZe edde          gZdS )	AVP_0_258zAVP Auth-Application-Idr   r   N)	r.   r/   r0   r)   r  r!  r   
AppIDsEnumr#  r2   r-   r,   r|  r|    s0        $DFjjjAABKKKr-   r|  c                   4    e Zd ZdZdZe edde          gZdS )	AVP_0_266zAVP Vendor-Idr   r   N)	r.   r/   r0   r)   r  r!  r   rv   r#  r2   r-   r,   r  r    s0        DFjjjAABKKKr-   r  c                      e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCd<dDdEdFdGi dHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdx          gZdS )y	AVP_0_268zAVP Result-Coder   r   N  DIAMETER_MULTI_ROUND_AUTH  DIAMETER_SUCCESS  DIAMETER_LIMITED_SUCCESS  DIAMETER_FIRST_REGISTRATION   DIAMETER_SUBSEQUENT_REGISTRATION  DIAMETER_UNREGISTERED_SERVICE  'DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED  DIAMETER_SERVER_SELECTION  ,DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED  DIAMETER_SUCCESS_RELOCATE_HAi  DIAMETER_COMMAND_UNSUPPORTEDi  DIAMETER_UNABLE_TO_DELIVERi  DIAMETER_REALM_NOT_SERVEDi  DIAMETER_TOO_BUSYi  DIAMETER_LOOP_DETECTEDi  DIAMETER_REDIRECT_INDICATIONi   DIAMETER_APPLICATION_UNSUPPORTEDi  DIAMETER_INVALID_HDR_BITSi  DIAMETER_INVALID_AVP_BITSi  DIAMETER_UNKNOWN_PEERi   DIAMETER_AUTHENTICATION_REJECTEDi  DIAMETER_OUT_OF_SPACEi  DIAMETER_ELECTION_LOSTi   DIAMETER_ERROR_MIP_REPLY_FAILUREi  DIAMETER_ERROR_HA_NOT_AVAILABLEi  DIAMETER_ERROR_BAD_KEYi  'DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTEDi   DIAMETER_END_USER_SERVICE_DENIEDi  &DIAMETER_CREDIT_CONTROL_NOT_APPLICABLEi  DIAMETER_CREDIT_LIMIT_REACHEDi  DIAMETER_USER_NAME_REQUIREDi    DIAMETER_AVP_UNSUPPORTED  DIAMETER_UNKNOWN_SESSION_ID  DIAMETER_AUTHORIZATION_REJECTED  DIAMETER_INVALID_AVP_VALUE  DIAMETER_MISSING_AVP  DIAMETER_RESOURCES_EXCEEDED  DIAMETER_CONTRADICTING_AVPS  DIAMETER_AVP_NOT_ALLOWED  "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES  DIAMETER_NO_COMMON_APPLICATION  DIAMETER_UNSUPPORTED_VERSIONi  DIAMETER_UNABLE_TO_COMPLYi  DIAMETER_INVALID_BIT_IN_HEADERi  DIAMETER_INVALID_AVP_LENGTHi  DIAMETER_INVALID_MESSAGE_LENGTHi  DIAMETER_INVALID_AVP_BIT_COMBOi  DIAMETER_NO_COMMON_SECURITYi  "DIAMETER_RADIUS_AVP_UNTRANSLATABLEi  $DIAMETER_ERROR_NO_FOREIGN_HA_SERVICE,DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTIONDIAMETER_USER_UNKNOWNDIAMETER_RATING_FAILEDDIAMETER_ERROR_USER_UNKNOWN$DIAMETER_ERROR_IDENTITIES_DONT_MATCH&DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"DIAMETER_ERROR_ROAMING_NOT_ALLOWED*DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED(DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED!DIAMETER_ERROR_IN_ASSIGNMENT_TYPEDIAMETER_ERROR_TOO_MUCH_DATAz&DIAMETER_ERROR_NOT SUPPORTED_USER_DATADIAMETER_ERROR_MIP6_AUTH_MODEDIAMETER_END_USER_NOT_FOUND)i  i  i  i  i  i  i  i  i  i  i  i    iy  r.   r/   r0   r)   r  r!  r   r#  r2   r-   r,   r  r    s       DF:e"A!t%@ A!#%7A!#%?A!  $%BA!  $%G	A!
  $%DA!  $%NA!  $%@A!  $%SA!  $%CA!  $%CA!  $%AA!  $%@A!  $%8A!  $%=A!  $%CA!   $%G!A! A!"  $%@#A!$  $%@%A!&  $%<'A!(  $%G)A!*  $%<+A!,  $%=-A!.  $%G/A!0  $%F1A!2  $%=3A!4  $%N5A!6  $%G7A!8  $%M9A!:  $%D;A!<  $%B=A!>  $%G?A!@  $%?AA!B  $%BCA! A! A!D  $%FEA!F  $%AGA!H  $%;IA!J  $%BKA!L  $%BMA!N  $%?OA!P  $%IQA!R  $%ESA!T  $%CUA!V  $%@WA!X  $%EYA!Z  $%B[A!\  $%F]A!^  $%E_A!`  $%BaA!b  $%IcA!d  $%KeA! A!f &T%<%=%B%K%M%I%Q%O%H%C%M%D%BAA! A! A!C" C"D#KKKr-   r  c                      e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHi dIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidji dkdldmdndodpdqdrdsdtdudvdwdxdydvdzd{d|d}d~ddddddddddddddddddddddd	          gZdS )	AVP_0_298zAVP Experimental-Result-Coder   r   Nr  r  r  r  r  r  r  r    (DIAMETER_PDP_CONTEXT_DELETION_INDICATIONi   DIAMETER_USER_DATA_NOT_AVAILABLEi  !DIAMETER_PRIOR_UPDATE_IN_PROGRESSi  DIAMETER_ERROR_OUT_OF_RESOURCESi-  DIAMETER_PCC_BEARER_EVENTiU  (DIAMETER_AUTHENTICATION_DATA_UNAVAILABLEii  DIAMETER_ERROR_ABSENT_USERi}  DIAMETER_ERROR_UNREACHABLE_USERi~  DIAMETER_ERROR_SUSPENDED_USERi  DIAMETER_ERROR_DETACHED_USERi  !DIAMETER_ERROR_POSITIONING_DENIEDi  !DIAMETER_ERROR_POSITIONING_FAILEDi  z-DIAMETER_ERROR_UNKNOWN_UNREACHABLE LCS_CLIENTr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  &DIAMETER_ERROR_NOT_SUPPORTED_USER_DATAr  DIAMETER_MISSING_USER_IDr  "DIAMETER_ERROR_FEATURE_UNSUPPORTEDr  (DIAMETER_ERROR_USER_NO_WLAN_SUBSCRIPTIONi  z#DIAMETER_ERROR_W-APN_UNUSED_BY_USERi  zBDIAMETER_ERROR_W-DIAMETER_ERROR_NO_ACCESS_INDEPENDENT_SUBSCRIPTIONi  z)DIAMETER_ERROR_USER_NO_W-APN_SUBSCRIPTIONi  !DIAMETER_ERROR_UNSUITABLE_NETWORKi  INVALID_SERVICE_INFORMATIONi  FILTER_RESTRICTIONSi   REQUESTED_SERVICE_NOT_AUTHORIZEDi  DUPLICATED_AF_SESSIONi  zIP-CAN_SESSION_NOT_AVAILABLEi  "UNAUTHORIZED_NON_EMERGENCY_SESSIONi  'DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZEDi  $DIAMETER_ERROR_OPERATION_NOT_ALLOWEDi  'DIAMETER_ERROR_USER_DATA_CANNOT_BE_READi  +DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIEDi  +DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIEDi  +DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNCi  DIAMETER_ERROR_SUBS_DATA_ABSENTi  &DIAMETER_ERROR_NO_SUBSCRIPTION_TO_DATAi  !DIAMETER_ERROR_DSAI_NOT_AVAILABLEi   DIAMETER_ERROR_START_INDICATIONi  DIAMETER_ERROR_STOP_INDICATIONi  *DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICEi  DIAMETER_ERROR_SERVICE_AREAi  !DIAMETER_ERROR_INITIAL_PARAMETERSi  DIAMETER_ERROR_TRIGGER_EVENTi  DIAMETER_BEARER_EVENTi  $DIAMETER_ERROR_BEARER_NOT_AUTHORIZEDi  ,DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTEDi  DIAMETER_QOS_RULE_EVENTi  i  "DIAMETER_ERROR_CONFLICTING_REQUESTi  DIAMETER_ERROR_IMPI_UNKNOWNi  DIAMETER_ERROR_NOT_AUTHORIZEDi  -DIAMETER_ERROR_TRANSACTION_IDENTIFIER_INVALIDi,  'DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTIONi-  DIAMETER_ERROR_RAT_NOT_ALLOWEDi.   DIAMETER_ERROR_EQUIPMENT_UNKNOWNi/  #DIAMETER_ERROR_UNKNOWN_SERVING_NODEiJ  ,DIAMETER_ERROR_USER_NO_NON_3GPP_SUBSCRIPTION'DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION#DIAMETER_ERROR_RAT_TYPE_NOT_ALLOWEDDIAMETER_ERROR_SUBSESSION.DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_NETWORK-DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_ENTITY#DIAMETER_ERROR_UNAUTHORIZED_SERVICE"DIAMETER_ERROR_INVALID_SME_ADDRESSDIAMETER_ERROR_SC_CONGESTIONDIAMETER_ERROR_SM_PROTOCOL)	iK  iL  i^  ir  i  i  i  i  i  r  r2   r-   r,   r  r    s       )DF
N3N8N 5N ?	N
 @N 8N 9N 7N 1N @N 2N 7N 5N 4N 9N  9!N" E#N N$ 3%N& <'N( >)N* :+N, B-N. @/N0 91N2 43N4 >5N6 07N8 :9N: @;N< ;=N> Z?N@ AANB 9CND 3EN N NF +GNH 8INJ -KNL 4MNN :ONP ?QNR <SNT ?UNV CWNX CYNZ C[N\ 7]N^ >_N` 9aNb 7cNd 6eNf BgN N Nh 3iNj 9kNl 4mNn -oNp <qNr DsNt /uNv DwNx :yNz 3{N| 5}N~ EN@ ?ANB 6CND 8ENF ;GNH DIN NJ @;1FE;:42[N N NQ	 Q	SKKKr-   r  c                   :    e Zd ZdZdZe edddg d          gZdS )AVP_10415_630zAVP Feature-Listr   r   N    ) SiFCAliasIndIMSRestorationIndb3b4b5b6b7b8b9b10b11b12b13b14b15b16b17b18b19b20b21b22b23b24b25b26b27b28b29b30b31)r.   r/   r0   r)   r  r%  r   r#  r2   r-   r,   r  r  3  sF        DF:eT2& & & '  '!(KKKr-   r  c                   4    e Zd ZdZe eddd           gZdS )AVP_10415_701z
AVP MSISDNr   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVP_10415_701.<lambda>]  rq  r-   r6  r.   r/   r0   r)   r,  r   r#  r2   r-   r,   r:  r:  Z  s>        DTT%.H.HJ J J KKKKr-   r:  c                   4    e Zd ZdZe eddd           gZdS )AVP_10415_1643zAVP A_MSISDNr   Nc                     | j         dz
  S r.  r;  r4  s    r,   r=   zAVP_10415_1643.<lambda>c  rq  r-   r6  r<  r2   r-   r,   r>  r>  `  s>        DTT%.H.HJ J J KKKKr-   r>  c            	           e Zd ZdZdZe eddi ddddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(          gZdS ))AVP_0_6Service-Typer   r   Nr   rh   rL   Loginr   Framedrp   zCallback-LoginrK   zCallback-Framedrq   Outboundr   Administrativer   z
NAS-PromptrJ   zAuthenticate-Onlyr   zCallback-NAS-Prompt
   z
Call Check   zCallback AdministrativeVoice   Fax   zModem RelayrI   zIAPP-Registerr   zIAPP-AP-CheckzAuthorize OnlyzFramed-Management)      r  r2   r-   r,   rA  rA  i  s       DF
5$)' ( *	
 + * * , - / < 4 7 5 =  ?!" ?#$ ,.'  	 	KKKr-   rA  c                   R    e Zd ZdZdZe eddddddd	d
ddddddddd          gZdS )AVP_0_7Framed-Protocolr   r   NPPPSLIPARAPGandalfXylogicszX.75zGPRS PDP Contextz
Ascend-ARAMPPEURAWEUUIX25COMBFR)rL   r   rp   rK   rq   r   r                   r  r2   r-   r,   rP  rP    si        DF
5$  #$ ,(!#"!"  	 	KKKr-   rP  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_0_10Framed-Routingr   r   NrF   zSend routing packetszListen for routing packetszSend and Listen    r   rL   r   rp   r  r2   r-   r,   re  re    sK        DF
5$ 06/	 	 	KKKr-   re  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_0_13Framed-Compressionr   r   NrF   zIPX header compressionzStac-LZS compression)r   r   rp   r  r2   r-   r,   ri  ri    sF        DF
5$":?UXX	Z 	ZKKKr-   ri  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_0_15Login-Servicer   r   NTelnetRloginz	TCP-Clear
PortMasterLATzX25-PADz	X25-T3POS
Unassignedr   rL   r   rp   rK   rq   r   r   r  r2   r-   r,   rl  rl    sW        DF
5$""%&#%&	 	
	 
	KKKr-   rl  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_0_45Acct-Authenticr   r   NrF   RADIUSLocalRemoteDiameterr   rL   r   rp   rK   r  r2   r-   r,   ru  ru    sI        DF
5$(w8
UU	W 	WXKKKr-   ru  c            	          e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&i d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJi          gZdS )KAVP_0_61NAS-Port-Typer   r   Nr   AsyncrL   Syncr   z	ISDN-Syncrp   zISDN-Async-v120rK   zISDN-Async-v110rq   Virtualr   PIAFSr   zHDLC-Clear-ChannelrJ   rZ  r   X75rG  zG.3 FaxrH  zSDSL - Symmetric DSLrL  z#IDSL - ISDN Digital Subscriber LinerI   Ethernetr   z.xDSL - Digital Subscriber Line of unknown typerM  CablerN  zWireless - Other   zWireless - IEEE 802.11r]  z
Token-Ring   FDDI   zWireless - CDMA2000   zWireless - UMTS   zWireless - 1X-EV   IAPP   zFTTP - Fiber to the Premises   zWireless - IEEE 802.16   zWireless - IEEE 802.20   zWireless - IEEE 802.22   zPPPoA - PPP over ATMro   z$PPPoEoA - PPP over Ethernet over ATMr  z)PPPoEoE - PPP over Ethernet over Ethernet!   z(PPPoEoVLAN - PPP over Ethernet over VLAN"   z2PPPoEoQinQ - PPP over Ethernet over IEEE 802.1QinQr   zxPON - Passive Optical Network$   zWireless - XGPr  r2   r-   r,   r}  r}    s       DF
5$$'$&$ +$ +	$
 +$ )$ '$ .$ %$ %$ 9$ 1$ @$ :$ K$  7!$" -#$ $$ 3%$& <'$( 6)$* 0+$, ,-$. -/$0 61$2 93$4 35$6 37$8 39$: 1;$< A=$> F?$@ EA$B OC$D ;E$ $F +G$ $%	 %	'KKKr-   r}  c                   P    e Zd ZdZdZe eddddddd	d
dddddddd          gZdS )AVP_0_64Tunnel-Typer   r   NPPTPL2FL2TPATMPVTPAHzIP-IP-Encapz	MIN-IP-IPESPGREDVSzIP-in-IP TunnelingVLAN)rL   r   rp   rK   rq   r   r   rJ   r   rG  rH  r   rJ  r  r2   r-   r,   r  r    sf        DF
5$   '%  /! 	 	KKKr-   r  c                   T    e Zd ZdZdZe eddddddd	d
dddddddddd          gZdS )AVP_0_65Tunnel-Medium-Typer   r   NIPv4IPv6NSAPHDLCBBNzIEEE-802zE-163zE-164zF-69zX-121IPXzAppletalk-802Decnet4Vinesz
E-164-NSAPrL   r   rp   rK   rq   r   r   rJ   r   rG  rH  r   rJ  rL  rI   r  r2   r-   r,   r  r    sl        DF
5$    $!! " *$"' 	 	KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_0_72ARAP-Zone-Accessr   r   Nz!Only allow access to default zonezUse zone filter inclusivelyzUse zone filter exclusivelyrL   r   rp   r  r2   r-   r,   r  r  .  sH        DF
5$=77 	 	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_0_76Promptr   r   NzNo EchoEchor   rL   r  r2   r-   r,   r  r  ;  s;        DF
5$I& ; ;<<KKKr-   r  c                   D    e Zd ZdZdZe eddddddd	d
dd          gZdS )	AVP_0_261Redirect-Host-Usager   r   Nz
Don't CarezAll Sessionz	All RealmzRealm and ApplicationzAll ApplicationzAll HostALL_USERr   rL   r   rp   rK   rq   r   r  r2   r-   r,   r  r  D  sT         DF
5$&'%1+$$ 		 		KKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_271Session-Server-Failoverr   r   NREFUSE_SERVICE	TRY_AGAINALLOW_SERVICETRY_AGAIN_ALLOW_SERVICErg  r  r2   r-   r,   r  r  U  sH        $DF
5$'KOPill	n 	noKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_273Disconnect-Causer   r   N	REBOOTINGBUSYDO_NOT_WANT_TO_TALK_TO_YOUr   rL   r   r  r2   r-   r,   r  r  ^  s;        DFjj+&Uq6t6tuuvKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_274Auth-Request-Typer   r   NAUTHENTICATE_ONLYAUTHORIZE_ONLYAUTHORIZE_AUTHENTICATEr  r  r2   r-   r,   r  r  d  sL        DF::eT"'7<T,X ,X Y YZKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_277Auth-Session-Stater   r   NSTATE_MAINTAINEDNO_STATE_MAINTAINEDr  r  r2   r-   r,   r  r  l  s:        DFjj:LQf6i6ijjkKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_285Re-Auth-Request-Typer   r   Nr  r  r  r  r2   r-   r,   r  r  r  s:        !DFjj:JOg6j6jkklKKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )	AVP_0_295Termination-Causer   r   NDIAMETER_LOGOUTDIAMETER_SERVICE_NOT_PROVIDEDDIAMETER_BAD_ANSWERDIAMETER_ADMINISTRATIVEDIAMETER_LINK_BROKENDIAMETER_AUTH_EXPIREDDIAMETER_USER_MOVEDDIAMETER_SESSION_TIMEOUT)rL   r   rp   rK   rq   r   r   rJ   r  r2   r-   r,   r  r  x  sY        DF
$2(,)*(-	 		 	KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )	AVP_0_345MIP-Algorithm-Typer   r   Nr   z
HMAC-SHA-1r  r2   r-   r,   r  r    s8        DF::eTA|+>??AKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_346MIP-Replay-Moder   r   NrF   
TimestampsNoncesr  r  r2   r-   r,   r  r    s=        DF::eTv,8+V+VWWYKKKr-   r  c                   N    e Zd ZdZdZe eddddddd	d
ddddddd          gZdS )	AVP_0_375SIP-Server-Assignment-Typer   r   NNO_ASSIGNMENTREGISTRATIONRE_REGISTRATIONUNREGISTERED_USERTIMEOUT_DEREGISTRATIONUSER_DEREGISTRATION(TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME%USER_DEREGISTRATION_STORE_SERVER_NAMEADMINISTRATIVE_DEREGISTRATIONAUTHENTICATION_FAILUREAUTHENTICATION_TIMEOUTDEREGISTRATION_TOO_MUCH_DATA)r   rL   r   rp   rK   rq   r   r   rJ   r   rG  rH  r  r2   r-   r,   r  r    se        'DF
"!$&+(=:2+,2 	 	KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )	AVP_0_377SIP-Authentication-Schemer   r   Nr   DIGESTr  r2   r-   r,   r  r    s6        &DF::eTAx?;;=KKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_384SIP-Reason-Coder   r   NPERMANENT_TERMINATIONNEW_SIP_SERVER_ASSIGNEDSIP_SERVER_CHANGEREMOVE_SIP_SERVERrg  r  r2   r-   r,   r   r     sM        DF
*,&&	 	 	
KKKr-   r   c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_387SIP-User-Authorization-Typer   r   Nr  DEREGISTRATIONREGISTRATION_AND_CAPABILITIESr  r  r2   r-   r,   r  r    sL        (DF::eT"27V,Z ,Z [ [\KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_392SIP-User-Data-Already-Availabler   r   NUSER_DATA_NOT_AVAILABLEUSER_DATA_ALREADY_AVAILABLEr  r  r2   r-   r,   r  r    sI        ,DF::eT(-J,N ,N O OPKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )	AVP_0_403CHAP-Algorithmr   r   Nrq   zCHAP with MD5r  r2   r-   r,   r  r    s8        DF::eTA+ABBDKKKr-   r  c                   D    e Zd ZdZdZe eddddddd	d
dd          gZdS )	AVP_0_406Accounting-Auth-Methodr   r   NPAPCHAPz	MS-CHAP-1z	MS-CHAP-2EAP	UndefinedrF   )rL   r   rp   rK   rq   r   r   r  r2   r-   r,   r  r    sS        #DF::eTKKEk^d,h ,h i ijKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_416CC-Request-Typer   r   NINITIAL_REQUESTUPDATE_REQUESTTERMINATION_REQUESTEVENT_REQUESTrL   r   rp   rK   r  r2   r-   r,   r  r    sO        DF::eT %5:OTc,g ,g h hiKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_418CC-Session-Failoverr   r   NFAILOVER_NOT_SUPPORTEDFAILOVER_SUPPORTEDr  r  r2   r-   r,   r#  r#    s:         DFjj:RWk6n6noopKKKr-   r#  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_422Check-Balance-Resultr   r   NENOUGH_CREDIT	NO_CREDITr  r  r2   r-   r,   r(  r(    s;        !DF::eT;+Q+QRRTKKKr-   r(  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_426Credit-Controlr   r   NCREDIT_AUTHORIZATIONRE_AUTHORIZATIONr  r  r2   r-   r,   r-  r-    s:        DFjj:PUg6j6jkklKKKr-   r-  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_427Credit-Control-Failure-Handlingr   r   N	TERMINATECONTINUERETRY_AND_TERMINATEr  r  r2   r-   r,   r2  r2    sK        ,DF::eTz.C,G ,G H HIKKKr-   r2  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_428 Direct-Debiting-Failure-Handlingr   r   NTERMINATE_OR_BUFFERr5  r  r  r2   r-   r,   r8  r8    s<        -DF::eT/D+V+VWWYKKKr-   r8  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_433Redirect-Address-Typer   r   NIPV4_ADDRESSIPV6_ADDRESSURLSIP_URIrg  r  r2   r-   r,   r<  r<    s>        "DFjj.^`ejs6v6vwwxKKKr-   r<  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_436Requested-Actionr   r   NDIRECT_DEBITINGREFUND_ACCOUNTCHECK_BALANCEPRICE_ENQUIRYrg  r  r2   r-   r,   rC  rC    sM        DF::eT %5/o,a ,a b bcKKKr-   rC  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_449Final-Unit-Actionr   r   Nr4  REDIRECTRESTRICT_ACCESSr  r  r2   r-   r,   rJ  rJ     s;        DFjj+*Yj6m6mnnoKKKr-   rJ  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )	AVP_0_450Subscription-Id-Typer   r   NEND_USER_E164END_USER_IMSIEND_USER_SIP_URIEND_USER_NAIEND_USER_PRIVATEr{  r  r2   r-   r,   rO  rO  &  sP        !DF
""%!% 		 		KKKr-   rO  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_452Tariff-Change-Usager   r   NUNIT_BEFORE_TARIFF_CHANGEUNIT_AFTER_TARIFF_CHANGEUNIT_INDETERMINATEr  r  r2   r-   r,   rW  rW  7  sL         DF::eT*/INb,f ,f g ghKKKr-   rW  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )	AVP_0_454CC-Unit-Typer   r   NTIMEMONEYzTOTAL-OCTETSzINPUT-OCTETSzOUTPUT-OCTETSzSERVICE-SPECIFIC-UNITSr   rL   r   rp   rK   rq   r  r2   r-   r,   r]  r]  ?  sS        DF
!!"+ 
	 
	KKKr-   r]  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_455Multiple-Services-Indicatorr   r   NMULTIPLE_SERVICES_NOT_SUPPORTEDMULTIPLE_SERVICES_SUPPORTEDr  r  r2   r-   r,   rc  rc  Q  sI        (DF::eT05R,V ,V W WXKKKr-   rc  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_459User-Equipment-Info-Typer   r   NIMEISVMACEUI64MODIFIED_EUI64rg  r  r2   r-   r,   rh  rh  Y  sM        %DF::eTEg2B,F ,F G GHKKKr-   rh  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_480Accounting-Record-Typer   r   NzEvent RecordzStart RecordzInterim RecordzStop Recordr!  r  r2   r-   r,   ro  ro  a  sM        #DF::eT.5E-,[ ,[ \ \]KKKr-   ro  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
	AVP_0_483Accounting-Realtime-Requiredr   r   NReservedDELIVER_AND_GRANTGRANT_AND_STOREGRANT_AND_LOSErg  r  r2   r-   r,   rr  rr  i  sO        )DF::eT16GL\,` ,` a abKKKr-   rr  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_494MIP6-Auth-Moder   r   Nrt  IP6_AUTH_MN_AAAr  r  r2   r-   r,   ry  ry  q  s<        DF::eTz>O+R+RSSUKKKr-   ry  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )	AVP_0_513Protocolr   r   NICMPIGMPr  r   UDPSCTP)rL   r   rK   r   rM     r  r2   r-   r,   r}  r}  x  sP        DF::eT&V5v,Q ,Q R RSKKKr-   r}  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_514	Directionr   r   NINOUTBOTHr  r  r2   r-   r,   r  r    s=        DF::eTt&+K+KLLNKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_517Negatedr   r   NFalseTruer  r  r2   r-   r,   r  r    s;        DF::eTw6+D+DEEGKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_534Use-Assigned-Addressr   r   Nr  r  r  r  r2   r-   r,   r  r    s;        !DF::eTw6+D+DEEGKKKr-   r  c                       e Zd ZdZdZe eddi ddddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*          gZdS )+	AVP_0_535Diffserv-Code-Pointr   r   Nr   CS0rJ   CS1rG  AF11AF12rL  AF13r   CS2rN  AF21r]  AF22r  AF23r  CS3r  AF31r  AF32r  AF33r  CS4r  AF41r  AF42&   AF43CS5EF_PHBCS6CS7)(   .   r   8   r  r2   r-   r,   r  r    s!        DF
55 F F	
 F E F F F E F F F E F  F!" F#$ +  	 	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )	AVP_0_536Fragmentation-Flagr   r   NzDon't FragmentzMore Fragmentsr  r  r2   r-   r,   r  r    s=        DF::eT/?DT+W+WXXZKKKr-   r  c                       e Zd ZdZdZe eddi ddddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/	          gZdS )0	AVP_0_538IP-Option-Typer   r   Nr   end_of_listrL   nopr   securityrp   loose_source_routerK   	timestamprq   extended_securityr   commercial_securityr   record_routerJ   	stream_idr   strict_source_routerG  experimental_measurementrH  	mtu_probe	mtu_replyrJ  flow_controlrL  access_controlrI   encoder   imi_traffic_descriptorextended_IP
tracerouteaddress_extensionrouter_alert!selective_directed_broadcast_modedynamic_packet_stateupstream_multicast_packetquick_startrfc4727_experiment)	rM  rN  r  r]  r  r  r  r  r  r  r2   r-   r,   r  r    s7       DF
=5 : '	
 ; & ( > ; ( . K K N $  H!" ,#$ " '"7*/!(5  	 	 KKKr-   r  c                   J    e Zd ZdZdZe eddddddd	d
ddddd
          gZdS )	AVP_0_541TCP-Option-Typer   r   NEOLNOPMSSWScaleSAckOKSAck	Timestamp	AltChkSumAltChkSumOptMood)
r   rL   r   rp   rK   rq   rJ   rL  rI   r  r  r2   r-   r,   r  r    s_        DF
" 	 	KKKr-   r  c                   T    e Zd ZdZdZe eddddddd	d
dddddddddd          gZdS )	AVP_0_546ICMP-Type-Numberr   r   Nz
echo-replyzdest-unreachzsource-quenchredirectzecho-requestzrouter-advertisementzrouter-solicitationztime-exceededzparameter-problemztimestamp-requestztimestamp-replyzinformation-requestzinformation-responsezaddress-mask-requestzaddress-mask-reply)r   rp   rK   rq   rJ   r   rG  rH  r   rJ  rL  rI   r   rM  rN  r  r2   r-   r,   r  r    sn        DF
!"!))#''%)**( 	 	KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )	AVP_0_547	ICMP-Coder   r   Nr   TBDr  r2   r-   r,   r  r    s6        DF::eTAu<88:KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )		AVP_0_570Timezone-Flagr   r   NUTCLOCALOFFSETr  r  r2   r-   r,   r  r    s=        DF::eTuX+P+PQQSKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )	AVP_0_575QoS-Semanticsr   r   NQoS_DesiredQoS_AvailableQoS_DeliveredMinimum_QoSQoS_Authorizedr{  r  r2   r-   r,   r  r  "  sP        DF
 "" # 		 		KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_500Abort-Causer   r   NBEARER_RELEASEDINSUFFICIENT_SERVER_RESOURCESINSUFFICIENT_BEARER_RESOURCESr  r.   r/   r0   r)   r  r%  r   r#  r2   r-   r,   r  r  3  sI        DF:e""3"A"A! !" "#KKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_511Flow-Statusr   r   NzENABLED-UPLINKzENABLED-DOWNLINKENABLEDDISABLEDREMOVEDr{  r  r2   r-   r,   r  r  ?  sP        DF**UD$69Xa+e +e f fgKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_512
Flow-Usager   r   NNO_INFORMATIONRTCPAF_SIGNALLINGr  r  r2   r-   r,   r  r  G  s<        DFZZt9IfYh5k5kllmKKKr-   r  c                   L    e Zd ZdZdZe eddddddd	d
dddddd          gZdS )AVP_10415_513Specific-Actionr   r   NCHARGING_CORRELATION_EXCHANGEINDICATION_OF_LOSS_OF_BEARER INDICATION_OF_RECOVERY_OF_BEARERINDICATION_OF_RELEASE_OF_BEARERIP-CAN_CHANGEINDICATION_OF_OUT_OF_CREDIT-INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION)INDICATION_OF_FAILED_RESOURCES_ALLOCATION$INDICATION_OF_LIMITED_PCC_DEPLOYMENTUSAGE_REPORTACCESS_NETWORK_INFO_REPORT)rL   r   rp   rK   r   r   rJ   r   rG  rH  r   r  r2   r-   r,   r  r  M  sb        DF
2154"0B>:"0 	 	KKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_10415_520
Media-Typer   r   NAUDIOVIDEODATAAPPLICATIONCONTROLTEXTMESSAGEOTHER)r   rL   r   rp   rK   rq   r   r   r  r2   r-   r,   r  r  d  sX        DF:e"")")"("/"+"("++2! !
" 
"#KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_523SIP-Forking-Indicationr   r   NSINGLE_DIALOGUESEVERAL_DIALOGUESr  r  r2   r-   r,   r  r  u  sD        #DF**UD %8+< +< = =>KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_527Service-Info-Statusr   r   NFINAL_SERVICE_INFORMATIONPRELIMINARY_SERVICE_INFORMATIONr  r  r2   r-   r,   r#  r#  }  sI         DF**UD*/P+T +T U UVKKKr-   r#  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_529AF-Signalling-Protocolr   r   Nr  SIPr  r  r2   r-   r,   r(  r(    s<        #DF**UD.>5*K*KLLNKKKr-   r(  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_533Rx-Request-Typer   r   Nr  r  r  r  r2   r-   r,   r,  r,    s:        DFZZt9JO_5b5bccdKKKr-   r,  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_536Required-Access-Infor   r   NUSER_LOCATIONMS_TIME_ZONEr  r  r2   r-   r,   r/  r/    s;        !DF**UDo.*S*STTVKKKr-   r/  c                   R    e Zd ZdZdZe eddddddd	d
ddddddddd          gZdS )AVP_10415_614Server-Assignment-Typer   r   Nr  r  r  r  r  r  r  r  r  r  r  r  AAA_USER_DATA_REQUEST
PGW_UPDATE)r   rL   r   rp   rK   rq   r   r   rJ   r   rG  rH  r   rJ  r  r2   r-   r,   r4  r4    sk        #DF
"!$&+(=:2+,2+  	 	KKKr-   r4  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_616Reason-Coder   r   Nr  NEW_SERVER_ASSIGNEDSERVER_CHANGEzREMOVE_S-CSCFrg  r  r2   r-   r,   r9  r9    sL        DF:e""9"7"1"1! !" "#KKKr-   r9  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_623User-Authorization-Typer   r   Nr  DE_REGISTRATIONr
  r  r  r2   r-   r,   r>  r>    sL        $DF**UD"38W+[ +[ \ \]KKKr-   r>  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_624User-Data-Already-Availabler   r   Nr  r  r  r  r2   r-   r,   rB  rB    sI        (DF**UD(-J+N +N O OPKKKr-   rB  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_633Originating-Requestr   r   Nr   ORIGINATINGr  r2   r-   r,   rE  rE    s8         DF**UD1m*>??AKKKr-   rE  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_638Loose-Route-Indicationr   r   NLOOSE_ROUTE_NOT_REQUIREDLOOSE_ROUTE_REQUIREDr  r  r2   r-   r,   rI  rI    s:        #DFZZt9SXn5q5qrrsKKKr-   rI  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_648 Multiple-Registration-Indicationr   r   NNOT_MULTIPLE_REGISTRATIONMULTIPLE_REGISTRATIONr  r  r2   r-   r,   rN  rN    sI        -DF**UD*/F+J +J K KLKKKr-   rN  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_650Session-Priorityr   r   Nz
PRIORITY-0z
PRIORITY-1z
PRIORITY-2z
PRIORITY-3z
PRIORITY-4r{  r  r2   r-   r,   rS  rS    sO        DF**UD,S_+c +c d deKKKr-   rS  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_652Priviledged-Sender-Indicationr   r   NNOT_PRIVILEDGED_SENDERPRIVILEDGED_SENDERr  r  r2   r-   r,   rV  rV    sI        *DF**UD',@+D +D E EFKKKr-   rV  c                       e Zd ZdZdZe eddi ddddd	dd
dddddddddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-          gZdS ).AVP_10415_703Data-Referencer   r   Nr   RepositoryDatarL   r  r   rp   rK   rq   r   r   rJ   r   rG  IMSPublicIdentityrH  IMSUserStater   z
S-CSCFNamerJ  InitialFilterCriteriarL  LocationInformationrI   	UserStateChargingInformationMSISDNPSIActivationDSAIrt  ServiceLevelTraceInfo!IPAddressSecureBindingInformationServicePriorityLevelSMSRegistrationInfoUEReachabilityForIPTADSinformationSTN-SRUE-SRVCC-CapabilityExtendedPriorityCSRNReferenceLocationInformation)rM  rN  r  r]  r  r  r  r  r  r  r  r  r  r  ro   r  r2   r-   r,   r[  r[    sH       DF
!#!;! ;! ;	!
 ;! ;! ;! ;! ;! ;! '! N! L! +! )!  K!!" )#!$ #+7*))%)&2A! ! !$	 $	&KKKr-   r[  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_705Subs-Req-Typer   r   N	SubscribeUnsubscriber  r  r2   r-   r,   rs  rs  !  s;        DF**UDkm*N*NOOQKKKr-   rs  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_706Requested-Domainr   r   Nz	CS-Domainz	PS-Domainr  r  r2   r-   r,   rx  rx  (  s;        DF**UDkk*L*LMMOKKKr-   rx  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_707Current-Locationr   r   N(DoNotNeedInitiateActiveLocationRetrievalInitiateActiveLocationRetrievalr  r  r2   r-   r,   r{  r{  /  sI        DF**UD9>_+c +c d deKKKr-   r{  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_708Identity-Setr   r   NALL_IDENTITIESREGISTERED_IDENTITIESIMPLICIT_IDENTITIESALIAS_IDENTITIESrg  r  r2   r-   r,   r  r  7  sM        DF
#*(%	 	 	
KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_710Send-Data-Indicationr   r   NUSER_DATA_NOT_REQUESTEDUSER_DATA_REQUESTEDr  r  r2   r-   r,   r  r  G  :        !DFZZt9RWl5o5oppqKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_712One-Time-Notificationr   r   Nr   ONE_TIME_NOTIFICATION_REQUESTEDr  r2   r-   r,   r  r  M  s9        "DF**UD1.O*RSSUKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_714Serving-Node-Indicationr   r   Nr   ONLY_SERVING_NODES_REQUIREDr  r2   r-   r,   r  r  T  s9        $DF**UD1.K*NOOQKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_717Pre-paging-Supportedr   r   NPREPAGING_NOT_SUPPORTEDPREPAGING_SUPPORTEDr  r  r2   r-   r,   r  r  [  r  r-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_718Local-Time-Zone-Indicationr   r   NONLY_LOCAL_TIME_ZONE_REQUESTED,LOCAL_TIME_ZONE_WITH_LOCATION_INFO_REQUESTEDr  r  r2   r-   r,   r  r  a  sI        'DF**UD/4b+f +f g ghKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_829Role-Of-Noder   r   NHPLMNVPLMNFORWARDING_ROLEr  r  r2   r-   r,   r  r  i  s;        DFZZtWQb5e5effgKKKr-   r  c                       e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd dd!d"d#          gZdS )$AVP_10415_862Node-Functionalityr   r   Nr   zS-CSCFrL   zP-CSCFr   zI-CSCFrq   BGCFr   ASr   IBCFrJ   zS-GWr   zP-GWrG  HSGWrH  zE-CSCF r   zMME rJ  TRFrL  TFrI   ATCFzProxy FunctionrM  ePDGr  r2   r-   r,   r  r  o  s        DF
88 8 6	
 4 6 6 6 F I F E D F $  F!	 	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_864
Originatorr   r   NzCalling PartyzCalled Partyr  r  r2   r-   r,   r  r    s8        DFZZt^5^5^__`KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_867PS-Append-Free-Format-Datar   r   Nz	'Append' z'Overwrite' r  r  r2   r-   r,   r  r    s;        'DF**UDkn*O*OPPRKKKr-   r  c            
          e Zd ZdZdZe eddi ddddd	d
ddddddddddddddddddddddd d!d"d#d$d%i d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdK          gZdS )LAVP_10415_870Trigger-Typer   r   NrL   zCHANGE_IN_SGSN_IP_ADDRESS r   CHANGE_IN_QOSrp   CHANGE_IN_LOCATIONrK   CHANGE_IN_RATrq   CHANGE_IN_UE_TIMEZONErG  CHANGEINQOS_TRAFFIC_CLASSrH  CHANGEINQOS_RELIABILITY_CLASSr   CHANGEINQOS_DELAY_CLASSrJ  CHANGEINQOS_PEAK_THROUGHPUTrL  CHANGEINQOS_PRECEDENCE_CLASSrI   CHANGEINQOS_MEAN_THROUGHPUT'CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINKrM  )CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINKrN  CHANGEINQOS_RESIDUAL_BERr  CHANGEINQOS_SDU_ERROR_RATIOr]  CHANGEINQOS_TRANSFER_DELAYr  %CHANGEINQOS_TRAFFIC_HANDLING_PRIORITYr  *CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINKr  ,CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINKr  *CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATEr  CHANGEINLOCATION_MCCro   CHANGEINLOCATION_MNCr  CHANGEINLOCATION_RACr  CHANGEINLOCATION_LACr  CHANGEINLOCATION_CellIdr   CHANGEINLOCATION_TACr  CHANGEINLOCATION_ECGIr  CHANGE_IN_MEDIA_COMPOSITION2   CHANGE_IN_PARTICIPANTS_NMB3   z&CHANGE_IN_ THRSHLD_OF_PARTICIPANTS_NMB4   !CHANGE_IN_USER_PARTICIPATING_TYPE<   CHANGE_IN_SERVICE_CONDITION=   CHANGE_IN_SERVING_NODEF   CHANGE_IN_USER_CSG_INFORMATION0CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION2CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION0CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA)G   H   I   r  r2   r-   r,   r  r    s       DF:e"%!q"> %! /%! "6%!  !/%!  !"9	%!
  "#>%!  "#B%!  "#<%!  "#@%!  "#A%!  "#@%!  "#L%!  "#N%!  "#=%!  "#@%!  "#?%!   "#J!%! %!"  "#O#%!$  "#Q%%!&  "#O'%!(  "#9)%!*  "#9+%!,  "#9-%!.  "#9/%!0  "#<1%!2  "#93%!4  "#:5%!6  "#@7%!8  "#?9%!:  "#K;%!<  "#F=%!>  "#@?%!@  "#;A%!B  "#CC%! %!D $V#W#UI%! %! %!'" '"(#KKKr-   r  c                   H    e Zd ZdZdZe eddddddd	d
dddd	          gZdS )AVP_10415_872Reporting-Reasonr   r   N	THRESHOLDQHTFINALQUOTA_EXHAUSTEDVALIDITY_TIMEOTHER_QUOTA_TYPERATING_CONDITION_CHANGEFORCED_REAUTHORISATIONPOOL_EXHAUSTED)	r   rL   r   rp   rK   rq   r   r   rJ   r  r2   r-   r,   r  r    s\        DF
$"%,+#
 
	 	KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_882Media-Initiator-Flagr   r   Nzcalled partyzcalling partyunknownr  r  r2   r-   r,   r  r    s;        !DFZZtO`i5l5lmmnKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_883PoC-Server-Roler   r   NzParticipating PoC ServerzControlling PoC Serverr  r  r2   r-   r,   r  r    s:        DFZZt9SXp5s5sttuKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_884PoC-Session-Typer   r   Nz1 to 1 PoC sessionzChat PoC group sessionzPre-arranged PoC group sessionzAd-hoc PoC group sessionrg  r  r2   r-   r,   r  r    sM        DF
'+3-	 	 	
KKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_10415_899Address-Typer   r   Nze-mail addressrd  zIPv4 AddresszIPv6 AddresszNumeric ShortcodezAlphanumeric ShortcodeOtherIMSIrs  r  r2   r-   r,   r  r    sY        DF
#!!&+	 		 	KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_902MBMS-StartStop-Indicationr   r   NSTARTSTOPUPDATEr  r  r2   r-   r,   r   r     s=        &DF**UDg&X*P*PQQSKKKr-   r   c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_906MBMS-Service-Typer   r   N	MULTICAST	BROADCASTr  r  r2   r-   r,   r  r    s;        DF**UDkk*L*LMMOKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_907MBMS-2G-3G-Indicatorr   r   N2G3Gz	2G-AND-3Gr  r  r2   r-   r,   r  r    s=        !DF**UDdt*N*NOOQKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_921CN-IP-Multicast-Distributionr   r   NzNO-IP-MULTICASTzIP-MULTICASTr  r  r2   r-   r,   r  r     s<        )DF**UD.?N*U*UVVXKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_922MBMS-HC-Indicatorr   r   Nzuncompressed-headerzcompressed-headerr  r  r2   r-   r,   r  r  '  s:        DFZZt9NSf5i5ijjkKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1000Bearer-Usager   r   NGENERALzIMS SIGNALLING	DEDICATEDr  r  r2   r-   r,   r  r  -  s<        DFZZtGW\g5j5jkklKKKr-   r  c                   &   e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd d!d"d#d$dd%i d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdV          gZdS )WAVP_10415_1006Event-Triggerr   r   Nr   SGSN_CHANGErL   
QOS_CHANGEr   
RAT_CHANGErp   
TFT_CHANGErK   PLMN_CHANGErq   LOSS_OF_BEARERr   RECOVERY_OF_BEARERr   r  rJ   zGW-PCEF-MALFUNCTIONr   RESOURCES_LIMITATIONrG  MAX_NR_BEARERS_REACHEDrH  "QOS_CHANGE_EXCEEDING_AUTHORIZATIONr   
RAI_CHANGErJ  USER_LOCATION_CHANGErL  NO_EVENT_TRIGGERSrI   OUT_OF_CREDITREALLOCATION_OF_CREDITrM  REVALIDATION_TIMEOUTrN  UE_IP_ADDRESS_ALLOCATEr  UE_IP_ADDRESS_RELEASEr]  DEFAULT_EPS_BEARER_QOS_CHANGEr  AN_GW_CHANGEr  SUCCESSFUL_RESOURCE_ALLOCATIONr  RESOURCE_MODIFICATION_REQUESTr  PGW_TRACE_CONTROLr  UE_TIME_ZONE_CHANGEr  
TAI_CHANGEr  ECGI_CHANGEr  r  r  zAPN-AMBR_MODIFICATION_FAILUREr  USER_CSG_INFORMATION_CHANGEr  r  r  z+DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILUREr   -USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGEz0USER_CSG_ HYBRID_UNSUBSCRIBED_INFORMATION_CHANGEROUTING_RULE_CHANGEMAX_MBR_APN_AMBR_CHANGEAPPLICATION_STARTAPPLICATION_STOPADC_REVALIDATION_TIMEOUTCS_TO_PS_HANDOVERUE_LOCAL_IP_ADDRESS_CHANGEr  TIME_CHANGEzTFT DELETEDzLOSS OF BEARERzRECOVERY OF BEARERzPOLICY ENFORCEMENT FAILED)r  %   r  '   r  )   *   r   -   d     r      r  r2   r-   r,   r  r  3  s4       DF
1=1<1 <1 <	1
 =1 #1 '1 ?1 (1 )1 ,1 81 L1 *1 '1  O!1" ,#1 1$ *%1& ,'1( +)1* 3+1, N-1. 4/10 3112 '314 )516 L718 M91: 3;1< 3=1> 1?1@ NA1B AC1D CE1 1F G)-'&.'00"#&*1a1 1 14	 4	6KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1007Metering-Methodr   r   NDURATIONVOLUMEDURATION_VOLUMEr  r  r2   r-   r,   rK  rK  o  s;        DFZZtUf5i5ijjkKKKr-   rK  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1008Offliner   r   NDISABLE_OFFLINEENABLE_OFFLINEr  r  r2   r-   r,   rQ  rQ  u  s:        DFZZt9JO_5b5bccdKKKr-   rQ  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1009Onliner   r   NDISABLE_ONLINEENABLE_ONLINEr  r  r2   r-   r,   rV  rV  {  s9        DFZZt9Io5`5`aabKKKr-   rV  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1011Reporting-Levelr   r   NSERVICE_IDENTIFIER_LEVELRATING_GROUP_LEVELSPONSORED_CONNECTIVITY_LEVELr  r  r2   r-   r,   r[  r[    sL        DF**UD).BGe+i +i j jkKKKr-   r[  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1015PDP-Session-Operationr   r   Nr   zPDP-SESSION-TERMINATIONr  r2   r-   r,   ra  ra    s9        "DF**UD1.G*JKKMKKKr-   ra  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1019PCC-Rule-Statusr   r   NACTIVEINACTIVETEMPORARY_INACTIVEr  r  r2   r-   r,   rd  rd    s;        DFZZtjUi5l5lmmnKKKr-   rd  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1021Bearer-Operationr   r   NTERMINATIONESTABLISHMENTMODIFICATIONr  r  r2   r-   r,   rj  rj    s;        DFZZt?_m5p5pqqrKKKr-   rj  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1023Bearer-Control-Moder   r   NUE_ONLYRESERVEDUE_NWr  r  r2   r-   r,   rp  rp    s=         DF**UDiJ7*U*UVVXKKKr-   rp  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1024Network-Request-Supportr   r   NzNETWORK_REQUEST NOT SUPPORTEDzNETWORK_REQUEST SUPPORTEDr  r  r2   r-   r,   rv  rv    s:        $DFZZt9X]x5{5{||}KKKr-   rv  c                   D    e Zd ZdZdZe eddddddd	d
dd          gZdS )AVP_10415_1027IP-CAN-Typer   r   Nz	3GPP-GPRSDOCSISxDSLWiMAX3GPP2z3GPP-EPSzNon-3GPP-EPSr  r  r2   r-   r,   ry  ry    sU        DF:e""-"*"(")")","0! !	" 	"
#KKKr-   ry  c                   H    e Zd ZdZdZe eddddddd	d
dddd	          gZdS )AVP_10415_1028QoS-Class-Identifierr   r   NQCI_1QCI_2QCI_3QCI_4QCI_5QCI_6QCI_7QCI_8QCI_9)	rL   r   rp   rK   rq   r   r   rJ   r   r  r2   r-   r,   r  r    s\        !DF

 
	 	KKKr-   r  c                   L    e Zd ZdZdZe eddddddd	d
dddddd          gZdS )AVP_10415_1032RAT-Typer   r   NWLANVIRTUALUTRANGERANGANHSPA_EVOLUTIONEUTRANCDMA2000_1XHRPDUMBEHRPD)r   rL   rG  r  rH  rI      r  r  r  r  r2   r-   r,   r  r    sa        DF:e""("+%,%,%*%5%-%2%+%*%,! !" "#KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1045Session-Release-Causer   r   NUNSPECIFIED_REASONUE_SUBSCRIPTION_REASONr  r  r  r2   r-   r,   r  r    sL        "DF**UD#(@Ed+h +h i ijKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1047Pre-emption-Capabilityr   r   NzPRE-EMPTION_CAPABILITY_ENABLEDzPRE-EMPTION_CAPABILITY_DISABLEDr  r  r2   r-   r,   r  r    sI        #DF**UD/4U+Y +Y Z Z[KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1048Pre-emption-Vulnerabilityr   r   Nz!PRE-EMPTION_VULNERABILITY_ENABLEDz"PRE-EMPTION_VULNERABILITY_DISABLEDr  r  r2   r-   r,   r  r    sI        &DF**UD27[+_ +_ ` `aKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1062Packet-Filter-Operationr   r   NDELETIONADDITIONrn  r  r  r2   r-   r,   r  r    sH        $DF**UDj^+? +? @ @AKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1063 Resource-Allocation-Notificationr   r   Nr   ENABLE_NOTIFICATIONr  r2   r-   r,   r  r  	  s9        -DF**UD1.C*FGGIKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1068Usage-Monitoring-Levelr   r   NSESSION_LEVELPCC_RULE_LEVELADC_RULE_LEVELr  r  r2   r-   r,   r  r  		  s<        #DFZZtM]br5u5uvvwKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1069Usage-Monitoring-Reportr   r   Nr    USAGE_MONITORING_REPORT_REQUIREDr  r2   r-   r,   r  r  	  s9        $DF**UD1.P*STTVKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1070Usage-Monitoring-Supportr   r   Nr   USAGE_MONITORING_DISABLEDr  r2   r-   r,   r  r  	  s9        %DF**UD1.I*LMMOKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1071CSG-Information-Reportingr   r   NCHANGE_CSG_CELL!CHANGE_CSG_SUBSCRIBED_HYBRID_CELL#CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELLr  r  r2   r-   r,   r  r  	  sJ        &DF
$68 	 		KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1072Packet-Filter-Usager   r   NrL   
SEND_TO_UEr  r2   r-   r,   r  r  ,	  s8         DF**UD1l*=>>@KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1073Charging-Correlation-Indicatorr   r   Nr   CHARGING_IDENTIFIER_REQUIREDr  r2   r-   r,   r  r  3	  s9        +DF**UD1.L*OPPRKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1080Flow-Directionr   r   NUNSPECIFIEDDOWNLINKUPLINKBIDIRECTIONALrg  r  r2   r-   r,   r  r  :	  s>        DFZZt:Zbgv5y5yzz{KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1086Redirect-Supportr   r   NREDIRECTION_DISABLEDREDIRECTION_ENABLEDr  r  r2   r-   r,   r  r  @	  s:        DFZZt9OTi5l5lmmnKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1099PS-to-CS-Session-Continuityr   r   Nr   VIDEO_PS2CS_CONT_CANDIDATEr  r2   r-   r,   r  r  F	  s9        (DF**UD1.J*MNNPKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1204Type-Numberr   r   Nr   TBCr  r2   r-   r,   r  r  M	  s6        DF**UD1e,779KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1208Addressee-Typer   r   NzTO zCC BCCr  r  r2   r-   r,   r  r  T	  s=        DF**UDe%*J*JKKMKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1209Priorityr   r   NLowNormalHighr  r  r2   r-   r,   r  r  [	  sE        DF**UDf+0 +0 1 12KKKr-   r  c                   T    e Zd ZdZdZe eddddddd	d
dddddddddd          gZdS )AVP_10415_1211Message-Typer   r   Nz
m-send-reqzm-send-confzm-notification-ind zm-notifyresp-ind zm-retrieve-conf zm-acknowledge-ind zm-delivery-ind zm-read-rec-ind zm-read-orig-indzm-forward-req zm-forward-conf zm-mbox-store-confzm-mbox-view-conf zm-mbox-upload-conf zm-mbox-delete-conf r  r  r2   r-   r,   r  r  c	  sn        DF
 (&%'$$$$%'')) 	 	KKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1214Class-Identifierr   r   NPersonalAdvertisementInformationalAutorg  r  r2   r-   r,   r  r  ~	  s>        DFZZt\kpv5y5yzz{KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1216Delivery-Report-Requestedr   r   NNoYesr  r  r2   r-   r,   r  r  	  s;        &DF**UDdu*?*?@@BKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1217Adaptationsr   r   Nr  r  r  r  r2   r-   r,   r  r  	  s;        DF**UDe*?*?@@BKKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_10415_1220Content-Classr   r   Nztext zimage-basic zimage-rich zvideo-basiczvideo-rich z
megapixel zcontent-basic zcontent-rich rs  r  r2   r-   r,   r  r  	  sY        DF
!   #"	 		 	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1221DRM-Contentr   r   Nr  r  r  r  r2   r-   r,   r  r  	  s;        DF**UDdu*?*?@@BKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1222Read-Reply-Report-Requestedr   r   Nr  r  r  r  r2   r-   r,   r  r  	  s;        (DF**UDdu*?*?@@BKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1224File-Repair-Supportedr   r   NForwarding not pendingForwarding pendingNOT_SUPPORTEDr  r  r2   r-   r,   r  r  	  sK        "DF**UD',@_+X +X Y YZKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1225MBMS-User-Service-Typer   r   NDOWNLOAD	STREAMING)rL   r   r  r2   r-   r,   r  r  	  s;        #DF**UDj[*K*KLLNKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1247PDP-Context-Typer   r   NPrimary	Secondaryr  r  r2   r-   r,   r  r  	  s;        DF**UDiK*J*JKKMKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1248MMBox-Storage-Requestedr   r   Nr  r  r  r  r2   r-   r,   r  r  	  s;        $DF**UDdu*?*?@@BKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1254PoC-User-Role-info-Unitsr   r   N	Moderator
DispatcherzSession-OwnerzSession-Participantr!  r  r2   r-   r,   r  r  	  sM        %DF**UD|DY+] +] ^ ^_KKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1259Participant-Access-Priorityr   r   NzPre-emptive priority: z.High priority: Lower than Pre-emptive priorityz7Normal priority: Normal level. Lower than High priorityz#Low priority: Lowest level priorityr!  r  r2   r-   r,   r  r  	  sM        (DF
+CL8	 	 	
KKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1261PoC-Change-Conditionr   r   NServiceChangeVolumeLimit	TimeLimitNumberofTalkBurstLimitNumberofActiveParticipantsr{  r  r2   r-   r,   r   r   	  sP        !DF
" +/ 		 		KKKr-   r   c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1268Envelope-Reportingr   r   NDO_NOT_REPORT_ENVELOPESREPORT_ENVELOPESREPORT_ENVELOPES_WITH_VOLUMEREPORT_ENVELOPES_WITH_EVENTS'REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTSr{  r  r2   r-   r,   r(  r(  	  sP        DF
,%11< 		 		KKKr-   r(  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1271Time-Quota-Typer   r   NDISCRETE_TIME_PERIODCONTINUOUS_TIME_PERIODr  r  r2   r-   r,   r0  r0  
  s:        DFZZt9OTl5o5oppqKKKr-   r0  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1277PoC-Session-Initiation-Typer   r   NzPre-establishedz	On-demandr  r  r2   r-   r,   r5  r5  
  s<        (DF**UD.?K*R*RSSUKKKr-   r5  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1279User-Participating-Typer   r   Nr  z
NW PoC Boxz
UE PoC Boxr  r  r2   r-   r,   r8  r8  
  sE        $DF**UDL\+= += > >?KKKr-   r8  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1417Network-Access-Moder   r   NPACKET_AND_CIRCUITrt  ONLY_PACKETr  r  r2   r-   r,   r;  r;   
  s=         DFZZt9MR\an5q5qrrsKKKr-   r;  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1420Cancellation-Typer   r   NMME_UPDATE_PROCEDURESGSN_UPDATE_PROCEDURESUBSCRIPTION_WITHDRAWALUPDATE_PROCEDURE_IWFINITIAL_ATTACH_PROCEDUREr{  r  r2   r-   r,   r@  r@  &
  sP        DF
)*,)- 		 		KKKr-   r@  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1424Subscriber-Statusr   r   NSERVICE_GRANTEDOPERATOR_DETERMINED_BARRINGr  r  r2   r-   r,   rH  rH  7
  s:        DFZZt9JOl5o5oppqKKKr-   rH  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1428)All-APN-Configurations-Included-Indicatorr   r   Nr   ALL_APN_CONFIGURATIONS_INCLUDEDr  r2   r-   r,   rM  rM  =
  s9        6DF**UD1.O*RSSUKKKr-   rM  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1432VPLMN-Dynamic-Address-Allowedr   r   N
NOTALLOWEDALLOWEDr  r  r2   r-   r,   rQ  rQ  D
  s;        *DF**UDly*K*KLLNKKKr-   rQ  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1434Alert-Reasonr   r   N
UE_PRESENTUE_MEMORY_AVAILABLEr  r  r2   r-   r,   rV  rV  K
  s9        DFZZtJ_5b5bccdKKKr-   rV  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1438PDN-GW-Allocation-Typer   r   NSTATICDYNAMICr  r  r2   r-   r,   r[  r[  Q
  s;        #DF**UDh9*G*GHHJKKKr-   r[  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1445Equipment-Statusr   r   NWHITELISTEDBLACKLISTED
GREYLISTEDr  r  r2   r-   r,   r`  r`  X
  s;        DFZZt=]i5l5lmmnKKKr-   r`  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1456PDN-Typer   r   Nr  r  IPv4v6IPv4_OR_IPv6rg  r  r2   r-   r,   rf  rf  ^
  s=        DFZZtFx\j5m5mnnoKKKr-   rf  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1457-Roaming-Restricted-Due-To-Unsupported-Featurer   r   Nr   r  r2   r-   r,   rk  rk  d
  s9        :DF**UD1.]*`aacKKKr-   rk  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_1462Trace-Depthr   r   NMinimumMediumMaximum%MinimumWithoutVendorSpecificExtension$MediumWithoutVendorSpecificExtension%MaximumWithoutVendorSpecificExtensionra  r  r2   r-   r,   rn  rn  k
  sR        DF:e""+"*"+"I"H"I! !" "	#KKKr-   rn  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1468%Complete-Data-List-Included-Indicatorr   r   Nr   ALL_PDP_CONTEXTS_INCLUDEDr  r2   r-   r,   rw  rw  z
  s9        2DF**UD1.I*LMMOKKKr-   rw  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_1478Notification-To-UE-Userr   r   NNOTIFY_LOCATION_ALLOWED/NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE3NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSELOCATION_NOT_ALLOWEDrg  r  r2   r-   r,   r{  r{  
  sM        $DF
,DH)	 	 	
KKKr-   r{  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1481GMLC-Restrictionr   r   N	GMLC_LISTHOME_COUNTRYr  r  r2   r-   r,   r  r  
  s;        DF**UDkn*O*OPPRKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1482PLMN-Clientr   r   NBROADCAST_SERVICEO_AND_M_HPLMNO_AND_M_VPLMNANONYMOUS_LOCATIONTARGET_UE_SUBSCRIBED_SERVICEr{  r  r2   r-   r,   r  r  
  sO        DF:e""5"1"1"6"@	! !" "#KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1491ICS-Indicatorr   r   NFALSETRUEr  r  r2   r-   r,   r  r  
  s;        DF**UDg&*C*CDDFKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1492$IMS-Voice-Over-PS-Sessions-Supportedr   r   Nr	  	SUPPORTEDr  r  r2   r-   r,   r  r  
  s;        1DF**UDo+*P*PQQSKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_14931Homogeneous-Support-of-IMS-Voice-Over-PS-Sessionsr   r   Nr	  r  r  r  r2   r-   r,   r  r  
  s;        >DF**UDo+*P*PQQSKKKr-   r  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_1499
User-Stater   r   NDETACHED!ATTACHED_NOT_REACHABLE_FOR_PAGINGATTACHED_REACHABLE_FOR_PAGING"CONNECTED_NOT_REACHABLE_FOR_PAGINGCONNECTED_REACHABLE_FOR_PAGING NETWORK_DETERMINED_NOT_REACHABLEra  r  r2   r-   r,   r  r  
  sR        DF:e"","E"A"F"B"D! !" "	#KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1501Non-3GPP-IP-Accessr   r   NNON_3GPP_SUBSCRIPTION_ALLOWEDNON_3GPP_SUBSCRIPTION_BARREDr  r  r2   r-   r,   r  r  
  sI        DF**UD.3Q+U +U V VWKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1502Non-3GPP-IP-Access-APNr   r   NNON_3GPP_APNS_ENABLENON_3GPP_APNS_DISABLEr  r  r2   r-   r,   r  r  
  s:        #DFZZt9OTk5n5noopKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1503
AN-Trustedr   r   NTRUSTED	UNTRUSTEDr  r  r2   r-   r,   r  r  
  s;        DF**UDiK*J*JKKMKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1515Trust-Relationship-Updater   r   Nr   r  r  r2   r-   r,   r  r  
  s6        &DF**UD1e,779KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1519Transport-Access-Typer   r   Nr   BBFr  r2   r-   r,   r  r  
  s6        "DF**UD1e,779KKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1610Current-Location-Retrievedr   r   Nr   zACTIVE-LOCATION-RETRIEVALr  r2   r-   r,   r  r  
  s9        'DF**UD1.I*LMMOKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1613SIPTO-Permissionr   r   NSIPTO_ALLOWEDSIPTO_NOTALLOWEDr  r  r2   r-   r,   r  r  
  s9        DFZZtM_5b5bccdKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1614Error-Diagnosticr   r   NGPRS_DATA_SUBSCRIBEDNO_GPRS_DATA_SUBSCRIBEDzODB-ALL-APNzODB-HPLMN-APNzODB-VPLMN-APNr{  r  r2   r-   r,   r  r  
  sP        DF
), "" 		 		KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1615rn  r   r   NzUE-SRVCC-NOT-SUPPORTEDzUE-SRVCC-SUPPORTEDr  r  r2   r-   r,   r  r    s:         DFZZt9QVj5m5mnnoKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1617VPLMN-LIPA-Allowedr   r   NzLIPA-NOTALLOWEDzLIPA-ALLOWEDr  r  r2   r-   r,   r  r    s<        DF**UD.?N*U*UVVXKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1618LIPA-Permissionr   r   NzLIPA-PROHIBITEDz	LIPA-ONLYzLIPA-CONDITIONALr  r  r2   r-   r,   r  r    s<        DFZZt9J{_q5t5tuuvKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_1623Job-Typer   r   NzImmediate-MDT-onlyzLogged-MDT-onlyz
Trace-onlyzImmediate-MDT-and-TracezRLF-reports-onlyr{  r  r2   r-   r,   r  r    sO        DF:e""6"3".";"4	! !" "#KKKr-   r  c                       e Zd ZdZdZe eddi ddddd	d
dddddddddddddddddddddd d!d"d#d$dd%d&d'd(d)d*d+d,d-d.d/d0d1          gZdS )2AVP_10415_1627Report-Intervalr   r   Nr   UMTS_250_msrL   UMTS_500_msr   UMTS_1000_msrp   UMTS_2000_msrK   UMTS_3000_msrq   UMTS_4000_msr   UMTS_6000_msr   UMTS_8000_msrJ   UMTS_12000_msr   UMTS_16000_msrG  UMTS_20000_msrH  UMTS_24000_msr   UMTS_28000_msrJ  UMTS_32000_msrL  UMTS_64000_msrI   
LTE_120_ms
LTE_240_ms
LTE_480_ms
LTE_640_msLTE_1024_msLTE_2048_msLTE_5120_msLTE_10240_msLTE_60000_msLTE_360000_msLTE_720000_msLTE_1800000_msLTE_3600000_ms)rM  rN  r  r]  r  r  r  r  r  r  r  r  r2   r-   r,   r  r  ,  s6       DF
== > >	
 > > > > ? ? O O O O O  L!" L#$ ! !!!""##$$9   	  	"KKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_10415_1628Report-Amountr   r   N1248163264infinityrs  r  r2   r-   r,   r  r  T  sT        DF**UDssst*+X +X Y YZKKKr-   r  c                   F    e Zd ZdZdZe eddddddd	d
ddd          gZdS )AVP_10415_1631Logging-Intervalr   r   Nz1.28z2.56z5.12z10.24z20.48z30.72z40.96z61.44rs  r  r2   r-   r,   r  r  \  sY        DF
	 		 	KKKr-   r  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_1632Logging-Durationr   r   N600_sec1200_sec2400_sec3600_sec5400_sec7200_secra  r  r2   r-   r,   r  r  p  sQ        DF**UDZJ:*Yc+g +g h hiKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1633Relay-Node-Indicatorr   r   NNOT_RELAY_NODE
RELAY_NODEr  r  r2   r-   r,   r  r  x  s<        !DF**UD.><*R*RSSUKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_1634MDT-User-Consentr   r   NCONSENT_NOT_GIVENCONSENT_GIVENr  r  r2   r-   r,   r  r    s:        DFZZt9LQ`5c5cddeKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_1636Subscribed-VSRVCCr   r   Nr   VSRVCC_SUBSCRIBEDr  r2   r-   r,   r  r    s9        DF**UD1.A*DEEGKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1648SMS-Register-Requestr   r   NSMS_REGISTRATION_REQUIREDSMS_REGISTRATION_NOT_PREFERREDNO_PREFERENCEr  r  r2   r-   r,   r  r    sL        !DF**UD*/OTc+g +g h hiKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_1650Daylight-Saving-Timer   r   NNO_ADJUSTMENTPLUS_ONE_HOUR_ADJUSTMENTPLUS_TWO_HOURS_ADJUSTMENTr  r  r2   r-   r,   r  r    sL        !DF**UD#=B]+a +a b bcKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_2006Interface-Typer   r   Nrh   MOBILE_ORIGINATINGMOBILE_TERMINATINGAPPLICATION_ORIGINATINGAPPLICATION_TERMINATIONr{  r  r2   r-   r,   r"  r"    sP        DF
'',, 		 		KKKr-   r"  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2007SM-Message-Typer   r   Nr   
SUBMISSIONr  r2   r-   r,   r)  r)    s8        DF**UD1l*=>>@KKKr-   r)  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2011Reply-Path-Requestedr   r   NzNo Reply Path SetzReply path Setr  r  r2   r-   r,   r-  r-    s:        !DFZZt9LQa5d5deefKKKr-   r-  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_2016SMS-Noder   r   Nz
SMS RouterzIP-SM-GWzSMS Router and IP-SM-GWzSMS-SCrg  r  r2   r-   r,   r0  r0    sM        DF**UD
/HX+Y +Y Z Z[KKKr-   r0  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_2025PoC-Event-Typer   r   NzNormal;zInstant Ppersonal Aalert event;zPoC Group Advertisement event;z Early Ssession Setting-up event;zPoC Talk Burstr{  r  r2   r-   r,   r3  r3    sP        DF
435# 		 		KKKr-   r3  c                   L    e Zd ZdZdZe eddddddd	d
dddddd          gZdS )AVP_10415_2029SM-Service-Typer   r   Nz(VAS4SMS Short Message content processingz VAS4SMS Short Message forwardingz8VAS4SMS Short Message Forwarding multiple subscriptions z VAS4SMS Short Message filtering zVAS4SMS Short Message receiptz&VAS4SMS Short Message Network Storage z.VAS4SMS Short Message to multiple destinationsz3VAS4SMS Short Message Virtual Private Network (VPN)z VAS4SMS Short Message Auto Replyz(VAS4SMS Short Message Personal Signaturez(VAS4SMS Short Message Deferred Delivery )r   rL   r   rp   rK   rq   r   r   rJ   r   rG  r  r2   r-   r,   r6  r6    sb        DF
=5M52;CH5=> 	 	KKKr-   r6  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2033Subscriber-Roler   r   NOriginatingTerminatingr  r  r2   r-   r,   r9  r9    ;        DF**UDm*P*PQQSKKKr-   r9  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2036SDP-Typer   r   Nz	SDP Offerz
SDP Answerr  r  r2   r-   r,   r?  r?    s;        DF**UDkl*M*MNNPKKKr-   r?  c                   D    e Zd ZdZdZe eddddddd	d
dd          gZdS )AVP_10415_2047Serving-Node-Typer   r   NSGSNPMIPSGWGTPSGWr  hSGWMMETWANr  r  r2   r-   r,   rB  rB    sS        DF**UD)V5U[+_ +_ ` `aKKKr-   rB  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_2049Participant-Action-Typer   r   NCREATE_CONF	JOIN_CONFINVITE_INTO_CONF	QUIT_CONFrg  r  r2   r-   r,   rK  rK     sM        $DF**UD1C+W +W X XYKKKr-   rK  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2051Dynamic-Address-Flagr   r   NStaticDynamicr  r  r2   r-   r,   rR  rR    s;        !DF**UDh9*G*GHHJKKKr-   rR  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2065
SGW-Changer   r   Nr   ACR_Start_NOT_due_to_SGW_Changer  r2   r-   r,   rW  rW    s9        DF**UD1.O*RSSUKKKr-   rW  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_2066'Charging-Characteristics-Selection-Moder   r   NzServing-Node-SuppliedzSubscription-specificzAPN-specificzHome-DefaultzRoaming-DefaultzVisiting-Defaultra  r  r2   r-   r,   r[  r[    sS        4DF
**!!$% 
	 
	KKKr-   r[  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2068Dynamic-Address-Flag-Extensionr   r   NrT  rU  r  r  r2   r-   r,   r^  r^  (  s;        +DF**UDh9*G*GHHJKKKr-   r^  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_2118Charge-Reason-Coder   r   NUNKNOWNUSAGEzCOMMUNICATION-ATTEMPT-CHARGEzSETUP-CHARGEzADD-ON-CHARGEr{  r  r2   r-   r,   ra  ra  /  sP        DF
1!" 		 		KKKr-   ra  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_2203Subsession-Operationr   r   Nrl  rm  rn  r  r  r2   r-   r,   rf  rf  @  s;        !DFZZt?_m5p5pqqrKKKr-   rf  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2204Multiple-BBERF-Actionr   r   Nrm  rl  r  r  r2   r-   r,   ri  ri  F  s;        "DF**UDo-*R*RSSUKKKr-   ri  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2206DRA-Deploymentr   r   Nr   DRA_Deployedr  r2   r-   r,   rl  rl  M  s8        DF**UD1n*?@@BKKKr-   rl  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2208DRA-Bindingr   r   Nr   DRA_BINDING_DELETIONr  r2   r-   r,   rp  rp  T  s9        DF**UD1.D*GHHJKKKr-   rp  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2303Online-Charging-Flagr   r   NzECF address not providedzECF address providedr  r  r2   r-   r,   rt  rt  [  s:        !DFZZt9SXn5q5qrrsKKKr-   rt  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2308IMSI-Unauthenticated-Flagr   r   NAuthenticatedUnauthenticatedr  r  r2   r-   r,   rw  rw  a  s<        &DF**UDoBS*V*VWWYKKKr-   rw  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_2310
AoC-Formatr   r   NMONETARYNON_MONETARYCAIr  r  r2   r-   r,   r|  r|  h  s;        DFZZt[`5c5cddeKKKr-   r|  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2312AoC-Service-Obligatory-Typer   r   NNON_BINDINGBINDINGr  r  r2   r-   r,   r  r  n  s;        (DF**UDm	*L*LMMOKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_2313AoC-Service-Typer   r   NNONEzAOC-SzAOC-DzAOC-Erg  r  r2   r-   r,   r  r  u  s>        DFZZtGPW\c5f5fgghKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2317CSG-Access-Moder   r   NzClosed modezHybrid Moder  r  r2   r-   r,   r  r  {  r=  r-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2318CSG-Membership-Indicationr   r   NzNot CSG memberzCSG Member  r  r  r2   r-   r,   r  r    s<        &DF**UD.>>*T*TUUWKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2322IMS-Emergency-Indicatorr   r   NzNon Emergency	Emergencyr  r  r2   r-   r,   r  r    s;        $DF**UDo+*P*PQQSKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2323MBMS-Charged-Partyr   r   NzContent Provider
Subscriberr  r  r2   r-   r,   r  r    s<        DF**UD.@\*T*TUUWKKKr-   r  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_2500SLg-Location-Typer   r   NCURRENT_LOCATIONCURRENT_OR_LAST_KNOWN_LOCATIONINITIAL_LOCATIONACTIVATE_DEFERRED_LOCATIONCANCEL_DEFERRED_LOCATIONNOTIFICATION_VERIFICATION_ONLYra  r  r2   r-   r,   r  r    sS        DF
%3%/-3 
	 
	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2507Vertical-Requestedr   r   Nz$VERTICAL_COORDINATE_IS_NOT REQUESTED VERTICAL_COORDINATE_IS_REQUESTEDr  r  r2   r-   r,   r  r    sI        DF**UD5:\+` +` a abKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2508Velocity-Requestedr   r   NVELOCITY_IS_NOT_REQUESTEDzBEST VELOCITY_IS_REQUESTEDr  r  r2   r-   r,   r  r    s:        DFZZt9TYu5x5xyyzKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2509Response-Timer   r   N	LOW_DELAYDELAY_TOLERANTr  r  r2   r-   r,   r  r    s<        DF**UDk>N*Q*QRRTKKKr-   r  c                   @    e Zd ZdZdZe eddddddd	d
          gZdS )AVP_10415_2512LCS-Privacy-Checkr   r   NALLOWED_WITHOUT_NOTIFICATIONALLOWED_WITH_NOTIFICATIONALLOWED_IF_NO_RESPONSERESTRICTED_IF_NO_RESPONSENOT_ALLOWEDr{  r  r2   r-   r,   r  r    sP        DF
1.+.  		 		KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2513Accuracy-Fulfilment-Indicatorr   r   NREQUESTED_ACCURACY_FULFILLED REQUESTED_ACCURACY_NOT_FULFILLEDr  r  r2   r-   r,   r  r    sI        *DF**UD-2T+X +X Y YZKKKr-   r  c            
       >    e Zd ZdZdZe eddddddd	          gZdS )
AVP_10415_2518Location-Eventr   r   NEMERGENCY_CALL_ORIGINATIONEMERGENCY_CALL_RELEASEMO_LREMERGENCY_CALL_HANDOVERrg  r  r2   r-   r,   r  r    sM        DF
/+,	 	 	
KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2519Pseudonym-Indicatorr   r   NPSEUDONYM_NOT_REQUESTEDPSEUDONYM_REQUESTEDr  r  r2   r-   r,   r  r    s:         DFZZt9RWl5o5oppqKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2523LCS-QoS-Classr   r   NASSUREDzBEST EFFORTr  r  r2   r-   r,   r  r    s;        DF**UDiM*L*LMMOKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2538Occurrence-Infor   r   NONE_TIME_EVENTMULTIPLE_TIME_EVENTr  r  r2   r-   r,   r  r    s:        DFZZt9INc5f5fgghKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2550#Periodic-Location-Support-Indicatorr   r   Nr	  r  r  r  r2   r-   r,   r  r    s;        0DF**UDo+*P*PQQSKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2551Prioritized-List-Indicatorr   r   NNOT_PRIORITIZEDPRIORITIZEDr  r  r2   r-   r,   r  r    s<        'DF**UD.?M*T*TUUWKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2602Low-Priority-Indicatorr   r   Nr   NOr  r2   r-   r,   r  r    s6        #DF**UD1d+668KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2604Local-GW-Inserted-Indicationr   r   NzLocal GW Not InsertedzLocal GW Insertedr  r  r2   r-   r,   r  r    sI        )DF**UD&+>+B +B C CDKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2605Transcoder-Inserted-Indicationr   r   NzTranscoder Not InsertedzTranscoder Insertedr  r  r2   r-   r,   r  r    sI        +DF**UD(-B+F +F G GHKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_2702AS-Coder   r   Nz4xx;z5xx;Timeoutr  r  r2   r-   r,   r  r    sE        DF**UD&Y+2 +2 3 34KKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_2704NNI-Typer   r   Nznon-roamingzroaming without loopbackzroaming with loopbackr  r  r2   r-   r,   r  r  '  sL        DF**UD!;@W+[ +[ \ \]KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2706Relationship-Moder   r   Ntrustedznon-trustedr  r  r2   r-   r,   r  r  /  s;        DF**UDiM*L*LMMOKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2707Session-Directionr   r   Nr   inboundr  r2   r-   r,   r  r  6  s7        DF**UD1i*:;;=KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2710Access-Transfer-Typer   r   NzPS to CS TransferzCS to PS Transferr  r  r2   r-   r,   r  r  =  s:        !DFZZt9LQd5g5ghhiKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2717TAD-Identifierr   r   NCSPSr  r  r2   r-   r,   r  r  C  s;        DF**UDdt*>*>??AKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2809Mute-Notificationr   r   Nr   MUTE_REQUIREDr  r2   r-   r,   r  r  J  s8        DF**UD1o*@AACKKKr-   r  c                   8    e Zd ZdZdZe eddddi          gZdS )AVP_10415_2811AN-GW-Statusr   r   Nr   AN_GW_FAILEDr  r2   r-   r,   r  r  Q  s8        DF**UD1n*?@@BKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_2904SL-Request-Typer   r   Nr  INTERMEDIATE_REQUESTr  r  r2   r-   r,   r  r  X  s:        DFZZt9JOe5h5hiijKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3407SM-Device-Trigger-Indicatorr   r   NzNot DeviceTrigger zDevice Triggerr  r  r2   r-   r,   r  r  ^  s=        (DF**UD.BGW*Z*Z[[]KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3415Forwarding-Pendingr   r   Nr  r  r  r  r2   r-   r,   r	  r	  e  s:        DFZZt9QVj5m5mnnoKKKr-   r	  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3421CN-Operator-Selection-Entityr   r   Nz/The Serving Network has been selected by the UEz4The Serving Network has been selected by the networkr  r  r2   r-   r,   r  r  k  sG        )DF
DI 	 	KKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3428Coverage-Statusr   r   NzOut of coveragezIn coverager  r  r2   r-   r,   r  r  y  s<        DF**UD.?M*T*TUUWKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3438Role-Of-ProSe-Functionr   r   Nr  r  r  r  r2   r-   r,   r  r    s;        #DF**UDg'*D*DEEGKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3442ProSe-Direct-Discovery-Modelr   r   NzModel AzModel Br  r  r2   r-   r,   r  r    s;        )DF**UDiI*H*HIIKKKKr-   r  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_3443ProSe-Event-Typer   r   N
Announcing
MonitoringzMatch Reportr  r  r2   r-   r,   r  r    s;        DFZZt,[i5l5lmmnKKKr-   r  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3445ProSe-Functionalityr   r   NzDirect discoveryzEPC-level discoveryr  r  r2   r-   r,   r  r    s:         DFZZt9KPe5h5hiijKKKr-   r  c                   B    e Zd ZdZdZe eddddddd	d
d          gZdS )AVP_10415_3448ProSe-Range-Classr   r   Nrt  z50 mz100 mz200 mz500 mz1000 mra  r  r2   r-   r,   r   r     sP        DF**UDfWX+Y +Y Z Z[KKKr-   r   c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3449ProSe-Reason-For-Cancellationr   r   NzProximity Alert sentzTime expired with no renewalr  r  r2   r-   r,   r#  r#    sI        *DF**UD%*H+L +L M MNKKKr-   r#  c            	       <    e Zd ZdZdZe edddddd          gZdS )	AVP_10415_3451ProSe-Role-Of-UEr   r   NzAnnouncing UEzMonitoring UEzRequestor UEr  r  r2   r-   r,   r&  r&    s;        DFZZt_ao5r5rsstKKKr-   r&  c                   :    e Zd ZdZdZe eddddd          gZdS )AVP_10415_3454Proximity-Alert-Indicationr   r   NAlertzNo Alertr  r  r2   r-   r,   r)  r)    s;        'DF**UDg**G*GHHJKKKr-   r)  z	User-Name@   zUser-PasswordzNAS-PortrB  rQ  r   zFramed-IP-NetmaskrG  rf  rH  z	Filter-Idr   z
Framed-MTUrJ  rj  rI   rm  r   zLogin-TCP-PortrN  zReply-Messager  zCallback-Numberr]  zCallback-Idr  zFramed-Router  zFramed-IPX-Networkr  Classr  zSession-Timeoutr  zIdle-Timeoutr  zCalled-Station-Idro   zCalling-Station-Idr  zProxy-Stater  zLogin-LAT-Servicer   zLogin-LAT-Noder  zLogin-LAT-GrouprA  zFramed-Appletalk-Linkr  zFramed-Appletalk-NetworkrB  zFramed-Appletalk-ZonerC  zAcct-Delay-Time,   zAcct-Session-IdrE  rv  r  zAcct-Session-Timer  zAcct-Multi-Session-Idr  zAcct-Link-Count7   zEvent-Timestampr  zCHAP-Challenger  r~  >   z
Port-Limit?   zLogin-LAT-Portr  A   r  B   zTunnel-Client-EndpointC   zTunnel-Server-EndpointD   zAcct-Tunnel-ConnectionE   zTunnel-Passwordr  zARAP-Passwordr  zARAP-Featuresr  r  r  zARAP-SecurityJ   zARAP-Security-DataK   zPassword-RetryL   r  M   zConnect-InfoN   zConfiguration-TokenQ   zTunnel-Private-Group-IdR   zTunnel-Assignment-IdS   zTunnel-PreferenceT   zARAP-Challenge-ResponseU   zAcct-Interim-IntervalV   zAcct-Tunnel-Packets-LostW   zNAS-Port-IdX   zFramed-PoolY   zChargeable-User-IdentityZ   zTunnel-Client-Auth-Id[   zTunnel-Server-Auth-Id^   zOriginating-Line-Info`   zFramed-Interface-Ida   zFramed-IPv6-Prefixc   zFramed-IPv6-RouterF  zFramed-IPv6-Poolf   zEAP-Key-Nameh   zDigest-Realmn   z
Digest-QopzDigest-Algorithmy   z
Digest-HA1|   zMIP6-Feature-Vector}   zMIP6-Home-Link-Prefixr_  zHost-IP-Addressr`  zAuth-Application-Idra  zAcct-Application-Idrb  zVendor-Specific-Application-Idrc  r  i  zRedirect-Max-Cache-Timei  z
Session-Idi  zOrigin-Hosti	  zSupported-Vendor-Idi
  z	Vendor-Idi  zFirmware-Revisioni  zResult-Codei  zProduct-Namei  zSession-Bindingi  r  i  zMulti-Round-Time-Outi  r  i  r  i  zAuth-Grace-Periodi  r  i  zOrigin-State-Idi  z
Failed-AVPi  z
Proxy-Hosti  zError-Messagei  zRoute-Recordi  zDestination-Realmi  z
Proxy-Infoi  r  i  zAccounting-Sub-Session-Idi#  zAuthorization-Lifetimei$  zRedirect-Hosti%  zDestination-Hosti&  zError-Reporting-Hosti'  r  i(  zOrigin-Realmi)  zExperimental-Resulti*  zExperimental-Result-Codei+  zInband-Security-Idi>  zMIP-FA-to-HA-SPIi?  zMIP-FA-to-MN-SPIi@  zMIP-Reg-RequestiA  zMIP-Reg-ReplyB  zMIP-MN-AAA-Authr   zMIP-HA-to-FA-SPIE  zMIP-MN-to-FA-MSAiF  zMIP-FA-to-MN-MSAiH  zMIP-FA-to-HA-MSAiI  zMIP-HA-to-FA-MSAiK  zMIP-MN-to-HA-MSAiL  zMIP-HA-to-MN-MSAiM  zMIP-Mobile-Node-AddressiN  zMIP-Home-Agent-AddressiO  z	MIP-NonceiP  zMIP-Candidate-Home-Agent-HostiQ  zMIP-Feature-VectoriR  zMIP-Auth-Input-Data-LengthiS  zMIP-Authenticator-LengthiT  zMIP-Authenticator-OffsetiU  zMIP-MN-AAA-SPIiV  zMIP-Filter-RuleiW  zMIP-Session-KeyiX  zMIP-FA-ChallengeiY  r  iZ  r  i[  zMIP-Originating-Foreign-AAAi\  zMIP-Home-Agent-Hostik  zAccounting-Input-Octetsil  zAccounting-Output-Octetsim  zAccounting-Input-Packetsin  zAccounting-Output-Packetsio  zMIP-MSA-Lifetimeip  zSIP-Accounting-Informationiq  zSIP-Accounting-Server-URIir  zSIP-Credit-Control-Server-URIis  zSIP-Server-URIit  zSIP-Server-Capabilitiesiu  zSIP-Mandatory-Capabilityiv  zSIP-Optional-Capabilityiw  r  ix  zSIP-Auth-Data-Itemiy  r  iz  zSIP-Item-Numberi{  zSIP-Authenticatei|  zSIP-Authorizationi}  zSIP-Authentication-Infoi~  zSIP-Number-Auth-Itemsi  zSIP-Deregistration-Reasoni  r  i  zSIP-Reason-Infoi  zSIP-Visited-Network-Idi  r  i  zSIP-Supported-User-Data-Typei  zSIP-User-Datai  zSIP-User-Data-Typei  zSIP-User-Data-Contentsi  r  i  z
SIP-Methodi  zNAS-Filter-Rulei  	Tunnelingi  z	CHAP-Authi  r  i  z
CHAP-Identi  zCHAP-Responsei  r  i  zQoS-Filter-Rulei  zCC-Correlation-Idi  zCC-Input-Octetsi  zCC-Moneyi  zCC-Output-Octetsi  zCC-Request-Numberi  r  i  zCC-Service-Specific-Unitsi  r$  i  zCC-Sub-Session-Idi  zCC-Timei  zCC-Total-Octetsi  r)  i  zCost-Informationi  z	Cost-Uniti  zCurrency-Codei  r.  i  r3  i  r9  i  Exponenti  zFinal-Unit-Indicationi  zGranted-Service-Uniti  zRating-Groupi  r=  i  zRedirect-Serveri  zRedirect-Server-Addressi  rD  i  zRequested-Service-Uniti  zRestriction-Filter-Rulei  zService-Identifieri  zService-Parameter-Infoi  zService-Parameter-Typei  zService-Parameter-Valuei  zSubscription-Idi  zSubscription-Id-Datai  z
Unit-Valuei  zUsed-Service-Uniti  zValue-Digitsi  zValidity-Timei  rK  i  rP  i  zTariff-Time-Changei  rX  i  zG-S-U-Pool-Identifieri  r^  i  rd  i  z Multiple-Services-Credit-Controli  zG-S-U-Pool-Referencei  zUser-Equipment-Infoi  ri  i  zUser-Equipment-Info-Valuei  zService-Context-Idi  zEAP-Payloadi  zEAP-Reissued-Payloadi  zEAP-Master-Session-Keyi  zAccounting-EAP-Auth-Methodi  rp  i  rs  i  zAccounting-Record-Numberi  zMIP6-Agent-Infoi  zMIP-Careof-Addressi  zMIP-Authenticatori  zMIP-MAC-Mobility-Datai  zMIP-Timestampi  zMIP-MN-HA-SPIi  zMIP-MN-HA-MSAi  zService-Selectioni  rz  i  zMobile-Node-Identifieri  zQoS-Resourcesi  zFilter-Rulei  zFilter-Rule-Precedencei  
Classifieri   zClassifier-IDi  r~  i  r  i  z	From-Speci  zTo-Speci  r  i  z
IP-Addressi  zIP-Address-Rangei  zIP-Address-Starti	  zIP-Address-Endi
  zIP-Address-Maski  zIP-Mask-Bit-Mask-Widthi  zMAC-Addressi  zMAC-Address-Maski  zMAC-Address-Mask-Patterni  zEUI64-Addressi  zEUI64-Address-Maski  zEUI64-Address-Mask-Patterni  Porti  z
Port-Rangei  z
Port-Starti  zPort-Endi  r  i  r  i  r  i  z	IP-Optioni  r  i  zIP-Option-Valuei  z
TCP-Optioni  r  i  zTCP-Option-Valuei  z	TCP-Flagsi   zTCP-Flag-Typei!  z	ICMP-Typei"  r  i#  r  i$  z
ETH-Optioni%  zETH-Proto-Typei&  zETH-Ether-Typei'  zETH-SAPi(  zVLAN-ID-Rangei)  zS-VID-Starti*  z	S-VID-EndzC-VID-Starti,  z	C-VID-Endi-  zUser-Priority-Rangei.  zLow-User-Priorityi/  zHigh-User-Priorityi0  zTime-Of-Day-Conditioni1  zTime-Of-Day-Starti2  zTime-Of-Day-Endi3  zDay-Of-Week-Maski4  zDay-Of-Month-Maski5  zMonth-Of-Year-Maski6  zAbsolute-Start-Timei7  z!Absolute-Start-Fractional-Secondsi8  zAbsolute-End-Timei9  zAbsolute-End-Fractional-Secondsi:  r  i;  zTimezone-Offseti<  zTreatment-Actioni=  zQoS-Profile-Idi>  zQoS-Profile-Templatei?  r  i@  zQoS-ParametersiA  zExcess-TreatmentiB  zQoS-Capabilityij  zERP-RK-Requestik  z	ERP-Realmz3GPP-Charging-Characteristics   z3GPP-AAA-Server-Namei  r  i  zAccess-Network-Charging-Addressi  z"Access-Network-Charging-Identifieri  z(Access-Network-Charging-Identifier-Valuei  zAF-Application-Identifieri  zAF-Charging-IdentifierzAuthorization-Tokeni  zFlow-DescriptionzFlow-GroupingzFlow-NumberFlowsr  r   r  zMax-Requested-Bandwidth-DLzMax-Requested-Bandwidth-ULzMedia-Component-DescriptionzMedia-Component-NumberzMedia-Sub-Componentr  zRR-BandwidthzRS-Bandwidthr  zService-URNzAcceptable-Service-Infor$  zMPS-IdentifierrH   r)  zSponsor-Identityz%Application-Service-Provider-Identityr-  zMin-Requested-Bandwidth-DLzMin-Requested-Bandwidth-ULr0  zIP-Domain-IdzGCS-IdentifierzSharing-Key-DLzSharing-Key-ULzRetry-IntervaliX  zVisited-Network-IdentifieriY  zPublic-IdentityiZ  zServer-Namei[  zServer-Capabilitiesi\  zMandatory-Capabilityi]  zOptional-Capabilityi^  z	User-Datai_  i`  ia  ib  ic  zSIP-Authentication-Contextid  ie  if  r5  ig  zDeregistration-Reasonih  r:  ii  zReason-InfozCharging-Informationz$Primary-Event-Charging-Function-Nameil  z&Secondary-Event-Charging-Function-Nameim  z)Primary-Charging-Collection-Function-Namein  z+Secondary-Charging-Collection-Function-Nameio  r?  ip  rC  iq  zConfidentiality-Keyir  zIntegrity-Keyit  zSupported-Featuresiu  zFeature-List-IDiv  zFeature-Listiw  zSupported-Applicationsix  zAssociated-Identitiesiy  rF  iz  zWildcarded-Public-Identityi{  zSIP-Digest-Authenticatei|  zWildcarded-IMPUi}  z	UAR-Flagsi~  rJ  i  zSCSCF-Restoration-Infoi  Pathi  Contacti  zSubscription-Infoi  zCall-ID-SIP-Headeri  zFrom-SIP-Headeri  zTo-SIP-Headeri  zRecord-Routei  z Associated-Registered-Identitiesi  rO  i  zRestoration-Infoi  rT  i  z$Identity-with-Emergency-Registrationi  rW  i  z	LIA-Flagsi  zInitial-CSeq-Sequence-Numberi  z	SAR-Flagsi  zUser-Identityi  rd  i  i  r\  i  zService-Indicationi  rt  i  ry  i  r|  i  r  i  zExpiry-Timei  r  i  zDSAI-Tagi  r  i  zRequested-Nodesi  r  i  zRepository-Data-IDi  zSequence-Numberi  r  i  r  i  z	UDR-Flagsi  zCall-Reference-Infoi  zCall-Reference-Numberi  z	AS-Numberi7  z
Event-Typei8  i9  Eventi:  zContent-Typei;  zContent-Lengthi<  zContent-Dispositioni=  r  i>  i?  zCalling-Party-Addressi@  zCalled-Party-AddressiA  zTime-StampsiB  zSIP-Request-TimestampiC  zSIP-Response-TimestampiD  zApplication-ServeriE  z)Application-provided-called-party-addressiF  zInter-Operator-IdentifieriG  zOriginating-IOIiH  zTerminating-IOIiI  zIMS-Charging-IdentifieriJ  zSDP-Session-DescriptioniK  zSDP-Media-ComponentiL  zSDP-Media-NameiM  zSDP-Media-DescriptioniN  z
CG-AddressiO  zGGSN-AddressiP  zServed-Party-IP-AddressiQ  zAuthorised-QoSiR  zApplication-Server-InformationiS  zTrunk-Group-IdiT  zIncoming-Trunk-Group-IdiU  zOutgoing-Trunk-Group-IdiV  zBearer-ServiceiW  z
Service-IdiX  zAssociated-URIiY  zCharged-PartyiZ  zPoC-Controlling-Addressi[  zPoC-Group-Namei]  z
Cause-Codei^  r  i`  r  ia  zPS-Furnish-Charging-Informationib  zPS-Free-Format-Dataic  r  id  zTime-Quota-Thresholdie  zVolume-Quota-Thresholdif  r  ig  zQuota-Holding-Timeih  r  ii  zService-Informationij  zPS-Informationil  zIMS-Informationim  zMMS-Informationin  zLCS-Informationio  zPoC-Informationip  zMBMS-Informationiq  zQuota-Consumption-Timeir  r  is  r  it  r  iu  zNumber-Of-Participantsiw  zParticipants-Involvedix  Expiresiy  zMessage-Bodyi  zAddress-Datai  zAddress-Domaini  r  i  TMGIi  z!Required-MBMS-Bearer-Capabilitiesi  r  i  zMBMS-Service-Areai  zMBMS-Session-Durationi  zAlternative-APNi  r  i  r  i  RAIi  zAdditional-MBMS-Trace-Infoi  zMBMS-Time-To-Data-Transferi  zMBMS-Flow-Identifieri  r  i  r  rG  r  r  zCharging-Rule-InstallrH  zCharging-Rule-RemoverI  zCharging-Rule-Definitionr  zCharging-Rule-Base-Namei  zCharging-Rule-Namei  r  i  rL  i  rR  i  rW  i  
Precedencei  r\  i  z
TFT-Filteri  zTFT-Packet-Filter-Informationi  zToS-Traffic-Classi  rb  i  zCharging-Rule-Reporti  re  i  zBearer-Identifieri  rk  i  z%Access-Network-Charging-Identifier-Gxi  rq  i   rw  i  zGuaranteed-Bitrate-DLi  zGuaranteed-Bitrate-ULi  rz  i  r  i  r  i	  zEvent-Report-Indicationi
  zAllocation-Retention-Priorityi  zCoA-IP-Addressi  zTunnel-Header-Filteri  zTunnel-Header-Lengthi  zTunnel-Informationi  zCoA-Informationi  zAPN-Aggregate-Max-Bitrate-DLi  zAPN-Aggregate-Max-Bitrate-ULi  zRevalidation-Timei  zRule-Activation-Timei  zRule-Deactivation-Timei  r  i  zPriority-Leveli  r  i  r  i  zDefault-EPS-Bearer-QoSi  zAN-GW-Addressi   zSecurity-Parameter-Indexi!  z
Flow-Labeli"  zFlow-Informationi#  zPacket-Filter-Contenti$  zPacket-Filter-Identifieri%  zPacket-Filter-Informationi&  r  i'  r  i)  zPDN-Connection-IDi*  zMonitoring-Keyi+  zUsage-Monitoring-Informationi,  r  i-  r  i.  r  i/  r  i0  r  i1  r  i3  zRouting-Rule-Removei4  zRouting-Rule-Definitioni5  zRouting-Rule-Identifieri6  zRouting-Filteri7  zRouting-IP-Addressi8  r  i:  zCredit-Management-Statusi=  zRedirect-Informationi>  r  i?  zTDF-Informationi@  zTDF-Application-IdentifieriA  zTDF-Destination-HostiB  zTDF-Destination-RealmiC  zTDF-IP-AddressiJ  z!Application-Detection-InformationiK  r  i  zDomain-Namei  zMM-Content-Typei  r  i  zAdditional-Type-Informationi  zContent-Sizei  zAdditional-Content-Informationi  r  i  r  i  r  i  zMessage-Sizei  zMessage-Classi  r  i  z
Token-Texti  r  i  r  i  z	Applic-IDi  zAux-Applic-Infoi  r  i  r   i  r  i  zReply-Applic-IDi  r  i  r  i  zUnit-Quota-Thresholdi  zPDP-Addressi  zSGSN-Addressi  zPoC-Session-Idi  zDeferred-Location-Event-Typei  zLCS-APNi  zPositioning-Datai  r  i  r  i  zCalled-Asserted-Identityi  zRequested-Party-Addressi  zPoC-User-Rolei  zPoC-User-Role-IDsi  r  i  zTalk-Burst-Exchangei  zEvent-Charging-TimeStampi  r  i  zParticipant-Groupi  r!  i  zPoC-Change-Timei  zAccess-Network-Informationi  Triggeri  zBase-Time-Intervali  Envelopei  zEnvelope-End-Timei  r)  i  zEnvelope-Start-Timei  zTime-Quota-Mechanismi  r1  i  zEarly-Media-Descriptioni  zSDP-TimeStampsi  zSDP-Offer-Timestampi  zSDP-Answer-Timestampi  zAF-Correlation-Informationi  r6  i  zOffline-Chargingi  r9  i  z$IMS-Communication-Service-Identifieri  zNumber-Of-Received-Talk-Burstsi  zNumber-Of-Talk-Burstsi  zReceived-Talk-Burst-Timei  zReceived-Talk-Burst-Volumei  zTalk-Burst-Timei  zTalk-Burst-Volumei  zMedia-Initiator-Partyix  zSubscription-Dataiy  zTerminal-Informationiz  IMEIi{  zSoftware-Versioni|  zQoS-Subscribedi}  z	ULR-Flagsi~  z	ULA-Flagsi  zVisited-PLMN-Idi  z$Requested-EUTRAN-Authentication-Infoi  zGERAN-Authentication-Infoi  zNumber-Of-Requested-Vectorsi  zRe-Synchronization-Infoi  zImmediate-Response-Preferredi  zAuthentication-Infoi  zE-UTRAN-Vectori  zUTRAN-Vectori  zGERAN-Vectori  r<  i  z	HPLMN-ODBi  zItem-Numberi  rA  i  z	DSR-Flagsi  z	DSA-Flagsi  zContext-Identifieri  rI  i  zOperator-Determined-Barringi  zAccess-Restriction-Datai  zAPN-OI-Replacementi  rN  i  zAPN-Configuration-Profilei  zAPN-Configurationi  zEPS-Subscribed-QoS-Profilei  rR  i  rm  i  rW  i  AMBRi  zCSG-Idi  r\  i  zExpiration-Datei  z#RAT-Frequency-Selection-Priority-IDi  z	IDA-Flagsi  z	PUA-Flagsi  z	NOR-Flagsi  zUser-Idi  ra  i  zRegional-Subscription-Zone-Codei  RANDi  XRESi  AUTNi  KASMEi  zTrace-Collection-Entityi  Kci  SRESi  rg  i  rl  i  z
Trace-Datai  zTrace-Referencei  ro  i  zTrace-NE-Type-Listi  zTrace-Interface-Listi  zTrace-Event-Listi  zOMC-Idi  zGPRS-Subscription-Datai  rx  i  zPDP-Contexti  zPDP-Typei  z
3GPP2-MEIDi  zSpecific-APN-Infoi  zLCS-Infoi  zGMLC-Numberi  zLCS-PrivacyExceptioni  zSS-Codei  z	SS-Statusi  r|  i  zExternal-Clienti  zClient-Identityi  r  i  r  i  i  ServiceTypeIdentityi  zMO-LRi  zTeleservice-Listi  zTS-Codei  zCall-Barring-Infoi  zSGSN-Numberi  z	IDR-Flagsi  r  i  r  i  r  i  zLast-UE-Activity-Timei  zEPS-User-Statei  zEPS-Location-Informationi  zMME-User-Statei  zSGSN-User-Statei  r  i  zNon-3GPP-User-Datai  r  i  r  i  r  i  ANIDi  z
Trace-Infoi  z	MIP-FA-RKi  zMIP-FA-RK-SPIi  z	PPR-Flagsi  zWLAN-Identifieri  zTWAN-Access-Infoi  zAccess-Authorization-Flagsi  zTWAN-Default-APN-Context-Idi  r  i  zFull-Network-Namei  zShort-Network-Namei  zAAA-Failure-Indicationi  r  i  z	DER-Flagsi  z	DEA-Flagsi  z	RAR-Flagsi  zDER-S6b-Flagsi  SSIDi  HESSIDi  zAccess-Network-Infoi  zTWAN-Connection-Modei  zTWAN-Connectivity-Parametersi  zConnectivity-Flagsi  zTWAN-PCOi  zTWAG-CP-Addressi  zTWAG-UP-Addressi  zTWAN-S2a-Failure-Causei  zSM-Back-Off-Timeri  zWLCP-Keyi@  InformationiA  zSGSN-Location-InformationiB  zE-UTRAN-Cell-Global-IdentityiC  zTracking-Area-IdentityiD  zCell-Global-IdentityiE  zRouting-Area-IdentityiF  zLocation-Area-IdentityiG  zService-Area-IdentityiH  zGeographical-InformationiI  zGeodetic-InformationiJ  r  iK  zAge-Of-Location-InformationiL  z
Active-APNiM  r  iN  r  iO  rn  iP  zMPS-PriorityiQ  r  iR  r  iS  z!Subscribed-Periodic-RAU-TAU-TimeriU  zExt-PDP-AddressiV  zMDT-ConfigurationiW  r  iX  z
Area-ScopeiY  zList-Of-MeasurementsiZ  zReporting-Triggeri[  r  i\  r  i]  zEvent-Threshold-RSRPi_  r  i`  r   ia  r	  ib  r  ic  z	PUR-Flagsid  r  if  z	CLR-Flagsig  z	UVR-Flagsih  z	UVA-Flagsii  zVPLMN-CSG-Subscription-Dataij  z	Time-Zoneik  zA-MSISDNim  zMME-Number-for-MT-SMSip  r  iq  zLocal-Time-Zoneir  r  iv  zSubscription-Data-Flagsi{  zPositioning-Methodi|  zMeasurement-Quantityi}  zEvent-Threshold-Event-1Fi~  zEvent-Threshold-Event-1Ii  zRestoration-Priorityi  zSGs-MME-Identityi  zSIPTO-Local-Network-Permissioni  zCoupled-Node-Diameter-IDi  zWLAN-offloadabilityi  zWLAN-offloadability-EUTRANi  zWLAN-offloadability-UTRANi  zReset-IDi  zMDT-Allowed-PLMN-Idr  zSMS-Informationr  zData-Coding-Schemer  zDestination-Interfacer  zInterface-Idr  zInterface-Portr  zInterface-Textr  r#  r  r*  r  zOriginator-SCCP-Addressr  zOriginator-Interfacei  zRecipient-SCCP-Addressi  r.  i  zSM-Discharge-Timei  zSM-Protocol-IDi  zSM-User-Data-Headeri  r1  i  zClient-Addressi  zNumber-Of-Messages-Sentr  zRemaining-Balancei  zRefund-Informationi  z"Carrier-Select-Routing-Informationi  z&Number-Portability-Routing-Informationi  r4  i  zRecipient-Infoi  zOriginator-Received-Addressi  zRecipient-Received-Addressi  r7  i  zMMTel-Informationi  zMMTel-SService-Typei  zService-Modei  r:  i  zNumber-Of-Diversionsi  zAssociated-Party-Addressi  r@  i  zChange-Conditioni  zChange-Timei  Diagnosticsi  zService-Data-Containeri  z
Start-Timei  z	Stop-Timei  zTime-First-Usagei  zTime-Last-Usagei  z
Time-Usagei  zTraffic-Data-Volumesi  rC  i   zSupplementary-Servicei  rL  i  zPDN-Connection-Charging-IDi  rS  i  zAccumulated-Costi  zAoC-Cost-Informationi  zCurrent-Tariffi
  zRate-Elementi  zScale-Factori  zTariff-Informationi  z	Unit-Costi  zIncremental-Costi  zLocal-Sequence-Numberi  zNode-Idi  rX  i  r\  i  zSGW-Addressi  r_  iF  rb  i  zSubsession-Decision-Infoi  zSubsession-Enforcement-Infoi  zSubsession-Idi  rg  i  rj  i  rm  i  rq  i  zSIP-Request-Timestamp-Fractioni  zSIP-Response-Timestamp-Fractioni  ru  i 	  zCUG-Informationi	  zReal-Time-Tariff-Informationi	  z
Tariff-XMLi	  zMBMS-GW-Addressi	  rx  i	  zAccount-Expirationi	  r}  i	  zAoC-Servicei	  r  i		  r  i
	  zAoC-Subscription-Informationi	  zPreferred-AoC-Currencyi	  r  i	  r  i	  zUser-CSG-Informationi	  zOutgoing-Session-Idi	  zInitial-IMS-Charging-Identifieri	  r  i	  r  i`	  LMSIia	  zServing-Nodeib	  zMME-Nameic	  z
MSC-Numberid	  zLCS-Capabilities-Setsie	  zGMLC-Addressif	  zAdditional-Serving-Nodeig	  zPPR-Addressih	  z	MME-Realmii	  z	SGSN-Nameij	  z
SGSN-Realmik	  z	RIA-Flagsi	  r  i	  zLCS-EPS-Client-Namei	  zLCS-Requestor-Namei	  zLCS-Priorityi	  zLCS-QoSi	  zHorizontal-Accuracyi	  zVertical-Accuracyi	  r  i	  r  i	  r  i	  zSupported-GAD-Shapesi	  zLCS-Codewordi	  r  i	  r  i	  zAge-Of-Location-Estimatei	  zVelocity-Estimatei	  zEUTRAN-Positioning-Datai	  ECGIi	  r  i	  r  i	  zLCS-Service-Type-IDi	  r  i	  zGERAN-Positioning-Infoi	  zGERAN-Positioning-Datai	  zGERAN-GANSS-Positioning-Datai	  zUTRAN-Positioning-Infoi	  zUTRAN-Positioning-Datai	  zUTRAN-GANSS-Positioning-Datai	  z	LRR-Flagsi	  zLCS-Reference-Numberi	  zDeferred-Location-Typei	  zArea-Event-Infoi	  zArea-Definitioni	  Areai	  z	Area-Typei	  zArea-Identificationi	  r  i	  zInterval-Timei	  zPeriodic-LDR-Informationi	  zReporting-Amounti	  zReporting-Intervali	  zReporting-PLMN-Listi	  zPLMN-ID-Listi	  z	PLR-Flagsi	  z	PLA-Flagsi	  zDeferred-MT-LR-Datai	  i	  z	LRA-Flagsi	  r  i	  r  i	  zESMLC-Cell-Infoi	  zCell-Portion-IDi	  z
1xRTT-RCIDi)
  z$IMS-Application-Reference-Identifieri*
  r  i,
  r  i-
  r  i.
  zPDP-Address-Prefix-Lengthi
  zTransit-IOI-Listi
  r  i
  r  i
  zNeighbour-Node-Addressi
  r  i
  r  i
  zFrom-Addressi
  zAccess-Transfer-Informationi
  r  i
  zRelated-IMS-Charging-Identifieri
  z$Related-IMS-Charging-Identifier-Nodei
  zIMS-Visited-Network-Identifieri
  zTWAN-User-Location-Infoi
  BSSIDi
  r  i
  z#TDF-Application-Instance-Identifieri
  zHeNB-Local-IP-Addressi
  zUE-Local-IP-Addressi
  zUDP-Source-Porti
  r  i
  zMonitoring-Timei
  r  i
  zUser-Location-Info-Timei   zDefault-QoS-Informationi  zDefault-QoS-Namei  z%Conditional-APN-Aggregate-Max-Bitratei  zRAN-NAS-Release-Causei  z%Presence-Reporting-Area-Elements-Listi  z"Presence-Reporting-Area-Identifieri  z#Presence-Reporting-Area-Informationi  zPresence-Reporting-Area-Statusi  zNetLoc-Access-Supporti	  zFixed-User-Location-Infoi
  zPCSCF-Restoration-Indicationi  zIP-CAN-Session-Charging-Scopei  zMonitoring-FlagsiU  zPolicy-Counter-IdentifieriV  zPolicy-Counter-StatusiW  zPolicy-Counter-Status-ReportiX  r  iY  z"Pending-Policy-Counter-InformationiZ  z"Pending-Policy-Counter-Change-TimeiI  zReason-HeaderiJ  zInstance-IdiK  zRoute-Header-ReceivediL  zRoute-Header-TransmittediM  zSM-Device-Trigger-InformationiN  zMTC-IWF-AddressiO  r  iP  zSM-Sequence-NumberiQ  z
SMS-ResultiR  zVCS-InformationiS  zBasic-Service-CodeiT  zBearer-CapabilityiU  TeleserviceiV  zISUP-Location-NumberiW  r
  iX  z
ISUP-CauseiY  zMSC-AddressiZ  zNetwork-Call-Reference-Numberi[  zStart-of-Chargingi\  z
VLR-Numberi]  r  i^  zISUP-Cause-Diagnosticsi_  zISUP-Cause-Locationi`  zISUP-Cause-Valueia  zePDG-Addressid  r  ie  zLayer-2-Group-IDif  zMonitored-PLMN-Identifierig  zMonitoring-UE-HPLMN-Identifierih  zMonitoring-UE-Identifierii  zMonitoring-UE-VPLMN-Identifierij  zPC3-Control-Protocol-Causeik  zPC3-EPC-Control-Protocol-Causeil  zRequested-PLMN-Identifierim  zRequestor-PLMN-Identifierin  r  io  z(Usage-Information-Report-Sequence-Numberip  zProSe-3rd-Party-Application-IDiq  z)ProSe-Direct-Communication-Data-Containerir  r  is  r  it  zProSe-Function-IP-Addressiu  r  z ProSe-Group-IP-Multicast-AddresszProSe-Informationr!  r$  zProSe-Request-Timestampr'  zProSe-Source-IP-AddresszProSe-UE-IDr*  zProximity-Alert-Timestampz Proximity-Cancellation-TimestampzProSe-Function-PLMN-Identifier)iv  iw  ix  iy  iz  i{  i|  i}  i~  i  i  i  )r   r   )r<   r<   r<   r<   TEr   RzCapabilities-ExchangeCErH   r   zRe-AuthRA)rW  r,  )r   rL   r   r   r   zAA-Mobile-NodeAMzHome-Agent-MIPHAAA)r   rL   r   r   zDiameter-EAPDE)r   r   r   rq   r   
AccountingACr  CCzAbort-Sessionr  i  zSession-TerminationST)r   rL   r   r   r   zDevice-WatchdogDWzDisconnect-PeerDPzUser-AuthorizationUAzServer-AssignmentSAzLocation-InfoLIi  zMultimedia-AuthMAzRegistration-TerminationRTi   zPush-ProfilePPi,  i-  )r   r   i.  i/  i0  i1  )rH   r,  i2  UDi3  zProfile-UpdatePUi4  zSubscribe-NotificationsSNi5  zPush-NotificationPNi<  zUpdate-LocationULi=  zCancel-LocationCLzAuthentication-InformationAIzInsert-Subscriber-DataIDzDelete-Subscriber-DataDSzPurge-UEResetRSNotifyr  zME-Identity-CheckECMIP6MIzProvide-LocationPLzLocation-ReportLRzLCS-Routing-InfoRIzSpending-LimitSLzSpending-Status-NotificationzUpdate-VCSG-LocationUVi\  zCancel-VCSG-LocationCV)rQ  r   iD  rR  i  i  i  i  i  i  i"  c                       e Zd ZdZdZ edd           edddd 	           ed
dde           e	dde
           edde           edd           edd           edg ed           gZdS )DiamGz1   Generic class defining all the Diameter fieldsrz  versionrL   drLenNavpListc                     |t           z   S r9   )DR_Header_Length)r   r<   s     r,   r=   zDiamG.<lambda>r  s     r-   r*  drFlagsrJ   drCodedrAppIddrHbHIdr   drEtEIdc                      | j         t          z
  S r9   )r  r  r4  s    r,   r=   zDiamG.<lambda>  s    39$ r-   r6  )r.   r/   r0   r1   r)   r   r4   rD   DR_Flags_Listra   
DR_cmd_defr   r}  r   r   r  r#  r2   r-   r,   r  r  h  s        ;;D 	
9a   		 	 	 		4M22xz**Yj11	)Q	)Q 		 	 	'KKKr-   r  c                    d}d}d}t          | t                    r3| }| t          v rt          |         }nddddif}t          d| z             nt	          |           dk    rd}n| dd         } d	}t                                          D ],\  }}||         dt	          |                    | k    r|}|} n-|st          d
| z             |dfS ||d<   d|v r|d         }	t          |	t                    rad}
t                                          D ])\  }}|                    |	          dk    r|}||d<   d}
 n*|
s|d= t          d|	z             |dfS n*|	}n't          t          |d                             }||d<   |r|d         dz   n
|d         dz   }d|vr-||d         v r#|d         |         }|r|d         n|d	         |d<   ||fS )zUpdate or fill the fields parameters depending on command code. Both cmd and drAppId can be provided  # noqa: E501
       in string or int format.Nrh   UKr   ry  z?No Diameter command with code %d found in DR_cmd_def dictionaryrp   r   rL   zADiameter command with name %s not found in DR_cmd_def dictionary.r  r  FrN   Tz?Application ID with name %s not found in AppIDsEnum dictionary.z-Requestz-Answerr  )r   rS   r  r   r   rc   rU   r}  findnextiter)rj   requestr  r  paramsr  fposre   fr   r  rf   r)   r  s                 r,   getCmdParamsr    s    FFG#s '*'FF8}5FQ    s88a<<DDbqb'CD$$&& 	 	DAqw     ! !	!
  	'S   I&&F8FYc3 	E"((**  166#;;"$$G(/F9% EE	 %
  +9%U   	**+ GGtF1I''#y%,G6!9z!!&)i2GDfQi1Ig&E,3 AaqF9D>r-   c                 N    t          | dfi |\  }}t          di |}||_        |S )zCraft Diameter request commandsTr2   r  r  r)   rj   r  upfieldsr)   r   s        r,   DiamReqr    s<    !#t66v66NHdAAFHr-   c                 N    t          | dfi |\  }}t          di |}||_        |S )zCraft Diameter answer commandsFr2   r  r  s        r,   DiamAnsr    s<    !#u7777NHdAAFHr-   i  )dport)sport)proto_id/   (o  r1   r   r   timer   scapy.packetr   r   scapy.fieldsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   scapy.layers.inetr   scapy.layers.sctpr   scapy.compatr   r   r   r   r   scapy.errorr   scapy.utilsr   r    scapy.pton_ntopr!   r"   r$   r4   rD   ra   rm   rs   rv   r}  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r"  r  r  r  r!  r%  r'  r,  r   r9  r?  rD  rG  rJ  rM  rP  rS  rV  rY  r\  r_  ra  rc  re  rg  ri  rl  ro  rs  rv  ry  r|  r  r  r  r  r:  r>  rA  rP  re  ri  rl  ru  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r#  r(  r-  r2  r8  r<  rC  rJ  rO  rW  r]  rc  rh  ro  rr  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r(  r,  r/  r4  r9  r>  rB  rE  rI  rN  rS  rV  r[  rs  rx  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  rK  rQ  rV  r[  ra  rd  rj  rp  rv  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r(  r0  r5  r8  r;  r@  rH  rM  rQ  rV  r[  r`  rf  rk  rn  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r)  r-  r0  r3  r6  r9  r?  rB  rK  rR  rW  r[  r^  ra  rf  ri  rl  rp  rt  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r   r#  r&  r)  r   r  r  r  r  r  r  r  r2   r-   r,   <module>r     s   &         , , , , , , , ,                                    " ! ! ! ! ! + + + + + + < < < < < < < < < < < < < <       , , , , , , , , 0 0 0 0 0 0 0 0< < < < <i < < </ / / / /lM / / /05 5 5 5 5z 5 5 5*% % % % % % % %*. . . . .
 . . .(, , , , , , , , 		
"



 
 (!((  ( !	(
 ,( ( ?( +( +( ( 	( i( i( i( j(  i!(" n#( ($ m%(& i'(( ))(* %+(, i-(. i/(0 j1(2 n3(4 o5(6 j7(8 j9(: j;(< j=(> i?(@ nA(B jC(D jE( (F IO( ( (
`         ;      	 	 	 	 	 	 	 	1 1 1 1 1 1 1 1
	 	 	 	 	( 	 	 		 	 	 	 	) 	 	 		 	 	 	 	~ 	 	 		 	 	 	 	 	 	 	    {   0    H   
* * * * *, * * *	 	 	 	 	K 	 	 		 	 	 	 	{ 	 	 		 	 	 	 	[ 	 	 	    K   H  999# # #*9 9 9 9 96 9 9 9(1 1 1n                                ;   "                                H   @ @ @ @ @Y @ @ @6 6 6 6 6x 6 6 6
7 7 7 7 7	 7 7 7
5 5 5 5 5h 5 5 5
6 6 6 6 6y 6 6 6
6 6 6 6 6x 6 6 6
7 7 7 7 7	 7 7 7
5 5 5 5 5h 5 5 5
6 6 6 6 6y 6 6 6
0 0 0 0 0 0 0 0
1 1 1 1 1) 1 1 1
    H       Y              )       (       9   C C C C C C C CC C C C C C C CG# G# G# G# G# G# G# G#TV V V V V V V Vr$( $( $( $( $(X $( $( $(NK K K K KX K K KK K K K Kh K K K    y   :    y   0    	       	       	   $X X X X X	 X X X* * * * *	 * * *Z    	   .    	   2
 
 
 
 
	 
 
 
    	          "o o o o o o o ow w w w w w w wZ Z Z Z Z Z Z Zl l l l l l l lm m m m m m m m       (A A A A A A A AY Y Y Y Y Y Y Y       0= = = = = = = =        \ \ \ \ \ \ \ \P P P P P P P PD D D D D D D Dj j j j j j j ji i i i i i i iq q q q q q q qT T T T T T T Tm m m m m m m mI I I I I I I IY Y Y Y Y Y Y Yy y y y y y y yc c c c c c c cp p p p p p p p       "h h h h h h h h       $X X X X X X X XH H H H H H H H] ] ] ] ] ] ] ]b b b b b b b bU U U U U U U US S S S S S S SN N N N N N N NG G G G G G G GG G G G G G G G       BZ Z Z Z Z Z Z Z# # # # # # # #L       ,       6: : : : : : : :S S S S S S S S       "	# 	# 	# 	# 	#X 	# 	# 	#g g g g gX g g gn n n n nX n n n    X   .# # # # #X # # #"> > > > >X > > >V V V V VX V V VN N N N NX N N Ne e e e eX e e eV V V V VX V V V    X   4
# 
# 
# 
# 
#X 
# 
# 
#] ] ] ] ]X ] ] ]P P P P PX P P PA A A A AX A A At t t t tX t t tL L L L LX L L Le e e e eX e e eF F F F FX F F F) ) ) ) )X ) ) )XQ Q Q Q QX Q Q QO O O O OX O O Oe e e e eX e e e    X    r r r r rX r r rU U U U UX U U UQ Q Q Q QX Q Q Qr r r r rX r r rh h h h hX h h hh h h h hX h h h    X   8a a a a aX a a aR R R R RX R R R+# +# +# +# +#X +# +# +#\    X   *o o o o oX o o ov v v v vX v v v    X        X   (S S S S SX S S SO O O O OX O O OQ Q Q Q QX Q Q QX X X X XX X X Xl l l l lX l l lm m m m mh m m m9 9 9 9 9h 9 9 9xl l l l lh l l le e e e eh e e ec c c c ch c c ck k k k kh k k kM M M M Mh M M Mo o o o oh o o os s s s sh s s sX X X X Xh X X X~ ~ ~ ~ ~h ~ ~ ~# # # # #h # # #     h   *# # # # #h # # #(j j j j jh j j j[ [ [ [ [h [ [ [a a a a ah a a aA A A A Ah A A AI I I I Ih I I Ix x x x xh x x xV V V V Vh V V VO O O O Oh O O O    h   @ @ @ @ @h @ @ @R R R R Rh R R R| | | | |h | | |o o o o oh o o oP P P P Ph P P P9 9 9 9 9h 9 9 9M M M M Mh M M M2 2 2 2 2h 2 2 2    h   6| | | | |h | | |B B B B Bh B B BB B B B Bh B B B    h   (B B B B Bh B B BB B B B Bh B B BZ Z Z Z Zh Z Z ZN N N N Nh N N NM M M M Mh M M MB B B B Bh B B B_ _ _ _ _h _ _ _    h        h   "    h   "r r r r rh r r rU U U U Uh U U U? ? ? ? ?h ? ? ?t t t t th t t t    h   "r r r r rh r r rU U U U Uh U U UN N N N Nh N N Ne e e e eh e e eJ J J J Jh J J Jo o o o oh o o op p p p ph p p pc c c c ch c c c# # # # #h # # #O O O O Oh O O O    h    R R R R Rh R R R# # # # #h # # #F F F F Fh F F FS S S S Sh S S SS S S S Sh S S S# # # # #h # # #W W W W Wh W W Wq q q q qh q q qM M M M Mh M M M9 9 9 9 9h 9 9 99 9 9 9 9h 9 9 9O O O O Oh O O Oe e e e eh e e e    h   "p p p p ph p p pX X X X Xh X X Xw w w w wh w w w# # # # #h # # #% % % % %h % % %PZ Z Z Z Zh Z Z Z    h   (i i i i ih i i iU U U U Uh U U Uf f f f fh f f fG G G G Gh G G Gi i i i ih i i ic c c c ch c c c    h   "@ @ @ @ @h @ @ @g g g g gh g g g[ [ [ [ [h [ [ [    h   "    h   .S S S S Sh S S SP P P P Ph P P Pa a a a ah a a aY Y Y Y Yh Y Y YJ J J J Jh J J JU U U U Uh U U U    h   $J J J J Jh J J J    h   "s s s s sh s s sU U U U Uh U U UB B B B Bh B B BJ J J J Jh J J Jt t t t th t t tY Y Y Y Yh Y Y Yf f f f fh f f fO O O O Oh O O Oi i i i ih i i iS S S S Sh S S SW W W W Wh W W WS S S S Sh S S SW W W W Wh W W W    h   $b b b b bh b b b{ { { { {h { { {T T T T Th T T T    h   "Z Z Z Z Zh Z Z Z    h    r r r r rh r r rO O O O Oh O O Oi i i i ih i i iS S S S Sh S S SW W W W Wh W W W8 8 8 8 8h 8 8 8D D D D Dh D D DH H H H Hh H H H4 4 4 4 4h 4 4 4] ] ] ] ]h ] ] ]O O O O Oh O O O= = = = =h = = =j j j j jh j j jA A A A Ah A A AC C C C Ch C C CB B B B Bh B B Bk k k k kh k k k] ] ] ] ]h ] ] ]p p p p ph p p p    h   W W W W Wh W W WG G G G Gh G G GK K K K Kh K K Ko o o o oh o o ok k k k kh k k k[ [ [ [ [h [ [ [N N N N Nh N N Nu u u u uh u u uJ J J J Jh J J JE	K*B/E	O.3E 	
J("-E 	
NGR(	E
 	
w+E 	
!2B7E 	x,E 	[+R0E 	\+R0E 	!8R0E 	_h+E 	/4E 	_/4E 	 126E 	]-r2E  	^.3!E" 	!#3R8#E E$ 	W',%E& 	 0"5'E( 	^-r2)E* 	 "3R8+E, 	!#4b9-E. 	]-r2/E0 	 "3R81E2 	0"53E4 	 1265E6 	$&6;7E8 	')92>9E: 	$&7<;E< 	 0"5=E> 	 126?E@ 	x,AEB 	 "2B7CED 	$&7<EE E EF 	 0"5GEH 	
B/IEJ 	0"5KEL 	_h+MEN 	\+R0OEP 	0"5QER 	]Hb)SET 	!8R0UEV 	%'8"=WEX 	%'8"=YEZ 	%'8"=[E\ 	 126]E^ 	_/4_E` 	_/4aEb 	2.cEd 	_.3eEf 	!#4b9gE E Eh 	/4iEj 	Xx$kEl 	^.3mEn 	"$5r:oEp 	&(92>qEr 	#%6;sEt 	 "2B7uEv 	&(92>wEx 	$&6;yEz 	')92>{E| 	]-r2}E~ 	]-r2E@ 	'):B?AEB 	$&7<CED 	$&7<EEF 	$&7<GEH 	"$4b9IE E EJ 	!#4b9KEL 	 "3R8MEN 	 "3R8OEP 	n/4QER 	n/4SET 	l-r2UEV 	 "3R8WEX 	l-r2YEZ 	#%5r:[E\ 	%'8"=]E^ 	3_E` 	#Y3aEb 	#%5r:cEd 	.rBeEf 	#Y3gEh 	')92>iEj 	l-r2kE E El 	m.3mEn 	#%5r:oEp 	k9b)qEr 	!#3Q7sEt 	mY+uEv 	n/3wEx 	!126yEz 	'B7{E| 	$&6;}E~ 	 )R0E@ 	!9b1AEB 	!#3R8CED 	"Ir2EEF 	!126GEH 	lM2.IEJ 	l-r2KEL 	o0!4ME E EN 	n/4OEP 	!#4b9QER 	lM2.SET 	$i4UEV 	)+;R@WEX 	&(8"=YEZ 	o0"5[E\ 	 "3R8]E^ 	$&7;_E` 	!9b1aEb 	n/4cEd 	#]B7eEf 	()R8gEh 	"$4b9iEj 	 "2B7kEl 	 "2B7mEn 	!2B7oE E Ep 	o0"5qEr 	3sEt 	 "2B7uEv 	 -4wEx 	 -4yEz 	 -4{E| 	 -4}E~ 	 -4E@ 	 -4AEB 	';CED 	&r:EEF 	k,b1GEH 	-/@"EIEJ 	"$4b9KEL 	*,<bAMEN 	(*:B?OEP 	(*:B?QE E ER 	 0"5SET 	!3R8UEV 	!2B7WEX 	 "3R8YEZ 	"Ir2[E\ 	B/]E^ 	+]B?_E` 	#%6;aEb 	')92>cEd 	(*:B?eEf 	(*:B?gEh 	)+;R@iEj 	 "2B7kEl 	*M2>mEn 	)+<bAoEp 	-/@"EqEr 	 126sE E Et 	';uEv 	(*:B?wEx 	')92>yEz 	*Ir:{E| 	"M26}E~ 	)9b9E@ 	!126AEB 	 -4CED 	!="5EEF 	';GEH 	%'7<IEJ 	)="=KEL 	B/MEN 	!2B7OEP 	&(92>QER 	+Y;SET 	,.?DUE E EV 	o}b1WEX 	"$5r:YEZ 	&(92>[E\ 	/B?]E^ 	l-r2_E` 	!3R8aEb 	k="-cEd 	k="-eEf 		2.gEh 	l-r2iEj 	o0"5kEl 	&	26mEn 	!4b9oEp 	!#4a8qEr 	!126sEt 	j-,uEv 	 "2B7wE E Ex 	!#3R8yEz 	B/{E| 	)+;R@}E~ 	#Y3E@ 	!#3R8AEB 	i)2.CED 	!126EEF 	$i4GEH 	 -4IEJ 	k,b1KEL 	o/4MEN 		2.OEP 	/B?QER 	0)R@SET 	j/2.UEV 	%}b9WEX 	$mR8YE E EZ 	n.3[E\ 	%y"5]E^ 	3_E` 	'):B?aEb 	 )R0cEd 	&r:eEf 	');R@gEh 	"$4b9iEj 	&q9kEl 	&(8!<mEn 	'):A>oEp 	3qEr 	$&7<sEt 	lM2.uEv 	!="5wEx 	nor2yEz 	o/4{E E E| 	!9b1}E~ 	$i4E@ 	"J3AEB 	#Y3CED 	%'7<EEF 	ni,GEH 	+Y;IEJ 	0-DKEL 	$mR8MEN 	#]A6OEP 	()Q7QER 	)+<a@SET 	"$5r:UEV 	m.3WEX 	$&7<YEZ 	&(92>[E\ 	*,<bA]E E E^ 	&	26_E` 	,i<aEb 	(*:B?cEd 	3eEf 	"M26gEh 	!#4b9iEj 	%'8"=kEl 	o0"5mEn 	o/4oEp 	o}b1qEr 	!#4b9sEt 		2.uEv 	&(92>wEx 	o}b1yEz 	m]B/{E| 	&(8"=}E~ 	lM2.E E E@ 	o0"5AEB 	j)R(CED 	k9b)EEF 	k="-GEH 	i+IEJ 	iB'KEL 	lM2.MEN 	 -4OEP 	 -4QER 	r2SET 	3UEV 	&(8"=WEX 	m.3YEZ 	 -4[E\ 	(*;R@]E^ 	o0"5_E` 	"M26aE E Eb 	*,=rBcEd 	for*eEf 	lM2.gEh 	lOR0iEj 	j/2.kEl 	$i4mEn 	#Y3oEp 	"Ir2qEr 	k="-sEt 		2.uEv 	!2B7wEx 	lM2.yEz 	B/{E| 	 "3R8}E~ 	k="-E@	 	o/4A	EB	 	k="-C	E E ED	 	 )R0E	EF	 	k9b)G	EH	 	lM2.I	EJ	 	r2K	EL	 	 126M	EN	 	i*B/O	EP	 	o}b1Q	ER	 	m-r2S	ET	 	k+R0U	EV	 	m-r2W	EX	 	k+R0Y	EZ	 	#]B7[	E\	 	!#3R8]	E^	 	"$4b9_	E`	 	%}b9a	Eb	 	!#3R8c	Ed	 	!126e	E E Ef	 	 "2B7g	Eh	 	!#3R8i	Ej	 	"$4b9k	El	 	#Z4m	En	 	13CRHo	Ep	 	!:r2q	Er	 	/1A2Fs	Et	 	oy"-u	Ev	 	"5w	Ex	 	 -4y	Ez	 	 0"5{	E|	 	$mR8}	E~	 	oy"-	E@
 	r2A
EB
 	 -4C
ED
 	r2E
EF
 	r2G
E EH
 	k,b1I
E EL
[
,.>D[$&6<[ 	m]C0[ 	/sC	[
 	2L#F[ 	8:JCP[ 	)+;SA[ 	&(8#>[ 	#%5s;[ 	 "3S9[ 	o|S1[ 	m_c2[ 	g|S)[ 	m]C0[ 	lM3/[  	4![" 	*OSA#[ [$ 	*OSA%[& 	+\3?'[( 	&=)[* 	#\37+[, 	lM3/-[. 	nos3/[0 	nos31[2 	&s;3[4 	m-s35[6 	's;7[8 	#]C89[: 	 0#6;[< 	&s;=[> 	 "2C8?[@ 	57GMA[B 	4C[D 	*OSAE[ [ [F 	*OSAG[H 	$mS9I[J 	n.4K[L 	 0#6M[N 	5O[P 	5Q[R 	5S[T 	*,<cBU[V 	!137W[X 	m-s3Y[Z 	#\37[[\ 	$os;][^ 	#_c:_[` 	k+S1a[b 	%<c[d 	)+;SAe[f 	 "2C8g[ [ [h 	!#3S9i[j 	*,<cBk[l 	"L#6m[n 	#6o[p 	&s;q[r 	%|S9s[t 	m]C0u[v 	m-s3w[x 	$lC8y[z 	46FL{[| 	68H#N}[~ 	9;KSQ[@ 	;=MsSA[B 	'<C[D 	+]C@E[F 	#%5s;G[H 	o/5I[ [ [J 	"L#6K[L 	#6M[N 	nmS1O[P 	&c:Q[R 	%|S9S[T 	#]C8U[V 	*,<cBW[X 	's;Y[Z 	!137[[\ 	k?C0][^ 	&s;_[` 	&c:a[b 	f&,c[d 	i)3/e[f 	!<5g[h 	"$4c:i[j 	!137k[ [ [l 	o/5m[n 	n.4o[p 	0,Dq[r 	0-Es[t 	 ,4u[v 	 -5w[x 	4lCHy[z 	-}cB{[| 	k?C0}[~ 	,osC[@ 	k?C0A[B 	o|S1C[D 	hs+E[F 	k+S1G[H 	s3I[J 	"$4c:K[L 	o}c2M[ [ [N 	 -5O[P 	 -5Q[R 	nmS1S[T 	mY,U[V 	$mS9W[X 	j*C0Y[Z 	%}c:[[\ 	#6][^ 	'<_[` 	"L#6a[b 	#6c[d 	$mS9e[f 	*M3?g[h 	k?C0i[j 	#\37k[l 	%'7=m[n 	k+S1o[ [ [p 	lL#.q[r 	l,c2s[t 	g'-u[v 	n.4w[x 	5y[z 	#%5s;{[| 	nmS1}[~ 	l,c2[@ 	%'7=A[B 	$&6<C[D 	m\3/E[F 	%y#6G[H 	&	37I[J 	"$4c:K[L 	9;KSQM[N 	)<=O[P 	!137Q[ [ [R 	!137S[T 	')93?U[V 	')93?W[X 	#\37Y[Z 	 0#6[[\ 	%'7=][^ 	lL#._[` 	nlC0a[b 	's;c[d 	 0#6e[f 	.cBg[h 	c2i[j 	')93?k[l 	')93?m[n 	 0#6o[p 	l,c2q[r 	 0#6s[ [ [t 	o/5u[v 	')93?w[x 	 0#6y[z 	lNC0{[| 	"M37}[~ 	lM3/[@ 	/sCA[B 	#%5s;C[D 	*M3?E[F 	$os;G[H 	&=I[J 	nmS1K[L 	"OS9M[N 	 -5O[P 	#\37Q[R 	c2S[T 	s3U[ [ [V 	s3W[X 	s3Y[Z 	s3[[\ 	 ,4][^ 	&=_[` 	$mS9a[b 	4c[d 	 -5e[f 	&=g[h 	%'7=i[j 	i#.k[l 	nlC0m[n 	n.4o[p 	c2q[r 	nmS1s[t 	f&,u[v 	13CSIw[ [ [x 	)=#>y[z 	!#3S9{[| 	%'7=}[~ 	!137[@ 	!=#6A[B 	$mS9C[D 	e%s+E[F 	*,<cBG[H 	*,<cBI[J 	$&6<K[L 	,mSAM[N 	!=#6O[P 	~~s3Q[R 	&c:S[T 	%|S9U[V 	)<=W[X 	(*:C@Y[ [ [Z 	#%5s;[[\ 	4][^ 	 .#6_[` 	y.#.a[b 	x-c[d 	|_c2e[f 	 .#6g[h 	|.4i[j 	.cBk[l 	"$4c:m[n 	&<o[p 	%|S9q[r 	 .#6s[t 	"$4c:u[v 	!>37w[x 	6cJy[z 	$nc:{[ [ [| 	(.#>}[~ 	&=[@ 	&=A[B 	}nc2C[D 	%~s;E[F 	z>3/G[H 	(,<I[J 	.cBK[L 	s3M[N 	%'8#>O[P 	%<Q[R 	#\37S[T 	 ,4U[V 	-DW[X 	-DY[Z 	"Is3[[\ 	%y#6][ [ [^ 	'C8_[` 	&<a[b 	#6c[d 	'=e[f 	*NC@g[h 	's;i[j 	c2k[l 	)+;SAm[n 	|-s3o[p 	!<5q[r 	&(93?s[t 	)+;SAu[v 	*L#>w[x 	(.#>y[z 	1>3G{[| 	"$4c:}[~ 	!137[ [ [@ 	-|SAA[B 	'=C[D 	(.#>E[F 	)>3?G[H 	*NC@I[J 	$nc:K[L 	/EM[N 	$lC8O[P 	(,<Q[R 	(*:C@S[T 	s3U[V 	#\37W[X 	5Y[Z 	)?C@[[\ 	%|S9][^ 	!>37_[` 	 ,4a[ [ [b 	+-=sCc[d 	%'7=e[f 	&(8#>g[h 	s3i[j 	2L#Fk[l 	,ncBm[n 	}.4o[p 	 ,4q[r 	}nc2s[t 	,.>Du[v 	~4w[x 	/sCy[z 	5{[| 	z>3/}[~ 	~~s3[@	 	~4A	[B	 	c2C	[ [ [D	 	!>37E	[F	 	|-s3G	[H	 	*NC@I	[J	 	}nc2K	[L	 	{,c2M	[N	 	 "2C8O	[P	 	4Q	[R	 	}nc2S	[T	 	,ncBU	[V	 	 "2C8W	[X	 	&<Y	[Z	 	'=[	[\	 	%<]	[^	 	}lC0_	[`	 	~|S1a	[b	 	!137c	[d	 	-/?Ee	[ [ [f	 	y*C0g	[h	 	!#3S9i	[j	 	!>37k	[l	 	(.#>m	[n	 	)+;SAo	[p	 	(*:C@q	[r	 	c2s	[t	 	"$4c:u	[v	 	)>3?w	[x	 	$lC8y	[z	 	)9c:{	[|	 	,ncB}	[~	 	"L#6	[@
 	%~s;A
[B
 	 )S1C
[D
 	+-=sCE
[F
 	y,,G
[ [ [H
 	#_c:I
[J
 	z<-K
[L
 	"Is3M
[N
 	#^S9O
[P
 	$i5Q
[R
 	%|S9S
[T
 	 .#6U
[V
 	(,<W
[X
 	s3Y
[Z
 	$i5[
[\
 	%y#6]
[^
 	+\3?_
[`
 	,ncBa
[b
 	!<5c
[d
 	(.#>e
[f
 	57GMg
[h
 	/#Fi
[ [ [j
 	&=k
[l
 	)?C@m
[n
 	+_cBo
[p
 	 /37q
[r
 	"OS9s
[t
 	&(8#>u
[v
 	"L#6w
[x
 	%|S9y
[z
 	v'-{
[|
 	!#3S9}
[~
 	!137
[@ 	{OS1A[B 	{OS1C[D 	 "2C8E[F 	5|SIG[H 	*L#>I[J 	,osCK[ [ [L 	(*:C@M[N 	-DO[P 	$lC8Q[R 	s3S[T 	~|S1U[V 	~|S1W[X 	$nc:Y[Z 	{OS1[[\ 	}os3][^ 	"NC8_[` 	{OS1a[b 	{OS1c[d 	#_c:e[f 	"NC8g[h 	,osCi[j 	(/3?k[l 	#%5s;m[ [ [n 	:NCPo[p 	*L#>q[r 	"L#6s[t 	+\3?u[v 	.Dw[x 	x)3/y[z 	~~s3{[| 	v|S)}[~ 	x#.[@ 	'=A[B 	 )S1C[D 	4osKE[F 	{OS1G[H 	{OS1I[J 	{OS1K[L 	y*C0M[N 	!>37O[ [ [P 	02BCHQ[R 	v'-S[T 	v'-U[V 	v'-W[X 	w(#.Y[Z 	(,<[[\ 	t%s+][^ 	v'-_[` 	z>3/a[b 	>PSTc[d 	|\3/e[f 	 "2C8g[h 	}nc2i[j 	#%5s;k[l 	%'7=m[n 	!#3S9o[p 	x)3/q[ [ [r 	's;s[t 	6Lu[v 	}lC0w[x 	z+S1y[z 	|-s3{[| 	"L#6}[~ 	z<-[@ 	}.4A[B 	%|S9C[D 	y*C0E[F 	{,c2G[H 	(.#>I[J 	 ,4K[L 	 "2C8M[N 	!>37O[P 	}nc2Q[R 	~|S1S[ [ [T 	$os;U[V 	wc*W[X 	!<5Y[Z 	y*C0[[\ 	"L#6][^ 	}.4_[` 	{OS1a[b 	4c[d 	5~sKe[f 	BNTWXg[h 	&	37i[j 	s3k[l 	)<=m[n 	s3o[p 	 ,4q[r 	|^S1s[t 	#\37u[ [ [v 	#^S9w[x 	'=y[z 	|^S1{[| 	v'-}[~ 	|\3/[@ 	{,c2A[B 	5C[D 	{OS1E[F 	 ,4G[H 	!<5I[J 	+_cBK[L 	,osCM[N 	*NC@O[P 	"$4c:Q[R 	#%5s;S[T 	'#>U[V 	&<W[ [ [X 	{OS1Y[Z 	{OS1[[\ 	{OS1][^ 	5_[` 	v'-a[b 	x)3/c[d 	$lC8e[f 	%<g[h 	-|SAi[j 	#_c:k[l 	z+S1m[n 	 ,4o[p 	 "2C8q[r 	'#>s[t 	"OS9u[v 	z+S1w[x 	}lC0y[ [ [z 	*L#>{[| 	-/?E}[~ 	')93?[@ 	%'7=A[B 	&(8#>C[D 	')93?E[F 	&(8#>G[H 	)+;SAI[J 	%'7=K[L 	+^SAM[N 	,osCO[P 	|\3/Q[R 	!>37S[T 	!>37U[V 	$nc:W[X 	~4Y[Z 	#^S9[[ [ [\ 	 .#6][^ 	2OSI_[` 	 ,4a[b 	"L#6c[d 	z>3/e[f 	|\3/g[h 	%<i[j 	"OS9k[l 	 .#6m[n 	4o[p 	%<q[r 	!>37s[t 	!>37u[v 	%~s;w[x 	!>37y[z 	{OS1{[| 	"NC8}[ [ [~ 	{OS1[@ 	{OS1A[B 	{OS1C[D 	,lC@E[F 	{,c2G[H 	z>3/I[J 	&(8#>K[L 	%~s;M[N 	 ,4O[P 	%~s;Q[R 	(/3?S[T 	#%5s;U[V 	%'7=W[X 	)>3?Y[Z 	)>3?[[\ 	%<][^ 	!#3S9_[ [ [` 	/#Fa[b 	)+;SAc[d 	$lC8e[f 	+_cBg[h 	*OSAi[j 	z+S1k[l 	$&6<m[n 	 ,4o[p 	#^S9q[r 	&c:s[t 	~/5u[v 	!137w[x 	!137y[z 	5{[| 	 .#6}[~ 	(,<[@ 	%|S9A[ [ [B 	's;C[D 	%~s;E[F 	"Is3G[H 	!137I[J 	$&6<K[L 	z>3/M[N 	s3O[P 	(/3?Q[R 	"L#6S[T 	#%5s;U[V 	35EsKW[X 	79I3OY[Z 	5[[\ 	s3][^ 	,lC@_[` 	+\3?a[b 	 .#6c[ [ [d 	"L#6e[f 	$os;g[h 	~4i[j 	 .#6k[l 	%<m[n 	)+;SAo[p 	z>3/q[r 	!>37s[t 	}i-u[v 	}nc2w[x 	's;y[z 	|Y,{[| 	{Is+}[~ 	!9c2[@ 	 )S1A[B 	|_c2C[D 	%|S9E[ [ [F 	"NC8G[H 	&c:I[J 	(.#>K[L 	+_cBM[N 	%~s;O[P 	!<5Q[R 	%|S9S[T 	s3U[V 	~|S1W[X 	~|S1Y[Z 	#\37[[\ 	{L#.][^ 	!<5_[` 	&=a[b 	y*C0c[d 	|^S1e[f 	8.#Ng[ [ [h 	}lC0i[j 	/Ek[l 	#^S9m[n 	)<=o[p 	,lC@q[r 	5s[t 	%~s;u[v 	&<w[x 	5y[z 	}nc2{[| 	/#F}[~ 	0/3G[@ 	%~s;A[B 	 "2C8C[D 	-|SAE[F 	|-s3G[H 	 ,4I[ [ [J 	*NC@K[L 	#Y4M[N 	|^S1O[P 	}lC0Q[R 	,ncBS[T 	!>37U[V 	-|SAW[X 	'#>Y[Z 	 .#6[[\ 	*NC@][^ 	%|S9_[` 	$&6<a[b 	02BCHc[d 	(.#>e[f 	#^S9g[h 	v'-i[j 	~|S1k[ [ [l 	z+S1m[n 	|-s3o[p 	&=q[r 	~|S1s[t 	(,<u[v 	}lC0w[x 	{,c2y[z 	{,c2{[| 	|-s3}[~ 	{OS1[@ 	"NC8A[B 	$lC8C[D 	#\37E[F 	~4G[H 	y,,I[J 	$os;K[L 	"OS9M[ [ [N 	#^S9O[P 	#^S9Q[R 	4S[T 	%<U[V 	~/5W[X 	"NC8Y[Z 	.D[[\ 	)?C@][^ 	"$4c:_[` 	(*:C@a[b 	v'-c[d 	5e[f 	$nc:g[h 	$os;i[j 	4k[l 	's;m[n 	')93?o[ [ [p 	-/?Eq[r 	's;s[t 	')93?u[v 	-/?Ew[x 	{OS1y[z 	%'7={[| 	'#>}[~ 	 ,4[@ 	 ,4A[B 	v|S)C[D 	{OS1E[F 	$lC8G[H 	 .#6I[J 	5K[L 	)<=M[N 	!?C8O[P 	#_c:Q[ [ [R 	$lC8S[T 	~|S1U[V 	{OS1W[X 	{OS1Y[Z 	$lC8[[\ 	"OS9][^ 	{OS1_[` 	4ncJa[b 	+^SAc[d 	 ,4e[f 	 /37g[h 	|-s3i[j 	57GMk[l 	'=m[n 	-~sCo[p 	/Eq[r 	*OSAs[ [ [t 	!#3S9u[v 	y.#.w[x 	z>3/y[z 	's;{[| 	"NC8}[~ 	"NC8[@ 	~/5A[B 	,lC@C[D 	%~s;E[F 	02BCHG[H 	5|SII[J 	/1A3GK[L 	(,<M[N 	w(#.O[P 	5Q[R 	46FLS[T 	&c:U[ [ [V 	$lC8W[X 	 /37Y[Z 	"NC8[[\ 	 )S1][^ 	~~s3_[` 	()S9a[b 	(,<c[d 	!#3S9e[f 	6cJg[h 	&(8#>i[j 	68H#Nk[l 	35EsKm[n 	4lCHo[p 	/#Fq[r 	&=s[t 	)<=u[v 	-Dw[ [ [x 	.Ey[z 	!?C8{[| 	*,<cB}[~ 	&(8#>[@ 	-|SAA[B 	 .#6C[D 	3\3GE[F 	3YDG[H 	 0#6I[J 	}.4K[L 	&(8#>M[N 	)+;SAO[P 	.cBQ[R 	 ,4S[T 	,ncBU[V 	#_c:W[X 	|_c2Y[ [ [Z 	 ,4[[\ 	#\37][^ 	"$4c:_[` 	}.4a[b 	%'7=c[d 	#^S9e[f 	|\3/g[h 	}.4i[j 	.0@#Fk[l 	"Is3m[n 	|-s3o[p 	-~sCq[r 	')93?s[t 	$os;u[v 	!?C8w[x 	~|S1y[z 	 .#6{[ [ [| 	!#3S9}[~ 	*,<cB[@ 	/1A3GA[B 	)+;SAC[D 	/1A3GE[F 	+^SAG[H 	/EI[J 	*,<cBK[L 	*,<cBM[N 	'=O[P 	9>3OQ[R 	/1A3GS[T 	:L#NU[V 	-~sCW[X 	!>37Y[Z 	*L#>[[\ 	$nc:][ [^ 2<E"L#6"NC8.D()S9!>37(,<.4+^SA*Is;19cB/1A3Gu[ [ [O
c c
`#  888.
!4!X	7.)TyY)W`luvv	w. 
D1i.	1. 
D1i.	1	.
 $yIYbcc	d. .$9	U^clqz { {	|. ,)	::	;. 
D1i.	1. /4Y9	]fr{!|!|	}. 
9icl  yB  (C  (C  
D. 
TAx=	1. 
TAx=	1. 
q)n	5. 
ta^	4. /4!Y	0.  
TAy>	2!." 
$dQ	N	;#. .$ .$I	/%.& 
x&;	<'.( 
t	Y%O%O	P).* /4(I!6	7+., 
Ti9#M#M	N-.. 
$dyI,V,V	W/.0 .$9	 J J	K1.2 +th	2	33.4 
D8Y"7	85.6 
#THi+@	A7.8 
th	%:	;9.: 
THi#8	9;.< 
THi#8	9=.> 
&x.C	D?.@ 
"D8Y*?	@A.B 
"D8Y*?	@C.D *dXy1	2E. .F 4(I.	/
D8Y/	0
th	%:	;
$I	' $9(=>)'<= $9(=>x&;<,dXy4IJ$dXy,AB$dXy,AB[. . .
h    V   >@ @ @F     Cd # # # # Cd # # # # M5 - - - - M5 - - - - M52 . . . . M52 . . . . . .r-   