pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Анализ данных с термодатчиков и трубки Флейша?

Лучший ответ: С температурами всё достаточно просто, графики без шумов. Можно брать локальные минимумы/максимумы, просто перебираете весь массив считая разницу между значениями в текущей и в следующей точках меняет знак, то записываете точку как локальный экстремум.d = V[1]-V[0];
for (i = 1; i < N-1, i++) {
    d1 = V[i+1]-V[i];
    if (d < 0 && d1 > 0) {
        // Локальный минимум V[i]
    } else if (d > 0 && d1 < 0) {
        // Локальный максимум V[i]
    }
    d = d1;
}
Для объёма график с шумами, если уровень шумов заранее известен, то его можно исключить игнорируя разницу, попадающую в уровень шума. Для нахождения середины перегиба в этом случае можно анализировать два перехода - от повышения к нулю и от нуля к снижению (наоборот для нижнего перегиба)  и брать значение в середине перегиба или среднее значение между крайними точками перегиба.noise = 2; // Уровень шума, поставить нужное значение
t1 = 0; // Точка перехода к нулю
upDown = 0; // Направление движения до нуля, > 0 - вверх, < 0 - вниз, 0 - начало графика
d = V[1]-V[0];
if (abs(d) < noise)
    d = 0;
for (i = 1; i < N-1, i++) {
    d1 = V[i+1]-V[i];
    if (abs(d1) < noise)
        d1 = 0;
    if (d < 0 && d1 > 0) {
        // Локальный минимум V[i]
    } else if (d > 0 && d1 > 0) {
        // Локальный максимум V[i]
    } else if (d != 0 && d1 == 0) {
        t1 = i;
        upDown = d;
    } else if (d == 0 && d1 > 0 && upDown < 0) {
        // Локальный минимум V[(t1+i)/2] или (V[t1]+V[i])/2
    } else if (d == 0 && d1 < 0 && upDown > 0) {
        // Локальный максимум V[(t1+i)/2] или (V[t1]+V[i])/2
    }
    d = d1;
}

Худший ответ: Для отсеивания шума можно использовать фильтр какой то, например KSmooth или фильтр Гаусса, ну а дальше по производным искать как говорил Rsa97. Не знаю как будет с точностью, но на первый взгляд для определения циклов (имею ввиду их периоды) должны быть вполне приемлемая точность
Вопрос: Как выводить информацию в зависимости от дня месяца?

Лучший ответ: Не знаю, почему Вы выбрали именно javascript, но день можно получить вот так, даже без jQueryvar Xmas95 = new Date('December 25, 1995 23:15:30');
var day = Xmas95.getDate();

console.log(day); // 25
Я бы для такой задачи всё-таки выбрал бы PHP, где текущий день месяца получить еще проще, да и код подстановки не виден на фронт-энде:$day = date('d');

Худший ответ: Как-то такvar currentDay = (new Date()).getDate();
var regCount = 20 + 4 * currentDay;
$(".members .number").text(regCount);
Вопрос: Как переслать 10ТБ в Китай?

Лучший ответ: По-моему, проще будет переслать пару жестких дисков почтой.

Худший ответ: Залить на трекер и через протокол скачать?
Вопрос: Как удалить экранный диктор в Windows 10?

