Merge branch 'master' of http://github.com/fuzzgun/PyBitmessage into fuzzgun-master

This commit is contained in:
Jonathan Warren 2013-04-17 15:35:31 -04:00
commit bf74b8488f
69 changed files with 445 additions and 3 deletions

View File

@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.

View File

@ -17,4 +17,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.

45
Makefile Executable file
View File

@ -0,0 +1,45 @@
APP=pybitmessage
VERSION=0.2.8
all:
debug:
source:
tar -cvzf ../$(APP)_$(VERSION).orig.tar.gz ../$(APP)-$(VERSION) --exclude=.git
install:
mkdir -m 755 -p /usr/share/applications
mkdir -m 755 -p /usr/share/applications/$(APP)
mkdir -m 755 -p /usr/share/applications/$(APP)/images
mkdir -m 755 -p /usr/share/applications/$(APP)/pyelliptic
mkdir -m 755 -p /usr/share/applications/$(APP)/socks
mkdir -m 755 -p /usr/share/pixmaps
mkdir -m 755 -p /usr/share/icons
mkdir -m 755 -p /usr/share/icons/hicolor
mkdir -m 755 -p /usr/share/icons/hicolor/scalable
mkdir -m 755 -p /usr/share/icons/hicolor/scalable/apps
mkdir -m 755 -p /usr/share/icons/hicolor/24x24
mkdir -m 755 -p /usr/share/icons/hicolor/24x24/apps
install -m 644 src/*.ui /usr/share/applications/$(APP)
install -m 644 src/*.py /usr/share/applications/$(APP)
install -m 644 src/*.qrc /usr/share/applications/$(APP)
install -m 644 src/images/*.png /usr/share/applications/$(APP)/images
install -m 644 src/images/*.ico /usr/share/applications/$(APP)/images
install -m 644 src/pyelliptic/*.py /usr/share/applications/$(APP)/pyelliptic
install -m 644 src/socks/*.py /usr/share/applications/$(APP)/socks
install -m 755 debian/pybm /usr/bin
install -m 644 desktop/$(APP).desktop /usr/share/applications/$(APP)/$(APP).desktop
install -m 644 src/images/can-icon-24px.png /usr/share/icons/hicolor/24x24/apps/$(APP).png
install -m 644 desktop/can-icon.svg /usr/share/icons/hicolor/scalable/apps/$(APP).svg
install -m 644 desktop/can-icon.svg /usr/share/pixmaps/$(APP).svg
clean:
rm -rf debian/$(APP)
rm -f ../$(APP)_*.deb ../$(APP)_*.asc ../$(APP)_*.dsc ../$(APP)*.changes
rm -f *.sh~ src/*.pyc src/socks/*.pyc src/pyelliptic/*.pyc
rm -f *.deb \#* \.#* debian/*.log debian/*.substvars
rm -f Makefile~

View File

@ -14,4 +14,4 @@ references
----------
* [project website](https://bitmessage.org)
* [protocol specification](https://bitmessage.org/wiki/Protocol_specification)
* [whitepaper](https://bitmessage.org/bitmessage.pdf)
* [whitepaper](https://bitmessage.org/bitmessage.pdf)

21
debian.sh Executable file
View File

@ -0,0 +1,21 @@
# To build a debian package first ensure that the code exists
# within a directory called pybitmessage-x.x.x (where the x's
# are the version number), make sure that the VERSION parameter
# within debian/rules and this script are correct, then run
# this script.
#!/bin/bash
APP=pybitmessage
VERSION=0.2.8
ARCH_TYPE=all
# Create a source archive
make clean
make source
# Build the package
fakeroot dpkg-buildpackage -A
gpg -ba ../${APP}_${VERSION}-1_${ARCH_TYPE}.deb
gpg -ba ../${APP}_${VERSION}.orig.tar.gz

52
debian/changelog vendored Normal file
View File

@ -0,0 +1,52 @@
pybitmessage (0.2.8-1) unstable; urgency=low
* Fixed Ubuntu & OS X issue:
Bitmessage wouldn't receive any objects from peers after restart.
* Inventory flush to disk when exiting program now vastly faster.
* Fixed address generation bug (kept Bitmessage from restarting).
* Improve deserialization of messages
before processing (a 'best practice').
* Change to help Macs find OpenSSL the way Unix systems find it.
* Do not share or accept IPs which are in the private IP ranges.
* Added time-fuzzing
to the embedded time in pubkey and getpubkey messages.
* Added a knownNodes lock
to prevent an exception from sometimes occurring when saving
the data-structure to disk.
* Show unread messages in bold
and do not display new messages automatically.
* Support selecting multiple items
in the inbox, sent box, and address book.
* Use delete key to trash Inbox or Sent messages.
* Display richtext(HTML) messages
from senders in address book or subscriptions (although not
pseudo-mailing-lists; use new right-click option).
* Trim spaces
from the beginning and end of addresses when adding to
address book, subscriptions, and blacklist.
* Improved the display of the time for foreign language users.
-- Bob Mottram (4096 bits) <bob@sluggish.dyndns.org> Tue, 9 Apr 2013 17:44:00 +0100
pybitmessage (0.2.7-1) unstable; urgency=low
* Added debian packaging
* Script to generate debian packages
* SVG icon for Gnome shell, etc
* Source moved int src directory for debian standards compatibility
* Trailing carriage return on COPYING LICENSE and README.md
-- Bob Mottram (4096 bits) <bob@sluggish.dyndns.org> Tue, 1 Apr 2013 17:12:14 +0100

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
8

21
debian/control vendored Normal file
View File

@ -0,0 +1,21 @@
Source: pybitmessage
Section: contrib/comm
Priority: extra
Maintainer: Jonathan Warren <jonathan@bitmessage.org>
Build-Depends: debhelper (>= 8.0.0), python, openssl, python-qt4, libqt4-dev, python-qt4-dev, sqlite3, libsqlite3-dev
Standards-Version: 3.9.2
Homepage: https://bitmessage.org/
Vcs-Browser: https://github.com/Bitmessage/PyBitmessage
Vcs-Git: https://github.com/Bitmessage/PyBitmessage.git
Package: pybitmessage
Architecture: all
Depends: ${misc:Depends}, python, openssl, python-qt4, libqt4-dev, python-qt4-dev, sqlite3, libsqlite3-dev
Description: Send encrypted messages to another person or to many subscribers
Bitmessage is a P2P communications protocol used to send encrypted messages
to another person or to many subscribers. It is decentralized and trustless,
meaning that you need-not inherently trust any entities like root certificate
authorities. It uses strong authentication which means that the sender of a
message cannot be spoofed, and it aims to hide "non-content" data, like the
sender and receiver of messages, from passive eavesdroppers like those
running warrantless wiretapping programs.

30
debian/copyright vendored Normal file
View File

@ -0,0 +1,30 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: PyBitmessage
Source: https://github.com/Bitmessage/PyBitmessage
Files: *
Copyright: 2012 Jonathan Warren
License: MIT
Files: debian/*
Copyright: 2012 Jonathan Warren
License: MIT
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

1
debian/docs vendored Normal file
View File

@ -0,0 +1 @@

1
debian/files vendored Normal file
View File

@ -0,0 +1 @@
pybitmessage_0.2.8-1_all.deb contrib/comm extra

4
debian/pybm vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
cd /usr/share/applications/pybitmessage
python bitmessagemain.py

68
debian/rules vendored Executable file
View File

@ -0,0 +1,68 @@
#!/usr/bin/make -f
APP=pybitmessage
DEST_MAIN = $(CURDIR)/debian/$(APP)/usr/bin
DEST_SHARE = $(CURDIR)/debian/$(APP)/usr/share
build: build-stamp
make
build-stamp:
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean
install: build clean
dh_testdir
dh_testroot
dh_prep
dh_installdirs
mkdir -m 755 -p $(CURDIR)/debian/$(APP)/usr
mkdir -m 755 -p $(CURDIR)/debian/$(APP)/usr/bin
mkdir -m 755 -p $(DEST_SHARE)/applications
mkdir -m 755 -p $(DEST_SHARE)/applications/$(APP)
mkdir -m 755 -p $(DEST_SHARE)/applications/$(APP)/images
mkdir -m 755 -p $(DEST_SHARE)/applications/$(APP)/pyelliptic
mkdir -m 755 -p $(DEST_SHARE)/applications/$(APP)/socks
mkdir -m 755 -p $(DEST_SHARE)/pixmaps
mkdir -m 755 -p $(DEST_SHARE)/icons
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/scalable
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/scalable/apps
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/24x24
mkdir -m 755 -p $(DEST_SHARE)/icons/hicolor/24x24/apps
install -m 644 $(CURDIR)/src/*.ui $(DEST_SHARE)/applications/$(APP)
install -m 644 $(CURDIR)/src/*.py $(DEST_SHARE)/applications/$(APP)
install -m 644 $(CURDIR)/src/*.qrc $(DEST_SHARE)/applications/$(APP)
install -m 644 $(CURDIR)/src/images/*.png $(DEST_SHARE)/applications/$(APP)/images
install -m 644 $(CURDIR)/src/images/*.ico $(DEST_SHARE)/applications/$(APP)/images
install -m 644 $(CURDIR)/src/pyelliptic/*.py $(DEST_SHARE)/applications/$(APP)/pyelliptic
install -m 644 $(CURDIR)/src/socks/*.py $(DEST_SHARE)/applications/$(APP)/socks
install -m 755 $(CURDIR)/debian/pybm $(DEST_MAIN)
install -m 644 $(CURDIR)/desktop/$(APP).desktop $(DEST_SHARE)/applications/$(APP)/$(APP).desktop
install -m 644 $(CURDIR)/src/images/can-icon-24px.png $(DEST_SHARE)/icons/hicolor/24x24/apps/$(APP).png
install -m 644 $(CURDIR)/desktop/can-icon.svg $(DEST_SHARE)/icons/hicolor/scalable/apps/$(APP).svg
install -m 644 $(CURDIR)/desktop/can-icon.svg $(DEST_SHARE)/pixmaps/$(APP).svg
binary-indep: build install
dh_shlibdeps
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
# dh_installexamples
# dh_installman
dh_link
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary-arch: build install
binary: binary-indep
.PHONY: build clean binary-indep binary install

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

15
debian/source/include-binaries vendored Normal file
View File

@ -0,0 +1,15 @@
src/images/sent.png
src/images/can-icon-16px.png
src/images/addressbook.png
src/images/networkstatus.png
src/images/redicon.png
src/images/subscriptions.png
src/images/blacklist.png
src/images/can-icon-24px.png
src/images/identities.png
src/images/yellowicon.png
src/images/inbox.png
src/images/greenicon.png
src/images/can-icon.ico
src/images/send.png
desktop/can-icon.svg

173
desktop/can-icon.svg Normal file
View File

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="can-icon.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.70710678"
inkscape:cx="334.69166"
inkscape:cy="680.44336"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="865"
inkscape:window-height="628"
inkscape:window-x="135"
inkscape:window-y="29"
inkscape:window-maximized="0"
showguides="true"
inkscape:guide-bbox="true" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g3793"
transform="matrix(0.89164023,0.51478873,-0.4891157,0.84717322,228.21472,-138.54027)">
<g
transform="translate(135.36044,60.609153)"
id="g3062">
<g
id="g3034"
transform="translate(-163.64471,-765.69563)">
<path
transform="matrix(0.94897167,0,0,0.90277282,75.32333,234.23474)"
d="m 482.85713,726.64789 c 0,31.55913 -62.04054,57.14285 -138.57142,57.14285 -76.53089,0 -138.57143,-25.58372 -138.57143,-57.14285 0,-31.55913 62.04054,-57.14286 138.57143,-57.14286 76.53088,0 138.57142,25.58373 138.57142,57.14286 z"
sodipodi:ry="57.142857"
sodipodi:rx="138.57143"
sodipodi:cy="726.64789"
sodipodi:cx="344.28571"
id="path2992-7"
style="fill:#000000"
sodipodi:type="arc" />
<rect
y="884.67688"
x="262.63968"
height="61.619308"
width="286.88333"
id="rect3032"
style="fill:#ffffff" />
</g>
<g
id="g3034-7"
transform="translate(-163.64473,-764.39834)"
style="fill:#ffffff">
<path
transform="matrix(0.94897167,0,0,0.90277282,75.32333,234.23474)"
d="m 482.85713,726.64789 c 0,31.55913 -62.04054,57.14285 -138.57142,57.14285 -76.53089,0 -138.57143,-25.58372 -138.57143,-57.14285 0,-31.55913 62.04054,-57.14286 138.57143,-57.14286 76.53088,0 138.57142,25.58373 138.57142,57.14286 z"
sodipodi:ry="57.142857"
sodipodi:rx="138.57143"
sodipodi:cy="726.64789"
sodipodi:cx="344.28571"
id="path2992-7-8"
style="fill:#ffffff"
sodipodi:type="arc" />
<rect
y="884.67688"
x="262.63968"
height="61.619308"
width="286.88333"
id="rect3032-3"
style="fill:#ffffff" />
</g>
</g>
<path
transform="translate(31.741031,-196.40731)"
d="m 482.85713,726.64789 c 0,31.55913 -62.04054,57.14285 -138.57142,57.14285 -76.53089,0 -138.57143,-25.58372 -138.57143,-57.14285 0,-31.55913 62.04054,-57.14286 138.57143,-57.14286 76.53088,0 138.57142,25.58373 138.57142,57.14286 z"
sodipodi:ry="57.142857"
sodipodi:rx="138.57143"
sodipodi:cy="726.64789"
sodipodi:cx="344.28571"
id="path2992"
style="fill:#000000"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path3105"
d="m 243.44676,179.33784 -6.06091,351.02801"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path3109"
d="m 504.08363,179.6079 9.59206,351.52869"
style="fill:none;stroke:#000000;stroke-width:0.97375119px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path3111"
d="M 267.14286,155.43361 260,499.50504"
style="fill:#808080;stroke:#000000;stroke-width:0.99762112px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.11949684" />
<path
inkscape:connector-curvature="0"
id="path2997"
d="m 305.71429,480.96643 2.85714,-340.03282"
style="fill:none;stroke:#000000;stroke-width:1.00427675px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.06918239" />
<path
inkscape:connector-curvature="0"
id="path3775"
d="m 261.36651,484.45144 c 1.14322,-48.37725 6.2999,-307.63106 6.2999,-316.72991 l 0,-11.21031 7.76946,-3.54066 c 7.44069,-3.39083 31.41041,-11.16079 31.97304,-10.36429 0.14872,0.21056 -0.28631,61.52232 -0.96675,136.24835 -0.68044,74.72604 -1.27383,150.66786 -1.31864,168.75961 l -0.0815,32.89409 -8.33376,2.39262 c -10.52041,3.02039 -23.12524,7.92802 -30.18922,11.75403 l -5.46362,2.95923 0.31106,-13.16276 0,0 z"
style="fill:#ececec;stroke:#000000;stroke-width:1.01015258;stroke-opacity:0.06918239" />
<path
inkscape:connector-curvature="0"
id="path3777"
d="M 363.65492,472.53462 361.63461,133.12337"
style="fill:#ececec;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.07547171" />
<path
inkscape:connector-curvature="0"
id="path3783"
d="m 306.94944,433.11087 c 0.57037,-46.32488 2.49195,-263.52844 2.49195,-281.67524 l 0,-9.43296 5.25,-1.06084 c 9.67835,-1.95566 25.52023,-4.05586 35.5528,-4.71333 l 9.94474,-0.65172 0.62019,35.39205 c 0.3411,19.46563 0.90407,95.30274 1.25103,168.52692 l 0.63085,133.13486 -8.3748,0.66944 c -12.6783,1.01344 -30.94004,3.39169 -38.89842,5.06579 -3.90893,0.82226 -7.54293,1.49503 -8.07555,1.49503 -0.61893,0 -0.76068,-16.87064 -0.39279,-46.75 z"
style="fill:#f2f2f2;stroke:#000000;stroke-width:1;stroke-opacity:0.07547171" />
<path
inkscape:connector-curvature="0"
id="path3785"
d="m 238.93786,495.86087 c 0.32474,-14.025 1.70752,-91.13234 3.07284,-171.34966 2.68242,-157.60078 2.16493,-147.61575 8.01045,-154.56276 2.65137,-3.15098 15.23363,-12.6583 15.82581,-11.9582 0.17243,0.20384 -1.24233,76.87063 -3.1439,170.37063 l -3.45741,169.99999 -2.62564,2 c -6.36144,4.84563 -13.92321,12.73178 -16.00765,16.69433 l -2.26494,4.30567 0.59044,-25.5 z"
style="fill:#e6e6e6;stroke:#000000;stroke-width:1;stroke-opacity:0.11949684" />
<path
inkscape:connector-curvature="0"
id="path3787"
d="M 486,495.36218 479,155.36219"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.21383649" />
<path
inkscape:connector-curvature="0"
id="path3789"
d="m 510.31168,515.19017 c -2.07742,-4.01727 -11.11889,-12.29406 -17.89193,-16.37872 l -5.72164,-3.45058 -0.0284,-8.66451 c -0.0336,-10.25615 -5.73434,-292.44376 -6.35517,-314.58044 l -0.42754,-15.24495 4.02866,2.24495 c 5.68163,3.16607 13.59957,10.48401 16.80059,15.52751 2.56133,4.03561 2.72718,5.01587 2.87615,17 0.087,6.99459 2.10169,83.14245 4.4772,169.21745 2.37552,86.07499 4.18414,156.65431 4.01917,156.84292 -0.16497,0.18861 -0.96468,-0.94252 -1.77713,-2.51363 l 0,0 z M 457,484.36219 l -6,-342"
style="fill:#b3b3b3;stroke:#000000;stroke-width:1;stroke-opacity:0.21383649" />
<path
inkscape:connector-curvature="0"
id="path3791"
d="m 479.14139,491.50987 c -2.75,-1.27823 -8.71133,-3.63467 -13.24741,-5.23653 l -8.2474,-2.91247 -0.059,-15 c -0.0325,-8.25 -1.31094,-84.07499 -2.84107,-168.49999 -1.53013,-84.425 -2.65889,-153.65835 -2.50836,-153.85189 0.41658,-0.53559 10.03877,2.74274 18.08486,6.1616 l 7.18161,3.05153 0.53263,7.06938 c 0.70701,9.38373 6.8882,324.14473 6.44718,328.3059 l -0.34302,3.23653 -5,-2.32406 z"
style="fill:#cccccc;stroke:#000000;stroke-width:1;stroke-opacity:0.21383649" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=PyBitmessage
GenericName=PyBitmessage
Comment=Send encrypted messages to another person or to many subscribers
Exec=pybm %U
Icon=pybitmessage
Terminal=false
Categories=Network

View File

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 673 B

View File

Before

Width:  |  Height:  |  Size: 752 B

After

Width:  |  Height:  |  Size: 752 B

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 870 B

After

Width:  |  Height:  |  Size: 870 B

View File

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 687 B

View File

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 629 B

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 823 B

View File

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 548 B

View File

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 631 B

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB