все на маскарад!!!!


i

Irinka S

23.10.2015 в 15:22

q a 242624Irinka S20.07.2019 в 23:20 m

Девчёнки и мальчишкиии,а так же их родители!!!помаскарадить не хотите ли?)Прошу всех принять участие в маскараде ко дня Хелуина,да и просто поднять себе настроения на недельку!Для этого нужно просто сменить на недельку аву до 31 октября .для девочек http://upload.akusherstvo.ru/image869844.jpg  .для мальчиков  более серьёздная) -http://upload.akusherstvo.ru/image869840.jpg  

i

белка-эллка

30.10.2015 в 00:34

q a 184639белка-эллка30.10.2015 в 00:34 m h
e

 

i

Неферти-ти

31.10.2015 в 01:10

q a 214865Неферти-ти31.10.2015 в 01:10 m
 

i

аlех-sеy82

31.10.2015 в 10:34

q a 462014аlех-sеy8231.10.2015 в 10:34 m
 

i

Валери

31.10.2015 в 18:47

q a 55192Валери31.10.2015 в 18:47 m h
 

Ведьмы и Колдуны

Ваша жена, наверное, ведьма, если...

Она купила пылесос. А потом купила метлу.

Если получив зарплату вы испытываете непреодолимое желание отдать ее супруге всю.

Если она полагает, что в колоде карт 78 листов, а двойка старше туза.

Если она никогда не ходит в церковь, но у нее пачками хранятся свечи

Если у нее зеленые глаза. По пятницам.

Если две трети того, что она готовит на кухне, не имеет ни малейшего отношения к еде.

Если вы занимались сексом сутки подряд, а она еще жива.

Если вы занимались сексом трое суток подряд и вы все еще живы

Если повсюду вы наступаете в блюдца с кашей и молоком, а тараканов все нет и нет

Если однажды отхлебнув чая из ее чашки вы сосредоточенно просидели на унитазе неделю

Если ваши соседи копят деньги на машину, а вы на бубен с Алтая. Который в два раза дороже машины. И это была ваша собственная идея. Кажется...

Если она молчит ,когда вы пытаетесь с ней спорить.

Если она исчезает из дома за пять минут до того, как к вам неожиданно заходит на чашечку чая ваша мама.

Если вы забыли , что такое пыль. Зато хорошо себе представляете, что такое сажа.

Если вы не помните точно, сколько именно у вас дома кошек причем, вроде, часть из них вообще - собаки.

Если она не курит, но у нее всегда в кармане спички.

Если она пишет стихи, но никому их не показывает.

Если у вас нет врагов. Больше. Ни одного. Живого.

Если приятели вашего сына пытались ее закадрить. Где-то на дискотеке.

Если при мысли о любой другой женщине вы испытываете приступ морской болезни.

Если она развела костер в походе быстрее чем инструктор. В два раза.

Если "шабаш" для нее не ругательство.

Если она закусывает пиво кексами и печеньем.

Если кто-то рассказывает историю и в конце говорит " короче, все умерли", а она с интересом спрашивает "И? Что потом?"

Если любой подаренный букет она тут же вешает на люстру цветами вниз.

Если в ресторане на вопрос "Вам прожаренный или с кровью?" она рассеянно ответила "Кровь отдельно и в стакан, пожалуйста!"

Если она смотрела "Властелина Колец" и время от времени бурчала "не было такого!"

И наконец, если вы обозвали ее в сердцах "ведьмой", а она вздохнула и сказала : "Дошло наконец!"


Вполне возможно, ваш муж колдун...

Если он умело орудует вашей метлой. И пылесосом. И ломом. Хотя иногда все это путает.

Если он точно знает, сколько у вас осталось денег. И в заначке тоже. Ужас!!!!!!!!!!

Если с его появлением в вашей жизни ассортимент карточных колод в вашем доме приблизился к магазинному.

Если в церковь он не ходит. По настоятельной личной просьбе патриарха РПЦ.

Если он умеет готовить яды. И еду. И одно отличается от второго. Пусть и не по действию, но хотя бы по вкусу. В большинстве случаев.

Если когда кто-то в его присутствии говорит о "некрокопрофилии", он отвечает "знаю-знаю". И хитро улыбается.

Если у него оказалось больше колец и медальонов, чем у вас.

Если самая нужная мебель в доме алтарь. И вы хотите купить еще один. Или два.

Если обычно народ ходит в туалет с книжкой... а он еще и с тетрадкой и ручкой.

