Шаблон:Specs-Economy — различия между версиями

Материал из War Thunder Wiki
Перейти к: навигация, поиск
 
(не показана 31 промежуточная версия этого же участника)
Строка 4: Строка 4:
 
|<div class="specs_char_block">
 
|<div class="specs_char_block">
 
<div class="specs_char_line head"><span class="name">Стоимость ремонта</span><span class="value"></span></div>
 
<div class="specs_char_line head"><span class="name">Стоимость ремонта</span><span class="value"></span></div>
<div class="specs_char_line indent"><span class="name">АБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | аб | макс | format=1 }} {{Sl}}</span></div>
+
<div class="specs_char_line indent"><span class="name">АБ</span><span class="value">{{#ifexpr: {{#unit: {{#var: me }} | ремонт | аб | макс }} != 0 |{{#unit: {{#var: me }} | ремонт | аб | макс | format=1 }} {{Sl}}|бесплатно}}</span></div>
<div class="specs_char_line indent"><span class="name">РБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | рб | макс | format=1 }} {{Sl}}</span></div>
+
<div class="specs_char_line indent"><span class="name">РБ</span><span class="value">{{#ifexpr: {{#unit: {{#var: me }} | ремонт | рб | макс }} != 0 |{{#unit: {{#var: me }} | ремонт | рб | макс | format=1 }} {{Sl}}|бесплатно}}</span></div>
<div class="specs_char_line indent"><span class="name">СБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | сб | макс | format=1 }} {{Sl}}</span></div>
+
{{#ifexpr: {{#unit: {{#var: me }} | тип }} != 3 |<div class="specs_char_line indent"><span class="name">СБ</span><span class="value">{{#ifexpr: {{#unit: {{#var: me }} | ремонт | сб | макс }} != 0 |{{#unit: {{#var: me }} | ремонт | сб | макс | format=1 }} {{Sl}}|бесплатно}}</span></div>}}
 
</div>
 
</div>
 
|<div class="specs_char_block">
 
|<div class="specs_char_block">
<div class="specs_char_line head"><span class="name">Стоимость ремонта</span><span class="value">начальная → эталоная</span></div>
+
<div class="specs_char_line head"><span class="name">Стоимость ремонта</span><span class="value"><small>начальная → эталоная</small></span></div>
 
<div class="specs_char_line indent"><span class="name">АБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | аб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | аб | макс | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name">АБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | аб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | аб | макс | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name">РБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | рб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | рб | макс | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name">РБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | рб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | рб | макс | format=1 }} {{Sl}}</span></div>
<div class="specs_char_line indent"><span class="name">СБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | сб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | сб | макс | format=1  }} {{Sl}}</span></div>
+
{{#ifexpr: {{#unit: {{#var: me }} | тип }} != 3 |<div class="specs_char_line indent"><span class="name">СБ</span><span class="value">{{#unit: {{#var: me }} | ремонт | сб | мин | format=1 }} → {{#unit: {{#var: me }} | ремонт | сб | макс | format=1  }} {{Sl}}</span></div>}}
 
</div>
 
</div>
}}
+
}}<!--
{{#if: {{#unit: {{#var: me }} | модификации | стоимость | опыт }} |
+
-->{{#if: {{#unit: {{#var: me }} | модификации | стоимость | опыт }} |
 
<div class="specs_char_block">
 
<div class="specs_char_block">
 
<div class="specs_char_line head"><span class="name">Общая стоимость модификаций</span><span class="value">{{#unit: {{#var: me }} | модификации | стоимость | опыт | format=1 }} {{Oi}}</span></div>
 
<div class="specs_char_line head"><span class="name">Общая стоимость модификаций</span><span class="value">{{#unit: {{#var: me }} | модификации | стоимость | опыт | format=1 }} {{Oi}}</span></div>
 
<div class="specs_char_line indent"><span class="name"></span><span class="value">{{#unit: {{#var: me }} | модификации | стоимость | серебро | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name"></span><span class="value">{{#unit: {{#var: me }} | модификации | стоимость | серебро | format=1 }} {{Sl}}</span></div>
 
</div>
 
</div>
}}
+
}}<!--
 +
-->{{#ifexpr: {{#unit: {{#var: me }} | талисман }} != 0 |
 
<div class="specs_char_block">
 
<div class="specs_char_block">
<div class="specs_char_line head"><span class="name">Обучение экипажа</span><span class="value">{{#if: {{#unit: {{#var: me }} | экипаж | базовая }} | {{#unit: {{#var: me }} | экипаж | базовая | format=1 }} {{Oi}} | бесплатно }}</span></div>
+
<div class="specs_char_line head"><span class="name">Стоимость талисмана</span><span class="value">{{#unit: {{#var: me }} | талисман | format=1 }} {{Zo}}</span></div>
 +
</div>
 +
}}<!--
 +
--><div class="specs_char_block">
 +
<div class="specs_char_line head"><span class="name">Обучение экипажа</span><span class="value">{{#ifexpr: {{#unit: {{#var: me }} | экипаж | базовая }} != 0 | {{#unit: {{#var: me }} | экипаж | базовая | format=1 }} {{Sl}} | бесплатно }}</span></div>
 
<div class="specs_char_line indent"><span class="name">Эксперты</span><span class="value">{{#unit: {{#var: me }} | экипаж | эксперты | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name">Эксперты</span><span class="value">{{#unit: {{#var: me }} | экипаж | эксперты | format=1 }} {{Sl}}</span></div>
 
<div class="specs_char_line indent"><span class="name">АСы</span><span class="value">{{#unit: {{#var: me }} | экипаж | асы | format=1 }} {{Zo}}</span></div>
 
<div class="specs_char_line indent"><span class="name">АСы</span><span class="value">{{#unit: {{#var: me }} | экипаж | асы | format=1 }} {{Zo}}</span></div>
Строка 34: Строка 39:
 
</div>
 
</div>
  
<div class="specs_mods">
+
<div class="specs_mod view hide"></div>
<div class="specs_mods_title">Модификации</div>
+
<div class="specs_mods specs_slider">
 +
<div class="specs_slider_title">Модификации</div>
 +
<div class="specs_slider_container">
 
<table rules="cols">
 
<table rules="cols">
 
<tr>
 
<tr>
Строка 64: Строка 71:
 
<table>
 
<table>
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=lth|2=mobility|3=seakeeping|4=lth}} }}
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=lth|2=mobility|3=seakeeping|4=lth}} }}
{{#vardefine: row | 1 }}{{#while:
+
{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}}
| 4 >= {{#var: row }}
+
|{{#vardefine: row | 1 }}{{#while:
 +
| {{#ifexpr: 4 >= {{#var: row }} | true }}
 
| <tr>
 
| <tr>
 
   {{#vardefine: column | 1 }}{{#while:
 
   {{#vardefine: column | 1 }}{{#while:
   | {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|столбцы}} => {{#var: column }}
+
   | {{#ifexpr: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}} >= {{#var: column }} | true }}
 
   | <td>
 
   | <td>
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}}}
+
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}
     | <div class="specs_mod"><div class="specs_mod_img"></div><div class="specs_mod_name">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|name}}</div>
+
     | <div class="specs_mod"><div class="specs_mod_img">[[File:Mods_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|icon}}.png|40px|link=]]</div><div class="specs_mod_name"><!--
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|опыт}}
+
  -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}}}<!--
 +
  --></div>
 +
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт}}
 
       | <div class="specs_mod_prices">
 
       | <div class="specs_mod_prices">
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|опыт|format=1}} {{Oi}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт|format=1}} {{Oi}}</div></div>
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|серебро|format=1}} {{Sl}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|серебро|format=1}} {{Sl}}</div></div>
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|золото|format=1}} {{Zo}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|золото|format=1}} {{Zo}}</div></div>
      </div>
 
      }}{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
 
 
       </div>
 
       </div>
 +
      }}
 +
      </div><!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}|<div class="specs_mod_arrow">[[File:Mod_arrow_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}.png|link=]]</div>}}<!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вправо}}|<div class="specs_mod_arrow_right">[[File:Mod_arrow_right_0.png|link=]]</div>}}
 
     }}
 
     }}
     </td>
