skeletyl, sweep: remove dia-layer and resort to tap'n'holds (#1)
<!--- Provide a general summary of your changes in the title above. --> <!--- This template is entirely optional and can be removed, but is here to help both you and us. --> <!--- Anything on lines wrapped in comments like these will not show up in the final text. --> ## Description <!--- Describe your changes in detail here. --> ## Types of Changes <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply. --> - [ ] Core - [ ] Bugfix - [ ] New feature - [ ] Enhancement/optimization - [ ] Keyboard (addition or update) - [ ] Keymap/layout/userspace (addition or update) - [ ] Documentation ## Issues Fixed or Closed by This PR * ## Checklist <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> - [ ] My code follows the code style of this project: [**C**](https://docs.qmk.fm/#/coding_conventions_c), [**Python**](https://docs.qmk.fm/#/coding_conventions_python) - [ ] I have read the [**PR Checklist** document](https://docs.qmk.fm/#/pr_checklist) and have made the appropriate changes. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [ ] I have read the [**CONTRIBUTING** document](https://docs.qmk.fm/#/contributing). - [ ] I have added tests to cover my changes. - [ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage). Reviewed-on: #1 Co-authored-by: Michael Grote <michael.grote@posteo.de> Co-committed-by: Michael Grote <michael.grote@posteo.de>
This commit is contained in:
parent
71ff2c7325
commit
dea7ba791f
3 changed files with 90 additions and 62 deletions
|
@ -17,21 +17,47 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
// layer rgb
|
||||
for (uint8_t i = led_min; i < led_max; i++) {
|
||||
switch(get_highest_layer(layer_state|default_layer_state)) {
|
||||
//base
|
||||
case 0:
|
||||
rgblight_sethsv(4, 75, 150); // warmhite (werte = hue, saturation, value)
|
||||
rgblight_sethsv(4, 75, 150); // warmwhite (werte = hue, saturation, value)
|
||||
break;
|
||||
// num
|
||||
case 1:
|
||||
// <led-index> {siehe ../../skeletyl.c) <rgb-wert>
|
||||
// color thumbs
|
||||
rgb_matrix_set_color(35, 255, 165, 0); // orange
|
||||
rgb_matrix_set_color(34, 255, 165, 0); // orange
|
||||
rgb_matrix_set_color(33, 255, 165, 0); // orange
|
||||
break;
|
||||
// sym
|
||||
case 2:
|
||||
// color thumbs
|
||||
rgb_matrix_set_color(15, 0, 90, 255); // blue
|
||||
rgb_matrix_set_color(16, 0, 90, 255); // blue
|
||||
rgb_matrix_set_color(17, 0, 90, 255); // blue
|
||||
// color pairs
|
||||
// ´`
|
||||
rgb_matrix_set_color(5, 20, 214, 22); // 50 shades of green
|
||||
rgb_matrix_set_color(11, 20, 214, 22); // 50 shades of green
|
||||
// []
|
||||
rgb_matrix_set_color(3, 44, 0, 232); // 50 shades of blue
|
||||
rgb_matrix_set_color(21, 44, 0, 232); // 50 shades of blue
|
||||
// ()
|
||||
rgb_matrix_set_color(8, 44, 0, 207); // 50 shades of blue
|
||||
rgb_matrix_set_color(26, 44, 0, 207); // 50 shades of blue
|
||||
// {}
|
||||
rgb_matrix_set_color(9, 44, 0, 171); // 50 shades of blue
|
||||
rgb_matrix_set_color(27, 44, 0, 171); // 50 shades of blue
|
||||
// \/
|
||||
rgb_matrix_set_color(13, 235, 235, 19); // 50 shades of yellow
|
||||
rgb_matrix_set_color(31, 235, 235, 19); // 50 shades of yellow
|
||||
// <>
|
||||
rgb_matrix_set_color(14, 235, 56, 19); // 50 shades of red
|
||||
rgb_matrix_set_color(32, 235, 56, 19); // 50 shades of red
|
||||
break;
|
||||
// mov
|
||||
case 3:
|
||||
// color thumbs
|
||||
rgb_matrix_set_color(35, 4, 147, 4); // green
|
||||
rgb_matrix_set_color(34, 4, 147, 4); // green
|
||||
rgb_matrix_set_color(33, 4, 147, 4); // green
|
||||
|
@ -39,7 +65,9 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(16, 4, 147, 4); // green
|
||||
rgb_matrix_set_color(17, 4, 147, 4); // green
|
||||
break;
|
||||
// media
|
||||
case 4:
|
||||
// color thumbs
|
||||
rgb_matrix_set_color(35, 255, 241, 21); // yellow
|
||||
rgb_matrix_set_color(34, 255, 241, 21); // yellow
|
||||
rgb_matrix_set_color(33, 255, 241, 21); // yellow
|
||||
|
@ -47,14 +75,6 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(16, 255, 241, 21); // yellow
|
||||
rgb_matrix_set_color(17, 255, 241, 21); // yellow
|
||||
break;
|
||||
case 5:
|
||||
rgb_matrix_set_color(35, 165, 16, 16); // dark red
|
||||
rgb_matrix_set_color(34, 165, 16, 16); // dark red
|
||||
rgb_matrix_set_color(33, 165, 16, 16); // dark red
|
||||
rgb_matrix_set_color(15, 165, 16, 16); // dark red
|
||||
rgb_matrix_set_color(16, 165, 16, 16); // dark red
|
||||
rgb_matrix_set_color(17, 165, 16, 16); // dark red
|
||||
break;
|
||||
default:
|
||||
rgblight_sethsv(4, 75, 150); // warmwhite (werte = hue, saturation, value)
|
||||
break;
|
||||
|
@ -63,32 +83,31 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
// combos; https://github.com/qmk/qmk_firmware/blob/master/docs/feature_combo.md
|
||||
enum combos {
|
||||
C_ALT,
|
||||
C_KA,
|
||||
C_KK,
|
||||
C_ESC,
|
||||
C_MED,
|
||||
C_DIA,
|
||||
C_SV, // Strg + S
|
||||
C_WE // Windows Explorer
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM alt_combo[] = {LCTL_T(KC_E), KC_I, COMBO_END};
|
||||
const uint16_t PROGMEM ka_combo[] = {KC_R, LSFT_T(KC_T), COMBO_END};
|
||||
const uint16_t PROGMEM kk_combo[] = {LSFT_T(KC_N), KC_I, COMBO_END};
|
||||
const uint16_t PROGMEM esc_combo[] = {LCTL_T(KC_S), LSFT_T(KC_T), COMBO_END};
|
||||
const uint16_t PROGMEM med_combo[] = {LT(3, KC_DEL), MO(3), COMBO_END};
|
||||
const uint16_t PROGMEM dia_combo[] = {LT(2, KC_ENT), LT(1, KC_SPC), COMBO_END};
|
||||
const uint16_t PROGMEM sv_combo[] = {LCTL_T(KC_S), LT(0,KC_C), COMBO_END};
|
||||
const uint16_t PROGMEM we_combo[] = {LT(0,KC_W), LCTL_T(KC_E), COMBO_END};
|
||||
|
||||
combo_t key_combos[] = {
|
||||
[C_ALT] = COMBO(alt_combo, KC_LALT),
|
||||
[C_KA] = COMBO(ka_combo, LCTL(LALT(KC_A))),
|
||||
[C_KK] = COMBO(kk_combo, LCTL(LALT(KC_K))),
|
||||
[C_ESC] = COMBO(esc_combo, KC_ESC),
|
||||
[C_MED] = COMBO(med_combo, MO(4)),
|
||||
[C_DIA] = COMBO(dia_combo, OSL(5)),
|
||||
[C_SV] = COMBO(sv_combo, LCTL(KC_S)),
|
||||
[C_WE] = COMBO(we_combo, LGUI(KC_E)),
|
||||
};
|
||||
|
@ -97,8 +116,8 @@ combo_t key_combos[] = {
|
|||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Buchstaben - white
|
||||
[0] = LAYOUT_split_3x5_3(
|
||||
LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, KC_U, DE_Z, KC_BSPC,
|
||||
LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, KC_O,
|
||||
LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, LT(0,KC_U), DE_Z, KC_BSPC,
|
||||
LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, LT(0,KC_O),
|
||||
LT(0,DE_Y), LT(0,KC_X), LT(0,KC_C), LSFT_T(KC_D), LT(0,KC_V), KC_K, LSFT_T(KC_H), DE_COMM, DE_DOT, DE_MINS,
|
||||
XXXXXXX, LT(3, KC_DEL), LT(2, KC_ENT), LT(1, KC_SPC), MO(3), XXXXXXX
|
||||
),
|
||||
|
@ -112,8 +131,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// Sym - blue
|
||||
[2] = LAYOUT_split_3x5_3(
|
||||
DE_CIRC, DE_LBRC, DE_LPRN, DE_LPRN, DE_SECT, DE_PERC, DE_RCBR, DE_RPRN, DE_RBRC, KC_BSPC,
|
||||
DE_EXLM, DE_DQUO, LSFT(DE_ACUT), DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES,
|
||||
DE_TILD, XXXXXXX, DE_ACUT, XXXXXXX, DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH,
|
||||
DE_EXLM, DE_DQUO, DE_SS, DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES,
|
||||
DE_TILD, DE_ACUT, XXXXXXX, LSFT(DE_ACUT), DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH,
|
||||
XXXXXXX, _______, _______, _______, _______, XXXXXXX
|
||||
),
|
||||
// Move - green
|
||||
|
@ -129,13 +148,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_VOLD, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, _______, _______, _______, _______, XXXXXXX
|
||||
),
|
||||
// Diacretics - dark red
|
||||
[5] = LAYOUT_split_3x5_3(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_UDIA, XXXXXXX, XXXXXXX,
|
||||
DE_ADIA, KC_LALT, DE_SS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, DE_ODIA,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, _______, _______, _______, _______, XXXXXXX
|
||||
)
|
||||
};
|
||||
|
||||
|
@ -181,7 +193,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
return true;
|
||||
case LT(0,KC_A):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(KC_TAB);
|
||||
tap_code16(DE_ADIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
case LT(0,KC_O):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(DE_ODIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
case LT(0,KC_U):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(DE_UDIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -3,29 +3,29 @@
|
|||
|
||||
// combos; https://github.com/qmk/qmk_firmware/blob/master/docs/feature_combo.md
|
||||
enum combos {
|
||||
C_ALT,
|
||||
C_KA,
|
||||
C_KK,
|
||||
C_ESC,
|
||||
C_MED,
|
||||
C_DIA,
|
||||
C_SV, // Strg + S
|
||||
C_WE // Windows Explorer
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM alt_combo[] = {LCTL_T(KC_E), KC_I, COMBO_END};
|
||||
const uint16_t PROGMEM ka_combo[] = {KC_R, LSFT_T(KC_T), COMBO_END};
|
||||
const uint16_t PROGMEM kk_combo[] = {LSFT_T(KC_N), KC_I, COMBO_END};
|
||||
const uint16_t PROGMEM esc_combo[] = {LCTL_T(KC_S), LSFT_T(KC_T), COMBO_END};
|
||||
const uint16_t PROGMEM med_combo[] = {LT(3, KC_DEL), MO(3), COMBO_END};
|
||||
const uint16_t PROGMEM dia_combo[] = {LT(2, KC_ENT), LT(1, KC_SPC), COMBO_END};
|
||||
const uint16_t PROGMEM sv_combo[] = {LCTL_T(KC_S), LT(0,KC_C), COMBO_END};
|
||||
const uint16_t PROGMEM we_combo[] = {LT(0,KC_W), LCTL_T(KC_E), COMBO_END};
|
||||
|
||||
combo_t key_combos[] = {
|
||||
[C_ALT] = COMBO(alt_combo, KC_LALT),
|
||||
[C_KA] = COMBO(ka_combo, LCTL(LALT(KC_A))),
|
||||
[C_KK] = COMBO(kk_combo, LCTL(LALT(KC_K))),
|
||||
[C_ESC] = COMBO(esc_combo, KC_ESC),
|
||||
[C_MED] = COMBO(med_combo, MO(4)),
|
||||
[C_DIA] = COMBO(dia_combo, OSL(5)),
|
||||
[C_SV] = COMBO(sv_combo, LCTL(KC_S)),
|
||||
[C_WE] = COMBO(we_combo, LGUI(KC_E)),
|
||||
};
|
||||
|
@ -34,8 +34,8 @@ combo_t key_combos[] = {
|
|||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Buchstaben - white
|
||||
[0] = LAYOUT_split_3x5_2(
|
||||
LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, KC_U, DE_Z, KC_BSPC,
|
||||
LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, KC_O,
|
||||
LT(0,KC_Q), LT(0,KC_W), LT(0,KC_F), KC_P, KC_B, KC_J, KC_L, LT(0,KC_U), DE_Z, KC_BSPC,
|
||||
LT(0,KC_A), KC_R, LCTL_T(KC_S), LSFT_T(KC_T), KC_G, KC_M, LSFT_T(KC_N), LCTL_T(KC_E), KC_I, LT(0,KC_O),
|
||||
LT(0,DE_Y), LT(0,KC_X), LT(0,KC_C), LSFT_T(KC_D), LT(0,KC_V), KC_K, LSFT_T(KC_H), DE_COMM, DE_DOT, DE_MINS,
|
||||
LT(3, KC_DEL), LT(2, KC_ENT), LT(1, KC_SPC), MO(3)
|
||||
),
|
||||
|
@ -49,8 +49,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// Sym - blue
|
||||
[2] = LAYOUT_split_3x5_2(
|
||||
DE_CIRC, DE_LBRC, DE_LPRN, DE_LPRN, DE_SECT, DE_PERC, DE_RCBR, DE_RPRN, DE_RBRC, KC_BSPC,
|
||||
DE_EXLM, DE_DQUO, LSFT(DE_ACUT), DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES,
|
||||
DE_TILD, XXXXXXX, DE_ACUT, XXXXXXX, DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH,
|
||||
DE_EXLM, DE_DQUO, DE_SS, DE_QUOT, DE_SLSH, RALT(DE_SS), DE_DLR, DE_AMPR, DE_ASTR, DE_QUES,
|
||||
DE_TILD, DE_ACUT, XXXXXXX, LSFT(DE_ACUT), DE_LABK , DE_RABK , XXXXXXX, DE_PLUS, DE_EQL, DE_HASH,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
// Move - green
|
||||
|
@ -66,13 +66,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
RGB_MOD, RGB_SAI, RGB_SAD, XXXXXXX, KC_MUTE, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
RGB_RMOD, RGB_VAI, RGB_VAD, KC_MPLY, KC_VOLD, KC_VOLD, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
// Diacretics - dark red
|
||||
[5] = LAYOUT_split_3x5_2(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_UDIA, XXXXXXX, XXXXXXX,
|
||||
DE_ADIA, KC_LALT, DE_SS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, DE_ODIA,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
// https://github.com/qmk/qmk_firmware/blob/master/docs/mod_tap.md#changing-hold-function
|
||||
|
@ -117,7 +110,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
return true;
|
||||
case LT(0,KC_A):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(KC_TAB);
|
||||
tap_code16(DE_ADIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
case LT(0,KC_O):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(DE_ODIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
case LT(0,KC_U):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(DE_UDIA);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
35
readme.md
35
readme.md
|
@ -7,9 +7,9 @@
|
|||
```text
|
||||
Home Row Mods / Tap'n'Hold
|
||||
------------------------------- -------------------------------
|
||||
| @ | WIN | € | | | | | | | | |
|
||||
| @ | WIN | € | | | | | | Ü | | |
|
||||
------------------------------- -------------------------------
|
||||
| TAB | | CTL | SFT | | | | SFT | CTL | | |
|
||||
| Ä | | CTRL| SFT | | | | SFT | CTRL| | Ö |
|
||||
------------------------------- -------------------------------
|
||||
| | | CUT | CPY | SFT | PST | | | SFT | | | |
|
||||
------------------------------- -------------------------------
|
||||
|
@ -42,9 +42,9 @@ SYM Layer
|
|||
------------------------------- -------------------------------
|
||||
| ^ | [ | ( | ( | § | | % | } | ) | ] | BSPC|
|
||||
------------------------------- -------------------------------
|
||||
| ! | " | ` | ' | / | | \ | $ | & | * | ? |
|
||||
| ! | " | ß | ' | / | | \ | $ | & | * | ? |
|
||||
------------------------------- -------------------------------
|
||||
| ~ | | ´ | | < | | > | | + | = | # |
|
||||
| ~ | ´ | | ` | < | | > | | + | = | # |
|
||||
------------------------------- -------------------------------
|
||||
| | DEL | ENT | | SPC | MOV | |
|
||||
------------------- -------------------
|
||||
|
@ -71,18 +71,7 @@ MEDIA Layer
|
|||
| | DEL | ENT | | SPC | MOV | |
|
||||
------------------- -------------------
|
||||
|
||||
DIACRETICS Layer
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | Ü | | |
|
||||
------------------------------- -------------------------------
|
||||
| Ä | ALT | ß | | | | | | | ALT | Ö |
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | |
|
||||
------------------- -------------------
|
||||
|
||||
Combos 1/2
|
||||
Combos 1/3
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
|
@ -90,10 +79,10 @@ Combos 1/2
|
|||
------------------------------- -------------------------------
|
||||
| | | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
| |MEDIA| DIA | | DIA |MEDIA| |
|
||||
| |MEDIA| | | |MEDIA| |
|
||||
------------------- -------------------
|
||||
|
||||
Combos 2/2
|
||||
Combos 2/3
|
||||
------------------------------- -------------------------------
|
||||
| | WE | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
|
@ -104,4 +93,14 @@ Combos 2/2
|
|||
| | | | | | | |
|
||||
------------------- -------------------
|
||||
|
||||
Combos 3/3
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | ALT | ALT | |
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | | | | | |
|
||||
------------------------------- -------------------------------
|
||||
| | | | | | | |
|
||||
------------------- -------------------
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue