- 1
IT Оффтоп #69
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #69
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
#60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
#61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
#62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
#63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
#64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
#65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
#66: https://govnokod.ru/27040 https://govnokod.xyz/_27040
#67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
#68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
nepeKamHblu_nemyx # 0
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
bormand # 0 ⇈
rotoeb # 0 ⇈
3oJIoTou_xyu # 0 ⇈
rotoeb # 0 ⇈
oaoaoammm # 0
gost # 0 ⇈
oaoaoammm # 0 ⇈
Но мне больше нравится это:
«69 - Ленивая улыбка. Новый формат грустного смайла - (цифровой смайл) Произошло: лениво не зажимая клавишу Shift на клавиатуре печатается :)»
3oJIoTou_xyu # 0 ⇈
Fike # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
gost # 0
Ура, первый пост про семью, в котором ни муж, ни жена — не мудаки!
oaoaoammm # 0 ⇈
gost # 0
oaoaoammm # 0 ⇈
guest # 0 ⇈
Овердохуя в Интернетике есть историй типа: "я думала, он хороший, а он стал меня пиздить, и убедил меня, что там мне и надо"
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
guest # 0 ⇈
Пока он влюблен, ему не хочется ее обижать. А на третий год она ему надоедает, растолстела после родов, пилит, что денег нет, пеленки еще эти засранные, вот он руки и распускает
oaoaoammm # 0 ⇈
Обычно же вся жесть на поверхности. Поэтому HR'ов, кстати, никто не любит, зачастую после отбора персонала типичный хрюнь идёт домой, где её пиздит муж / его пилит жена, которую он(а) сам(а) же и выбирал(а).
oaoaoammm # 0 ⇈
Гост, видимо, вампир и пересчитывает истории на том сайте.
Fike # 0 ⇈
rotoeb # 0
Z-Mail - почтовый сервис компании "Зенон Н.С.П."
Вы можете зарегистрировать для себя адрес электронной почты в домене @zmail.ru.
Стоимость услуги составляет – 336 руб./год.
Какой багор )))
guest # 0 ⇈
В качестве web-сервера используется надежный и самый распространенный сервер Apache.
http://www.peterlink.ru/hosting/
rotoeb # 0 ⇈
guest # 0 ⇈
за деньги
oaoaoammm # 0 ⇈
bootcamp_dropout # 0
>Я пришел на собеседование с лайвкодингом — и меня с позором размазали
Какой король разработки )))
oaoaoammm # 0 ⇈
— Ребята, я ТАКОГО потешного джуна только что собеседовал! Он даже не знал про «финализатор» )))
— Какой багор ))) Давай пригласим его на лайв-кодинг и будем унижать!
guest # 0 ⇈
Ненужность финалайзера -- необходимое знание для стажера дотнет
oaoaoammm # 0 ⇈
Финализатор, по сути, это «недетерминированный деструктор».
Единственное, где может такая фича пригодиться – это если ты пишешь скрипт, который открывает файл, потом пишешь туда что-то, но писать один лишний вызов тебе лень, поэтому ты вспоминаешь про финализатор условного класса FileOpener и течешь )))
bormand # 0 ⇈
Это скорее для memory-like ресурсов которые надо бы освободить, но не особо то и срочно.
guest # 0 ⇈
он завершился, и ты потек
bormand # 0 ⇈
guest # 0 ⇈
выдал "ку"
oaoaoammm # 0 ⇈
Это реальный бароп.
bormand # 0 ⇈
gost # 0 ⇈
«Если что-то может пойти не так — оно пойдёт не так»?
guest # 0 ⇈
guest # 0 ⇈
Именно по этому я за "ПХП"
oaoaoammm # 0 ⇈
Fike # 0 ⇈
guest # 0 ⇈
зацени отсос
Deprecated
The finalization mechanism is inherently problematic. Finalization can lead to performance issues, deadlocks, and hangs. Errors in finalizers can lead to resource leaks; there is no way to cancel finalization if it is no longer necessary; and no ordering is specified among calls to finalize methods of different objects. Furthermore, there are no guarantees regarding the timing of finalization. The finalize method might be called on a finalizable object only after an indefinite delay, if at all. Classes whose instances hold non-heap resources should provide a method to enable explicit release of those resources, and they should also implement AutoCloseable if appropriate. The ref.Cleaner and ref.PhantomReference provide more flexible and efficient ways to release resources when an object becomes unreachable.
bormand # 0 ⇈
guest # 0 ⇈
* отрицание,
* сделка,
* вина,
* гнев,
* депрессия
* принятие
1. GC хватит всем. Ресурсы закрывайте в филазайс
2. GC хватит всем. Ресурсы закрывайте в finally
3. GC хватит всем. Ресурсы закрывайте AutoCloseable (try/with)
4. The ref.Cleaner and ref.PhantomReference provide more flexible
CHayT # 0 ⇈
CHayT # 0 ⇈
на разных нодах. Сдох твой процесс, открывший файл, VM шлёт сообщеньку об этом процессу-враппепу, и он завершается. В итоге можно хоть на удалённой машине файлоту открывать, и ничего не утечёт. RAIIбляди соснули.
bormand # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
CHayT # 0 ⇈
Но в целом эриксоновцы сделали полную отсебятину, которая почерпнула больше идей из сетей, чем из какого-то ЯП. Если сравнивать его с "true OOP" языком Smalltalk, различий много. В smalltalk, AFAIK, нет процессов, там скучные объекты. В нём есть анскилльное наследование, а в Erlang вместно него используется инкапсуляция сообщений a la TCP/IP.
Видел в рассылке забавное письмо, где кто-то написал, что Erlang мол неправильно реализует Pi-calculus из-за того-то и того-то. Один из создателей языка ответил в духе "слава богу, что мы не знали про Pi-calculus, когда создавали Erlang".
j123123 # 0 ⇈
Так-то и сишка поддерживает ООП, потому как можно сделать тупо структуры с функциями, и сказать что вот это у меня такое ООП.
guest # 0 ⇈
смаллток именно об этом. А С++ все испортил
gost # 0 ⇈
oaoaoammm # 0 ⇈
То есть, ты реализуешь протокол:
1. Что твой питушня делает при инициализации в with-as.
2. Что она делает, когда блок кончается.
Таким образом, даже динамически типизированная питушня обскакала великий язык «Java».
bormand # 0 ⇈
guest # 0 ⇈
CHayT # 0 ⇈
Какие не покрывает, например?
bormand # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
Правда, некоторые ресурсы копировать нельзя, и тогда нужно уметь в move и в умные поинтеры и всякое такое, но тут уж ничего не бесплатно
а еще если ты выделил ресурс в когнстуркторе и упал с исключением, то всё плохо -- дескоруктор невызовеца. Но это отдельный багор
bormand # 0 ⇈
А в чём проблема? Всё, что ты успел насоздавать в локалках и полях размотается. А твой объект ещё не создан, поэтому ему вызов деструктора не положен. Эта часть крестов очень логична, как раз - деструктор зовётся только для тех объектов, у которых до конца отработал конструктор. В питоне кмк хуже с этим, надо учитывать что __del__ может прилететь на недостроенном говне у которого полей не хватает.
guest # 0 ⇈
А если захочу чтоб класс владел двумя сразу ресурсами, то будет так
* инициализировать ресурс операционной системы 1
* инициализировать ресурс операционной системы 2
* получить хуйца и упасть
bormand # 0 ⇈
Именно так это и делается. Не особо и напрягает, на самом деле. Дальше можно кобенировать такие объекты как душе угодно.
guest # 0 ⇈
Но я чувствую себя немного говном, оборачивая все восемь нужных мне ресурсов в классы. К щастью, в вине есть всякие ATL, где за меня это как-то делают шаблоны
bormand # 0 ⇈
guest # 0 ⇈
можно, да
я так пробовал тоже
gost # 0 ⇈
Да, это и есть «RAII». Он не работает, если к нему подходить непоследовательно; в тех случаях, когда какие-то куски твоей системы «не атомарны».
bormand # 0 ⇈
Ну да, только не в деструкторе, а в своём close(). И не забыть, что во время инициализации второй из них может не открыться. И тогда надо будет не забыть закрыть первый.
В питоне хоть ExitStack есть. Как это решают в джаве или шарпе - я х.з.
gost # 0 ⇈
Кстати, дизайн любого решения в языке можно оценивать по количеству «надо будет не забыть». Чем больше в нём вещей, которые «надо не забыть», тем хуёвее оно сконьструировано.
guest # 0 ⇈
ненавижу апи и фреймворки где "просто нужно быть чуточку внимательнее"
bormand # 0 ⇈
gost # 0 ⇈
Если ты не помнишь точный номер параграфа Стандарта, который явно разрешает строчку в твоём коде, то с высокой степенью вореятности эта строчка — UB.[почти-не-/color]
bormand # 0 ⇈
Благо конпеляторы об этом предупреждают (как по мне - это фатальная ошибка должна быть, а не ворнинг).
gost # 0 ⇈
А вот «cl.exe» на это похуй, он молчит даже на /W4. Какой багор )))
gost # 0 ⇈
Во-первых, как выше написано, «деструктор» позовётся хуй пойми когда, и ты рискуешь получить багор, попытавшись открыть тот же самый файл через минуту.
Во-вторых, вручную закатывать Солнце и закрывать все ресурсы — это именно то, чего в нормальных языках делать не нужно. Вот так это делают белые люди:
Всё. Эти файлы будут открыты при создании петуха и закрыты сразу же, когда он выйдет из области видимости. Тебе абсолютно поебать на какие-то циклы, тебе не нужно писать уебанские «with», тебе не нужно чего-то там переопределять и в нём закрывать, тебе вообще ничего не нужно делать, это всё просто работает.
Именно поэтому я за «C++».
oaoaoammm # 0 ⇈
Тогда да, багор, если в середине with-as сделать del, будет не прикольно (((
guest # 0 ⇈
С другой стороны там конечно не RAII, потому что никто не гарантирует вызова close если клиент не озоботица
Точно такое же говно есть и в джаве и в C#
gost # 0 ⇈
Именно поэтому…
bormand # 0 ⇈
guest # 0 ⇈
В твоем случае его съел RC, а мог и GC:
CPython implementation detail: It is possible for a reference cycle to prevent the reference count of an object from going to zero. In this case, the cycle will be later detected and deleted by the cyclic garbage collector.
Алсо,
It is not guaranteed that __del__() methods are called for objects that still exist when the interpreter exits.
oaoaoammm # 0 ⇈
Ну и пипец, прямо как в «Java». Зато менеджер контекстов гарантировано мне вызовет какую-то питушню, в которой я всё вилкой почищу. Мне, скриптобесу, грязная работа не чужда!
guest # 0 ⇈
guest # 0 ⇈
Его RC не разорвет, так что придеца ждать GC, а он может и не настать
bormand # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
А with-as в питоне:
1. Создаёт тебе переменную (выделяет память, грубо говоря).
2. После того как with-as закончился, вызывается специальный метод для выхода из менеджера контекстов, и у тебя всё подчищается.
Или вся соль в том, что память не сразу чистится, а только когда ГЦ соизволит проявить милость?
guest # 0 ⇈
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
oaoaoammm # 0 ⇈
Но что-то типа RAII можно реализовать на этой питушне, если написать обёртку, которая сделает из реализации интерфейса Closeable деструктор фигни, а сам ресурс сделать обёрткой... Но да, это уже не про память, а про закрывание файлов и коннектов.
Fike # 0 ⇈
SEELE 01, Sound Only
oaoaoammm # 0 ⇈
Вот вы знаете такие карточки с 4 картинками, которые психологи дают и просят назвать лишнее?
Нормальный человек немного думает, а потом называет какую-нибудь штуку. Психолог спрашивает: схуяли? Нормальный человек объясняет, остальные карточки он уже разгадывает с пояснениями.
Но Филипп...
— Какие-то проблемы, Филипп?
— Филипп, что вы делаете?
— Я вспомнил, что в дотнете были готовые решения под такие задачи, хочу ознакомиться с ними.
— Филипп, что вы делаете?
— Я прикидываю структуру решения, пишу код, чтобы все в голове встало по местам, и я понял с какой стороны заходить.
Fike # 0 ⇈
- Филипп.
- В дотнете были готовые решения.
- Готовые решения.
- Под такие задачи. Но нам это не нужно.
- Не нужно.
- Мы хотим увидеть TDD.
- TDD.
- Филипп.
- Филипп.
oaoaoammm # 0 ⇈
gost # 0 ⇈
Пофиксил.
guest # 0 ⇈
Филиппка
Филиппка
Пойдем копать ошибки?
Мариванна, наш отряд
Хочет видеть TDD
Fike # 0 ⇈
guest # 0 ⇈
- Филипп.
- Филипп?
- Филипп..
- Филипп!
- Филипп.
oaoaoammm # 0 ⇈
guest # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
gost # 0
guest # 0 ⇈
показательно, что спасает он маленьких малчтиков (или это девочка?)
oaoaoammm # 0 ⇈
defecate-plusplus # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
а мне IRP_MJ_чототам предлагает
до МСДНился!
OCEHHuu_nemyx # 0 ⇈
Fictional characters:
M.J. Delfino, Mike and Susan Delfino's son in Desperate Housewives
Mojo Jojo, a villain in Cartoon Network's The Powerpuff Girls
Mary Jane Watson, a character in Marvel's Spider-Man comic book series
M.J. (Marvel Cinematic Universe), a character in the Marvel Cinematic Universe
Agent MJ, a character in the movie Miss Cast Away and the Island Girls played by Michael Jackson
Other uses in arts and entertainment:
Mahjong, a Chinese strategy game
People:
MJ Rodriguez (born 1991), American actress and singer
Michael Jackson (1958–2009), American recording artist and entertainer
Michael Jordan (born 1963), former American professional basketball player, and current owner and chairman of Charlotte Hornets
MJ Hibbett (born 1970), English guitarist singer-songwriter
Mahan Mj (born 1968), Indian mathematician and monk of the Ramakrishna Order
Science:
Megajoule (MJ), or millijoule (mJ), units of energy
Jupiter mass (MJ), a unit of mass
Transportation:
Manufacturers' Junction Railway (reporting mark)
Líneas Aéreas Privadas Argentinas (IATA code), a former airline
Jeep Comanche or MJ, a pickup truck
MJ (New York City Subway service), a defunct subway service in New York City, US
Other uses:
Master of Jurisprudence, a graduate law degree
West's Military Justice Reporter (citation abbreviation: MJ)
Marc Jacobs (born 1963), a luxury brand of LVMH Group
Majeerteen, a Somali clan
Middle school/Junior high
MJ, a slang name for marijuana or cannabis
Fike # 0 ⇈
guest # 0
oaoaoammm # 0 ⇈
Он, что, тоже «негр»? (((
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
guest # 0 ⇈
guest # 0 ⇈
или уиксеру
gost # 0 ⇈
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
К слову, сейчас и на других сайтах стали лепить блоки в хаотическом порядке. То «Фейсбук» попробовал ненужные две колонки в хронике, то на «lookatme.ru» сделали какую-то питушню.
В каком порядке читать подобные сайты?
oaoaoammm # 0 ⇈
oaoaoammm # 0 ⇈
https://pasteboard.co/Jy3KzIu.jpg
*Т.к. на нормальный хостинг у меня не хватило денег, я загрузил картинку на средненький.
UPD: Ого, там даже прямая ссылка есть...
https://s3-eu-west-1.amazonaws.com/cdn.pbrd.co/images/Jy3KzIu.jpg?o=1
guest # 0 ⇈
gost # 0 ⇈
Это самый припизднутый и мразотный способ делать прямые ссылки, очень похожий на пресловутый «Shadow Ban», только применённый по своим же пользователям. Для тебя по этой ссылке открывается твоя картинка и всё хорошо, ты рассылаешь её друзьям-знакомым… А они видят:
Этот хостинг делали мудаки, не имей с ним дела.
oaoaoammm # 0 ⇈
В общем, я переехал на другой хостинг:
https://s2.gifyu.com/images/773612c80580c8f9249fd559e3e39855.jpg
Даже имя файла сменил, чтобы guest8 не деанонил:
https://gifyu.com/image/RuT8
Правда код в ссылке подозрительно короткий... Что-то мне подсказывает, что недолго будет жить этот кот.
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
oaoaoammm # 0 ⇈
Нужно подумать!
guest # 0 ⇈
oaoaoammm # 0 ⇈
Ой )))
Капец как круто, перехожу на имгур, лучший провайдер хостинга картинок.
https://imgur.com/a/6ZIHOrk
bormand # 0 ⇈
guest # 0 ⇈
Fike # 0 ⇈
Безос, если быть точным
guest # 0
https://iz.ru/1080484/2020-10-30/umnaia-kamera-na-matche-v-shotlandii-priniala-lysinu-sudi-za-futbolnyi-miach
Какое компьютерное зрение )))
OCEHHuu_nemyx # 0 ⇈
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
В научной фантастике обычно всё просто, роботы не ошибаются...
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
guest # 0
Имеет явно негативную динамику в привлечении трафика. В период c апрель'20 по сентябрь'20 посещаемость данного сайта сократилась c 556 до 364 (-41.71%).
Наибольшей популярностью сайт пользуется в России, привлекая из этой страны 84.31% трафика.
Структура источников трафика: наибольший трафик "Поиск" (52.15%), второй по значимости "Прямой/Закл." (47.80%), затем следует "Рефералы" (0.05%), затем "Соц.сети" (0.00%), потом "Почта" (0.00%) и на последнем месте "Баннеры" с долей 0.00%.
https://spymetrics.ru/ru/website/govnokod.xyz
Какой багор )))
Как это работает?
guest # 0 ⇈
guest # 0 ⇈
https://2ch.hk/s/arch/2018-09-21/res/2364044.html
guest # 0 ⇈
чушь какая. Это хабр занимает 125 242, а мы входим в первую десятку
oaoaoammm # 0 ⇈
Имеет умеренную позитивную динамику в привлечении трафика. В период c апрель'20 по сентябрь'20 посещаемость данного сайта увеличилась c 10 191 до 13 590 (+28.59%).
За сентябрь 2020г. совершено 12 786 посещений. Посетитель в среднем за сеанс просматривает 5.45 страниц(ы) и проводит на сайте 8 минут(ы) 51 секунд(ы). При этом показатель отказов составляет 58.07%.
Наибольшей популярностью сайт пользуется в России, привлекая из этой страны 61.56% трафика.
Структура источников трафика: наибольший трафик "Поиск" (42.76%), второй по значимости "Прямой/Закл." (41.93%), затем следует "Рефералы" (10.77%), затем "Соц.сети" (4.39%), потом "Почта" (0.16%) и на последнем месте "Баннеры" с долей 0.00%.
В основном к нам приходят, кстати, с «хабра», «пикабу» и «луркмора».
А ещё нас читают пользователи из «казахстана», поэтому нужно почаще шутить про «Бората».
***
> Похожие сайты: lua.ru, python.su, linux.org.ru.
Какой багор )))
OCEHHuu_nemyx # 0
https://gorodbryansk.info/2017/12/algebra/
bormand # 0 ⇈
guest # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
oaoaoammm # 0 ⇈
Для любого икс, игрек, е, эл...
Которая выглядит как Ахуел
OCEHHuu_nemyx # 0 ⇈
(x + yi)² = x² - y² + 2xyi.
А ещё мне нравится принадлежность действительным числам: x∈ℝ.
guest # 0 ⇈
переведи на пхп
программист не обязан понимать язык для пифагоров
OCEHHuu_nemyx # 0 ⇈
Второе переводится как is_numeric($x) или is_float($x) || is_int($x).
oaoaoammm # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
guest # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
Существует бэ для любого эль:
guest # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
rotoeb # 0
bootcamp_dropout # 0 ⇈
rotoeb # 0 ⇈
BoJlaH-ge-MopT # 0
raPPu_nommep # 0 ⇈
3a6oJlomHblu # 0
oaoaoammm # 0
Файловый менеджер на питоне в 430 строк для начинающих и чайников
«TensorFlow на JS, докер на Go, файловый менеджер на питоне, что дальше? ОС на Lua?»
Что дальше, что дальше... А вот что:
https://sun9-53.userapi.com/Zqw6yhqvzs9gxRQJC2HVx6hXaU3p8QD9_dUKgA/Cph8kD0PbLk.jpg
gost # 0 ⇈
oaoaoammm # 0 ⇈
j123123 # 0 ⇈
Вызывать из питона "cp -r", ну да, заебись конечно. В коде столько хуйни, что даже лень комментировать.
oaoaoammm # 0 ⇈
Вообще то, что он консольные команды выполняет вместо траха с API – это багор.
guest # 0 ⇈
if 'ristretto' in self.main_window.all_program
?
j123123 # 0 ⇈
> ?
Ristretto is an image viewer for the Xfce desktop environment.
Ну это он программу захардколил, которая будет открывать картинку. PDF он через "evince" пытается открыть, текстовые файлы через "mousepad". Можно ему про xdg-open рассказать.
bormand # 0 ⇈
Днище ебаное, в котором back работает через жопу, а разраб 10 лет утверждает что так и надо.
CHayT # 0 ⇈
> GNOME
bormand # 0 ⇈
CHayT # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
у меня xpdf, причем версии morif, потому что патрик заебал
bormand # 0 ⇈
CHayT # 0 ⇈
j123123 # 0 ⇈
Они так только хуйне научатся всякой.
oaoaoammm # 0 ⇈
https://m.habr.com/ru/post/525942/
Для начинающих: как выбрать файл в 1С?
Теперь смотрим как это делается на языке для настоящих программистов:
guest # 0 ⇈
токмо ДиалогВыбораФайла есть в составе 1С, а wx ставить нужно
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
bormand # 0 ⇈
oaoaoammm # 0 ⇈
Или мне нужно расковырять ноут и вставить туда дополнительную память, потому что сеньор Ki1kill знает питон, но не знает ЦПП?
По этой же причине мне не нравится питушня на электроне и всяком прочем, джаву тоже немного недолюбливаю.
На C++ есть все удобства для создания хорошего мощного десктопного софта и даже не течь! Лучше оставить скриптуозу для веба, туда она гармонично вписывается.
guest # 0 ⇈
это очень мало
>Ki1kill знает питон, но не знает ЦПП?
К сожалению.
>На C++ есть все удобства для создания хорошего мощного десктопного софта и даже не течь!
Можно взять C# и WinForms. С JIT можно не очень дрочить цпу, а с value types можно даже не очень дрочить память
bormand # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
Гыц же тригерица только когда получение новой памяти обсыраеца ввиду ее отсутствия?
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
WPF вообще тяжелая штука небось, WinForms полегче
А вообще файл менелджер должен быть ортодоксальным, можно взять FAR, и писать под него плаигн.
Там довольно хорошо все доументировано, и даже на форуме отвечают все два человека, или сколько там людей под него сейчас программирует
MAPTbIwKA # 0 ⇈
Можно зырить флеймчарты, смотреть волл тайм и цпу тайм (включая own), искать доминаторов в куче (опять таки и шеллоу и нормально), видеть у кого на кого ссылка, итд.
Хуй знает как это всё в питоне делать
defecate-plusplus # 0 ⇈
MAPTbIwKA # 0 ⇈
Когда я писил под яблоко, я брал Apple Instruments (обертка вокруг dtrace), и тёк.
А как нужро профилировать XAMAЯIN?
defecate-plusplus # 0 ⇈
там и андроид профилер почти бесполезен, а дотнет вообще никак
постараемся никогда в жизни больше не писать на этой хуите
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
defecate-plusplus # 0 ⇈
MAPTbIwKA # 0 ⇈
>написать два раза на котле и свифте
какой багор ((( ((((
Так а что не так с C#/Xamarin кроме невохможности его профилировать?
Вон, пыхобляди какие-нить никогда свой код не профилируют, итекут
defecate-plusplus # 0 ⇈
Профилер помог бы и с тормозами, и с утечками.
oaoaoammm # 0 ⇈
Вот я запускаю джаву и хочу, чтобы программа потребляла гигабайт памяти. Но в конечном счёте памяти откусывает два гига: один для JVM, а другой для самой программы.
gost # 0 ⇈
Очень рекомендую расковырять ноут и вставить туда дополнительную память, потому что я в душе не ебу, как можно сейчас ноут с четырьмя гигами использовать для чего-то кроме просмотра роликов с котятами (под смачный хруст свопящегося винта).
Или у тебя какой-то анально залоченный ноут?
P. S. Крестовые «все удобства для создания хорошего мощного десктопного софта» (т.е. «QT») я ебал-дремал трижды в рот через забор. Отвратительное говнище.
guest # 0 ⇈
>Qt
А почему не MFC и не wxwidgets?
bormand # 0 ⇈
guest # 0 ⇈
bormand # 0 ⇈
guest # 0 ⇈
Альзо, смутно помню что формочки набрасывать можно было еще в древнем VS, c mfc под капотом
>И там полно полезных библиотек в комплекте.
для кроссплатформенной хуйни
а я грю про чисто гуй и чисто под винду
gost # 0 ⇈
Оказалось, что эта ёбанная образина («QT») лезет в статус текущего сетевого адаптера винды, видит, что там написано «No internet access», и после этого просто наглухо отрубает все методы для работы с сетью. А винда такой флаг поставила просто потому, что в настройках адаптера не был указан основной шлюз — его «OpenVPN» динамически прописывал.
Пиздец, блядь, пичот от таких слишком умных говнолиб.
oaoaoammm # 0 ⇈
gost # 0 ⇈
А второе — это какое-то прыщеговно.
bormand # 0 ⇈
guest # 0 ⇈
CHayT # 0 ⇈
guest # 0 ⇈
тем не менее
Stable release 14.22.27821.0 / July 24, 2019
>А второе — это какое-то прыщеговно.
wxWidgets is a C++ library that lets developers create applications for Windows, macOS, Linux
oaoaoammm # 0 ⇈
oaoaoammm # 0 ⇈
guest # 0 ⇈
* неплохой гуй под винду (OWL или как там)
* паскаль куда лучше подходит для обучения, чем питон
* работает быстро
Но правда есть опасность случайно познакомиться со Стертором, а в 14 лет этого лучше не делать, особенно если ты мальчик
oaoaoammm # 0 ⇈
guest # 0 ⇈
oaoaoammm # 0 ⇈
Через неделю, в субботу, кажется, я снова захотел что-то написать, но ошибка компиляции комментария на этот раз дала мне отлуп и сказала ждать понедельника, среды или пятницы. Тогда-то до меня и начало кое-что доходить.
Ну и плюс я старые говнокоды любил почитать )))
guest # 0 ⇈
oaoaoammm # 0 ⇈
А вообщем кто может посоветовать автору какой то чатик или другой ресурс где будут делать бесплатный код ревью?
Нужно скорее запостить ссылку на говнокод )))
bootcamp_dropout # 0
defecate-plusplus # 0 ⇈
bootcamp_dropout # 0 ⇈
У вас разве не празднуют? Там офис не украшают?
defecate-plusplus # 0 ⇈
для чего?
культ карго в чистом виде
а на ивана купала офис украшают? празднуют?
oaoaoammm # 0 ⇈
defecate-plusplus # 0 ⇈
новый год это новый год
праздник как минимум 300 летней истории
а хелоуин это хз что
папуасам привезли новых национальных праздников, а теперь они будут друг друга поздравлять с этим
ещё день независимости США можно с размахом отметить, чем хуже
bootcamp_dropout # 0 ⇈
bootcamp_dropout # 0 ⇈
У нас даже супермаркеты украшали так что народ тоже любит, не только айтишники-инфантилы
defecate-plusplus # 0 ⇈
* день благодарения
* день независимости
* день мартина лютера кинга
* (ну и ладно, почему бы и нет) день святого патрика
oaoaoammm # 0 ⇈
«День благодарения — североамериканский праздник...»
Пытаешься склонить буткэмпа к празднованию вражеских праздников?
bootcamp_dropout # 0 ⇈
Всё-таки остальные праздники которые ты перечислил имеют очень американскую символику, а Хеллоуин - просто весёлый языческий праздник, очень к слову близкий нашим соотечественникам которые читают гороскопы, стучат по столу и носят амулетики - все это одновременно с походом в церковь
defecate-plusplus # 0 ⇈
летнее солнцестояние
главный летний языческий праздник
также есть праздники в честь того, что не сдохли и пережили очередную зиму (масленица, но уверен, ты так или иначе празднуешь), или праздники в честь охуенного урожая (например, Радогощь, но это врядли)
ещё есть праздники в честь перуна, велеса, ярило
но ты с широким размахом считаешь кельтский праздник, популярность которого именно через сша и раскручена, достаточным, чтобы было весело
ещё подумай о природе древнего языческого праздника "черная пятница", включи голову
bootcamp_dropout # 0 ⇈
>популярность которого именно через сша и раскручена
Все именно так. Наши языческие праздники совсем скромно пиарят, видимо, веруны стесняются, а американцы делают это с размахом и вкусом, вот и получается что наши праздники нахуй никому не нужны
defecate-plusplus # 0 ⇈
именно с этим и связан экспорт праздников
давно пора вводить традицию выпускать к 4 ноября чучел поляков, чтобы развешивать по стенам в офисе, ударим по агрессивному маркетингу импортозамещенным идиотизмом
bormand # 0 ⇈
Приходишь в магазин купить свою любимую выпечку и печеньки. А там пасха 🙁
bootcamp_dropout # 0 ⇈
Впрочем есть мнение что идею красить яйца и печь куличи христиане спиздили у язычников
defecate-plusplus # 0 ⇈
православные те ещё некроманты, с удовольствием и такое празднуют (всякие успения, усекновения...)
bormand # 0 ⇈
Жгут костры в офисе и прыгают через них?
defecate-plusplus # 0 ⇈
лучшее украшение любого офиса, например
guest # 0
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
gost # 0
Что, блядь, за хуйня?!
MAPTbIwKA # 0 ⇈
Saehrimnir # 0 ⇈
Выбрать нужно средний вариант из нижнего ряда. Там на одном кубике какая-то палка оранжевая на чёрном фоне, на втором — та же палка, но чёрная на бирюзовом фоне. Цвет здесь не важен.
defecate-plusplus # 0 ⇈
Saehrimnir # 0 ⇈
gost # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
defecate-plusplus # 0 ⇈
gost # 0 ⇈
defecate-plusplus # 0 ⇈
а то суммы массивов плавающих питухов, или BFS на листочке, кому это надо в 2к20 лол
gost # 0 ⇈
Saehrimnir # 0 ⇈
j123123 # 0 ⇈
bootcamp_dropout # 0 ⇈
bormand # 0 ⇈
> палка, но чёрная на бирюзовом фоне
Nice try, bot.
Saehrimnir # 0 ⇈
oaoaoammm # 0 ⇈
https://youtu.be/A8KnmMM-Kf8
gost # 0
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
МаХимальный
Не?
MAPTbIwKA # 0 ⇈
gost # 0 ⇈
Я тоже так подумал а потом долго пытался понять, почему тормозит. А всё потому что:
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
MAPTbIwKA # 0 ⇈
gost # 0 ⇈
Desktop # 0 ⇈
Sers # 0 ⇈
guest # 0
bormand # 0 ⇈
Случай таки настал и вчера гост собирался затянуть их в базу.
guest # 0 ⇈
Sers # 0 ⇈
zhigolo # 0 ⇈
Орёл
CBuHOKYP # 0 ⇈
zhigolo # 0 ⇈
но местные дебилы продолжают задавать один и тот же тупой вопрос: "ты не в бане был?" "тебя не забанили?"
... из чего я делаю вывод, что вы тут совсем ку-ку, или это кто-то один так "прикалывается"
guest3 # 0 ⇈
Давай рассказывай, как дела? Кстати, тебя же забанили?
guest # 0
Завали своим спамом «Ты задолжал мне $0.96, заплати пожалуйста, иначе мы твой аккаунт удолим». Удаляйте и отъебитесь наконец. Или они на меня в суд подадут?
bormand # 0 ⇈
guest # 0
bormand # 0 ⇈
Да ты охуел!
guest # 0 ⇈
bormand # 0 ⇈
З.Ы. Ну и останки восьмого.
guest # 0 ⇈
http://govnokod.ru./27085#comment592421
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
bormand # 0 ⇈
OCEHHuu_nemyx # 0 ⇈
Я сам так делал, но забыл.
MAPTbIwKA # 0 ⇈
если по http, то включается DPI, и пытается понять домен
Поскольку писали DPI криворукие пидарасы, то точку они не могут осилить
guest # 0
gEKA6PbCKuu_nemyx # 0 ⇈
https://sun9-70.userapi.com/tfkpDrkiWk8N_v1xPL8q8jyEu0ayLqXI-xRyxg/mg3dSDONqVw.jpg
guest # 0
У нас в коде есть место, где сделали юнион вроде такого
Пишут в val, а читают из hui, и наоборот. Так низя же в си крест крест? Или есть случаи, когда можно?
defecate-plusplus # 0 ⇈
guest # 0 ⇈
j123123 # 0 ⇈
https://govnokod.ru/15707#comment225606
defecate-plusplus # 0 ⇈
j123123 # 0 ⇈
defecate-plusplus # 0 ⇈
j123123 # 0 ⇈
> To re-iterate, type-punning through unions is perfectly fine in C (but not in C++). In contrast, using pointer casts to do so violates C99 strict aliasing and is problematic because different types may have different alignment requirements and you could raise a SIGBUS if you do it wrong. With unions, this is never a problem.
gost # 0 ⇈
gost # 0
rotoeb # 0 ⇈
bormand # 0 ⇈
gost # 0 ⇈
Доброе утро, bormand.
j123123 # 0 ⇈
guest # 0
https://habr.com/ru/post/526378/
gost # 0 ⇈
>>> print pow(97865891, 9999)
Блядь, сука, даже через сто лет, сидя в кресле виртуальной реальности в столице терраформированного Марса, какой-нибудь кретин всё равно будет использовать двойку!
guest # 0
Saehrimnir # 0 ⇈
bormand # 0 ⇈
bootcamp_dropout # 0 ⇈
guest # 0 ⇈
gost # 0
guest # 0 ⇈
gost # 0 ⇈
Вот именно поэтому и заебал.
А если без зелёного, то так уж получилось, что крупные политические события в США касаются всех стран, а не только граждан Америки. Хотя бы на предмет того, как эти события скажутся на курсе доллара.
guest # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
?
bootcamp_dropout # 0 ⇈
guest # 0 ⇈
Я считаю, что в начале 2014 года доллар стоил 31 рубль примерно, а к концу 60, хотя никаких президентов в это время в сша не меняли
gost # 0 ⇈
guest # 0 ⇈
зы: уточни -- трамп или байден приведет к изменению курса доллара к рублю? За кого мне болеть?
gost # 0 ⇈
https://foreignpolicy.com/2019/10/05/trump-sanctions-iran-venezuela-russia-north-korea-different-obamas/
> уточни -- трамп или байден приведет к изменению курса доллара к рублю? За кого мне болеть?
Почитай их мнения по поводу санкций в отношении РФ.
Xepyc_DJIuHyc # 0 ⇈
А то мне кажется похуй кто там президент США, санкции будут и продолжаться из-за многоуважаемого хуйла, а не из-за очередного президента США.
bormand # 0 ⇈
Xepyc_DJIuHyc # 0 ⇈
defecate-plusplus # 0 ⇈
у тебя слишком черно-белый мир, диванный политолог
guest # 0 ⇈
доллар стоил 31
очевидно, виновата нефть. Ну и еще вероятно амеркианские выборы, по версии госта
defecate-plusplus # 0 ⇈
в 2002 квадратный метр в доме-новостройке рядом с вузовской общагой стоил в районе 30т. рублей
а к 2008 там же стоил в районе 150т. рублей
расскажешь причем тут курс доллара?
defecate-plusplus # 0 ⇈
бакс никогда не будет дешеветь относительно рубля, для этого нужна негритянская революция, или техногенная катастрофа какая-нибудь там
США не будет страдать от дорожающей нефти, как и от дешевеющей - доллар будет "расти" в обоих кейсах
поэтому при взлете цен на нефть рубль будет плюс минус к баксу держать паритет, но вот некоторые штуки будут показывать прямую зависимость - например, (да-да) зарплаты, обогащение (кому как повезет при этом), и как следствие всякие цены на недвигу и т.д.
а так, конечно, п**р ст**р п**н самолично виноват в ценах на нефть в 2014 году, однозначно
предлагаю лучше обсуждать постгрес, джойны, индексирование jsonb, а не вот эти нематематические вопросы
guest # 0 ⇈
gost # 0 ⇈
Не оскорбляй пидоров такими сравнениями.
guest # 0 ⇈
guest # 0 ⇈
Xepyc_DJIuHyc # 0 ⇈
gost # 0 ⇈
guest # 0 ⇈
gost # 0 ⇈
bootcamp_dropout # 0 ⇈
Очень даже шкурный интерес может быть у людей
guest # 0 ⇈
j123123 # 0
> During initialization, while a human driver was at the controls, one of the modules sent out NaN (Not a Number) instead of a valid numeric value. This was never seen in testing, and it wreaked havoc at the worst possible time.
> A module whose job was to ensure numbers stay within expected bounds said “not a number, not my problem!” That NaN value propagated through to the vehicle’s CAN data bus, which didn’t define the handling of NaN so it was arbitrarily translated into a very large number causing further problems. This cascade of events resulted in a steering control system locked to full right before the algorithm was given permission to start driving. It desperately tried to steer the car back on course, without effect, for the few short seconds until it met the wall.
Вот к чему плавучий питух приводит!
bormand # 0 ⇈
bormand # 0 ⇈
Тормоза тоже NaN'ом засорились?
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
зачем там вообще плавучка? или они на джаваскрипте писали?
defecate-plusplus # 0
bormand # 0 ⇈
defecate-plusplus # 0 ⇈
MAPTbIwKA # 0 ⇈
gost # 0 ⇈
defecate-plusplus # 0 ⇈
их то включают, то исключают из реестра
они так заебались, что даже забыли сказать сколько стоит их отечественный продукт
почти да, мне надо при проектировании подобрать отечественные аналоги в ИС
и это печалит, когда ты всё собирался делать на СПО, а не платить васянам
j123123 # 0 ⇈
https://habr.com/ru/post/494070/
Т.е. AlterOffice это и есть СПО, просто васяны его слегка пропатчили своими кривыми руками, и выдали за "ололо отечественную разработку принципиально новое, а еще обои нескучные"
defecate-plusplus # 0 ⇈
есть СПО в российском реестре, правда его изчезающе мало, которое официально 0 рублей
открытая лицензия на русском, ставь, работает, заебись
никто не знает, может данный болгенофис той же категории
а есть пидерастическое ПО, которое стоит дороже M$ Office, но ты обязан включить в проект его, не ванильный либреофис, не болгенофис, а какой-то ебучий "МойОфис" Димы Комиссарова за деньги, потому что он в реестре, а ванильный либреофис - нет
вот именно поэтому этот болгенофис постоянно то включали, то исключали, а не по какой-то ещё причине
j123123 # 0 ⇈
А какие-то васяны с астралинуксом и перепиленным на коленке либреофисом - входят
bormand # 0 ⇈
j123123 # 0 ⇈
bormand # 0 ⇈
Ну и русификация интерфейсов и манов, наверное.
MAPTbIwKA # 0 ⇈
j123123 # 0 ⇈
bormand # 0 ⇈
Ты не один. Именно поэтому многим проще купить коробку и документы чем "бесплатно" ебаться с бюрократией.
defecate-plusplus # 0 ⇈
его не так и много
а вот продавать потом это лицензиями - это как раз не то, ради чего боролись большевики
поэтому я за любой болгенос, если он будет бесплатным или ничтожноплатным, при этом входить в реестр и являться минимально-модифицированным СПО, которое ты бы и так использовал в задаче
если у тебя задача "СУБД является сертифицированным средством криптозащиты информации", то никакое ванильное СПО уже не подойдет, надо его допиливать много, ну и сертификация - процесс мучительный, дорогой, тут уже никаких претензий в адрес такого российского форка и его платных лицензий
defecate-plusplus # 0 ⇈
потому что реестр это не доска почета, а источник безопасного софта в сложных политических условиях
j123123 # 0 ⇈
- Ну так блин, тот же Nginx опенсорсный, бери его компилируй.
- Нет, не хочу, хочу чтоб исходники принадлежали Русской Компании, иначе небезопасно.
...
gost # 0 ⇈
defecate-plusplus # 0 ⇈
Первый сорт безопасности называется сертификация
gost # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
Пусть будет ООО "Nginx эксперты", которые предоставляют услуги по поддержке nginx для государства. А откуда они его берут это их проблема
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
так что просто так еще никто не сделал
j123123 # 0 ⇈
bormand # 0 ⇈
j123123 # 0 ⇈
https://habr.com/ru/post/503764/
https://hsto.org/webt/cm/1r/mn/cm1rmndbsgocplfynhunxiem2gk.png
> ЦКИТ прямо и однозначно запрещает применять ключевые компоненты ПО, которые распространяются на условиях лицензий GPL и MPL. Здесь и возникает конфуз с отечественными операционными системами — тем софтом, который давно представлен в реестре и активно закупается госструктурами на протяжении нескольких лет.
А в либреофисе лицензия MPL как раз, ну и плюс еще у линуксов из этого реестра лицензии GPL во всяких ключевых компонентах хватает. В общем, херня какая-то
bormand # 0 ⇈
А MPL то чем виноват?
j123123 # 0 ⇈
> Считается, что лицензия MPL обеспечивает слабый копилефт[4]. Исходный код, скопированный или изменённый под лицензией MPL, должен быть лицензирован по правилам MPL. В отличие от более строгих свободных лицензий, код под лицензией MPL может быть объединен в одной программе с проприетарными файлами[11]. Например, Netscape 6 и 7 представляли собой проприетарные версии Mozilla Suite, а начиная с версии 8 — Mozilla Firefox. Таким образом, после приобретения Netscape AOL Time Warner последняя обладает эксклюзивными правами на эти проприетарные версии.
MAPTbIwKA # 0 ⇈
а как устроены все линуксы отечественные?
bormand # 0 ⇈
А всяким офисам да калькуляторам это так то нахуй не надо. Им линукс изоляцию и права обеспечил.
MAPTbIwKA # 0 ⇈
Или они selinux запускают?
bormand # 0 ⇈
На самом деле нет, если мы о современных осях. В убунте изкоробки аппармор, в редхате селинукс. И очень многие сервисы и проги прямо изкоробки опущены в правах.
MAPTbIwKA # 0 ⇈
Имеолось ввиду, что я если ты используешь такие, в общем, не тривиальные инструменты, то по умолчанию говно
bormand # 0 ⇈
В селинух мандатная политика: юзер сосет хуй (если ему разрешили это делать).
По-умолчанию мандатную политику юзать как-то жёстко, юзеры не выдержат такой ёбли. Поэтому в основном сервисам гайки закручивают через неё. Там где очевидно, что доступ никуда не нужен.
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
defecate-plusplus # 0 ⇈
нет, если ты не претендуешь на обработку информации, подлежащей какой-либо защите
> А всяким офисам да калькуляторам это так то нахуй не надо
если ты в офисе обрабатываешь, например, гостайну, то, конечно, тоже бы надо (вдруг ты там в почтовый ящик обаме засылаешь всё, что натыкиываешь на клавиатуре)
но куркулятор или офис это, конечно, не то же самое, что сервер (многопользовательская машина с разграничением доступа между процессами vs рабочее место, где всё формально из-под одного юзера), и поэтому на рабочем месте немножко проще обеспечить необходимые меры
j123123 # 0 ⇈
http://www.ulbsd.ru/
MAPTbIwKA # 0 ⇈
>ОС FreeBSD 12.1 RELEASE p10 (amd64) с полными исходными кодами.
годно:)
правда, там еще русские шрифты!
guest # 0
Один коллега постоянно доебывается на ревью, что нужно делать std::move.
Ладно бы какая громоздкая хуйня, её выгодно мувать, но мелкую зачем?
А если я потом подправлю код, заюзаю переменную, а move убрать забуду?
defecate-plusplus # 0 ⇈
guest # 0 ⇈
defecate-plusplus # 0 ⇈
че конфликтный такой
ещё можно swap
guest # 0 ⇈
defecate-plusplus # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
guest # 0 ⇈
MAPTbIwKA # 0 ⇈
Другой вопрос, что я могу написать класс, который вообще не поддерживает копирование, а только лишь move
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Там ведь тое кто-то мог скопировать, а кто-то нет
gost # 0 ⇈
UPD: Присваивание и возврат — это очень разные вещи. Присваивание — это просто вызов перегруженного operator=(), никаких особых смыслов в нём нет (помимо инициализации, там появляются — ну, как всегда). Вместо «a = b» ты можешь писать «a.operator=(b)» и получать абсолютно то же самое поведение (для классов, конечно). Какой именно operator=() вызовется ты легко можешь понять из ко-ко-коньтекста. А вот в случае «автоматического мува» тебе придётся мучительно соображать, подходит ли текущий контекст под него, или нет.
MAPTbIwKA # 0 ⇈
Почему бы тут не вернуть/мувнуть сразу a?
defecate-plusplus # 0 ⇈
это ж доказывать надо теперь, что их можно скипнуть
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
в любом случае, получается интересно: выкинуть лишнее копирование он имеет право в рамках RVO, а так нет?
gost # 0 ⇈
Да, потому что сёмантически возврат совершенно не обязан быть именно копированием. Более того, возврат не является и перемещением: в случае RVO компилятор просто сразу же конструирует объект там, где нужно.
В теории, выкинуть лишнее копирование в случае присваивания, конечно, можно, но это просто приведёт к баграм и неожиданному поведению. Вот, например, есть функция:
Она прекрасно работает (с предложенной семантикой автоматического перемещения!), всё хорошо. Потом приходит петух, правит её:
…и охуевает от того, что функция внезапно перестала работать.
j123123 # 0 ⇈
MAPTbIwKA # 0 ⇈
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Потом пришлось бы в стадарте описывать эти правила, что дескать тут компилятор может мувнуть, а тут нет. А вдруг там не омлет, а например
if (lala) {
make_omelette(a.get());
}
а дальше "что такое lala?" если это constexpr, то можно понять сделают ли амлет. А если нет, то нет, и это путь в ад.
И потому пускай Инью сам двигает яичко в курочку.
А если из оставшихся скорлупок он решит сделать омлет, то сам себе буратино
gost # 0 ⇈
«Неоднозначности» и «неожиданное поведение» — это, конечно, очень важные части языка «C++», но меру, как говорил Джавахарлал Неру, знать надо.
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
Так что мув позволяет сэкономить спичку-другую не вертя туда-сюда счетчик ссылок
gost # 0 ⇈
Затем, что shared_ptr — это тяжёлое говно, которому на каждом копировании приходится обновлять счётчик ссылок. Компилятор, конечно, бульмень всё оптимизирует, но с move() код всё равно получается чище (хотя всё равно говно какое-то): https://gcc.godbolt.org/z/7rTTh3.
> А если я потом подправлю код, заюзаю переменную, а move убрать забуду?
Компиляторы обычно на такую хуйню ругаются. Но можно petuhPtr создавать внутри искусственного блока и мувать в самом конце, например. Но не знаю, как коллеги к такому отнесутся.
guest # 0 ⇈
В том то и дело, что не чище, а выглядит как говно.
gost # 0 ⇈
MAPTbIwKA # 0 ⇈
ты не крутишь счетчик без дела
bormand # 0 ⇈
MAPTbIwKA # 0 ⇈
bormand # 0 ⇈
Но так то даже в крестах у 99% классов мув автоматом. Только в обёртках над сырыми ресурсами надо что-то писать.
З.Ы. То что знаю - там боров-чекист не даёт юзать мувнутый объект. Ну и для примитивов таки копирование вместо мува (и для своих лёгких типов тоже можно).
MAPTbIwKA # 0 ⇈
так что вероятно и реализовывать ничего не надо: они сами понимают, что объект уже всё
но надо читать
nepeKamHblu_nemyx # 0
https://govnokod.ru/27097
https://govnokod.xyz/_27097/
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0
OqpqpTOnHblu_nemyx # 0