Overview

URL www.sql-tutorial.ru
IP81.176.226.196
ASNAS8342 OJSC RTComm.RU
Location Russian Federation
Report completed2018-06-13 11:31:09 CEST
StatusLoading report..
urlQuery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Pool
Access Level


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blacklists

MDL  No alerts detected
OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
DNS-BH  No alerts detected
mnemonic secure dns  No alerts detected


Recent reports on same IP/ASN/Domain

Last 7 reports on IP: 81.176.226.196

Date UQ / IDS / BL URL IP
2018-06-20 18:08:35 +0200
2 - 0 - 6 vishtynec.ru/page.php?7 81.176.226.196
2018-06-19 16:19:16 +0200
2 - 0 - 6 vishtynec.ru/plugins/my_gallery/my_gallery.php 81.176.226.196
2018-06-18 05:03:24 +0200
2 - 0 - 6 vishtynec.ru/plugins/my_gallery/my_gallery.php 81.176.226.196
2018-06-03 17:12:01 +0200
2 - 0 - 6 www.vishtynec.ru/ 81.176.226.196
2017-12-06 09:06:04 +0100
0 - 2 - 0 xn----7sbeboapymuefdp0gtep.su/perevozka-rozhe (...) 81.176.226.196
2017-09-19 22:37:55 +0200
0 - 0 - 2 www.sql-tutorial.ru 81.176.226.196
2017-09-18 22:44:47 +0200
0 - 0 - 2 www.sql-tutorial.ru 81.176.226.196

Last 10 reports on ASN: AS8342 OJSC RTComm.RU

Date UQ / IDS / BL URL IP
2018-06-22 08:32:06 +0200
0 - 0 - 0 spektry.ru/w2pw5n2/toqjxo.php?aGFubmFoQGhhcmd (...) 81.177.6.232
2018-06-22 04:07:14 +0200
0 - 0 - 3 www.forum.platinashop.com/viewtopic.php?t=10 81.177.135.11
2018-06-22 01:36:06 +0200
0 - 0 - 1 klebstoff.ru/movie.htm 81.177.141.15
2018-06-22 00:59:54 +0200
0 - 2 - 1 ccleaner-all.ru/goto/?http://sub.ccleaner-all (...) 81.177.135.191
2018-06-21 20:55:05 +0200
0 - 0 - 1 rubina-rajabali.myjino.ru/ 81.177.6.221
2018-06-21 20:54:58 +0200
0 - 0 - 2 kumaripati.myjino.ru/ 217.107.34.42
2018-06-21 20:28:29 +0200
2 - 0 - 26 pcoutlet.ru/proektory/projector-hitachi/proek (...) 81.177.140.21
2018-06-21 19:41:44 +0200
0 - 0 - 1 pzrk.ru/img/logoh.gif?3cd82=1744526 81.177.49.4
2018-06-21 18:37:49 +0200
0 - 0 - 1 pzrk.ru/img/logoh.gif?1d711=120593 81.177.49.4
2018-06-21 18:34:49 +0200
2 - 0 - 26 pcoutlet.ru/projectionscreens/category_478 81.177.140.21

No other reports on domain: sql-tutorial.ru



JavaScript

Executed Scripts (32)


Executed Evals (4)

#1 JavaScript::Eval (size: 6, repeated: 1) - SHA256: 2874d7800fecae20844f682696920b2853453cd32c47e1362a776203d0229b14

                                        (null)
                                    

#2 JavaScript::Eval (size: 42291, repeated: 1) - SHA256: 388bcffc01865c371db372550a1d1a67c528ebe608db7264580b9fab138bd354

                                        /*
        TableSort revisited v3.7 by frequency-decoder.com

        Released under a creative commons Attribution-ShareAlike 2.5 license (http://creativecommons.org/licenses/by-sa/2.5/)

        Please credit frequency decoder in any derivative work - thanks

        You are free:

        * to copy, distribute, display, and perform the work
        * to make derivative works
        * to make commercial use of the work

        Under the following conditions:

                by Attribution.
                --------------
                You must attribute the work in the manner specified by the author or licensor.

                sa
                --
                Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.

        * For any reuse or distribution, you must make clear to others the license terms of this work.
        * Any of these conditions can be waived if you get permission from the copyright holder.
*/

var fdTableSort = {

    regExp_Currency: /^[\u0420\u0456$\u0420\u0452\u0420\u00b5\u0420\u0491]/,
    regExp_Number: /^(\-)?[0-9]+(\.[0-9]*)?$/,
    pos: -1,
    uniqueHash: 1,
    thNode: null,
    tableId: null,
    tableCache: {},
    tmpCache: {},

    /*@cc_on
    /*@if (@_win32)
    colspan:                "colSpan",
    rowspan:                "rowSpan",
    @else @*/
    colspan: "colspan",
    rowspan: "rowspan",
    /*@end
    @*/

    addEvent: function(obj, type, fn, tmp) {
        tmp || (tmp = true);
        if (obj.attachEvent) {
            obj["e" + type + fn] = fn;
            obj[type + fn] = function() {
                obj["e" + type + fn](window.event);
            };
            obj.attachEvent("on" + type, obj[type + fn]);
        } else {
            obj.addEventListener(type, fn, true);
        };
    },
    removeEvent: function(obj, type, fn, tmp) {
        tmp || (tmp = true);
        if (obj.detachEvent) {
            obj.detachEvent("on" + type, obj[type + fn]);
            obj[type + fn] = null;
        } else {
            obj.removeEventListener(type, fn, true);
        };
    },
    stopEvent: function(e) {
        e = e || window.event;

        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        };
        /*@cc_on@*/
        /*@if(@_win32)
        e.cancelBubble = true;
        e.returnValue = false;
        /*@end@*/
        return false;
    },
    initEvt: function(e) {
        fdTableSort.init(false);
    },
    init: function(tableId) {
        if (!document.getElementsByTagName || !document.createElement || !document.getElementById) return;

        var tables = tableId && document.getElementById(tableId) ? new Array(document.getElementById(tableId)) : document.getElementsByTagName("table");
        var workArr, sortable, headers, thtext, aclone, a, span, columnNum, noArrow, colCnt, cel, allRowArr, rowArr, sortableTable, celCount, colspan, rowspan, rowLength;
        var onLoadTables = [];

        a = document.createElement("a");
        a.href = "#";
        a.onkeypress = fdTableSort.keyWrapper;

        span = document.createElement("span");

        for (var k = 0, tbl; tbl = tables[k]; k++) {

            //if(tableId && tbl.id && tableId != tbl.id) continue;

            // Remove any old dataObj for this table (tables created from an ajax callback require this)
            if (tbl.id) fdTableSort.removeTableCache(tbl.id);

            // Remove any old tmpCache object for this table
            if (tbl.id) fdTableSort.removeTmpCache(tbl.id);

            allRowArr = tbl.getElementsByTagName('thead').length ? tbl.getElementsByTagName('thead')[0].getElementsByTagName('tr') : tbl.getElementsByTagName('tr');
            rowArr = [];
            sortableTable = false;

            // Grab only the tr's that contain no td's and check at least one th has the class "sortable"
            for (var i = 0, tr; tr = allRowArr[i]; i++) {
                if (tr.getElementsByTagName('td').length || !tr.getElementsByTagName('th').length) continue;
                rowArr[rowArr.length] = tr.getElementsByTagName('th');
                for (var j = 0, th; th = rowArr[rowArr.length - 1][j]; j++) {
                    if (th.className.search(/sortable/) != -1) sortableTable = true;
                };
            };

            if (!sortableTable) continue;

            if (!tbl.id) tbl.id = "fd-table-" + fdTableSort.uniqueHash++;

            sortable = false;
            columnNum = tbl.className.search(/sortable-onload-([0-9]+)/) != -1 ? parseInt(tbl.className.match(/sortable-onload-([0-9]+)/)[1]) - 1 : -1;
            showArrow = tbl.className.search(/no-arrow/) == -1;
            reverse = tbl.className.search(/sortable-onload-([0-9]+)-reverse/) != -1;

            rowLength = rowArr[0].length;

            for (var c = 0; c < rowArr[0].length; c++) {
                if (rowArr[0][c].getAttribute(fdTableSort.colspan) && rowArr[0][c].getAttribute(fdTableSort.colspan) > 1) {
                    rowLength = rowLength + (rowArr[0][c].getAttribute(fdTableSort.colspan) - 1);
                };
            };

            workArr = new Array(rowArr.length);

            for (var c = rowArr.length; c--;) {
                workArr[c] = new Array(rowLength);
            };

            for (var c = 0; c < workArr.length; c++) {
                celCount = 0;
                for (var i = 0; i < rowLength; i++) {
                    if (!workArr[c][i]) {
                        cel = rowArr[c][celCount];
                        colspan = (cel.getAttribute(fdTableSort.colspan) > 1) ? cel.getAttribute(fdTableSort.colspan) : 1;
                        rowspan = (cel.getAttribute(fdTableSort.rowspan) > 1) ? cel.getAttribute(fdTableSort.rowspan) : 1;
                        for (var t = 0;
                            ((t < colspan) && ((i + t) < rowLength)); t++) {
                            for (var n = 0;
                                ((n < rowspan) && ((c + n) < workArr.length)); n++) {
                                workArr[(c + n)][(i + t)] = cel;
                            };
                        };
                        if (++celCount == rowArr[c].length) break;
                    };
                };
            };

            for (var c = 0; c < workArr.length; c++) {
                for (var i = 0; i < workArr[c].length; i++) {

                    if (workArr[c][i].className.search("fd-column-") == -1 && workArr[c][i].className.search("sortable") != -1) workArr[c][i].className = workArr[c][i].className + " fd-column-" + i;

                    if (workArr[c][i].className.match('sortable')) {
                        workArr[c][i].className = workArr[c][i].className.replace(/forwardSort|reverseSort/, "");

                        if (i == columnNum) sortable = workArr[c][i];
                        thtext = fdTableSort.getInnerText(workArr[c][i]);

                        if (workArr[c][i].getElementsByTagName && workArr[c][i].getElementsByTagName('a').length) {
                            workArr[c][i].getElementsByTagName('a')[0].onclick = workArr[c][i].getElementsByTagName('a')[0].onkeypress = null;
                        }

                        while (workArr[c][i].firstChild) workArr[c][i].removeChild(workArr[c][i].firstChild);

                        // Create the link
                        aclone = a.cloneNode(true);
                        aclone.appendChild(document.createTextNode(thtext));
                        aclone.title = "Sort on \u201c" + thtext + "\u201d";
                        aclone.onclick = workArr[c][i].onclick = fdTableSort.clickWrapper;
                        workArr[c][i].appendChild(aclone);

                        // Add the span if needs be
                        if (showArrow) workArr[c][i].appendChild(span.cloneNode(false));

                        workArr[c][i].className = workArr[c][i].className.replace(/fd-identical|fd-not-identical/, "");
                        fdTableSort.disableSelection(workArr[c][i]);
                        aclone = null;
                    };
                };
            };

            fdTableSort.tmpCache[tbl.id] = {
                cols: rowLength,
                headers: workArr
            };

            workArr = null;

            if (sortable) {
                onLoadTables[onLoadTables.length] = sortable;
                if (reverse) {
                    onLoadTables[onLoadTables.length] = sortable;
                };
            };
        };

        for (var i = 0, thNode; thNode = onLoadTables[i]; i++) {
            fdTableSort.thNode = thNode;
            fdTableSort.initSort(false);
        };
        aclone = a.onkeypress = a = span = workArr = sortable = thNode = onLoadTables = tbl = allRowArr = rowArr = null;
    },

    disableSelection: function(element) {
        element.onselectstart = function() {
            return false;
        };
        element.unselectable = "on";
        element.style.MozUserSelect = "none";
    },

    clickWrapper: function(e) {
        e = e || window.event;
        if (fdTableSort.thNode == null) {
            var targ = this;
            while (targ.tagName.toLowerCase() != "th") targ = targ.parentNode;
            fdTableSort.thNode = targ;
            fdTableSort.addSortActiveClass();
            setTimeout(fdTableSort.initSort, 5, false);
        };
        return fdTableSort.stopEvent(e);
    },

    keyWrapper: function(e) {
        e = e || window.event;
        var kc = e.keyCode != null ? e.keyCode : e.charCode;
        if (kc == 13) {
            var targ = this;
            while (targ.tagName.toLowerCase() != "th") targ = targ.parentNode;
            fdTableSort.thNode = targ;
            fdTableSort.addSortActiveClass();
            setTimeout(fdTableSort.initSort, 5, false);
            return fdTableSort.stopEvent(e);
        };
        return true;
    },

    jsWrapper: function(tableid, colNum) {
        if (!fdTableSort.tmpCache[tableid] || fdTableSort.tmpCache[tableid].headers[0].length <= colNum || fdTableSort.tmpCache[tableid].headers[0][colNum].className.search(/fd-column/) == -1) return false;
        fdTableSort.thNode = fdTableSort.tmpCache[tableid].headers[0][colNum];
        fdTableSort.initSort(true);
    },

    addSortActiveClass: function() {
        if (fdTableSort.thNode == null) return;
        fdTableSort.addClass(fdTableSort.thNode, "sort-active");
        fdTableSort.addClass(document.getElementsByTagName('body')[0], "sort-active");
        var tableElem = fdTableSort.thNode;
        while (tableElem.tagName.toLowerCase() != 'table' && tableElem.parentNode) {
            tableElem = tableElem.parentNode;
        };
        if ("sortInitiatedCallback-" + tableElem.id in window) {
            window["sortInitiatedCallback-" + tableElem.id]();
        } else if ("sortInitiatedCallback" in window) {
            sortInitiatedCallback(tableElem.id);
        };
    },

    removeSortActiveClass: function() {
        fdTableSort.removeClass(fdTableSort.thNode, "sort-active");
        fdTableSort.removeClass(document.getElementsByTagName('body')[0], "sort-active");
        var tableElem = fdTableSort.thNode;
        while (tableElem.tagName.toLowerCase() != 'table' && tableElem.parentNode) {
            tableElem = tableElem.parentNode;
        };
        if ("sortCompleteCallback-" + tableElem.id in window) {
            window["sortCompleteCallback-" + tableElem.id]();
        } else if ("sortCompleteCallback" in window) {
            sortCompleteCallback(tableElem.id);
        };
    },

    addClass: function(e, c) {
        if (new RegExp("(^|\\s)" + c + "(\\s|$)").test(e.className)) return;
        e.className += (e.className ? " " : "") + c;
    },

    removeClass: function(e, c) {
        e.className = !c ? "" : e.className.replace(new RegExp("(^|\\s*\\b[^-])" + c + "($|\\b(?=[^-]))", "g"), "");
    },

    prepareTableData: function(table) {
        var data = [];

        var start = table.getElementsByTagName('tbody');
        start = start.length ? start[0] : table;

        var trs = start.getElementsByTagName('tr');
        var ths = table.getElementsByTagName('th');

        var numberOfRows = trs.length;
        var numberOfCols = fdTableSort.tmpCache[table.id].cols;

        var data = [];
        var identical = new Array(numberOfCols);
        var identVal = new Array(numberOfCols);

        for (var tmp = 0; tmp < numberOfCols; tmp++) identical[tmp] = true;

        var tr, td, th, txt, tds, col, row;

        var re = new RegExp(/fd-column-([0-9]+)/);
        var rowCnt = 0;

        var sortableColumnNumbers = [];

        for (var tmp = 0, th; th = ths[tmp]; tmp++) {
            if (th.className.search(re) == -1) continue;
            sortableColumnNumbers[sortableColumnNumbers.length] = th;
        };

        // Start to create the 2D matrix of data
        for (row = 0; row < numberOfRows; row++) {

            tr = trs[row];

            if (tr.parentNode != start || tr.getElementsByTagName("th").length || (tr.parentNode.tagName && tr.parentNode.tagName.toLowerCase() == "tfoot")) continue;

            data[rowCnt] = [];
            tds = tr.getElementsByTagName('td');

            for (var tmp = 0, th; th = sortableColumnNumbers[tmp]; tmp++) {
                col = th.className.match(re)[1];

                td = tds[col];

                txt = fdTableSort.getInnerText(td) + " ";

                txt = txt.replace(/^\s+/, '').replace(/\s+$/, '');

                if (th.className.search(/sortable-date/) != -1) {
                    txt = fdTableSort.dateFormat(txt, th.className.search(/sortable-date-dmy/) != -1);
                } else if (th.className.search(/sortable-numeric|sortable-currency/) != -1) {
                    txt = parseFloat(txt.replace(/[^0-9\.\-]/g, ''));
                    if (isNaN(txt)) txt = "";
                } else if (th.className.search(/sortable-text/) != -1) {
                    txt = txt.toLowerCase();
                } else if (th.className.search(/sortable-keep/) != -1) {
                    txt = rowCnt;
                } else if (th.className.search(/sortable-([a-zA-Z\_]+)/) != -1) {
                    if ((th.className.match(/sortable-([a-zA-Z\_]+)/)[1] + "PrepareData") in window) {
                        txt = window[th.className.match(/sortable-([a-zA-Z\_]+)/)[1] + "PrepareData"](td, txt);
                    };
                } else {
                    if (txt != "") {
                        fdTableSort.removeClass(th, "sortable");
                        if (fdTableSort.dateFormat(txt) != 0) {
                            fdTableSort.addClass(th, "sortable-date");
                            txt = fdTableSort.dateFormat(txt);
                        } else if (txt.search(fdTableSort.regExp_Number) != -1 || txt.search(fdTableSort.regExp_Currency) != -1) {
                            fdTableSort.addClass(th, "sortable-numeric");
                            txt = parseFloat(txt.replace(/[^0-9\.\-]/g, ''));
                            if (isNaN(txt)) txt = "";
                        } else {
                            fdTableSort.addClass(th, "sortable-text");
                            txt = txt.toLowerCase();
                        };
                    };
                };

                if (rowCnt > 0 && identical[col] && identVal[col] != txt) {
                    identical[col] = false;
                };

                identVal[col] = txt;
                data[rowCnt][col] = txt;
            };

            // Add the tr for this row
            data[rowCnt][numberOfCols] = tr;

            // Increment the row count
            rowCnt++;
        }

        // Get the row and column styles
        var colStyle = table.className.search(/colstyle-([\S]+)/) != -1 ? table.className.match(/colstyle-([\S]+)/)[1] : false;
        var rowStyle = table.className.search(/rowstyle-([\S]+)/) != -1 ? table.className.match(/rowstyle-([\S]+)/)[1] : false;

        // Cache the data object for this table
        fdTableSort.tableCache[table.id] = {
            data: data,
            identical: identical,
            colStyle: colStyle,
            rowStyle: rowStyle,
            noArrow: table.className.search(/no-arrow/) != -1
        };

        sortableColumnNumbers = data = tr = td = th = trs = identical = identVal = null;
    },

    onUnload: function() {
        for (tbl in fdTableSort.tableCache) {
            fdTableSort.removeTableCache(tbl);
        }
        for (tbl in fdTableSort.tmpCache) {
            fdTableSort.removeTmpCache(tbl);
        }
        fdTableSort.removeEvent(window, "load", fdTableSort.initEvt);
        fdTableSort.removeEvent(window, "unload", fdTableSort.onUnload);
        fdTableSort.tmpCache = fdTableSort.tableCache = null;
    },

    removeTableCache: function(tableId) {
        if (!(tableId in fdTableSort.tableCache)) return;

        var data = fdTableSort.tableCache[tableId].data;
        for (var i = 0, row; row = data[i]; i++) {
            row[row.length - 1] = null;
        }
        data = row = null;
        fdTableSort.tableCache[tableId] = null;
        delete fdTableSort.tableCache[tableId];

        var tbl = document.getElementById(tableId);
        if (!tbl) return;
        var ths = tbl.getElementsByTagName("th");
        var a;
        for (var i = 0, th; th = ths[i]; i++) {
            a = th.getElementsByTagName("a");
            if (a.length) a[0].onkeypress = a[0].onclick = null;
            th.onclick = th.onselectstart = th = a = null;
        }
    },

    removeTmpCache: function(tableId) {
        if (!(tableId in fdTableSort.tmpCache)) return;
        var headers = fdTableSort.tmpCache[tableId].headers;
        var a
        for (var i = 0, row; row = headers[i]; i++) {
            for (var j = 0, th; th = row[j]; j++) {
                a = th.getElementsByTagName("a");
                if (a.length) a[0].onkeypress = a[0].onclick = null;
                th.onclick = th.onselectstart = th = a = null;
            }
        }
        fdTableSort.tmpCache[tableId] = null;
        delete fdTableSort.tmpCache[tableId];
    },

    initSort: function(noCallback) {

        var span;
        var thNode = fdTableSort.thNode;

        // Get the table
        var tableElem = fdTableSort.thNode;
        while (tableElem.tagName.toLowerCase() != 'table' && tableElem.parentNode) {
            tableElem = tableElem.parentNode;
        };

        // If this is the first time that this table has been sorted, create the data object
        if (!tableElem.id || !(tableElem.id in fdTableSort.tableCache)) {
            fdTableSort.prepareTableData(tableElem);
        };

        // Cache the table id
        fdTableSort.tableId = tableElem.id;

        // Get the column position using the className added earlier
        fdTableSort.pos = thNode.className.match(/fd-column-([0-9]+)/)[1];

        // Grab the data object for this table
        var dataObj = fdTableSort.tableCache[tableElem.id];

        // Get the position of the last column that was sorted
        var lastPos = dataObj.pos ? dataObj.pos.className.match(/fd-column-([0-9]+)/)[1] : -1;

        // Get the stored data object for this table
        var data = dataObj.data;
        var colStyle = dataObj.colStyle;
        var rowStyle = dataObj.rowStyle;
        var len1 = data.length;
        var len2 = data.length > 0 ? data[0].length - 1 : 0;
        var identical = dataObj.identical[fdTableSort.pos];
        var noArrow = dataObj.noArrow;

        if (lastPos != fdTableSort.pos && lastPos != -1) {
            var th = dataObj.pos;
            fdTableSort.removeClass(th, "(forwardSort|reverseSort)");

            if (!noArrow) {
                // Remove arrow
                span = th.getElementsByTagName('span')[0];
                while (span.firstChild) span.removeChild(span.firstChild);
            };
        };

        // If the same column is being sorted then just reverse the data object contents.
        var classToAdd = "forwardSort";

        if ((lastPos == fdTableSort.pos && !identical) || (thNode.className.search(/sortable-keep/) != -1 && lastPos == -1)) {
            data.reverse();
            classToAdd = thNode.className.search(/reverseSort/) != -1 ? "forwardSort" : "reverseSort";
            if (thNode.className.search(/sortable-keep/) != -1 && lastPos == -1) fdTableSort.tableCache[tableElem.id].pos = thNode;
        } else {
            fdTableSort.tableCache[tableElem.id].pos = thNode;
            if (!identical) {
                if (thNode.className.match(/sortable-(numeric|currency|date|keep)/)) {
                    data.sort(fdTableSort.sortNumeric);
                } else if (thNode.className.match('sortable-text')) {
                    data.sort(fdTableSort.sortText);
                } else if (thNode.className.search(/sortable-([a-zA-Z\_]+)/) != -1 && thNode.className.match(/sortable-([a-zA-Z\_]+)/)[1] in window) {
                    data.sort(window[thNode.className.match(/sortable-([a-zA-Z\_]+)/)[1]]);
                };
            };
        };

        fdTableSort.removeClass(thNode, "(forwardSort|reverseSort)");
        fdTableSort.addClass(thNode, classToAdd);

        if (!noArrow) {
            var arrow = thNode.className.search(/forwardSort/) != -1 ? " \u2193" : " \u2191";
            span = thNode.getElementsByTagName('span')[0];
            while (span.firstChild) span.removeChild(span.firstChild);
            span.appendChild(document.createTextNode(arrow));
        };

        if (!rowStyle && !colStyle && identical) {
            if (!noCallback) fdTableSort.removeSortActiveClass();
            fdTableSort.thNode = null;
            return;
        }

        var hook = tableElem.getElementsByTagName('tbody');
        hook = hook.length ? hook[0] : tableElem;

        var tr, tds;
        var rowReg = rowStyle ? new RegExp("(^|\\s*\\b[^-])" + rowStyle + "($|\\b(?=[^-]))", "g") : false;
        var colReg = colStyle ? new RegExp("(^|\\s*\\b[^-])" + colStyle + "($|\\b(?=[^-]))", "g") : false;

        for (var i = 0; i < len1; i++) {
            tr = data[i][len2];
            if (colStyle) {
                tds = tr.getElementsByTagName('td');
                if (lastPos != -1) {
                    tds[lastPos].className = tds[lastPos].className.replace(colReg, "");
                }
                fdTableSort.addClass(tds[fdTableSort.pos], colStyle);
                tds = null;
            };
            if (!identical) {
                if (rowStyle) {
                    if (i % 2) fdTableSort.addClass(tr, rowStyle);
                    else tr.className = tr.className.replace(rowReg, "");
                };

                hook.removeChild(tr); // Netscape 8.1.2 requires the removeChild call
                hook.appendChild(tr);
            };
            tr = null;
        };
        if (!noCallback) fdTableSort.removeSortActiveClass();
        fdTableSort.thNode = hook = null;
    },

    getInnerText: function(el) {
        if (typeof el == "string" || typeof el == "undefined") return el;
        if (el.innerText) return el.innerText;

        var txt = '',
            i;
        for (i = el.firstChild; i; i = i.nextSibling) {
            if (i.nodeType == 3) txt += i.nodeValue;
            else if (i.nodeType == 1) txt += fdTableSort.getInnerText(i);
        };
        return txt;
    },

    dateFormat: function(dateIn, favourDMY) {
        var dateTest = [{
                regExp: /^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,
                d: 3,
                m: 1,
                y: 5
            }, // mdy
            {
                regExp: /^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,
                d: 1,
                m: 3,
                y: 5
            }, // dmy
            {
                regExp: /^(\d\d\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,
                d: 5,
                m: 3,
                y: 1
            } // ymd
        ];
        var start;
        var cnt = 0;
        var numFormats = dateTest.length;
        while (cnt < numFormats) {
            start = (cnt + (favourDMY ? numFormats + 1 : numFormats)) % numFormats;

            if (dateIn.match(dateTest[start].regExp)) {
                res = dateIn.match(dateTest[start].regExp);
                y = res[dateTest[start].y];
                m = res[dateTest[start].m];
                d = res[dateTest[start].d];
                if (m.length == 1) m = "0" + String(m);
                if (d.length == 1) d = "0" + String(d);
                if (y.length != 4) y = (parseInt(y) < 50) ? "20" + String(y) : "19" + String(y);

                return y + String(m) + d;
            }
            cnt++;
        }
        return 0;
    },

    sortDate: function(a, b) {
        var aa = a[fdTableSort.pos];
        var bb = b[fdTableSort.pos];
        return aa - bb;
    },

    sortNumeric: function(a, b) {
        var aa = a[fdTableSort.pos];
        var bb = b[fdTableSort.pos];
        if (aa == bb) return 0;
        if (aa === "" && !isNaN(bb)) return -1;
        if (bb === "" && !isNaN(aa)) return 1;
        return aa - bb;
    },

    sortText: function(a, b) {
        var aa = a[fdTableSort.pos];
        var bb = b[fdTableSort.pos];
        if (aa == bb) return 0;
        if (aa < bb) return -1;
        return 1;
    }
};

fdTableSort.addEvent(window, "load", fdTableSort.initEvt);
fdTableSort.addEvent(window, "unload", fdTableSort.onUnload);









/*
        paginate table object v1.1 by frequency-decoder.com

        Released under a creative commons Attribution-ShareAlike 2.5 license (http://creativecommons.org/licenses/by-sa/2.5/)

        Please credit frequency decoder in any derivative work - thanks

        You are free:

        * to copy, distribute, display, and perform the work
        * to make derivative works
        * to make commercial use of the work

        Under the following conditions:

                by Attribution.
                --------------
                You must attribute the work in the manner specified by the author or licensor.

                sa
                --
                Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.

        * For any reuse or distribution, you must make clear to others the license terms of this work.
        * Any of these conditions can be waived if you get permission from the copyright holder.
*/

/* The sortCompleteCallback does nothing but call the pagination object below, passing in the table id */
function sortCompleteCallback(tableId) {
    tablePaginater.showPage(tableId);
}

/* This is the JS object that paginates the table (N.B: Tables do not have to be sortable to use this object) */
var tablePaginater = {
    tableInfo: {},

    init: function() {
        var tables = document.getElementsByTagName('table');

        for (var t = 0, tbl; tbl = tables[t]; t++) {
            if (!tbl.id || tbl.id == "" || tbl.className.search(/paginate-([0-9]+)/) == -1) continue;

            tablePaginater.tableInfo[tbl.id] = {
                rowsPerPage: tbl.className.match(/paginate-([0-9]+)/)[1],
                currentPage: 0
            };

            tablePaginater.showPage(tbl.id, 0);
            tablePaginater.createPageinationList(tbl.id);
        };
    },

    addClass: function(e, c) {
        if (new RegExp("(^|\\s)" + c + "(\\s|$)").test(e.className)) return;
        e.className += (e.className ? " " : "") + c;
    },

    removeClass: function(e, c) {
        e.className = !c ? "" : e.className.replace(new RegExp("(^|\\s*\\b[^-])" + c + "($|\\b(?=[^-]))", "g"), "");
    },

    /* I shall leave it as an excercise for the reader to create the next|prev links commonly
           found within such pagination systems. I'm just creating a simple linked list(s).       */
    createPageinationList: function(tableId) {
        // Get the table
        var tbl = document.getElementById(tableId);

        // Create the UL
        var ul = document.createElement("ul");
        ul.className = "tablePaginater";
        ul.id = "paginateList-" + tableId;

        // clone the UL
        var ulc = ul.cloneNode(true);
        ulc.id = "paginateList-" + tableId + "-clone";

        var rows = tablePaginater.getTableRows(tableId);
        var total = rows.length;
        var rowsPerPage
        var pages = Math.max(1, Math.ceil(total / tablePaginater.tableInfo[tableId].rowsPerPage));

        // Create the li & a tags to clone within the loop
        var li = document.createElement("li");
        var a = document.createElement("a");
        a.href = "#";

        var lic, ac;

        // For each page, create a pagination button
        for (var i = 0; i < pages; i++) {
            lic = li.cloneNode(false);
            ac = a.cloneNode(true);
            ac.title = "View page " + (i + 1);
            ac.appendChild(document.createTextNode(i + 1));
            lic.onclick = a.onclick = tablePaginater.show;
            lic.appendChild(ac);

            if (i == 0) lic.className = "currentPage";

            ul.appendChild(lic);

            lic = lic.cloneNode(true);
            lic.onclick = lic.getElementsByTagName("a")[0].onclick = tablePaginater.show;

            ulc.appendChild(lic);
        };

        // Add the list below the table
        if (tbl.nextSibling) {
            tbl.parentNode.insertBefore(ul, tbl.nextSibling);
        } else {
            tbl.parentNode.appendChild(ul);
        };

        // Add another list above the table
        tbl.parentNode.insertBefore(ulc, tbl);
    },

    getTableRows: function(tableId) {
        var rows = [];
        var tbl = document.getElementById(tableId);

        var tbody = tbl.getElementsByTagName('tbody');

        if (tbody && tbody.length) {
            tbody = tbody[0];
            rows = tbody.getElementsByTagName('tr');
        } else {
            var tmp = tbl.getElementsByTagName('tr');
            for (var i = tmp.length; i--;) {
                if (tmp[i].getElementsByTagName('th') || tmp[i].parentNode.tagName == "TFOOT") continue;
                rows[rows.length] = tmp[i];
            };
        };
        return rows;
    },

    showPage: function(tableId, page) {
        if (!(tableId in tablePaginater.tableInfo)) return;

        var tbl = document.getElementById(tableId);
        var rowsPerPage = tablePaginater.tableInfo[tableId].rowsPerPage;
        var rows = tablePaginater.getTableRows(tableId);

        page = typeof page == "undefined" ? tablePaginater.tableInfo[tableId].currentPage : page;

        var min = rowsPerPage * page;
        var max = Number(min) + Number(rowsPerPage);
        var rowStyle = tbl.className.search(/rowstyle-([\S]+)/) != -1 ? tbl.className.match(/rowstyle-([\S]+)/)[1] : false;
        var cnt = 0;
        var len = rows.length;

        for (var i = 0; i < len; i++) {
            rows[i].style.display = (i >= min && i < max) ? "" : "none";
            if (rowsPerPage % 2 && rowStyle && i >= min && i < max) {
                tablePaginater.removeClass(rows[i], rowStyle);
                if (cnt++ % 2) tablePaginater.addClass(rows[i], rowStyle);
            };
        };

        tablePaginater.tableInfo[tableId].currentPage = page;
    },

    /* Event handler for the li|a click event */
    show: function(e) {
        var li = (this.tagName && this.tagName == "A") ? this.parentNode : this;
        var tableId = li.parentNode.id.replace("paginateList-", "").replace("-clone", "");
        var cnt = 0;

        while (li.previousSibling) {
            li = li.previousSibling;
            if (li.tagName && li.tagName.toLowerCase() == "li") cnt++;
        };

        tablePaginater.showPage(tableId, cnt);

        var ul = document.getElementById("paginateList-" + tableId);
        var ulc = document.getElementById("paginateList-" + tableId + "-clone");
        var i = 0;

        while (ul.childNodes[i]) {
            ul.childNodes[i].className = ulc.childNodes[i].className = i == cnt ? "currentPage" : "";
            i++;
        };

        return false;
    }
}

