Another fix
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▓▒▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▒▒▒▒▒▒▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▒▒▒▒▒▒▒▒▓▓▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▒▒▒▒▒▒▒▓▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▒▒▒▒▒▒▒▓▒▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒█▒▒▒▒▒▒▒▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▓▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒█▓▓▓█▒████▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▒▒▓▒▒▓█▒▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓░░░░░░░░░░░░▒█▓▓▓▓▓▓▓▓█▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒█▓▓▒▒▓▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒█░░▓▓▓▓▓█░░░░░░░░░█▓▓▓▓▓▓▓▓▓▓██▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓█▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█░░░░▒▓▓▓▓▓█░█░░░░▒▓▓▓▓▓▓▓▓█░░░░▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▒▓▒▒▓▓▓▓▓▓▒▒▒▒█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓▓▓████░░▓▓▓▓▓▓█░░░░░░░░░░█▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▒▒▒▒▒▒▓▒▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▓▒▓▓▓▓▓▒▓▒▒▓▓▓▓▓▓█░░░░░░░░░██▓▓▓▓█████▓▓▓▓█░░░░░░░░░░░░░░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▓▒▒▓▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓░░░░░░░██████▓▓▓▓███▓▓████████░░░░░░░░░░░░▒▓▒▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█░░░░░░██████████▓▓██▓▓███████████░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓ ▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▓▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░█████▓██░▓▓▓▓▓██▓▓▓▓▓▓▓████████░░░░░░░░░░░█░░▒▓▓▓▓▓▓▓ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█░░░░▓████▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓█░░░░░░░░░░█░░▓▓▓▓▓▓▓ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░███▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓███░░░░░░░░▒▒░░▓▓▓▓▓▓▓ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░██▓▓▓░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓█▓░░░░░░▒▒▒░░▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒░█▓▓▓▓░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒█▓▓▓░░░░▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓░▓▓▓▓▓█░▒▒▒▒▒▒█▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▒▒▒▒█▒▒▒▒▒▒▒▒▒░░░▒▒▒▒▒▒▒░▒░░▒░░▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒█▓▓▓░░░░▓▓▓▓▓▓░░░▓▓▓▓▓█▓▓▓░▓▓▓▓█░░▓▓▓▓▓▓▓▓▓█▒▒▒▒▒▒█▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▓▒▒▒▒▒░░░░░░░░░░░░░█▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█▓▓▓░░░░▓▓▓▒▓█░░░░█▓▓▓▓▒▓▓▓▓▓▓▓▓█░░░▓▓▓▓░██░░█▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒░▒░░░░░░░░░░░▒▒▒▒▒░░░░░░░░░░░░░░░▒▒▓▒▒█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█▓▓▓░░░░▒▓▓▒▓█░░░░░░▓▓▓▓▓▒▓▓▓▓▓▓▓▓░░░▓▓▓▓██░███▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒░░░░░░░░░░░░░░░█▒▒▒▓█░░░░░░░░░░░░░░░▓▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓░░░░░▓▓░░░░░░░░░░░▓▓▓███▓▓▓▓▓░▓░░░░▓▓█▓██▓▒▓█▒▒█▒▒▒▒▒▒▒▒▒▒ ░░░░░░░░░░░░░░░░░▒▒▒▒▒░░░░░░░░░░░░░░░░▓▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓█▒░░░░▓▓░█░░░░░░░░░░░▓▓▓▓░█▓█▓▓▓░░░░░▓▓▓▓▓▓░░▓█▒█░░░█▓▒▒▒▒▒▒ ░░░░░░░░░░░░░░░░█▒▒▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░█▓▓▓░░░░░▓░█░░░░░░░░░░░░░▓▓▓▓░█▓▓▓▓░░░░░▒▓▓▓▓█ █▓░░█ ▒░░░░░ ░░░░░░░░░░░░░░░░▒▒▒▒▒█░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓█▒░░░░░▓▒░░░░░░░░░░░░░░░░▓▓▓▓░█▓▓▓▓░░░░░▓▓▓▓░ ░█░░ █░░░░░░ ░░░░░░░░░░░░░░░░▒▒▒▒▒░░░░░░░░░░░░░░░░░░█▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░▓█▓▒█░░▓▒████████▓░░░░░░░░░░░▓▓▓▓░█▓▓▓░░░░░▓▓▓█░ ░█░███▒░░░░░░░░ ░░░░░░░░░░░░░░░█▒▒▒▒▒░░░░░░░░░░░░░░░░░░░▒▒▒▒▒█░░░░░░░░░░░░░░░░░░░░░░░░█▓▓█▒█░░░▓░▓▓▓▓▓▓░░░░░░░░░░░████▓██░█▓▓▓░░░░▓▓▓█ █░██▓▓▓▓▓▒░░░░░ ░░░░░░░░░░░░░░░▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▒▒░░░█░░▓▓▓▓▓▓░░░░░░░░░░░░▓▓▓▓█▓▓█▓▓▓░░░░░▓▓░ ░░░▒▓▓▓▓▓▓▓▓█░░░░ ░░░░░░░░░░░░░░░▒▒▒▒▒█░░░░░░░░░░░░░░░░░░░█▒▒▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░▓██▒▒░░░░░░▓▒▒▒▓▒░░░░░░░░░░░░▓▓▓▓▓▓▓▓░░█░░░░░▓▓█ ░█▒▒▓▓▓▓▓▓▓▓░░░░ ░░░░░░░░░░░░░░▓▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░▓▒▒▒▒▒█░░░░░░░░░░░░░░░░░░░░░░░▓█▒▒▓░░░░░░░▒▓▓░░░░░░░░░░░░░░▓▒▒▓▓▓ ░▓██░░░░░▓█▓░░░░░█▓▓▓▓▓▓▓▓░░░░ ░░░░░░░░░░░░░░█▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▓░░░░░░░░░░░░░░░░░░░░░░░▓█▒▒█░░░░░░░░░░░░░░░░░░░░░░░░░▓▒▒▓░░░░░█░░░░░▓█░▓██░░█▓▓▓▓▓▓▓▓░░░░ ░░░░░░░░░░░░░░█▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░▓▓▒▓█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓░░░░░▓█░█░░░░█▓▓▓▓▓▓▓█░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░▒▒▓▒▒▒ ░░░░░░░░░░░░░ ░░░░░░░░▓▓▒░▒░░░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░█░ ░░█▓▓▓▓▓▓▓░░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░ ░░░░░░░░░ ░▒▒▒▒▒▒░░░ ░░░░ ░ ░░░░░░░░ ░▓▓█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░█▓▓▓▓▓▓▓░░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒ ░▒▒▒▒▒▒░ ▓▓█░░░░░░█░▓░░░░░░░░░░░░░░░░░░░░░░░░░░▒░░░░░░░█░░░░░░▓▓▓▓▓▓▓█░░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒ ░▒▒▒▒▒▒ ░█▓█░▒░░░░█ ░▒█░░░░░░░░░░░░░░░░░░░░░░░█░░░░░░░█ ░▒▓▓▓▓▓▓▓░░░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒ ░▒▒▒▒▒▒░ █▓█░░░░░░░░░░░▓██▓█░░░░░░░░░░░▓████░░░█░░░░░░░█ ░█▓▓▓▓▓▓█░░░░░░ ░░░░░░░░░░░░░░▒▒▒▒▒▒▒ ▓▒▒▓▒▒▒ █▓█░░░░░░░█░█░▓██░░░░░█░░░░░░████████▒░░░░░░░░█ ░▒▓▓▓▓▓▓░░░░░░░ ░░░░░░░░░░░ ░█▓▒▒▒▒█░ █▒▒▒▒▒▒ ▒█▓▓░░█░░░░░░░░▒░░██░░░░▓░░░░░░░░█▓▓▓█░░░░░░█░░█ █▒▓▓▓▓▓▓░░░░░░░ ░░░░░░░░░░ ▒▒▒▒▒▒▒░ ░▒▒▒▒▒▒█ ░▓█▓▓▓░░░░░░░░░░█░░░░░░░░█░█░░░░░░░███░▒░░░░░█░░▒ ▓▒▓▓▓▓▓█░░░░░░░ ░░░░░░░░░ ░▒▒▒▒▒▓▓░ ░▒▒▒▒▒▒▓ ░▓▓█▓▓▒█░░░░░░█░░░░▒ ░░░░▓█░░█░░░░░█░░█░░░░░█░░▓▒░ ░▒▒▓▓▓▓▓▓░░░░░░░ ░░░░░░░░ ▒▒▒▒▓▒▒█ ░█▒▒▒▓▒▒░ ░▓▓▓▓▓▓▒▒░░░░░█▓▓░░ ░░░░█░░░░░█▓░░█░░░░░▓░░▒█▓░█▒▒▓▓▓▓▓░░░░░░░░ ░░░░░░░ █▒▓▒▒▒▒▓ ░▒▒▒▒▒▒█ █▓▓▓▓▓▓▒█▓▒░░░░ ░█░░ ▒██░░░░▒██▓░░░▒░█ ░░░░░░░█▒░░█▓▓▒█▒▒▓▓▓▓▓█░░░░░░░ ░░░░░░ ░▒▒▒▒▒▒▒▓░ ░░▒▒▒▒▒▒▒░ ░▓▓▓▓▓▓▓▒▒█ ░░░░░░░ ░█▓ ░░░██▓ █ ▓█░░░░█▒▒█▒▓▓█░░▒▒▓▓▓▓▓▓░░░░░░░ ░░░░░ ▒▒▒▒▒▒▓▒▒█ ░█▓▒▒▒▒▒▒▒░ ░█▓▓▓▓▓▓▓▓▒▒░ █░░░░░ ░▒░░░░░█░ █▒ █░█░░░█▒▓▒██▓█░ ░▓▒▓▓▓▓▓▓█░░░░░░ ░░░░ ░▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒░ ░░▓▓▓▓▓▓▓▓▓▒▒█ ▓█ ░░░░░█░ ░█░▒░▓█░░██▒▒▒█▓█ █▒▓▓▓▓▓█▓█░░░░░ ░░░░ ░█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ░█▓▓▓▓▓▓▓▓▓▒▒▒░ ░░ ░░░░░█░ ░ ░▒░█▒▓▓▓█▓▓░ ░▒▒▓▓▓▓▓▓▓▓░░░░ ░░░ ░▒▓▒▒▒▒▒▒▓▒▒▒▒▒▓░░ ░▓▓▓▓▓▓▓▓▓▓▒▒▒█ ▓░ ░░░░░░░░▒▓ ░ ░░█▒▓▓░█▓▓░ ░█▒▓▓▓▓▓▓▓▓▓█░░ ░░░ ░░▒▒░ ░ ░▓▓▓▓▓▓▓▓▓▓▓▓▒▒░ ░░ ░░░░░░░█░░░ ░░▒░ ░█ █▒▒▓▓▓▓▓▓▓▓▓▓█ ░░░ ░▓▓▓▓░▓▓▓▓▓▓▒▒██ ░█░ ░░░░░░░▓██░░ ░▒░ ░░ ▒▒▓▓▓▓▓▓▓▓▓▓▓ ░░ ░▓▓▓░█▓▓▓▓▓▒▒█░░ █░░ ░░░░░░░█░▒▓ █ ██░ ░░░ █▒▒▓▓▓▓▓▓▓▓▓▓ ░ ░█▓█░█▓▓▓▓▒▒▓░░ █░░░ ░░░░░░░ ░░ █ ░▒░ ░█░ ▒▒▒▒▓▓▓▓▓▓▓▓▓
This commit is contained in:
		
							parent
							
								
									61e7560952
								
							
						
					
					
						commit
						880da3b79d
					
				| @ -1,23 +1,17 @@ | |||||||
