Browse Source

Git リポジトリ化

main
Gitea 1 year ago
commit
b3a2803c5d
100 changed files with 400 additions and 0 deletions
  1. +287
    -0
      MedianCut.js
  2. +48
    -0
      backup.php
  3. +38
    -0
      delete.php
  4. +27
    -0
      delete.php~
  5. BIN
      draft/18740f98be0fc.png
  6. BIN
      draft/18761363b022a.png
  7. BIN
      draft/187896cd0f2124.png
  8. BIN
      draft/187953cd987f3.png
  9. BIN
      image/60141525e1c1e.png
  10. BIN
      image/612369f1658b6.png
  11. BIN
      image/621e5e551a396.png
  12. BIN
      image/621e5f02643f9.png
  13. BIN
      image/621e5f48322cb.png
  14. BIN
      image/621e5f69ea69b.png
  15. BIN
      image/621e609166934.png
  16. BIN
      image/622501a5a88eb.png
  17. BIN
      image/622501b1b588d.png
  18. BIN
      image/62250260d5153.png
  19. BIN
      image/622503b54cafd.png
  20. BIN
      image/62250414400ac.png
  21. BIN
      image/6225043f94292.png
  22. BIN
      image/62250457d3b68.png
  23. BIN
      image/622504680ff65.png
  24. BIN
      image/62250546e8794.png
  25. BIN
      image/62250585858bc.png
  26. BIN
      image/622505c631462.png
  27. BIN
      image/6225063c68159.png
  28. BIN
      image/6225064f00234.png
  29. BIN
      image/622507b175343.png
  30. BIN
      image/622507c27d11e.png
  31. BIN
      image/622507c952dab.png
  32. BIN
      image/622508093c97a.png
  33. BIN
      image/6225083aa730a.png
  34. BIN
      image/622508c48f343.png
  35. BIN
      image/622508d41b48f.png
  36. BIN
      image/62250939d5e16.png
  37. BIN
      image/622509b1282d7.png
  38. BIN
      image/62250a05211d1.png
  39. BIN
      image/62250a28d3727.png
  40. BIN
      image/62250a56945b5.png
  41. BIN
      image/62250a8a665f9.png
  42. BIN
      image/62250ab671407.png
  43. BIN
      image/62250ad197e92.png
  44. BIN
      image/62250ae33e1f1.png
  45. BIN
      image/62250b5033790.png
  46. BIN
      image/62250b6197615.png
  47. BIN
      image/62250c5ba68f6.png
  48. BIN
      image/62250d23736ba.png
  49. BIN
      image/62250e49b21a1.png
  50. BIN
      image/62250f2d82393.png
  51. BIN
      image/6225116559fdb.png
  52. BIN
      image/622512b817e6d.png
  53. BIN
      image/622512c25e7d8.png
  54. BIN
      image/6225151fa0168.png
  55. BIN
      image/622515bcf412a.png
  56. BIN
      image/622516fc4dd34.png
  57. BIN
      image/622517298756b.png
  58. BIN
      image/62251764f36f1.png
  59. BIN
      image/622517b1c0670.png
  60. BIN
      image/6225181766a15.png
  61. BIN
      image/622518ceaf768.png
  62. BIN
      image/62251a0b12ba8.png
  63. BIN
      image/6225311505081.png
  64. BIN
      image/62258d4551dc0.png
  65. BIN
      image/6225d1fb073d7.png
  66. BIN
      image/6225d2c4079ea.png
  67. BIN
      image/6225d35c44a36.png
  68. BIN
      image/6225d3e327c25.png
  69. BIN
      image/6225f1668d8d3.png
  70. BIN
      image/6225f1e52a947.png
  71. BIN
      image/6226300459af3.png
  72. BIN
      image/622640414abd9.png
  73. BIN
      image/622640656a1a3.png
  74. BIN
      image/6226407a9ee74.png
  75. BIN
      image/6227a08c631f1.png
  76. BIN
      image/6228429c29b49.png
  77. BIN
      image/6228833c10d2c.png
  78. BIN
      image/622884345920c.png
  79. BIN
      image/62288fcb03d70.png
  80. BIN
      image/62289060e4ab9.png
  81. BIN
      image/6228d5443daa3.png
  82. BIN
      image/622962031018b.png
  83. BIN
      image/6229bba94fec2.png
  84. BIN
      image/6229bbb9e524e.png
  85. BIN
      image/6229bbc69d67e.png
  86. BIN
      image/6229bbd15144d.png
  87. BIN
      image/6229bbdec8f08.png
  88. BIN
      image/6229bbe7d4329.png
  89. BIN
      image/622b1fa2c7b67.png
  90. BIN
      image/622b23370e524.png
  91. BIN
      image/622b247dc5b4c.png
  92. BIN
      image/622b2d544fb86.png
  93. BIN
      image/622b2eafddaac.png
  94. BIN
      image/622b35520e491.png
  95. BIN
      image/622b3c1a97814.png
  96. BIN
      image/622b3c229d251.png
  97. BIN
      image/622b6cc7c8a2a.png
  98. BIN
      image/622b6cca54301.png
  99. BIN
      image/622b6ccf9a073.png
  100. BIN
      image/622b6cd10653d.png