fdTableSort.addEvent(window, "load", tablePaginater.init);









/*
        TableSort zebraStripe & Hover plug-in v1.1 by frequency-decoder.com

        Released under a creative commons Attribution-ShareAlike 2.5 license (http://creativecommons.org/licenses/by-sa/2.5/)

        Please credit frequency decoder in any derivative work - thanks

        You are free:

        * to copy, distribute, display, and perform the work
        * to make derivative works
        * to make commercial use of the work

        Under the following conditions:

                by Attribution.
                --------------
                You must attribute the work in the manner specified by the author or licensor.

                sa
                --
                Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.

        * For any reuse or distribution, you must make clear to others the license terms of this work.
        * Any of these conditions can be waived if you get permission from the copyright holder.
*/
function initialZebraStripe() {
    var tables = document.getElementsByTagName("table");
    var rowStyle, start, trs;

    // Loop through all the tables
    for (var k = 0, table; table = tables[k]; k++) {
        // If the table has not a rowstyle-XXX className then continue
        if (table.className.search(/rowstyle-([\S]+)/) == -1) continue;

        // Grab the className for the alternate rows
        rowStyle = table.className.match(/rowstyle-([\S]+)/)[1];

        // Grab the table's TR nodes
        start = table.getElementsByTagName('tbody');
        start = start.length ? start[0] : table;
        trs = start.getElementsByTagName('tr');

        // Loop through the TR node list
        for (var i = 0, tr; tr = trs[i]; i++) {
            // Have we any th tags or are we in a tfoot ?
            if (tr.getElementsByTagName('th').length > 0 || (tr.parentNode && tr.parentNode.tagName.toLowerCase() == "tfoot")) continue;

            // Stripe the TR
            if (i % 2) fdTableSort.addClass(tr, rowStyle);
            else fdTableSort.removeClass(tr, rowStyle);

            // Do the Internet Explorer hover thang (using conditional compilation for this...)
            // Note: Uncomment the code below should you wish the hover effect for IE and change the className "alternative" to suit your installation
            /*@cc_on
                    /*@if (@_jscript_version >= 5)
                    // fdTableSort.addEvent(tr, "mouseover", function() { fdTableSort.addClass(this, this.className.search("alternative") == -1 ? "ieRowHover" : "ieRowHoverAlt"); });
                    // fdTableSort.addEvent(tr, "mouseout",  function() { fdTableSort.removeClass(this, this.className.search("alternative") == -1 ? "ieRowHover" : "ieRowHoverAlt"); });
                    /*@end
            @*/
        };
    };
};

fdTableSort.addEvent(window, "load", initialZebraStripe);
                                    

#3 JavaScript::Eval (size: 10, repeated: 1) - SHA256: 213c1fa9294ca2fc11933a79296efc45858a167e32178950f730db94a2ef05a0

                                        __gcse.scb
                                    

#4 JavaScript::Eval (size: 125819, repeated: 1) - SHA256: a54ba5398cbad23b7cf4cf5a712b20db67cf271e3f650ad40f898a070727125e

                                        var Prototype = {
    Version: '1.6.0.2',

    Browser: {
        IE: !!(window.attachEvent && !window.opera),
        Opera: !!window.opera,
        WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
        Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
        MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
    },

    BrowserFeatures: {
        XPath: !!document.evaluate,
        ElementExtensions: !!window.HTMLElement,
        SpecificElementExtensions: document.createElement('div').__proto__ &&
            document.createElement('div').__proto__ !==
            document.createElement('form').__proto__
    },

    ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
    JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,

    emptyFunction: function() {},
    K: function(x) {
        return x
    }
};

if (Prototype.Browser.MobileSafari)
    Prototype.BrowserFeatures.SpecificElementExtensions = false;


/* Based on Alex Arnell's inheritance implementation. */
var Class = {
    create: function() {
        var parent = null,
            properties = $A(arguments);
        if (Object.isFunction(properties[0]))
            parent = properties.shift();

        function klass() {
            this.initialize.apply(this, arguments);
        }

        Object.extend(klass, Class.Methods);
        klass.superclass = parent;
        klass.subclasses = [];

        if (parent) {
            var subclass = function() {};
            subclass.prototype = parent.prototype;
            klass.prototype = new subclass;
            parent.subclasses.push(klass);
        }

        for (var i = 0; i < properties.length; i++)
            klass.addMethods(properties[i]);

        if (!klass.prototype.initialize)
            klass.prototype.initialize = Prototype.emptyFunction;

        klass.prototype.constructor = klass;

        return klass;
    }
};

Class.Methods = {
    addMethods: function(source) {
        var ancestor = this.superclass && this.superclass.prototype;
        var properties = Object.keys(source);

        if (!Object.keys({
                toString: true
            }).length)
            properties.push("toString", "valueOf");

        for (var i = 0, length = properties.length; i < length; i++) {
            var property = properties[i],
                value = source[property];
            if (ancestor && Object.isFunction(value) &&
                value.argumentNames().first() == "$super") {
                var method = value,
                    value = Object.extend((function(m) {
                        return function() {
                            return ancestor[m].apply(this, arguments)
                        };
                    })(property).wrap(method), {
                        valueOf: function() {
                            return method
                        },
                        toString: function() {
                            return method.toString()
                        }
                    });
            }
            this.prototype[property] = value;
        }

        return this;
    }
};

var Abstract = {};

Object.extend = function(destination, source) {
    for (var property in source)
        destination[property] = source[property];
    return destination;
};

Object.extend(Object, {
    inspect: function(object) {
        try {
            if (Object.isUndefined(object)) return 'undefined';
            if (object === null) return 'null';
            return object.inspect ? object.inspect() : String(object);
        } catch (e) {
            if (e instanceof RangeError) return '...';
            throw e;
        }
    },

    toJSON: function(object) {
        var type = typeof object;
        switch (type) {
            case 'undefined':
            case 'function':
            case 'unknown':
                return;
            case 'boolean':
                return object.toString();
        }

        if (object === null) return 'null';
        if (object.toJSON) return object.toJSON();
        if (Object.isElement(object)) return;

        var results = [];
        for (var property in object) {
            var value = Object.toJSON(object[property]);
            if (!Object.isUndefined(value))
                results.push(property.toJSON() + ': ' + value);
        }

        return '{' + results.join(', ') + '}';
    },

    toQueryString: function(object) {
        return $H(object).toQueryString();
    },

    toHTML: function(object) {
        return object && object.toHTML ? object.toHTML() : String.interpret(object);
    },

    keys: function(object) {
        var keys = [];
        for (var property in object)
            keys.push(property);
        return keys;
    },

    values: function(object) {
        var values = [];
        for (var property in object)
            values.push(object[property]);
        return values;
    },

    clone: function(object) {
        return Object.extend({}, object);
    },

    isElement: function(object) {
        return object && object.nodeType == 1;
    },

    isArray: function(object) {
        return object != null && typeof object == "object" &&
            'splice' in object && 'join' in object;
    },

    isHash: function(object) {
        return object instanceof Hash;
    },

    isFunction: function(object) {
        return typeof object == "function";
    },

    isString: function(object) {
        return typeof object == "string";
    },

    isNumber: function(object) {
        return typeof object == "number";
    },

    isUndefined: function(object) {
        return typeof object == "undefined";
    }
});

Object.extend(Function.prototype, {
    argumentNames: function() {
        var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");
        return names.length == 1 && !names[0] ? [] : names;
    },

    bind: function() {
        if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
        var __method = this,
            args = $A(arguments),
            object = args.shift();
        return function() {
            return __method.apply(object, args.concat($A(arguments)));
        }
    },

    bindAsEventListener: function() {
        var __method = this,
            args = $A(arguments),
            object = args.shift();
        return function(event) {
            return __method.apply(object, [event || window.event].concat(args));
        }
    },

    curry: function() {
        if (!arguments.length) return this;
        var __method = this,
            args = $A(arguments);
        return function() {
            return __method.apply(this, args.concat($A(arguments)));
        }
    },

    delay: function() {
        var __method = this,
            args = $A(arguments),
            timeout = args.shift() * 1000;
        return window.setTimeout(function() {
            return __method.apply(__method, args);
        }, timeout);
    },

    wrap: function(wrapper) {
        var __method = this;
        return function() {
            return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
        }
    },

    methodize: function() {
        if (this._methodized) return this._methodized;
        var __method = this;
        return this._methodized = function() {
            return __method.apply(null, [this].concat($A(arguments)));
        };
    }
});

Function.prototype.defer = Function.prototype.delay.curry(0.01);

Date.prototype.toJSON = function() {
    return '"' + this.getUTCFullYear() + '-' +
        (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
        this.getUTCDate().toPaddedString(2) + 'T' +
        this.getUTCHours().toPaddedString(2) + ':' +
        this.getUTCMinutes().toPaddedString(2) + ':' +
        this.getUTCSeconds().toPaddedString(2) + 'Z"';
};

var Try = {
    these: function() {
        var returnValue;

        for (var i = 0, length = arguments.length; i < length; i++) {
            var lambda = arguments[i];
            try {
                returnValue = lambda();
                break;
            } catch (e) {}
        }

        return returnValue;
    }
};

RegExp.prototype.match = RegExp.prototype.test;

RegExp.escape = function(str) {
    return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
};

/*--------------------------------------------------------------------------*/

var PeriodicalExecuter = Class.create({
    initialize: function(callback, frequency) {
        this.callback = callback;
        this.frequency = frequency;
        this.currentlyExecuting = false;

        this.registerCallback();
    },

    registerCallback: function() {
        this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
    },

    execute: function() {
        this.callback(this);
    },

    stop: function() {
        if (!this.timer) return;
        clearInterval(this.timer);
        this.timer = null;
    },

    onTimerEvent: function() {
        if (!this.currentlyExecuting) {
            try {
                this.currentlyExecuting = true;
                this.execute();
            } finally {
                this.currentlyExecuting = false;
            }
        }
    }
});
Object.extend(String, {
    interpret: function(value) {
        return value == null ? '' : String(value);
    },
    specialChar: {
        '\b': '\\b',
        '\t': '\\t',
        '\n': '\\n',
        '\f': '\\f',
        '\r': '\\r',
        '\\': '\\\\'
    }
});

Object.extend(String.prototype, {
    gsub: function(pattern, replacement) {
        var result = '',
            source = this,
            match;
        replacement = arguments.callee.prepareReplacement(replacement);

        while (source.length > 0) {
            if (match = source.match(pattern)) {
                result += source.slice(0, match.index);
                result += String.interpret(replacement(match));
                source = source.slice(match.index + match[0].length);
            } else {
                result += source, source = '';
            }
        }
        return result;
    },

    sub: function(pattern, replacement, count) {
        replacement = this.gsub.prepareReplacement(replacement);
        count = Object.isUndefined(count) ? 1 : count;

        return this.gsub(pattern, function(match) {
            if (--count < 0) return match[0];
            return replacement(match);
        });
    },

    scan: function(pattern, iterator) {
        this.gsub(pattern, iterator);
        return String(this);
    },

    truncate: function(length, truncation) {
        length = length || 30;
        truncation = Object.isUndefined(truncation) ? '...' : truncation;
        return this.length > length ?
            this.slice(0, length - truncation.length) + truncation : String(this);
    },

    strip: function() {
        return this.replace(/^\s+/, '').replace(/\s+$/, '');
    },

    stripTags: function() {
        return this.replace(/<\/?[^>]+>/gi, '');
    },

    stripScripts: function() {
        return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
    },

    extractScripts: function() {
        var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
        var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
        return (this.match(matchAll) || []).map(function(scriptTag) {
            return (scriptTag.match(matchOne) || ['', ''])[1];
        });
    },

    evalScripts: function() {
        return this.extractScripts().map(function(script) {
            return eval(script)
        });
    },

    escapeHTML: function() {
        var self = arguments.callee;
        self.text.data = this;
        return self.div.innerHTML;
    },

    unescapeHTML: function() {
        var div = new Element('div');
        div.innerHTML = this.stripTags();
        return div.childNodes[0] ? (div.childNodes.length > 1 ?
            $A(div.childNodes).inject('', function(memo, node) {
                return memo + node.nodeValue
            }) :
            div.childNodes[0].nodeValue) : '';
    },

    toQueryParams: function(separator) {
        var match = this.strip().match(/([^?#]*)(#.*)?$/);
        if (!match) return {};

        return match[1].split(separator || '&').inject({}, function(hash, pair) {
            if ((pair = pair.split('='))[0]) {
                var key = decodeURIComponent(pair.shift());
                var value = pair.length > 1 ? pair.join('=') : pair[0];
                if (value != undefined) value = decodeURIComponent(value);

                if (key in hash) {
                    if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
                    hash[key].push(value);
                } else hash[key] = value;
            }
            return hash;
        });
    },

    toArray: function() {
        return this.split('');
    },

    succ: function() {
        return this.slice(0, this.length - 1) +
            String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
    },

    times: function(count) {
        return count < 1 ? '' : new Array(count + 1).join(this);
    },

    camelize: function() {
        var parts = this.split('-'),
            len = parts.length;
        if (len == 1) return parts[0];

        var camelized = this.charAt(0) == '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0];

        for (var i = 1; i < len; i++)
            camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

        return camelized;
    },

    capitalize: function() {
        return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
    },

    underscore: function() {
        return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/, '#{1}_#{2}').gsub(/([a-z\d])([A-Z])/, '#{1}_#{2}').gsub(/-/, '_').toLowerCase();
    },

    dasherize: function() {
        return this.gsub(/_/, '-');
    },

    inspect: function(useDoubleQuotes) {
        var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
            var character = String.specialChar[match[0]];
            return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
        });
        if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
        return "'" + escapedString.replace(/'/g, '\\\'') + "'";
    },

    toJSON: function() {
        return this.inspect(true);
    },

    unfilterJSON: function(filter) {
        return this.sub(filter || Prototype.JSONFilter, '#{1}');
    },

    isJSON: function() {
        var str = this;
        if (str.blank()) return false;
        str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
        return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
    },

    evalJSON: function(sanitize) {
        var json = this.unfilterJSON();
        try {
            if (!sanitize || json.isJSON()) return eval('(' + json + ')');
        } catch (e) {}
        throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
    },

    include: function(pattern) {
        return this.indexOf(pattern) > -1;
    },

    startsWith: function(pattern) {
        return this.indexOf(pattern) === 0;
    },

    endsWith: function(pattern) {
        var d = this.length - pattern.length;
        return d >= 0 && this.lastIndexOf(pattern) === d;
    },

    empty: function() {
        return this == '';
    },

    blank: function() {
        return /^\s*$/.test(this);
    },

    interpolate: function(object, pattern) {
        return new Template(this, pattern).evaluate(object);
    }
});

if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
    escapeHTML: function() {
        return this.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
    },
    unescapeHTML: function() {
        return this.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    }
});

String.prototype.gsub.prepareReplacement = function(replacement) {
    if (Object.isFunction(replacement)) return replacement;
    var template = new Template(replacement);
    return function(match) {
        return template.evaluate(match)
    };
};

String.prototype.parseQuery = String.prototype.toQueryParams;

Object.extend(String.prototype.escapeHTML, {
    div: document.createElement('div'),
    text: document.createTextNode('')
});

with(String.prototype.escapeHTML) div.appendChild(text);

var Template = Class.create({
    initialize: function(template, pattern) {
        this.template = template.toString();
        this.pattern = pattern || Template.Pattern;
    },

    evaluate: function(object) {
        if (Object.isFunction(object.toTemplateReplacements))
            object = object.toTemplateReplacements();

        return this.template.gsub(this.pattern, function(match) {
            if (object == null) return '';

            var before = match[1] || '';
            if (before == '\\') return match[2];

            var ctx = object,
                expr = match[3];
            var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
            match = pattern.exec(expr);
            if (match == null) return before;

            while (match != null) {
                var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
                ctx = ctx[comp];
                if (null == ctx || '' == match[3]) break;
                expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
                match = pattern.exec(expr);
            }

            return before + String.interpret(ctx);
        });
    }
});
Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;

var $break = {};

var Enumerable = {
    each: function(iterator, context) {
        var index = 0;
        iterator = iterator.bind(context);
        try {
            this._each(function(value) {
                iterator(value, index++);
            });
        } catch (e) {
            if (e != $break) throw e;
        }
        return this;
    },

    eachSlice: function(number, iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var index = -number,
            slices = [],
            array = this.toArray();
        while ((index += number) < array.length)
            slices.push(array.slice(index, index + number));
        return slices.collect(iterator, context);
    },

    all: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var result = true;
        this.each(function(value, index) {
            result = result && !!iterator(value, index);
            if (!result) throw $break;
        });
        return result;
    },

    any: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var result = false;
        this.each(function(value, index) {
            if (result = !!iterator(value, index))
                throw $break;
        });
        return result;
    },

    collect: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var results = [];
        this.each(function(value, index) {
            results.push(iterator(value, index));
        });
        return results;
    },

    detect: function(iterator, context) {
        iterator = iterator.bind(context);
        var result;
        this.each(function(value, index) {
            if (iterator(value, index)) {
                result = value;
                throw $break;
            }
        });
        return result;
    },

    findAll: function(iterator, context) {
        iterator = iterator.bind(context);
        var results = [];
        this.each(function(value, index) {
            if (iterator(value, index))
                results.push(value);
        });
        return results;
    },

    grep: function(filter, iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var results = [];

        if (Object.isString(filter))
            filter = new RegExp(filter);

        this.each(function(value, index) {
            if (filter.match(value))
                results.push(iterator(value, index));
        });
        return results;
    },

    include: function(object) {
        if (Object.isFunction(this.indexOf))
            if (this.indexOf(object) != -1) return true;

        var found = false;
        this.each(function(value) {
            if (value == object) {
                found = true;
                throw $break;
            }
        });
        return found;
    },

    inGroupsOf: function(number, fillWith) {
        fillWith = Object.isUndefined(fillWith) ? null : fillWith;
        return this.eachSlice(number, function(slice) {
            while (slice.length < number) slice.push(fillWith);
            return slice;
        });
    },

    inject: function(memo, iterator, context) {
        iterator = iterator.bind(context);
        this.each(function(value, index) {
            memo = iterator(memo, value, index);
        });
        return memo;
    },

    invoke: function(method) {
        var args = $A(arguments).slice(1);
        return this.map(function(value) {
            return value[method].apply(value, args);
        });
    },

    max: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var result;
        this.each(function(value, index) {
            value = iterator(value, index);
            if (result == null || value >= result)
                result = value;
        });
        return result;
    },

    min: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var result;
        this.each(function(value, index) {
            value = iterator(value, index);
            if (result == null || value < result)
                result = value;
        });
        return result;
    },

    partition: function(iterator, context) {
        iterator = iterator ? iterator.bind(context) : Prototype.K;
        var trues = [],
            falses = [];
        this.each(function(value, index) {
            (iterator(value, index) ?
                trues : falses).push(value);
        });
        return [trues, falses];
    },

    pluck: function(property) {
        var results = [];
        this.each(function(value) {
            results.push(value[property]);
        });
        return results;
    },

    reject: function(iterator, context) {
        iterator = iterator.bind(context);
        var results = [];
        this.each(function(value, index) {
            if (!iterator(value, index))
                results.push(value);
        });
        return results;
    },

    sortBy: function(iterator, context) {
        iterator = iterator.bind(context);
        return this.map(function(value, index) {
            return {
                value: value,
                criteria: iterator(value, index)
            };
        }).sort(function(left, right) {
            var a = left.criteria,
                b = right.criteria;
            return a < b ? -1 : a > b ? 1 : 0;
        }).pluck('value');
    },

    toArray: function() {
        return this.map();
    },

    zip: function() {
        var iterator = Prototype.K,
            args = $A(arguments);
        if (Object.isFunction(args.last()))
            iterator = args.pop();

        var collections = [this].concat(args).map($A);
        return this.map(function(value, index) {
            return iterator(collections.pluck(index));
        });
    },

    size: function() {
        return this.toArray().length;
    },

    inspect: function() {
        return '#<Enumerable:' + this.toArray().inspect() + '>';
    }
};

Object.extend(Enumerable, {
    map: Enumerable.collect,
    find: Enumerable.detect,
    select: Enumerable.findAll,
    filter: Enumerable.findAll,
    member: Enumerable.include,
    entries: Enumerable.toArray,
    every: Enumerable.all,
    some: Enumerable.any
});

function $A(iterable) {
    if (!iterable) return [];
    if (iterable.toArray) return iterable.toArray();
    var length = iterable.length || 0,
        results = new Array(length);
    while (length--) results[length] = iterable[length];
    return results;
}

if (Prototype.Browser.WebKit) {
    $A = function(iterable) {
        if (!iterable) return [];
        if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') &&
            iterable.toArray) return iterable.toArray();
        var length = iterable.length || 0,
            results = new Array(length);
        while (length--) results[length] = iterable[length];
        return results;
    };
}

Array.from = $A;

Object.extend(Array.prototype, Enumerable);

if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;

Object.extend(Array.prototype, {
    _each: function(iterator) {
        for (var i = 0, length = this.length; i < length; i++)
            iterator(this[i]);
    },

    clear: function() {
        this.length = 0;
        return this;
    },

    first: function() {
        return this[0];
    },

    last: function() {
        return this[this.length - 1];
    },

    compact: function() {
        return this.select(function(value) {
            return value != null;
        });
    },

    flatten: function() {
        return this.inject([], function(array, value) {
            return array.concat(Object.isArray(value) ?
                value.flatten() : [value]);
        });
    },

    without: function() {
        var values = $A(arguments);
        return this.select(function(value) {
            return !values.include(value);
        });
    },

    reverse: function(inline) {
        return (inline !== false ? this : this.toArray())._reverse();
    },

    reduce: function() {
        return this.length > 1 ? this : this[0];
    },

    uniq: function(sorted) {
        return this.inject([], function(array, value, index) {
            if (0 == index || (sorted ? array.last() != value : !array.include(value)))
                array.push(value);
            return array;
        });
    },

    intersect: function(array) {
        return this.uniq().findAll(function(item) {
            return array.detect(function(value) {
                return item === value
            });
        });
    },

    clone: function() {
        return [].concat(this);
    },

    size: function() {
        return this.length;
    },

    inspect: function() {
        return '[' + this.map(Object.inspect).join(', ') + ']';
    },

    toJSON: function() {
        var results = [];
        this.each(function(object) {
            var value = Object.toJSON(object);
            if (!Object.isUndefined(value)) results.push(value);
        });
        return '[' + results.join(', ') + ']';
    }
});

// use native browser JS 1.6 implementation if available
if (Object.isFunction(Array.prototype.forEach))
    Array.prototype._each = Array.prototype.forEach;

if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
    i || (i = 0);
    var length = this.length;
    if (i < 0) i = length + i;
    for (; i < length; i++)
        if (this[i] === item) return i;
    return -1;
};

if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
    i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
    var n = this.slice(0, i).reverse().indexOf(item);
    return (n < 0) ? n : i - n - 1;
};

Array.prototype.toArray = Array.prototype.clone;

function $w(string) {
    if (!Object.isString(string)) return [];
    string = string.strip();
    return string ? string.split(/\s+/) : [];
}

if (Prototype.Browser.Opera) {
    Array.prototype.concat = function() {
        var array = [];
        for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
        for (var i = 0, length = arguments.length; i < length; i++) {
            if (Object.isArray(arguments[i])) {
                for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
                    array.push(arguments[i][j]);
            } else {
                array.push(arguments[i]);
            }
        }
        return array;
    };
}
Object.extend(Number.prototype, {
    toColorPart: function() {
        return this.toPaddedString(2, 16);
    },

    succ: function() {
        return this + 1;
    },

    times: function(iterator) {
        $R(0, this, true).each(iterator);
        return this;
    },

    toPaddedString: function(length, radix) {
        var string = this.toString(radix || 10);
        return '0'.times(length - string.length) + string;
    },

    toJSON: function() {
        return isFinite(this) ? this.toString() : 'null';
    }
});

$w('abs round ceil floor').each(function(method) {
    Number.prototype[method] = Math[method].methodize();
});

function $H(object) {
    return new Hash(object);
};

var Hash = Class.create(Enumerable, (function() {

    function toQueryPair(key, value) {
        if (Object.isUndefined(value)) return key;
        return key + '=' + encodeURIComponent(String.interpret(value));
    }

    return {
        initialize: function(object) {
            this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
        },

        _each: function(iterator) {
            for (var key in this._object) {
                var value = this._object[key],
                    pair = [key, value];
                pair.key = key;
                pair.value = value;
                iterator(pair);
            }
        },

        set: function(key, value) {
            return this._object[key] = value;
        },

        get: function(key) {
            return this._object[key];
        },

        unset: function(key) {
            var value = this._object[key];
            delete this._object[key];
            return value;
        },

        toObject: function() {
            return Object.clone(this._object);
        },

        keys: function() {
            return this.pluck('key');
        },

        values: function() {
            return this.pluck('value');
        },

        index: function(value) {
            var match = this.detect(function(pair) {
                return pair.value === value;
            });
            return match && match.key;
        },

        merge: function(object) {
            return this.clone().update(object);
        },

        update: function(object) {
            return new Hash(object).inject(this, function(result, pair) {
                result.set(pair.key, pair.value);
                return result;
            });
        },

        toQueryString: function() {
            return this.map(function(pair) {
                var key = encodeURIComponent(pair.key),
                    values = pair.value;

                if (values && typeof values == 'object') {
                    if (Object.isArray(values))
                        return values.map(toQueryPair.curry(key)).join('&');
                }
                return toQueryPair(key, values);
            }).join('&');
        },

        inspect: function() {
            return '#<Hash:{' + this.map(function(pair) {
                return pair.map(Object.inspect).join(': ');
            }).join(', ') + '}>';
        },

        toJSON: function() {
            return Object.toJSON(this.toObject());
        },

        clone: function() {
            return new Hash(this);
        }
    }
})());

Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
Hash.from = $H;
var ObjectRange = Class.create(Enumerable, {
    initialize: function(start, end, exclusive) {
        this.start = start;
        this.end = end;
        this.exclusive = exclusive;
    },

    _each: function(iterator) {
        var value = this.start;
        while (this.include(value)) {
            iterator(value);
            value = value.succ();
        }
    },

    include: function(value) {
        if (value < this.start)
            return false;
        if (this.exclusive)
            return value < this.end;
        return value <= this.end;
    }
});

var $R = function(start, end, exclusive) {
    return new ObjectRange(start, end, exclusive);
};

var Ajax = {
    getTransport: function() {
        return Try.these(
            function() {
                return new XMLHttpRequest()
            },
            function() {
                return new ActiveXObject('Msxml2.XMLHTTP')
            },
            function() {
                return new ActiveXObject('Microsoft.XMLHTTP')
            }
        ) || false;
    },

    activeRequestCount: 0
};

Ajax.Responders = {
    responders: [],

    _each: function(iterator) {
        this.responders._each(iterator);
    },

    register: function(responder) {
        if (!this.include(responder))
            this.responders.push(responder);
    },

    unregister: function(responder) {
        this.responders = this.responders.without(responder);
    },

    dispatch: function(callback, request, transport, json) {
        this.each(function(responder) {
            if (Object.isFunction(responder[callback])) {
                try {
                    responder[callback].apply(responder, [request, transport, json]);
                } catch (e) {}
            }
        });
    }
};

Object.extend(Ajax.Responders, Enumerable);

Ajax.Responders.register({
    onCreate: function() {
        Ajax.activeRequestCount++
    },
    onComplete: function() {
        Ajax.activeRequestCount--
    }
});

Ajax.Base = Class.create({
    initialize: function(options) {
        this.options = {
            method: 'post',
            asynchronous: true,
            contentType: 'application/x-www-form-urlencoded',
            encoding: 'UTF-8',
            parameters: '',
            evalJSON: true,
            evalJS: true
        };
        Object.extend(this.options, options || {});

        this.options.method = this.options.method.toLowerCase();

        if (Object.isString(this.options.parameters))
            this.options.parameters = this.options.parameters.toQueryParams();
        else if (Object.isHash(this.options.parameters))
            this.options.parameters = this.options.parameters.toObject();
    }
});