| FROM alpine:latest | FROM alpine:latest | ||||||
| 
 | 
 | ||||||
| ENV EXTRAURL = "http://mdu.se/" | ENV REPOFILE="/etc/customMirrors/repoList.list" EXTRAURL="http://mdu.se/" | ||||||
| ENV REPOFILE = "/etc/customMirrors/repoList.list" | ENV DNSSRV="1.1.1.1" | ||||||
| ENV DNSSRV = "1.1.1.1" | ENV IPV4FILENAME="MirrorListV4" IPV6FILENAME="MirrorListV6" | ||||||
|  | ENV CRONTABSET="25 */4 * * *" | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| RUN apk update && \ | RUN apk update && \ | ||||||
|     apk add python3 py3-pip git bash |     apk add python3 py3-pip git bash | ||||||
| # inotify-tools |  | ||||||
| 
 | 
 | ||||||
| RUN mkdir /etc/customMirrors | RUN mkdir /etc/customMirrors | ||||||
| WORKDIR /etc/customMirrors/ | WORKDIR /etc/customMirrors/ | ||||||
| 
 | 
 | ||||||
| RUN git clone https://tea.shupogaki.org/YuruC3/Repo-IP-lists && \ |  | ||||||
|     ln -s /etc/customMirrors/Repo-IP-lists/MirrorListV4 /etc/customMirrors/MirrorListV4 && \ |  | ||||||
|     ln -s /etc/customMirrors/Repo-IP-lists/MirrorListV6 /etc/customMirrors/MirrorListV6  |  | ||||||
| 
 |  | ||||||