+ 287
- 0
MedianCut.js View File

@@ -0,0 +1,287 @@
/**************************************************/
/* */
/* MedianCut.js */
/* v0.88 */
/* */
/* Copyright 2016 Takeshi Okamoto (Japan) */
/* */
/* Released under the MIT license */
/* https://github.com/TakeshiOkamoto/ */
/* */
/* Date: 2016-12-14 */
/**************************************************/
////////////////////////////////////////////////////////////////////////////////
// Generic Function
////////////////////////////////////////////////////////////////////////////////

// 画像のカラー情報の取得
function getColorInfo(imagedata){
var height = imagedata.height;
var width = imagedata.width;
var raw = imagedata.data;
// 使用色/使用回数(面積)を取得
var cnt = 0;
var uses_colors = new Object;
for(var i = 0; i< height;i++){
for(var j = 0; j< width;j++){
var key = raw[cnt] + ',' +
raw[cnt+1] + ',' +
raw[cnt+2] ;
if (!uses_colors[key])
uses_colors[key] = 1;
else
uses_colors[key] += 1;
cnt = cnt + 4;
}
}

// 連想配列を配列へ設定
var rgb;
var colors = new Array();
for (var key in uses_colors) {
rgb = key.split(",");
colors[colors.length] = {'r':parseInt(rgb[0],10),
'g':parseInt(rgb[1],10),
'b':parseInt(rgb[2],10),
'uses':uses_colors[key]}; // 使用数
}
return colors;
}

////////////////////////////////////////////////////////////////////////////////
// Generic Class
////////////////////////////////////////////////////////////////////////////////

// ---------------------
// TMedianCut
// ---------------------
// imagedata : 減色するImageDataオブジェクト
// colors : getColorInfo()で取得したカラー情報
function TMedianCut(imagedata,colors) {
this.raw = imagedata.data;
this.width = imagedata.width;
this.height = imagedata.height;
this.msg = '';
this.colors = colors;
}