Ajax.Request = Class.create(Ajax.Base, {
    _complete: false,

    initialize: function($super, url, options) {
        $super(options);
        this.transport = Ajax.getTransport();
        this.request(url);
    },

    request: function(url) {
        this.url = url;
        this.method = this.options.method;
        var params = Object.clone(this.options.parameters);

        if (!['get', 'post'].include(this.method)) {
            // simulate other verbs over post
            params['_method'] = this.method;
            this.method = 'post';
        }

        this.parameters = params;

        if (params = Object.toQueryString(params)) {
            // when GET, append parameters to URL
            if (this.method == 'get')
                this.url += (this.url.include('?') ? '&' : '?') + params;
            else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
                params += '&_=';
        }

        try {
            var response = new Ajax.Response(this);
            if (this.options.onCreate) this.options.onCreate(response);
            Ajax.Responders.dispatch('onCreate', this, response);

            this.transport.open(this.method.toUpperCase(), this.url,
                this.options.asynchronous);

            if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);

            this.transport.onreadystatechange = this.onStateChange.bind(this);
            this.setRequestHeaders();

            this.body = this.method == 'post' ? (this.options.postBody || params) : null;
            this.transport.send(this.body);

            /* Force Firefox to handle ready state 4 for synchronous requests */
            if (!this.options.asynchronous && this.transport.overrideMimeType)
                this.onStateChange();

        } catch (e) {
            this.dispatchException(e);
        }
    },

    onStateChange: function() {
        var readyState = this.transport.readyState;
        if (readyState > 1 && !((readyState == 4) && this._complete))
            this.respondToReadyState(this.transport.readyState);
    },

    setRequestHeaders: function() {
        var headers = {
            'X-Requested-With': 'XMLHttpRequest',
            'X-Prototype-Version': Prototype.Version,
            'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
        };

        if (this.method == 'post') {
            headers['Content-type'] = this.options.contentType +
                (this.options.encoding ? '; charset=' + this.options.encoding : '');

            /* Force "Connection: close" for older Mozilla browsers to work
             * around a bug where XMLHttpRequest sends an incorrect
             * Content-length header. See Mozilla Bugzilla #246651.
             */
            if (this.transport.overrideMimeType &&
                (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0, 2005])[1] < 2005)
                headers['Connection'] = 'close';
        }

        // user-defined headers
        if (typeof this.options.requestHeaders == 'object') {
            var extras = this.options.requestHeaders;

            if (Object.isFunction(extras.push))
                for (var i = 0, length = extras.length; i < length; i += 2)
                    headers[extras[i]] = extras[i + 1];
            else
                $H(extras).each(function(pair) {
                    headers[pair.key] = pair.value
                });
        }

        for (var name in headers)
            this.transport.setRequestHeader(name, headers[name]);
    },

    success: function() {
        var status = this.getStatus();
        return !status || (status >= 200 && status < 300);
    },

    getStatus: function() {
        try {
            return this.transport.status || 0;
        } catch (e) {
            return 0
        }
    },

    respondToReadyState: function(readyState) {
        var state = Ajax.Request.Events[readyState],
            response = new Ajax.Response(this);

        if (state == 'Complete') {
            try {
                this._complete = true;
                (this.options['on' + response.status] || this.options['on' + (this.success() ? 'Success' : 'Failure')] || Prototype.emptyFunction)(response, response.headerJSON);
            } catch (e) {
                this.dispatchException(e);
            }

            var contentType = response.getHeader('Content-type');
            if (this.options.evalJS == 'force' || (this.options.evalJS && this.isSameOrigin() && contentType && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
                this.evalResponse();
        }

        try {
            (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
            Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
        } catch (e) {
            this.dispatchException(e);
        }

        if (state == 'Complete') {
            // avoid memory leak in MSIE: clean up
            this.transport.onreadystatechange = Prototype.emptyFunction;
        }
    },

    isSameOrigin: function() {
        var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
        return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
            protocol: location.protocol,
            domain: document.domain,
            port: location.port ? ':' + location.port : ''
        }));
    },

    getHeader: function(name) {
        try {
            return this.transport.getResponseHeader(name) || null;
        } catch (e) {
            return null
        }
    },

    evalResponse: function() {
        try {
            return eval((this.transport.responseText || '').unfilterJSON());
        } catch (e) {
            this.dispatchException(e);
        }
    },

    dispatchException: function(exception) {
        (this.options.onException || Prototype.emptyFunction)(this, exception);
        Ajax.Responders.dispatch('onException', this, exception);
    }
});

Ajax.Request.Events =
    ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];

Ajax.Response = Class.create({
    initialize: function(request) {
        this.request = request;
        var transport = this.transport = request.transport,
            readyState = this.readyState = transport.readyState;

        if ((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
            this.status = this.getStatus();
            this.statusText = this.getStatusText();
            this.responseText = String.interpret(transport.responseText);
            this.headerJSON = this._getHeaderJSON();
        }

        if (readyState == 4) {
            var xml = transport.responseXML;
            this.responseXML = Object.isUndefined(xml) ? null : xml;
            this.responseJSON = this._getResponseJSON();
        }
    },

    status: 0,
    statusText: '',

    getStatus: Ajax.Request.prototype.getStatus,

    getStatusText: function() {
        try {
            return this.transport.statusText || '';
        } catch (e) {
            return ''
        }
    },

    getHeader: Ajax.Request.prototype.getHeader,

    getAllHeaders: function() {
        try {
            return this.getAllResponseHeaders();
        } catch (e) {
            return null
        }
    },

    getResponseHeader: function(name) {
        return this.transport.getResponseHeader(name);
    },

    getAllResponseHeaders: function() {
        return this.transport.getAllResponseHeaders();
    },

    _getHeaderJSON: function() {
        var json = this.getHeader('X-JSON');
        if (!json) return null;
        json = decodeURIComponent(escape(json));
        try {
            return json.evalJSON(this.request.options.sanitizeJSON ||
                !this.request.isSameOrigin());
        } catch (e) {
            this.request.dispatchException(e);
        }
    },

    _getResponseJSON: function() {
        var options = this.request.options;
        if (!options.evalJSON || (options.evalJSON != 'force' &&
                !(this.getHeader('Content-type') || '').include('application/json')) ||
            this.responseText.blank())
            return null;
        try {
            return this.responseText.evalJSON(options.sanitizeJSON ||
                !this.request.isSameOrigin());
        } catch (e) {
            this.request.dispatchException(e);
        }
    }
});

Ajax.Updater = Class.create(Ajax.Request, {
    initialize: function($super, container, url, options) {
        this.container = {
            success: (container.success || container),
            failure: (container.failure || (container.success ? null : container))
        };

        options = Object.clone(options);
        var onComplete = options.onComplete;
        options.onComplete = (function(response, json) {
            this.updateContent(response.responseText);
            if (Object.isFunction(onComplete)) onComplete(response, json);
        }).bind(this);

        $super(url, options);
    },

    updateContent: function(responseText) {
        var receiver = this.container[this.success() ? 'success' : 'failure'],
            options = this.options;

        if (!options.evalScripts) responseText = responseText.stripScripts();

        if (receiver = $(receiver)) {
            if (options.insertion) {
                if (Object.isString(options.insertion)) {
                    var insertion = {};
                    insertion[options.insertion] = responseText;
                    receiver.insert(insertion);
                } else options.insertion(receiver, responseText);
            } else receiver.update(responseText);
        }
    }
});

Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
    initialize: function($super, container, url, options) {
        $super(options);
        this.onComplete = this.options.onComplete;

        this.frequency = (this.options.frequency || 2);
        this.decay = (this.options.decay || 1);

        this.updater = {};
        this.container = container;
        this.url = url;

        this.start();
    },

    start: function() {
        this.options.onComplete = this.updateComplete.bind(this);
        this.onTimerEvent();
    },

    stop: function() {
        this.updater.options.onComplete = undefined;
        clearTimeout(this.timer);
        (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
    },

    updateComplete: function(response) {
        if (this.options.decay) {
            this.decay = (response.responseText == this.lastText ?
                this.decay * this.options.decay : 1);

            this.lastText = response.responseText;
        }
        this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
    },

    onTimerEvent: function() {
        this.updater = new Ajax.Updater(this.container, this.url, this.options);
    }
});

function $(element) {
    if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++)
            elements.push($(arguments[i]));
        return elements;
    }
    if (Object.isString(element))
        element = document.getElementById(element);
    return Element.extend(element);
}

if (Prototype.BrowserFeatures.XPath) {
    document._getElementsByXPath = function(expression, parentElement) {
        var results = [];
        var query = document.evaluate(expression, $(parentElement) || document,
            null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var i = 0, length = query.snapshotLength; i < length; i++)
            results.push(Element.extend(query.snapshotItem(i)));
        return results;
    };
}

/*--------------------------------------------------------------------------*/

if (!window.Node) var Node = {};

if (!Node.ELEMENT_NODE) {
    // DOM level 2 ECMAScript Language Binding
    Object.extend(Node, {
        ELEMENT_NODE: 1,
        ATTRIBUTE_NODE: 2,
        TEXT_NODE: 3,
        CDATA_SECTION_NODE: 4,
        ENTITY_REFERENCE_NODE: 5,
        ENTITY_NODE: 6,
        PROCESSING_INSTRUCTION_NODE: 7,
        COMMENT_NODE: 8,
        DOCUMENT_NODE: 9,
        DOCUMENT_TYPE_NODE: 10,
        DOCUMENT_FRAGMENT_NODE: 11,
        NOTATION_NODE: 12
    });
}

(function() {
    var element = this.Element;
    this.Element = function(tagName, attributes) {
        attributes = attributes || {};
        tagName = tagName.toLowerCase();
        var cache = Element.cache;
        if (Prototype.Browser.IE && attributes.name) {
            tagName = '<' + tagName + ' name="' + attributes.name + '">';
            delete attributes.name;
            return Element.writeAttribute(document.createElement(tagName), attributes);
        }
        if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
        return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
    };
    Object.extend(this.Element, element || {});
}).call(window);

Element.cache = {};

Element.Methods = {
    visible: function(element) {
        return $(element).style.display != 'none';
    },

    toggle: function(element) {
        element = $(element);
        Element[Element.visible(element) ? 'hide' : 'show'](element);
        return element;
    },

    hide: function(element) {
        $(element).style.display = 'none';
        return element;
    },

    show: function(element) {
        $(element).style.display = '';
        return element;
    },

    remove: function(element) {
        element = $(element);
        element.parentNode.removeChild(element);
        return element;
    },

    update: function(element, content) {
        element = $(element);
        if (content && content.toElement) content = content.toElement();
        if (Object.isElement(content)) return element.update().insert(content);
        content = Object.toHTML(content);
        element.innerHTML = content.stripScripts();
        content.evalScripts.bind(content).defer();
        return element;
    },

    replace: function(element, content) {
        element = $(element);
        if (content && content.toElement) content = content.toElement();
        else if (!Object.isElement(content)) {
            content = Object.toHTML(content);
            var range = element.ownerDocument.createRange();
            range.selectNode(element);
            content.evalScripts.bind(content).defer();
            content = range.createContextualFragment(content.stripScripts());
        }
        element.parentNode.replaceChild(content, element);
        return element;
    },

    insert: function(element, insertions) {
        element = $(element);

        if (Object.isString(insertions) || Object.isNumber(insertions) ||
            Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
            insertions = {
                bottom: insertions
            };

        var content, insert, tagName, childNodes;

        for (var position in insertions) {
            content = insertions[position];
            position = position.toLowerCase();
            insert = Element._insertionTranslations[position];

            if (content && content.toElement) content = content.toElement();
            if (Object.isElement(content)) {
                insert(element, content);
                continue;
            }

            content = Object.toHTML(content);

            tagName = ((position == 'before' || position == 'after') ? element.parentNode : element).tagName.toUpperCase();

            childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());

            if (position == 'top' || position == 'after') childNodes.reverse();
            childNodes.each(insert.curry(element));

            content.evalScripts.bind(content).defer();
        }

        return element;
    },

    wrap: function(element, wrapper, attributes) {
        element = $(element);
        if (Object.isElement(wrapper))
            $(wrapper).writeAttribute(attributes || {});
        else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
        else wrapper = new Element('div', wrapper);
        if (element.parentNode)
            element.parentNode.replaceChild(wrapper, element);
        wrapper.appendChild(element);
        return wrapper;
    },

    inspect: function(element) {
        element = $(element);
        var result = '<' + element.tagName.toLowerCase();
        $H({
            'id': 'id',
            'className': 'class'
        }).each(function(pair) {
            var property = pair.first(),
                attribute = pair.last();
            var value = (element[property] || '').toString();
            if (value) result += ' ' + attribute + '=' + value.inspect(true);
        });
        return result + '>';
    },

    recursivelyCollect: function(element, property) {
        element = $(element);
        var elements = [];
        while (element = element[property])
            if (element.nodeType == 1)
                elements.push(Element.extend(element));
        return elements;
    },

    ancestors: function(element) {
        return $(element).recursivelyCollect('parentNode');
    },

    descendants: function(element) {
        return $(element).select("*");
    },

    firstDescendant: function(element) {
        element = $(element).firstChild;
        while (element && element.nodeType != 1) element = element.nextSibling;
        return $(element);
    },

    immediateDescendants: function(element) {
        if (!(element = $(element).firstChild)) return [];
        while (element && element.nodeType != 1) element = element.nextSibling;
        if (element) return [element].concat($(element).nextSiblings());
        return [];
    },

    previousSiblings: function(element) {
        return $(element).recursivelyCollect('previousSibling');
    },

    nextSiblings: function(element) {
        return $(element).recursivelyCollect('nextSibling');
    },

    siblings: function(element) {
        element = $(element);
        return element.previousSiblings().reverse().concat(element.nextSiblings());
    },

    match: function(element, selector) {
        if (Object.isString(selector))
            selector = new Selector(selector);
        return selector.match($(element));
    },

    up: function(element, expression, index) {
        element = $(element);
        if (arguments.length == 1) return $(element.parentNode);
        var ancestors = element.ancestors();
        return Object.isNumber(expression) ? ancestors[expression] :
            Selector.findElement(ancestors, expression, index);
    },

    down: function(element, expression, index) {
        element = $(element);
        if (arguments.length == 1) return element.firstDescendant();
        return Object.isNumber(expression) ? element.descendants()[expression] :
            element.select(expression)[index || 0];
    },

    previous: function(element, expression, index) {
        element = $(element);
        if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
        var previousSiblings = element.previousSiblings();
        return Object.isNumber(expression) ? previousSiblings[expression] :
            Selector.findElement(previousSiblings, expression, index);
    },

    next: function(element, expression, index) {
        element = $(element);
        if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
        var nextSiblings = element.nextSiblings();
        return Object.isNumber(expression) ? nextSiblings[expression] :
            Selector.findElement(nextSiblings, expression, index);
    },

    select: function() {
        var args = $A(arguments),
            element = $(args.shift());
        return Selector.findChildElements(element, args);
    },

    adjacent: function() {
        var args = $A(arguments),
            element = $(args.shift());
        return Selector.findChildElements(element.parentNode, args).without(element);
    },

    identify: function(element) {
        element = $(element);
        var id = element.readAttribute('id'),
            self = arguments.callee;
        if (id) return id;
        do {
            id = 'anonymous_element_' + self.counter++
        } while ($(id));
        element.writeAttribute('id', id);
        return id;
    },

    readAttribute: function(element, name) {
        element = $(element);
        if (Prototype.Browser.IE) {
            var t = Element._attributeTranslations.read;
            if (t.values[name]) return t.values[name](element, name);
            if (t.names[name]) name = t.names[name];
            if (name.include(':')) {
                return (!element.attributes || !element.attributes[name]) ? null :
                    element.attributes[name].value;
            }
        }
        return element.getAttribute(name);
    },

    writeAttribute: function(element, name, value) {
        element = $(element);
        var attributes = {},
            t = Element._attributeTranslations.write;

        if (typeof name == 'object') attributes = name;
        else attributes[name] = Object.isUndefined(value) ? true : value;

        for (var attr in attributes) {
            name = t.names[attr] || attr;
            value = attributes[attr];
            if (t.values[attr]) name = t.values[attr](element, value);
            if (value === false || value === null)
                element.removeAttribute(name);
            else if (value === true)
                element.setAttribute(name, name);
            else element.setAttribute(name, value);
        }
        return element;
    },

    getHeight: function(element) {
        return $(element).getDimensions().height;
    },

    getWidth: function(element) {
        return $(element).getDimensions().width;
    },

    classNames: function(element) {
        return new Element.ClassNames(element);
    },

    hasClassName: function(element, className) {
        if (!(element = $(element))) return;
        var elementClassName = element.className;
        return (elementClassName.length > 0 && (elementClassName == className ||
            new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
    },

    addClassName: function(element, className) {
        if (!(element = $(element))) return;
        if (!element.hasClassName(className))
            element.className += (element.className ? ' ' : '') + className;
        return element;
    },

    removeClassName: function(element, className) {
        if (!(element = $(element))) return;
        element.className = element.className.replace(
            new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
        return element;
    },

    toggleClassName: function(element, className) {
        if (!(element = $(element))) return;
        return element[element.hasClassName(className) ?
            'removeClassName' : 'addClassName'](className);
    },

    // removes whitespace-only text node children
    cleanWhitespace: function(element) {
        element = $(element);
        var node = element.firstChild;
        while (node) {
            var nextNode = node.nextSibling;
            if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
                element.removeChild(node);
            node = nextNode;
        }
        return element;
    },

    empty: function(element) {
        return $(element).innerHTML.blank();
    },

    descendantOf: function(element, ancestor) {
        element = $(element), ancestor = $(ancestor);
        var originalAncestor = ancestor;

        if (element.compareDocumentPosition)
            return (element.compareDocumentPosition(ancestor) & 8) === 8;

        if (element.sourceIndex && !Prototype.Browser.Opera) {
            var e = element.sourceIndex,
                a = ancestor.sourceIndex,
                nextAncestor = ancestor.nextSibling;
            if (!nextAncestor) {
                do {
                    ancestor = ancestor.parentNode;
                }
                while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode);
            }
            if (nextAncestor && nextAncestor.sourceIndex)
                return (e > a && e < nextAncestor.sourceIndex);
        }

        while (element = element.parentNode)
            if (element == originalAncestor) return true;
        return false;
    },

    scrollTo: function(element) {
        element = $(element);
        var pos = element.cumulativeOffset();
        window.scrollTo(pos[0], pos[1]);
        return element;
    },

    getStyle: function(element, style) {
        element = $(element);
        style = style == 'float' ? 'cssFloat' : style.camelize();
        var value = element.style[style];
        if (!value) {
            var css = document.defaultView.getComputedStyle(element, null);
            value = css ? css[style] : null;
        }
        if (style == 'opacity') return value ? parseFloat(value) : 1.0;
        return value == 'auto' ? null : value;
    },

    getOpacity: function(element) {
        return $(element).getStyle('opacity');
    },

    setStyle: function(element, styles) {
        element = $(element);
        var elementStyle = element.style,
            match;
        if (Object.isString(styles)) {
            element.style.cssText += ';' + styles;
            return styles.include('opacity') ?
                element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
        }
        for (var property in styles)
            if (property == 'opacity') element.setOpacity(styles[property]);
            else
                elementStyle[(property == 'float' || property == 'cssFloat') ?
                    (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
                    property] = styles[property];

        return element;
    },

    setOpacity: function(element, value) {
        element = $(element);
        element.style.opacity = (value == 1 || value === '') ? '' :
            (value < 0.00001) ? 0 : value;
        return element;
    },

    getDimensions: function(element) {
        element = $(element);
        var display = $(element).getStyle('display');
        if (display != 'none' && display != null) // Safari bug
            return {
            width: element.offsetWidth,
            height: element.offsetHeight
        };

        // All *Width and *Height properties give 0 on elements with display none,
        // so enable the element temporarily
        var els = element.style;
        var originalVisibility = els.visibility;
        var originalPosition = els.position;
        var originalDisplay = els.display;
        els.visibility = 'hidden';
        els.position = 'absolute';
        els.display = 'block';
        var originalWidth = element.clientWidth;
        var originalHeight = element.clientHeight;
        els.display = originalDisplay;
        els.position = originalPosition;
        els.visibility = originalVisibility;
        return {
            width: originalWidth,
            height: originalHeight
        };
    },

    makePositioned: function(element) {
        element = $(element);
        var pos = Element.getStyle(element, 'position');
        if (pos == 'static' || !pos) {
            element._madePositioned = true;
            element.style.position = 'relative';
            // Opera returns the offset relative to the positioning context, when an
            // element is position relative but top and left have not been defined
            if (window.opera) {
                element.style.top = 0;
                element.style.left = 0;
            }
        }
        return element;
    },

    undoPositioned: function(element) {
        element = $(element);
        if (element._madePositioned) {
            element._madePositioned = undefined;
            element.style.position =
                element.style.top =
                element.style.left =
                element.style.bottom =
                element.style.right = '';
        }
        return element;
    },

    makeClipping: function(element) {
        element = $(element);
        if (element._overflow) return element;
        element._overflow = Element.getStyle(element, 'overflow') || 'auto';
        if (element._overflow !== 'hidden')
            element.style.overflow = 'hidden';
        return element;
    },

    undoClipping: function(element) {
        element = $(element);
        if (!element._overflow) return element;
        element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
        element._overflow = null;
        return element;
    },

    cumulativeOffset: function(element) {
        var valueT = 0,
            valueL = 0;
        do {
            valueT += element.offsetTop || 0;
            valueL += element.offsetLeft || 0;
            element = element.offsetParent;
        } while (element);
        return Element._returnOffset(valueL, valueT);
    },

    positionedOffset: function(element) {
        var valueT = 0,
            valueL = 0;
        do {
            valueT += element.offsetTop || 0;
            valueL += element.offsetLeft || 0;
            element = element.offsetParent;
            if (element) {
                if (element.tagName == 'BODY') break;
                var p = Element.getStyle(element, 'position');
                if (p !== 'static') break;
            }
        } while (element);
        return Element._returnOffset(valueL, valueT);
    },

    absolutize: function(element) {
        element = $(element);
        if (element.getStyle('position') == 'absolute') return;
        // Position.prepare(); // To be done manually by Scripty when it needs it.

        var offsets = element.positionedOffset();
        var top = offsets[1];
        var left = offsets[0];
        var width = element.clientWidth;
        var height = element.clientHeight;

        element._originalLeft = left - parseFloat(element.style.left || 0);
        element._originalTop = top - parseFloat(element.style.top || 0);
        element._originalWidth = element.style.width;
        element._originalHeight = element.style.height;

        element.style.position = 'absolute';
        element.style.top = top + 'px';
        element.style.left = left + 'px';
        element.style.width = width + 'px';
        element.style.height = height + 'px';
        return element;
    },

    relativize: function(element) {
        element = $(element);
        if (element.getStyle('position') == 'relative') return;
        // Position.prepare(); // To be done manually by Scripty when it needs it.

        element.style.position = 'relative';
        var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
        var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);

        element.style.top = top + 'px';
        element.style.left = left + 'px';
        element.style.height = element._originalHeight;
        element.style.width = element._originalWidth;
        return element;
    },

    cumulativeScrollOffset: function(element) {
        var valueT = 0,
            valueL = 0;
        do {
            valueT += element.scrollTop || 0;
            valueL += element.scrollLeft || 0;
            element = element.parentNode;
        } while (element);
        return Element._returnOffset(valueL, valueT);
    },

    getOffsetParent: function(element) {
        if (element.offsetParent) return $(element.offsetParent);
        if (element == document.body) return $(element);

        while ((element = element.parentNode) && element != document.body)
            if (Element.getStyle(element, 'position') != 'static')
                return $(element);

        return $(document.body);
    },

    viewportOffset: function(forElement) {
        var valueT = 0,
            valueL = 0;

        var element = forElement;
        do {
            valueT += element.offsetTop || 0;
            valueL += element.offsetLeft || 0;

            // Safari fix
            if (element.offsetParent == document.body &&
                Element.getStyle(element, 'position') == 'absolute') break;

        } while (element = element.offsetParent);

        element = forElement;
        do {
            if (!Prototype.Browser.Opera || element.tagName == 'BODY') {
                valueT -= element.scrollTop || 0;
                valueL -= element.scrollLeft || 0;
            }
        }
        while (element = element.parentNode);

        return Element._returnOffset(valueL, valueT);
    },

    clonePosition: function(element, source) {
        var options = Object.extend({
            setLeft: true,
            setTop: true,
            setWidth: true,
            setHeight: true,
            offsetTop: 0,
            offsetLeft: 0
        }, arguments[2] || {});

        // find page position of source
        source = $(source);
        var p = source.viewportOffset();

        // find coordinate system to use
        element = $(element);
        var delta = [0, 0];
        var parent = null;
        // delta [0,0] will do fine with position: fixed elements,
        // position:absolute needs offsetParent deltas
        if (Element.getStyle(element, 'position') == 'absolute') {
            parent = element.getOffsetParent();
            delta = parent.viewportOffset();
        }

        // correct by body offsets (fixes Safari)
        if (parent == document.body) {
            delta[0] -= document.body.offsetLeft;
            delta[1] -= document.body.offsetTop;
        }

        // set position
        if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
        if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
        if (options.setWidth) element.style.width = source.offsetWidth + 'px';
        if (options.setHeight) element.style.height = source.offsetHeight + 'px';
        return element;
    }
};

Element.Methods.identify.counter = 1;

Object.extend(Element.Methods, {
    getElementsBySelector: Element.Methods.select,
    childElements: Element.Methods.immediateDescendants
});

Element._attributeTranslations = {
    write: {
        names: {
            className: 'class',
            htmlFor: 'for'
        },
        values: {}
    }
};

if (Prototype.Browser.Opera) {
    Element.Methods.getStyle = Element.Methods.getStyle.wrap(
        function(proceed, element, style) {
            switch (style) {
                case 'left':
                case 'top':
                case 'right':
                case 'bottom':
                    if (proceed(element, 'position') === 'static') return null;
                case 'height':
                case 'width':
                    // returns '0px' for hidden elements; we want it to return null
                    if (!Element.visible(element)) return null;

                    // returns the border-box dimensions rather than the content-box
                    // dimensions, so we subtract padding and borders from the value
                    var dim = parseInt(proceed(element, style), 10);

                    if (dim !== element['offset' + style.capitalize()])
                        return dim + 'px';

                    var properties;
                    if (style === 'height') {
                        properties = ['border-top-width', 'padding-top',
                            'padding-bottom', 'border-bottom-width'
                        ];
                    } else {
                        properties = ['border-left-width', 'padding-left',
                            'padding-right', 'border-right-width'
                        ];
                    }
                    return properties.inject(dim, function(memo, property) {
                        var val = proceed(element, property);
                        return val === null ? memo : memo - parseInt(val, 10);
                    }) + 'px';
                default:
                    return proceed(element, style);
            }
        }
    );

    Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
        function(proceed, element, attribute) {
            if (attribute === 'title') return element.title;
            return proceed(element, attribute);
        }
    );
} else if (Prototype.Browser.IE) {
    // IE doesn't report offsets correctly for static elements, so we change them
    // to "relative" to get the values, then change them back.
    Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
        function(proceed, element) {
            element = $(element);
            var position = element.getStyle('position');
            if (position !== 'static') return proceed(element);
            element.setStyle({
                position: 'relative'
            });
            var value = proceed(element);
            element.setStyle({
                position: position
            });
            return value;
        }
    );

    $w('positionedOffset viewportOffset').each(function(method) {
        Element.Methods[method] = Element.Methods[method].wrap(
            function(proceed, element) {
                element = $(element);
                var position = element.getStyle('position');
                if (position !== 'static') return proceed(element);
                // Trigger hasLayout on the offset parent so that IE6 reports
                // accurate offsetTop and offsetLeft values for position: fixed.
                var offsetParent = element.getOffsetParent();
                if (offsetParent && offsetParent.getStyle('position') === 'fixed')
                    offsetParent.setStyle({
                        zoom: 1
                    });
                element.setStyle({
                    position: 'relative'
                });
                var value = proceed(element);
                element.setStyle({
                    position: position
                });
                return value;
            }
        );
    });

    Element.Methods.getStyle = function(element, style) {
        element = $(element);
        style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
        var value = element.style[style];
        if (!value && element.currentStyle) value = element.currentStyle[style];

        if (style == 'opacity') {
            if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
                if (value[1]) return parseFloat(value[1]) / 100;
            return 1.0;
        }

        if (value == 'auto') {
            if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
                return element['offset' + style.capitalize()] + 'px';
            return null;
        }
        return value;
    };

    Element.Methods.setOpacity = function(element, value) {
        function stripAlpha(filter) {
            return filter.replace(/alpha\([^\)]*\)/gi, '');
        }
        element = $(element);
        var currentStyle = element.currentStyle;
        if ((currentStyle && !currentStyle.hasLayout) ||
            (!currentStyle && element.style.zoom == 'normal'))
            element.style.zoom = 1;

        var filter = element.getStyle('filter'),
            style = element.style;
        if (value == 1 || value === '') {
            (filter = stripAlpha(filter)) ?
            style.filter = filter: style.removeAttribute('filter');
            return element;
        } else if (value < 0.00001) value = 0;
        style.filter = stripAlpha(filter) +
            'alpha(opacity=' + (value * 100) + ')';
        return element;
    };

    Element._attributeTranslations = {
        read: {
            names: {
                'class': 'className',
                'for': 'htmlFor'
            },
            values: {
                _getAttr: function(element, attribute) {
                    return element.getAttribute(attribute, 2);
                },
                _getAttrNode: function(element, attribute) {
                    var node = element.getAttributeNode(attribute);
                    return node ? node.value : "";
                },
                _getEv: function(element, attribute) {
                    attribute = element.getAttribute(attribute);
                    return attribute ? attribute.toString().slice(23, -2) : null;
                },
                _flag: function(element, attribute) {
                    return $(element).hasAttribute(attribute) ? attribute : null;
                },
                style: function(element) {
                    return element.style.cssText.toLowerCase();
                },
                title: function(element) {
                    return element.title;
                }
            }
        }
    };

    Element._attributeTranslations.write = {
        names: Object.extend({
            cellpadding: 'cellPadding',
            cellspacing: 'cellSpacing'
        }, Element._attributeTranslations.read.names),
        values: {
            checked: function(element, value) {
                element.checked = !!value;
            },

            style: function(element, value) {
                element.style.cssText = value ? value : '';
            }
        }
    };

    Element._attributeTranslations.has = {};

    $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
        'encType maxLength readOnly longDesc').each(function(attr) {
        Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
        Element._attributeTranslations.has[attr.toLowerCase()] = attr;
    });

    (function(v) {
        Object.extend(v, {
            href: v._getAttr,
            src: v._getAttr,
            type: v._getAttr,
            action: v._getAttrNode,
            disabled: v._flag,
            checked: v._flag,
            readonly: v._flag,
            multiple: v._flag,
            onload: v._getEv,
            onunload: v._getEv,
            onclick: v._getEv,
            ondblclick: v._getEv,
            onmousedown: v._getEv,
            onmouseup: v._getEv,
            onmouseover: v._getEv,
            onmousemove: v._getEv,
            onmouseout: v._getEv,
            onfocus: v._getEv,
            onblur: v._getEv,
            onkeypress: v._getEv,
            onkeydown: v._getEv,
            onkeyup: v._getEv,
            onsubmit: v._getEv,
            onreset: v._getEv,
            onselect: v._getEv,
            onchange: v._getEv
        });
    })(Element._attributeTranslations.read.values);
} else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
    Element.Methods.setOpacity = function(element, value) {
        element = $(element);
        element.style.opacity = (value == 1) ? 0.999999 :
            (value === '') ? '' : (value < 0.00001) ? 0 : value;
        return element;
    };
} else if (Prototype.Browser.WebKit) {
    Element.Methods.setOpacity = function(element, value) {
        element = $(element);
        element.style.opacity = (value == 1 || value === '') ? '' :
            (value < 0.00001) ? 0 : value;

        if (value == 1)
            if (element.tagName == 'IMG' && element.width) {
                element.width++;
                element.width--;
            } else try {
                var n = document.createTextNode(' ');
                element.appendChild(n);
                element.removeChild(n);
            } catch (e) {}

        return element;
    };

    // Safari returns margins on body which is incorrect if the child is absolutely
    // positioned.  For performance reasons, redefine Element#cumulativeOffset for
    // KHTML/WebKit only.
    Element.Methods.cumulativeOffset = function(element) {
        var valueT = 0,
            valueL = 0;
        do {
            valueT += element.offsetTop || 0;
            valueL += element.offsetLeft || 0;
            if (element.offsetParent == document.body)
                if (Element.getStyle(element, 'position') == 'absolute') break;

            element = element.offsetParent;
        } while (element);

        return Element._returnOffset(valueL, valueT);
    };
}

if (Prototype.Browser.IE || Prototype.Browser.Opera) {
    // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
    Element.Methods.update = function(element, content) {
        element = $(element);

        if (content && content.toElement) content = content.toElement();
        if (Object.isElement(content)) return element.update().insert(content);

        content = Object.toHTML(content);
        var tagName = element.tagName.toUpperCase();

        if (tagName in Element._insertionTranslations.tags) {
            $A(element.childNodes).each(function(node) {
                element.removeChild(node)
            });
            Element._getContentFromAnonymousElement(tagName, content.stripScripts())
                .each(function(node) {
                    element.appendChild(node)
                });
        } else element.innerHTML = content.stripScripts();

        content.evalScripts.bind(content).defer();
        return element;
    };
}

