19.4 KB
/srv/reproducible-results/archlinuxrb-build-vEkayJz9/b1/python-pecan/python-pecan-1.4.2-3-any.pkg.tar.zst vs.
/srv/reproducible-results/archlinuxrb-build-vEkayJz9/b2/python-pecan/python-pecan-1.4.2-3-any.pkg.tar.zst
19.2 KB
python-pecan-1.4.2-3-any.pkg.tar
2.01 KB
file list
    
Offset 1, 9 lines modifiedOffset 1, 9 lines modified
1 -rw-r--r--···0·root·········(0)·root·········(0)·····9282·2023-07-28·22:46:42.000000·.BUILDINFO1 -rw-r--r--···0·root·········(0)·root·········(0)·····9282·2023-07-28·22:46:42.000000·.BUILDINFO
2 -rw-r--r--···0·root·········(0)·root·········(0)····14049·2023-07-28·22:46:42.000000·.MTREE2 -rw-r--r--···0·root·········(0)·root·········(0)····14053·2023-07-28·22:46:42.000000·.MTREE
3 -rw-r--r--···0·root·········(0)·root·········(0)······979·2023-07-28·22:46:42.000000·.PKGINFO3 -rw-r--r--···0·root·········(0)·root·········(0)······979·2023-07-28·22:46:42.000000·.PKGINFO
4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/
5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/bin/5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/bin/
6 -rwxr-xr-x···0·root·········(0)·root·········(0)······966·2023-07-28·22:46:42.000000·usr/bin/gunicorn_pecan6 -rwxr-xr-x···0·root·········(0)·root·········(0)······966·2023-07-28·22:46:42.000000·usr/bin/gunicorn_pecan
7 -rwxr-xr-x···0·root·········(0)·root·········(0)······948·2023-07-28·22:46:42.000000·usr/bin/pecan7 -rwxr-xr-x···0·root·········(0)·root·········(0)······948·2023-07-28·22:46:42.000000·usr/bin/pecan
8 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/lib/8 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/lib/
9 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/lib/python3.11/9 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/lib/python3.11/
Offset 310, 8 lines modifiedOffset 310, 8 lines modified
310 -rw-r--r--···0·root·········(0)·root·········(0)·····1540·2023-07-28·22:46:42.000000·usr/lib/python3.11/site-packages/pecan/util.py310 -rw-r--r--···0·root·········(0)·root·········(0)·····1540·2023-07-28·22:46:42.000000·usr/lib/python3.11/site-packages/pecan/util.py
311 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/311 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/
312 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/licenses/312 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/licenses/
313 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/licenses/python-pecan/313 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/licenses/python-pecan/
314 -rw-r--r--···0·root·········(0)·root·········(0)·····1505·2023-07-28·22:46:42.000000·usr/share/licenses/python-pecan/LICENSE314 -rw-r--r--···0·root·········(0)·root·········(0)·····1505·2023-07-28·22:46:42.000000·usr/share/licenses/python-pecan/LICENSE
315 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/man/315 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/man/
316 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/man/man1/316 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2023-07-28·22:46:42.000000·usr/share/man/man1/
317 -rw-r--r--···0·root·········(0)·root·········(0)····52457·2023-07-28·22:46:42.000000·usr/share/man/man1/python-pecan.1.gz317 -rw-r--r--···0·root·········(0)·root·········(0)····52453·2023-07-28·22:46:42.000000·usr/share/man/man1/python-pecan.1.gz
1.93 KB
.MTREE
1.92 KB
.MTREE-content
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 #mtree1 #mtree
2 /set·type=file·uid=0·gid=0·mode=6442 /set·type=file·uid=0·gid=0·mode=644
3 ./.BUILDINFO·time=1690584402.0·size=9282·md5digest=8404ee7e6cb4501886ac520e836b5c43·sha256digest=7cd812e4f40623ea44b40472007a1b2fd321e52269cc5556a44ac1173055edac3 ./.BUILDINFO·time=1690584402.0·size=9282·md5digest=8404ee7e6cb4501886ac520e836b5c43·sha256digest=7cd812e4f40623ea44b40472007a1b2fd321e52269cc5556a44ac1173055edac
4 ./.PKGINFO·time=1690584402.0·size=979·md5digest=763d15966f99127c51b9e4fa18eb353e·sha256digest=8acd5f580d905b4dd0188f5401a597c9bb02434b172c254895eef6eeb182b6284 ./.PKGINFO·time=1690584402.0·size=979·md5digest=78fb0c0c4253f0d2b6a660e2d3e5033c·sha256digest=d20156ca7373f7c316ab57327598814a3f3d41efed0724c7d83065d4f793a8d4
5 /set·mode=7555 /set·mode=755
6 ./usr·time=1690584402.0·type=dir6 ./usr·time=1690584402.0·type=dir
7 ./usr/bin·time=1690584402.0·type=dir7 ./usr/bin·time=1690584402.0·type=dir
8 ./usr/bin/gunicorn_pecan·time=1690584402.0·size=966·md5digest=a8dc4f2771da247c9accaf83bc21a1b7·sha256digest=b0c216a84ed8b2c530d905ab0fe951cd8be2556689da916c1cfdcec0b98b2f188 ./usr/bin/gunicorn_pecan·time=1690584402.0·size=966·md5digest=a8dc4f2771da247c9accaf83bc21a1b7·sha256digest=b0c216a84ed8b2c530d905ab0fe951cd8be2556689da916c1cfdcec0b98b2f18
9 ./usr/bin/pecan·time=1690584402.0·size=948·md5digest=4a12ad34c581683d8f72be24fc0a86e4·sha256digest=85443a468067b7d84cb3e7c9f6394d96ae44de40e3fe239bf3b108a0b941df619 ./usr/bin/pecan·time=1690584402.0·size=948·md5digest=4a12ad34c581683d8f72be24fc0a86e4·sha256digest=85443a468067b7d84cb3e7c9f6394d96ae44de40e3fe239bf3b108a0b941df61
10 ./usr/lib·time=1690584402.0·type=dir10 ./usr/lib·time=1690584402.0·type=dir
11 ./usr/lib/python3.11·time=1690584402.0·type=dir11 ./usr/lib/python3.11·time=1690584402.0·type=dir
Offset 324, 8 lines modifiedOffset 324, 8 lines modified
324 /set·mode=755324 /set·mode=755
325 ./usr/share·time=1690584402.0·type=dir325 ./usr/share·time=1690584402.0·type=dir
326 ./usr/share/licenses·time=1690584402.0·type=dir326 ./usr/share/licenses·time=1690584402.0·type=dir
327 ./usr/share/licenses/python-pecan·time=1690584402.0·type=dir327 ./usr/share/licenses/python-pecan·time=1690584402.0·type=dir
328 ./usr/share/licenses/python-pecan/LICENSE·time=1690584402.0·mode=644·size=1505·md5digest=d846877d24bbb3d7a00a985c90378e8c·sha256digest=190fbb295cd6cf52e6707825b7b4a2b7973932c3cf8dbac337c1b4370a6e2175328 ./usr/share/licenses/python-pecan/LICENSE·time=1690584402.0·mode=644·size=1505·md5digest=d846877d24bbb3d7a00a985c90378e8c·sha256digest=190fbb295cd6cf52e6707825b7b4a2b7973932c3cf8dbac337c1b4370a6e2175
329 ./usr/share/man·time=1690584402.0·type=dir329 ./usr/share/man·time=1690584402.0·type=dir
330 ./usr/share/man/man1·time=1690584402.0·type=dir330 ./usr/share/man/man1·time=1690584402.0·type=dir
331 ./usr/share/man/man1/python-pecan.1.gz·time=1690584402.0·mode=644·size=52457·md5digest=d5b47350fce7aa916d100f6ef46d3b15·sha256digest=dda2bf91dc23b0e7a881c8e2b46991643e75b7a3e4fd4b4e245fbfb53795fe6d331 ./usr/share/man/man1/python-pecan.1.gz·time=1690584402.0·mode=644·size=52453·md5digest=83653045aaf6a9aded726f6214cd45a6·sha256digest=4111a28b8cf87ae337e00896976b4f32ff20fbcbaecce7193711935792de6f85
504 B
.PKGINFO
    