Лучший ответ: Короче, отрубил и на заблокированном экране!
Для этого удалил системную папку c:\Windows\Speech\Engines - этого оказалось достаточно.
(Как ее удалить - см., напр., здесь: vindavoz.ru/windows7/admin7/433-kak-udalit-papku-w...
Ранний мой ответ был:
Сам зашел поискать ответ на этот вопрос. Не порадую. Физическое удаление файла narrator.exe из system32 (у меня 32-битная версия win на планшете) помогает только для ситуации, когда был осуществлен вход в Windows. На экране же блокировки при активации функции спец. возможностей (мне бывает нужна наэкранная клавиатура) все равно активируется и читает дурным голосом. Пока думаю или еще где в системе завалялся этот файл (напр., в дефолтном профиле), и его оттуда тоже надо удалить, или найти (создать) голос для диктора, содежащий только тишину...

Худший ответ: Не доводилось раньше удалять встроенные компоненты ОС, но полагаю, можно попробовать такие варианты:
1. Поискать в службах - посмотреть, какая из них включается и выключается при вкл/выкл экранного диктора, и выключить её принудительно, насовсем. Но службы бывают многофункциональны, и есть риск прихватить попутно что-то полезное.
2. Поискать в процессах с помощью Диспетчера задач, глядя на % загрузки опять-таки при вкл/выкл Экранного диктора. Далее, зная его имя, искать его в реестре и встреченные там ключи переводить в противоположное состояние. Но это может поломать больше, чем починить.
3. Найти в Интернете имя встроенной утилиты Экранного диктора (т.е. исполняемого файла) и опять же либо отключить его в реестре, либо удалить (удаление может не получиться, поскольку Win10 стоит на страже своей сохранности).
Вопрос: Расширение mysql для PHP путает ссылки на соединения к разным базам одного сервера

Лучший ответ: В документации об этом написаноЕсли второй вызов функции mysql_connect() произошёл с теми же аргументами, то новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение.ru.php.net/manual/ru/function.mysql-connect.php

Худший ответ: У mysql_connect используйте четвертый параметр:

resource mysql_connect ([ string $server = ini_get(«mysql.default_host») [, string $username = ini_get(«mysql.default_user») [, string $password = ini_get(«mysql.default_password») [, bool $new_link = false [, int $client_flags = 0 ]]]]] )
Вопрос: Потрескивания при попытке включить моноблок?

Лучший ответ: Подклинивает вентилятор. Перегревается и выключается.
Что бы это ни было - нужно вскрывать и смотреть. Слушать вскрытый - где щелкает.

Худший ответ: Это может быть, а может и не быть, любая движущяяся деталь в компутере, а может быть или не может быть пробитие высокого напряжения...я только по фотографии годать умею
Вопрос: Pascal/Python для ЕГЭ?

Лучший ответ: Освоить Python на уровне для ЕГЭ за оставшееся время можно без проблем. Насчёт Лутца: мне он показался слишком скучным, книги Доунсона и Саммерфилда понравились как-то больше. Ещё Погружение в Питон могу посоветовать, сам с нее начинал. Или вообще официальный туториал, если с английским хорошо. На самом деле не суть, главное тренироваться. К тому же в ЕГЭ задачи весьма примитивные, так что при желании всё получится. 
Лучше брать 3.5, т.к. потом по жизни пригодится.
Про Паскаль, считаю, лучше сразу забыть и не вспоминать. В 2016 году он просто не нужен.
P.S. Если что, могу ответить на какие-то вопросы в ЛС. Сдавал ЕГЭ в прошлом году + могу вообще насчёт программирования подсказать что и как.

Худший ответ: Все зависит только от тебя
3.5.1
Вопрос: Как пользоваться namespace php?

Лучший ответ: Namespace это просто еще один вариант структурирования кода.
Есть стандарты PSR, в частности PSR-0(устаревший) и PSR-4 ( www.php-fig.org/psr/psr-4 ) касаются автозагрузки классов. Вот чисто между собой все договорились что классы должны называться вот так, должны быть вот такие то неймспейсы и лежать это все должно вот в таких папочках, что бы используемые автолоадеры это проглатывали.

Худший ответ: Работать по аналогии с папками - в одну папку 2 файла с одинаковым именем не запихнуть, значит нужно создать под каждый файл свою папку, группировать файлы по папкам\неймспейсам по смыслу\функционалу, например: контроллеры Your\Namespace\Controller\Base, Your\Namespace\Controller\Page\Base, Your\Namespace\Controller\Widget\Base
Вопрос: Можно ли использовать логотипы популярных сайтов у себя в приложении?

Лучший ответ: Можно, если есть согласие от обладателей прав на данные логотипы.
В остальных случаях - рискуете нарваться на  иск, или жалобу с блокировкой в зависимости от ситуации.

Худший ответ: Использовать можно, но смотря в каком ключе. Я использую логотипы соц. сетей в своих приложениях как ссылки на свои аккаунты и это не является нарушением. Если логотипы идут как партнерка, то можно использовать смело.
Вопрос: Как это сделано, вращающиеся очки на сайте?

Лучший ответ: А ещё можно на WebGL модельку вывести.
Например так nasosmash.com/nasos_no_obvyaz_v2.html?autorotate
Можно крутить во все стороны, сам делал.

Худший ответ: Вот здесь интересно сделана анимация. девушка поворачивается при выборе фото www.sony.ru/electronics/walkman/nwz-w273-nwz-w274s...
Понятно, там последовательность картинок. Интересно узнать подробности.
Вопрос: Какую базу данных выбрать для кроссплатформенного проекта?

Лучший ответ: База - любая.
Формат обмена данными - RESTfull API
Формат передачи - JSON
Формат клиента - SPA
(выше описанное справедливо для веб-сайта и для любых приложений для любых ОС)

Худший ответ: Полагаю мобильный клиент, будучи он-лайн приложением, будет таки обмениваться данными с бэкендом, посредством API. Логично было бы для мобильного клиента подыскать готовую библиотеку, которая уже умеет обмениваться данными с API и на бэкенде API реализовать именно таким образом как надо библиотеке. Тогда головняков минимум. Полагаю это будет что-то вроде RESTful API, как и было написано в первом каменте. 
В целом же вопрос выбора БД сводится к вопросу о целях, требованиях, масштабах, квалификации и пр.
Что касается SQLite, то насколько мне известно, его используют как локальное хранилище.
Вопрос: Как лучше освоить стезю front end?

Лучший ответ: Ну дак поздравляю) Вы добрались до первого языка программирования. А с нуля сразу т уда прыгать совсем не просто. 
 Надо начинать с самых низов и разбирать все детали, не торопитесь делать все подряд отдельными кусками, типа слайдеров и другой приблуды для фронтенда. 
 Мне вот нравятся уроки от этого человека. Недавно он начал серию с жава скриптом и там уже 77 уроков хД Посмотрите для начала, или купите сразу книгу.