+
     </td>{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
   }}{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
+
   }}
  </tr>
+
  </tr>{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
 +
}}
 
}}
 
}}
 
</table>
 
</table>
 
</td>
 
</td>
<!--<td>
+
<td>
 
<table>
 
<table>
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=armor|2=protection|3=unsinkability|4=armor}} }}
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=armor|2=protection|3=unsinkability|4=armor}} }}
{{#vardefine: row | 1 }}{{#while:
+
{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}}
| {{#var: row }} != 5
+
|{{#vardefine: row | 1 }}{{#while:
 +
| {{#ifexpr: 4 >= {{#var: row }} | true }}
 
| <tr>
 
| <tr>
 
   {{#vardefine: column | 1 }}{{#while:
 
   {{#vardefine: column | 1 }}{{#while:
   | {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|столбцы}} => {{#var: column }}
+
   | {{#ifexpr: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}} >= {{#var: column }} | true }}
 
   | <td>
 
   | <td>
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: i }}|{{#var: row }}|{{#var: column }}}}
+
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}
     | <div class="specs_mod"><div class="specs_mod_img"></div><div class="specs_mod_name">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|name}}</div>
+
     | <div class="specs_mod"><div class="specs_mod_img">[[File:Mods_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|icon}}.png|40px|link=]]</div><div class="specs_mod_name"><!--
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: i }}|1|опыт}}
+
  -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}}}<!--
 +
  --></div>
 +
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт}}
 
       | <div class="specs_mod_prices">
 
       | <div class="specs_mod_prices">
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|опыт|format=1}} {{Oi}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт|format=1}} {{Oi}}</div></div>
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|серебро|format=1}} {{Sl}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|серебро|format=1}} {{Sl}}</div></div>
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|золото|format=1}} {{Zo}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|золото|format=1}} {{Zo}}</div></div>
      </div>
 
      }}{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
 
 
       </div>
 
       </div>
 +
      }}
 +
      </div><!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}|<div class="specs_mod_arrow">[[File:Mod_arrow_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}.png|link=]]</div>}}<!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вправо}}|<div class="specs_mod_arrow_right">[[File:Mod_arrow_right_0.png|link=]]</div>}}
 
     }}
 
     }}
     </td>