Offset 3, 15 lines modifiedOffset 3, 15 lines modified
3 pkgname·=·python-pecan3 pkgname·=·python-pecan
4 pkgbase·=·python-pecan4 pkgbase·=·python-pecan
5 pkgver·=·1.4.2-35 pkgver·=·1.4.2-3
6 pkgdesc·=·A·WSGI·object-dispatching·web·framework,·designed·to·be·lean·and·fast·with·few·dependencies.6 pkgdesc·=·A·WSGI·object-dispatching·web·framework,·designed·to·be·lean·and·fast·with·few·dependencies.
7 url·=·https://github.com/pecan/pecan7 url·=·https://github.com/pecan/pecan
8 builddate·=·16905844028 builddate·=·1690584402
9 packager·=·Reproducible·Arch·Linux·tests·<reproducible@archlinux.org>9 packager·=·Reproducible·Arch·Linux·tests·<reproducible@archlinux.org>
10 size·=·233134810 size·=·2331344
11 arch·=·any11 arch·=·any
12 license·=·BSD12 license·=·BSD
13 depend·=·python13 depend·=·python
14 depend·=·python-webob14 depend·=·python-webob
15 depend·=·python-mako15 depend·=·python-mako
16 depend·=·python-webtest16 depend·=·python-webtest
17 depend·=·python-six17 depend·=·python-six
14.7 KB
usr/share/man/man1/python-pecan.1.gz
14.6 KB
python-pecan.1
    