| # RUN touch /etc/customMirrors/MirrorListV6 && \ |  | ||||||
| #     touch /etc/customMirrors/MirrorListV4 |  | ||||||
| 
 |  | ||||||
| COPY mainDocker.py . | COPY mainDocker.py . | ||||||
| COPY whatDomain.py . | COPY whatDomain.py . | ||||||
| COPY requirements.txt . | COPY requirements.txt . | ||||||
| @ -27,14 +21,8 @@ RUN python3 -m venv venv && \ | |||||||
|     venv/bin/python3 -m pip install --upgrade pip && \ |     venv/bin/python3 -m pip install --upgrade pip && \ | ||||||
|     venv/bin/pip3 install -r requirements.txt |     venv/bin/pip3 install -r requirements.txt | ||||||
| 
 | 
 | ||||||
| COPY cron-jobs /etc/crontabs/ |  | ||||||
| RUN chmod 0644 /etc/crontabs/cron-jobs && \ |  | ||||||
|     crontab /etc/crontabs/cron-jobs |  | ||||||
| 
 |  | ||||||
| COPY gitPush.sh . | COPY gitPush.sh . | ||||||
| 
 | 
 | ||||||
| RUN chmod +x ./gitPush.sh | RUN chmod +x ./gitPush.sh | ||||||
| 
 | 
 | ||||||