if ('outerHTML' in document.createElement('div')) {
    Element.Methods.replace = function(element, content) {
        element = $(element);

        if (content && content.toElement) content = content.toElement();
        if (Object.isElement(content)) {
            element.parentNode.replaceChild(content, element);
            return element;
        }

        content = Object.toHTML(content);
        var parent = element.parentNode,
            tagName = parent.tagName.toUpperCase();

        if (Element._insertionTranslations.tags[tagName]) {
            var nextSibling = element.next();
            var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
            parent.removeChild(element);
            if (nextSibling)
                fragments.each(function(node) {
                    parent.insertBefore(node, nextSibling)
                });
            else
                fragments.each(function(node) {
                    parent.appendChild(node)
                });
        } else element.outerHTML = content.stripScripts();

        content.evalScripts.bind(content).defer();
        return element;
    };
}

Element._returnOffset = function(l, t) {
    var result = [l, t];
    result.left = l;
    result.top = t;
    return result;
};

Element._getContentFromAnonymousElement = function(tagName, html) {
    var div = new Element('div'),
        t = Element._insertionTranslations.tags[tagName];
    if (t) {
        div.innerHTML = t[0] + html + t[1];
        t[2].times(function() {
            div = div.firstChild
        });
    } else div.innerHTML = html;
    return $A(div.childNodes);
};

Element._insertionTranslations = {
    before: function(element, node) {
        element.parentNode.insertBefore(node, element);
    },
    top: function(element, node) {
        element.insertBefore(node, element.firstChild);
    },
    bottom: function(element, node) {
        element.appendChild(node);
    },
    after: function(element, node) {
        element.parentNode.insertBefore(node, element.nextSibling);
    },
    tags: {
        TABLE: ['<table>', '</table>', 1],
        TBODY: ['<table><tbody>', '</tbody></table>', 2],
        TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],
        TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
        SELECT: ['<select>', '</select>', 1]
    }
};

(function() {
    Object.extend(this.tags, {
        THEAD: this.tags.TBODY,
        TFOOT: this.tags.TBODY,
        TH: this.tags.TD
    });
}).call(Element._insertionTranslations);

Element.Methods.Simulated = {
    hasAttribute: function(element, attribute) {
        attribute = Element._attributeTranslations.has[attribute] || attribute;
        var node = $(element).getAttributeNode(attribute);
        return node && node.specified;
    }
};

Element.Methods.ByTag = {};

Object.extend(Element, Element.Methods);

if (!Prototype.BrowserFeatures.ElementExtensions &&
    document.createElement('div').__proto__) {
    window.HTMLElement = {};
    window.HTMLElement.prototype = document.createElement('div').__proto__;
    Prototype.BrowserFeatures.ElementExtensions = true;
}

Element.extend = (function() {
    if (Prototype.BrowserFeatures.SpecificElementExtensions)
        return Prototype.K;

    var Methods = {},
        ByTag = Element.Methods.ByTag;

    var extend = Object.extend(function(element) {
        if (!element || element._extendedByPrototype ||
            element.nodeType != 1 || element == window) return element;

        var methods = Object.clone(Methods),
            tagName = element.tagName,
            property, value;

        // extend methods for specific tags
        if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);

        for (property in methods) {
            value = methods[property];
            if (Object.isFunction(value) && !(property in element))
                element[property] = value.methodize();
        }

        element._extendedByPrototype = Prototype.emptyFunction;
        return element;

    }, {
        refresh: function() {
            // extend methods for all tags (Safari doesn't need this)
            if (!Prototype.BrowserFeatures.ElementExtensions) {
                Object.extend(Methods, Element.Methods);
                Object.extend(Methods, Element.Methods.Simulated);
            }
        }
    });

    extend.refresh();
    return extend;
})();

Element.hasAttribute = function(element, attribute) {
    if (element.hasAttribute) return element.hasAttribute(attribute);
    return Element.Methods.Simulated.hasAttribute(element, attribute);
};

Element.addMethods = function(methods) {
    var F = Prototype.BrowserFeatures,
        T = Element.Methods.ByTag;

    if (!methods) {
        Object.extend(Form, Form.Methods);
        Object.extend(Form.Element, Form.Element.Methods);
        Object.extend(Element.Methods.ByTag, {
            "FORM": Object.clone(Form.Methods),
            "INPUT": Object.clone(Form.Element.Methods),
            "SELECT": Object.clone(Form.Element.Methods),
            "TEXTAREA": Object.clone(Form.Element.Methods)
        });
    }

    if (arguments.length == 2) {
        var tagName = methods;
        methods = arguments[1];
    }

    if (!tagName) Object.extend(Element.Methods, methods || {});
    else {
        if (Object.isArray(tagName)) tagName.each(extend);
        else extend(tagName);
    }

    function extend(tagName) {
        tagName = tagName.toUpperCase();
        if (!Element.Methods.ByTag[tagName])
            Element.Methods.ByTag[tagName] = {};
        Object.extend(Element.Methods.ByTag[tagName], methods);
    }

    function copy(methods, destination, onlyIfAbsent) {
        onlyIfAbsent = onlyIfAbsent || false;
        for (var property in methods) {
            var value = methods[property];
            if (!Object.isFunction(value)) continue;
            if (!onlyIfAbsent || !(property in destination))
                destination[property] = value.methodize();
        }
    }

    function findDOMClass(tagName) {
        var klass;
        var trans = {
            "OPTGROUP": "OptGroup",
            "TEXTAREA": "TextArea",
            "P": "Paragraph",
            "FIELDSET": "FieldSet",
            "UL": "UList",
            "OL": "OList",
            "DL": "DList",
            "DIR": "Directory",
            "H1": "Heading",
            "H2": "Heading",
            "H3": "Heading",
            "H4": "Heading",
            "H5": "Heading",
            "H6": "Heading",
            "Q": "Quote",
            "INS": "Mod",
            "DEL": "Mod",
            "A": "Anchor",
            "IMG": "Image",
            "CAPTION": "TableCaption",
            "COL": "TableCol",
            "COLGROUP": "TableCol",
            "THEAD": "TableSection",
            "TFOOT": "TableSection",
            "TBODY": "TableSection",
            "TR": "TableRow",
            "TH": "TableCell",
            "TD": "TableCell",
            "FRAMESET": "FrameSet",
            "IFRAME": "IFrame"
        };
        if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
        if (window[klass]) return window[klass];
        klass = 'HTML' + tagName + 'Element';
        if (window[klass]) return window[klass];
        klass = 'HTML' + tagName.capitalize() + 'Element';
        if (window[klass]) return window[klass];

        window[klass] = {};
        window[klass].prototype = document.createElement(tagName).__proto__;
        return window[klass];
    }

    if (F.ElementExtensions) {
        copy(Element.Methods, HTMLElement.prototype);
        copy(Element.Methods.Simulated, HTMLElement.prototype, true);
    }

    if (F.SpecificElementExtensions) {
        for (var tag in Element.Methods.ByTag) {
            var klass = findDOMClass(tag);
            if (Object.isUndefined(klass)) continue;
            copy(T[tag], klass.prototype);
        }
    }

    Object.extend(Element, Element.Methods);
    delete Element.ByTag;

    if (Element.extend.refresh) Element.extend.refresh();
    Element.cache = {};
};

document.viewport = {
    getDimensions: function() {
        var dimensions = {};
        var B = Prototype.Browser;
        $w('width height').each(function(d) {
            var D = d.capitalize();
            dimensions[d] = (B.WebKit && !document.evaluate) ? self['inner' + D] :
                (B.Opera) ? document.body['client' + D] : document.documentElement['client' + D];
        });
        return dimensions;
    },

    getWidth: function() {
        return this.getDimensions().width;
    },

    getHeight: function() {
        return this.getDimensions().height;
    },

    getScrollOffsets: function() {
        return Element._returnOffset(
            window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
            window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
    }
};
/* Portions of the Selector class are derived from Jack Slocum\u0432\u0402\u2122s DomQuery,
 * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
 * license.  Please see http://www.yui-ext.com/ for more information. */

var Selector = Class.create({
    initialize: function(expression) {
        this.expression = expression.strip();
        this.compileMatcher();
    },

    shouldUseXPath: function() {
        if (!Prototype.BrowserFeatures.XPath) return false;

        var e = this.expression;

        // Safari 3 chokes on :*-of-type and :empty
        if (Prototype.Browser.WebKit &&
            (e.include("-of-type") || e.include(":empty")))
            return false;

        // XPath can't do namespaced attributes, nor can it read
        // the "checked" property from DOM nodes
        if ((/(\[[\w-]*?:|:checked)/).test(this.expression))
            return false;

        return true;
    },

    compileMatcher: function() {
        if (this.shouldUseXPath())
            return this.compileXPathMatcher();

        var e = this.expression,
            ps = Selector.patterns,
            h = Selector.handlers,
            c = Selector.criteria,
            le, p, m;

        if (Selector._cache[e]) {
            this.matcher = Selector._cache[e];
            return;
        }

        this.matcher = ["this.matcher = function(root) {",
            "var r = root, h = Selector.handlers, c = false, n;"
        ];

        while (e && le != e && (/\S/).test(e)) {
            le = e;
            for (var i in ps) {
                p = ps[i];
                if (m = e.match(p)) {
                    this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
                        new Template(c[i]).evaluate(m));
                    e = e.replace(m[0], '');
                    break;
                }
            }
        }

        this.matcher.push("return h.unique(n);\n}");
        eval(this.matcher.join('\n'));
        Selector._cache[this.expression] = this.matcher;
    },

    compileXPathMatcher: function() {
        var e = this.expression,
            ps = Selector.patterns,
            x = Selector.xpath,
            le, m;

        if (Selector._cache[e]) {
            this.xpath = Selector._cache[e];
            return;
        }

        this.matcher = ['.//*'];
        while (e && le != e && (/\S/).test(e)) {
            le = e;
            for (var i in ps) {
                if (m = e.match(ps[i])) {
                    this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
                        new Template(x[i]).evaluate(m));
                    e = e.replace(m[0], '');
                    break;
                }
            }
        }

        this.xpath = this.matcher.join('');
        Selector._cache[this.expression] = this.xpath;
    },

    findElements: function(root) {
        root = root || document;
        if (this.xpath) return document._getElementsByXPath(this.xpath, root);
        return this.matcher(root);
    },

    match: function(element) {
        this.tokens = [];

        var e = this.expression,
            ps = Selector.patterns,
            as = Selector.assertions;
        var le, p, m;

        while (e && le !== e && (/\S/).test(e)) {
            le = e;
            for (var i in ps) {
                p = ps[i];
                if (m = e.match(p)) {
                    // use the Selector.assertions methods unless the selector
                    // is too complex.
                    if (as[i]) {
                        this.tokens.push([i, Object.clone(m)]);
                        e = e.replace(m[0], '');
                    } else {
                        // reluctantly do a document-wide search
                        // and look for a match in the array
                        return this.findElements(document).include(element);
                    }
                }
            }
        }

        var match = true,
            name, matches;
        for (var i = 0, token; token = this.tokens[i]; i++) {
            name = token[0], matches = token[1];
            if (!Selector.assertions[name](element, matches)) {
                match = false;
                break;
            }
        }

        return match;
    },

    toString: function() {
        return this.expression;
    },

    inspect: function() {
        return "#<Selector:" + this.expression.inspect() + ">";
    }
});

Object.extend(Selector, {
    _cache: {},

    xpath: {
        descendant: "//*",
        child: "/*",
        adjacent: "/following-sibling::*[1]",
        laterSibling: '/following-sibling::*',
        tagName: function(m) {
            if (m[1] == '*') return '';
            return "[local-name()='" + m[1].toLowerCase() +
                "' or local-name()='" + m[1].toUpperCase() + "']";
        },
        className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
        id: "[@id='#{1}']",
        attrPresence: function(m) {
            m[1] = m[1].toLowerCase();
            return new Template("[@#{1}]").evaluate(m);
        },
        attr: function(m) {
            m[1] = m[1].toLowerCase();
            m[3] = m[5] || m[6];
            return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
        },
        pseudo: function(m) {
            var h = Selector.xpath.pseudos[m[1]];
            if (!h) return '';
            if (Object.isFunction(h)) return h(m);
            return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
        },
        operators: {
            '=': "[@#{1}='#{3}']",
            '!=': "[@#{1}!='#{3}']",
            '^=': "[starts-with(@#{1}, '#{3}')]",
            '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
            '*=': "[contains(@#{1}, '#{3}')]",
            '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
            '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
        },
        pseudos: {
            'first-child': '[not(preceding-sibling::*)]',
            'last-child': '[not(following-sibling::*)]',
            'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
            'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",
            'checked': "[@checked]",
            'disabled': "[@disabled]",
            'enabled': "[not(@disabled)]",
            'not': function(m) {
                var e = m[6],
                    p = Selector.patterns,
                    x = Selector.xpath,
                    le, v;

                var exclusion = [];
                while (e && le != e && (/\S/).test(e)) {
                    le = e;
                    for (var i in p) {
                        if (m = e.match(p[i])) {
                            v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m);
                            exclusion.push("(" + v.substring(1, v.length - 1) + ")");
                            e = e.replace(m[0], '');
                            break;
                        }
                    }
                }
                return "[not(" + exclusion.join(" and ") + ")]";
            },
            'nth-child': function(m) {
                return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
            },
            'nth-last-child': function(m) {
                return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
            },
            'nth-of-type': function(m) {
                return Selector.xpath.pseudos.nth("position() ", m);
            },
            'nth-last-of-type': function(m) {
                return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
            },
            'first-of-type': function(m) {
                m[6] = "1";
                return Selector.xpath.pseudos['nth-of-type'](m);
            },
            'last-of-type': function(m) {
                m[6] = "1";
                return Selector.xpath.pseudos['nth-last-of-type'](m);
            },
            'only-of-type': function(m) {
                var p = Selector.xpath.pseudos;
                return p['first-of-type'](m) + p['last-of-type'](m);
            },
            nth: function(fragment, m) {
                var mm, formula = m[6],
                    predicate;
                if (formula == 'even') formula = '2n+0';
                if (formula == 'odd') formula = '2n+1';
                if (mm = formula.match(/^(\d+)$/)) // digit only
                    return '[' + fragment + "= " + mm[1] + ']';
                if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
                    if (mm[1] == "-") mm[1] = -1;
                    var a = mm[1] ? Number(mm[1]) : 1;
                    var b = mm[2] ? Number(mm[2]) : 0;
                    predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
                        "((#{fragment} - #{b}) div #{a} >= 0)]";
                    return new Template(predicate).evaluate({
                        fragment: fragment,
                        a: a,
                        b: b
                    });
                }
            }
        }
    },

    criteria: {
        tagName: 'n = h.tagName(n, r, "#{1}", c);      c = false;',
        className: 'n = h.className(n, r, "#{1}", c);    c = false;',
        id: 'n = h.id(n, r, "#{1}", c);           c = false;',
        attrPresence: 'n = h.attrPresence(n, r, "#{1}", c); c = false;',
        attr: function(m) {
            m[3] = (m[5] || m[6]);
            return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);
        },
        pseudo: function(m) {
            if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
            return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
        },
        descendant: 'c = "descendant";',
        child: 'c = "child";',
        adjacent: 'c = "adjacent";',
        laterSibling: 'c = "laterSibling";'
    },

    patterns: {
        // combinators must be listed first
        // (and descendant needs to be last combinator)
        laterSibling: /^\s*~\s*/,
        child: /^\s*>\s*/,
        adjacent: /^\s*\+\s*/,
        descendant: /^\s/,

        // selectors follow
        tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,
        id: /^#([\w\-\*]+)(\b|$)/,
        className: /^\.([\w\-\*]+)(\b|$)/,
        pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,
        attrPresence: /^\[([\w]+)\]/,
        attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/
    },

    // for Selector.match and Element#match
    assertions: {
        tagName: function(element, matches) {
            return matches[1].toUpperCase() == element.tagName.toUpperCase();
        },

        className: function(element, matches) {
            return Element.hasClassName(element, matches[1]);
        },

        id: function(element, matches) {
            return element.id === matches[1];
        },

        attrPresence: function(element, matches) {
            return Element.hasAttribute(element, matches[1]);
        },

        attr: function(element, matches) {
            var nodeValue = Element.readAttribute(element, matches[1]);
            return nodeValue && Selector.operators[matches[2]](nodeValue, matches[5] || matches[6]);
        }
    },

    handlers: {
        // UTILITY FUNCTIONS
        // joins two collections
        concat: function(a, b) {
            for (var i = 0, node; node = b[i]; i++)
                a.push(node);
            return a;
        },

        // marks an array of nodes for counting
        mark: function(nodes) {
            var _true = Prototype.emptyFunction;
            for (var i = 0, node; node = nodes[i]; i++)
                node._countedByPrototype = _true;
            return nodes;
        },

        unmark: function(nodes) {
            for (var i = 0, node; node = nodes[i]; i++)
                node._countedByPrototype = undefined;
            return nodes;
        },

        // mark each child node with its position (for nth calls)
        // "ofType" flag indicates whether we're indexing for nth-of-type
        // rather than nth-child
        index: function(parentNode, reverse, ofType) {
            parentNode._countedByPrototype = Prototype.emptyFunction;
            if (reverse) {
                for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
                    var node = nodes[i];
                    if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
                }
            } else {
                for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
                    if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
            }
        },

        // filters out duplicates and extends all nodes
        unique: function(nodes) {
            if (nodes.length == 0) return nodes;
            var results = [],
                n;
            for (var i = 0, l = nodes.length; i < l; i++)
                if (!(n = nodes[i])._countedByPrototype) {
                    n._countedByPrototype = Prototype.emptyFunction;
                    results.push(Element.extend(n));
                }
            return Selector.handlers.unmark(results);
        },

        // COMBINATOR FUNCTIONS
        descendant: function(nodes) {
            var h = Selector.handlers;
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                h.concat(results, node.getElementsByTagName('*'));
            return results;
        },

        child: function(nodes) {
            var h = Selector.handlers;
            for (var i = 0, results = [], node; node = nodes[i]; i++) {
                for (var j = 0, child; child = node.childNodes[j]; j++)
                    if (child.nodeType == 1 && child.tagName != '!') results.push(child);
            }
            return results;
        },

        adjacent: function(nodes) {
            for (var i = 0, results = [], node; node = nodes[i]; i++) {
                var next = this.nextElementSibling(node);
                if (next) results.push(next);
            }
            return results;
        },

        laterSibling: function(nodes) {
            var h = Selector.handlers;
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                h.concat(results, Element.nextSiblings(node));
            return results;
        },

        nextElementSibling: function(node) {
            while (node = node.nextSibling)
                if (node.nodeType == 1) return node;
            return null;
        },

        previousElementSibling: function(node) {
            while (node = node.previousSibling)
                if (node.nodeType == 1) return node;
            return null;
        },

        // TOKEN FUNCTIONS
        tagName: function(nodes, root, tagName, combinator) {
            var uTagName = tagName.toUpperCase();
            var results = [],
                h = Selector.handlers;
            if (nodes) {
                if (combinator) {
                    // fastlane for ordinary descendant combinators
                    if (combinator == "descendant") {
                        for (var i = 0, node; node = nodes[i]; i++)
                            h.concat(results, node.getElementsByTagName(tagName));
                        return results;
                    } else nodes = this[combinator](nodes);
                    if (tagName == "*") return nodes;
                }
                for (var i = 0, node; node = nodes[i]; i++)
                    if (node.tagName.toUpperCase() === uTagName) results.push(node);
                return results;
            } else return root.getElementsByTagName(tagName);
        },

        id: function(nodes, root, id, combinator) {
            var targetNode = $(id),
                h = Selector.handlers;
            if (!targetNode) return [];
            if (!nodes && root == document) return [targetNode];
            if (nodes) {
                if (combinator) {
                    if (combinator == 'child') {
                        for (var i = 0, node; node = nodes[i]; i++)
                            if (targetNode.parentNode == node) return [targetNode];
                    } else if (combinator == 'descendant') {
                        for (var i = 0, node; node = nodes[i]; i++)
                            if (Element.descendantOf(targetNode, node)) return [targetNode];
                    } else if (combinator == 'adjacent') {
                        for (var i = 0, node; node = nodes[i]; i++)
                            if (Selector.handlers.previousElementSibling(targetNode) == node)
                                return [targetNode];
                    } else nodes = h[combinator](nodes);
                }
                for (var i = 0, node; node = nodes[i]; i++)
                    if (node == targetNode) return [targetNode];
                return [];
            }
            return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
        },

        className: function(nodes, root, className, combinator) {
            if (nodes && combinator) nodes = this[combinator](nodes);
            return Selector.handlers.byClassName(nodes, root, className);
        },

        byClassName: function(nodes, root, className) {
            if (!nodes) nodes = Selector.handlers.descendant([root]);
            var needle = ' ' + className + ' ';
            for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
                nodeClassName = node.className;
                if (nodeClassName.length == 0) continue;
                if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
                    results.push(node);
            }
            return results;
        },

        attrPresence: function(nodes, root, attr, combinator) {
            if (!nodes) nodes = root.getElementsByTagName("*");
            if (nodes && combinator) nodes = this[combinator](nodes);
            var results = [];
            for (var i = 0, node; node = nodes[i]; i++)
                if (Element.hasAttribute(node, attr)) results.push(node);
            return results;
        },

        attr: function(nodes, root, attr, value, operator, combinator) {
            if (!nodes) nodes = root.getElementsByTagName("*");
            if (nodes && combinator) nodes = this[combinator](nodes);
            var handler = Selector.operators[operator],
                results = [];
            for (var i = 0, node; node = nodes[i]; i++) {
                var nodeValue = Element.readAttribute(node, attr);
                if (nodeValue === null) continue;
                if (handler(nodeValue, value)) results.push(node);
            }
            return results;
        },

        pseudo: function(nodes, name, value, root, combinator) {
            if (nodes && combinator) nodes = this[combinator](nodes);
            if (!nodes) nodes = root.getElementsByTagName("*");
            return Selector.pseudos[name](nodes, value, root);
        }
    },

    pseudos: {
        'first-child': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++) {
                if (Selector.handlers.previousElementSibling(node)) continue;
                results.push(node);
            }
            return results;
        },
        'last-child': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++) {
                if (Selector.handlers.nextElementSibling(node)) continue;
                results.push(node);
            }
            return results;
        },
        'only-child': function(nodes, value, root) {
            var h = Selector.handlers;
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
                    results.push(node);
            return results;
        },
        'nth-child': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, formula, root);
        },
        'nth-last-child': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, formula, root, true);
        },
        'nth-of-type': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, formula, root, false, true);
        },
        'nth-last-of-type': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, formula, root, true, true);
        },
        'first-of-type': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, "1", root, false, true);
        },
        'last-of-type': function(nodes, formula, root) {
            return Selector.pseudos.nth(nodes, "1", root, true, true);
        },
        'only-of-type': function(nodes, formula, root) {
            var p = Selector.pseudos;
            return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
        },

        // handles the an+b logic
        getIndices: function(a, b, total) {
            if (a == 0) return b > 0 ? [b] : [];
            return $R(1, total).inject([], function(memo, i) {
                if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
                return memo;
            });
        },

        // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type
        nth: function(nodes, formula, root, reverse, ofType) {
            if (nodes.length == 0) return [];
            if (formula == 'even') formula = '2n+0';
            if (formula == 'odd') formula = '2n+1';
            var h = Selector.handlers,
                results = [],
                indexed = [],
                m;
            h.mark(nodes);
            for (var i = 0, node; node = nodes[i]; i++) {
                if (!node.parentNode._countedByPrototype) {
                    h.index(node.parentNode, reverse, ofType);
                    indexed.push(node.parentNode);
                }
            }
            if (formula.match(/^\d+$/)) { // just a number
                formula = Number(formula);
                for (var i = 0, node; node = nodes[i]; i++)
                    if (node.nodeIndex == formula) results.push(node);
            } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
                if (m[1] == "-") m[1] = -1;
                var a = m[1] ? Number(m[1]) : 1;
                var b = m[2] ? Number(m[2]) : 0;
                var indices = Selector.pseudos.getIndices(a, b, nodes.length);
                for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
                    for (var j = 0; j < l; j++)
                        if (node.nodeIndex == indices[j]) results.push(node);
                }
            }
            h.unmark(nodes);
            h.unmark(indexed);
            return results;
        },

        'empty': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++) {
                // IE treats comments as element nodes
                if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue;
                results.push(node);
            }
            return results;
        },

        'not': function(nodes, selector, root) {
            var h = Selector.handlers,
                selectorType, m;
            var exclusions = new Selector(selector).findElements(root);
            h.mark(exclusions);
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                if (!node._countedByPrototype) results.push(node);
            h.unmark(exclusions);
            return results;
        },

        'enabled': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                if (!node.disabled) results.push(node);
            return results;
        },

        'disabled': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                if (node.disabled) results.push(node);
            return results;
        },

        'checked': function(nodes, value, root) {
            for (var i = 0, results = [], node; node = nodes[i]; i++)
                if (node.checked) results.push(node);
            return results;
        }
    },

    operators: {
        '=': function(nv, v) {
            return nv == v;
        },
        '!=': function(nv, v) {
            return nv != v;
        },
        '^=': function(nv, v) {
            return nv.startsWith(v);
        },
        '$=': function(nv, v) {
            return nv.endsWith(v);
        },
        '*=': function(nv, v) {
            return nv.include(v);
        },
        '~=': function(nv, v) {
            return (' ' + nv + ' ').include(' ' + v + ' ');
        },
        '|=': function(nv, v) {
            return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-');
        }
    },

    split: function(expression) {
        var expressions = [];
        expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
            expressions.push(m[1].strip());
        });
        return expressions;
    },

    matchElements: function(elements, expression) {
        var matches = $$(expression),
            h = Selector.handlers;
        h.mark(matches);
        for (var i = 0, results = [], element; element = elements[i]; i++)
            if (element._countedByPrototype) results.push(element);
        h.unmark(matches);
        return results;
    },

    findElement: function(elements, expression, index) {
        if (Object.isNumber(expression)) {
            index = expression;
            expression = false;
        }
        return Selector.matchElements(elements, expression || '*')[index || 0];
    },

    findChildElements: function(element, expressions) {
        expressions = Selector.split(expressions.join(','));
        var results = [],
            h = Selector.handlers;
        for (var i = 0, l = expressions.length, selector; i < l; i++) {
            selector = new Selector(expressions[i].strip());
            h.concat(results, selector.findElements(element));
        }
        return (l > 1) ? h.unique(results) : results;
    }
});

if (Prototype.Browser.IE) {
    Object.extend(Selector.handlers, {
        // IE returns comment nodes on getElementsByTagName("*").
        // Filter them out.
        concat: function(a, b) {
            for (var i = 0, node; node = b[i]; i++)
                if (node.tagName !== "!") a.push(node);
            return a;
        },

        // IE improperly serializes _countedByPrototype in (inner|outer)HTML.
        unmark: function(nodes) {
            for (var i = 0, node; node = nodes[i]; i++)
                node.removeAttribute('_countedByPrototype');
            return nodes;
        }
    });
}

function $$() {
    return Selector.findChildElements(document, $A(arguments));
}
var Form = {
    reset: function(form) {
        $(form).reset();
        return form;
    },

    serializeElements: function(elements, options) {
        if (typeof options != 'object') options = {
            hash: !!options
        };
        else if (Object.isUndefined(options.hash)) options.hash = true;
        var key, value, submitted = false,
            submit = options.submit;

        var data = elements.inject({}, function(result, element) {
            if (!element.disabled && element.name) {
                key = element.name;
                value = $(element).getValue();
                if (value != null && (element.type != 'submit' || (!submitted &&
                        submit !== false && (!submit || key == submit) && (submitted = true)))) {
                    if (key in result) {
                        // a key is already present; construct an array of values
                        if (!Object.isArray(result[key])) result[key] = [result[key]];
                        result[key].push(value);
                    } else result[key] = value;
                }
            }
            return result;
        });

        return options.hash ? data : Object.toQueryString(data);
    }
};

Form.Methods = {
    serialize: function(form, options) {
        return Form.serializeElements(Form.getElements(form), options);
    },

    getElements: function(form) {
        return $A($(form).getElementsByTagName('*')).inject([],
            function(elements, child) {
                if (Form.Element.Serializers[child.tagName.toLowerCase()])
                    elements.push(Element.extend(child));
                return elements;
            }
        );
    },

    getInputs: function(form, typeName, name) {
        form = $(form);
        var inputs = form.getElementsByTagName('input');

        if (!typeName && !name) return $A(inputs).map(Element.extend);

        for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
            var input = inputs[i];
            if ((typeName && input.type != typeName) || (name && input.name != name))
                continue;
            matchingInputs.push(Element.extend(input));
        }

        return matchingInputs;
    },

    disable: function(form) {
        form = $(form);
        Form.getElements(form).invoke('disable');
        return form;
    },

    enable: function(form) {
        form = $(form);
        Form.getElements(form).invoke('enable');
        return form;
    },

    findFirstElement: function(form) {
        var elements = $(form).getElements().findAll(function(element) {
            return 'hidden' != element.type && !element.disabled;
        });
        var firstByIndex = elements.findAll(function(element) {
            return element.hasAttribute('tabIndex') && element.tabIndex >= 0;
        }).sortBy(function(element) {
            return element.tabIndex
        }).first();

        return firstByIndex ? firstByIndex : elements.find(function(element) {
            return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
        });
    },

    focusFirstElement: function(form) {
        form = $(form);
        form.findFirstElement().activate();
        return form;
    },

    request: function(form, options) {
        form = $(form), options = Object.clone(options || {});

        var params = options.parameters,
            action = form.readAttribute('action') || '';
        if (action.blank()) action = window.location.href;
        options.parameters = form.serialize(true);

        if (params) {
            if (Object.isString(params)) params = params.toQueryParams();
            Object.extend(options.parameters, params);
        }

        if (form.hasAttribute('method') && !options.method)
            options.method = form.method;

        return new Ajax.Request(action, options);
    }
};

/*--------------------------------------------------------------------------*/

Form.Element = {
    focus: function(element) {
        $(element).focus();
        return element;
    },

    select: function(element) {
        $(element).select();
        return element;
    }
};

Form.Element.Methods = {
    serialize: function(element) {
        element = $(element);
        if (!element.disabled && element.name) {
            var value = element.getValue();
            if (value != undefined) {
                var pair = {};
                pair[element.name] = value;
                return Object.toQueryString(pair);
            }
        }
        return '';
    },

    getValue: function(element) {
        element = $(element);
        var method = element.tagName.toLowerCase();
        return Form.Element.Serializers[method](element);
    },

    setValue: function(element, value) {
        element = $(element);
        var method = element.tagName.toLowerCase();
        Form.Element.Serializers[method](element, value);
        return element;
    },

    clear: function(element) {
        $(element).value = '';
        return element;
    },

    present: function(element) {
        return $(element).value != '';
    },

    activate: function(element) {
        element = $(element);
        try {
            element.focus();
            if (element.select && (element.tagName.toLowerCase() != 'input' ||
                    !['button', 'reset', 'submit'].include(element.type)))
                element.select();
        } catch (e) {}
        return element;
    },

    disable: function(element) {
        element = $(element);
        element.blur();
        element.disabled = true;
        return element;
    },

    enable: function(element) {
        element = $(element);
        element.disabled = false;
        return element;
    }
};