Offset 3349, 15 lines modifiedOffset 3349, 15 lines modified
3349 Any·Pecan·application·can·be·controlled·and·inspected·from·the·command3349 Any·Pecan·application·can·be·controlled·and·inspected·from·the·command
3350 line·using·the·built\-in·\fBpecan\fP·command.··The·usage·examples3350 line·using·the·built\-in·\fBpecan\fP·command.··The·usage·examples
3351 of·\fBpecan\fP·in·this·document·are·intended·to·be·invoked·from3351 of·\fBpecan\fP·in·this·document·are·intended·to·be·invoked·from
3352 your·project\(aqs·root·directory.3352 your·project\(aqs·root·directory.
3353 .SS·Serving·a·Pecan·App·For·Development3353 .SS·Serving·a·Pecan·App·For·Development
3354 .sp3354 .sp
3355 Pecan·comes·bundled·with·a·lightweight·WSGI·development·server·based·on3355 Pecan·comes·bundled·with·a·lightweight·WSGI·development·server·based·on
3356 Python\(aqs·\fI\%wsgiref.simple_server\fP·module.3356 Python\(aqs·\fBwsgiref.simple_server\fP·module.
3357 .sp3357 .sp
3358 Serving·your·Pecan·app·is·as·simple·as·invoking·the·\fBpecan·serve\fP·command:3358 Serving·your·Pecan·app·is·as·simple·as·invoking·the·\fBpecan·serve\fP·command:
3359 .INDENT·0.03359 .INDENT·0.0
3360 .INDENT·3.53360 .INDENT·3.5
3361 .sp3361 .sp
3362 .nf3362 .nf
3363 .ft·C3363 .ft·C
Offset 3564, 30 lines modifiedOffset 3564, 30 lines modified
3564 .sp3564 .sp
3565 First,·we\(aqre·subclassing·\fI\%BaseCommand\fP·and·extending3565 First,·we\(aqre·subclassing·\fI\%BaseCommand\fP·and·extending
3566 the·\fI\%run()\fP·method·to:3566 the·\fI\%run()\fP·method·to:
3567 .INDENT·0.03567 .INDENT·0.0
3568 .IP·\(bu·23568 .IP·\(bu·2
3569 Load·a·Pecan·application·\-·\fI\%load_app()\fP3569 Load·a·Pecan·application·\-·\fI\%load_app()\fP
3570 .IP·\(bu·23570 .IP·\(bu·2
3571 Wrap·it·in·a·fake·WGSI·environment·\-·\fI\%TestApp\fP3571 Wrap·it·in·a·fake·WGSI·environment·\-·\fBTestApp\fP
3572 .IP·\(bu·23572 .IP·\(bu·2
3573 Issue·an·HTTP·GET·request·against·it·\-·\fI\%get()\fP3573 Issue·an·HTTP·GET·request·against·it·\-·\fBget()\fP
3574 .UNINDENT3574 .UNINDENT
3575 .SS·Defining·Custom·Arguments3575 .SS·Defining·Custom·Arguments
3576 .sp3576 .sp
3577 The·\fBarguments\fP·class·attribute·is·used·to·define·command·line·arguments3577 The·\fBarguments\fP·class·attribute·is·used·to·define·command·line·arguments
3578 specific·to·your·custom·command.··You\(aqll·notice·in·this·example·that·we\(aqre3578 specific·to·your·custom·command.··You\(aqll·notice·in·this·example·that·we\(aqre
3579 \fIadding\fP·to·the·arguments·list·provided·by·\fI\%BaseCommand\fP3579 \fIadding\fP·to·the·arguments·list·provided·by·\fI\%BaseCommand\fP
3580 (which·already·provides·an·argument·for·the·\fBconfig_file\fP),·rather3580 (which·already·provides·an·argument·for·the·\fBconfig_file\fP),·rather
3581 than·overriding·it·entirely.3581 than·overriding·it·entirely.
3582 .sp3582 .sp
3583 The·format·of·the·\fBarguments\fP·class·attribute·is·a·\fI\%tuple\fP·of3583 The·format·of·the·\fBarguments\fP·class·attribute·is·a·\fBtuple\fP·of
3584 dictionaries,·with·each·dictionary·representing·an·argument·definition·in·the3584 dictionaries,·with·each·dictionary·representing·an·argument·definition·in·the
3585 same·format·accepted·by·Python\(aqs·\fI\%argparse\fP·module·(more·specifically,3585 same·format·accepted·by·Python\(aqs·\fBargparse\fP·module·(more·specifically,
3586 \fI\%add_argument()\fP).··By·providing·a·list·of3586 \fBadd_argument()\fP).··By·providing·a·list·of
3587 arguments·in·this·format,·the·\fBpecan\fP·command·can·include·your·custom3587 arguments·in·this·format,·the·\fBpecan\fP·command·can·include·your·custom
3588 commands·in·the·help·and·usage·output·it·provides.3588 commands·in·the·help·and·usage·output·it·provides.
3589 .INDENT·0.03589 .INDENT·0.0
3590 .INDENT·3.53590 .INDENT·3.5
3591 .sp3591 .sp
3592 .nf3592 .nf
3593 .ft·C3593 .ft·C
Offset 4139, 15 lines modifiedOffset 4139, 15 lines modified
4139 $·python·run.py4139 $·python·run.py
4140 .ft·P4140 .ft·P
4141 .fi4141 .fi
4142 .UNINDENT4142 .UNINDENT
4143 .UNINDENT4143 .UNINDENT
4144 .SH·LOGGING4144 .SH·LOGGING
4145 .sp4145 .sp
4146 Pecan·uses·the·Python·standard·library\(aqs·\fI\%logging\fP·module·by·passing4146 Pecan·uses·the·Python·standard·library\(aqs·\fBlogging\fP·module·by·passing
4147 logging·configuration·options·into·the·\fI\%logging.config.dictConfig\fP4147 logging·configuration·options·into·the·\fI\%logging.config.dictConfig\fP
4148 function.··The·full·documentation·for·the·\fBdictConfig()\fP·format·is4148 function.··The·full·documentation·for·the·\fBdictConfig()\fP·format·is
4149 the·best·source·of·information·for·logging·configuration,·but·to·get4149 the·best·source·of·information·for·logging·configuration,·but·to·get
4150 you·started,·this·chapter·will·provide·you·with·a·few·simple·examples.4150 you·started,·this·chapter·will·provide·you·with·a·few·simple·examples.
4151 .SS·Configuring·Logging4151 .SS·Configuring·Logging
4152 .sp4152 .sp
4153 Sample·logging·configuration·is·provided·with·the·quickstart·project4153 Sample·logging·configuration·is·provided·with·the·quickstart·project
Offset 4234, 27 lines modifiedOffset 4234, 27 lines modified
4234 ········return·dict()4234 ········return·dict()
4235 .ft·P4235 .ft·P
4236 .fi4236 .fi
4237 .UNINDENT4237 .UNINDENT
4238 .UNINDENT4238 .UNINDENT
4239 .SS·Logging·to·Files·and·Other·Locations4239 .SS·Logging·to·Files·and·Other·Locations
4240 .sp4240 .sp
4241 Python\(aqs·\fI\%logging\fP·library·defines·a·variety·of·handlers·that·assist·in4241 Python\(aqs·\fBlogging\fP·library·defines·a·variety·of·handlers·that·assist·in
4242 writing·logs·to·file.··A·few·interesting·ones·are:4242 writing·logs·to·file.··A·few·interesting·ones·are:
4243 .INDENT·0.04243 .INDENT·0.0
4244 .IP·\(bu·24244 .IP·\(bu·2
4245 \fI\%FileHandler\fP·\-·used·to·log·messages·to·a·file·on·the·filesystem4245 \fBFileHandler\fP·\-·used·to·log·messages·to·a·file·on·the·filesystem
4246 .IP·\(bu·24246 .IP·\(bu·2
4247 \fI\%RotatingFileHandler\fP·\-·similar·to4247 \fBRotatingFileHandler\fP·\-·similar·to
4248 \fI\%FileHandler\fP,·but·also·rotates·logs4248 \fBFileHandler\fP,·but·also·rotates·logs
4249 periodically4249 periodically
4250 .IP·\(bu·24250 .IP·\(bu·2
4251 \fI\%SysLogHandler\fP·\-·used·to·log·messages·to·a·UNIX·syslog4251 \fBSysLogHandler\fP·\-·used·to·log·messages·to·a·UNIX·syslog
4252 .IP·\(bu·24252 .IP·\(bu·2
4253 \fI\%SMTPHandler\fP·\-·used·to·log·messages·to·an·email4253 \fBSMTPHandler\fP·\-·used·to·log·messages·to·an·email
4254 address·via·SMTP4254 address·via·SMTP
4255 .UNINDENT4255 .UNINDENT
4256 .sp4256 .sp
4257 Using·any·of·them·is·as·simple·as·defining·a·new·handler·in·your4257 Using·any·of·them·is·as·simple·as·defining·a·new·handler·in·your
4258 application\(aqs·\fBlogging\fP·block·and·assigning·it·to·one·of·more·loggers.4258 application\(aqs·\fBlogging\fP·block·and·assigning·it·to·one·of·more·loggers.
4259 .SS·Logging·Requests·with·Paste·Translogger4259 .SS·Logging·Requests·with·Paste·Translogger
4260 .sp4260 .sp
Offset 4326, 15 lines modifiedOffset 4326, 15 lines modified
4326 .UNINDENT4326 .UNINDENT
4327 .SH·TESTING·PECAN·APPLICATIONS4327 .SH·TESTING·PECAN·APPLICATIONS
4328 .sp4328 .sp
4329 Tests·can·live·anywhere·in·your·Pecan·project·as·long·as·the·test·runner·can4329 Tests·can·live·anywhere·in·your·Pecan·project·as·long·as·the·test·runner·can
4330 discover·them.·Traditionally,·they·exist·in·a·package·named·\fBmyapp.tests\fP\&.4330 discover·them.·Traditionally,·they·exist·in·a·package·named·\fBmyapp.tests\fP\&.
4331 .sp4331 .sp
4332 The·suggested·mechanism·for·unit·and·integration·testing·of·a·Pecan·application4332 The·suggested·mechanism·for·unit·and·integration·testing·of·a·Pecan·application
4333 is·the·\fI\%unittest\fP·module.4333 is·the·\fBunittest\fP·module.
4334 .SS·Test·Discovery·and·Other·Tools4334 .SS·Test·Discovery·and·Other·Tools
4335 .sp4335 .sp
4336 Tests·for·a·Pecan·project·can·be·invoked·as·simply·as·\fBpython·setup.py·test\fP,4336 Tests·for·a·Pecan·project·can·be·invoked·as·simply·as·\fBpython·setup.py·test\fP,
4337 though·it\(aqs·possible·to·run·your·tests·with·different·discovery·and·automation4337 though·it\(aqs·possible·to·run·your·tests·with·different·discovery·and·automation
4338 tools.··In·particular,·Pecan·projects·are·known·to·work·well·with4338 tools.··In·particular,·Pecan·projects·are·known·to·work·well·with
4339 \fI\%nose\fP,·\fI\%pytest\fP,4339 \fI\%nose\fP,·\fI\%pytest\fP,
4340 and·\fI\%tox\fP\&.4340 and·\fI\%tox\fP\&.
Offset 4342, 15 lines modifiedOffset 4342, 15 lines modified
4342 .sp4342 .sp
4343 A·\fBunit·test\fP·typically·relies·on·\(dqmock\(dq·or·\(dqfake\(dq·objects·to·give·the·code4343 A·\fBunit·test\fP·typically·relies·on·\(dqmock\(dq·or·\(dqfake\(dq·objects·to·give·the·code
4344 under·test·enough·context·to·run.··In·this·way,·only·an·individual·unit·of4344 under·test·enough·context·to·run.··In·this·way,·only·an·individual·unit·of
4345 source·code·is·tested.4345 source·code·is·tested.
4346 .sp4346 .sp
4347 A·healthy·suite·of·tests·combines·\fBunit·tests\fP·with·\fBfunctional·tests\fP\&.··In4347 A·healthy·suite·of·tests·combines·\fBunit·tests\fP·with·\fBfunctional·tests\fP\&.··In
4348 the·context·of·a·Pecan·application,·functional·tests·can·be·written·with·the4348 the·context·of·a·Pecan·application,·functional·tests·can·be·written·with·the
4349 help·of·the·\fI\%webtest\fP·library.··In·this·way,·it·is·possible·to·write·tests4349 help·of·the·\fBwebtest\fP·library.··In·this·way,·it·is·possible·to·write·tests
4350 that·verify·the·behavior·of·an·HTTP·request·life·cycle·from·the·controller4350 that·verify·the·behavior·of·an·HTTP·request·life·cycle·from·the·controller
4351 routing·down·to·the·HTTP·response.··The·following·is·an·example·that·is4351 routing·down·to·the·HTTP·response.··The·following·is·an·example·that·is
4352 similar·to·the·one·included·with·Pecan\(aqs·quickstart·project.4352 similar·to·the·one·included·with·Pecan\(aqs·quickstart·project.
4353 .INDENT·0.04353 .INDENT·0.0
4354 .INDENT·3.54354 .INDENT·3.5
4355 .sp4355 .sp
4356 .nf4356 .nf
Offset 4379, 15 lines modifiedOffset 4379, 15 lines modified
4379 .ft·P4379 .ft·P
4380 .fi4380 .fi
4381 .UNINDENT4381 .UNINDENT
4382 .UNINDENT4382 .UNINDENT
Max diff block lines reached; 9425/14912 bytes (63.20%) of diff not shown.