https://www.youtube.com/watch?v=PMsVM7rjupU&list=P...

Худший ответ: Для практики и развития знаний по JS использую www.codewars.com, применяя там полученные знания как раз на ресурсе learn.javascript.ru. Там ооочень много разнообразнейших задач на применение всего спектра JS. Самому по началу было трудновато, но потихоньку разошелся, и появился интерес расти в этом направлении. Так что дерзайте. Всё в ваших руках.
Вопрос: Как назначить событие при изменении класса элемента?

Лучший ответ: Вы можете переопределить ф-ю добавления класса, если вы используете jQuery, получится что-то типо этого:(function(){
    //Сохраняем ссылку на стандартный метод jQuery
    var originalAddClassMethod = jQuery.fn.addClass;
    //Переопределяем
    $.fn.addClass = function(){
        var result = originalAddClassMethod.apply(this, arguments);
        //Инициализируем событие смены класса
        $(this).trigger('cssClassChanged');
        return result;
    }
})();

$(function(){
    $("#test").bind('cssClassChanged', function(){ 
        //Отработает, как только сменится класс
    });
});
А вообще можно посмотреть в сторону angularjs с его дада-биндингом.

Худший ответ: var observer = new MutationObserver(function (mutations) {
    mutations.forEach(function (mutation) {
        var newVal = $(mutation.target).prop(mutation.attributeName);
        if (mutation.attributeName === "class") {
            // если зашли сюда, значит класс сменился на значение из newVal
        }
    });
});

observer.observe(document.body, { // заменяем document.body на нужный нам элемент
    attributes: true
});
Вопрос: Есть ли система сбора статистики (аналог Google Analytics, Яндекс.Метрика), позволяющая встраивать отчёты на сайт, чтобы они были доступны всем?

Лучший ответ: Всем спасибо. Дело было в ограниченности по времени.
В итоге использовали Piwik.

Худший ответ: Получение статистики через API - не подходит.
а как иначе? как этот желанный сервис должен встраивать статистику без использования своего API?
если причина в том, что вы не умеете это использовать, возьмите готовое решение типа www.gaelytics.com/feature/widget или десятков альтернатив.
--
Пожалуйста.www.babak.ru
Вопрос: MongoDB performance

Лучший ответ: Запрос с регулярным выражение использует индексы только если однозначно задан префикс строки (читай выражение начинается с "/^"). Ваш запрос перерывал весь датасет.

