diff --git a/.gitignore b/.gitignore
index a9f2eb124..7dc223640 100644
--- a/.gitignore
+++ b/.gitignore
@@ -124,3 +124,5 @@ gitversion
.version
/.version
*.swp
+
+*.fsdbinary
diff --git a/config.py b/config.py
index a84f471cf..5536e3795 100644
--- a/config.py
+++ b/config.py
@@ -24,8 +24,8 @@ saveInRoot = False
# Version data
-version = "2.1.1"
-tag = "Stable"
+version = "2.2.0b1"
+tag = "git"
expansionName = "Into the Abyss"
expansionVersion = "1.1"
evemonMinVersion = "4081"
diff --git a/eos/db/__init__.py b/eos/db/__init__.py
index 5341e84ae..f02e9d944 100644
--- a/eos/db/__init__.py
+++ b/eos/db/__init__.py
@@ -78,10 +78,10 @@ sd_lock = threading.RLock()
# Import all the definitions for all our database stuff
# noinspection PyPep8
-from eos.db.gamedata import alphaClones, attribute, category, effect, group, icon, item, marketGroup, metaData, metaGroup, queries, traits, unit
+from eos.db.gamedata import alphaClones, attribute, category, effect, group, item, marketGroup, metaData, metaGroup, queries, traits, unit, dynamicAttributes
# noinspection PyPep8
from eos.db.saveddata import booster, cargo, character, damagePattern, databaseRepair, drone, fighter, fit, implant, implantSet, loadDefaultDatabaseValues, \
- miscData, module, override, price, queries, skill, targetResists, user
+ miscData, mutator, module, override, price, queries, skill, targetResists, user
# Import queries
# noinspection PyPep8
diff --git a/eos/db/gamedata/__init__.py b/eos/db/gamedata/__init__.py
index eabfd7f1b..465433a26 100644
--- a/eos/db/gamedata/__init__.py
+++ b/eos/db/gamedata/__init__.py
@@ -1,2 +1,2 @@
-__all__ = ["attribute", "category", "effect", "group", "metaData",
- "icon", "item", "marketGroup", "metaGroup", "unit", "alphaClones"]
+__all__ = ["attribute", "category", "effect", "group", "metaData", "dynamicAttributes",
+ "item", "marketGroup", "metaGroup", "unit", "alphaClones"]
diff --git a/eos/db/gamedata/attribute.py b/eos/db/gamedata/attribute.py
index 20de4d1a9..727037421 100644
--- a/eos/db/gamedata/attribute.py
+++ b/eos/db/gamedata/attribute.py
@@ -22,7 +22,7 @@ from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm import relation, mapper, synonym, deferred
from eos.db import gamedata_meta
-from eos.gamedata import Attribute, AttributeInfo, Unit, Icon
+from eos.gamedata import Attribute, AttributeInfo, Unit
typeattributes_table = Table("dgmtypeattribs", gamedata_meta,
Column("value", Float),
@@ -38,7 +38,7 @@ attributes_table = Table("dgmattribs", gamedata_meta,
Column("published", Boolean),
Column("displayName", String),
Column("highIsGood", Boolean),
- Column("iconID", Integer, ForeignKey("icons.iconID")),
+ Column("iconID", Integer),
Column("unitID", Integer, ForeignKey("dgmunits.unitID")))
mapper(Attribute, typeattributes_table,
@@ -46,7 +46,6 @@ mapper(Attribute, typeattributes_table,
mapper(AttributeInfo, attributes_table,
properties={
- "icon" : relation(Icon),
"unit" : relation(Unit),
"ID" : synonym("attributeID"),
"name" : synonym("attributeName"),
diff --git a/eos/db/gamedata/category.py b/eos/db/gamedata/category.py
index 0fd84da79..c167cf1df 100644
--- a/eos/db/gamedata/category.py
+++ b/eos/db/gamedata/category.py
@@ -21,18 +21,17 @@ from sqlalchemy import Column, String, Integer, ForeignKey, Boolean, Table
from sqlalchemy.orm import relation, mapper, synonym, deferred
from eos.db import gamedata_meta
-from eos.gamedata import Category, Icon
+from eos.gamedata import Category
categories_table = Table("invcategories", gamedata_meta,
Column("categoryID", Integer, primary_key=True),
Column("categoryName", String),
Column("description", String),
Column("published", Boolean),
- Column("iconID", Integer, ForeignKey("icons.iconID")))
+ Column("iconID", Integer))
mapper(Category, categories_table,
properties={
- "icon" : relation(Icon),
"ID" : synonym("categoryID"),
"name" : synonym("categoryName"),
"description": deferred(categories_table.c.description)
diff --git a/eos/db/gamedata/dynamicAttributes.py b/eos/db/gamedata/dynamicAttributes.py
new file mode 100644
index 000000000..be0e9b9d1
--- /dev/null
+++ b/eos/db/gamedata/dynamicAttributes.py
@@ -0,0 +1,66 @@
+# ===============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of eos.
+#
+# eos is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# eos is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with eos. If not, see .
+# ===============================================================================
+
+from sqlalchemy import Column, Float, Integer, Table, ForeignKey
+from sqlalchemy.orm import mapper, relation, synonym
+from sqlalchemy.ext.associationproxy import association_proxy
+
+from eos.db import gamedata_meta
+from eos.gamedata import DynamicItem, DynamicItemAttribute, DynamicItemItem, Item
+
+from eos.gamedata import AttributeInfo
+
+dynamic_table = Table("mutaplasmids", gamedata_meta,
+ Column("typeID", ForeignKey("invtypes.typeID"), primary_key=True, index=True),
+ Column("resultingTypeID", ForeignKey("invtypes.typeID"), primary_key=True))
+
+dynamicAttributes_table = Table("mutaplasmidAttributes", gamedata_meta,
+ Column("typeID", Integer, ForeignKey("mutaplasmids.typeID"), primary_key=True),
+ Column("attributeID", ForeignKey("dgmattribs.attributeID"), primary_key=True),
+ Column("min", Float),
+ Column("max", Float))
+
+dynamicApplicable_table = Table("mutaplasmidItems", gamedata_meta,
+ Column("typeID", ForeignKey("mutaplasmids.typeID"), primary_key=True),
+ Column("applicableTypeID", ForeignKey("invtypes.typeID"), primary_key=True),
+ )
+
+mapper(DynamicItem, dynamic_table, properties={
+ "attributes": relation(DynamicItemAttribute),
+ "item": relation(Item, foreign_keys=[dynamic_table.c.typeID]),
+ "resultingItem": relation(Item, foreign_keys=[dynamic_table.c.resultingTypeID]),
+ "ID": synonym("typeID"),
+})
+
+mapper(DynamicItemAttribute, dynamicAttributes_table,
+ properties={"info": relation(AttributeInfo, lazy=False)})
+
+mapper(DynamicItemItem, dynamicApplicable_table, properties={
+ "mutaplasmid": relation(DynamicItem),
+ })
+
+DynamicItemAttribute.ID = association_proxy("info", "attributeID")
+DynamicItemAttribute.name = association_proxy("info", "attributeName")
+DynamicItemAttribute.description = association_proxy("info", "description")
+DynamicItemAttribute.published = association_proxy("info", "published")
+DynamicItemAttribute.displayName = association_proxy("info", "displayName")
+DynamicItemAttribute.highIsGood = association_proxy("info", "highIsGood")
+DynamicItemAttribute.iconID = association_proxy("info", "iconID")
+DynamicItemAttribute.icon = association_proxy("info", "icon")
+DynamicItemAttribute.unit = association_proxy("info", "unit")
diff --git a/eos/db/gamedata/group.py b/eos/db/gamedata/group.py
index 4373b2ca5..a9a66a8ef 100644
--- a/eos/db/gamedata/group.py
+++ b/eos/db/gamedata/group.py
@@ -18,10 +18,10 @@
# ===============================================================================
from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table
-from sqlalchemy.orm import relation, mapper, synonym, deferred
+from sqlalchemy.orm import relation, mapper, synonym, deferred, backref
from eos.db import gamedata_meta
-from eos.gamedata import Category, Group, Icon
+from eos.gamedata import Category, Group
groups_table = Table("invgroups", gamedata_meta,
Column("groupID", Integer, primary_key=True),
@@ -29,12 +29,11 @@ groups_table = Table("invgroups", gamedata_meta,
Column("description", String),
Column("published", Boolean),
Column("categoryID", Integer, ForeignKey("invcategories.categoryID")),
- Column("iconID", Integer, ForeignKey("icons.iconID")))
+ Column("iconID", Integer))
mapper(Group, groups_table,
properties={
- "category" : relation(Category, backref="groups"),
- "icon" : relation(Icon),
+ "category" : relation(Category, backref=backref("groups", cascade="all,delete")),
"ID" : synonym("groupID"),
"name" : synonym("groupName"),
"description": deferred(groups_table.c.description)
diff --git a/eos/db/gamedata/item.py b/eos/db/gamedata/item.py
index 1760f9157..767029d21 100644
--- a/eos/db/gamedata/item.py
+++ b/eos/db/gamedata/item.py
@@ -19,12 +19,13 @@
from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table, Float
from sqlalchemy.ext.associationproxy import association_proxy
-from sqlalchemy.orm import relation, mapper, synonym, deferred
+from sqlalchemy.orm import relation, mapper, synonym, deferred, backref
from sqlalchemy.orm.collections import attribute_mapped_collection
from eos.db.gamedata.effect import typeeffects_table
from eos.db import gamedata_meta
-from eos.gamedata import Attribute, Effect, Group, Icon, Item, MetaType, Traits
+from eos.gamedata import Attribute, Effect, Group, Item, MetaType, Traits, DynamicItemItem, DynamicItem
+from eos.db.gamedata.dynamicAttributes import dynamicApplicable_table, dynamic_table
items_table = Table("invtypes", gamedata_meta,
Column("typeID", Integer, primary_key=True),
@@ -37,7 +38,8 @@ items_table = Table("invtypes", gamedata_meta,
Column("capacity", Float),
Column("published", Boolean),
Column("marketGroupID", Integer, ForeignKey("invmarketgroups.marketGroupID")),
- Column("iconID", Integer, ForeignKey("icons.iconID")),
+ Column("iconID", Integer),
+ Column("graphicID", Integer),
Column("groupID", Integer, ForeignKey("invgroups.groupID"), index=True))
from .metaGroup import metatypes_table # noqa
@@ -45,8 +47,7 @@ from .traits import traits_table # noqa
mapper(Item, items_table,
properties={
- "group" : relation(Group, backref="items"),
- "icon" : relation(Icon),
+ "group" : relation(Group, backref=backref("items", cascade="all,delete")),
"_Item__attributes": relation(Attribute, cascade='all, delete, delete-orphan', collection_class=attribute_mapped_collection('name')),
"effects": relation(Effect, secondary=typeeffects_table, collection_class=attribute_mapped_collection('name')),
"metaGroup" : relation(MetaType,
@@ -57,7 +58,13 @@ mapper(Item, items_table,
"description" : deferred(items_table.c.description),
"traits" : relation(Traits,
primaryjoin=traits_table.c.typeID == items_table.c.typeID,
- uselist=False)
+ uselist=False),
+ "mutaplasmids": relation(DynamicItem,
+ primaryjoin=dynamicApplicable_table.c.applicableTypeID == items_table.c.typeID,
+ secondaryjoin=dynamicApplicable_table.c.typeID == DynamicItem.typeID,
+ secondary=dynamicApplicable_table,
+ backref="applicableItems"
+ )
})
Item.category = association_proxy("group", "category")
diff --git a/eos/db/gamedata/marketGroup.py b/eos/db/gamedata/marketGroup.py
index faf88780b..8bd04f401 100644
--- a/eos/db/gamedata/marketGroup.py
+++ b/eos/db/gamedata/marketGroup.py
@@ -21,7 +21,7 @@ from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table
from sqlalchemy.orm import relation, mapper, synonym, deferred
from eos.db import gamedata_meta
-from eos.gamedata import Icon, Item, MarketGroup
+from eos.gamedata import Item, MarketGroup
marketgroups_table = Table("invmarketgroups", gamedata_meta,
Column("marketGroupID", Integer, primary_key=True),
@@ -30,14 +30,13 @@ marketgroups_table = Table("invmarketgroups", gamedata_meta,
Column("hasTypes", Boolean),
Column("parentGroupID", Integer,
ForeignKey("invmarketgroups.marketGroupID", initially="DEFERRED", deferrable=True)),
- Column("iconID", Integer, ForeignKey("icons.iconID")))
+ Column("iconID", Integer))
mapper(MarketGroup, marketgroups_table,
properties={
"items" : relation(Item, backref="marketGroup"),
"parent" : relation(MarketGroup, backref="children",
remote_side=[marketgroups_table.c.marketGroupID]),
- "icon" : relation(Icon),
"ID" : synonym("marketGroupID"),
"name" : synonym("marketGroupName"),
"description": deferred(marketgroups_table.c.description)
diff --git a/eos/db/gamedata/queries.py b/eos/db/gamedata/queries.py
index 737169897..956ef054e 100644
--- a/eos/db/gamedata/queries.py
+++ b/eos/db/gamedata/queries.py
@@ -17,15 +17,16 @@
# along with eos. If not, see .
# ===============================================================================
-from sqlalchemy.orm import join, exc, aliased
+from sqlalchemy.orm import join, exc, aliased, joinedload, subqueryload
from sqlalchemy.sql import and_, or_, select
+from sqlalchemy.inspection import inspect
import eos.config
from eos.db import gamedata_session
from eos.db.gamedata.metaGroup import metatypes_table, items_table
from eos.db.gamedata.group import groups_table
from eos.db.util import processEager, processWhere
-from eos.gamedata import AlphaClone, Attribute, Category, Group, Item, MarketGroup, MetaGroup, AttributeInfo, MetaData
+from eos.gamedata import AlphaClone, Attribute, Category, Group, Item, MarketGroup, MetaGroup, AttributeInfo, MetaData, DynamicItem
cache = {}
configVal = getattr(eos.config, "gamedataCache", None)
@@ -97,6 +98,35 @@ def getItem(lookfor, eager=None):
return item
+def getMutaplasmid(lookfor, eager=None):
+ if isinstance(lookfor, int):
+ item = gamedata_session.query(DynamicItem).filter(DynamicItem.ID == lookfor).first()
+ else:
+ raise TypeError("Need integer as argument")
+ return item
+
+
+def getItemWithBaseItemAttribute(lookfor, baseItemID, eager=None):
+ # A lot of this is described in more detail in #1597
+ item = gamedata_session.query(Item).get(lookfor)
+ base = getItem(baseItemID)
+
+ # we have to load all attributes for this object, otherwise we'll lose access to them when we expunge.
+ # todo: figure out a way to eagerly load all these via the query...
+ for x in [*inspect(Item).relationships.keys(), 'description']:
+ getattr(item, x)
+
+ # Copy over the attributes from the base, but ise the items attributes when there's an overlap
+ # WARNING: the attribute object still has the old typeID. I don't believe we access this typeID anywhere in the code,
+ # but should keep this in mind for now.
+ item._Item__attributes = {**base.attributes, **item.attributes}
+
+ # Expunge the item form the session. This is required to have different Abyssal / Base combinations loaded in memory.
+ # Without expunging it, once one Abyssal Web is created, SQLAlchmey will use it for all others. We don't want this,
+ # we want to generate a completely new object to work with
+ gamedata_session.expunge(item)
+ return item
+
@cachedQuery(1, "lookfor")
def getItems(lookfor, eager=None):
"""
@@ -361,6 +391,10 @@ def directAttributeRequest(itemIDs, attrIDs):
return result
+def getAbyssalTypes():
+ return set([r.resultingTypeID for r in gamedata_session.query(DynamicItem.resultingTypeID).distinct()])
+
+
def getRequiredFor(itemID, attrMapping):
Attribute1 = aliased(Attribute)
Attribute2 = aliased(Attribute)
diff --git a/eos/db/migrations/upgrade28.py b/eos/db/migrations/upgrade28.py
new file mode 100644
index 000000000..2ca735414
--- /dev/null
+++ b/eos/db/migrations/upgrade28.py
@@ -0,0 +1,18 @@
+"""
+Migration 28
+
+- adds baseItemID and mutaplasmidID to modules table
+"""
+import sqlalchemy
+
+
+def upgrade(saveddata_engine):
+ try:
+ saveddata_engine.execute("SELECT baseItemID FROM modules LIMIT 1")
+ except sqlalchemy.exc.DatabaseError:
+ saveddata_engine.execute("ALTER TABLE modules ADD COLUMN baseItemID INT;")
+
+ try:
+ saveddata_engine.execute("SELECT mutaplasmidID FROM modules LIMIT 1")
+ except sqlalchemy.exc.DatabaseError:
+ saveddata_engine.execute("ALTER TABLE modules ADD COLUMN mutaplasmidID INT;")
diff --git a/eos/db/saveddata/__init__.py b/eos/db/saveddata/__init__.py
index ba1ddad73..c36517623 100644
--- a/eos/db/saveddata/__init__.py
+++ b/eos/db/saveddata/__init__.py
@@ -1,6 +1,7 @@
__all__ = [
"character",
"fit",
+ "mutator",
"module",
"user",
"skill",
diff --git a/eos/db/saveddata/module.py b/eos/db/saveddata/module.py
index 149f4f73c..220b208db 100644
--- a/eos/db/saveddata/module.py
+++ b/eos/db/saveddata/module.py
@@ -18,17 +18,21 @@
# ===============================================================================
from sqlalchemy import Table, Column, Integer, ForeignKey, CheckConstraint, Boolean, DateTime
+from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.orm import relation, mapper
import datetime
from eos.db import saveddata_meta
from eos.saveddata.module import Module
+from eos.saveddata.mutator import Mutator
from eos.saveddata.fit import Fit
modules_table = Table("modules", saveddata_meta,
Column("ID", Integer, primary_key=True),
Column("fitID", Integer, ForeignKey("fits.ID"), nullable=False, index=True),
Column("itemID", Integer, nullable=True),
+ Column("baseItemID", Integer, nullable=True),
+ Column("mutaplasmidID", Integer, nullable=True),
Column("dummySlot", Integer, nullable=True, default=None),
Column("chargeID", Integer),
Column("state", Integer, CheckConstraint("state >= -1"), CheckConstraint("state <= 2")),
@@ -39,4 +43,12 @@ modules_table = Table("modules", saveddata_meta,
CheckConstraint('("dummySlot" = NULL OR "itemID" = NULL) AND "dummySlot" != "itemID"'))
mapper(Module, modules_table,
- properties={"owner": relation(Fit)})
+ properties={
+ "owner": relation(Fit),
+ "mutators": relation(
+ Mutator,
+ backref="module",
+ cascade="all,delete-orphan",
+ collection_class=attribute_mapped_collection('attrID')
+ )
+ })
diff --git a/eos/db/gamedata/icon.py b/eos/db/saveddata/mutator.py
similarity index 52%
rename from eos/db/gamedata/icon.py
rename to eos/db/saveddata/mutator.py
index 9fd41605a..43ecff834 100644
--- a/eos/db/gamedata/icon.py
+++ b/eos/db/saveddata/mutator.py
@@ -17,19 +17,19 @@
# along with eos. If not, see .
# ===============================================================================
-from sqlalchemy import Column, String, Integer, Table
-from sqlalchemy.orm import mapper, synonym, deferred
+from sqlalchemy import Table, Column, Integer, ForeignKey, Boolean, DateTime, Float
+from sqlalchemy.orm import mapper
+import datetime
-from eos.db import gamedata_meta
-from eos.gamedata import Icon
+from eos.db import saveddata_meta
+from eos.saveddata.mutator import Mutator
-icons_table = Table("icons", gamedata_meta,
- Column("iconID", Integer, primary_key=True),
- Column("description", String),
- Column("iconFile", String))
+mutator_table = Table("mutators", saveddata_meta,
+ Column("moduleID", Integer, ForeignKey("modules.ID"), primary_key=True, index=True),
+ Column("attrID", Integer, primary_key=True, index=True),
+ Column("value", Float, nullable=False),
+ Column("created", DateTime, nullable=True, default=datetime.datetime.now),
+ Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now)
+ )
-mapper(Icon, icons_table,
- properties={
- "ID" : synonym("iconID"),
- "description": deferred(icons_table.c.description)
- })
+mapper(Mutator, mutator_table)
diff --git a/eos/effects/remotewebifiermaxrangebonus.py b/eos/effects/remotewebifiermaxrangebonus.py
index 19498882a..46e5887dd 100644
--- a/eos/effects/remotewebifiermaxrangebonus.py
+++ b/eos/effects/remotewebifiermaxrangebonus.py
@@ -7,4 +7,4 @@ type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange",
- src.getModifiedItemAttr("stasisWebRangeBonus"), stackingPenalties=True)
+ src.getModifiedItemAttr("stasisWebRangeBonus"), stackingPenalties=False)
diff --git a/eos/effects/rolebonuswdrange.py b/eos/effects/rolebonuswdrange.py
index 3d6cbdf24..02e61cf78 100644
--- a/eos/effects/rolebonuswdrange.py
+++ b/eos/effects/rolebonuswdrange.py
@@ -6,7 +6,7 @@ type = "passive"
def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloff",
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffEffectiveness",
src.getModifiedItemAttr("roleBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRange",
src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/gamedata.py b/eos/gamedata.py
index 7949361b9..342a4caf4 100644
--- a/eos/gamedata.py
+++ b/eos/gamedata.py
@@ -208,6 +208,8 @@ class Item(EqBase):
MOVE_ATTR_INFO = None
+ ABYSSAL_TYPES = None
+
@classmethod
def getMoveAttrInfo(cls):
info = getattr(cls, "MOVE_ATTR_INFO", None)
@@ -463,6 +465,17 @@ class Item(EqBase):
return self.__price
+ @property
+ def isAbyssal(self):
+ if Item.ABYSSAL_TYPES is None:
+ Item.getAbyssalYypes()
+
+ return self.ID in Item.ABYSSAL_TYPES
+
+ @classmethod
+ def getAbyssalYypes(cls):
+ cls.ABYSSAL_TYPES = eos.db.getAbyssalTypes()
+
def __repr__(self):
return "Item(ID={}, name={}) at {}".format(
self.ID, self.name, hex(id(self))
@@ -512,10 +525,17 @@ class Group(EqBase):
pass
-class Icon(EqBase):
+class DynamicItem(EqBase):
pass
+class DynamicItemAttribute(EqBase):
+ pass
+
+
+class DynamicItemItem(EqBase):
+ pass
+
class MarketGroup(EqBase):
def __repr__(self):
return "MarketGroup(ID={}, name={}, parent={}) at {}".format(
@@ -532,7 +552,101 @@ class MetaType(EqBase):
class Unit(EqBase):
- pass
+
+ def __init__(self):
+ self.name = None
+ self.displayName = None
+
+ @property
+ def translations(self):
+ """ This is a mapping of various tweaks that we have to do between the internal representation of an attribute
+ value and the display (for example, 'Millisecond' units have the display name of 's', so we have to convert value
+ from ms to s) """
+ return {
+ "Inverse Absolute Percent": (
+ lambda v: (1 - v) * 100,
+ lambda d: -1 * (d / 100) + 1,
+ lambda u: u),
+ "Inversed Modifier Percent": (
+ lambda v: (1 - v) * 100,
+ lambda d: -1 * (d / 100) + 1,
+ lambda u: u),
+ "Modifier Percent": (
+ lambda v: ("%+.2f" if ((v - 1) * 100) % 1 else "%+d") % ((v - 1) * 100),
+ lambda d: (d / 100) + 1,
+ lambda u: u),
+ "Volume": (
+ lambda v: v,
+ lambda d: d,
+ lambda u: "m³"),
+ "Sizeclass": (
+ lambda v: v,
+ lambda d: d,
+ lambda u: ""),
+ "Absolute Percent": (
+ lambda v: (v * 100),
+ lambda d: d / 100,
+ lambda u: u),
+ "Milliseconds": (
+ lambda v: v / 1000.0,
+ lambda d: d * 1000.0,
+ lambda u: u),
+ "Boolean": (
+ lambda v, u: "Yes" if v == 1 else "No",
+ lambda d: 1.0 if d == "Yes" else 0.0,
+ lambda u: ""),
+ "typeID": (
+ self.itemIDCallback,
+ None, # we could probably convert these back if we really tried hard enough
+ lambda u: ""),
+ "groupID": (
+ self.groupIDCallback,
+ None,
+ lambda u: ""),
+ "attributeID": (
+ self.attributeIDCallback,
+ None,
+ lambda u: ""),
+ }
+
+ @staticmethod
+ def itemIDCallback(v):
+ v = int(v)
+ item = eos.db.getItem(int(v))
+ return "%s (%d)" % (item.name, v) if item is not None else str(v)
+
+ @staticmethod
+ def groupIDCallback(v):
+ v = int(v)
+ group = eos.db.getGroup(v)
+ return "%s (%d)" % (group.name, v) if group is not None else str(v)
+
+ @staticmethod
+ def attributeIDCallback(v):
+ v = int(v)
+ if not v: # some attributes come through with a value of 0? See #1387
+ return "%d" % (v)
+ attribute = eos.db.getAttributeInfo(v, eager=("unit"))
+ return "%s (%d)" % (attribute.name.capitalize(), v)
+
+ def TranslateValue(self, value):
+ """Attributes have to be translated certain ways based on their unit (ex: decimals converting to percentages).
+ This allows us to get an easy representation of how the attribute should be printed """
+
+ override = self.translations.get(self.name)
+ if override is not None:
+ return override[0](value), override[2](self.displayName)
+
+ return value, self.displayName
+
+ def ComplicateValue(self, value):
+ """Takes the display value and turns it back into the internal representation of it"""
+
+ override = self.translations.get(self.name)
+ if override is not None:
+ return override[1](value)
+
+ return value
class Traits(EqBase):
diff --git a/eos/modifiedAttributeDict.py b/eos/modifiedAttributeDict.py
index b4c73c958..cb90d6679 100644
--- a/eos/modifiedAttributeDict.py
+++ b/eos/modifiedAttributeDict.py
@@ -33,6 +33,14 @@ class ItemAttrShortcut(object):
return return_value or default
+ def getBaseAttrValue(self, key, default=0):
+ '''
+ Gets base value in this order:
+ Mutated value > override value > attribute value
+ '''
+ return_value = self.itemModifiedAttributes.getOriginal(key)
+
+ return return_value or default
class ChargeAttrShortcut(object):
def getModifiedChargeAttr(self, key, default=0):
@@ -59,8 +67,10 @@ class ModifiedAttributeDict(collections.MutableMapping):
self.__modified = {}
# Affected by entities
self.__affectedBy = {}
- # Overrides
+ # Overrides (per item)
self.__overrides = {}
+ # Mutators (per module)
+ self.__mutators = {}
# Dictionaries for various value modification types
self.__forced = {}
self.__preAssigns = {}
@@ -100,6 +110,14 @@ class ModifiedAttributeDict(collections.MutableMapping):
def overrides(self, val):
self.__overrides = val
+ @property
+ def mutators(self):
+ return {x.attribute.name: x for x in self.__mutators.values()}
+
+ @mutators.setter
+ def mutators(self, val):
+ self.__mutators = val
+
def __getitem__(self, key):
# Check if we have final calculated value
key_value = self.__modified.get(key)
@@ -128,14 +146,16 @@ class ModifiedAttributeDict(collections.MutableMapping):
del self.__intermediary[key]
def getOriginal(self, key, default=None):
+ val = None
if self.overrides_enabled and self.overrides:
- val = self.overrides.get(key, None)
- else:
- val = None
+ val = self.overrides.get(key, val)
+
+ # mutators are overriden by overrides. x_x
+ val = self.mutators.get(key, val)
if val is None:
if self.original:
- val = self.original.get(key, None)
+ val = self.original.get(key, val)
if val is None and val != default:
val = default
diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py
index f6d27053c..8146561c5 100644
--- a/eos/saveddata/module.py
+++ b/eos/saveddata/module.py
@@ -18,6 +18,7 @@
# ===============================================================================
from logbook import Logger
+from copy import deepcopy
from sqlalchemy.orm import validates, reconstructor
from math import floor
@@ -27,6 +28,7 @@ from eos.effectHandlerHelpers import HandledItem, HandledCharge
from eos.enum import Enum
from eos.modifiedAttributeDict import ModifiedAttributeDict, ItemAttrShortcut, ChargeAttrShortcut
from eos.saveddata.citadel import Citadel
+from eos.saveddata.mutator import Mutator
pyfalog = Logger(__name__)
@@ -74,15 +76,31 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
MINING_ATTRIBUTES = ("miningAmount",)
SYSTEM_GROUPS = ("Effect Beacon", "MassiveEnvironments", "Abyssal Hazards", "Non-Interactable Object")
- def __init__(self, item):
+ def __init__(self, item, baseItem=None, mutaplasmid=None):
"""Initialize a module from the program"""
- self.__item = item
+
+ self.itemID = item.ID if item is not None else None
+ self.baseItemID = baseItem.ID if baseItem is not None else None
+ self.mutaplasmidID = mutaplasmid.ID if mutaplasmid is not None else None
+
+ if baseItem is not None:
+ # we're working with a mutated module, need to get abyssal module loaded with the base attributes
+ # Note: there may be a better way of doing this, such as a metho on this classe to convert(mutaplamid). This
+ # will require a bit more research though, considering there has never been a need to "swap" out the item of a Module
+ # before, and there may be assumptions taken with regards to the item never changing (pre-calculated / cached results, for example)
+ self.__item = eos.db.getItemWithBaseItemAttribute(self.itemID, self.baseItemID)
+ self.__baseItem = baseItem
+ self.__mutaplasmid = mutaplasmid
+ else:
+ self.__item = item
+ self.__baseItem = baseItem
+ self.__mutaplasmid = mutaplasmid
if item is not None and self.isInvalid:
raise ValueError("Passed item is not a Module")
self.__charge = None
- self.itemID = item.ID if item is not None else None
+
self.projected = False
self.state = State.ONLINE
self.build()
@@ -91,7 +109,9 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
def init(self):
"""Initialize a module from the database and validate"""
self.__item = None
+ self.__baseItem = None
self.__charge = None
+ self.__mutaplasmid = None
# we need this early if module is invalid and returns early
self.__slot = self.dummySlot
@@ -102,6 +122,14 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
pyfalog.error("Item (id: {0}) does not exist", self.itemID)
return
+ if self.baseItemID:
+ self.__item = eos.db.getItemWithBaseItemAttribute(self.itemID, self.baseItemID)
+ self.__baseItem = eos.db.getItem(self.baseItemID)
+ self.__mutaplasmid = eos.db.getMutaplasmid(self.mutaplasmidID)
+ if self.__baseItem is None:
+ pyfalog.error("Base Item (id: {0}) does not exist", self.itemID)
+ return
+
if self.isInvalid:
pyfalog.error("Item (id: {0}) is not a Module", self.itemID)
return
@@ -133,10 +161,23 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
self.__itemModifiedAttributes.overrides = self.__item.overrides
self.__hardpoint = self.__calculateHardpoint(self.__item)
self.__slot = self.__calculateSlot(self.__item)
+
+ # Instantiate / remove mutators if this is a mutated module
+ if self.__baseItem:
+ for x in self.mutaplasmid.attributes:
+ attr = self.item.attributes[x.name]
+ id = attr.ID
+ if id not in self.mutators: # create the mutator
+ Mutator(self, attr, attr.value)
+ # @todo: remove attributes that are no longer part of the mutaplasmid.
+
+ self.__itemModifiedAttributes.mutators = self.mutators
+
if self.__charge:
self.__chargeModifiedAttributes.original = self.__charge.attributes
self.__chargeModifiedAttributes.overrides = self.__charge.overrides
+
@classmethod
def buildEmpty(cls, slot):
empty = Module(None)
@@ -162,11 +203,17 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
@property
def isInvalid(self):
+ # todo: validate baseItem as well if it's set.
if self.isEmpty:
return False
return self.__item is None or \
(self.__item.category.name not in ("Module", "Subsystem", "Structure Module") and
- self.__item.group.name not in self.SYSTEM_GROUPS)
+ self.__item.group.name not in self.SYSTEM_GROUPS) or \
+ (self.item.isAbyssal and (not self.baseItemID or not self.mutaplasmidID) )
+
+ @property
+ def isMutated(self):
+ return self.baseItemID or self.mutaplasmidID
@property
def numCharges(self):
@@ -306,6 +353,14 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
def item(self):
return self.__item if self.__item != 0 else None
+ @property
+ def baseItem(self):
+ return self.__baseItem
+
+ @property
+ def mutaplasmid(self):
+ return self.__mutaplasmid
+
@property
def charge(self):
return self.__charge if self.__charge != 0 else None
@@ -572,7 +627,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
for i in range(5):
itemChargeGroup = self.getModifiedItemAttr('chargeGroup' + str(i), None)
if itemChargeGroup is not None:
- g = eos.db.getGroup(int(itemChargeGroup), eager=("items.icon", "items.attributes"))
+ g = eos.db.getGroup(int(itemChargeGroup), eager=("items.attributes"))
if g is None:
continue
for singleItem in g.items:
@@ -783,9 +838,13 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
if item is None:
copy = Module.buildEmpty(self.slot)
else:
- copy = Module(self.item)
+ copy = Module(self.item, self.baseItem, self.mutaplasmid)
copy.charge = self.charge
copy.state = self.state
+
+ for x in self.mutators.values():
+ Mutator(copy, x.attribute, x.value)
+
return copy
def __repr__(self):
diff --git a/eos/saveddata/mutator.py b/eos/saveddata/mutator.py
new file mode 100644
index 000000000..ff1473005
--- /dev/null
+++ b/eos/saveddata/mutator.py
@@ -0,0 +1,133 @@
+# ===============================================================================
+# Copyright (C) 2015 Ryan Holmes
+#
+# This file is part of eos.
+#
+# eos is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# eos is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with eos. If not, see .
+# ===============================================================================
+
+from logbook import Logger
+
+from sqlalchemy.orm import validates, reconstructor
+
+import eos.db
+from eos.eqBase import EqBase
+
+pyfalog = Logger(__name__)
+
+
+class Mutator(EqBase):
+ """ Mutators are the object that represent an attribute override on the module level, in conjunction with
+ mutaplasmids. Each mutated module, when created, is instantiated with a list of these objects, dictated by the
+ mutaplasmid that is used on the base module.
+
+ A note on the different attributes on this object:
+ * attribute: points to the definition of the attribute from dgmattribs.
+ * baseAttribute: points to the attribute defined for the base item (contains the base value with with to mutate)
+ * dynamicAttribute: points to the Mutaplasmid definition of the attribute, including min/max
+
+ This could probably be cleaned up with smarter relationships, but whatever
+ """
+
+ def __init__(self, module, attr, value):
+ # this needs to be above module assignment, as assigning the module will add it to the list and it via
+ # relationship and needs this set 4correctly
+ self.attrID = attr.ID
+
+ self.module = module
+ self.moduleID = module.ID
+
+ self.__attr = attr
+ self.build()
+ self.value = value # must run after the build(), because the validator requires build() to run first
+
+ @reconstructor
+ def init(self):
+ self.__attr = None
+
+ if self.attrID:
+ self.__attr = eos.db.getAttributeInfo(self.attrID)
+ if self.__attr is None:
+ pyfalog.error("Attribute (id: {0}) does not exist", self.attrID)
+ return
+
+ self.build()
+ self.value = self.value # run the validator (to ensure we catch any changed min/max values might CCP release)
+
+ def build(self):
+ # try...except here to catch orphaned mutators. Pretty rare, only happens so far if hacking the database
+ # But put it here to remove the module link if it happens, until a better solution can be developed
+ try:
+ # dynamic attribute links to the Mutaplasmids attribute definition for this mutated definition
+ self.dynamicAttribute = next(a for a in self.module.mutaplasmid.attributes if a.attributeID == self.attrID)
+ # base attribute links to the base ite's attribute for this mutated definition (contains original, base value)
+ self.baseAttribute = self.module.item.attributes[self.dynamicAttribute.name]
+ except:
+ self.module = None
+
+ @validates("value")
+ def validator(self, key, val):
+ """ Validates values as properly falling within the range of the modules' Mutaplasmid """
+ mod = val/self.baseValue
+
+ if self.minMod <= mod <= self.maxMod:
+ # sweet, all good
+ returnVal = val
+ else:
+ # need to fudge the numbers a bit. Go with the value closest to base
+ if val >= 0:
+ returnVal = min(self.maxValue, max(self.minValue, val))
+ else:
+ returnVal = max(self.maxValue, min(self.minValue, val))
+
+ return returnVal
+
+ @property
+ def isInvalid(self):
+ # @todo: need to test what happens:
+ # 1) if an attribute is removed from the EVE database
+ # 2) if a mutaplasmid does not have the attribute anymore
+ # 3) if a mutaplasmid does not exist (in eve or on the module's item)
+ # Can remove invalid ones in a SQLAlchemy collection class... eventually
+ return self.__attr is None
+
+ @property
+ def highIsGood(self):
+ return self.attribute.highIsGood
+
+ @property
+ def minMod(self):
+ return round(self.dynamicAttribute.min, 3)
+
+ @property
+ def maxMod(self):
+ return round(self.dynamicAttribute.max, 3)
+
+ @property
+ def baseValue(self):
+ return self.baseAttribute.value
+
+ @property
+ def minValue(self):
+ return self.minMod * self.baseAttribute.value
+
+ @property
+ def maxValue(self):
+ return self.maxMod * self.baseAttribute.value
+
+ @property
+ def attribute(self):
+ return self.__attr
+
+
diff --git a/eos/saveddata/ship.py b/eos/saveddata/ship.py
index 56b3f7c0d..1e1dd30d6 100644
--- a/eos/saveddata/ship.py
+++ b/eos/saveddata/ship.py
@@ -131,7 +131,7 @@ class Ship(ItemAttrShortcut, HandledItem):
return None
items = []
- g = eos.db.getGroup("Ship Modifiers", eager=("items.icon", "items.attributes"))
+ g = eos.db.getGroup("Ship Modifiers", eager=("items.attributes"))
for item in g.items:
# Rely on name detection because race is not reliable
if item.name.lower().startswith(self.item.name.lower()):
diff --git a/eve.db b/eve.db
index 3bf090b22..6bd7efc6b 100644
Binary files a/eve.db and b/eve.db differ
diff --git a/gui/attribute_gauge.py b/gui/attribute_gauge.py
new file mode 100644
index 000000000..38de597b9
--- /dev/null
+++ b/gui/attribute_gauge.py
@@ -0,0 +1,504 @@
+import copy
+import wx
+import math
+
+from gui.utils import color as color_utils
+from gui.utils import draw, anim_effects
+from service.fit import Fit
+
+# todo: clean class up. Took from pyfa gauge, has a bunch of extra shit we don't need
+
+
+class AttributeGauge(wx.Window):
+ def __init__(self, parent, max_range=100, animate=True, leading_edge=True, edge_on_neutral=True, guide_lines=False, size=(-1, 30), *args,
+ **kargs):
+
+ super().__init__(parent, size=size, *args, **kargs)
+
+ self._size = size
+
+ self.guide_lines = guide_lines
+
+ self._border_colour = wx.BLACK
+ self._bar_colour = None
+ self._bar_gradient = None
+
+ self.leading_edge = leading_edge
+ self.edge_on_neutral = edge_on_neutral
+
+ self._border_padding = 0
+ self._max_range = max_range
+ self._value = 0
+
+ self._fraction_digits = 0
+
+ self._timer_id = wx.NewId()
+ self._timer = None
+
+ self._oldValue = 0
+
+ self._animate = animate
+ self._anim_duration = 500
+ self._anim_step = 0
+ self._period = 20
+ self._anim_value = 0
+ self._anim_direction = 0
+ self.anim_effect = anim_effects.OUT_QUAD
+
+ # transition colors used based on how full (or overfilled) the gauge is.
+ self.transition_colors = [
+ (wx.Colour(191, 191, 191), wx.Colour(96, 191, 0)), # < 0-100%
+ (wx.Colour(191, 167, 96), wx.Colour(255, 191, 0)), # < 100-101%
+ (wx.Colour(255, 191, 0), wx.Colour(255, 128, 0)), # < 101-103%
+ (wx.Colour(255, 128, 0), wx.Colour(255, 0, 0)) # < 103-105%
+ ]
+
+ self.goodColor = wx.Colour(96, 191, 0)
+ self.badColor = wx.Colour(255, 64, 0)
+
+ self.gradient_effect = -35
+
+ self._percentage = 0
+ self._old_percentage = 0
+ self._show_remaining = False
+
+ self.SetBackgroundColour(wx.Colour(51, 51, 51))
+
+ self._tooltip = wx.ToolTip("0.00/100.00")
+ self.SetToolTip(self._tooltip)
+
+ self.Bind(wx.EVT_PAINT, self.OnPaint)
+ self.Bind(wx.EVT_TIMER, self.OnTimer)
+ self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter)
+ self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
+ self.SetBackgroundStyle(wx.BG_STYLE_PAINT)
+
+ def OnEraseBackground(self, event):
+ pass
+
+ def OnWindowEnter(self, event):
+ self._show_remaining = True
+ self.Refresh()
+
+ def OnWindowLeave(self, event):
+ self._show_remaining = False
+ self.Refresh()
+
+ def GetBorderColour(self):
+ return self._border_colour
+
+ def SetBorderColour(self, colour):
+ self._border_colour = colour
+
+ def GetBarColour(self):
+ return self._bar_colour
+
+ def SetBarColour(self, colour):
+ self._bar_colour = colour
+
+ def SetFractionDigits(self, digits):
+ self._fraction_digits = digits
+
+ def GetBarGradient(self):
+ if self._bar_gradient is None:
+ return None
+
+ return self._bar_gradient[0]
+
+ def SetBarGradient(self, gradient=None):
+ if gradient is None:
+ self._bar_gradient = None
+ else:
+ if not isinstance(gradient, list):
+ self._bar_gradient = [gradient]
+ else:
+ self._bar_gradient = list(gradient)
+
+ def GetBorderPadding(self):
+ return self._border_padding
+
+ def SetBorderPadding(self, padding):
+ self._border_padding = padding
+
+ def GetRange(self):
+ """ Returns the maximum value of the gauge. """
+ return self._max_range
+
+ def Animate(self):
+ if self._animate:
+ if not self._timer:
+ self._timer = wx.Timer(self, self._timer_id)
+
+ self._anim_step = 0
+ self._timer.Start(self._period)
+ else:
+ self._anim_value = self._percentage
+ self.Refresh()
+
+ def SetRange(self, range, reinit=False, animate=True):
+ """
+ Sets the range of the gauge. The gauge length is its
+ value as a proportion of the range.
+ """
+
+ if self._max_range == range:
+ return
+
+ # we cannot have a range of zero (laws of physics, etc), so we set it
+ if range <= 0:
+ self._max_range = 0.01
+ else:
+ self._max_range = range
+
+ if reinit is False:
+ self._old_percentage = self._percentage
+ self._percentage = (self._value / self._max_range) * 100
+ else:
+ self._old_percentage = self._percentage
+ self._percentage = 0
+ self._value = 0
+
+ if animate:
+ self.Animate()
+
+ self._tooltip.SetTip("%.2f/%.2f" % (self._value, self._max_range if self._max_range > 0.01 else 0))
+
+ def GetValue(self):
+ return self._value
+
+ def SetValue(self, value, animate=True):
+ """ Sets the current position of the gauge. """
+
+ print ("="*20, self._percentage)
+ if self._value == value:
+ return
+
+ self._old_percentage = self._percentage
+ self._value = value
+
+ self._percentage = (self._value / self._max_range) * 100
+
+ if animate:
+ self.Animate()
+
+ self._tooltip.SetTip("%.2f/%.2f" % (self._value, self._max_range))
+
+ def SetValueRange(self, value, range, reinit=False):
+ """ Set both value and range of the gauge. """
+ range_ = float(range)
+
+ if range_ <= 0:
+ self._max_range = 0.01
+ else:
+ self._max_range = range_
+
+ value = float(value)
+
+ self._value = value
+
+ if reinit is False:
+ self._old_percentage = self._percentage
+ self._percentage = (self._value / self._max_range) * 100
+
+ else:
+ self._old_percentage = self._percentage
+ self._percentage = 0
+
+ self.Animate()
+ self._tooltip.SetTip("%.2f/%.2f" %
+ (self._value, self._max_range if float(self._max_range) > 0.01 else 0))
+
+ def OnPaint(self, event):
+ dc = wx.AutoBufferedPaintDC(self)
+ rect = self.GetClientRect()
+
+ dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
+ dc.Clear()
+
+ colour = self.GetBackgroundColour()
+
+ dc.SetBrush(wx.Brush(colour))
+ dc.SetPen(wx.Pen(colour))
+
+ dc.DrawRectangle(rect)
+
+ value = self._percentage
+
+ if self._timer:
+ if self._timer.IsRunning():
+ value = self._anim_value
+
+ if self._border_colour:
+ dc.SetPen(wx.Pen(self.GetBorderColour()))
+ dc.DrawRectangle(rect)
+ pad = 1 + self.GetBorderPadding()
+ rect.Deflate(pad, pad)
+
+ if True:
+ # if we have a bar color set, then we will use this
+ colour = self.goodColor if value >= 0 else self.badColor
+
+ is_even = rect.width % 2 == 0
+
+ # the size of half our available drawing area (since we're only working in halves)
+ half = (rect.width / 2)
+
+ # calculate width of bar as a percentage of half the space
+ w = abs(half * (value / 100))
+ w = min(w, half) # Ensure that we don't overshoot our drawing area
+ w = math.ceil(w) # round up to nearest pixel, this ensures that we don't lose representation for sub pixels
+
+ # print("Percentage: {}\t\t\t\t\tValue: {}\t\t\t\t\tWidth: {}\t\t\t\t\tHalf: {}\t\t\t\t\tRect Width: {}".format(round(self._percentage, 3), round(value,3), w, half, rect.width))
+
+ # set guide_lines every 10 pixels of the main gauge (not including borders)
+ if self.guide_lines:
+ for x in range(1, 20):
+ dc.SetBrush(wx.Brush(wx.LIGHT_GREY))
+ dc.SetPen(wx.Pen(wx.LIGHT_GREY))
+ dc.DrawRectangle(x*10, 1, 1, rect.height)
+
+ dc.SetBrush(wx.Brush(colour))
+ dc.SetPen(wx.Pen(colour))
+
+ # If we have an even width, we can simply dedicate the middle-most pixels to both sides
+ # However, if there is an odd width, the middle pixel is shared between the left and right gauge
+
+ if value >= 0:
+ padding = (half if is_even else math.ceil(half-1)) + 1
+ dc.DrawRectangle(padding, 1, w, rect.height)
+ else:
+ padding = half - w + 1 if is_even else math.ceil(half)-(w-1)
+ dc.DrawRectangle(padding, 1, w, rect.height)
+
+ if self.leading_edge and (self.edge_on_neutral or value != 0):
+ dc.SetPen(wx.Pen(wx.WHITE))
+ dc.SetBrush(wx.Brush(wx.WHITE))
+
+ if value > 0:
+ dc.DrawRectangle(min(padding + w, rect.width), 1, 1, rect.height)
+ else:
+ dc.DrawRectangle(max(padding-1, 1), 1, 1, rect.height)
+
+ def OnTimer(self, event):
+ old_value = self._old_percentage
+ value = self._percentage
+ start = 0
+
+ # -1 = left direction, 1 = right direction
+ direction = 1 if old_value < value else -1
+
+ end = direction * (value - old_value)
+
+ self._anim_direction = direction
+ step = self.anim_effect(self._anim_step, start, end, self._anim_duration)
+
+ self._anim_step += self._period
+
+ if self._timer_id == event.GetId():
+ stop_timer = False
+
+ if self._anim_step > self._anim_duration:
+ stop_timer = True
+
+ # add new value to the animation if we haven't reached our goal
+ # otherwise, stop animation
+ if direction == 1:
+ if old_value + step < value:
+ self._anim_value = old_value + step
+ else:
+ stop_timer = True
+ else:
+ if old_value - step > value:
+ self._anim_value = old_value - step
+ else:
+ stop_timer = True
+
+ if stop_timer:
+ self._timer.Stop()
+
+ self.Refresh()
+
+
+if __name__ == "__main__":
+ import random
+
+ def frange(x, y, jump):
+ while x < y:
+ yield x
+ x += jump
+
+ class MyPanel(wx.Panel):
+ def __init__(self, parent, size=(500, 500)):
+ wx.Panel.__init__(self, parent, size=size)
+ box = wx.BoxSizer(wx.VERTICAL)
+
+ font = wx.Font(9, wx.SWISS, wx.NORMAL, wx.NORMAL, False)
+
+ self.gauge = gauge = AttributeGauge(self, size=(204, 4))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(100)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL|wx.CENTER, 10)
+
+ self.gauge11 = gauge = AttributeGauge(self, size=(204, 6))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(100)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge12 = gauge = AttributeGauge(self, size=(204, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(100)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge13 = gauge = AttributeGauge(self, size=(204, 10))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(100)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.value = wx.StaticText(self, label="Text")
+ box.Add(self.value, 0, wx.ALL | wx.CENTER, 5)
+
+ self.btn = wx.Button(self, label="Toggle Timer")
+ box.Add(self.btn, 0, wx.ALL | wx.CENTER, 5)
+ self.btn.Bind(wx.EVT_BUTTON, self.ToggleTimer)
+
+ self.spinCtrl = wx.SpinCtrl(self, min=-10000, max=10000)
+ box.Add(self.spinCtrl, 0, wx.ALL | wx.CENTER, 5)
+ self.spinCtrl.Bind(wx.EVT_SPINCTRL, self.UpdateValue)
+
+ self.m_staticline2 = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)
+ box.Add(self.m_staticline2, 0, wx.EXPAND, 5)
+
+ self.spinCtrl2 = wx.SpinCtrl(self, min=0, max=10000)
+ box.Add(self.spinCtrl2, 0, wx.ALL | wx.CENTER, 5)
+ self.spinCtrl2.Bind(wx.EVT_SPINCTRL, self.UpdateValue2)
+
+ box.Add(wx.StaticText(self, label="Large Even Pixel Test"), 0, wx.ALL | wx.CENTER, 5)
+
+ guide_lines = False
+
+ self.gauge2 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(204, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(2)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge3 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(204, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(-2)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ box.Add(wx.StaticText(self, label="Large Odd Pixel Test"), 0, wx.ALL | wx.CENTER, 5)
+
+ self.gauge4 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(205, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(2)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge5 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(205, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(-2)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ box.Add(wx.StaticText(self, label="Small Even Pixel Test"), 0, wx.ALL | wx.CENTER, 5)
+
+ self.gauge6 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(100, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(75)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge7 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(100, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(-75)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ box.Add(wx.StaticText(self, label="Small Odd Pixel Test"), 0, wx.ALL | wx.CENTER, 5)
+
+ self.gauge8 = gauge = AttributeGauge(self, guide_lines=guide_lines, max_range=100, size=(101, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(1)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.gauge9 = gauge = AttributeGauge(self, guide_lines=guide_lines, max_range=100, size=(101, 8))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(-1)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL | wx.CENTER, 10)
+
+ self.SetSizer(box)
+ self.Layout()
+
+ self.animTimer = wx.Timer(self, wx.NewId())
+ self.Bind(wx.EVT_TIMER, self.OnTimer)
+
+ self.animTimer.Start(1000)
+
+ def ToggleTimer(self, evt):
+ if self.animTimer.IsRunning:
+ self.animTimer.Stop()
+ else:
+ self.animTimer.Start(1000)
+
+ def UpdateValue(self, event):
+ if self.animTimer.IsRunning:
+ self.animTimer.Stop()
+ num = self.spinCtrl.GetValue()
+ self.gauge.SetValue(num)
+ self.gauge11.SetValue(num)
+ self.gauge12.SetValue(num)
+ self.gauge13.SetValue(num)
+ self.value.SetLabel(str(num))
+
+ def UpdateValue2(self, event):
+ num = self.spinCtrl2.GetValue()
+ self.gauge2.SetValue(num)
+ self.gauge3.SetValue(num*-1)
+ self.gauge4.SetValue(num)
+ self.gauge5.SetValue(num*-1)
+ self.gauge6.SetValue(num)
+ self.gauge7.SetValue(num*-1)
+ self.gauge8.SetValue(num)
+ self.gauge9.SetValue(num*-1)
+
+ def OnTimer(self, evt):
+ num = random.randint(-100,100)
+ self.gauge.SetValue(num)
+ self.gauge11.SetValue(num)
+ self.gauge12.SetValue(num)
+ self.gauge13.SetValue(num)
+ self.value.SetLabel(str(num))
+
+ class Frame(wx.Frame):
+ def __init__(self, title, size=(500, 800)):
+ wx.Frame.__init__(self, None, title=title, size=size)
+ self.statusbar = self.CreateStatusBar()
+ main_sizer = wx.BoxSizer(wx.VERTICAL)
+ panel = MyPanel(self, size=size)
+ main_sizer.Add(panel)
+ self.SetSizer(main_sizer)
+
+ app = wx.App(redirect=False) # Error messages go to popup window
+ top = Frame("Test Attribute Bar")
+ top.Show()
+ app.MainLoop()
diff --git a/gui/builtinAdditionPanes/cargoView.py b/gui/builtinAdditionPanes/cargoView.py
index ed5687cfc..a5b94f31b 100644
--- a/gui/builtinAdditionPanes/cargoView.py
+++ b/gui/builtinAdditionPanes/cargoView.py
@@ -118,13 +118,22 @@ class CargoView(d.Display):
# Gather module information to get position
module = fit.modules[modIdx]
+ if module.item.isAbyssal:
+ dlg = wx.MessageDialog(self,
+ "Moving this Abyssal module to the cargo will convert it to the base module. Do you wish to proceed?",
+ "Confirm", wx.YES_NO | wx.ICON_QUESTION)
+ result = dlg.ShowModal() == wx.ID_YES
+
+ if not result:
+ return
+
if dstRow != -1: # we're swapping with cargo
if mstate.cmdDown: # if copying, append to cargo
- sFit.addCargo(self.mainFrame.getActiveFit(), module.item.ID)
+ sFit.addCargo(self.mainFrame.getActiveFit(), module.item.ID if not module.item.isAbyssal else module.baseItemID)
else: # else, move / swap
sFit.moveCargoToModule(self.mainFrame.getActiveFit(), module.position, dstRow)
else: # dragging to blank spot, append
- sFit.addCargo(self.mainFrame.getActiveFit(), module.item.ID)
+ sFit.addCargo(self.mainFrame.getActiveFit(), module.item.ID if not module.item.isAbyssal else module.baseItemID)
if not mstate.cmdDown: # if not copying, remove module
sFit.removeModule(self.mainFrame.getActiveFit(), module.position)
diff --git a/gui/builtinAdditionPanes/commandView.py b/gui/builtinAdditionPanes/commandView.py
index 5ee0d1872..2bfa700c9 100644
--- a/gui/builtinAdditionPanes/commandView.py
+++ b/gui/builtinAdditionPanes/commandView.py
@@ -35,7 +35,7 @@ from service.fit import Fit
class DummyItem(object):
def __init__(self, txt):
self.name = txt
- self.icon = None
+ self.iconID = None
class DummyEntry(object):
diff --git a/gui/builtinAdditionPanes/projectedView.py b/gui/builtinAdditionPanes/projectedView.py
index a5654d1a4..24ca11f3a 100644
--- a/gui/builtinAdditionPanes/projectedView.py
+++ b/gui/builtinAdditionPanes/projectedView.py
@@ -39,7 +39,7 @@ pyfalog = Logger(__name__)
class DummyItem(object):
def __init__(self, txt):
self.name = txt
- self.icon = None
+ self.iconID = None
class DummyEntry(object):
@@ -109,7 +109,7 @@ class ProjectedView(d.Display):
dstRow, _ = self.HitTest((x, y))
# Gather module information to get position
module = fit.modules[int(data[1])]
- sFit.project(fit.ID, module.item.ID)
+ sFit.project(fit.ID, module)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fit.ID))
elif data[0] == "market":
sFit = Fit.getInstance()
diff --git a/gui/builtinContextMenus/boosterSideEffects.py b/gui/builtinContextMenus/boosterSideEffects.py
index 60f5e2ca5..a936e9340 100644
--- a/gui/builtinContextMenus/boosterSideEffects.py
+++ b/gui/builtinContextMenus/boosterSideEffects.py
@@ -34,6 +34,7 @@ class BoosterSideEffect(ContextMenu):
label = ability.name
id = ContextMenu.nextID()
self.effectIds[id] = ability
+
menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK)
menu.Bind(wx.EVT_MENU, self.handleMode, menuItem)
return menuItem
diff --git a/gui/builtinContextMenus/itemStats.py b/gui/builtinContextMenus/itemStats.py
index 6221fa1e0..46b87226f 100644
--- a/gui/builtinContextMenus/itemStats.py
+++ b/gui/builtinContextMenus/itemStats.py
@@ -63,7 +63,7 @@ class ItemStats(ContextMenu):
size = wx.DefaultSize
pos = wx.DefaultPosition
ItemStatsDialog(stuff, fullContext, pos, size, maximized)
- lastWnd.closeEvent(None)
+ lastWnd.Close()
else:
ItemStatsDialog(stuff, fullContext)
diff --git a/gui/builtinContextMenus/moduleAmmoPicker.py b/gui/builtinContextMenus/moduleAmmoPicker.py
index 81c02eab0..93ff48754 100644
--- a/gui/builtinContextMenus/moduleAmmoPicker.py
+++ b/gui/builtinContextMenus/moduleAmmoPicker.py
@@ -117,8 +117,8 @@ class ModuleAmmoPicker(ContextMenu):
item = wx.MenuItem(menu, id_, name)
menu.Bind(wx.EVT_MENU, self.handleAmmoSwitch, item)
item.charge = charge
- if charge is not None and charge.icon is not None:
- bitmap = BitmapLoader.getBitmap(charge.icon.iconFile, "icons")
+ if charge is not None and charge.iconID is not None:
+ bitmap = BitmapLoader.getBitmap(charge.iconID, "icons")
if bitmap is not None:
item.SetBitmap(bitmap)
diff --git a/gui/builtinContextMenus/mutaplasmids.py b/gui/builtinContextMenus/mutaplasmids.py
new file mode 100644
index 000000000..253cdac60
--- /dev/null
+++ b/gui/builtinContextMenus/mutaplasmids.py
@@ -0,0 +1,78 @@
+from gui.contextMenu import ContextMenu
+import gui.mainFrame
+# noinspection PyPackageRequirements
+import wx
+import gui.globalEvents as GE
+from service.fit import Fit
+from service.settings import ContextMenuSettings
+
+
+class MutaplasmidCM(ContextMenu):
+ def __init__(self):
+ self.mainFrame = gui.mainFrame.MainFrame.getInstance()
+ self.settings = ContextMenuSettings.getInstance()
+ self.eventIDs = {}
+
+ def display(self, srcContext, selection):
+
+ # if not self.settings.get('ammoPattern'):
+ # return False
+
+ if srcContext not in ("fittingModule") or self.mainFrame.getActiveFit() is None:
+ return False
+
+ mod = selection[0]
+ if len(mod.item.mutaplasmids) == 0 and not mod.isMutated:
+ return False
+
+ return True
+
+ def getText(self, itmContext, selection):
+ mod = selection[0]
+ return "Apply Mutaplasmid" if not mod.isMutated else "Revert to {}".format(mod.baseItem.name)
+
+ def getSubMenu(self, context, selection, rootMenu, i, pitem):
+ if selection[0].isMutated:
+ return None
+
+ msw = True if "wxMSW" in wx.PlatformInfo else False
+ self.skillIds = {}
+ sub = wx.Menu()
+
+ mod = selection[0]
+
+ menu = rootMenu if msw else sub
+
+ for item in mod.item.mutaplasmids:
+ label = item.item.name
+ id = ContextMenu.nextID()
+ self.eventIDs[id] = (item, mod)
+ skillItem = wx.MenuItem(menu, id, label)
+ menu.Bind(wx.EVT_MENU, self.handleMenu, skillItem)
+ sub.Append(skillItem)
+
+ return sub
+
+ def handleMenu(self, event):
+ mutaplasmid, mod = self.eventIDs[event.Id]
+ fit = self.mainFrame.getActiveFit()
+ sFit = Fit.getInstance()
+
+ # todo: dev out function to switch module to an abyssal module. Also, maybe open item stats here automatically
+ # with the attribute tab set?
+ sFit.convertMutaplasmid(fit, mod.modPosition, mutaplasmid)
+ wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fit))
+
+ def activate(self, fullContext, selection, i):
+ sFit = Fit.getInstance()
+ fitID = self.mainFrame.getActiveFit()
+
+ mod = selection[0]
+ sFit.changeModule(fitID, mod.modPosition, mod.baseItemID)
+ wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
+
+ def getBitmap(self, context, selection):
+ return None
+
+
+MutaplasmidCM.register()
diff --git a/gui/builtinGraphs/fitDps.py b/gui/builtinGraphs/fitDps.py
index d848d3f9c..183bc9ac8 100644
--- a/gui/builtinGraphs/fitDps.py
+++ b/gui/builtinGraphs/fitDps.py
@@ -55,7 +55,7 @@ class FitDpsGraph(Graph):
icons = {}
sAttr = Attribute.getInstance()
for key, attrName in self.propertyAttributeMap.items():
- iconFile = sAttr.getAttributeInfo(attrName).icon.iconFile
+ iconFile = sAttr.getAttributeInfo(attrName).iconID
bitmap = BitmapLoader.getBitmap(iconFile, "icons")
if bitmap:
icons[key] = bitmap
diff --git a/gui/builtinItemStatsViews/attributeSlider.py b/gui/builtinItemStatsViews/attributeSlider.py
new file mode 100644
index 000000000..49cb776fa
--- /dev/null
+++ b/gui/builtinItemStatsViews/attributeSlider.py
@@ -0,0 +1,248 @@
+import wx
+import wx.lib.newevent
+from gui.attribute_gauge import AttributeGauge
+
+import eos
+import eos.db
+
+_ValueChanged, EVT_VALUE_CHANGED = wx.lib.newevent.NewEvent()
+
+
+class AttributeSliderChangeEvent:
+ def __init__(self, obj, old_value, new_value, old_percentage, new_percentage):
+ self.__obj = obj
+ self.__old = old_value
+ self.__new = new_value
+ self.__old_percent = old_percentage
+ self.__new_percent = new_percentage
+
+ def GetObj(self):
+ return self.__obj
+
+ def GetOldValue(self):
+ return self.__old
+
+ def GetValue(self):
+ return self.__new
+
+ def GetOldPercentage(self):
+ return self.__old_percent
+
+ def GetPercentage(self):
+ return self.__new_percent
+
+ Object = property(GetObj)
+ OldValue = property(GetOldValue)
+ Value = property(GetValue)
+ OldPercentage = property(GetOldPercentage)
+ Percentage = property(GetPercentage)
+
+
+class ValueChanged(_ValueChanged, AttributeSliderChangeEvent):
+ def __init__(self, obj, old_value, new_value, old_percentage, new_percentage):
+ _ValueChanged.__init__(self)
+ AttributeSliderChangeEvent.__init__(self, obj, old_value, new_value, old_percentage, new_percentage)
+
+
+class AttributeSlider(wx.Panel):
+ # Slider which abstracts users values from internal values (because the built in slider does not deal with floats
+ # and the like), based on http://wxpython-users.wxwidgets.narkive.com/ekgBzA7u/anyone-ever-thought-of-a-floating-point-slider
+
+ def __init__(self, parent, baseValue, minMod, maxMod, inverse=False, id=-1):
+ wx.Panel.__init__(self, parent, id=id)
+
+ self.parent = parent
+
+ self.inverse = inverse
+
+ self.base_value = baseValue
+
+ self.UserMinValue = minMod
+ self.UserMaxValue = maxMod
+
+ # The internal slider basically represents the percentage towards the end of the range. It has to be normalized
+ # in this way, otherwise when we start off with a base, if the range is skewed to one side, the base value won't
+ # be centered. We use a range of -100,100 so that we can depend on the SliderValue to contain the percentage
+ # toward one end
+
+ # Additionally, since we want the slider to be accurate to 3 decimal places, we need to blow out the two ends here
+ # (if we have a slider that needs to land on 66.66% towards the right, it will actually be converted to 66%. Se we need it to support 6,666)
+
+ self.SliderMinValue = -100
+ self.SliderMaxValue = 100
+ self.SliderValue = 0
+
+ range = [(self.UserMinValue * self.base_value), (self.UserMaxValue * self.base_value)]
+
+ self.ctrl = wx.SpinCtrlDouble(self, min=min(range), max=max(range))
+ self.ctrl.SetDigits(3)
+
+ self.ctrl.Bind(wx.EVT_SPINCTRLDOUBLE, self.UpdateValue)
+
+ self.slider = AttributeGauge(self, size=(-1, 8))
+
+ b = 4
+ vsizer1 = wx.BoxSizer(wx.VERTICAL)
+ vsizer1.Add(self.ctrl, 0, wx.LEFT | wx.RIGHT | wx.CENTER, b)
+ vsizer1.Add(self.slider, 0, wx.EXPAND | wx.ALL , b)
+
+ self.SetSizerAndFit(vsizer1)
+ self.parent.SetClientSize((500, vsizer1.GetSize()[1]))
+
+ def UpdateValue(self, evt):
+ self.SetValue(self.ctrl.GetValue())
+ evt.Skip()
+
+ def SetValue(self, value, post_event=True):
+ # todo: check this against values that might be 2.5x and whatnot
+ mod = value / self.base_value
+ self.ctrl.SetValue(value)
+ slider_percentage = 0
+ if mod < 1:
+ modEnd = self.UserMinValue
+ slider_percentage = (1-mod)/(1 - modEnd) * -100
+ elif mod > 1:
+ modEnd = self.UserMaxValue
+ slider_percentage = ((mod-1)/(modEnd-1)) * 100
+ # print(slider_percentage)
+ if self.inverse:
+ slider_percentage *= -1
+ self.slider.SetValue(slider_percentage)
+ if post_event:
+ wx.PostEvent(self, ValueChanged(self, None, value, None, slider_percentage))
+
+class TestAttributeSlider(wx.Frame):
+
+ def __init__(self, parent, id):
+ title = 'Slider...'
+ pos = wx.DefaultPosition
+ size = wx.DefaultSize
+ sty = wx.DEFAULT_FRAME_STYLE
+ wx.Frame.__init__(self, parent, id, title, pos, size, sty)
+
+ self.panel = AttributeSlider(self, -50, 0.8, 1.5, False)
+ self.panel.Bind(EVT_VALUE_CHANGED, self.thing)
+ self.panel.SetValue(-55)
+ self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
+
+ def OnCloseWindow(self, event):
+ self.Destroy()
+
+ def thing(self, evt):
+ print("thing")
+
+
+if __name__ == "__main__":
+ app = wx.App()
+ frame = TestAttributeSlider(None, wx.ID_ANY)
+ frame.Show()
+ app.MainLoop()
+
+
+# class AttributeSliderDEV(wx.Panel):
+# # Slider which abstracts users values from internal values (because the built in slider does not deal with floats
+# # and the like), based on http://wxpython-users.wxwidgets.narkive.com/ekgBzA7u/anyone-ever-thought-of-a-floating-point-slider
+#
+# def __init__(self, parent, baseValue, minMod, maxMod):
+# wx.Panel.__init__(self, parent)
+#
+# self.parent = parent
+#
+# self.base_value = baseValue
+#
+# self.UserMinValue = minMod
+# self.UserMaxValue = maxMod
+#
+# # The internal slider basically represents the percentage towards the end of the range. It has to be normalized
+# # in this way, otherwise when we start off with a base, if the range is skewed to one side, the base value won't
+# # be centered. We use a range of -100,100 so that we can depend on the SliderValue to contain the percentage
+# # toward one end
+#
+# # Additionally, since we want the slider to be accurate to 3 decimal places, we need to blow out the two ends here
+# # (if we have a slider that needs to land on 66.66% towards the right, it will actually be converted to 66%. Se we need it to support 6,666)
+#
+# self.SliderMinValue = -100_000
+# self.SliderMaxValue = 100_000
+# self.SliderValue = 0
+#
+# self.statxt1 = wx.StaticText(self, wx.ID_ANY, 'left',
+# style=wx.ST_NO_AUTORESIZE | wx.ALIGN_LEFT)
+# self.statxt2 = wx.StaticText(self, wx.ID_ANY, 'middle',
+# style=wx.ST_NO_AUTORESIZE | wx.ALIGN_CENTRE)
+# self.statxt3 = wx.StaticText(self, wx.ID_ANY, 'right',
+# style=wx.ST_NO_AUTORESIZE | wx.ALIGN_RIGHT)
+#
+# self.statxt1.SetLabel("{0:.3f}".format(self.UserMinValue * self.base_value))
+# self.statxt1.SetToolTip("{0:+f}%".format((1-self.UserMinValue)*-100))
+# self.statxt2.SetLabel("{0:.3f}".format(self.base_value))
+# self.statxt3.SetLabel("{0:.3f}".format(self.UserMaxValue * self.base_value))
+# self.statxt3.SetToolTip("{0:+f}%".format((1-self.UserMaxValue)*-100))
+#
+# self.slider = wx.Slider(
+# self, wx.ID_ANY,
+# self.SliderValue,
+# self.SliderMinValue,
+# self.SliderMaxValue,
+# style=wx.SL_HORIZONTAL)
+#
+# self.slider.SetTickFreq((self.SliderMaxValue - self.SliderMinValue) / 15)
+#
+# self.slider.Bind(wx.EVT_SCROLL, self.OnScroll)
+#
+# b = 20
+# hsizer1 = wx.BoxSizer(wx.HORIZONTAL)
+# hsizer1.Add(self.statxt1, 1, wx.RIGHT, b)
+# hsizer1.Add(self.statxt2, 1, wx.LEFT | wx.RIGHT, b)
+# hsizer1.Add(self.statxt3, 1, wx.LEFT, b)
+#
+# b = 4
+# vsizer1 = wx.BoxSizer(wx.VERTICAL)
+# vsizer1.Add(hsizer1, 0, wx.EXPAND | wx.ALL, b)
+# vsizer1.Add(self.slider, 0, wx.EXPAND | wx.LEFT | wx.TOP | wx.BOTTOM, b)
+#
+# self.SetSizerAndFit(vsizer1)
+# self.parent.SetClientSize((500, vsizer1.GetSize()[1]))
+#
+# def OnScroll(self, event):
+# self.CalculateUserValue()
+#
+# def SetValue(self, value):
+# # todo: check this against values that might be 2.5x and whatnot
+# mod = value / self.base_value
+# slider_percentage = 0
+# if mod < 1:
+# modEnd = -1 * self.UserMinValue
+# slider_percentage = (modEnd / mod) * 10_000
+# elif mod > 1:
+# modEnd = self.UserMaxValue
+# slider_percentage = ((mod-1)/(modEnd-1)) * 100_000
+#
+# self.slider.SetValue(slider_percentage)
+# self.CalculateUserValue()
+#
+# def CalculateUserValue(self):
+# self.SliderValue = self.slider.GetValue()
+#
+# mod = 1
+#
+# # The slider value tells us when mod we're going to use, depending on its sign
+# if self.SliderValue < 0:
+# mod = self.UserMinValue
+# elif self.SliderValue > 0:
+# mod = self.UserMaxValue
+#
+# # Get the slider value percentage as an absolute value
+# slider_mod = abs(self.SliderValue/1_000) / 100
+#
+# # Gets our new mod by use the slider's percentage to determine where in the spectrum it is
+# new_mod = mod + ((1 - mod) - ((1 - mod) * slider_mod))
+#
+# # Modifies our base value, to get out modified value
+# newValue = new_mod * self.base_value
+#
+# if mod == 1:
+# self.statxt2.SetLabel("{0:.3f}".format(newValue))
+# else:
+# self.statxt2.SetLabel("{0:.3f} ({1:+.3f})".format(newValue, newValue - self.base_value, ))
+# self.statxt2.SetToolTip("{0:+f}%".format(new_mod*100))
+
diff --git a/gui/builtinItemStatsViews/itemAffectedBy.py b/gui/builtinItemStatsViews/itemAffectedBy.py
index ed4280045..94808b734 100644
--- a/gui/builtinItemStatsViews/itemAffectedBy.py
+++ b/gui/builtinItemStatsViews/itemAffectedBy.py
@@ -237,16 +237,16 @@ class ItemAffectedBy(wx.Panel):
displayName = attrInfo.displayName if attrInfo and attrInfo.displayName != "" else attrName
if attrInfo:
- if attrInfo.icon is not None:
- iconFile = attrInfo.icon.iconFile
+ if attrInfo.iconID is not None:
+ iconFile = attrInfo.iconID
icon = BitmapLoader.getBitmap(iconFile, "icons")
if icon is None:
icon = BitmapLoader.getBitmap("transparent16x16", "gui")
attrIcon = self.imageList.Add(icon)
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
if self.showRealNames:
display = attrName
@@ -267,8 +267,8 @@ class ItemAffectedBy(wx.Panel):
if afflictorType == Ship:
itemIcon = self.imageList.Add(BitmapLoader.getBitmap("ship_small", "gui"))
- elif item.icon:
- bitmap = BitmapLoader.getBitmap(item.icon.iconFile, "icons")
+ elif item.iconID:
+ bitmap = BitmapLoader.getBitmap(item.iconID, "icons")
itemIcon = self.imageList.Add(bitmap) if bitmap else -1
else:
itemIcon = -1
@@ -373,8 +373,8 @@ class ItemAffectedBy(wx.Panel):
counter = len(afflictors)
if afflictorType == Ship:
itemIcon = self.imageList.Add(BitmapLoader.getBitmap("ship_small", "gui"))
- elif item.icon:
- bitmap = BitmapLoader.getBitmap(item.icon.iconFile, "icons")
+ elif item.iconID:
+ bitmap = BitmapLoader.getBitmap(item.iconID, "icons")
itemIcon = self.imageList.Add(bitmap) if bitmap else -1
else:
itemIcon = -1
@@ -398,17 +398,17 @@ class ItemAffectedBy(wx.Panel):
displayName = attrInfo.displayName if attrInfo else ""
if attrInfo:
- if attrInfo.icon is not None:
- iconFile = attrInfo.icon.iconFile
+ if attrInfo.iconID is not None:
+ iconFile = attrInfo.iconID
icon = BitmapLoader.getBitmap(iconFile, "icons")
if icon is None:
icon = BitmapLoader.getBitmap("transparent16x16", "gui")
attrIcon = self.imageList.Add(icon)
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
penalized = ""
if '*' in attrModifier:
diff --git a/gui/builtinItemStatsViews/itemAttributes.py b/gui/builtinItemStatsViews/itemAttributes.py
index 18432a96d..6081b3f24 100644
--- a/gui/builtinItemStatsViews/itemAttributes.py
+++ b/gui/builtinItemStatsViews/itemAttributes.py
@@ -7,8 +7,6 @@ import wx
from .helpers import AutoListCtrl
from gui.bitmap_loader import BitmapLoader
-from service.market import Market
-from service.attribute import Attribute
from gui.utils.numberFormatter import formatAmount
@@ -86,7 +84,8 @@ class ItemParams(wx.Panel):
def RefreshValues(self, event):
self._fetchValues()
self.UpdateList()
- event.Skip()
+ if event:
+ event.Skip()
def ToggleViewMode(self, event):
self.toggleView *= -1
@@ -174,7 +173,12 @@ class ItemParams(wx.Panel):
info = self.attrInfo.get(name)
att = self.attrValues[name]
- valDefault = getattr(info, "value", None)
+ # If we're working with a stuff object, we should get the original value from our getBaseAttrValue function,
+ # which will return the value with respect to the effective base (with mutators / overrides in place)
+ valDefault = getattr(info, "value", None) # Get default value from attribute
+ if self.stuff is not None:
+ # if it's a stuff, overwrite default (with fallback to current value)
+ valDefault = self.stuff.getBaseAttrValue(name, valDefault)
valueDefault = valDefault if valDefault is not None else att
val = getattr(att, "value", None)
@@ -189,8 +193,8 @@ class ItemParams(wx.Panel):
attrName += " ({})".format(info.ID)
if info:
- if info.icon is not None:
- iconFile = info.icon.iconFile
+ if info.iconID is not None:
+ iconFile = info.iconID
icon = BitmapLoader.getBitmap(iconFile, "icons")
if icon is None:
@@ -198,9 +202,9 @@ class ItemParams(wx.Panel):
attrIcon = self.imageList.Add(icon)
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
else:
- attrIcon = self.imageList.Add(BitmapLoader.getBitmap("7_15", "icons"))
+ attrIcon = self.imageList.Add(BitmapLoader.getBitmap("0", "icons"))
index = self.paramList.InsertItem(self.paramList.GetItemCount(), attrName, attrIcon)
idNameMap[idCount] = attrName
@@ -210,14 +214,14 @@ class ItemParams(wx.Panel):
if self.toggleView != 1:
valueUnit = str(value)
elif info and info.unit:
- valueUnit = self.TranslateValueUnit(value, info.unit.displayName, info.unit.name)
+ valueUnit = self.FormatValue(*info.unit.TranslateValue(value))
else:
valueUnit = formatAmount(value, 3, 0, 0)
if self.toggleView != 1:
valueUnitDefault = str(valueDefault)
elif info and info.unit:
- valueUnitDefault = self.TranslateValueUnit(valueDefault, info.unit.displayName, info.unit.name)
+ valueUnitDefault = self.FormatValue(*info.unit.TranslateValue(valueDefault))
else:
valueUnitDefault = formatAmount(valueDefault, 3, 0, 0)
@@ -232,44 +236,11 @@ class ItemParams(wx.Panel):
self.Layout()
@staticmethod
- def TranslateValueUnit(value, unitName, unitDisplayName):
- def itemIDCallback():
- item = Market.getInstance().getItem(value)
- return "%s (%d)" % (item.name, value) if item is not None else str(value)
-
- def groupIDCallback():
- group = Market.getInstance().getGroup(value)
- return "%s (%d)" % (group.name, value) if group is not None else str(value)
-
- def attributeIDCallback():
- if not value: # some attributes come through with a value of 0? See #1387
- return "%d" % (value)
- attribute = Attribute.getInstance().getAttributeInfo(value)
- return "%s (%d)" % (attribute.name.capitalize(), value)
-
- trans = {
- "Inverse Absolute Percent" : (lambda: (1 - value) * 100, unitName),
- "Inversed Modifier Percent": (lambda: (1 - value) * 100, unitName),
- "Modifier Percent" : (
- lambda: ("%+.2f" if ((value - 1) * 100) % 1 else "%+d") % ((value - 1) * 100), unitName),
- "Volume" : (lambda: value, "m\u00B3"),
- "Sizeclass" : (lambda: value, ""),
- "Absolute Percent" : (lambda: (value * 100), unitName),
- "Milliseconds" : (lambda: value / 1000.0, unitName),
- "typeID" : (itemIDCallback, ""),
- "groupID" : (groupIDCallback, ""),
- "attributeID" : (attributeIDCallback, "")
- }
-
- override = trans.get(unitDisplayName)
- if override is not None:
- v = override[0]()
- if isinstance(v, str):
- fvalue = v
- elif isinstance(v, (int, float)):
- fvalue = formatAmount(v, 3, 0, 0)
- else:
- fvalue = v
- return "%s %s" % (fvalue, override[1])
+ def FormatValue(value, unit):
+ """Formats a value / unit combination into a string
+ @todo: move this to a more central location, since this is also used in the item mutator panel"""
+ if isinstance(value, (int, float)):
+ fvalue = formatAmount(value, 3, 0, 0)
else:
- return "%s %s" % (formatAmount(value, 3, 0), unitName)
+ fvalue = value
+ return "%s %s" % (fvalue, unit)
diff --git a/gui/builtinItemStatsViews/itemDependants.py b/gui/builtinItemStatsViews/itemDependants.py
index 9f7e459c9..84b8f8997 100644
--- a/gui/builtinItemStatsViews/itemDependants.py
+++ b/gui/builtinItemStatsViews/itemDependants.py
@@ -44,8 +44,8 @@ class ItemDependents(wx.Panel):
child = self.reqTree.AppendItem(parent, "Level {}".format(self.romanNb[int(x)]), sbIconId)
for item in items:
- if item.icon:
- bitmap = BitmapLoader.getBitmap(item.icon.iconFile, "icons")
+ if item.iconID:
+ bitmap = BitmapLoader.getBitmap(item.iconID, "icons")
itemIcon = self.imageList.Add(bitmap) if bitmap else -1
else:
itemIcon = -1
diff --git a/gui/builtinItemStatsViews/itemMutator.py b/gui/builtinItemStatsViews/itemMutator.py
new file mode 100644
index 000000000..ac76955b1
--- /dev/null
+++ b/gui/builtinItemStatsViews/itemMutator.py
@@ -0,0 +1,171 @@
+# noinspection PyPackageRequirements
+import wx
+
+from service.fit import Fit
+from .attributeSlider import AttributeSlider, EVT_VALUE_CHANGED
+
+import gui.mainFrame
+from gui.contextMenu import ContextMenu
+from .itemAttributes import ItemParams
+from gui.bitmap_loader import BitmapLoader
+import gui.globalEvents as GE
+import gui.mainFrame
+import random
+
+from logbook import Logger
+
+pyfalog = Logger(__name__)
+
+class ItemMutator(wx.Panel):
+
+ def __init__(self, parent, stuff, item):
+ wx.Panel.__init__(self, parent)
+ self.stuff = stuff
+ self.item = item
+ self.timer = None
+ self.activeFit = gui.mainFrame.MainFrame.getInstance().getActiveFit()
+ mainSizer = wx.BoxSizer(wx.VERTICAL)
+
+ self.goodColor = wx.Colour(96, 191, 0)
+ self.badColor = wx.Colour(255, 64, 0)
+
+ self.event_mapping = {}
+
+ for m in sorted(stuff.mutators.values(), key=lambda x: x.attribute.displayName):
+ baseValueFormated = m.attribute.unit.TranslateValue(m.baseValue)[0]
+ valueFormated = m.attribute.unit.TranslateValue(m.value)[0]
+ slider = AttributeSlider(self, baseValueFormated, m.minMod, m.maxMod, not m.highIsGood)
+ slider.SetValue(valueFormated, False)
+ slider.Bind(EVT_VALUE_CHANGED, self.changeMutatedValue)
+ self.event_mapping[slider] = m
+ headingSizer = wx.BoxSizer(wx.HORIZONTAL)
+
+ # create array for the two ranges
+ min_t = [round(m.minValue, 3), m.minMod, None]
+ max_t = [round(m.maxValue, 3), m.maxMod, None]
+
+ # Then we need to determine if it's better than original, which will be the color
+ min_t[2] = min_t[1] < 1 if not m.highIsGood else 1 < min_t[1]
+ max_t[2] = max_t[1] < 1 if not m.highIsGood else 1 < max_t[1]
+
+ # Lastly, we need to determine which range value is "worse" (left side) or "better" (right side)
+ if (m.highIsGood and min_t[1] > max_t[1]) or (not m.highIsGood and min_t[1] < max_t[1]):
+ better_range = min_t
+ else:
+ better_range = max_t
+
+ if (m.highIsGood and max_t[1] < min_t[1]) or (not m.highIsGood and max_t[1] > min_t[1]):
+ worse_range = max_t
+ else:
+ worse_range = min_t
+ #
+ # print("{}: \nHigh is good: {}".format(m.attribute.displayName, m.attribute.highIsGood))
+ # print("Value {}".format(m.baseValue))
+ #
+ # print(min_t)
+ # print(max_t)
+ # print(better_range)
+ # print(worse_range)
+
+ font = parent.GetFont()
+ font.SetWeight(wx.BOLD)
+
+ headingSizer.Add(BitmapLoader.getStaticBitmap(m.attribute.iconID, self, "icons"), 0, wx.RIGHT, 10)
+
+ displayName = wx.StaticText(self, wx.ID_ANY, m.attribute.displayName)
+ displayName.SetFont(font)
+
+ headingSizer.Add(displayName, 3, wx.ALL | wx.EXPAND, 0)
+
+
+ range_low = wx.StaticText(self, wx.ID_ANY, ItemParams.FormatValue(*m.attribute.unit.TranslateValue(worse_range[0])))
+ range_low.SetForegroundColour(self.goodColor if worse_range[2] else self.badColor)
+
+ range_high = wx.StaticText(self, wx.ID_ANY, ItemParams.FormatValue(*m.attribute.unit.TranslateValue(better_range[0])))
+ range_high.SetForegroundColour(self.goodColor if better_range[2] else self.badColor)
+
+ headingSizer.Add(range_low, 0, wx.ALL | wx.EXPAND, 0)
+ headingSizer.Add(wx.StaticText(self, wx.ID_ANY, " ─ "), 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 5)
+ headingSizer.Add(range_high, 0, wx.RIGHT | wx.EXPAND, 10)
+
+ mainSizer.Add(headingSizer, 0, wx.ALL | wx.EXPAND, 5)
+
+ mainSizer.Add(slider, 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 10)
+ mainSizer.Add(wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL), 0, wx.ALL | wx.EXPAND, 5)
+
+ mainSizer.AddStretchSpacer()
+
+ self.m_staticline = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)
+ mainSizer.Add(self.m_staticline, 0, wx.EXPAND)
+
+ bSizer = wx.BoxSizer(wx.HORIZONTAL)
+
+ self.refreshBtn = wx.Button(self, wx.ID_ANY, "Reset defaults", wx.DefaultPosition, wx.DefaultSize, 0)
+ bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL)
+ self.refreshBtn.Bind(wx.EVT_BUTTON, self.resetMutatedValues)
+
+ self.randomBtn = wx.Button(self, wx.ID_ANY, "Random stats", wx.DefaultPosition, wx.DefaultSize, 0)
+ bSizer.Add(self.randomBtn, 0, wx.ALIGN_CENTER_VERTICAL)
+ self.randomBtn.Bind(wx.EVT_BUTTON, self.randomMutatedValues)
+
+ mainSizer.Add(bSizer, 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 0)
+
+ self.SetSizer(mainSizer)
+ self.Layout()
+
+ def changeMutatedValue(self, evt):
+ m = self.event_mapping[evt.Object]
+ value = evt.Value
+ value = m.attribute.unit.ComplicateValue(value)
+ sFit = Fit.getInstance()
+
+ sFit.changeMutatedValue(m, value)
+ if self.timer:
+ self.timer.Stop()
+ self.timer = None
+
+ for x in self.Parent.Children:
+ if isinstance(x, ItemParams):
+ x.RefreshValues(None)
+ break
+ self.timer = wx.CallLater(1000, self.callLater)
+
+ def resetMutatedValues(self, evt):
+ sFit = Fit.getInstance()
+
+ for slider, m in self.event_mapping.items():
+ value = sFit.changeMutatedValue(m, m.baseValue)
+ value = m.attribute.unit.TranslateValue(value)[0]
+ slider.SetValue(value)
+
+ evt.Skip()
+
+ def randomMutatedValues(self, evt):
+ sFit = Fit.getInstance()
+
+ for slider, m in self.event_mapping.items():
+ value = random.uniform(m.minValue, m.maxValue)
+ value = sFit.changeMutatedValue(m, value)
+ value = m.attribute.unit.TranslateValue(value)[0]
+ slider.SetValue(value)
+
+ evt.Skip()
+
+ def callLater(self):
+ self.timer = None
+ sFit = Fit.getInstance()
+
+ # recalc the fit that this module affects. This is not necessarily the currently active fit
+ sFit.refreshFit(self.activeFit)
+
+ mainFrame = gui.mainFrame.MainFrame.getInstance()
+ activeFit = mainFrame.getActiveFit()
+
+ if activeFit != self.activeFit:
+ # if we're no longer on the fit this module is affecting, simulate a "switch fit" so that the active fit
+ # can be recalculated (if needed)
+ sFit.switchFit(activeFit)
+
+ # Send signal to GUI to update stats with current active fit
+ wx.PostEvent(mainFrame, GE.FitChanged(fitID=activeFit))
+
diff --git a/gui/builtinShipBrowser/fitItem.py b/gui/builtinShipBrowser/fitItem.py
index 3d782fe5f..2f05229d0 100644
--- a/gui/builtinShipBrowser/fitItem.py
+++ b/gui/builtinShipBrowser/fitItem.py
@@ -23,7 +23,7 @@ pyfalog = Logger(__name__)
class FitItem(SFItem.SFBrowserItem):
def __init__(self, parent, fitID=None, shipFittingInfo=("Test", "TestTrait", "cnc's avatar", 0, 0, None), shipID=None,
- itemData=None,
+ itemData=None, graphicID=None,
id=wx.ID_ANY, pos=wx.DefaultPosition,
size=(0, 40), style=0):
@@ -51,7 +51,7 @@ class FitItem(SFItem.SFBrowserItem):
self.deleted = False
if shipID:
- self.shipBmp = BitmapLoader.getBitmap(str(shipID), "renders")
+ self.shipBmp = BitmapLoader.getBitmap(str(graphicID), "renders")
if not self.shipBmp:
self.shipBmp = BitmapLoader.getBitmap("ship_no_image_big", "gui")
diff --git a/gui/builtinShipBrowser/shipItem.py b/gui/builtinShipBrowser/shipItem.py
index 4c679fb8a..517648ad6 100644
--- a/gui/builtinShipBrowser/shipItem.py
+++ b/gui/builtinShipBrowser/shipItem.py
@@ -18,7 +18,7 @@ pyfalog = Logger(__name__)
class ShipItem(SFItem.SFBrowserItem):
- def __init__(self, parent, shipID=None, shipFittingInfo=("Test", "TestTrait", 2), itemData=None,
+ def __init__(self, parent, shipID=None, shipFittingInfo=("Test", "TestTrait", 2), itemData=None, graphicID=None,
id=wx.ID_ANY, pos=wx.DefaultPosition,
size=(0, 40), style=0):
SFItem.SFBrowserItem.__init__(self, parent, size=size)
@@ -36,8 +36,8 @@ class ShipItem(SFItem.SFBrowserItem):
self.fontSmall = wx.Font(fonts.SMALL, wx.SWISS, wx.NORMAL, wx.NORMAL)
self.shipBmp = None
- if shipID:
- self.shipBmp = BitmapLoader.getBitmap(str(shipID), "renders")
+ if graphicID:
+ self.shipBmp = BitmapLoader.getBitmap(str(graphicID), "renders")
if not self.shipBmp:
self.shipBmp = BitmapLoader.getBitmap("ship_no_image_big", "gui")
diff --git a/gui/builtinViewColumns/ammoIcon.py b/gui/builtinViewColumns/ammoIcon.py
index 7459db6a4..647d235a0 100644
--- a/gui/builtinViewColumns/ammoIcon.py
+++ b/gui/builtinViewColumns/ammoIcon.py
@@ -43,7 +43,7 @@ class AmmoIcon(ViewColumn):
if stuff.charge is None:
return -1
else:
- iconFile = stuff.charge.icon.iconFile if stuff.charge.icon else ""
+ iconFile = stuff.charge.iconID if stuff.charge.iconID else ""
if iconFile:
return self.fittingView.imageList.GetImageIndex(iconFile, "icons")
else:
diff --git a/gui/builtinViewColumns/attributeDisplay.py b/gui/builtinViewColumns/attributeDisplay.py
index 7ad8743d7..b36cf7132 100644
--- a/gui/builtinViewColumns/attributeDisplay.py
+++ b/gui/builtinViewColumns/attributeDisplay.py
@@ -41,7 +41,7 @@ class AttributeDisplay(ViewColumn):
iconFile = "pg_small"
iconType = "gui"
else:
- iconFile = info.icon.iconFile if info.icon else None
+ iconFile = info.iconID
iconType = "icons"
if iconFile:
self.imageId = fittingView.imageList.GetImageIndex(iconFile, iconType)
diff --git a/gui/builtinViewColumns/baseIcon.py b/gui/builtinViewColumns/baseIcon.py
index 8c09a9fa3..207d639c5 100644
--- a/gui/builtinViewColumns/baseIcon.py
+++ b/gui/builtinViewColumns/baseIcon.py
@@ -35,10 +35,10 @@ class BaseIcon(ViewColumn):
return self.fittingView.imageList.GetImageIndex("slot_%s_small" % Slot.getName(stuff.slot).lower(),
"gui")
else:
- return self.loadIconFile(stuff.item.icon.iconFile if stuff.item.icon else "")
+ return self.loadIconFile(stuff.item.iconID or "")
item = getattr(stuff, "item", stuff)
- return self.loadIconFile(item.icon.iconFile if item.icon else "")
+ return self.loadIconFile(item.iconID)
def loadIconFile(self, iconFile):
if iconFile:
diff --git a/gui/builtinViewColumns/maxRange.py b/gui/builtinViewColumns/maxRange.py
index 7fcd6cd44..24f72b3a1 100644
--- a/gui/builtinViewColumns/maxRange.py
+++ b/gui/builtinViewColumns/maxRange.py
@@ -40,7 +40,7 @@ class MaxRange(ViewColumn):
info = sAttr.getAttributeInfo("maxRange")
self.info = info
if params["showIcon"]:
- iconFile = info.icon.iconFile if info.icon else None
+ iconFile = info.iconID
if iconFile:
self.imageId = fittingView.imageList.GetImageIndex(iconFile, "icons")
self.bitmap = BitmapLoader.getBitmap(iconFile, "icons")
diff --git a/gui/builtinViewColumns/propertyDisplay.py b/gui/builtinViewColumns/propertyDisplay.py
index b4faa177a..abd91f730 100644
--- a/gui/builtinViewColumns/propertyDisplay.py
+++ b/gui/builtinViewColumns/propertyDisplay.py
@@ -41,7 +41,7 @@ class PropertyDisplay(ViewColumn):
iconFile = "pg_small"
iconType = "gui"
else:
- iconFile = info.icon.iconFile if info.icon else None
+ iconFile = info.iconID if info.icon else None
iconType = "icons"
if iconFile:
self.imageId = fittingView.imageList.GetImageIndex(iconFile, iconType)
diff --git a/gui/builtinViews/implantEditor.py b/gui/builtinViews/implantEditor.py
index b391c1812..d33ff9779 100644
--- a/gui/builtinViews/implantEditor.py
+++ b/gui/builtinViews/implantEditor.py
@@ -156,7 +156,7 @@ class BaseImplantEditorView(wx.Panel):
currentMktGrp = sMkt.getMarketGroup(tree.GetItemData(parent))
items = sMkt.getItemsByMarketGroup(currentMktGrp)
for item in items:
- iconId = self.addMarketViewImage(item.icon.iconFile)
+ iconId = self.addMarketViewImage(item.iconID)
tree.AppendItem(parent, item.name, iconId, data=item)
tree.SortChildren(parent)
diff --git a/gui/contextMenu.py b/gui/contextMenu.py
index 11d574157..08ea258d5 100644
--- a/gui/contextMenu.py
+++ b/gui/contextMenu.py
@@ -208,5 +208,6 @@ from gui.builtinContextMenus import ( # noqa: E402,F401
fighterAbilities,
boosterSideEffects,
commandFits,
- tabbedFits
+ tabbedFits,
+ mutaplasmids,
)
diff --git a/gui/copySelectDialog.py b/gui/copySelectDialog.py
index 0c6fe35a2..7f6ec1da8 100644
--- a/gui/copySelectDialog.py
+++ b/gui/copySelectDialog.py
@@ -36,7 +36,7 @@ class CopySelectDialog(wx.Dialog):
style=wx.DEFAULT_DIALOG_STYLE)
mainSizer = wx.BoxSizer(wx.VERTICAL)
- copyFormats = ["EFT", "EFT (Implants)", "XML", "DNA", "CREST", "MultiBuy", "EFS"]
+ copyFormats = ["EFT", "EFT (Implants)", "XML", "DNA", "ESI", "MultiBuy", "EFS"]
copyFormatTooltips = {CopySelectDialog.copyFormatEft: "EFT text format",
CopySelectDialog.copyFormatEftImps: "EFT text format",
CopySelectDialog.copyFormatXml: "EVE native XML format",
diff --git a/gui/itemStats.py b/gui/itemStats.py
index 3440fb322..6a75b543d 100644
--- a/gui/itemStats.py
+++ b/gui/itemStats.py
@@ -34,6 +34,9 @@ from gui.builtinItemStatsViews.itemDependants import ItemDependents
from gui.builtinItemStatsViews.itemEffects import ItemEffects
from gui.builtinItemStatsViews.itemAffectedBy import ItemAffectedBy
from gui.builtinItemStatsViews.itemProperties import ItemProperties
+from gui.builtinItemStatsViews.itemMutator import ItemMutator
+
+from eos.saveddata.module import Module
class ItemStatsDialog(wx.Dialog):
@@ -79,10 +82,8 @@ class ItemStatsDialog(wx.Dialog):
item = sMkt.getItem(victim.ID)
victim = None
self.context = itmContext
- if item.icon is not None:
- before, sep, after = item.icon.iconFile.rpartition("_")
- iconFile = "%s%s%s" % (before, sep, "0%s" % after if len(after) < 2 else after)
- itemImg = BitmapLoader.getBitmap(iconFile, "icons")
+ if item.iconID is not None:
+ itemImg = BitmapLoader.getBitmap(item.iconID, "icons")
if itemImg is not None:
self.SetIcon(wx.Icon(itemImg))
self.SetTitle("%s: %s%s" % ("%s Stats" % itmContext if itmContext is not None else "Stats", item.name,
@@ -146,7 +147,7 @@ class ItemStatsDialog(wx.Dialog):
ItemStatsDialog.counter -= 1
self.parentWnd.UnregisterStatsWindow(self)
- self.Destroy()
+ event.Skip()
class ItemStatsContainer(wx.Panel):
@@ -163,6 +164,10 @@ class ItemStatsContainer(wx.Panel):
self.traits = ItemTraits(self.nbContainer, stuff, item)
self.nbContainer.AddPage(self.traits, "Traits")
+ if isinstance(stuff, Module) and stuff.isMutated:
+ self.mutator = ItemMutator(self.nbContainer, stuff, item)
+ self.nbContainer.AddPage(self.mutator, "Mutations")
+
self.desc = ItemDescription(self.nbContainer, stuff, item)
self.nbContainer.AddPage(self.desc, "Description")
diff --git a/gui/pyfa_gauge.py b/gui/pyfa_gauge.py
index 0144f651c..43b1dc728 100644
--- a/gui/pyfa_gauge.py
+++ b/gui/pyfa_gauge.py
@@ -130,8 +130,8 @@ class PyGauge(wx.Window):
return self._max_range
def Animate(self):
- sFit = Fit.getInstance()
- if sFit.serviceFittingOptions["enableGaugeAnimation"]:
+ #sFit = Fit.getInstance()
+ if True:
if not self._timer:
self._timer = wx.Timer(self, self._timer_id)
@@ -425,6 +425,13 @@ if __name__ == "__main__":
gauge.SetFractionDigits(1)
box.Add(gauge, 0, wx.ALL, 2)
+ gauge = PyGauge(self, font, size=(100, 5))
+ gauge.SetBackgroundColour(wx.Colour(52, 86, 98))
+ gauge.SetBarColour(wx.Colour(255, 128, 0))
+ gauge.SetValue(59)
+ gauge.SetFractionDigits(1)
+ box.Add(gauge, 0, wx.ALL, 2)
+
self.SetSizer(box)
self.Layout()
diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py
index afa9d6b71..75152a1b4 100644
--- a/gui/shipBrowser.py
+++ b/gui/shipBrowser.py
@@ -236,10 +236,10 @@ class ShipBrowser(wx.Panel):
if self.filterShipsWithNoFits:
if fits > 0:
if filter_:
- self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race))
+ self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race, ship.graphicID))
else:
if filter_:
- self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race))
+ self.lpane.AddWidget(ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, fits), ship.race, ship.graphicID))
self.raceselect.RebuildRaces(racesList)
@@ -335,8 +335,8 @@ class ShipBrowser(wx.Panel):
shipTrait = ship.traits.traitText if (ship.traits is not None) else "" # empty string if no traits
- for ID, name, booster, timestamp, notes in fitList:
- self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID))
+ for ID, name, booster, timestamp, notes, graphicID in fitList:
+ self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID, graphicID=graphicID))
self.lpane.RefreshList()
self.lpane.Thaw()
@@ -374,7 +374,7 @@ class ShipBrowser(wx.Panel):
self.lpane.AddWidget(
ShipItem(self.lpane, ship.ID, (ship.name, shipTrait, len(sFit.getFitsWithShip(ship.ID))),
- ship.race))
+ ship.race, ship.graphicID))
for ID, name, shipID, shipName, booster, timestamp, notes in fitList:
ship = sMkt.getItem(shipID)
@@ -384,7 +384,7 @@ class ShipBrowser(wx.Panel):
shipTrait = ship.traits.traitText if (ship.traits is not None) else "" # empty string if no traits
- self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID))
+ self.lpane.AddWidget(FitItem(self.lpane, ID, (shipName, shipTrait, name, booster, timestamp, notes), shipID, graphicID=ship.graphicID))
if len(ships) == 0 and len(fitList) == 0:
self.lpane.AddWidget(PFStaticText(self.lpane, label="No matching results."))
self.lpane.RefreshList(doFocus=False)
@@ -435,6 +435,7 @@ class ShipBrowser(wx.Panel):
fit[4]
),
shipItem.ID,
+ graphicID=shipItem.graphicID
))
self.lpane.RefreshList(doFocus=False)
self.lpane.Thaw()
diff --git a/imgs/icons/7_15.png b/imgs/icons/0.png
similarity index 100%
rename from imgs/icons/7_15.png
rename to imgs/icons/0.png
diff --git a/imgs/icons/10012.png b/imgs/icons/10012.png
new file mode 100644
index 000000000..0e783e20b
Binary files /dev/null and b/imgs/icons/10012.png differ
diff --git a/imgs/icons/10013.png b/imgs/icons/10013.png
new file mode 100644
index 000000000..53b4edb66
Binary files /dev/null and b/imgs/icons/10013.png differ
diff --git a/imgs/icons/10014.png b/imgs/icons/10014.png
new file mode 100644
index 000000000..78c8a2e44
Binary files /dev/null and b/imgs/icons/10014.png differ
diff --git a/imgs/icons/10015.png b/imgs/icons/10015.png
new file mode 100644
index 000000000..d8b049e09
Binary files /dev/null and b/imgs/icons/10015.png differ
diff --git a/imgs/icons/10016.png b/imgs/icons/10016.png
new file mode 100644
index 000000000..c4c521404
Binary files /dev/null and b/imgs/icons/10016.png differ
diff --git a/imgs/icons/10017.png b/imgs/icons/10017.png
new file mode 100644
index 000000000..d778f8b25
Binary files /dev/null and b/imgs/icons/10017.png differ
diff --git a/imgs/icons/10018.png b/imgs/icons/10018.png
new file mode 100644
index 000000000..afd16989c
Binary files /dev/null and b/imgs/icons/10018.png differ
diff --git a/imgs/icons/10019.png b/imgs/icons/10019.png
new file mode 100644
index 000000000..9533229c5
Binary files /dev/null and b/imgs/icons/10019.png differ
diff --git a/imgs/icons/10020.png b/imgs/icons/10020.png
new file mode 100644
index 000000000..325cc1ce5
Binary files /dev/null and b/imgs/icons/10020.png differ
diff --git a/imgs/icons/10021.png b/imgs/icons/10021.png
new file mode 100644
index 000000000..6abe3ba34
Binary files /dev/null and b/imgs/icons/10021.png differ
diff --git a/imgs/icons/10022.png b/imgs/icons/10022.png
new file mode 100644
index 000000000..1cfe15d81
Binary files /dev/null and b/imgs/icons/10022.png differ
diff --git a/imgs/icons/10023.png b/imgs/icons/10023.png
new file mode 100644
index 000000000..ba105fbd1
Binary files /dev/null and b/imgs/icons/10023.png differ
diff --git a/imgs/icons/10024.png b/imgs/icons/10024.png
new file mode 100644
index 000000000..1257cd16a
Binary files /dev/null and b/imgs/icons/10024.png differ
diff --git a/imgs/icons/10025.png b/imgs/icons/10025.png
new file mode 100644
index 000000000..a13132bc5
Binary files /dev/null and b/imgs/icons/10025.png differ
diff --git a/imgs/icons/10026.png b/imgs/icons/10026.png
new file mode 100644
index 000000000..b2d8a3dda
Binary files /dev/null and b/imgs/icons/10026.png differ
diff --git a/imgs/icons/10027.png b/imgs/icons/10027.png
new file mode 100644
index 000000000..e458b9e29
Binary files /dev/null and b/imgs/icons/10027.png differ
diff --git a/imgs/icons/10028.png b/imgs/icons/10028.png
new file mode 100644
index 000000000..56fc8d1bc
Binary files /dev/null and b/imgs/icons/10028.png differ
diff --git a/imgs/icons/10029.png b/imgs/icons/10029.png
new file mode 100644
index 000000000..bbd67d9e9
Binary files /dev/null and b/imgs/icons/10029.png differ
diff --git a/imgs/icons/10030.png b/imgs/icons/10030.png
new file mode 100644
index 000000000..21dd0c830
Binary files /dev/null and b/imgs/icons/10030.png differ
diff --git a/imgs/icons/10031.png b/imgs/icons/10031.png
new file mode 100644
index 000000000..f11233461
Binary files /dev/null and b/imgs/icons/10031.png differ
diff --git a/imgs/icons/10032.png b/imgs/icons/10032.png
new file mode 100644
index 000000000..8ad901443
Binary files /dev/null and b/imgs/icons/10032.png differ
diff --git a/imgs/icons/10033.png b/imgs/icons/10033.png
new file mode 100644
index 000000000..19a96f277
Binary files /dev/null and b/imgs/icons/10033.png differ
diff --git a/imgs/icons/10034.png b/imgs/icons/10034.png
new file mode 100644
index 000000000..21bf81de9
Binary files /dev/null and b/imgs/icons/10034.png differ
diff --git a/imgs/icons/10035.png b/imgs/icons/10035.png
new file mode 100644
index 000000000..70fcf56ed
Binary files /dev/null and b/imgs/icons/10035.png differ
diff --git a/imgs/icons/10036.png b/imgs/icons/10036.png
new file mode 100644
index 000000000..5d6f14328
Binary files /dev/null and b/imgs/icons/10036.png differ
diff --git a/imgs/icons/10037.png b/imgs/icons/10037.png
new file mode 100644
index 000000000..96799c5ab
Binary files /dev/null and b/imgs/icons/10037.png differ
diff --git a/imgs/icons/10038.png b/imgs/icons/10038.png
new file mode 100644
index 000000000..1888a2db6
Binary files /dev/null and b/imgs/icons/10038.png differ
diff --git a/imgs/icons/10039.png b/imgs/icons/10039.png
new file mode 100644
index 000000000..7a2b7ce59
Binary files /dev/null and b/imgs/icons/10039.png differ
diff --git a/imgs/icons/14_1.png b/imgs/icons/1004.png
similarity index 100%
rename from imgs/icons/14_1.png
rename to imgs/icons/1004.png
diff --git a/imgs/icons/10040.png b/imgs/icons/10040.png
new file mode 100644
index 000000000..dd88f053f
Binary files /dev/null and b/imgs/icons/10040.png differ
diff --git a/imgs/icons/10041.png b/imgs/icons/10041.png
new file mode 100644
index 000000000..a7ef3955b
Binary files /dev/null and b/imgs/icons/10041.png differ
diff --git a/imgs/icons/10042.png b/imgs/icons/10042.png
new file mode 100644
index 000000000..e7e662111
Binary files /dev/null and b/imgs/icons/10042.png differ
diff --git a/imgs/icons/10043.png b/imgs/icons/10043.png
new file mode 100644
index 000000000..7e461517d
Binary files /dev/null and b/imgs/icons/10043.png differ
diff --git a/imgs/icons/10044.png b/imgs/icons/10044.png
new file mode 100644
index 000000000..7f15a8191
Binary files /dev/null and b/imgs/icons/10044.png differ
diff --git a/imgs/icons/10045.png b/imgs/icons/10045.png
new file mode 100644
index 000000000..1af2c1788
Binary files /dev/null and b/imgs/icons/10045.png differ
diff --git a/imgs/icons/10046.png b/imgs/icons/10046.png
new file mode 100644
index 000000000..a3f807919
Binary files /dev/null and b/imgs/icons/10046.png differ
diff --git a/imgs/icons/10047.png b/imgs/icons/10047.png
new file mode 100644
index 000000000..675933463
Binary files /dev/null and b/imgs/icons/10047.png differ
diff --git a/imgs/icons/10048.png b/imgs/icons/10048.png
new file mode 100644
index 000000000..034d5d66f
Binary files /dev/null and b/imgs/icons/10048.png differ
diff --git a/imgs/icons/10049.png b/imgs/icons/10049.png
new file mode 100644
index 000000000..3dfe71a0c
Binary files /dev/null and b/imgs/icons/10049.png differ
diff --git a/imgs/icons/10050.png b/imgs/icons/10050.png
new file mode 100644
index 000000000..fd546101e
Binary files /dev/null and b/imgs/icons/10050.png differ
diff --git a/imgs/icons/10051.png b/imgs/icons/10051.png
new file mode 100644
index 000000000..84bc787f9
Binary files /dev/null and b/imgs/icons/10051.png differ
diff --git a/imgs/icons/10052.png b/imgs/icons/10052.png
new file mode 100644
index 000000000..448243088
Binary files /dev/null and b/imgs/icons/10052.png differ
diff --git a/imgs/icons/10053.png b/imgs/icons/10053.png
new file mode 100644
index 000000000..c8ae676d7
Binary files /dev/null and b/imgs/icons/10053.png differ
diff --git a/imgs/icons/10054.png b/imgs/icons/10054.png
new file mode 100644
index 000000000..71ea09614
Binary files /dev/null and b/imgs/icons/10054.png differ
diff --git a/imgs/icons/10055.png b/imgs/icons/10055.png
new file mode 100644
index 000000000..35e3f9507
Binary files /dev/null and b/imgs/icons/10055.png differ
diff --git a/imgs/icons/10056.png b/imgs/icons/10056.png
new file mode 100644
index 000000000..c8ed67a64
Binary files /dev/null and b/imgs/icons/10056.png differ
diff --git a/imgs/icons/10057.png b/imgs/icons/10057.png
new file mode 100644
index 000000000..1e14c6784
Binary files /dev/null and b/imgs/icons/10057.png differ
diff --git a/imgs/icons/10058.png b/imgs/icons/10058.png
new file mode 100644
index 000000000..eb89cf09a
Binary files /dev/null and b/imgs/icons/10058.png differ
diff --git a/imgs/icons/1007.png b/imgs/icons/1007.png
new file mode 100644
index 000000000..238437da8
Binary files /dev/null and b/imgs/icons/1007.png differ
diff --git a/imgs/icons/10071.png b/imgs/icons/10071.png
new file mode 100644
index 000000000..ff27fb97f
Binary files /dev/null and b/imgs/icons/10071.png differ
diff --git a/imgs/icons/10073.png b/imgs/icons/10073.png
new file mode 100644
index 000000000..d7fc98f29
Binary files /dev/null and b/imgs/icons/10073.png differ
diff --git a/imgs/icons/10074.png b/imgs/icons/10074.png
new file mode 100644
index 000000000..f3d02a2c5
Binary files /dev/null and b/imgs/icons/10074.png differ
diff --git a/imgs/icons/10075.png b/imgs/icons/10075.png
new file mode 100644
index 000000000..8f75eb1ba
Binary files /dev/null and b/imgs/icons/10075.png differ
diff --git a/imgs/icons/10076.png b/imgs/icons/10076.png
new file mode 100644
index 000000000..1b0c12d40
Binary files /dev/null and b/imgs/icons/10076.png differ
diff --git a/imgs/icons/10077.png b/imgs/icons/10077.png
new file mode 100644
index 000000000..1fda39280
Binary files /dev/null and b/imgs/icons/10077.png differ
diff --git a/imgs/icons/10078.png b/imgs/icons/10078.png
new file mode 100644
index 000000000..07216643f
Binary files /dev/null and b/imgs/icons/10078.png differ
diff --git a/imgs/icons/10079.png b/imgs/icons/10079.png
new file mode 100644
index 000000000..2b3f825d2
Binary files /dev/null and b/imgs/icons/10079.png differ
diff --git a/imgs/icons/10132.png b/imgs/icons/10132.png
new file mode 100644
index 000000000..fb59bf1cb
Binary files /dev/null and b/imgs/icons/10132.png differ
diff --git a/imgs/icons/99_9.png b/imgs/icons/10144.png
similarity index 100%
rename from imgs/icons/99_9.png
rename to imgs/icons/10144.png
diff --git a/imgs/icons/79_9.png b/imgs/icons/10149.png
similarity index 100%
rename from imgs/icons/79_9.png
rename to imgs/icons/10149.png
diff --git a/imgs/icons/10151.png b/imgs/icons/10151.png
new file mode 100644
index 000000000..f28075644
Binary files /dev/null and b/imgs/icons/10151.png differ
diff --git a/imgs/icons/10153.png b/imgs/icons/10153.png
new file mode 100644
index 000000000..57abc8770
Binary files /dev/null and b/imgs/icons/10153.png differ
diff --git a/imgs/icons/101_4.png b/imgs/icons/10158.png
similarity index 100%
rename from imgs/icons/101_4.png
rename to imgs/icons/10158.png
diff --git a/imgs/icons/10159.png b/imgs/icons/10159.png
new file mode 100644
index 000000000..e7d5f4b07
Binary files /dev/null and b/imgs/icons/10159.png differ
diff --git a/imgs/icons/10162.png b/imgs/icons/10162.png
new file mode 100644
index 000000000..e3513820b
Binary files /dev/null and b/imgs/icons/10162.png differ
diff --git a/imgs/icons/10163.png b/imgs/icons/10163.png
new file mode 100644
index 000000000..622a04c79
Binary files /dev/null and b/imgs/icons/10163.png differ
diff --git a/imgs/icons/10176.png b/imgs/icons/10176.png
new file mode 100644
index 000000000..fa95d4998
Binary files /dev/null and b/imgs/icons/10176.png differ
diff --git a/imgs/icons/10190.png b/imgs/icons/10190.png
new file mode 100644
index 000000000..fa6e1ad9c
Binary files /dev/null and b/imgs/icons/10190.png differ
diff --git a/imgs/icons/10224.png b/imgs/icons/10224.png
new file mode 100644
index 000000000..bd315f777
Binary files /dev/null and b/imgs/icons/10224.png differ
diff --git a/imgs/icons/10234.png b/imgs/icons/10234.png
new file mode 100644
index 000000000..e2c45ba35
Binary files /dev/null and b/imgs/icons/10234.png differ
diff --git a/imgs/icons/10236.png b/imgs/icons/10236.png
new file mode 100644
index 000000000..650fabfcf
Binary files /dev/null and b/imgs/icons/10236.png differ
diff --git a/imgs/icons/10254.png b/imgs/icons/10254.png
new file mode 100644
index 000000000..971c30394
Binary files /dev/null and b/imgs/icons/10254.png differ
diff --git a/imgs/icons/10256.png b/imgs/icons/10256.png
new file mode 100644
index 000000000..d537be9bb
Binary files /dev/null and b/imgs/icons/10256.png differ
diff --git a/imgs/icons/1_3.png b/imgs/icons/1029.png
similarity index 100%
rename from imgs/icons/1_3.png
rename to imgs/icons/1029.png
diff --git a/imgs/icons/1_8.png b/imgs/icons/1030.png
similarity index 100%
rename from imgs/icons/1_8.png
rename to imgs/icons/1030.png
diff --git a/imgs/icons/1_6.png b/imgs/icons/1031.png
similarity index 100%
rename from imgs/icons/1_6.png
rename to imgs/icons/1031.png
diff --git a/imgs/icons/1_7.png b/imgs/icons/1033.png
similarity index 100%
rename from imgs/icons/1_7.png
rename to imgs/icons/1033.png
diff --git a/imgs/icons/1_2.png b/imgs/icons/1035.png
similarity index 100%
rename from imgs/icons/1_2.png
rename to imgs/icons/1035.png
diff --git a/imgs/icons/4_10.png b/imgs/icons/104.png
similarity index 100%
rename from imgs/icons/4_10.png
rename to imgs/icons/104.png
diff --git a/imgs/icons/3_6.png b/imgs/icons/1041.png
similarity index 100%
rename from imgs/icons/3_6.png
rename to imgs/icons/1041.png
diff --git a/imgs/icons/2_12.png b/imgs/icons/1042.png
similarity index 100%
rename from imgs/icons/2_12.png
rename to imgs/icons/1042.png
diff --git a/imgs/icons/2_5.png b/imgs/icons/1044.png
similarity index 100%
rename from imgs/icons/2_5.png
rename to imgs/icons/1044.png
diff --git a/imgs/icons/5_12.png b/imgs/icons/1046.png
similarity index 100%
rename from imgs/icons/5_12.png
rename to imgs/icons/1046.png
diff --git a/imgs/icons/15_9.png b/imgs/icons/1047.png
similarity index 100%
rename from imgs/icons/15_9.png
rename to imgs/icons/1047.png
diff --git a/imgs/icons/4_11.png b/imgs/icons/105.png
similarity index 100%
rename from imgs/icons/4_11.png
rename to imgs/icons/105.png
diff --git a/imgs/icons/10570.png b/imgs/icons/10570.png
new file mode 100644
index 000000000..8e75862dc
Binary files /dev/null and b/imgs/icons/10570.png differ
diff --git a/imgs/icons/3_11.png b/imgs/icons/106.png
similarity index 100%
rename from imgs/icons/3_11.png
rename to imgs/icons/106.png
diff --git a/imgs/icons/12_8.png b/imgs/icons/1061.png
similarity index 100%
rename from imgs/icons/12_8.png
rename to imgs/icons/1061.png
diff --git a/imgs/icons/10624.png b/imgs/icons/10624.png
new file mode 100644
index 000000000..8cfb2d84a
Binary files /dev/null and b/imgs/icons/10624.png differ
diff --git a/imgs/icons/10684.png b/imgs/icons/10684.png
new file mode 100644
index 000000000..d1bf7c436
Binary files /dev/null and b/imgs/icons/10684.png differ
diff --git a/imgs/icons/3_10.png b/imgs/icons/107.png
similarity index 100%
rename from imgs/icons/3_10.png
rename to imgs/icons/107.png
diff --git a/imgs/icons/10756.png b/imgs/icons/10756.png
new file mode 100644
index 000000000..f866a74c5
Binary files /dev/null and b/imgs/icons/10756.png differ
diff --git a/imgs/icons/10785.png b/imgs/icons/10785.png
new file mode 100644
index 000000000..fac13d427
Binary files /dev/null and b/imgs/icons/10785.png differ
diff --git a/imgs/icons/10828.png b/imgs/icons/10828.png
new file mode 100644
index 000000000..303243829
Binary files /dev/null and b/imgs/icons/10828.png differ
diff --git a/imgs/icons/10829.png b/imgs/icons/10829.png
new file mode 100644
index 000000000..798271327
Binary files /dev/null and b/imgs/icons/10829.png differ
diff --git a/imgs/icons/10830.png b/imgs/icons/10830.png
new file mode 100644
index 000000000..9f00e1b01
Binary files /dev/null and b/imgs/icons/10830.png differ
diff --git a/imgs/icons/10831.png b/imgs/icons/10831.png
new file mode 100644
index 000000000..3fca452ef
Binary files /dev/null and b/imgs/icons/10831.png differ
diff --git a/imgs/icons/10833.png b/imgs/icons/10833.png
new file mode 100644
index 000000000..64c92ed61
Binary files /dev/null and b/imgs/icons/10833.png differ
diff --git a/imgs/icons/10834.png b/imgs/icons/10834.png
new file mode 100644
index 000000000..616c94d6d
Binary files /dev/null and b/imgs/icons/10834.png differ
diff --git a/imgs/icons/10835.png b/imgs/icons/10835.png
new file mode 100644
index 000000000..e1eaf9774
Binary files /dev/null and b/imgs/icons/10835.png differ
diff --git a/imgs/icons/10836.png b/imgs/icons/10836.png
new file mode 100644
index 000000000..4e6062899
Binary files /dev/null and b/imgs/icons/10836.png differ
diff --git a/imgs/icons/11_16.png b/imgs/icons/1084.png
similarity index 100%
rename from imgs/icons/11_16.png
rename to imgs/icons/1084.png
diff --git a/imgs/icons/infantry_gear.png b/imgs/icons/10847.png
similarity index 100%
rename from imgs/icons/infantry_gear.png
rename to imgs/icons/10847.png
diff --git a/imgs/icons/4_12.png b/imgs/icons/109.png
similarity index 100%
rename from imgs/icons/4_12.png
rename to imgs/icons/109.png
diff --git a/imgs/icons/105_46.png b/imgs/icons/10932.png
similarity index 100%
rename from imgs/icons/105_46.png
rename to imgs/icons/10932.png
diff --git a/imgs/icons/105_47.png b/imgs/icons/10933.png
similarity index 100%
rename from imgs/icons/105_47.png
rename to imgs/icons/10933.png
diff --git a/imgs/icons/105_48.png b/imgs/icons/10934.png
similarity index 100%
rename from imgs/icons/105_48.png
rename to imgs/icons/10934.png
diff --git a/imgs/icons/105_49.png b/imgs/icons/10935.png
similarity index 100%
rename from imgs/icons/105_49.png
rename to imgs/icons/10935.png
diff --git a/imgs/icons/107_1.png b/imgs/icons/10940.png
similarity index 100%
rename from imgs/icons/107_1.png
rename to imgs/icons/10940.png
diff --git a/imgs/icons/107_2.png b/imgs/icons/10941.png
similarity index 100%
rename from imgs/icons/107_2.png
rename to imgs/icons/10941.png
diff --git a/imgs/icons/107_3.png b/imgs/icons/10942.png
similarity index 100%
rename from imgs/icons/107_3.png
rename to imgs/icons/10942.png
diff --git a/imgs/icons/5_1.png b/imgs/icons/110.png
similarity index 100%
rename from imgs/icons/5_1.png
rename to imgs/icons/110.png
diff --git a/imgs/icons/4_9.png b/imgs/icons/111.png
similarity index 100%
rename from imgs/icons/4_9.png
rename to imgs/icons/111.png
diff --git a/imgs/icons/3_4.png b/imgs/icons/112.png
similarity index 100%
rename from imgs/icons/3_4.png
rename to imgs/icons/112.png
diff --git a/imgs/icons/8_1.png b/imgs/icons/1131.png
similarity index 100%
rename from imgs/icons/8_1.png
rename to imgs/icons/1131.png
diff --git a/imgs/icons/8_2.png b/imgs/icons/1139.png
similarity index 100%
rename from imgs/icons/8_2.png
rename to imgs/icons/1139.png
diff --git a/imgs/icons/8_3.png b/imgs/icons/1140.png
similarity index 100%
rename from imgs/icons/8_3.png
rename to imgs/icons/1140.png
diff --git a/imgs/icons/8_4.png b/imgs/icons/1141.png
similarity index 100%
rename from imgs/icons/8_4.png
rename to imgs/icons/1141.png
diff --git a/imgs/icons/8_5.png b/imgs/icons/1142.png
similarity index 100%
rename from imgs/icons/8_5.png
rename to imgs/icons/1142.png
diff --git a/imgs/icons/8_6.png b/imgs/icons/1143.png
similarity index 100%
rename from imgs/icons/8_6.png
rename to imgs/icons/1143.png
diff --git a/imgs/icons/8_7.png b/imgs/icons/1144.png
similarity index 100%
rename from imgs/icons/8_7.png
rename to imgs/icons/1144.png
diff --git a/imgs/icons/8_8.png b/imgs/icons/1145.png
similarity index 100%
rename from imgs/icons/8_8.png
rename to imgs/icons/1145.png
diff --git a/imgs/icons/1159.png b/imgs/icons/1159.png
new file mode 100644
index 000000000..b7e6d33b6
Binary files /dev/null and b/imgs/icons/1159.png differ
diff --git a/imgs/icons/1162.png b/imgs/icons/1162.png
new file mode 100644
index 000000000..ed4e2b79a
Binary files /dev/null and b/imgs/icons/1162.png differ
diff --git a/imgs/icons/1164.png b/imgs/icons/1164.png
new file mode 100644
index 000000000..5b1fdc378
Binary files /dev/null and b/imgs/icons/1164.png differ
diff --git a/imgs/icons/27_5.png b/imgs/icons/1171.png
similarity index 100%
rename from imgs/icons/27_5.png
rename to imgs/icons/1171.png
diff --git a/imgs/icons/26_16.png b/imgs/icons/1172.png
similarity index 100%
rename from imgs/icons/26_16.png
rename to imgs/icons/1172.png
diff --git a/imgs/icons/26_15.png b/imgs/icons/1173.png
similarity index 100%
rename from imgs/icons/26_15.png
rename to imgs/icons/1173.png
diff --git a/imgs/icons/26_13.png b/imgs/icons/1174.png
similarity index 100%
rename from imgs/icons/26_13.png
rename to imgs/icons/1174.png
diff --git a/imgs/icons/26_12.png b/imgs/icons/1175.png
similarity index 100%
rename from imgs/icons/26_12.png
rename to imgs/icons/1175.png
diff --git a/imgs/icons/1177.png b/imgs/icons/1177.png
new file mode 100644
index 000000000..b734ec22e
Binary files /dev/null and b/imgs/icons/1177.png differ
diff --git a/imgs/icons/1178.png b/imgs/icons/1178.png
new file mode 100644
index 000000000..f6063e58e
Binary files /dev/null and b/imgs/icons/1178.png differ
diff --git a/imgs/icons/1179.png b/imgs/icons/1179.png
new file mode 100644
index 000000000..cd760a976
Binary files /dev/null and b/imgs/icons/1179.png differ
diff --git a/imgs/icons/1180.png b/imgs/icons/1180.png
new file mode 100644
index 000000000..a77d421e0
Binary files /dev/null and b/imgs/icons/1180.png differ
diff --git a/imgs/icons/1181.png b/imgs/icons/1181.png
new file mode 100644
index 000000000..5d2f6be89
Binary files /dev/null and b/imgs/icons/1181.png differ
diff --git a/imgs/icons/1182.png b/imgs/icons/1182.png
new file mode 100644
index 000000000..e336ec855
Binary files /dev/null and b/imgs/icons/1182.png differ
diff --git a/imgs/icons/1183.png b/imgs/icons/1183.png
new file mode 100644
index 000000000..77c48aff0
Binary files /dev/null and b/imgs/icons/1183.png differ
diff --git a/imgs/icons/1184.png b/imgs/icons/1184.png
new file mode 100644
index 000000000..9a2c59ba3
Binary files /dev/null and b/imgs/icons/1184.png differ
diff --git a/imgs/icons/1185.png b/imgs/icons/1185.png
new file mode 100644
index 000000000..613c03444
Binary files /dev/null and b/imgs/icons/1185.png differ
diff --git a/imgs/icons/1186.png b/imgs/icons/1186.png
new file mode 100644
index 000000000..eb43e69e0
Binary files /dev/null and b/imgs/icons/1186.png differ
diff --git a/imgs/icons/1187.png b/imgs/icons/1187.png
new file mode 100644
index 000000000..caba34554
Binary files /dev/null and b/imgs/icons/1187.png differ
diff --git a/imgs/icons/1188.png b/imgs/icons/1188.png
new file mode 100644
index 000000000..cbefa460f
Binary files /dev/null and b/imgs/icons/1188.png differ
diff --git a/imgs/icons/1189.png b/imgs/icons/1189.png
new file mode 100644
index 000000000..67f9a96e5
Binary files /dev/null and b/imgs/icons/1189.png differ
diff --git a/imgs/icons/1190.png b/imgs/icons/1190.png
new file mode 100644
index 000000000..d7f7c9085
Binary files /dev/null and b/imgs/icons/1190.png differ
diff --git a/imgs/icons/10_15.png b/imgs/icons/1191.png
similarity index 100%
rename from imgs/icons/10_15.png
rename to imgs/icons/1191.png
diff --git a/imgs/icons/1192.png b/imgs/icons/1192.png
new file mode 100644
index 000000000..3a580d066
Binary files /dev/null and b/imgs/icons/1192.png differ
diff --git a/imgs/icons/1193.png b/imgs/icons/1193.png
new file mode 100644
index 000000000..59d035b67
Binary files /dev/null and b/imgs/icons/1193.png differ
diff --git a/imgs/icons/1194.png b/imgs/icons/1194.png
new file mode 100644
index 000000000..2c3a4ede9
Binary files /dev/null and b/imgs/icons/1194.png differ
diff --git a/imgs/icons/1195.png b/imgs/icons/1195.png
new file mode 100644
index 000000000..fc70016fc
Binary files /dev/null and b/imgs/icons/1195.png differ
diff --git a/imgs/icons/11_4.png b/imgs/icons/1196.png
similarity index 100%
rename from imgs/icons/11_4.png
rename to imgs/icons/1196.png
diff --git a/imgs/icons/1198.png b/imgs/icons/1198.png
new file mode 100644
index 000000000..407fd23e1
Binary files /dev/null and b/imgs/icons/1198.png differ
diff --git a/imgs/icons/1199.png b/imgs/icons/1199.png
new file mode 100644
index 000000000..3a623a37d
Binary files /dev/null and b/imgs/icons/1199.png differ
diff --git a/imgs/icons/1200.png b/imgs/icons/1200.png
new file mode 100644
index 000000000..eaf3e3537
Binary files /dev/null and b/imgs/icons/1200.png differ
diff --git a/imgs/icons/1201.png b/imgs/icons/1201.png
new file mode 100644
index 000000000..54c7278ef
Binary files /dev/null and b/imgs/icons/1201.png differ
diff --git a/imgs/icons/1204.png b/imgs/icons/1204.png
new file mode 100644
index 000000000..7227ba715
Binary files /dev/null and b/imgs/icons/1204.png differ
diff --git a/imgs/icons/1205.png b/imgs/icons/1205.png
new file mode 100644
index 000000000..14ebe35d6
Binary files /dev/null and b/imgs/icons/1205.png differ
diff --git a/imgs/icons/1206.png b/imgs/icons/1206.png
new file mode 100644
index 000000000..9f7512912
Binary files /dev/null and b/imgs/icons/1206.png differ
diff --git a/imgs/icons/1207.png b/imgs/icons/1207.png
new file mode 100644
index 000000000..c71e21d99
Binary files /dev/null and b/imgs/icons/1207.png differ
diff --git a/imgs/icons/1209.png b/imgs/icons/1209.png
new file mode 100644
index 000000000..28f6399e6
Binary files /dev/null and b/imgs/icons/1209.png differ
diff --git a/imgs/icons/123_5.png b/imgs/icons/123_5.png
deleted file mode 100644
index c360369ca..000000000
Binary files a/imgs/icons/123_5.png and /dev/null differ
diff --git a/imgs/icons/123_8.png b/imgs/icons/123_8.png
deleted file mode 100644
index 4bf986d3d..000000000
Binary files a/imgs/icons/123_8.png and /dev/null differ
diff --git a/imgs/icons/124_11.png b/imgs/icons/124_11.png
deleted file mode 100644
index 12e664125..000000000
Binary files a/imgs/icons/124_11.png and /dev/null differ
diff --git a/imgs/icons/1269.png b/imgs/icons/1269.png
new file mode 100644
index 000000000..ca928c60f
Binary files /dev/null and b/imgs/icons/1269.png differ
diff --git a/imgs/icons/1270.png b/imgs/icons/1270.png
new file mode 100644
index 000000000..36e521c6e
Binary files /dev/null and b/imgs/icons/1270.png differ
diff --git a/imgs/icons/1271.png b/imgs/icons/1271.png
new file mode 100644
index 000000000..aa1364e90
Binary files /dev/null and b/imgs/icons/1271.png differ
diff --git a/imgs/icons/1272.png b/imgs/icons/1272.png
new file mode 100644
index 000000000..1987c069e
Binary files /dev/null and b/imgs/icons/1272.png differ
diff --git a/imgs/icons/1273.png b/imgs/icons/1273.png
new file mode 100644
index 000000000..306ce2d9f
Binary files /dev/null and b/imgs/icons/1273.png differ
diff --git a/imgs/icons/1274.png b/imgs/icons/1274.png
new file mode 100644
index 000000000..1f93e4ffe
Binary files /dev/null and b/imgs/icons/1274.png differ
diff --git a/imgs/icons/1275.png b/imgs/icons/1275.png
new file mode 100644
index 000000000..3371be4af
Binary files /dev/null and b/imgs/icons/1275.png differ
diff --git a/imgs/icons/1277.png b/imgs/icons/1277.png
new file mode 100644
index 000000000..ace445b30
Binary files /dev/null and b/imgs/icons/1277.png differ
diff --git a/imgs/icons/1279.png b/imgs/icons/1279.png
new file mode 100644
index 000000000..43eec2b28
Binary files /dev/null and b/imgs/icons/1279.png differ
diff --git a/imgs/icons/1282.png b/imgs/icons/1282.png
new file mode 100644
index 000000000..3aa3c5619
Binary files /dev/null and b/imgs/icons/1282.png differ
diff --git a/imgs/icons/12_4.png b/imgs/icons/1283.png
similarity index 100%
rename from imgs/icons/12_4.png
rename to imgs/icons/1283.png
diff --git a/imgs/icons/12_6.png b/imgs/icons/1284.png
similarity index 100%
rename from imgs/icons/12_6.png
rename to imgs/icons/1284.png
diff --git a/imgs/icons/14_2.png b/imgs/icons/1285.png
similarity index 100%
rename from imgs/icons/14_2.png
rename to imgs/icons/1285.png
diff --git a/imgs/icons/14_3.png b/imgs/icons/1286.png
similarity index 100%
rename from imgs/icons/14_3.png
rename to imgs/icons/1286.png
diff --git a/imgs/icons/14_4.png b/imgs/icons/1287.png
similarity index 100%
rename from imgs/icons/14_4.png
rename to imgs/icons/1287.png
diff --git a/imgs/icons/14_5.png b/imgs/icons/1288.png
similarity index 100%
rename from imgs/icons/14_5.png
rename to imgs/icons/1288.png
diff --git a/imgs/icons/14_6.png b/imgs/icons/1289.png
similarity index 100%
rename from imgs/icons/14_6.png
rename to imgs/icons/1289.png
diff --git a/imgs/icons/14_7.png b/imgs/icons/1290.png
similarity index 100%
rename from imgs/icons/14_7.png
rename to imgs/icons/1290.png
diff --git a/imgs/icons/14_8.png b/imgs/icons/1291.png
similarity index 100%
rename from imgs/icons/14_8.png
rename to imgs/icons/1291.png
diff --git a/imgs/icons/14_9.png b/imgs/icons/1292.png
similarity index 100%
rename from imgs/icons/14_9.png
rename to imgs/icons/1292.png
diff --git a/imgs/icons/14_10.png b/imgs/icons/1293.png
similarity index 100%
rename from imgs/icons/14_10.png
rename to imgs/icons/1293.png
diff --git a/imgs/icons/14_11.png b/imgs/icons/1294.png
similarity index 100%
rename from imgs/icons/14_11.png
rename to imgs/icons/1294.png
diff --git a/imgs/icons/14_12.png b/imgs/icons/1295.png
similarity index 100%
rename from imgs/icons/14_12.png
rename to imgs/icons/1295.png
diff --git a/imgs/icons/14_13.png b/imgs/icons/1296.png
similarity index 100%
rename from imgs/icons/14_13.png
rename to imgs/icons/1296.png
diff --git a/imgs/icons/14_14.png b/imgs/icons/1297.png
similarity index 100%
rename from imgs/icons/14_14.png
rename to imgs/icons/1297.png
diff --git a/imgs/icons/14_15.png b/imgs/icons/1298.png
similarity index 100%
rename from imgs/icons/14_15.png
rename to imgs/icons/1298.png
diff --git a/imgs/icons/14_16.png b/imgs/icons/1299.png
similarity index 100%
rename from imgs/icons/14_16.png
rename to imgs/icons/1299.png
diff --git a/imgs/icons/15_1.png b/imgs/icons/1300.png
similarity index 100%
rename from imgs/icons/15_1.png
rename to imgs/icons/1300.png
diff --git a/imgs/icons/15_2.png b/imgs/icons/1301.png
similarity index 100%
rename from imgs/icons/15_2.png
rename to imgs/icons/1301.png
diff --git a/imgs/icons/15_3.png b/imgs/icons/1302.png
similarity index 100%
rename from imgs/icons/15_3.png
rename to imgs/icons/1302.png
diff --git a/imgs/icons/15_4.png b/imgs/icons/1303.png
similarity index 100%
rename from imgs/icons/15_4.png
rename to imgs/icons/1303.png
diff --git a/imgs/icons/15_5.png b/imgs/icons/1304.png
similarity index 100%
rename from imgs/icons/15_5.png
rename to imgs/icons/1304.png
diff --git a/imgs/icons/15_6.png b/imgs/icons/1305.png
similarity index 100%
rename from imgs/icons/15_6.png
rename to imgs/icons/1305.png
diff --git a/imgs/icons/15_7.png b/imgs/icons/1306.png
similarity index 100%
rename from imgs/icons/15_7.png
rename to imgs/icons/1306.png
diff --git a/imgs/icons/15_8.png b/imgs/icons/1307.png
similarity index 100%
rename from imgs/icons/15_8.png
rename to imgs/icons/1307.png
diff --git a/imgs/icons/15_10.png b/imgs/icons/1310.png
similarity index 100%
rename from imgs/icons/15_10.png
rename to imgs/icons/1310.png
diff --git a/imgs/icons/15_11.png b/imgs/icons/1311.png
similarity index 100%
rename from imgs/icons/15_11.png
rename to imgs/icons/1311.png
diff --git a/imgs/icons/15_12.png b/imgs/icons/1312.png
similarity index 100%
rename from imgs/icons/15_12.png
rename to imgs/icons/1312.png
diff --git a/imgs/icons/15_13.png b/imgs/icons/1313.png
similarity index 100%
rename from imgs/icons/15_13.png
rename to imgs/icons/1313.png
diff --git a/imgs/icons/15_14.png b/imgs/icons/1314.png
similarity index 100%
rename from imgs/icons/15_14.png
rename to imgs/icons/1314.png
diff --git a/imgs/icons/15_15.png b/imgs/icons/1315.png
similarity index 100%
rename from imgs/icons/15_15.png
rename to imgs/icons/1315.png
diff --git a/imgs/icons/15_16.png b/imgs/icons/1316.png
similarity index 100%
rename from imgs/icons/15_16.png
rename to imgs/icons/1316.png
diff --git a/imgs/icons/16_1.png b/imgs/icons/1317.png
similarity index 100%
rename from imgs/icons/16_1.png
rename to imgs/icons/1317.png
diff --git a/imgs/icons/16_2.png b/imgs/icons/1318.png
similarity index 100%
rename from imgs/icons/16_2.png
rename to imgs/icons/1318.png
diff --git a/imgs/icons/16_3.png b/imgs/icons/1319.png
similarity index 100%
rename from imgs/icons/16_3.png
rename to imgs/icons/1319.png
diff --git a/imgs/icons/16_4.png b/imgs/icons/1320.png
similarity index 100%
rename from imgs/icons/16_4.png
rename to imgs/icons/1320.png
diff --git a/imgs/icons/16_5.png b/imgs/icons/1321.png
similarity index 100%
rename from imgs/icons/16_5.png
rename to imgs/icons/1321.png
diff --git a/imgs/icons/16_6.png b/imgs/icons/1322.png
similarity index 100%
rename from imgs/icons/16_6.png
rename to imgs/icons/1322.png
diff --git a/imgs/icons/16_7.png b/imgs/icons/1323.png
similarity index 100%
rename from imgs/icons/16_7.png
rename to imgs/icons/1323.png
diff --git a/imgs/icons/16_8.png b/imgs/icons/1324.png
similarity index 100%
rename from imgs/icons/16_8.png
rename to imgs/icons/1324.png
diff --git a/imgs/icons/16_9.png b/imgs/icons/1325.png
similarity index 100%
rename from imgs/icons/16_9.png
rename to imgs/icons/1325.png
diff --git a/imgs/icons/16_10.png b/imgs/icons/1326.png
similarity index 100%
rename from imgs/icons/16_10.png
rename to imgs/icons/1326.png
diff --git a/imgs/icons/16_11.png b/imgs/icons/1327.png
similarity index 100%
rename from imgs/icons/16_11.png
rename to imgs/icons/1327.png
diff --git a/imgs/icons/16_12.png b/imgs/icons/1328.png
similarity index 100%
rename from imgs/icons/16_12.png
rename to imgs/icons/1328.png
diff --git a/imgs/icons/16_13.png b/imgs/icons/1329.png
similarity index 100%
rename from imgs/icons/16_13.png
rename to imgs/icons/1329.png
diff --git a/imgs/icons/16_14.png b/imgs/icons/1330.png
similarity index 100%
rename from imgs/icons/16_14.png
rename to imgs/icons/1330.png
diff --git a/imgs/icons/16_15.png b/imgs/icons/1331.png
similarity index 100%
rename from imgs/icons/16_15.png
rename to imgs/icons/1331.png
diff --git a/imgs/icons/16_16.png b/imgs/icons/1332.png
similarity index 100%
rename from imgs/icons/16_16.png
rename to imgs/icons/1332.png
diff --git a/imgs/icons/20_1.png b/imgs/icons/1333.png
similarity index 100%
rename from imgs/icons/20_1.png
rename to imgs/icons/1333.png
diff --git a/imgs/icons/20_5.png b/imgs/icons/1334.png
similarity index 100%
rename from imgs/icons/20_5.png
rename to imgs/icons/1334.png
diff --git a/imgs/icons/20_9.png b/imgs/icons/1335.png
similarity index 100%
rename from imgs/icons/20_9.png
rename to imgs/icons/1335.png
diff --git a/imgs/icons/20_13.png b/imgs/icons/1336.png
similarity index 100%
rename from imgs/icons/20_13.png
rename to imgs/icons/1336.png
diff --git a/imgs/icons/20_7.png b/imgs/icons/1337.png
similarity index 100%
rename from imgs/icons/20_7.png
rename to imgs/icons/1337.png
diff --git a/imgs/icons/20_11.png b/imgs/icons/1338.png
similarity index 100%
rename from imgs/icons/20_11.png
rename to imgs/icons/1338.png
diff --git a/imgs/icons/20_15.png b/imgs/icons/1339.png
similarity index 100%
rename from imgs/icons/20_15.png
rename to imgs/icons/1339.png
diff --git a/imgs/icons/20_3.png b/imgs/icons/1340.png
similarity index 100%
rename from imgs/icons/20_3.png
rename to imgs/icons/1340.png
diff --git a/imgs/icons/21_1.png b/imgs/icons/1341.png
similarity index 100%
rename from imgs/icons/21_1.png
rename to imgs/icons/1341.png
diff --git a/imgs/icons/21_5.png b/imgs/icons/1342.png
similarity index 100%
rename from imgs/icons/21_5.png
rename to imgs/icons/1342.png
diff --git a/imgs/icons/21_9.png b/imgs/icons/1343.png
similarity index 100%
rename from imgs/icons/21_9.png
rename to imgs/icons/1343.png
diff --git a/imgs/icons/21_13.png b/imgs/icons/1344.png
similarity index 100%
rename from imgs/icons/21_13.png
rename to imgs/icons/1344.png
diff --git a/imgs/icons/12_16.png b/imgs/icons/1345.png
similarity index 100%
rename from imgs/icons/12_16.png
rename to imgs/icons/1345.png
diff --git a/imgs/icons/21_2.png b/imgs/icons/1346.png
similarity index 100%
rename from imgs/icons/21_2.png
rename to imgs/icons/1346.png
diff --git a/imgs/icons/21_6.png b/imgs/icons/1347.png
similarity index 100%
rename from imgs/icons/21_6.png
rename to imgs/icons/1347.png
diff --git a/imgs/icons/21_10.png b/imgs/icons/1348.png
similarity index 100%
rename from imgs/icons/21_10.png
rename to imgs/icons/1348.png
diff --git a/imgs/icons/21_14.png b/imgs/icons/1349.png
similarity index 100%
rename from imgs/icons/21_14.png
rename to imgs/icons/1349.png
diff --git a/imgs/icons/21_3.png b/imgs/icons/1350.png
similarity index 100%
rename from imgs/icons/21_3.png
rename to imgs/icons/1350.png
diff --git a/imgs/icons/21_7.png b/imgs/icons/1351.png
similarity index 100%
rename from imgs/icons/21_7.png
rename to imgs/icons/1351.png
diff --git a/imgs/icons/21_15.png b/imgs/icons/1352.png
similarity index 100%
rename from imgs/icons/21_15.png
rename to imgs/icons/1352.png
diff --git a/imgs/icons/21_11.png b/imgs/icons/1353.png
similarity index 100%
rename from imgs/icons/21_11.png
rename to imgs/icons/1353.png
diff --git a/imgs/icons/1356.png b/imgs/icons/1356.png
new file mode 100644
index 000000000..618f22de3
Binary files /dev/null and b/imgs/icons/1356.png differ
diff --git a/imgs/icons/1357.png b/imgs/icons/1357.png
new file mode 100644
index 000000000..56cf482e1
Binary files /dev/null and b/imgs/icons/1357.png differ
diff --git a/imgs/icons/1358.png b/imgs/icons/1358.png
new file mode 100644
index 000000000..d8a707c42
Binary files /dev/null and b/imgs/icons/1358.png differ
diff --git a/imgs/icons/1359.png b/imgs/icons/1359.png
new file mode 100644
index 000000000..88e0c091e
Binary files /dev/null and b/imgs/icons/1359.png differ
diff --git a/imgs/icons/1360.png b/imgs/icons/1360.png
new file mode 100644
index 000000000..d0871e331
Binary files /dev/null and b/imgs/icons/1360.png differ
diff --git a/imgs/icons/1361.png b/imgs/icons/1361.png
new file mode 100644
index 000000000..261269a80
Binary files /dev/null and b/imgs/icons/1361.png differ
diff --git a/imgs/icons/1362.png b/imgs/icons/1362.png
new file mode 100644
index 000000000..131ee25e4
Binary files /dev/null and b/imgs/icons/1362.png differ
diff --git a/imgs/icons/1363.png b/imgs/icons/1363.png
new file mode 100644
index 000000000..38facca0b
Binary files /dev/null and b/imgs/icons/1363.png differ
diff --git a/imgs/icons/1364.png b/imgs/icons/1364.png
new file mode 100644
index 000000000..57afddfad
Binary files /dev/null and b/imgs/icons/1364.png differ
diff --git a/imgs/icons/1365.png b/imgs/icons/1365.png
new file mode 100644
index 000000000..9379e8cc3
Binary files /dev/null and b/imgs/icons/1365.png differ
diff --git a/imgs/icons/1366.png b/imgs/icons/1366.png
new file mode 100644
index 000000000..019139ab7
Binary files /dev/null and b/imgs/icons/1366.png differ
diff --git a/imgs/icons/1367.png b/imgs/icons/1367.png
new file mode 100644
index 000000000..94dea16c0
Binary files /dev/null and b/imgs/icons/1367.png differ
diff --git a/imgs/icons/1368.png b/imgs/icons/1368.png
new file mode 100644
index 000000000..1860ff5f0
Binary files /dev/null and b/imgs/icons/1368.png differ
diff --git a/imgs/icons/1369.png b/imgs/icons/1369.png
new file mode 100644
index 000000000..b2062d26b
Binary files /dev/null and b/imgs/icons/1369.png differ
diff --git a/imgs/icons/1370.png b/imgs/icons/1370.png
new file mode 100644
index 000000000..4fbcaebe5
Binary files /dev/null and b/imgs/icons/1370.png differ
diff --git a/imgs/icons/1377.png b/imgs/icons/1377.png
new file mode 100644
index 000000000..03d9f3ac8
Binary files /dev/null and b/imgs/icons/1377.png differ
diff --git a/imgs/icons/22_1.png b/imgs/icons/1378.png
similarity index 100%
rename from imgs/icons/22_1.png
rename to imgs/icons/1378.png
diff --git a/imgs/icons/22_2.png b/imgs/icons/1379.png
similarity index 100%
rename from imgs/icons/22_2.png
rename to imgs/icons/1379.png
diff --git a/imgs/icons/4_1.png b/imgs/icons/138.png
similarity index 100%
rename from imgs/icons/4_1.png
rename to imgs/icons/138.png
diff --git a/imgs/icons/22_3.png b/imgs/icons/1380.png
similarity index 100%
rename from imgs/icons/22_3.png
rename to imgs/icons/1380.png
diff --git a/imgs/icons/22_4.png b/imgs/icons/1381.png
similarity index 100%
rename from imgs/icons/22_4.png
rename to imgs/icons/1381.png
diff --git a/imgs/icons/22_5.png b/imgs/icons/1382.png
similarity index 100%
rename from imgs/icons/22_5.png
rename to imgs/icons/1382.png
diff --git a/imgs/icons/22_6.png b/imgs/icons/1383.png
similarity index 100%
rename from imgs/icons/22_6.png
rename to imgs/icons/1383.png
diff --git a/imgs/icons/22_7.png b/imgs/icons/1384.png
similarity index 100%
rename from imgs/icons/22_7.png
rename to imgs/icons/1384.png
diff --git a/imgs/icons/22_9.png b/imgs/icons/1385.png
similarity index 100%
rename from imgs/icons/22_9.png
rename to imgs/icons/1385.png
diff --git a/imgs/icons/22_10.png b/imgs/icons/1386.png
similarity index 100%
rename from imgs/icons/22_10.png
rename to imgs/icons/1386.png
diff --git a/imgs/icons/22_11.png b/imgs/icons/1387.png
similarity index 100%
rename from imgs/icons/22_11.png
rename to imgs/icons/1387.png
diff --git a/imgs/icons/22_12.png b/imgs/icons/1388.png
similarity index 100%
rename from imgs/icons/22_12.png
rename to imgs/icons/1388.png
diff --git a/imgs/icons/22_13.png b/imgs/icons/1389.png
similarity index 100%
rename from imgs/icons/22_13.png
rename to imgs/icons/1389.png
diff --git a/imgs/icons/22_14.png b/imgs/icons/1390.png
similarity index 100%
rename from imgs/icons/22_14.png
rename to imgs/icons/1390.png
diff --git a/imgs/icons/22_15.png b/imgs/icons/1391.png
similarity index 100%
rename from imgs/icons/22_15.png
rename to imgs/icons/1391.png
diff --git a/imgs/icons/22_16.png b/imgs/icons/1392.png
similarity index 100%
rename from imgs/icons/22_16.png
rename to imgs/icons/1392.png
diff --git a/imgs/icons/22_17.png b/imgs/icons/1393.png
similarity index 100%
rename from imgs/icons/22_17.png
rename to imgs/icons/1393.png
diff --git a/imgs/icons/22_18.png b/imgs/icons/1394.png
similarity index 100%
rename from imgs/icons/22_18.png
rename to imgs/icons/1394.png
diff --git a/imgs/icons/22_19.png b/imgs/icons/1395.png
similarity index 100%
rename from imgs/icons/22_19.png
rename to imgs/icons/1395.png
diff --git a/imgs/icons/22_20.png b/imgs/icons/1396.png
similarity index 100%
rename from imgs/icons/22_20.png
rename to imgs/icons/1396.png
diff --git a/imgs/icons/22_21.png b/imgs/icons/1397.png
similarity index 100%
rename from imgs/icons/22_21.png
rename to imgs/icons/1397.png
diff --git a/imgs/icons/22_22.png b/imgs/icons/1398.png
similarity index 100%
rename from imgs/icons/22_22.png
rename to imgs/icons/1398.png
diff --git a/imgs/icons/22_23.png b/imgs/icons/1399.png
similarity index 100%
rename from imgs/icons/22_23.png
rename to imgs/icons/1399.png
diff --git a/imgs/icons/2_7.png b/imgs/icons/1400.png
similarity index 100%
rename from imgs/icons/2_7.png
rename to imgs/icons/1400.png
diff --git a/imgs/icons/22_24.png b/imgs/icons/1401.png
similarity index 100%
rename from imgs/icons/22_24.png
rename to imgs/icons/1401.png
diff --git a/imgs/icons/12_7.png b/imgs/icons/1405.png
similarity index 100%
rename from imgs/icons/12_7.png
rename to imgs/icons/1405.png
diff --git a/imgs/icons/1406.png b/imgs/icons/1406.png
new file mode 100644
index 000000000..f5e4c43e8
Binary files /dev/null and b/imgs/icons/1406.png differ
diff --git a/imgs/icons/26_1.png b/imgs/icons/1432.png
similarity index 100%
rename from imgs/icons/26_1.png
rename to imgs/icons/1432.png
diff --git a/imgs/icons/1435.png b/imgs/icons/1435.png
new file mode 100644
index 000000000..a1c638b75
Binary files /dev/null and b/imgs/icons/1435.png differ
diff --git a/imgs/icons/1436.png b/imgs/icons/1436.png
new file mode 100644
index 000000000..b9df93b2a
Binary files /dev/null and b/imgs/icons/1436.png differ
diff --git a/imgs/icons/9_5.png b/imgs/icons/1443.png
similarity index 100%
rename from imgs/icons/9_5.png
rename to imgs/icons/1443.png
diff --git a/imgs/icons/25_4.png b/imgs/icons/1444.png
similarity index 100%
rename from imgs/icons/25_4.png
rename to imgs/icons/1444.png
diff --git a/imgs/icons/9_16.png b/imgs/icons/1446.png
similarity index 100%
rename from imgs/icons/9_16.png
rename to imgs/icons/1446.png
diff --git a/imgs/icons/5_11.png b/imgs/icons/15.png
similarity index 100%
rename from imgs/icons/5_11.png
rename to imgs/icons/15.png
diff --git a/imgs/icons/26_11.png b/imgs/icons/16.png
similarity index 100%
rename from imgs/icons/26_11.png
rename to imgs/icons/16.png
diff --git a/imgs/icons/5_7.png b/imgs/icons/1639.png
similarity index 100%
rename from imgs/icons/5_7.png
rename to imgs/icons/1639.png
diff --git a/imgs/icons/5_14.png b/imgs/icons/1640.png
similarity index 100%
rename from imgs/icons/5_14.png
rename to imgs/icons/1640.png
diff --git a/imgs/icons/1641.png b/imgs/icons/1641.png
new file mode 100644
index 000000000..81d1024d4
Binary files /dev/null and b/imgs/icons/1641.png differ
diff --git a/imgs/icons/1645.png b/imgs/icons/1645.png
new file mode 100644
index 000000000..a2599def2
Binary files /dev/null and b/imgs/icons/1645.png differ
diff --git a/imgs/icons/1656.png b/imgs/icons/1656.png
new file mode 100644
index 000000000..51cafb419
Binary files /dev/null and b/imgs/icons/1656.png differ
diff --git a/imgs/icons/5_2.png b/imgs/icons/1666.png
similarity index 100%
rename from imgs/icons/5_2.png
rename to imgs/icons/1666.png
diff --git a/imgs/icons/1_5.png b/imgs/icons/1668.png
similarity index 100%
rename from imgs/icons/1_5.png
rename to imgs/icons/1668.png
diff --git a/imgs/icons/12_12.png b/imgs/icons/168.png
similarity index 100%
rename from imgs/icons/12_12.png
rename to imgs/icons/168.png
diff --git a/imgs/icons/21_12.png b/imgs/icons/169.png
similarity index 100%
rename from imgs/icons/21_12.png
rename to imgs/icons/169.png
diff --git a/imgs/icons/21_16.png b/imgs/icons/170.png
similarity index 100%
rename from imgs/icons/21_16.png
rename to imgs/icons/170.png
diff --git a/imgs/icons/34_1.png b/imgs/icons/1721.png
similarity index 100%
rename from imgs/icons/34_1.png
rename to imgs/icons/1721.png
diff --git a/imgs/icons/34_2.png b/imgs/icons/1722.png
similarity index 100%
rename from imgs/icons/34_2.png
rename to imgs/icons/1722.png
diff --git a/imgs/icons/27_9.png b/imgs/icons/1723.png
similarity index 100%
rename from imgs/icons/27_9.png
rename to imgs/icons/1723.png
diff --git a/imgs/icons/20_16.png b/imgs/icons/182.png
similarity index 100%
rename from imgs/icons/20_16.png
rename to imgs/icons/182.png
diff --git a/imgs/icons/20_4.png b/imgs/icons/183.png
similarity index 100%
rename from imgs/icons/20_4.png
rename to imgs/icons/183.png
diff --git a/imgs/icons/20_8.png b/imgs/icons/184.png
similarity index 100%
rename from imgs/icons/20_8.png
rename to imgs/icons/184.png
diff --git a/imgs/icons/20_12.png b/imgs/icons/185.png
similarity index 100%
rename from imgs/icons/20_12.png
rename to imgs/icons/185.png
diff --git a/imgs/icons/20_10.png b/imgs/icons/186.png
similarity index 100%
rename from imgs/icons/20_10.png
rename to imgs/icons/186.png
diff --git a/imgs/icons/20_14.png b/imgs/icons/187.png
similarity index 100%
rename from imgs/icons/20_14.png
rename to imgs/icons/187.png
diff --git a/imgs/icons/20_6.png b/imgs/icons/188.png
similarity index 100%
rename from imgs/icons/20_6.png
rename to imgs/icons/188.png
diff --git a/imgs/icons/20_2.png b/imgs/icons/189.png
similarity index 100%
rename from imgs/icons/20_2.png
rename to imgs/icons/189.png
diff --git a/imgs/icons/13_4.png b/imgs/icons/190.png
similarity index 100%
rename from imgs/icons/13_4.png
rename to imgs/icons/190.png
diff --git a/imgs/icons/13_8.png b/imgs/icons/191.png
similarity index 100%
rename from imgs/icons/13_8.png
rename to imgs/icons/191.png
diff --git a/imgs/icons/13_16.png b/imgs/icons/192.png
similarity index 100%
rename from imgs/icons/13_16.png
rename to imgs/icons/192.png
diff --git a/imgs/icons/13_12.png b/imgs/icons/193.png
similarity index 100%
rename from imgs/icons/13_12.png
rename to imgs/icons/193.png
diff --git a/imgs/icons/22_25.png b/imgs/icons/2028.png
similarity index 100%
rename from imgs/icons/22_25.png
rename to imgs/icons/2028.png
diff --git a/imgs/icons/22_26.png b/imgs/icons/2029.png
similarity index 100%
rename from imgs/icons/22_26.png
rename to imgs/icons/2029.png
diff --git a/imgs/icons/22_27.png b/imgs/icons/2030.png
similarity index 100%
rename from imgs/icons/22_27.png
rename to imgs/icons/2030.png
diff --git a/imgs/icons/22_28.png b/imgs/icons/2031.png
similarity index 100%
rename from imgs/icons/22_28.png
rename to imgs/icons/2031.png
diff --git a/imgs/icons/2037.png b/imgs/icons/2037.png
new file mode 100644
index 000000000..ac8b6a90b
Binary files /dev/null and b/imgs/icons/2037.png differ
diff --git a/imgs/icons/2038.png b/imgs/icons/2038.png
new file mode 100644
index 000000000..eff79fdc0
Binary files /dev/null and b/imgs/icons/2038.png differ
diff --git a/imgs/icons/2039.png b/imgs/icons/2039.png
new file mode 100644
index 000000000..b936e17fc
Binary files /dev/null and b/imgs/icons/2039.png differ
diff --git a/imgs/icons/2040.png b/imgs/icons/2040.png
new file mode 100644
index 000000000..814c5f9d4
Binary files /dev/null and b/imgs/icons/2040.png differ
diff --git a/imgs/icons/2041.png b/imgs/icons/2041.png
new file mode 100644
index 000000000..a1115895a
Binary files /dev/null and b/imgs/icons/2041.png differ
diff --git a/imgs/icons/2042.png b/imgs/icons/2042.png
new file mode 100644
index 000000000..350e65032
Binary files /dev/null and b/imgs/icons/2042.png differ
diff --git a/imgs/icons/34_12.png b/imgs/icons/2053.png
similarity index 100%
rename from imgs/icons/34_12.png
rename to imgs/icons/2053.png
diff --git a/imgs/icons/34_15.png b/imgs/icons/2054.png
similarity index 100%
rename from imgs/icons/34_15.png
rename to imgs/icons/2054.png
diff --git a/imgs/icons/31_14.png b/imgs/icons/2060.png
similarity index 100%
rename from imgs/icons/31_14.png
rename to imgs/icons/2060.png
diff --git a/imgs/icons/31_15.png b/imgs/icons/2061.png
similarity index 100%
rename from imgs/icons/31_15.png
rename to imgs/icons/2061.png
diff --git a/imgs/icons/31_16.png b/imgs/icons/2062.png
similarity index 100%
rename from imgs/icons/31_16.png
rename to imgs/icons/2062.png
diff --git a/imgs/icons/34_16.png b/imgs/icons/2066.png
similarity index 100%
rename from imgs/icons/34_16.png
rename to imgs/icons/2066.png
diff --git a/imgs/icons/2093.png b/imgs/icons/2093.png
new file mode 100644
index 000000000..22c30a5bd
Binary files /dev/null and b/imgs/icons/2093.png differ
diff --git a/imgs/icons/108_5.png b/imgs/icons/20939.png
similarity index 100%
rename from imgs/icons/108_5.png
rename to imgs/icons/20939.png
diff --git a/imgs/icons/2094.png b/imgs/icons/2094.png
new file mode 100644
index 000000000..bdcd00cc6
Binary files /dev/null and b/imgs/icons/2094.png differ
diff --git a/imgs/icons/108_6.png b/imgs/icons/20940.png
similarity index 100%
rename from imgs/icons/108_6.png
rename to imgs/icons/20940.png
diff --git a/imgs/icons/108_7.png b/imgs/icons/20941.png
similarity index 100%
rename from imgs/icons/108_7.png
rename to imgs/icons/20941.png
diff --git a/imgs/icons/108_8.png b/imgs/icons/20942.png
similarity index 100%
rename from imgs/icons/108_8.png
rename to imgs/icons/20942.png
diff --git a/imgs/icons/108_12.png b/imgs/icons/20943.png
similarity index 100%
rename from imgs/icons/108_12.png
rename to imgs/icons/20943.png
diff --git a/imgs/icons/108_13.png b/imgs/icons/20944.png
similarity index 100%
rename from imgs/icons/108_13.png
rename to imgs/icons/20944.png
diff --git a/imgs/icons/108_10.png b/imgs/icons/20945.png
similarity index 100%
rename from imgs/icons/108_10.png
rename to imgs/icons/20945.png
diff --git a/imgs/icons/108_11.png b/imgs/icons/20946.png
similarity index 100%
rename from imgs/icons/108_11.png
rename to imgs/icons/20946.png
diff --git a/imgs/icons/108_3.png b/imgs/icons/20947.png
similarity index 100%
rename from imgs/icons/108_3.png
rename to imgs/icons/20947.png
diff --git a/imgs/icons/108_4.png b/imgs/icons/20948.png
similarity index 100%
rename from imgs/icons/108_4.png
rename to imgs/icons/20948.png
diff --git a/imgs/icons/108_1.png b/imgs/icons/20949.png
similarity index 100%
rename from imgs/icons/108_1.png
rename to imgs/icons/20949.png
diff --git a/imgs/icons/2095.png b/imgs/icons/2095.png
new file mode 100644
index 000000000..93651976c
Binary files /dev/null and b/imgs/icons/2095.png differ
diff --git a/imgs/icons/108_2.png b/imgs/icons/20950.png
similarity index 100%
rename from imgs/icons/108_2.png
rename to imgs/icons/20950.png
diff --git a/imgs/icons/108_20.png b/imgs/icons/20951.png
similarity index 100%
rename from imgs/icons/108_20.png
rename to imgs/icons/20951.png
diff --git a/imgs/icons/108_21.png b/imgs/icons/20952.png
similarity index 100%
rename from imgs/icons/108_21.png
rename to imgs/icons/20952.png
diff --git a/imgs/icons/108_18.png b/imgs/icons/20953.png
similarity index 100%
rename from imgs/icons/108_18.png
rename to imgs/icons/20953.png
diff --git a/imgs/icons/108_19.png b/imgs/icons/20954.png
similarity index 100%
rename from imgs/icons/108_19.png
rename to imgs/icons/20954.png
diff --git a/imgs/icons/108_16.png b/imgs/icons/20955.png
similarity index 100%
rename from imgs/icons/108_16.png
rename to imgs/icons/20955.png
diff --git a/imgs/icons/108_17.png b/imgs/icons/20956.png
similarity index 100%
rename from imgs/icons/108_17.png
rename to imgs/icons/20956.png
diff --git a/imgs/icons/108_14.png b/imgs/icons/20957.png
similarity index 100%
rename from imgs/icons/108_14.png
rename to imgs/icons/20957.png
diff --git a/imgs/icons/108_15.png b/imgs/icons/20958.png
similarity index 100%
rename from imgs/icons/108_15.png
rename to imgs/icons/20958.png
diff --git a/imgs/icons/marketicon_amarr.png b/imgs/icons/20959.png
similarity index 100%
rename from imgs/icons/marketicon_amarr.png
rename to imgs/icons/20959.png
diff --git a/imgs/icons/35_9.png b/imgs/icons/2096.png
similarity index 100%
rename from imgs/icons/35_9.png
rename to imgs/icons/2096.png
diff --git a/imgs/icons/marketicon_caldari.png b/imgs/icons/20966.png
similarity index 100%
rename from imgs/icons/marketicon_caldari.png
rename to imgs/icons/20966.png
diff --git a/imgs/icons/marketicon_gallente.png b/imgs/icons/20967.png
similarity index 100%
rename from imgs/icons/marketicon_gallente.png
rename to imgs/icons/20967.png
diff --git a/imgs/icons/marketicon_minmatar.png b/imgs/icons/20968.png
similarity index 100%
rename from imgs/icons/marketicon_minmatar.png
rename to imgs/icons/20968.png
diff --git a/imgs/icons/94_9.png b/imgs/icons/20969.png
similarity index 100%
rename from imgs/icons/94_9.png
rename to imgs/icons/20969.png
diff --git a/imgs/icons/53_16.png b/imgs/icons/20970.png
similarity index 100%
rename from imgs/icons/53_16.png
rename to imgs/icons/20970.png
diff --git a/imgs/icons/108_22.png b/imgs/icons/20971.png
similarity index 100%
rename from imgs/icons/108_22.png
rename to imgs/icons/20971.png
diff --git a/imgs/icons/icon_fireworks.png b/imgs/icons/20973.png
similarity index 100%
rename from imgs/icons/icon_fireworks.png
rename to imgs/icons/20973.png
diff --git a/imgs/icons/20974.png b/imgs/icons/20974.png
new file mode 100644
index 000000000..d8f121cca
Binary files /dev/null and b/imgs/icons/20974.png differ
diff --git a/imgs/icons/20976.png b/imgs/icons/20976.png
new file mode 100644
index 000000000..4f410cc6e
Binary files /dev/null and b/imgs/icons/20976.png differ
diff --git a/imgs/icons/20977.png b/imgs/icons/20977.png
new file mode 100644
index 000000000..4e3c72b30
Binary files /dev/null and b/imgs/icons/20977.png differ
diff --git a/imgs/icons/21.png b/imgs/icons/21.png
new file mode 100644
index 000000000..6f939fd59
Binary files /dev/null and b/imgs/icons/21.png differ
diff --git a/imgs/icons/2100.png b/imgs/icons/2100.png
new file mode 100644
index 000000000..5804318d4
Binary files /dev/null and b/imgs/icons/2100.png differ
diff --git a/imgs/icons/35_1.png b/imgs/icons/2101.png
similarity index 100%
rename from imgs/icons/35_1.png
rename to imgs/icons/2101.png
diff --git a/imgs/icons/2102.png b/imgs/icons/2102.png
new file mode 100644
index 000000000..d6c1261e9
Binary files /dev/null and b/imgs/icons/2102.png differ
diff --git a/imgs/icons/107_10.png b/imgs/icons/21025.png
similarity index 100%
rename from imgs/icons/107_10.png
rename to imgs/icons/21025.png
diff --git a/imgs/icons/107_11.png b/imgs/icons/21026.png
similarity index 100%
rename from imgs/icons/107_11.png
rename to imgs/icons/21026.png
diff --git a/imgs/icons/107_12.png b/imgs/icons/21027.png
similarity index 100%
rename from imgs/icons/107_12.png
rename to imgs/icons/21027.png
diff --git a/imgs/icons/21028.png b/imgs/icons/21028.png
new file mode 100644
index 000000000..a209e6f06
Binary files /dev/null and b/imgs/icons/21028.png differ
diff --git a/imgs/icons/21029.png b/imgs/icons/21029.png
new file mode 100644
index 000000000..cb87a2bf2
Binary files /dev/null and b/imgs/icons/21029.png differ
diff --git a/imgs/icons/2103.png b/imgs/icons/2103.png
new file mode 100644
index 000000000..8829a179e
Binary files /dev/null and b/imgs/icons/2103.png differ
diff --git a/imgs/icons/21030.png b/imgs/icons/21030.png
new file mode 100644
index 000000000..cdf41c8d5
Binary files /dev/null and b/imgs/icons/21030.png differ
diff --git a/imgs/icons/21032.png b/imgs/icons/21032.png
new file mode 100644
index 000000000..694a52a8a
Binary files /dev/null and b/imgs/icons/21032.png differ
diff --git a/imgs/icons/35_15.png b/imgs/icons/2104.png
similarity index 100%
rename from imgs/icons/35_15.png
rename to imgs/icons/2104.png
diff --git a/imgs/icons/107_4.png b/imgs/icons/21047.png
similarity index 100%
rename from imgs/icons/107_4.png
rename to imgs/icons/21047.png
diff --git a/imgs/icons/21048.png b/imgs/icons/21048.png
new file mode 100644
index 000000000..dcc47ef22
Binary files /dev/null and b/imgs/icons/21048.png differ
diff --git a/imgs/icons/35_14.png b/imgs/icons/2105.png
similarity index 100%
rename from imgs/icons/35_14.png
rename to imgs/icons/2105.png
diff --git a/imgs/icons/113_1.png b/imgs/icons/21057.png
similarity index 100%
rename from imgs/icons/113_1.png
rename to imgs/icons/21057.png
diff --git a/imgs/icons/113_2.png b/imgs/icons/21058.png
similarity index 100%
rename from imgs/icons/113_2.png
rename to imgs/icons/21058.png
diff --git a/imgs/icons/113_3.png b/imgs/icons/21059.png
similarity index 100%
rename from imgs/icons/113_3.png
rename to imgs/icons/21059.png
diff --git a/imgs/icons/35_12.png b/imgs/icons/2106.png
similarity index 100%
rename from imgs/icons/35_12.png
rename to imgs/icons/2106.png
diff --git a/imgs/icons/21060.png b/imgs/icons/21060.png
new file mode 100644
index 000000000..b54a25bbe
Binary files /dev/null and b/imgs/icons/21060.png differ
diff --git a/imgs/icons/21061.png b/imgs/icons/21061.png
new file mode 100644
index 000000000..a5bba6449
Binary files /dev/null and b/imgs/icons/21061.png differ
diff --git a/imgs/icons/21062.png b/imgs/icons/21062.png
new file mode 100644
index 000000000..ec41d08bb
Binary files /dev/null and b/imgs/icons/21062.png differ
diff --git a/imgs/icons/21063.png b/imgs/icons/21063.png
new file mode 100644
index 000000000..2fe06b932
Binary files /dev/null and b/imgs/icons/21063.png differ
diff --git a/imgs/icons/21064.png b/imgs/icons/21064.png
new file mode 100644
index 000000000..217f4c049
Binary files /dev/null and b/imgs/icons/21064.png differ
diff --git a/imgs/icons/21065.png b/imgs/icons/21065.png
new file mode 100644
index 000000000..6ab2e1883
Binary files /dev/null and b/imgs/icons/21065.png differ
diff --git a/imgs/icons/21066.png b/imgs/icons/21066.png
new file mode 100644
index 000000000..15f9ea9b9
Binary files /dev/null and b/imgs/icons/21066.png differ
diff --git a/imgs/icons/109_1.png b/imgs/icons/21074.png
similarity index 100%
rename from imgs/icons/109_1.png
rename to imgs/icons/21074.png
diff --git a/imgs/icons/109_2.png b/imgs/icons/21075.png
similarity index 100%
rename from imgs/icons/109_2.png
rename to imgs/icons/21075.png
diff --git a/imgs/icons/21078.png b/imgs/icons/21078.png
new file mode 100644
index 000000000..ecfa6b73c
Binary files /dev/null and b/imgs/icons/21078.png differ
diff --git a/imgs/icons/21084.png b/imgs/icons/21084.png
new file mode 100644
index 000000000..f09e1e7d0
Binary files /dev/null and b/imgs/icons/21084.png differ
diff --git a/imgs/icons/21085.png b/imgs/icons/21085.png
new file mode 100644
index 000000000..72a2c2fbc
Binary files /dev/null and b/imgs/icons/21085.png differ
diff --git a/imgs/icons/21086.png b/imgs/icons/21086.png
new file mode 100644
index 000000000..83b2130ad
Binary files /dev/null and b/imgs/icons/21086.png differ
diff --git a/imgs/icons/21095.png b/imgs/icons/21095.png
new file mode 100644
index 000000000..f8d8eddb2
Binary files /dev/null and b/imgs/icons/21095.png differ
diff --git a/imgs/icons/21096.png b/imgs/icons/21096.png
new file mode 100644
index 000000000..30b7dea4c
Binary files /dev/null and b/imgs/icons/21096.png differ
diff --git a/imgs/icons/21097.png b/imgs/icons/21097.png
new file mode 100644
index 000000000..a8340de7e
Binary files /dev/null and b/imgs/icons/21097.png differ
diff --git a/imgs/icons/21098.png b/imgs/icons/21098.png
new file mode 100644
index 000000000..f5a199dc4
Binary files /dev/null and b/imgs/icons/21098.png differ
diff --git a/imgs/icons/21170.png b/imgs/icons/21170.png
new file mode 100644
index 000000000..9644dc6b0
Binary files /dev/null and b/imgs/icons/21170.png differ
diff --git a/imgs/icons/21186.png b/imgs/icons/21186.png
new file mode 100644
index 000000000..4810dff9a
Binary files /dev/null and b/imgs/icons/21186.png differ
diff --git a/imgs/icons/21204.png b/imgs/icons/21204.png
new file mode 100644
index 000000000..d4c2574cb
Binary files /dev/null and b/imgs/icons/21204.png differ
diff --git a/imgs/icons/21275.png b/imgs/icons/21275.png
new file mode 100644
index 000000000..93716bde6
Binary files /dev/null and b/imgs/icons/21275.png differ
diff --git a/imgs/icons/21335.png b/imgs/icons/21335.png
new file mode 100644
index 000000000..dc7a2839e
Binary files /dev/null and b/imgs/icons/21335.png differ
diff --git a/imgs/icons/21336.png b/imgs/icons/21336.png
new file mode 100644
index 000000000..f45b3f7f0
Binary files /dev/null and b/imgs/icons/21336.png differ
diff --git a/imgs/icons/1337_22.png b/imgs/icons/21378.png
similarity index 100%
rename from imgs/icons/1337_22.png
rename to imgs/icons/21378.png
diff --git a/imgs/icons/1337_21.png b/imgs/icons/21379.png
similarity index 100%
rename from imgs/icons/1337_21.png
rename to imgs/icons/21379.png
diff --git a/imgs/icons/21380.png b/imgs/icons/21380.png
new file mode 100644
index 000000000..80a05552e
Binary files /dev/null and b/imgs/icons/21380.png differ
diff --git a/imgs/icons/21381.png b/imgs/icons/21381.png
new file mode 100644
index 000000000..6b049abe1
Binary files /dev/null and b/imgs/icons/21381.png differ
diff --git a/imgs/icons/21382.png b/imgs/icons/21382.png
new file mode 100644
index 000000000..b5999865e
Binary files /dev/null and b/imgs/icons/21382.png differ
diff --git a/imgs/icons/21383.png b/imgs/icons/21383.png
new file mode 100644
index 000000000..43051b5a9
Binary files /dev/null and b/imgs/icons/21383.png differ
diff --git a/imgs/icons/21408.png b/imgs/icons/21408.png
new file mode 100644
index 000000000..f99638a0c
Binary files /dev/null and b/imgs/icons/21408.png differ
diff --git a/imgs/icons/119_1.png b/imgs/icons/21409.png
similarity index 100%
rename from imgs/icons/119_1.png
rename to imgs/icons/21409.png
diff --git a/imgs/icons/21417.png b/imgs/icons/21417.png
new file mode 100644
index 000000000..8dafde77a
Binary files /dev/null and b/imgs/icons/21417.png differ
diff --git a/imgs/icons/21418.png b/imgs/icons/21418.png
new file mode 100644
index 000000000..5dbf9d744
Binary files /dev/null and b/imgs/icons/21418.png differ
diff --git a/imgs/icons/21419.png b/imgs/icons/21419.png
new file mode 100644
index 000000000..8d23a7748
Binary files /dev/null and b/imgs/icons/21419.png differ
diff --git a/imgs/icons/21420.png b/imgs/icons/21420.png
new file mode 100644
index 000000000..fc02b120b
Binary files /dev/null and b/imgs/icons/21420.png differ
diff --git a/imgs/icons/118_7.png b/imgs/icons/21421.png
similarity index 100%
rename from imgs/icons/118_7.png
rename to imgs/icons/21421.png
diff --git a/imgs/icons/remote_repair.png b/imgs/icons/21426.png
similarity index 100%
rename from imgs/icons/remote_repair.png
rename to imgs/icons/21426.png
diff --git a/imgs/icons/remote_repairer.png b/imgs/icons/21428.png
similarity index 100%
rename from imgs/icons/remote_repairer.png
rename to imgs/icons/21428.png
diff --git a/imgs/icons/5_17.png b/imgs/icons/21437.png
similarity index 100%
rename from imgs/icons/5_17.png
rename to imgs/icons/21437.png
diff --git a/imgs/icons/5_18.png b/imgs/icons/21439.png
similarity index 100%
rename from imgs/icons/5_18.png
rename to imgs/icons/21439.png
diff --git a/imgs/icons/5_19.png b/imgs/icons/21440.png
similarity index 100%
rename from imgs/icons/5_19.png
rename to imgs/icons/21440.png
diff --git a/imgs/icons/5_20.png b/imgs/icons/21441.png
similarity index 100%
rename from imgs/icons/5_20.png
rename to imgs/icons/21441.png
diff --git a/imgs/icons/5_21.png b/imgs/icons/21442.png
similarity index 100%
rename from imgs/icons/5_21.png
rename to imgs/icons/21442.png
diff --git a/imgs/icons/21481.png b/imgs/icons/21481.png
new file mode 100644
index 000000000..a023d10d7
Binary files /dev/null and b/imgs/icons/21481.png differ
diff --git a/imgs/icons/21482.png b/imgs/icons/21482.png
new file mode 100644
index 000000000..fbfd91d83
Binary files /dev/null and b/imgs/icons/21482.png differ
diff --git a/imgs/icons/118_9.png b/imgs/icons/21483.png
similarity index 100%
rename from imgs/icons/118_9.png
rename to imgs/icons/21483.png
diff --git a/imgs/icons/118_10.png b/imgs/icons/21484.png
similarity index 100%
rename from imgs/icons/118_10.png
rename to imgs/icons/21484.png
diff --git a/imgs/icons/118_11.png b/imgs/icons/21485.png
similarity index 100%
rename from imgs/icons/118_11.png
rename to imgs/icons/21485.png
diff --git a/imgs/icons/118_13.png b/imgs/icons/21486.png
similarity index 100%
rename from imgs/icons/118_13.png
rename to imgs/icons/21486.png
diff --git a/imgs/icons/118_14.png b/imgs/icons/21487.png
similarity index 100%
rename from imgs/icons/118_14.png
rename to imgs/icons/21487.png
diff --git a/imgs/icons/118_2.png b/imgs/icons/21489.png
similarity index 100%
rename from imgs/icons/118_2.png
rename to imgs/icons/21489.png
diff --git a/imgs/icons/118_12.png b/imgs/icons/21513.png
similarity index 100%
rename from imgs/icons/118_12.png
rename to imgs/icons/21513.png
diff --git a/imgs/icons/21530.png b/imgs/icons/21530.png
new file mode 100644
index 000000000..c19c2f42c
Binary files /dev/null and b/imgs/icons/21530.png differ
diff --git a/imgs/icons/21531.png b/imgs/icons/21531.png
new file mode 100644
index 000000000..a2c105b98
Binary files /dev/null and b/imgs/icons/21531.png differ
diff --git a/imgs/icons/21532.png b/imgs/icons/21532.png
new file mode 100644
index 000000000..57508b031
Binary files /dev/null and b/imgs/icons/21532.png differ
diff --git a/imgs/icons/21533.png b/imgs/icons/21533.png
new file mode 100644
index 000000000..aa299a123
Binary files /dev/null and b/imgs/icons/21533.png differ
diff --git a/imgs/icons/21534.png b/imgs/icons/21534.png
new file mode 100644
index 000000000..abea9ce60
Binary files /dev/null and b/imgs/icons/21534.png differ
diff --git a/imgs/icons/123_6.png b/imgs/icons/21561.png
similarity index 100%
rename from imgs/icons/123_6.png
rename to imgs/icons/21561.png
diff --git a/imgs/icons/123_9.png b/imgs/icons/21564.png
similarity index 100%
rename from imgs/icons/123_9.png
rename to imgs/icons/21564.png
diff --git a/imgs/icons/123_10.png b/imgs/icons/21565.png
similarity index 100%
rename from imgs/icons/123_10.png
rename to imgs/icons/21565.png
diff --git a/imgs/icons/123_11.png b/imgs/icons/21566.png
similarity index 100%
rename from imgs/icons/123_11.png
rename to imgs/icons/21566.png
diff --git a/imgs/icons/124_5.png b/imgs/icons/21567.png
similarity index 100%
rename from imgs/icons/124_5.png
rename to imgs/icons/21567.png
diff --git a/imgs/icons/124_6.png b/imgs/icons/21568.png
similarity index 100%
rename from imgs/icons/124_6.png
rename to imgs/icons/21568.png
diff --git a/imgs/icons/124_7.png b/imgs/icons/21569.png
similarity index 100%
rename from imgs/icons/124_7.png
rename to imgs/icons/21569.png
diff --git a/imgs/icons/124_9.png b/imgs/icons/21570.png
similarity index 100%
rename from imgs/icons/124_9.png
rename to imgs/icons/21570.png
diff --git a/imgs/icons/124_10.png b/imgs/icons/21571.png
similarity index 100%
rename from imgs/icons/124_10.png
rename to imgs/icons/21571.png
diff --git a/imgs/icons/124_14.png b/imgs/icons/21574.png
similarity index 100%
rename from imgs/icons/124_14.png
rename to imgs/icons/21574.png
diff --git a/imgs/icons/124_15.png b/imgs/icons/21575.png
similarity index 100%
rename from imgs/icons/124_15.png
rename to imgs/icons/21575.png
diff --git a/imgs/icons/125_1.png b/imgs/icons/21581.png
similarity index 100%
rename from imgs/icons/125_1.png
rename to imgs/icons/21581.png
diff --git a/imgs/icons/126_1.png b/imgs/icons/21593.png
similarity index 100%
rename from imgs/icons/126_1.png
rename to imgs/icons/21593.png
diff --git a/imgs/icons/127_9.png b/imgs/icons/21594.png
similarity index 100%
rename from imgs/icons/127_9.png
rename to imgs/icons/21594.png
diff --git a/imgs/icons/127_2.png b/imgs/icons/21595.png
similarity index 100%
rename from imgs/icons/127_2.png
rename to imgs/icons/21595.png
diff --git a/imgs/icons/127_1.png b/imgs/icons/21596.png
similarity index 100%
rename from imgs/icons/127_1.png
rename to imgs/icons/21596.png
diff --git a/imgs/icons/127_3.png b/imgs/icons/21597.png
similarity index 100%
rename from imgs/icons/127_3.png
rename to imgs/icons/21597.png
diff --git a/imgs/icons/127_4.png b/imgs/icons/21598.png
similarity index 100%
rename from imgs/icons/127_4.png
rename to imgs/icons/21598.png
diff --git a/imgs/icons/127_5.png b/imgs/icons/21599.png
similarity index 100%
rename from imgs/icons/127_5.png
rename to imgs/icons/21599.png
diff --git a/imgs/icons/127_10.png b/imgs/icons/21601.png
similarity index 100%
rename from imgs/icons/127_10.png
rename to imgs/icons/21601.png
diff --git a/imgs/icons/127_7.png b/imgs/icons/21602.png
similarity index 100%
rename from imgs/icons/127_7.png
rename to imgs/icons/21602.png
diff --git a/imgs/icons/emergencyhullenergizer.png b/imgs/icons/21603.png
similarity index 100%
rename from imgs/icons/emergencyhullenergizer.png
rename to imgs/icons/21603.png
diff --git a/imgs/icons/burstprojectorecm.png b/imgs/icons/21604.png
similarity index 100%
rename from imgs/icons/burstprojectorecm.png
rename to imgs/icons/21604.png
diff --git a/imgs/icons/burstprojectorenergyneutralization.png b/imgs/icons/21605.png
similarity index 100%
rename from imgs/icons/burstprojectorenergyneutralization.png
rename to imgs/icons/21605.png
diff --git a/imgs/icons/burstprojectorsensordampening.png b/imgs/icons/21607.png
similarity index 100%
rename from imgs/icons/burstprojectorsensordampening.png
rename to imgs/icons/21607.png
diff --git a/imgs/icons/burstprojectorstasiswebification.png b/imgs/icons/21608.png
similarity index 100%
rename from imgs/icons/burstprojectorstasiswebification.png
rename to imgs/icons/21608.png
diff --git a/imgs/icons/burstprojectortargetillumination.png b/imgs/icons/21609.png
similarity index 100%
rename from imgs/icons/burstprojectortargetillumination.png
rename to imgs/icons/21609.png
diff --git a/imgs/icons/burstprojectortrackingdisruption.png b/imgs/icons/21610.png
similarity index 100%
rename from imgs/icons/burstprojectortrackingdisruption.png
rename to imgs/icons/21610.png
diff --git a/imgs/icons/burstprojectorwarpdisruption.png b/imgs/icons/21611.png
similarity index 100%
rename from imgs/icons/burstprojectorwarpdisruption.png
rename to imgs/icons/21611.png
diff --git a/imgs/icons/multiuseanalyzer_64.png b/imgs/icons/21618.png
similarity index 100%
rename from imgs/icons/multiuseanalyzer_64.png
rename to imgs/icons/21618.png
diff --git a/imgs/icons/21620.png b/imgs/icons/21620.png
new file mode 100644
index 000000000..400b0ab5e
Binary files /dev/null and b/imgs/icons/21620.png differ
diff --git a/imgs/icons/21621.png b/imgs/icons/21621.png
new file mode 100644
index 000000000..395aa17ec
Binary files /dev/null and b/imgs/icons/21621.png differ
diff --git a/imgs/icons/21622.png b/imgs/icons/21622.png
new file mode 100644
index 000000000..d2a633065
Binary files /dev/null and b/imgs/icons/21622.png differ
diff --git a/imgs/icons/titangeneratoramarr.png b/imgs/icons/21683.png
similarity index 100%
rename from imgs/icons/titangeneratoramarr.png
rename to imgs/icons/21683.png
diff --git a/imgs/icons/titangeneratorcaldari.png b/imgs/icons/21684.png
similarity index 100%
rename from imgs/icons/titangeneratorcaldari.png
rename to imgs/icons/21684.png
diff --git a/imgs/icons/titangeneratorgallente.png b/imgs/icons/21685.png
similarity index 100%
rename from imgs/icons/titangeneratorgallente.png
rename to imgs/icons/21685.png
diff --git a/imgs/icons/titangeneratorminmatar.png b/imgs/icons/21686.png
similarity index 100%
rename from imgs/icons/titangeneratorminmatar.png
rename to imgs/icons/21686.png
diff --git a/imgs/icons/fleetboost_armorbase.png b/imgs/icons/21687.png
similarity index 100%
rename from imgs/icons/fleetboost_armorbase.png
rename to imgs/icons/21687.png
diff --git a/imgs/icons/fleetboost_armorbuffer.png b/imgs/icons/21688.png
similarity index 100%
rename from imgs/icons/fleetboost_armorbuffer.png
rename to imgs/icons/21688.png
diff --git a/imgs/icons/fleetboost_armorrepair.png b/imgs/icons/21689.png
similarity index 100%
rename from imgs/icons/fleetboost_armorrepair.png
rename to imgs/icons/21689.png
diff --git a/imgs/icons/fleetboost_armorresists.png b/imgs/icons/21690.png
similarity index 100%
rename from imgs/icons/fleetboost_armorresists.png
rename to imgs/icons/21690.png
diff --git a/imgs/icons/fleetboost_infobase.png b/imgs/icons/21691.png
similarity index 100%
rename from imgs/icons/fleetboost_infobase.png
rename to imgs/icons/21691.png
diff --git a/imgs/icons/fleetboost_infoewar.png b/imgs/icons/21692.png
similarity index 100%
rename from imgs/icons/fleetboost_infoewar.png
rename to imgs/icons/21692.png
diff --git a/imgs/icons/fleetboost_infosensors.png b/imgs/icons/21693.png
similarity index 100%
rename from imgs/icons/fleetboost_infosensors.png
rename to imgs/icons/21693.png
diff --git a/imgs/icons/fleetboost_infotargeting.png b/imgs/icons/21694.png
similarity index 100%
rename from imgs/icons/fleetboost_infotargeting.png
rename to imgs/icons/21694.png
diff --git a/imgs/icons/fleetboost_miningbase.png b/imgs/icons/21695.png
similarity index 100%
rename from imgs/icons/fleetboost_miningbase.png
rename to imgs/icons/21695.png
diff --git a/imgs/icons/fleetboost_miningcrystal.png b/imgs/icons/21696.png
similarity index 100%
rename from imgs/icons/fleetboost_miningcrystal.png
rename to imgs/icons/21696.png
diff --git a/imgs/icons/fleetboost_miningcycle.png b/imgs/icons/21698.png
similarity index 100%
rename from imgs/icons/fleetboost_miningcycle.png
rename to imgs/icons/21698.png
diff --git a/imgs/icons/fleetboost_miningrange.png b/imgs/icons/21699.png
similarity index 100%
rename from imgs/icons/fleetboost_miningrange.png
rename to imgs/icons/21699.png
diff --git a/imgs/icons/fleetboost_shieldbase.png b/imgs/icons/21700.png
similarity index 100%
rename from imgs/icons/fleetboost_shieldbase.png
rename to imgs/icons/21700.png
diff --git a/imgs/icons/fleetboost_shieldbuffer.png b/imgs/icons/21701.png
similarity index 100%
rename from imgs/icons/fleetboost_shieldbuffer.png
rename to imgs/icons/21701.png
diff --git a/imgs/icons/fleetboost_shieldrepair.png b/imgs/icons/21702.png
similarity index 100%
rename from imgs/icons/fleetboost_shieldrepair.png
rename to imgs/icons/21702.png
diff --git a/imgs/icons/fleetboost_shieldresists.png b/imgs/icons/21703.png
similarity index 100%
rename from imgs/icons/fleetboost_shieldresists.png
rename to imgs/icons/21703.png
diff --git a/imgs/icons/fleetboost_skirmishbase.png b/imgs/icons/21704.png
similarity index 100%
rename from imgs/icons/fleetboost_skirmishbase.png
rename to imgs/icons/21704.png
diff --git a/imgs/icons/fleetboost_skirmishsignature.png b/imgs/icons/21705.png
similarity index 100%
rename from imgs/icons/fleetboost_skirmishsignature.png
rename to imgs/icons/21705.png
diff --git a/imgs/icons/fleetboost_skirmishspeed.png b/imgs/icons/21706.png
similarity index 100%
rename from imgs/icons/fleetboost_skirmishspeed.png
rename to imgs/icons/21706.png
diff --git a/imgs/icons/fleetboost_skirmishweb.png b/imgs/icons/21707.png
similarity index 100%
rename from imgs/icons/fleetboost_skirmishweb.png
rename to imgs/icons/21707.png
diff --git a/imgs/icons/21725.png b/imgs/icons/21725.png
new file mode 100644
index 000000000..4d8902f8a
Binary files /dev/null and b/imgs/icons/21725.png differ
diff --git a/imgs/icons/127_8.png b/imgs/icons/21729.png
similarity index 100%
rename from imgs/icons/127_8.png
rename to imgs/icons/21729.png
diff --git a/imgs/icons/panicmodule.png b/imgs/icons/21730.png
similarity index 100%
rename from imgs/icons/panicmodule.png
rename to imgs/icons/21730.png
diff --git a/imgs/icons/21731.png b/imgs/icons/21731.png
new file mode 100644
index 000000000..674373a7e
Binary files /dev/null and b/imgs/icons/21731.png differ
diff --git a/imgs/icons/21741.png b/imgs/icons/21741.png
new file mode 100644
index 000000000..7309dae24
Binary files /dev/null and b/imgs/icons/21741.png differ
diff --git a/imgs/icons/21742.png b/imgs/icons/21742.png
new file mode 100644
index 000000000..54066e4fc
Binary files /dev/null and b/imgs/icons/21742.png differ
diff --git a/imgs/icons/118_15.png b/imgs/icons/21743.png
similarity index 100%
rename from imgs/icons/118_15.png
rename to imgs/icons/21743.png
diff --git a/imgs/icons/2176.png b/imgs/icons/2176.png
new file mode 100644
index 000000000..f8f217853
Binary files /dev/null and b/imgs/icons/2176.png differ
diff --git a/imgs/icons/2177.png b/imgs/icons/2177.png
new file mode 100644
index 000000000..274d26409
Binary files /dev/null and b/imgs/icons/2177.png differ
diff --git a/imgs/icons/128_1.png b/imgs/icons/21774.png
similarity index 100%
rename from imgs/icons/128_1.png
rename to imgs/icons/21774.png
diff --git a/imgs/icons/2178.png b/imgs/icons/2178.png
new file mode 100644
index 000000000..d2155a736
Binary files /dev/null and b/imgs/icons/2178.png differ
diff --git a/imgs/icons/21783.png b/imgs/icons/21783.png
new file mode 100644
index 000000000..71f2688b2
Binary files /dev/null and b/imgs/icons/21783.png differ
diff --git a/imgs/icons/21784.png b/imgs/icons/21784.png
new file mode 100644
index 000000000..8664c9006
Binary files /dev/null and b/imgs/icons/21784.png differ
diff --git a/imgs/icons/refinery_chunkstabilization.png b/imgs/icons/21787.png
similarity index 100%
rename from imgs/icons/refinery_chunkstabilization.png
rename to imgs/icons/21787.png
diff --git a/imgs/icons/refinery_miningyield.png b/imgs/icons/21788.png
similarity index 100%
rename from imgs/icons/refinery_miningyield.png
rename to imgs/icons/21788.png
diff --git a/imgs/icons/refinery_boosterreactions.png b/imgs/icons/21789.png
similarity index 100%
rename from imgs/icons/refinery_boosterreactions.png
rename to imgs/icons/21789.png
diff --git a/imgs/icons/2179.png b/imgs/icons/2179.png
new file mode 100644
index 000000000..df438c982
Binary files /dev/null and b/imgs/icons/2179.png differ
diff --git a/imgs/icons/refinery_hybridreactions.png b/imgs/icons/21790.png
similarity index 100%
rename from imgs/icons/refinery_hybridreactions.png
rename to imgs/icons/21790.png
diff --git a/imgs/icons/refinery_t2reactions.png b/imgs/icons/21791.png
similarity index 100%
rename from imgs/icons/refinery_t2reactions.png
rename to imgs/icons/21791.png
diff --git a/imgs/icons/21792.png b/imgs/icons/21792.png
new file mode 100644
index 000000000..ade482a72
Binary files /dev/null and b/imgs/icons/21792.png differ
diff --git a/imgs/icons/21793.png b/imgs/icons/21793.png
new file mode 100644
index 000000000..dbb276d47
Binary files /dev/null and b/imgs/icons/21793.png differ
diff --git a/imgs/icons/21794.png b/imgs/icons/21794.png
new file mode 100644
index 000000000..19a30961d
Binary files /dev/null and b/imgs/icons/21794.png differ
diff --git a/imgs/icons/21795.png b/imgs/icons/21795.png
new file mode 100644
index 000000000..58a8e88f2
Binary files /dev/null and b/imgs/icons/21795.png differ
diff --git a/imgs/icons/21796.png b/imgs/icons/21796.png
new file mode 100644
index 000000000..3f0d61e3f
Binary files /dev/null and b/imgs/icons/21796.png differ
diff --git a/imgs/icons/21797.png b/imgs/icons/21797.png
new file mode 100644
index 000000000..3fece2292
Binary files /dev/null and b/imgs/icons/21797.png differ
diff --git a/imgs/icons/21798.png b/imgs/icons/21798.png
new file mode 100644
index 000000000..7c9c8ccfd
Binary files /dev/null and b/imgs/icons/21798.png differ
diff --git a/imgs/icons/21799.png b/imgs/icons/21799.png
new file mode 100644
index 000000000..6d6141075
Binary files /dev/null and b/imgs/icons/21799.png differ
diff --git a/imgs/icons/2180.png b/imgs/icons/2180.png
new file mode 100644
index 000000000..ceb87a92f
Binary files /dev/null and b/imgs/icons/2180.png differ
diff --git a/imgs/icons/21800.png b/imgs/icons/21800.png
new file mode 100644
index 000000000..4c9edda62
Binary files /dev/null and b/imgs/icons/21800.png differ
diff --git a/imgs/icons/21801.png b/imgs/icons/21801.png
new file mode 100644
index 000000000..3720a3046
Binary files /dev/null and b/imgs/icons/21801.png differ
diff --git a/imgs/icons/2181.png b/imgs/icons/2181.png
new file mode 100644
index 000000000..963d789fb
Binary files /dev/null and b/imgs/icons/2181.png differ
diff --git a/imgs/icons/2182.png b/imgs/icons/2182.png
new file mode 100644
index 000000000..78b37241f
Binary files /dev/null and b/imgs/icons/2182.png differ
diff --git a/imgs/icons/21829.png b/imgs/icons/21829.png
new file mode 100644
index 000000000..75a8f7391
Binary files /dev/null and b/imgs/icons/21829.png differ
diff --git a/imgs/icons/2183.png b/imgs/icons/2183.png
new file mode 100644
index 000000000..7604edeb8
Binary files /dev/null and b/imgs/icons/2183.png differ
diff --git a/imgs/icons/21832.png b/imgs/icons/21832.png
new file mode 100644
index 000000000..c2781e73f
Binary files /dev/null and b/imgs/icons/21832.png differ
diff --git a/imgs/icons/21835.png b/imgs/icons/21835.png
new file mode 100644
index 000000000..96b174d0b
Binary files /dev/null and b/imgs/icons/21835.png differ
diff --git a/imgs/icons/21839.png b/imgs/icons/21839.png
new file mode 100644
index 000000000..6b80db00d
Binary files /dev/null and b/imgs/icons/21839.png differ
diff --git a/imgs/icons/2184.png b/imgs/icons/2184.png
new file mode 100644
index 000000000..cb6a55c46
Binary files /dev/null and b/imgs/icons/2184.png differ
diff --git a/imgs/icons/21840.png b/imgs/icons/21840.png
new file mode 100644
index 000000000..b08c44e15
Binary files /dev/null and b/imgs/icons/21840.png differ
diff --git a/imgs/icons/21841.png b/imgs/icons/21841.png
new file mode 100644
index 000000000..2077205a7
Binary files /dev/null and b/imgs/icons/21841.png differ
diff --git a/imgs/icons/21843.png b/imgs/icons/21843.png
new file mode 100644
index 000000000..8cb2c852b
Binary files /dev/null and b/imgs/icons/21843.png differ
diff --git a/imgs/icons/21844.png b/imgs/icons/21844.png
new file mode 100644
index 000000000..7ca97b872
Binary files /dev/null and b/imgs/icons/21844.png differ
diff --git a/imgs/icons/2185.png b/imgs/icons/2185.png
new file mode 100644
index 000000000..addb46ab4
Binary files /dev/null and b/imgs/icons/2185.png differ
diff --git a/imgs/icons/2186.png b/imgs/icons/2186.png
new file mode 100644
index 000000000..f35fcf3b5
Binary files /dev/null and b/imgs/icons/2186.png differ
diff --git a/imgs/icons/assaultdamagecontrol.png b/imgs/icons/21860.png
similarity index 100%
rename from imgs/icons/assaultdamagecontrol.png
rename to imgs/icons/21860.png
diff --git a/imgs/icons/2187.png b/imgs/icons/2187.png
new file mode 100644
index 000000000..f01d69f39
Binary files /dev/null and b/imgs/icons/2187.png differ
diff --git a/imgs/icons/2188.png b/imgs/icons/2188.png
new file mode 100644
index 000000000..4615e8eec
Binary files /dev/null and b/imgs/icons/2188.png differ
diff --git a/imgs/icons/2189.png b/imgs/icons/2189.png
new file mode 100644
index 000000000..822d09c52
Binary files /dev/null and b/imgs/icons/2189.png differ
diff --git a/imgs/icons/21891.png b/imgs/icons/21891.png
new file mode 100644
index 000000000..2d78246c8
Binary files /dev/null and b/imgs/icons/21891.png differ
diff --git a/imgs/icons/21898.png b/imgs/icons/21898.png
new file mode 100644
index 000000000..1cc9b607b
Binary files /dev/null and b/imgs/icons/21898.png differ
diff --git a/imgs/icons/2190.png b/imgs/icons/2190.png
new file mode 100644
index 000000000..edf770074
Binary files /dev/null and b/imgs/icons/2190.png differ
diff --git a/imgs/icons/21903.png b/imgs/icons/21903.png
new file mode 100644
index 000000000..20fe8d0bd
Binary files /dev/null and b/imgs/icons/21903.png differ
diff --git a/imgs/icons/21904.png b/imgs/icons/21904.png
new file mode 100644
index 000000000..cef04ef69
Binary files /dev/null and b/imgs/icons/21904.png differ
diff --git a/imgs/icons/21905.png b/imgs/icons/21905.png
new file mode 100644
index 000000000..915da572a
Binary files /dev/null and b/imgs/icons/21905.png differ
diff --git a/imgs/icons/21906.png b/imgs/icons/21906.png
new file mode 100644
index 000000000..32dfd3da7
Binary files /dev/null and b/imgs/icons/21906.png differ
diff --git a/imgs/icons/21907.png b/imgs/icons/21907.png
new file mode 100644
index 000000000..9c92dd6a1
Binary files /dev/null and b/imgs/icons/21907.png differ
diff --git a/imgs/icons/2191.png b/imgs/icons/2191.png
new file mode 100644
index 000000000..47bc2ec2a
Binary files /dev/null and b/imgs/icons/2191.png differ
diff --git a/imgs/icons/21916.png b/imgs/icons/21916.png
new file mode 100644
index 000000000..860b8b7d4
Binary files /dev/null and b/imgs/icons/21916.png differ
diff --git a/imgs/icons/21917.png b/imgs/icons/21917.png
new file mode 100644
index 000000000..6d0770031
Binary files /dev/null and b/imgs/icons/21917.png differ
diff --git a/imgs/icons/21918.png b/imgs/icons/21918.png
new file mode 100644
index 000000000..a6edffdaa
Binary files /dev/null and b/imgs/icons/21918.png differ
diff --git a/imgs/icons/21919.png b/imgs/icons/21919.png
new file mode 100644
index 000000000..4fa31b09a
Binary files /dev/null and b/imgs/icons/21919.png differ
diff --git a/imgs/icons/2192.png b/imgs/icons/2192.png
new file mode 100644
index 000000000..e89e17f0a
Binary files /dev/null and b/imgs/icons/2192.png differ
diff --git a/imgs/icons/21920.png b/imgs/icons/21920.png
new file mode 100644
index 000000000..e28bf6372
Binary files /dev/null and b/imgs/icons/21920.png differ
diff --git a/imgs/icons/disintegratorcannonl.png b/imgs/icons/21921.png
similarity index 100%
rename from imgs/icons/disintegratorcannonl.png
rename to imgs/icons/21921.png
diff --git a/imgs/icons/disintegratorcannonm.png b/imgs/icons/21922.png
similarity index 100%
rename from imgs/icons/disintegratorcannonm.png
rename to imgs/icons/21922.png
diff --git a/imgs/icons/disintegratorcannons.png b/imgs/icons/21923.png
similarity index 100%
rename from imgs/icons/disintegratorcannons.png
rename to imgs/icons/21923.png
diff --git a/imgs/icons/21924.png b/imgs/icons/21924.png
new file mode 100644
index 000000000..727636e2c
Binary files /dev/null and b/imgs/icons/21924.png differ
diff --git a/imgs/icons/21925.png b/imgs/icons/21925.png
new file mode 100644
index 000000000..819e075bf
Binary files /dev/null and b/imgs/icons/21925.png differ
diff --git a/imgs/icons/21926.png b/imgs/icons/21926.png
new file mode 100644
index 000000000..7bfeb6f42
Binary files /dev/null and b/imgs/icons/21926.png differ
diff --git a/imgs/icons/21927.png b/imgs/icons/21927.png
new file mode 100644
index 000000000..11e4cc6f9
Binary files /dev/null and b/imgs/icons/21927.png differ
diff --git a/imgs/icons/21928.png b/imgs/icons/21928.png
new file mode 100644
index 000000000..8bccf772c
Binary files /dev/null and b/imgs/icons/21928.png differ
diff --git a/imgs/icons/2193.png b/imgs/icons/2193.png
new file mode 100644
index 000000000..f1a8d450c
Binary files /dev/null and b/imgs/icons/2193.png differ
diff --git a/imgs/icons/2194.png b/imgs/icons/2194.png
new file mode 100644
index 000000000..22c74cdd6
Binary files /dev/null and b/imgs/icons/2194.png differ
diff --git a/imgs/icons/2195.png b/imgs/icons/2195.png
new file mode 100644
index 000000000..91e813909
Binary files /dev/null and b/imgs/icons/2195.png differ
diff --git a/imgs/icons/2196.png b/imgs/icons/2196.png
new file mode 100644
index 000000000..6519c0f8e
Binary files /dev/null and b/imgs/icons/2196.png differ
diff --git a/imgs/icons/2197.png b/imgs/icons/2197.png
new file mode 100644
index 000000000..69b478173
Binary files /dev/null and b/imgs/icons/2197.png differ
diff --git a/imgs/icons/2198.png b/imgs/icons/2198.png
new file mode 100644
index 000000000..6908e7aea
Binary files /dev/null and b/imgs/icons/2198.png differ
diff --git a/imgs/icons/21980.png b/imgs/icons/21980.png
new file mode 100644
index 000000000..a6106c06b
Binary files /dev/null and b/imgs/icons/21980.png differ
diff --git a/imgs/icons/21981.png b/imgs/icons/21981.png
new file mode 100644
index 000000000..38ba32ef5
Binary files /dev/null and b/imgs/icons/21981.png differ
diff --git a/imgs/icons/21982.png b/imgs/icons/21982.png
new file mode 100644
index 000000000..eea25ce63
Binary files /dev/null and b/imgs/icons/21982.png differ
diff --git a/imgs/icons/21983.png b/imgs/icons/21983.png
new file mode 100644
index 000000000..7fc535e92
Binary files /dev/null and b/imgs/icons/21983.png differ
diff --git a/imgs/icons/21984.png b/imgs/icons/21984.png
new file mode 100644
index 000000000..2b92aaffd
Binary files /dev/null and b/imgs/icons/21984.png differ
diff --git a/imgs/icons/21985.png b/imgs/icons/21985.png
new file mode 100644
index 000000000..1f7634e09
Binary files /dev/null and b/imgs/icons/21985.png differ
diff --git a/imgs/icons/21986.png b/imgs/icons/21986.png
new file mode 100644
index 000000000..6cdb7af13
Binary files /dev/null and b/imgs/icons/21986.png differ
diff --git a/imgs/icons/21987.png b/imgs/icons/21987.png
new file mode 100644
index 000000000..392eb57ff
Binary files /dev/null and b/imgs/icons/21987.png differ
diff --git a/imgs/icons/21989.png b/imgs/icons/21989.png
new file mode 100644
index 000000000..4222f787b
Binary files /dev/null and b/imgs/icons/21989.png differ
diff --git a/imgs/icons/2199.png b/imgs/icons/2199.png
new file mode 100644
index 000000000..a39b17640
Binary files /dev/null and b/imgs/icons/2199.png differ
diff --git a/imgs/icons/21990.png b/imgs/icons/21990.png
new file mode 100644
index 000000000..033675a50
Binary files /dev/null and b/imgs/icons/21990.png differ
diff --git a/imgs/icons/21991.png b/imgs/icons/21991.png
new file mode 100644
index 000000000..e1f82f0c5
Binary files /dev/null and b/imgs/icons/21991.png differ
diff --git a/imgs/icons/21992.png b/imgs/icons/21992.png
new file mode 100644
index 000000000..0a7e7a3da
Binary files /dev/null and b/imgs/icons/21992.png differ
diff --git a/imgs/icons/21993.png b/imgs/icons/21993.png
new file mode 100644
index 000000000..af740ae93
Binary files /dev/null and b/imgs/icons/21993.png differ
diff --git a/imgs/icons/21994.png b/imgs/icons/21994.png
new file mode 100644
index 000000000..2fb38766b
Binary files /dev/null and b/imgs/icons/21994.png differ
diff --git a/imgs/icons/21995.png b/imgs/icons/21995.png
new file mode 100644
index 000000000..95637ed81
Binary files /dev/null and b/imgs/icons/21995.png differ
diff --git a/imgs/icons/21996.png b/imgs/icons/21996.png
new file mode 100644
index 000000000..f5069dee4
Binary files /dev/null and b/imgs/icons/21996.png differ
diff --git a/imgs/icons/21997.png b/imgs/icons/21997.png
new file mode 100644
index 000000000..66d550d34
Binary files /dev/null and b/imgs/icons/21997.png differ
diff --git a/imgs/icons/21998.png b/imgs/icons/21998.png
new file mode 100644
index 000000000..1975bd9cf
Binary files /dev/null and b/imgs/icons/21998.png differ
diff --git a/imgs/icons/22.png b/imgs/icons/22.png
new file mode 100644
index 000000000..1984eb339
Binary files /dev/null and b/imgs/icons/22.png differ
diff --git a/imgs/icons/2200.png b/imgs/icons/2200.png
new file mode 100644
index 000000000..187de507b
Binary files /dev/null and b/imgs/icons/2200.png differ
diff --git a/imgs/icons/22000.png b/imgs/icons/22000.png
new file mode 100644
index 000000000..fc2b6e23f
Binary files /dev/null and b/imgs/icons/22000.png differ
diff --git a/imgs/icons/22001.png b/imgs/icons/22001.png
new file mode 100644
index 000000000..6652d93da
Binary files /dev/null and b/imgs/icons/22001.png differ
diff --git a/imgs/icons/22002.png b/imgs/icons/22002.png
new file mode 100644
index 000000000..742225a90
Binary files /dev/null and b/imgs/icons/22002.png differ
diff --git a/imgs/icons/22003.png b/imgs/icons/22003.png
new file mode 100644
index 000000000..f0e3afbcf
Binary files /dev/null and b/imgs/icons/22003.png differ
diff --git a/imgs/icons/22004.png b/imgs/icons/22004.png
new file mode 100644
index 000000000..6b9da0ca7
Binary files /dev/null and b/imgs/icons/22004.png differ
diff --git a/imgs/icons/22005.png b/imgs/icons/22005.png
new file mode 100644
index 000000000..bde8369f5
Binary files /dev/null and b/imgs/icons/22005.png differ
diff --git a/imgs/icons/22006.png b/imgs/icons/22006.png
new file mode 100644
index 000000000..535d46be2
Binary files /dev/null and b/imgs/icons/22006.png differ
diff --git a/imgs/icons/22007.png b/imgs/icons/22007.png
new file mode 100644
index 000000000..c4f08eeb4
Binary files /dev/null and b/imgs/icons/22007.png differ
diff --git a/imgs/icons/22008.png b/imgs/icons/22008.png
new file mode 100644
index 000000000..4111d0614
Binary files /dev/null and b/imgs/icons/22008.png differ
diff --git a/imgs/icons/22009.png b/imgs/icons/22009.png
new file mode 100644
index 000000000..c0bf58f31
Binary files /dev/null and b/imgs/icons/22009.png differ
diff --git a/imgs/icons/2201.png b/imgs/icons/2201.png
new file mode 100644
index 000000000..90294d1b6
Binary files /dev/null and b/imgs/icons/2201.png differ
diff --git a/imgs/icons/22011.png b/imgs/icons/22011.png
new file mode 100644
index 000000000..2576c3916
Binary files /dev/null and b/imgs/icons/22011.png differ
diff --git a/imgs/icons/22012.png b/imgs/icons/22012.png
new file mode 100644
index 000000000..69fd52998
Binary files /dev/null and b/imgs/icons/22012.png differ
diff --git a/imgs/icons/22013.png b/imgs/icons/22013.png
new file mode 100644
index 000000000..f24221f15
Binary files /dev/null and b/imgs/icons/22013.png differ
diff --git a/imgs/icons/22014.png b/imgs/icons/22014.png
new file mode 100644
index 000000000..36b5462f9
Binary files /dev/null and b/imgs/icons/22014.png differ
diff --git a/imgs/icons/22016.png b/imgs/icons/22016.png
new file mode 100644
index 000000000..4f4fdde46
Binary files /dev/null and b/imgs/icons/22016.png differ
diff --git a/imgs/icons/22018.png b/imgs/icons/22018.png
new file mode 100644
index 000000000..06a14e070
Binary files /dev/null and b/imgs/icons/22018.png differ
diff --git a/imgs/icons/2202.png b/imgs/icons/2202.png
new file mode 100644
index 000000000..0ea3a59b1
Binary files /dev/null and b/imgs/icons/2202.png differ
diff --git a/imgs/icons/22020.png b/imgs/icons/22020.png
new file mode 100644
index 000000000..1bc6bbb69
Binary files /dev/null and b/imgs/icons/22020.png differ
diff --git a/imgs/icons/2203.png b/imgs/icons/2203.png
new file mode 100644
index 000000000..69a3de595
Binary files /dev/null and b/imgs/icons/2203.png differ
diff --git a/imgs/icons/2204.png b/imgs/icons/2204.png
new file mode 100644
index 000000000..071a54d87
Binary files /dev/null and b/imgs/icons/2204.png differ
diff --git a/imgs/icons/2206.png b/imgs/icons/2206.png
new file mode 100644
index 000000000..b923f669b
Binary files /dev/null and b/imgs/icons/2206.png differ
diff --git a/imgs/icons/2209.png b/imgs/icons/2209.png
new file mode 100644
index 000000000..3da5d96a5
Binary files /dev/null and b/imgs/icons/2209.png differ
diff --git a/imgs/icons/2210.png b/imgs/icons/2210.png
new file mode 100644
index 000000000..b4cfbbaa0
Binary files /dev/null and b/imgs/icons/2210.png differ
diff --git a/imgs/icons/2211.png b/imgs/icons/2211.png
new file mode 100644
index 000000000..7e6efac53
Binary files /dev/null and b/imgs/icons/2211.png differ
diff --git a/imgs/icons/2212.png b/imgs/icons/2212.png
new file mode 100644
index 000000000..2598c39a9
Binary files /dev/null and b/imgs/icons/2212.png differ
diff --git a/imgs/icons/2213.png b/imgs/icons/2213.png
new file mode 100644
index 000000000..b19b33837
Binary files /dev/null and b/imgs/icons/2213.png differ
diff --git a/imgs/icons/2214.png b/imgs/icons/2214.png
new file mode 100644
index 000000000..78f952307
Binary files /dev/null and b/imgs/icons/2214.png differ
diff --git a/imgs/icons/2215.png b/imgs/icons/2215.png
new file mode 100644
index 000000000..9db849aab
Binary files /dev/null and b/imgs/icons/2215.png differ
diff --git a/imgs/icons/2216.png b/imgs/icons/2216.png
new file mode 100644
index 000000000..63bda9069
Binary files /dev/null and b/imgs/icons/2216.png differ
diff --git a/imgs/icons/2217.png b/imgs/icons/2217.png
new file mode 100644
index 000000000..ceb9eab78
Binary files /dev/null and b/imgs/icons/2217.png differ
diff --git a/imgs/icons/2218.png b/imgs/icons/2218.png
new file mode 100644
index 000000000..b53d5fc22
Binary files /dev/null and b/imgs/icons/2218.png differ
diff --git a/imgs/icons/2219.png b/imgs/icons/2219.png
new file mode 100644
index 000000000..a9612242b
Binary files /dev/null and b/imgs/icons/2219.png differ
diff --git a/imgs/icons/2220.png b/imgs/icons/2220.png
new file mode 100644
index 000000000..28e2ad9dc
Binary files /dev/null and b/imgs/icons/2220.png differ
diff --git a/imgs/icons/2221.png b/imgs/icons/2221.png
new file mode 100644
index 000000000..068c8d295
Binary files /dev/null and b/imgs/icons/2221.png differ
diff --git a/imgs/icons/40_14.png b/imgs/icons/2222.png
similarity index 100%
rename from imgs/icons/40_14.png
rename to imgs/icons/2222.png
diff --git a/imgs/icons/40_16.png b/imgs/icons/2224.png
similarity index 100%
rename from imgs/icons/40_16.png
rename to imgs/icons/2224.png
diff --git a/imgs/icons/2225.png b/imgs/icons/2225.png
new file mode 100644
index 000000000..850fb226f
Binary files /dev/null and b/imgs/icons/2225.png differ
diff --git a/imgs/icons/2226.png b/imgs/icons/2226.png
new file mode 100644
index 000000000..eb2c03e65
Binary files /dev/null and b/imgs/icons/2226.png differ
diff --git a/imgs/icons/2227.png b/imgs/icons/2227.png
new file mode 100644
index 000000000..6bc8f1db4
Binary files /dev/null and b/imgs/icons/2227.png differ
diff --git a/imgs/icons/2228.png b/imgs/icons/2228.png
new file mode 100644
index 000000000..fce4401a1
Binary files /dev/null and b/imgs/icons/2228.png differ
diff --git a/imgs/icons/2229.png b/imgs/icons/2229.png
new file mode 100644
index 000000000..098cfbecd
Binary files /dev/null and b/imgs/icons/2229.png differ
diff --git a/imgs/icons/2230.png b/imgs/icons/2230.png
new file mode 100644
index 000000000..4325080ac
Binary files /dev/null and b/imgs/icons/2230.png differ
diff --git a/imgs/icons/2231.png b/imgs/icons/2231.png
new file mode 100644
index 000000000..1743fdae0
Binary files /dev/null and b/imgs/icons/2231.png differ
diff --git a/imgs/icons/2232.png b/imgs/icons/2232.png
new file mode 100644
index 000000000..a22baf46b
Binary files /dev/null and b/imgs/icons/2232.png differ
diff --git a/imgs/icons/2233.png b/imgs/icons/2233.png
new file mode 100644
index 000000000..0b893a439
Binary files /dev/null and b/imgs/icons/2233.png differ
diff --git a/imgs/icons/2234.png b/imgs/icons/2234.png
new file mode 100644
index 000000000..60e782502
Binary files /dev/null and b/imgs/icons/2234.png differ
diff --git a/imgs/icons/2244.png b/imgs/icons/2244.png
new file mode 100644
index 000000000..60f658f49
Binary files /dev/null and b/imgs/icons/2244.png differ
diff --git a/imgs/icons/230.png b/imgs/icons/230.png
new file mode 100644
index 000000000..5d2dbd862
Binary files /dev/null and b/imgs/icons/230.png differ
diff --git a/imgs/icons/2302.png b/imgs/icons/2302.png
new file mode 100644
index 000000000..0e5fb47cd
Binary files /dev/null and b/imgs/icons/2302.png differ
diff --git a/imgs/icons/2304.png b/imgs/icons/2304.png
new file mode 100644
index 000000000..b778426d7
Binary files /dev/null and b/imgs/icons/2304.png differ
diff --git a/imgs/icons/2309.png b/imgs/icons/2309.png
new file mode 100644
index 000000000..d560585bc
Binary files /dev/null and b/imgs/icons/2309.png differ
diff --git a/imgs/icons/231.png b/imgs/icons/231.png
new file mode 100644
index 000000000..69d183bbf
Binary files /dev/null and b/imgs/icons/231.png differ
diff --git a/imgs/icons/2310.png b/imgs/icons/2310.png
new file mode 100644
index 000000000..dc8a4f4b1
Binary files /dev/null and b/imgs/icons/2310.png differ
diff --git a/imgs/icons/2311.png b/imgs/icons/2311.png
new file mode 100644
index 000000000..31b00331b
Binary files /dev/null and b/imgs/icons/2311.png differ
diff --git a/imgs/icons/2312.png b/imgs/icons/2312.png
new file mode 100644
index 000000000..454718b95
Binary files /dev/null and b/imgs/icons/2312.png differ
diff --git a/imgs/icons/2313.png b/imgs/icons/2313.png
new file mode 100644
index 000000000..d7f2cf3d8
Binary files /dev/null and b/imgs/icons/2313.png differ
diff --git a/imgs/icons/2314.png b/imgs/icons/2314.png
new file mode 100644
index 000000000..d97478d5e
Binary files /dev/null and b/imgs/icons/2314.png differ
diff --git a/imgs/icons/2315.png b/imgs/icons/2315.png
new file mode 100644
index 000000000..c83026b91
Binary files /dev/null and b/imgs/icons/2315.png differ
diff --git a/imgs/icons/2316.png b/imgs/icons/2316.png
new file mode 100644
index 000000000..0916120b8
Binary files /dev/null and b/imgs/icons/2316.png differ
diff --git a/imgs/icons/2317.png b/imgs/icons/2317.png
new file mode 100644
index 000000000..bb8d94a61
Binary files /dev/null and b/imgs/icons/2317.png differ
diff --git a/imgs/icons/2318.png b/imgs/icons/2318.png
new file mode 100644
index 000000000..6f7d8ad7b
Binary files /dev/null and b/imgs/icons/2318.png differ
diff --git a/imgs/icons/2319.png b/imgs/icons/2319.png
new file mode 100644
index 000000000..bb6f36af4
Binary files /dev/null and b/imgs/icons/2319.png differ
diff --git a/imgs/icons/232.png b/imgs/icons/232.png
new file mode 100644
index 000000000..414311f63
Binary files /dev/null and b/imgs/icons/232.png differ
diff --git a/imgs/icons/2320.png b/imgs/icons/2320.png
new file mode 100644
index 000000000..60a1dcfd3
Binary files /dev/null and b/imgs/icons/2320.png differ
diff --git a/imgs/icons/2321.png b/imgs/icons/2321.png
new file mode 100644
index 000000000..bf19e392b
Binary files /dev/null and b/imgs/icons/2321.png differ
diff --git a/imgs/icons/2322.png b/imgs/icons/2322.png
new file mode 100644
index 000000000..f08a94615
Binary files /dev/null and b/imgs/icons/2322.png differ
diff --git a/imgs/icons/2323.png b/imgs/icons/2323.png
new file mode 100644
index 000000000..acbdf0123
Binary files /dev/null and b/imgs/icons/2323.png differ
diff --git a/imgs/icons/2324.png b/imgs/icons/2324.png
new file mode 100644
index 000000000..320dee2a6
Binary files /dev/null and b/imgs/icons/2324.png differ
diff --git a/imgs/icons/2325.png b/imgs/icons/2325.png
new file mode 100644
index 000000000..daf49a471
Binary files /dev/null and b/imgs/icons/2325.png differ
diff --git a/imgs/icons/2326.png b/imgs/icons/2326.png
new file mode 100644
index 000000000..694b599d0
Binary files /dev/null and b/imgs/icons/2326.png differ
diff --git a/imgs/icons/2327.png b/imgs/icons/2327.png
new file mode 100644
index 000000000..9fc77803e
Binary files /dev/null and b/imgs/icons/2327.png differ
diff --git a/imgs/icons/2328.png b/imgs/icons/2328.png
new file mode 100644
index 000000000..f87a58bca
Binary files /dev/null and b/imgs/icons/2328.png differ
diff --git a/imgs/icons/2329.png b/imgs/icons/2329.png
new file mode 100644
index 000000000..117c781c9
Binary files /dev/null and b/imgs/icons/2329.png differ
diff --git a/imgs/icons/2330.png b/imgs/icons/2330.png
new file mode 100644
index 000000000..1cb76ee56
Binary files /dev/null and b/imgs/icons/2330.png differ
diff --git a/imgs/icons/2331.png b/imgs/icons/2331.png
new file mode 100644
index 000000000..b56caa254
Binary files /dev/null and b/imgs/icons/2331.png differ
diff --git a/imgs/icons/2332.png b/imgs/icons/2332.png
new file mode 100644
index 000000000..156302d46
Binary files /dev/null and b/imgs/icons/2332.png differ
diff --git a/imgs/icons/2333.png b/imgs/icons/2333.png
new file mode 100644
index 000000000..5f2125b5a
Binary files /dev/null and b/imgs/icons/2333.png differ
diff --git a/imgs/icons/2334.png b/imgs/icons/2334.png
new file mode 100644
index 000000000..830bcedba
Binary files /dev/null and b/imgs/icons/2334.png differ
diff --git a/imgs/icons/2338.png b/imgs/icons/2338.png
new file mode 100644
index 000000000..cfdeb233c
Binary files /dev/null and b/imgs/icons/2338.png differ
diff --git a/imgs/icons/2340.png b/imgs/icons/2340.png
new file mode 100644
index 000000000..61a417565
Binary files /dev/null and b/imgs/icons/2340.png differ
diff --git a/imgs/icons/2355.png b/imgs/icons/2355.png
new file mode 100644
index 000000000..c29b50603
Binary files /dev/null and b/imgs/icons/2355.png differ
diff --git a/imgs/icons/7_12.png b/imgs/icons/2512.png
similarity index 100%
rename from imgs/icons/7_12.png
rename to imgs/icons/2512.png
diff --git a/imgs/icons/49_6.png b/imgs/icons/2526.png
similarity index 100%
rename from imgs/icons/49_6.png
rename to imgs/icons/2526.png
diff --git a/imgs/icons/49_5.png b/imgs/icons/2527.png
similarity index 100%
rename from imgs/icons/49_5.png
rename to imgs/icons/2527.png
diff --git a/imgs/icons/2528.png b/imgs/icons/2528.png
new file mode 100644
index 000000000..95ed37401
Binary files /dev/null and b/imgs/icons/2528.png differ
diff --git a/imgs/icons/2529.png b/imgs/icons/2529.png
new file mode 100644
index 000000000..c839964b9
Binary files /dev/null and b/imgs/icons/2529.png differ
diff --git a/imgs/icons/45_11.png b/imgs/icons/2530.png
similarity index 100%
rename from imgs/icons/45_11.png
rename to imgs/icons/2530.png
diff --git a/imgs/icons/45_12.png b/imgs/icons/2531.png
similarity index 100%
rename from imgs/icons/45_12.png
rename to imgs/icons/2531.png
diff --git a/imgs/icons/2532.png b/imgs/icons/2532.png
new file mode 100644
index 000000000..1d52e95e8
Binary files /dev/null and b/imgs/icons/2532.png differ
diff --git a/imgs/icons/2536.png b/imgs/icons/2536.png
new file mode 100644
index 000000000..72d112bac
Binary files /dev/null and b/imgs/icons/2536.png differ
diff --git a/imgs/icons/2537.png b/imgs/icons/2537.png
new file mode 100644
index 000000000..7a5c4319c
Binary files /dev/null and b/imgs/icons/2537.png differ
diff --git a/imgs/icons/2538.png b/imgs/icons/2538.png
new file mode 100644
index 000000000..93965f7ad
Binary files /dev/null and b/imgs/icons/2538.png differ
diff --git a/imgs/icons/2539.png b/imgs/icons/2539.png
new file mode 100644
index 000000000..49a29e6b0
Binary files /dev/null and b/imgs/icons/2539.png differ
diff --git a/imgs/icons/2540.png b/imgs/icons/2540.png
new file mode 100644
index 000000000..45ae7b5fc
Binary files /dev/null and b/imgs/icons/2540.png differ
diff --git a/imgs/icons/2541.png b/imgs/icons/2541.png
new file mode 100644
index 000000000..e4e2f5c1c
Binary files /dev/null and b/imgs/icons/2541.png differ
diff --git a/imgs/icons/2542.png b/imgs/icons/2542.png
new file mode 100644
index 000000000..4922ff694
Binary files /dev/null and b/imgs/icons/2542.png differ
diff --git a/imgs/icons/2543.png b/imgs/icons/2543.png
new file mode 100644
index 000000000..f83f5a287
Binary files /dev/null and b/imgs/icons/2543.png differ
diff --git a/imgs/icons/2544.png b/imgs/icons/2544.png
new file mode 100644
index 000000000..e09f6f869
Binary files /dev/null and b/imgs/icons/2544.png differ
diff --git a/imgs/icons/2545.png b/imgs/icons/2545.png
new file mode 100644
index 000000000..4c9d37854
Binary files /dev/null and b/imgs/icons/2545.png differ
diff --git a/imgs/icons/2546.png b/imgs/icons/2546.png
new file mode 100644
index 000000000..65fc45284
Binary files /dev/null and b/imgs/icons/2546.png differ
diff --git a/imgs/icons/2547.png b/imgs/icons/2547.png
new file mode 100644
index 000000000..f2b4aa5b0
Binary files /dev/null and b/imgs/icons/2547.png differ
diff --git a/imgs/icons/2548.png b/imgs/icons/2548.png
new file mode 100644
index 000000000..f2bd92307
Binary files /dev/null and b/imgs/icons/2548.png differ
diff --git a/imgs/icons/2549.png b/imgs/icons/2549.png
new file mode 100644
index 000000000..6e9fc22db
Binary files /dev/null and b/imgs/icons/2549.png differ
diff --git a/imgs/icons/2550.png b/imgs/icons/2550.png
new file mode 100644
index 000000000..12e6a9470
Binary files /dev/null and b/imgs/icons/2550.png differ
diff --git a/imgs/icons/2551.png b/imgs/icons/2551.png
new file mode 100644
index 000000000..f2699f052
Binary files /dev/null and b/imgs/icons/2551.png differ
diff --git a/imgs/icons/2552.png b/imgs/icons/2552.png
new file mode 100644
index 000000000..2a6848019
Binary files /dev/null and b/imgs/icons/2552.png differ
diff --git a/imgs/icons/2553.png b/imgs/icons/2553.png
new file mode 100644
index 000000000..027283437
Binary files /dev/null and b/imgs/icons/2553.png differ
diff --git a/imgs/icons/2554.png b/imgs/icons/2554.png
new file mode 100644
index 000000000..59daff81c
Binary files /dev/null and b/imgs/icons/2554.png differ
diff --git a/imgs/icons/2555.png b/imgs/icons/2555.png
new file mode 100644
index 000000000..b53e55bf9
Binary files /dev/null and b/imgs/icons/2555.png differ
diff --git a/imgs/icons/2556.png b/imgs/icons/2556.png
new file mode 100644
index 000000000..864fc099e
Binary files /dev/null and b/imgs/icons/2556.png differ
diff --git a/imgs/icons/2557.png b/imgs/icons/2557.png
new file mode 100644
index 000000000..3bc267324
Binary files /dev/null and b/imgs/icons/2557.png differ
diff --git a/imgs/icons/2558.png b/imgs/icons/2558.png
new file mode 100644
index 000000000..64d90bf29
Binary files /dev/null and b/imgs/icons/2558.png differ
diff --git a/imgs/icons/2559.png b/imgs/icons/2559.png
new file mode 100644
index 000000000..6d9e6038a
Binary files /dev/null and b/imgs/icons/2559.png differ
diff --git a/imgs/icons/2560.png b/imgs/icons/2560.png
new file mode 100644
index 000000000..d65419db8
Binary files /dev/null and b/imgs/icons/2560.png differ
diff --git a/imgs/icons/2561.png b/imgs/icons/2561.png
new file mode 100644
index 000000000..38d72a177
Binary files /dev/null and b/imgs/icons/2561.png differ
diff --git a/imgs/icons/2_16.png b/imgs/icons/2563.png
similarity index 100%
rename from imgs/icons/2_16.png
rename to imgs/icons/2563.png
diff --git a/imgs/icons/2567.png b/imgs/icons/2567.png
new file mode 100644
index 000000000..bd9be2578
Binary files /dev/null and b/imgs/icons/2567.png differ
diff --git a/imgs/icons/2568.png b/imgs/icons/2568.png
new file mode 100644
index 000000000..8c63e527b
Binary files /dev/null and b/imgs/icons/2568.png differ
diff --git a/imgs/icons/2569.png b/imgs/icons/2569.png
new file mode 100644
index 000000000..518c605c4
Binary files /dev/null and b/imgs/icons/2569.png differ
diff --git a/imgs/icons/2570.png b/imgs/icons/2570.png
new file mode 100644
index 000000000..6616ad5cf
Binary files /dev/null and b/imgs/icons/2570.png differ
diff --git a/imgs/icons/2571.png b/imgs/icons/2571.png
new file mode 100644
index 000000000..cb9e304b6
Binary files /dev/null and b/imgs/icons/2571.png differ
diff --git a/imgs/icons/2572.png b/imgs/icons/2572.png
new file mode 100644
index 000000000..a585b6bf5
Binary files /dev/null and b/imgs/icons/2572.png differ
diff --git a/imgs/icons/2573.png b/imgs/icons/2573.png
new file mode 100644
index 000000000..4e46ce732
Binary files /dev/null and b/imgs/icons/2573.png differ
diff --git a/imgs/icons/2574.png b/imgs/icons/2574.png
new file mode 100644
index 000000000..bf967b4d7
Binary files /dev/null and b/imgs/icons/2574.png differ
diff --git a/imgs/icons/2575.png b/imgs/icons/2575.png
new file mode 100644
index 000000000..cc6cc0c38
Binary files /dev/null and b/imgs/icons/2575.png differ
diff --git a/imgs/icons/2576.png b/imgs/icons/2576.png
new file mode 100644
index 000000000..2f34b02d2
Binary files /dev/null and b/imgs/icons/2576.png differ
diff --git a/imgs/icons/2577.png b/imgs/icons/2577.png
new file mode 100644
index 000000000..c6cbf047f
Binary files /dev/null and b/imgs/icons/2577.png differ
diff --git a/imgs/icons/2578.png b/imgs/icons/2578.png
new file mode 100644
index 000000000..f94774d1e
Binary files /dev/null and b/imgs/icons/2578.png differ
diff --git a/imgs/icons/2579.png b/imgs/icons/2579.png
new file mode 100644
index 000000000..276a994d9
Binary files /dev/null and b/imgs/icons/2579.png differ
diff --git a/imgs/icons/2580.png b/imgs/icons/2580.png
new file mode 100644
index 000000000..daa50c30d
Binary files /dev/null and b/imgs/icons/2580.png differ
diff --git a/imgs/icons/2581.png b/imgs/icons/2581.png
new file mode 100644
index 000000000..c49d53267
Binary files /dev/null and b/imgs/icons/2581.png differ
diff --git a/imgs/icons/2582.png b/imgs/icons/2582.png
new file mode 100644
index 000000000..93ec9eacd
Binary files /dev/null and b/imgs/icons/2582.png differ
diff --git a/imgs/icons/26.png b/imgs/icons/26.png
new file mode 100644
index 000000000..018b9ff57
Binary files /dev/null and b/imgs/icons/26.png differ
diff --git a/imgs/icons/48_14.png b/imgs/icons/2645.png
similarity index 100%
rename from imgs/icons/48_14.png
rename to imgs/icons/2645.png
diff --git a/imgs/icons/48_13.png b/imgs/icons/2646.png
similarity index 100%
rename from imgs/icons/48_13.png
rename to imgs/icons/2646.png
diff --git a/imgs/icons/48_12.png b/imgs/icons/2647.png
similarity index 100%
rename from imgs/icons/48_12.png
rename to imgs/icons/2647.png
diff --git a/imgs/icons/48_11.png b/imgs/icons/2648.png
similarity index 100%
rename from imgs/icons/48_11.png
rename to imgs/icons/2648.png
diff --git a/imgs/icons/48_10.png b/imgs/icons/2649.png
similarity index 100%
rename from imgs/icons/48_10.png
rename to imgs/icons/2649.png
diff --git a/imgs/icons/48_9.png b/imgs/icons/2650.png
similarity index 100%
rename from imgs/icons/48_9.png
rename to imgs/icons/2650.png
diff --git a/imgs/icons/48_8.png b/imgs/icons/2651.png
similarity index 100%
rename from imgs/icons/48_8.png
rename to imgs/icons/2651.png
diff --git a/imgs/icons/48_7.png b/imgs/icons/2652.png
similarity index 100%
rename from imgs/icons/48_7.png
rename to imgs/icons/2652.png
diff --git a/imgs/icons/48_6.png b/imgs/icons/2653.png
similarity index 100%
rename from imgs/icons/48_6.png
rename to imgs/icons/2653.png
diff --git a/imgs/icons/48_16.png b/imgs/icons/2654.png
similarity index 100%
rename from imgs/icons/48_16.png
rename to imgs/icons/2654.png
diff --git a/imgs/icons/48_5.png b/imgs/icons/2655.png
similarity index 100%
rename from imgs/icons/48_5.png
rename to imgs/icons/2655.png
diff --git a/imgs/icons/48_4.png b/imgs/icons/2656.png
similarity index 100%
rename from imgs/icons/48_4.png
rename to imgs/icons/2656.png
diff --git a/imgs/icons/48_3.png b/imgs/icons/2657.png
similarity index 100%
rename from imgs/icons/48_3.png
rename to imgs/icons/2657.png
diff --git a/imgs/icons/48_2.png b/imgs/icons/2658.png
similarity index 100%
rename from imgs/icons/48_2.png
rename to imgs/icons/2658.png
diff --git a/imgs/icons/48_15.png b/imgs/icons/2659.png
similarity index 100%
rename from imgs/icons/48_15.png
rename to imgs/icons/2659.png
diff --git a/imgs/icons/48_1.png b/imgs/icons/2660.png
similarity index 100%
rename from imgs/icons/48_1.png
rename to imgs/icons/2660.png
diff --git a/imgs/icons/2661.png b/imgs/icons/2661.png
new file mode 100644
index 000000000..ab2303855
Binary files /dev/null and b/imgs/icons/2661.png differ
diff --git a/imgs/icons/2662.png b/imgs/icons/2662.png
new file mode 100644
index 000000000..4253b14a8
Binary files /dev/null and b/imgs/icons/2662.png differ
diff --git a/imgs/icons/50_3.png b/imgs/icons/2663.png
similarity index 100%
rename from imgs/icons/50_3.png
rename to imgs/icons/2663.png
diff --git a/imgs/icons/2664.png b/imgs/icons/2664.png
new file mode 100644
index 000000000..e51ecae4d
Binary files /dev/null and b/imgs/icons/2664.png differ
diff --git a/imgs/icons/2665.png b/imgs/icons/2665.png
new file mode 100644
index 000000000..698b0bb06
Binary files /dev/null and b/imgs/icons/2665.png differ
diff --git a/imgs/icons/2666.png b/imgs/icons/2666.png
new file mode 100644
index 000000000..eb55e62f9
Binary files /dev/null and b/imgs/icons/2666.png differ
diff --git a/imgs/icons/2667.png b/imgs/icons/2667.png
new file mode 100644
index 000000000..cc7c9cc7e
Binary files /dev/null and b/imgs/icons/2667.png differ
diff --git a/imgs/icons/2668.png b/imgs/icons/2668.png
new file mode 100644
index 000000000..c29eba37a
Binary files /dev/null and b/imgs/icons/2668.png differ
diff --git a/imgs/icons/2669.png b/imgs/icons/2669.png
new file mode 100644
index 000000000..95b1ed1d2
Binary files /dev/null and b/imgs/icons/2669.png differ
diff --git a/imgs/icons/2670.png b/imgs/icons/2670.png
new file mode 100644
index 000000000..fe661ccb0
Binary files /dev/null and b/imgs/icons/2670.png differ
diff --git a/imgs/icons/2674.png b/imgs/icons/2674.png
new file mode 100644
index 000000000..b20eb0b0a
Binary files /dev/null and b/imgs/icons/2674.png differ
diff --git a/imgs/icons/49_7.png b/imgs/icons/2677.png
similarity index 100%
rename from imgs/icons/49_7.png
rename to imgs/icons/2677.png
diff --git a/imgs/icons/2678.png b/imgs/icons/2678.png
new file mode 100644
index 000000000..4ca57246b
Binary files /dev/null and b/imgs/icons/2678.png differ
diff --git a/imgs/icons/2679.png b/imgs/icons/2679.png
new file mode 100644
index 000000000..e374147c6
Binary files /dev/null and b/imgs/icons/2679.png differ
diff --git a/imgs/icons/2680.png b/imgs/icons/2680.png
new file mode 100644
index 000000000..55d269d13
Binary files /dev/null and b/imgs/icons/2680.png differ
diff --git a/imgs/icons/2681.png b/imgs/icons/2681.png
new file mode 100644
index 000000000..19c2eae3c
Binary files /dev/null and b/imgs/icons/2681.png differ
diff --git a/imgs/icons/2682.png b/imgs/icons/2682.png
new file mode 100644
index 000000000..ae43dc248
Binary files /dev/null and b/imgs/icons/2682.png differ
diff --git a/imgs/icons/2683.png b/imgs/icons/2683.png
new file mode 100644
index 000000000..824c82d33
Binary files /dev/null and b/imgs/icons/2683.png differ
diff --git a/imgs/icons/2684.png b/imgs/icons/2684.png
new file mode 100644
index 000000000..26df6c98d
Binary files /dev/null and b/imgs/icons/2684.png differ
diff --git a/imgs/icons/2685.png b/imgs/icons/2685.png
new file mode 100644
index 000000000..3315819f7
Binary files /dev/null and b/imgs/icons/2685.png differ
diff --git a/imgs/icons/2686.png b/imgs/icons/2686.png
new file mode 100644
index 000000000..5e907f0eb
Binary files /dev/null and b/imgs/icons/2686.png differ
diff --git a/imgs/icons/2696.png b/imgs/icons/2696.png
new file mode 100644
index 000000000..64be6e813
Binary files /dev/null and b/imgs/icons/2696.png differ
diff --git a/imgs/icons/2697.png b/imgs/icons/2697.png
new file mode 100644
index 000000000..5b01d9b52
Binary files /dev/null and b/imgs/icons/2697.png differ
diff --git a/imgs/icons/2698.png b/imgs/icons/2698.png
new file mode 100644
index 000000000..c8f68260c
Binary files /dev/null and b/imgs/icons/2698.png differ
diff --git a/imgs/icons/2699.png b/imgs/icons/2699.png
new file mode 100644
index 000000000..fd70478f7
Binary files /dev/null and b/imgs/icons/2699.png differ
diff --git a/imgs/icons/27.png b/imgs/icons/27.png
new file mode 100644
index 000000000..ce3065385
Binary files /dev/null and b/imgs/icons/27.png differ
diff --git a/imgs/icons/2700.png b/imgs/icons/2700.png
new file mode 100644
index 000000000..7081d175e
Binary files /dev/null and b/imgs/icons/2700.png differ
diff --git a/imgs/icons/2701.png b/imgs/icons/2701.png
new file mode 100644
index 000000000..ad9f0030b
Binary files /dev/null and b/imgs/icons/2701.png differ
diff --git a/imgs/icons/2702.png b/imgs/icons/2702.png
new file mode 100644
index 000000000..a1232ca10
Binary files /dev/null and b/imgs/icons/2702.png differ
diff --git a/imgs/icons/2703.png b/imgs/icons/2703.png
new file mode 100644
index 000000000..41bb34deb
Binary files /dev/null and b/imgs/icons/2703.png differ
diff --git a/imgs/icons/2705.png b/imgs/icons/2705.png
new file mode 100644
index 000000000..c816f069e
Binary files /dev/null and b/imgs/icons/2705.png differ
diff --git a/imgs/icons/3_12.png b/imgs/icons/2732.png
similarity index 100%
rename from imgs/icons/3_12.png
rename to imgs/icons/2732.png
diff --git a/imgs/icons/2754.png b/imgs/icons/2754.png
new file mode 100644
index 000000000..3714dfe54
Binary files /dev/null and b/imgs/icons/2754.png differ
diff --git a/imgs/icons/28.png b/imgs/icons/28.png
new file mode 100644
index 000000000..e8ded28d4
Binary files /dev/null and b/imgs/icons/28.png differ
diff --git a/imgs/icons/52_1.png b/imgs/icons/2827.png
similarity index 100%
rename from imgs/icons/52_1.png
rename to imgs/icons/2827.png
diff --git a/imgs/icons/52_2.png b/imgs/icons/2828.png
similarity index 100%
rename from imgs/icons/52_2.png
rename to imgs/icons/2828.png
diff --git a/imgs/icons/52_3.png b/imgs/icons/2829.png
similarity index 100%
rename from imgs/icons/52_3.png
rename to imgs/icons/2829.png
diff --git a/imgs/icons/52_4.png b/imgs/icons/2830.png
similarity index 100%
rename from imgs/icons/52_4.png
rename to imgs/icons/2830.png
diff --git a/imgs/icons/52_5.png b/imgs/icons/2831.png
similarity index 100%
rename from imgs/icons/52_5.png
rename to imgs/icons/2831.png
diff --git a/imgs/icons/52_6.png b/imgs/icons/2832.png
similarity index 100%
rename from imgs/icons/52_6.png
rename to imgs/icons/2832.png
diff --git a/imgs/icons/52_7.png b/imgs/icons/2833.png
similarity index 100%
rename from imgs/icons/52_7.png
rename to imgs/icons/2833.png
diff --git a/imgs/icons/52_8.png b/imgs/icons/2834.png
similarity index 100%
rename from imgs/icons/52_8.png
rename to imgs/icons/2834.png
diff --git a/imgs/icons/52_10.png b/imgs/icons/2836.png
similarity index 100%
rename from imgs/icons/52_10.png
rename to imgs/icons/2836.png
diff --git a/imgs/icons/52_11.png b/imgs/icons/2837.png
similarity index 100%
rename from imgs/icons/52_11.png
rename to imgs/icons/2837.png
diff --git a/imgs/icons/52_12.png b/imgs/icons/2838.png
similarity index 100%
rename from imgs/icons/52_12.png
rename to imgs/icons/2838.png
diff --git a/imgs/icons/52_13.png b/imgs/icons/2839.png
similarity index 100%
rename from imgs/icons/52_13.png
rename to imgs/icons/2839.png
diff --git a/imgs/icons/52_14.png b/imgs/icons/2840.png
similarity index 100%
rename from imgs/icons/52_14.png
rename to imgs/icons/2840.png
diff --git a/imgs/icons/52_15.png b/imgs/icons/2841.png
similarity index 100%
rename from imgs/icons/52_15.png
rename to imgs/icons/2841.png
diff --git a/imgs/icons/52_16.png b/imgs/icons/2842.png
similarity index 100%
rename from imgs/icons/52_16.png
rename to imgs/icons/2842.png
diff --git a/imgs/icons/53_1.png b/imgs/icons/2843.png
similarity index 100%
rename from imgs/icons/53_1.png
rename to imgs/icons/2843.png
diff --git a/imgs/icons/53_2.png b/imgs/icons/2844.png
similarity index 100%
rename from imgs/icons/53_2.png
rename to imgs/icons/2844.png
diff --git a/imgs/icons/53_3.png b/imgs/icons/2845.png
similarity index 100%
rename from imgs/icons/53_3.png
rename to imgs/icons/2845.png
diff --git a/imgs/icons/53_4.png b/imgs/icons/2846.png
similarity index 100%
rename from imgs/icons/53_4.png
rename to imgs/icons/2846.png
diff --git a/imgs/icons/53_5.png b/imgs/icons/2847.png
similarity index 100%
rename from imgs/icons/53_5.png
rename to imgs/icons/2847.png
diff --git a/imgs/icons/53_6.png b/imgs/icons/2848.png
similarity index 100%
rename from imgs/icons/53_6.png
rename to imgs/icons/2848.png
diff --git a/imgs/icons/53_7.png b/imgs/icons/2849.png
similarity index 100%
rename from imgs/icons/53_7.png
rename to imgs/icons/2849.png
diff --git a/imgs/icons/53_8.png b/imgs/icons/2850.png
similarity index 100%
rename from imgs/icons/53_8.png
rename to imgs/icons/2850.png
diff --git a/imgs/icons/53_9.png b/imgs/icons/2851.png
similarity index 100%
rename from imgs/icons/53_9.png
rename to imgs/icons/2851.png
diff --git a/imgs/icons/2852.png b/imgs/icons/2852.png
new file mode 100644
index 000000000..0691d311b
Binary files /dev/null and b/imgs/icons/2852.png differ
diff --git a/imgs/icons/2853.png b/imgs/icons/2853.png
new file mode 100644
index 000000000..e2058455b
Binary files /dev/null and b/imgs/icons/2853.png differ
diff --git a/imgs/icons/2854.png b/imgs/icons/2854.png
new file mode 100644
index 000000000..3487ddb7e
Binary files /dev/null and b/imgs/icons/2854.png differ
diff --git a/imgs/icons/2855.png b/imgs/icons/2855.png
new file mode 100644
index 000000000..3922d6fb8
Binary files /dev/null and b/imgs/icons/2855.png differ
diff --git a/imgs/icons/53_14.png b/imgs/icons/2856.png
similarity index 100%
rename from imgs/icons/53_14.png
rename to imgs/icons/2856.png
diff --git a/imgs/icons/53_15.png b/imgs/icons/2857.png
similarity index 100%
rename from imgs/icons/53_15.png
rename to imgs/icons/2857.png
diff --git a/imgs/icons/2858.png b/imgs/icons/2858.png
new file mode 100644
index 000000000..0d8d74510
Binary files /dev/null and b/imgs/icons/2858.png differ
diff --git a/imgs/icons/2859.png b/imgs/icons/2859.png
new file mode 100644
index 000000000..aaa14840d
Binary files /dev/null and b/imgs/icons/2859.png differ
diff --git a/imgs/icons/2860.png b/imgs/icons/2860.png
new file mode 100644
index 000000000..c01a3f351
Binary files /dev/null and b/imgs/icons/2860.png differ
diff --git a/imgs/icons/2861.png b/imgs/icons/2861.png
new file mode 100644
index 000000000..f9b8e09f6
Binary files /dev/null and b/imgs/icons/2861.png differ
diff --git a/imgs/icons/2862.png b/imgs/icons/2862.png
new file mode 100644
index 000000000..3bf6975fc
Binary files /dev/null and b/imgs/icons/2862.png differ
diff --git a/imgs/icons/2863.png b/imgs/icons/2863.png
new file mode 100644
index 000000000..8199c3613
Binary files /dev/null and b/imgs/icons/2863.png differ
diff --git a/imgs/icons/2864.png b/imgs/icons/2864.png
new file mode 100644
index 000000000..4e0d1482d
Binary files /dev/null and b/imgs/icons/2864.png differ
diff --git a/imgs/icons/2865.png b/imgs/icons/2865.png
new file mode 100644
index 000000000..b007bfa97
Binary files /dev/null and b/imgs/icons/2865.png differ
diff --git a/imgs/icons/2866.png b/imgs/icons/2866.png
new file mode 100644
index 000000000..7be5b66c4
Binary files /dev/null and b/imgs/icons/2866.png differ
diff --git a/imgs/icons/2867.png b/imgs/icons/2867.png
new file mode 100644
index 000000000..094d9329a
Binary files /dev/null and b/imgs/icons/2867.png differ
diff --git a/imgs/icons/2868.png b/imgs/icons/2868.png
new file mode 100644
index 000000000..043b52798
Binary files /dev/null and b/imgs/icons/2868.png differ
diff --git a/imgs/icons/2869.png b/imgs/icons/2869.png
new file mode 100644
index 000000000..44fab052a
Binary files /dev/null and b/imgs/icons/2869.png differ
diff --git a/imgs/icons/2870.png b/imgs/icons/2870.png
new file mode 100644
index 000000000..9228be24f
Binary files /dev/null and b/imgs/icons/2870.png differ
diff --git a/imgs/icons/2871.png b/imgs/icons/2871.png
new file mode 100644
index 000000000..067cbc670
Binary files /dev/null and b/imgs/icons/2871.png differ
diff --git a/imgs/icons/2872.png b/imgs/icons/2872.png
new file mode 100644
index 000000000..50ef94241
Binary files /dev/null and b/imgs/icons/2872.png differ
diff --git a/imgs/icons/2873.png b/imgs/icons/2873.png
new file mode 100644
index 000000000..93fa59a15
Binary files /dev/null and b/imgs/icons/2873.png differ
diff --git a/imgs/icons/2874.png b/imgs/icons/2874.png
new file mode 100644
index 000000000..d8e240b5f
Binary files /dev/null and b/imgs/icons/2874.png differ
diff --git a/imgs/icons/2875.png b/imgs/icons/2875.png
new file mode 100644
index 000000000..ea5ccc90a
Binary files /dev/null and b/imgs/icons/2875.png differ
diff --git a/imgs/icons/2876.png b/imgs/icons/2876.png
new file mode 100644
index 000000000..441ca29aa
Binary files /dev/null and b/imgs/icons/2876.png differ
diff --git a/imgs/icons/2877.png b/imgs/icons/2877.png
new file mode 100644
index 000000000..08d585336
Binary files /dev/null and b/imgs/icons/2877.png differ
diff --git a/imgs/icons/2878.png b/imgs/icons/2878.png
new file mode 100644
index 000000000..665d879d4
Binary files /dev/null and b/imgs/icons/2878.png differ
diff --git a/imgs/icons/2879.png b/imgs/icons/2879.png
new file mode 100644
index 000000000..fd1465995
Binary files /dev/null and b/imgs/icons/2879.png differ
diff --git a/imgs/icons/2880.png b/imgs/icons/2880.png
new file mode 100644
index 000000000..5b7ba0fcf
Binary files /dev/null and b/imgs/icons/2880.png differ
diff --git a/imgs/icons/2881.png b/imgs/icons/2881.png
new file mode 100644
index 000000000..6ade5f140
Binary files /dev/null and b/imgs/icons/2881.png differ
diff --git a/imgs/icons/2882.png b/imgs/icons/2882.png
new file mode 100644
index 000000000..d1ba44bf8
Binary files /dev/null and b/imgs/icons/2882.png differ
diff --git a/imgs/icons/2883.png b/imgs/icons/2883.png
new file mode 100644
index 000000000..ac2b7412d
Binary files /dev/null and b/imgs/icons/2883.png differ
diff --git a/imgs/icons/2884.png b/imgs/icons/2884.png
new file mode 100644
index 000000000..13758931a
Binary files /dev/null and b/imgs/icons/2884.png differ
diff --git a/imgs/icons/2885.png b/imgs/icons/2885.png
new file mode 100644
index 000000000..b890354d1
Binary files /dev/null and b/imgs/icons/2885.png differ
diff --git a/imgs/icons/2886.png b/imgs/icons/2886.png
new file mode 100644
index 000000000..205ee547f
Binary files /dev/null and b/imgs/icons/2886.png differ
diff --git a/imgs/icons/55_13.png b/imgs/icons/2887.png
similarity index 100%
rename from imgs/icons/55_13.png
rename to imgs/icons/2887.png
diff --git a/imgs/icons/2888.png b/imgs/icons/2888.png
new file mode 100644
index 000000000..51f1c5ca4
Binary files /dev/null and b/imgs/icons/2888.png differ
diff --git a/imgs/icons/2889.png b/imgs/icons/2889.png
new file mode 100644
index 000000000..63c691f1d
Binary files /dev/null and b/imgs/icons/2889.png differ
diff --git a/imgs/icons/2890.png b/imgs/icons/2890.png
new file mode 100644
index 000000000..6ad10ff8b
Binary files /dev/null and b/imgs/icons/2890.png differ
diff --git a/imgs/icons/2891.png b/imgs/icons/2891.png
new file mode 100644
index 000000000..53ad9ee91
Binary files /dev/null and b/imgs/icons/2891.png differ
diff --git a/imgs/icons/2893.png b/imgs/icons/2893.png
new file mode 100644
index 000000000..b1df4c624
Binary files /dev/null and b/imgs/icons/2893.png differ
diff --git a/imgs/icons/29.png b/imgs/icons/29.png
new file mode 100644
index 000000000..4c0695dd5
Binary files /dev/null and b/imgs/icons/29.png differ
diff --git a/imgs/icons/2908.png b/imgs/icons/2908.png
new file mode 100644
index 000000000..56ef341aa
Binary files /dev/null and b/imgs/icons/2908.png differ
diff --git a/imgs/icons/8_11.png b/imgs/icons/293.png
similarity index 100%
rename from imgs/icons/8_11.png
rename to imgs/icons/293.png
diff --git a/imgs/icons/56_2.png b/imgs/icons/2934.png
similarity index 100%
rename from imgs/icons/56_2.png
rename to imgs/icons/2934.png
diff --git a/imgs/icons/8_10.png b/imgs/icons/294.png
similarity index 100%
rename from imgs/icons/8_10.png
rename to imgs/icons/294.png
diff --git a/imgs/icons/57_4.png b/imgs/icons/2943.png
similarity index 100%
rename from imgs/icons/57_4.png
rename to imgs/icons/2943.png
diff --git a/imgs/icons/8_9.png b/imgs/icons/295.png
similarity index 100%
rename from imgs/icons/8_9.png
rename to imgs/icons/295.png
diff --git a/imgs/icons/56_1.png b/imgs/icons/2983.png
similarity index 100%
rename from imgs/icons/56_1.png
rename to imgs/icons/2983.png
diff --git a/imgs/icons/56_3.png b/imgs/icons/2985.png
similarity index 100%
rename from imgs/icons/56_3.png
rename to imgs/icons/2985.png
diff --git a/imgs/icons/56_4.png b/imgs/icons/2986.png
similarity index 100%
rename from imgs/icons/56_4.png
rename to imgs/icons/2986.png
diff --git a/imgs/icons/56_5.png b/imgs/icons/2987.png
similarity index 100%
rename from imgs/icons/56_5.png
rename to imgs/icons/2987.png
diff --git a/imgs/icons/56_6.png b/imgs/icons/2988.png
similarity index 100%
rename from imgs/icons/56_6.png
rename to imgs/icons/2988.png
diff --git a/imgs/icons/56_7.png b/imgs/icons/2989.png
similarity index 100%
rename from imgs/icons/56_7.png
rename to imgs/icons/2989.png
diff --git a/imgs/icons/56_8.png b/imgs/icons/2990.png
similarity index 100%
rename from imgs/icons/56_8.png
rename to imgs/icons/2990.png
diff --git a/imgs/icons/2991.png b/imgs/icons/2991.png
new file mode 100644
index 000000000..cc602567c
Binary files /dev/null and b/imgs/icons/2991.png differ
diff --git a/imgs/icons/2992.png b/imgs/icons/2992.png
new file mode 100644
index 000000000..4ef3a31c3
Binary files /dev/null and b/imgs/icons/2992.png differ
diff --git a/imgs/icons/2994.png b/imgs/icons/2994.png
new file mode 100644
index 000000000..6f904f813
Binary files /dev/null and b/imgs/icons/2994.png differ
diff --git a/imgs/icons/30.png b/imgs/icons/30.png
new file mode 100644
index 000000000..3919a5f03
Binary files /dev/null and b/imgs/icons/30.png differ
diff --git a/imgs/icons/3000.png b/imgs/icons/3000.png
new file mode 100644
index 000000000..a98c2e021
Binary files /dev/null and b/imgs/icons/3000.png differ
diff --git a/imgs/icons/3001.png b/imgs/icons/3001.png
new file mode 100644
index 000000000..6e254552e
Binary files /dev/null and b/imgs/icons/3001.png differ
diff --git a/imgs/icons/57_9.png b/imgs/icons/3006.png
similarity index 100%
rename from imgs/icons/57_9.png
rename to imgs/icons/3006.png
diff --git a/imgs/icons/57_10.png b/imgs/icons/3007.png
similarity index 100%
rename from imgs/icons/57_10.png
rename to imgs/icons/3007.png
diff --git a/imgs/icons/3010.png b/imgs/icons/3010.png
new file mode 100644
index 000000000..54faf3975
Binary files /dev/null and b/imgs/icons/3010.png differ
diff --git a/imgs/icons/3012.png b/imgs/icons/3012.png
new file mode 100644
index 000000000..2999e98cb
Binary files /dev/null and b/imgs/icons/3012.png differ
diff --git a/imgs/icons/57_16.png b/imgs/icons/3013.png
similarity index 100%
rename from imgs/icons/57_16.png
rename to imgs/icons/3013.png
diff --git a/imgs/icons/3019.png b/imgs/icons/3019.png
new file mode 100644
index 000000000..cd43cbf24
Binary files /dev/null and b/imgs/icons/3019.png differ
diff --git a/imgs/icons/3025.png b/imgs/icons/3025.png
new file mode 100644
index 000000000..631c2946d
Binary files /dev/null and b/imgs/icons/3025.png differ
diff --git a/imgs/icons/3036.png b/imgs/icons/3036.png
new file mode 100644
index 000000000..2e54703ad
Binary files /dev/null and b/imgs/icons/3036.png differ
diff --git a/imgs/icons/35_3.png b/imgs/icons/3074.png
similarity index 100%
rename from imgs/icons/35_3.png
rename to imgs/icons/3074.png
diff --git a/imgs/icons/31.png b/imgs/icons/31.png
new file mode 100644
index 000000000..b42900b03
Binary files /dev/null and b/imgs/icons/31.png differ
diff --git a/imgs/icons/3181.png b/imgs/icons/3181.png
new file mode 100644
index 000000000..4ea42ec86
Binary files /dev/null and b/imgs/icons/3181.png differ
diff --git a/imgs/icons/3182.png b/imgs/icons/3182.png
new file mode 100644
index 000000000..02a27d1ee
Binary files /dev/null and b/imgs/icons/3182.png differ
diff --git a/imgs/icons/3183.png b/imgs/icons/3183.png
new file mode 100644
index 000000000..8eb1009fc
Binary files /dev/null and b/imgs/icons/3183.png differ
diff --git a/imgs/icons/3184.png b/imgs/icons/3184.png
new file mode 100644
index 000000000..dfcea100e
Binary files /dev/null and b/imgs/icons/3184.png differ
diff --git a/imgs/icons/3185.png b/imgs/icons/3185.png
new file mode 100644
index 000000000..3cbe41c42
Binary files /dev/null and b/imgs/icons/3185.png differ
diff --git a/imgs/icons/3186.png b/imgs/icons/3186.png
new file mode 100644
index 000000000..98e2b6396
Binary files /dev/null and b/imgs/icons/3186.png differ
diff --git a/imgs/icons/3187.png b/imgs/icons/3187.png
new file mode 100644
index 000000000..194e6e35d
Binary files /dev/null and b/imgs/icons/3187.png differ
diff --git a/imgs/icons/3188.png b/imgs/icons/3188.png
new file mode 100644
index 000000000..fe8f4cab3
Binary files /dev/null and b/imgs/icons/3188.png differ
diff --git a/imgs/icons/3189.png b/imgs/icons/3189.png
new file mode 100644
index 000000000..b505c9856
Binary files /dev/null and b/imgs/icons/3189.png differ
diff --git a/imgs/icons/3190.png b/imgs/icons/3190.png
new file mode 100644
index 000000000..293da75a1
Binary files /dev/null and b/imgs/icons/3190.png differ
diff --git a/imgs/icons/3191.png b/imgs/icons/3191.png
new file mode 100644
index 000000000..e6b3ca92b
Binary files /dev/null and b/imgs/icons/3191.png differ
diff --git a/imgs/icons/3192.png b/imgs/icons/3192.png
new file mode 100644
index 000000000..31deb6c06
Binary files /dev/null and b/imgs/icons/3192.png differ
diff --git a/imgs/icons/68_9.png b/imgs/icons/3193.png
similarity index 100%
rename from imgs/icons/68_9.png
rename to imgs/icons/3193.png
diff --git a/imgs/icons/68_10.png b/imgs/icons/3194.png
similarity index 100%
rename from imgs/icons/68_10.png
rename to imgs/icons/3194.png
diff --git a/imgs/icons/68_11.png b/imgs/icons/3195.png
similarity index 100%
rename from imgs/icons/68_11.png
rename to imgs/icons/3195.png
diff --git a/imgs/icons/68_12.png b/imgs/icons/3196.png
similarity index 100%
rename from imgs/icons/68_12.png
rename to imgs/icons/3196.png
diff --git a/imgs/icons/68_13.png b/imgs/icons/3197.png
similarity index 100%
rename from imgs/icons/68_13.png
rename to imgs/icons/3197.png
diff --git a/imgs/icons/68_14.png b/imgs/icons/3198.png
similarity index 100%
rename from imgs/icons/68_14.png
rename to imgs/icons/3198.png
diff --git a/imgs/icons/68_15.png b/imgs/icons/3199.png
similarity index 100%
rename from imgs/icons/68_15.png
rename to imgs/icons/3199.png
diff --git a/imgs/icons/68_16.png b/imgs/icons/3200.png
similarity index 100%
rename from imgs/icons/68_16.png
rename to imgs/icons/3200.png
diff --git a/imgs/icons/68_2.png b/imgs/icons/3201.png
similarity index 100%
rename from imgs/icons/68_2.png
rename to imgs/icons/3201.png
diff --git a/imgs/icons/68_3.png b/imgs/icons/3202.png
similarity index 100%
rename from imgs/icons/68_3.png
rename to imgs/icons/3202.png
diff --git a/imgs/icons/68_4.png b/imgs/icons/3203.png
similarity index 100%
rename from imgs/icons/68_4.png
rename to imgs/icons/3203.png
diff --git a/imgs/icons/62_1.png b/imgs/icons/3210.png
similarity index 100%
rename from imgs/icons/62_1.png
rename to imgs/icons/3210.png
diff --git a/imgs/icons/62_2.png b/imgs/icons/3211.png
similarity index 100%
rename from imgs/icons/62_2.png
rename to imgs/icons/3211.png
diff --git a/imgs/icons/62_3.png b/imgs/icons/3212.png
similarity index 100%
rename from imgs/icons/62_3.png
rename to imgs/icons/3212.png
diff --git a/imgs/icons/62_4.png b/imgs/icons/3213.png
similarity index 100%
rename from imgs/icons/62_4.png
rename to imgs/icons/3213.png
diff --git a/imgs/icons/62_5.png b/imgs/icons/3214.png
similarity index 100%
rename from imgs/icons/62_5.png
rename to imgs/icons/3214.png
diff --git a/imgs/icons/62_6.png b/imgs/icons/3215.png
similarity index 100%
rename from imgs/icons/62_6.png
rename to imgs/icons/3215.png
diff --git a/imgs/icons/62_7.png b/imgs/icons/3216.png
similarity index 100%
rename from imgs/icons/62_7.png
rename to imgs/icons/3216.png
diff --git a/imgs/icons/62_8.png b/imgs/icons/3217.png
similarity index 100%
rename from imgs/icons/62_8.png
rename to imgs/icons/3217.png
diff --git a/imgs/icons/62_9.png b/imgs/icons/3218.png
similarity index 100%
rename from imgs/icons/62_9.png
rename to imgs/icons/3218.png
diff --git a/imgs/icons/62_10.png b/imgs/icons/3219.png
similarity index 100%
rename from imgs/icons/62_10.png
rename to imgs/icons/3219.png
diff --git a/imgs/icons/62_11.png b/imgs/icons/3220.png
similarity index 100%
rename from imgs/icons/62_11.png
rename to imgs/icons/3220.png
diff --git a/imgs/icons/62_12.png b/imgs/icons/3221.png
similarity index 100%
rename from imgs/icons/62_12.png
rename to imgs/icons/3221.png
diff --git a/imgs/icons/62_13.png b/imgs/icons/3222.png
similarity index 100%
rename from imgs/icons/62_13.png
rename to imgs/icons/3222.png
diff --git a/imgs/icons/62_14.png b/imgs/icons/3223.png
similarity index 100%
rename from imgs/icons/62_14.png
rename to imgs/icons/3223.png
diff --git a/imgs/icons/62_15.png b/imgs/icons/3224.png
similarity index 100%
rename from imgs/icons/62_15.png
rename to imgs/icons/3224.png
diff --git a/imgs/icons/62_16.png b/imgs/icons/3225.png
similarity index 100%
rename from imgs/icons/62_16.png
rename to imgs/icons/3225.png
diff --git a/imgs/icons/63_13.png b/imgs/icons/3226.png
similarity index 100%
rename from imgs/icons/63_13.png
rename to imgs/icons/3226.png
diff --git a/imgs/icons/63_14.png b/imgs/icons/3227.png
similarity index 100%
rename from imgs/icons/63_14.png
rename to imgs/icons/3227.png
diff --git a/imgs/icons/63_15.png b/imgs/icons/3228.png
similarity index 100%
rename from imgs/icons/63_15.png
rename to imgs/icons/3228.png
diff --git a/imgs/icons/63_16.png b/imgs/icons/3229.png
similarity index 100%
rename from imgs/icons/63_16.png
rename to imgs/icons/3229.png
diff --git a/imgs/icons/3230.png b/imgs/icons/3230.png
new file mode 100644
index 000000000..a82fe277a
Binary files /dev/null and b/imgs/icons/3230.png differ
diff --git a/imgs/icons/3231.png b/imgs/icons/3231.png
new file mode 100644
index 000000000..137c3234f
Binary files /dev/null and b/imgs/icons/3231.png differ
diff --git a/imgs/icons/3232.png b/imgs/icons/3232.png
new file mode 100644
index 000000000..72a62624f
Binary files /dev/null and b/imgs/icons/3232.png differ
diff --git a/imgs/icons/3233.png b/imgs/icons/3233.png
new file mode 100644
index 000000000..67a7b64e2
Binary files /dev/null and b/imgs/icons/3233.png differ
diff --git a/imgs/icons/64_5.png b/imgs/icons/3234.png
similarity index 100%
rename from imgs/icons/64_5.png
rename to imgs/icons/3234.png
diff --git a/imgs/icons/64_6.png b/imgs/icons/3235.png
similarity index 100%
rename from imgs/icons/64_6.png
rename to imgs/icons/3235.png
diff --git a/imgs/icons/64_7.png b/imgs/icons/3236.png
similarity index 100%
rename from imgs/icons/64_7.png
rename to imgs/icons/3236.png
diff --git a/imgs/icons/64_8.png b/imgs/icons/3237.png
similarity index 100%
rename from imgs/icons/64_8.png
rename to imgs/icons/3237.png
diff --git a/imgs/icons/64_11.png b/imgs/icons/3240.png
similarity index 100%
rename from imgs/icons/64_11.png
rename to imgs/icons/3240.png
diff --git a/imgs/icons/64_12.png b/imgs/icons/3241.png
similarity index 100%
rename from imgs/icons/64_12.png
rename to imgs/icons/3241.png
diff --git a/imgs/icons/3246.png b/imgs/icons/3246.png
new file mode 100644
index 000000000..30ba7fe18
Binary files /dev/null and b/imgs/icons/3246.png differ
diff --git a/imgs/icons/3247.png b/imgs/icons/3247.png
new file mode 100644
index 000000000..ac262341b
Binary files /dev/null and b/imgs/icons/3247.png differ
diff --git a/imgs/icons/3248.png b/imgs/icons/3248.png
new file mode 100644
index 000000000..9e4e86f10
Binary files /dev/null and b/imgs/icons/3248.png differ
diff --git a/imgs/icons/3249.png b/imgs/icons/3249.png
new file mode 100644
index 000000000..ca404da38
Binary files /dev/null and b/imgs/icons/3249.png differ
diff --git a/imgs/icons/3250.png b/imgs/icons/3250.png
new file mode 100644
index 000000000..93a2210a5
Binary files /dev/null and b/imgs/icons/3250.png differ
diff --git a/imgs/icons/3251.png b/imgs/icons/3251.png
new file mode 100644
index 000000000..4f93098fc
Binary files /dev/null and b/imgs/icons/3251.png differ
diff --git a/imgs/icons/3252.png b/imgs/icons/3252.png
new file mode 100644
index 000000000..858e3804b
Binary files /dev/null and b/imgs/icons/3252.png differ
diff --git a/imgs/icons/3253.png b/imgs/icons/3253.png
new file mode 100644
index 000000000..e055c56a3
Binary files /dev/null and b/imgs/icons/3253.png differ
diff --git a/imgs/icons/3254.png b/imgs/icons/3254.png
new file mode 100644
index 000000000..2a6dd41b9
Binary files /dev/null and b/imgs/icons/3254.png differ
diff --git a/imgs/icons/3255.png b/imgs/icons/3255.png
new file mode 100644
index 000000000..6a0951721
Binary files /dev/null and b/imgs/icons/3255.png differ
diff --git a/imgs/icons/3256.png b/imgs/icons/3256.png
new file mode 100644
index 000000000..a8904b701
Binary files /dev/null and b/imgs/icons/3256.png differ
diff --git a/imgs/icons/3257.png b/imgs/icons/3257.png
new file mode 100644
index 000000000..1104c6ff2
Binary files /dev/null and b/imgs/icons/3257.png differ
diff --git a/imgs/icons/3258.png b/imgs/icons/3258.png
new file mode 100644
index 000000000..950de7298
Binary files /dev/null and b/imgs/icons/3258.png differ
diff --git a/imgs/icons/3259.png b/imgs/icons/3259.png
new file mode 100644
index 000000000..1169f2ba2
Binary files /dev/null and b/imgs/icons/3259.png differ
diff --git a/imgs/icons/3260.png b/imgs/icons/3260.png
new file mode 100644
index 000000000..4e40b0c5a
Binary files /dev/null and b/imgs/icons/3260.png differ
diff --git a/imgs/icons/3261.png b/imgs/icons/3261.png
new file mode 100644
index 000000000..3bce43692
Binary files /dev/null and b/imgs/icons/3261.png differ
diff --git a/imgs/icons/3262.png b/imgs/icons/3262.png
new file mode 100644
index 000000000..39bed64b4
Binary files /dev/null and b/imgs/icons/3262.png differ
diff --git a/imgs/icons/3263.png b/imgs/icons/3263.png
new file mode 100644
index 000000000..c5b622919
Binary files /dev/null and b/imgs/icons/3263.png differ
diff --git a/imgs/icons/3264.png b/imgs/icons/3264.png
new file mode 100644
index 000000000..65db16123
Binary files /dev/null and b/imgs/icons/3264.png differ
diff --git a/imgs/icons/3265.png b/imgs/icons/3265.png
new file mode 100644
index 000000000..275655fc6
Binary files /dev/null and b/imgs/icons/3265.png differ
diff --git a/imgs/icons/68_1.png b/imgs/icons/3266.png
similarity index 100%
rename from imgs/icons/68_1.png
rename to imgs/icons/3266.png
diff --git a/imgs/icons/70_5.png b/imgs/icons/3278.png
similarity index 100%
rename from imgs/icons/70_5.png
rename to imgs/icons/3278.png
diff --git a/imgs/icons/70_8.png b/imgs/icons/3279.png
similarity index 100%
rename from imgs/icons/70_8.png
rename to imgs/icons/3279.png
diff --git a/imgs/icons/70_6.png b/imgs/icons/3280.png
similarity index 100%
rename from imgs/icons/70_6.png
rename to imgs/icons/3280.png
diff --git a/imgs/icons/70_7.png b/imgs/icons/3281.png
similarity index 100%
rename from imgs/icons/70_7.png
rename to imgs/icons/3281.png
diff --git a/imgs/icons/70_3.png b/imgs/icons/3282.png
similarity index 100%
rename from imgs/icons/70_3.png
rename to imgs/icons/3282.png
diff --git a/imgs/icons/70_4.png b/imgs/icons/3283.png
similarity index 100%
rename from imgs/icons/70_4.png
rename to imgs/icons/3283.png
diff --git a/imgs/icons/50_11.png b/imgs/icons/33.png
similarity index 100%
rename from imgs/icons/50_11.png
rename to imgs/icons/33.png
diff --git a/imgs/icons/70_10.png b/imgs/icons/3300.png
similarity index 100%
rename from imgs/icons/70_10.png
rename to imgs/icons/3300.png
diff --git a/imgs/icons/70_12.png b/imgs/icons/3302.png
similarity index 100%
rename from imgs/icons/70_12.png
rename to imgs/icons/3302.png
diff --git a/imgs/icons/70_13.png b/imgs/icons/3303.png
similarity index 100%
rename from imgs/icons/70_13.png
rename to imgs/icons/3303.png
diff --git a/imgs/icons/70_14.png b/imgs/icons/3304.png
similarity index 100%
rename from imgs/icons/70_14.png
rename to imgs/icons/3304.png
diff --git a/imgs/icons/70_15.png b/imgs/icons/3305.png
similarity index 100%
rename from imgs/icons/70_15.png
rename to imgs/icons/3305.png
diff --git a/imgs/icons/70_16.png b/imgs/icons/3306.png
similarity index 100%
rename from imgs/icons/70_16.png
rename to imgs/icons/3306.png
diff --git a/imgs/icons/3307.png b/imgs/icons/3307.png
new file mode 100644
index 000000000..273d5ff82
Binary files /dev/null and b/imgs/icons/3307.png differ
diff --git a/imgs/icons/3308.png b/imgs/icons/3308.png
new file mode 100644
index 000000000..b0234ca68
Binary files /dev/null and b/imgs/icons/3308.png differ
diff --git a/imgs/icons/3309.png b/imgs/icons/3309.png
new file mode 100644
index 000000000..9555ecc5d
Binary files /dev/null and b/imgs/icons/3309.png differ
diff --git a/imgs/icons/3310.png b/imgs/icons/3310.png
new file mode 100644
index 000000000..1a03688b5
Binary files /dev/null and b/imgs/icons/3310.png differ
diff --git a/imgs/icons/3311.png b/imgs/icons/3311.png
new file mode 100644
index 000000000..ed828f13d
Binary files /dev/null and b/imgs/icons/3311.png differ
diff --git a/imgs/icons/3312.png b/imgs/icons/3312.png
new file mode 100644
index 000000000..a8dc323c1
Binary files /dev/null and b/imgs/icons/3312.png differ
diff --git a/imgs/icons/3313.png b/imgs/icons/3313.png
new file mode 100644
index 000000000..5a7d469c8
Binary files /dev/null and b/imgs/icons/3313.png differ
diff --git a/imgs/icons/3314.png b/imgs/icons/3314.png
new file mode 100644
index 000000000..5f61b1117
Binary files /dev/null and b/imgs/icons/3314.png differ
diff --git a/imgs/icons/3315.png b/imgs/icons/3315.png
new file mode 100644
index 000000000..d3d12a680
Binary files /dev/null and b/imgs/icons/3315.png differ
diff --git a/imgs/icons/3316.png b/imgs/icons/3316.png
new file mode 100644
index 000000000..5d9f53b2b
Binary files /dev/null and b/imgs/icons/3316.png differ
diff --git a/imgs/icons/3317.png b/imgs/icons/3317.png
new file mode 100644
index 000000000..3cdd5605b
Binary files /dev/null and b/imgs/icons/3317.png differ
diff --git a/imgs/icons/3318.png b/imgs/icons/3318.png
new file mode 100644
index 000000000..e7b86f56d
Binary files /dev/null and b/imgs/icons/3318.png differ
diff --git a/imgs/icons/3319.png b/imgs/icons/3319.png
new file mode 100644
index 000000000..cdbbe9f1e
Binary files /dev/null and b/imgs/icons/3319.png differ
diff --git a/imgs/icons/3320.png b/imgs/icons/3320.png
new file mode 100644
index 000000000..cd7ee5faf
Binary files /dev/null and b/imgs/icons/3320.png differ
diff --git a/imgs/icons/3321.png b/imgs/icons/3321.png
new file mode 100644
index 000000000..2f67c1deb
Binary files /dev/null and b/imgs/icons/3321.png differ
diff --git a/imgs/icons/3322.png b/imgs/icons/3322.png
new file mode 100644
index 000000000..b3d2d9f26
Binary files /dev/null and b/imgs/icons/3322.png differ
diff --git a/imgs/icons/3323.png b/imgs/icons/3323.png
new file mode 100644
index 000000000..3365cae85
Binary files /dev/null and b/imgs/icons/3323.png differ
diff --git a/imgs/icons/3324.png b/imgs/icons/3324.png
new file mode 100644
index 000000000..cf60ca050
Binary files /dev/null and b/imgs/icons/3324.png differ
diff --git a/imgs/icons/3325.png b/imgs/icons/3325.png
new file mode 100644
index 000000000..d9b5b8643
Binary files /dev/null and b/imgs/icons/3325.png differ
diff --git a/imgs/icons/3326.png b/imgs/icons/3326.png
new file mode 100644
index 000000000..7377c3ad6
Binary files /dev/null and b/imgs/icons/3326.png differ
diff --git a/imgs/icons/3327.png b/imgs/icons/3327.png
new file mode 100644
index 000000000..1baa569fd
Binary files /dev/null and b/imgs/icons/3327.png differ
diff --git a/imgs/icons/3328.png b/imgs/icons/3328.png
new file mode 100644
index 000000000..6d0a2b0a2
Binary files /dev/null and b/imgs/icons/3328.png differ
diff --git a/imgs/icons/3329.png b/imgs/icons/3329.png
new file mode 100644
index 000000000..a2d242d1b
Binary files /dev/null and b/imgs/icons/3329.png differ
diff --git a/imgs/icons/3330.png b/imgs/icons/3330.png
new file mode 100644
index 000000000..4b87d803c
Binary files /dev/null and b/imgs/icons/3330.png differ
diff --git a/imgs/icons/3333.png b/imgs/icons/3333.png
new file mode 100644
index 000000000..53992b878
Binary files /dev/null and b/imgs/icons/3333.png differ
diff --git a/imgs/icons/3334.png b/imgs/icons/3334.png
new file mode 100644
index 000000000..af009578f
Binary files /dev/null and b/imgs/icons/3334.png differ
diff --git a/imgs/icons/3335.png b/imgs/icons/3335.png
new file mode 100644
index 000000000..5a6fbaa8b
Binary files /dev/null and b/imgs/icons/3335.png differ
diff --git a/imgs/icons/3336.png b/imgs/icons/3336.png
new file mode 100644
index 000000000..034daa298
Binary files /dev/null and b/imgs/icons/3336.png differ
diff --git a/imgs/icons/3337.png b/imgs/icons/3337.png
new file mode 100644
index 000000000..90aa55da6
Binary files /dev/null and b/imgs/icons/3337.png differ
diff --git a/imgs/icons/3338.png b/imgs/icons/3338.png
new file mode 100644
index 000000000..6ff574a94
Binary files /dev/null and b/imgs/icons/3338.png differ
diff --git a/imgs/icons/74_1.png b/imgs/icons/3339.png
similarity index 100%
rename from imgs/icons/74_1.png
rename to imgs/icons/3339.png
diff --git a/imgs/icons/74_2.png b/imgs/icons/3340.png
similarity index 100%
rename from imgs/icons/74_2.png
rename to imgs/icons/3340.png
diff --git a/imgs/icons/74_3.png b/imgs/icons/3341.png
similarity index 100%
rename from imgs/icons/74_3.png
rename to imgs/icons/3341.png
diff --git a/imgs/icons/74_4.png b/imgs/icons/3342.png
similarity index 100%
rename from imgs/icons/74_4.png
rename to imgs/icons/3342.png
diff --git a/imgs/icons/74_5.png b/imgs/icons/3343.png
similarity index 100%
rename from imgs/icons/74_5.png
rename to imgs/icons/3343.png
diff --git a/imgs/icons/74_6.png b/imgs/icons/3344.png
similarity index 100%
rename from imgs/icons/74_6.png
rename to imgs/icons/3344.png
diff --git a/imgs/icons/74_7.png b/imgs/icons/3345.png
similarity index 100%
rename from imgs/icons/74_7.png
rename to imgs/icons/3345.png
diff --git a/imgs/icons/74_8.png b/imgs/icons/3346.png
similarity index 100%
rename from imgs/icons/74_8.png
rename to imgs/icons/3346.png
diff --git a/imgs/icons/74_9.png b/imgs/icons/3347.png
similarity index 100%
rename from imgs/icons/74_9.png
rename to imgs/icons/3347.png
diff --git a/imgs/icons/74_10.png b/imgs/icons/3348.png
similarity index 100%
rename from imgs/icons/74_10.png
rename to imgs/icons/3348.png
diff --git a/imgs/icons/8_16.png b/imgs/icons/34.png
similarity index 100%
rename from imgs/icons/8_16.png
rename to imgs/icons/34.png
diff --git a/imgs/icons/76_1.png b/imgs/icons/3433.png
similarity index 100%
rename from imgs/icons/76_1.png
rename to imgs/icons/3433.png
diff --git a/imgs/icons/3435.png b/imgs/icons/3435.png
new file mode 100644
index 000000000..f8f48c881
Binary files /dev/null and b/imgs/icons/3435.png differ
diff --git a/imgs/icons/3436.png b/imgs/icons/3436.png
new file mode 100644
index 000000000..70d72fa58
Binary files /dev/null and b/imgs/icons/3436.png differ
diff --git a/imgs/icons/3437.png b/imgs/icons/3437.png
new file mode 100644
index 000000000..e5899a458
Binary files /dev/null and b/imgs/icons/3437.png differ
diff --git a/imgs/icons/3438.png b/imgs/icons/3438.png
new file mode 100644
index 000000000..aabd42c96
Binary files /dev/null and b/imgs/icons/3438.png differ
diff --git a/imgs/icons/3439.png b/imgs/icons/3439.png
new file mode 100644
index 000000000..6ff4e6e84
Binary files /dev/null and b/imgs/icons/3439.png differ
diff --git a/imgs/icons/3440.png b/imgs/icons/3440.png
new file mode 100644
index 000000000..0644ae27c
Binary files /dev/null and b/imgs/icons/3440.png differ
diff --git a/imgs/icons/3441.png b/imgs/icons/3441.png
new file mode 100644
index 000000000..73e89cb01
Binary files /dev/null and b/imgs/icons/3441.png differ
diff --git a/imgs/icons/3442.png b/imgs/icons/3442.png
new file mode 100644
index 000000000..d90b179e7
Binary files /dev/null and b/imgs/icons/3442.png differ
diff --git a/imgs/icons/3443.png b/imgs/icons/3443.png
new file mode 100644
index 000000000..8ad8a1664
Binary files /dev/null and b/imgs/icons/3443.png differ
diff --git a/imgs/icons/3444.png b/imgs/icons/3444.png
new file mode 100644
index 000000000..00cf4bca1
Binary files /dev/null and b/imgs/icons/3444.png differ
diff --git a/imgs/icons/3445.png b/imgs/icons/3445.png
new file mode 100644
index 000000000..c820a3cbc
Binary files /dev/null and b/imgs/icons/3445.png differ
diff --git a/imgs/icons/3446.png b/imgs/icons/3446.png
new file mode 100644
index 000000000..d4ed6820a
Binary files /dev/null and b/imgs/icons/3446.png differ
diff --git a/imgs/icons/3447.png b/imgs/icons/3447.png
new file mode 100644
index 000000000..110984ac2
Binary files /dev/null and b/imgs/icons/3447.png differ
diff --git a/imgs/icons/3448.png b/imgs/icons/3448.png
new file mode 100644
index 000000000..823292c7b
Binary files /dev/null and b/imgs/icons/3448.png differ
diff --git a/imgs/icons/3449.png b/imgs/icons/3449.png
new file mode 100644
index 000000000..4a2665fd3
Binary files /dev/null and b/imgs/icons/3449.png differ
diff --git a/imgs/icons/3450.png b/imgs/icons/3450.png
new file mode 100644
index 000000000..d4a8a46b1
Binary files /dev/null and b/imgs/icons/3450.png differ
diff --git a/imgs/icons/13_5.png b/imgs/icons/349.png
similarity index 100%
rename from imgs/icons/13_5.png
rename to imgs/icons/349.png
diff --git a/imgs/icons/13_13.png b/imgs/icons/350.png
similarity index 100%
rename from imgs/icons/13_13.png
rename to imgs/icons/350.png
diff --git a/imgs/icons/13_9.png b/imgs/icons/352.png
similarity index 100%
rename from imgs/icons/13_9.png
rename to imgs/icons/352.png
diff --git a/imgs/icons/13_10.png b/imgs/icons/355.png
similarity index 100%
rename from imgs/icons/13_10.png
rename to imgs/icons/355.png
diff --git a/imgs/icons/13_14.png b/imgs/icons/356.png
similarity index 100%
rename from imgs/icons/13_14.png
rename to imgs/icons/356.png
diff --git a/imgs/icons/13_15.png b/imgs/icons/360.png
similarity index 100%
rename from imgs/icons/13_15.png
rename to imgs/icons/360.png
diff --git a/imgs/icons/13_11.png b/imgs/icons/361.png
similarity index 100%
rename from imgs/icons/13_11.png
rename to imgs/icons/361.png
diff --git a/imgs/icons/76_6.png b/imgs/icons/3631.png
similarity index 100%
rename from imgs/icons/76_6.png
rename to imgs/icons/3631.png
diff --git a/imgs/icons/76_7.png b/imgs/icons/3636.png
similarity index 100%
rename from imgs/icons/76_7.png
rename to imgs/icons/3636.png
diff --git a/imgs/icons/76_5.png b/imgs/icons/3641.png
similarity index 100%
rename from imgs/icons/76_5.png
rename to imgs/icons/3641.png
diff --git a/imgs/icons/76_8.png b/imgs/icons/3646.png
similarity index 100%
rename from imgs/icons/76_8.png
rename to imgs/icons/3646.png
diff --git a/imgs/icons/13_3.png b/imgs/icons/365.png
similarity index 100%
rename from imgs/icons/13_3.png
rename to imgs/icons/365.png
diff --git a/imgs/icons/13_7.png b/imgs/icons/366.png
similarity index 100%
rename from imgs/icons/13_7.png
rename to imgs/icons/366.png
diff --git a/imgs/icons/13_6.png b/imgs/icons/370.png
similarity index 100%
rename from imgs/icons/13_6.png
rename to imgs/icons/370.png
diff --git a/imgs/icons/13_2.png b/imgs/icons/371.png
similarity index 100%
rename from imgs/icons/13_2.png
rename to imgs/icons/371.png
diff --git a/imgs/icons/3716.png b/imgs/icons/3716.png
new file mode 100644
index 000000000..fa58aa849
Binary files /dev/null and b/imgs/icons/3716.png differ
diff --git a/imgs/icons/3717.png b/imgs/icons/3717.png
new file mode 100644
index 000000000..bb180c9e6
Binary files /dev/null and b/imgs/icons/3717.png differ
diff --git a/imgs/icons/3718.png b/imgs/icons/3718.png
new file mode 100644
index 000000000..2d6ff813a
Binary files /dev/null and b/imgs/icons/3718.png differ
diff --git a/imgs/icons/3719.png b/imgs/icons/3719.png
new file mode 100644
index 000000000..0bb2390bd
Binary files /dev/null and b/imgs/icons/3719.png differ
diff --git a/imgs/icons/3720.png b/imgs/icons/3720.png
new file mode 100644
index 000000000..f1505c304
Binary files /dev/null and b/imgs/icons/3720.png differ
diff --git a/imgs/icons/3721.png b/imgs/icons/3721.png
new file mode 100644
index 000000000..395bf1bee
Binary files /dev/null and b/imgs/icons/3721.png differ
diff --git a/imgs/icons/3722.png b/imgs/icons/3722.png
new file mode 100644
index 000000000..b0a2d1973
Binary files /dev/null and b/imgs/icons/3722.png differ
diff --git a/imgs/icons/3723.png b/imgs/icons/3723.png
new file mode 100644
index 000000000..d3482d5cf
Binary files /dev/null and b/imgs/icons/3723.png differ
diff --git a/imgs/icons/3724.png b/imgs/icons/3724.png
new file mode 100644
index 000000000..efad7d902
Binary files /dev/null and b/imgs/icons/3724.png differ
diff --git a/imgs/icons/3725.png b/imgs/icons/3725.png
new file mode 100644
index 000000000..395d9593a
Binary files /dev/null and b/imgs/icons/3725.png differ
diff --git a/imgs/icons/3726.png b/imgs/icons/3726.png
new file mode 100644
index 000000000..65721890b
Binary files /dev/null and b/imgs/icons/3726.png differ
diff --git a/imgs/icons/3727.png b/imgs/icons/3727.png
new file mode 100644
index 000000000..ae19b7c51
Binary files /dev/null and b/imgs/icons/3727.png differ
diff --git a/imgs/icons/3729.png b/imgs/icons/3729.png
new file mode 100644
index 000000000..604ae1ee8
Binary files /dev/null and b/imgs/icons/3729.png differ
diff --git a/imgs/icons/3730.png b/imgs/icons/3730.png
new file mode 100644
index 000000000..c438c759f
Binary files /dev/null and b/imgs/icons/3730.png differ
diff --git a/imgs/icons/3733.png b/imgs/icons/3733.png
new file mode 100644
index 000000000..4e357b2c7
Binary files /dev/null and b/imgs/icons/3733.png differ
diff --git a/imgs/icons/3734.png b/imgs/icons/3734.png
new file mode 100644
index 000000000..9d352bfcd
Binary files /dev/null and b/imgs/icons/3734.png differ
diff --git a/imgs/icons/3736.png b/imgs/icons/3736.png
new file mode 100644
index 000000000..2c7c2af44
Binary files /dev/null and b/imgs/icons/3736.png differ
diff --git a/imgs/icons/3737.png b/imgs/icons/3737.png
new file mode 100644
index 000000000..f1c057122
Binary files /dev/null and b/imgs/icons/3737.png differ
diff --git a/imgs/icons/3738.png b/imgs/icons/3738.png
new file mode 100644
index 000000000..1cf8f3800
Binary files /dev/null and b/imgs/icons/3738.png differ
diff --git a/imgs/icons/3739.png b/imgs/icons/3739.png
new file mode 100644
index 000000000..3b149b5be
Binary files /dev/null and b/imgs/icons/3739.png differ
diff --git a/imgs/icons/3740.png b/imgs/icons/3740.png
new file mode 100644
index 000000000..54e7d8aa2
Binary files /dev/null and b/imgs/icons/3740.png differ
diff --git a/imgs/icons/3741.png b/imgs/icons/3741.png
new file mode 100644
index 000000000..f312e0458
Binary files /dev/null and b/imgs/icons/3741.png differ
diff --git a/imgs/icons/3744.png b/imgs/icons/3744.png
new file mode 100644
index 000000000..1c78ac12a
Binary files /dev/null and b/imgs/icons/3744.png differ
diff --git a/imgs/icons/3745.png b/imgs/icons/3745.png
new file mode 100644
index 000000000..642a53986
Binary files /dev/null and b/imgs/icons/3745.png differ
diff --git a/imgs/icons/3746.png b/imgs/icons/3746.png
new file mode 100644
index 000000000..681b713bc
Binary files /dev/null and b/imgs/icons/3746.png differ
diff --git a/imgs/icons/3750.png b/imgs/icons/3750.png
new file mode 100644
index 000000000..8009cf6fc
Binary files /dev/null and b/imgs/icons/3750.png differ
diff --git a/imgs/icons/3751.png b/imgs/icons/3751.png
new file mode 100644
index 000000000..6580f0077
Binary files /dev/null and b/imgs/icons/3751.png differ
diff --git a/imgs/icons/3753.png b/imgs/icons/3753.png
new file mode 100644
index 000000000..09ba47e81
Binary files /dev/null and b/imgs/icons/3753.png differ
diff --git a/imgs/icons/3754.png b/imgs/icons/3754.png
new file mode 100644
index 000000000..59f37595c
Binary files /dev/null and b/imgs/icons/3754.png differ
diff --git a/imgs/icons/3755.png b/imgs/icons/3755.png
new file mode 100644
index 000000000..b880d2258
Binary files /dev/null and b/imgs/icons/3755.png differ
diff --git a/imgs/icons/76_4.png b/imgs/icons/3756.png
similarity index 100%
rename from imgs/icons/76_4.png
rename to imgs/icons/3756.png
diff --git a/imgs/icons/76_16.png b/imgs/icons/3759.png
similarity index 100%
rename from imgs/icons/76_16.png
rename to imgs/icons/3759.png
diff --git a/imgs/icons/13_1.png b/imgs/icons/376.png
similarity index 100%
rename from imgs/icons/13_1.png
rename to imgs/icons/376.png
diff --git a/imgs/icons/89_1.png b/imgs/icons/3762.png
similarity index 100%
rename from imgs/icons/89_1.png
rename to imgs/icons/3762.png
diff --git a/imgs/icons/89_2.png b/imgs/icons/3763.png
similarity index 100%
rename from imgs/icons/89_2.png
rename to imgs/icons/3763.png
diff --git a/imgs/icons/89_3.png b/imgs/icons/3764.png
similarity index 100%
rename from imgs/icons/89_3.png
rename to imgs/icons/3764.png
diff --git a/imgs/icons/89_4.png b/imgs/icons/3765.png
similarity index 100%
rename from imgs/icons/89_4.png
rename to imgs/icons/3765.png
diff --git a/imgs/icons/3766.png b/imgs/icons/3766.png
new file mode 100644
index 000000000..d1d1d98c4
Binary files /dev/null and b/imgs/icons/3766.png differ
diff --git a/imgs/icons/12_15.png b/imgs/icons/379.png
similarity index 100%
rename from imgs/icons/12_15.png
rename to imgs/icons/379.png
diff --git a/imgs/icons/12_11.png b/imgs/icons/381.png
similarity index 100%
rename from imgs/icons/12_11.png
rename to imgs/icons/381.png
diff --git a/imgs/icons/12_14.png b/imgs/icons/384.png
similarity index 100%
rename from imgs/icons/12_14.png
rename to imgs/icons/384.png
diff --git a/imgs/icons/12_10.png b/imgs/icons/386.png
similarity index 100%
rename from imgs/icons/12_10.png
rename to imgs/icons/386.png
diff --git a/imgs/icons/12_9.png b/imgs/icons/387.png
similarity index 100%
rename from imgs/icons/12_9.png
rename to imgs/icons/387.png
diff --git a/imgs/icons/12_13.png b/imgs/icons/389.png
similarity index 100%
rename from imgs/icons/12_13.png
rename to imgs/icons/389.png
diff --git a/imgs/icons/3943.png b/imgs/icons/3943.png
new file mode 100644
index 000000000..ec15ce642
Binary files /dev/null and b/imgs/icons/3943.png differ
diff --git a/imgs/icons/3945.png b/imgs/icons/3945.png
new file mode 100644
index 000000000..1501c7da5
Binary files /dev/null and b/imgs/icons/3945.png differ
diff --git a/imgs/icons/3946.png b/imgs/icons/3946.png
new file mode 100644
index 000000000..4a31b572d
Binary files /dev/null and b/imgs/icons/3946.png differ
diff --git a/imgs/icons/3947.png b/imgs/icons/3947.png
new file mode 100644
index 000000000..54575acd4
Binary files /dev/null and b/imgs/icons/3947.png differ
diff --git a/imgs/icons/3948.png b/imgs/icons/3948.png
new file mode 100644
index 000000000..b1665f39b
Binary files /dev/null and b/imgs/icons/3948.png differ
diff --git a/imgs/icons/3950.png b/imgs/icons/3950.png
new file mode 100644
index 000000000..ff7822814
Binary files /dev/null and b/imgs/icons/3950.png differ
diff --git a/imgs/icons/3951.png b/imgs/icons/3951.png
new file mode 100644
index 000000000..97dc394d1
Binary files /dev/null and b/imgs/icons/3951.png differ
diff --git a/imgs/icons/3952.png b/imgs/icons/3952.png
new file mode 100644
index 000000000..747597fb9
Binary files /dev/null and b/imgs/icons/3952.png differ
diff --git a/imgs/icons/3953.png b/imgs/icons/3953.png
new file mode 100644
index 000000000..c11b03066
Binary files /dev/null and b/imgs/icons/3953.png differ
diff --git a/imgs/icons/95_5.png b/imgs/icons/3955.png
similarity index 100%
rename from imgs/icons/95_5.png
rename to imgs/icons/3955.png
diff --git a/imgs/icons/11_5.png b/imgs/icons/398.png
similarity index 100%
rename from imgs/icons/11_5.png
rename to imgs/icons/398.png
diff --git a/imgs/icons/400.png b/imgs/icons/400.png
new file mode 100644
index 000000000..518e3dc75
Binary files /dev/null and b/imgs/icons/400.png differ
diff --git a/imgs/icons/401.png b/imgs/icons/401.png
new file mode 100644
index 000000000..b63fab8d1
Binary files /dev/null and b/imgs/icons/401.png differ
diff --git a/imgs/icons/402.png b/imgs/icons/402.png
new file mode 100644
index 000000000..e5e4a54b1
Binary files /dev/null and b/imgs/icons/402.png differ
diff --git a/imgs/icons/404.png b/imgs/icons/404.png
new file mode 100644
index 000000000..b39071f4c
Binary files /dev/null and b/imgs/icons/404.png differ
diff --git a/imgs/icons/405.png b/imgs/icons/405.png
new file mode 100644
index 000000000..e4b58d21d
Binary files /dev/null and b/imgs/icons/405.png differ
diff --git a/imgs/icons/8_12.png b/imgs/icons/413.png
similarity index 100%
rename from imgs/icons/8_12.png
rename to imgs/icons/413.png
diff --git a/imgs/icons/4_16.png b/imgs/icons/4_16.png
deleted file mode 100644
index 811602e78..000000000
Binary files a/imgs/icons/4_16.png and /dev/null differ
diff --git a/imgs/icons/2_9.png b/imgs/icons/67.png
similarity index 100%
rename from imgs/icons/2_9.png
rename to imgs/icons/67.png
diff --git a/imgs/icons/1_9.png b/imgs/icons/68.png
similarity index 100%
rename from imgs/icons/1_9.png
rename to imgs/icons/68.png
diff --git a/imgs/icons/1_13.png b/imgs/icons/69.png
similarity index 100%
rename from imgs/icons/1_13.png
rename to imgs/icons/69.png
diff --git a/imgs/icons/70.png b/imgs/icons/70.png
new file mode 100644
index 000000000..cf8d2316f
Binary files /dev/null and b/imgs/icons/70.png differ
diff --git a/imgs/icons/3_13.png b/imgs/icons/71.png
similarity index 100%
rename from imgs/icons/3_13.png
rename to imgs/icons/71.png
diff --git a/imgs/icons/3_1.png b/imgs/icons/72.png
similarity index 100%
rename from imgs/icons/3_1.png
rename to imgs/icons/72.png
diff --git a/imgs/icons/2_14.png b/imgs/icons/73.png
similarity index 100%
rename from imgs/icons/2_14.png
rename to imgs/icons/73.png
diff --git a/imgs/icons/3_9.png b/imgs/icons/74.png
similarity index 100%
rename from imgs/icons/3_9.png
rename to imgs/icons/74.png
diff --git a/imgs/icons/2_10.png b/imgs/icons/76.png
similarity index 100%
rename from imgs/icons/2_10.png
rename to imgs/icons/76.png
diff --git a/imgs/icons/76_9.png b/imgs/icons/76_9.png
deleted file mode 100644
index 2233095e1..000000000
Binary files a/imgs/icons/76_9.png and /dev/null differ
diff --git a/imgs/icons/2_11.png b/imgs/icons/77.png
similarity index 100%
rename from imgs/icons/2_11.png
rename to imgs/icons/77.png
diff --git a/imgs/icons/1_10.png b/imgs/icons/79.png
similarity index 100%
rename from imgs/icons/1_10.png
rename to imgs/icons/79.png
diff --git a/imgs/icons/1_11.png b/imgs/icons/80.png
similarity index 100%
rename from imgs/icons/1_11.png
rename to imgs/icons/80.png
diff --git a/imgs/icons/2_2.png b/imgs/icons/81.png
similarity index 100%
rename from imgs/icons/2_2.png
rename to imgs/icons/81.png
diff --git a/imgs/icons/2_4.png b/imgs/icons/82.png
similarity index 100%
rename from imgs/icons/2_4.png
rename to imgs/icons/82.png
diff --git a/imgs/icons/1_15.png b/imgs/icons/83.png
similarity index 100%
rename from imgs/icons/1_15.png
rename to imgs/icons/83.png
diff --git a/imgs/icons/2_3.png b/imgs/icons/84.png
similarity index 100%
rename from imgs/icons/2_3.png
rename to imgs/icons/84.png
diff --git a/imgs/icons/1_16.png b/imgs/icons/86.png
similarity index 100%
rename from imgs/icons/1_16.png
rename to imgs/icons/86.png
diff --git a/imgs/icons/1_4.png b/imgs/icons/89.png
similarity index 100%
rename from imgs/icons/1_4.png
rename to imgs/icons/89.png
diff --git a/imgs/icons/1_1.png b/imgs/icons/90.png
similarity index 100%
rename from imgs/icons/1_1.png
rename to imgs/icons/90.png
diff --git a/imgs/icons/4_13.png b/imgs/icons/92.png
similarity index 100%
rename from imgs/icons/4_13.png
rename to imgs/icons/92.png
diff --git a/imgs/icons/94.png b/imgs/icons/94.png
new file mode 100644
index 000000000..05893d76d
Binary files /dev/null and b/imgs/icons/94.png differ
diff --git a/imgs/icons/3_2.png b/imgs/icons/96.png
similarity index 100%
rename from imgs/icons/3_2.png
rename to imgs/icons/96.png
diff --git a/imgs/icons/3_8.png b/imgs/icons/97.png
similarity index 100%
rename from imgs/icons/3_8.png
rename to imgs/icons/97.png
diff --git a/imgs/icons/3_5.png b/imgs/icons/98.png
similarity index 100%
rename from imgs/icons/3_5.png
rename to imgs/icons/98.png
diff --git a/imgs/renders/10006.png b/imgs/renders/10006.png
new file mode 100644
index 000000000..1cd52cf34
Binary files /dev/null and b/imgs/renders/10006.png differ
diff --git a/imgs/renders/10013.png b/imgs/renders/10013.png
new file mode 100644
index 000000000..4dc9ee83d
Binary files /dev/null and b/imgs/renders/10013.png differ
diff --git a/imgs/renders/10038.png b/imgs/renders/10038.png
new file mode 100644
index 000000000..5220d5d2a
Binary files /dev/null and b/imgs/renders/10038.png differ
diff --git a/imgs/renders/10040.png b/imgs/renders/10040.png
new file mode 100644
index 000000000..34d55fe8a
Binary files /dev/null and b/imgs/renders/10040.png differ
diff --git a/imgs/renders/1053.png b/imgs/renders/1053.png
new file mode 100644
index 000000000..25e622fc0
Binary files /dev/null and b/imgs/renders/1053.png differ
diff --git a/imgs/renders/1064.png b/imgs/renders/1064.png
new file mode 100644
index 000000000..9239a3ac7
Binary files /dev/null and b/imgs/renders/1064.png differ
diff --git a/imgs/renders/1065.png b/imgs/renders/1065.png
new file mode 100644
index 000000000..fca1b7e30
Binary files /dev/null and b/imgs/renders/1065.png differ
diff --git a/imgs/renders/1066.png b/imgs/renders/1066.png
new file mode 100644
index 000000000..31c68f8fe
Binary files /dev/null and b/imgs/renders/1066.png differ
diff --git a/imgs/renders/1067.png b/imgs/renders/1067.png
new file mode 100644
index 000000000..23ea76dbd
Binary files /dev/null and b/imgs/renders/1067.png differ
diff --git a/imgs/renders/10782.png b/imgs/renders/10782.png
new file mode 100644
index 000000000..ec369b328
Binary files /dev/null and b/imgs/renders/10782.png differ
diff --git a/imgs/renders/10950.png b/imgs/renders/10950.png
new file mode 100644
index 000000000..7b3cc06b0
Binary files /dev/null and b/imgs/renders/10950.png differ
diff --git a/imgs/renders/10951.png b/imgs/renders/10951.png
new file mode 100644
index 000000000..6d0291b65
Binary files /dev/null and b/imgs/renders/10951.png differ
diff --git a/imgs/renders/11011.png b/imgs/renders/11011.png
deleted file mode 100644
index 43f603822..000000000
Binary files a/imgs/renders/11011.png and /dev/null differ
diff --git a/imgs/renders/11129.png b/imgs/renders/11129.png
deleted file mode 100644
index e61896246..000000000
Binary files a/imgs/renders/11129.png and /dev/null differ
diff --git a/imgs/renders/11132.png b/imgs/renders/11132.png
deleted file mode 100644
index ddf54b1ee..000000000
Binary files a/imgs/renders/11132.png and /dev/null differ
diff --git a/imgs/renders/11134.png b/imgs/renders/11134.png
deleted file mode 100644
index bb8f8b418..000000000
Binary files a/imgs/renders/11134.png and /dev/null differ
diff --git a/imgs/renders/11172.png b/imgs/renders/11172.png
deleted file mode 100644
index 5e5c2e88d..000000000
Binary files a/imgs/renders/11172.png and /dev/null differ
diff --git a/imgs/renders/11174.png b/imgs/renders/11174.png
deleted file mode 100644
index d0ecdc900..000000000
Binary files a/imgs/renders/11174.png and /dev/null differ
diff --git a/imgs/renders/11176.png b/imgs/renders/11176.png
deleted file mode 100644
index ef3e002e6..000000000
Binary files a/imgs/renders/11176.png and /dev/null differ
diff --git a/imgs/renders/11178.png b/imgs/renders/11178.png
deleted file mode 100644
index 03bff6e3c..000000000
Binary files a/imgs/renders/11178.png and /dev/null differ
diff --git a/imgs/renders/11182.png b/imgs/renders/11182.png
deleted file mode 100644
index 38685248e..000000000
Binary files a/imgs/renders/11182.png and /dev/null differ
diff --git a/imgs/renders/11184.png b/imgs/renders/11184.png
deleted file mode 100644
index 6bed254be..000000000
Binary files a/imgs/renders/11184.png and /dev/null differ
diff --git a/imgs/renders/11186.png b/imgs/renders/11186.png
deleted file mode 100644
index e8f75b15b..000000000
Binary files a/imgs/renders/11186.png and /dev/null differ
diff --git a/imgs/renders/11188.png b/imgs/renders/11188.png
deleted file mode 100644
index 92a56d3e0..000000000
Binary files a/imgs/renders/11188.png and /dev/null differ
diff --git a/imgs/renders/11190.png b/imgs/renders/11190.png
deleted file mode 100644
index cdaf79494..000000000
Binary files a/imgs/renders/11190.png and /dev/null differ
diff --git a/imgs/renders/11192.png b/imgs/renders/11192.png
deleted file mode 100644
index 76174e5cc..000000000
Binary files a/imgs/renders/11192.png and /dev/null differ
diff --git a/imgs/renders/11194.png b/imgs/renders/11194.png
deleted file mode 100644
index ee31b2b47..000000000
Binary files a/imgs/renders/11194.png and /dev/null differ
diff --git a/imgs/renders/11196.png b/imgs/renders/11196.png
deleted file mode 100644
index 669de8269..000000000
Binary files a/imgs/renders/11196.png and /dev/null differ
diff --git a/imgs/renders/11198.png b/imgs/renders/11198.png
deleted file mode 100644
index 731935b84..000000000
Binary files a/imgs/renders/11198.png and /dev/null differ
diff --git a/imgs/renders/11200.png b/imgs/renders/11200.png
deleted file mode 100644
index 757a2107f..000000000
Binary files a/imgs/renders/11200.png and /dev/null differ
diff --git a/imgs/renders/11202.png b/imgs/renders/11202.png
deleted file mode 100644
index 9f4f879ed..000000000
Binary files a/imgs/renders/11202.png and /dev/null differ
diff --git a/imgs/renders/11365.png b/imgs/renders/11365.png
deleted file mode 100644
index 680d5a513..000000000
Binary files a/imgs/renders/11365.png and /dev/null differ
diff --git a/imgs/renders/11371.png b/imgs/renders/11371.png
deleted file mode 100644
index 432961bcd..000000000
Binary files a/imgs/renders/11371.png and /dev/null differ
diff --git a/imgs/renders/11377.png b/imgs/renders/11377.png
deleted file mode 100644
index ff3e2793d..000000000
Binary files a/imgs/renders/11377.png and /dev/null differ
diff --git a/imgs/renders/11379.png b/imgs/renders/11379.png
deleted file mode 100644
index 5a31c2abf..000000000
Binary files a/imgs/renders/11379.png and /dev/null differ
diff --git a/imgs/renders/11381.png b/imgs/renders/11381.png
deleted file mode 100644
index 964281297..000000000
Binary files a/imgs/renders/11381.png and /dev/null differ
diff --git a/imgs/renders/11387.png b/imgs/renders/11387.png
deleted file mode 100644
index 086292471..000000000
Binary files a/imgs/renders/11387.png and /dev/null differ
diff --git a/imgs/renders/11393.png b/imgs/renders/11393.png
deleted file mode 100644
index 3c7463e65..000000000
Binary files a/imgs/renders/11393.png and /dev/null differ
diff --git a/imgs/renders/11400.png b/imgs/renders/11400.png
deleted file mode 100644
index c4b62b635..000000000
Binary files a/imgs/renders/11400.png and /dev/null differ
diff --git a/imgs/renders/11567.png b/imgs/renders/11567.png
deleted file mode 100644
index 3afae72a4..000000000
Binary files a/imgs/renders/11567.png and /dev/null differ
diff --git a/imgs/renders/11775.png b/imgs/renders/11775.png
new file mode 100644
index 000000000..723891576
Binary files /dev/null and b/imgs/renders/11775.png differ
diff --git a/imgs/renders/11776.png b/imgs/renders/11776.png
new file mode 100644
index 000000000..98a7c6084
Binary files /dev/null and b/imgs/renders/11776.png differ
diff --git a/imgs/renders/11777.png b/imgs/renders/11777.png
new file mode 100644
index 000000000..ffe72de06
Binary files /dev/null and b/imgs/renders/11777.png differ
diff --git a/imgs/renders/11778.png b/imgs/renders/11778.png
new file mode 100644
index 000000000..8828106d7
Binary files /dev/null and b/imgs/renders/11778.png differ
diff --git a/imgs/renders/11859.png b/imgs/renders/11859.png
new file mode 100644
index 000000000..514d6779a
Binary files /dev/null and b/imgs/renders/11859.png differ
diff --git a/imgs/renders/11863.png b/imgs/renders/11863.png
new file mode 100644
index 000000000..eda9d7a51
Binary files /dev/null and b/imgs/renders/11863.png differ
diff --git a/imgs/renders/11865.png b/imgs/renders/11865.png
new file mode 100644
index 000000000..c895bcb10
Binary files /dev/null and b/imgs/renders/11865.png differ
diff --git a/imgs/renders/11869.png b/imgs/renders/11869.png
new file mode 100644
index 000000000..dcfdb3fa2
Binary files /dev/null and b/imgs/renders/11869.png differ
diff --git a/imgs/renders/11875.png b/imgs/renders/11875.png
new file mode 100644
index 000000000..79c8543b1
Binary files /dev/null and b/imgs/renders/11875.png differ
diff --git a/imgs/renders/11876.png b/imgs/renders/11876.png
new file mode 100644
index 000000000..b77bd65cf
Binary files /dev/null and b/imgs/renders/11876.png differ
diff --git a/imgs/renders/11877.png b/imgs/renders/11877.png
new file mode 100644
index 000000000..f692aece7
Binary files /dev/null and b/imgs/renders/11877.png differ
diff --git a/imgs/renders/11936.png b/imgs/renders/11936.png
deleted file mode 100644
index b9ddb0338..000000000
Binary files a/imgs/renders/11936.png and /dev/null differ
diff --git a/imgs/renders/11938.png b/imgs/renders/11938.png
deleted file mode 100644
index bf209e75a..000000000
Binary files a/imgs/renders/11938.png and /dev/null differ
diff --git a/imgs/renders/11940.png b/imgs/renders/11940.png
deleted file mode 100644
index 611f2ea7e..000000000
Binary files a/imgs/renders/11940.png and /dev/null differ
diff --git a/imgs/renders/11942.png b/imgs/renders/11942.png
deleted file mode 100644
index 4b25c3af1..000000000
Binary files a/imgs/renders/11942.png and /dev/null differ
diff --git a/imgs/renders/11957.png b/imgs/renders/11957.png
deleted file mode 100644
index 20115952a..000000000
Binary files a/imgs/renders/11957.png and /dev/null differ
diff --git a/imgs/renders/11959.png b/imgs/renders/11959.png
deleted file mode 100644
index 46d9d95ea..000000000
Binary files a/imgs/renders/11959.png and /dev/null differ
diff --git a/imgs/renders/11961.png b/imgs/renders/11961.png
deleted file mode 100644
index 79a87aa70..000000000
Binary files a/imgs/renders/11961.png and /dev/null differ
diff --git a/imgs/renders/11963.png b/imgs/renders/11963.png
deleted file mode 100644
index efa20706b..000000000
Binary files a/imgs/renders/11963.png and /dev/null differ
diff --git a/imgs/renders/11965.png b/imgs/renders/11965.png
deleted file mode 100644
index 1b719e5e7..000000000
Binary files a/imgs/renders/11965.png and /dev/null differ
diff --git a/imgs/renders/11969.png b/imgs/renders/11969.png
deleted file mode 100644
index 0e3ab23cc..000000000
Binary files a/imgs/renders/11969.png and /dev/null differ
diff --git a/imgs/renders/11971.png b/imgs/renders/11971.png
deleted file mode 100644
index f67c09933..000000000
Binary files a/imgs/renders/11971.png and /dev/null differ
diff --git a/imgs/renders/11978.png b/imgs/renders/11978.png
deleted file mode 100644
index c8b821365..000000000
Binary files a/imgs/renders/11978.png and /dev/null differ
diff --git a/imgs/renders/11985.png b/imgs/renders/11985.png
deleted file mode 100644
index 4eee6f035..000000000
Binary files a/imgs/renders/11985.png and /dev/null differ
diff --git a/imgs/renders/11987.png b/imgs/renders/11987.png
deleted file mode 100644
index 82604748e..000000000
Binary files a/imgs/renders/11987.png and /dev/null differ
diff --git a/imgs/renders/11989.png b/imgs/renders/11989.png
deleted file mode 100644
index 6b983eb2d..000000000
Binary files a/imgs/renders/11989.png and /dev/null differ
diff --git a/imgs/renders/11993.png b/imgs/renders/11993.png
deleted file mode 100644
index 77d765dd1..000000000
Binary files a/imgs/renders/11993.png and /dev/null differ
diff --git a/imgs/renders/11995.png b/imgs/renders/11995.png
deleted file mode 100644
index ff2f6fa30..000000000
Binary files a/imgs/renders/11995.png and /dev/null differ
diff --git a/imgs/renders/11999.png b/imgs/renders/11999.png
deleted file mode 100644
index 4dc9a2922..000000000
Binary files a/imgs/renders/11999.png and /dev/null differ
diff --git a/imgs/renders/12003.png b/imgs/renders/12003.png
deleted file mode 100644
index a9d1d13db..000000000
Binary files a/imgs/renders/12003.png and /dev/null differ
diff --git a/imgs/renders/12005.png b/imgs/renders/12005.png
deleted file mode 100644
index ee62f7a0e..000000000
Binary files a/imgs/renders/12005.png and /dev/null differ
diff --git a/imgs/renders/12011.png b/imgs/renders/12011.png
deleted file mode 100644
index a98fb65eb..000000000
Binary files a/imgs/renders/12011.png and /dev/null differ
diff --git a/imgs/renders/12013.png b/imgs/renders/12013.png
deleted file mode 100644
index 6d35410fe..000000000
Binary files a/imgs/renders/12013.png and /dev/null differ
diff --git a/imgs/renders/12015.png b/imgs/renders/12015.png
deleted file mode 100644
index e3d859413..000000000
Binary files a/imgs/renders/12015.png and /dev/null differ
diff --git a/imgs/renders/12017.png b/imgs/renders/12017.png
deleted file mode 100644
index fd1375e90..000000000
Binary files a/imgs/renders/12017.png and /dev/null differ
diff --git a/imgs/renders/12019.png b/imgs/renders/12019.png
deleted file mode 100644
index 00e393ff8..000000000
Binary files a/imgs/renders/12019.png and /dev/null differ
diff --git a/imgs/renders/12021.png b/imgs/renders/12021.png
deleted file mode 100644
index b72b6c3f2..000000000
Binary files a/imgs/renders/12021.png and /dev/null differ
diff --git a/imgs/renders/12023.png b/imgs/renders/12023.png
deleted file mode 100644
index ebeb8aaee..000000000
Binary files a/imgs/renders/12023.png and /dev/null differ
diff --git a/imgs/renders/12032.png b/imgs/renders/12032.png
deleted file mode 100644
index 4bd038a26..000000000
Binary files a/imgs/renders/12032.png and /dev/null differ
diff --git a/imgs/renders/12034.png b/imgs/renders/12034.png
deleted file mode 100644
index 4a2a30d8b..000000000
Binary files a/imgs/renders/12034.png and /dev/null differ
diff --git a/imgs/renders/12038.png b/imgs/renders/12038.png
deleted file mode 100644
index 25933035a..000000000
Binary files a/imgs/renders/12038.png and /dev/null differ
diff --git a/imgs/renders/12042.png b/imgs/renders/12042.png
deleted file mode 100644
index bf089ad01..000000000
Binary files a/imgs/renders/12042.png and /dev/null differ
diff --git a/imgs/renders/12044.png b/imgs/renders/12044.png
deleted file mode 100644
index 728d23d47..000000000
Binary files a/imgs/renders/12044.png and /dev/null differ
diff --git a/imgs/renders/1231.png b/imgs/renders/1231.png
new file mode 100644
index 000000000..f3935d4cb
Binary files /dev/null and b/imgs/renders/1231.png differ
diff --git a/imgs/renders/1232.png b/imgs/renders/1232.png
new file mode 100644
index 000000000..b7ffd74fe
Binary files /dev/null and b/imgs/renders/1232.png differ
diff --git a/imgs/renders/1233.png b/imgs/renders/1233.png
new file mode 100644
index 000000000..343f8c45a
Binary files /dev/null and b/imgs/renders/1233.png differ
diff --git a/imgs/renders/1236.png b/imgs/renders/1236.png
new file mode 100644
index 000000000..346d175db
Binary files /dev/null and b/imgs/renders/1236.png differ
diff --git a/imgs/renders/1237.png b/imgs/renders/1237.png
new file mode 100644
index 000000000..80cd573b4
Binary files /dev/null and b/imgs/renders/1237.png differ
diff --git a/imgs/renders/1240.png b/imgs/renders/1240.png
new file mode 100644
index 000000000..4b7d2612a
Binary files /dev/null and b/imgs/renders/1240.png differ
diff --git a/imgs/renders/12729.png b/imgs/renders/12729.png
deleted file mode 100644
index a61153fbb..000000000
Binary files a/imgs/renders/12729.png and /dev/null differ
diff --git a/imgs/renders/12731.png b/imgs/renders/12731.png
deleted file mode 100644
index dff2c2cf5..000000000
Binary files a/imgs/renders/12731.png and /dev/null differ
diff --git a/imgs/renders/12733.png b/imgs/renders/12733.png
deleted file mode 100644
index 875263a31..000000000
Binary files a/imgs/renders/12733.png and /dev/null differ
diff --git a/imgs/renders/12735.png b/imgs/renders/12735.png
deleted file mode 100644
index 431390131..000000000
Binary files a/imgs/renders/12735.png and /dev/null differ
diff --git a/imgs/renders/12743.png b/imgs/renders/12743.png
deleted file mode 100644
index a7d2d572f..000000000
Binary files a/imgs/renders/12743.png and /dev/null differ
diff --git a/imgs/renders/12745.png b/imgs/renders/12745.png
deleted file mode 100644
index 183c134eb..000000000
Binary files a/imgs/renders/12745.png and /dev/null differ
diff --git a/imgs/renders/12747.png b/imgs/renders/12747.png
deleted file mode 100644
index 47780e28d..000000000
Binary files a/imgs/renders/12747.png and /dev/null differ
diff --git a/imgs/renders/12753.png b/imgs/renders/12753.png
deleted file mode 100644
index 1dbfe679b..000000000
Binary files a/imgs/renders/12753.png and /dev/null differ
diff --git a/imgs/renders/13202.png b/imgs/renders/13202.png
deleted file mode 100644
index 0cb36beca..000000000
Binary files a/imgs/renders/13202.png and /dev/null differ
diff --git a/imgs/renders/16227.png b/imgs/renders/16227.png
deleted file mode 100644
index 4a8b68874..000000000
Binary files a/imgs/renders/16227.png and /dev/null differ
diff --git a/imgs/renders/16229.png b/imgs/renders/16229.png
deleted file mode 100644
index 8f34313ab..000000000
Binary files a/imgs/renders/16229.png and /dev/null differ
diff --git a/imgs/renders/16231.png b/imgs/renders/16231.png
deleted file mode 100644
index ec96c2524..000000000
Binary files a/imgs/renders/16231.png and /dev/null differ
diff --git a/imgs/renders/16233.png b/imgs/renders/16233.png
deleted file mode 100644
index 0824197c1..000000000
Binary files a/imgs/renders/16233.png and /dev/null differ
diff --git a/imgs/renders/16236.png b/imgs/renders/16236.png
deleted file mode 100644
index e2dc3ef37..000000000
Binary files a/imgs/renders/16236.png and /dev/null differ
diff --git a/imgs/renders/16238.png b/imgs/renders/16238.png
deleted file mode 100644
index 885beef26..000000000
Binary files a/imgs/renders/16238.png and /dev/null differ
diff --git a/imgs/renders/16240.png b/imgs/renders/16240.png
deleted file mode 100644
index 61565d129..000000000
Binary files a/imgs/renders/16240.png and /dev/null differ
diff --git a/imgs/renders/16242.png b/imgs/renders/16242.png
deleted file mode 100644
index 807c78a39..000000000
Binary files a/imgs/renders/16242.png and /dev/null differ
diff --git a/imgs/renders/1730.png b/imgs/renders/1730.png
new file mode 100644
index 000000000..9eea77b49
Binary files /dev/null and b/imgs/renders/1730.png differ
diff --git a/imgs/renders/1731.png b/imgs/renders/1731.png
new file mode 100644
index 000000000..9d6e1678e
Binary files /dev/null and b/imgs/renders/1731.png differ
diff --git a/imgs/renders/1733.png b/imgs/renders/1733.png
new file mode 100644
index 000000000..3efd2fbaa
Binary files /dev/null and b/imgs/renders/1733.png differ
diff --git a/imgs/renders/17476.png b/imgs/renders/17476.png
deleted file mode 100644
index f71ab37be..000000000
Binary files a/imgs/renders/17476.png and /dev/null differ
diff --git a/imgs/renders/17478.png b/imgs/renders/17478.png
deleted file mode 100644
index 92f20b6ea..000000000
Binary files a/imgs/renders/17478.png and /dev/null differ
diff --git a/imgs/renders/17480.png b/imgs/renders/17480.png
deleted file mode 100644
index b5d38deb4..000000000
Binary files a/imgs/renders/17480.png and /dev/null differ
diff --git a/imgs/renders/1751.png b/imgs/renders/1751.png
new file mode 100644
index 000000000..13b64bf56
Binary files /dev/null and b/imgs/renders/1751.png differ
diff --git a/imgs/renders/17619.png b/imgs/renders/17619.png
deleted file mode 100644
index a1cf3a992..000000000
Binary files a/imgs/renders/17619.png and /dev/null differ
diff --git a/imgs/renders/1762.png b/imgs/renders/1762.png
new file mode 100644
index 000000000..b1cde9d38
Binary files /dev/null and b/imgs/renders/1762.png differ
diff --git a/imgs/renders/17634.png b/imgs/renders/17634.png
deleted file mode 100644
index 175f41be8..000000000
Binary files a/imgs/renders/17634.png and /dev/null differ
diff --git a/imgs/renders/17636.png b/imgs/renders/17636.png
deleted file mode 100644
index 2ba2b65f8..000000000
Binary files a/imgs/renders/17636.png and /dev/null differ
diff --git a/imgs/renders/17703.png b/imgs/renders/17703.png
deleted file mode 100644
index 9713d4594..000000000
Binary files a/imgs/renders/17703.png and /dev/null differ
diff --git a/imgs/renders/17709.png b/imgs/renders/17709.png
deleted file mode 100644
index a863c5ca6..000000000
Binary files a/imgs/renders/17709.png and /dev/null differ
diff --git a/imgs/renders/1771.png b/imgs/renders/1771.png
new file mode 100644
index 000000000..cbfa225c0
Binary files /dev/null and b/imgs/renders/1771.png differ
diff --git a/imgs/renders/17713.png b/imgs/renders/17713.png
deleted file mode 100644
index 6997f8389..000000000
Binary files a/imgs/renders/17713.png and /dev/null differ
diff --git a/imgs/renders/17715.png b/imgs/renders/17715.png
deleted file mode 100644
index 6892e2318..000000000
Binary files a/imgs/renders/17715.png and /dev/null differ
diff --git a/imgs/renders/17718.png b/imgs/renders/17718.png
deleted file mode 100644
index 3f4f8a7e3..000000000
Binary files a/imgs/renders/17718.png and /dev/null differ
diff --git a/imgs/renders/17720.png b/imgs/renders/17720.png
deleted file mode 100644
index 6aa21b7d0..000000000
Binary files a/imgs/renders/17720.png and /dev/null differ
diff --git a/imgs/renders/17722.png b/imgs/renders/17722.png
deleted file mode 100644
index ef45cc709..000000000
Binary files a/imgs/renders/17722.png and /dev/null differ
diff --git a/imgs/renders/17726.png b/imgs/renders/17726.png
deleted file mode 100644
index 2cf4932c2..000000000
Binary files a/imgs/renders/17726.png and /dev/null differ
diff --git a/imgs/renders/17728.png b/imgs/renders/17728.png
deleted file mode 100644
index 3b0c49399..000000000
Binary files a/imgs/renders/17728.png and /dev/null differ
diff --git a/imgs/renders/1773.png b/imgs/renders/1773.png
new file mode 100644
index 000000000..e7f6eabd9
Binary files /dev/null and b/imgs/renders/1773.png differ
diff --git a/imgs/renders/17732.png b/imgs/renders/17732.png
deleted file mode 100644
index dedc5483f..000000000
Binary files a/imgs/renders/17732.png and /dev/null differ
diff --git a/imgs/renders/17736.png b/imgs/renders/17736.png
deleted file mode 100644
index 5f022ee08..000000000
Binary files a/imgs/renders/17736.png and /dev/null differ
diff --git a/imgs/renders/17738.png b/imgs/renders/17738.png
deleted file mode 100644
index b0deb515c..000000000
Binary files a/imgs/renders/17738.png and /dev/null differ
diff --git a/imgs/renders/17740.png b/imgs/renders/17740.png
deleted file mode 100644
index 2e88144b3..000000000
Binary files a/imgs/renders/17740.png and /dev/null differ
diff --git a/imgs/renders/1776.png b/imgs/renders/1776.png
new file mode 100644
index 000000000..a58b00699
Binary files /dev/null and b/imgs/renders/1776.png differ
diff --git a/imgs/renders/1777.png b/imgs/renders/1777.png
new file mode 100644
index 000000000..fd3f55b38
Binary files /dev/null and b/imgs/renders/1777.png differ
diff --git a/imgs/renders/1778.png b/imgs/renders/1778.png
new file mode 100644
index 000000000..1590473e9
Binary files /dev/null and b/imgs/renders/1778.png differ
diff --git a/imgs/renders/1779.png b/imgs/renders/1779.png
new file mode 100644
index 000000000..652cce032
Binary files /dev/null and b/imgs/renders/1779.png differ
diff --git a/imgs/renders/17812.png b/imgs/renders/17812.png
deleted file mode 100644
index 7cc6847cc..000000000
Binary files a/imgs/renders/17812.png and /dev/null differ
diff --git a/imgs/renders/1784.png b/imgs/renders/1784.png
new file mode 100644
index 000000000..901b12eb0
Binary files /dev/null and b/imgs/renders/1784.png differ
diff --git a/imgs/renders/17841.png b/imgs/renders/17841.png
deleted file mode 100644
index 6e45c0c7e..000000000
Binary files a/imgs/renders/17841.png and /dev/null differ
diff --git a/imgs/renders/17843.png b/imgs/renders/17843.png
deleted file mode 100644
index 97912d02e..000000000
Binary files a/imgs/renders/17843.png and /dev/null differ
diff --git a/imgs/renders/1786.png b/imgs/renders/1786.png
new file mode 100644
index 000000000..786c8707d
Binary files /dev/null and b/imgs/renders/1786.png differ
diff --git a/imgs/renders/1789.png b/imgs/renders/1789.png
new file mode 100644
index 000000000..45007e9cf
Binary files /dev/null and b/imgs/renders/1789.png differ
diff --git a/imgs/renders/17918.png b/imgs/renders/17918.png
deleted file mode 100644
index ce7e07fdc..000000000
Binary files a/imgs/renders/17918.png and /dev/null differ
diff --git a/imgs/renders/17920.png b/imgs/renders/17920.png
deleted file mode 100644
index 979afd242..000000000
Binary files a/imgs/renders/17920.png and /dev/null differ
diff --git a/imgs/renders/17922.png b/imgs/renders/17922.png
deleted file mode 100644
index 9019b8edc..000000000
Binary files a/imgs/renders/17922.png and /dev/null differ
diff --git a/imgs/renders/17924.png b/imgs/renders/17924.png
deleted file mode 100644
index 84e647803..000000000
Binary files a/imgs/renders/17924.png and /dev/null differ
diff --git a/imgs/renders/17926.png b/imgs/renders/17926.png
deleted file mode 100644
index 44a45b729..000000000
Binary files a/imgs/renders/17926.png and /dev/null differ
diff --git a/imgs/renders/17928.png b/imgs/renders/17928.png
deleted file mode 100644
index b840c14ec..000000000
Binary files a/imgs/renders/17928.png and /dev/null differ
diff --git a/imgs/renders/17930.png b/imgs/renders/17930.png
deleted file mode 100644
index 0d8ad8fb7..000000000
Binary files a/imgs/renders/17930.png and /dev/null differ
diff --git a/imgs/renders/17932.png b/imgs/renders/17932.png
deleted file mode 100644
index 9d001d0c1..000000000
Binary files a/imgs/renders/17932.png and /dev/null differ
diff --git a/imgs/renders/1802.png b/imgs/renders/1802.png
new file mode 100644
index 000000000..1a7fdf913
Binary files /dev/null and b/imgs/renders/1802.png differ
diff --git a/imgs/renders/1803.png b/imgs/renders/1803.png
new file mode 100644
index 000000000..1d11007a0
Binary files /dev/null and b/imgs/renders/1803.png differ
diff --git a/imgs/renders/1811.png b/imgs/renders/1811.png
new file mode 100644
index 000000000..af8695ed3
Binary files /dev/null and b/imgs/renders/1811.png differ
diff --git a/imgs/renders/1814.png b/imgs/renders/1814.png
new file mode 100644
index 000000000..34b55f1f3
Binary files /dev/null and b/imgs/renders/1814.png differ
diff --git a/imgs/renders/1815.png b/imgs/renders/1815.png
new file mode 100644
index 000000000..ae16df32e
Binary files /dev/null and b/imgs/renders/1815.png differ
diff --git a/imgs/renders/1816.png b/imgs/renders/1816.png
new file mode 100644
index 000000000..bc3195087
Binary files /dev/null and b/imgs/renders/1816.png differ
diff --git a/imgs/renders/1824.png b/imgs/renders/1824.png
new file mode 100644
index 000000000..2746fc8ac
Binary files /dev/null and b/imgs/renders/1824.png differ
diff --git a/imgs/renders/1825.png b/imgs/renders/1825.png
new file mode 100644
index 000000000..10785a55f
Binary files /dev/null and b/imgs/renders/1825.png differ
diff --git a/imgs/renders/1829.png b/imgs/renders/1829.png
new file mode 100644
index 000000000..22388c686
Binary files /dev/null and b/imgs/renders/1829.png differ
diff --git a/imgs/renders/1831.png b/imgs/renders/1831.png
new file mode 100644
index 000000000..78d329fba
Binary files /dev/null and b/imgs/renders/1831.png differ
diff --git a/imgs/renders/1835.png b/imgs/renders/1835.png
new file mode 100644
index 000000000..4a39bfec5
Binary files /dev/null and b/imgs/renders/1835.png differ
diff --git a/imgs/renders/1840.png b/imgs/renders/1840.png
new file mode 100644
index 000000000..5b829445b
Binary files /dev/null and b/imgs/renders/1840.png differ
diff --git a/imgs/renders/1841.png b/imgs/renders/1841.png
new file mode 100644
index 000000000..ff81219f3
Binary files /dev/null and b/imgs/renders/1841.png differ
diff --git a/imgs/renders/1847.png b/imgs/renders/1847.png
new file mode 100644
index 000000000..9ed1da920
Binary files /dev/null and b/imgs/renders/1847.png differ
diff --git a/imgs/renders/1848.png b/imgs/renders/1848.png
new file mode 100644
index 000000000..c09733d8c
Binary files /dev/null and b/imgs/renders/1848.png differ
diff --git a/imgs/renders/1854.png b/imgs/renders/1854.png
new file mode 100644
index 000000000..b1ad27934
Binary files /dev/null and b/imgs/renders/1854.png differ
diff --git a/imgs/renders/1855.png b/imgs/renders/1855.png
new file mode 100644
index 000000000..24fe526d8
Binary files /dev/null and b/imgs/renders/1855.png differ
diff --git a/imgs/renders/1860.png b/imgs/renders/1860.png
new file mode 100644
index 000000000..2a715dc21
Binary files /dev/null and b/imgs/renders/1860.png differ
diff --git a/imgs/renders/1861.png b/imgs/renders/1861.png
new file mode 100644
index 000000000..7e9b53bc1
Binary files /dev/null and b/imgs/renders/1861.png differ
diff --git a/imgs/renders/1872.png b/imgs/renders/1872.png
new file mode 100644
index 000000000..75bb2921c
Binary files /dev/null and b/imgs/renders/1872.png differ
diff --git a/imgs/renders/1878.png b/imgs/renders/1878.png
new file mode 100644
index 000000000..ecc2b8735
Binary files /dev/null and b/imgs/renders/1878.png differ
diff --git a/imgs/renders/1881.png b/imgs/renders/1881.png
new file mode 100644
index 000000000..25e7d5aca
Binary files /dev/null and b/imgs/renders/1881.png differ
diff --git a/imgs/renders/1882.png b/imgs/renders/1882.png
new file mode 100644
index 000000000..ac214b10e
Binary files /dev/null and b/imgs/renders/1882.png differ
diff --git a/imgs/renders/1884.png b/imgs/renders/1884.png
new file mode 100644
index 000000000..59424e700
Binary files /dev/null and b/imgs/renders/1884.png differ
diff --git a/imgs/renders/1887.png b/imgs/renders/1887.png
new file mode 100644
index 000000000..4b1f00e87
Binary files /dev/null and b/imgs/renders/1887.png differ
diff --git a/imgs/renders/1894.png b/imgs/renders/1894.png
new file mode 100644
index 000000000..970a02611
Binary files /dev/null and b/imgs/renders/1894.png differ
diff --git a/imgs/renders/1901.png b/imgs/renders/1901.png
new file mode 100644
index 000000000..14cfd3c7b
Binary files /dev/null and b/imgs/renders/1901.png differ
diff --git a/imgs/renders/1902.png b/imgs/renders/1902.png
new file mode 100644
index 000000000..3588f1fcc
Binary files /dev/null and b/imgs/renders/1902.png differ
diff --git a/imgs/renders/1903.png b/imgs/renders/1903.png
new file mode 100644
index 000000000..25ab2556a
Binary files /dev/null and b/imgs/renders/1903.png differ
diff --git a/imgs/renders/1909.png b/imgs/renders/1909.png
new file mode 100644
index 000000000..082141e76
Binary files /dev/null and b/imgs/renders/1909.png differ
diff --git a/imgs/renders/1912.png b/imgs/renders/1912.png
new file mode 100644
index 000000000..77b402bb0
Binary files /dev/null and b/imgs/renders/1912.png differ
diff --git a/imgs/renders/1913.png b/imgs/renders/1913.png
new file mode 100644
index 000000000..a125e26ca
Binary files /dev/null and b/imgs/renders/1913.png differ
diff --git a/imgs/renders/1914.png b/imgs/renders/1914.png
new file mode 100644
index 000000000..463d1c4ee
Binary files /dev/null and b/imgs/renders/1914.png differ
diff --git a/imgs/renders/1916.png b/imgs/renders/1916.png
new file mode 100644
index 000000000..75b6a8c35
Binary files /dev/null and b/imgs/renders/1916.png differ
diff --git a/imgs/renders/1920.png b/imgs/renders/1920.png
new file mode 100644
index 000000000..bfa0f9a4f
Binary files /dev/null and b/imgs/renders/1920.png differ
diff --git a/imgs/renders/1921.png b/imgs/renders/1921.png
new file mode 100644
index 000000000..ccc0187e4
Binary files /dev/null and b/imgs/renders/1921.png differ
diff --git a/imgs/renders/1925.png b/imgs/renders/1925.png
new file mode 100644
index 000000000..24ac7d767
Binary files /dev/null and b/imgs/renders/1925.png differ
diff --git a/imgs/renders/1928.png b/imgs/renders/1928.png
new file mode 100644
index 000000000..556796c13
Binary files /dev/null and b/imgs/renders/1928.png differ
diff --git a/imgs/renders/1931.png b/imgs/renders/1931.png
new file mode 100644
index 000000000..dba9566a8
Binary files /dev/null and b/imgs/renders/1931.png differ
diff --git a/imgs/renders/1943.png b/imgs/renders/1943.png
new file mode 100644
index 000000000..af7244e09
Binary files /dev/null and b/imgs/renders/1943.png differ
diff --git a/imgs/renders/1944.png b/imgs/renders/1944.png
deleted file mode 100644
index 36ff10ad4..000000000
Binary files a/imgs/renders/1944.png and /dev/null differ
diff --git a/imgs/renders/1945.png b/imgs/renders/1945.png
new file mode 100644
index 000000000..5a1ffe9c2
Binary files /dev/null and b/imgs/renders/1945.png differ
diff --git a/imgs/renders/1948.png b/imgs/renders/1948.png
new file mode 100644
index 000000000..e1353bdbe
Binary files /dev/null and b/imgs/renders/1948.png differ
diff --git a/imgs/renders/1950.png b/imgs/renders/1950.png
new file mode 100644
index 000000000..df28a58af
Binary files /dev/null and b/imgs/renders/1950.png differ
diff --git a/imgs/renders/1966.png b/imgs/renders/1966.png
new file mode 100644
index 000000000..e3402e414
Binary files /dev/null and b/imgs/renders/1966.png differ
diff --git a/imgs/renders/19720.png b/imgs/renders/19720.png
deleted file mode 100644
index 0ffcdbab9..000000000
Binary files a/imgs/renders/19720.png and /dev/null differ
diff --git a/imgs/renders/19722.png b/imgs/renders/19722.png
deleted file mode 100644
index 55d8cefd9..000000000
Binary files a/imgs/renders/19722.png and /dev/null differ
diff --git a/imgs/renders/19724.png b/imgs/renders/19724.png
deleted file mode 100644
index de93acd6e..000000000
Binary files a/imgs/renders/19724.png and /dev/null differ
diff --git a/imgs/renders/19726.png b/imgs/renders/19726.png
deleted file mode 100644
index 01706208f..000000000
Binary files a/imgs/renders/19726.png and /dev/null differ
diff --git a/imgs/renders/1973.png b/imgs/renders/1973.png
new file mode 100644
index 000000000..25b5b933f
Binary files /dev/null and b/imgs/renders/1973.png differ
diff --git a/imgs/renders/19744.png b/imgs/renders/19744.png
deleted file mode 100644
index 3dae640ae..000000000
Binary files a/imgs/renders/19744.png and /dev/null differ
diff --git a/imgs/renders/1976.png b/imgs/renders/1976.png
new file mode 100644
index 000000000..15e933736
Binary files /dev/null and b/imgs/renders/1976.png differ
diff --git a/imgs/renders/2006.png b/imgs/renders/2006.png
deleted file mode 100644
index b1377357b..000000000
Binary files a/imgs/renders/2006.png and /dev/null differ
diff --git a/imgs/renders/20125.png b/imgs/renders/20125.png
deleted file mode 100644
index 554e6a17c..000000000
Binary files a/imgs/renders/20125.png and /dev/null differ
diff --git a/imgs/renders/20136.png b/imgs/renders/20136.png
new file mode 100644
index 000000000..719af2bfe
Binary files /dev/null and b/imgs/renders/20136.png differ
diff --git a/imgs/renders/20137.png b/imgs/renders/20137.png
new file mode 100644
index 000000000..50b114455
Binary files /dev/null and b/imgs/renders/20137.png differ
diff --git a/imgs/renders/20183.png b/imgs/renders/20183.png
deleted file mode 100644
index 913c105c4..000000000
Binary files a/imgs/renders/20183.png and /dev/null differ
diff --git a/imgs/renders/20185.png b/imgs/renders/20185.png
deleted file mode 100644
index 542f79e67..000000000
Binary files a/imgs/renders/20185.png and /dev/null differ
diff --git a/imgs/renders/20187.png b/imgs/renders/20187.png
deleted file mode 100644
index c8633ab8c..000000000
Binary files a/imgs/renders/20187.png and /dev/null differ
diff --git a/imgs/renders/20189.png b/imgs/renders/20189.png
deleted file mode 100644
index 3c7600a96..000000000
Binary files a/imgs/renders/20189.png and /dev/null differ
diff --git a/imgs/renders/20198.png b/imgs/renders/20198.png
new file mode 100644
index 000000000..4ab2cadfb
Binary files /dev/null and b/imgs/renders/20198.png differ
diff --git a/imgs/renders/20199.png b/imgs/renders/20199.png
new file mode 100644
index 000000000..35d5e3c50
Binary files /dev/null and b/imgs/renders/20199.png differ
diff --git a/imgs/renders/20200.png b/imgs/renders/20200.png
new file mode 100644
index 000000000..ac05d0d78
Binary files /dev/null and b/imgs/renders/20200.png differ
diff --git a/imgs/renders/20201.png b/imgs/renders/20201.png
new file mode 100644
index 000000000..dc846c435
Binary files /dev/null and b/imgs/renders/20201.png differ
diff --git a/imgs/renders/20202.png b/imgs/renders/20202.png
new file mode 100644
index 000000000..4b2db9cbe
Binary files /dev/null and b/imgs/renders/20202.png differ
diff --git a/imgs/renders/20215.png b/imgs/renders/20215.png
new file mode 100644
index 000000000..aabe56a1c
Binary files /dev/null and b/imgs/renders/20215.png differ
diff --git a/imgs/renders/20216.png b/imgs/renders/20216.png
new file mode 100644
index 000000000..e955b2c45
Binary files /dev/null and b/imgs/renders/20216.png differ
diff --git a/imgs/renders/20217.png b/imgs/renders/20217.png
new file mode 100644
index 000000000..b8586bae0
Binary files /dev/null and b/imgs/renders/20217.png differ
diff --git a/imgs/renders/20218.png b/imgs/renders/20218.png
new file mode 100644
index 000000000..cdbb2d9f5
Binary files /dev/null and b/imgs/renders/20218.png differ
diff --git a/imgs/renders/20227.png b/imgs/renders/20227.png
new file mode 100644
index 000000000..0ab8aeea9
Binary files /dev/null and b/imgs/renders/20227.png differ
diff --git a/imgs/renders/20229.png b/imgs/renders/20229.png
new file mode 100644
index 000000000..fcc104dbc
Binary files /dev/null and b/imgs/renders/20229.png differ
diff --git a/imgs/renders/20230.png b/imgs/renders/20230.png
new file mode 100644
index 000000000..fe2b13d20
Binary files /dev/null and b/imgs/renders/20230.png differ
diff --git a/imgs/renders/20231.png b/imgs/renders/20231.png
new file mode 100644
index 000000000..9afef8547
Binary files /dev/null and b/imgs/renders/20231.png differ
diff --git a/imgs/renders/20277.png b/imgs/renders/20277.png
new file mode 100644
index 000000000..2305a869c
Binary files /dev/null and b/imgs/renders/20277.png differ
diff --git a/imgs/renders/20283.png b/imgs/renders/20283.png
new file mode 100644
index 000000000..b09434c1d
Binary files /dev/null and b/imgs/renders/20283.png differ
diff --git a/imgs/renders/20301.png b/imgs/renders/20301.png
new file mode 100644
index 000000000..f9c232256
Binary files /dev/null and b/imgs/renders/20301.png differ
diff --git a/imgs/renders/20344.png b/imgs/renders/20344.png
new file mode 100644
index 000000000..a3b03f7da
Binary files /dev/null and b/imgs/renders/20344.png differ
diff --git a/imgs/renders/20345.png b/imgs/renders/20345.png
new file mode 100644
index 000000000..a671e16c1
Binary files /dev/null and b/imgs/renders/20345.png differ
diff --git a/imgs/renders/20384.png b/imgs/renders/20384.png
new file mode 100644
index 000000000..ff3460893
Binary files /dev/null and b/imgs/renders/20384.png differ
diff --git a/imgs/renders/20385.png b/imgs/renders/20385.png
new file mode 100644
index 000000000..6dc632bfd
Binary files /dev/null and b/imgs/renders/20385.png differ
diff --git a/imgs/renders/20386.png b/imgs/renders/20386.png
new file mode 100644
index 000000000..2ed36cabd
Binary files /dev/null and b/imgs/renders/20386.png differ
diff --git a/imgs/renders/20402.png b/imgs/renders/20402.png
new file mode 100644
index 000000000..beafc27b8
Binary files /dev/null and b/imgs/renders/20402.png differ
diff --git a/imgs/renders/20403.png b/imgs/renders/20403.png
new file mode 100644
index 000000000..ed4a2a255
Binary files /dev/null and b/imgs/renders/20403.png differ
diff --git a/imgs/renders/2043.png b/imgs/renders/2043.png
new file mode 100644
index 000000000..ea2b62de3
Binary files /dev/null and b/imgs/renders/2043.png differ
diff --git a/imgs/renders/2044.png b/imgs/renders/2044.png
new file mode 100644
index 000000000..47e790acf
Binary files /dev/null and b/imgs/renders/2044.png differ
diff --git a/imgs/renders/2045.png b/imgs/renders/2045.png
new file mode 100644
index 000000000..7ced44a15
Binary files /dev/null and b/imgs/renders/2045.png differ
diff --git a/imgs/renders/20600.png b/imgs/renders/20600.png
new file mode 100644
index 000000000..465a8cb79
Binary files /dev/null and b/imgs/renders/20600.png differ
diff --git a/imgs/renders/20604.png b/imgs/renders/20604.png
new file mode 100644
index 000000000..84f4bb553
Binary files /dev/null and b/imgs/renders/20604.png differ
diff --git a/imgs/renders/20605.png b/imgs/renders/20605.png
new file mode 100644
index 000000000..1ef80c05a
Binary files /dev/null and b/imgs/renders/20605.png differ
diff --git a/imgs/renders/20614.png b/imgs/renders/20614.png
new file mode 100644
index 000000000..7b2f49fd3
Binary files /dev/null and b/imgs/renders/20614.png differ
diff --git a/imgs/renders/20615.png b/imgs/renders/20615.png
new file mode 100644
index 000000000..4371073ba
Binary files /dev/null and b/imgs/renders/20615.png differ
diff --git a/imgs/renders/20616.png b/imgs/renders/20616.png
new file mode 100644
index 000000000..c3ed0de77
Binary files /dev/null and b/imgs/renders/20616.png differ
diff --git a/imgs/renders/2078.png b/imgs/renders/2078.png
deleted file mode 100644
index 9c589200d..000000000
Binary files a/imgs/renders/2078.png and /dev/null differ
diff --git a/imgs/renders/20977.png b/imgs/renders/20977.png
new file mode 100644
index 000000000..c6ed70d3c
Binary files /dev/null and b/imgs/renders/20977.png differ
diff --git a/imgs/renders/20980.png b/imgs/renders/20980.png
new file mode 100644
index 000000000..4e38b88e7
Binary files /dev/null and b/imgs/renders/20980.png differ
diff --git a/imgs/renders/21052.png b/imgs/renders/21052.png
new file mode 100644
index 000000000..afc5ec8a7
Binary files /dev/null and b/imgs/renders/21052.png differ
diff --git a/imgs/renders/21076.png b/imgs/renders/21076.png
new file mode 100644
index 000000000..b2f31ff50
Binary files /dev/null and b/imgs/renders/21076.png differ
diff --git a/imgs/renders/21097.png b/imgs/renders/21097.png
deleted file mode 100644
index ba94fbcdb..000000000
Binary files a/imgs/renders/21097.png and /dev/null differ
diff --git a/imgs/renders/21135.png b/imgs/renders/21135.png
new file mode 100644
index 000000000..4147746cf
Binary files /dev/null and b/imgs/renders/21135.png differ
diff --git a/imgs/renders/21137.png b/imgs/renders/21137.png
new file mode 100644
index 000000000..75c6fb597
Binary files /dev/null and b/imgs/renders/21137.png differ
diff --git a/imgs/renders/21138.png b/imgs/renders/21138.png
new file mode 100644
index 000000000..b539240d8
Binary files /dev/null and b/imgs/renders/21138.png differ
diff --git a/imgs/renders/21139.png b/imgs/renders/21139.png
new file mode 100644
index 000000000..d2172c7d2
Binary files /dev/null and b/imgs/renders/21139.png differ
diff --git a/imgs/renders/21150.png b/imgs/renders/21150.png
new file mode 100644
index 000000000..3c059ade9
Binary files /dev/null and b/imgs/renders/21150.png differ
diff --git a/imgs/renders/21155.png b/imgs/renders/21155.png
new file mode 100644
index 000000000..dc01dec6b
Binary files /dev/null and b/imgs/renders/21155.png differ
diff --git a/imgs/renders/21156.png b/imgs/renders/21156.png
new file mode 100644
index 000000000..301607cd4
Binary files /dev/null and b/imgs/renders/21156.png differ
diff --git a/imgs/renders/21210.png b/imgs/renders/21210.png
new file mode 100644
index 000000000..8c480714c
Binary files /dev/null and b/imgs/renders/21210.png differ
diff --git a/imgs/renders/21217.png b/imgs/renders/21217.png
new file mode 100644
index 000000000..7a1ba9757
Binary files /dev/null and b/imgs/renders/21217.png differ
diff --git a/imgs/renders/21218.png b/imgs/renders/21218.png
new file mode 100644
index 000000000..8ec3ff689
Binary files /dev/null and b/imgs/renders/21218.png differ
diff --git a/imgs/renders/21219.png b/imgs/renders/21219.png
new file mode 100644
index 000000000..2447b0126
Binary files /dev/null and b/imgs/renders/21219.png differ
diff --git a/imgs/renders/2122.png b/imgs/renders/2122.png
new file mode 100644
index 000000000..60d932abd
Binary files /dev/null and b/imgs/renders/2122.png differ
diff --git a/imgs/renders/21220.png b/imgs/renders/21220.png
new file mode 100644
index 000000000..6200a04f5
Binary files /dev/null and b/imgs/renders/21220.png differ
diff --git a/imgs/renders/21221.png b/imgs/renders/21221.png
new file mode 100644
index 000000000..7d8c5bf25
Binary files /dev/null and b/imgs/renders/21221.png differ
diff --git a/imgs/renders/21222.png b/imgs/renders/21222.png
new file mode 100644
index 000000000..663aeb07e
Binary files /dev/null and b/imgs/renders/21222.png differ
diff --git a/imgs/renders/21223.png b/imgs/renders/21223.png
new file mode 100644
index 000000000..83351f499
Binary files /dev/null and b/imgs/renders/21223.png differ
diff --git a/imgs/renders/21224.png b/imgs/renders/21224.png
new file mode 100644
index 000000000..cf9bbd2aa
Binary files /dev/null and b/imgs/renders/21224.png differ
diff --git a/imgs/renders/2123.png b/imgs/renders/2123.png
new file mode 100644
index 000000000..683c7c203
Binary files /dev/null and b/imgs/renders/2123.png differ
diff --git a/imgs/renders/21252.png b/imgs/renders/21252.png
new file mode 100644
index 000000000..ba3c372bd
Binary files /dev/null and b/imgs/renders/21252.png differ
diff --git a/imgs/renders/21254.png b/imgs/renders/21254.png
new file mode 100644
index 000000000..df1a462d6
Binary files /dev/null and b/imgs/renders/21254.png differ
diff --git a/imgs/renders/21255.png b/imgs/renders/21255.png
new file mode 100644
index 000000000..2636806d7
Binary files /dev/null and b/imgs/renders/21255.png differ
diff --git a/imgs/renders/21256.png b/imgs/renders/21256.png
new file mode 100644
index 000000000..ba4ec4cc9
Binary files /dev/null and b/imgs/renders/21256.png differ
diff --git a/imgs/renders/21277.png b/imgs/renders/21277.png
new file mode 100644
index 000000000..d431ecd64
Binary files /dev/null and b/imgs/renders/21277.png differ
diff --git a/imgs/renders/21278.png b/imgs/renders/21278.png
new file mode 100644
index 000000000..f40192c09
Binary files /dev/null and b/imgs/renders/21278.png differ
diff --git a/imgs/renders/21279.png b/imgs/renders/21279.png
new file mode 100644
index 000000000..f208bbe6d
Binary files /dev/null and b/imgs/renders/21279.png differ
diff --git a/imgs/renders/21280.png b/imgs/renders/21280.png
new file mode 100644
index 000000000..551b3fcee
Binary files /dev/null and b/imgs/renders/21280.png differ
diff --git a/imgs/renders/21282.png b/imgs/renders/21282.png
new file mode 100644
index 000000000..42a868297
Binary files /dev/null and b/imgs/renders/21282.png differ
diff --git a/imgs/renders/21283.png b/imgs/renders/21283.png
new file mode 100644
index 000000000..acc5b3b74
Binary files /dev/null and b/imgs/renders/21283.png differ
diff --git a/imgs/renders/21315.png b/imgs/renders/21315.png
new file mode 100644
index 000000000..a979cf167
Binary files /dev/null and b/imgs/renders/21315.png differ
diff --git a/imgs/renders/21354.png b/imgs/renders/21354.png
new file mode 100644
index 000000000..2d5518416
Binary files /dev/null and b/imgs/renders/21354.png differ
diff --git a/imgs/renders/21358.png b/imgs/renders/21358.png
new file mode 100644
index 000000000..895870881
Binary files /dev/null and b/imgs/renders/21358.png differ
diff --git a/imgs/renders/21360.png b/imgs/renders/21360.png
new file mode 100644
index 000000000..c4a71c94e
Binary files /dev/null and b/imgs/renders/21360.png differ
diff --git a/imgs/renders/21361.png b/imgs/renders/21361.png
new file mode 100644
index 000000000..4beb7c94e
Binary files /dev/null and b/imgs/renders/21361.png differ
diff --git a/imgs/renders/2138.png b/imgs/renders/2138.png
new file mode 100644
index 000000000..0a79c4e31
Binary files /dev/null and b/imgs/renders/2138.png differ
diff --git a/imgs/renders/2139.png b/imgs/renders/2139.png
new file mode 100644
index 000000000..ea8df81e4
Binary files /dev/null and b/imgs/renders/2139.png differ
diff --git a/imgs/renders/2140.png b/imgs/renders/2140.png
new file mode 100644
index 000000000..c4f2414cf
Binary files /dev/null and b/imgs/renders/2140.png differ
diff --git a/imgs/renders/2141.png b/imgs/renders/2141.png
new file mode 100644
index 000000000..30e1aeb1c
Binary files /dev/null and b/imgs/renders/2141.png differ
diff --git a/imgs/renders/21445.png b/imgs/renders/21445.png
new file mode 100644
index 000000000..6164455ea
Binary files /dev/null and b/imgs/renders/21445.png differ
diff --git a/imgs/renders/21451.png b/imgs/renders/21451.png
new file mode 100644
index 000000000..dac81f5de
Binary files /dev/null and b/imgs/renders/21451.png differ
diff --git a/imgs/renders/21489.png b/imgs/renders/21489.png
new file mode 100644
index 000000000..dd586ff40
Binary files /dev/null and b/imgs/renders/21489.png differ
diff --git a/imgs/renders/21490.png b/imgs/renders/21490.png
new file mode 100644
index 000000000..24cd179bd
Binary files /dev/null and b/imgs/renders/21490.png differ
diff --git a/imgs/renders/21493.png b/imgs/renders/21493.png
new file mode 100644
index 000000000..1228da8de
Binary files /dev/null and b/imgs/renders/21493.png differ
diff --git a/imgs/renders/2157.png b/imgs/renders/2157.png
new file mode 100644
index 000000000..d5c3d9ff0
Binary files /dev/null and b/imgs/renders/2157.png differ
diff --git a/imgs/renders/2159.png b/imgs/renders/2159.png
new file mode 100644
index 000000000..170e98100
Binary files /dev/null and b/imgs/renders/2159.png differ
diff --git a/imgs/renders/2160.png b/imgs/renders/2160.png
new file mode 100644
index 000000000..9672f7bc9
Binary files /dev/null and b/imgs/renders/2160.png differ
diff --git a/imgs/renders/2161.png b/imgs/renders/2161.png
deleted file mode 100644
index 3b7357aa5..000000000
Binary files a/imgs/renders/2161.png and /dev/null differ
diff --git a/imgs/renders/21628.png b/imgs/renders/21628.png
deleted file mode 100644
index e9f1afb63..000000000
Binary files a/imgs/renders/21628.png and /dev/null differ
diff --git a/imgs/renders/21766.png b/imgs/renders/21766.png
new file mode 100644
index 000000000..1c86ba6dd
Binary files /dev/null and b/imgs/renders/21766.png differ
diff --git a/imgs/renders/21821.png b/imgs/renders/21821.png
new file mode 100644
index 000000000..ddbb7cf5e
Binary files /dev/null and b/imgs/renders/21821.png differ
diff --git a/imgs/renders/21822.png b/imgs/renders/21822.png
new file mode 100644
index 000000000..515bd6515
Binary files /dev/null and b/imgs/renders/21822.png differ
diff --git a/imgs/renders/21864.png b/imgs/renders/21864.png
new file mode 100644
index 000000000..350ae2319
Binary files /dev/null and b/imgs/renders/21864.png differ
diff --git a/imgs/renders/21976.png b/imgs/renders/21976.png
new file mode 100644
index 000000000..aefeddc98
Binary files /dev/null and b/imgs/renders/21976.png differ
diff --git a/imgs/renders/21993.png b/imgs/renders/21993.png
new file mode 100644
index 000000000..58d3b493a
Binary files /dev/null and b/imgs/renders/21993.png differ
diff --git a/imgs/renders/22001.png b/imgs/renders/22001.png
new file mode 100644
index 000000000..1f87b04ab
Binary files /dev/null and b/imgs/renders/22001.png differ
diff --git a/imgs/renders/22007.png b/imgs/renders/22007.png
new file mode 100644
index 000000000..9fcb0d65a
Binary files /dev/null and b/imgs/renders/22007.png differ
diff --git a/imgs/renders/22070.png b/imgs/renders/22070.png
new file mode 100644
index 000000000..e8145f53a
Binary files /dev/null and b/imgs/renders/22070.png differ
diff --git a/imgs/renders/22142.png b/imgs/renders/22142.png
new file mode 100644
index 000000000..9697779ee
Binary files /dev/null and b/imgs/renders/22142.png differ
diff --git a/imgs/renders/22150.png b/imgs/renders/22150.png
new file mode 100644
index 000000000..3124c9d54
Binary files /dev/null and b/imgs/renders/22150.png differ
diff --git a/imgs/renders/22161.png b/imgs/renders/22161.png
new file mode 100644
index 000000000..a6cf11b6c
Binary files /dev/null and b/imgs/renders/22161.png differ
diff --git a/imgs/renders/22189.png b/imgs/renders/22189.png
new file mode 100644
index 000000000..d60a33c87
Binary files /dev/null and b/imgs/renders/22189.png differ
diff --git a/imgs/renders/22195.png b/imgs/renders/22195.png
new file mode 100644
index 000000000..2a223205b
Binary files /dev/null and b/imgs/renders/22195.png differ
diff --git a/imgs/renders/2239.png b/imgs/renders/2239.png
new file mode 100644
index 000000000..27f5985f9
Binary files /dev/null and b/imgs/renders/2239.png differ
diff --git a/imgs/renders/2240.png b/imgs/renders/2240.png
new file mode 100644
index 000000000..ebee08f1d
Binary files /dev/null and b/imgs/renders/2240.png differ
diff --git a/imgs/renders/2241.png b/imgs/renders/2241.png
new file mode 100644
index 000000000..95c274b6b
Binary files /dev/null and b/imgs/renders/2241.png differ
diff --git a/imgs/renders/2242.png b/imgs/renders/2242.png
new file mode 100644
index 000000000..85b031fdc
Binary files /dev/null and b/imgs/renders/2242.png differ
diff --git a/imgs/renders/22428.png b/imgs/renders/22428.png
deleted file mode 100644
index 71aaf8f4e..000000000
Binary files a/imgs/renders/22428.png and /dev/null differ
diff --git a/imgs/renders/22430.png b/imgs/renders/22430.png
deleted file mode 100644
index af78fde73..000000000
Binary files a/imgs/renders/22430.png and /dev/null differ
diff --git a/imgs/renders/22436.png b/imgs/renders/22436.png
deleted file mode 100644
index a66a042fc..000000000
Binary files a/imgs/renders/22436.png and /dev/null differ
diff --git a/imgs/renders/22440.png b/imgs/renders/22440.png
deleted file mode 100644
index 89c553aa8..000000000
Binary files a/imgs/renders/22440.png and /dev/null differ
diff --git a/imgs/renders/22442.png b/imgs/renders/22442.png
deleted file mode 100644
index 6e04a38e5..000000000
Binary files a/imgs/renders/22442.png and /dev/null differ
diff --git a/imgs/renders/22444.png b/imgs/renders/22444.png
deleted file mode 100644
index 53e45c0b4..000000000
Binary files a/imgs/renders/22444.png and /dev/null differ
diff --git a/imgs/renders/22446.png b/imgs/renders/22446.png
deleted file mode 100644
index b024e7f66..000000000
Binary files a/imgs/renders/22446.png and /dev/null differ
diff --git a/imgs/renders/22448.png b/imgs/renders/22448.png
deleted file mode 100644
index 3d1530008..000000000
Binary files a/imgs/renders/22448.png and /dev/null differ
diff --git a/imgs/renders/22452.png b/imgs/renders/22452.png
deleted file mode 100644
index 9424b7f8d..000000000
Binary files a/imgs/renders/22452.png and /dev/null differ
diff --git a/imgs/renders/22456.png b/imgs/renders/22456.png
deleted file mode 100644
index 7142c8782..000000000
Binary files a/imgs/renders/22456.png and /dev/null differ
diff --git a/imgs/renders/22460.png b/imgs/renders/22460.png
deleted file mode 100644
index 92dbd2e99..000000000
Binary files a/imgs/renders/22460.png and /dev/null differ
diff --git a/imgs/renders/22464.png b/imgs/renders/22464.png
deleted file mode 100644
index 3158871d7..000000000
Binary files a/imgs/renders/22464.png and /dev/null differ
diff --git a/imgs/renders/22466.png b/imgs/renders/22466.png
deleted file mode 100644
index 7b9e14b5c..000000000
Binary files a/imgs/renders/22466.png and /dev/null differ
diff --git a/imgs/renders/22468.png b/imgs/renders/22468.png
deleted file mode 100644
index d27945674..000000000
Binary files a/imgs/renders/22468.png and /dev/null differ
diff --git a/imgs/renders/22470.png b/imgs/renders/22470.png
deleted file mode 100644
index 2500548ad..000000000
Binary files a/imgs/renders/22470.png and /dev/null differ
diff --git a/imgs/renders/22474.png b/imgs/renders/22474.png
deleted file mode 100644
index dabff8d17..000000000
Binary files a/imgs/renders/22474.png and /dev/null differ
diff --git a/imgs/renders/22544.png b/imgs/renders/22544.png
deleted file mode 100644
index c7accef7b..000000000
Binary files a/imgs/renders/22544.png and /dev/null differ
diff --git a/imgs/renders/22546.png b/imgs/renders/22546.png
deleted file mode 100644
index 63d5120a1..000000000
Binary files a/imgs/renders/22546.png and /dev/null differ
diff --git a/imgs/renders/22548.png b/imgs/renders/22548.png
deleted file mode 100644
index a784a7952..000000000
Binary files a/imgs/renders/22548.png and /dev/null differ
diff --git a/imgs/renders/22852.png b/imgs/renders/22852.png
deleted file mode 100644
index 49d66346d..000000000
Binary files a/imgs/renders/22852.png and /dev/null differ
diff --git a/imgs/renders/2295.png b/imgs/renders/2295.png
new file mode 100644
index 000000000..a818b6b36
Binary files /dev/null and b/imgs/renders/2295.png differ
diff --git a/imgs/renders/23757.png b/imgs/renders/23757.png
deleted file mode 100644
index dd854d4df..000000000
Binary files a/imgs/renders/23757.png and /dev/null differ
diff --git a/imgs/renders/23773.png b/imgs/renders/23773.png
deleted file mode 100644
index f318658bd..000000000
Binary files a/imgs/renders/23773.png and /dev/null differ
diff --git a/imgs/renders/2382.png b/imgs/renders/2382.png
new file mode 100644
index 000000000..f788027e8
Binary files /dev/null and b/imgs/renders/2382.png differ
diff --git a/imgs/renders/2383.png b/imgs/renders/2383.png
new file mode 100644
index 000000000..daf484d79
Binary files /dev/null and b/imgs/renders/2383.png differ
diff --git a/imgs/renders/2384.png b/imgs/renders/2384.png
new file mode 100644
index 000000000..2d159cd80
Binary files /dev/null and b/imgs/renders/2384.png differ
diff --git a/imgs/renders/2385.png b/imgs/renders/2385.png
new file mode 100644
index 000000000..747c39f97
Binary files /dev/null and b/imgs/renders/2385.png differ
diff --git a/imgs/renders/2387.png b/imgs/renders/2387.png
new file mode 100644
index 000000000..91c63d231
Binary files /dev/null and b/imgs/renders/2387.png differ
diff --git a/imgs/renders/2388.png b/imgs/renders/2388.png
new file mode 100644
index 000000000..b9d52d9c8
Binary files /dev/null and b/imgs/renders/2388.png differ
diff --git a/imgs/renders/2389.png b/imgs/renders/2389.png
new file mode 100644
index 000000000..d56369225
Binary files /dev/null and b/imgs/renders/2389.png differ
diff --git a/imgs/renders/2390.png b/imgs/renders/2390.png
new file mode 100644
index 000000000..082750fb9
Binary files /dev/null and b/imgs/renders/2390.png differ
diff --git a/imgs/renders/23911.png b/imgs/renders/23911.png
deleted file mode 100644
index 8472b288c..000000000
Binary files a/imgs/renders/23911.png and /dev/null differ
diff --git a/imgs/renders/23913.png b/imgs/renders/23913.png
deleted file mode 100644
index cfddcdc15..000000000
Binary files a/imgs/renders/23913.png and /dev/null differ
diff --git a/imgs/renders/23915.png b/imgs/renders/23915.png
deleted file mode 100644
index 5ae1caf44..000000000
Binary files a/imgs/renders/23915.png and /dev/null differ
diff --git a/imgs/renders/23917.png b/imgs/renders/23917.png
deleted file mode 100644
index 714794ae5..000000000
Binary files a/imgs/renders/23917.png and /dev/null differ
diff --git a/imgs/renders/23919.png b/imgs/renders/23919.png
deleted file mode 100644
index 74e61caab..000000000
Binary files a/imgs/renders/23919.png and /dev/null differ
diff --git a/imgs/renders/24483.png b/imgs/renders/24483.png
deleted file mode 100644
index 007b6da8e..000000000
Binary files a/imgs/renders/24483.png and /dev/null differ
diff --git a/imgs/renders/24688.png b/imgs/renders/24688.png
deleted file mode 100644
index 6376a4d6d..000000000
Binary files a/imgs/renders/24688.png and /dev/null differ
diff --git a/imgs/renders/24690.png b/imgs/renders/24690.png
deleted file mode 100644
index 306a640d0..000000000
Binary files a/imgs/renders/24690.png and /dev/null differ
diff --git a/imgs/renders/24692.png b/imgs/renders/24692.png
deleted file mode 100644
index d91b62cbb..000000000
Binary files a/imgs/renders/24692.png and /dev/null differ
diff --git a/imgs/renders/24694.png b/imgs/renders/24694.png
deleted file mode 100644
index d8012a4c6..000000000
Binary files a/imgs/renders/24694.png and /dev/null differ
diff --git a/imgs/renders/24696.png b/imgs/renders/24696.png
deleted file mode 100644
index b01590821..000000000
Binary files a/imgs/renders/24696.png and /dev/null differ
diff --git a/imgs/renders/24698.png b/imgs/renders/24698.png
deleted file mode 100644
index a8c4c5cc0..000000000
Binary files a/imgs/renders/24698.png and /dev/null differ
diff --git a/imgs/renders/24700.png b/imgs/renders/24700.png
deleted file mode 100644
index 64a48a852..000000000
Binary files a/imgs/renders/24700.png and /dev/null differ
diff --git a/imgs/renders/24702.png b/imgs/renders/24702.png
deleted file mode 100644
index 1993c8469..000000000
Binary files a/imgs/renders/24702.png and /dev/null differ
diff --git a/imgs/renders/2522.png b/imgs/renders/2522.png
new file mode 100644
index 000000000..83a89a806
Binary files /dev/null and b/imgs/renders/2522.png differ
diff --git a/imgs/renders/2523.png b/imgs/renders/2523.png
new file mode 100644
index 000000000..d64be2c8c
Binary files /dev/null and b/imgs/renders/2523.png differ
diff --git a/imgs/renders/2524.png b/imgs/renders/2524.png
new file mode 100644
index 000000000..473cb847d
Binary files /dev/null and b/imgs/renders/2524.png differ
diff --git a/imgs/renders/2632.png b/imgs/renders/2632.png
new file mode 100644
index 000000000..6ce3fae3b
Binary files /dev/null and b/imgs/renders/2632.png differ
diff --git a/imgs/renders/2633.png b/imgs/renders/2633.png
new file mode 100644
index 000000000..e57bc5921
Binary files /dev/null and b/imgs/renders/2633.png differ
diff --git a/imgs/renders/2634.png b/imgs/renders/2634.png
new file mode 100644
index 000000000..32de7e243
Binary files /dev/null and b/imgs/renders/2634.png differ
diff --git a/imgs/renders/2635.png b/imgs/renders/2635.png
new file mode 100644
index 000000000..83b77b0aa
Binary files /dev/null and b/imgs/renders/2635.png differ
diff --git a/imgs/renders/2636.png b/imgs/renders/2636.png
new file mode 100644
index 000000000..8d4d8eb8e
Binary files /dev/null and b/imgs/renders/2636.png differ
diff --git a/imgs/renders/2642.png b/imgs/renders/2642.png
new file mode 100644
index 000000000..faa239356
Binary files /dev/null and b/imgs/renders/2642.png differ
diff --git a/imgs/renders/26840.png b/imgs/renders/26840.png
deleted file mode 100644
index aecd27c78..000000000
Binary files a/imgs/renders/26840.png and /dev/null differ
diff --git a/imgs/renders/26842.png b/imgs/renders/26842.png
deleted file mode 100644
index ae240f33e..000000000
Binary files a/imgs/renders/26842.png and /dev/null differ
diff --git a/imgs/renders/2709.png b/imgs/renders/2709.png
new file mode 100644
index 000000000..e437369b1
Binary files /dev/null and b/imgs/renders/2709.png differ
diff --git a/imgs/renders/2710.png b/imgs/renders/2710.png
new file mode 100644
index 000000000..7423caceb
Binary files /dev/null and b/imgs/renders/2710.png differ
diff --git a/imgs/renders/2711.png b/imgs/renders/2711.png
new file mode 100644
index 000000000..644459c8f
Binary files /dev/null and b/imgs/renders/2711.png differ
diff --git a/imgs/renders/2712.png b/imgs/renders/2712.png
new file mode 100644
index 000000000..361f98d65
Binary files /dev/null and b/imgs/renders/2712.png differ
diff --git a/imgs/renders/2713.png b/imgs/renders/2713.png
new file mode 100644
index 000000000..e5c2fcbd6
Binary files /dev/null and b/imgs/renders/2713.png differ
diff --git a/imgs/renders/2714.png b/imgs/renders/2714.png
new file mode 100644
index 000000000..dfed49028
Binary files /dev/null and b/imgs/renders/2714.png differ
diff --git a/imgs/renders/2715.png b/imgs/renders/2715.png
new file mode 100644
index 000000000..e2b157b37
Binary files /dev/null and b/imgs/renders/2715.png differ
diff --git a/imgs/renders/2716.png b/imgs/renders/2716.png
new file mode 100644
index 000000000..880dca8f5
Binary files /dev/null and b/imgs/renders/2716.png differ
diff --git a/imgs/renders/27299.png b/imgs/renders/27299.png
deleted file mode 100644
index a37af08c1..000000000
Binary files a/imgs/renders/27299.png and /dev/null differ
diff --git a/imgs/renders/27301.png b/imgs/renders/27301.png
deleted file mode 100644
index da561c922..000000000
Binary files a/imgs/renders/27301.png and /dev/null differ
diff --git a/imgs/renders/27303.png b/imgs/renders/27303.png
deleted file mode 100644
index 58f552426..000000000
Binary files a/imgs/renders/27303.png and /dev/null differ
diff --git a/imgs/renders/27305.png b/imgs/renders/27305.png
deleted file mode 100644
index f0ceaa0fa..000000000
Binary files a/imgs/renders/27305.png and /dev/null differ
diff --git a/imgs/renders/2737.png b/imgs/renders/2737.png
new file mode 100644
index 000000000..b52180477
Binary files /dev/null and b/imgs/renders/2737.png differ
diff --git a/imgs/renders/2738.png b/imgs/renders/2738.png
new file mode 100644
index 000000000..748126a42
Binary files /dev/null and b/imgs/renders/2738.png differ
diff --git a/imgs/renders/2739.png b/imgs/renders/2739.png
new file mode 100644
index 000000000..7272871cf
Binary files /dev/null and b/imgs/renders/2739.png differ
diff --git a/imgs/renders/2740.png b/imgs/renders/2740.png
new file mode 100644
index 000000000..c890051c0
Binary files /dev/null and b/imgs/renders/2740.png differ
diff --git a/imgs/renders/2743.png b/imgs/renders/2743.png
new file mode 100644
index 000000000..992742625
Binary files /dev/null and b/imgs/renders/2743.png differ
diff --git a/imgs/renders/2744.png b/imgs/renders/2744.png
new file mode 100644
index 000000000..cc0f586bc
Binary files /dev/null and b/imgs/renders/2744.png differ
diff --git a/imgs/renders/2755.png b/imgs/renders/2755.png
new file mode 100644
index 000000000..dff2d0aa8
Binary files /dev/null and b/imgs/renders/2755.png differ
diff --git a/imgs/renders/2786.png b/imgs/renders/2786.png
new file mode 100644
index 000000000..d090d0188
Binary files /dev/null and b/imgs/renders/2786.png differ
diff --git a/imgs/renders/2794.png b/imgs/renders/2794.png
new file mode 100644
index 000000000..649b65724
Binary files /dev/null and b/imgs/renders/2794.png differ
diff --git a/imgs/renders/2798.png b/imgs/renders/2798.png
new file mode 100644
index 000000000..53fd98d19
Binary files /dev/null and b/imgs/renders/2798.png differ
diff --git a/imgs/renders/2801.png b/imgs/renders/2801.png
new file mode 100644
index 000000000..edb632905
Binary files /dev/null and b/imgs/renders/2801.png differ
diff --git a/imgs/renders/2802.png b/imgs/renders/2802.png
new file mode 100644
index 000000000..146953185
Binary files /dev/null and b/imgs/renders/2802.png differ
diff --git a/imgs/renders/2804.png b/imgs/renders/2804.png
new file mode 100644
index 000000000..622e4e663
Binary files /dev/null and b/imgs/renders/2804.png differ
diff --git a/imgs/renders/2805.png b/imgs/renders/2805.png
new file mode 100644
index 000000000..4869cc2b3
Binary files /dev/null and b/imgs/renders/2805.png differ
diff --git a/imgs/renders/2807.png b/imgs/renders/2807.png
new file mode 100644
index 000000000..ea4959ddc
Binary files /dev/null and b/imgs/renders/2807.png differ
diff --git a/imgs/renders/2811.png b/imgs/renders/2811.png
new file mode 100644
index 000000000..067888b85
Binary files /dev/null and b/imgs/renders/2811.png differ
diff --git a/imgs/renders/2814.png b/imgs/renders/2814.png
new file mode 100644
index 000000000..bbb2f1b51
Binary files /dev/null and b/imgs/renders/2814.png differ
diff --git a/imgs/renders/2834.png b/imgs/renders/2834.png
deleted file mode 100644
index b9dcb96e3..000000000
Binary files a/imgs/renders/2834.png and /dev/null differ
diff --git a/imgs/renders/28352.png b/imgs/renders/28352.png
deleted file mode 100644
index b4991c240..000000000
Binary files a/imgs/renders/28352.png and /dev/null differ
diff --git a/imgs/renders/2836.png b/imgs/renders/2836.png
deleted file mode 100644
index 6a6f42330..000000000
Binary files a/imgs/renders/2836.png and /dev/null differ
diff --git a/imgs/renders/28606.png b/imgs/renders/28606.png
deleted file mode 100644
index 585522404..000000000
Binary files a/imgs/renders/28606.png and /dev/null differ
diff --git a/imgs/renders/2863.png b/imgs/renders/2863.png
deleted file mode 100644
index 04ff60da0..000000000
Binary files a/imgs/renders/2863.png and /dev/null differ
diff --git a/imgs/renders/28659.png b/imgs/renders/28659.png
deleted file mode 100644
index 61f8fdf30..000000000
Binary files a/imgs/renders/28659.png and /dev/null differ
diff --git a/imgs/renders/28661.png b/imgs/renders/28661.png
deleted file mode 100644
index d5dc3e86f..000000000
Binary files a/imgs/renders/28661.png and /dev/null differ
diff --git a/imgs/renders/28665.png b/imgs/renders/28665.png
deleted file mode 100644
index ce1b9b0a3..000000000
Binary files a/imgs/renders/28665.png and /dev/null differ
diff --git a/imgs/renders/28710.png b/imgs/renders/28710.png
deleted file mode 100644
index 44e2fd2f2..000000000
Binary files a/imgs/renders/28710.png and /dev/null differ
diff --git a/imgs/renders/28844.png b/imgs/renders/28844.png
deleted file mode 100644
index 60df79006..000000000
Binary files a/imgs/renders/28844.png and /dev/null differ
diff --git a/imgs/renders/28846.png b/imgs/renders/28846.png
deleted file mode 100644
index 31898e2a3..000000000
Binary files a/imgs/renders/28846.png and /dev/null differ
diff --git a/imgs/renders/28848.png b/imgs/renders/28848.png
deleted file mode 100644
index f50843aa5..000000000
Binary files a/imgs/renders/28848.png and /dev/null differ
diff --git a/imgs/renders/28850.png b/imgs/renders/28850.png
deleted file mode 100644
index 6bb510dce..000000000
Binary files a/imgs/renders/28850.png and /dev/null differ
diff --git a/imgs/renders/2894.png b/imgs/renders/2894.png
new file mode 100644
index 000000000..213accd0f
Binary files /dev/null and b/imgs/renders/2894.png differ
diff --git a/imgs/renders/2905.png b/imgs/renders/2905.png
new file mode 100644
index 000000000..1c6c411b0
Binary files /dev/null and b/imgs/renders/2905.png differ
diff --git a/imgs/renders/2906.png b/imgs/renders/2906.png
new file mode 100644
index 000000000..6a6fc75f1
Binary files /dev/null and b/imgs/renders/2906.png differ
diff --git a/imgs/renders/2909.png b/imgs/renders/2909.png
new file mode 100644
index 000000000..c661b0b8e
Binary files /dev/null and b/imgs/renders/2909.png differ
diff --git a/imgs/renders/2910.png b/imgs/renders/2910.png
new file mode 100644
index 000000000..ae229638e
Binary files /dev/null and b/imgs/renders/2910.png differ
diff --git a/imgs/renders/2911.png b/imgs/renders/2911.png
new file mode 100644
index 000000000..51b0917d4
Binary files /dev/null and b/imgs/renders/2911.png differ
diff --git a/imgs/renders/2912.png b/imgs/renders/2912.png
new file mode 100644
index 000000000..503fdfd20
Binary files /dev/null and b/imgs/renders/2912.png differ
diff --git a/imgs/renders/29248.png b/imgs/renders/29248.png
deleted file mode 100644
index 64af89c39..000000000
Binary files a/imgs/renders/29248.png and /dev/null differ
diff --git a/imgs/renders/2925.png b/imgs/renders/2925.png
new file mode 100644
index 000000000..affff46ed
Binary files /dev/null and b/imgs/renders/2925.png differ
diff --git a/imgs/renders/2926.png b/imgs/renders/2926.png
new file mode 100644
index 000000000..1eb3c1b4e
Binary files /dev/null and b/imgs/renders/2926.png differ
diff --git a/imgs/renders/29266.png b/imgs/renders/29266.png
deleted file mode 100644
index 073a8955d..000000000
Binary files a/imgs/renders/29266.png and /dev/null differ
diff --git a/imgs/renders/2928.png b/imgs/renders/2928.png
new file mode 100644
index 000000000..9bdce46ad
Binary files /dev/null and b/imgs/renders/2928.png differ
diff --git a/imgs/renders/2929.png b/imgs/renders/2929.png
new file mode 100644
index 000000000..0295ddd2d
Binary files /dev/null and b/imgs/renders/2929.png differ
diff --git a/imgs/renders/2930.png b/imgs/renders/2930.png
new file mode 100644
index 000000000..cb53959f7
Binary files /dev/null and b/imgs/renders/2930.png differ
diff --git a/imgs/renders/2931.png b/imgs/renders/2931.png
new file mode 100644
index 000000000..d26f5a1eb
Binary files /dev/null and b/imgs/renders/2931.png differ
diff --git a/imgs/renders/2932.png b/imgs/renders/2932.png
new file mode 100644
index 000000000..1fdad3fd6
Binary files /dev/null and b/imgs/renders/2932.png differ
diff --git a/imgs/renders/29336.png b/imgs/renders/29336.png
deleted file mode 100644
index c80a4674a..000000000
Binary files a/imgs/renders/29336.png and /dev/null differ
diff --git a/imgs/renders/29337.png b/imgs/renders/29337.png
deleted file mode 100644
index 4c58953e7..000000000
Binary files a/imgs/renders/29337.png and /dev/null differ
diff --git a/imgs/renders/29340.png b/imgs/renders/29340.png
deleted file mode 100644
index 1879bf84e..000000000
Binary files a/imgs/renders/29340.png and /dev/null differ
diff --git a/imgs/renders/29344.png b/imgs/renders/29344.png
deleted file mode 100644
index b1cc30a56..000000000
Binary files a/imgs/renders/29344.png and /dev/null differ
diff --git a/imgs/renders/2938.png b/imgs/renders/2938.png
new file mode 100644
index 000000000..01008cc86
Binary files /dev/null and b/imgs/renders/2938.png differ
diff --git a/imgs/renders/2939.png b/imgs/renders/2939.png
new file mode 100644
index 000000000..ff69c1f5d
Binary files /dev/null and b/imgs/renders/2939.png differ
diff --git a/imgs/renders/2940.png b/imgs/renders/2940.png
new file mode 100644
index 000000000..306b6618d
Binary files /dev/null and b/imgs/renders/2940.png differ
diff --git a/imgs/renders/2942.png b/imgs/renders/2942.png
new file mode 100644
index 000000000..bdaec696a
Binary files /dev/null and b/imgs/renders/2942.png differ
diff --git a/imgs/renders/296.png b/imgs/renders/296.png
new file mode 100644
index 000000000..c9c775197
Binary files /dev/null and b/imgs/renders/296.png differ
diff --git a/imgs/renders/297.png b/imgs/renders/297.png
new file mode 100644
index 000000000..9347c5a5b
Binary files /dev/null and b/imgs/renders/297.png differ
diff --git a/imgs/renders/298.png b/imgs/renders/298.png
new file mode 100644
index 000000000..9be1318ae
Binary files /dev/null and b/imgs/renders/298.png differ
diff --git a/imgs/renders/299.png b/imgs/renders/299.png
new file mode 100644
index 000000000..7fa2d4785
Binary files /dev/null and b/imgs/renders/299.png differ
diff --git a/imgs/renders/2998.png b/imgs/renders/2998.png
deleted file mode 100644
index 94630a292..000000000
Binary files a/imgs/renders/2998.png and /dev/null differ
diff --git a/imgs/renders/29984.png b/imgs/renders/29984.png
deleted file mode 100644
index 3a126e25f..000000000
Binary files a/imgs/renders/29984.png and /dev/null differ
diff --git a/imgs/renders/29986.png b/imgs/renders/29986.png
deleted file mode 100644
index 5adfd68e1..000000000
Binary files a/imgs/renders/29986.png and /dev/null differ
diff --git a/imgs/renders/29988.png b/imgs/renders/29988.png
deleted file mode 100644
index 5e31d6689..000000000
Binary files a/imgs/renders/29988.png and /dev/null differ
diff --git a/imgs/renders/29990.png b/imgs/renders/29990.png
deleted file mode 100644
index 529f59377..000000000
Binary files a/imgs/renders/29990.png and /dev/null differ
diff --git a/imgs/renders/300.png b/imgs/renders/300.png
new file mode 100644
index 000000000..17a4f727a
Binary files /dev/null and b/imgs/renders/300.png differ
diff --git a/imgs/renders/301.png b/imgs/renders/301.png
new file mode 100644
index 000000000..7289b5453
Binary files /dev/null and b/imgs/renders/301.png differ
diff --git a/imgs/renders/302.png b/imgs/renders/302.png
new file mode 100644
index 000000000..d600bf8d2
Binary files /dev/null and b/imgs/renders/302.png differ
diff --git a/imgs/renders/3020.png b/imgs/renders/3020.png
new file mode 100644
index 000000000..f6d281f90
Binary files /dev/null and b/imgs/renders/3020.png differ
diff --git a/imgs/renders/303.png b/imgs/renders/303.png
new file mode 100644
index 000000000..5f8158adf
Binary files /dev/null and b/imgs/renders/303.png differ
diff --git a/imgs/renders/304.png b/imgs/renders/304.png
new file mode 100644
index 000000000..58eee6e34
Binary files /dev/null and b/imgs/renders/304.png differ
diff --git a/imgs/renders/305.png b/imgs/renders/305.png
new file mode 100644
index 000000000..be6f1e952
Binary files /dev/null and b/imgs/renders/305.png differ
diff --git a/imgs/renders/306.png b/imgs/renders/306.png
new file mode 100644
index 000000000..87b6bf145
Binary files /dev/null and b/imgs/renders/306.png differ
diff --git a/imgs/renders/308.png b/imgs/renders/308.png
new file mode 100644
index 000000000..a4166ca7e
Binary files /dev/null and b/imgs/renders/308.png differ
diff --git a/imgs/renders/30842.png b/imgs/renders/30842.png
deleted file mode 100644
index 2831b8c55..000000000
Binary files a/imgs/renders/30842.png and /dev/null differ
diff --git a/imgs/renders/309.png b/imgs/renders/309.png
new file mode 100644
index 000000000..4272d403e
Binary files /dev/null and b/imgs/renders/309.png differ
diff --git a/imgs/renders/310.png b/imgs/renders/310.png
new file mode 100644
index 000000000..e810a525a
Binary files /dev/null and b/imgs/renders/310.png differ
diff --git a/imgs/renders/311.png b/imgs/renders/311.png
new file mode 100644
index 000000000..7bac7bfbe
Binary files /dev/null and b/imgs/renders/311.png differ
diff --git a/imgs/renders/312.png b/imgs/renders/312.png
new file mode 100644
index 000000000..93be20fc6
Binary files /dev/null and b/imgs/renders/312.png differ
diff --git a/imgs/renders/313.png b/imgs/renders/313.png
new file mode 100644
index 000000000..1ab81e5d7
Binary files /dev/null and b/imgs/renders/313.png differ
diff --git a/imgs/renders/3132.png b/imgs/renders/3132.png
new file mode 100644
index 000000000..21b3f8146
Binary files /dev/null and b/imgs/renders/3132.png differ
diff --git a/imgs/renders/3133.png b/imgs/renders/3133.png
new file mode 100644
index 000000000..c56e40ad8
Binary files /dev/null and b/imgs/renders/3133.png differ
diff --git a/imgs/renders/3134.png b/imgs/renders/3134.png
new file mode 100644
index 000000000..20e6f9e07
Binary files /dev/null and b/imgs/renders/3134.png differ
diff --git a/imgs/renders/3135.png b/imgs/renders/3135.png
new file mode 100644
index 000000000..b203b719c
Binary files /dev/null and b/imgs/renders/3135.png differ
diff --git a/imgs/renders/314.png b/imgs/renders/314.png
new file mode 100644
index 000000000..3afed99e3
Binary files /dev/null and b/imgs/renders/314.png differ
diff --git a/imgs/renders/316.png b/imgs/renders/316.png
new file mode 100644
index 000000000..4f2e53bf4
Binary files /dev/null and b/imgs/renders/316.png differ
diff --git a/imgs/renders/3168.png b/imgs/renders/3168.png
new file mode 100644
index 000000000..afd6849a8
Binary files /dev/null and b/imgs/renders/3168.png differ
diff --git a/imgs/renders/3169.png b/imgs/renders/3169.png
new file mode 100644
index 000000000..b1d3f187c
Binary files /dev/null and b/imgs/renders/3169.png differ
diff --git a/imgs/renders/317.png b/imgs/renders/317.png
new file mode 100644
index 000000000..3e95ed11a
Binary files /dev/null and b/imgs/renders/317.png differ
diff --git a/imgs/renders/3170.png b/imgs/renders/3170.png
new file mode 100644
index 000000000..0c6786b73
Binary files /dev/null and b/imgs/renders/3170.png differ
diff --git a/imgs/renders/318.png b/imgs/renders/318.png
new file mode 100644
index 000000000..c17afcdd8
Binary files /dev/null and b/imgs/renders/318.png differ
diff --git a/imgs/renders/319.png b/imgs/renders/319.png
new file mode 100644
index 000000000..344a09c2f
Binary files /dev/null and b/imgs/renders/319.png differ
diff --git a/imgs/renders/320.png b/imgs/renders/320.png
new file mode 100644
index 000000000..d1087c7a1
Binary files /dev/null and b/imgs/renders/320.png differ
diff --git a/imgs/renders/3204.png b/imgs/renders/3204.png
new file mode 100644
index 000000000..8d66a2c90
Binary files /dev/null and b/imgs/renders/3204.png differ
diff --git a/imgs/renders/3205.png b/imgs/renders/3205.png
new file mode 100644
index 000000000..15a06c49e
Binary files /dev/null and b/imgs/renders/3205.png differ
diff --git a/imgs/renders/3207.png b/imgs/renders/3207.png
new file mode 100644
index 000000000..769c51579
Binary files /dev/null and b/imgs/renders/3207.png differ
diff --git a/imgs/renders/321.png b/imgs/renders/321.png
new file mode 100644
index 000000000..580e39d2b
Binary files /dev/null and b/imgs/renders/321.png differ
diff --git a/imgs/renders/322.png b/imgs/renders/322.png
new file mode 100644
index 000000000..b51b9815c
Binary files /dev/null and b/imgs/renders/322.png differ
diff --git a/imgs/renders/32207.png b/imgs/renders/32207.png
deleted file mode 100644
index 240347bd4..000000000
Binary files a/imgs/renders/32207.png and /dev/null differ
diff --git a/imgs/renders/32209.png b/imgs/renders/32209.png
deleted file mode 100644
index 38d534a39..000000000
Binary files a/imgs/renders/32209.png and /dev/null differ
diff --git a/imgs/renders/323.png b/imgs/renders/323.png
new file mode 100644
index 000000000..e921f3b8e
Binary files /dev/null and b/imgs/renders/323.png differ
diff --git a/imgs/renders/32305.png b/imgs/renders/32305.png
deleted file mode 100644
index f6d5b9ef3..000000000
Binary files a/imgs/renders/32305.png and /dev/null differ
diff --git a/imgs/renders/32307.png b/imgs/renders/32307.png
deleted file mode 100644
index e79bb5c52..000000000
Binary files a/imgs/renders/32307.png and /dev/null differ
diff --git a/imgs/renders/32309.png b/imgs/renders/32309.png
deleted file mode 100644
index 83443e7a6..000000000
Binary files a/imgs/renders/32309.png and /dev/null differ
diff --git a/imgs/renders/32311.png b/imgs/renders/32311.png
deleted file mode 100644
index 630fce427..000000000
Binary files a/imgs/renders/32311.png and /dev/null differ
diff --git a/imgs/renders/324.png b/imgs/renders/324.png
new file mode 100644
index 000000000..92c127d16
Binary files /dev/null and b/imgs/renders/324.png differ
diff --git a/imgs/renders/325.png b/imgs/renders/325.png
new file mode 100644
index 000000000..3bab3c461
Binary files /dev/null and b/imgs/renders/325.png differ
diff --git a/imgs/renders/326.png b/imgs/renders/326.png
new file mode 100644
index 000000000..4c2b5d201
Binary files /dev/null and b/imgs/renders/326.png differ
diff --git a/imgs/renders/327.png b/imgs/renders/327.png
new file mode 100644
index 000000000..305005ea3
Binary files /dev/null and b/imgs/renders/327.png differ
diff --git a/imgs/renders/32788.png b/imgs/renders/32788.png
deleted file mode 100644
index 2cdd23f36..000000000
Binary files a/imgs/renders/32788.png and /dev/null differ
diff --git a/imgs/renders/32790.png b/imgs/renders/32790.png
deleted file mode 100644
index b38da752c..000000000
Binary files a/imgs/renders/32790.png and /dev/null differ
diff --git a/imgs/renders/328.png b/imgs/renders/328.png
new file mode 100644
index 000000000..0d2b4f28a
Binary files /dev/null and b/imgs/renders/328.png differ
diff --git a/imgs/renders/32811.png b/imgs/renders/32811.png
deleted file mode 100644
index 56636bd3a..000000000
Binary files a/imgs/renders/32811.png and /dev/null differ
diff --git a/imgs/renders/32872.png b/imgs/renders/32872.png
deleted file mode 100644
index cf6607d03..000000000
Binary files a/imgs/renders/32872.png and /dev/null differ
diff --git a/imgs/renders/32874.png b/imgs/renders/32874.png
deleted file mode 100644
index 6b7d449a4..000000000
Binary files a/imgs/renders/32874.png and /dev/null differ
diff --git a/imgs/renders/32876.png b/imgs/renders/32876.png
deleted file mode 100644
index 572a7f3d7..000000000
Binary files a/imgs/renders/32876.png and /dev/null differ
diff --git a/imgs/renders/32878.png b/imgs/renders/32878.png
deleted file mode 100644
index 4146be95e..000000000
Binary files a/imgs/renders/32878.png and /dev/null differ
diff --git a/imgs/renders/32880.png b/imgs/renders/32880.png
deleted file mode 100644
index 356d98c4f..000000000
Binary files a/imgs/renders/32880.png and /dev/null differ
diff --git a/imgs/renders/330.png b/imgs/renders/330.png
new file mode 100644
index 000000000..ffaa4d1a3
Binary files /dev/null and b/imgs/renders/330.png differ
diff --git a/imgs/renders/33079.png b/imgs/renders/33079.png
deleted file mode 100644
index 3db3be1a5..000000000
Binary files a/imgs/renders/33079.png and /dev/null differ
diff --git a/imgs/renders/33081.png b/imgs/renders/33081.png
deleted file mode 100644
index bb3a03933..000000000
Binary files a/imgs/renders/33081.png and /dev/null differ
diff --git a/imgs/renders/33083.png b/imgs/renders/33083.png
deleted file mode 100644
index ccba8c16d..000000000
Binary files a/imgs/renders/33083.png and /dev/null differ
diff --git a/imgs/renders/33151.png b/imgs/renders/33151.png
deleted file mode 100644
index 4f958d5b4..000000000
Binary files a/imgs/renders/33151.png and /dev/null differ
diff --git a/imgs/renders/33153.png b/imgs/renders/33153.png
deleted file mode 100644
index 13f671270..000000000
Binary files a/imgs/renders/33153.png and /dev/null differ
diff --git a/imgs/renders/33155.png b/imgs/renders/33155.png
deleted file mode 100644
index 5947fd012..000000000
Binary files a/imgs/renders/33155.png and /dev/null differ
diff --git a/imgs/renders/33157.png b/imgs/renders/33157.png
deleted file mode 100644
index 99a5aa38c..000000000
Binary files a/imgs/renders/33157.png and /dev/null differ
diff --git a/imgs/renders/3331.png b/imgs/renders/3331.png
new file mode 100644
index 000000000..fd0ef771c
Binary files /dev/null and b/imgs/renders/3331.png differ
diff --git a/imgs/renders/33395.png b/imgs/renders/33395.png
deleted file mode 100644
index c6bdb66aa..000000000
Binary files a/imgs/renders/33395.png and /dev/null differ
diff --git a/imgs/renders/33397.png b/imgs/renders/33397.png
deleted file mode 100644
index fb5fb512f..000000000
Binary files a/imgs/renders/33397.png and /dev/null differ
diff --git a/imgs/renders/33468.png b/imgs/renders/33468.png
deleted file mode 100644
index 6606f2c69..000000000
Binary files a/imgs/renders/33468.png and /dev/null differ
diff --git a/imgs/renders/33470.png b/imgs/renders/33470.png
deleted file mode 100644
index 9cca50559..000000000
Binary files a/imgs/renders/33470.png and /dev/null differ
diff --git a/imgs/renders/33472.png b/imgs/renders/33472.png
deleted file mode 100644
index 351044eb5..000000000
Binary files a/imgs/renders/33472.png and /dev/null differ
diff --git a/imgs/renders/3349.png b/imgs/renders/3349.png
new file mode 100644
index 000000000..52f823161
Binary files /dev/null and b/imgs/renders/3349.png differ
diff --git a/imgs/renders/335.png b/imgs/renders/335.png
new file mode 100644
index 000000000..12946c678
Binary files /dev/null and b/imgs/renders/335.png differ
diff --git a/imgs/renders/3350.png b/imgs/renders/3350.png
new file mode 100644
index 000000000..b0b983b40
Binary files /dev/null and b/imgs/renders/3350.png differ
diff --git a/imgs/renders/3351.png b/imgs/renders/3351.png
new file mode 100644
index 000000000..97f5d21b3
Binary files /dev/null and b/imgs/renders/3351.png differ
diff --git a/imgs/renders/33513.png b/imgs/renders/33513.png
deleted file mode 100644
index 15e7c9a17..000000000
Binary files a/imgs/renders/33513.png and /dev/null differ
diff --git a/imgs/renders/3352.png b/imgs/renders/3352.png
new file mode 100644
index 000000000..53a6b27fa
Binary files /dev/null and b/imgs/renders/3352.png differ
diff --git a/imgs/renders/3353.png b/imgs/renders/3353.png
new file mode 100644
index 000000000..ee643cfa1
Binary files /dev/null and b/imgs/renders/3353.png differ
diff --git a/imgs/renders/3354.png b/imgs/renders/3354.png
new file mode 100644
index 000000000..5137bb437
Binary files /dev/null and b/imgs/renders/3354.png differ
diff --git a/imgs/renders/3355.png b/imgs/renders/3355.png
new file mode 100644
index 000000000..d6c18617d
Binary files /dev/null and b/imgs/renders/3355.png differ
diff --git a/imgs/renders/33553.png b/imgs/renders/33553.png
deleted file mode 100644
index 19d7dfa45..000000000
Binary files a/imgs/renders/33553.png and /dev/null differ
diff --git a/imgs/renders/3356.png b/imgs/renders/3356.png
new file mode 100644
index 000000000..a24de44ec
Binary files /dev/null and b/imgs/renders/3356.png differ
diff --git a/imgs/renders/3357.png b/imgs/renders/3357.png
new file mode 100644
index 000000000..a57601104
Binary files /dev/null and b/imgs/renders/3357.png differ
diff --git a/imgs/renders/3359.png b/imgs/renders/3359.png
new file mode 100644
index 000000000..2912ef7df
Binary files /dev/null and b/imgs/renders/3359.png differ
diff --git a/imgs/renders/3360.png b/imgs/renders/3360.png
new file mode 100644
index 000000000..bb2a89a6c
Binary files /dev/null and b/imgs/renders/3360.png differ
diff --git a/imgs/renders/3361.png b/imgs/renders/3361.png
new file mode 100644
index 000000000..d59b14e2a
Binary files /dev/null and b/imgs/renders/3361.png differ
diff --git a/imgs/renders/3362.png b/imgs/renders/3362.png
new file mode 100644
index 000000000..da3b82353
Binary files /dev/null and b/imgs/renders/3362.png differ
diff --git a/imgs/renders/3363.png b/imgs/renders/3363.png
new file mode 100644
index 000000000..1bc577f2a
Binary files /dev/null and b/imgs/renders/3363.png differ
diff --git a/imgs/renders/3364.png b/imgs/renders/3364.png
new file mode 100644
index 000000000..9f76b9c73
Binary files /dev/null and b/imgs/renders/3364.png differ
diff --git a/imgs/renders/3365.png b/imgs/renders/3365.png
new file mode 100644
index 000000000..30fd81f9c
Binary files /dev/null and b/imgs/renders/3365.png differ
diff --git a/imgs/renders/3367.png b/imgs/renders/3367.png
new file mode 100644
index 000000000..b983d0119
Binary files /dev/null and b/imgs/renders/3367.png differ
diff --git a/imgs/renders/33673.png b/imgs/renders/33673.png
deleted file mode 100644
index c1962ea45..000000000
Binary files a/imgs/renders/33673.png and /dev/null differ
diff --git a/imgs/renders/33675.png b/imgs/renders/33675.png
deleted file mode 100644
index 5b9d7cb13..000000000
Binary files a/imgs/renders/33675.png and /dev/null differ
diff --git a/imgs/renders/33697.png b/imgs/renders/33697.png
deleted file mode 100644
index 0e53faa6c..000000000
Binary files a/imgs/renders/33697.png and /dev/null differ
diff --git a/imgs/renders/337.png b/imgs/renders/337.png
new file mode 100644
index 000000000..a07e99639
Binary files /dev/null and b/imgs/renders/337.png differ
diff --git a/imgs/renders/338.png b/imgs/renders/338.png
new file mode 100644
index 000000000..cd6d95ce8
Binary files /dev/null and b/imgs/renders/338.png differ
diff --git a/imgs/renders/33816.png b/imgs/renders/33816.png
deleted file mode 100644
index f3fd0e670..000000000
Binary files a/imgs/renders/33816.png and /dev/null differ
diff --git a/imgs/renders/33818.png b/imgs/renders/33818.png
deleted file mode 100644
index 7e572efa8..000000000
Binary files a/imgs/renders/33818.png and /dev/null differ
diff --git a/imgs/renders/33820.png b/imgs/renders/33820.png
deleted file mode 100644
index 91cd5aba9..000000000
Binary files a/imgs/renders/33820.png and /dev/null differ
diff --git a/imgs/renders/341.png b/imgs/renders/341.png
new file mode 100644
index 000000000..567d10c98
Binary files /dev/null and b/imgs/renders/341.png differ
diff --git a/imgs/renders/34151.png b/imgs/renders/34151.png
deleted file mode 100644
index 7dad71ef8..000000000
Binary files a/imgs/renders/34151.png and /dev/null differ
diff --git a/imgs/renders/3424.png b/imgs/renders/3424.png
new file mode 100644
index 000000000..8865181d3
Binary files /dev/null and b/imgs/renders/3424.png differ
diff --git a/imgs/renders/343.png b/imgs/renders/343.png
new file mode 100644
index 000000000..9802dcaae
Binary files /dev/null and b/imgs/renders/343.png differ
diff --git a/imgs/renders/34317.png b/imgs/renders/34317.png
deleted file mode 100644
index d3604598e..000000000
Binary files a/imgs/renders/34317.png and /dev/null differ
diff --git a/imgs/renders/34328.png b/imgs/renders/34328.png
deleted file mode 100644
index 9f4d50b8a..000000000
Binary files a/imgs/renders/34328.png and /dev/null differ
diff --git a/imgs/renders/34496.png b/imgs/renders/34496.png
deleted file mode 100644
index 78a3c7eb2..000000000
Binary files a/imgs/renders/34496.png and /dev/null differ
diff --git a/imgs/renders/34562.png b/imgs/renders/34562.png
deleted file mode 100644
index 03200d301..000000000
Binary files a/imgs/renders/34562.png and /dev/null differ
diff --git a/imgs/renders/34590.png b/imgs/renders/34590.png
deleted file mode 100644
index 0b80f3cd9..000000000
Binary files a/imgs/renders/34590.png and /dev/null differ
diff --git a/imgs/renders/3466.png b/imgs/renders/3466.png
new file mode 100644
index 000000000..80c5ec991
Binary files /dev/null and b/imgs/renders/3466.png differ
diff --git a/imgs/renders/34828.png b/imgs/renders/34828.png
deleted file mode 100644
index 93ada7c87..000000000
Binary files a/imgs/renders/34828.png and /dev/null differ
diff --git a/imgs/renders/3514.png b/imgs/renders/3514.png
deleted file mode 100644
index 48e552bbd..000000000
Binary files a/imgs/renders/3514.png and /dev/null differ
diff --git a/imgs/renders/3516.png b/imgs/renders/3516.png
deleted file mode 100644
index 29f9b1122..000000000
Binary files a/imgs/renders/3516.png and /dev/null differ
diff --git a/imgs/renders/3518.png b/imgs/renders/3518.png
deleted file mode 100644
index a7aec2248..000000000
Binary files a/imgs/renders/3518.png and /dev/null differ
diff --git a/imgs/renders/3532.png b/imgs/renders/3532.png
deleted file mode 100644
index 0ee7ed351..000000000
Binary files a/imgs/renders/3532.png and /dev/null differ
diff --git a/imgs/renders/35683.png b/imgs/renders/35683.png
deleted file mode 100644
index 3413a046b..000000000
Binary files a/imgs/renders/35683.png and /dev/null differ
diff --git a/imgs/renders/35779.png b/imgs/renders/35779.png
deleted file mode 100644
index d215ec668..000000000
Binary files a/imgs/renders/35779.png and /dev/null differ
diff --git a/imgs/renders/35781.png b/imgs/renders/35781.png
deleted file mode 100644
index e7de9f9e6..000000000
Binary files a/imgs/renders/35781.png and /dev/null differ
diff --git a/imgs/renders/35825.png b/imgs/renders/35825.png
deleted file mode 100644
index beb2f0592..000000000
Binary files a/imgs/renders/35825.png and /dev/null differ
diff --git a/imgs/renders/35826.png b/imgs/renders/35826.png
deleted file mode 100644
index da511d002..000000000
Binary files a/imgs/renders/35826.png and /dev/null differ
diff --git a/imgs/renders/35827.png b/imgs/renders/35827.png
deleted file mode 100644
index b36e40c3e..000000000
Binary files a/imgs/renders/35827.png and /dev/null differ
diff --git a/imgs/renders/35832.png b/imgs/renders/35832.png
deleted file mode 100644
index e4f3f70d8..000000000
Binary files a/imgs/renders/35832.png and /dev/null differ
diff --git a/imgs/renders/35833.png b/imgs/renders/35833.png
deleted file mode 100644
index bc3743124..000000000
Binary files a/imgs/renders/35833.png and /dev/null differ
diff --git a/imgs/renders/35834.png b/imgs/renders/35834.png
deleted file mode 100644
index 9224ba047..000000000
Binary files a/imgs/renders/35834.png and /dev/null differ
diff --git a/imgs/renders/35835.png b/imgs/renders/35835.png
deleted file mode 100644
index ebe9e3dc5..000000000
Binary files a/imgs/renders/35835.png and /dev/null differ
diff --git a/imgs/renders/35836.png b/imgs/renders/35836.png
deleted file mode 100644
index 0b0782ce0..000000000
Binary files a/imgs/renders/35836.png and /dev/null differ
diff --git a/imgs/renders/37135.png b/imgs/renders/37135.png
deleted file mode 100644
index 9f596de10..000000000
Binary files a/imgs/renders/37135.png and /dev/null differ
diff --git a/imgs/renders/3714.png b/imgs/renders/3714.png
new file mode 100644
index 000000000..bfcc08609
Binary files /dev/null and b/imgs/renders/3714.png differ
diff --git a/imgs/renders/37453.png b/imgs/renders/37453.png
deleted file mode 100644
index 575a418bb..000000000
Binary files a/imgs/renders/37453.png and /dev/null differ
diff --git a/imgs/renders/37454.png b/imgs/renders/37454.png
deleted file mode 100644
index 31ac83e1f..000000000
Binary files a/imgs/renders/37454.png and /dev/null differ
diff --git a/imgs/renders/37455.png b/imgs/renders/37455.png
deleted file mode 100644
index b30b4b88e..000000000
Binary files a/imgs/renders/37455.png and /dev/null differ
diff --git a/imgs/renders/37456.png b/imgs/renders/37456.png
deleted file mode 100644
index 0edfbec2b..000000000
Binary files a/imgs/renders/37456.png and /dev/null differ
diff --git a/imgs/renders/37457.png b/imgs/renders/37457.png
deleted file mode 100644
index 8f42b0bdf..000000000
Binary files a/imgs/renders/37457.png and /dev/null differ
diff --git a/imgs/renders/37458.png b/imgs/renders/37458.png
deleted file mode 100644
index 5a20a743c..000000000
Binary files a/imgs/renders/37458.png and /dev/null differ
diff --git a/imgs/renders/37459.png b/imgs/renders/37459.png
deleted file mode 100644
index ff745cd26..000000000
Binary files a/imgs/renders/37459.png and /dev/null differ
diff --git a/imgs/renders/37460.png b/imgs/renders/37460.png
deleted file mode 100644
index 4ff569799..000000000
Binary files a/imgs/renders/37460.png and /dev/null differ
diff --git a/imgs/renders/37480.png b/imgs/renders/37480.png
deleted file mode 100644
index 79ef03e0f..000000000
Binary files a/imgs/renders/37480.png and /dev/null differ
diff --git a/imgs/renders/37481.png b/imgs/renders/37481.png
deleted file mode 100644
index 9bc8184d7..000000000
Binary files a/imgs/renders/37481.png and /dev/null differ
diff --git a/imgs/renders/37482.png b/imgs/renders/37482.png
deleted file mode 100644
index 609367af8..000000000
Binary files a/imgs/renders/37482.png and /dev/null differ
diff --git a/imgs/renders/37483.png b/imgs/renders/37483.png
deleted file mode 100644
index 22347022d..000000000
Binary files a/imgs/renders/37483.png and /dev/null differ
diff --git a/imgs/renders/3756.png b/imgs/renders/3756.png
deleted file mode 100644
index d1c1d6d09..000000000
Binary files a/imgs/renders/3756.png and /dev/null differ
diff --git a/imgs/renders/37604.png b/imgs/renders/37604.png
deleted file mode 100644
index 8c2eb4343..000000000
Binary files a/imgs/renders/37604.png and /dev/null differ
diff --git a/imgs/renders/37605.png b/imgs/renders/37605.png
deleted file mode 100644
index 07c1eb99f..000000000
Binary files a/imgs/renders/37605.png and /dev/null differ
diff --git a/imgs/renders/37606.png b/imgs/renders/37606.png
deleted file mode 100644
index 317a37c20..000000000
Binary files a/imgs/renders/37606.png and /dev/null differ
diff --git a/imgs/renders/37607.png b/imgs/renders/37607.png
deleted file mode 100644
index 1cd489c7e..000000000
Binary files a/imgs/renders/37607.png and /dev/null differ
diff --git a/imgs/renders/3764.png b/imgs/renders/3764.png
deleted file mode 100644
index 8d25f7825..000000000
Binary files a/imgs/renders/3764.png and /dev/null differ
diff --git a/imgs/renders/3766.png b/imgs/renders/3766.png
deleted file mode 100644
index b6e27f7c1..000000000
Binary files a/imgs/renders/3766.png and /dev/null differ
diff --git a/imgs/renders/3799.png b/imgs/renders/3799.png
new file mode 100644
index 000000000..a0de48c35
Binary files /dev/null and b/imgs/renders/3799.png differ
diff --git a/imgs/renders/38.png b/imgs/renders/38.png
new file mode 100644
index 000000000..6d17e8f06
Binary files /dev/null and b/imgs/renders/38.png differ
diff --git a/imgs/renders/3800.png b/imgs/renders/3800.png
new file mode 100644
index 000000000..7746c0eb9
Binary files /dev/null and b/imgs/renders/3800.png differ
diff --git a/imgs/renders/3814.png b/imgs/renders/3814.png
new file mode 100644
index 000000000..62e54b7e0
Binary files /dev/null and b/imgs/renders/3814.png differ
diff --git a/imgs/renders/3815.png b/imgs/renders/3815.png
new file mode 100644
index 000000000..5555e1d58
Binary files /dev/null and b/imgs/renders/3815.png differ
diff --git a/imgs/renders/39.png b/imgs/renders/39.png
new file mode 100644
index 000000000..169d189c4
Binary files /dev/null and b/imgs/renders/39.png differ
diff --git a/imgs/renders/40.png b/imgs/renders/40.png
new file mode 100644
index 000000000..1f168195c
Binary files /dev/null and b/imgs/renders/40.png differ
diff --git a/imgs/renders/40340.png b/imgs/renders/40340.png
deleted file mode 100644
index 38e9179ac..000000000
Binary files a/imgs/renders/40340.png and /dev/null differ
diff --git a/imgs/renders/41.png b/imgs/renders/41.png
new file mode 100644
index 000000000..875f340b9
Binary files /dev/null and b/imgs/renders/41.png differ
diff --git a/imgs/renders/42.png b/imgs/renders/42.png
new file mode 100644
index 000000000..348b594b6
Binary files /dev/null and b/imgs/renders/42.png differ
diff --git a/imgs/renders/42124.png b/imgs/renders/42124.png
deleted file mode 100644
index 081dee596..000000000
Binary files a/imgs/renders/42124.png and /dev/null differ
diff --git a/imgs/renders/42125.png b/imgs/renders/42125.png
deleted file mode 100644
index aa58bed96..000000000
Binary files a/imgs/renders/42125.png and /dev/null differ
diff --git a/imgs/renders/42126.png b/imgs/renders/42126.png
deleted file mode 100644
index a27d4a533..000000000
Binary files a/imgs/renders/42126.png and /dev/null differ
diff --git a/imgs/renders/42241.png b/imgs/renders/42241.png
deleted file mode 100644
index 14dc0ee57..000000000
Binary files a/imgs/renders/42241.png and /dev/null differ
diff --git a/imgs/renders/42242.png b/imgs/renders/42242.png
deleted file mode 100644
index 3610d4afe..000000000
Binary files a/imgs/renders/42242.png and /dev/null differ
diff --git a/imgs/renders/42243.png b/imgs/renders/42243.png
deleted file mode 100644
index 14e131173..000000000
Binary files a/imgs/renders/42243.png and /dev/null differ
diff --git a/imgs/renders/42244.png b/imgs/renders/42244.png
deleted file mode 100644
index 2424e9bab..000000000
Binary files a/imgs/renders/42244.png and /dev/null differ
diff --git a/imgs/renders/42245.png b/imgs/renders/42245.png
deleted file mode 100644
index ba85060bf..000000000
Binary files a/imgs/renders/42245.png and /dev/null differ
diff --git a/imgs/renders/42246.png b/imgs/renders/42246.png
deleted file mode 100644
index 9e29ce143..000000000
Binary files a/imgs/renders/42246.png and /dev/null differ
diff --git a/imgs/renders/42685.png b/imgs/renders/42685.png
deleted file mode 100644
index cad1c5ce5..000000000
Binary files a/imgs/renders/42685.png and /dev/null differ
diff --git a/imgs/renders/43.png b/imgs/renders/43.png
new file mode 100644
index 000000000..b66ce126b
Binary files /dev/null and b/imgs/renders/43.png differ
diff --git a/imgs/renders/4302.png b/imgs/renders/4302.png
deleted file mode 100644
index 459b0416d..000000000
Binary files a/imgs/renders/4302.png and /dev/null differ
diff --git a/imgs/renders/4306.png b/imgs/renders/4306.png
deleted file mode 100644
index 0cb7a46f6..000000000
Binary files a/imgs/renders/4306.png and /dev/null differ
diff --git a/imgs/renders/4308.png b/imgs/renders/4308.png
deleted file mode 100644
index a04127fab..000000000
Binary files a/imgs/renders/4308.png and /dev/null differ
diff --git a/imgs/renders/4310.png b/imgs/renders/4310.png
deleted file mode 100644
index 508140910..000000000
Binary files a/imgs/renders/4310.png and /dev/null differ
diff --git a/imgs/renders/4363.png b/imgs/renders/4363.png
deleted file mode 100644
index b0910f4ad..000000000
Binary files a/imgs/renders/4363.png and /dev/null differ
diff --git a/imgs/renders/4388.png b/imgs/renders/4388.png
deleted file mode 100644
index 8048a6c2c..000000000
Binary files a/imgs/renders/4388.png and /dev/null differ
diff --git a/imgs/renders/44.png b/imgs/renders/44.png
new file mode 100644
index 000000000..da8d39686
Binary files /dev/null and b/imgs/renders/44.png differ
diff --git a/imgs/renders/44993.png b/imgs/renders/44993.png
deleted file mode 100644
index d1c2b0b74..000000000
Binary files a/imgs/renders/44993.png and /dev/null differ
diff --git a/imgs/renders/44995.png b/imgs/renders/44995.png
deleted file mode 100644
index c75e4ca35..000000000
Binary files a/imgs/renders/44995.png and /dev/null differ
diff --git a/imgs/renders/44996.png b/imgs/renders/44996.png
deleted file mode 100644
index 45e0ca987..000000000
Binary files a/imgs/renders/44996.png and /dev/null differ
diff --git a/imgs/renders/45.png b/imgs/renders/45.png
new file mode 100644
index 000000000..f6703c4af
Binary files /dev/null and b/imgs/renders/45.png differ
diff --git a/imgs/renders/4515.png b/imgs/renders/4515.png
new file mode 100644
index 000000000..9b6420381
Binary files /dev/null and b/imgs/renders/4515.png differ
diff --git a/imgs/renders/4517.png b/imgs/renders/4517.png
new file mode 100644
index 000000000..376875fbb
Binary files /dev/null and b/imgs/renders/4517.png differ
diff --git a/imgs/renders/45530.png b/imgs/renders/45530.png
deleted file mode 100644
index f99717e7a..000000000
Binary files a/imgs/renders/45530.png and /dev/null differ
diff --git a/imgs/renders/45531.png b/imgs/renders/45531.png
deleted file mode 100644
index 9b81e7d0b..000000000
Binary files a/imgs/renders/45531.png and /dev/null differ
diff --git a/imgs/renders/45534.png b/imgs/renders/45534.png
deleted file mode 100644
index c1aec27af..000000000
Binary files a/imgs/renders/45534.png and /dev/null differ
diff --git a/imgs/renders/45645.png b/imgs/renders/45645.png
deleted file mode 100644
index a35243fb5..000000000
Binary files a/imgs/renders/45645.png and /dev/null differ
diff --git a/imgs/renders/45647.png b/imgs/renders/45647.png
deleted file mode 100644
index 9e548bee9..000000000
Binary files a/imgs/renders/45647.png and /dev/null differ
diff --git a/imgs/renders/45649.png b/imgs/renders/45649.png
deleted file mode 100644
index 0b9a961e2..000000000
Binary files a/imgs/renders/45649.png and /dev/null differ
diff --git a/imgs/renders/46.png b/imgs/renders/46.png
new file mode 100644
index 000000000..4c1d16dd9
Binary files /dev/null and b/imgs/renders/46.png differ
diff --git a/imgs/renders/47.png b/imgs/renders/47.png
new file mode 100644
index 000000000..77d577f93
Binary files /dev/null and b/imgs/renders/47.png differ
diff --git a/imgs/renders/47269.png b/imgs/renders/47269.png
deleted file mode 100644
index e5b4d2267..000000000
Binary files a/imgs/renders/47269.png and /dev/null differ
diff --git a/imgs/renders/47270.png b/imgs/renders/47270.png
deleted file mode 100644
index 1227fd88e..000000000
Binary files a/imgs/renders/47270.png and /dev/null differ
diff --git a/imgs/renders/47271.png b/imgs/renders/47271.png
deleted file mode 100644
index 00b1f364c..000000000
Binary files a/imgs/renders/47271.png and /dev/null differ
diff --git a/imgs/renders/47466.png b/imgs/renders/47466.png
deleted file mode 100644
index 0da4159c9..000000000
Binary files a/imgs/renders/47466.png and /dev/null differ
diff --git a/imgs/renders/47512.png b/imgs/renders/47512.png
deleted file mode 100644
index 715b98ab9..000000000
Binary files a/imgs/renders/47512.png and /dev/null differ
diff --git a/imgs/renders/47513.png b/imgs/renders/47513.png
deleted file mode 100644
index b83b4c071..000000000
Binary files a/imgs/renders/47513.png and /dev/null differ
diff --git a/imgs/renders/47514.png b/imgs/renders/47514.png
deleted file mode 100644
index 3a8b67eed..000000000
Binary files a/imgs/renders/47514.png and /dev/null differ
diff --git a/imgs/renders/47515.png b/imgs/renders/47515.png
deleted file mode 100644
index 888a7956b..000000000
Binary files a/imgs/renders/47515.png and /dev/null differ
diff --git a/imgs/renders/47516.png b/imgs/renders/47516.png
deleted file mode 100644
index 69f229e8c..000000000
Binary files a/imgs/renders/47516.png and /dev/null differ
diff --git a/imgs/renders/48.png b/imgs/renders/48.png
new file mode 100644
index 000000000..850a21007
Binary files /dev/null and b/imgs/renders/48.png differ
diff --git a/imgs/renders/49.png b/imgs/renders/49.png
new file mode 100644
index 000000000..9fd16706e
Binary files /dev/null and b/imgs/renders/49.png differ
diff --git a/imgs/renders/50.png b/imgs/renders/50.png
new file mode 100644
index 000000000..64794389e
Binary files /dev/null and b/imgs/renders/50.png differ
diff --git a/imgs/renders/51.png b/imgs/renders/51.png
new file mode 100644
index 000000000..d580823cc
Binary files /dev/null and b/imgs/renders/51.png differ
diff --git a/imgs/renders/52.png b/imgs/renders/52.png
new file mode 100644
index 000000000..cbe43aea5
Binary files /dev/null and b/imgs/renders/52.png differ
diff --git a/imgs/renders/53.png b/imgs/renders/53.png
new file mode 100644
index 000000000..efbf8b8ed
Binary files /dev/null and b/imgs/renders/53.png differ
diff --git a/imgs/renders/54.png b/imgs/renders/54.png
new file mode 100644
index 000000000..601dac8cc
Binary files /dev/null and b/imgs/renders/54.png differ
diff --git a/imgs/renders/55.png b/imgs/renders/55.png
new file mode 100644
index 000000000..5baaa699e
Binary files /dev/null and b/imgs/renders/55.png differ
diff --git a/imgs/renders/56.png b/imgs/renders/56.png
new file mode 100644
index 000000000..713382762
Binary files /dev/null and b/imgs/renders/56.png differ
diff --git a/imgs/renders/57.png b/imgs/renders/57.png
new file mode 100644
index 000000000..935429e08
Binary files /dev/null and b/imgs/renders/57.png differ
diff --git a/imgs/renders/58.png b/imgs/renders/58.png
new file mode 100644
index 000000000..cae7b85d1
Binary files /dev/null and b/imgs/renders/58.png differ
diff --git a/imgs/renders/582.png b/imgs/renders/582.png
deleted file mode 100644
index 37718ce83..000000000
Binary files a/imgs/renders/582.png and /dev/null differ
diff --git a/imgs/renders/583.png b/imgs/renders/583.png
deleted file mode 100644
index bd98cd510..000000000
Binary files a/imgs/renders/583.png and /dev/null differ
diff --git a/imgs/renders/584.png b/imgs/renders/584.png
deleted file mode 100644
index 9f1f224ff..000000000
Binary files a/imgs/renders/584.png and /dev/null differ
diff --git a/imgs/renders/585.png b/imgs/renders/585.png
deleted file mode 100644
index f0777c6e3..000000000
Binary files a/imgs/renders/585.png and /dev/null differ
diff --git a/imgs/renders/586.png b/imgs/renders/586.png
deleted file mode 100644
index eeddfa3ec..000000000
Binary files a/imgs/renders/586.png and /dev/null differ
diff --git a/imgs/renders/587.png b/imgs/renders/587.png
deleted file mode 100644
index fe4c5a653..000000000
Binary files a/imgs/renders/587.png and /dev/null differ
diff --git a/imgs/renders/588.png b/imgs/renders/588.png
deleted file mode 100644
index cd1188159..000000000
Binary files a/imgs/renders/588.png and /dev/null differ
diff --git a/imgs/renders/589.png b/imgs/renders/589.png
deleted file mode 100644
index 40d8f113b..000000000
Binary files a/imgs/renders/589.png and /dev/null differ
diff --git a/imgs/renders/59.png b/imgs/renders/59.png
new file mode 100644
index 000000000..ca316b3b1
Binary files /dev/null and b/imgs/renders/59.png differ
diff --git a/imgs/renders/590.png b/imgs/renders/590.png
deleted file mode 100644
index 4ecf4d3c6..000000000
Binary files a/imgs/renders/590.png and /dev/null differ
diff --git a/imgs/renders/591.png b/imgs/renders/591.png
deleted file mode 100644
index 96bce75fd..000000000
Binary files a/imgs/renders/591.png and /dev/null differ
diff --git a/imgs/renders/592.png b/imgs/renders/592.png
deleted file mode 100644
index 4b8fc8d6e..000000000
Binary files a/imgs/renders/592.png and /dev/null differ
diff --git a/imgs/renders/593.png b/imgs/renders/593.png
deleted file mode 100644
index 120800038..000000000
Binary files a/imgs/renders/593.png and /dev/null differ
diff --git a/imgs/renders/594.png b/imgs/renders/594.png
deleted file mode 100644
index c6ec27e1a..000000000
Binary files a/imgs/renders/594.png and /dev/null differ
diff --git a/imgs/renders/596.png b/imgs/renders/596.png
deleted file mode 100644
index e019d41ae..000000000
Binary files a/imgs/renders/596.png and /dev/null differ
diff --git a/imgs/renders/597.png b/imgs/renders/597.png
deleted file mode 100644
index 814f4f9ae..000000000
Binary files a/imgs/renders/597.png and /dev/null differ
diff --git a/imgs/renders/598.png b/imgs/renders/598.png
deleted file mode 100644
index 4670cf972..000000000
Binary files a/imgs/renders/598.png and /dev/null differ
diff --git a/imgs/renders/599.png b/imgs/renders/599.png
deleted file mode 100644
index 762d0d45e..000000000
Binary files a/imgs/renders/599.png and /dev/null differ
diff --git a/imgs/renders/60.png b/imgs/renders/60.png
new file mode 100644
index 000000000..36a3d2a9e
Binary files /dev/null and b/imgs/renders/60.png differ
diff --git a/imgs/renders/601.png b/imgs/renders/601.png
deleted file mode 100644
index d6ed875d1..000000000
Binary files a/imgs/renders/601.png and /dev/null differ
diff --git a/imgs/renders/602.png b/imgs/renders/602.png
deleted file mode 100644
index 300349a18..000000000
Binary files a/imgs/renders/602.png and /dev/null differ
diff --git a/imgs/renders/603.png b/imgs/renders/603.png
deleted file mode 100644
index 89a3eab15..000000000
Binary files a/imgs/renders/603.png and /dev/null differ
diff --git a/imgs/renders/605.png b/imgs/renders/605.png
deleted file mode 100644
index a295915ed..000000000
Binary files a/imgs/renders/605.png and /dev/null differ
diff --git a/imgs/renders/606.png b/imgs/renders/606.png
deleted file mode 100644
index 30c516529..000000000
Binary files a/imgs/renders/606.png and /dev/null differ
diff --git a/imgs/renders/607.png b/imgs/renders/607.png
deleted file mode 100644
index 2cfec3475..000000000
Binary files a/imgs/renders/607.png and /dev/null differ
diff --git a/imgs/renders/608.png b/imgs/renders/608.png
deleted file mode 100644
index 9988b684b..000000000
Binary files a/imgs/renders/608.png and /dev/null differ
diff --git a/imgs/renders/609.png b/imgs/renders/609.png
deleted file mode 100644
index d205f36a8..000000000
Binary files a/imgs/renders/609.png and /dev/null differ
diff --git a/imgs/renders/61.png b/imgs/renders/61.png
new file mode 100644
index 000000000..169752d86
Binary files /dev/null and b/imgs/renders/61.png differ
diff --git a/imgs/renders/615.png b/imgs/renders/615.png
deleted file mode 100644
index 04d848864..000000000
Binary files a/imgs/renders/615.png and /dev/null differ
diff --git a/imgs/renders/617.png b/imgs/renders/617.png
deleted file mode 100644
index 3c5475318..000000000
Binary files a/imgs/renders/617.png and /dev/null differ
diff --git a/imgs/renders/62.png b/imgs/renders/62.png
new file mode 100644
index 000000000..1775d7347
Binary files /dev/null and b/imgs/renders/62.png differ
diff --git a/imgs/renders/620.png b/imgs/renders/620.png
deleted file mode 100644
index 1d6a29d5c..000000000
Binary files a/imgs/renders/620.png and /dev/null differ
diff --git a/imgs/renders/621.png b/imgs/renders/621.png
deleted file mode 100644
index f34d75c64..000000000
Binary files a/imgs/renders/621.png and /dev/null differ
diff --git a/imgs/renders/622.png b/imgs/renders/622.png
deleted file mode 100644
index 2f7a8b546..000000000
Binary files a/imgs/renders/622.png and /dev/null differ
diff --git a/imgs/renders/623.png b/imgs/renders/623.png
deleted file mode 100644
index 037243c7a..000000000
Binary files a/imgs/renders/623.png and /dev/null differ
diff --git a/imgs/renders/624.png b/imgs/renders/624.png
deleted file mode 100644
index faf472cb3..000000000
Binary files a/imgs/renders/624.png and /dev/null differ
diff --git a/imgs/renders/625.png b/imgs/renders/625.png
deleted file mode 100644
index 0444d5140..000000000
Binary files a/imgs/renders/625.png and /dev/null differ
diff --git a/imgs/renders/626.png b/imgs/renders/626.png
deleted file mode 100644
index e0b4ea0d9..000000000
Binary files a/imgs/renders/626.png and /dev/null differ
diff --git a/imgs/renders/627.png b/imgs/renders/627.png
deleted file mode 100644
index 47c5db4c0..000000000
Binary files a/imgs/renders/627.png and /dev/null differ
diff --git a/imgs/renders/628.png b/imgs/renders/628.png
deleted file mode 100644
index c8e48ce8d..000000000
Binary files a/imgs/renders/628.png and /dev/null differ
diff --git a/imgs/renders/629.png b/imgs/renders/629.png
deleted file mode 100644
index 6b083c386..000000000
Binary files a/imgs/renders/629.png and /dev/null differ
diff --git a/imgs/renders/63.png b/imgs/renders/63.png
new file mode 100644
index 000000000..75490116d
Binary files /dev/null and b/imgs/renders/63.png differ
diff --git a/imgs/renders/630.png b/imgs/renders/630.png
deleted file mode 100644
index da49c4b98..000000000
Binary files a/imgs/renders/630.png and /dev/null differ
diff --git a/imgs/renders/631.png b/imgs/renders/631.png
deleted file mode 100644
index d929843ab..000000000
Binary files a/imgs/renders/631.png and /dev/null differ
diff --git a/imgs/renders/632.png b/imgs/renders/632.png
deleted file mode 100644
index f1f9e40b9..000000000
Binary files a/imgs/renders/632.png and /dev/null differ
diff --git a/imgs/renders/633.png b/imgs/renders/633.png
deleted file mode 100644
index b676099e9..000000000
Binary files a/imgs/renders/633.png and /dev/null differ
diff --git a/imgs/renders/634.png b/imgs/renders/634.png
deleted file mode 100644
index 17ec75849..000000000
Binary files a/imgs/renders/634.png and /dev/null differ
diff --git a/imgs/renders/635.png b/imgs/renders/635.png
deleted file mode 100644
index 2e4f95913..000000000
Binary files a/imgs/renders/635.png and /dev/null differ
diff --git a/imgs/renders/638.png b/imgs/renders/638.png
deleted file mode 100644
index 9757f61ad..000000000
Binary files a/imgs/renders/638.png and /dev/null differ
diff --git a/imgs/renders/639.png b/imgs/renders/639.png
deleted file mode 100644
index b405e5499..000000000
Binary files a/imgs/renders/639.png and /dev/null differ
diff --git a/imgs/renders/64.png b/imgs/renders/64.png
new file mode 100644
index 000000000..34666801a
Binary files /dev/null and b/imgs/renders/64.png differ
diff --git a/imgs/renders/640.png b/imgs/renders/640.png
deleted file mode 100644
index efe0f8d1a..000000000
Binary files a/imgs/renders/640.png and /dev/null differ
diff --git a/imgs/renders/641.png b/imgs/renders/641.png
deleted file mode 100644
index fa5a41154..000000000
Binary files a/imgs/renders/641.png and /dev/null differ
diff --git a/imgs/renders/642.png b/imgs/renders/642.png
deleted file mode 100644
index 6432e5015..000000000
Binary files a/imgs/renders/642.png and /dev/null differ
diff --git a/imgs/renders/643.png b/imgs/renders/643.png
deleted file mode 100644
index b7352dce8..000000000
Binary files a/imgs/renders/643.png and /dev/null differ
diff --git a/imgs/renders/644.png b/imgs/renders/644.png
deleted file mode 100644
index 67900f05e..000000000
Binary files a/imgs/renders/644.png and /dev/null differ
diff --git a/imgs/renders/645.png b/imgs/renders/645.png
deleted file mode 100644
index 7e4b64e11..000000000
Binary files a/imgs/renders/645.png and /dev/null differ
diff --git a/imgs/renders/648.png b/imgs/renders/648.png
deleted file mode 100644
index 08fcac2d8..000000000
Binary files a/imgs/renders/648.png and /dev/null differ
diff --git a/imgs/renders/649.png b/imgs/renders/649.png
deleted file mode 100644
index b11ed729c..000000000
Binary files a/imgs/renders/649.png and /dev/null differ
diff --git a/imgs/renders/65.png b/imgs/renders/65.png
new file mode 100644
index 000000000..311b7bf45
Binary files /dev/null and b/imgs/renders/65.png differ
diff --git a/imgs/renders/650.png b/imgs/renders/650.png
deleted file mode 100644
index 107b29d05..000000000
Binary files a/imgs/renders/650.png and /dev/null differ
diff --git a/imgs/renders/651.png b/imgs/renders/651.png
deleted file mode 100644
index af4452aa6..000000000
Binary files a/imgs/renders/651.png and /dev/null differ
diff --git a/imgs/renders/652.png b/imgs/renders/652.png
deleted file mode 100644
index 628ac7416..000000000
Binary files a/imgs/renders/652.png and /dev/null differ
diff --git a/imgs/renders/653.png b/imgs/renders/653.png
deleted file mode 100644
index 83036c295..000000000
Binary files a/imgs/renders/653.png and /dev/null differ
diff --git a/imgs/renders/654.png b/imgs/renders/654.png
deleted file mode 100644
index cdd583909..000000000
Binary files a/imgs/renders/654.png and /dev/null differ
diff --git a/imgs/renders/655.png b/imgs/renders/655.png
deleted file mode 100644
index 2e22d069f..000000000
Binary files a/imgs/renders/655.png and /dev/null differ
diff --git a/imgs/renders/656.png b/imgs/renders/656.png
deleted file mode 100644
index 4b26ae600..000000000
Binary files a/imgs/renders/656.png and /dev/null differ
diff --git a/imgs/renders/657.png b/imgs/renders/657.png
deleted file mode 100644
index 3d13e0e23..000000000
Binary files a/imgs/renders/657.png and /dev/null differ
diff --git a/imgs/renders/671.png b/imgs/renders/671.png
deleted file mode 100644
index 23db1e7aa..000000000
Binary files a/imgs/renders/671.png and /dev/null differ
diff --git a/imgs/renders/672.png b/imgs/renders/672.png
deleted file mode 100644
index ba94fbcdb..000000000
Binary files a/imgs/renders/672.png and /dev/null differ
diff --git a/pyfa.py b/pyfa.py
index b60be70e8..740d443ab 100755
--- a/pyfa.py
+++ b/pyfa.py
@@ -25,6 +25,7 @@ import traceback
from optparse import AmbiguousOptionError, BadOptionError, OptionParser
from service.prereqsCheck import PreCheckException, PreCheckMessage, version_precheck, version_block
import config
+import datetime
# ascii_text = '''
# ++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -69,10 +70,12 @@ parser.add_option("-d", "--debug", action="store_true", dest="debug", help="Set
parser.add_option("-t", "--title", action="store", dest="title", help="Set Window Title", default=None)
parser.add_option("-s", "--savepath", action="store", dest="savepath", help="Set the folder for savedata", default=None)
parser.add_option("-l", "--logginglevel", action="store", dest="logginglevel", help="Set desired logging level [Critical|Error|Warning|Info|Debug]", default="Error")
+parser.add_option("-p", "--profile", action="store", dest="profile_path", help="Set location to save profileing.", default=None)
(options, args) = parser.parse_args()
if __name__ == "__main__":
+
try:
# first and foremost - check required libraries
version_precheck()
@@ -134,7 +137,14 @@ if __name__ == "__main__":
pyfa = wx.App(False)
mf = MainFrame(options.title)
ErrorHandler.SetParent(mf)
- pyfa.MainLoop()
+
+ if options.profile_path:
+ profile_path = os.path.join(options.profile_path, 'pyfa-{}.profile'.format(datetime.datetime.now().strftime('%Y%m%d_%H%M%S')))
+ pyfalog.debug("Starting pyfa with a profiler, saving to {}".format(profile_path))
+ import cProfile
+ cProfile.run('pyfa.MainLoop()', profile_path)
+ else:
+ pyfa.MainLoop()
# TODO: Add some thread cleanup code here. Right now we bail, and that can lead to orphaned threads or threads not properly exiting.
sys.exit()
diff --git a/scripts/icons_update.py b/scripts/icons_update.py
index e6a4050a3..7205e3e08 100644
--- a/scripts/icons_update.py
+++ b/scripts/icons_update.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python2.7
"""
This script updates only market/item icons.
@@ -9,50 +9,66 @@ import argparse
import os
import re
import sqlite3
+import json
from PIL import Image
+from shutil import copyfile
parser = argparse.ArgumentParser(description='This script updates module icons for pyfa')
-parser.add_argument('-i', '--icons', required=True, type=str, help='path to unpacked Icons folder from CCP\'s image export')
+parser.add_argument('-e', '--eve', required=True, type=str, help='path to eve\'s ')
+parser.add_argument('-s', '--server', required=False, default='tq', type=str, help='which server to use (defaults to tq)')
+parser.add_argument('-i', '--icons', required=True, type=str, help='Path to icons .json')
args = parser.parse_args()
script_dir = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.abspath(os.path.join(script_dir, '..', 'eve.db'))
icons_dir = os.path.abspath(os.path.join(script_dir, '..', 'imgs', 'icons'))
-export_dir = os.path.abspath(os.path.expanduser(os.path.join(args.icons, 'items')))
-
-dirs = [export_dir, os.path.join(export_dir, "Modules")]
+render_dir = os.path.abspath(os.path.join(script_dir, '..', 'imgs', 'renders'))
db = sqlite3.connect(db_path)
cursor = db.cursor()
ICON_SIZE = (16, 16)
+RENDER_SIZE = (32, 32)
-ITEM_CATEGORIES = (
- 2, # Celestial
- 6, # Ship
- 7, # Module
- 8, # Charge
- 16, # Skill
- 18, # Drone
- 20, # Implant
- 32, # Subsystem
- 66, # Structure Module
-)
+with open(args.icons, 'r') as f:
+ icon_json = json.load(f)
-MARKET_ROOTS = {
- 9, # Modules
- 1111, # Rigs
- 157, # Drones
- 11, # Ammo
- 1112, # Subsystems
- 24, # Implants & Boosters
- 404, # Deployables
- 2202, # Structure Equipment
- 2203 # Structure Modifications (Rigs)
-}
+eve_path = os.path.join(args.eve, 'index_{}.txt'.format(args.server))
+with open(eve_path, 'r') as f:
+ lines = f.readlines()
+ file_index = {x.split(',')[0]: x.split(',') for x in lines}
+
+resfileindex = file_index['app:/resfileindex.txt']
+
+res_cache = os.path.join(args.eve, 'ResFiles')
+
+with open(os.path.join(res_cache, resfileindex[1]), 'r') as f:
+ lines = f.readlines()
+ res_index = {x.split(',')[0].lower(): x.split(',') for x in lines}
+
+# Need to copy the file to our cuirrent directory
+graphics_loader_file = os.path.join(res_cache, file_index['app:/bin/graphicIDsLoader.pyd'][1])
+to_path = os.path.dirname(os.path.abspath(__file__))
+copyfile(graphics_loader_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'graphicIDsLoader.pyd'))
+
+# The loader expect it to be the correct filename, so copy trhe file as well
+graphics_file = os.path.join(res_cache, res_index['res:/staticdata/graphicIDs.fsdbinary'.lower()][1])
+to_path = os.path.dirname(os.path.abspath(__file__))
+copyfile(graphics_file, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'graphicIDs.fsdbinary'))
+
+import graphicIDsLoader
+
+print(dir(graphicIDsLoader))
+
+graphics = graphicIDsLoader.load(os.path.join(to_path, 'graphicIDs.fsdbinary'))
+
+graphics_py_ob = {}
+for x, v in graphics.items():
+ if (hasattr(v, 'iconFolder')):
+ graphics_py_ob[x] = v.iconFolder
# Add children to market group list
# {parent: {children}}
@@ -75,101 +91,35 @@ def get_children(parent):
return children
-market_groups = set()
-for root in MARKET_ROOTS:
- market_groups.add(root)
- market_groups.update(get_children(root))
-
-
-query_items = 'select distinct i.iconFile from icons as i inner join invtypes as it on it.iconID = i.iconID inner join invgroups as ig on it.groupID = ig.groupID where ig.categoryID in ({})'.format(', '.join(str(i) for i in ITEM_CATEGORIES))
-query_groups = 'select distinct i.iconFile from icons as i inner join invgroups as ig on ig.iconID = i.iconID where ig.categoryID in ({})'.format(', '.join(str(i) for i in ITEM_CATEGORIES))
-query_cats = 'select distinct i.iconFile from icons as i inner join invcategories as ic on ic.iconID = i.iconID where ic.categoryID in ({})'.format(', '.join(str(i) for i in ITEM_CATEGORIES))
-query_market = 'select distinct i.iconFile from icons as i inner join invmarketgroups as img on img.iconID = i.iconID where img.marketGroupID in ({})'.format(', '.join(str(i) for i in market_groups))
-query_attrib = 'select distinct i.iconFile from icons as i inner join dgmattribs as da on da.iconID = i.iconID'
-
+query_items = 'select distinct iconID from invtypes'
+query_groups = 'select distinct iconID from invgroups'
+query_cats = 'select distinct iconID from invcategories'
+query_market = 'select distinct iconID from invmarketgroups'
+query_attrib = 'select distinct iconID from dgmattribs'
+query_ships = 'select it.graphicID from invtypes as it inner join invgroups as ig on it.groupID = ig.groupID where ig.categoryID in (6, 65)'
needed = set()
existing = set()
export = {}
-def strip_path(fname):
- """
- Here we extract 'core' of icon name. Path and
- extension are sometimes specified in database
- but we don't need them.
- """
- # Path before the icon file name
- fname = fname.split('/')[-1]
- # Extension
- fname = fname.rsplit('.', 1)[0]
- return fname
-
-
-def unzero(fname):
- """
- Get rid of leading zeros in triplet. They are often specified in DB
- but almost never in actual files.
- """
- m = re.match(r'^(?P[^_\.]+)_((?P\d+)_)?(?P[^_\.]+)(?P\..*)?$', fname)
- if m:
- prefix = m.group('prefix')
- size = m.group('size')
- suffix = m.group('suffix')
- tail = m.group('tail')
- try:
- prefix = int(prefix)
- except (TypeError, ValueError):
- pass
- try:
- size = int(size)
- except (TypeError, ValueError):
- pass
- try:
- suffix = int(suffix)
- except (TypeError, ValueError):
- pass
- if size is None:
- fname = '{}_{}'.format(prefix, suffix)
- else:
- fname = '{}_{}_{}'.format(prefix, size, suffix)
- return fname
- else:
- return fname
-
# Get a list of needed icons based on the items / attributes / etc from the database
for query in (query_items, query_groups, query_cats, query_market, query_attrib):
for row in cursor.execute(query):
fname = row[0]
- if not fname:
+ if fname is None:
continue
- fname = strip_path(fname)
needed.add(fname)
# Get a list of all the icons we currently have
for fname in os.listdir(icons_dir):
if not os.path.isfile(os.path.join(icons_dir, fname)):
continue
- fname = strip_path(fname)
+ fname = os.path.splitext(fname)[0]
# Get rid of "icon" prefix as well
#fname = re.sub('^icon', '', fname)
- print(fname,"exists")
existing.add(fname)
-# Get a list of all the icons currently available in export
-for dir in dirs:
- for fname in os.listdir(dir):
- if not os.path.isfile(os.path.join(dir, fname)):
- continue
- stripped = strip_path(fname)
- stripped = unzero(stripped)
- # Icons in export often specify size in their name, but references often use
- # convention without size specification
- sizeless = re.sub('^(?P[^_]+)_(?P\d+)_(?P[^_]+)$', r'\1_\3', stripped)
- # Often items referred to with 01_01 format,
- fnames = export.setdefault(sizeless.lower(), set())
- fnames.add(fname)
-
def crop_image(img):
w, h = img.size
if h == w:
@@ -185,38 +135,25 @@ def crop_image(img):
return img.crop(box)
-def get_icon_file(request):
+def get_icon_file(res_path, size):
"""
Get the iconFile field value and find proper
icon for it. Return as PIL image object down-
scaled for use in pyfa.
"""
- rq = strip_path(request)
- rq = unzero(rq)
- try:
- fnames = export[rq]
- except KeyError:
+ if res_path not in res_index:
return None
- # {(h, w): source full path}
- sizes = {}
- for dir in dirs:
- for fname in fnames:
- fullpath = os.path.join(dir, fname)
- if not os.path.isfile(fullpath):
- continue
- img = Image.open(fullpath)
- sizes[img.size] = fullpath
- # Try to return image which is already in necessary format
- try:
- fullpath = sizes[ICON_SIZE]
- # Otherwise, convert biggest image
- except KeyError:
- fullpath = sizes[max(sizes)]
- img = Image.open(fullpath)
- img = crop_image(img)
- img.thumbnail(ICON_SIZE, Image.ANTIALIAS)
- else:
- img = Image.open(fullpath)
+ res_icon = res_index[res_path]
+ icon_path = res_icon[1]
+
+ fullpath = os.path.join(res_cache, icon_path)
+
+ if not os.path.isfile(fullpath):
+ return None
+ img = Image.open(fullpath)
+ img = crop_image(img)
+ img.thumbnail(size, Image.ANTIALIAS)
+
# Strip all additional image info (mostly for ICC color
# profiles, see issue #337)
img.info.clear()
@@ -232,7 +169,6 @@ if toremove:
print('Some icons are not used and will be removed:')
for fname in sorted(toremove):
fullname = '{}.png'.format(fname)
- print((' {}'.format(fullname)))
fullpath = os.path.join(icons_dir, fullname)
os.remove(fullpath)
@@ -256,7 +192,9 @@ if toadd:
print(('Adding {} icons...'.format(len(toadd))))
missing = set()
for fname in sorted(toadd):
- icon = get_icon_file(fname)
+ icon = icon_json[str(fname)]
+ key = icon['iconFile'].lower()
+ icon = get_icon_file(key, ICON_SIZE)
if icon is None:
missing.add(fname)
continue
@@ -267,3 +205,36 @@ if toadd:
print((' {} icons are missing in export:'.format(len(missing))))
for fname in sorted(missing):
print((' {}'.format(fname)))
+
+print(missing)
+
+print("Doing renders")
+
+needed.clear()
+existing.clear()
+toremove.clear()
+
+for row in cursor.execute(query_ships):
+ needed.add(row[0])
+
+toremove = existing.difference(needed)
+toupdate = existing.intersection(needed)
+toadd = needed.difference(existing)
+
+if toadd:
+ print(('Adding {} icons...'.format(len(toadd))))
+ missing = set()
+ for fname in sorted(toadd):
+ icon = graphics_py_ob[int(fname)]
+ icon = "{}/{}_64.png".format(icon, fname)
+ icon = get_icon_file(icon, RENDER_SIZE)
+ if icon is None:
+ missing.add(fname)
+ continue
+ fullname = '{}.png'.format(fname)
+ fullpath = os.path.join(render_dir, fullname)
+ icon.save(fullpath, 'png')
+ if missing:
+ print((' {} icons are missing in export:'.format(len(missing))))
+ for fname in sorted(missing):
+ print((' {}'.format(fname)))
diff --git a/scripts/jsonToSql.py b/scripts/jsonToSql.py
index ba3a721b6..3cb2caf0a 100755
--- a/scripts/jsonToSql.py
+++ b/scripts/jsonToSql.py
@@ -30,6 +30,10 @@ sys.path.insert(0, os.path.realpath(os.path.join(path, "..")))
import json
import argparse
+CATEGORIES_TO_REMOVE = [
+ 30 # Apparel
+]
+
def main(db, json_path):
if os.path.isfile(db):
os.remove(db)
@@ -56,7 +60,6 @@ def main(db, json_path):
"dgmtypeattribs": eos.gamedata.Attribute,
"dgmtypeeffects": eos.gamedata.ItemEffect,
"dgmunits": eos.gamedata.Unit,
- "icons": eos.gamedata.Icon,
"evecategories": eos.gamedata.Category,
"evegroups": eos.gamedata.Group,
"invmetagroups": eos.gamedata.MetaGroup,
@@ -252,6 +255,29 @@ def main(db, json_path):
eos.db.gamedata_session.add(instance)
+ # quick and dirty hack to get this data in
+ with open(os.path.join(jsonPath, "dynamicAttributes.json"), encoding="utf-8") as f:
+ bulkdata = json.load(f)
+ for mutaID, data in bulkdata.items():
+ muta = eos.gamedata.DynamicItem()
+ muta.typeID = mutaID
+ muta.resultingTypeID = data['inputOutputMapping'][0]['resultingType']
+ eos.db.gamedata_session.add(muta)
+
+ for x in data['inputOutputMapping'][0]['applicableTypes']:
+ item = eos.gamedata.DynamicItemItem()
+ item.typeID = mutaID
+ item.applicableTypeID = x
+ eos.db.gamedata_session.add(item)
+
+ for attrID, attrData in data['attributeIDs'].items():
+ attr = eos.gamedata.DynamicItemAttribute()
+ attr.typeID = mutaID
+ attr.attributeID = attrID
+ attr.min = attrData['min']
+ attr.max = attrData['max']
+ eos.db.gamedata_session.add(attr)
+
eos.db.gamedata_session.commit()
# CCP still has 5 subsystems assigned to T3Cs, even though only 4 are available / usable. They probably have some
@@ -260,6 +286,16 @@ def main(db, json_path):
eos.db.gamedata_engine.execute("UPDATE dgmtypeattribs SET value = 4.0 WHERE attributeID = ?", (1367,))
eos.db.gamedata_engine.execute("UPDATE invtypes SET published = 0 WHERE typeName LIKE '%abyssal%'")
+
+ print()
+ for x in CATEGORIES_TO_REMOVE:
+ cat = eos.db.gamedata_session.query(eos.gamedata.Category).filter(eos.gamedata.Category.ID == x).first()
+ print ("Removing Category: {}".format(cat.name))
+ eos.db.gamedata_session.delete(cat)
+
+ eos.db.gamedata_session.commit()
+ eos.db.gamedata_engine.execute("VACUUM")
+
print("done")
if __name__ == "__main__":
@@ -269,3 +305,4 @@ if __name__ == "__main__":
args = parser.parse_args()
main(args.db, args.json)
+
diff --git a/service/attribute.py b/service/attribute.py
index e33cbef4b..b4c3453e9 100644
--- a/service/attribute.py
+++ b/service/attribute.py
@@ -33,10 +33,10 @@ class Attribute(object):
@staticmethod
def getAttributeInfo(identity):
if isinstance(identity, (int, str)):
- info = eos.db.getAttributeInfo(identity, eager=("icon", "unit"))
+ info = eos.db.getAttributeInfo(identity, eager=("unit"))
elif isinstance(identity, (int, float)):
id_ = int(identity)
- info = eos.db.getAttributeInfo(id_, eager=("icon", "unit"))
+ info = eos.db.getAttributeInfo(id_, eager=("unit"))
else:
info = None
return info
diff --git a/service/fit.py b/service/fit.py
index 75939a049..dccb58e5e 100644
--- a/service/fit.py
+++ b/service/fit.py
@@ -95,7 +95,7 @@ class Fit(object):
fits = eos.db.getFitsWithShip(shipID)
names = []
for fit in fits:
- names.append((fit.ID, fit.name, fit.booster, fit.modified or fit.created or datetime.datetime.fromtimestamp(fit.timestamp), fit.notes))
+ names.append((fit.ID, fit.name, fit.booster, fit.modified or fit.created or datetime.datetime.fromtimestamp(fit.timestamp), fit.notes, fit.ship.item.graphicID))
return names
@@ -379,7 +379,10 @@ class Fit(object):
thing = eos.db.getItem(thing,
eager=("attributes", "group.category"))
- if isinstance(thing, FitType):
+ if isinstance(thing, es_Module):
+ thing = copy.deepcopy(thing)
+ fit.projectedModules.append(thing)
+ elif isinstance(thing, FitType):
if thing in fit.projectedFits:
return
@@ -517,6 +520,13 @@ class Fit(object):
eos.db.commit()
self.recalc(fit)
+ def changeMutatedValue(self, mutator, value):
+ pyfalog.debug("Changing mutated value for {} / {}: {} => {}".format(mutator.module, mutator.module.mutaplasmid, mutator.value, value))
+ mutator.value = value
+
+ eos.db.commit()
+ return mutator.value
+
def appendModule(self, fitID, itemID):
pyfalog.debug("Appending module for fit ({0}) using item: {1}", fitID, itemID)
fit = eos.db.getFit(fitID)
@@ -575,6 +585,37 @@ class Fit(object):
eos.db.commit()
return numSlots != len(fit.modules)
+ def convertMutaplasmid(self, fitID, position, mutaplasmid):
+ # this is mostly the same thing as the self.changeModule method, however it initializes an abyssal module with
+ # the old module as it's base, and then replaces it
+ fit = eos.db.getFit(fitID)
+ base = fit.modules[position]
+ fit.modules.toDummy(position)
+
+ try:
+ m = es_Module(mutaplasmid.resultingItem, base.item, mutaplasmid)
+ except ValueError:
+ pyfalog.warning("Invalid item: {0} AHHHH")
+ return False
+
+ if m.fits(fit):
+ m.owner = fit
+ fit.modules.toModule(position, m)
+ if m.isValidState(State.ACTIVE):
+ m.state = State.ACTIVE
+
+ # As some items may affect state-limiting attributes of the ship, calculate new attributes first
+ self.recalc(fit)
+ # Then, check states of all modules and change where needed. This will recalc if needed
+ self.checkStates(fit, m)
+
+ fit.fill()
+ eos.db.commit()
+
+ return True
+ else:
+ return None
+
def changeModule(self, fitID, position, newItemID):
fit = eos.db.getFit(fitID)
@@ -667,11 +708,12 @@ class Fit(object):
cargo.amount -= 1
if not module.isEmpty: # if module is placeholder, we don't want to convert/add it
- for x in fit.cargo.find(module.item):
+ moduleItem = module.item if not module.item.isAbyssal else module.baseItem
+ for x in fit.cargo.find(moduleItem ):
x.amount += 1
break
else:
- moduleP = es_Cargo(module.item)
+ moduleP = es_Cargo(moduleItem )
moduleP.amount = 1
fit.cargo.insert(cargoIdx, moduleP)
diff --git a/service/market.py b/service/market.py
index 16d677e04..895cb2e98 100644
--- a/service/market.py
+++ b/service/market.py
@@ -121,13 +121,13 @@ class SearchWorkerThread(threading.Thread):
if len(request) >= config.minItemSearchLength:
results = eos.db.searchItems(request, where=filter_,
join=(types_Item.group, types_Group.category),
- eager=("icon", "group.category", "metaGroup", "metaGroup.parent"))
+ eager=("group.category", "metaGroup", "metaGroup.parent"))
jargon_results = []
if len(jargon_request) >= config.minItemSearchLength:
jargon_results = eos.db.searchItems(jargon_request, where=filter_,
join=(types_Item.group, types_Group.category),
- eager=("icon", "group.category", "metaGroup", "metaGroup.parent"))
+ eager=("group.category", "metaGroup", "metaGroup.parent"))
items = set()
# Return only published items, consult with Market service this time
@@ -676,8 +676,8 @@ class Market(object):
def getIconByMarketGroup(self, mg):
"""Return icon associated to marketgroup"""
- if mg.icon:
- return mg.icon.iconFile
+ if mg.iconID:
+ return mg.iconID
else:
while mg and not mg.hasTypes:
mg = mg.parent
@@ -692,7 +692,7 @@ class Market(object):
except KeyError:
return ""
- return item.icon.iconFile if item.icon else ""
+ return item.iconID if item.icon else ""
elif self.getMarketGroupChildren(mg) > 0:
kids = self.getMarketGroupChildren(mg)
mktGroups = self.getIconByMarketGroup(kids)
@@ -725,7 +725,7 @@ class Market(object):
"""
root = set()
for id_ in self.ROOT_MARKET_GROUPS:
- mg = self.getMarketGroup(id_, eager="icon")
+ mg = self.getMarketGroup(id_)
root.add(mg)
return root
@@ -752,7 +752,7 @@ class Market(object):
filter_ = types_Category.name.in_(["Ship", "Structure"])
results = eos.db.searchItems(name, where=filter_,
join=(types_Item.group, types_Group.category),
- eager=("icon", "group.category", "metaGroup", "metaGroup.parent"))
+ eager=("group.category", "metaGroup", "metaGroup.parent"))
ships = set()
for item in results:
if self.getPublicityByItem(item):