+
     </td>{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
   }}{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
+
   }}
  </tr>
+
  </tr>{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
 +
}}
 
}}
 
}}
 
</table>
 
</table>
Строка 116: Строка 135:
 
<table>
 
<table>
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=weapon|2=firepower|3=firepower|4=weapon}} }}
 
{{#vardefine: mod_class | {{#switch:{{#unit:{{#var: me }}|тип}}|1=weapon|2=firepower|3=firepower|4=weapon}} }}
{{#vardefine: row | 1 }}{{#while:
+
{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}}
| {{#var: row }} != 5
+
|{{#vardefine: row | 1 }}{{#while:
 +
| {{#ifexpr: 4 >= {{#var: row }} | true }}
 
| <tr>
 
| <tr>
 
   {{#vardefine: column | 1 }}{{#while:
 
   {{#vardefine: column | 1 }}{{#while:
   | {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|столбцы}} => {{#var: column }}
+
   | {{#ifexpr: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|столбцы}} >= {{#var: column }} | true }}
 
   | <td>
 
   | <td>
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: i }}|{{#var: row }}|{{#var: column }}}}
+
     {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}
     | <div class="specs_mod"><div class="specs_mod_img"></div><div class="specs_mod_name">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|name}}</div>
+
     | <div class="specs_mod"><div class="specs_mod_img">[[File:Mods_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|icon}}.png|40px|link=]]</div><div class="specs_mod_name"><!--
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: i }}|1|опыт}}
+
  -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|name}}|{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}}}}}<!--
 +
  --></div>
 +
       {{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт}}
 
       | <div class="specs_mod_prices">
 
       | <div class="specs_mod_prices">
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|опыт|format=1}} {{Oi}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Исследование:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|опыт|format=1}} {{Oi}}</div></div>
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|серебро|format=1}} {{Sl}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name">Стоимость:</div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|серебро|format=1}} {{Sl}}</div></div>
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: row }}|{{#var: column }}|золото|format=1}} {{Zo}}</div></div>
+
       <div class="specs_mod_prices_line"><div class="name"></div><div class="value">{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|золото|format=1}} {{Zo}}</div></div>
      </div>
 
      }}{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
 
 
       </div>
 
       </div>
 +
      }}
 +
      </div><!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}|<div class="specs_mod_arrow">[[File:Mod_arrow_{{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вниз}}.png|link=]]</div>}}<!--
 +
      -->{{#if: {{#unit:{{#var: me }}|модификации|{{#var: mod_class }}|{{#var: column }}|{{#var: row }}|стрелка_вправо}}|<div class="specs_mod_arrow_right">[[File:Mod_arrow_right_0.png|link=]]</div>}}
 
     }}
 
     }}
     </td>
+
     </td>{{#vardefine: column | {{#expr: {{#var: column }} + 1 }} }}
   }}{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
+
   }}
  </tr>
+
  </tr>{{#vardefine: row | {{#expr: {{#var: row }} + 1 }} }}
 +
}}
 
}}
 
}}
 
</table>
 
</table>
</td>-->
+
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
 
</div>
 
</div>
 
+
</div>
 
</div></includeonly><noinclude>
 
</div></includeonly><noinclude>
 
{{doc}}
 
{{doc}}
 
[[Категория:ТТХ]]
 
[[Категория:ТТХ]]
 
</noinclude>
 
</noinclude>

Текущая версия на 12:33, 5 апреля 2023