/*--------------------------------------------------------------------------*/

var Field = Form.Element;
var $F = Form.Element.Methods.getValue;

/*--------------------------------------------------------------------------*/

Form.Element.Serializers = {
    input: function(element, value) {
        switch (element.type.toLowerCase()) {
            case 'checkbox':
            case 'radio':
                return Form.Element.Serializers.inputSelector(element, value);
            default:
                return Form.Element.Serializers.textarea(element, value);
        }
    },

    inputSelector: function(element, value) {
        if (Object.isUndefined(value)) return element.checked ? element.value : null;
        else element.checked = !!value;
    },

    textarea: function(element, value) {
        if (Object.isUndefined(value)) return element.value;
        else element.value = value;
    },

    select: function(element, index) {
        if (Object.isUndefined(index))
            return this[element.type == 'select-one' ?
                'selectOne' : 'selectMany'](element);
        else {
            var opt, value, single = !Object.isArray(index);
            for (var i = 0, length = element.length; i < length; i++) {
                opt = element.options[i];
                value = this.optionValue(opt);
                if (single) {
                    if (value == index) {
                        opt.selected = true;
                        return;
                    }
                } else opt.selected = index.include(value);
            }
        }
    },

    selectOne: function(element) {
        var index = element.selectedIndex;
        return index >= 0 ? this.optionValue(element.options[index]) : null;
    },

    selectMany: function(element) {
        var values, length = element.length;
        if (!length) return null;

        for (var i = 0, values = []; i < length; i++) {
            var opt = element.options[i];
            if (opt.selected) values.push(this.optionValue(opt));
        }
        return values;
    },

    optionValue: function(opt) {
        // extend element because hasAttribute may not be native
        return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
    }
};

/*--------------------------------------------------------------------------*/

Abstract.TimedObserver = Class.create(PeriodicalExecuter, {
    initialize: function($super, element, frequency, callback) {
        $super(callback, frequency);
        this.element = $(element);
        this.lastValue = this.getValue();
    },

    execute: function() {
        var value = this.getValue();
        if (Object.isString(this.lastValue) && Object.isString(value) ?
            this.lastValue != value : String(this.lastValue) != String(value)) {
            this.callback(this.element, value);
            this.lastValue = value;
        }
    }
});

Form.Element.Observer = Class.create(Abstract.TimedObserver, {
    getValue: function() {
        return Form.Element.getValue(this.element);
    }
});

Form.Observer = Class.create(Abstract.TimedObserver, {
    getValue: function() {
        return Form.serialize(this.element);
    }
});

/*--------------------------------------------------------------------------*/

Abstract.EventObserver = Class.create({
    initialize: function(element, callback) {
        this.element = $(element);
        this.callback = callback;

        this.lastValue = this.getValue();
        if (this.element.tagName.toLowerCase() == 'form')
            this.registerFormCallbacks();
        else
            this.registerCallback(this.element);
    },

    onElementEvent: function() {
        var value = this.getValue();
        if (this.lastValue != value) {
            this.callback(this.element, value);
            this.lastValue = value;
        }
    },

    registerFormCallbacks: function() {
        Form.getElements(this.element).each(this.registerCallback, this);
    },

    registerCallback: function(element) {
        if (element.type) {
            switch (element.type.toLowerCase()) {
                case 'checkbox':
                case 'radio':
                    Event.observe(element, 'click', this.onElementEvent.bind(this));
                    break;
                default:
                    Event.observe(element, 'change', this.onElementEvent.bind(this));
                    break;
            }
        }
    }
});

Form.Element.EventObserver = Class.create(Abstract.EventObserver, {
    getValue: function() {
        return Form.Element.getValue(this.element);
    }
});

Form.EventObserver = Class.create(Abstract.EventObserver, {
    getValue: function() {
        return Form.serialize(this.element);
    }
});
if (!window.Event) var Event = {};

Object.extend(Event, {
    KEY_BACKSPACE: 8,
    KEY_TAB: 9,
    KEY_RETURN: 13,
    KEY_ESC: 27,
    KEY_LEFT: 37,
    KEY_UP: 38,
    KEY_RIGHT: 39,
    KEY_DOWN: 40,
    KEY_DELETE: 46,
    KEY_HOME: 36,
    KEY_END: 35,
    KEY_PAGEUP: 33,
    KEY_PAGEDOWN: 34,
    KEY_INSERT: 45,

    cache: {},

    relatedTarget: function(event) {
        var element;
        switch (event.type) {
            case 'mouseover':
                element = event.fromElement;
                break;
            case 'mouseout':
                element = event.toElement;
                break;
            default:
                return null;
        }
        return Element.extend(element);
    }
});

Event.Methods = (function() {
    var isButton;

    if (Prototype.Browser.IE) {
        var buttonMap = {
            0: 1,
            1: 4,
            2: 2
        };
        isButton = function(event, code) {
            return event.button == buttonMap[code];
        };

    } else if (Prototype.Browser.WebKit) {
        isButton = function(event, code) {
            switch (code) {
                case 0:
                    return event.which == 1 && !event.metaKey;
                case 1:
                    return event.which == 1 && event.metaKey;
                default:
                    return false;
            }
        };

    } else {
        isButton = function(event, code) {
            return event.which ? (event.which === code + 1) : (event.button === code);
        };
    }

    return {
        isLeftClick: function(event) {
            return isButton(event, 0)
        },
        isMiddleClick: function(event) {
            return isButton(event, 1)
        },
        isRightClick: function(event) {
            return isButton(event, 2)
        },

        element: function(event) {
            var node = Event.extend(event).target;
            return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node);
        },

        findElement: function(event, expression) {
            var element = Event.element(event);
            if (!expression) return element;
            var elements = [element].concat(element.ancestors());
            return Selector.findElement(elements, expression, 0);
        },

        pointer: function(event) {
            return {
                x: event.pageX || (event.clientX +
                    (document.documentElement.scrollLeft || document.body.scrollLeft)),
                y: event.pageY || (event.clientY +
                    (document.documentElement.scrollTop || document.body.scrollTop))
            };
        },

        pointerX: function(event) {
            return Event.pointer(event).x
        },
        pointerY: function(event) {
            return Event.pointer(event).y
        },

        stop: function(event) {
            Event.extend(event);
            event.preventDefault();
            event.stopPropagation();
            event.stopped = true;
        }
    };
})();

Event.extend = (function() {
    var methods = Object.keys(Event.Methods).inject({}, function(m, name) {
        m[name] = Event.Methods[name].methodize();
        return m;
    });

    if (Prototype.Browser.IE) {
        Object.extend(methods, {
            stopPropagation: function() {
                this.cancelBubble = true
            },
            preventDefault: function() {
                this.returnValue = false
            },
            inspect: function() {
                return "[object Event]"
            }
        });

        return function(event) {
            if (!event) return false;
            if (event._extendedByPrototype) return event;

            event._extendedByPrototype = Prototype.emptyFunction;
            var pointer = Event.pointer(event);
            Object.extend(event, {
                target: event.srcElement,
                relatedTarget: Event.relatedTarget(event),
                pageX: pointer.x,
                pageY: pointer.y
            });
            return Object.extend(event, methods);
        };

    } else {
        Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__;
        Object.extend(Event.prototype, methods);
        return Prototype.K;
    }
})();

Object.extend(Event, (function() {
    var cache = Event.cache;

    function getEventID(element) {
        if (element._prototypeEventID) return element._prototypeEventID[0];
        arguments.callee.id = arguments.callee.id || 1;
        return element._prototypeEventID = [++arguments.callee.id];
    }

    function getDOMEventName(eventName) {
        if (eventName && eventName.include(':')) return "dataavailable";
        return eventName;
    }

    function getCacheForID(id) {
        return cache[id] = cache[id] || {};
    }

    function getWrappersForEventName(id, eventName) {
        var c = getCacheForID(id);
        return c[eventName] = c[eventName] || [];
    }

    function createWrapper(element, eventName, handler) {
        var id = getEventID(element);
        var c = getWrappersForEventName(id, eventName);
        if (c.pluck("handler").include(handler)) return false;

        var wrapper = function(event) {
            if (!Event || !Event.extend ||
                (event.eventName && event.eventName != eventName))
                return false;

            Event.extend(event);
            handler.call(element, event);
        };

        wrapper.handler = handler;
        c.push(wrapper);
        return wrapper;
    }

    function findWrapper(id, eventName, handler) {
        var c = getWrappersForEventName(id, eventName);
        return c.find(function(wrapper) {
            return wrapper.handler == handler
        });
    }

    function destroyWrapper(id, eventName, handler) {
        var c = getCacheForID(id);
        if (!c[eventName]) return false;
        c[eventName] = c[eventName].without(findWrapper(id, eventName, handler));
    }

    function destroyCache() {
        for (var id in cache)
            for (var eventName in cache[id])
                cache[id][eventName] = null;
    }

    if (window.attachEvent) {
        window.attachEvent("onunload", destroyCache);
    }

    return {
        observe: function(element, eventName, handler) {
            element = $(element);
            var name = getDOMEventName(eventName);

            var wrapper = createWrapper(element, eventName, handler);
            if (!wrapper) return element;

            if (element.addEventListener) {
                element.addEventListener(name, wrapper, false);
            } else {
                element.attachEvent("on" + name, wrapper);
            }

            return element;
        },

        stopObserving: function(element, eventName, handler) {
            element = $(element);
            var id = getEventID(element),
                name = getDOMEventName(eventName);

            if (!handler && eventName) {
                getWrappersForEventName(id, eventName).each(function(wrapper) {
                    element.stopObserving(eventName, wrapper.handler);
                });
                return element;

            } else if (!eventName) {
                Object.keys(getCacheForID(id)).each(function(eventName) {
                    element.stopObserving(eventName);
                });
                return element;
            }

            var wrapper = findWrapper(id, eventName, handler);
            if (!wrapper) return element;

            if (element.removeEventListener) {
                element.removeEventListener(name, wrapper, false);
            } else {
                element.detachEvent("on" + name, wrapper);
            }

            destroyWrapper(id, eventName, handler);

            return element;
        },

        fire: function(element, eventName, memo) {
            element = $(element);
            if (element == document && document.createEvent && !element.dispatchEvent)
                element = document.documentElement;

            var event;
            if (document.createEvent) {
                event = document.createEvent("HTMLEvents");
                event.initEvent("dataavailable", true, true);
            } else {
                event = document.createEventObject();
                event.eventType = "ondataavailable";
            }

            event.eventName = eventName;
            event.memo = memo || {};

            if (document.createEvent) {
                element.dispatchEvent(event);
            } else {
                element.fireEvent(event.eventType, event);
            }

            return Event.extend(event);
        }
    };
})());

Object.extend(Event, Event.Methods);

Element.addMethods({
    fire: Event.fire,
    observe: Event.observe,
    stopObserving: Event.stopObserving
});

Object.extend(document, {
    fire: Element.Methods.fire.methodize(),
    observe: Element.Methods.observe.methodize(),
    stopObserving: Element.Methods.stopObserving.methodize(),
    loaded: false
});

(function() {
    /* Support for the DOMContentLoaded event is based on work by Dan Webb,
       Matthias Miller, Dean Edwards and John Resig. */

    var timer;

    function fireContentLoadedEvent() {
        if (document.loaded) return;
        if (timer) window.clearInterval(timer);
        document.fire("dom:loaded");
        document.loaded = true;
    }

    if (document.addEventListener) {
        if (Prototype.Browser.WebKit) {
            timer = window.setInterval(function() {
                if (/loaded|complete/.test(document.readyState))
                    fireContentLoadedEvent();
            }, 0);

            Event.observe(window, "load", fireContentLoadedEvent);

        } else {
            document.addEventListener("DOMContentLoaded",
                fireContentLoadedEvent, false);
        }

    } else {
        document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");
        $("__onDOMContentLoaded").onreadystatechange = function() {
            if (this.readyState == "complete") {
                this.onreadystatechange = null;
                fireContentLoadedEvent();
            }
        };
    }
})();
/*------------------------------- DEPRECATED -------------------------------*/

Hash.toQueryString = Object.toQueryString;

var Toggle = {
    display: Element.toggle
};

Element.Methods.childOf = Element.Methods.descendantOf;

var Insertion = {
    Before: function(element, content) {
        return Element.insert(element, {
            before: content
        });
    },

    Top: function(element, content) {
        return Element.insert(element, {
            top: content
        });
    },

    Bottom: function(element, content) {
        return Element.insert(element, {
            bottom: content
        });
    },

    After: function(element, content) {
        return Element.insert(element, {
            after: content
        });
    }
};

var $continue = new Error('"throw $continue" is deprecated, use "return" instead');

// This should be moved to script.aculo.us; notice the deprecated methods
// further below, that map to the newer Element methods.
var Position = {
    // set to true if needed, warning: firefox performance problems
    // NOT neeeded for page scrolling, only if draggable contained in
    // scrollable elements
    includeScrollOffsets: false,

    // must be called before calling withinIncludingScrolloffset, every time the
    // page is scrolled
    prepare: function() {
        this.deltaX = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
        this.deltaY = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
    },

    // caches x/y coordinate pair to use with overlap
    within: function(element, x, y) {
        if (this.includeScrollOffsets)
            return this.withinIncludingScrolloffsets(element, x, y);
        this.xcomp = x;
        this.ycomp = y;
        this.offset = Element.cumulativeOffset(element);

        return (y >= this.offset[1] &&
            y < this.offset[1] + element.offsetHeight &&
            x >= this.offset[0] &&
            x < this.offset[0] + element.offsetWidth);
    },

    withinIncludingScrolloffsets: function(element, x, y) {
        var offsetcache = Element.cumulativeScrollOffset(element);

        this.xcomp = x + offsetcache[0] - this.deltaX;
        this.ycomp = y + offsetcache[1] - this.deltaY;
        this.offset = Element.cumulativeOffset(element);

        return (this.ycomp >= this.offset[1] &&
            this.ycomp < this.offset[1] + element.offsetHeight &&
            this.xcomp >= this.offset[0] &&
            this.xcomp < this.offset[0] + element.offsetWidth);
    },

    // within must be called directly before
    overlap: function(mode, element) {
        if (!mode) return 0;
        if (mode == 'vertical')
            return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
                element.offsetHeight;
        if (mode == 'horizontal')
            return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
                element.offsetWidth;
    },

    // Deprecation layer -- use newer Element methods now (1.5.2).

    cumulativeOffset: Element.Methods.cumulativeOffset,

    positionedOffset: Element.Methods.positionedOffset,

    absolutize: function(element) {
        Position.prepare();
        return Element.absolutize(element);
    },

    relativize: function(element) {
        Position.prepare();
        return Element.relativize(element);
    },

    realOffset: Element.Methods.cumulativeScrollOffset,

    offsetParent: Element.Methods.getOffsetParent,

    page: Element.Methods.viewportOffset,

    clone: function(source, target, options) {
        options = options || {};
        return Element.clonePosition(target, source, options);
    }
};

/*--------------------------------------------------------------------------*/

if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods) {
    function iter(name) {
        return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
    }

    instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ?
        function(element, className) {
            className = className.toString().strip();
            var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className);
            return cond ? document._getElementsByXPath('.//*' + cond, element) : [];
        } : function(element, className) {
            className = className.toString().strip();
            var elements = [],
                classNames = (/\s/.test(className) ? $w(className) : null);
            if (!classNames && !className) return elements;

            var nodes = $(element).getElementsByTagName('*');
            className = ' ' + className + ' ';

            for (var i = 0, child, cn; child = nodes[i]; i++) {
                if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
                        (classNames && classNames.all(function(name) {
                            return !name.toString().blank() && cn.include(' ' + name + ' ');
                        }))))
                    elements.push(Element.extend(child));
            }
            return elements;
        };

    return function(className, parentElement) {
        return $(parentElement || document.body).getElementsByClassName(className);
    };
}(Element.Methods);

/*--------------------------------------------------------------------------*/

Element.ClassNames = Class.create();
Element.ClassNames.prototype = {
    initialize: function(element) {
        this.element = $(element);
    },

    _each: function(iterator) {
        this.element.className.split(/\s+/).select(function(name) {
            return name.length > 0;
        })._each(iterator);
    },

    set: function(className) {
        this.element.className = className;
    },

    add: function(classNameToAdd) {
        if (this.include(classNameToAdd)) return;
        this.set($A(this).concat(classNameToAdd).join(' '));
    },

    remove: function(classNameToRemove) {
        if (!this.include(classNameToRemove)) return;
        this.set($A(this).without(classNameToRemove).join(' '));
    },

    toString: function() {
        return $A(this).join(' ');
    }
};

Object.extend(Element.ClassNames.prototype, Enumerable);

/*--------------------------------------------------------------------------*/

Element.addMethods();
                                    

Executed Writes (6)

#1 JavaScript::Write (size: 26, repeated: 1) - SHA256: c0e62680980f7115169223a4c99ef65583a3f2b6fee612195185c7d44d0a0e7a

                                        < div id = "Ya_sync_0" > < /div>
                                    

#2 JavaScript::Write (size: 128, repeated: 1) - SHA256: f11a2e097e723d5e66fb60f768c59f6b0412c77c3cd742ce084603f472a44c5a

                                        < img src = 'http://counter.yadro.ru/hit?r;s1176*885*24;uhttp%3A//www.sql-tutorial.ru/;0.7658234441417112'
width = 1 height = 1 alt = '' >
                                    

#3 JavaScript::Write (size: 77, repeated: 1) - SHA256: 7b06c94ea0d9b6e9cca9b98157e7a3ec7eb7eb40ddb4ef06582315dc84d09c14

                                        < script src = "https://yastatic.net/q/set/s/rsya-tag-users/bundle.js" > < /script>
                                    

#4 JavaScript::Write (size: 690, repeated: 1) - SHA256: 1a6818764e34588d9b3ccd8cdf640e1e88f3896fcaf378c3db7161cada6aac88

                                        < script type = "text/javascript"
charset = "utf-8"
src = "https://an.yandex.ru/page/148438?target-ref=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&duid=MTUyODg4MjIzODM0MzgxMjAwMg%3D%3D&partner-stat-id=1&enable-flat-highlight=1&test-tag=353630427283457&ad-session-id=9935841528882239189&stat-id=1073741825&grab=dEludGVyYWN0aXZlIHR1dG9yaWFsIG9uIFNRTAoyIFNRTCBQcm9ibGVtcyBhbmQgc29sdXRpb25zIAozUy4gSS4gTW9pc2VlbmtvIAo=&layout-config=%7B%22win_width%22%3A1176%2C%22win_height%22%3A754%2C%22width%22%3A240%2C%22height%22%3A0%2C%22left%22%3A905%2C%22top%22%3A1353%2C%22visible%22%3A0%2C%22ad_no%22%3A0%2C%22limit%22%3A2%2C%22block%22%3A24%2C%22req_no%22%3A0%7D&callback=Ya[1528882248253]" > < /script>
                                    

#5 JavaScript::Write (size: 79, repeated: 1) - SHA256: 4a46bc21c0a53113f1ee2f303172853eda17c82c258ba0174e0bca4fd9e94ae7

                                        < script type = "text/javascript"
src = "//an.yandex.ru/system/context.js" > < /script>
                                    

#6 JavaScript::Write (size: 161, repeated: 1) - SHA256: 1b2897a6bec643c3db8aa1d54aad1cc70dea9f1a80d3bdff7b0427e70aba660f

                                        < script type = "text/javascript"
src = "https://an.yandex.ru/resource/context_static_r_4739.js"
id = "https://an.yandex.ru/resource/context_static_r_4739.js" > < /script>
                                    


HTTP Transactions (157)


Request Response
                                        
                                            GET / HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: text/html; charset=windows-1251
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57; path=/
Transfer-Encoding: chunked


--- Additional Info ---
Magic:  HTML document text\012 exported SGML document text
Size:   15871
Md5:    99626879bcc5dbd4c177eccda0448184
Sha1:   d234290eaf0fc7f40293933a35c4819dcc3c21b9
Sha256: 90cb12c7d7ef03b82794d5b5224be01d3463e2b45e2d30f7788ad65fb9836f51
                                        
                                            GET /view/gimages/indicator2.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:48:31 GMT
Etag: "b18235a-2bd-4589af7b6c1c0"
Accept-Ranges: bytes
Content-Length: 701
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 22 x 22
Size:   701
Md5:    7a4aade4e5a87578e8f439e2d1bdaf4e
Sha1:   da2ee44bff6c6164b23f4ebfc36452820f9bd158
Sha256: d65d3a667ebaf88c894da4796e46ccb7ed9e2d80b5336e662f44d82d7859bf2b
                                        
                                            GET /favicon.ico HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/x-icon
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:14:41 GMT
Etag: "4aba02c4-338-4589a7eb76a40"
Accept-Ranges: bytes
Content-Length: 824


--- Additional Info ---
Magic:  PC bitmap, Windows 3.x format, 16 x 16 x 24
Size:   824
Md5:    66c8b92f7d92320aef931a537480ce4b
Sha1:   e6587e545309b7f4b1bb045d88e1379bdec3f49b
Sha256: 9fb27c8b9be15112908e7451256302808d861f980088e0421b5174dc2dc3c676
                                        
                                            GET /view/gimages/flags/rus.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:28 GMT
Etag: "6ab4cc4b-193-4589b02439000"
Accept-Ranges: bytes
Content-Length: 403
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  PNG image, 24 x 24, 8-bit/color RGBA, non-interlaced
Size:   403
Md5:    d8df89b036e6afb48f72d2440831bad0
Sha1:   04abb4b29dae9c6f1ac0f1d8a507aabe26a3be35
Sha256: 2db4b55326c0ef7cd3caf53e835ae1f38629da1d1c2f5a127e0785165b16078c
                                        
                                            GET /view/gimages/flags/brit.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:26 GMT
Etag: "6ab4cc4a-499-4589b02250b80"
Accept-Ranges: bytes
Content-Length: 1177
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  PNG image, 24 x 24, 8-bit/color RGBA, non-interlaced
Size:   1177
Md5:    33a79546e65bf38629ec0bf90a0bcc3d
Sha1:   5afd0a44d0f4c8cadd3fea1ec866ddeb67e4afdd
Sha256: 9d5579d2ae226889e9cc592035a86cbe20c570edbdeb6394ec7ebc23c4246571
                                        
                                            GET /view/gimages/sql-ex.en.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Thu, 09 Oct 2008 17:32:36 GMT
Etag: "b182375-25f2-458d56b297500"
Accept-Ranges: bytes
Content-Length: 9714
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 225 x 80
Size:   9714
Md5:    b4b616a907d62633197de6c873701425
Sha1:   b70d77fcb1a38a1f0c8853577e9e935c75376f80
Sha256: 3b17ae301d96619c3dda8443c8d46c942fed775ce21f133b8c8b30c5302f4898
                                        
                                            POST / HTTP/1.1 
Host: status.rapidssl.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Cache-Control: max-age=142528
Date: Wed, 13 Jun 2018 09:30:36 GMT
Etag: "5b205d6d-1d7"
Expires: Fri, 15 Jun 2018 01:03:26 GMT
Last-Modified: Tue, 12 Jun 2018 23:55:25 GMT
Server: ECS (arn/459B)
X-Cache: HIT
Content-Length: 471


--- Additional Info ---
Magic:  data
Size:   471
Md5:    da5a6af3ce8b3fa615b06bf8c6f531df
Sha1:   0ae3d191307b721b709e43da7fa49aa2245f008d
Sha256: e0c807ebe2c8744af15e6a5a63690c7fa6ee7d77622c67a2e039da49214dd818
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Cache-Control: max-age=169445
Date: Wed, 13 Jun 2018 09:30:36 GMT
Etag: "5b20a9a0-1d7"
Expires: Fri, 15 Jun 2018 08:07:56 GMT
Last-Modified: Wed, 13 Jun 2018 05:20:32 GMT
Server: ECS (arn/46A2)
X-Cache: HIT
Content-Length: 471


--- Additional Info ---
Magic:  data
Size:   471
Md5:    6b0c557370b006b2f9850cb0e5c98403
Sha1:   99f7e57019c23e725f97188180e9edb577e8cc2f
Sha256: 3dad65bc66532df2cf7639be63e1b33460ed1f50e3131d9bef5dd6d04ab27cc6
                                        
                                            GET /widgets/v1/zp.js?pid=48721 HTTP/1.1 
Host: w.uptolike.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         95.163.114.203
HTTP/1.1 200 OK
Content-Type: application/javascript;charset=utf-8
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:36 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: utl_id2=5030035327; Expires=Fri, 12 Jun 2020 09:30:36 GMT; Path=/; Domain=.w.uptolike.com utl_dat="CNOZ7sO/LBAAINPquMy/LCjT6rjMvywwACNr0GvcK6xml09jfMsLEeI="; Expires=Fri, 12 Jun 2020 09:30:36 GMT; Path=/; Domain=.w.uptolike.com
Cache-Control: max-age=31556926
P3P: CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'
Access-Control-Allow-Origin: *
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   11155
Md5:    a678b490cbdb0ca9d70c68447897be9a
Sha1:   e2525a3defe42fbd3da570ebb9e36b854d1eb86c
Sha256: c80429919952ad4a16bf9d4cdaa7da117ed64f4e39cd501a7e827e5d23b5ec4a
                                        
                                            GET /view/ds/default/css/site.css HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: text/css
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Sat, 19 Feb 2011 17:38:22 GMT
Etag: "2a9f1f42-714a-49ca618dc33e3"
Accept-Ranges: bytes
Content-Length: 29002
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  ASCII C program text, with very long lines
Size:   29002
Md5:    875ea311b27ca28db25208fdf64bf270
Sha1:   918136de858e9dd47fdd7a1b61cdc91d3b69dd50
Sha256: 488939c333a731b476cce906754516cd1a19ab19fb81e0d75547f7f5282b29c2
                                        
                                            GET /view/gimages/sql-ex.ru.rushka.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:49:01 GMT
Etag: "b182378-5daf-4589af9808540"
Accept-Ranges: bytes
Content-Length: 23983
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:36 GMT


--- Additional Info ---
Magic:  PNG image, 158 x 107, 8-bit/color RGBA, non-interlaced
Size:   23983
Md5:    ba1e816a9c39168a913724e64df56b84
Sha1:   192ebc9579701abb774c5cb0a56bc172aa9c5799
Sha256: 89fd89d54f7a22e332557b774272fbed9741eaadf822a19c8d08e7a875e9af04
                                        
                                            GET /view/js/all_pp.js HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 13 Jun 2018 09:30:36 GMT
Server: Apache
Last-Modified: Sun, 10 Oct 2010 10:53:25 GMT
Etag: "277b0b75-2064a-492410d91cd01"
Accept-Ranges: bytes
Content-Length: 132682
X-Pad: avoid browser bug


--- Additional Info ---
Magic:  ASCII English text, with very long lines
Size:   132682
Md5:    40fff2077bc36672dc0803c4edc5921e
Sha1:   6861726f03a8cf6e0a885dcc66b71d876efb2d4b
Sha256: 100d8657fab7c869f096ea7a71eeb252af29ddd8e484e810ac3ab8045551d3dd
                                        
                                            GET /view/gimages/sql-ex.ru.hv.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:48:58 GMT
Etag: "b182377-ac8-4589af952be80"
Accept-Ranges: bytes
Content-Length: 2760
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 225 x 80
Size:   2760
Md5:    17825097f87b5cf9053cab2a59d8d0fe
Sha1:   c623012406fce9bce9c7110c652c30a66996b834
Sha256: 185e2ff66a0bb6e591a3ae1624054b3a3acd2d7a907ef234fe751bbb90eb1dab
                                        
                                            GET /view/gimages/menu/central_1_h.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:59 GMT
Etag: "4aba6256-449-4589b041c95c0"
Accept-Ranges: bytes
Content-Length: 1097
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  PNG image, 12 x 57, 8-bit/color RGB, non-interlaced
Size:   1097
Md5:    a3471bc94a2e0233e7c0e6fae65e2b90
Sha1:   e260ffa30e74ce438df225fc2d2f9bde9e9bdad8
Sha256: b51ce8b48423551120a3c49f8f3dd206a36ca4d1ed27b99ba8efe32129ace68d
                                        
                                            GET /view/gimages/body_bg1.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:47:09 GMT
Etag: "b182324-50f-4589af2d38940"
Accept-Ranges: bytes
Content-Length: 1295
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  PNG image, 5 x 1000, 8-bit/color RGB, non-interlaced
Size:   1295
Md5:    ecb2848577ad6dd5a3c4258c1c4cd6c2
Sha1:   9487cf7d2d94844d3faf5d46d03ab0ad21f5710d
Sha256: 76f295ef637420bdf5dce13dd63d2a97ce05de60340d611c136062c74e0f34c0
                                        
                                            GET /metrika/watch.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         93.158.134.119
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:37 GMT
Content-Length: 184
Connection: keep-alive
Location: https://mc.yandex.ru/metrika/watch.js


--- Additional Info ---
Magic:  HTML document text
Size:   184
Md5:    803493a1e438da1e67b84a76fa86bdda
Sha1:   9dca8b04cd8f0f715f14546b5f747aabbba7de47
Sha256: 82e7512bb763ef84d4ff4c9f8998fbff4b461ee5416741db743d5e4584d2ec45
                                        
                                            GET /view/gimages/head/head2.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:44 GMT
Etag: "2a9f1f5a-db3-4589b0337b400"
Accept-Ranges: bytes
Content-Length: 3507
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   3507
Md5:    fffa61f32d8aa5e939bb24a4d4d284a5
Sha1:   f23c14cba1c16d8bbd66232d3135c0029454d119
Sha256: 27e48535e56eadbec6856d1f7fd1a9371baa9eaee6e50d6a03ef91d663f7b94a
                                        
                                            GET /view/gimages/head/head1.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:43 GMT
Etag: "2a9f1f59-e36-4589b032871c0"
Accept-Ranges: bytes
Content-Length: 3638
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   3638
Md5:    6267e07b35df9f81a6558070f6a6a91b
Sha1:   bcf660075dd0c6e6e887e0ff23a90601c379cce9
Sha256: 9e5b53dce0b90287ae0bbe0899b130aa923299ecd96acf36ac34bb59c4bf9cd1
                                        
                                            GET /cse.js?cx=partner-pub-7619086738530461:vadi8khfo0y HTTP/1.1 
Host: cse.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         172.217.20.46
HTTP/1.1 200 OK
Content-Type: text/javascript; charset=UTF-8
                                        
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Content-Disposition: attachment; filename="f.txt"
Content-Encoding: gzip
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: gws
Cache-Control: private
Content-Length: 1673
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Expires: Wed, 13 Jun 2018 09:30:37 GMT
Set-Cookie: 1P_JAR=2018-06-13-09; expires=Fri, 13-Jul-2018 09:30:37 GMT; path=/; domain=.google.com NID=132=F8N8P1Vs4H-u4wxGiIz3ifIzLoVuFMtUUD1wGEMa-4L88FzMAqkoor4A1qkZKIMpGXwDxLML9Nilpkx0Cclq86zPDOpkB7xCVtHEFUVT5szDZraKoWLyP59Z_G6W7Xso; expires=Thu, 13-Dec-2018 09:30:37 GMT; path=/; domain=.google.com; HttpOnly


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   1673
Md5:    2aa94438535b35c0597798d9e321dd8a
Sha1:   454c4406b0375d1fd3d05aed9754adbe7a45a28a
Sha256: 596474b7994852f210b8bec742265cf5958b62923409515a125b3fcf123185d7
                                        
                                            GET /widgets/v1/version.js?cb=cb__utl_cb_share_1528882237482217 HTTP/1.1 