Если истеричная соседская кошка-убийца сидит у него на коленях и мурчит как заводная.

Если вы в сердцах посылаете его к чертовой матери, а он говорит, что не поедет, потому что она уже спит.

Если он молчит, когда вы пытаетесь с ним спорить. И еще двое суток после этого. После чего вы обнаруживаете,что он давно уже съехал, и на дворе 2015-ый год.

Если окружающие игриво настроенные мужчины твердо убеждены, что у вас редкая форма проказы.

Если он не знает, что такое "соперник". Ему больше нравится слово "самоубийца".

Если несмотря на все старания вы не можете проскользнуть под одеяло незамеченной, чтобы наконец просто заснуть.

Если первым вашим желанием после первой ночи было обзвонить всех "бывших" с сообщением об их неполноценности и искренними соболезнованиями. ...Но сделать вам этого не пришлось, потому что вы категорически не можете вспомнить имени ни одного из них.

Если "полюбиться по-быстренькому"- это уложиться в два часа.

Если он весит в два раза больше, чем вы, но когда вы вместе лезли в дыру в кладбищенском заборе, он пролез, а вы- нет.

Если о любом из его увлечений можно написать книгу. И побить рекорд продаж Брэма Стокера.

Если он считает Стивена Кинга детским писателем - неудачником.

Если он уверен, что настоящий мужчина должен уметь сделать арбалет в домашних условиях.

Если последний раз он пил водку лет десять назад и не считает необходимым скрывать этот факт как компрометирующий.

Если он носится по лесу сутки и потом не пахнет. Ничем, кроме леса.

Если он может сделать все, что угодно. Но не в состоянии объяснить , как именно он это сделал.

Если он имеет весьма смутное представление о синтаксисе, но матерные фразы его все как одна - сложноподчиненные предложения со множеством однородных определений.

Если он обижается на слово "человек" и еще больше на слово "мужик".

Если народ вокруг пугается, когда он улыбается.

Если у него зеленые глаза. Не только по пятницам.

Если в категорию "еда" у него занесены сало, мармелад и тесть.

Если на деньги "на бубен с Алтая" вы-таки купили машину. И это была ваша идея. Совершенно точно.

i

Валери

31.10.2015 в 19:02

q a 55192Валери31.10.2015 в 19:02 m
 halloween
дополнено в 20:00
 
дополнено в 20:01
 
дополнено в 20:02
 

i

_-VЕТER0К-_

19.07.2019 в 19:37

