KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21571/root/usr/lib64/python2.4/site-packages/libsvn/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21571/root/usr/lib64/python2.4/site-packages/libsvn/diff.pyo
mò
|Sc@s©dkZdkZeiZdd„Zd„Zd„Zd„ZdkZd„Z	ei
Z
eiZeiZei
Z
dfd„ƒYZeiZeeƒd	„Zd
„Zd„Zd„Zd
„Zdfd„ƒYZeiZeeƒeiZeiZeiZeiZeiZeiZd„ZeiZeiZei Z dfd„ƒYZ!ei"Z"e"e!ƒd„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d„Z-d„Z.d„Z/d „Z0d!„Z1d"„Z2d#„Z3d$„Z4d%„Z5d&fd'„ƒYZ6ei7Z7e7e6ƒd(„Z8d)„Z9d*„Z:d+„Z;d,„Z<d-„Z=d.„Z>d/„Z?d0„Z@d1„ZAd2„ZBdS(3NicCsÇ|djo|ii|ƒSn|djo/t|ƒidjo||i|<dSq]n|i	i
|dƒ}|o|||ƒSn|pt||ƒo||i|<ntd|ƒ‚dS(NtthisowntthistPySwigObjectsYou cannot add attributes to %s(tnametselfRtowntvaluettypet__name__t__dict__t
class_typet__swig_setmethods__tgettNonetmethodtstaticthasattrtAttributeError(RR
RRRR((t1/usr/lib64/python2.4/site-packages/libsvn/diff.pyt_swig_setattr_nondynamic
s


cCst||||dƒS(Ni(RRR
RR(RR
RR((Rt
_swig_setattrscCsU|djo|iiƒSn|ii|dƒ}|o||ƒSnt	|‚dS(NR(
RRRRR
t__swig_getmethods__RR
RR(RR
RR((Rt
_swig_getattrs
cCsDyd|iiƒ}Wn
d}nXd|ii|ii|fS(Ns	proxy of ts<%s.%s; %s >(RRt__repr__tstrthist	__class__t
__module__R(RR((Rt
_swig_repr s

cGstti|ƒS(s#svn_diff_version() -> svn_version_tN(tapplyt_difftsvn_diff_versiontargs(R ((RR'stsvn_diff_fns_tcBsFtZdZhZd„ZhZd„ZeZe	i
ed<e	ied<e	ied<e	i
ed<e	ied<e	ied<e	ied<e	ied<e	ied<e	ied<e	ied<e	ied<ed	„Zd
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Ze	i Z!d„Z"RS(s Proxy of C svn_diff_fns_t structcCst|t||ƒS(N(RRR!RR(RRR((Rt<lambda>1scCst|t|ƒS(N(RRR!R(RR((RR"3stdatasource_opentdatasource_closetdatasource_get_next_tokent
token_comparet
token_discardttoken_discard_allcCsbdk}dk}|p
|ii|id<|ido$|i|idi	ƒ|id<ndS(s,Create a new proxy object for svn_diff_fns_tNt_parent_poolt	_is_valid(
tlibsvn.coretlibsvntweakreftparent_pooltcoretapplication_poolRR	trefR*(RR.R-R,((Rtset_parent_poolAs
cCsd|ijondS(s2Assert that this object is using valid pool memoryR*N(RR	(R((Rtassert_validJscCsË|iƒt||i|ƒ}|iidƒ}|dj	ok|i|ƒ}|dj	oK|dj	o>||j	o1y|ii|iƒWq¥tj
oq¥Xq©nt
|dƒo|iƒn|S(s!Get an attribute from this objectt_membersR3N(RR3RRRRR	RtmembersR
t	old_valuetupdateRR(RRR6RR5((Rt__getattr__Os

'
cCs9|iƒ||iidhƒ|<t||i||ƒS(sSet an attribute on this objectR4N(RR3RR	t
setdefaultRRR(RRR((Rt__setattr__gs
cGs
t||ŒS(N(t#svn_diff_fns_invoke_datasource_openRR (RR ((RR#rscGs
t||ŒS(N(t$svn_diff_fns_invoke_datasource_closeRR (RR ((RR$uscGs
t||ŒS(N(t-svn_diff_fns_invoke_datasource_get_next_tokenRR (RR ((RR%xscGs
t||ŒS(N(t!svn_diff_fns_invoke_token_compareRR (RR ((RR&{scGs
t||ŒS(N(t!svn_diff_fns_invoke_token_discardRR (RR ((RR'~scGs
t||ŒS(N(t%svn_diff_fns_invoke_token_discard_allRR (RR ((RR(scGs=tti|ƒ}y|ii|ƒWn||_nXdS(s __init__(self) -> svn_diff_fns_tN(RRtnew_svn_diff_fns_tR RRtappend(RR R((Rt__init__„scCsdS(N(R
(R((RR"Šs(#RRt__doc__RR:RR8RRRt"svn_diff_fns_t_datasource_open_sett"svn_diff_fns_t_datasource_open_gett#svn_diff_fns_t_datasource_close_sett#svn_diff_fns_t_datasource_close_gett,svn_diff_fns_t_datasource_get_next_token_sett,svn_diff_fns_t_datasource_get_next_token_gett svn_diff_fns_t_token_compare_sett svn_diff_fns_t_token_compare_gett svn_diff_fns_t_token_discard_sett svn_diff_fns_t_token_discard_gett$svn_diff_fns_t_token_discard_all_sett$svn_diff_fns_t_token_discard_all_getR
R2R3R#R$R%R&R'R(RCtdelete_svn_diff_fns_tt__swig_destroy__t__del__(((RR!.s>		











												cGstti|ƒS(s{
    svn_diff_diff(svn_diff_t diff, void diff_baton, svn_diff_fns_t diff_fns, 
        apr_pool_t pool) -> svn_error_t
    N(RRt
svn_diff_diffR (R ((RRTscGstti|ƒS(s|
    svn_diff_diff3(svn_diff_t diff, void diff_baton, svn_diff_fns_t diff_fns, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_diff3R (R ((RRU–scGstti|ƒS(s|
    svn_diff_diff4(svn_diff_t diff, void diff_baton, svn_diff_fns_t diff_fns, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_diff4R (R ((RRVscGstti|ƒS(s=svn_diff_contains_conflicts(svn_diff_t diff) -> svn_boolean_tN(RRtsvn_diff_contains_conflictsR (R ((RRW¤scGstti|ƒS(s9svn_diff_contains_diffs(svn_diff_t diff) -> svn_boolean_tN(RRtsvn_diff_contains_diffsR (R ((RRX¨stsvn_diff_output_fns_tcBs#tZdZhZd„ZhZd„ZeZe	i
ed<e	ied<e	ied<e	i
ed<e	ied<e	ied<e	ied<e	ied<e	ied<e	ied<ed„Zd	„Zd
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„Ze	iZd„ZRS(s'Proxy of C svn_diff_output_fns_t structcCst|t||ƒS(N(RRRYRR(RRR((RR"®scCst|t|ƒS(N(RRRYR(RR((RR"°st
output_commontoutput_diff_modifiedtoutput_diff_latesttoutput_diff_commontoutput_conflictcCsbdk}dk}|p
|ii|id<|ido$|i|idi	ƒ|id<ndS(s3Create a new proxy object for svn_diff_output_fns_tNR)R*(
R+R,R-R.R/R0RR	R1R*(RR.R-R,((RR2¼s
cCsd|ijondS(s2Assert that this object is using valid pool memoryR*N(RR	(R((RR3ÅscCsË|iƒt||i|ƒ}|iidƒ}|dj	ok|i|ƒ}|dj	oK|dj	o>||j	o1y|ii|iƒWq¥tj
oq¥Xq©nt
|dƒo|iƒn|S(s!Get an attribute from this objectR4R3N(RR3RRRRR	RR5R
R6R7RR(RRR6RR5((RR8Ês

'
cCs9|iƒ||iidhƒ|<t||i||ƒS(sSet an attribute on this objectR4N(RR3RR	R9RRR(RRR((RR:âs
cGs
t||ŒS(N(t(svn_diff_output_fns_invoke_output_commonRR (RR ((RRZíscGs
t||ŒS(N(t/svn_diff_output_fns_invoke_output_diff_modifiedRR (RR ((RR[ðscGs
t||ŒS(N(t-svn_diff_output_fns_invoke_output_diff_latestRR (RR ((RR\óscGs
t||ŒS(N(t-svn_diff_output_fns_invoke_output_diff_commonRR (RR ((RR]öscGs
t||ŒS(N(t*svn_diff_output_fns_invoke_output_conflictRR (RR ((RR^ùscGs=tti|ƒ}y|ii|ƒWn||_nXdS(s'__init__(self) -> svn_diff_output_fns_tN(RRtnew_svn_diff_output_fns_tR RRRB(RR R((RRCüscCsdS(N(R
(R((RR"s( RRRDRR:RR8RRRt'svn_diff_output_fns_t_output_common_sett'svn_diff_output_fns_t_output_common_gett.svn_diff_output_fns_t_output_diff_modified_sett.svn_diff_output_fns_t_output_diff_modified_gett,svn_diff_output_fns_t_output_diff_latest_sett,svn_diff_output_fns_t_output_diff_latest_gett,svn_diff_output_fns_t_output_diff_common_sett,svn_diff_output_fns_t_output_diff_common_gett)svn_diff_output_fns_t_output_conflict_sett)svn_diff_output_fns_t_output_conflict_getR
R2R3RZR[R\R]R^RCtdelete_svn_diff_output_fns_tRRRS(((RRY«s8		









											cGstti|ƒS(sdsvn_diff_output(svn_diff_t diff, void output_baton, svn_diff_output_fns_t output_fns) -> svn_error_tN(RRtsvn_diff_outputR (R ((RRp
stsvn_diff_file_options_tcBsÂtZdZhZd„ZhZd„ZeZe	i
ed<e	ied<e	ied<e	i
ed<e	ied<e	ied<ed„Zd„Zd„Zd	„Zd
„Ze	iZd„ZRS(s)Proxy of C svn_diff_file_options_t structcCst|t||ƒS(N(RRRqRR(RRR((RR"scCst|t|ƒS(N(RRRqR(RR((RR"stignore_spacetignore_eol_styletshow_c_functioncCsbdk}dk}|p
|ii|id<|ido$|i|idi	ƒ|id<ndS(s5Create a new proxy object for svn_diff_file_options_tNR)R*(
R+R,R-R.R/R0RR	R1R*(RR.R-R,((RR2 s
cCsd|ijondS(s2Assert that this object is using valid pool memoryR*N(RR	(R((RR3)scCsË|iƒt||i|ƒ}|iidƒ}|dj	ok|i|ƒ}|dj	oK|dj	o>||j	o1y|ii|iƒWq¥tj
oq¥Xq©nt
|dƒo|iƒn|S(s!Get an attribute from this objectR4R3N(RR3RRRRR	RR5R
R6R7RR(RRR6RR5((RR8.s

'
cCs9|iƒ||iidhƒ|<t||i||ƒS(sSet an attribute on this objectR4N(RR3RR	R9RRR(RRR((RR:Fs
cGs=tti|ƒ}y|ii|ƒWn||_nXdS(s)__init__(self) -> svn_diff_file_options_tN(RRtnew_svn_diff_file_options_tR RRRB(RR R((RRCQscCsdS(N(R
(R((RR"Ws(RRRDRR:RR8RRRt(svn_diff_file_options_t_ignore_space_sett(svn_diff_file_options_t_ignore_space_gett,svn_diff_file_options_t_ignore_eol_style_sett,svn_diff_file_options_t_ignore_eol_style_gett+svn_diff_file_options_t_show_c_function_sett+svn_diff_file_options_t_show_c_function_getR
R2R3RCtdelete_svn_diff_file_options_tRRRS(((RRqs&		





						cGstti|ƒS(sHsvn_diff_file_options_create(apr_pool_t pool) -> svn_diff_file_options_tN(RRtsvn_diff_file_options_createR (R ((RR}\scGstti|ƒS(sˆ
    svn_diff_file_options_parse(svn_diff_file_options_t options, apr_array_header_t args, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_options_parseR (R ((RR~`scGstti|ƒS(s—
    svn_diff_file_diff_2(svn_diff_t diff, char original, char modified, svn_diff_file_options_t options, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_diff_2R (R ((RRgscGstti|ƒS(sasvn_diff_file_diff(svn_diff_t diff, char original, char modified, apr_pool_t pool) -> svn_error_tN(RRtsvn_diff_file_diffR (R ((RR€nscGstti|ƒS(s¥
    svn_diff_file_diff3_2(svn_diff_t diff, char original, char modified, char latest, 
        svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_diff3_2R (R ((RRrscGstti|ƒS(s‚
    svn_diff_file_diff3(svn_diff_t diff, char original, char modified, char latest, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_diff3R (R ((RR‚yscGstti|ƒS(s½
    svn_diff_file_diff4_2(svn_diff_t diff, char original, char modified, char latest, 
        char ancestor, svn_diff_file_options_t options, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_diff4_2R (R ((RRƒ€scGstti|ƒS(s‘
    svn_diff_file_diff4(svn_diff_t diff, char original, char modified, char latest, 
        char ancestor, apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_diff4R (R ((RR„ˆscGstti|ƒS(s7
    svn_diff_file_output_unified3(svn_stream_t output_stream, svn_diff_t diff, char original_path, 
        char modified_path, char original_header, 
        char modified_header, char header_encoding, 
        char relative_to_dir, svn_boolean_t show_c_function, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_output_unified3R (R ((RR…scGstti|ƒS(sù
    svn_diff_file_output_unified2(svn_stream_t output_stream, svn_diff_t diff, char original_path, 
        char modified_path, char original_header, 
        char modified_header, char header_encoding, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_output_unified2R (R ((RR†™scGstti|ƒS(sÙ
    svn_diff_file_output_unified(svn_stream_t output_stream, svn_diff_t diff, char original_path, 
        char modified_path, char original_header, 
        char modified_header, apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_output_unifiedR (R ((RR‡¢scGstti|ƒS(sj
    svn_diff_file_output_merge2(svn_stream_t output_stream, svn_diff_t diff, char original_path, 
        char modified_path, char latest_path, 
        char conflict_original, char conflict_modified, 
        char conflict_latest, char conflict_separator, 
        svn_diff_conflict_display_style_t conflict_style, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_output_merge2R (R ((RRˆªscGstti|ƒS(s–
    svn_diff_file_output_merge(svn_stream_t output_stream, svn_diff_t diff, char original_path, 
        char modified_path, char latest_path, 
        char conflict_original, char conflict_modified, 
        char conflict_latest, char conflict_separator, 
        svn_boolean_t display_original_in_conflict, 
        svn_boolean_t display_resolved_conflicts, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_file_output_mergeR (R ((RR‰µs	cGstti|ƒS(s´
    svn_diff_mem_string_diff(svn_diff_t diff, svn_string_t original, svn_string_t modified, 
        svn_diff_file_options_t options, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_mem_string_diffR (R ((RRŠÁscGstti|ƒS(sÊ
    svn_diff_mem_string_diff3(svn_diff_t diff, svn_string_t original, svn_string_t modified, 
        svn_string_t latest, svn_diff_file_options_t options, 
        apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_mem_string_diff3R (R ((RR‹ÉscGstti|ƒS(sá
    svn_diff_mem_string_diff4(svn_diff_t diff, svn_string_t original, svn_string_t modified, 
        svn_string_t latest, svn_string_t ancestor, 
        svn_diff_file_options_t options, apr_pool_t pool) -> svn_error_t
    N(RRtsvn_diff_mem_string_diff4R (R ((RRŒÑscGstti|ƒS(s
    svn_diff_mem_string_output_unified(svn_stream_t output_stream, svn_diff_t diff, char original_header, 
        char modified_header, char header_encoding, 
        svn_string_t original, svn_string_t modified, 
        apr_pool_t pool) -> svn_error_t
    N(RRt"svn_diff_mem_string_output_unifiedR (R ((RRÙscGstti|ƒS(sp
    svn_diff_mem_string_output_merge2(svn_stream_t output_stream, svn_diff_t diff, svn_string_t original, 
        svn_string_t modified, svn_string_t latest, 
        char conflict_original, char conflict_modified, 
        char conflict_latest, char conflict_separator, 
        svn_diff_conflict_display_style_t style, 
        apr_pool_t pool) -> svn_error_t
    N(RRt!svn_diff_mem_string_output_merge2R (R ((RRŽâscGstti|ƒS(s¥
    svn_diff_mem_string_output_merge(svn_stream_t output_stream, svn_diff_t diff, svn_string_t original, 
        svn_string_t modified, svn_string_t latest, 
        char conflict_original, char conflict_modified, 
        char conflict_latest, char conflict_separator, 
        svn_boolean_t display_original_in_conflict, 
        svn_boolean_t display_resolved_conflicts, 
        apr_pool_t pool) -> svn_error_t
    N(RRt svn_diff_mem_string_output_mergeR (R ((RRís	t
svn_diff_tcBsbtZdZhZd„ZhZd„Zd„ZeZ	e
d„Zd„Zd„Zd„ZRS(sProxy of C svn_diff_t structcCst|t||ƒS(N(RRRRR(RRR((RR"ûscCst|t|ƒS(N(RRRR(RR((RR"ýscOs
td‚dS(NsNo constructor defined(R(RR tkwargs((RRCþscCsbdk}dk}|p
|ii|id<|ido$|i|idi	ƒ|id<ndS(s(Create a new proxy object for svn_diff_tNR)R*(
R+R,R-R.R/R0RR	R1R*(RR.R-R,((RR2s
cCsd|ijondS(s2Assert that this object is using valid pool memoryR*N(RR	(R((RR3	scCsË|iƒt||i|ƒ}|iidƒ}|dj	ok|i|ƒ}|dj	oK|dj	o>||j	o1y|ii|iƒWq¥tj
oq¥Xq©nt
|dƒo|iƒn|S(s!Get an attribute from this objectR4R3N(RR3RRRRR	RR5R
R6R7RR(RRR6RR5((RR8s

'
cCs9|iƒ||iidhƒ|<t||i||ƒS(sSet an attribute on this objectR4N(RR3RR	R9RRR(RRR((RR:&s
(
RRRDRR:RR8RCRRR
R2R3(((RRøs						cGstti|ƒS(szsvn_diff_fns_invoke_datasource_open(svn_diff_fns_t _obj, void diff_baton, svn_diff_datasource_e datasource) -> svn_error_tN(RRR;R (R ((RR;5scGstti|ƒS(s{svn_diff_fns_invoke_datasource_close(svn_diff_fns_t _obj, void diff_baton, svn_diff_datasource_e datasource) -> svn_error_tN(RRR<R (R ((RR<9scGstti|ƒS(s¶
    svn_diff_fns_invoke_datasource_get_next_token(svn_diff_fns_t _obj, apr_uint32_t hash, void token, 
        void diff_baton, svn_diff_datasource_e datasource) -> svn_error_t
    N(RRR=R (R ((RR==scGstti|ƒS(s
    svn_diff_fns_invoke_token_compare(svn_diff_fns_t _obj, void diff_baton, void ltoken, 
        void rtoken, int compare) -> svn_error_t
    N(RRR>R (R ((RR>DscGstti|ƒS(sSsvn_diff_fns_invoke_token_discard(svn_diff_fns_t _obj, void diff_baton, void token)N(RRR?R (R ((RR?KscGstti|ƒS(sKsvn_diff_fns_invoke_token_discard_all(svn_diff_fns_t _obj, void diff_baton)N(RRR@R (R ((RR@OscGstti|ƒS(s&
    svn_diff_output_fns_invoke_output_common(svn_diff_output_fns_t _obj, void output_baton, apr_off_t original_start, 
        apr_off_t original_length, 
        apr_off_t modified_start, apr_off_t modified_length, 
        apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t
    N(RRR_R (R ((RR_SscGstti|ƒS(s-
    svn_diff_output_fns_invoke_output_diff_modified(svn_diff_output_fns_t _obj, void output_baton, apr_off_t original_start, 
        apr_off_t original_length, 
        apr_off_t modified_start, apr_off_t modified_length, 
        apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t
    N(RRR`R (R ((RR`\scGstti|ƒS(s+
    svn_diff_output_fns_invoke_output_diff_latest(svn_diff_output_fns_t _obj, void output_baton, apr_off_t original_start, 
        apr_off_t original_length, 
        apr_off_t modified_start, apr_off_t modified_length, 
        apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t
    N(RRRaR (R ((RRaescGstti|ƒS(s+
    svn_diff_output_fns_invoke_output_diff_common(svn_diff_output_fns_t _obj, void output_baton, apr_off_t original_start, 
        apr_off_t original_length, 
        apr_off_t modified_start, apr_off_t modified_length, 
        apr_off_t latest_start, apr_off_t latest_length) -> svn_error_t
    N(RRRbR (R ((RRbnscGstti|ƒS(sK
    svn_diff_output_fns_invoke_output_conflict(svn_diff_output_fns_t _obj, void output_baton, apr_off_t original_start, 
        apr_off_t original_length, 
        apr_off_t modified_start, apr_off_t modified_length, 
        apr_off_t latest_start, apr_off_t latest_length, 
        svn_diff_t resolved_diff) -> svn_error_t
    N(RRRcR (R ((RRcws(CRtnewtinstancemethodtnew_instancemethodRRRRR/Rtsvn_diff_datasource_originaltsvn_diff_datasource_modifiedtsvn_diff_datasource_latesttsvn_diff_datasource_ancestorR!tsvn_diff_fns_t_swigregisterRTRURVRWRXRYt"svn_diff_output_fns_t_swigregistert)svn_diff_conflict_display_modified_latestt2svn_diff_conflict_display_resolved_modified_latestt2svn_diff_conflict_display_modified_original_latestt"svn_diff_conflict_display_modifiedt svn_diff_conflict_display_latestt(svn_diff_conflict_display_only_conflictsRptsvn_diff_file_ignore_space_nonet!svn_diff_file_ignore_space_changetsvn_diff_file_ignore_space_allRqt$svn_diff_file_options_t_swigregisterR}R~RR€RR‚RƒR„R…R†R‡RˆR‰RŠR‹RŒRRŽRRtsvn_diff_t_swigregisterR;R<R=R>R?R@R_R`RaRbRc(BRœR?R‰R–R‹R R>RRR=R›R„R¢R!RYR~RR‚R˜RXRƒR`R}R<R‡R™R’RR_RˆR¡R/RšRRRR;R¤RžRVRRR•RWRRRŸRRqR†R…RŒRbRaR”RŠRTRcR@R—R£R€RURŽR¥Rp((Rt?sŠ			
									]	
					X	
										E	
									
												9	
														

Anon7 - 2021