Host: w.uptolike.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: utl_id2=5030035327; utl_dat="CNOZ7sO/LBAAINPquMy/LCjT6rjMvywwACNr0GvcK6xml09jfMsLEeI="

                                         
                                         95.163.114.203
HTTP/1.1 200 OK
Content-Type: application/javascript;charset=utf-8
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:37 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Expires: Tue, 08 May 2018 09:08:04 GMT
Cache-Control: no-cache,no-store,max-age=0,must-revalidate
Pragma: no-cache
Set-Cookie: utl_id2=5030035327; Expires=Fri, 12 Jun 2020 09:30:37 GMT; Path=/; Domain=.w.uptolike.com utl_dat="CNOZ7sO/LBAAINPquMy/LCjT6rjMvywwACNr0GvcK6xml09jfMsLEeI="; Expires=Fri, 12 Jun 2020 09:30:37 GMT; Path=/; Domain=.w.uptolike.com
P3P: CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'
Access-Control-Allow-Origin: *
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   85
Md5:    0d6c6eb903f27fd7d0077e9dd0435296
Sha1:   deb9793b1fca1c3cc65a7ee96aafe4e04953b21f
Sha256: 47fb8e7cce68ecd142c04a4640b2871d713181eec9e1664629999d93df0c8dea
                                        
                                            GET /v1/s/loader.js HTTP/1.1 
Host: ddnk.advertur.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         178.162.205.42
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:37 GMT
Last-Modified: Mon, 21 May 2018 10:45:28 GMT
Transfer-Encoding: chunked
Connection: close
Etag: W/"5b02a348-dafd"
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   10317
Md5:    94206e095691cd1d16a2b58835adddcf
Sha1:   1918008db89c6ffc2f3880a057d8116939db1689
Sha256: fbc2d7f449cff0a6a5be9704993557bc963ca67450c5f25f1d5ab1d75211bf8f
                                        
                                            GET /system/context.js HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         87.250.250.90
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:37 GMT
Content-Length: 4791
Connection: keep-alive
Last-Modified: Sun, 10 Jun 2018 09:54:42 GMT
Etag: "5b1cf562-12b7"
Content-Encoding: gzip
Expires: Wed, 13 Jun 2018 10:10:13 GMT
Cache-Control: max-age=3600, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding


--- Additional Info ---
Magic:  gzip compressed data, from Unix, max compression
Size:   4791
Md5:    dbd609295b3744151062076d4b635d13
Sha1:   232faa4b018bb27eeef48a1f28f2b98ddb08efb6
Sha256: 5ae41c9e53e6f769df751b1ecf46e08b8fa4dfaabb66c756e19bf95ef7040c04
                                        
                                            GET /view/gimages/menu/left_part.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:52:01 GMT
Etag: "4aba625a-ea-4589b043b1a40"
Accept-Ranges: bytes
Content-Length: 234
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 5 x 57
Size:   234
Md5:    951d7ee870da203e5d06aa1f5dd91df8
Sha1:   137b5f3790d3f52b858073f879a0023ccdd3fc8b
Sha256: a55788c49521880cd65ff5203ba4fc57495f6ae264a4328d4e33ed584973a283
                                        
                                            GET /view/gimages/head/bg_head.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:38 GMT
Etag: "2a9f1f56-4ede-4589b02dc2680"
Accept-Ranges: bytes
Content-Length: 20190
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   20190
Md5:    b3e1db651a2a53e2d8842676b62032f4
Sha1:   2f1f21d844eeee68b2f65bdf902870d693a8505a
Sha256: d096352cf2f73a29a65a82381ac6adda038262ae6d384eeca777265ee062760d
                                        
                                            GET /view/gimages/menu/right_part.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:52:03 GMT
Etag: "4aba625b-e7-4589b04599ec0"
Accept-Ranges: bytes
Content-Length: 231
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 5 x 57
Size:   231
Md5:    6c1489449ea91c8fef4692a29bc9146c
Sha1:   3a4025250eee1088c98eb9a22ef6c40892eb1a97
Sha256: c4d2dc73acd62dd6727a05ec91105f4d6a42d4405f80706f6914d176413a22b2
                                        
                                            GET /view/gimages/menu/central_1.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:57 GMT
Etag: "4aba6255-664-4589b03fe1140"
Accept-Ranges: bytes
Content-Length: 1636
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  PNG image, 18 x 57, 8-bit/color RGB, non-interlaced
Size:   1636
Md5:    946b2535e92d5f4bd58b1b7b472e99e2
Sha1:   511529d10e9a0197dccf62763cdabe1a3b995ac9
Sha256: 05bf761e9865b8c4beba4c7888969bd102bf00c216c85ba08ce65ad7884f240e
                                        
                                            GET /view/gimages/head/book_ugolok.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:40 GMT
Etag: "2a9f1f57-edf-4589b02faab00"
Accept-Ranges: bytes
Content-Length: 3807
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   3807
Md5:    d63f12bf6756086d453ee7b5b1d86d36
Sha1:   b531caddf44286e8437e61b48cc1652438d8dc59
Sha256: 2ad4d6cc23708f4ab2821ffe17b5df6fde933c859fdcdd415fafe1f62c438cba
                                        
                                            GET /view/gimages/head/head3.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:45 GMT
Etag: "2a9f1f5b-c11-4589b0346f640"
Accept-Ranges: bytes
Content-Length: 3089
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   3089
Md5:    ac87cf9403a4b1b5c78828697993225b
Sha1:   86fdca72db0efe6fb002ccae43dbe08792665b5e
Sha256: 2db183b01e2f983b2108f056984d34abcf6bd1ec1bbdb8a70801b2aa1db0db75
                                        
                                            GET /view/gimages/head/head4.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:46 GMT
Etag: "2a9f1f5c-dca-4589b03563880"
Accept-Ranges: bytes
Content-Length: 3530
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   3530
Md5:    ee799527480582d14dda1989c8054860
Sha1:   70140edbbd532adfd96fdce3d78cf1a493b4a027
Sha256: a798b36772a61f58afecfd8c703d11fd07f8860d7f5cad253100e9ae3dc124ec
                                        
                                            GET /view/gimages/head/head5.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:51:48 GMT
Etag: "2a9f1f5d-1062-4589b0374bd00"
Accept-Ranges: bytes
Content-Length: 4194
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:37 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   4194
Md5:    ad1bebf8a3ad6a515b80416131055785
Sha1:   7b03b32f382ef2be42175b0a6ee8e332154adb58
Sha256: 855f3c7b3c279cbf2fbc99bcf8350d39980cf2a01b2c9629475842dcfc63ee31
                                        
                                            POST /gsorganizationvalsha2g2 HTTP/1.1 
Host: ocsp2.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 111
Content-Type: application/ocsp-request

                                         
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:37 GMT
Content-Length: 1570
Connection: keep-alive
Set-Cookie: __cfduid=dcca41dad9636f739780a1fbf732630af1528882237; expires=Thu, 13-Jun-19 09:30:37 GMT; path=/; domain=.globalsign.com; HttpOnly
Last-Modified: Wed, 13 Jun 2018 08:58:53 GMT
Expires: Sun, 17 Jun 2018 08:58:53 GMT
Etag: "fe2cba2139f4acc6cd49ad8c7a03db6dbc8d9e2d"
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 42a38a22237a4279-OSL


--- Additional Info ---
Magic:  data
Size:   1570
Md5:    73838b1f1981fc92751c67e13d395296
Sha1:   fe2cba2139f4acc6cd49ad8c7a03db6dbc8d9e2d
Sha256: 6ef0b11d8f0f8945b6bb184e222241eb7c3edfdfd1da82875f56afd2d70b47c7
                                        
                                            GET /jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22search%22%2C%22version%22%3A%221.0%22%2C%22callback%22%3A%22__gcse.scb%22%2C%22style%22%3A%22http%3A%2F%2Fwww.google.com%2Fcse%2Fstatic%2Fstyle%2Flook%2Fv2%2Fdefault.css%22%2C%22language%22%3A%22en%22%7D%5D%7D HTTP/1.1 
Host: www.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: 1P_JAR=2018-06-13-09; NID=132=F8N8P1Vs4H-u4wxGiIz3ifIzLoVuFMtUUD1wGEMa-4L88FzMAqkoor4A1qkZKIMpGXwDxLML9Nilpkx0Cclq86zPDOpkB7xCVtHEFUVT5szDZraKoWLyP59Z_G6W7Xso

                                         
                                         216.58.207.196
HTTP/1.1 200 OK
Content-Type: text/javascript; charset=utf-8
                                        
Expires: Wed, 13 Jun 2018 09:30:37 GMT
Date: Wed, 13 Jun 2018 09:30:37 GMT
Cache-Control: private, max-age=3600, must-revalidate
Vary: Accept-Encoding
Content-Encoding: gzip
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 6473
Server: GSE


--- Additional Info ---
Magic:  gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Size:   6473
Md5:    b12cb41cee0a46e90a7316e6c0324e0e
Sha1:   ef1d773de47cce65f141eaa2d9fb256b5ff7fa3e
Sha256: bfc2e06e98fa51e471bec7bbbc7ea2c883fecc76aecbedc9e8297cb743be2115
                                        
                                            GET /uds/api/search/1.0/4aa0772189af4c17ea7ec181af2bca15/default+en.css HTTP/1.1 
Host: www.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: 1P_JAR=2018-06-13-09; NID=132=F8N8P1Vs4H-u4wxGiIz3ifIzLoVuFMtUUD1wGEMa-4L88FzMAqkoor4A1qkZKIMpGXwDxLML9Nilpkx0Cclq86zPDOpkB7xCVtHEFUVT5szDZraKoWLyP59Z_G6W7Xso

                                         
                                         216.58.207.196
HTTP/1.1 200 OK
Content-Type: text/css; charset=UTF-8
                                        
Expires: Wed, 05 Jun 2019 21:18:26 GMT
Date: Tue, 05 Jun 2018 21:18:26 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Cache-Control: public, max-age=31536000
Content-Length: 10168
Age: 648731


--- Additional Info ---
Magic:  gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Size:   10168
Md5:    eb5460d0f86a196d077394b7fb590798
Sha1:   4ac7b353696e9cff4fb03a0d76758e64a07071f7
Sha256: d24162d9912e0ae6e53fd9717f50d0c989a2f9890651b68c1f909b1341f0c843
                                        
                                            GET /cse/static/style/look/v2/default.css HTTP/1.1 
Host: www.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: 1P_JAR=2018-06-13-09; NID=132=F8N8P1Vs4H-u4wxGiIz3ifIzLoVuFMtUUD1wGEMa-4L88FzMAqkoor4A1qkZKIMpGXwDxLML9Nilpkx0Cclq86zPDOpkB7xCVtHEFUVT5szDZraKoWLyP59Z_G6W7Xso

                                         
                                         216.58.207.196
HTTP/1.1 200 OK
Content-Type: text/css
                                        
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3081
Date: Wed, 13 Jun 2018 09:30:37 GMT
Expires: Wed, 13 Jun 2018 09:30:37 GMT
Cache-Control: private, max-age=0
Last-Modified: Tue, 17 Apr 2018 13:30:00 GMT
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 1; mode=block


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   3081
Md5:    f0b2f7151826ddcee5f70648fe4d08ff
Sha1:   b424b3adacd10d073c26b246dcaebacbe429d707
Sha256: 5bdf41eb4ca288a24bc17ebedf15bf9daa5aa0427ae3a032d1cb8e7df140db61
                                        
                                            GET /uds/api/search/1.0/4aa0772189af4c17ea7ec181af2bca15/default+en.I.js HTTP/1.1 
Host: www.google.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: 1P_JAR=2018-06-13-09; NID=132=F8N8P1Vs4H-u4wxGiIz3ifIzLoVuFMtUUD1wGEMa-4L88FzMAqkoor4A1qkZKIMpGXwDxLML9Nilpkx0Cclq86zPDOpkB7xCVtHEFUVT5szDZraKoWLyP59Z_G6W7Xso

                                         
                                         216.58.207.196
HTTP/1.1 200 OK
Content-Type: application/x-javascript; charset=UTF-8
                                        
Expires: Wed, 05 Jun 2019 21:16:36 GMT
Date: Tue, 05 Jun 2018 21:16:36 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Cache-Control: public, max-age=31536000
Content-Length: 90799
Age: 648841


--- Additional Info ---
Magic:  gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Size:   90799
Md5:    305c45d3119189f3926a4501be0504af
Sha1:   40edf653bbc435c344cd8cd6ffcc8c0691c1b02d
Sha256: e0c52e404d02179a90f4d583541287d137253eede0aedadbb02bc983d68e1db9
                                        
                                            GET /metrika/watch.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:37 GMT
Content-Length: 37083
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Thu, 31 May 2018 13:12:41 GMT
Content-Encoding: gzip
Expires: Wed, 13 Jun 2018 10:30:37 GMT
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000


--- Additional Info ---
Magic:  gzip compressed data, from Unix, last modified: Thu May 31 13:13:18 2018
Size:   37083
Md5:    24d02e30d76b4ce84ad17de5496928e4
Sha1:   76447383b0bc0a1b3fccd6902afdebcc5be8c3b2
Sha256: 1152a61dd6f8bcc4608b2cafba1b5fcd55bfbd423ec5f6d79b5ec112b475c542
                                        
                                            OPTIONS /watch/23414332?wmode=7&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Apv%3A1%3Als%3A255218246822%3Arqn%3A1%3Arn%3A18919278%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://www.sql-tutorial.ru
Access-Control-Request-Method: POST

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:38 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 1728000
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /watch/23414332?wmode=5&callback=_ymjsp761420321&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A6%3Ati%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Apv%3A1%3Als%3A255218246822%3Arqn%3A1%3Arn%3A18919278%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         93.158.134.119
HTTP/1.1 302 Found
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:38 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:38 GMT
Expires: Wed, 13 Jun 2018 09:30:38 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Set-Cookie: yandexuid=3082547731528882238; domain=.yandex.ru; path=/; expires=Thu, 13-Jun-2019 09:30:38 GMT yabs-sid=222987441528882238; path=/ i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; Expires=Thu, 13-Jun-2019 09:30:38 GMT; Domain=.yandex.ru; Path=/; Secure; HttpOnly yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238; domain=.yandex.ru; path=/; expires=Sat, 10-Jun-2028 09:30:38 GMT
Location: https://mc.yandex.ru/watch/23414332/1?wmode=5&callback=_ymjsp761420321&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A6%3Ati%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Apv%3A1%3Als%3A255218246822%3Arqn%3A1%3Arn%3A18919278%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /watch/23414332/1?wmode=5&callback=_ymjsp761420321&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A6%3Ati%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Apv%3A1%3Als%3A255218246822%3Arqn%3A1%3Arn%3A18919278%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; yabs-sid=222987441528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:38 GMT
Content-Length: 130
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:38 GMT
Expires: Wed, 13 Jun 2018 09:30:38 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   130
Md5:    d1e4bf82e51ca64b0c76d6d7663d88eb
Sha1:   635d6c71eeb4d44b90dc1d37f659d69cfeaa7e85
Sha256: ef0d1c449ce57e3a718e99d32668d182a085afa75271d1d37db520bd4d422745
                                        
                                            GET /resource/context_static_r_4739.js HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         87.250.250.90
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:38 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Last-Modified: Wed, 18 Apr 2018 16:11:18 GMT
Etag: W/"5ad76e26-a1aba"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip
Strict-Transport-Security: max-age=31536000


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   145065
Md5:    92a9c11e4cc65da9e3b7ff227ae0a1cc
Sha1:   0a724b10ae6662f0dcac923039ed677bbc5f27e3
Sha256: 0044b02710c954e4332a14a066a4fe172372888e905d7cbf054320141dda815e
                                        
                                            OPTIONS /watch/148438?wmode=7&cnt-class=1&nohit=1&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A2%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aad%3A1%3Apv%3A1%3Als%3A21733439399%3Arn%3A1001842543%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://www.sql-tutorial.ru
Access-Control-Request-Method: POST

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 1728000
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /page/148438?target-ref=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&duid=MTUyODg4MjIzODM0MzgxMjAwMg%3D%3D&partner-stat-id=1&enable-flat-highlight=1&test-tag=353630427283457&ad-session-id=9935841528882239189&stat-id=1073741825&grab=dEludGVyYWN0aXZlIHR1dG9yaWFsIG9uIFNRTAoyIFNRTCBQcm9ibGVtcyBhbmQgc29sdXRpb25zIAozUy4gSS4gTW9pc2VlbmtvIAo=&layout-config=%7B%22win_width%22%3A1176%2C%22win_height%22%3A754%2C%22width%22%3A240%2C%22height%22%3A0%2C%22left%22%3A905%2C%22top%22%3A1353%2C%22visible%22%3A0%2C%22ad_no%22%3A0%2C%22limit%22%3A2%2C%22block%22%3A24%2C%22req_no%22%3A0%7D&callback=Ya[1528882248253] HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         87.250.250.90
HTTP/1.1 200 OK
Content-Type: application/x-javascript; charset=utf-8
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Set-Cookie: yabs-vdrf=A0; domain=an.yandex.ru; path=/; expires=Wed, 20-Jun-2018 09:30:39 GMT
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   10586
Md5:    088cf28f2a7b1d1574470a2c3c9c26e6
Sha1:   4363b6b69b84eb45b35c56cd122ab91622090c38
Sha256: 8689b118f65da8170fa1d89839bbc687eb8c3b51126c014b51f71f99094b3d6d
                                        
                                            OPTIONS /watch/148438?cnt-class=1&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A7%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A2%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113039%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aar%3A1%3Apv%3A1%3Als%3A21733439399%3Arqn%3A1%3Arn%3A139568532%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://www.sql-tutorial.ru
Access-Control-Request-Method: POST

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 1728000
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /get-direct/243496/sDH4dIm258hvKdQEbDb43A/x90 HTTP/1.1 
Host: avatars.mds.yandex.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         87.250.247.182
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 2407
Connection: keep-alive
Keep-Alive: timeout=60
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Last-Modified: Sun, 17 Dec 2017 16:07:59 GMT
Cache-Control: max-age=604800
X-Request-Id: ba7e931206bab823
Timing-Allow-Origin: *


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01
Size:   2407
Md5:    07b0003038f3d93c501c13cd7fa66a89
Sha1:   d83a868d98ed1d5eca6d02d956dd0515317dbcc4
Sha256: 14dce934cfdc73c82636bbd542433c3c99aad3d35a1a79174c5ef0ef7f89c304
                                        
                                            GET /get-direct/196523/7fkWCiwGItpvtMPLFjUCqw/x90 HTTP/1.1 
Host: avatars.mds.yandex.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         87.250.247.182
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 3163
Connection: keep-alive
Keep-Alive: timeout=60
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Last-Modified: Thu, 17 May 2018 13:37:47 GMT
Cache-Control: max-age=604800
X-Request-Id: 56d770df73d16254
Timing-Allow-Origin: *


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01
Size:   3163
Md5:    af9c0d1a9447729a46e85db0cf260f18
Sha1:   03c1b09156116e9cb0e4cdc83736f4ea0433915c
Sha256: 17a4e504e43d04c219707000174c4b5ed7006144f6b7994aa67aa3cde0b572fd
                                        
                                            GET /view/gimages/2.png HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57; _ym_uid=1528882238343812002

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: Apache
Last-Modified: Mon, 06 Oct 2008 19:46:42 GMT
Etag: "b182202-ac7-4589af1378c80"
Accept-Ranges: bytes
Content-Length: 2759
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:39 GMT


--- Additional Info ---
Magic:  PNG image, 32 x 32, 8-bit/color RGBA, non-interlaced
Size:   2759
Md5:    eb60a118d22d81277f0f754cb09c613d
Sha1:   d53bd0ff705d04c2760e8d9d3dd1bce68b5bfbba
Sha256: 25b0a850747dcf468fcf7c4d368f63cc5911967d356c1a9d2f9aa3ebc0afde7f
                                        
                                            GET /view/gimages/mrk_p1.gif HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/view/ds/default/css/site.css
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57; _ym_uid=1528882238343812002

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: Apache
Last-Modified: Fri, 07 Aug 2009 05:36:36 GMT
Etag: "b182369-82-470869eaa4156"
Accept-Ranges: bytes
Content-Length: 130
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:39 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 12 x 12
Size:   130
Md5:    c6ecbeb0ff3b1214a1e2ccaaf4216ef0
Sha1:   45d644a9c3f242cb418d0291cdbb04436a0360b0
Sha256: a8b940389848a49940e625d4ada4c625f7960c3f849b8fdd056e2b0e9f53bd76
                                        
                                            GET /aci.js HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 5815
Last-Modified: Mon, 04 Dec 2017 12:55:20 GMT
Connection: keep-alive
Etag: "5a2545b8-16b7"
Content-Encoding: gzip
Expires: Wed, 13 Jun 2018 21:30:39 GMT
Cache-Control: max-age=43200


--- Additional Info ---
Magic:  gzip compressed data, from Unix, max compression
Size:   5815
Md5:    c03764b7dbf6f8c48af2d846ed9788ab
Sha1:   2307ef666a55709a7620b5809736a841da6e6ce7
Sha256: ac785a93d942f4d56d4e88de95cd5476a017540a207d2e9116c0e3743bf92433
                                        
                                            POST / HTTP/1.1 
Host: yandex.ocsp-responder.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         5.45.205.233
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 1552
Connection: keep-alive
Keep-Alive: timeout=5
Content-Transfer-Encoding: binary
X-Cached: EXPIRED
X-Cache: HIT


--- Additional Info ---
Magic:  data
Size:   1552
Md5:    c5b55dd6261142bfc640066812533a93
Sha1:   203a6178ce6e89de7ad2acd2bf81d8ebb9510e6a
Sha256: b845f6998037e60c9c0417c6bbf808727e00a45c048d6956c86fdf57696bd3ed
                                        
                                            GET /top100/w7.gif HTTP/1.1 
Host: top100-images.rambler.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         81.19.70.19
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx/1.1.5
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 281
Last-Modified: Fri, 05 Oct 2007 13:45:22 GMT
Connection: close
Expires: Tue, 11 Sep 2018 09:30:39 GMT
Cache-Control: max-age=7776000
Set-Cookie: ruid=HQAAAD/kIFvaasUdAZdGLgB=; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.rambler.ru; path=/
P3P: CP="NON DSP NID ADMa DEVa TAIa PSAa PSDa OUR IND UNI COM NAV"
Accept-Ranges: bytes


--- Additional Info ---
Magic:  GIF image data, version 89a, 88 x 31
Size:   281
Md5:    2d10d7af56979655a51b62a02b0963f9
Sha1:   b353bb6a9cbb2607352cc40e36b1e77aaadb0fe4
Sha256: d981d15590f5d9139a91a76c4601d97fe72e73d36096468d678ceff2be48f170
                                        
                                            GET /hit?r;s1176*885*24;uhttp%3A//www.sql-tutorial.ru/;0.7658234441417112 HTTP/1.1 
Host: counter.yadro.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         88.212.196.122
HTTP/1.1 302 Moved Temporarily
Content-Type: text/html
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: 0W/0.8c
Location: http://counter.yadro.ru/hit?q;r;s1176*885*24;uhttp%3A//www.sql-tutorial.ru/;0.7658234441417112
Content-Length: 32
Expires: Mon, 12 Jun 2017 21:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache
P3P: policyref="/w3c/p3p.xml", CP="UNI"
Set-Cookie: FTID=1R8EG_1f-f9i1R8EG_009PGr; path=/; expires=Wed, 12 Jun 2019 21:00:00 GMT; domain=.yadro.ru


--- Additional Info ---
Magic:  HTML document text
Size:   32
Md5:    3e9c09a8c5a87f266e047a596f48578c
Sha1:   07d7b1940b7e3f9a3db43197458f9b8ef18a6bce
Sha256: 57fad7ae62012ff4a38ecb6045ac6e8e3a070a33bbd033b21ab6cad3566d9254
                                        
                                            GET /logo?14.6 HTTP/1.1 
Host: counter.yadro.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         88.212.196.122
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: 0W/0.8c
Connection: Close
Content-Length: 241
Expires: Mon, 12 Jun 2017 21:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache


--- Additional Info ---
Magic:  GIF image data, version 87a, 88 x 31
Size:   241
Md5:    8350b1aec749b9ac160e6f9110dddbd7
Sha1:   ed3b287fbef610f4a85dc5a825d61b95a9bced17
Sha256: f9a502132ab4f92ab63e6b02f1163b85ec0b5d6f2e186f0255d06ea4ec1e13f3
                                        
                                            GET /watch/148438?wmode=5&callback=_ymjsp702056889&cnt-class=1&nohit=1&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A6%3Ati%3A10%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A2%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113037%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aad%3A1%3Apv%3A1%3Als%3A21733439399%3Arn%3A1001842543%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; yabs-sid=222987441528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 111
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   111
Md5:    40104737b264fa72589e9d14ae92c78b
Sha1:   463089ecce0cb700612fdb8385577706bd5b20f6
Sha256: 26bb5721a4f02948b6da27af5f2c106e76de283be9df9c3bfedcc1785a4296cb
                                        
                                            GET /hit/?v=0.1.1&uid=e2a581d7-0f50-4ff7-84fa-ae07518a313b&dp=10&tz=%2B02%3A00&nc=63753232&u=http%3A%2F%2Fwww.sql-tutorial.ru%2F&r=&rs=1176x885&t=Interactive%20tutorial%20on%20SQL&oE=1&oP=1&dT=2018-06-13T11%3A30%3A39.703 HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: keep-alive
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Set-Cookie: aid=lPsLSFsg5D9sOF9iHmCSAi96nHL1qC+fAyOS/1SgtH9SRH52; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.acint.net; path=/


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /hit?q;r;s1176*885*24;uhttp%3A//www.sql-tutorial.ru/;0.7658234441417112 HTTP/1.1 
Host: counter.yadro.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: FTID=1R8EG_1f-f9i1R8EG_009PGr

                                         
                                         88.212.196.122
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: 0W/0.8c
Connection: Close
Content-Length: 43
Expires: Mon, 12 Jun 2017 21:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache
P3P: policyref="/w3c/p3p.xml", CP="UNI"
Set-Cookie: VID=3rs0ys1r96fi1R8EG_009PG-; path=/; expires=Wed, 12 Jun 2019 21:00:00 GMT; domain=.yadro.ru


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    fc94fb0c3ed8a8f909dbc7630a0987ff
Sha1:   56d45f8a17f5078a20af9962c992ca4678450765
Sha256: 2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363
                                        
                                            GET /view/gimages/banner_read.en.jpg HTTP/1.1 
Host: www.sql-tutorial.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: PHPSESSID=bec8b10587da92700f4d5581f4c9ec57; _ym_uid=1528882238343812002

                                         
                                         81.176.226.196
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 13 Jun 2018 09:30:39 GMT
Server: Apache
Last-Modified: Mon, 27 Oct 2008 19:15:38 GMT
Etag: "b182214-3268-45a40f4c80a80"
Accept-Ranges: bytes
Content-Length: 12904
Cache-Control: max-age=3600
Expires: Wed, 13 Jun 2018 10:30:39 GMT


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   12904
Md5:    3bd5e0ad689bf92301452ab6065aecfb
Sha1:   5b870d4d139894088732187dca8603efd0881cf5
Sha256: 4d4c6194dc3a7b28cc34f53c606fe4afe653baec35a32e9d1b9d4004d3aaa7f5
                                        
                                            GET /watch/148438?cnt-class=1&page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A4%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A2%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113039%3Aet%3A1528882239%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aar%3A1%3Apv%3A1%3Als%3A21733439399%3Arqn%3A1%3Arn%3A139568532%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882239%3Au%3A1528882238343812002%3At%3AInteractive%20tutorial%20on%20SQL HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; yabs-sid=222987441528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 43
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    df3e567d6f16d040326c7a0ea29a4f41
Sha1:   ea7df583983133b62712b5e73bffbcd45cc53736
Sha256: 548f2d6f4d0d820c6c5ffbeffcbd7f0e73193e2932eefe542accc84762deec87
                                        
                                            GET /top100.jcn?1509238 HTTP/1.1 
Host: counter.rambler.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         81.19.88.103
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.4.4
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive


--- Additional Info ---
Magic:  ASCII text, with very long lines
Size:   59660
Md5:    236a9b9aacc01fc6375d7e6bc4e10bcc
Sha1:   ce55fd6cfab03d5aef36ff996a66ed2fe1243bb9
Sha256: 75c44618ddc9ecea1f37b316656167beb836f6cfd22e2728b06aafa90ad8b177
                                        
                                            GET /mc/?dp=10 HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: text/html
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: cSyncDp7v2=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp14=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp17=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp23=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp24=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp32=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp35=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp37=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp45=1528882239; expires=Sun, 17-Jun-18 03:30:39 GMT; path=/; domain=.acint.net cSyncDp54v2=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp62=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp67v2=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp68=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp71=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp74=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp75=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp77=1528882239; expires=Sat, 30-Jun-18 21:30:39 GMT; path=/; domain=.acint.net cSyncDp79=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp84=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp88=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp92=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp96=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp98=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net cSyncDp101=1528882239; expires=Fri, 13-Jul-18 09:30:39 GMT; path=/; domain=.acint.net aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.acint.net; path=/
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   1160
Md5:    02a119ad507d0db948105f6a0b7a9bfb
Sha1:   7b9b460ba0e2015ff23d2f6ce7921d1a7355b4ee
Sha256: eada33de8af4dd112fd9c04ac8740fb362910c99e429dc76e0c5811832c9677d
                                        
                                            GET /match_r_4739.html?openedFor=net-dir-direct HTTP/1.1 
Host: st.yandexadexchange.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         77.88.21.90
HTTP/1.1 200 OK
Content-Type: text/html
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Last-Modified: Wed, 18 Apr 2018 16:11:18 GMT
Etag: W/"5ad76e26-9c63"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip
Strict-Transport-Security: max-age=31536000


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   14654
Md5:    64bde6b83433c754bc0d41fd65f8777b
Sha1:   da21678a7472884b5ecaf07b5c06cc9a0ca4f6fe
Sha256: f5e82f6efe69b6e5287c88269accf0c19c75bb44257d24fd694e95bfb1a895e6
                                        
                                            GET /meta/148438?target-ref=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&imp-id=1&enable-flat-highlight=1&test-tag=353630427283458&ad-session-id=9935841528882239189&pcode-version=4739&flash-ver=10&available-width=240&skip-token=yabs.NjA5MTA3NzA1OQo2MTU1NjA3OTQz&grab=dEludGVyYWN0aXZlIHR1dG9yaWFsIG9uIFNRTAoxSW50ZXJhY3RpdmUgU1FMIFRleHRib29rIAoyIFNRTCBQcm9ibGVtcyBhbmQgc29sdXRpb25zIAozUy4gSS4gTW9pc2VlbmtvIAo=&layout-config=%7B%22win_width%22%3A1176%2C%22win_height%22%3A754%2C%22width%22%3A240%2C%22height%22%3A0%2C%22left%22%3A905%2C%22top%22%3A2144%2C%22visible%22%3A0%2C%22ad_no%22%3A2%2C%22req_no%22%3A1%7D&callback=Ya[1528882246332] HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238; yabs-vdrf=A0

                                         
                                         87.250.250.90