На будущее: пожалуйста публикуйте примеры запросов к монге из JS консоли. Это стандартный инструмент, его все понимают примеры в нём все могут воспроизвести.

Худший ответ: Долго. Посмотрите хотя бы top на машине.
Вопрос: Как проверить наличие существования юзернейма в Django?

Лучший ответ: Как-то так можно:if User.objects.filter(username=username).exists():
    # OK
else:
    # Not OK
Но ваш способ тоже норм.

Худший ответ: В большинстве случаев нет смысла передавать имя пользователя в теле запроса. Если Вы используете джанговскую систему аутентификации, то Вы можете забирать инстанс юзера из реквеста : request.user 
Если нужно сделать вьюху или метод вьюхи (например post) недоступным для неавторизированного пользователя, используйте @login_required https://docs.djangoproject.com/en/1.7/topics/auth/...
Вопрос: Как настроить активность windows?

Лучший ответ: Включить никак. Совершенно очевидно, что это можно сделать только аппаратно, но никак не программно.Разбудить - нет проблем. В этом вам поможет стандартный планировщик заданий.

Худший ответ: еще есть такая штука как wake on lan. Можно настроить планировщик задач к примеру на роутере для включения компа.
Других способов мне не известно.
Вопрос: Насколько дорог throw?

Лучший ответ: Недавно были статьи как раз на эту тему:
Часть раз
Часть два

Худший ответ: Написал небольшой тестик:


public class Test
{
    public static final RuntimeException fex = new RuntimeException();

    public static void main(String[] args) throws Exception {
        long start;
        long end;

        start = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            testReturn(0);
        }

        end = System.currentTimeMillis();

        System.out.println("Return time: " + (end - start) + "ms");

        start = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            try {
                testExceptionThrow(0);
            } catch (RuntimeException e) {
            }
        }

        end = System.currentTimeMillis();

        System.out.println("Exception throw time: " + (end - start) + "ms");

        start = System.currentTimeMillis();

        for (int i = 0; i < 10000; i++) {
            try {
                testExceptionCreate(0);
            } catch (RuntimeException e) {
            }
        }

        end = System.currentTimeMillis();

        System.out.println("Exception create time: " + (end - start) + "ms");
    }

    public static void testReturn(int count) {
        if (count > 1000) {
            return;
        } else {
            testReturn(count + 1);
        }
    }

    public static void testExceptionThrow(int count) {
        if (count > 1000) {
            throw fex;
        } else {
            testExceptionThrow(count + 1);
        }
    }

    public static void testExceptionCreate(int count) {
        if (count > 1000) {
            throw new RuntimeException();
        } else {
            testExceptionCreate(count + 1);
        }
    }
}


В результате имеем следующие цифры:

Return time: 15ms
Exception throw time: 203ms
Exception create time: 1079ms


Тест, конечно, не претендует на большую точность, однако порядок величин показывает.
Вопрос: Как повесить обработчик события на изменение css-свойства?

Лучший ответ: Смотрим в песочницеvar MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
    config = {
        attributes: true,
        attributeFilter: ['style']
    },
    target = document.getElementById('my_id');

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        console.log(mutation.target.style.display);
    });
});
observer.observe(target, config);

Худший ответ: Можно каждую секунду проверять свойство, через setTimeout. Но лучше переделать, чтоб не пришлось css свойство проверять, например с помощью Promise.
Вопрос: Существует ли альтернатива методу join?

Лучший ответ: join хочет массив строк. ' '.join([str(a) for a in your_int_array])

Худший ответ: Решение #1 (для различных типов последовательностей):from itertools import chain, zip_longest

def mix(sequence, fltr=lambda e: e is not None):
    return filter(fltr, chain(*zip_longest(sequence[1::2], sequence[0::2], fillvalue=None)))

print(''.join(mix('12345678')))  # => '21436587'
print(''.join(map(str, mix([1, 2, 3, 4, 5, 6, 7, 8, 9]))))  # => '214365879'
print(list(mix([1, 2, 3, 4, 5, 6, 7, 8, 9])))  # => [2, 1, 4, 3, 6, 5, 8, 7, 9]
Решение #2:from operator import itemgetter