// ---------------------
// TMedianCut.Method
// ---------------------
TMedianCut.prototype = {
// プロパティの設定
_setProperty : function (color){
var total = 0;
var maxR = 0, maxG = 0, maxB = 0;
var minR = 255, minG = 255, minB = 255;
// 立方体の1辺の長さ
for(var i = 0; i < color.length;i++){
if (color[i].rgb.r > maxR) maxR = color[i].rgb.r ;
if (color[i].rgb.g > maxG) maxG = color[i].rgb.g ;
if (color[i].rgb.b > maxB) maxB = color[i].rgb.b ;
if (color[i].rgb.r < minR) minR = color[i].rgb.r ;
if (color[i].rgb.g < minG) minG = color[i].rgb.g ;
if (color[i].rgb.b < minB) minB = color[i].rgb.b ;

// キューブで使用している面積
total += color[i].rgb.uses;
}

var dr = (maxR - minR)*1.2;
var dg = (maxG - minG)*1.2;
var db = (maxB - minB);
// 同一の場合はrを優先する
var colortype = 'r';
// r
if (dr > dg && dr > db){
colortype = 'r';
}
// g
if (dg > dr && dg > db){
colortype = 'g';
}
// b
if (db > dr && db > dg){
colortype = 'b';
}

return { 'color' : color, // キューブの各色情報
'total' : total, // キューブの総面積(総色数)
'type' : colortype,// キューブの種類(R/G/B)
// キューブの体積用 'volume': dr * dg * db
};
},
// メディアンカット
_MedianCut : function(cubes,colorsize){
var count = 0;
var index = 0;
// 面積(色数)が最大のキューブを選択
for(var i = 0; i < cubes.length;i++){
if(cubes[i].total > count){
// 1点は除く
if (cubes[i].color.length != 1){
index = i;
count = cubes[i].total;
}
}
}
// 体積が最大のキューブを選択
//if(cubes[index].color.length == 1){
//
// count =0; index =0;
//
// for(var i = 0; i < cubes.length;i++){
// if(cubes[i].volume > count){
// index = i;
// count = cubes[i].volume;
// }
// }
//}

if (cubes[index].total == 1){
// Cube could not be split.
this.msg += colorsize + '色までキューブを分割できませんでした。\n';
return cubes;
}
if(cubes[index].color.length == 1){
// Cube could not be split.
this.msg += colorsize + '色までキューブを分割できませんでした。\n';
return cubes;
}

// メディアン由来の中央値を算出する
var colortype = cubes[index].type;
cubes[index].color.sort(function(a,b){
if(a.rgb[colortype] < b.rgb[colortype] ) return -1;
if(a.rgb[colortype] > b.rgb[colortype] ) return 1;
return 0;
});
split_border = Math.floor((cubes[index].color.length+1)/2);
// 分割の開始
var split1 = new Array;
var split2 = new Array;
for(var i = 0; i < cubes[index].color.length;i++){
if (i < split_border){
split1[split1.length] = cubes[index].color[i];
}else{
split2[split2.length] = cubes[index].color[i];
}
}
// プロパティの設定
split1 = this._setProperty(split1);
split2 = this._setProperty(split2);
// キューブ配列の再編成
var result = new Array();
for(var i = 0; i < cubes.length;i++){
if (i != index){
result[result.length] = cubes[i];
}
}
result[result.length] = split1;
result[result.length] = split2;
if (result.length < colorsize){
return this._MedianCut(result,colorsize);
}else{
return result;
}
},
// 減色の実行
// colorsize : 最大何色まで減色するかの色数(2- 256)
// update : true ピクセルデータを更新 false 更新しない
run : function(colorsize,update){
if (this.colors.length <= colorsize){
// It has already been reduced color.
this.msg = '既に'+ this.colors.length +'色に減色されています。\n';
//return;
}

// 1個目のキューブの作成
var plane = new Array;
for(var i = 0; i < this.colors.length;i++){
plane[plane.length] = {'rgb': this.colors[i]};
}

var dummy = new Array();
dummy[0] = this._setProperty(plane);
// キューブの分割
var cubes = this._MedianCut(dummy,colorsize);
// キューブ毎に代表色(重み係数による平均)を算出する
var rep_color = new Array();
for(var i = 0; i < cubes.length;i++){
var count = 0;
var r =0,g=0,b=0;
for(var j = 0; j < cubes[i].color.length;j++){
r += cubes[i].color[j].rgb.r * cubes[i].color[j].rgb.uses;
g += cubes[i].color[j].rgb.g * cubes[i].color[j].rgb.uses;
b += cubes[i].color[j].rgb.b * cubes[i].color[j].rgb.uses;
count += cubes[i].color[j].rgb.uses;
}
rep_color[i] = {'r': Math.round(r/count),
'g': Math.round(g/count),
'b': Math.round(b/count)};
}
// 代表色の保存
this.rep_color = rep_color;
// ピクセルデータの更新
if (update) {

// ピクセルデータ設定用の連想配列(高速化用)
var pixels = new Object;
for(var i = 0; i < cubes.length;i++){
for(var j = 0; j < cubes[i].color.length;j++){
pixels[cubes[i].color[j].rgb.r + ',' +
cubes[i].color[j].rgb.g + ',' +
cubes[i].color[j].rgb.b] = {'r': rep_color[i].r,
'g': rep_color[i].g,
'b': rep_color[i].b};
}
}
// データの設定
var key,cnt =0;
for(var i = 0; i< this.height;i++){
for(var j = 0; j< this.width;j++){
key = this.raw[cnt] + ',' +
this.raw[cnt+1] + ',' +
this.raw[cnt+2];
this.raw[cnt] = pixels[key].r;
this.raw[cnt+1] = pixels[key].g;
this.raw[cnt+2] = pixels[key].b;
cnt = cnt + 4;
}
}
}
}
}


+ 48
- 0
backup.php View File

@@ -0,0 +1,48 @@
<?php
define ('SAVE_DIR', 'draft/');

$json = getParamJSON ();

if (!(isset ($json['data'])))
{
sendResult (false, 'Empty query Parameter: data');
exit (1);
}

if (!(preg_match ('/^data:image\/png;base64,/', $json['data'])))
{
sendResult (false, 'Not Allow data type: data');
exit (1);
}