HTTP/1.1 200 OK
Content-Type: application/x-javascript; charset=utf-8
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   4617
Md5:    0b850a90fee050a05b9aab537d71f471
Sha1:   9ce87ccf196e71a3a619dd62b1b28dabd8777209
Sha256: 82dec52a801f11d02a168a9a4c8601f6dff0bcb58d87cf108dc34768b021cef3
                                        
                                            GET /cgi-bin/sync.cgi?ssp_id=43&external_id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: ssp.adriver.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         195.209.111.17
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   42
Md5:    d89746888da2d9510b64a9f031eaecd5
Sha1:   d5fceb6532643d0d84ffe09c40c481ecdf59e15a
Sha256: ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
                                        
                                            GET /match?dsp=sape HTTP/1.1 
Host: sync.republer.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         194.190.117.33
HTTP/1.1 307 Temporary Redirect
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 0
Connection: close
P3P: policyref="/w3c/p3p.xml", CP="NON CUR ADM DEV PSA PSD OUR IND UNI NAV INT STA"
Cache-Control: no-cache, max-age=0, must-revalidate, proxy-revalidate, no-store
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Host: pew1
Set-Cookie: ruid=f1d754a6-4c5d-48c8-a8f7-21469f7befa0; Max-Age=31536000; Expires=Thu, 13 Jun 2019 09:30:39 GMT; Path=/; Domain=.republer.com; HTTPOnly
Location: /match?dsp=sape&qset=1


--- Additional Info ---
                                        
                                            GET /match?bidder_id=73&external_user_id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: ads.betweendigital.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         188.42.191.196
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Set-Cookie: tuuid=2d30cb41-545b-4bc9-a16b-caccd0207f00; Max-Age=315360000; Expires=Sat, 10 Jun 2028 09:30:39 GMT; Domain=.ads.betweendigital.com
Content-Length: 68


--- Additional Info ---
Magic:  PNG image, 1 x 1, 8-bit/color RGBA, non-interlaced
Size:   68
Md5:    c4a2b870062c2bb98c500bc1526c0498
Sha1:   528666ccdb12997358077bc8fcdbfb6b825c7788
Sha256: 2aa4fa20701cdd6d8d56046069001186b5267e3ee7d0ef618ad2f4a683723e11
                                        
                                            GET /images/1px-matching-rtbsape.gif?id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: t.trafmag.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         193.200.65.5
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 35
Connection: keep-alive
P3P: CP="NON DSP COR CURa TIA"


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   35
Md5:    c2196de8ba412c60c22ab491af7b1409
Sha1:   5fbd472222feb8a22cf5b8aa5dc5b8e13af88e2b
Sha256: 6adc3d4c1056996e4e8b765a62604c78b1f867cceb3b15d0b9bedb7c4857f992
                                        
                                            GET /rmatch/?r=%2F%2Facint.net%2Fmatch%3Fdp%3D14%26euid%3D%24%7BUSER_ID%7D HTTP/1.1 
Host: ssp-rtb.sape.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         95.181.171.232
HTTP/1.1 302 Moved Temporarily
Content-Type: text/html
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 154
Connection: keep-alive
Location: //acint.net/match?dp=14&euid=E8ABB55F3FE4205BE172DD99022E1316
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Set-Cookie: sspuid=X7Wr6Fsg5D+Z3XLhFhMuAvn31RDCpEySn8RXcMChgST0SboC; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.ssp-rtb.sape.ru; path=/


--- Additional Info ---
Magic:  HTML document text
Size:   154
Md5:    cfbeaf604823f038b8b46f0ac862b98c
Sha1:   7b9eb1dac48e74fa5f418bc456cb410f88b81d98
Sha256: 20c1ab602462b7fc0d5b4cbd555cacf127b69a07a737579598ebcbc0f5b21319
                                        
                                            GET /cnt/?et=pv&pid=1509238&rid=1528882239.82-1263653894&v=1.5.0i&rn=1613425541&bs=1159x754&ce=1&rf&en=windows-1251&pt=Interactive%20tutorial%20on%20SQL&sr=1176x885&cd=24-bit&la=en-US&ja=1&acn=Mozilla&an=Netscape&pl=Win32&tz=-120&fv=10.0%20r45&sv&lv&le=1 HTTP/1.1 
Host: kraken.rambler.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: ruid=HQAAAD/kIFvaasUdAZdGLgB=

                                         
                                         81.19.89.22
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx/1.10.1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Credentials: true


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /cm.gif?p=48&id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: ad.mail.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         217.69.139.42
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 43
Connection: keep-alive
Set-Cookie: VID=1R8EHP2yvV1i:::0-0-0; path=/; expires=Tue, 15-Jun-21 09:30:39 GMT; domain=.mail.ru; HttpOnly
Expires: Wed, 13 Jun 2018 15:30:39 GMT
Cache-Control: max-age=21600
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /sync2.204?pid=152&anket_id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: profile.ssp.rambler.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: ruid=HQAAAD/kIFvaasUdAZdGLgB=

                                         
                                         91.192.149.30
HTTP/1.1 204 Http No Content
Content-Type: application/x-javascript; charset=Windows-1251
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 0
Connection: keep-alive
Set-Cookie: ruid=HQAAAD/kIFvaasUdAZdGLgB=; domain=.rambler.ru; path=/; expires=Mon, 10 Dec 2018 09:30:39 GMT embryo=; domain=.rambler.ru; path=/; expires=Wed, 13 Jun 2018 08:30:39 GMT uuts=4vrJyH5e-Q-QO5UQNETb6MnMBMSdcT2E; domain=.rambler.ru; path=/; expires=Mon, 10 Dec 2018 09:30:39 GMT
X-Passed: 1bal2
Strict-Transport-Security: max-age=0
P3P: policyref="/w3c/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA"


--- Additional Info ---
                                        
                                            GET /pixel?google_nid=agentstvo_sape_limited&google_hm=SAv7lD_kIFtkX1FsAn9THg HTTP/1.1 
Host: cm.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         172.217.21.162
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
P3P: policyref="http://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Location: http://cm.g.doubleclick.net/pixel?google_nid=agentstvo_sape_limited&google_hm=SAv7lD_kIFtkX1FsAn9THg&google_tc=
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Server: HTTP server (unknown)
Content-Length: 316
X-XSS-Protection: 1; mode=block
Set-Cookie: test_cookie=CheckForPermission; expires=Wed, 13-Jun-2018 09:45:40 GMT; path=/; domain=.doubleclick.net


--- Additional Info ---
Magic:  HTML document text
Size:   316
Md5:    752adc14cc64971f564a4ad8aca3a3dc
Sha1:   4b3d0e6fb152b30fff2c7f86d1638500754091ab
Sha256: 58c78534da96876e2d79334a655125b014e5fc90cfef848d91267be28d7da00e
                                        
                                            GET /match?id=106&vid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: st.hybrid.ai
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         37.18.16.16
HTTP/1.1 302 Found
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
Cache-Control: no-cache, no-store
Pragma: no-cache
Expires: -1
Location: https://traffic.tgdaudience.com/imp/?tgds=dmp-xv6qJrLqgm&tgda=sm&tgdp=9kJqaQkqQw&tgdid=09446ca449009ef5064c&rnd=60618140
Set-Cookie: vid=09446ca449009ef5064c; expires=Mon, 13 Jun 2078 09:30:39 GMT; domain=.hybrid.ai; path=/
P3P: CP='NOI DSP COR CUR ADMa DEVo TAIo PSAo PSDo IVAo IVDo OUR IND COM NAV INT STA OTC'
X-Mode: 113
X-XSS-Protection: 1; mode=block
Access-Control-Allow-Origin: *
Server: Hybrid Web Server


--- Additional Info ---
                                        
                                            GET /match/sapein?uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: sync.audtd.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         78.155.222.210
HTTP/1.1 302 Found
Content-Type: text/plain; charset=utf-8
                                        
Set-Cookie: chk=OK; Max-Age=6; Domain=.audtd.com; Path=/; Expires=Wed, 13 Jun 2018 09:30:46 GMT
Location: http://sync.audtd.com/match/sapein?uid=480BFB943FE4205B645F516C027F531E&checked=true&rst=1528882240038&rf=http%3A%2F%2Fwww.acint.net%2Fmc%2F%3Fdp%3D10&type=gif
Vary: Accept
Content-Length: 181
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: close


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   181
Md5:    4813318281a81911f924c8f339b45665
Sha1:   4da9d001714a7ab901e5eeb9dddb170b9883986e
Sha256: 735c586249ac47bd138c1612a4d90cd38f7e0ad028c41af05bb938a1f1e60ebb
                                        
                                            GET /sync?dspId=1116&uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: matching.adtags.pro
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         138.68.71.194
HTTP/1.1 200 OK
Content-Type: text/javascript
                                        
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
Set-Cookie: at_dsp_uid_1116=480BFB943FE4205B645F516C027F531E;Domain=.adtags.pro;Path=/;Max-Age=86400


--- Additional Info ---
                                        
                                            GET /merge_gpsid/?sid=50&id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: stat.adlabs.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         109.248.237.37
HTTP/1.1 302
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
Location: //adlmerge.com/merge_gpsid/?sid=50&id=480BFB943FE4205B645F516C027F531E


--- Additional Info ---
                                        
                                            GET /pixel?google_nid=agentstvo_sape_limited&google_hm=SAv7lD_kIFtkX1FsAn9THg&google_tc= HTTP/1.1 
Host: cm.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: test_cookie=CheckForPermission

                                         
                                         172.217.21.162
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
P3P: policyref="http://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Location: http://www.acint.net/match?dp=77&euid=
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Server: HTTP server (unknown)
Content-Length: 239
X-XSS-Protection: 1; mode=block
Set-Cookie: test_cookie=; domain=.doubleclick.net; path=/; expires=Mon, 21 Jul 2008 23:59:00 GMT IDE=AHWqTUma0bhUTROgVB9jryTf7W32NQzk_X1q3eloQ6Wj6jHx4N_d8EAu-w; expires=Fri, 12-Jun-2020 09:30:40 GMT; path=/; domain=.doubleclick.net; HttpOnly


--- Additional Info ---
Magic:  HTML document text
Size:   239
Md5:    c5d2543d3421b4a36de8334db977b7a8
Sha1:   02785aa1de17eff07b1cb0a1a00dc197c0cea015
Sha256: e70e3fb03ff79a2bfa1dd9f32a4bc435dede861c5999fc384839df1e6c3e8bee
                                        
                                            GET /match?dsp=sape&qset=1 HTTP/1.1 
Host: sync.republer.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: ruid=f1d754a6-4c5d-48c8-a8f7-21469f7befa0

                                         
                                         194.190.117.33
HTTP/1.1 307 Temporary Redirect
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
P3P: policyref="/w3c/p3p.xml", CP="NON CUR ADM DEV PSA PSD OUR IND UNI NAV INT STA"
Cache-Control: no-cache, max-age=0, must-revalidate, proxy-revalidate, no-store
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Host: pew2
Location: http://acint.net/match?dp=54&euid=f1d754a6-4c5d-48c8-a8f7-21469f7befa0
Set-Cookie: ruid=f1d754a6-4c5d-48c8-a8f7-21469f7befa0; Max-Age=31536000; Expires=Thu, 13 Jun 2019 09:30:40 GMT; Path=/; Domain=.republer.com; HTTPOnly


--- Additional Info ---
                                        
                                            GET /partners/sprcs?uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: relap.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         185.99.9.124
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 178
Connection: keep-alive
Location: https://relap.io/partners/sprcs?uid=480BFB943FE4205B645F516C027F531E


--- Additional Info ---
Magic:  HTML document text
Size:   178
Md5:    cd2e0e43980a00fb6a2742d3afd803b8
Sha1:   81ffbd1712afe8cdf138b570c0fc9934742c33c1
Sha256: bd9df047d51943acc4bc6cf55d88edb5b6785a53337ee2a0f74dd521aedde87d
                                        
                                            GET /p/cm/sape?u=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: px.adhigh.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         136.243.75.34
HTTP/1.1 302 Found
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
X-Backend-id: f40-de
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Set-Cookie: gi_u=5ByzqSGHntq;Path=/;Domain=.adhigh.net;Expires=Thu, 13-Jun-2019 09:30:40 GMT;Max-Age=31536000
Expires: Thu, 01 Jan 1970 00:00:00 GMT
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Pragma: no-cache
Cache-Control: no-cache, no-store
Location: http://px.adhigh.net/p/cm/sape?u=480BFB943FE4205B645F516C027F531E&bounced=1


--- Additional Info ---
                                        
                                            GET /match/sape?id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: sync.dmp.otm-r.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         88.99.62.232
HTTP/1.1 204 No Content
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive


--- Additional Info ---
                                        
                                            GET /sync/pixel?source=sape&uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: eu.track.digitaladsystems.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         94.130.38.41
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 35
Connection: keep-alive
Keep-Alive: timeout=20
Set-Cookie: uid=24876032-ecb8-43c6-8bde-225fc2693c3a; Max-Age=315360000; Expires=Sat, 10 Jun 2028 09:30:40 GMT; Path=/; Domain=.digitaladsystems.com


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   35
Md5:    28d6814f309ea289f847c69cf91194c6
Sha1:   0f4e929dd5bb2564f7ab9c76338e04e292a42ace
Sha256: 8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
                                        
                                            GET /cookie/accepter?source=sape&id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: sync.datamind.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         148.251.54.137
HTTP/1.1 302
Content-Type: image/png
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Location: http://sync.datamind.ru/cookie/accepter?source=sape&id=480BFB943FE4205B645F516C027F531E&dmp.ctest=eyJoZWFkZXJzIjp7InJlZmVyZXIiOlsiaHR0cDovL3d3dy5hY2ludC5uZXQvbWMvP2RwXHUwMDNkMTAiXX19
Set-Cookie: dmp.ctest_id=1528882240059;Version=1;Comment=;Domain=.datamind.ru;Path=/;Max-Age=10800;Expires=Wed, 13 Jun 2018 12:30:40 GMT


--- Additional Info ---
                                        
                                            GET /image?source=sape&id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: sync.upravel.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         148.251.236.115
HTTP/1.1 302 Found
Content-Type: image/png
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
Location: http://sync.upravel.com/image?source=sape&id=480BFB943FE4205B645F516C027F531E&session_tpt=eyJoZWFkZXJzIjp7InJlZmVyZXIiOlsiaHR0cDovL3d3dy5hY2ludC5uZXQvbWMvP2RwXHUwMDNkMTAiXX19
Set-Cookie: session_tptc=1528882240060;Version=1;Comment=;Domain=.upravel.com;Path=/;Max-Age=180
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"


--- Additional Info ---
                                        
                                            GET /sape-sync?uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: adx.com.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         94.130.217.213
HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
                                        
Cache-Control: max-age=0, no-cache, no-store, must-revalidate, proxy-revalidate
Location: /sync?sspKey=7&sspUserID=480BFB943FE4205B645F516C027F531E
P3P: CP="adx.com.ru does not have a P3P policy"
Set-Cookie: yabbi-user=5b20e440d9d2a6000b9cfc93; Path=/; Max-Age=31536000; HttpOnly
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 84


--- Additional Info ---
Magic:  ASCII text
Size:   84
Md5:    f8dac6fdeb68ae31a2fe73e03d4ca4f0
Sha1:   2a26897988b67bf02030a65f5e8a9fe06447731d
Sha256: 227f11b79b250341b96722bf726e4bdedc0087ed22cc605590f96bde203ee213
                                        
                                            POST / HTTP/1.1 
Host: ocsp.int-x3.letsencrypt.org
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 117
Content-Type: application/ocsp-request

                                         
                                         91.135.34.91
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 527
Etag: "5CEB95C227F7BA8E4840131B03A2100C3C26CB671AF2129E6510420C16A2ED42"
Last-Modified: Tue, 12 Jun 2018 09:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=30904
Expires: Wed, 13 Jun 2018 18:05:44 GMT
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   527
Md5:    f5757ad9d593dbf9a8939dce65ea9ad3
Sha1:   a0e6ba7fdc4c8178e71e2e2c2d57e8691bd705b3
Sha256: 5ceb95c227f7ba8e4840131b03a2100c3c26cb671af2129e6510420c16a2ed42
                                        
                                            GET /match/sapein?uid=480BFB943FE4205B645F516C027F531E&checked=true&rst=1528882240038&rf=http%3A%2F%2Fwww.acint.net%2Fmc%2F%3Fdp%3D10&type=gif HTTP/1.1 
Host: sync.audtd.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: chk=OK

                                         
                                         78.155.222.210
HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
                                        
Set-Cookie: pid=AU01432E1C0C0; Max-Age=62899200; Domain=.audtd.com; Path=/; Expires=Wed, 10 Jun 2020 09:30:40 GMT
Location: https://www.acint.net/match/?dp=96&euid=AU01432E1C0C0
Vary: Accept
Content-Length: 158
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: close


--- Additional Info ---
Magic:  ASCII text, with no line terminators
Size:   158
Md5:    fe18518d7a95e4786201a78914936e9d
Sha1:   5e41f181214edb1237f64e6e5a31a07dbbb533fa
Sha256: 58cc8f3ab97ca1043fda25439b10f7bc2e0c083e7d0c8a1a53bae75f30b454f0
                                        
                                            GET /match?dp=14&euid=E8ABB55F3FE4205BE172DD99022E1316 HTTP/1.1 
Host: acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /merge_gpsid/?sid=50&id=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: adlmerge.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         85.17.189.108
HTTP/1.1 200
Content-Type: image/gif
                                        
Server: nginx/1.12.0
Date: Wed, 13 Jun 2018 09:30:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    325472601571f31e1bf00674c368d335
Sha1:   2daeaa8b5f19f0bc209d976c02bd6acb51b00b0a
Sha256: b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
                                        
                                            GET /match?dp=77&euid= HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /match?dp=54&euid=f1d754a6-4c5d-48c8-a8f7-21469f7befa0 HTTP/1.1 
Host: acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            POST / HTTP/1.1 
Host: isrg.trustid.ocsp.identrust.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         91.135.34.122
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Content-Transfer-Encoding: Binary
Last-Modified: Tue, 12 Jun 2018 21:54:01 GMT
Etag: "733c8c4097f0518096579fe5ddbb425a387c0a72"
Content-Length: 1398
Cache-Control: public, no-transform, must-revalidate, max-age=28391
Expires: Wed, 13 Jun 2018 17:23:51 GMT
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   1398
Md5:    520ad0d9a96c7ab504632892c609c553
Sha1:   733c8c4097f0518096579fe5ddbb425a387c0a72
Sha256: a11e59697a77b12150c78c054794b923e20ac4bc827d8b687b924c7433a5fcbd
                                        
                                            GET /cookie/accepter?source=sape&id=480BFB943FE4205B645F516C027F531E&dmp.ctest=eyJoZWFkZXJzIjp7InJlZmVyZXIiOlsiaHR0cDovL3d3dy5hY2ludC5uZXQvbWMvP2RwXHUwMDNkMTAiXX19 HTTP/1.1 
Host: sync.datamind.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: dmp.ctest_id=1528882240059

                                         
                                         148.251.54.137
HTTP/1.1 302
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
Location: http://sync.datamind.ru/cookie/emitter?source=google&nolog=true
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Set-Cookie: dmp.id=e1d29d2c-dede-4bf4-aa9f-7da61e19aae7;Version=1;Domain=.datamind.ru;Path=/;Max-Age=315360000;Expires=Sat, 10 Jun 2028 09:30:40 GMT


--- Additional Info ---
                                        
                                            GET /sync?sspKey=7&sspUserID=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: adx.com.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: yabbi-user=5b20e440d9d2a6000b9cfc93

                                         
                                         94.130.217.213
HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
                                        
Cache-Control: max-age=0, no-cache, no-store, must-revalidate, proxy-revalidate
Location: //cm.g.doubleclick.net/pixel?google_cm&google_nid=yabbi_llc&r=%2F%2Fdmg.digitaltarget.ru%2F1%2F6370%2Fi%2Fi%3Fa%3D647%26e%3D5b20e440d9d2a6000b9cfc93%26i%3D5893822294268905555%26r%3D%252F%252Fx01.aidata.io%252F0.gif%253Fpid%253DYABBI%2526id%253D5b20e440d9d2a6000b9cfc93
P3P: CP="adx.com.ru does not have a P3P policy"
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 299


--- Additional Info ---
Magic:  ASCII text
Size:   299
Md5:    6c5aaf3661c8ebda039a0a785b729b37
Sha1:   6273e36e1493bfc276b48b21195660e3f291e8dc
Sha256: 070dedaf722db84e3d1d3dba521f94005c6259a9bcf25c15238792a1a81685bf
                                        
                                            GET /p/cm/sape?u=480BFB943FE4205B645F516C027F531E&bounced=1 HTTP/1.1 
Host: px.adhigh.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: gi_u=5ByzqSGHntq

                                         
                                         136.243.75.34
HTTP/1.1 302 Found
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
X-Backend-id: f40-de
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store
Set-Cookie: sape_sync=ECO;Path=/;Domain=.adhigh.net;Expires=Thu, 13-Jun-2019 09:30:40 GMT;Max-Age=31536000
Location: http://acint.net/match?dp=17&euid=5ByzqSGHntq


--- Additional Info ---
                                        
                                            GET /image?source=sape&id=480BFB943FE4205B645F516C027F531E&session_tpt=eyJoZWFkZXJzIjp7InJlZmVyZXIiOlsiaHR0cDovL3d3dy5hY2ludC5uZXQvbWMvP2RwXHUwMDNkMTAiXX19 HTTP/1.1 
Host: sync.upravel.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: session_tptc=1528882240060

                                         
                                         148.251.236.115
HTTP/1.1 302 Found
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
Location: http://sync.upravel.com/google/sync
Set-Cookie: user_id=da2febde-804c-4997-acea-758256c7ce40;Version=1;Domain=.upravel.com;Path=/;Max-Age=315360000
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"


--- Additional Info ---
                                        
                                            GET /pixel?google_cm&google_nid=yabbi_llc&r=%2F%2Fdmg.digitaltarget.ru%2F1%2F6370%2Fi%2Fi%3Fa%3D647%26e%3D5b20e440d9d2a6000b9cfc93%26i%3D5893822294268905555%26r%3D%252F%252Fx01.aidata.io%252F0.gif%253Fpid%253DYABBI%2526id%253D5b20e440d9d2a6000b9cfc93 HTTP/1.1 
Host: cm.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: IDE=AHWqTUma0bhUTROgVB9jryTf7W32NQzk_X1q3eloQ6Wj6jHx4N_d8EAu-w

                                         
                                         172.217.21.162
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
P3P: policyref="http://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Location: http://adx.com.ru/adx-sync?r=%2F%2Fdmg.digitaltarget.ru%2F1%2F6370%2Fi%2Fi%3Fa%3D647%26e%3D5b20e440d9d2a6000b9cfc93%26i%3D5893822294268905555%26r%3D%252F%252Fx01.aidata.io%252F0.gif%253Fpid%253DYABBI%2526id%253D5b20e440d9d2a6000b9cfc93&google_gid=CAESEDcbD5b2wYz1jHjb9yCY990&google_cver=1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Server: HTTP server (unknown)
Content-Length: 493
X-XSS-Protection: 1; mode=block


--- Additional Info ---
Magic:  HTML document text
Size:   493
Md5:    da90599d0dcb2e8d1530a92e58331cd3
Sha1:   28f3344194a627abb8fbbfb24e80240bae67ff08
Sha256: 01af94ab272023836f21443e4c38cc7dbbb1c2c55bcbe0af8166ed1e008911b1
                                        
                                            POST /gsextendvalsha2g3r3 HTTP/1.1 
Host: ocsp2.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 111
Content-Type: application/ocsp-request
Cookie: __cfduid=dcca41dad9636f739780a1fbf732630af1528882237

                                         
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 1562
Connection: keep-alive
Last-Modified: Wed, 13 Jun 2018 06:54:47 GMT
Expires: Sun, 17 Jun 2018 06:54:47 GMT
Etag: "c78c5903edcb4182511c39a91a6e73e86633e760"
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 42a38a31431d42af-OSL


--- Additional Info ---
Magic:  data
Size:   1562
Md5:    22c95e2b9f54e51d878f07cecd5cdefd
Sha1:   c78c5903edcb4182511c39a91a6e73e86633e760
Sha256: 4527573765d3f045238e93e0806c8ecd4e05a54283af7ca433f6f39749222e4a
                                        
                                            GET /cookie/emitter?source=google&nolog=true HTTP/1.1 
Host: sync.datamind.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: dmp.ctest_id=1528882240059; dmp.id=e1d29d2c-dede-4bf4-aa9f-7da61e19aae7

                                         
                                         148.251.54.137
HTTP/1.1 302
Content-Type: image/png
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Location: https://cm.g.doubleclick.net/pixel?google_nid=tinkoff_bank_wdatamind&google_cm&google_hm=4dKdLN7eS_Sqn32mHhmq5w
Set-Cookie: dmp.id=e1d29d2c-dede-4bf4-aa9f-7da61e19aae7;Version=1;Domain=.datamind.ru;Path=/;Max-Age=315360000;Expires=Sat, 10 Jun 2028 09:30:40 GMT


--- Additional Info ---
                                        
                                            GET /csync/?t=p&ep=281184&extuid=480BFB943FE4205B645F516C027F531E&redir=http%3A%2F%2Facint.net%2Fmatch%3Fdp%3D24%26euid%3D%7Buid%7D HTTP/1.1 
Host: sync.vertamedia.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         88.208.52.65
HTTP/1.1 302 Found
                                        
Server: VertaMedia 1.0
Date: Wed, 13 Jun 2018 09:30:39 GMT
Content-Length: 0
Location: http://acint.net/match?dp=24&euid=c0d9ff4858e2c7a9
Set-Cookie: vmuid=c0d9ff4858e2c7a9; expires=Tue, 14 Aug 2018 09:30:39 GMT; domain=.vertamedia.com; path=/ p281184=480BFB943FE4205B645F516C027F531E; expires=Tue, 14 Aug 2018 09:30:39 GMT; domain=.vertamedia.com; path=/


--- Additional Info ---
                                        
                                            GET /adx-sync?r=%2F%2Fdmg.digitaltarget.ru%2F1%2F6370%2Fi%2Fi%3Fa%3D647%26e%3D5b20e440d9d2a6000b9cfc93%26i%3D5893822294268905555%26r%3D%252F%252Fx01.aidata.io%252F0.gif%253Fpid%253DYABBI%2526id%253D5b20e440d9d2a6000b9cfc93&google_gid=CAESEDcbD5b2wYz1jHjb9yCY990&google_cver=1 HTTP/1.1 
Host: adx.com.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: yabbi-user=5b20e440d9d2a6000b9cfc93

                                         
                                         94.130.217.213
HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
                                        
Cache-Control: max-age=0, no-cache, no-store, must-revalidate, proxy-revalidate
Location: //dmg.digitaltarget.ru/1/6370/i/i?a=647&e=5b20e440d9d2a6000b9cfc93&i=5893822294268905555&r=%2F%2Fx01.aidata.io%2F0.gif%3Fpid%3DYABBI%26id%3D5b20e440d9d2a6000b9cfc93
P3P: CP="adx.com.ru does not have a P3P policy"
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 199


--- Additional Info ---
Magic:  ASCII text
Size:   199
Md5:    dec0e47eec7cc8c8fd763ffa1a7d8c08
Sha1:   cb6aecf8be039f41e717265ec0dcb6646e4347d2
Sha256: 636996b7e15d007106ffdf99ff2043d574f8f7fdda5d37c77b247497a42741c4
                                        
                                            POST / HTTP/1.1 
Host: ocsp.int-x3.letsencrypt.org
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 117
Content-Type: application/ocsp-request

                                         
                                         91.135.34.91
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 527
Etag: "774A2582ABC3DC48D1E0080D7D9A8FDB0A264CA859A05B54B4888D690CF2B27D"
Last-Modified: Sun, 10 Jun 2018 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21223
Expires: Wed, 13 Jun 2018 15:24:23 GMT
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   527
Md5:    0888770e85913a4db8026eba8fe3ee0f
Sha1:   21713def3edf4f7dc0843ada4088a7169e03b32c
Sha256: 774a2582abc3dc48d1e0080d7d9a8fdb0a264ca859a05b54b4888d690cf2b27d
                                        
                                            GET /match?dp=17&euid=5ByzqSGHntq HTTP/1.1 
Host: acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /match_r_4739.html?openedFor=net-rtb-dsp HTTP/1.1 
Host: st.yandexadexchange.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: pcs_for_net-dir-direct=1

                                         
                                         77.88.21.90
HTTP/1.1 200 OK
Content-Type: text/html
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Last-Modified: Wed, 18 Apr 2018 16:11:18 GMT
Etag: W/"5ad76e26-9c63"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip
Strict-Transport-Security: max-age=31536000


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   14654
Md5:    64bde6b83433c754bc0d41fd65f8777b
Sha1:   da21678a7472884b5ecaf07b5c06cc9a0ca4f6fe
Sha256: f5e82f6efe69b6e5287c88269accf0c19c75bb44257d24fd694e95bfb1a895e6
                                        
                                            GET /adcm.js HTTP/1.1 
Host: tag.digitaltarget.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         185.15.175.135
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.2.7
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 2823
Last-Modified: Fri, 08 Jun 2018 11:16:48 GMT
Connection: keep-alive
Accept-Ranges: bytes


--- Additional Info ---
Magic:  ASCII text, with very long lines, with no line terminators
Size:   2823
Md5:    99c68983abec874537f28f3df61175ad
Sha1:   aff3823a4877e084c73908a38a7ceb17717f858c
Sha256: d1fb5e6d293ac467085b8b9ef1e85fab8f3b17bddd5c4a1f837f1a36f34079c4
                                        
                                            GET /google/sync HTTP/1.1 
Host: sync.upravel.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: session_tptc=1528882240060; user_id=da2febde-804c-4997-acea-758256c7ce40

                                         
                                         148.251.236.115
HTTP/1.1 302 Found
Content-Type: image/png
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: close
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Set-Cookie: user_id=da2febde-804c-4997-acea-758256c7ce40;Version=1;Domain=.upravel.com;Path=/;Max-Age=315360000
Location: https://cm.g.doubleclick.net/pixel?google_nid=mgcom&google_cm&google_hm=2i_r3oBMSZes6nWCVsfOQA


--- Additional Info ---
                                        
                                            GET /1/6370/i/i?a=647&e=5b20e440d9d2a6000b9cfc93&i=5893822294268905555&r=%2F%2Fx01.aidata.io%2F0.gif%3Fpid%3DYABBI%26id%3D5b20e440d9d2a6000b9cfc93 HTTP/1.1 
Host: dmg.digitaltarget.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         185.15.175.131
HTTP/1.1 302 Found
                                        
Server: nginx/1.6.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
P3P: policyref="http://dmg.digitaltarget.ru/p3p.xml", CP="NON NID PSAa PSDa OUR BUS COM NAV DEM STA PRE"
Location: /1/6370/i/i?a=647&e=5b20e440d9d2a6000b9cfc93&i=5893822294268905555&r=%2F%2Fx01.aidata.io%2F0.gif%3Fpid%3DYABBI%26id%3D5b20e440d9d2a6000b9cfc93&q=scc
Set-Cookie: viuserid=h6BG1hREzFlB55551UwI; Max-Age=93312000; Expires=Fri, 28 May 2021 09:30:40 GMT; Path=/; Domain=dmg.digitaltarget.ru visessid=aa34de1b_16382896d38_00000000014ce202; Path=/; Domain=dmg.digitaltarget.ru


--- Additional Info ---
                                        
                                            GET /match?dp=24&euid=c0d9ff4858e2c7a9 HTTP/1.1 
Host: acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /1/6370/i/i?a=647&e=5b20e440d9d2a6000b9cfc93&i=5893822294268905555&r=%2F%2Fx01.aidata.io%2F0.gif%3Fpid%3DYABBI%26id%3D5b20e440d9d2a6000b9cfc93&q=scc HTTP/1.1 
Host: dmg.digitaltarget.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: viuserid=h6BG1hREzFlB55551UwI; visessid=aa34de1b_16382896d38_00000000014ce202

                                         
                                         185.15.175.131