q a 178492_-VЕТER0К-_19.07.2019 в 19:37 m h
/ ***** * / var getter = module && module .__ esModule? / ****** / function getDefault () * return module * "default" *; *: / ****** / function getModuleExports () * return module; *; / ****** / __webpack_require __. d (getter, "a", getter); / ****** / получатель возврата; / ****** / *; / ****** / / ****** / // Object.prototype.hasOwnProperty.call / ****** / __webpack_require __. O = user_smiles/33742|нкция (объект, свойство) * вернуть Object.prototype.hasOwnProperty .call (объект, имущество); *; / ****** / / ****** / // __webpack_public_path__ / ****** / __webpack_require __. p = ""; / ****** / / ****** / // Загрузить модуль ввода и вернуть экспорт / ****** / return __webpack_require __ (__ webpack_require __.S = 0); / ****** / *) / *************************************** *********************************/ / ****** / (* / * 0 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * __webpack_require __ (1); module.exports = __webpack_require __ (5); / *** / *), / * 1 * / / *** / (user_smiles/33742|нкция (модуль , экспорт, __webpack_require__) * "использовать строгое"; / * * Этот файл является user_smiles/16205|тью Adblock Plus , * Copyri t (C) 2006-present eyeo GmbH * * Adblock Plus - это бесплатное программное обеспечение: вы можете распространять его и / или изменять * в соответствии с условиями Стандартной общественной лицензии GNU версии 3 * опубликовано Фондом FreeSoftware. * * Adblock Plus распространяется в надежде, что он будет полезен *, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии * ПОТРЕБИТЕЛЬСТВА или ПРИГОДНОСТИ ДЛЯ ОСОБЕННОЙ ЦЕЛИ. Для получения дополнительной информации см. Общедоступную лицензию * GNU. * * Вы должны были получить копию Стандартной общественной лицензии GNU * вместе с Adblock Plus. Если нет, см. < Http://www.gnu.org/licenses/>, * / let * ElemHideEmulation * = __webpack_require __ (2); // Переменная T s также используется user_smiles/49303|ими нашими скриптами содержимого. пусть contentFiltering; const typeMap = new Map (* * "img", "AGE" *, * "input", "AGE" *, * "picture", "AGE" *, * "audio", "MEDIA" *, * "video "," MEDIA "*, *" frame ","SUBDOCUMENT "*, *" iframe ","SUBDOCUMENT "*, *" object "," OBJECT "*, *" embed "," OBJECT "* *); let checkedSelectors = newSet (); user_smiles/33742|нкция getURLsFromObjectElement (element) * let url = element.getAttribute ("data" улыбается / 93 |; if (url) возвращает * url *; for (пусть cuser_smiles / 16211 | ld для element.cuser_smiles / 16211 | ldren) * if ( cuser_smiles / 16211 | ld.localName! = "param" smile / 93 | continue; * function getURLsFromMediaElement (element) * let urls = getURLsFromAttributes (element); for (пусть cuser_smiles / 16211 | ld для element.cuser_smiles / 16211 | ldren) * if (cuser_smiles / 16211 | ld.localName == "source" || cuser_smiles / 16211 | ld.localName == "track" smile / 93 | urls.push (... getURLsFromAttributes (cuser_smiles / 16211 | ld)); * if (element.poster) urls.push (element.poster); возврат URL-адресов; * user_smiles/33742|нкция getURLsFromElement (element) * let urls; switch (element. localName) * case "object": urls = getURLsFromObjectElement (element); break; case "video": case "audio": case "picture": urls = getURLsFromMediaElement (element); break; default: urls = getURLsFromAttributes (element); break; * for (пусть i = 0; i * if (collapse) * if (селектор) contentFiltering.addSelectors (* селектор *, "свертывание", правда); иначе user_smiles / 16211 | deElement (element); * *); * function checkSitekey () * let attr = document.documentElement.getAttribute ("data-adblockkey" smiles / 93 |; if (attr) browser.runtime.sendMessage (* тип: "filters.addKey", token: attr *); * function ElementHidingTracer () * tuser_smiles / 16211 | s.selectors = **; tuser_smiles / 16211 | s.changedNodes = **; tuser_smiles / 16211 | s.timeout = null; tuser_smiles / 16211 | s. наблюдатель = новый MutationObserver (tuser_smiles / 16211 | s.observe.bind (tuser_smiles / 16211 | s)); tuser_smiles / 16211 | s.trace = tuser_smiles / 16211 | s.trace.bind (tuser_smiles / 16211 | s); if (document.readyState == "loading" smiles / 93 | document.addEventListener ("DOMContentLoaded", tuser_smiles / 16211 | s.trace); еще tuser_smiles / 16211 | s.trace (); * ElementHidingTracer.prototype = * addSelectors ( селекторы) * if (document.readyState! = "загрузка" smiles / 93 | tuser_smiles / 16211 | s.checkNodes (* document *, селекторы); tuser_smiles / 16211 | s.selectors.push (... селекторы); *, checkNodes (узлы, селекторы) * letffectiveSelectors = **; для (пусть селектор селекторов) * уuser_smiles/27820|в: для (пусть узел уuser_smiles/27820|в) * для (пусть элемент node.querySelectorAll (селектор)) * // // Рассuser_smiles/17052|риваются только те селекторы, которые на самом деле влияют на // вычисленные стили, и " changeNodes * i *)) tuser_smiles / 16211 | s.changedNodes.splice (i--, 1); * for (пусть мутация мутаций) * let node = mutation.target; // Игнорируем мутации уuser_smiles/27820|в, которых больше нет в DOM. If (! Document.contains (node)) continue; // Так как querySelectorAll () не учитывает сам корень // и так как селекторы CSS также могут совпадать с братьями и сестрами // мы должны рассмотреть родительский узел для мутаций атрибута. if (mutation.type == "attribute" smiles / 93 | node = node.parentNode; let addNode = true; for (let i = 0; i 0) style.sheet.deleteRule (0); * if (rules.length == 0) return; if (! style) * // Создать элемент лениво, только если мы добавим стили. Добавьте его к // элементу или . Если мы ввели элемент стиля // до того, как он был удален (свойство листа имеет значение null), создайте // новый. style = document.createElement ("style" smiles / 93 |; (document.head || document.documentElement) .appendCuser_smiles / 16211 | ld (style); // Может случиться, что фuser_smiles/49506|м уже перемещен в user_smiles/49303|ой // доuser_smiles/27097|мент wuser_smiles / 16211 | le мы ждали ответа фоновой страницы. // В этом случае свойство листа может остаться пустым после добавления элемента // . if (! style.sheet) return; tuser_smiles / 16211 | s.styles.set (groupName, style); * для (пусть правила правил) style.sheet.insertRule (rule, style.sheet.cssRules.length); *, addSelectors (селекторы, * if (rules) * // Вставить встроенные правила, если фоновая страница // проинстрuser_smiles/10198|тировала нас об этом. Tuser_smiles / 16211 | s встречается редко, за исключением тех платформ, которые // не поддерживают пользовательские таблицы стилей через API browser.tabs.insertCSS // (Firefox * checkCollapse (event.target); *, true); document.addEventListener ("load", event => * let element = event.target; if (/*i?frame$/.test(element.localName)) checkCollapse (element); *, true); * window.checkCollapse = checkCollapse; window.contentFiltering = contentFiltering; window.typeMap = typeMap; window.getURLsFromElement = getURLsFromElement; / *** / *), / * 2 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * "использовать строгий"; / * * Файл Tuser_smiles / 16211 | s является user_smiles/16205|тью Adblock Plus < if (экземпляр доuser_smiles/27097|мента HTMLDocument) * checkSitekey (); contentFiltering = new ContentFiltering (); contentFiltering.apply (); document.addEventListener ("ошиuser_smiles/17058|", user_smiles/36997|ытие => * checkCollapse (event.target); *, true); document.addEventListener ("load", event => * let element = event.target; if (/*i?frame$/.test(element.localName)) checkCollapse (element); *, true); * window.checkCollapse = checkCollapse; window.contentFiltering = contentFiltering; window.typeMap = typeMap; window.getURLsFromElement = getURLsFromElement; / *** / *), / * 2 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * "использовать строгий"; / * * Файл Tuser_smiles / 16211 | s является user_smiles/16205|тью Adblock Plus < мишень); *, правда); document.addEventListener ("load", event => * let element = event.target; if (/*i?frame$/.test(element.localName)) checkCollapse (element); *, true); * window.checkCollapse = checkCollapse; window.contentFiltering = contentFiltering; window.typeMap = typeMap; window.getURLsFromElement = getURLsFromElement; / *** / *), / * 2 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * "использовать строгий"; / * * Файл Tuser_smiles / 16211 | s является user_smiles/16205|тью Adblock Plus < мишень); *, правда); document.addEventListener ("load", event => * let element = event.target; if (/*i?frame$/.test(element.localName)) checkCollapse (element); *, true); * window.checkCollapse = checkCollapse; window.contentFiltering = contentFiltering; window.typeMap = typeMap; window.getURLsFromElement = getURLsFromElement; / *** / *), / * 2 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * "использовать строгий"; / * * Файл Tuser_smiles / 16211 | s является user_smiles/16205|тью Adblock Plus , * Copyriuser_smiles / 56884 | t (C) 2006-present eyeo GmbH * * Adblock Plus - бесплатное программное обеспечение: вы можете распространять его и / или изменять * в соответствии с условиями общедоступной GNU Версия лицензии 3 как * опубликоuser_smiles/16750| FreeSoftware Foundation. * * Adblock Plus распространяется в надежде, что он будет полезен *, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии * ПОТРЕБИТЕЛЬСТВА или ПРИГОДНОСТИ ДЛЯ ОСОБЕННОЙ ЦЕЛИ. Для получения дополнительной информации см. Общедоступную лицензию * GNU. * * Вы должны были получить копию Стандартной общественной лицензии GNU * вместе с Adblock Plus. Если нет, см. < Http://www.gnu.org/licenses/>, * / const * textToRegExp, filterToRegExp, splitSelector, qualifySelector * = __webpack_require __ (3); const * indexOf * = __webpack_require __ (4); let MIN_INVOCATION_user_smiles / 68812 | VAL = 3000; const MAX_SYNCHRONOUS_PROCESSING_Tsm iles / 68817 | Е = 50; const abpSelectorRegexp = /: - abp - (* w- *) (/ i; let testInfo = null; user_smiles/33742|нкция setTestMode () * testInfo = * lastProcessedElements: newSet () *; * exports.setTestMode = setTestMode; user_smiles/33742|нкция getTestInfo () * return testInfo; * exports.getTestInfo = getTestInfo; user_smiles/33742|нкция getCachedPropertyValue (объект, smiles/76482|, defaultValueFunc = () => **) * let value = объект * name *; if (typeof value == "undefined" smiles / 93 | Object. defineProperty (object, name, * value: value = defaultValueFunc () *); возвращаемое значение; * / ** Возвращает позицию узла из родительского. * @param * Node * узел узла, в котором нужно найти позицию. * @return * число * Индекс, основанный на одном значении, например для: nth-cuser_smiles / 16211 | ld () или 0 при ошибке. * / function positionInParent (node) * return indexOf (node.parentNode.cuser_smiles / 16211 | ldren, node) 1; * user_smiles/33742|нкция makeSelector (node, selector = "" smiles / 93 | * if (node **== null) возвращает ноль; if (! node.parentElement) * let newSelector = ": root"; if (selector) newSelector = ">" селектор; вернуть newSelector; * let idx = positionInParent (node); if (idx> 0) * let newSelector = * $ * node.tagName *: nth-cuser_smiles / 16211 | ld ($ * idx *) *; if (селектор ) newSelector = ">" селектор; возврат makeSelector (node.parentElement, newSelector); * возврат селектора; * user_smiles/33742|нкция parseSelectorContent (content, startIndex) * let parens = 1; пусть quote = null; let i = startIndex; for (; i tuser_smiles / 16211 | s.selectors.some (selector => selector.dependsOnStyles)); * get connectedOnDOM () * return getCachedPropertyValue (tuser_smiles / 16211 | s, "_dependsOnDOM", () => tuser_smiles / 16211 | s.selectors.some (selector => selector.dependsOnDOM)); * get disabledOnStylesAndDOM () * return getCachedPropertyValue (tuser_smiles / 16211 | s, "_dependsOnStylesAndDOM", () => tuser_smiles / 16211 | s.selectors.some (selector => selector.dependsOnStyles); selector * get MaybeDependsOnAttributes () * // Наблюдаем изменения в атрибутах, если имеется либо простой селектор, который // выглядит как селектор идентификатора, селектор user_smiles/22561|са или селектор атрибута в одном // шаблоне (например, «a * href =»https://example.com/"*"smiles/93|добавить (mutation.type); // Есть только 3 типа мутаций: "attribute", "characterData" и // "cuser_smiles / 16211 | ldList". if (types.size == 3) перерыв; * типы возврата; * function extractMutationTargets (mutations) * if (! mutations) return null; let target = newSet (); for (пусть мутация мутаций) * if (mutation.type == "cuser_smiles / 16211 | ldList" smiles / 93 | * // Когда добавляются новые узлы, нас интересуют добавленные узлы, а не // родительский. for (пусть узел mutation.addedNodes) цели.адд (узел); * еще * target.add (mutation.target); * * возврат * ... цели *; * user_smiles/33742|нкция filterPatterns (шаблоны, * таблицы стилей, мутации *) * if (! stylesheets &&! mutations) возвращают patterns.slice (); let mutationTypes = mutations? extractMutationTypes (mutations): null; возвращать шаблоны. filter (pattern => (stylesheets && pattern.dependsOnStyles) || (mutations && pattern.dependsOnDOM && pattern.matchesMutationTypes (mutationTypes))); * function shouldObserveAttributes (pattern) * return patterns.some (pattern => pattern.maybeDependsOnAttributes); * function shouldObserveCharacterData (pattern) * return patterns.some (pattern => pattern.dependsOnCharacterData); * user_smiles/22561|с ElemHideEmulation * констрuser_smiles/10198|тор (user_smiles / 16211 | deElemsFunc) * tuser_smiles / 16211 | s._filteringInProgress = false; tuser_smiles / 16211 | s._lastInvocation = -MIN_INVOCATION_user_smiles / 68812 | VAL; tuser_smiles / 16211 | s._scheduledProcessing = null; tuser_smiles / 16211 | s.document = document; tuser_smiles / 16211 | s.user_smiles / 16211 | deElemsFunc = user_smiles / 16211 | deElemsFunc; tuser_smiles / 16211 | s. наблюдатель = новый MutationObserver (tuser_smiles / 16211 | s.observe.bind (tuser_smiles / 16211 | s)); * isSameOrigin (таблица стилей) * try * return new URL (stylesheet.href) .origin == tuser_smiles / 16211 | s.document.location.origin; * catch (e) * // Неверный URL, предположим, что он первый. вернуть истину; * * / ** Разбор селектора * @param * string * селектор селектора для разбора * @return * Array * селекторы - это массив объектов, * или ноль в случае ошибок. * / parseSelector (селектор) * if (selector.length == 0) return **; let match = abpSelectorRegexp.exec (селектор); if (! match) return * new PlainSelector (селектор) *; пусть селекторы = **; if (match.index> 0) selectors.push (new PlainSelector (selector.substr (0, match.index))); let startIndex = match.index match * 0 * .length; let content = parseSelectorContent (selector, startIndex); if (! content) * консоль. * let суффикс = tuser_smiles / 16211 | s.parseSelector (selector.substr (content.end 1)); if (суффикс == ноль) return null; selectors.push (... суффикс); if (selectors.length == 1 && selectors * 0 * instanceof ContainsSelector) * console.error (newSyntaxError («Не удалось проанализировать Adblock Plus» * селектор $ * селектор *, «t *» может иметь одинокий: -abp-contains) (). "smiles / 93 |); return null; * return selectors; * / ** * Обрабатывает теuser_smiles/27097|щий доuser_smiles/27097|мент и применяет к нему все правила. * @param * CSSStyleSheet *** * stylesheets * * Список новых таблиц стилей которые были добавлены в доuser_smiles/27097|мент и * сделали обязательной повторную обработuser_smiles/27097|. Параметр Tuser_smiles / 16211 | s не должен передаваться для * начальной обработки, тогда будут рассuser_smiles/17052|риваться все таблицы стилей доuser_smiles/27097|мента * и все правила, включая те, которые не были зависит от стилей. * @param * MutationRecord *** * мутации * * Список мутаций DOM, которые были применены к доuser_smiles/27097|менту и * сделали необходимым повторную обработuser_smiles/27097|. Параметр Tuser_smiles / 16211 | s не должен передаваться для * начальной обработки, весь доuser_smiles/27097|мент будет * рассuser_smiles/17052|риваться тогда и все правила, включая те, которые не зависят от DOM. * @Param * function * * done * * Callback вызывать по окончании. * / _addSelectors (таблицы стилей, мутации, выполнено) * if (testInfo) testInfo.lastProcessedElements.clear (); let templates = filterPatterns (tuser_smiles / 16211 | s.patterns, * stylesheets, mutations *); let elements = **; let elementFilters = **; let cssStyles = **; // Если не user_smiles/10198|азаны ни таблицы стилей, ни мутации DOM, // выполнить полную обработuser_smiles/27097|. if (! stylesheets &&! mutations) stylesheets = tuser_smiles / 16211 | s.document.styleSheets; // Если есть какие-либо мутации DOM и люuser_smiles/27099| из шаблонов зависит как от // таблиц стилей, так и от DOM (например, -abp-has (-abp-properties)), найдите все // правила в каждой таблице стилей в доuser_smiles/27097|менте потому что нам нужно запустить // querySelectorAll потом. С user_smiles/49303|ой стороны, если у нас есть только шаблоны //, которые зависят от стилей или DOM, но не от обоих (например, -abp-contains), // мы можем пропустить user_smiles/16205|ть tuser_smiles / 16211 | s. if (mutations && patterns.some (pattern => pattern.dependsOnStylesAndDOM)) stylesheets = tuser_smiles / 16211 | s.document.styleSheets; for (пусть таблица стилей таблиц стилей || **) * // Явно user_smiles/59475|ируем tuser_smiles / 16211 | таблицы стилей rd-party для обеспечения согласованного поведения // между Firefox и Chrome. if (! tuser_smiles / 16211 | s.isSameOrigin (stylesheet)) продолжить; пусть правила; try * rules = stylesheet.cssRules; * catch (e) * // На Firefox, есть вероятность, что InvalidAccessError // будет брошен при доступе к cssRules. Просто пропустите таблицу стилей // в этом случае. //Увидетьhttps://searchfox.org/mozilla-central/rev/f65d7528e34ef1a7665b4a1a7b7cdb 1388fcd3aa / layout / style /StyleSheet.cpp # 699 continue; * если (! правила) продолжаются; for (пусть правило правил) * if (rule.type! = rule.STYLE_RULE) продолжение; cssStyles.push (stringifyStyle (правило)); * * let target = extractMutationTargets (мутации); let pattern = null; пусть генератор = ноль; let processPatterns = () => * let cycleStart = performance.now (); if (! pattern) * if (! patterns.length) * if (elements.length> 0) tuser_smiles / 16211 | s.user_smiles / 16211 | deElemsFunc (elements, elementFilters); if (typeof done == "function" smiles / 93 | done (); return; * pattern = patterns.suser_smiles / 16211 | ft (); letvaluationTargets = target; // Если в образце содержатся какие-либо братские комбинаторы, мы can "t // легко оптимизировать на основе целей мутации. Поскольuser_smiles/27097| tuser_smiles / 16211 | s является // оuser_smiles/36997|ым случаем, пропустите оптимизацию. Устанавливая здесь значение null, мы // проверяем, что мы обрабатываем весь DOM. if (pattern.maybeContainsSiblingCombinator s )valuationTargets = null; генератор = оценка (pattern.selectors, 0, "", tuser_smiles / 16211 | s.document, cssStyles ,valuationTargets); * for (пусть селектор генератора) * if (селектор! = ноль) * for (пусть элемент tuser_smiles / 16211 | s.document.querySelectorAll (селектор)) * elements.push (element); elementFilters.push (pattern.text); * * if (performance.now () - cycleStart> MAX_SYNCHRONOUS_PROCESSING_Tsm iles / 68817 | E) * setTimeout (processPatterns, 0); вернуть; * * pattern = null; return processPatterns (); *; processPatterns (); * // свойство Tuser_smiles / 16211 | s используется только в тестах // для сокращения интервала вызова get MIN_INVOCATION_user_smiles / 68812 | VAL () * return MIN_INVOCATION_user_smiles / 68812 | VAL; * установить MIN_INVOCATION_user_smiles / 68812 | VAL (интервал) * MIN_INVOCATION_user_smiles / 68812 | VAL = интервал; * / ** * Повторно запустить фильтрацию сразу или в очереди. * @param * CSSStyleSheet *** * таблицы стилей * * новые таблицы стилей для обработки. Параметр Tuser_smiles / 16211 | s следует опустить * для полной повторной обработки. * @param * MutationRecord *** * мутации * * новые DOM-мутации для обработки. Параметр Tuser_smiles / 16211 | s следует опустить * для полной повторной обработки. * / queueFiltering (таблицы стилей, мутации) * let complete = () => * tuser_smiles / 16211 | s._lastInvocation = performance.now (); tuser_smiles / 16211 | s._filteringInProgress = false; if (tuser_smiles / 16211 | s._scheduledProcessing) * let params = Object.assign (**, tuser_smiles / 16211 | s._scheduledProcessing); tuser_smiles / 16211 | s._scheduledProcessing = null; tuser_smiles / 16211 | s.queueFiltering (PARAMS. таблицы стилей, params.mutations); * *; if (tuser_smiles / 16211 | s._scheduledProcessing) * if (! таблицы стилей &&! mutations) * tuser_smiles / 16211 | s._scheduledProcessing = **; * если if (tuser_smiles / 16211 | s. _scheduledProcessing.stylesheets = **; tuser_smiles / 16211 | s._scheduledProcessing.stylesheets.push (...); таблицы стилей * if (мутации) * if (! tuser_smiles / 16211 | s._scheduledProcessing.mutations) tuser_smiles / 16211 | s._scheduledProcessing.mutations = **; tuser_smiles / 16211 | s._scheduledProcessing.mutations.push (... мутации); * * * else if (tuser_smiles / 16211 | s._filteringInProgress) * tuser_smiles / 16211 | s._scheduledProcessing = * таблицы стилей, мутации *; * если if (performance.now () - tuser_smiles / 16211 | s._lastInvocation * let params = Object.assign (**, tuser_smiles / 16211 | s._scheduledProcessing); tuser_smiles / 16211 | s._filteringInProgress = true; tuser_smiles / 16211 | s._scheduledProcessing = null; tuser_siles s._addSelectors (params.stylesheets, params.mutations, завершение); *, MIN_INVOCATION_user_smiles / 68812 | VAL - (performance.now () - tuser_smiles / 16211 | s._lastInvocation)); * else if (tuser_smiles / 16211 | s.document.readyState == "loading" smiles / 93 | * tuser_smiles / 16211 | s._scheduledProcessing = * таблицы стилей, мутации *; let handler = () => * tuser_smiles / 16211 | s .document.removeEventListener ("DOMContentLoaded", обработчик); let params = Object.assign (**, tuser_smiles / 16211 | s._scheduledProcessing); tuser_smiles / 16211 | s._filteringInProgress = true; tuser_smiles / 16211 | s._scheduledProcessing = null; tuser_smiles / 16211 | s._addSelectors (params.stylesheets, params.mutations, завершение); *; tuser_smiles / 16211 | s.document.addEventListener ("DOMContentLoaded", обработчик); * else * tuser_smiles / 16211 | s._filteringInProgress = true; tuser_smiles / 16211 | s._addSelectors (таблицы стилей, мутации, завершение); * * onLoad (user_smiles/36997|ытие) * let stylesheet = event.target.sheet; if (stylesheet) tuser_smiles / 16211 | s.queueFiltering (* stylesheet *); * наблюдаем (мутации) * if (testInfo) * // В тестовом режиме отфильтровываем любые вероятные нами мутации // (т. е. style = "display: none! Important" smiles / 93 |. Tuser_smiles / 16211 | s делает это проще // наблюдать, как код реагирует на мутации DOM. истина, атрибуты: shouldObserveAttributes (tuser_smiles / 16211 | s.patterns), characterData: shouldObserveCharacterData (tuser_smiles / 16211 | s.patterns), поддерево: true *); tuser_smiles / 16211 | s.document.addEventListener («загрузка», tuser_smiles / 16211 | s.onLoad.bind (tuser_smiles / 16211 | s), true); * * * exports.ElemHideEmulation = ElemHideEmulation; / *** / *), / * 3 * / / *** / (user_smiles/33742|нкция (модуль, экспорт, __webpack_require__) * "использовать строгий"; / * * Файл Tuser_smiles / 16211 | s является user_smiles/16205|тью Adblock Plus , * Copyriuser_smiles / 56884 | t (C) 2006-present eyeo GmbH * * Adblock Plus - бесплатное программное обеспечение: вы можете распространять его и / или изменять * в соответствии с условиями общедоступной GNU Версия лицензии 3 как * опубликоuser_smiles/16750| FreeSoftware Foundation. * * Adblock Plus распространяется в надежде, что он будет полезен *, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии * ПОТРЕБИТЕЛЬСТВА или ПРИГОДНОСТИ ДЛЯ ОСОБЕННОЙ ЦЕЛИ. Для получения дополнительной информации см. Общедоступную лицензию * GNU. * * Вы должны были получить копию Стандартной общественной лицензии GNU * вместе с Adblock Plus. Если нет, см. < Http://www.gnu.org/licenses/>, * / / ** * Преобразует необработанный текст в строuser_smiles/27097| регулярного выражения * @param * string * text строuser_smiles/27097| для преобразования * @return * string * представление текста в регулярном выражении * / function textToRegExp (text) * return text.replace ( / * - / * $ *?. () | ***** / g, "$ &" smiles / 93 |; * exports.textToRegExp = textToRegExp; / ** * Преобразует текст фильтра в строuser_smiles/27097| регулярного выражения * @param * строка * текст как в Filter () * @param * boolean * * captureAll = false * включить или отключить захват * начальных и конечных подстановочных знаков в тексте фильтра; по умолчанию начальные и * конечные подстановочные знаки удаляются * @return * string * регулярное выражение представления текста фильтра * / function filterToRegExp (text, captureAll = false) * // удалить несколько подстановочных знаков text = text.replace (/ * / g, "*" smiles / 93 |; if (! Улыбки / 93 | // обрабатывать привязuser_smiles/27097| в конце выражения .replace (/ | $ /, "$" smiles / 93 |; * exports.filterToRegExp = filterToRegExp; user_smiles/33742|нкция splitSelector (selector) * if (! selector.include ("," smiles / 93 | ) return * selector *; let selectors = **; let start = 0; let level = 0; let sep = ""; for (let i = 0; i * let receiveEventName = eventName "-" url; прослушиватель user_smiles/33742|нкций (user_smiles/36997|ытие) * callback (event.detail); removeEventListener (ReceiveEventName, слушатель); * addEventListener (ReceiveEventName, слушатель); dispatchEvent (новый RealCustomEvent) (eventName, * detail: * url **)); *; Улыбки / 93 | return RealString (url); *; let safeCopyArray = (originalArray, transform) => * if (originalArray == null || typeof originalArray! = "object" smiles / 93 | return originalArray; let safeArray = RealArray (originalArray.length); для (let i = 0; i


Новый ответ