$data = $json['data'];
$data = str_replace ('data:image/png;base64,', '', $data);
$data = str_replace (' ', '+', $data);
$image = base64_decode ($data);

$file = sprintf ('%s.png', $_GET['id']);
$result = file_put_contents (SAVE_DIR . $file, $image, LOCK_EX);

setcookie ('backup', $file, time () + 60 * 60 * 24 * 30);


function
getParamJSON ()
{
$buff = file_get_contents ('php://input');
$json = json_decode ($buff, true);

return ($json);
}

function
sendResult ($status, $data)
{
header ('Access-Control-Allow-Origin: *');
header ('Access-Control-Allow-Headers: *');

echo json_encode(["status" => $status,
"result" => $data]);
}
?>


+ 38
- 0
delete.php View File

@@ -0,0 +1,38 @@
<?php
require "${_SERVER['DOCUMENT_ROOT']}/database.php";


$mysqli = set_mysql ('miteruzo_bbs');

$mysqli -> set_charset ('utf8');

$thread = $_GET['thread'];
$id = $_GET['id'];
$pass = $_GET['pass'];

if ($result = $mysqli -> query ("
SELECT
pass, image
FROM
responses
WHERE
(thread_id = {$_GET['thread']}) AND (response_id = {$_GET['id']})")):
$row = $result -> fetch_assoc ();

if ($_GET['pass'] == $row['pass']):
$mysqli -> query ("
UPDATE
responses
SET
deleted = 1
WHERE
(thread_id = $thread) AND (response_id = $id)");

echo "消しましたぁ!!<br /><br /><img style='border: solid 1px' src='image/{$row['image']}' />";
else:
echo '残念.<br />削除用パスワードが違います.';
endif;

echo "<br /><br />5 秒後に元のページに戻ります.<br /><br /><a href='./?thread=$thread#$id'>戻らない場合はこちら</a><script>setTimeout (function () {window.location.href = `./?thread=$thread#$id`}, 5000)</script>";
endif;


+ 27
- 0
delete.php~ View File

@@ -0,0 +1,27 @@
<?php
require "${_SERVER['DOCUMENT_ROOT']}/database.php";


$mysqli = set_mysql ('miteruzo_bbs');

$mysqli -> set_charset ('utf8');

$thread = $_GET['thread'];
$id = $_GET['id'];
$pass = $_GET['pass'];

if ($result = $mysqli -> query ("
SELECT
pass
FROM
responses
WHERE
(thread_id = {$_GET['thread']}) AND (response_id = {$_GET['id']})")):
$row = $result -> fetch_assoc ();

if ($_GET['pass'] == $row['pass']):
else:
echo "残念.\n削除用パスワードが違います.<script>setTimeout (function () {window.location.href = `./?thread=$thread`}, 5000)</script>";
endif;
endif;


BIN
draft/18740f98be0fc.png View File

Before After
Width: 480  |  Height: 480  |  Size: 17 KiB

BIN
draft/18761363b022a.png View File

Before After
Width: 480  |  Height: 480  |  Size: 52 KiB

BIN
draft/187896cd0f2124.png View File

Before After
Width: 480  |  Height: 480  |  Size: 14 KiB

BIN
draft/187953cd987f3.png View File

Before After
Width: 480  |  Height: 480  |  Size: 30 KiB

BIN
image/60141525e1c1e.png View File

Before After
Width: 480  |  Height: 480  |  Size: 16 KiB

BIN
image/612369f1658b6.png View File

Before After
Width: 480  |  Height: 480  |  Size: 30 KiB

BIN
image/621e5e551a396.png View File

Before After
Width: 480  |  Height: 480  |  Size: 16 KiB

BIN
image/621e5f02643f9.png View File

Before After
Width: 480  |  Height: 480  |  Size: 147 KiB

BIN
image/621e5f48322cb.png View File

Before After
Width: 480  |  Height: 480  |  Size: 26 KiB

BIN
image/621e5f69ea69b.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/621e609166934.png View File

Before After
Width: 480  |  Height: 480  |  Size: 30 KiB

BIN
image/622501a5a88eb.png View File

Before After
Width: 480  |  Height: 480  |  Size: 44 KiB

BIN
image/622501b1b588d.png View File

Before After
Width: 480  |  Height: 480  |  Size: 36 KiB

BIN
image/62250260d5153.png View File

Before After
Width: 480  |  Height: 480  |  Size: 23 KiB

BIN
image/622503b54cafd.png View File

Before After
Width: 480  |  Height: 480  |  Size: 42 KiB

BIN
image/62250414400ac.png View File

Before After
Width: 480  |  Height: 480  |  Size: 23 KiB

BIN
image/6225043f94292.png View File

Before After
Width: 480  |  Height: 480  |  Size: 20 KiB

BIN
image/62250457d3b68.png View File

Before After
Width: 480  |  Height: 480  |  Size: 39 KiB

BIN
image/622504680ff65.png View File

Before After
Width: 480  |  Height: 480  |  Size: 28 KiB

BIN
image/62250546e8794.png View File

Before After
Width: 480  |  Height: 480  |  Size: 30 KiB

BIN
image/62250585858bc.png View File

Before After
Width: 480  |  Height: 480  |  Size: 20 KiB

BIN
image/622505c631462.png View File

Before After
Width: 480  |  Height: 480  |  Size: 37 KiB

BIN
image/6225063c68159.png View File

Before After
Width: 480  |  Height: 480  |  Size: 36 KiB

BIN
image/6225064f00234.png View File

Before After
Width: 480  |  Height: 480  |  Size: 24 KiB

BIN
image/622507b175343.png View File

Before After
Width: 480  |  Height: 480  |  Size: 17 KiB

BIN
image/622507c27d11e.png View File

Before After
Width: 480  |  Height: 480  |  Size: 29 KiB

BIN
image/622507c952dab.png View File

Before After
Width: 480  |  Height: 480  |  Size: 19 KiB

BIN
image/622508093c97a.png View File

Before After
Width: 480  |  Height: 480  |  Size: 16 KiB

BIN
image/6225083aa730a.png View File

Before After
Width: 480  |  Height: 480  |  Size: 29 KiB

BIN
image/622508c48f343.png View File

Before After
Width: 480  |  Height: 480  |  Size: 38 KiB

BIN
image/622508d41b48f.png View File

Before After
Width: 480  |  Height: 480  |  Size: 32 KiB

BIN
image/62250939d5e16.png View File

Before After
Width: 480  |  Height: 480  |  Size: 132 KiB

BIN
image/622509b1282d7.png View File

Before After
Width: 480  |  Height: 480  |  Size: 38 KiB

BIN
image/62250a05211d1.png View File

Before After
Width: 480  |  Height: 480  |  Size: 13 KiB

BIN
image/62250a28d3727.png View File

Before After
Width: 480  |  Height: 480  |  Size: 24 KiB

BIN
image/62250a56945b5.png View File

Before After
Width: 480  |  Height: 480  |  Size: 56 KiB

BIN
image/62250a8a665f9.png View File

Before After
Width: 480  |  Height: 480  |  Size: 23 KiB

BIN
image/62250ab671407.png View File

Before After
Width: 480  |  Height: 480  |  Size: 15 KiB

BIN
image/62250ad197e92.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/62250ae33e1f1.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/62250b5033790.png View File

Before After
Width: 480  |  Height: 480  |  Size: 12 KiB

BIN
image/62250b6197615.png View File

Before After
Width: 480  |  Height: 480  |  Size: 32 KiB

BIN
image/62250c5ba68f6.png View File

Before After
Width: 480  |  Height: 480  |  Size: 54 KiB

BIN
image/62250d23736ba.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/62250e49b21a1.png View File

Before After
Width: 480  |  Height: 480  |  Size: 35 KiB

BIN
image/62250f2d82393.png View File

Before After
Width: 480  |  Height: 480  |  Size: 19 KiB

BIN
image/6225116559fdb.png View File

Before After
Width: 480  |  Height: 480  |  Size: 47 KiB

BIN
image/622512b817e6d.png View File

Before After
Width: 480  |  Height: 480  |  Size: 51 KiB

BIN
image/622512c25e7d8.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/6225151fa0168.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/622515bcf412a.png View File

Before After
Width: 480  |  Height: 480  |  Size: 40 KiB

BIN
image/622516fc4dd34.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/622517298756b.png View File

Before After
Width: 480  |  Height: 480  |  Size: 28 KiB

BIN
image/62251764f36f1.png View File

Before After
Width: 480  |  Height: 480  |  Size: 16 KiB

BIN
image/622517b1c0670.png View File

Before After
Width: 480  |  Height: 480  |  Size: 25 KiB

BIN
image/6225181766a15.png View File

Before After
Width: 480  |  Height: 480  |  Size: 24 KiB

BIN
image/622518ceaf768.png View File

Before After
Width: 480  |  Height: 480  |  Size: 13 KiB

BIN
image/62251a0b12ba8.png View File

Before After
Width: 480  |  Height: 480  |  Size: 25 KiB

BIN
image/6225311505081.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/62258d4551dc0.png View File

Before After
Width: 480  |  Height: 480  |  Size: 22 KiB

BIN
image/6225d1fb073d7.png View File

Before After
Width: 480  |  Height: 480  |  Size: 39 KiB

BIN
image/6225d2c4079ea.png View File

Before After
Width: 480  |  Height: 480  |  Size: 35 KiB

BIN
image/6225d35c44a36.png View File

Before After
Width: 480  |  Height: 480  |  Size: 36 KiB

BIN
image/6225d3e327c25.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/6225f1668d8d3.png View File

Before After
Width: 480  |  Height: 480  |  Size: 48 KiB

BIN
image/6225f1e52a947.png View File

Before After
Width: 480  |  Height: 480  |  Size: 63 KiB

BIN
image/6226300459af3.png View File

Before After
Width: 480  |  Height: 480  |  Size: 39 KiB

BIN
image/622640414abd9.png View File

Before After
Width: 480  |  Height: 480  |  Size: 16 KiB

BIN
image/622640656a1a3.png View File

Before After
Width: 480  |  Height: 480  |  Size: 40 KiB

BIN
image/6226407a9ee74.png View File

Before After
Width: 480  |  Height: 480  |  Size: 20 KiB

BIN
image/6227a08c631f1.png View File

Before After
Width: 480  |  Height: 480  |  Size: 50 KiB

BIN
image/6228429c29b49.png View File

Before After
Width: 480  |  Height: 480  |  Size: 50 KiB

BIN
image/6228833c10d2c.png View File

Before After
Width: 480  |  Height: 480  |  Size: 43 KiB

BIN
image/622884345920c.png View File

Before After
Width: 480  |  Height: 480  |  Size: 29 KiB

BIN
image/62288fcb03d70.png View File

Before After
Width: 480  |  Height: 480  |  Size: 38 KiB

BIN
image/62289060e4ab9.png View File

Before After
Width: 480  |  Height: 480  |  Size: 55 KiB

BIN
image/6228d5443daa3.png View File

Before After
Width: 480  |  Height: 480  |  Size: 33 KiB

BIN
image/622962031018b.png View File

Before After
Width: 480  |  Height: 480  |  Size: 70 KiB

BIN
image/6229bba94fec2.png View File

Before After
Width: 480  |  Height: 480  |  Size: 136 KiB

BIN
image/6229bbb9e524e.png View File

Before After
Width: 480  |  Height: 480  |  Size: 207 KiB

BIN
image/6229bbc69d67e.png View File

Before After
Width: 480  |  Height: 480  |  Size: 256 KiB

BIN
image/6229bbd15144d.png View File

Before After
Width: 480  |  Height: 480  |  Size: 103 KiB

BIN
image/6229bbdec8f08.png View File

Before After
Width: 480  |  Height: 480  |  Size: 101 KiB

BIN
image/6229bbe7d4329.png View File

Before After
Width: 480  |  Height: 480  |  Size: 134 KiB

BIN
image/622b1fa2c7b67.png View File

Before After
Width: 480  |  Height: 480  |  Size: 109 KiB

BIN
image/622b23370e524.png View File

Before After
Width: 480  |  Height: 480  |  Size: 18 KiB

BIN
image/622b247dc5b4c.png View File

Before After
Width: 480  |  Height: 480  |  Size: 29 KiB

BIN
image/622b2d544fb86.png View File

Before After
Width: 480  |  Height: 480  |  Size: 22 KiB

BIN
image/622b2eafddaac.png View File

Before After
Width: 480  |  Height: 480  |  Size: 27 KiB

BIN
image/622b35520e491.png View File

Before After
Width: 480  |  Height: 480  |  Size: 172 KiB

BIN
image/622b3c1a97814.png View File

Before After
Width: 480  |  Height: 480  |  Size: 223 KiB

BIN
image/622b3c229d251.png View File

Before After
Width: 480  |  Height: 480  |  Size: 195 KiB

BIN
image/622b6cc7c8a2a.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/622b6cca54301.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/622b6ccf9a073.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

BIN
image/622b6cd10653d.png View File

Before After
Width: 480  |  Height: 480  |  Size: 21 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save