| CMD ["bash", "init.sh"] | CMD ["bash", "init.sh"] | ||||||
| 
 |  | ||||||
| # CMD ["/usr/sbin/crond", "-f"] |  | ||||||
|  | |||||||
| @ -10,8 +10,10 @@ services: | |||||||
|       - GITURLPROTO=https |       - GITURLPROTO=https | ||||||
|       - GITURL=tea.shupogaki.org |       - GITURL=tea.shupogaki.org | ||||||
|       - GITREPOPATH=YuruC3/Repo-IP-lists.git |       - GITREPOPATH=YuruC3/Repo-IP-lists.git | ||||||
|       - GITEA_TOKEN=0938a2033324b987bbcb2976b56d147a9a00d8a2 |       - GITEA_TOKEN=3947a16ee5c3a337d6ff9cfb32d361167d4099d7 | ||||||
|       - REPOFILE=repoList.list |       - REPOFILE=repoList.list | ||||||
|  |       - IPV4FILENAME=customListNv4 | ||||||
|  |       - IPV6FILENAME=customListNv6 | ||||||
|     volumes: |     volumes: | ||||||
|       - ./repoList.list:/etc/customMirrors/repoList.list:ro |       - ./repoList.list:/etc/customMirrors/repoList.list:ro | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| #!/bin/sh | #!/bin/sh | ||||||
| set -e | set -e | ||||||
| 
 | 
 | ||||||
| WORKPTH="/etc/debmirror/" | WORKPTH="/etc/customMirrors/" | ||||||
| REPO_DIR="$WORKPTH/Repo-IP-lists" | REPO_DIR="$WORKPTH/Repo-IP-lists" | ||||||
| REPO_URL="${GITURLPROTO}://${GITURL}/${GITREPOPATH}" | REPO_URL="${GITURLPROTO}://${GITURL}/${GITREPOPATH}" | ||||||
| 
 | 
 | ||||||