def swap(sequence, keyfunc=itemgetter(1)):
    min_value_index, min_value = min(enumerate(sequence), key=keyfunc)
    max_value_index, max_value = max(enumerate(sequence), key=keyfunc)
    sequence[min_value_index], sequence[max_value_index] = max_value, min_value
    return sequence

print(swap([3, 4, 0, 7, 1, 9, 8, 6, 2, 5]))  # => [3, 4, 9, 7, 1, 0, 8, 6, 2, 5]
Решение #3: повторяется первая задача.
Вопрос: Какие CMS являются современными с точки зрения архитектуры?

Лучший ответ: ну например раньше все верстали таблицами, а теперь дивами,
Глупости. Нормальный разработчики и этак лет 10 назад верстали нормальной разметкой. И сейчас есть криворукие которые все пихают в таблицы.

Худший ответ: Ну если текущая CMS развиваеться, то наверное она еще окончательно не сдалась, и есть в ней что то особенное.
Если неустраивает юзабилити -- просто проведите аудит популярных CMS, и определите какая будет более юзабильная для ваших целей
Вопрос: Как лучше защитить web сервер — Apache или Nginx ?

Лучший ответ: Использовать Apache как средство защиты от высоких нагрузок — это как выделять деньги на борьбу с коррупцией.

Худший ответ: А ОСь какая?
Вопрос: Windows 8.1->10 стоит ли обновляться?

Лучший ответ: Как такие вопросы можно задавать если этой версии нету оф, только бета резлизы и будет она только с 29.07.2015

Худший ответ: В целом норм. Софт почти весь работает (Virtual Box не завёлся). После последнего (позавчерашнего) апдейта стало совсем прибрано
Вопрос: Как избавиться от стандартных Swatches в Adobe Illustrator CC 2015?

Лучший ответ: У меня макинтош, но может надо использовать этот путь: Roaming > Adobe > Adobe Illustrator (Version) Settings > En_ US > New Document Profiles ?

Худший ответ: Чуваки работает нужно заменить файлы именно по этому пути. Для всех профилей которые вам нужны. Это супер круто. Всем божественного скилла.
C:\Users\yourusername\AppData\Roaming\Adobe\Adobe Illustrator 19 Settings\en_GB\x64\New Document Profiles
Вопрос: А никто не задумывался об устройстве для подсветки (определения) ям на дороге?

Лучший ответ: Мысль конечно хорошая, я бы даже воспользовался таким, но зная дороги за городом, устройство будет говорить «Вы едите в яме, найдите дорогу!».

Худший ответ: Включите противотуманные фары, ямы становятся видны как на ладони.
Даше приложение писать не нужно.
Вопрос: Что такое g_init="6834"?

Лучший ответ: Это расширение для браузера "Элементы Яндекса", конкретно расширение "Советник".

Худший ответ: Скорее всего это значит что до тега html есть данные которые выводятся на экран, на пример через php ( так же пробел может появляться из за неправильной кодировки файлов ) . в следствии чего браузер самостоятельно создает структуру ... и помещает сюда то что там у вас выводится -  это может быть даже пробел, а ваш основной хтмл тайтл хеад и боди уже идут внутри этого тега боди. 
если вкратце, на сколько мне известно, подобная g_init="6834" принадлежность html тега означает что он автоматически сгенерирован браузером.
или результат работы AD Block например.
Вопрос: Комиссия покупок в интернет магазинах Украины с карточки Payoneer?

Лучший ответ: 1)никакой
2)снимается фи прописанный в пионере

Худший ответ: Фиксированой комисси нет при оплате нет. 
Есть только разница в конвертации.
Вопрос: Почему хранение serialized конфига предпочтительнее нативного php?

