更新对e.game的处理逻辑

This commit is contained in:
Kokomi 2023-10-25 03:34:36 +08:00
parent 53674eea86
commit 04badff625
2784 changed files with 622 additions and 691 deletions

View File

@ -1,4 +1,4 @@
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import { exec } from 'child_process'
import { Cfg, Common, Data, Version, App } from '#miao'

View File

@ -1,4 +1,4 @@
import fs from 'fs'
import fs from 'node:fs'
import { promisify } from 'util'
import { pipeline } from 'stream'
import MD5 from 'md5'

View File

@ -1,7 +1,7 @@
import lodash from 'lodash'
import { Data } from '#miao'
import { Character, Weapon } from '#miao.models'
import { poolDetail } from '../../resources/meta/info/index.js'
import { poolDetail } from '../../resources/meta-gs/info/index.js'
import moment from 'moment'
let poolVersion = []

View File

@ -1,5 +1,5 @@
import { Cfg, Common, Data, Version } from '#miao'
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import HelpTheme from './HelpTheme.js'

View File

@ -1,5 +1,5 @@
import lodash from 'lodash'
import fs from 'fs'
import fs from 'node:fs'
import { Data } from '#miao'
let HelpTheme = {

View File

@ -1,4 +1,4 @@
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import cfgData from './cfg/CfgData.js'
import { Version } from '#miao'

View File

@ -1,4 +1,4 @@
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import { Data } from '#miao'

View File

@ -40,7 +40,7 @@ class Artifact extends Base {
get img () {
return this.isGs ?
`meta/artifact/imgs/${this.setName}/${this.idx}.webp` :
`meta-gs/artifact/imgs/${this.setName}/${this.idx}.webp` :
`meta-sr/artifact/${this.setName}/arti-${this.idx}.webp`
}

View File

@ -208,6 +208,9 @@ export default class Avatar extends Base {
// 设置天赋
setTalent (ds = false, mode = 'original', updateTime = '') {
if (!this.char) {
return false
}
const now = this._now || (new Date()) * 1
if (ds) {
let ret = this.char.getAvatarTalent(ds, this.cons, mode)

View File

@ -299,7 +299,7 @@ class Character extends Base {
}
try {
let name = this.isTraveler ? `旅行者/${this.elem}` : this.name
this.meta._detail = Data.readJSON(`resources/meta${this.isSr ? '-sr' : ''}/character/${name}/data.json`, 'miao')
this.meta._detail = Data.readJSON(`resources/meta-${this.game}/character/${name}/data.json`, 'miao')
} catch (e) {
console.log(e)
}

View File

@ -6,8 +6,8 @@ import Base from './Base.js'
import { Data } from '#miao'
import MaterialMeta from './material/MaterialMeta.js'
let data = Data.readJSON('resources/meta/material/data.json','miao')
let abbr = await Data.importDefault('resources/meta/material/abbr.js', 'miao')
let data = Data.readJSON('resources/meta-gs/material/data.json','miao')
let abbr = await Data.importDefault('resources/meta-gs/material/abbr.js', 'miao')
let mMap = {}
let getItem = (ds) => {
mMap[ds.name] = {
@ -72,7 +72,7 @@ class Material extends Base {
}
get img () {
return `meta/material/${this.type}/${this.name}.webp`
return `meta-gs/material/${this.type}/${this.name}.webp`
}
get icon () {

View File

@ -63,7 +63,7 @@ export default class Player extends Base {
let imgs = char?.imgs || {}
return {
face: imgs.face || '/common/item/face.webp',
banner: imgs.banner || `/meta${this.isSr ? '-sr' : ''}/character/common/imgs/banner.webp`
banner: imgs.banner || `/meta-${this.game}/character/common/imgs/banner.webp`
}
}

View File

@ -1,11 +1,11 @@
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import Base from './Base.js'
import { Character } from './index.js'
import DmgBuffs from './dmg/DmgBuffs.js'
import DmgAttr from './dmg/DmgAttr.js'
import DmgCalc from './dmg/DmgCalc.js'
import { Common, MiaoError, Meta } from '#miao'
import { MiaoError, Meta } from '#miao'
export default class ProfileDmg extends Base {
constructor (profile = {}, game = 'gs') {
@ -20,18 +20,11 @@ export default class ProfileDmg extends Base {
static dmgRulePath (name, game = 'gs') {
const _path = process.cwd()
const meta = game === 'sr' ? 'meta-sr' : 'meta'
let path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc_user.js`
for (let file of ['calc_user', 'calc_auto', 'calc']) {
let path = `${_path}/plugins/miao-plugin/resources/meta-${game}/character/${name}/${file}.js`
if (fs.existsSync(path)) {
return path
}
path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc_auto.js`
if (fs.existsSync(path) && Common.cfg('teamCalc')) {
return path
}
path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc.js`
if (fs.existsSync(path)) {
return path
}
return false
}

View File

@ -29,7 +29,7 @@ class Weapon extends Base {
}
get img () {
return `${this.isGs ? 'meta' : 'meta-sr'}/weapon/${this.type}/${this.name}/icon.webp`
return `${this.isGs ? 'meta-gs' : 'meta-sr'}/weapon/${this.type}/${this.name}/icon.webp`
}
get abbr () {
@ -41,9 +41,9 @@ class Weapon extends Base {
get imgs () {
if (this.isGs) {
return {
icon: `meta/weapon/${this.type}/${this.name}/icon.webp`,
icon2: `meta/weapon/${this.type}/${this.name}/awaken.webp`,
gacha: `meta/weapon/${this.type}/${this.name}/gacha.webp`
icon: `meta-gs/weapon/${this.type}/${this.name}/icon.webp`,
icon2: `meta-gs/weapon/${this.type}/${this.name}/awaken.webp`,
gacha: `meta-gs/weapon/${this.type}/${this.name}/gacha.webp`
}
} else {
return {
@ -114,7 +114,7 @@ class Weapon extends Base {
if (this._detail) {
return this._detail
}
const path = this.isGs ? 'resources/meta/weapon' : 'resources/meta-sr/weapon'
const path = this.isGs ? 'resources/meta-gs/weapon' : 'resources/meta-sr/weapon'
try {
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
} catch (e) {

View File

@ -117,6 +117,11 @@ let ArtisMark = {
mainKey = 'dmg'
}
fixPct = Math.max(0, Math.min(1, (attrs[mainKey]?.weight || 0) / (posMaxMark['m' + idx])))
if (game === 'gs') {
if (['atk', 'hp', 'def'].includes(mainKey) && attrs[mainKey]?.weight >= 75) {
fixPct = 1
}
}
}
ret += (attrs[mainKey]?.mark || 0) * (mAttr.value || 0) / 4
}
@ -201,7 +206,7 @@ let ArtisMark = {
})
let setData = artis.getSetData()
artis.mark = totalMark
artis.markClass = ArtisMark.getMarkClass(totalMark / 5)
artis.markClass = ArtisMark.getMarkClass(totalMark / (this.isGs ? 5 : 6))
let ret = {
classTitle: charCfg.classTitle,
artis: artisRet,

View File

@ -84,7 +84,7 @@ const ArtisMarkCfg = {
}
let charRule = char.getArtisCfg() || function ({ def }) {
return def(usefulAttr[char.name] || {})
return def(usefulAttr[char.name] || { atk: 75, cpct: 100, cdmg: 100, dmg: 100, phy: 100 })
}
if (charRule) {

View File

@ -1,7 +1,7 @@
import lodash from 'lodash'
import moment from 'moment'
import { Data } from '#miao'
import { chestInfo } from '../../resources/meta/info/index.js'
import { chestInfo } from '../../resources/meta-gs/info/index.js'
import AvatarUtil from './AvatarUtil.js'
const MysAvatar = {

View File

@ -64,7 +64,7 @@ const ProfileAvatar = {
return this.char.getImgs(profile._costume).splash
}
let nPath = `meta/character/${name}`
let nPath = `meta-gs/character/${name}`
let isSuper = false
let talent = profile.talent ? lodash.map(profile.talent, (ds) => ds.original).join('') : ''
if (profile.cons === 6 || ['ACE', 'MAX'].includes(profile.artis?.markClass) || talent === '101010') {

View File

@ -1,8 +1,8 @@
import { Data } from '#miao'
import lodash from 'lodash'
import fs from 'fs'
import fs from 'node:fs'
const charPath = process.cwd() + '/plugins/miao-plugin/resources/meta/character'
const charPath = process.cwd() + '/plugins/miao-plugin/resources/meta-gs/character'
let cfgMap = {
char: {},
async init () {
@ -28,7 +28,7 @@ let cfgMap = {
return fs.existsSync(`${charPath}/${char}/${file}.js`)
},
async getCfg (char, file, module = '') {
let cfg = await Data.importModule(`resources/meta/character/${char}/${file}.js`, 'miao')
let cfg = await Data.importModule(`resources/meta-gs/character/${char}/${file}.js`, 'miao')
if (module) {
return cfg[module]
}

View File

@ -1,7 +1,7 @@
/**
* 角色照片及角色图像资源相关
* */
import fs from 'fs'
import fs from 'node:fs'
import lodash from 'lodash'
import sizeOf from 'image-size'
import { Cfg } from '#miao'
@ -90,8 +90,8 @@ const CharImg = {
if (!['空', '荧', '旅行者'].includes(name)) {
travelerElem = ''
}
const nPath = `/meta/character/${name}/`
const tPath = `/meta/character/旅行者/${travelerElem}/`
const nPath = `/meta-gs/character/${name}/`
const tPath = `/meta-gs/character/旅行者/${travelerElem}/`
let add = (key, path, path2) => {
if (path2 && fs.existsSync(`${rPath}/${nPath}/${path2}.${fileType}`)) {
imgs[key] = `${nPath}${path2}.${fileType}`

View File

@ -14,9 +14,9 @@ import Weapon from './Weapon.js'
import User from './User.js'
import MysApi from './MysApi.js'
for (let game of ['meta', 'meta-sr']) {
for (let game of ['gs', 'sr']) {
for (let type of ['artifact', 'character', 'material', 'weapon']) {
let file = `./plugins/miao-plugin/resources/${game}/${type}/index.js`
let file = `./plugins/miao-plugin/resources/meta-${game}/${type}/index.js`
if (fs.existsSync(file)) {
try {
await import(`file://${process.cwd()}/${file}`)

View File

@ -8,8 +8,8 @@
{{block 'main'}}
<div class="uid">UID {{uid}}</div>
<div class="artis">
<div class="profile-cont game-{{game}}">
<div class="artis">
{{each artis ds}}
<div class="item arti">
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
@ -29,7 +29,8 @@
{{each ds.attrs attr}}
{{if attr && attr.key}}
<li class="{{ds.charWeight[attr.key]*1 > 79.9 ?`great`:(ds.charWeight[attr.key]*1>0 ? `useful`:`nouse`)}}">
<span class="title">{{if attr.eff}}<i class="eff">{{attr.eff || ''}}</i>{{/if}}{{if attr.upNum}}<i class="up-num up-{{attr.upNum}}"></i>{{/if}}{{artisKeyTitle[attr.key]}}</span>
<span class="title">{{if attr.eff}}<i class="eff">{{attr.eff || ''}}</i>{{/if}}{{if attr.upNum}}<i
class="up-num up-{{attr.upNum}}"></i>{{/if}}{{artisKeyTitle[attr.key]}}</span>
<span class="val">+{{attr.value}}</span></li>
{{/if}}
{{/each}}
@ -37,5 +38,6 @@
{{/if}}
</div>
{{/each}}
</div>
</div>
{{/block}}

View File

@ -57,7 +57,6 @@ body,
width: 650px;
position: relative;
z-index: 2;
padding: 0 10px;
}
.artis .no-bg {
opacity: 0;

View File

@ -12,7 +12,8 @@
{{block 'main'}}
{{set ad = artisDetail}}
<div class="basic">
<div class="profile-cont game-{{game}}">
<div class="basic">
<div class="main-pic"
style="background-image:url({{_res_path}}{{splash}})"></div>
<div class="detail">
@ -29,10 +30,10 @@
</div>
</div>
</div>
</div>
</div>
<div class="artis">
<div class="artis">
<% for(let idx = 1; idx<=(game==='gs'?5:6); idx++) {
let ds = ad?.artis[idx]
%>
@ -100,18 +101,18 @@
{{/if}}
</div>
<% } %>
</div>
</div>
{{if changeProfile}}
<div class="cont">
{{if changeProfile}}
<div class="cont">
<div class="cont-footer dmg-desc">
<strong>该面板为非实际数据。当前替换命令:</strong> {{changeProfile}}
</div>
</div>
{{/if}}
</div>
{{/if}}
<!-- 词条规则 -->
<div class="cont">
<!-- 词条规则 -->
<div class="cont">
<div class="cont-title">
{{data.name}}评分规则: {{charCfg.classTitle}}
</div>
@ -150,10 +151,10 @@
<li><strong>词条得分:</strong> 词条数值 * 当前词条每点得分。小攻击、小防御、小生命折算为对应百分比词条进行计分</li>
<li><strong>原始总分(对齐前):</strong>计算所有副词条的评分之和沙杯头三个位置附加25%的主词条评分</li>
</ul>
</div>
</div>
<!-- 位置规则 -->
<div class="cont">
<!-- 位置规则 -->
<div class="cont">
<div class="cont-title">
圣遗物评分计算
</div>
@ -211,10 +212,10 @@
<li><strong>得分级别:</strong>MAX(&gt;56分) / ACE(&gt;49分) / SSS(&gt;42分) / SS(&gt;35分) / S(&gt;28分) / A / B / C / D
</li>
</ul>
</div>
</div>
<div class="cont">
<div class="cont">
<div class="cont-title">圣遗物评分补充说明</div>
<ul class="cont-msg">
<li>圣遗物评分的目标是对角色圣遗物词条进行一个快速的评估,一般来说评分更高的圣遗物可能会更匹配角色</li>
@ -224,5 +225,6 @@
<li>喵喵逻辑与通用的评分不同,请勿横向比较分值。当前评分逻辑仍在完善中,如有问题请反馈给喵喵</li>
<li>目前为角色通用逻辑,后期会补充同角色不同流派(例如血牛钟离、暴力芭芭拉)的判定及评分逻辑,以使评分更加精准</li>
</ul>
</div>
</div>
{{/block}}

View File

@ -76,7 +76,6 @@ body, .container {
width: 650px;
position: relative;
z-index: 2;
padding: 0 10px;
.no-bg {
opacity: 0;

View File

@ -143,6 +143,9 @@ body {
.char-attr li .value2 .base {
color: #eee;
}
.char-attr li .value2 .base.zero {
color: #aaaa;
}
.char-attr li .value2 .plus {
color: #90e800;
}
@ -289,42 +292,6 @@ body {
filter: grayscale(100%);
opacity: 0.4;
}
.elem_anemo .talent-icon {
background-image: url(../common/bg/talent-anemo.png);
}
.elem_anemo .container {
background-image: url(../common/bg/bg-anemo.jpg);
}
.elem_cryo .talent-icon {
background-image: url(../common/bg/talent-cryo.png);
}
.elem_cryo .container {
background-image: url(../common/bg/bg-cryo.jpg);
}
.elem_electro .talent-icon {
background-image: url(../common/bg/talent-electro.png);
}
.elem_electro .container {
background-image: url(../common/bg/bg-electro.jpg);
}
.elem_geo .talent-icon {
background-image: url(../common/bg/talent-geo.png);
}
.elem_geo .container {
background-image: url(../common/bg/bg-geo.jpg);
}
.elem_hydro .talent-icon {
background-image: url(../common/bg/talent-hydro.png);
}
.elem_hydro .container {
background-image: url(../common/bg/bg-hydro.jpg);
}
.elem_pyro .talent-icon {
background-image: url(../common/bg/talent-pyro.png);
}
.elem_pyro .container {
background-image: url(../common/bg/bg-pyro.jpg);
}
.data-info {
position: absolute;
bottom: -10px;
@ -402,28 +369,30 @@ body {
.dmg-cont .tr > div.value-none {
box-shadow: none;
}
.dmg-cont .thead {
.dmg-cont .tr.thead {
text-align: center;
}
.dmg-cont .thead > div {
.dmg-cont .tr.thead > div {
color: #d3bc8e;
background: rgba(0, 0, 0, 0.4);
line-height: 40px;
height: 40px;
font-size: 15px;
}
.dmg-cont .title,
.dmg-cont .th {
.dmg-cont .tr .title,
.dmg-cont .tr .th {
color: #d3bc8e;
padding-right: 15px;
text-align: right;
background: rgba(0, 0, 0, 0.4);
min-width: 100px;
font-size: 15px;
}
.profile-mode .dmg-idx {
display: none !important;
}
.profile-mode .dmg-title {
width: 33.3333%;
width: 40%;
}
.dmg-mode .dmg-idx,
.weapon-mode .dmg-idx {
@ -976,6 +945,7 @@ body {
display: table;
color: #fff;
min-height: 100px;
width: 100%;
}
.sr-weapon .weapon-img {
display: table-cell;

View File

@ -60,7 +60,7 @@
{{attr[key]}}
</div>
<div class="value2">
<span class="base">{{attr[key+'Base']}}</span>
<span class="base {{attr[key+'Base'] === '0.0%' ? 'zero':''}}">{{attr[key+'Base']}}</span>
<span class="plus">+{{attr[key+'Plus']}}</span>
</div>

View File

@ -160,6 +160,10 @@ body {
.base {
color: #eee;
&.zero {
color: #aaaa;
}
}
.plus {
@ -347,59 +351,6 @@ body {
}
.elem_anemo .talent-icon {
background-image: url(../common/bg/talent-anemo.png)
}
.elem_anemo .container {
background-image: url(../common/bg/bg-anemo.jpg);
}
.elem_cryo .talent-icon {
background-image: url(../common/bg/talent-cryo.png)
}
.elem_cryo .container {
background-image: url(../common/bg/bg-cryo.jpg);
}
.elem_electro .talent-icon {
background-image: url(../common/bg/talent-electro.png)
}
.elem_electro .container {
background-image: url(../common/bg/bg-electro.jpg);
}
.elem_geo .talent-icon {
background-image: url(../common/bg/talent-geo.png)
}
.elem_geo .container {
background-image: url(../common/bg/bg-geo.jpg);
}
.elem_hydro .talent-icon {
background-image: url(../common/bg/talent-hydro.png)
}
.elem_hydro .container {
background-image: url(../common/bg/bg-hydro.jpg);
}
.elem_pyro .talent-icon {
background-image: url(../common/bg/talent-pyro.png)
}
.elem_pyro .container {
background-image: url(../common/bg/bg-pyro.jpg);
}
.data-info {
position: absolute;
bottom: -10px;
@ -446,13 +397,13 @@ body {
color: #d3bc8e;
padding: 10px 20px;
text-align: left;
}
.cont-title span {
span {
font-size: 12px;
color: #aaa;
margin-left: 10px;
font-weight: normal;
}
}
.cont-footer {
@ -469,49 +420,52 @@ body {
.dmg-cont .tr {
display: table-row;
}
.dmg-cont .tr:nth-child(even) {
&:nth-child(even) {
background: rgba(0, 0, 0, .4);
}
}
.dmg-cont .tr:nth-child(odd) {
&:nth-child(odd) {
background: rgba(50, 50, 50, .4);
}
}
.dmg-cont .tr > div {
& > div {
display: table-cell;
box-shadow: 0 0 1px 0 #fff;
}
.dmg-cont .tr > div.value-full {
&.value-full {
display: table;
width: 200%;
}
}
.dmg-cont .tr > div.value-none {
&.value-none {
box-shadow: none;
}
}
}
.dmg-cont .thead {
&.thead {
text-align: center;
}
.dmg-cont .thead > div {
& > div {
color: #d3bc8e;
background: rgba(0, 0, 0, .4);
line-height: 40px;
height: 40px;
}
font-size: 15px;
}
}
.dmg-cont .title,
.dmg-cont .th {
.title,
.th {
color: #d3bc8e;
padding-right: 15px;
text-align: right;
background: rgba(0, 0, 0, .4);
min-width: 100px;
font-size: 15px;
}
}
.profile-mode .dmg-idx {
@ -519,7 +473,7 @@ body {
}
.profile-mode .dmg-title {
width: 33.3333%;
width: 40%;
}
.dmg-mode,
@ -1199,6 +1153,7 @@ body {
display: table;
color: #fff;
min-height: 100px;
width: 100%;
.weapon-img {
display: table-cell;

View File

@ -8,16 +8,18 @@
{{block 'main'}}
{{set demo = chars[0]?.abbr || "雷神" }}
<div class="head-box">
<div class="profile-cont game-{{game}}">
<div class="head-box">
<div class="title">#面板列表
<div class="label">UID:{{uid}}</div>
</div>
{{if msg}}
<div class="label">{{msg}}</div>
{{/if}}
<div class="label">你可以使用<span>#{{demo}}面板</span><span>#{{demo}}伤害</span><span>#{{demo}}圣遗物</span>命令来查看面板信息了</div>
</div>
<div class="cont group-rank-tip {{groupRank?'has-rank':'no-rank'}}">
<div class="label">你可以使用<span>#{{demo}}面板</span><span>#{{demo}}伤害</span><span>#{{demo}}圣遗物</span>命令来查看面板信息了
</div>
</div>
<div class="cont group-rank-tip {{groupRank?'has-rank':'no-rank'}}">
<div class="cont-title">
{{if !allowRank}}
<span> <i class="group-rank-icon dmg-icon"></i>本面板暂未参与排名,参与要求:{{rankCfg.limitTxt}} </span>
@ -31,8 +33,8 @@
</span>
{{/if}}
</div>
</div>
<div class="cont {{groupRank?'has-rank':'no-rank'}}">
</div>
<div class="cont {{groupRank?'has-rank':'no-rank'}}">
<div class="char-list">
{{each chars char}}
<div class="char-item {{char.isNew&&hasNew ?'new-char':''}}">
@ -61,5 +63,6 @@
当前更新服务:{{servName}}
</span>
</div>
</div>
</div>
{{/block}}

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

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