| @ -28,7 +28,7 @@ git config user.name "UpdateBot" | |||||||
| git config user.email "UpdateBot@localhost.local" | git config user.email "UpdateBot@localhost.local" | ||||||
| 
 | 
 | ||||||
| # Stage the files | # Stage the files | ||||||
| git add MirrorListV4 MirrorListV6 | git add $IPV4FILENAME $IPV6FILENAME | ||||||
| 
 | 
 | ||||||
| # Only proceed if there are staged changes | # Only proceed if there are staged changes | ||||||
| if ! git diff --quiet --cached; then | if ! git diff --quiet --cached; then | ||||||
|  | |||||||
| @ -14,4 +14,10 @@ fi | |||||||
| echo "nameserver $DNSSRV" > /etc/resolv.conf  | echo "nameserver $DNSSRV" > /etc/resolv.conf  | ||||||
| echo "search local" >> /etc/resolv.conf | echo "search local" >> /etc/resolv.conf | ||||||
| 
 | 
 | ||||||
|  | git clone https://${GITEA_TOKEN}@${GITURL}/${GITREPOPATH} | ||||||
|  | ln -s /etc/customMirrors/Repo-IP-lists/$IPV4FILENAME /etc/customMirrors/$IPV4FILENAME | ||||||
|  | ln -s /etc/customMirrors/Repo-IP-lists/$IPV6FILENAME /etc/customMirrors/$IPV6FILENAME | ||||||
|  | 
 | ||||||
|  | echo -n "$CRONTABSET /etc/debmirror/venv/bin/python3 /etc/debmirror/mainDocker.py" > /etc/crontabs/customListCron | ||||||
|  | 
 | ||||||
| exec /usr/sbin/crond -f | exec /usr/sbin/crond -f | ||||||
| @ -12,9 +12,12 @@ for repoUrl in repoListFile: | |||||||
|     EXTRAURL.append(repoUrl.strip()) |     EXTRAURL.append(repoUrl.strip()) | ||||||
| repoListFile.close() | repoListFile.close() | ||||||
| 
 | 
 | ||||||
|  | IPV4FILENAME = str(os.getenv("IPV4FILENAME", "MirrorListV4")) | ||||||
|  | IPV6FILENAME = str(os.getenv("IPV6FILENAME", "MirrorListV6")) | ||||||
|  | 
 | ||||||
| # EXTRAURL = list(os.getenv("EXTRAURL", "https://mdu.se/")) | # EXTRAURL = list(os.getenv("EXTRAURL", "https://mdu.se/")) | ||||||
| IPv4FILE = "/etc/customMirrors/MirrorListV4" | IPv4FILE = f"/etc/customMirrors/{IPV4FILENAME}" | ||||||
| IPv6FILE = "/etc/customMirrors/MirrorListV6" | IPv6FILE = f"/etc/customMirrors/{IPV6FILENAME}" | ||||||
| 
 | 
 | ||||||
| def sanitizeURL(inpurl: str): | def sanitizeURL(inpurl: str): | ||||||
|     if "https://" in inpurl: |     if "https://" in inpurl: | ||||||
| @ -60,7 +63,7 @@ def LeJob(): | |||||||
|                 continue |                 continue | ||||||
|                          |                          | ||||||
| 
 | 
 | ||||||
|     with open(IPv6FILE, "r",) as fR, open(IPv6FILE, "w",) as fW: |     with open(IPv6FILE, "w",) as fW: | ||||||
| 
 | 
 | ||||||
|         for url in EXTRAURL: |         for url in EXTRAURL: | ||||||
|             goodurl = sanitizeURL(url) |             goodurl = sanitizeURL(url) | ||||||
|  | |||||||
| @ -2,3 +2,4 @@ https://www.pixiv.net/ | |||||||
| https://pixiv.net/ | https://pixiv.net/ | ||||||
| https://i.pximg.net/ | https://i.pximg.net/ | ||||||
| https://pximg.net/ | https://pximg.net/ | ||||||
|  | https://wiki.archlinux.org/ | ||||||
							
								
								
									
										4
									
								
								customList/repoList.list.example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								customList/repoList.list.example
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | https://www.pixiv.net/ | ||||||
|  | https://pixiv.net/ | ||||||
|  | https://i.pximg.net/ | ||||||
|  | https://pximg.net/ | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user