Лучший ответ: 1. По-поводу скорости.
Без акселераторов unserialize(file_get_contents('...')) у меня выполняется быстрее, чем include '...' примерно в 2-3 раза. Можно объяснить это тем, что при include выполняется парсинг PHP кода и, в отличии от unserialize, необходимо распознавать намного больше языковых конструкций (в include версии можно, например, в качестве значения указать вызов функции; в unserialize — нет). 
С акселератором (я использовал opcache) ситуация прямо противоположная — include '...' быстрее, чем unserialize(file_get_contents('...')) примерно в 2-3 раза.
Итог: поскольку акселератор можно настроить так, чтобы он не влиял на корректность работы PHP скрипта, побеждает include.
2. Безопасность.
Если PHP скрипту необходимо не только читать конфигурационный файл, но и производить запись в него, то на конфигурационный файл будут выставлены соответствующие права и появится потенциальная дыра в безопасности (связанная с тем, что кто-либо теперь сможет изменить код исполняемого PHP файла). В случае unserialize такой опасности нет.
Также unserialize подходит, если конфигурационный файл поступает из ненадёжного источника (например, получается с другого сервера по HTTP и по пути может быть изменён злоумышленником; или, например, квалификации администратора недостаточно для редактирования PHP кода и он может допустить в нём ошибку в случае варианта с include).
Итог: в номинации "безопасность" побеждает unserialize.

Худший ответ: А ещё тестировал сам и видел статьи - json_encode/decode() быстрее serialize/unserialize(), и для хранения конфигов их достаточно.
Вопрос: Куда копать для знакомства с юнит-тестированием в Yii2?

Лучший ответ:  с англ не дружу.
Тогда вам в 1С надо. Yii2 на русском только на форуме в виде ответов посетителей.

Худший ответ: Если устанавливали через composer, то поидее ее не должно быть.
Клонируйте репозиторий https://github.com/yiisoft/yii2
Вопрос: Телефон не заряжается после полной разрядки?

Лучший ответ: Может глупая идея (а может и нет), но может стоит попробовать вставить аккумулятор в зарядку-«лягушку»?
Однажды была подобная проблема, мне помогло.

Худший ответ: Не знаю насчет телефона, но у меня в джойстике Xbox тоже стоят аккумуляторы (не батарейки, а родные), так вот, после пары месяцев лежания на полке он благополучно полностью разрядился. При подключении зарядки он работал только от сети, а заряжаться не собирался.
Мне помогло подключение/отключение зарядки, т.е. я включал зарядку, секунд через 5 отключал ее, еще через 5 секунд все повторял и так, пока он не стал заряжаться (минут 5-10). 
Собственно, пользуюсь этим способом до сих пор, может и Вам поможет. 
Удачи!
Вопрос: Как влияет на разработку использование препроцессора и постпроцессора CSS?

Лучший ответ: Если обобщенно, то становится меньше рутины - монотонных повторных действий.
Чтобы не гадать - сразу выбирай SASS в синтаксисе SCSS. Нужна скоростная реализация libSass, которую прикручиваешь к gulp. Дальше добавляешь к этому autoprefixer, который позволит забыть о ручной расстановке префиксов. Больше никаких "постпроцессоров" не надо. Но прежде чем приступить к этому шагу ты должен хорошо знать CSS.
Вот неплохая статейка для начинающих (англ.)
https://scotch.io/tutorials/getting-started-with-sass

Худший ответ: По моему опыту, использование препроцессоров:заметно ускоряет разработку, если владеть имиуменьшает качество компилированного кодаесли код достанется в будущем тому, кто не работает с препроцессорами, то ему это доставит массу неудобствИспользую LESS. У SCSS больше возможностей, но он сложней
Вопрос: Как подсчитать голоса?

Лучший ответ: ну так посчитайте среднее арифметическое - и округлите.

Худший ответ: Сложить суммы всех балов голосов потом разделить на количество всех голосов округлить до нужного и показывать картунку с отмеченными звездами по диапазону средне арифметического которое мы уже подсчитали
Вопрос: Нефтегазовая отрасль для ИТ-специалистов и программистов?

Лучший ответ: ИТ сейчас везде востребовано, в любой отрасли. Нынче даже корова доится по определенному алгоритму и на полной автоматизации. 
Так что судите сами, нужен ли в нефтегазовой отрасли с её корпорациями ИТ специалист.

Худший ответ: Однозначно нужны спецы по ГИС.
Вопрос: Как с помощью BASH + sed удалить все символы после первого пробела?

Лучший ответ: можно обойтись только bash'ем:${str%% *}
ideone.com/zVWyWA

Худший ответ: Не sed конечно, но...echo "24kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.722941%" | awk -F' ' '{print $1;}'