HTTP/1.1 302 Found
                                        
Server: nginx/1.6.2
Date: Wed, 13 Jun 2018 08:33:16 GMT
Content-Length: 0
Location: //x01.aidata.io/0.gif?pid=YABBI&id=5b20e440d9d2a6000b9cfc93
P3P: policyref="http://dmg.digitaltarget.ru/p3p.xml", CP="NON NID PSAa PSDa OUR BUS COM NAV DEM STA PRE"
Set-Cookie: viuserid=h6BG1hREzFlB55551UwI; Max-Age=93312000; Expires=Fri, 28 May 2021 09:30:40 GMT; Path=/; Domain=dmg.digitaltarget.ru


--- Additional Info ---
                                        
                                            POST / HTTP/1.1 
Host: tn.symcd.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         23.52.27.27
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx/1.12.2
Content-Length: 1451
Content-Transfer-Encoding: binary
Cache-Control: max-age=511737, public, no-transform, must-revalidate
Last-Modified: Tue, 12 Jun 2018 07:37:47 GMT
Expires: Tue, 19 Jun 2018 07:37:47 GMT
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  data
Size:   1451
Md5:    ffa3c721f117169f99319ff39ffccb65
Sha1:   009fd4a0b73a0096894367a58d84963a2d257622
Sha256: d369278a94072c8f7fc26493b3763278f2b6551cc1e3319584ec0cc5e2c76e14
                                        
                                            GET /processor.js?i=879614390806657 HTTP/1.1 
Host: tag.digitaltarget.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         185.15.175.135
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Server: nginx/1.2.7
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 9082
Last-Modified: Fri, 08 Jun 2018 11:16:48 GMT
Connection: keep-alive
Accept-Ranges: bytes


--- Additional Info ---
Magic:  ASCII text, with very long lines, with no line terminators
Size:   9082
Md5:    ce62b5683f97d4d04fee3f5d3f0be996
Sha1:   d01e363fea135936de884da29c484f3fc2ec74ff
Sha256: 32eaf2cf827d2432ccc9585a75d5d51ff583c720e12b343417aca7c5657a0b94
                                        
                                            GET /1/1093/i/i?i=35001124899455.551140144463528&a=77&e=480BFB943FE4205B645F516C027F531E&c=ss:77.up:480BFB943FE4205B645F516C027F531E.sync:up.xdua:dua4N%5EuJP%7C%3Fo%2B%3FL*C)%5BD%3DSuJ.xps:xpsIX%5Em3gGy!onR8K9I*Z%3ES%2BR.dn:acint__net.tg:.cr:http%3A%2F%2Fwww.sql-tutorial.ru%2F HTTP/1.1 
Host: dmg.digitaltarget.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: viuserid=h6BG1hREzFlB55551UwI; visessid=aa34de1b_16382896d38_00000000014ce202

                                         
                                         185.15.175.131
HTTP/1.1 204 No Content
                                        
Server: nginx/1.6.2
Date: Wed, 13 Jun 2018 08:33:17 GMT
Content-Length: 0
P3P: policyref="http://dmg.digitaltarget.ru/p3p.xml", CP="NON NID PSAa PSDa OUR BUS COM NAV DEM STA PRE"
Set-Cookie: viuserid=h6BG1hREzFlB55551UwI; Max-Age=93312000; Expires=Fri, 28 May 2021 09:30:40 GMT; Path=/; Domain=dmg.digitaltarget.ru


--- Additional Info ---
                                        
                                            GET /0.gif?pid=YABBI&id=5b20e440d9d2a6000b9cfc93 HTTP/1.1 
Host: x01.aidata.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         136.243.15.62
HTTP/1.1 302 Found
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
Location: http://x01.aidata.io/0.gif?pid=YABBI&id=5b20e440d9d2a6000b9cfc93&bounce=1
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Set-Cookie: __upin=s9npMKdDMVV3shmtlxX8hA;domain=.aidata.io;path=/;max-age=63072000 __upints=1528882240;domain=.aidata.io;path=/;max-age=63072000
P3P: CP='NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA'


--- Additional Info ---
                                        
                                            POST /GTSGIAG3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 107
Content-Type: application/ocsp-request

                                         
                                         172.217.20.46
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Cache-Control: public, max-age=345600
Server: ocsp_responder
Content-Length: 463
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   463
Md5:    b2464f7e74ea8579f6c469db1f146b09
Sha1:   0dff4910b7392bf0f8a559bbb05a09b6776ef62c
Sha256: a8b36391b9b619188d741d20a60740674740f2c0cfcdeef7cf9805156a9d04e9
                                        
                                            POST /gsr2 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 112
Content-Type: application/ocsp-request

                                         
                                         172.217.20.46
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Cache-Control: public, max-age=345600
Server: ocsp_responder
Content-Length: 468
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   468
Md5:    d9d754520ae3340aa37cca6115eee05b
Sha1:   a0320372760d99c762cb2eb4b37f776625ef1b33
Sha256: 7dc8284c51c9a38dc1bf03bd28857ea5336e8f5c564eddbb1c9082ee43c93738
                                        
                                            GET /0.gif?pid=YABBI&id=5b20e440d9d2a6000b9cfc93&bounce=1 HTTP/1.1 
Host: x01.aidata.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: __upin=s9npMKdDMVV3shmtlxX8hA; __upints=1528882240

                                         
                                         136.243.15.62
HTTP/1.1 204 No Content
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Connection: keep-alive
Expires: Wed, 13 Jun 2018 09:30:39 GMT
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Wed, 13 Jun 2018 09:30:39 GMT
Set-Cookie: __upin=s9npMKdDMVV3shmtlxX8hA;domain=.aidata.io;path=/;max-age=63072000 __upints=1528882240;domain=.aidata.io;path=/;max-age=63072000
P3P: CP='NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA'


--- Additional Info ---
                                        
                                            GET /mapuid/tnscounter/?from=yan_net-dir-direct HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-dir-direct
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238; yabs-vdrf=A0

                                         
                                         87.250.250.90
HTTP/1.1 302 Found
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:40 GMT
Expires: Wed, 13 Jun 2018 09:30:40 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Location: https://www.tns-counter.ru/V13a**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-dir-direct/
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            POST / HTTP/1.1 
Host: yandex.ocsp-responder.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         5.45.205.233
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 1552
Connection: keep-alive
Keep-Alive: timeout=5
Content-Transfer-Encoding: binary
X-Cached: HIT
X-Cache: HIT


--- Additional Info ---
Magic:  data
Size:   1552
Md5:    f81e30058bee1cf84f8ed285e7af375f
Sha1:   accaa75f04174debd74b288bb662ab915ec985e9
Sha256: 4c565b8e1ff405dc37fe99f071a8d93051ef7fea234f27c44e060f49f3029ae2
                                        
                                            POST / HTTP/1.1 
Host: yandex.ocsp-responder.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         5.45.205.233
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 1552
Connection: keep-alive
Keep-Alive: timeout=5
Content-Transfer-Encoding: binary
X-Cached: EXPIRED
X-Cache: HIT


--- Additional Info ---
Magic:  data
Size:   1552
Md5:    6b21064f25f0e84505f56d1a2afcf3fa
Sha1:   95c239f6df5bf41e06065d9a7a2e07c02fd3c60e
Sha256: 6f38b49ca520a4a896ac74a9c1abfc136f866e02e0d9513d5aaf21bb5c5617e3
                                        
                                            GET /pixel.gif?cid=4c144084-0ce0-4f71-a147-2abe600b8908&brid=ba2b253b-6888-4e47-a573-9ffc06d95cd1&pid=w&uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: sync.1dmp.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         136.243.44.222
HTTP/1.1 302 Found
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
Expires: 0
Cache-Control: private, no-cache, no-store, no-cache=Set-Cookie, proxy-revalidate
Set-Cookie: uid=700bd140-6eec-11e8-bb21-d43d7eece3f6; Version=1; Path=/; Domain=.1dmp.io; Expires=Sat, 10 Jun 2028 09:30:40 GMT
Location: /pixel.gif?cid=4c144084-0ce0-4f71-a147-2abe600b8908&brid=ba2b253b-6888-4e47-a573-9ffc06d95cd1&pid=w&uid=480BFB943FE4205B645F516C027F531E&cs=1


--- Additional Info ---
                                        
                                            GET /match/?dp=96&euid=AU01432E1C0C0 HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: close
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            POST / HTTP/1.1 
Host: dvcasha2.ocsp-certum.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         23.111.11.211
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 1637
Connection: keep-alive
Content-Transfer-Encoding: binary
X-Cached: HIT
Server: NetDNA-cache/2.2
X-Cache: HIT


--- Additional Info ---
Magic:  data
Size:   1637
Md5:    96b5fcefa190b5f5bb80907a6b3ffb40
Sha1:   a21a6e5a11ab9e77985021d5b85fc4e09c482255
Sha256: 9637142d949bcd2fb4e4512a1c7e3f740a29c5ec6f357cf16d2c8e3f9a70d5ab
                                        
                                            GET /pixel?google_nid=tinkoff_bank_wdatamind&google_cm&google_hm=4dKdLN7eS_Sqn32mHhmq5w HTTP/1.1 
Host: cm.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: IDE=AHWqTUma0bhUTROgVB9jryTf7W32NQzk_X1q3eloQ6Wj6jHx4N_d8EAu-w

                                         
                                         172.217.21.162
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
P3P: policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Location: https://sync.datamind.ru/cookie/accepter?source=google&google_gid=CAESEKujc63_aIMrpR_916WBGQ4&google_cver=1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Server: HTTP server (unknown)
Content-Length: 312
X-XSS-Protection: 1; mode=block
Alt-Svc: quic="googleads.g.doubleclick.net:443"; ma=2592000; v="43,42,41,39,35",quic=":443"; ma=2592000; v="43,42,41,39,35"


--- Additional Info ---
Magic:  HTML document text
Size:   312
Md5:    a64a5311ad9bb3415b58522f4576d0a9
Sha1:   e9f58c8f5a5e2121cbc40af64e032d5051b5811b
Sha256: 51998fdcb54005aaabf9a418782d923e2c96654a1f83fe6bdf3456a3ff52863b
                                        
                                            POST /gsorganizationvalsha2g2 HTTP/1.1 
Host: ocsp2.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 111
Content-Type: application/ocsp-request
Cookie: __cfduid=dcca41dad9636f739780a1fbf732630af1528882237

                                         
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 1570
Connection: keep-alive
Last-Modified: Wed, 13 Jun 2018 07:40:42 GMT
Expires: Sun, 17 Jun 2018 07:40:42 GMT
Etag: "f73df5cc567f7cda860852dbe3ed2661fb7a503f"
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 42a38a3563aa42af-OSL


--- Additional Info ---
Magic:  data
Size:   1570
Md5:    cd566b37cb1c0289aa79c4a14cae4f0d
Sha1:   f73df5cc567f7cda860852dbe3ed2661fb7a503f
Sha256: db0b61a6d5f2efa1f8e9a15313142b1df17fd94334f5c7354db775f3df6f650b
                                        
                                            GET /static/1/d959d7e39d5067fad30d9c06204866e9/d.png?ex=yes HTTP/1.1 
Host: ysa-static.passport.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-rtb-dsp
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         87.250.250.114
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Server: nginx/1.12.1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 95
Connection: close
Cache-Control: private
Expires: Thu, 14 Jun 2018 09:30:40 GMT
Strict-Transport-Security: max-age=315360000; includeSubDomains


--- Additional Info ---
Magic:  PNG image, 1 x 1, 1-bit colormap, non-interlaced
Size:   95
Md5:    60cf42b4d05caf10cf8bb15c0817a7b4
Sha1:   bd269860bb508aebcb6f08fe7289d5f117830383
Sha256: 18c327afa903633f86c3efcf12b77f098077eacaa8be101bb007846fd74f8b93
                                        
                                            GET /safeframe/1-1-0/loader.js HTTP/1.1 
Host: yastatic.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         178.154.131.217
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5
Last-Modified: Wed, 30 May 2018 12:46:17 GMT
Etag: W/"5b0e9d19-4c0"
Expires: Wed, 13 Jun 2018 10:26:15 GMT
Cache-Control: max-age=3600, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   658
Md5:    8798f92c9727ed328b6da95e4a64760a
Sha1:   9a98c2cca5b6a11a21fa64805fcc7706810079a3
Sha256: f32af5f952b3614233c361c1c671a8ef584c0466f906d140715101cdb42aec1f
                                        
                                            GET /pixel?google_nid=mgcom&google_cm&google_hm=2i_r3oBMSZes6nWCVsfOQA HTTP/1.1 
Host: cm.g.doubleclick.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: IDE=AHWqTUma0bhUTROgVB9jryTf7W32NQzk_X1q3eloQ6Wj6jHx4N_d8EAu-w

                                         
                                         172.217.21.162
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
P3P: policyref="https://googleads.g.doubleclick.net/pagead/gcn_p3p_.xml", CP="CURa ADMa DEVa TAIo PSAo PSDo OUR IND UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Location: https://sync.upravel.com/image?source=google&google_gid=CAESENEoKdInnX8UXOCMmcqnRFc&google_cver=1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, must-revalidate
Server: HTTP server (unknown)
Content-Length: 302
X-XSS-Protection: 1; mode=block
Alt-Svc: quic="googleads.g.doubleclick.net:443"; ma=2592000; v="43,42,41,39,35",quic=":443"; ma=2592000; v="43,42,41,39,35"


--- Additional Info ---
Magic:  HTML document text
Size:   302
Md5:    91e7d45a078a6055af4abb95703396d3
Sha1:   68b5b142ec37c15825480a6664c5a42d0202ff53
Sha256: 26be8ee0f0af78c0729cab9291c7a39623a138249611026dade9bef2e55424c5
                                        
                                            GET /partners/sprcs?uid=480BFB943FE4205B645F516C027F531E HTTP/1.1 
Host: relap.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         185.99.9.124
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Content-Length: 43
Connection: keep-alive
Date: Wed, 13 Jun 2018 09:30:40 GMT
Pragma: no-cache
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Set-Cookie: unique=Wi1Awylz; expires=Sat, 10 Jun 2028 09:30:40 GMT; domain=relap.io; path=/; secure; HttpOnly suid=1db640aabcbfda370e9d2d917ea1bfa6d0b3e46b--7615651840194d4f642091730d63244312852c88; domain=relap.io; path=/; secure; HttpOnly hllc=1; expires=Thu, 14 Jun 2018 09:30:40 GMT; domain=relap.io; path=/; secure; HttpOnly rlpsprcs=eyJ0cyI6MTUyODg4MjI0MCwidWlkIjoiNDgwQkZCOTQzRkU0MjA1QjY0NUY1MTZDMDI3RjUzMUUifQ--30ee8d0075a5c46782dd1d540e8188a204819814; expires=Thu, 13 Jun 2019 09:30:40 GMT; domain=relap.io; path=/; secure; HttpOnly
Strict-Transport-Security: max-age=5184000; includeSubdomains;
Public-Key-Pins: pin-sha256="zrlhGvqKdTwhZXT7o4euzUObogdWdXYWM3wDES66k94="; pin-sha256="spG5gvmcKQU/gsG3RS2F+HNDhJd/1viOj04CbPwrilw="; max-age=5184000; includeSubDomains
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    325472601571f31e1bf00674c368d335
Sha1:   2daeaa8b5f19f0bc209d976c02bd6acb51b00b0a
Sha256: b1442e85b03bdcaf66dc58c7abb98745dd2687d86350be9a298a1d9382ac849b
                                        
                                            GET /imp/?tgds=dmp-xv6qJrLqgm&tgda=sm&tgdp=9kJqaQkqQw&tgdid=09446ca449009ef5064c&rnd=60618140 HTTP/1.1 
Host: traffic.tgdaudience.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10

                                         
                                         145.239.105.129
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Set-Cookie: uu=ke9phFsg5EBsMARNtVrdAg==; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.tgdaudience.com; path=/
P3P: policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /mapuid/tnscounter/?from=yan_net-rtb-dsp HTTP/1.1 
Host: an.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-rtb-dsp
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238; yabs-vdrf=A0

                                         
                                         87.250.250.90
HTTP/1.1 302 Found
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Last-Modified: Wed, 13 Jun 2018 09:30:40 GMT
Expires: Wed, 13 Jun 2018 09:30:40 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0
Pragma: no-cache
Location: https://www.tns-counter.ru/V13a**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-rtb-dsp/
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /V13a**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-dir-direct/ HTTP/1.1 
Host: www.tns-counter.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-dir-direct

                                         
                                         194.226.130.227
HTTP/1.1 302 Moved Temporarily
Content-Type: image/gif
                                        
Server: tns-counter-1.2.0/1.8.1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 0
Location: https://www.tns-counter.ru/V13b**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-dir-direct/
Connection: keep-alive
Set-Cookie: guid=4C81021E5B20E440X1528882240; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.tns-counter.ru; path=/
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache=Set-Cookie, max-age=0, proxy-revalidate


--- Additional Info ---
                                        
                                            GET /safeframe-bundles/0.35/host.js HTTP/1.1 
Host: yastatic.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/

                                         
                                         178.154.131.217
HTTP/1.1 200 OK
Content-Type: application/x-javascript
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5
Last-Modified: Wed, 30 May 2018 12:46:33 GMT
Etag: W/"5b0e9d29-658d"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   8104
Md5:    bc9a7220f1e998c5c1aee552cf705e9f
Sha1:   4e7733bf9ade5ee0402ef581ffb3e0690fd844af
Sha256: 1f77e7311020d31faac70ebdb04f3721d4217b932b769a0b8d349fa6cef5f50e
                                        
                                            GET /pixel.gif?cid=4c144084-0ce0-4f71-a147-2abe600b8908&brid=ba2b253b-6888-4e47-a573-9ffc06d95cd1&pid=w&uid=480BFB943FE4205B645F516C027F531E&cs=1 HTTP/1.1 
Host: sync.1dmp.io
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: uid=700bd140-6eec-11e8-bb21-d43d7eece3f6

                                         
                                         136.243.44.222
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 35
Connection: keep-alive
Expires: 0
Cache-Control: private, no-cache, no-store, no-cache=Set-Cookie, proxy-revalidate


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   35
Md5:    28d6814f309ea289f847c69cf91194c6
Sha1:   0f4e929dd5bb2564f7ab9c76338e04e292a42ace
Sha256: 8337212354871836e6763a41e615916c89bac5b3f1f0adf60ba43c7c806e1015
                                        
                                            GET /V13b**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-dir-direct/ HTTP/1.1 
Host: www.tns-counter.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-dir-direct
Cookie: guid=4C81021E5B20E440X1528882240

                                         
                                         194.226.130.227
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: tns-counter-1.2.0/1.8.1
Date: Wed, 13 Jun 2018 09:30:40 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: keep-alive
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache=Set-Cookie, max-age=0, proxy-revalidate


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            POST / HTTP/1.1 
Host: ocsp.comodoca.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         178.255.83.1
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:41 GMT
Server: Apache
Last-Modified: Sun, 10 Jun 2018 09:26:03 GMT
Expires: Sun, 17 Jun 2018 09:26:03 GMT
Etag: EF2C834E409CC07ADA6090392A9FF6524BE766D0
Cache-Control: max-age=344721,public,no-transform,must-revalidate
X-OCSP-Responder-ID: rmdccaocsp4
Content-Length: 471
Connection: close


--- Additional Info ---
Magic:  data
Size:   471
Md5:    cd0569aa0e017bc79fe39f929353e5e0
Sha1:   ef2c834e409cc07ada6090392a9ff6524be766d0
Sha256: b330d4311560380db6de671a59dacbbc56f1f7449a37b0c5bfad75f36e194e61
                                        
                                            POST / HTTP/1.1 
Host: ocsp.comodoca.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         178.255.83.1
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:41 GMT
Server: Apache
Last-Modified: Tue, 12 Jun 2018 01:16:20 GMT
Expires: Tue, 19 Jun 2018 01:16:20 GMT
Etag: 990787E64B5D1F96C72B2061E3F0144A07F045D2
Cache-Control: max-age=488138,public,no-transform,must-revalidate
X-OCSP-Responder-ID: rmdccaocsp34
Content-Length: 727
Connection: close


--- Additional Info ---
Magic:  data
Size:   727
Md5:    c8ecef5a7181d8d7c39d8ae06ebb7c04
Sha1:   990787e64b5d1f96c72b2061e3f0144a07f045d2
Sha256: 87012060245a4444849459a31b945668516ba7dbfbd16396f7ea8ca71136f671
                                        
                                            POST / HTTP/1.1 
Host: ocsp.usertrust.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 115
Content-Type: application/ocsp-request

                                         
                                         178.255.83.1
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:41 GMT
Server: Apache
Last-Modified: Tue, 12 Jun 2018 01:16:20 GMT
Expires: Tue, 19 Jun 2018 01:16:20 GMT
Etag: AE4B185B2ECC39CC7C8F4124E5AEB796F5ECC58F
Cache-Control: max-age=488138,public,no-transform,must-revalidate
X-OCSP-Responder-ID: rmdccaocsp34
Content-Length: 471
Connection: close


--- Additional Info ---
Magic:  data
Size:   471
Md5:    e21c39af1710d2a6de021715d268f796
Sha1:   ae4b185b2ecc39cc7c8f4124e5aeb796f5ecc58f
Sha256: eee7a074c25f2f892d51e619013f11662e8783769f8b1573b1dca114d77632f5
                                        
                                            GET /safeframe-bundles/0.35/1-1-0/render.html HTTP/1.1 
Host: yastatic.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-rtb-dsp

                                         
                                         178.154.131.217
HTTP/1.1 200 OK
Content-Type: text/html
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:41 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5
Last-Modified: Wed, 30 May 2018 12:46:33 GMT
Etag: W/"5b0e9d29-378d"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   4835
Md5:    77d5e559accebdddd2fb253f65d12fdb
Sha1:   83ebc46e2d9c2f3097fd6046576f616b6a833552
Sha256: 656062814286348921c719396839730fd5e1b31f211dc209c28ca7cc6f201236
                                        
                                            GET /V13a**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-rtb-dsp/ HTTP/1.1 
Host: www.tns-counter.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-rtb-dsp

                                         
                                         194.226.130.227
HTTP/1.1 302 Moved Temporarily
Content-Type: image/gif
                                        
Server: tns-counter-1.2.0/1.8.1
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 0
Location: https://www.tns-counter.ru/V13b**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-rtb-dsp/
Connection: keep-alive
Set-Cookie: guid=66B507165B20E441X1528882241; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.tns-counter.ru; path=/
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache=Set-Cookie, max-age=0, proxy-revalidate


--- Additional Info ---
                                        
                                            GET /V13b**578738B8AEF39A74**yan_ru/ru/UTF-8/tmsec=yan_net-rtb-dsp/ HTTP/1.1 
Host: www.tns-counter.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://st.yandexadexchange.net/match_r_4739.html?openedFor=net-rtb-dsp
Cookie: guid=66B507165B20E441X1528882241

                                         
                                         194.226.130.227
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: tns-counter-1.2.0/1.8.1
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: keep-alive
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-cache=Set-Cookie, max-age=0, proxy-revalidate


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            GET /image?source=google&google_gid=CAESENEoKdInnX8UXOCMmcqnRFc&google_cver=1 HTTP/1.1 
Host: sync.upravel.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: session_tptc=1528882240060; user_id=da2febde-804c-4997-acea-758256c7ce40

                                         
                                         148.251.236.115
HTTP/1.1 302 Found
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 0
Connection: close
Location: https://sync.upravel.com/beeline/sync
Set-Cookie: user_id=da2febde-804c-4997-acea-758256c7ce40;Version=1;Domain=.upravel.com;Path=/;Max-Age=315360000
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"


--- Additional Info ---
                                        
                                            GET /q/set/s/rsya-tag-users/bundle.js HTTP/1.1 
Host: yastatic.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://yastatic.net/safeframe-bundles/0.35/1-1-0/render.html

                                         
                                         178.154.131.217
HTTP/1.1 200 OK
Content-Type: application/javascript; charset=utf-8
                                        
Server: nginx/1.12.2
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 102811
Connection: keep-alive
Keep-Alive: timeout=5
Strict-Transport-Security: max-age=31536000
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000, public
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Vary: Accept-Encoding


--- Additional Info ---
Magic:  ASCII text, with very long lines, with no line terminators
Size:   102811
Md5:    3e2b8c628b5dbc300ff4c36b446946db
Sha1:   5104d56b1e5fc09698d37952170548c987725fb0
Sha256: d1360a2ab4de5c05e845d60a8e9828c343b7195fdf9b941a4817a7d0fc6fb4f7
                                        
                                            GET /beeline/sync HTTP/1.1 
Host: sync.upravel.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.acint.net/mc/?dp=10
Cookie: session_tptc=1528882240060; user_id=da2febde-804c-4997-acea-758256c7ce40

                                         
                                         148.251.236.115
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 181
Connection: close
P3P: CP="NOI DSP COR NID CURa ADMa DEVa PSAa PSDa OUR BUS COM INT OTC PUR STA"
Set-Cookie: user_id=da2febde-804c-4997-acea-758256c7ce40;Version=1;Domain=.upravel.com;Path=/;Max-Age=315360000


--- Additional Info ---
Magic:  PNG image, 1 x 1, 8-bit/color RGBA, non-interlaced
Size:   181
Md5:    c0079c96321940915c52088ba55328cf
Sha1:   9434117dd6c74f11edabe0c4434b7677d6ec09b6
Sha256: 637843f8fed13fb5fbf47d78509bd6b31df3d1fcc2a58cebbbfbdea9cefa250f
                                        
                                            POST /gsorganizationvalsha2g2 HTTP/1.1 
Host: ocsp2.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Length: 111
Content-Type: application/ocsp-request
Cookie: __cfduid=dcca41dad9636f739780a1fbf732630af1528882237

                                         
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 13 Jun 2018 09:30:41 GMT
Content-Length: 1570
Connection: keep-alive
Last-Modified: Wed, 13 Jun 2018 08:23:36 GMT
Expires: Sun, 17 Jun 2018 08:23:36 GMT
Etag: "7f8bc3cfcefae9a1a09383186e46f978ddcba2bb"
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 42a38a3b34aa42af-OSL


--- Additional Info ---
Magic:  data
Size:   1570
Md5:    336519f43d9c42662bfe744cc7907942
Sha1:   7f8bc3cfcefae9a1a09383186e46f978ddcba2bb
Sha256: f38747ccd5e9c64cdbd1f9682da7f7b2db853ce4aee62335446ebc301462c33c
                                        
                                            GET /set/s/rsya-tag-users/data?_rnd=1528882241682&referrer=https%3A%2F%2Fst.yandexadexchange.net%2Fmatch_r_4739.html%3FopenedFor%3Dnet-rtb-dsp HTTP/1.1 
Host: yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://yastatic.net/safeframe-bundles/0.35/1-1-0/render.html
Origin: https://yastatic.net
Cookie: yandexuid=3082547731528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238

                                         
                                         5.255.255.80
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
                                        
Date: Wed, 13 Jun 2018 09:30:42 GMT
Access-Control-Allow-Origin: https://yastatic.net
Access-Control-Allow-Credentials: true
X-qloud-router: man4-f1b6c496c6f2.qloud-c.yandex.net
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Length: 997


--- Additional Info ---
Magic:  ASCII text, with very long lines, with no line terminators
Size:   997
Md5:    6b87958670bc34b77022448f5e8713a8
Sha1:   bfce1351d55a0925ae42313ec03477660d0f665e
Sha256: c7d34df21c6561cbc4193519a98bfc179a6b8715096eaff60350b3023f590d30
                                        
                                            GET /ping/?v=0.1.1&uid=e2a581d7-0f50-4ff7-84fa-ae07518a313b&dp=10&tz=%2B02%3A00&nc=67214306&dT=2018-06-13T11%3A30%3A42.701 HTTP/1.1 
Host: www.acint.net
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: aid=lPsLSFsg5D9sUV9kHlN/Ao+xJRJM5pNxh/CwZDyAkgJ9b+sm; cSyncDp7v2=1528882239; cSyncDp14=1528882239; cSyncDp17=1528882239; cSyncDp23=1528882239; cSyncDp24=1528882239; cSyncDp32=1528882239; cSyncDp35=1528882239; cSyncDp37=1528882239; cSyncDp45=1528882239; cSyncDp54v2=1528882239; cSyncDp62=1528882239; cSyncDp67v2=1528882239; cSyncDp68=1528882239; cSyncDp71=1528882239; cSyncDp74=1528882239; cSyncDp75=1528882239; cSyncDp77=1528882239; cSyncDp79=1528882239; cSyncDp84=1528882239; cSyncDp88=1528882239; cSyncDp92=1528882239; cSyncDp96=1528882239; cSyncDp98=1528882239; cSyncDp101=1528882239; _a_d3t6sf=dua4N^uJP|?o+?L*C)[D=SuJ

                                         
                                         148.251.11.72
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Server: nginx
Date: Wed, 13 Jun 2018 09:30:42 GMT
Content-Length: 43
Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT
Connection: keep-alive
Expires: Wed, 19 Apr 2000 11:43:00 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1
Size:   43
Md5:    ad4b0f606e0f8465bc4c4c170b37e1a3
Sha1:   50b30fd5f87c85fe5cba2635cb83316ca71250d7
Sha256: cf4724b2f736ed1a0ae6bc28f1ead963d9cd2c1fd87b6ef32e7799fc1c5c8bda
                                        
                                            OPTIONS /watch/23414332?page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A7%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113053%3Aet%3A1528882254%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aar%3A1%3Anb%3A1%3Acl%3A-450%3Als%3A255218246822%3Arqn%3A2%3Arn%3A578700171%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882254%3Au%3A1528882238343812002 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://www.sql-tutorial.ru
Access-Control-Request-Method: POST

                                         
                                         93.158.134.119
HTTP/1.1 200 OK
                                        
Server: nginx/1.8.1
Date: Wed, 13 Jun 2018 09:30:53 GMT
Content-Length: 0
Connection: keep-alive
P3P: CP="NOI DEVa TAIa OUR BUS UNI STA"
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 1728000
X-XSS-Protection: 1; mode=block
Timing-Allow-Origin: *


--- Additional Info ---
                                        
                                            GET /watch/23414332?page-url=http%3A%2F%2Fwww.sql-tutorial.ru%2F&charset=utf-8&browser-info=ti%3A4%3Aj%3A1%3As%3A1176x885x24%3Af%3A10.0.45.2%3Afpr%3A65694993101%3Acn%3A1%3Aw%3A1159x754%3Az%3A120%3Ai%3A20180613113053%3Aet%3A1528882254%3Aen%3Awindows-1251%3Av%3A1152%3Ac%3A1%3Ala%3Aen-us%3Aar%3A1%3Anb%3A1%3Acl%3A-450%3Als%3A255218246822%3Arqn%3A2%3Arn%3A578700171%3Ahid%3A220502490%3Arqnl%3A1%3Ast%3A1528882254%3Au%3A1528882238343812002 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.sql-tutorial.ru/
Cookie: yandexuid=3082547731528882238; yabs-sid=222987441528882238; i=rKw4d1xO01wwKC3ao5uCx0NW1lZMlcDLwdSrMUeYOJLbvyniDR2J1JUHP1MeaZdehvABl5usGJhdBLKI7y1zMmmdgVo=; yp=1560418238.yrts.1528882238#1560418238.yrtsi.1528882238