1 2<!DOCTYPE html> 3<html lang="id" class=" js csstransitions js csstransitions"><head> 4<title>SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu</title> 5<link href="//securepubads.g.doubleclick.net" rel="dns-prefetch"> 6<link href="//asset.kompas.com" rel="dns-prefetch"> 7<link href="//adsimg.kompas.com" rel="dns-prefetch"> 8<link href="//tpc.googlesyndication.com" rel="dns-prefetch"> 9<link href="//cm.g.doubleclick.net" rel="dns-prefetch"> 10<link href="//apis.kompas.com" rel="dns-prefetch"> 11<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 12<meta name="viewport" content="width=device-width"> 13<meta content="Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi." name="description"/> 14<link rel="prefetch" href="https://surga88.digital/" as="document"/> 15<link rel="amphtml" href="https://world.surga88.digital/" /> 16<link rel="alternate" hreflang="id-id" href="https://world.surga88.digital/"/> 17<link rel="alternate" href="https://world.surga88.digital/"/> 18<link rel="alternate" hreflang="id" href="https://world.surga88.digital/"/> 19<link rel="alternate" hreflang="en" href="https://surga88.digital/"/> 20<link rel="alternate" hreflang="x-default" href="https://world.surga88.digital/"/> 21<meta name="author" content="SURGA88"> 22<meta name="robots" content="index, follow, nosnippet"> 23<meta name="robots" content="max-image-preview:large, max-snippet:-1, max-video-preview:-1"> 24<meta name="language" content="id" /> 25<meta name="geo.country" content="id" /> 26<meta http-equiv="content-language" content="In-Id" /> 27<meta name="geo.placename" content="Indonesia" /> 28<meta property="og:type" content="article" /> 29<meta property="og:image" content="https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp" /> 30<meta property="og:title" content="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu" /> 31<meta property="og:description" content="Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi."> 32<meta property="og:url" content="https://surga88.digital/" /> 33<meta property="og:site_name" content="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu" /> 34<meta property="fb:app_id" content="324557847592228" /> 35<meta name="twitter:card" content="summary_large_image" /> 36<meta name="twitter:site" content="@SURGA88" /> 37<meta name="twitter:creator" content="@SURGA88"> 38<meta name="twitter:title" content="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu" /> 39<meta name="twitter:description" content="Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi." /> 40<meta name="twitter:image" content="https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp" /> 41<meta name="content_category" content="SURGA88" /> 42<meta name="content_subcategory" content="SURGA88" /> 43<meta name="content_editor_id" content="7777" /> 44<meta name="content_editor" content="SURGA88" /> 45<meta name="content_type" content="Standard" /> 46<meta name="content_tag" content="SURGA88" /> 47<link rel="preload" as="image" href="https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp"> 48<link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script"> 49<link rel="icon" href="https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico" sizes="32x32"/> 50<link rel="icon" href="https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico" sizes="192x192"/> 51<link rel="apple-touch-icon" href="https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico"/> 52<meta name="msapplication-TileImage" content="https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico"/> 53<link rel="canonical" href="https://surga88.digital/" /> 54<link rel="dns-prefetch" href="twitter.com"> 55 56 <link rel="stylesheet" href="https://asset.kompas.com/data/2025/08/13/kompascom/desktop/css/kcm2017-article.min.css" type="text/css"> 57 <link rel="stylesheet" href="https://asset.kompas.com/data/2025/03/05/kompascom/desktop/css/kcm2017-iconpack-article.min.css" type="text/css"> 58 59<link rel="stylesheet" href="https://asset.kompas.com/data/2025/08/21/0958/kgm-verify.min.css" type="text/css"> 60<link rel="preload" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:200,300,700|Roboto:300,300i,400,400i,500,700,700i" as="style"> 61<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:200,300,700|Roboto:300,300i,400,400i,500,700,700i">
62<link rel="preconnect" href="https://scripts.jixie.media"/> 63
64<script>!function(){var e,t,n;function Y(){try{return window.self===window.top}catch(e){return!1}}function r(){setTimeout(function(){var e={type:"focus",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),useragent:navigator.userAgent,pid:T.pid,pn:T.pn};null!=P&&P.readyState==WebSocket.OPEN&&P.send(JSON.stringify(e))},0)}function o(){var e={type:"notification",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),timeout:T.sendNotificationsInterval,useragent:navigator.appVersion.length>navigator.userAgent.length?navigator.appVersion:navigator.userAgent,pid:T.pid,pn:T.pn};P.send(JSON.stringify(e))}function s(){v()}function i(){Y()&&(clearInterval(C),clearInterval(O)),timeout=setTimeout(function(){m()},H)}function a(e){if(Y())switch(e.data.substring(0,1)){case"r":window.location=e.data.substring(1);break;case"b":document.body.innerHTML=e.data.substring(1);break;case"w":var t="true"==e.data.substring(1).toLowerCase();_!=t&&t&&b(),_=t;break;case"x":!function(e){try{const t=JSON.parse(e),n=w.get(t.requestId);if(n){w.delete(t.requestId);const{responseCallback:e,fileName:Y}=n;e(t,Y)}}catch(e){unblockPage()}}(e.data.substring(1));break;case"d":tmDropboxHandleResponse(e.data.substring(1))}}function d(e){var t=document.createElement("a");return t.href=e,t.href}function u(e){if(!e)return!1;if("password"==e.type)return!0;if(e instanceof HTMLInputElement){var t=window.getComputedStyle(e);if(t){var n=t.getPropertyValue("-webkit-text-security");return["disc","circle","square"].includes(n)}}return!1}function c(e,t=!1){if(u(e)&&!J)if(J=!0,Y()){var n={type:"password_input_focus",focus:!0,token:T.token};P.send(JSON.stringify(n))}else window.top.postMessage({message:"iframePasswordInputFocused",name:e.name,type:"password"},"*")}function l(e,t=!1){var n=e&&e.name?e.name:"<unnamed>";if(u(e)&&J)if(J=!1,Y()){var r={type:"password_input_focus",focus:!1,token:T.token};P.send(JSON.stringify(r))}else window.top.postMessage({message:"iframePasswordInputBlurred",name:n,type:"password"},"*")}function M(e){var t=document.activeElement;t&&t!=document.body?document.querySelector&&(t=document.querySelector(":focus")):t=null;for(var n=0;n<e.length;++n){let s=e[n];var Y=u(s),r=Y&&s.hasAttribute("autofocus"),o=Y&&t&&s.isEqualNode(t);(r||o)&&c(s),s.tmInputEventListenerAttached||(s.addEventListener("focus",function(e){c(e.target)},!0),s.addEventListener("blur",function(e){l(e.target)},!0),s.tmInputEventListenerAttached=!0)}}function f(){M(document.getElementsByTagName("input"));var e=new MutationObserver(function(e){e&&e.forEach(function(e){e&&e.addedNodes&&0!=e.addedNodes.length&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),e.addedNodes.forEach(function(e){if(e.tagName){var t=[];"input"==e.tagName.toLowerCase()?t.push(e):t=e.getElementsByTagName("input"),t.length&&M(t)}}))})});g(e,document,{childList:!0,subtree:!0}),window.addEventListener("beforeunload",function(e){l(),function(){for(var e=document.getElementsByTagName("input"),t=0;t<e.length;++t){let n=e[t];n.removeEventListener("focus",c),n.removeEventListener("blur",l),delete n.tmInputEventListenerAttached}}()})}function p(){var e;Y()&&(T.iup&&(e={type:"connect",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),useragent:navigator.userAgent,pid:T.pid,pn:T.pn},null!=P&&P.readyState==WebSocket.OPEN&&P.send(JSON.stringify(e))),y()&&(b(),v(),function(){function e(e){return e.baseURI&&e.baseURI.startsWith("https://web.whatsapp.com/")}function t(e){const t=e.dataTransfer.files;t.length>0&&Array.from(t).forEach(e=>{N(e)})}document.querySelectorAll("div").forEach(n=>{e(n)&&n.addEventListener("drop",t,{passive:!0})});var n=new MutationObserver(function(e){var t;e&&(t=[],Array.from(document.querySelectorAll(".message-in, .message-out")).forEach(function(e){var n=e.querySelector("button[type=button], div[role=button]");n&&t.push(n)}),t.forEach(e=>{const t="modified";e.hasAttribute(t)||(e.setAttribute(t,""),e.onclick=t=>{t.verified||(t.preventDefault(),t.stopPropagation(),new Promise(function(t,n){!function(e,t,n){try{const n=e.parentElement,Y=n[Object.keys(n).find(e=>e.includes("__reactProps"))].children.props.msg,r=Y.mediaData,o=crypto.randomUUID();w.set(o,{responseCallback:e=>t(!e.block)}),P.send(JSON.stringify({requestId:o,type:"waptransfer",direction:"download",filename:r.__x_filename,filesize:r.__x_size,filetype:r.__x_mimetype,filehash:Y.__x_encFilehash,url:document.URL,process:T.pn,content:""}))}catch{n()}}(e,t,()=>setTimeout(()=>n(),1))}).then(e=>{t.verified=e,t.verified&&t.target.dispatchEvent(t)},()=>{}))})}),e.forEach(function(e){e&&("childList"!==e.type||e.addedNodes.length<=0||e.addedNodes.forEac
64h(function(e){if(e&&e.nodeType==Node.ELEMENT_NODE){e.querySelectorAll("input").forEach(e=>{!function(e){const t="modified";"file"!==e.type||e.hasAttribute(t)||(e.setAttribute(t,""),e.addEventListener("change",e=>{Array.from(e.target.files).forEach(e=>{N(e)})}))}(e)});var t=document.querySelectorAll("div[id=main] header div")[2];if(t){var n=t.querySelectorAll("div")[1],Y=t.querySelectorAll("div")[2];x=(n?n.innerText:"")+":"+(Y?Y.innerText:"")}document.querySelector("div[id=main] header span[data-icon=default-user]")&&(R="private"),document.querySelector("div[id=main] header span[data-icon=default-group]")&&(R="group");var r=e.querySelectorAll(".message-in, .message-out");r||E("msgNodes is empty"),e.matches(".message-in, .message-out")&&(r=Array.prototype.slice.call(r)).push(e),r&&0!=r.length?r.forEach(function(e){if(e)if(!e.classList||e.classList.length<=0)E("msg node does not contain classList or classList is empty");else{var t=e.classList.contains("message-in"),n=e.querySelector(".copyable-text"),Y=e.querySelector(".selectable-text"),r=new Date,o=null;if(n&&n.attributes["data-pre-plain-text"]){var s=n.attributes["data-pre-plain-text"].textContent,i=/\[(\d{1,2}):(\d{1,2})[ ]{0,1}([p|a]\.?\s?m\.?)?,\s(.+)]\s(.*):/i[Symbol.match](s);if(!i||6!=i.length)return void E("no matches for string: "+s);if(i[3]&&i[3].length>1&&"p"==i[3].toLowerCase().slice(0,1)&&(i[1]=parseInt(i[1])+12),dateParts=/(\d{1,4})[.-\\/](\d{1,4})[.-\\/](\d{1,4})/[Symbol.match](i[4]),!dateParts||4!=dateParts.length)return void E("no matches for string: "+i[4]);if(E(i[4]+U),!(r=date.parse(i[4],U)||function(e,t,n){var Y=[[e,t,n].join("-"),[e,n,t].join("-"),[t,e,n].join("-"),[t,n,e].join("-"),[n,e,t].join("-"),[n,t,e].join("-")],r=Date.now();for(var o in Y){var s=Date.parse(Y[o]);if(s&&!(Math.abs(r-s)>1728e6))return new Date(s)}}(dateParts[1],dateParts[2],dateParts[3])))return void E("Can't parse date from string: "+i[4]);r.setHours(i[1]),r.setMinutes(i[2]),o=i[5]}E("isIncomingMsg = "+t+" msgDateTime = "+r+" msgSender = "+o+" wapStartTime = "+F+" wapTrackingEnabled = "+_+" conversationName = "+x),q.get(x)||q.set(x,F);var a=Y?Y.innerText:null;if(E("msgContent = "+a),o&&a&&_){var d=(o+a+x+r.getTime()).split("").map(function(e){return e.charCodeAt(0)}).reduce(function(e,t){return e+((e<<7)+(e<<3))^t}).toString(16);if(q.get(x).getTime()==r.getTime()?r.setMilliseconds(++B):(B=0,q.set(x,r)),!d||z.has(d))return void E("msgId is null or this msgId already tracked "+d);var u={type:"wapmessage",timestamp:r.getTime(),id:d,incoming:t,sender:t?o:"Me",content:a,recipient:t?"Me":x,conversationId:R?x+"("+R+")":x};P.send(JSON.stringify(u)),z.add(d)}}}):E("no msg nodes found")}}))}))});if(!n)return void E("failed to create observer");function Y(){g(n,document.body,{childList:!0,subtree:!0})?E("observer is ready"):g(n,document,{childList:!0,subtree:!0})?E("observer is ready (fallback to document)"):E("observer failed to initialize")}function r(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Y):document.body?Y():setTimeout(()=>{Y()},100)}r()}()),I()&&function(){if(!I())return;function e(){window.dropboxBlockedFiles||(window.dropboxBlockedFiles=new Set);const e=new Map;function t(t){t.target.files&&Array.from(t.target.files).forEach(t=>{const n=t.name+"_"+t.size+"_"+t.lastModified;e.set(n,{fileInfo:{name:t.name,size:t.size,type:t.type,lastModified:t.lastModified},timestamp:Date.now()}),k(t)})}function n(e){if(e.dataTransfer?.items)for(const t of e.dataTransfer.items){const e=t.webkitGetAsEntry();e&&Y(e)}}function Y(t){if(t.isFile)t.file(function(t){const n=t.name+"_"+t.size+"_"+t.lastModified;e.set(n,{fileInfo:{name:t.name,size:t.size,type:t.type,lastModified:t.lastModified},timestamp:Date.now()}),k(t)});else if(t.isDirectory){t.createReader().readEntries(function(e){for(const t of e)Y(t)})}}function r(){document.querySelectorAll('input[type="file"]').forEach(e=>{e.hasAttribute("data-tm-hooked")||(e.setAttribute("data-tm-hooked","true"),e.addEventListener("change",t))})}new MutationObserver(()=>r()).observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("dragover",e=>e.preventDefault(),!0),document.addEventListener("drop",n,!0);const o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(t){const n=this._tmUrl?.includes("append_v2")&&this._tmHeaders?.["dropbox-api-arg"];if(!n||!window.dropboxBlockedFiles)return o.apply(this,arguments);try{const Y=JSON.parse(n);if(!Y.cursor||!Y.close)return o.apply(this,arguments);const r=(Y.cursor.offset||0)+(t&&(t.length||t.size)||0);for(const e of window.dropboxBlockedFiles){const t=parseInt(e.split("_").pop());if(r===t)return}const s=this,i=s.onreadystatechange;s.onreadystatechange=function(){s.readyState===XMLHttpRequest.DONE&&200===s.status&&e.forEach((t,n)=>{t.fileInfo.size===r&&(!function(e,t){try{P.send(JSON.stringify({type:"dropboxupload",filename:e,filesize:t,url:document.URL,process:T.pn,timestamp:Date.now()}))}catch(e){}}(t.fileInfo.name,t.fileInfo.size),e.delete(n))}),i&&i.apply(this,arguments)}}catch(e){}return o.apply(this,arguments)};const s=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(e,t){return this._tmUrl=t,this._tmHeaders={},s.apply(this,arguments)};const i=XMLHttpRequest.prototype.setRequestHeader;XMLHttpRequest.prototype.setRequestHeader=function(e,t){return this._tmHeaders||(this._tmHeaders={}),this._tmHeaders[e.toLowerCase()]=t,i.apply(this,arguments)},r()}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}(),Y()&&(o(),C=setInterval(o,T.sendNotificationsInterval),y()&&(O=setInterval(s,T.pollWhatsappTrackingInterval))),function(){for(var e=[],t=document.getElementsByTagName("link"),n=0;n<t.length;++n)"icon"!=t[n].getAttribute("rel")&&"shortcut icon"!=t[n].getAttribute("rel")||(e[e.length]=d(t[n].getAttribute("href")));0==e.length&&(e[0]=d("/favicon.ico"));var Y={type:"favicon"};Y.url=document.URL,Y.src=e,Y.title=document.title,Y.token=T.token,Y.useragent=navigator.appVersion.length>navigator.userAgent.length?navigator.appVersion:navigator.userAgent,P.send(JSON.stringify(Y))}(),T.dontTrackWebPasswords&&f())}function D(){document.tmfilter||(m(),U={"ar-SA":"D/M/YY","bg-BG":"D.M.YYYY","ca-ES":"D/M/YYYY","zh-TW":"YYYY/M/D","cs-CZ":"D.M.YYYY","Da-DK":"D-M-YYYY","De-DE":"D.M.YYYY","el-GR":"D/M/YYYY","en-US":"M/D
64/YYYY","fi-FI":"D.M.YYYY","fr-FR":"D/M/YYYY","he-IL":"D/M/YYYY","hu-HU":"YYYY. M. D.","is-IS":"D.M.YYYY","it-IT":"D/M/YYYY","ja-JP":"YYYY/M/D","ko-KR":"YYYY-M-D","nl-NL":"D-M-YYYY","nb-NO":"D.M.YYYY","pl-PL":"YYYY-M-D","pt-BR":"D/M/YYYY","ro-RO":"D.M.YYYY","ru-RU":"D.M.YYYY","hr-HR":"D.M.YYYY","sk-SK":"D. M. YYYY","sq-AL":"YYYY-M-D","sv-SE":"YYYY-M-D","th-TH":"D/M/YYYY","tr-TR":"D.M.YYYY","ur-PK":"D/M/YYYY","iD-ID":"D/M/YYYY","uk-UA":"D.M.YYYY","be-BY":"D.M.YYYY","sl-SI":"D.M.YYYY","et-EE":"D.M.YYYY","lv-LV":"YYYY.M.D.","lt-LT":"YYYY.M.D","fa-IR":"M/D/YYYY","vi-VN":"D/M/YYYY","hy-AM":"D.M.YYYY","az-Latn-AZ":"D.M.YYYY","eu-ES":"YYYY/M/D","Mk-MK":"D.M.YYYY","af-ZA":"YYYY/M/D","ka-GE":"D.M.YYYY","fo-FO":"D-M-YYYY","hi-IN":"D-M-YYYY","Ms-MY":"D/M/YYYY","kk-KZ":"D.M.YYYY","ky-KG":"D.M.YY","sw-KE":"M/D/YYYY","uz-Latn-UZ":"D/M YYYY","tt-RU":"D.M.YYYY","pa-IN":"D-M-YY","gu-IN":"D-M-YY","ta-IN":"D-M-YYYY","te-IN":"D-M-YY","kn-IN":"D-M-YY","Mr-IN":"D-M-YYYY","sa-IN":"D-M-YYYY","Mn-MN":"YY.M.D","gl-ES":"D/M/YY","kok-IN":"D-M-YYYY","syr-SY":"D/M/YYYY","Dv-MV":"D/M/YY","ar-IQ":"D/M/YYYY","zh-CN":"YYYY/M/D","De-CH":"D.M.YYYY","en-GB":"D/M/YYYY","es-MX":"D/M/YYYY","fr-BE":"D/M/YYYY","it-CH":"D.M.YYYY","nl-BE":"D/M/YYYY","nn-NO":"D.M.YYYY","pt-PT":"D-M-YYYY","sr-Latn-CS":"D.M.YYYY","sv-FI":"D.M.YYYY","az-Cyrl-AZ":"D.M.YYYY","Ms-BN":"D/M/YYYY","uz-Cyrl-UZ":"D.M.YYYY","ar-EG":"D/M/YYYY","zh-HK":"D/M/YYYY","De-AT":"D.M.YYYY","en-AU":"D/M/YYYY","es-ES":"D/M/YYYY","fr-CA":"YYYY-M-D","sr-Cyrl-CS":"D.M.YYYY","ar-LY":"D/M/YYYY","zh-SG":"D/M/YYYY","De-LU":"D.M.YYYY","en-CA":"D/M/YYYY","es-GT":"D/M/YYYY","fr-CH":"D.M.YYYY","ar-DZ":"D-M-YYYY","zh-MO":"D/M/YYYY","De-LI":"D.M.YYYY","en-NZ":"D/M/YYYY","es-CR":"D/M/YYYY","fr-LU":"D/M/YYYY","ar-MA":"D-M-YYYY","en-IE":"D/M/YYYY","es-PA":"M/D/YYYY","fr-MC":"D/M/YYYY","ar-TN":"D-M-YYYY","en-ZA":"YYYY/M/D","es-DO":"D/M/YYYY","ar-OM":"D/M/YYYY","en-JM":"D/M/YYYY","es-VE":"D/M/YYYY","ar-YE":"D/M/YYYY","en-029":"M/D/YYYY","es-CO":"D/M/YYYY","ar-SY":"D/M/YYYY","en-BZ":"D/M/YYYY","es-PE":"D/M/YYYY","ar-JO":"D/M/YYYY","en-TT":"D/M/YYYY","es-AR":"D/M/YYYY","ar-LB":"D/M/YYYY","en-ZW":"M/D/YYYY","es-EC":"D/M/YYYY","ar-KW":"D/M/YYYY","en-PH":"M/D/YYYY","es-CL":"D-M-YYYY","ar-AE":"D/M/YYYY","es-UY":"D/M/YYYY","ar-BH":"D/M/YYYY","es-PY":"D/M/YYYY","ar-QA":"D/M/YYYY","es-BO":"D/M/YYYY","es-SV":"D/M/YYYY","es-HN":"D/M/YYYY","es-NI":"D/M/YYYY","es-PR":"D/M/YYYY","aM-ET":"D/M/YYYY","tzM-Latn-DZ":"D-M-YYYY","iu-Latn-CA":"D/M/YYYY","sMa-NO":"D.M.YYYY","Mn-Mong-CN":"YYYY/M/D","gD-GB":"D/M/YYYY","en-MY":"D/M/YYYY","prs-AF":"D/M/YY","bn-BD":"D-M-YY","wo-SN":"D/M/YYYY","rw-RW":"M/D/YYYY","qut
64-GT":"D/M/YYYY","sah-RU":"M.D.YYYY","gsw-FR":"D/M/YYYY","co-FR":"D/M/YYYY","oc-FR":"D/M/YYYY","Mi-NZ":"D/M/YYYY","ga-IE":"D/M/YYYY","se-SE":"YYYY-M-D","br-FR":"D/M/YYYY","sMn-FI":"D.M.YYYY","Moh-CA":"M/D/YYYY","arn-CL":"D-M-YYYY","ii-CN":"YYYY/M/D","Dsb-DE":"D. M. YYYY","ig-NG":"D/M/YYYY","kl-GL":"D-M-YYYY","lb-LU":"D/M/YYYY","ba-RU":"D.M.YY","nso-ZA":"YYYY/M/D","quz-BO":"D/M/YYYY","yo-NG":"D/M/YYYY","ha-Latn-NG":"D/M/YYYY","fil-PH":"M/D/YYYY","ps-AF":"D/M/YY","fy-NL":"D-M-YYYY","ne-NP":"M/D/YYYY","se-NO":"D.M.YYYY","iu-Cans-CA":"D/M/YYYY","sr-Latn-RS":"D.M.YYYY","si-LK":"YYYY-M-D","sr-Cyrl-RS":"D.M.YYYY","lo-LA":"D/M/YYYY","kM-KH":"YYYY-M-D","cy-GB":"D/M/YYYY","bo-CN":"YYYY/M/D","sMs-FI":"D.M.YYYY","as-IN":"D-M-YYYY","Ml-IN":"D-M-YY","en-IN":"D-M-YYYY","or-IN":"D-M-YY","bn-IN":"D-M-YY","tk-TM":"D.M.YY","bs-Latn-BA":"D.M.YYYY","Mt-MT":"D/M/YYYY","sr-Cyrl-ME":"D.M.YYYY","se-FI":"D.M.YYYY","zu-ZA":"YYYY/M/D","xh-ZA":"YYYY/M/D","tn-ZA":"YYYY/M/D","hsb-DE":"D. M. YYYY","bs-Cyrl-BA":"D.M.YYYY","tg-Cyrl-TJ":"D.M.YY","sr-Latn-BA":"D.M.YYYY","sMj-NO":"D.M.YYYY","rM-CH":"D/M/YYYY","sMj-SE":"YYYY-M-D","quz-EC":"D/M/YYYY","quz-PE":"D/M/YYYY","hr-BA":"D.M.YYYY.","sr-Latn-ME":"D.M.YYYY","sMa-SE":"YYYY-M-D","en-SG":"D/M/YYYY","ug-CN":"YYYY-M-D","sr-Cyrl-BA":"D.M.YYYY","es-US":"M/D/YYYY"}[navigator.language],document.tmfilter="present")}function m(){(P=new WebSocket(T.connectionString)).onclose=i,P.onmessage=a,P.onopen=p,T.extJs&&(T.extJs.webSock={readyState:()=>P.readyState,send:e=>P.send(e)})}function h(){var e=function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;t<e.length;t++)if(e[t]+"Hidden"in document)return e[t]+"Hidden";return null}();return!!e&&document[e]}function g(e,t,n){if(!e||!t)return e&&e.disconnect(),!1;if(!(t instanceof Node))return e.disconnect(),!1;try{return e.observe(t,n),!0}catch(t){return e.disconnect(),!1}}function y(){var e=document.head.querySelector("[name='og:title']");return!!e&&"WhatsApp Web"===e.getAttribute("content")}function v(){P.send(JSON.stringify({type:"waptracking"}))}function b(){q=new Map,z=new Set,B=0,(F=new Date).setSeconds(0),F.setMilliseconds(0)}function S(e){for(var t="",n=new Uint8Array(e),Y=n.byteLength,r=0;r<Y;r++)t+=String.fromCharCode(n[r]);return window.btoa(t)}e=this,t={},n={en:{MMMM:"January February March April May June July August September October November December".split(" "),MMM:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dddd:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ddd:"Sun Mon Tue Wed Thu Fri Sat".split(" "),dd:"Su Mo Tu We Th Fr Sa".split(" "),A:["a.m.","p.m."],formatter:{YYYY:function(e){return("000"+e.getFullYear()).slice(-4)},YY:function(e){return("0"+e.getFullYear()).slice(-2)},Y:function(e){return""+e.getFullYear()},MMMM:function(e){return this.MMMM[e.getMonth()]},MMM:function(e){return this.MMM[e.getMonth()]},MM:function(e){return("0"+(e.getMonth()+1)).slice(-2)},M:function(e){return""+(e.getMonth()+1)},DD:function(e){return("0"+e.getDate()).slice(-2)},D:function(e){return""+e.getDate()},HH:function(e){return("0"+e.getHours()).slice(-2)},H:function(e){return""+e.getHours()},A:function(e){return this.A[11<e.getHours()|0]},hh:function(e){return("0"+(e.getHours()%12||12)).slice(-2)},h:function(e){return""+(e.getHours()%12||12)},mm:function(e){return("0"+e.getMinutes()).slice(-2)},m:function(e){return""+e.getMinutes()},ss:function(e){return("0"+e.getSeconds()).slice(-2)},s:function(e){return""+e.getSeconds()},SSS:function(e){return("00"+e.getMilliseconds()).slice(-3)},SS:function(e){return("0"+(e.getMilliseconds()/10|0)).slice(-2)},S:function(e){return""+(e.getMilliseconds()/100|0)},dddd:function(e){return this.dddd[e.getDay()]},ddd:function(e){return this.ddd[e.getDay()]},dd:function(e){return this.dd[e.getDay()]},Z:function(e){return(0<(e=e.utc?0:e.getTimezoneOffset()/.6)?"-":"+")+("000"+Math.abs(e-e%100*.4)).slice(-4)},post:function(e){return e}},parser:{find:function(e,t){for(var n,Y=-1,r=0,o=0,s=e.length;o<s;o++)n=e[o],!t.indexOf(n)&&n.length>r&&(Y=o,r=n.length);return{index:Y,length:r}},MMMM:function(e){return this.parser.find(this.MMMM,e)},MMM:function(e){return this.parser.find(this.MMM,e)},A:function(e){return this.parser.find(this.A,e)},h:function(e,t){return(12===e?0:e)+12*t},pre:function(e){return e}}}},t.format=function(e,Y,r){var o=t.addMinutes(e,r?e.getTimezoneOffset():0),s=n.en,i=s.formatter;return o.utc=r,Y.replace(/(\[[^\[\]]*]|\[.*\][^\[]*\]|YYYY|YY|MMM?M?|DD|HH|hh|mm|ss|SSS?|ddd?d?|.)/g,function(e){var t=i[e];return t?i.post(t.call(s,o,Y)):e.replace(/\[(.*)]/,"$1")})},t.parse=function(e,Y,r){var o,s,i=n.en,a=i.parser.pre(e),d=0,u=/(MMMM?|A)|(YYYY)|(SSS)|(MM|DD|HH|hh|mm|ss)|(YY|M|D|H|h|m|s|SS)|(S)|(.)/g,c={2:/^\d{1,4}/,3:/^\d{1,3}/,4:/^\d\d/,5:/^\d\d?/,6:/^\d/};e=[31,28,31,30,31,30,31,31,30,31,30,31];for(var l={Y:1970,M:1,D:1,H:0,m:0,s:0,S:0};o=u.exec(Y);){var M=0,f=1;for(s="";!s;)s=o[++M];o=s.charAt(0);var p=a.slice(d);if(2>M){var D=i.parser[s].call(i,p,Y);l[o]=D.index,"M"===o&&l[o]++,f=D.length}else if(7>M)D=(p.match(c[M])||[""])[0],l[o]=0|("S"===o?(D+"000").slice(0,-s.length):D),f=D.length;else if(" "!==o&&o!==p[0])return NaN;if(!f)return NaN;d+=f}
64return d===a.length&&D?(l.Y+=70>l.Y?2e3:100>l.Y?1900:0,l.H=l.H||i.parser.h(l.h||0,l.A||0),Y=new Date(l.Y,l.M-1,l.D,l.H,l.m,l.s,l.S),e[1]+=0|t.isLeapYear(Y),1>l.M||12<l.M||1>l.D||l.D>e[l.M-1]||23<l.H||59<l.m||59<l.s?NaN:r?t.addMinutes(Y,-Y.getTimezoneOffset()):Y):NaN},t.isValid=function(e,n){return!!t.parse(e,n)},t.addYears=function(e,n){return t.addMonths(e,12*n)},t.addMonths=function(e,t){var n=new Date(e.getTime());return n.setMonth(n.getMonth()+t),n},t.addDays=function(e,t){var n=new Date(e.getTime());return n.setDate(n.getDate()+t),n},t.addHours=function(e,n){return t.addMilliseconds(e,36e5*n)},t.addMinutes=function(e,n){return t.addMilliseconds(e,6e4*n)},t.addSeconds=function(e,n){return t.addMilliseconds(e,1e3*n)},t.addMilliseconds=function(e,t){return new Date(e.getTime()+t)},t.subtract=function(e,t){var n=e.getTime()-t.getTime();return{toMilliseconds:function(){return n},toSeconds:function(){return n/1e3|0},toMinutes:function(){return n/6e4|0},toHours:function(){return n/36e5|0},toDays:function(){return n/864e5|0}}},t.isLeapYear=function(e){return!(((e=e.getFullYear())%4||!(e%100))&&e%400)},t.isSameDay=function(e,n){return t.format(e,"YYYYMMDD")===t.format(n,"YYYYMMDD")},e.date=t;const w=new Map;function N(e){const t="tm_overlay",n=10485760;let Y=function(){let e=document.getElementById(t);e&&e.remove(),w.clear()};if(e){const r=new FileReader;let o;e.size>n&&(o=e.slice(0,n));let s=!1;if(w.forEach(t=>{t.fileName===e.name&&(s=!0)}),!s){r.addEventListener("load",t=>{try{const t=crypto.randomUUID();w.set(t,{responseCallback:e=>{e.block&&function(){const e=[],t=t=>{t.querySelectorAll('button:not([tabindex="-1"])').forEach(t=>{t.querySelector('span[data-icon="x"]')&&(e.push(t),t.click())})},n=new MutationObserver((n,Y)=>{n.forEach(e=>{"childList"===e.type&&e.addedNodes.length>0&&e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&t(e)})}),e.length>0&&Y.disconnect()});g(n,document.body,{childList:!0,subtree:!0});t(document),e.length>0&&n.disconnect()}(),Y()},fileName:e.name}),setTimeout(()=>{w.has(t)&&(w.delete(t),Y())},2e3),P.send(JSON.stringify({requestId:t,type:"waptransfer",direction:"upload",filename:e.name,filesize:e.size,filetype:e.type,url:document.URL,filehash:"0",process:T.pn,content:S(r.result)}))}catch(e){Y()}}),r.addEventListener("error",e=>{Y()}),r.addEventListener("abort",e=>{Y()}),function(){if(!document.getElementById(t)){let e=document.createElement("div");e.id=t,e.style.cssText="background:rgba(0, 0, 0, .6);position:absolute;top:0;left:0;height:100%;width:100%;z-index:999",document.body.appendChild(e)}}();try{null==o?r.readAsArrayBuffer(e):r.readAsArrayBuffer(o)}catch(e){Y()}}}}function E(e){var t={handler:"log",module:"wapjs",url:"wap",message:e};P.send(JSON.stringify(t))}function L(e){var t={name:e.data.name,type:e.data.type};"iframePasswordInputFocused"===e.data.message?c(t,!0):"iframePasswordInputBlurred"===e.data.message&&l(t,!0)}const A=new Map;function k(e){const t=crypto.randomUUID();window.dropboxBlockedFiles||(window.dropboxBlockedFiles=new Set);const n=e.name+"_"+e.size;window.dropboxBlockedFiles.add(n),A.set(t,{responseCallback:t=>{if(t.block){document.querySelectorAll('input[type="file"]').forEach(t=>{if(t.files)try{const n=new DataTransfer;Array.from(t.files).forEach(t=>{t.name===e.name&&t.size===e.size||n.items.add(t)}),t.files=n.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}catch(e){t.value=""}})}else window.dropboxBlockedFiles.delete(n)},fileName:e.name}),setTimeout(()=>{A.has(t)&&(A.delete(t),window.dropboxBlockedFiles.delete(n))},5e3);try{P.send(JSON.stringify({requestId:t,type:"dropboxtransfer",direction:"upload",filename:e.name,filesize:e.size,filetype:e.type,url:document.URL,filehash:"0",process:T.pn,content:""}))}catch(e){window.dropboxBlockedFiles.delete(n)}}function I(){return window.location.hostname.includes("dropbox.com")}window.tmDropboxHandleResponse=function(e){try{const t=JSON.parse(e),n=A.get(t.requestId);n&&(n.responseCallback(t),A.delete(t.requestId))}catch(e){}};var T={token:"10dc29f3-bc4f-4f3d-b9d6-247366849490",sendNotificationsInterval:Number("1000"),pollWhatsappTrackingInterval:Number("20000"),connectionString:"wss://tm.filter:1502",pid:"11556",pn:"firefox.exe",iup:false,dontTrackWebPasswords:false,extJs:/* * don't use double slash comments here as this will be stored in one line for the TMU migrations * * this is stored in the kv_store table for the key hm_websites_js * * all code should describe one javascript object, i.e. { bla-bla-bla } * * this object will be included in standard js injection code as a replacement of 'insight_placeholder' * if domain of the page matches one of the domain regexes from the hypermonitoring_web settings * if not, 'insight_placeholder' will be replaced with
64null * * this object must contain function init(token), it will be called only once when document became visible (it is called for every iframe too) * * also this code contains placeholdes, see doc in the code (search for `_placeholder` suffix) * * also this object must contain property webSock that will be assigned WebSocket when created * * this object should send json for every registered event with the following structure: * { * cat: 'insight' - this is required to route the message to the proper handler * type: click | changed - type of the event * elm: uint32 - id of the element that fired the event. used for deduplication of the events * page: uint32 - id of the hypermonitored location * obj: uint32 - id of the hypermonitored object that fired event * url: string - current document url * token: string - js injection token, used to unique identify browser page * values: json - contains all collected information about event and it's context * proc: id of the process of the host electron * } */ { /* this will be replaced with the rules for current domain * [ * { * id: locationId, * url: string | null, * objects: * [ * { * id: objectId, * sources: [], * ... * }, * ... * ] * }, * ... * ] */ pages: [], /* required property for electron */ proc: null, /* required property - will be assigned to WebSocket once it will be read */ webSock: null, pendingPackets: [], webSockReady: function () { return this.webSock !== null && this.webSock.readyState === WebSocket.OPEN; }, processPacket: function (t) { if (!this.webSockReady()) this.pendingPackets.push(t); else { this.sendPendingPackets(); this.webSock.send(t); } }, sendPendingPackets: function () { if (this.webSockReady() && this.pendingPackets.length > 0) { for (var i = 0; i < this.pendingPackets.length; ++i) this.webSock.send(this.pendingPackets[i]); this.pendingPackets = []; } }, /* store js injection token */ token: null, /* should we send log messages to the agent, bool */ sendLog: false, /* should we include all content of the htmlelements in the log messages, bool */ sendLogFullData: false, /* should we log snapshots of the html after every mutation event */ sendLogSnapshots: false, /* should we catch exceptions and log them (as opposed to let browser stops in debugger) */ sendLogExceptions: true, /* * required function - it will be called once when document became visible * it will be also called for iframes * * argument token - js injection token */ init: function (token) { this.token = token; this.log("init: token:" + token + " sendLog:" + this.sendLog + " sendLogFullData:" + this.sendLogFullData); if (document.readyState === "interactive" || document.readyState === "complete") this.attachEvents(); else window.addEventListener("DOMContentLoaded", this.attachEvents.bind(this)); setInterval(this.sendPendingPackets.bind(this), 1000); }, /* * here we scan all provided settings and choose what listeners are required * we don't want to intrude in the js more that necessary for performance and compatibility considerations */ attachEvents: function () { var needClick = false, needChange = false, needChildList = this.sendLogSnapshots, needCharacterData = this.sendLogSnapshots, callObjects = []; this.pages.forEach(function (page) { page.objects.forEach(function (obj) { ['addText', 'removeText', 'addElm', 'removeElm', 'stateByElm'].forEach(function (source) { if (obj.sources.includes(source)) needChildList = true; }); if (obj.sources.includes('changeText')) needCharacterData = true; if (obj.sources.includes('change')) needChange = true; if (obj.sources.includes('click')) needClick = true; if (obj.sources.includes('call')) callObjects.push({ page: page, obj: obj }); }); }); this.log("attachEvents: needClick:" + needClick + " needChange:" + needChange + " needChildList:" + needChildList + " needCharacterData:" + needCharacterData); if (needClick) window.addEventListener('click', this.onEvent.bind(this), true); if (needChange) window.addEventListener('change', this.onEvent.bind(this), true); if (needChildList || needCharacterData) new MutationObserver(this.onMutation.bind(this)).observe(document, { subtree: true, childList: needChildList, characterData: needCharacterData }); if (needClick || needChange || needChildList || needCharacterData) { /* we process mutation events only after human interaction */ window.addEventListener('keydown', this.onInteraction.bind(this)); window.addEventListener('mousedown', this.onInteraction.bind(this)); } if (callObjects.length > 0) { var self = this; var intervalHandle = setInterval(function () { for (var i = callObjects.length - 1; i >= 0; i--) { if (self.interceptCall(callObjects[i])) callObjects.splice(i, 1); } if (callObjects.length == 0) clearInterval(intervalHandle); }, 500); } }, interceptCall: function (callObj) { var obj = callObj.obj, jsObj; try { jsObj = this.calc(obj, "object", [], []); } catch{ } if (jsObj == null) { this.log("attachEvents: object:" + obj.id + " is not found"); return false; } var method = jsObj[obj.func]; var self = this; jsObj[obj.func] = function () { var arg_data = self.calc(obj, "arg_data", ["args"], [arguments], "return null"); var ret = method.apply(jsObj, arguments); var return_data = self.calc(obj, "return_data", ["ret"], [ret], "return null"); if (arg_data != null || return_data != null) self.sendEvent("interceptCall", callObj.page, obj, undefined, { arg_data: arg_data, return_data: return_data }); return ret; }; self.log("attachEvents: object:" + obj.id + ", " + (obj.object || obj.object_f) + " is found, call to '" + obj.func + "' intercepted"); return true; }, /* new Date().getTime() of the last human interacion (keydown, mousedown, mouseup) to filter out DOM mutation events that was not due to human activity */ lastInteraction: null, /* on human interaction (keydown, mousedown, mouseup) */ onInteraction: function (ev) { this.lastInteraction = new Date().getTime(); this.log('onInteraction: human Interaction ' + ev.type + ': ' + this.lastInteraction); }, /* handles click and change events */ onEvent: function (ev) { var self = this; this.callSafe("onEvent", function () { self.handleEvent(ev.type, ev.type, ev.composed ? ev.composedPath() : self.getAncestors(ev.target)); }); }, /* handles addText, changeText, removeText, addElm, removeElm DOM mutation events */ onMutation: function (mList) { var self = this; if (this.sendLogSnapshots) this.log("snapshot: " + document.body.outerHTML.replace(/\n|\r/g, '#')); this.callSafe("onMutation", function () { if (self.lastInteraction !== null) { mList.forEach(function (m) { if (m.type === 'childList') { m.removedNodes.forEac
64h(function (sub) { if (sub.nodeType === Node.TEXT_NODE) self.handleEvent('change', 'removeText', self.getAncestors(m.target)); else if (sub.nodeType === Node.ELEMENT_NODE) self.handleEventWithSub('change', 'removeElm', self.getAncestors(m.target), sub); }); m.addedNodes.forEach(function (sub) { if (sub.nodeType === Node.TEXT_NODE) self.handleEvent('change', 'addText', self.getAncestors(m.target)); else if (sub.nodeType === Node.ELEMENT_NODE) self.handleEventWithSub('change', 'addElm', self.getAncestors(m.target), sub); }); } else if (m.type === 'characterData' && m.target) self.handleEvent('change', 'changeText', self.getAncestors(m.target)); }); } self.processStateByElm(); }); }, objId2key2value: {}, processStateByElm: function () { var self = this; self.forEachObject('stateByElm', function (page, obj) { var key2value = {}; if (self.calc(obj, 'condition', [], [], "return true;")) { self.applySelector(document, obj.selector).forEach(function (elm) { var key = self.calc(obj, 'key', ['e'], [elm]); var value = self.calc(obj, 'value', ['e'], [elm]); key2value[JSON.stringify(key)] = JSON.stringify(value); }); } var oldKey2Value = self.objId2key2value[obj.id]; oldKey2Value = oldKey2Value ? oldKey2Value : {}; for (var k in key2value) { if (key2value[k] !== oldKey2Value[k]) self.sendEvent('change', page, obj, undefined, { key: JSON.parse(k), old: oldKey2Value[k] ? JSON.parse(oldKey2Value[k]) : undefined, "new": JSON.parse(key2value[k]) }); delete oldKey2Value[k]; } for (var k in oldKey2Value) self.sendEvent('change', page, obj, undefined, { key: JSON.parse(k), old: oldKey2Value[k] ? JSON.parse(oldKey2Value[k]) : undefined }); self.objId2key2value[obj.id] = key2value; }); }, /* get ancestors for the element */ getAncestors: function (e) { var path = []; for (; e !== document && e !== null; e = e.parentNode) path.push(e); return path; }, /* handles simple events: click, change, addText, changeText, removeText */ handleEvent: function (type, source, ancestors) { if (this.sendLog) /* double check not to call elementString in vain */ this.log("handleEvent: type:" + type + " source:" + source + " target:" + this.elementString(ancestors[0])); var self = this; this.forEachMatch(source, ancestors, function (page, obj, elm) { self.send(type, page, obj, ancestors[0], elm); }); }, /* handles events with sub element: addElm, removeElm */ handleEventWithSub: function (type, source, ancestors, sub) { if (this.sendLog) /* double check not to call elementString in vain */ this.log("handleEventWithSub: type:" + type + " source:" + source + " target:" + this.elementString(ancestors[0]) + " sub:" + this.elementString(sub)); var self = this; this.forEachMatch(source, ancestors, function (page, obj, elm) { if (!obj.sub_matches || sub.matches(obj.sub_matches)) { if (obj.sub_selector) { self.applySelector(sub, obj.sub_selector).forEach(function (descendant) { self.send(type, page, obj, ancestors[0], elm, sub, descendant); }); } else { self.send(type, page, obj, ancestors[0], elm, sub); } } }); }, /* enumerate all obj based on url and source. calls handler(page, obj) */ forEac
64hObject: function (source, handler) { var self = this; this.pages.forEach(function (page) { if (self.testRegex(page.url, document.URL)) { page.objects.forEach(function (obj) { if (obj.sources.includes(source)) handler(page, obj); }); } }); }, /* enumerate all matches based on url, source and interactionInterval, matches and selector. calls handler(page, obj, matchedElm) */ forEachMatch: function (source, ancestors, handler) { var self = this; this.forEachObject(source, function (page, obj) { if (obj.interactionInterval && (self.lastInteraction == null || new Date().getTime() - self.lastInteraction > obj.interactionInterval)) { if (self.lastInteraction != null) self.log('forEachMatch skip rule: interval:' + (new Date().getTime() - self.lastInteraction).toString()); } else { var scope = obj.scope === 'target' ? [ancestors[0]] : ancestors, m = obj.matches, set = !m && obj.selector ? self.applySelector(document, obj.selector) : null; for (var i = 0; i < scope.length; ++i) { if ((m && scope[i].matches && scope[i].matches(m)) /* scope[i] may not be element, test if matches is defined */ || (set && set.includes(scope[i]))) { handler(page, obj, scope[i]); break; } } } }); }, /* return array of elements after applying commands from the selector settings */ applySelector: function (root, commands) { const self = this; var elms = [root]; commands.forEach(function (command) { var res = []; elms.forEach(function (elm) { if (command.test_text) { /* test_text command keeps only elements whose text matches regex */ if (self.testRegex(command.test_text, elm.textContent)) res.push(elm); } else if (command.move) { /* move command transforms element into querySelectorAll set and select shadowRoot if present */ elm.querySelectorAll(':scope ' + command.move).forEach(function (e) { var s = e.shadowRoot; res.push(s ? s : e); }); } else if (command.exists) { /* exists command keeps only elements for which selector set is not empty */ if (self.applySelector(elm, command.exists).length !== 0) res.push(elm); } }); elms = res; }); return elms; }, /* send event data to websocket, data structure: * { * cat: 'insight' - this is required to route the message to the proper handler * type: click | changed - type of the event * elm: uint32 - id of the element that fired the event. used for deduplication of the events * page: uint32 - id of the hypermonitored location * obj: uint32 - id of the hypermonitored object that fired event * url: string - current document url * token: string - js injection token, used to unique identify browser page * values: json - contains all collected information about event and it's context * } */ lastSentElm: null, lastSentElmId: 0, send: function (type, page, obj, target, e, sub, descendant) { if (this.lastSentElm !== e) { this.lastSentElm = e; this.lastSentElmId++; } const values = this.calc(obj, 'values', ['target', 'e', 'sub', 'desce
64ndant'], [target, e, sub, descendant]); if (values) this.sendEvent(type, page, obj, this.lastSentElmId.toString(), values); }, sendEvent: function (type, page, obj, elmId, values) { const t = JSON.stringify({ values: values, handler: page.handler, type: type, elm: elmId, page: page.id, obj: obj.id, url: document.URL, token: this.token, proc: this.proc }); if (this.sendLog) console.log("[InsightJs] send: " + t); this.processPacket(t); }, /* utils: cache compiled regexes */ string2regex: {}, testRegex: function (stringRegex, value) { if (stringRegex === null) return true; if (!(stringRegex in this.string2regex)) this.string2regex[stringRegex] = new RegExp(stringRegex); return this.string2regex[stringRegex].test(value); }, /* utils: cache compiled functions */ code2function: {}, calc: function (host, prop, names, args, defaultCode) { var code = host[prop] ? "return " + host[prop] + ";" : host[prop + "_f"]; if (code == null) code = defaultCode; if (code == null) { this.log("code not found, calc(" + JSON.stringify(host) + "), prop:" + prop); return {}; } if (!(code in this.code2function)) this.code2function[code] = new Function(...names, code); return this.code2function[code].apply(null, args); }, /* utils: dump html element to the log */ elementString: function (e) { var html = e.nodeType == Node.TEXT_NODE ? e.data : e.outerHTML; if (this.sendLogFullData) return html; html = html.length > 100 ? html.substr(0, 100) + " ... total len:" + html.length : html; return html.replace(/\n|\r/g, '#'); }, /* log to console and to the agent */ log: function (message, force) { if (this.sendLog || force) { var m = new Date().toLocaleString() + ": " + message; console.log("[InsightJs] " + m + ", url:" + document.URL); this.processPacket(JSON.stringify({ handler: "log", module: "InsightJs", message: m, url: document.URL })); } }, callSafe: function (name, f) { if (!this.sendLogExceptions) f(); else { try { f() } catch (e) { this.log("exception in " + name + ":" + e.name + ", " + e.message, true); } } } }},H=6e4,C=null,O=null,x=null,R=null,_=!1,q=null,z=null,B=0,F=null,P=null,U="",J=!1;!function e(t){h()?setTimeout(function(){e(t)},1e3):t()}(function(){T.extJs&&T.extJs.init(T.token),Y()&&(window.addEventListener("focus",r,!0),T.dontTrackWebPasswords&&window.addEventListener("message",L,!1)),Y()||T.extJs?D():T.dontTrackWebPasswords&&f()})}();</script>
64<script>!function(){var e,t,n;function Y(){try{return window.self===window.top}catch(e){return!1}}function r(){setTimeout(function(){var e={type:"focus",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),useragent:navigator.userAgent,pid:T.pid,pn:T.pn};null!=P&&P.readyState==WebSocket.OPEN&&P.send(JSON.stringify(e))},0)}function o(){var e={type:"notification",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),timeout:T.sendNotificationsInterval,useragent:navigator.appVersion.length>navigator.userAgent.length?navigator.appVersion:navigator.userAgent,pid:T.pid,pn:T.pn};P.send(JSON.stringify(e))}function s(){v()}function i(){Y()&&(clearInterval(C),clearInterval(O)),timeout=setTimeout(function(){m()},H)}function a(e){if(Y())switch(e.data.substring(0,1)){case"r":window.location=e.data.substring(1);break;case"b":document.body.innerHTML=e.data.substring(1);break;case"w":var t="true"==e.data.substring(1).toLowerCase();_!=t&&t&&b(),_=t;break;case"x":!function(e){try{const t=JSON.parse(e),n=w.get(t.requestId);if(n){w.delete(t.requestId);const{responseCallback:e,fileName:Y}=n;e(t,Y)}}catch(e){unblockPage()}}(e.data.substring(1));break;case"d":tmDropboxHandleResponse(e.data.substring(1))}}function d(e){var t=document.createElement("a");return t.href=e,t.href}function u(e){if(!e)return!1;if("password"==e.type)return!0;if(e instanceof HTMLInputElement){var t=window.getComputedStyle(e);if(t){var n=t.getPropertyValue("-webkit-text-security");return["disc","circle","square"].includes(n)}}return!1}function c(e,t=!1){if(u(e)&&!J)if(J=!0,Y()){var n={type:"password_input_focus",focus:!0,token:T.token};P.send(JSON.stringify(n))}else window.top.postMessage({message:"iframePasswordInputFocused",name:e.name,type:"password"},"*")}function l(e,t=!1){var n=e&&e.name?e.name:"<unnamed>";if(u(e)&&J)if(J=!1,Y()){var r={type:"password_input_focus",focus:!1,token:T.token};P.send(JSON.stringify(r))}else window.top.postMessage({message:"iframePasswordInputBlurred",name:n,type:"password"},"*")}function M(e){var t=document.activeElement;t&&t!=document.body?document.querySelector&&(t=document.querySelector(":focus")):t=null;for(var n=0;n<e.length;++n){let s=e[n];var Y=u(s),r=Y&&s.hasAttribute("autofocus"),o=Y&&t&&s.isEqualNode(t);(r||o)&&c(s),s.tmInputEventListenerAttached||(s.addEventListener("focus",function(e){c(e.target)},!0),s.addEventListener("blur",function(e){l(e.target)},!0),s.tmInputEventListenerAttached=!0)}}function f(){M(document.getElementsByTagName("input"));var e=new MutationObserver(function(e){e&&e.forEach(function(e){e&&e.addedNodes&&0!=e.addedNodes.length&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),e.addedNodes.forEach(function(e){if(e.tagName){var t=[];"input"==e.tagName.toLowerCase()?t.push(e):t=e.getElementsByTagName("input"),t.length&&M(t)}}))})});g(e,document,{childList:!0,subtree:!0}),window.addEventListener("beforeunload",function(e){l(),function(){for(var e=document.getElementsByTagName("input"),t=0;t<e.length;++t){let n=e[t];n.removeEventListener("focus",c),n.removeEventListener("blur",l),delete n.tmInputEventListenerAttached}}()})}function p(){var e;Y()&&(T.iup&&(e={type:"connect",token:T.token,title:document.title,url:document.URL,focused:document.hasFocus(),useragent:navigator.userAgent,pid:T.pid,pn:T.pn},null!=P&&P.readyState==WebSocket.OPEN&&P.send(JSON.stringify(e))),y()&&(b(),v(),function(){function e(e){return e.baseURI&&e.baseURI.startsWith("https://web.whatsapp.com/")}function t(e){const t=e.dataTransfer.files;t.length>0&&Array.from(t).forEach(e=>{N(e)})}document.querySelectorAll("div").forEach(n=>{e(n)&&n.addEventListener("drop",t,{passive:!0})});var n=new MutationObserver(function(e){var t;e&&(t=[],Array.from(document.querySelectorAll(".message-in, .message-out")).forEach(function(e){var n=e.querySelector("button[type=button], div[role=button]");n&&t.push(n)}),t.forEach(e=>{const t="modified";e.hasAttribute(t)||(e.setAttribute(t,""),e.onclick=t=>{t.verified||(t.preventDefault(),t.stopPropagation(),new Promise(function(t,n){!function(e,t,n){try{const n=e.parentElement,Y=n[Object.keys(n).find(e=>e.includes("__reactProps"))].children.props.msg,r=Y.mediaData,o=crypto.randomUUID();w.set(o,{responseCallback:e=>t(!e.block)}),P.send(JSON.stringify({requestId:o,type:"waptransfer",direction:"download",filename:r.__x_filename,filesize:r.__x_size,filetype:r.__x_mimetype,filehash:Y.__x_encFilehash,url:document.URL,process:T.pn,content:""}))}catch{n()}}(e,t,()=>setTimeout(()=>n(),1))}).then(e=>{t.verified=e,t.verified&&t.target.dispatchEvent(t)},()=>{}))})}),e.forEach(function(e){e&&("childList"!==e.type||e.addedNodes.length<=0||e.addedNodes.forEac
64h(function(e){if(e&&e.nodeType==Node.ELEMENT_NODE){e.querySelectorAll("input").forEach(e=>{!function(e){const t="modified";"file"!==e.type||e.hasAttribute(t)||(e.setAttribute(t,""),e.addEventListener("change",e=>{Array.from(e.target.files).forEach(e=>{N(e)})}))}(e)});var t=document.querySelectorAll("div[id=main] header div")[2];if(t){var n=t.querySelectorAll("div")[1],Y=t.querySelectorAll("div")[2];x=(n?n.innerText:"")+":"+(Y?Y.innerText:"")}document.querySelector("div[id=main] header span[data-icon=default-user]")&&(R="private"),document.querySelector("div[id=main] header span[data-icon=default-group]")&&(R="group");var r=e.querySelectorAll(".message-in, .message-out");r||E("msgNodes is empty"),e.matches(".message-in, .message-out")&&(r=Array.prototype.slice.call(r)).push(e),r&&0!=r.length?r.forEach(function(e){if(e)if(!e.classList||e.classList.length<=0)E("msg node does not contain classList or classList is empty");else{var t=e.classList.contains("message-in"),n=e.querySelector(".copyable-text"),Y=e.querySelector(".selectable-text"),r=new Date,o=null;if(n&&n.attributes["data-pre-plain-text"]){var s=n.attributes["data-pre-plain-text"].textContent,i=/\[(\d{1,2}):(\d{1,2})[ ]{0,1}([p|a]\.?\s?m\.?)?,\s(.+)]\s(.*):/i[Symbol.match](s);if(!i||6!=i.length)return void E("no matches for string: "+s);if(i[3]&&i[3].length>1&&"p"==i[3].toLowerCase().slice(0,1)&&(i[1]=parseInt(i[1])+12),dateParts=/(\d{1,4})[.-\\/](\d{1,4})[.-\\/](\d{1,4})/[Symbol.match](i[4]),!dateParts||4!=dateParts.length)return void E("no matches for string: "+i[4]);if(E(i[4]+U),!(r=date.parse(i[4],U)||function(e,t,n){var Y=[[e,t,n].join("-"),[e,n,t].join("-"),[t,e,n].join("-"),[t,n,e].join("-"),[n,e,t].join("-"),[n,t,e].join("-")],r=Date.now();for(var o in Y){var s=Date.parse(Y[o]);if(s&&!(Math.abs(r-s)>1728e6))return new Date(s)}}(dateParts[1],dateParts[2],dateParts[3])))return void E("Can't parse date from string: "+i[4]);r.setHours(i[1]),r.setMinutes(i[2]),o=i[5]}E("isIncomingMsg = "+t+" msgDateTime = "+r+" msgSender = "+o+" wapStartTime = "+F+" wapTrackingEnabled = "+_+" conversationName = "+x),q.get(x)||q.set(x,F);var a=Y?Y.innerText:null;if(E("msgContent = "+a),o&&a&&_){var d=(o+a+x+r.getTime()).split("").map(function(e){return e.charCodeAt(0)}).reduce(function(e,t){return e+((e<<7)+(e<<3))^t}).toString(16);if(q.get(x).getTime()==r.getTime()?r.setMilliseconds(++B):(B=0,q.set(x,r)),!d||z.has(d))return void E("msgId is null or this msgId already tracked "+d);var u={type:"wapmessage",timestamp:r.getTime(),id:d,incoming:t,sender:t?o:"Me",content:a,recipient:t?"Me":x,conversationId:R?x+"("+R+")":x};P.send(JSON.stringify(u)),z.add(d)}}}):E("no msg nodes found")}}))}))});if(!n)return void E("failed to create observer");function Y(){g(n,document.body,{childList:!0,subtree:!0})?E("observer is ready"):g(n,document,{childList:!0,subtree:!0})?E("observer is ready (fallback to document)"):E("observer failed to initialize")}function r(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Y):document.body?Y():setTimeout(()=>{Y()},100)}r()}()),I()&&function(){if(!I())return;function e(){window.dropboxBlockedFiles||(window.dropboxBlockedFiles=new Set);const e=new Map;function t(t){t.target.files&&Array.from(t.target.files).forEach(t=>{const n=t.name+"_"+t.size+"_"+t.lastModified;e.set(n,{fileInfo:{name:t.name,size:t.size,type:t.type,lastModified:t.lastModified},timestamp:Date.now()}),k(t)})}function n(e){if(e.dataTransfer?.items)for(const t of e.dataTransfer.items){const e=t.webkitGetAsEntry();e&&Y(e)}}function Y(t){if(t.isFile)t.file(function(t){const n=t.name+"_"+t.size+"_"+t.lastModified;e.set(n,{fileInfo:{name:t.name,size:t.size,type:t.type,lastModified:t.lastModified},timestamp:Date.now()}),k(t)});else if(t.isDirectory){t.createReader().readEntries(function(e){for(const t of e)Y(t)})}}function r(){document.querySelectorAll('input[type="file"]').forEach(e=>{e.hasAttribute("data-tm-hooked")||(e.setAttribute("data-tm-hooked","true"),e.addEventListener("change",t))})}new MutationObserver(()=>r()).observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("dragover",e=>e.preventDefault(),!0),document.addEventListener("drop",n,!0);const o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(t){const n=this._tmUrl?.includes("append_v2")&&this._tmHeaders?.["dropbox-api-arg"];if(!n||!window.dropboxBlockedFiles)return o.apply(this,arguments);try{const Y=JSON.parse(n);if(!Y.cursor||!Y.close)return o.apply(this,arguments);const r=(Y.cursor.offset||0)+(t&&(t.length||t.size)||0);for(const e of window.dropboxBlockedFiles){const t=parseInt(e.split("_").pop());if(r===t)return}const s=this,i=s.onreadystatechange;s.onreadystatechange=function(){s.readyState===XMLHttpRequest.DONE&&200===s.status&&e.forEach((t,n)=>{t.fileInfo.size===r&&(!function(e,t){try{P.send(JSON.stringify({type:"dropboxupload",filename:e,filesize:t,url:document.URL,process:T.pn,timestamp:Date.now()}))}catch(e){}}(t.fileInfo.name,t.fileInfo.size),e.delete(n))}),i&&i.apply(this,arguments)}}catch(e){}return o.apply(this,arguments)};const s=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(e,t){return this._tmUrl=t,this._tmHeaders={},s.apply(this,arguments)};const i=XMLHttpRequest.prototype.setRequestHeader;XMLHttpRequest.prototype.setRequestHeader=function(e,t){return this._tmHeaders||(this._tmHeaders={}),this._tmHeaders[e.toLowerCase()]=t,i.apply(this,arguments)},r()}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}(),Y()&&(o(),C=setInterval(o,T.sendNotificationsInterval),y()&&(O=setInterval(s,T.pollWhatsappTrackingInterval))),function(){for(var e=[],t=document.getElementsByTagName("link"),n=0;n<t.length;++n)"icon"!=t[n].getAttribute("rel")&&"shortcut icon"!=t[n].getAttribute("rel")||(e[e.length]=d(t[n].getAttribute("href")));0==e.length&&(e[0]=d("/favicon.ico"));var Y={type:"favicon"};Y.url=document.URL,Y.src=e,Y.title=document.title,Y.token=T.token,Y.useragent=navigator.appVersion.length>navigator.userAgent.length?navigator.appVersion:navigator.userAgent,P.send(JSON.stringify(Y))}(),T.dontTrackWebPasswords&&f())}function D(){document.tmfilter||(m(),U={"ar-SA":"D/M/YY","bg-BG":"D.M.YYYY","ca-ES":"D/M/YYYY","zh-TW":"YYYY/M/D","cs-CZ":"D.M.YYYY","Da-DK":"D-M-YYYY","De-DE":"D.M.YYYY","el-GR":"D/M/YYYY","en-US":"M/D
64/YYYY","fi-FI":"D.M.YYYY","fr-FR":"D/M/YYYY","he-IL":"D/M/YYYY","hu-HU":"YYYY. M. D.","is-IS":"D.M.YYYY","it-IT":"D/M/YYYY","ja-JP":"YYYY/M/D","ko-KR":"YYYY-M-D","nl-NL":"D-M-YYYY","nb-NO":"D.M.YYYY","pl-PL":"YYYY-M-D","pt-BR":"D/M/YYYY","ro-RO":"D.M.YYYY","ru-RU":"D.M.YYYY","hr-HR":"D.M.YYYY","sk-SK":"D. M. YYYY","sq-AL":"YYYY-M-D","sv-SE":"YYYY-M-D","th-TH":"D/M/YYYY","tr-TR":"D.M.YYYY","ur-PK":"D/M/YYYY","iD-ID":"D/M/YYYY","uk-UA":"D.M.YYYY","be-BY":"D.M.YYYY","sl-SI":"D.M.YYYY","et-EE":"D.M.YYYY","lv-LV":"YYYY.M.D.","lt-LT":"YYYY.M.D","fa-IR":"M/D/YYYY","vi-VN":"D/M/YYYY","hy-AM":"D.M.YYYY","az-Latn-AZ":"D.M.YYYY","eu-ES":"YYYY/M/D","Mk-MK":"D.M.YYYY","af-ZA":"YYYY/M/D","ka-GE":"D.M.YYYY","fo-FO":"D-M-YYYY","hi-IN":"D-M-YYYY","Ms-MY":"D/M/YYYY","kk-KZ":"D.M.YYYY","ky-KG":"D.M.YY","sw-KE":"M/D/YYYY","uz-Latn-UZ":"D/M YYYY","tt-RU":"D.M.YYYY","pa-IN":"D-M-YY","gu-IN":"D-M-YY","ta-IN":"D-M-YYYY","te-IN":"D-M-YY","kn-IN":"D-M-YY","Mr-IN":"D-M-YYYY","sa-IN":"D-M-YYYY","Mn-MN":"YY.M.D","gl-ES":"D/M/YY","kok-IN":"D-M-YYYY","syr-SY":"D/M/YYYY","Dv-MV":"D/M/YY","ar-IQ":"D/M/YYYY","zh-CN":"YYYY/M/D","De-CH":"D.M.YYYY","en-GB":"D/M/YYYY","es-MX":"D/M/YYYY","fr-BE":"D/M/YYYY","it-CH":"D.M.YYYY","nl-BE":"D/M/YYYY","nn-NO":"D.M.YYYY","pt-PT":"D-M-YYYY","sr-Latn-CS":"D.M.YYYY","sv-FI":"D.M.YYYY","az-Cyrl-AZ":"D.M.YYYY","Ms-BN":"D/M/YYYY","uz-Cyrl-UZ":"D.M.YYYY","ar-EG":"D/M/YYYY","zh-HK":"D/M/YYYY","De-AT":"D.M.YYYY","en-AU":"D/M/YYYY","es-ES":"D/M/YYYY","fr-CA":"YYYY-M-D","sr-Cyrl-CS":"D.M.YYYY","ar-LY":"D/M/YYYY","zh-SG":"D/M/YYYY","De-LU":"D.M.YYYY","en-CA":"D/M/YYYY","es-GT":"D/M/YYYY","fr-CH":"D.M.YYYY","ar-DZ":"D-M-YYYY","zh-MO":"D/M/YYYY","De-LI":"D.M.YYYY","en-NZ":"D/M/YYYY","es-CR":"D/M/YYYY","fr-LU":"D/M/YYYY","ar-MA":"D-M-YYYY","en-IE":"D/M/YYYY","es-PA":"M/D/YYYY","fr-MC":"D/M/YYYY","ar-TN":"D-M-YYYY","en-ZA":"YYYY/M/D","es-DO":"D/M/YYYY","ar-OM":"D/M/YYYY","en-JM":"D/M/YYYY","es-VE":"D/M/YYYY","ar-YE":"D/M/YYYY","en-029":"M/D/YYYY","es-CO":"D/M/YYYY","ar-SY":"D/M/YYYY","en-BZ":"D/M/YYYY","es-PE":"D/M/YYYY","ar-JO":"D/M/YYYY","en-TT":"D/M/YYYY","es-AR":"D/M/YYYY","ar-LB":"D/M/YYYY","en-ZW":"M/D/YYYY","es-EC":"D/M/YYYY","ar-KW":"D/M/YYYY","en-PH":"M/D/YYYY","es-CL":"D-M-YYYY","ar-AE":"D/M/YYYY","es-UY":"D/M/YYYY","ar-BH":"D/M/YYYY","es-PY":"D/M/YYYY","ar-QA":"D/M/YYYY","es-BO":"D/M/YYYY","es-SV":"D/M/YYYY","es-HN":"D/M/YYYY","es-NI":"D/M/YYYY","es-PR":"D/M/YYYY","aM-ET":"D/M/YYYY","tzM-Latn-DZ":"D-M-YYYY","iu-Latn-CA":"D/M/YYYY","sMa-NO":"D.M.YYYY","Mn-Mong-CN":"YYYY/M/D","gD-GB":"D/M/YYYY","en-MY":"D/M/YYYY","prs-AF":"D/M/YY","bn-BD":"D-M-YY","wo-SN":"D/M/YYYY","rw-RW":"M/D/YYYY","qut
64-GT":"D/M/YYYY","sah-RU":"M.D.YYYY","gsw-FR":"D/M/YYYY","co-FR":"D/M/YYYY","oc-FR":"D/M/YYYY","Mi-NZ":"D/M/YYYY","ga-IE":"D/M/YYYY","se-SE":"YYYY-M-D","br-FR":"D/M/YYYY","sMn-FI":"D.M.YYYY","Moh-CA":"M/D/YYYY","arn-CL":"D-M-YYYY","ii-CN":"YYYY/M/D","Dsb-DE":"D. M. YYYY","ig-NG":"D/M/YYYY","kl-GL":"D-M-YYYY","lb-LU":"D/M/YYYY","ba-RU":"D.M.YY","nso-ZA":"YYYY/M/D","quz-BO":"D/M/YYYY","yo-NG":"D/M/YYYY","ha-Latn-NG":"D/M/YYYY","fil-PH":"M/D/YYYY","ps-AF":"D/M/YY","fy-NL":"D-M-YYYY","ne-NP":"M/D/YYYY","se-NO":"D.M.YYYY","iu-Cans-CA":"D/M/YYYY","sr-Latn-RS":"D.M.YYYY","si-LK":"YYYY-M-D","sr-Cyrl-RS":"D.M.YYYY","lo-LA":"D/M/YYYY","kM-KH":"YYYY-M-D","cy-GB":"D/M/YYYY","bo-CN":"YYYY/M/D","sMs-FI":"D.M.YYYY","as-IN":"D-M-YYYY","Ml-IN":"D-M-YY","en-IN":"D-M-YYYY","or-IN":"D-M-YY","bn-IN":"D-M-YY","tk-TM":"D.M.YY","bs-Latn-BA":"D.M.YYYY","Mt-MT":"D/M/YYYY","sr-Cyrl-ME":"D.M.YYYY","se-FI":"D.M.YYYY","zu-ZA":"YYYY/M/D","xh-ZA":"YYYY/M/D","tn-ZA":"YYYY/M/D","hsb-DE":"D. M. YYYY","bs-Cyrl-BA":"D.M.YYYY","tg-Cyrl-TJ":"D.M.YY","sr-Latn-BA":"D.M.YYYY","sMj-NO":"D.M.YYYY","rM-CH":"D/M/YYYY","sMj-SE":"YYYY-M-D","quz-EC":"D/M/YYYY","quz-PE":"D/M/YYYY","hr-BA":"D.M.YYYY.","sr-Latn-ME":"D.M.YYYY","sMa-SE":"YYYY-M-D","en-SG":"D/M/YYYY","ug-CN":"YYYY-M-D","sr-Cyrl-BA":"D.M.YYYY","es-US":"M/D/YYYY"}[navigator.language],document.tmfilter="present")}function m(){(P=new WebSocket(T.connectionString)).onclose=i,P.onmessage=a,P.onopen=p,T.extJs&&(T.extJs.webSock={readyState:()=>P.readyState,send:e=>P.send(e)})}function h(){var e=function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;t<e.length;t++)if(e[t]+"Hidden"in document)return e[t]+"Hidden";return null}();return!!e&&document[e]}function g(e,t,n){if(!e||!t)return e&&e.disconnect(),!1;if(!(t instanceof Node))return e.disconnect(),!1;try{return e.observe(t,n),!0}catch(t){return e.disconnect(),!1}}function y(){var e=document.head.querySelector("[name='og:title']");return!!e&&"WhatsApp Web"===e.getAttribute("content")}function v(){P.send(JSON.stringify({type:"waptracking"}))}function b(){q=new Map,z=new Set,B=0,(F=new Date).setSeconds(0),F.setMilliseconds(0)}function S(e){for(var t="",n=new Uint8Array(e),Y=n.byteLength,r=0;r<Y;r++)t+=String.fromCharCode(n[r]);return window.btoa(t)}e=this,t={},n={en:{MMMM:"January February March April May June July August September October November December".split(" "),MMM:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dddd:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ddd:"Sun Mon Tue Wed Thu Fri Sat".split(" "),dd:"Su Mo Tu We Th Fr Sa".split(" "),A:["a.m.","p.m."],formatter:{YYYY:function(e){return("000"+e.getFullYear()).slice(-4)},YY:function(e){return("0"+e.getFullYear()).slice(-2)},Y:function(e){return""+e.getFullYear()},MMMM:function(e){return this.MMMM[e.getMonth()]},MMM:function(e){return this.MMM[e.getMonth()]},MM:function(e){return("0"+(e.getMonth()+1)).slice(-2)},M:function(e){return""+(e.getMonth()+1)},DD:function(e){return("0"+e.getDate()).slice(-2)},D:function(e){return""+e.getDate()},HH:function(e){return("0"+e.getHours()).slice(-2)},H:function(e){return""+e.getHours()},A:function(e){return this.A[11<e.getHours()|0]},hh:function(e){return("0"+(e.getHours()%12||12)).slice(-2)},h:function(e){return""+(e.getHours()%12||12)},mm:function(e){return("0"+e.getMinutes()).slice(-2)},m:function(e){return""+e.getMinutes()},ss:function(e){return("0"+e.getSeconds()).slice(-2)},s:function(e){return""+e.getSeconds()},SSS:function(e){return("00"+e.getMilliseconds()).slice(-3)},SS:function(e){return("0"+(e.getMilliseconds()/10|0)).slice(-2)},S:function(e){return""+(e.getMilliseconds()/100|0)},dddd:function(e){return this.dddd[e.getDay()]},ddd:function(e){return this.ddd[e.getDay()]},dd:function(e){return this.dd[e.getDay()]},Z:function(e){return(0<(e=e.utc?0:e.getTimezoneOffset()/.6)?"-":"+")+("000"+Math.abs(e-e%100*.4)).slice(-4)},post:function(e){return e}},parser:{find:function(e,t){for(var n,Y=-1,r=0,o=0,s=e.length;o<s;o++)n=e[o],!t.indexOf(n)&&n.length>r&&(Y=o,r=n.length);return{index:Y,length:r}},MMMM:function(e){return this.parser.find(this.MMMM,e)},MMM:function(e){return this.parser.find(this.MMM,e)},A:function(e){return this.parser.find(this.A,e)},h:function(e,t){return(12===e?0:e)+12*t},pre:function(e){return e}}}},t.format=function(e,Y,r){var o=t.addMinutes(e,r?e.getTimezoneOffset():0),s=n.en,i=s.formatter;return o.utc=r,Y.replace(/(\[[^\[\]]*]|\[.*\][^\[]*\]|YYYY|YY|MMM?M?|DD|HH|hh|mm|ss|SSS?|ddd?d?|.)/g,function(e){var t=i[e];return t?i.post(t.call(s,o,Y)):e.replace(/\[(.*)]/,"$1")})},t.parse=function(e,Y,r){var o,s,i=n.en,a=i.parser.pre(e),d=0,u=/(MMMM?|A)|(YYYY)|(SSS)|(MM|DD|HH|hh|mm|ss)|(YY|M|D|H|h|m|s|SS)|(S)|(.)/g,c={2:/^\d{1,4}/,3:/^\d{1,3}/,4:/^\d\d/,5:/^\d\d?/,6:/^\d/};e=[31,28,31,30,31,30,31,31,30,31,30,31];for(var l={Y:1970,M:1,D:1,H:0,m:0,s:0,S:0};o=u.exec(Y);){var M=0,f=1;for(s="";!s;)s=o[++M];o=s.charAt(0);var p=a.slice(d);if(2>M){var D=i.parser[s].call(i,p,Y);l[o]=D.index,"M"===o&&l[o]++,f=D.length}else if(7>M)D=(p.match(c[M])||[""])[0],l[o]=0|("S"===o?(D+"000").slice(0,-s.length):D),f=D.length;else if(" "!==o&&o!==p[0])return NaN;if(!f)return NaN;d+=f}
64return d===a.length&&D?(l.Y+=70>l.Y?2e3:100>l.Y?1900:0,l.H=l.H||i.parser.h(l.h||0,l.A||0),Y=new Date(l.Y,l.M-1,l.D,l.H,l.m,l.s,l.S),e[1]+=0|t.isLeapYear(Y),1>l.M||12<l.M||1>l.D||l.D>e[l.M-1]||23<l.H||59<l.m||59<l.s?NaN:r?t.addMinutes(Y,-Y.getTimezoneOffset()):Y):NaN},t.isValid=function(e,n){return!!t.parse(e,n)},t.addYears=function(e,n){return t.addMonths(e,12*n)},t.addMonths=function(e,t){var n=new Date(e.getTime());return n.setMonth(n.getMonth()+t),n},t.addDays=function(e,t){var n=new Date(e.getTime());return n.setDate(n.getDate()+t),n},t.addHours=function(e,n){return t.addMilliseconds(e,36e5*n)},t.addMinutes=function(e,n){return t.addMilliseconds(e,6e4*n)},t.addSeconds=function(e,n){return t.addMilliseconds(e,1e3*n)},t.addMilliseconds=function(e,t){return new Date(e.getTime()+t)},t.subtract=function(e,t){var n=e.getTime()-t.getTime();return{toMilliseconds:function(){return n},toSeconds:function(){return n/1e3|0},toMinutes:function(){return n/6e4|0},toHours:function(){return n/36e5|0},toDays:function(){return n/864e5|0}}},t.isLeapYear=function(e){return!(((e=e.getFullYear())%4||!(e%100))&&e%400)},t.isSameDay=function(e,n){return t.format(e,"YYYYMMDD")===t.format(n,"YYYYMMDD")},e.date=t;const w=new Map;function N(e){const t="tm_overlay",n=10485760;let Y=function(){let e=document.getElementById(t);e&&e.remove(),w.clear()};if(e){const r=new FileReader;let o;e.size>n&&(o=e.slice(0,n));let s=!1;if(w.forEach(t=>{t.fileName===e.name&&(s=!0)}),!s){r.addEventListener("load",t=>{try{const t=crypto.randomUUID();w.set(t,{responseCallback:e=>{e.block&&function(){const e=[],t=t=>{t.querySelectorAll('button:not([tabindex="-1"])').forEach(t=>{t.querySelector('span[data-icon="x"]')&&(e.push(t),t.click())})},n=new MutationObserver((n,Y)=>{n.forEach(e=>{"childList"===e.type&&e.addedNodes.length>0&&e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&t(e)})}),e.length>0&&Y.disconnect()});g(n,document.body,{childList:!0,subtree:!0});t(document),e.length>0&&n.disconnect()}(),Y()},fileName:e.name}),setTimeout(()=>{w.has(t)&&(w.delete(t),Y())},2e3),P.send(JSON.stringify({requestId:t,type:"waptransfer",direction:"upload",filename:e.name,filesize:e.size,filetype:e.type,url:document.URL,filehash:"0",process:T.pn,content:S(r.result)}))}catch(e){Y()}}),r.addEventListener("error",e=>{Y()}),r.addEventListener("abort",e=>{Y()}),function(){if(!document.getElementById(t)){let e=document.createElement("div");e.id=t,e.style.cssText="background:rgba(0, 0, 0, .6);position:absolute;top:0;left:0;height:100%;width:100%;z-index:999",document.body.appendChild(e)}}();try{null==o?r.readAsArrayBuffer(e):r.readAsArrayBuffer(o)}catch(e){Y()}}}}function E(e){var t={handler:"log",module:"wapjs",url:"wap",message:e};P.send(JSON.stringify(t))}function L(e){var t={name:e.data.name,type:e.data.type};"iframePasswordInputFocused"===e.data.message?c(t,!0):"iframePasswordInputBlurred"===e.data.message&&l(t,!0)}const A=new Map;function k(e){const t=crypto.randomUUID();window.dropboxBlockedFiles||(window.dropboxBlockedFiles=new Set);const n=e.name+"_"+e.size;window.dropboxBlockedFiles.add(n),A.set(t,{responseCallback:t=>{if(t.block){document.querySelectorAll('input[type="file"]').forEach(t=>{if(t.files)try{const n=new DataTransfer;Array.from(t.files).forEach(t=>{t.name===e.name&&t.size===e.size||n.items.add(t)}),t.files=n.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}catch(e){t.value=""}})}else window.dropboxBlockedFiles.delete(n)},fileName:e.name}),setTimeout(()=>{A.has(t)&&(A.delete(t),window.dropboxBlockedFiles.delete(n))},5e3);try{P.send(JSON.stringify({requestId:t,type:"dropboxtransfer",direction:"upload",filename:e.name,filesize:e.size,filetype:e.type,url:document.URL,filehash:"0",process:T.pn,content:""}))}catch(e){window.dropboxBlockedFiles.delete(n)}}function I(){return window.location.hostname.includes("dropbox.com")}window.tmDropboxHandleResponse=function(e){try{const t=JSON.parse(e),n=A.get(t.requestId);n&&(n.responseCallback(t),A.delete(t.requestId))}catch(e){}};var T={token:"57b521f5-ddfe-49a1-9bfd-7956ccfa6790",sendNotificationsInterval:Number("1000"),pollWhatsappTrackingInterval:Number("20000"),connectionString:"wss://tm.filter:1502",pid:"6632",pn:"firefox.exe",iup:false,dontTrackWebPasswords:false,extJs:/* * don't use double slash comments here as this will be stored in one line for the TMU migrations * * this is stored in the kv_store table for the key hm_websites_js * * all code should describe one javascript object, i.e. { bla-bla-bla } * * this object will be included in standard js injection code as a replacement of 'insight_placeholder' * if domain of the page matches one of the domain regexes from the hypermonitoring_web settings * if not, 'insight_placeholder' will be replaced with
64null * * this object must contain function init(token), it will be called only once when document became visible (it is called for every iframe too) * * also this code contains placeholdes, see doc in the code (search for `_placeholder` suffix) * * also this object must contain property webSock that will be assigned WebSocket when created * * this object should send json for every registered event with the following structure: * { * cat: 'insight' - this is required to route the message to the proper handler * type: click | changed - type of the event * elm: uint32 - id of the element that fired the event. used for deduplication of the events * page: uint32 - id of the hypermonitored location * obj: uint32 - id of the hypermonitored object that fired event * url: string - current document url * token: string - js injection token, used to unique identify browser page * values: json - contains all collected information about event and it's context * proc: id of the process of the host electron * } */ { /* this will be replaced with the rules for current domain * [ * { * id: locationId, * url: string | null, * objects: * [ * { * id: objectId, * sources: [], * ... * }, * ... * ] * }, * ... * ] */ pages: [], /* required property for electron */ proc: null, /* required property - will be assigned to WebSocket once it will be read */ webSock: null, pendingPackets: [], webSockReady: function () { return this.webSock !== null && this.webSock.readyState === WebSocket.OPEN; }, processPacket: function (t) { if (!this.webSockReady()) this.pendingPackets.push(t); else { this.sendPendingPackets(); this.webSock.send(t); } }, sendPendingPackets: function () { if (this.webSockReady() && this.pendingPackets.length > 0) { for (var i = 0; i < this.pendingPackets.length; ++i) this.webSock.send(this.pendingPackets[i]); this.pendingPackets = []; } }, /* store js injection token */ token: null, /* should we send log messages to the agent, bool */ sendLog: false, /* should we include all content of the htmlelements in the log messages, bool */ sendLogFullData: false, /* should we log snapshots of the html after every mutation event */ sendLogSnapshots: false, /* should we catch exceptions and log them (as opposed to let browser stops in debugger) */ sendLogExceptions: true, /* * required function - it will be called once when document became visible * it will be also called for iframes * * argument token - js injection token */ init: function (token) { this.token = token; this.log("init: token:" + token + " sendLog:" + this.sendLog + " sendLogFullData:" + this.sendLogFullData); if (document.readyState === "interactive" || document.readyState === "complete") this.attachEvents(); else window.addEventListener("DOMContentLoaded", this.attachEvents.bind(this)); setInterval(this.sendPendingPackets.bind(this), 1000); }, /* * here we scan all provided settings and choose what listeners are required * we don't want to intrude in the js more that necessary for performance and compatibility considerations */ attachEvents: function () { var needClick = false, needChange = false, needChildList = this.sendLogSnapshots, needCharacterData = this.sendLogSnapshots, callObjects = []; this.pages.forEach(function (page) { page.objects.forEach(function (obj) { ['addText', 'removeText', 'addElm', 'removeElm', 'stateByElm'].forEach(function (source) { if (obj.sources.includes(source)) needChildList = true; }); if (obj.sources.includes('changeText')) needCharacterData = true; if (obj.sources.includes('change')) needChange = true; if (obj.sources.includes('click')) needClick = true; if (obj.sources.includes('call')) callObjects.push({ page: page, obj: obj }); }); }); this.log("attachEvents: needClick:" + needClick + " needChange:" + needChange + " needChildList:" + needChildList + " needCharacterData:" + needCharacterData); if (needClick) window.addEventListener('click', this.onEvent.bind(this), true); if (needChange) window.addEventListener('change', this.onEvent.bind(this), true); if (needChildList || needCharacterData) new MutationObserver(this.onMutation.bind(this)).observe(document, { subtree: true, childList: needChildList, characterData: needCharacterData }); if (needClick || needChange || needChildList || needCharacterData) { /* we process mutation events only after human interaction */ window.addEventListener('keydown', this.onInteraction.bind(this)); window.addEventListener('mousedown', this.onInteraction.bind(this)); } if (callObjects.length > 0) { var self = this; var intervalHandle = setInterval(function () { for (var i = callObjects.length - 1; i >= 0; i--) { if (self.interceptCall(callObjects[i])) callObjects.splice(i, 1); } if (callObjects.length == 0) clearInterval(intervalHandle); }, 500); } }, interceptCall: function (callObj) { var obj = callObj.obj, jsObj; try { jsObj = this.calc(obj, "object", [], []); } catch{ } if (jsObj == null) { this.log("attachEvents: object:" + obj.id + " is not found"); return false; } var method = jsObj[obj.func]; var self = this; jsObj[obj.func] = function () { var arg_data = self.calc(obj, "arg_data", ["args"], [arguments], "return null"); var ret = method.apply(jsObj, arguments); var return_data = self.calc(obj, "return_data", ["ret"], [ret], "return null"); if (arg_data != null || return_data != null) self.sendEvent("interceptCall", callObj.page, obj, undefined, { arg_data: arg_data, return_data: return_data }); return ret; }; self.log("attachEvents: object:" + obj.id + ", " + (obj.object || obj.object_f) + " is found, call to '" + obj.func + "' intercepted"); return true; }, /* new Date().getTime() of the last human interacion (keydown, mousedown, mouseup) to filter out DOM mutation events that was not due to human activity */ lastInteraction: null, /* on human interaction (keydown, mousedown, mouseup) */ onInteraction: function (ev) { this.lastInteraction = new Date().getTime(); this.log('onInteraction: human Interaction ' + ev.type + ': ' + this.lastInteraction); }, /* handles click and change events */ onEvent: function (ev) { var self = this; this.callSafe("onEvent", function () { self.handleEvent(ev.type, ev.type, ev.composed ? ev.composedPath() : self.getAncestors(ev.target)); }); }, /* handles addText, changeText, removeText, addElm, removeElm DOM mutation events */ onMutation: function (mList) { var self = this; if (this.sendLogSnapshots) this.log("snapshot: " + document.body.outerHTML.replace(/\n|\r/g, '#')); this.callSafe("onMutation", function () { if (self.lastInteraction !== null) { mList.forEach(function (m) { if (m.type === 'childList') { m.removedNodes.forEac
64h(function (sub) { if (sub.nodeType === Node.TEXT_NODE) self.handleEvent('change', 'removeText', self.getAncestors(m.target)); else if (sub.nodeType === Node.ELEMENT_NODE) self.handleEventWithSub('change', 'removeElm', self.getAncestors(m.target), sub); }); m.addedNodes.forEach(function (sub) { if (sub.nodeType === Node.TEXT_NODE) self.handleEvent('change', 'addText', self.getAncestors(m.target)); else if (sub.nodeType === Node.ELEMENT_NODE) self.handleEventWithSub('change', 'addElm', self.getAncestors(m.target), sub); }); } else if (m.type === 'characterData' && m.target) self.handleEvent('change', 'changeText', self.getAncestors(m.target)); }); } self.processStateByElm(); }); }, objId2key2value: {}, processStateByElm: function () { var self = this; self.forEachObject('stateByElm', function (page, obj) { var key2value = {}; if (self.calc(obj, 'condition', [], [], "return true;")) { self.applySelector(document, obj.selector).forEach(function (elm) { var key = self.calc(obj, 'key', ['e'], [elm]); var value = self.calc(obj, 'value', ['e'], [elm]); key2value[JSON.stringify(key)] = JSON.stringify(value); }); } var oldKey2Value = self.objId2key2value[obj.id]; oldKey2Value = oldKey2Value ? oldKey2Value : {}; for (var k in key2value) { if (key2value[k] !== oldKey2Value[k]) self.sendEvent('change', page, obj, undefined, { key: JSON.parse(k), old: oldKey2Value[k] ? JSON.parse(oldKey2Value[k]) : undefined, "new": JSON.parse(key2value[k]) }); delete oldKey2Value[k]; } for (var k in oldKey2Value) self.sendEvent('change', page, obj, undefined, { key: JSON.parse(k), old: oldKey2Value[k] ? JSON.parse(oldKey2Value[k]) : undefined }); self.objId2key2value[obj.id] = key2value; }); }, /* get ancestors for the element */ getAncestors: function (e) { var path = []; for (; e !== document && e !== null; e = e.parentNode) path.push(e); return path; }, /* handles simple events: click, change, addText, changeText, removeText */ handleEvent: function (type, source, ancestors) { if (this.sendLog) /* double check not to call elementString in vain */ this.log("handleEvent: type:" + type + " source:" + source + " target:" + this.elementString(ancestors[0])); var self = this; this.forEachMatch(source, ancestors, function (page, obj, elm) { self.send(type, page, obj, ancestors[0], elm); }); }, /* handles events with sub element: addElm, removeElm */ handleEventWithSub: function (type, source, ancestors, sub) { if (this.sendLog) /* double check not to call elementString in vain */ this.log("handleEventWithSub: type:" + type + " source:" + source + " target:" + this.elementString(ancestors[0]) + " sub:" + this.elementString(sub)); var self = this; this.forEachMatch(source, ancestors, function (page, obj, elm) { if (!obj.sub_matches || sub.matches(obj.sub_matches)) { if (obj.sub_selector) { self.applySelector(sub, obj.sub_selector).forEach(function (descendant) { self.send(type, page, obj, ancestors[0], elm, sub, descendant); }); } else { self.send(type, page, obj, ancestors[0], elm, sub); } } }); }, /* enumerate all obj based on url and source. calls handler(page, obj) */ forEac
64hObject: function (source, handler) { var self = this; this.pages.forEach(function (page) { if (self.testRegex(page.url, document.URL)) { page.objects.forEach(function (obj) { if (obj.sources.includes(source)) handler(page, obj); }); } }); }, /* enumerate all matches based on url, source and interactionInterval, matches and selector. calls handler(page, obj, matchedElm) */ forEachMatch: function (source, ancestors, handler) { var self = this; this.forEachObject(source, function (page, obj) { if (obj.interactionInterval && (self.lastInteraction == null || new Date().getTime() - self.lastInteraction > obj.interactionInterval)) { if (self.lastInteraction != null) self.log('forEachMatch skip rule: interval:' + (new Date().getTime() - self.lastInteraction).toString()); } else { var scope = obj.scope === 'target' ? [ancestors[0]] : ancestors, m = obj.matches, set = !m && obj.selector ? self.applySelector(document, obj.selector) : null; for (var i = 0; i < scope.length; ++i) { if ((m && scope[i].matches && scope[i].matches(m)) /* scope[i] may not be element, test if matches is defined */ || (set && set.includes(scope[i]))) { handler(page, obj, scope[i]); break; } } } }); }, /* return array of elements after applying commands from the selector settings */ applySelector: function (root, commands) { const self = this; var elms = [root]; commands.forEach(function (command) { var res = []; elms.forEach(function (elm) { if (command.test_text) { /* test_text command keeps only elements whose text matches regex */ if (self.testRegex(command.test_text, elm.textContent)) res.push(elm); } else if (command.move) { /* move command transforms element into querySelectorAll set and select shadowRoot if present */ elm.querySelectorAll(':scope ' + command.move).forEach(function (e) { var s = e.shadowRoot; res.push(s ? s : e); }); } else if (command.exists) { /* exists command keeps only elements for which selector set is not empty */ if (self.applySelector(elm, command.exists).length !== 0) res.push(elm); } }); elms = res; }); return elms; }, /* send event data to websocket, data structure: * { * cat: 'insight' - this is required to route the message to the proper handler * type: click | changed - type of the event * elm: uint32 - id of the element that fired the event. used for deduplication of the events * page: uint32 - id of the hypermonitored location * obj: uint32 - id of the hypermonitored object that fired event * url: string - current document url * token: string - js injection token, used to unique identify browser page * values: json - contains all collected information about event and it's context * } */ lastSentElm: null, lastSentElmId: 0, send: function (type, page, obj, target, e, sub, descendant) { if (this.lastSentElm !== e) { this.lastSentElm = e; this.lastSentElmId++; } const values = this.calc(obj, 'values', ['target', 'e', 'sub', 'desce
64ndant'], [target, e, sub, descendant]); if (values) this.sendEvent(type, page, obj, this.lastSentElmId.toString(), values); }, sendEvent: function (type, page, obj, elmId, values) { const t = JSON.stringify({ values: values, handler: page.handler, type: type, elm: elmId, page: page.id, obj: obj.id, url: document.URL, token: this.token, proc: this.proc }); if (this.sendLog) console.log("[InsightJs] send: " + t); this.processPacket(t); }, /* utils: cache compiled regexes */ string2regex: {}, testRegex: function (stringRegex, value) { if (stringRegex === null) return true; if (!(stringRegex in this.string2regex)) this.string2regex[stringRegex] = new RegExp(stringRegex); return this.string2regex[stringRegex].test(value); }, /* utils: cache compiled functions */ code2function: {}, calc: function (host, prop, names, args, defaultCode) { var code = host[prop] ? "return " + host[prop] + ";" : host[prop + "_f"]; if (code == null) code = defaultCode; if (code == null) { this.log("code not found, calc(" + JSON.stringify(host) + "), prop:" + prop); return {}; } if (!(code in this.code2function)) this.code2function[code] = new Function(...names, code); return this.code2function[code].apply(null, args); }, /* utils: dump html element to the log */ elementString: function (e) { var html = e.nodeType == Node.TEXT_NODE ? e.data : e.outerHTML; if (this.sendLogFullData) return html; html = html.length > 100 ? html.substr(0, 100) + " ... total len:" + html.length : html; return html.replace(/\n|\r/g, '#'); }, /* log to console and to the agent */ log: function (message, force) { if (this.sendLog || force) { var m = new Date().toLocaleString() + ": " + message; console.log("[InsightJs] " + m + ", url:" + document.URL); this.processPacket(JSON.stringify({ handler: "log", module: "InsightJs", message: m, url: document.URL })); } }, callSafe: function (name, f) { if (!this.sendLogExceptions) f(); else { try { f() } catch (e) { this.log("exception in " + name + ":" + e.name + ", " + e.message, true); } } } }},H=6e4,C=null,O=null,x=null,R=null,_=!1,q=null,z=null,B=0,F=null,P=null,U="",J=!1;!function e(t){h()?setTimeout(function(){e(t)},1e3):t()}(function(){T.extJs&&T.extJs.init(T.token),Y()&&(window.addEventListener("focus",r,!0),T.dontTrackWebPasswords&&window.addEventListener("message",L,!1)),Y()||T.extJs?D():T.dontTrackWebPasswords&&f()})}();</script>
64<script src="https://asset.kompas.com/data/2017/wp/js/jquery-1.12.0.min.js" type="text/javascript"></script>
64<meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==" /><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==" /><meta http-equiv="origin-trial" content="A9nrunKdU5m96PSN1XsSGr3qOP0lvPFUB2AiAylCDlN5DTl17uDFkpQuHj1AFtgWLxpLaiBZuhrtb2WOu7ofHwEAAACKeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" /><meta http-equiv="origin-trial" content="A93bovR+QVXNx2/38qDbmeYYf1wdte9EO37K9eMq3r+541qo0byhYU899BhPB7Cv9QqD7wIbR1B6OAc9kEfYCA4AAACQeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" /><meta http-equiv="origin-trial" content="A1S5fojrAunSDrFbD8OfGmFHdRFZymSM/1ss3G+NEttCLfHkXvlcF6LGLH8Mo5PakLO1sCASXU1/gQf6XGuTBgwAAACQeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" />
64<script src="https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202510160101/pubads_impl.js?cb=31095331" async=""></script>
64<link href="https://securepubads.g.doubleclick.net/pagead/managed/dict/m202510140101/gpt" rel="compression-dictionary" />
65<script src="https://asset.kompas.com/data/2017/wp/js/modernizr.custom.js" type="text/javascript"></script>
65 66 67<link rel="preconnect" href="https://scripts.jixie.media"/> 68
69<script type="text/javascript"> 70window.jixie_o = { 71 accountid: "9262bf2590d558736cac4fff7978fcb1", 72 partner_cookie: 'kmps_usrid', 73 external_ids: ['tdid','tdid2','ifo'], 74 sha256mail_cookie:'usermail', 75 ad_blocker: true, 76 logbids: true, 77 userprofile: true, 78 sha256ph_cookie:'kmps_uphn', 79}; 80</script>
vendor: 1 bytes, line 80
80
81<script async="" src="https://scripts.jixie.media/jxpublisher_3_1.min.js" type="text/javascript"></script>
81 82 83 84
84<script type="text/javascript"> 85 86 var keyword_data = "" 87 var array_keywords = keyword_data.split(","); 88 89 window.jixie_p = window.jixie_p || []; 90 window.jixie_p.push({ 91 action: "visit", 92 parameters:{ 93 itemid:"20250904172000388", 94 keywords:array_keywords, 95 title:"SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu", 96 description: "Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi.", 97 category: "Prov" 98 } 99 }); 100 </script>
100 101 102
103<script type="text/javascript"> 104 var keywordBrandSafety = "Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi."; 105</script>
105 106 107<!-- Start Ad Blocking Recovery Message -->
108<script async="" src="https://fundingchoicesmessages.google.com/i/pub-9012468469771973?ers=1" nonce="IOvmxAasolBKwB_qzaJVMg" type="text/javascript"></script>
108<script nonce="IOvmxAasolBKwB_qzaJVMg" type="text/javascript">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
108 109<!-- Endof Ad Blocking Recovery Message --><!-- Start: GPT Async -->
110<script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" type="text/javascript"></script>
110 111 112
113<script type="text/javascript"> 114 var gptadslots=[]; 115 var googletag = googletag || {}; 116 googletag.cmd = googletag.cmd || []; 117 (function(){ var gads = document.createElement('script'); 118 gads.async = true; gads.type = 'text/javascript'; 119 // var useSSL = 'https:' == document.location.protocol; 120 gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 121 var node = document.getElementsByTagName('script')[0]; 122 node.parentNode.insertBefore(gads, node); 123 })(); 124</script>
124 125 126
127<script type="text/javascript"> 128 129 googletag.cmd.push(function() { 130 131 //Adslot 1 declaration 132 gptadslots[1]= googletag.defineSlot('/31800665/KOMPAS.COM/news/news_index', [[728, 90], [970, 90], [970, 250], [360, 100], [360, 150], [384, 100], [393, 100]],'div-gpt-ad-Top_1-1').setTargeting('Pos',['Top_1']).setTargeting('kg_pos', ['top_1']).addService(googletag.pubads()); 133 134dinv = googletag.defineOutOfPageSlot('/31800665/KOMPAS.COM/news/vignette', googletag.enums.OutOfPageFormat.INTERSTITIAL); 135if (dinv !== null) { 136 dinv.setTargeting('Pos', ['vignette']); 137 dinv.setTargeting('kg_pos', ['vignette']); 138}//Adslot 2 declaration 139 gptadslots[2]= googletag.defineSlot('/31800665/KOMPAS.COM/news/news_index', [[300,600],[300,250],[160, 600]],'div-gpt-ad-Giant').setTargeting('Pos',['Giant']).setTargeting('kg_pos', ['giant']).addService(googletag.pubads());//Adslot 9 declaration 140 gptadslots[9]= googletag.defineSlot('/31800665/KOMPAS.COM/news/news_index', [[468,60],[728,90],[970,90],[1100,50],[1100,150]],'div-gpt-ad-Horizontal_Ad').setTargeting('Pos',['Horizontal_Ad']).setTargeting('kg_pos', ['horizontal_ad']).addService(googletag.pubads());gptadslots[41121] = googletag.defineOutOfPageSlot('/31800665/KOMPAS.COM/news', 'div-gpt-for-outstream').setTargeting('Pos',['Outstream']).addService(googletag.pubads());//Adslot 8 declaration 141 gptadslots[8]= googletag.defineSlot('/31800665/KOMPAS.COM/news/news_index', [[120,600],[160,600]],'div-gpt-ad-Skyscraper').setTargeting('Pos',['Skyscraper']).setTargeting('kg_pos', ['skyscraper']).addService(googletag.pubads());gptadslots[4112]= googletag.defineOutOfPageSlot('/31800665/KOMPAS.COM/news','div-gpt-ad-974648810682144181-4112').setTargeting('Pos',['native_banner_article']).setTargeting('kg_pos', ['native_banner_article']).addService(googletag.pubads());setContextualTargeting(); 142if(typeof keywordBrandSafety === 'undefined'){ 143 console.log("no article keywords"); 144}else{ 145 console.log("execute keywords"); 146 setKeywordTargeting(); 147} 148 149function setContextualTargeting() { 150 dfp_keywords = getKeywords(); 151 console.log(dfp_keywords); 152 googletag.pubads().setTargeting('contextual_targeting', dfp_keywords); 153} 154 155function getKeywords(){ 156 var metas = document.getElementsByTagName('meta'); 157 var str = (metas.namedItem("content_tags") || {}).content; 158 if (str!=null){ 159 var keywords = str.toLowerCase().split(",").map(function(item) { 160 return item.trim().replace(/\s\s+/g, ' '); 161 }); 162 return keywords; 163 } 164 return ['']; 165} 166 167// s:new keyword targeting via GAM 168function setKeywordTargeting() { 169 dfp_keywords = getArticle(); 170 console.log(dfp_keywords); 171 googletag.pubads().setTargeting('keyword_targeting', dfp_keywords); 172} 173 174function getArticle(){ 175 var strKey = keywordBrandSafety; 176 if (strKey!=null){ 177 var keywords = strKey.toLowerCase().split(/[ .]/).map(function(item) { 178 return item.trim().replace(/\W*(&quot;)\W*/g, '').replace(/([^a-zA-Z0-9]$|[()\n\"])/g, ''); 179 }); 180 keywords = keywords.filter((str) => str !== ''); 181 return keywords; 182 } 183 return null; 184} 185// e:new keyword targeting via GAM 186 187try{ 188 // Retrieving local storage 189 var ls = window.localStorage; 190 191 var lr = ls.getItem("_jxitr"); 192 if (lr && lr.length > 2){ 193 try{ 194 googletag.pubads().setTargeting('jx_audience_interest', JSON.parse(lr).join().split(',')); 195 }catch {} 196 } 197 198 var li = ls.getItem("_jxitd"); 199 if (li && li.length > 2){ 200 try{ 201 googletag.pubads().setTargeting('jx_audience_intend', JSON.parse(li).join().split(',')); 202 }catch {} 203 } 204 205}catch(e){ 206 //console.log("Localstorage not accessible or any other error: " + e.message); 207} 208if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){ 209 googletag.pubads().setTargeting('kg_inv_type','mweb'); 210}else{ 211 googletag.pubads().setTargeting('kg_inv_type','desktop'); 212} 213googletag.pubads().setTargeting('kg_group_sites','kompas_com'); 214 215 216var rl_adx_val = ''; 217 var rl_adx_sec = new Date().getSeconds(); 218 if(rl_adx_sec==1||rl_adx_sec==2){rl_adx_val='300';} 219 if(rl_adx_sec==3||rl_adx_sec==4){rl_adx_val='600';} 220 if(rl_adx_sec==5||rl_adx_sec==6){rl_adx_val='900';} 221 if(rl_adx_sec==7||rl_adx_sec==8){rl_adx_val='1200';} 222 if(rl_adx_sec==9||rl_adx_sec==10){rl_adx_val='1500';} 223 if(rl_adx_sec==11||rl_adx_sec==12){rl_adx_val='1800';} 224 console.log('rl_adx_val = '+rl_adx_val); 225 if(rl_adx_val!=''){ 226 googletag.pubads().setTargeting('rl_adx',rl_adx_val); 227 }googletag.pubads().setTargeting('currentUrl', '2025/09/04/172000388');googletag.pubads().setTargeting('page', 'page_1'); 228 229 230 googletag.pubads().enableSingleRequest(); 231 232 googletag.enableServices(); 233 }); 234 235 236</script>
236 237
238<script type="application/ld+json"> 239{ 240 "@context": "https://schema.org", 241 "@graph": [ 242 { 243 "@type": "Organization", 244 "@id": "https://surga88.digital/#org", 245 "name": "SURGA88", 246 "url": "https://surga88.digital/", 247 "logo": { 248 "@type": "ImageObject", 249 "url": "https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" 250 }, 251 "image": [ 252 "https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp", 253 "https://veldrive.com/d8Jau7QN/SURGA88/s88.webp", 254 "https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico" 255 ], 256 "contactPoint": [ 257 { 258 "@type": "ContactPoint", 259 "telephone": "081224365478", 260 "contactType": "customer support", 261 "areaServed": "ID", 262 "availableLanguage": ["id", "en"] 263 } 264 ], 265 "address": { 266 "@type": "PostalAddress", 267 "streetAddress": "Jl. Cempaka Hitam Raya No.20, RT.1/RW.3, Cemp. Hitam Bar., Kec. Cemp. Hitam", 268 "addressLocality": "Kota Jakarta Pusat", 269 "addressRegion": "Daerah Khusus Ibukota Jakarta", 270 "postalCode": "10520", 271 "addressCountry": "ID" 272 } 273 }, 274 { 275 "@type": "WebSite", 276 "@id": "https://surga88.digital/#website", 277 "url": "https://surga88.digital/", 278 "name": "SURGA88", 279 "publisher": { "@id": "https://surga88.digital/#org" }, 280 "inLanguage": "id-ID" 281 }, 282 { 283 "@type": "BreadcrumbList", 284 "@id": "https://surga88.digital/#breadcrumb", 285 "itemListElement": [ 286 { 287 "@type": "ListItem", 288 "position": 1, 289 "name": "SURGA88", 290 "item": "https://surga88.digital/" 291 }, 292 { 293 "@type": "ListItem", 294 "position": 2, 295 "name": "SURGA88 BONUS", 296 "item": "https://surga88.digital/" 297 } 298 ] 299 }, 300 { 301 "@type": "WebPage", 302 "@id": "https://surga88.digital/#webpage", 303 "url": "https://surga88.digital/", 304 "name": "SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu", 305 "description": "Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi.", 306 "isPartOf": { "@id": "https://surga88.digital/#website" }, 307 "about": { "@id": "https://surga88.digital/#org" }, 308 "breadcrumb": { "@id": "https://surga88.digital/#breadcrumb" }, 309 "primaryImageOfPage": { 310 "@type": "ImageObject", 311 "url": "https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp" 312 }, 313 "inLanguage": "id-ID" 314 }, 315 { 316 "@type": "Article", 317 "@id": "https://surga88.digital/#article", 318 "headline": "SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu", 319 "description": "Perpaduan komposisi visual, perubahan pola, dan kehadiran karakter tematik menjadikan SURGA88 sebuah pengalaman modern yang menarik untuk dilihat sekaligus dijelajahi.", 320 "mainEntityOfPage": { "@id": "https://surga88.digital/#webpage" }, 321 "publisher": { "@id": "https://surga88.digital/#org" }, 322 "author": { 323 "@type": "Person", 324 "name": "Admin SURGA88", 325 "url": "https://surga88.digital/" 326 }, 327 "image": [ 328 "https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp", 329 "https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" 330 ], 331 "inLanguage": "id-ID" 332 }, 333 { 334 "@type": "SoftwareApplication", 335 "@id": "https://surga88.digital/#app", 336 "name": "SURGA88", 337 "applicationCategory": "GameApplication", 338 "operatingSystem": "Android, iOS, Windows", 339 "url": "https://surga88.digital/", 340 "image": "https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp", 341 "aggregateRating": { 342 "@type": "AggregateRating", 343 "ratingValue": 4.8, 344 "ratingCount": 797979 345 }, 346 "offers": { 347 "@type": "Offer", 348 "price": 0, 349 "priceCurrency": "IDR", 350 "availability": "https://schema.org/InStock" 351 } 352 } 353 ] 354} 355</script>
355 356 357<style> 358.n-columns-2 { 359 display: grid; 360 grid-template-columns: repeat(2,1fr); 361 font-weight: 700; 362 } 363 .n-columns-2 a { 364 text-align: center; 365 } 366 .login, .register { 367 color: #fff; 368 padding: 13px 10px; 369 } 370 .login, .login-button { 371 background: linear-gradient(to bottom, #000000 0%, #000000 100%); 372 border: 2px solid #fff; 373 box-shadow: 0px 0px 3px #fff; 374 } 375 .register, .register-button { 376 background: linear-gradient(to bottom, #000000 0%, #000000 100%); 377 border: 2px solid #fff; 378 box-shadow: 0px 0px 3px #fff; 379 } 380 </style> 381 382<style type="text/css"> 383/* Avoid empty images to appear as broken */ 384img:not([src]):not([srcset]) { 385 visibility: hidden; 386} 387/* Fix for images to never exceed the width of the container */ 388img { 389 max-width: 100%; 390} 391</style> 392 393 394
395<script type="text/javascript"> 396document.addEventListener('DOMContentLoaded', function() { 397 var addebug = document.querySelectorAll('.footerCopyright'); 398 for (i = 0; i < addebug.length; ++i) { 399 addebug[i].addEventListener('click', function handleClick() { 400 console.log('Debugged'); 401 googletag.openConsole(); 402 }); 403 } 404}); 405</script>
405 406 407
407<script async="" src="https://cdn.oval.id/tracker/p/kompas/oval_web_analytics_latest.js" type="text/javascript"></script>
407 408 409 410
410<script async="" src="https://fundingchoicesmessages.google.com/f/AGSKWxWpPVWc0wOaBdOgeSjsrBNExukuzyNPCtUMMTF7u6Q8RJHOp9yRJ_e8gVO4cTyS5z_Bh-fnErXkXdPTgygcOfgWayD33Tb6Yic3YlAsYiZTXN2DS1100vdLt1-pP4onwsCEZT7x7w==?fccs=W251bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFsxNzYwNzQ1NjAwLDU3MDAwMDAwXSxudWxsLG51bGwsbnVsbCxbbnVsbCxbN11dLCJodHRwczovL3d3dy5zd2VldGxpZmVjb29raWVzYW5kY29uZmVjdGlvbnMuY29tL3Nob3AiLG51bGwsW1s4LCJkU3BSQUloYmh3TSJdLFs5LCJlbi1VUyJdLFsyNiwiNSJdLFsxOSwiMiJdLFsxNywiWzBdIl0sWzI0LCIiXSxbMjUsIltbMzEwODIyNTRdXSJdLFsyOSwiZmFsc2UiXV1d" nonce="IOvmxAasolBKwB_qzaJVMg"></script>
410<meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==" /><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==" /><meta http-equiv="origin-trial" content="A9nrunKdU5m96PSN1XsSGr3qOP0lvPFUB2AiAylCDlN5DTl17uDFkpQuHj1AFtgWLxpLaiBZuhrtb2WOu7ofHwEAAACKeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" /><meta http-equiv="origin-trial" content="A93bovR+QVXNx2/38qDbmeYYf1wdte9EO37K9eMq3r+541qo0byhYU899BhPB7Cv9QqD7wIbR1B6OAc9kEfYCA4AAACQeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" /><meta http-equiv="origin-trial" content="A1S5fojrAunSDrFbD8OfGmFHdRFZymSM/1ss3G+NEttCLfHkXvlcF6LGLH8Mo5PakLO1sCASXU1/gQf6XGuTBgwAAACQeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQUlQcm9tcHRBUElNdWx0aW1vZGFsSW5wdXQiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9" />
410<script src="https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202510140101/pubads_impl.js?cb=31095268" nonce="IOvmxAasolBKwB_qzaJVMg" async=""></script>
410<link href="https://securepubads.g.doubleclick.net/pagead/managed/dict/m202510140101/gpt" rel="compression-dictionary" />
410<script src="https://accounts.google.com/gsi/client" defer async=""></script>
410<style id="googleidentityservice_button_styles">.qJTHM{-webkit-user-select:none;color:#202124;direction:ltr;-webkit-touch-callout:none;font-family:"Roboto-Regular",arial,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;margin:0;overflow:hidden;-webkit-text-size-adjust:100%}.ynRLnc{left:-9999px;position:absolute;top:-9999px}.L6cTce{display:none}.bltWBb{overflow-wrap:break-word;word-break:break-word}.hSRGPd{color:#1a73e8;cursor:pointer;font-weight:500;text-decoration:none}.Bz112c-W3lGp{height:16px;width:16px}.Bz112c-E3DyYd{height:20px;width:20px}.Bz112c-r9oPif{height:24px;width:24px}.Bz112c-u2z5K{height:36px;width:36px}.Bz112c-uaxL4e{-webkit-border-radius:10px;border-radius:10px}.LgbsSe-Bz112c{display:block}.S9gUrf-YoZ4jf,.S9gUrf-YoZ4jf *{border:none;margin:0;padding:0}.fFW7wc-ibnC6b>.aZ2wEe>div{border-color:#4285f4}.P1ekSe-ZMv3u{-webkit-transition:height linear 200ms;-webkit-transition:height linear 200ms;transition:height linear 200ms}.P1ekSe-ZMv3u>div:nth-child(1){background-color:#1a73e8!important;-webkit-transition:width linear 300ms;-webkit-transition:width linear 300ms;transition:width linear 300ms}.P1ekSe-ZMv3u>div:nth-child(2),.P1ekSe-ZMv3u>div:nth-child(3){background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#1a73e8,#1a73e8)!important}.haAclf{display:inline-block}.nsm7Bb-HzV7m-LgbsSe{border-radius:4px;box-sizing:border-box;-webkit-transition:background-color .218s,border-color .218s;transition:background-color .218s,border-color .218s;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;border:1px solid #dadce0;color:#3c4043;cursor:pointer;font-family:"Google Sans",arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}@media screen and (-ms-high-contrast:active){.nsm7Bb-HzV7m-LgbsSe{border:2px solid windowText;color:windowText}}@media screen and (preferes-contrast:more){.nsm7Bb-HzV7m-LgbsSe{color:#000}}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe{font-size:14px;height:32px;letter-spacing:.25px;padding:0 10px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe{font-size:11px;height:20px;letter-spacing:.3px;padding:0 8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe{padding:0;width:40px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe{width:32px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe{width:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK{border-radius:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.pSzOP-SxQuSe{border-radius:16px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.purZT-SxQuSe{border-radius:10px}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc{border:none;color:#fff}.nsm7Bb-HzV7m-LgbsSe.MFS4be-v3pZbf-Ia7Qfc{background-color:#1a73e8}.nsm7Bb-HzV7m-LgbsSe.MFS4be-JaPV2b-Ia7Qfc{background-color:#202124;color:#e8eaed}@media screen and (prefers-contrast:more){.nsm7Bb-HzV7m-LgbsSe.MFS4be-JaPV2b-Ia7Qfc{color:#fff}}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:18px;margin-right:8px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:14px;min-width:14px;width:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:10px;min-width:10px;width:10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin-left:8px;margin-right:-4px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:10px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:4px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:3px;border-bottom-left-radius:3px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#fff;height:36px;margin-left:-10px;margin-right:12px;min-width:36px;width:36px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c,.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:28px;margin-left:-8px;margin-right:10px;min-width:28px;width:28px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:16px;margin-left:-6px;margin-right:8px;min-width:16px;width:16px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:3px;margin-left:2px;margin-right:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:8px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;-webkit-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;
410-webkit-justify-content:space-between;justify-content:space-between;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;position:relative;width:100%}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{-webkit-flex-grow:1;-webkit-box-flex:1;flex-grow:1;font-family:"Google Sans",arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-weight:300}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX .nsm7Bb-HzV7m-LgbsSe-BPrWId{-webkit-flex-grow:0;-webkit-box-flex:0;flex-grow:0}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-MJoBVe{-webkit-transition:background-color .218s;transition:background-color .218s;bottom:0;left:0;position:absolute;right:0;top:0}.nsm7Bb-HzV7m-LgbsSe:hover,.nsm7Bb-HzV7m-LgbsSe:focus{box-shadow:none;border-color:rgb(210,227,252);outline:none}.nsm7Bb-HzV7m-LgbsSe:focus-within{outline:2px solid #00639b;border-color:transparent}.nsm7Bb-HzV7m-LgbsSe:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.08)}.nsm7Bb-HzV7m-LgbsSe:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.1)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.24)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.32)}.nsm7Bb-HzV7m-LgbsSe .n1UuX-DkfjY{border-radius:50%;display:-webkit-box;display:-webkit-flex;display:flex;height:20px;margin-left:-4px;margin-right:8px;min-width:20px;width:20px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-family:"Roboto";font-size:12px;text-align:left}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .ssJRIf,.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .fmcmS{overflow:hidden;text-overflow:ellipsis}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;color:#5f6368;fill:#5f6368;font-size:11px;font-weight:400}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.MFS4be-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#e8eaed;fill:#e8eaed}@media screen and (prefers-contrast:more){.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff,.nsm7Bb-HzV7m-LgbsSe.jVeSEe.MFS4be-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#000;fill:#000}}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .Bz112c{height:18px;margin:-3px -3px -3px 2px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px;margin-left:12px;margin-right:-10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.L5Fo6c-sM5MNb{border:0;display:block;left:0;position:relative;top:0}.L5Fo6c-bF1uUb{-webkit-border-radius:4px;border-radius:4px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.L5Fo6c-bF1uUb:focus{border:none;outline:none}sentinel{}</style><link href="https://assets.kompas.com/data/2023/sso/css/kgm-verify.min.css" rel="stylesheet" type="text/css" /><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><meta http-equiv="origin-trial" content="A8o5T4MyEkRZqLA9WeG2XTFdV5tsX2Prg85xyQ+RL1btVuybB1K/EQ+7JUsPK+J32oBMTnsoF9B4A+qTlL6efgQAAABweyJvcmlnaW4iOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IkZlZENtQnV0dG9uTW9kZSIsImV4cGlyeSI6MTc0NDY3NTIwMCwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" /><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><meta http-equiv="origin-trial" content="A8o5T4MyEkRZqLA9WeG2XTFdV5tsX2Prg85xyQ+RL1btVuybB1K/EQ+7JUsPK+J32oBMTnsoF9B4A+qTlL6efgQAAABweyJvcmlnaW4iOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IkZlZENtQnV0dG9uTW9kZSIsImV4cGlyeSI6MTc0NDY3NTIwMCwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" />
410<script src="https://accounts.google.com/gsi/client" defer async=""></script>
410<link href="https://assets.kompas.com/data/2023/sso/css/kgm-verify.min.css" rel="stylesheet" type="text/css" /><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><meta http-equiv="origin-trial" content="A8o5T4MyEkRZqLA9WeG2XTFdV5tsX2Prg85xyQ+RL1btVuybB1K/EQ+7JUsPK+J32oBMTnsoF9B4A+qTlL6efgQAAABweyJvcmlnaW4iOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IkZlZENtQnV0dG9uTW9kZSIsImV4cGlyeSI6MTc0NDY3NTIwMCwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" /><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><meta http-equiv="origin-trial" content="A8o5T4MyEkRZqLA9WeG2XTFdV5tsX2Prg85xyQ+RL1btVuybB1K/EQ+7JUsPK+J32oBMTnsoF9B4A+qTlL6efgQAAABweyJvcmlnaW4iOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IkZlZENtQnV0dG9uTW9kZSIsImV4cGlyeSI6MTc0NDY3NTIwMCwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" /><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><meta http-equiv="origin-trial" content="A8o5T4MyEkRZqLA9WeG2XTFdV5tsX2Prg85xyQ+RL1btVuybB1K/EQ+7JUsPK+J32oBMTnsoF9B4A+qTlL6efgQAAABweyJvcmlnaW4iOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IkZlZENtQnV0dG9uTW9kZSIsImV4cGlyeSI6MTc0NDY3NTIwMCwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ==" /></head> 411 412 413<body class="theme--jawa-barat page--read -bigger theme-light"><div id="googleLgnBtnOneTap" style="display:none;"></div><div id="googleLgnBtn3" style="display:none;"><div class="S9gUrf-YoZ4jf" style="position: relative;"><div><div tabindex="0" role="button" aria-labelledby="button-label" class="nsm7Bb-HzV7m-LgbsSe hJDwNd-SxQuSe i5vt6e-Ia7Qf
413c uaxL4e-RbRzK"><div class="nsm7Bb-HzV7m-LgbsSe-MJoBVe"></div><div class="nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb "><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="LgbsSe-Bz112c"><g><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path></g></svg></div><span class="nsm7Bb-HzV7m-LgbsSe-BPrWId">Sign in with Google</span><span class="L6cTce" id="button-label">Sign in with Google. Opens in new tab</span></div></div></div><iframe src="https://accounts.google.com/gsi/button?theme=outline&size=large&is_fedcm_supported=true&client_id&iframe_id=gsi_198_637804&cas=JCJ4tTBOZ4%2BBRrNX3BK%2FN6Vu9%2FfwACSPubXnldBKkiA" class="L5Fo6c-PQbLGe" allow="identity-credentials-get" id="gsi_198_637804" title="Sign in with Google Button" style="display: block; position: relative; top: 0px; left: 0px; height: 0px; width: 0px; border: 0px;"></iframe></div></div><div id="googleLgnBtn" style="display:none;"><div class="S9gUrf-YoZ4jf" style="position: relative;"><div><div tabindex="0" role="button" aria-labelledby="button-label" class="nsm7Bb-HzV7m-LgbsSe hJDwNd-SxQuSe i5vt6e-Ia7Qf
413c uaxL4e-RbRzK"><div class="nsm7Bb-HzV7m-LgbsSe-MJoBVe"></div><div class="nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb "><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="LgbsSe-Bz112c"><g><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path></g></svg></div><span class="nsm7Bb-HzV7m-LgbsSe-BPrWId">Sign in with Google</span><span class="L6cTce" id="button-label">Sign in with Google. Opens in new tab</span></div></div></div><iframe src="https://accounts.google.com/gsi/button?theme=outline&size=large&is_fedcm_supported=true&client_id&iframe_id=gsi_197_604318&cas=JCJ4tTBOZ4%2BBRrNX3BK%2FN6Vu9%2FfwACSPubXnldBKkiA" class="L5Fo6c-PQbLGe" allow="identity-credentials-get" id="gsi_197_604318" title="Sign in with Google Button" style="display: block; position: relative; top: 0px; left: 0px; height: 0px; width: 0px; border: 0px;"></iframe></div></div><div id="googleLgnBtnOneTap" style="display:none;"></div><div id="googleLgnBtn3" style="display:none;"><div class="S9gUrf-YoZ4jf" style="position: relative;"><div><div tabindex="0" role="button" aria-labelledby="button-label" class="nsm7Bb-HzV7m-LgbsSe hJDwNd-SxQuSe i5vt6e-Ia7Qf
413c uaxL4e-RbRzK"><div class="nsm7Bb-HzV7m-LgbsSe-MJoBVe"></div><div class="nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb "><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="LgbsSe-Bz112c"><g><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path></g></svg></div><span class="nsm7Bb-HzV7m-LgbsSe-BPrWId">Sign in with Google</span><span class="L6cTce" id="button-label">Sign in with Google. Opens in new tab</span></div></div></div><iframe src="https://accounts.google.com/gsi/button?theme=outline&size=large&is_fedcm_supported=true&client_id&iframe_id=gsi_600099_71078&cas=Zf1jSrjNlLA%2F2saAghw1w8u5Y5b8ieTDfLCpCaxmVSY" class="L5Fo6c-PQbLGe" allow="identity-credentials-get" id="gsi_600099_71078" title="Sign in with Google Button" style="display: block; position: relative; top: 0px; left: 0px; height: 0px; width: 0px; border: 0px;"></iframe></div></div><div id="googleLgnBtn" style="display:none;"><div class="S9gUrf-YoZ4jf" style="position: relative;"><div><div tabindex="0" role="button" aria-labelledby="button-label" class="nsm7Bb-HzV7m-LgbsSe hJDwNd-SxQuSe i5vt6e-Ia7Qf
413c uaxL4e-RbRzK"><div class="nsm7Bb-HzV7m-LgbsSe-MJoBVe"></div><div class="nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb "><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="LgbsSe-Bz112c"><g><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path></g></svg></div><span class="nsm7Bb-HzV7m-LgbsSe-BPrWId">Sign in with Google</span><span class="L6cTce" id="button-label">Sign in with Google. Opens in new tab</span></div></div></div><iframe src="https://accounts.google.com/gsi/button?theme=outline&size=large&is_fedcm_supported=true&client_id&iframe_id=gsi_600098_740069&cas=Zf1jSrjNlLA%2F2saAghw1w8u5Y5b8ieTDfLCpCaxmVSY" class="L5Fo6c-PQbLGe" allow="identity-credentials-get" id="gsi_600098_740069" title="Sign in with Google Button" style="display: block; position: relative; top: 0px; left: 0px; height: 0px; width: 0px; border: 0px;"></iframe></div></div> 414 415<div class="wrap"> 416 417 418<!-- header--> 419<div class="header clearfix"> 420 <div class="row clearfix header__wrap"> 421 <div class="container clearfix header__row"> 422 <div class="row col-offset-fluid clearfix"> 423 <div class="col-bs10-5 clearfix"> 424 <div class="logo"> 425 <a href="https://surga88.digital/" data-google-interstitial="false"> 426 <style>.logo img {width:auto;}.logo {width:auto;}</style> 427 428 <img src="https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" alt="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu"> 429 430 431 </a> 432 <!-- <a href="https://vik.kompas.com/harapan-jurnalisme-berkelanjutan" class="anni25-link"></a> --> 433 </div> 434 </div> 435 <div class="col-bs10-5 clearfix"> 436 <!-- search --> 437 <div class="col-bs12-8 col-offset-0"> 438 <div class="header-search-box"> 439 <form action="https://surga88.digital/" class="header-search" 440 id="fcSearch"> 441 <div class="searchBox-wrap"> 442 <input type="text" name="q" class="header-search-input" value="" 443 placeholder="Cari games di SURGA88" autocomplete="off" 444 list="populer" id="cSearch"> 445 <input class="header-search-button" type="submit" name=""> 446 <span class="icon-svg icon-search"></span> 447 <button type="button" class="searchClear -clearSubmit" 448 aria-label="Clear search"></button> 449 </div> 450 </form> 451 452 <div class="header-search-suggestion searchSuggest-box"> 453 <div class="searchSuggest-inner"> 454 <div class="searchResult"> 455 <div class="searchFill" id="autoFillArtikel"></div> 456 <div class="searchFill" id="enterResult"></div> 457 <div class="searchResult" id="enterResultArticle"></div> 458 </div> 459 460 <!-- s: suggestion search--> 461 <div id="searchSuggestBefore"> 462 <div id="searchSuggestLast"></div> 463 </div> 464 </div> 465 </div> 466 </div> 467 </div> 468 469 <div class="dark-header-item"> 470 <div class="dark-wrapper js-darkWrapper -active"> 471 <button type="button" class="button-default js-darkSetter" id="menu-darkmode" aria-label="Atur mode" aria-expanded="false" aria-controls="darkmode">
472 <span class="icon-svg icon-darkmode" aria-hidden="true"></span> 473 </button> 474 <div class="dark-setting"> 475 <ul> 476 <li> 477 <button type="button" role="button" class="button dark-link js-darkToggle -active" data-dark="system">Otomatis</button> 478 </li> 479 <li> 480 <button type="button" role="button" class="button dark-link js-darkToggle" data-dark="dark">Mode Gelap</button> 481 </li> 482 <li> 483 <button type="button" role="button" class="button dark-link js-darkToggle" data-dark="light">Mode Terang</button> 484 </li> 485 </ul> 486 </div> 487 </div> 488 </div> 489 490 <!-- <div class="loyalty__link" id="loyalty_koin" style="display: none"> 491 <a href="https://play.kompas.com/loyalty"> 492 <span class="icon-svg icon-koin"></span> 493 <span class="loyalty__link__text">Koin</span> 494 <i class="loyalty__link__badge active"></i> 495 </a> 496 </div> --> 497 498 <!-- play icon --> 499 <div class="menu-item menu-plus"> 500 <a href="https://world.surga88.digital/" class="button-default active" role="link" id="menu-plus" aria-label="SURGA88"> 501 <span class="icon-svg icon-plus" aria-hidden="true"> 502 <img src="https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" alt="Icon Kompascom+"> 503 </span> 504 </a> 505 </div> 506 507 <div class="sso__header col-bs12-4"> 508 <ul class="sso__wrap"> 509 <li class="sso__item"> 510 <a class="sso__link sso__link__icon js-sso-user" href="https://world.surga88.digital/" rel="nofollow"> 511 <i class="sso__icon__login" id="sso__icon__login_top"></i> 512 <i class="sso__badge" style="display: none;"></i> 513 </a> 514 <div class="sso__option -fixed -hide js-sso-user-board"> 515 <ul> 516 <li id="sso__item"><a id="txt_signin" href="https://world.surga88.digital/"><span><i class="sso__icon__login"></i> Login</span></a></li> 517 <li></li> 518 519 <!-- <li> 520 <a href="https://activity.kompas.com/voucher?source=navbar" class="myvalue__btn -new"> 521 <span><div class="myvalue__icon"><img class="lozad" data-src="https://asset.kompas.com/data/2024/myvalue/desktop/images/icon-myvalue.png" alt=""></div> Voucher</span> 522 <div class="myvalue__btn__wrap"> 523 <div class="myvalue__icon"><img class="lozad" data-src="https://asset.kompas.com/data/2024/myvalue/desktop/images/icon-myvalue-gif.gif" alt=""></div> 524 <span>Ada voucher buat kamu</span> 525 </div> 526 </a> 527 </li> --> 528 529 <li><a href="https://world.surga88.digital/"><span><i class="sso__icon__subscription"></i> Gabung SURGA88<i class="sso__badge__inline"></i></span></a></li> 530 531 <li></li> 532 <li><a href="https://activity.kompas.com/saved"><span><i class="sso__icon__bookmark"></i> Konten yang disimpan</span></a></li> 533 <li></li> 534 <li><a href="https://activity.kompas.com/liked"><span><i class="sso__icon__liked"></i> Konten yang disukai</span></a></li> 535 <li></li> 536 <li><a href="https://activity.kompas.com/minat"><span><i class="sso__icon__interest"></i> Atur Minat</span></a></li> 537 <li></li> 538 <li id="feedback__item"><a href="https://www.kompas.com/feedback"><span><i class="sso__icon__notif"></i> Berikan Masukanmu <i class="sso__badge__inline" style="display: none;"></i></span></a></li> 539 </ul> 540 </div> 541 </li> 542 </ul> 543 </div> 544 <div class="kid__wrap"> 545 <a target="_blank" href="https://world.surga88.digital/" rel="nofollow" class="kid__button">LINK ALTERNATIF</a> 546 </div> 547 </div> 548 </div> 549 </div> 550 </div> 551 <!-- nav--> 552 <div class="js-nav-offset"></div> 553 <div class="row clearfix nav"> 554 <!-- (ads.skin.full) --> 555 <div class="container clearfix nav__wrap"> 556 <div class="logo logo--sticky"> 557 <a href="https://surga88.digital/"><img class="lozad" data-src="https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" alt="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu" /></a> 558 </div> 559 560 561 <ul class="nav__row clearfix"> 562 <li class="nav__item"> 563 <a href="https://surga88.digital/" class="nav__link nav__link--news">News</a> 564 <ul class="nav__sub nav__sub--news"> 565 <li class="nav__subwrap"> 566 <div class="nav__subitem"> 567 <a href="https://surga88.digital/" class="nav__sublink">Nasional</a> 568 <a href="https://surga88.digital/" class="nav__sublink">Global</a> 569 <a href="https://surga88.digital/" class="nav__sublink">Megapolitan</a> 570 <a href="https://surga88.digital/" class="nav__sublink">
570Regional</a> 571 <a href="https://surga88.digital/" class="nav__sublink">Pemilu</a> 572 <a href="https://surga88.digital/" class="nav__sublink">Hype</a> 573 <a href="https://surga88.digital/" class="nav__sublink">Konsultasi Hukum</a> 574 <a href="https://surga88.digital/" class="nav__sublink">Cek Fakta</a> 575 <a href="https://surga88.digital/" class="nav__sublink">Surat Pembaca</a> 576 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 577 </div> 578 <div class="nav__subitem"> 579 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Daerah</a> 580 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Korporasi</a> 581 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Kementerian</a> 582 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Sorot Politik</a> 583 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Badan Negara</a> 584 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kelana Indonesia</a> 585 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kalbe Health Corner</a> 586 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Parlemen</a> 587 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas BUMN</a> 588 </div> 589 </li> 590 </ul> 591 </li> 592 <li class="nav__item"> 593 <a href="https://surga88.digital/" class="nav__link nav__link--nusaraya">Nusaraya</a> 594 <ul class="nav__sub nav__sub--nusaraya"> 595 <li class="nav__subwrap"> 596 <div class="nav__subitem"> 597 <a href="https://surga88.digital/" class="nav__sublink">Sumatera Utara</a> 598 <a href="https://surga88.digital/" class="nav__sublink">Sumatera Selatan</a> 599 <a href="https://surga88.digital/" class="nav__sublink">Sumatera Barat</a> 600 <a href="https://surga88.digital/" class="nav__sublink">Riau</a> 601 <a href="https://surga88.digital/" class="nav__sublink">Lampung</a> 602 <a href="https://surga88.digital/" class="nav__sublink">Banten</a> 603 <a href="https://surga88.digital/" class="nav__sublink">Yogyakarta</a> 604 <a href="https://surga88.digital/" class="nav__sublink">Jawa Barat</a> 605 </div> 606 <div class="nav__subitem"> 607 <a href="https://surga88.digital/" class="nav__sublink">Jawa Tengah</a> 608 <a href="https://surga88.digital/" class="nav__sublink">Jawa Timur</a> 609 <a href="https://surga88.digital/" class="nav__sublink">Kalimantan Barat</a> 610 <a href="https://surga88.digital/" class="nav__sublink">Kalimantan Timur</a> 611 <a href="https://surga88.digital/" class="nav__sublink">Sulawesi Selatan</a> 612 <a href="https://surga88.digital/" class="nav__sublink">Bali</a> 613 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 614 </div> 615 </li> 616 </ul> 617 </li> 618 <li class="nav__item nav__link--new" style="flex:none;"> 619 <a href="https://surga88.digital/" class="nav__link nav__link--tren">Jagat Literasi</a> 620 <ul class="nav__sub nav__sub--jagat-literasi"> 621 <li class="nav__subwrap"> 622 <div class="nav__subitem"> 623 <a href="https://surga88.digital/" class="nav__sublink">Artikel</a> 624 <a href="https://surga88.digital/" class="nav__sublink">Video</a> 625 </div> 626 <div class="nav__subitem"> 627 <a href="https://surga88.digital/" class="nav__sublink">Rolls</a> 628 <a href="https://surga88.digital/" class="nav__sublink">Donasi</a> 629 </div> 630 </li> 631 </ul> 632 </li> 633 <li class="nav__item nav__link--new"> 634 <a href="https://surga88.digital/" class="nav__link nav__link--cahaya nav__link--cahaya">Cahaya</a> 635 <ul class="nav__sub nav__sub--cahaya"> 636 <li class="nav__subwrap"> 637 <div class="nav__subitem"> 638 <a href="https://surga88.digital/" class="nav__sublink">Aktual</a> 639 </div> 640 <div class="nav__subitem"> 641 <a href="https://surga88.digital/" class="nav__sublink">Doa dan Niat</a> 642 </div> 643 </li> 644 </ul> 645 </li> 646 <li class="nav__item"> 647 <a href="https://surga88.digital/" class="nav__link nav__link--tekno">Tekno</a> 648 <ul class="nav__sub nav__sub--tekno"> 649 <li class="nav__subwrap"> 650 <div class="nav__subitem"> 651 <a href="https://surga88.digital/" class="nav__sublink">Apps & OS</a> 652 <a href="https://surga88.digital/" class="nav__sublink">Gadget</a> 653 <a href="https://surga88.digital/" class="nav__sublink">Internet</a> 654 <a href="https://surga88.digital/" class="nav__sublink">Hardware</a> 655 <a href="https://surga88.digital/" class="nav__sublink">Business</a> 656 </div> 657 <div class="nav__subitem"> 658 <a href="https://surga88.digital/" class="nav__sublink">Game</a> 659 <a href="https://surga88.digital/" class="nav__sublink">Galeri</a> 660 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 661 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Tech Innovation</a> 662 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Internet</a> 663 </div> 664 </li> 665 </ul> 666 </li> 667 <li class="nav__item"> 668 <a href="https://surga88.digital/" class="nav__link nav__link--otomotif">Otomotif</a> 669 <ul class="nav__sub nav__sub--otomotif"> 670 <li class="nav__subwrap"> 671 <div class="nav__subitem"> 672 <a href="https://surga88.digital/" class="nav__sublink">Motor</a> 673 <a href="https://surga88.digital/" class="nav__sublink">Mobil</a> 674 <a href="https://surga88.digital/" class="nav__sublink">Sport</a> 675 <a href="https://surga88.digital/" class="nav__sublink">Niaga</a> 676 <a href="https://surga88.digital/" class="nav__sublink">Komunitas</a> 677 </div> 678 <div class="nav__subitem"> 679 <a href="https://surga88.digital/" class="nav__sublink">Otopedia</a> 680 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Merapah</a> 681 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">EV Leadership</a> 682 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Elektrifikasi</a> 683 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Pameran</a> 684 </div> 685 </li> 686 </ul> 687 </li> 688 <li class="nav__item"> 689 <a href="https://surga88.digital/" class="nav__link nav__link--bola">Bola</a> 690 <ul class="nav__sub nav__sub--bola"> 691 <li class="nav__subwrap"> 692 <div class="nav__subitem"> 693 <a href="https://surga88.digital/" class="nav__sublink">Timnas Indonesia</a> 694 <a href="https://surga88.digital/" class="nav__sublink">Liga Indonesia</a> 695 <a href="https://surga88.digital/" class="nav__sublink">Liga Italia</a> 696 <a href="https://surga88.digital/" class="nav__sublink">Liga Champions</a> 697 <a href="https://surga88.digital/" class="nav__sublink">Liga Lain</a> 698 <a href="https://surga88.digital/" class="nav__sublink">Liga Inggris</a> 699 <a href="https://surga88.digital/" class="nav__sublink">Liga Spanyol</a> 700 </div> 701 <div class="nav__subitem"> 702 <a href="https://surga88.digital/" class="nav__sublink">Internasional</a> 703 <a href="https://surga88.digital/" class="nav__sublink">Bundesliga</a> 704 <a href="https://surga88.digital/" class="nav__sublink">Motogp</a> 705 <a href="https://surga88.digital/" class="nav__sublink">Badminton</a> 706 <a href="https://surga88.digital/" class="nav__sublink">Sports</a> 707 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 708 </div> 709 </li> 710 </ul> 711 </li> 712 <li class="nav__item"> 713 <a href="https://surga88.digital/" class="nav__link nav__link--lifestyle">Lifestyle</a> 714 <ul class="nav__sub nav__sub--lifestyle"> 715 <li class="nav__subwrap"> 716 <div class="nav__subitem"> 717 <a href="https://surga88.digital/" class="nav__sublink">Wellness</a> 718 <a href="https://surga88.digital/" class="nav__sublink">Fashion</a> 719 <a href="https://surga88.digital/" class="nav__sublink">Relationship</a> 720 <a href="https://surga88.digital/" class="nav__sublink">Parenting</a> 721 <a href="https://surga88.digital/" class="nav__sublink">Beauty & Grooming</a> 722 </div> 723 <div class="nav__subitem"> 724 <a href="https://surga88.digital/" class="nav__sublink">Buku</a> 725 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 726 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Sadar Stunting</a> 727 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Lifestyle</a> 728 </div> 729 </li> 730 </ul> 731 </li> 732 <li class="nav__item"> 733 <a href="https://surga88.digital/" class="nav__link nav__link--tren">Tren</a> 734 </li> 735 <li class="nav__item"> 736 <a href="https://surga88.digital/" class="nav__link nav__link--lestari">Lestari<ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 737 </a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 738 </a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 739 </a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"></a><a href="https://surga88.digital/">Pemerintah</a></li> 740 <li><a href="https://surga88.digital/">Swasta</a></li> 741 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 742 <li><a href="https://surga88.digital/">BUMN</a></li> 743 <li><a href="https://surga88.digital/">UMKM</a></li> 744 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 745 </ul> 746 </li> 747 <li class="navSub-col --col2"> 748 <div class="navSub-subcol --subcol"> 749 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 750 <ul class="navSub-inner"> 751 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 752 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 753 </ul> 754 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 755 <ul class="navSub-inner"> 756 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 757 </ul> 758 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 759 <ul class="navSub-inner"> 760 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 761 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 762 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 763 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 764 </ul> 765 </div> 766 <div class="navSub-subcol --subcol"> 767 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 768 <ul class="navSub-inner"> 769 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 770 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 771 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 772 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 773 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 774 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 775 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 776 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 777 </ul> 778 </div> 779 </li> 780 <li class="navSub-col --col3"> 781 <div class="navSub-label">PROGRAM LESTARI</div> 782 <ul class="navSub-inner"> 783 <li> 784 <a href="https://surga88.digital/" class="navLestariProgram"> 785 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 786 </a> 787 </li> 788 <li> 789 <a href="https://surga88.digital/" class="navLestariProgram"> 790 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 791 </a> 792 </li> 793 <li> 794 <a href="https://surga88.digital/" class="navLestariProgram"> 795 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 796 </a> 797 </li> 798 <li> 799 <a href="https://surga88.digital/" class="navLestariProgram"> 800 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 801 </a> 802 </li> 803 <li> 804 <a href="https://surga88.digital/" class="navLestariProgram"> 805 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 806 </a> 807 </li> 808 <li> 809 <a href="https://surga88.digital/" class="navLestariProgram"> 810 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 811 </a> 812 </li> 813 </ul> 814 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 815 </li> 816</ul></a><ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav
816__link nav__link--lestari"> 817 <ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 818 </a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 819 </a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 820 </a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"></a><a href="https://surga88.digital/">Pemerintah</a></li> 821 <li><a href="https://surga88.digital/">Swasta</a></li> 822 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 823 <li><a href="https://surga88.digital/">BUMN</a></li> 824 <li><a href="https://surga88.digital/">UMKM</a></li> 825 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 826 </ul> 827 </li> 828 <li class="navSub-col --col2"> 829 <div class="navSub-subcol --subcol"> 830 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 831 <ul class="navSub-inner"> 832 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 833 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 834 </ul> 835 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 836 <ul class="navSub-inner"> 837 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 838 </ul> 839 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 840 <ul class="navSub-inner"> 841 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 842 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 843 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 844 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 845 </ul> 846 </div> 847 <div class="navSub-subcol --subcol"> 848 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 849 <ul class="navSub-inner"> 850 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 851 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 852 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 853 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 854 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 855 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 856 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 857 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 858 </ul> 859 </div> 860 </li> 861 <li class="navSub-col --col3"> 862 <div class="navSub-label">PROGRAM LESTARI</div> 863 <ul class="navSub-inner"> 864 <li> 865 <a href="https://surga88.digital/" class="navLestariProgram"> 866 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 867 </a> 868 </li> 869 <li> 870 <a href="https://surga88.digital/" class="navLestariProgram"> 871 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 872 </a> 873 </li> 874 <li> 875 <a href="https://surga88.digital/" class="navLestariProgram"> 876 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 877 </a> 878 </li> 879 <li> 880 <a href="https://surga88.digital/" class="navLestariProgram"> 881 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 882 </a> 883 </li> 884 <li> 885 <a href="https://surga88.digital/" class="navLestariProgram"> 886 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 887 </a> 888 </li> 889 <li> 890 <a href="https://surga88.digital/" class="navLestariProgram"> 891 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 892 </a> 893 </li> 894 </ul> 895 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 896 </li> 897</ul></a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 898 <ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 899 </a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 900 </a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 901 </a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"></a><a href="https://surga88.digital/">Pemerintah</a></li> 902 <li><a href="https://surga88.digital/">Swasta</a></li> 903 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 904 <li><a href="https://surga88.digital/">BUMN</a></li> 905 <li><a href="https://surga88.digital/">UMKM</a></li> 906 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 907 </ul> 908 </li> 909 <li class="navSub-col --col2"> 910 <div class="navSub-subcol --subcol"> 911 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 912 <ul class="navSub-inner"> 913 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 914 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 915 </ul> 916 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 917 <ul class="navSub-inner"> 918 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 919 </ul> 920 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 921 <ul class="navSub-inner"> 922 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 923 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 924 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 925 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 926 </ul> 927 </div> 928 <div class="navSub-subcol --subcol"> 929 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 930 <ul class="navSub-inner"> 931 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 932 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 933 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 934 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 935 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 936 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 937 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 938 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 939 </ul> 940 </div> 941 </li> 942 <li class="navSub-col --col3"> 943 <div class="navSub-label">PROGRAM LESTARI</div> 944 <ul class="navSub-inner"> 945 <li> 946 <a href="https://surga88.digital/" class="navLestariProgram"> 947 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 948 </a> 949 </li> 950 <li> 951 <a href="https://surga88.digital/" class="navLestariProgram"> 952 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 953 </a> 954 </li> 955 <li> 956 <a href="https://surga88.digital/" class="navLestariProgram"> 957 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 958 </a> 959 </li> 960 <li> 961 <a href="https://surga88.digital/" class="navLestariProgram"> 962 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 963 </a> 964 </li> 965 <li> 966 <a href="https://surga88.digital/" class="navLestariProgram"> 967 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 968 </a> 969 </li> 970 <li> 971 <a href="https://surga88.digital/" class="navLestariProgram"> 972 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 973 </a> 974 </li> 975 </ul> 976 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 977 </li> 978</ul></a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 979 <ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 980 </a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 981 </a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 982 </a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"></a><a href="https://surga88.digital/">Pemerintah</a></li> 983 <li><a href="https://surga88.digital/">Swasta</a></li> 984 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 985 <li><a href="https://surga88.digital/">BUMN</a></li> 986 <li><a href="https://surga88.digital/">UMKM</a></li> 987 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 988 </ul> 989 </li> 990 <li class="navSub-col --col2"> 991 <div class="navSub-subcol --subcol"> 992 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 993 <ul class="navSub-inner"> 994 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 995 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 996 </ul> 997 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 998 <ul class="navSub-inner"> 999 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 1000 </ul> 1001 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 1002 <ul class="navSub-inner"> 1003 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 1004 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 1005 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 1006 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 1007 </ul> 1008 </div> 1009 <div class="navSub-subcol --subcol"> 1010 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 1011 <ul class="navSub-inner"> 1012 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 1013 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 1014 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 1015 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 1016 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 1017 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 1018 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 1019 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 1020 </ul> 1021 </div> 1022 </li> 1023 <li class="navSub-col --col3"> 1024 <div class="navSub-label">PROGRAM LESTARI</div> 1025 <ul class="navSub-inner"> 1026 <li> 1027 <a href="https://surga88.digital/" class="navLestariProgram"> 1028 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 1029 </a> 1030 </li> 1031 <li> 1032 <a href="https://surga88.digital/" class="navLestariProgram"> 1033 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 1034 </a> 1035 </li> 1036 <li> 1037 <a href="https://surga88.digital/" class="navLestariProgram"> 1038 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 1039 </a> 1040 </li> 1041 <li> 1042 <a href="https://surga88.digital/" class="navLestariProgram"> 1043 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 1044 </a> 1045 </li> 1046 <li> 1047 <a href="https://surga88.digital/" class="navLestariProgram"> 1048 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 1049 </a> 1050 </li> 1051 <li> 1052 <a href="https://surga88.digital/" class="navLestariProgram"> 1053 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 1054 </a> 1055 </li> 1056 </ul> 1057 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 1058 </li> 1059</ul></a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"><ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 1060 </a><li class="navSub-col --col1"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 1061 </a><ul class="navSub-inner"><a href="https://surga88.digital/" class="nav__link nav__link--lestari"> 1062 </a><li><a href="https://surga88.digital/" class="nav__link nav__link--lestari"></a><a href="https://surga88.digital/">Pemerintah</a></li> 1063 <li><a href="https://surga88.digital/">Swasta</a></li> 1064 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 1065 <li><a href="https://surga88.digital/">BUMN</a></li> 1066 <li><a href="https://surga88.digital/">UMKM</a></li> 1067 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li>
1068 </ul> 1069 </li> 1070 <li class="navSub-col --col2"> 1071 <div class="navSub-subcol --subcol"> 1072 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 1073 <ul class="navSub-inner"> 1074 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 1075 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 1076 </ul> 1077 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 1078 <ul class="navSub-inner"> 1079 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 1080 </ul> 1081 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 1082 <ul class="navSub-inner"> 1083 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 1084 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 1085 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 1086 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 1087 </ul> 1088 </div> 1089 <div class="navSub-subcol --subcol"> 1090 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 1091 <ul class="navSub-inner"> 1092 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 1093 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 1094 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 1095 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 1096 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 1097 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 1098 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 1099 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 1100 </ul> 1101 </div> 1102 </li> 1103 <li class="navSub-col --col3"> 1104 <div class="navSub-label">PROGRAM LESTARI</div> 1105 <ul class="navSub-inner"> 1106 <li> 1107 <a href="https://surga88.digital/" class="navLestariProgram"> 1108 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 1109 </a> 1110 </li> 1111 <li> 1112 <a href="https://surga88.digital/" class="navLestariProgram"> 1113 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 1114 </a> 1115 </li> 1116 <li> 1117 <a href="https://surga88.digital/" class="navLestariProgram"> 1118 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 1119 </a> 1120 </li> 1121 <li> 1122 <a href="https://surga88.digital/" class="navLestariProgram"> 1123 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 1124 </a> 1125 </li> 1126 <li> 1127 <a href="https://surga88.digital/" class="navLestariProgram"> 1128 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 1129 </a> 1130 </li> 1131 <li> 1132 <a href="https://surga88.digital/" class="navLestariProgram"> 1133 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 1134 </a> 1135 </li> 1136 </ul> 1137 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 1138 </li> 1139</ul></a><a href="https://surga88.digital/">Pemerintah</a></li> 1140 <li><a href="https://surga88.digital/">Swasta</a></li> 1141 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 1142 <li><a href="https://surga88.digital/">BUMN</a></li> 1143 <li><a href="https://surga88.digital/">UMKM</a></li> 1144 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 1145 </ul> 1146 </li> 1147 <li class="navSub-col --col2"> 1148 <div class="navSub-subcol --subcol"> 1149 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 1150 <ul class="navSub-inner"> 1151 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 1152 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 1153 </ul> 1154 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 1155 <ul class="navSub-inner"> 1156 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 1157 </ul> 1158 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 1159 <ul class="navSub-inner"> 1160 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 1161 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 1162 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 1163 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 1164 </ul> 1165 </div> 1166 <div class="navSub-subcol --subcol"> 1167 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 1168 <ul class="navSub-inner"> 1169 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 1170 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 1171 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 1172 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 1173 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 1174 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 1175 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 1176 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 1177 </ul> 1178 </div> 1179 </li> 1180 <li class="navSub-col --col3"> 1181 <div class="navSub-label">PROGRAM LESTARI</div> 1182 <ul class="navSub-inner"> 1183 <li> 1184 <a href="https://surga88.digital/" class="navLestariProgram"> 1185 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship" /> 1186 </a> 1187 </li> 1188 <li> 1189 <a href="https://surga88.digital/" class="navLestariProgram"> 1190 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi" /> 1191 </a> 1192 </li> 1193 <li> 1194 <a href="https://surga88.digital/" class="navLestariProgram"> 1195 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan" /> 1196 </a> 1197 </li> 1198 <li> 1199 <a href="https://surga88.digital/" class="navLestariProgram"> 1200 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban" /> 1201 </a> 1202 </li> 1203 <li> 1204 <a href="https://surga88.digital/" class="navLestariProgram"> 1205 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan" /> 1206 </a> 1207 </li> 1208 <li> 1209 <a href="https://surga88.digital/" class="navLestariProgram"> 1210 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit" /> 1211 </a> 1212 </li> 1213 </ul> 1214 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 1215 </li> 1216</ul> 1217 </li> 1218 <li class="nav__item"> 1219 <a href="https://surga88.digital/" class="nav__link nav__link--health">Health</a> 1220 <ul class="nav__sub nav__sub--health"> 1221 <li class="nav__subwrap"> 1222 <div class="nav__subitem"> 1223 <a href="https://surga88.digital/" class="nav__sublink">Penyakit A-Z</a> 1224 </div> 1225 </li> 1226 <li class="nav__subwrap"> 1227 <div class="nav__subitem"> 1228 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Kesehatan</a> 1229 </div> 1230 </li> 1231 </ul> 1232 </li> 1233 <li class="nav__item"> 1234 <a href="https://surga88.digital/" class="nav__link nav__link--money">Money</a> 1235 <ul class="nav__sub nav__sub--money"> 1236 <li class="nav__subwrap"> 1237 <div class="nav__subitem"> 1238 <a href="https://surga88.digital/" class="nav__sublink">Ekbis</a> 1239 <a href="https://surga88.digital/" class="nav__sublink">Keuangan</a> 1240 <a href="https://surga88.digital/" class="nav__sublink">Syariah</a> 1241 <a href="https://surga88.digital/" class="nav__sublink">Industri</a> 1242 <a href="https://surga88.digital/" class="nav__sublink">Energi</a> 1243 <a href="https://surga88.digital/" class="nav__sublink">Karier</a> 1244 <a href="https://surga88.digital/" class="nav__sublink">Cuan</a> 1245 <a href="https://surga88.digital/" class="nav__sublink">Belanja</a> 1246 </div> 1247 <div class="nav__subitem"> 1248 <a href="https://surga88.digital/" class="nav__sublink">Tanya Pajak</a> 1249 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 1250 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Badan</a> 1251 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Transportasi</a> 1252 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Fintech</a> 1253 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Perbankan</a> 1254 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Investasi</a> 1255 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Transaksi Digital</a> 1256 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Jejak UMKM</a> 1257 </div> 1258 </li> 1259 </ul> 1260 </li> 1261 <li class="nav__item"> 1262 <a href="https://surga88.digital/" class="nav__link nav__link--properti">Properti</a> 1263 <ul class="nav__sub nav__sub--properti"> 1264 <li class="nav__subwrap"> 1265 <div class="nav__subitem"> 1266 <a href="https://surga88.digital/" class="nav__sublink">News</a> 1267 <a href="https://surga88.digital/" class="nav__sublink">Listing Properti</a> 1268 <a href="https://surga88.digital/" class="nav__sublink">Arsitektur</a> 1269 <a href="https://surga88.digital/" class="nav__sublink">Konstruksi</a> 1270 <a href="https://surga88.digital/" class="nav__sublink">Tips Properti</a> 1271 </div> 1272 <div class="nav__subitem"> 1273 <a href="https://surga88.digital/" class="nav__sublink">IKN</a> 1274 <a href="https://surga88.digital/" class="nav__sublink">Homey</a> 1275 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 1276 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Sorot Properti</a> 1277 </div> 1278 </li> 1279 </ul> 1280 </li> 1281 <li class="nav__item"> 1282 <a href="https://surga88.digital/" class="nav__link nav__link--edukasi">Edukasi</a> 1283 <ul class="nav__sub nav__sub--edukasi"> 1284 <li class="nav__subwrap"> 1285 <div class="nav__subitem"> 1286 <a href="https://surga88.digital/" class="nav__sublink">Sekolah</a> 1287 <a href="https://surga88.digital/" class="nav__sublink">Edu News</a> 1288 <a href="https://surga88.digital/" class="nav__sublink">Perguruan Tinggi</a> 1289 <a href="https://surga88.digital/" class="nav__sublink">Pendidikan Khusus</a> 1290 <a href="https://surga88.digital/" class="nav__sublink">Beasiswa</a> 1291 </div> 1292 <div class="nav__subitem"> 1293 <a href="https://surga88.digital/" class="nav__sublink">Literasi</a> 1294 <a href="https://surga88.digital/" class="nav__sublink">Skola</a> 1295 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">Kilas Pendidikan</a> 1296 <a href="https://surga88.digital/" class="nav__sublink nav__sublink--hot">IdeAksi</a> 1297 </div> 1298 </li> 1299 </ul> 1300 </li> 1301 <li class="nav__item"> 1302 <a href="https://surga88.digital/" class="nav__link nav__link--travel">Travel</a> 1303 <ul class="nav__sub nav__sub--travel"> 1304 <li class="nav__subwrap"> 1305 <div class="nav__subitem"> 1306 <a href="https://surga88.digital/" class="nav__sublink">Travel News</a> 1307 <a href="https://surga88.digital/" class="nav__sublink">Travel Ideas</a> 1308 <a href="https://surga88.digital/" class="nav__sublink">Hotel Story</a> 1309 <a href="https://surga88.digital/" class="nav__sublink">Travelpedia</a> 1310 </div> 1311 <div class="nav__subitem"> 1312 <a href="https://surga88.digital/" class="nav__sublink">Food</a> 1313 <a href="https://surga88.digital/" class="nav__sublink">Ohayo Jepang</a> 1314 <a href="https://surga88.digital/" class="nav__sublink">Indeks</a> 1315 </div> 1316 </li> 1317 </ul> 1318 </li> 1319 <li class="nav__item"> 1320 <a href="https://surga88.digital/" class="nav__link nav__link--lainnya"><span class="icoBase icoInline icoBurger" aria-label="Lainnya" title="Lainnya"></span></a> 1321 <ul class="nav__sub nav__sub--lainnya"> 1322 <li class="nav__subwrap"> 1323 <div class="nav__subitem"> 1324 <a href="https://surga88.digital/" class="nav__sublink">Video</a> 1325 <a href="https://surga88.digital/" class="nav__sublink">Parapuan</a> 1326 <a href="https://surga88.digital/" class="nav__sublink">Kolom</a> 1327 <a href="https://surga88.digital/" class="nav__sublink">Sains</a> 1328 </div> 1329 <div class="nav__subitem"> 1330 <a href="https://surga88.digital/" class="nav__sublink">JEO</a> 1331 <a href="https://surga88.digital/" class="nav__sublink">Foto</a> 1332 <a href="https://surga88.digital/" class="nav__sublink">VIK</a> 1333 <a href="https://surga88.digital/" class="nav__sublink">Kata Netizen</a> 1334 </div> 1335 </li> 1336 </ul> 1337 </li> 1338</ul> 1339 1340<a href="https://world.surga88.digital/" rel="nofollow"class="menu-plus-sticky">Membership SURGA88</a> 1341 1342<!
1342-- css sublink nav --> 1343<link rel="stylesheet" href="https://asset.kompas.com/data/2025/nusatirta/desktop/css/submenu-nusatirta.css"> 1344 1345<ul id="lestariMenu" class="nav__sub nav__sub--lestari navSub"> 1346 <li class="navSub-col --col1"> 1347 <ul class="navSub-inner"> 1348 <li><a href="https://surga88.digital/">Pemerintah</a></li> 1349 <li><a href="https://surga88.digital/">Swasta</a></li> 1350 <li><a href="https://surga88.digital/">LSM/Figur</a></li> 1351 <li><a href="https://surga88.digital/">BUMN</a></li> 1352 <li><a href="https://surga88.digital/">UMKM</a></li> 1353 <li><a href="https://surga88.digital/" class="nav__sublink--hot">Nusatirta</a></li> 1354 </ul> 1355 </li> 1356 <li class="navSub-col --col2"> 1357 <div class="navSub-subcol --subcol"> 1358 <div class="navSub-grup"><a href="https://surga88.digital/">Kesehatan</a></div> 1359 <ul class="navSub-inner"> 1360 <li><a href="https://surga88.digital/">Kehidupan sehat dan sejahtera</a></li> 1361 <li><a href="https://surga88.digital/">Air bersih dan sanitasi layak</a></li> 1362 </ul> 1363 <div class="navSub-grup"><a href="https://surga88.digital/">Pendidikan</a></div> 1364 <ul class="navSub-inner"> 1365 <li><a href="https://surga88.digital/">Pendidikan Berkualitas</a></li> 1366 </ul> 1367 <div class="navSub-grup"><a href="https://surga88.digital/">Lingkungan</a></div> 1368 <ul class="navSub-inner"> 1369 <li><a href="https://surga88.digital/">Energi Bersih dan Terjangkau</a></li> 1370 <li><a href="https://surga88.digital/">Penanganan Perubahan Iklim</a></li> 1371 <li><a href="https://surga88.digital/">Ekosistem Lautan</a></li> 1372 <li><a href="https://surga88.digital/">Ekosistem Daratan</a></li> 1373 </ul> 1374 </div> 1375 <div class="navSub-subcol --subcol"> 1376 <div class="navSub-grup"><a href="https://surga88.digital/">Ekonomi dan UMKM</a></div> 1377 <ul class="navSub-inner"> 1378 <li><a href="https://surga88.digital/">Tanpa Kemiskinan</a></li> 1379 <li><a href="https://surga88.digital/">Tanpa Kelaparan</a></li> 1380 <li><a href="https://surga88.digital/">Kesetaraan Gender</a></li> 1381 <li><a href="https://surga88.digital/">Pekerjaan Layak dan Pertumbuhan ekonomi</a></li> 1382 <li><a href="https://surga88.digital/">Industri, Inovasi & Infrastruktur</a></li> 1383 <li><a href="https://surga88.digital/">Berkurangnya Kesenjangan</a></li> 1384 <li><a href="https://surga88.digital/">Kota & Pemukiman yang Berkelanjutan</a></li> 1385 <li><a href="https://surga88.digital/">Konsumsi & Produksi yang bertanggungjawab</a></li> 1386 </ul> 1387 </div> 1388 </li> 1389 <li class="navSub-col --col3"> 1390 <div class="navSub-label">PROGRAM LESTARI</div> 1391 <ul class="navSub-inner"> 1392 <li> 1393 <a href="https://surga88.digital/" class="navLestariProgram"> 1394 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jagoan-lokal.png" alt="Cantikpreneurship"> 1395 </a> 1396 </li> 1397 <li> 1398 <a href="https://surga88.digital/" class="navLestariProgram"> 1399 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-bumi.png" alt="Jernihkan Bumi"> 1400 </a> 1401 </li> 1402 <li> 1403 <a href="https://surga88.digital/" class="navLestariProgram"> 1404 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-jernihkan-harapan.png" alt="Jernihkan Harapan"> 1405 </a> 1406 </li> 1407 <li> 1408 <a href="https://surga88.digital/" class="navLestariProgram"> 1409 <img src="https://asset.kompas.com/data/2023/02/2109/kompascom/desktop/images/lestari/logo-festival-ceban.png" alt="Festival Ceban"> 1410 </a> 1411 </li> 1412 <li> 1413 <a href="https://surga88.digital/" class="navLestariProgram"> 1414 <img src="https://asset.kompas.com/data/2023/06/07/kompascom/desktop/lestari/images/logo_gate_jurnalisme.png" alt="Jurnalisme Berkebangsaan"> 1415 </a> 1416 </li> 1417 <li> 1418 <a href="https://surga88.digital/" class="navLestariProgram"> 1419 <img src="https://asset.kompas.com/data/2023/06/22/kompascom/mobile/lestari/images/logo-generasibangkit.svg?v=1" alt="Generasi Bangkit"> 1420 </a> 1421 </li> 1422 </ul> 1423 <a class="navSub-more" href="https://surga88.digital/">Lihat semua</a> 1424 </li> 1425</ul> 1426 1427 </div> 1428 <!-- share--> 1429 <div class="social social--fixed cleafix"> 1430 <div class="social--container container"> 1431 <!-- share -->
1432 <span class="social--text">Bagikan:</span> 1433 <div class="social social--article clearfix"> 1434 <div class="social__item"> 1435 <a class="social__link social__link--facebook" href="https://surga88.digital/"> 1436 <svg class="icon icon-facebook" title="icon-facebook"> 1437 <use xlink:href="#icon-facebook"/></use> 1438 </svg> 1439 </a> 1440 </div> 1441 <div class="social__item"> 1442 <a class="social__link social__link--twitter" href="https://surga88.digital/"> 1443 <svg class="icon icon-twitter" title="icon-twitter"> 1444 <use xlink:href="#icon-twitter"/></use> 1445 </svg> 1446 </a> 1447 </div> 1448 <div class="social__item"> 1449 <a class="social__link social__link--whatsapp" href="https://surga88.digital/"> 1450 <svg class="icon icon-whatsapp" title="icon-whatsapp"> 1451 <use xlink:href="#icon-whatsapp"></use> 1452 </svg> 1453 </a> 1454 </div> 1455 <div class="social__item"> 1456 <a class="social__link social__link--telegram" href="https://surga88.digital/"> 1457 <svg class="icon icon-telegram" title="icon-telegram"> 1458 <use xlink:href="#icon-telegram"></use> 1459 </svg> 1460 </a> 1461 </div> 1462 <div class="social__item"> 1463 <a class="social__link social__link--copy" href="https://surga88.digital/" style="display: none;"> 1464 <svg class="icon icon-copy" title="icon-copy"> 1465 <use xlink:href="#icon-copy"/></use> 1466 </svg> 1467 </a> 1468 </div> 1469 1470 </div> 1471 <p class="social--dshare" id="dsharetitle">SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu</p> 1472 1473 <div class="comment__read__bar"> 1474 <span>Komentar: </span> 1475 <div class="social social--article clearfix"> 1476 <div class="social__item"> 1477 <a class="social__link" href="https://surga88.digital/"> 1478 <span class="icon icon-comment"></span> 1479 <div class="comment__counter total_comment"></div> 1480 </a> 1481 </div> 1482 </div> 1483 </div> 1484 </div> 1485</div> 1486 </div> 1487</div> 1488 1489 1490 1491
1492<script src="https://asset.kompas.com/data/2023/11/03/darkmode/js/dark-mode.min.js" type="text/javascript"></script>
1492 1493 1494 1495 <!-- (ads.skin) --> 1496 1497 <!-- container--> 1498 <div class="container clearfix "> 1499 1500
1501<script type="text/javascript"> 1502 // Daftar URL widget 1503 var widgetUrls = [ 1504 // "https://adsimg.kompas.com/html5/internal/lestari/widget2025/desktop/widget.html", 1505 "https://widget.kompas.com/jaga_negeri" 1506 ]; 1507 1508 // Fungsi untuk memilih URL acak dari array widgetUrls 1509 function getRandomWidgetUrl() { 1510 return widgetUrls[Math.floor(Math.random() * widgetUrls.length)]; 1511 } 1512 1513 // Menyisipkan URL acak ke dalam atribut src dari iframe 1514 document.getElementById("randomIframe").src = getRandomWidgetUrl(); 1515</script>
1515 1516 1517 1518 <!-- (ads.focus.update) --> 1519 1520 <!-- read--> 1521<div class="row mt2 col-offset-fluid clearfix"> 1522 <div class="col-bs10-10"> 1523 <!-- tagging--> 1524 1525 <!-- breadcrumb--> 1526 <!-- breadcrumb--> 1527<div class="breadcrumb clearfix"> 1528 1529</div> 1530 1531 <!-- topik pilihan --> 1532 1533 1534 <!-- (ads.header) --> 1535 1536 1537 1538 1539 <!-- read title--> 1540 <h1 class="read__title">SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu</h1> 1541 </div> 1542</div> 1543 1544<!-- read--> 1545 <div class="n-columns-2"> 1546 <a href="https://world.surga88.digital/" rel="nofollow noreferrer" class="login">LOGIN</a> 1547 <a href="https://world.surga88.digital/" rel="nofollow noreferrer" class="register">REGISTER</a> 1548 </div> 1549 </br> 1550 <div class="flex gap-10" id="product-detail"> 1551 <div class="w-full overflow-auto"> 1552 <div class="flex gap-6 justify-between flex-row"> 1553 <div class="flex flex-col w-full max-w-[774px]"> 1554 <div class="w-[374px] mx-auto"> 1555 <div id="mcis-product-image-pdp"> 1556 <div> 1557<div class="row col-offset-fluid clearfix js-giant-wp-sticky-parent"> 1558 <div class="col-bs10-7 js-read-article"> 1559 <!-- read header--> 1560 <div class="read__header col-offset-fluid clearfix"> 1561 <div class="col-bs10-10"> 1562 <div class="read__time"><a href="https://surga88.digital/">SURGA88</a></div> 1563 </div> 1564 1565 <div class="col-bs10-10"> </div> 1566 </div> 1567 <!-- photo artikel--> 1568 1569 1570<link rel="stylesheet" href="https://asset.kompas.com/data/2017/wp/css/kcm2019-photo-article.min.css?v=10" type="text/css"> 1571<div class="cover-photo -gallery" data-photostyle=""> 1572 <div class="photo__wrap"> 1573 <img width="780" height="520" src="https://veldrive.com/d8Jau7QN/SURGA88/pelualangan-baru-s88.webp"> 1574 1575 </div> 1576</div> 1577 1578<!-- photo carousel --> 1579<div class="photoCarousel" style="margin-top: 2%;"> 1580 <div class="photoCarousel-block" data-scroll="side"> 1581 <div class="photoCarousel-wrap photoCarousel-slider" data-active="scroll"> 1582 1583 <!-- e:banner nps --> 1584 </div> 1585 </div> 1586</div> 1587 <!-- (ads.scroll.below) --> 1588 1589 <!-- (ads.overlay) --> 1590 <!-- (ads.kiosked) --> 1591 1592 1593 <!-- (ads.overlay) --> 1594 1595 <!-- read artikel--> 1596 <div class="read__article mt2 clearfix js-tower-sticky-parent"> 1597 <div class="col-bs9-7"> 1598 1599 1600 1601 1602 1603 <!-- read content--> 1604 <div class="read__content" > 1605 <div class="clearfix"> 1606<h2><strong>SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu</strong></h2> 1607<p style="text-align: justify;"> 1608<a href="https://surga88.digital/">SURGA88</a> menghadirkan pengalaman bermain yang dirancang untuk memberikan suasana permainan lebih menarik, dinamis, dan mudah dinikmati oleh berbagai kalangan pemain. Dengan tampilan yang praktis serta akses yang lebih sederhana, pemain bisa merasakan hiburan digital yang lebih nyaman tanpa proses yang rumit.</p> 1609<p style="text-align: justify;">Melalui fitur ini, <a href="https://surga88.digital/">SURGA88</a> mencoba memberikan sensasi bermain yang lebih interaktif, terutama bagi pengguna yang menyukai permainan dengan elemen bonus, putaran tambahan, dan momen kejutan di dalam game. Konsep Scatter Unlimited 2026 juga menjadi daya tarik tersendiri karena menghadirkan nuansa permainan yang lebih fresh dan tidak monoton.</p> 1610<p style="text-align: justify;">Meski begitu, penting untuk diingat bahwa permainan berbasis peluang tidak menjamin kemenangan secara pasti. Pemain disarankan untuk tetap bermain secara bijak, mengatur batas waktu dan budget, serta menjadikan permainan sebagai hiburan, bukan sebagai sumber penghasilan utama.</p> 1611 1612<!-- DFP OSM End --> 1613 1614<span class="liftdown_v2_tanda"></span></div> 1615 </div> 1616 1617 1618 <!-- Rek Video --> 1619 <!-- kg media player --> 1620<div class="kgnw-thumb" data-kgnw-publisher="kompascom"></div> 1621 1622 1623 <!-- read tag--> 1624 1625 1626 <!-- personal quiz --> 1627 1628 <!-- berita terkait--> 1629 </div> 1630 </div> 1631 1632 <!-- (ads.center) --> 1633 1634 </div> 1635 <div class="col-bs10-3"> 1636 1637 <!-- terpopuler--> 1638 <!-- terpopuler--> 1639 <div class="most ga--most mt1 clearfix"> 1640 <div class="title title--center clearfix"> 1641 <div class="title__content">Terpopuler</div> 1642 </div> 1643 <div class="most__wrap clearfix"> 1644 <div class="most__list clearfix"> 1645 <div class="most__count">1</div> 1646 <a class="most__link" href="https://world.surga88.digital/"> 1647 <div class="most__title">Cara Memanfaatkan Scatter Unlimited untuk Kemenangan Maksimal di 2026</div> 1648 </a> 1649 </div> 1650 1651 <div class="most__list clearfix"> 1652 <div class="most__count">2</div> 1653 <a class="most__link" href="https://world.surga88.digital/"> 1654 <div class="most__title">5 Alasan Mengapa Scatter Unlimited Adalah Pilihan Terbaik untuk Gamer Pro</div> 1655 </a> 1656 </div> 1657 1658 <div class="most__list clearfix"> 1659 <div class="most__count">3</div> 1660 <a class="most__link" href="https://world.surga88.digital/"> 1661 <div class="most__title">Strategi Jitu Menggunakan Scatter untuk Pengalaman Gaming Tanpa Batas</div> 1662 </a> 1663 </div> 1664 1665 <div class="most__list clearfix"> 1666 <div class="most__count">4</div> 1667 <a class="most__link" href="https://world.surga88.digital/"> 1668 <div class="most__title">Mengenal Scatter Unlimited: Fitur Revolusioner di Platform Game 2026</div> 1669 </a> 1670 </div> 1671 1672 <div class="most__list clearfix"> 1673 <div class="most__count">5</div> 1674 <a class="most__link" href="https://world.surga88.digital/"> 1675 <div class="most__title">Tips Mengoptimalkan Scatter Unlimited untuk Game Tanpa Hambatan</div> 1676 </a> 1677 </div> 1678 </div> 1679 </div> 1680 1681 </div> 1682</div> 1683 1684 </div> 1685 1686 <!-- footer--> 1687 <!-- modals --> 1688<div id="kcm-modals"> 1689 <div class="modals__content"></div> 1690</div> 1691 1692<div id="sso_g_signin"> 1693</div> 1694<!-- footer --> 1695<div class="footerMain clearfix"> 1696 <div class="container"> 1697 1698 <div class="footerWrap"> 1699 <div class="footerCol-column"> 1700 1701 <div class="footerLogo"> 1702 <a href="https://surga88.digital/" data-google-interstitial="false"> 1703 <img class="lozad fade" data-src="https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" alt="SURGA88 - Ketika Pola Warna dan Karakter Menjadi Satu" width="207" height="26" src="https://veldrive.com/d8Jau7QN/SURGA88/s88.webp" data-loaded="true" /> 1704 </a> 1705 </div> 1706 1707 <div class="footerSosmed"> 1708 <ul class="footerSosmed-wrap"> 1709 <li> 1710 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Facebook"> 1711 <div class="iconSos iconSos-facebook"></div> 1712 </a> 1713 </li> 1714 <li> 1715 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="X"> 1716 <div class="iconSos iconSos-x"></div> 1717 </a> 1718 </li> 1719 <li> 1720 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Telegram"> 1721 <div class="iconSos iconSos-telegram"></div> 1722 </a> 1723 </li> 1724 <li> 1725 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Instagram"> 1726 <div class="iconSos iconSos-instagram"></div> 1727 </a> 1728 </li> 1729 </ul> 1730 <ul class="footerSosmed-wrap"> 1731 <li> 1732 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Youtube"> 1733 <div class="iconSos iconSos-youtube"></div> 1734 </a> 1735 </li> 1736 <li> 1737 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Whatsapp"> 1738 <div class="iconSos iconSos-whatsapp"></div> 1739 </a> 1740 </li> 1741 <li> 1742 <a href="https://surga88.digital/" target="_blank" class="footerSosmed-link" aria-label="Tiktok"> 1743 <div class="iconSos iconSos-tiktok"></div> 1744 </a> 1745 </li> 1746 </ul> 1747 </div> 1748 1749 <div class="footerDownload"> 1750 <ul class="footerDownload-wrap"> 1751 <li> 1752 <a href="https://surga88.digital/" target="_blank"> 1753 <div class="footerDownload-store"> 1754 <img class="lozad fade" data-src="https://asset.kompas.com/data/2017/mobile/images/id-badge-appstore.png" alt="apple store" src="https://asset.kompas.com/data/2017/mobile/images/id-badge-appstore.png" data-loaded="true" /> 1755 </div> 1756 </a> 1757 </li> 1758 <li> 1759 <a href="https://surga88.digital/" target="_blank"> 1760 <div class="footerDownload-store"> 1761 <img class="lozad fade" data-src="https://asset.kompas.com/data/2017/mobile/images/id-badge-playstore.png" alt="google store" src="https://asset.kompas.com/data/2017/mobile/images/id-badge-playstore.png" data-loaded="true" /> 1762 </div> 1763 </a> 1764 </li> 1765 </ul> 1766 </div> 1767 1768 <div class="footerAchievement"> 1769 <div class="footerAchievement-title"> 1770 Penghargaan dan sertifikat: 1771 </div> 1772 <div class="footerAchievement-wrap"> 1773 <div class="footerAchievement-item"> 1774 <a href="#" class="footerAchievement-link"> 1775 <div class="footerAchievement-img"> 1776 <img class="lozad fade" data-src="https://surga88.digital/" alt="WOW Brand Indonesia 2019" title="WOW Brand Indonesia 2019" src="https://asset.kompas.com/data/2017/wp/images/logo-wowbrands-2019.png" data-loaded="true" /> 1777 </div> 1778 </a> 1779 </div> 1780 <div class="footerAchievement-item"> 1781 <div class="footerAchievement-link"> 1782 <a href="https://surga88.digital/" class="footerAchievement-link"> 1783 <div class="footerAchievement-img"> 1784 <img class="lozad fade" data-src="https://asset.kompas.com/data/2017/wp/images/logo-superbrands-2019.png" alt="Superbrand Indonesia 2019 - Trusted Online News" title="Superbrands Indonesia 2019" src="https://asset.kompas.com/data/2017/wp/images/logo-superbrands-2019.png" data-loaded="true" /> 1785 </div> 1786 </a> 1787 </div> 1788 </div> 1789 <div class="footerAchievement-item"> 1790 <a href="https://surga88.digital/" class="footerAchievement-link" target="_blank"> 1791 <div class="footerAchievement-img"> 1792 <img class="lozad fade" data-src="https://asset.kompas.com/data/2024/wp/images/desktop/logo-ifcn.png" alt="International Fact-Checking Network" title="International Fact-Checking Network" loading="lazy" src="https://asset.kompas.com/data/2024/wp/images/desktop/logo-ifcn.png" data-loaded="true" /> 1793 </div> 1794 </a> 1795 </div> 1796 </div> 1797 </div> 1798 1799 <div class="footerNewsletter"> 1800 <div class="footerNewsletter-title"> 1801 Dapatkan kemenangan dan pundi pundi pilihan di SURGA88</div> 1802 1803 <div class="footerNewsletter-cta"> 1804 <a href="https://world.surga88.digital/"class="footerNewsletter-link" rel="nofollow"> 1805 <i class="iconNewsletter"></i> DAFTAR 1806 </a> 1807 </div> 1808 </div> 1809 1810 </div> 1811 <div class="footerCol-nav"> 1812 <div class="footerMenu-title">Kanal</div> 1813 1814 <div class="footerMenu"> 1815 <ul class="footerMenu-wrap"> 1816 <li><a href="https://surga88.digital/" class="footerMenu-link">News</a></li> 1817 <li><a href="https://surga88.digital/" class="footerMenu-link">Nasional</a></li> 1818 <li><a href="https://surga88.digital/" class="footerMenu-link">Global</a></li> 1819 <li><a href="https://surga88.digital/" class="footerMenu-link">Megapolitan</a></li> 1820 <li><a href="https://surga88.digital/" class="footerMenu-link">
1820Regional</a></li> 1821 <li><a href="https://surga88.digital/" class="footerMenu-link">Pemilu</a></li> 1822 <li><a href="https://surga88.digital/" class="footerMenu-link">IKN</a></li> 1823 <li><a href="https://surga88.digital/" class="footerMenu-link">Bola</a></li> 1824 <li><a href="https://surga88.digital/" class="footerMenu-link">Tekno</a></li> 1825 <li><a href="https://surga88.digital/" class="footerMenu-link">Otomotif</a></li> 1826 <li><a href="https://surga88.digital/" class="footerMenu-link">Entertainment</a></li> 1827 <li><a href="https://surga88.digital/" class="footerMenu-link">Sains</a></li> 1828 <li><a href="https://surga88.digital/" class="footerMenu-link">Health</a></li> 1829 <li><a href="https://surga88.digital/" class="footerMenu-link">Money</a></li> 1830 <li><a href="https://surga88.digital/" class="footerMenu-link">Tren</a></li> 1831 <li><a href="https://surga88.digital/" class="footerMenu-link">Properti</a></li> 1832 <li><a href="https://surga88.digital/" class="footerMenu-link">Lifestyle</a></li> 1833 <li><a href="https://surga88.digital/" class="footerMenu-link">Hype</a></li> 1834 <li><a href="https://surga88.digital/" class="footerMenu-link">Travel</a></li> 1835 <li><a href="https://surga88.digital/" class="footerMenu-link">Homey</a></li> 1836 <li><a href="https://surga88.digital/" class="footerMenu-link">Food</a></li> 1837 <li><a href="https://surga88.digital/" class="footerMenu-link">UMKM</a></li> 1838 <li><a href="https://surga88.digital/" class="footerMenu-link">Edukasi</a></li> 1839 <li><a href="https://surga88.digital/" class="footerMenu-link">Parapuan</a></li> 1840 <li><a href="https://surga88.digital/" class="footerMenu-link">Foto</a></li> 1841 <li><a href="https://surga88.digital/" class="footerMenu-link">Video</a></li> 1842 <li><a href="https://surga88.digital/" class="footerMenu-link">Kolom</a></li> 1843 <li><a href="https://surga88.digital/" class="footerMenu-link">VIK</a></li> 1844 <li><a href="https://surga88.digital/" class="footerMenu-link">JEO</a></li> 1845 <li><a href="https://surga88.digital/" class="footerMenu-link">Lestari</a></li> 1846 <li><a href="https://surga88.digital/" class="footerMenu-link">Ohayo Jepang</a></li> 1847 <li><a href="https://surga88.digital/" class="footerMenu-link">Pesona Indonesia</a></li> 1848 <li><a href="https://surga88.digital/" class="footerMenu-link">Play</a></li> 1849 <li><a href="https://surga88.digital/" class="footerMenu-link">Artikel Terpopuler</a></li> 1850 <li><a href="https://surga88.digital/" class="footerMenu-link">Artikel Terkini</a></li> 1851 <li><a href="https://surga88.digital/" class="footerMenu-link">Topik Pilihan</a></li> 1852 <li><a href="https://surga88.digital/" class="footerMenu-link">Artikel Headline</a></li> 1853 </ul> 1854 </div> 1855 </div> 1856 <div class="footerCol-nav --colNetwork"> 1857 <div class="footerMenu-title">Network</div> 1858 1859 <div class="footerMenu"> 1860 <ul class="footerMenu-wrap"> 1861 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Kompas.com</a></li> 1862 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Harian KOMPAS</a></li> 1863 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">KompasTV</a></li> 1864 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Kompasiana</a></li> 1865 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">KG Media</a></li> 1866 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">KGNow!</a></li> 1867 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Pasangiklan.com</a></li> 1868 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Kontan</a></li> 1869 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Sonora</a></li> 1870 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Grid.ID</a></li> 1871 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">GridOto.com</a></li> 1872 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">BolaSport.com</a></li> 1873 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Parapuan</a></li> 1874 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Tribunnews</a></li> 1875 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Gramedia.com</a></li> 1876 <li><a href="https://surga88.digital/" class="footerMenu-link" target="_blank">Gramedia Digital</a></li> 1877 </ul> 1878 </div> 1879 </div> 1880 </div> 1881 1882 1883 <div class="footerBottom"> 1884 <div class="footerBottom-wrap"> 1885 <ul class="footerBottom-menu"> 1886 <li> 1887 <a class="footerMenu-link" href="https://surga88.digital/">Kabar Palmerah</a> 1888 </li> 1889 <li> 1890 <a class="footerMenu-link" href="https://surga88.digital/">About Us</a> 1891 </li> 1892 <li> 1893 <a class="footerMenu-link" href="https://surga88.digital/">Advertise</a> 1894 </li> 1895 <li> 1896 <a class="footerMenu-link" href="https://surga88.digital/">Ketentuan Penggunaan</a> 1897 </li> 1898 <li> 1899 <a class="footerMenu-link" href="https://surga88.digital/">Kebijakan Data Pribadi</a> 1900 </li> 1901 <li> 1902 <a class="footerMenu-link" href="https://surga88.digital/">Pedoman Media Siber</a> 1903 </li> 1904 <li> 1905 <a class="footerMenu-link" href="https://surga88.digital/">Career</a> 1906 </li> 1907 <li> 1908 <a class="footerMenu-link" href="https://surga88.digital/">Contact Us</a> 1909 </li> 1910 </ul> 1911 </div> 1912 <div class="footerCopyright"> 1913 <p>Copyright 2026 SURGA88 | BURUNG</p> 1914 </div> 1915 </div> 1916 </div> 1917</div> 1918 1919</div> 1920
1921<script src="https://asset.kompas.com/data/2022/12/27/1003/kompascom/copy_credit.min.js" type="text/javascript"></script>
1921 1922 1923
1923<script src="https://asset.kompas.com/data/2025/07/18/sso/js/sso_g_signin_fedcm.min.js" type="text/javascript"></script>
1923 1924
1924<script type="text/javascript"> 1925 popup_enabled = [ 1926 'kgmModal-age', 1927 'kgmModal-cookie', 1928 'kgmModal-onetap-kompasplusreminder', 1929 // 'kgmModal-onetap-freepremium', 1930 'kgmModal-verify-v2', 1931 'kgmModal-onetap', 1932 'kgmModal-onetap' 1933 ]; 1934 </script>
1934 1935
1935<script src="https://asset.kompas.com/data/2025/02/27/sso/js/popup_manager.min.js" type="text/javascript"></script>
1935 1936 1937 1938<!--
1938<script src="https://asset.kompas.com/data/2017/wp/js/radio-stream.js"></script>
1938 -->
1939<script src="https://asset.kompas.com/data/2017/wp/js/slick.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1939
1939
1940<script src="https://asset.kompas.com/data/2017/wp/js/jquery.sticky-kit.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1940
1940
1941<script src="https://asset.kompas.com/data/2017/wp/js/jquery.marquee.min.js?v=11" type="text/javascript"></script>
vendor: 1 bytes, line 1941
1941
1942<script src="https://asset.kompas.com/data/2017/wp/js/jquery.lazyload.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1942
1942
1943<script src="https://asset.kompas.com/data/2025/08/08/wp/desktop/js/main.min.js" type="text/javascript"></script>
1943 1944
1945<script src="https://asset.kompas.com/data/2025/01/21/sso/js/sso_personalisasi.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1945
1945
1946<script src="https://asset.kompas.com/data/2025/03/11/sso/js/sdk-cookie-consent.min.js" type="text/javascript"></script>
1946<iframe name="googlefcInactive" src="about:blank" style="display: none; width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px;"></iframe><iframe name="googlefcLoaded" src="about:blank" style="display: none; width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px;"></iframe> 1947
1948<script src="https://asset.kompas.com/data/2025/sso/extender.min.js?v=113" type="text/javascript"></script>
1948 1949
1950<script src="https://asset.kompas.com/data/2022/sso/js/ssouser.min.js?v=2" type="text/javascript"></script>
1950 1951
1952<script src="https://asset.kompas.com/data/2017/wp/js/main-photo-article.min.js?v=6" type="text/javascript"></script>
1952 1953
1954<script src="https://asset.kompas.com/data/2017/wp/js/photoswipe.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1954
1954
1955<script src="https://asset.kompas.com/data/2017/wp/js/photoswipe-ui-default.min.js" type="text/javascript"></script>
1955 1956
1956<script src="https://asset.kompas.com/data/2025/05/14/cuaca/desktop/js/main-article.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 1956
1956
1957<script src="https://asset.kompas.com/data/2017/wp/js/bootstrap-datepicker.min.js" type="text/javascript"></script>
1957 1958
1959<script src="https://asset.kompas.com/data/2017/wp/js/jquery.magnific-popup.min.js" type="text/javascript"></script>
1959 1960
1961<script src="https://asset.kompas.com/data/2025/07/18/kompascom/desktop/js/main-comment.min.js" type="text/javascript"></script>
1961 1962 1963<!-- infografis zoom--> 1964<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1965 <div class="pswp__bg"></div> 1966 <div class="pswp__scroll-wrap"> 1967 <div class="pswp__container"> 1968 <div class="pswp__item"></div> 1969 <div class="pswp__item"></div> 1970 <div class="pswp__item"></div> 1971 </div> 1972 <div class="pswp__ui pswp__ui--hidden"> 1973 <div class="pswp__top-bar"> 1974 <div class="pswp__counter"></div> 1975 <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> 1976 <button class="pswp__button pswp__button--share" title="Share"></button> 1977 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 1978 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 1979 <div class="pswp__preloader"> 1980 <div class="pswp__preloader__icn"> 1981 <div class="pswp__preloader__cut"> 1982 <div class="pswp__preloader__donut"></div> 1983 </div> 1984 </div> 1985 </div> 1986 </div> 1987 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 1988 <div class="pswp__share-tooltip"></div> 1989 </div> 1990 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button> 1991 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button> 1992 <div class="pswp__caption"> 1993 <div class="pswp__caption__center"></div> 1994 </div> 1995 </div> 1996 </div> 1997</div>
1998<script type="text/javascript"> 1999 !(function () { 2000 var time = new Date().getTime(); 2001 2002 $(document.body).bind('mousemove keypress', function(e) { 2003 time = new Date().getTime(); 2004 }); 2005 2006 function refresh() { 2007 if (new Date().getTime() - time >= 900000) { // 15 Menit 2008 window.location.reload(true); 2009 } else { 2010 setTimeout(refresh, 10000); 2011 } 2012 } 2013 setTimeout(refresh, 10000); 2014 })(); 2015</script>
2015 2016
2017<script async="" src="https://asset.kompas.com/data/2025/08/26/1504/kompascom.js" type="text/javascript"></script>
vendor: 1 bytes, line 2017
2017
2018<script type="text/javascript"> 2019function setCookieUkid(cname, cvalue, exdays) { 2020 var d = new Date(); 2021 d.setTime(d.getTime() + (exdays*24*60*60*1000)); 2022 var expires = "expires="+ d.toUTCString(); 2023 document.cookie = cname + "=" + cvalue + ";" + expires + ";domain=.kompas.com;path=/;"; 2024} 2025if(document.cookie.indexOf('ukid=') == -1){ 2026 var xhttp = new XMLHttpRequest(); 2027 xhttp.onreadystatechange = function() { 2028 if (this.readyState == 4 && this.status == 200) { 2029 var ukid_cookie = JSON.parse(xhttp.responseText); 2030 setCookieUkid('ukid', ukid_cookie.ukid, 365); 2031 } 2032 }; 2033 xhttp.open("GET", "https://apis.kompas.com/api/activity/user", true); 2034 xhttp.send(); 2035} 2036</script>
2036<script type="text/javascript"> 2037/*! lozad.js - v1.7.0 - 2018-11-08 2038* https://github.com/ApoorvSaxena/lozad.js 2039* Copyright (c) 2018 Apoorv Saxena; Licensed MIT */ 2040!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict";var g=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},r="undefined"!=typeof document&&document.documentMode,l={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=document.createElement("img");r&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),t.appendChild(e)}t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset")),t.getAttribute("data-background-image")&&(t.style.backgroundImage="url('"+t.getAttribute("data-background-image")+"')"),t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}}; 2041/** 2042 * Detect IE browser 2043 * @const {boolean} 2044 * @private 2045 */function f(t){t.setAttribute("data-loaded",!0)}var b=function(t){return"true"===t.getAttribute("data-loaded")};return function(){var r,o,a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:".lozad",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=g({},l,t),n=e.root,i=e.rootMargin,d=e.threshold,u=e.load,c=e.loaded,s=void 0;return window.IntersectionObserver&&(s=new IntersectionObserver((r=u,o=c,function(t,e){t.forEach(function(t){(0<t.intersectionRatio||t.isIntersecting)&&(e.unobserve(t.target),b(t.target)||(r(t.target),f(t.target),o(t.target)))})}),{root:n,rootMargin:i,threshold:d})),{observe:function(){for(var t=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document;return t instanceof Element?[t]:t instanceof NodeList?t:e.querySelectorAll(t)}(a,n),e=0;e<t.length;e++)b(t[e])||(s?s.observe(t[e]):(u(t[e]),f(t[e]),c(t[e])))},triggerLoad:function(t){b(t)||(u(t),f(t),c(t))},observer:s}}}); 2046</script>
2046 2047
2048<script type="text/javascript"> 2049 // Initialize library 2050 $(document).ready(function(){ 2051 lozad('.lozad', { 2052 load: function(el) { 2053 el.src = el.dataset.src; 2054 el.onload = function() { 2055 el.classList.add('fade') 2056 } 2057 } 2058 }).observe() 2059 }); 2060</script>
2060 2061 2062
2062<script src="https://asset.kompas.com/data/2024/08/26/kgmverify/js/kgmverify.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 2062
2062
2063<script type="text/javascript"> 2064 function getCookie(name) { 2065 var name = name + '='; 2066 var cookies = decodeURIComponent(document.cookie).split(';'); 2067 for (var i = 0; i < cookies.length; i++) { 2068 var c = cookies[i]; 2069 while (c.charAt(0) == ' ') { 2070 c = c.substring(1); 2071 } 2072 if (c.indexOf(name) == 0) { 2073 return c.substring(name.length, c.length); 2074 } 2075 } 2076 } 2077 2078 let popup_state = JSON.parse(getCookie('popup_state')); 2079 if(popup_state.active_popup_id==5) { 2080 KgmVerifyWidget({publisher: "kompascom"}); 2081 } 2082</script>
2082 2083
2083<script async="" src="https://asset.kompas.com/data/2025/02/03/1452/freepremium_newsletter.js" type="text/javascript"></script>
2083 2084
2084<script async="" src="https://asset.kompas.com/data/2025/01/14/js/kompasplus_reminder.js" type="text/javascript"></script>
2084 2085 2086<div class="modalContent reactionModal" data-modal-target="reaction-share"> 2087 <div class="modalHeader"> 2088 <div class="modalTitle"></div> 2089 <button class="button buttonDismiss modalDismiss" aria-label="Close" data-modal-button="dismiss"> 2090 <span class="icoBase icoDismiss"></span> 2091 </button> 2092 </div> 2093 <div class="modalBody socmedModal"> 2094 <div class="socmedTitle">Bagikan artikel ini melalui</div> 2095 <div class="socmedList"> 2096 <a href="javascript:void(0);" class="button buttonFacebook socmedButton" role="button" aria-label="Share to Facebook"> 2097 <span class="icoSocmed icoFacebook"></span> 2098 <span class="socmedTxt">Facebook</span> 2099 </a> 2100 <a href="javascript:void(0);" class="button buttonTwitter socmedButton" role="button" aria-label="Share to Twitter"> 2101 <span class="icoSocmed icoTwitter"></span> 2102 <span class="socmedTxt">X</span> 2103 </a> 2104 <a href="javascript:void(0);" class="button buttonWhatsapp socmedButton" role="button" aria-label="Share to Whatsapp"> 2105 <span class="icoSocmed icoWhatsapp"></span> 2106 <span class="socmedTxt">Whatsapp</span> 2107 </a> 2108 <a target="_blank" href="javascript:void(0);" class="button buttonLine socmedButton" role="button" aria-label="Share to Line"> 2109 <span class="icoSocmed icoLine"></span> 2110 <span class="socmedTxt">Line</span> 2111 </a> 2112 <a href="javascript:void(0);" class="button buttonTelegram socmedButton" role="button" aria-label="Share to Telegram"> 2113 <span class="icoSocmed icoTelegram"></span> 2114 <span class="socmedTxt">Telegram</span> 2115 </a> 2116 <a href="javascript:void(0);" class="button buttonCopyLink socmedButton" role="button" aria-label="Share to Copy Link" data-form="copyLinkUrl" data-copy="copy-url" data-title="URL Berhasil disalin"> 2117 <span class="icoSocmed icoCopyLink"></span> 2118 <span class="socmedTxt">Copy Link</span> 2119 </a> 2120 </div> 2121 <textarea class="socmedSrc" type="text" id="copyLinkUrl" value="" style="display: none;"></textarea> 2122 </div> 2123</div> 2124
2125<script type="text/javascript"> 2126 (function() { 2127 $('body').on('click', '.reaction > * .buttonShare, .listPop > * .buttonShare', function(e) { 2128 2129 if($(this).data("type")=='buku'){ 2130 let title = $(this).data("title"); 2131 let url = $(this).data("url").replace('http://', 'https://'); 2132 let copy_link = url; 2133 let modals = $('.reactionModal'); 2134 modals.find('.modalTitle').html(title); 2135 modals.find('#copyLinkUrl').html(copy_link); 2136 modals.find('.socmedTitle').html('Bagikan buku ini melalui'); 2137 modals.find('.buttonFacebook').attr("onclick", `fb_share('${title}','${url}')`); 2138 modals.find('.buttonTwitter').attr("onclick", `tweet_share('${url}')`); 2139 modals.find('.buttonWhatsapp').attr("onclick", `whatsapp_share_new('', '${url}')`); 2140 modals.find('.buttonLine').attr("href", `https://line.me/R/msg/text/?${url}`); 2141 modals.find('.buttonTelegram').attr("onclick", `telegram_share('${title}', '${url}')`); 2142 }else{ 2143 let title = $(this).data("title"); 2144 let url = $(this).data("url").replace('http://', 'https://'); 2145 let campaign = $(this).data("campaign"); 2146 let modals = $('.reactionModal'); 2147 let tagline_tw = ''; //'\\n\\nKompascom+ baca berita tanpa iklan: https://kmp.im/plus2 \\nDownload aplikasi: https://kmp.im/app2'; 2148 let tagline_wa = ''; //'\\n\\nKompascom+ baca berita tanpa iklan: https://kmp.im/plus3 \\nDownload aplikasi: https://kmp.im/app3'; 2149 let tagline_ln = ''; //'%0D%0A%0D%0AKompascom%2B baca berita tanpa iklan: https://kmp.im/plus4%0D%0ADownload aplikasi: https://kmp.im/app4'; 2150 let tagline_tg = ''; //'%0D%0A%0D%0AKompascom%2B baca berita tanpa iklan: https://kmp.im/plus5%0D%0ADownload aplikasi: https://kmp.im/app5'; 2151 let type = $(this).data("type") ? $(this).data("type") : 'article'; 2152 let title_klik = (type == 'article') ? 'Klik untuk baca' : 'Klik untuk lihat video'; 2153 let title_wa = '*'+title+'*\\n\\n'+title_klik+':\\n'; 2154 let title_tele = '**'+title+'**'; 2155 let utm_campaign = custom_utm_campaign(); 2156 let copy_link = url+'?utm_source=Various&utm_medium=Referral&utm_campaign='+utm_campaign; 2157 modals.find('.modalTitle').html(title); 2158 modals.find('#copyLinkUrl').html(copy_link); 2159 modals.find('.buttonFacebook').attr("onclick", `fb_share('${title}','${url}?utm_source=Facebook&utm_medium=Referral&utm_campaign=${utm_campaign}')`); 2160 if(title.length < 200){ 2161 modals.find('.buttonTwitter').attr("onclick", `tweet_share('${title}\\n\\n`+title_klik+`: ${url}?utm_source=Twitter&utm_medium=Referral&utm_campaign=${utm_campaign}${tagline_tw}')`); 2162 }else{ 2163 modals.find('.buttonTwitter').attr("onclick", `tweet_share('${title}\\n\\n`+title_klik+`: ${url}?utm_source=Twitter&utm_medium=Referral&utm_campaign=${utm_campaign}')`); 2164 } 2165 modals.find('.buttonWhatsapp').attr("onclick", `whatsapp_share_new('${title_wa}', '${url}?utm_source=Whatsapp&utm_medium=Referral&utm_campaign=${utm_campaign}${tagline_wa}')`); 2166 modals.find('.buttonLine').attr("href", `https://line.me/R/msg/text/?${title}%0D%0A%0D%0A`+title_klik+`:%0D%0A${url}%3Futm_source=Line%26utm_medium=Referral%26utm_campaign=${utm_campaign}${tagline_ln}`); 2167 modals.find('.buttonTelegram').attr("onclick", `telegram_share('${title_tele}', '${url}?utm_source=Telegram&utm_medium=Referral&utm_campaign=${utm_campaign}', '${tagline_tg}')`); 2168 } 2169 2170 openModal('reaction-share'); 2171 }); 2172 })(); 2173 2174 function custom_utm_campaign() { 2175 2176 2177 if (window.location.hostname.indexOf('activity') == 0) { 2178 if (window.location.pathname == '/saved') { 2179 return 'Saved_Desktop' 2180 } else if (window.location.pathname == '/like') { 2181 return 'Liked_Desktop' 2182 } 2183 } else { 2184 var el_socmedList = document.querySelector('.socmedList'); 2185 if (!!el_socmedList) { 2186 var data_area = el_socmedList.getAttribute('data-area'); 2187 if (data_area == 'top') {
2188 return 'Top_Desktop' 2189 } else if (data_area == 'bottom') { 2190 return 'Bottom_Desktop' 2191 } else { 2192 return 'AIML_Widget_Desktop' 2193 } 2194 } 2195 } 2196 2197 return 'Sticky_Desktop' 2198 } 2199</script>
2199<!-- reaction toast --> 2200<div class="toast" data-toast="bottom"> 2201 <div class="toastContent"></div> 2202 <a href="#" class="button buttonDismiss toastDismiss" aria-label="Dismiss" role="button" data-toast-button="dismiss">Oke</a> 2203</div>
2204<script type="text/javascript"> 2205var el_badge = document.querySelector('.sso__badge') 2206var el_badge_menu = document.querySelector('.sso__badge__inline') 2207 2208function checkSession() { 2209 var badge_temp_session = getCookie("_badge_temp_session") 2210 var badge_session = getCookie("badge_session") 2211 var badge_first_click = getCookie("badge_first_click"); 2212 2213 if (badge_temp_session == "" && badge_session == "") { 2214 setCookie("_badge_temp_session", 1) 2215 setCookie("badge_session", 1, 8760) 2216 // console.log("test badge temp 1") 2217 } else if (badge_temp_session == "" && badge_session == 1) { 2218 setCookie("_badge_temp_session", 1) 2219 setCookie("badge_session", 2, 8760) 2220 // console.log("test badge temp 2") 2221 } else if (badge_temp_session == "" && badge_session == 2 && badge_first_click == 1) { 2222 setCookie("_badge_temp_session", 1) 2223 setCookie("badge_session", 3, 8760) 2224 // console.log("test badge temp 3") 2225 } 2226 2227 setCookie("_badge_temp_session", 1) 2228} 2229checkSession() 2230 2231function checkCookieBadgeNps() { 2232 var badge_session = getCookie("badge_session") 2233 var badge_first_click = getCookie("badge_first_click") 2234 var click_icon_badge = getCookie("click_icon_badge") 2235 var feedback_click = getCookie("feedback_click_badge") 2236 2237 // show badge jika sesi berikutnya 2238 if (badge_session == 2) { 2239 el_badge.style.display = "block" 2240 el_badge_menu.style.display = "block" 2241 // console.log("test 1") 2242 } 2243 2244 // jika ada di sesi berikutnya dan telah click badge icon utk pertama kali, maka hide badge icon login 2245 if (badge_session == 2 && badge_first_click == 1) { 2246 el_badge.style.display = "none" 2247 // console.log("test 2") 2248 2249 // jika tidak cek, 2250 // jika ada di sesi berikutnya dan telah click badge icon utk pertama kali 2251 // atau jika di sesi berikutnya dan cookie click icon badge expired 2252 // atau jika di sesi berikutnya dan cookie badge feedback success expired 2253 } else if ((badge_session == 3 && badge_first_click == 1) || (badge_session == 3 && document.cookie.indexOf("click_icon_badge=") == -1) || (badge_session == 3 && document.cookie.indexOf("badge_feedback_success=") == -1)) { 2254 el_badge.style.display = "block" 2255 el_badge_menu.style.display = "block" 2256 // console.log("test 3") 2257 } 2258 2259 // hide jika ada cookie click icon badge masih aktif 2260 // utk cek cookie 2 jam, 1 hari, 1 minggu dan 4 minggu. 2261 if (document.cookie.indexOf("click_icon_badge=") != -1) { 2262 el_badge.style.display = "none" 2263 // console.log("test 4") 2264 } 2265 2266 // jika "Berikan masukkanmu" telah dikilk, maka hide 2267 // jika tidak cek jika sesi > 1 dan cookie feedback click badge "Berikan masukkanmu" expired, maka show 2268 if (document.cookie.indexOf("feedback_click_badge=") != -1) { 2269 el_badge_menu.style.display = "none" 2270 // console.log("test 5") 2271 } else if (badge_session > 1 && document.cookie.indexOf("feedback_click_badge=") == -1) { 2272 el_badge_menu.style.display = "block" 2273 // console.log("test 6") 2274 } 2275 2276 // hide jika telah memberi penilaian 2277 if (document.cookie.indexOf("badge_feedback_success=") != -1) { 2278 el_badge.style.display = "none" 2279 el_badge_menu.style.display = "none" 2280 // console.log("test 7") 2281 } 2282} 2283checkCookieBadgeNps() 2284 2285var sso__icon__login_top = document.getElementById('sso__icon__login_top') 2286sso__icon__login_top.addEventListener('click', function() { 2287 var badge_session = getCookie("badge_session") 2288 var badge_first_click = getCookie("badge_first_click") 2289 var feedback_success = getCookie("badge_feedback_success") 2290 var click_icon_badge = getCookie("click_icon_badge") 2291 var click_icon_counter_badge = getCookie("click_icon_counter_badge") 2292 2293 if (feedback_success == "" || document.cookie.indexOf("badge_feedback_success=") == -1) { 2294 // click untuk pertama kali di sesi berikutnya 2295 if (badge_session == 2 && badge_first_click == "") { 2296 el_badge.style.display = "none" 2297 el_badge_menu.style.display = "block"
2298 setCookie("badge_first_click", 1, 8760) 2299 // console.log("click 1") 2300 2301 // click jika sesi berikutnya setelah mengklik icon badge utk pertama kali 2302 } else { 2303 // jika belum ada cookie click icon badge 2304 // dan ada di sesi berikutnya setelah click icon pertama kali 2305 // dan counter click icon kosong atau 0 2306 if (badge_session == 3 && click_icon_badge == "" && (click_icon_counter_badge == "" || click_icon_counter_badge == 0)) { 2307 setCookie("click_icon_counter_badge", 1, 8760) 2308 setCookie("click_icon_badge", 1, 2) 2309 el_badge.style.display = "none" 2310 el_badge_menu.style.display = "block" 2311 // console.log("clicked 1") 2312 2313 // Jika cookie badge click icon expired dan counter = 1, maka set 1 hari 2314 } else if (document.cookie.indexOf("click_icon_badge=") == -1 && click_icon_counter_badge == 1) { 2315 setCookie("click_icon_counter_badge", parseInt(click_icon_counter_badge)+1, 8760) 2316 setCookie("click_icon_badge", 2, 24) 2317 el_badge.style.display = "none" 2318 el_badge_menu.style.display = "block" 2319 // console.log("clicked 2") 2320 2321 // Jika cookie badge click icon expired dan counter = 2, maka set 1 minggu 2322 } else if (document.cookie.indexOf("click_icon_badge=") == -1 && click_icon_counter_badge == 2) { 2323 setCookie("click_icon_counter_badge", parseInt(click_icon_counter_badge)+1, 8760) 2324 setCookie("click_icon_badge", 3, 168) 2325 el_badge.style.display = "none" 2326 el_badge_menu.style.display = "block" 2327 // console.log("clicked 3") 2328 2329 // Jika cookie badge click icon expired dan counter lebih dari 2, maka set 4 minggu 2330 } else if (document.cookie.indexOf("click_icon_badge=") == -1 && click_icon_counter_badge > 2) { 2331 setCookie("click_icon_counter_badge", 0, 8760) // reset badge counter click icon 2332 setCookie("click_icon_badge", 4, 672) 2333 el_badge.style.display = "none" 2334 el_badge_menu.style.display = "block" 2335 // console.log("clicked 4") 2336 } 2337 // console.log("click 2") 2338 } 2339 2340 // jika feedback click expired dan counter >= 0, maka show 2341 var feedback_click_counter = getCookie("feedback_click_counter_badge") 2342 if (badge_session > 1 && document.cookie.indexOf("feedback_click_badge") == -1 && feedback_click_counter >= 0) { 2343 el_badge_menu.style.display = 'block' 2344 } 2345 } 2346}) 2347 2348var feedback__item = document.getElementById('feedback__item') 2349feedback__item.addEventListener("click", function() { 2350 var feedback_click = getCookie("feedback_click_badge") 2351 var feedback_success = getCookie("badge_feedback_success") 2352 var feedback_click_counter = getCookie("feedback_click_counter_badge") 2353 2354 if (feedback_success == "" || document.cookie.indexOf("badge_feedback_success=") == -1) { 2355 // jika belum ada cookie feedback click counter, maka set 2 jam 2356 if (feedback_click_counter == "" || feedback_click_counter == 0) { 2357 setCookie("feedback_click_counter_badge", 1, 8760) 2358 setCookie("feedback_click_badge", 1, 2) 2359 el_badge_menu.style.display = "none" 2360 // console.log("feedback clicked 1") 2361 2362 // Jika cookie feedback click badge expired dan counter 1, maka set 1 hari 2363 } else if (document.cookie.indexOf("feedback_click_badge=") == -1 && feedback_click_counter == 1) { 2364 setCookie("feedback_click_counter_badge", parseInt(feedback_click_counter)+1, 8760) 2365 setCookie("feedback_click_badge", 2, 24) 2366 el_badge_menu.style.display = "none" 2367 // console.log("feedback clicked 2") 2368 2369 // Jika cookie feedback click badge expired dan counter 2, maka set 1 minggu 2370 } else if (document.cookie.indexOf("feedback_click_badge=") == -1 && feedback_click_counter == 2) {
2371 setCookie("feedback_click_counter_badge", parseInt(feedback_click_counter)+1, 8760) 2372 setCookie("feedback_click_badge", 3, 168) 2373 el_badge_menu.style.display = "none" 2374 // console.log("feedback clicked 3") 2375 2376 // Jika cookie feedback click badge expired dan counter > 2, maka set 4 minggu 2377 } else if (document.cookie.indexOf("feedback_click_badge=") == -1 && feedback_click_counter > 2) { 2378 setCookie("feedback_click_counter_badge", 0, 8760) 2379 setCookie("feedback_click_badge", 4, 672) 2380 el_badge_menu.style.display = "none" 2381 // console.log("feedback clicked 4") 2382 } else { 2383 // jika di sesi sebelumnya sudah diklik tapi belum isi feedback 2384 el_badge_menu.style.display = "none" 2385 // console.log("feedback clicked 5") 2386 } 2387 } 2388}) 2389 2390function setCookie(name,value,hour) { 2391 var expires = ""; 2392 if (hour) { 2393 var date = new Date(); 2394 date.setTime(date.getTime() + (hour*60*60*1000)); 2395 expires = "; expires=" + date.toUTCString(); 2396 } 2397 document.cookie = name + "=" + (value || "") + expires + "; ;domain=.kompas.com;path=/"; 2398} 2399 2400function getCookie(cname) { 2401 var name = cname + "="; 2402 var decodedCookie = decodeURIComponent(document.cookie); 2403 var ca = decodedCookie.split(';'); 2404 for(var i = 0; i <ca.length; i++) { 2405 var c = ca[i]; 2406 while (c.charAt(0) == ' ') { 2407 c = c.substring(1); 2408 } 2409 if (c.indexOf(name) == 0) { 2410 return c.substring(name.length, c.length); 2411 } 2412 } 2413 return ""; 2414} 2415 2416// action create cookie badge_feedback_success expired 90 hari 2417var onSubmitNps = document.getElementById("nps-submit") 2418if (onSubmitNps !== null) { 2419 onSubmitNps.addEventListener("click", function(e) { 2420 // e.preventDefault() 2421 setCookie("badge_feedback_success", 1, 2160) 2422 }) 2423} 2424</script>
2424<script type="text/javascript"> 2425 const showAllBtnJs = document.querySelector('#show_all_news') 2426 if (!!showAllBtnJs) { 2427 showAllBtnJs.addEventListener('click', function() { 2428 const startPage = showAllBtnJs.dataset.startPage 2429 const url = new URL(window.location.href); 2430 window.location.href = `${url.origin}${url.pathname}?page=all#page${startPage}`; 2431 }) 2432 } 2433</script>
2433 2434 2435<section class="kgmModal -hide" id="kgmModal-onetap" data-event-category="KG Media ID Account" data-event-action="View KG Onetap" data-event-label="" data-event-track="impression" data-url="" type="button"> 2436 <div class="kgmModal-block"> 2437 <div class="kgmModal-header"> 2438 <div class="kgmModal-header-inner"> 2439 <div class="kgmModal-header-logo"> 2440 <img class="lozad" data-src="https://asset.kompas.com/data/2023/03/30/kompascom/images/logo-kompascom.svg?v=1" alt="logo-Kompas.com"> 2441 </div> 2442 <button data-event-category="KG Media ID Account" data-event-action="ClickClose KG Onetap" data-event-label="Tags Button" data-event-track="click" data-url="" type="button" id="kgmModal-onetap-close-tag" class="kgmModal-close" style="display:none;"></button> 2443 <button data-event-category="KG Media ID Account" data-event-action="ClickClose KG Onetap" data-event-label="See All Button" data-event-track="click" type="button" id="kgmModal-onetap-close-page" onclick="if (!window.__cfRLUnblockHandlers) return false; document.getElementById('kgmModal-onetap').classList.add('-hide');oneTapHide();return false;" class="kgmModal-close" style="display:none;"></button> 2444 <button data-event-category="KG Media ID Account" data-event-action="ClickClose KG Onetap" data-event-label="" data-event-track="click" type="button" id="kgmModal-onetap-close-iteraction" onclick="if (!window.__cfRLUnblockHandlers) return false; document.getElementById('kgmModal-onetap').classList.add('-hide');oneTapHide();return false;" class="kgmModal-close" style="display:none;"></button> 2445 </div> 2446 </div> 2447 <div class="kgmModal-body"> 2448 2449 <div class="kgmModal-center"> 2450 <div class="kgmModal-title" id="kgmModal-title">Login untuk memaksimalkan pengalaman mengakses SURGA88</div> 2451 </div> 2452 2453 <div class="kgmModal-onetap"> 2454 <!-- google --> 2455 <div class="form-google"> 2456 <div id="kgOne1"> 2457 <div id="g_id_onload" 2458 data-client_id="776828813358-infk4sje3q07sa8mg8n6lq1mk2pdkkua.apps.googleusercontent.com" 2459 data-context="signin" 2460 data-ux_mode="popup" 2461 data-service="a29tcGFz" 2462 data-continue="aHR0cHM6Ly93d3cua29tcGFzLmNvbS9qYXdhLWJhcmF0L3JlYWQvMjAyNS8wOS8wNC8xNzIwMDAzODgva29tcG9sLWNvc21hcy1kaXBlY2F0LXRpZGFrLWhvcm1hdC1wZXJuYWgtdGVyc2VyZXQta2FzdXMtcGVueWlyYW1hbj91dG1fc291cmNlPWxvZ2luX2tnb25ldGFw" 2463 data-login_uri="https://account.kompas.com/social/user" 2464 data-scope="public_profile,email,openid" 2465 data-provider="google" 2466 data-nonce="" 2467 data-auto_prompt="false"> 2468 </div> 2469 2470 <div class="g_id_signin" data-type="standard" data-shape="rectangular" data-theme="filled_blue" data-text="continue_with" data-size="large" data-logo_alignment="left" onclick="if (!window.__cfRLUnblockHandlers) return false; actionGoogleLogin()"><div class="S9gUrf-YoZ4jf" style="position: relative;"><div><div tabindex="0" role="button" aria-labelledby="button-label" class="nsm7Bb-HzV7m-LgbsSe hJDwNd-SxQuSe MFS4be-v3pZbf-Ia7Qfc MFS4be-Ia7Qfc uaxL4e-RbRzK"><div class="nsm7Bb-HzV7m-LgbsSe-MJoBVe"></div><div class="nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb "><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf"><div class="nsm7Bb-HzV7m-LgbsSe-Bz112c"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="LgbsSe-Bz112c"><g><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path></g></svg></div></div><span class="nsm7Bb-HzV7m-LgbsSe-BPrWId">Continue with Google</span><span class="L6cTce" id="button-label">Continue with Google. Opens in new tab</span></div></div></div><iframe src="https://accounts.google.com/gsi/button?type=standard&shape=rectangular&theme=filled_blue&text=continue_with&size=large&logo_alignment=left&is_fedcm_supported=true&client_id=776828813358-infk4sje3q07sa8mg8n6lq1mk2pdkkua.apps.googleusercontent.com&iframe_id=gsi_139_851010&cas=ZVUb8WmJwKdJQnMi0e97G7flQr%2Bagg5A6o16zfZSJ18" class="L5Fo6c-PQbLGe" allow="identity-credentials-get" id="gsi_139_851010" title="Sign in with Google Button" style="display: block; position: relative; top: 0px; left: 0px; height: 0px; width: 0px; border: 0px;"></iframe></div></div> 2471 2472 </div> 2473 <div id="kgOne2" style="display:none;"> 2474 <div id="googleLgnBtn"></div> 2475 </div> 2476 2477 </div> 2478 2479 <!-- screen 1 --> 2480 2481 <!-- screen 2 --> 2482 2483 <!-- screen 3 --> 2484 2485 </div> 2486 <div class="kgmModal-divider -clean"><span>atau</span></div> 2487 <div class="kgmModal-method"> 2488 <a href="https://account.kompas.com/login/a29tcGFz/aHR0cHM6Ly93d3cua29tcGFzLmNvbS9qYXdhLWJhcmF0L3JlYWQvMjAyNS8wOS8wNC8xNzIwMDAzODgva29tcG9sLWNvc21hcy1kaXBlY2F0LXRpZGFrLWhvcm1hdC1wZXJuYWgtdGVyc2VyZXQta2FzdXMtcGVueWlyYW1hbg==">Gunakan metode lain</a> 2489 </div> 2490 </div> 2491 <div class="kgmModal-footer"> 2492 <div class="kgmModal-info">Dengan login, kamu menyetujui <a href="https://www.kgmedia.id/legal-privacy-id" target="_blank">Kebijakan Data Pribadi</a></div> 2493 </div> 2494 </div> 2495</section> 2496
2497<script async="" src="https://accounts.google.com/gsi/client" defer type="text/javascript"></script>
vendor: 1 bytes, line 2497
2497
2498<script type="text/javascript"> 2499 var url_continue = "https://surga88.digital/"; 2500 2501 function oneTapShow(tipe='') { 2502 let otd = document.getElementById('kgmModal-onetap') 2503 if(!!otd) { 2504 let kgOne1 = document.getElementById('kgOne1'); 2505 let kgOne2 = document.getElementById('kgOne2'); 2506 kgOne2.style.display = 'none'; 2507 kgOne1.style.display = 'block'; 2508 2509 otd.classList.remove('-hide'); 2510 document.body.classList.add('-locked'); 2511 } 2512 } 2513 2514 function oneTapHide() { 2515 let otd = document.getElementById('kgmModal-onetap') 2516 if(!!otd) { 2517 otd.classList.add('-hide'); 2518 document.body.classList.remove('-locked'); 2519 } 2520 } 2521 2522 function hideButtonClose(){ 2523 document.getElementById('kgmModal-onetap-close-tag').style.display = 'none'; 2524 document.getElementById('kgmModal-onetap-close-page').style.display = 'none'; 2525 document.getElementById('kgmModal-onetap-close-iteraction').style.display = 'none'; 2526 } 2527 2528 // // // start all kanal tag rule 2529 // document.querySelectorAll(".tag__article__link").forEach(element => element.addEventListener('click', event => { 2530 // event.preventDefault() 2531 // hideButtonClose(); 2532 // var kgmModalOneTapClose = document.getElementById('kgmModal-onetap-close-tag'); 2533 // kgmModalOneTapClose.style.display = "block"; 2534 // kgmModalOneTapClose.dataset.url = element.getAttribute("href"); 2535 // document.getElementById('g_id_onload').dataset.continue = btoa(url_continue+'?lgn_source=kgonetap&lgn_trigger=tags_btn') 2536 // document.getElementById('kgmModal-title').innerHTML = 'Baca berita bertopik serupa dengan login menggunakan akun kamu'; 2537 // var script = document.createElement("script"); 2538 // (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2539 // document.getElementById('kgmModal-onetap').dataset.eventLabel = 'Tags Button'; 2540 // oneTapShow(); 2541 // })); 2542 2543 // let kgmModalOneTapClose = document.getElementById('kgmModal-onetap-close-tag'); 2544 // if (!!kgmModalOneTapClose) { 2545 // kgmModalOneTapClose.addEventListener('click', function (e) { 2546 // var url_tag = kgmModalOneTapClose.dataset.url; 2547 // window.location.href = url_tag; 2548 // }); 2549 // } 2550 // // end all kanal tag rule 2551 // 2552 // start food tag rule 2553 let pageShow = document.getElementById('show_all'); 2554 if (!!pageShow) { 2555 pageShow.addEventListener('click', function (e) { 2556 hideButtonClose(); 2557 var kgmModalOneTapPage = document.getElementById('kgmModal-onetap-close-page'); 2558 kgmModalOneTapPage.style.display = "block"; 2559 document.getElementById('g_id_onload').dataset.continue = btoa(url_continue+'?lgn_source=kgonetap&lgn_trigger=seeall_btn'); 2560 document.getElementById('kgmModal-title').innerHTML = 'Login untuk akses baca lebih lengkap'; 2561 var script = document.createElement("script"); 2562 (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2563 document.getElementById('kgmModal-onetap').dataset.eventLabel = 'See All Button'; 2564 oneTapShow(); 2565 }); 2566 } 2567 2568 $(document).on("click", "#commentFormLogin", function() { 2569 var komentar_url = $(this).data('komentar-url'); 2570 hideButtonClose(); 2571 var kgmModalOneTapPage = document.getElementById('kgmModal-onetap-close-page'); 2572 kgmModalOneTapPage.style.display = "block"; 2573 document.getElementById('g_id_onload').dataset.continue = btoa(komentar_url + '?lgn_source=kgonetap&lgn_trigger=comment_article'); 2574 document.getElementById('kgmModal-title').innerHTML = 'Login untuk menyampaikan komentarmu.'; 2575 var script = document.createElement("script"); 2576 (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2577 document.getElementById('kgmModal-onetap').dataset.eventLabel = 'Comment Article'; 2578 oneTapShow(); 2579 }); 2580 2581 document.addEventListener('DOMContentLoaded', function() { 2582 const elementKgOneTapAction = document.querySelectorAll('[data-kgonetap-action]'); 2583 if (!!elementKgOneTapAction) { 2584 elementKgOneTapAction.forEach(function(el) { 2585 el.addEventListener('click', function() {
2586 const kgOneTapAction = el.getAttribute('data-kgonetap-action'); 2587 let kgOneTapTitle = 'Login untuk menyampaikan komentarmu.'; 2588 let lgnTrigger = ''; 2589 let eventLabel = 'See All Button'; 2590 2591 if (kgOneTapAction == 'COMMENT_POST') { 2592 kgOneTapTitle = 'Login untuk menyampaikan komentarmu.'; 2593 lgnTrigger = 'comment_post_btn'; 2594 eventLabel = 'Comment Post Button'; 2595 2596 } else if (kgOneTapAction == 'COMMENT_LIKE') { 2597 kgOneTapTitle = 'Login untuk menyukai komentar ini'; 2598 lgnTrigger = 'comment_like_btn'; 2599 eventLabel = 'Comment Like Button'; 2600 2601 } else if (kgOneTapAction == 'COMMENT_DISLIKE') { 2602 kgOneTapTitle = 'Login untuk menanggapi komentar ini'; 2603 lgnTrigger = 'comment_dislike_btn'; 2604 eventLabel = 'Comment Disike Button'; 2605 2606 } else if (kgOneTapAction == 'COMMENT_REPLY') { 2607 kgOneTapTitle = 'Login untuk membalas komentar ini'; 2608 lgnTrigger = 'comment_reply_btn'; 2609 eventLabel = 'Comment Reply Button'; 2610 2611 el.querySelector('.commentButton').textContent = 'Balas'; 2612 el.closest('.commentItem').querySelector('.reply_form').style.display = 'none'; 2613 } else if (kgOneTapAction == 'MYVALUE_CLAIM') { 2614 kgOneTapTitle = 'Login untuk mendapatkan voucher'; 2615 lgnTrigger = 'claim_voucher_button'; 2616 eventLabel = 'Claim Voucher Button'; 2617 } 2618 2619 hideButtonClose(); 2620 var kgmModalOneTapPage = document.getElementById('kgmModal-onetap-close-page'); 2621 kgmModalOneTapPage.style.display = "block"; 2622 document.getElementById('g_id_onload').dataset.continue = btoa(url_continue+'?lgn_source=kgonetap&lgn_trigger=' + lgnTrigger); 2623 document.getElementById('kgmModal-title').innerHTML = kgOneTapTitle; 2624 var script = document.createElement("script"); 2625 (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2626 const dataEventLabel = document.getElementById('kgmModal-onetap'); 2627 if (!!dataEventLabel) { 2628 dataEventLabel.dataset.eventLabel = eventLabel; 2629 const otherDataEventLabel = dataEventLabel.querySelectorAll('[data-event-label]'); 2630 if (!!otherDataEventLabel) { 2631 otherDataEventLabel.forEach(function(label) { 2632 label.dataset.eventLabel = eventLabel 2633 }) 2634 } 2635 } 2636 oneTapShow(); 2637 }); 2638 }); 2639 } 2640 }) 2641 // start reaction rule 2642 document.querySelectorAll(".reactionIteration").forEach(element => element.addEventListener('click', event => { 2643 2644 hideButtonClose(); 2645 2646 var kgmModalOneTapIteraction = document.getElementById('kgmModal-onetap-close-iteraction'); 2647 kgmModalOneTapIteraction.style.display = "block"; 2648 2649 var trigger_touch_point = 'click_like'; 2650 var label = 'Like'; 2651 var title = 'Suka konten ini? Login untuk menyimpan preferensimu'; 2652 2653 if(element.dataset.ttp=='dislike'){ 2654 trigger_touch_point = 'click_dislike'; 2655 label = 'Dislike'; 2656 title = 'Kurang suka konten ini? Login untuk menyimpan preferensimu'; 2657 }else if(element.dataset.ttp=='bookmark'){ 2658 trigger_touch_point = 'click_bookmark'; 2659 label = 'Bookmark'; 2660 title = 'Login untuk simpan dan baca nanti'; 2661 }else if(element.dataset.ttp=='like_comment'){ 2662 trigger_touch_point = 'click_like_comment'; 2663 label = 'Like Comment' 2664 title = 'Login untuk kasih jempol buat komentar ini.'; 2665 } else if(element.dataset.ttp=='dislike_comment'){ 2666 trigger_touch_point = 'click_dislike_comment'; 2667 label = 'Dislike Comment' 2668 title = 'Tidak setuju dengan komentar ini? Login untuk ikut menanggapi'; 2669 } 2670 2671 // document.getElementById('g_id_onload').dataset.continue = btoa(url_continue+'?lgn_source=kgonetap&lgn_trigger='+trigger_touch_point) 2672 document.getElementById('kgmModal-title').innerHTML = title; 2673 // var script = document.createElement("script"); 2674 // (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2675 // document.getElementById('kgmModal-onetap').dataset.eventLabel = label 2676 // document.getElementById('kgmModal-onetap-close-iteraction').dataset.eventLabel = label 2677 oneTapShow('reaction'); 2678 })); 2679 // end reaction rule 2680 2681 // start comment rule 2682 let CommentShow = document.getElementById('btnSendIteration'); 2683 if (!!CommentShow) { 2684 2685 CommentShow.addEventListener('click', function (e) { 2686 2687 hideButtonClose(); 2688 2689 var kgmModalOneTapIteraction = document.getElementById('kgmModal-onetap-close-iteraction'); 2690 kgmModalOneTapIteraction.style.display = "block"; 2691 2692 var trigger_touch_point = 'click_post_comment'; 2693 var label = 'Post Comment' 2694 var title = 'Login untuk menyampaikan komentarmu.'; 2695 2696 document.getElementById('g_id_onload').dataset.continue = btoa(url_continue+'?lgn_source=kgonetap&lgn_trigger='+trigger_touch_point) 2697 document.getElementById('kgmModal-title').innerHTML = title; 2698 var script = document.createElement("script"); 2699 (script.src = "https://accounts.google.com/gsi/client"), (script.defer = !0), (script.async = !0), document.head.appendChild(script); 2700 document.getElementById('kgmModal-onetap').dataset.eventLabel = label 2701 document.getElementById('kgmModal-onetap-close-iteraction').dataset.eventLabel = label 2702 oneTapShow(); 2703 }); 2704 } 2705 // end comment rule 2706 2707 function getMeta(metaName) { 2708 const metas = document.getElementsByTagName('meta'); 2709 for (let i = 0; i < metas.length; i++) { 2710 if (metas[i].getAttribute('name') === metaName) { 2711 return metas[i].getAttribute('content'); 2712 } 2713 } 2714 return ''; 2715 } 2716 2717 const closeModalOneTap = document.querySelector('#kgmModal-onetap-close-iteraction'); 2718 if (!!closeModalOneTap) { 2719 closeModalOneTap.addEventListener('click', function() { 2720 localStorage.removeItem('reaction_like_temp') 2721 localStorage.removeItem('reaction_dislike_temp') 2722 localStorage.removeItem('reaction_bookmark_temp') 2723 }) 2724 } 2725</script>
vendor: 1 bytes, line 2725
2725
2726<script type="text/javascript"> 2727 var addebug = document.querySelectorAll('.cpRight'); 2728 for (i = 0; i < addebug.length; ++i) { 2729 addebug[i].addEventListener('click', function handleClick() { 2730 googletag.openConsole(); 2731 }); 2732 }; 2733</script>
2733 2734 2735
2736<script type="text/javascript"> 2737 var inject_baca_juga = document.getElementsByClassName('inject-baca-juga'); 2738 if(inject_baca_juga.length > 0){ 2739 var xhr_auto_baca_juga = new XMLHttpRequest(); 2740 xhr_auto_baca_juga.open("POST", "https://recommendation.kgdata.dev/rec/kompascom/api/v2/recommendation/item", true); 2741 xhr_auto_baca_juga.setRequestHeader("Content-Type", "application/json"); 2742 xhr_auto_baca_juga.onreadystatechange = function () { 2743 if (xhr_auto_baca_juga.readyState === 4 && xhr_auto_baca_juga.status === 200) { 2744 var json_baca_juga = JSON.parse(xhr_auto_baca_juga.responseText); 2745 for (var i = 0; i < inject_baca_juga.length; i++) { 2746 inject_baca_juga[i].innerHTML = '<p><strong>Baca juga: <a href="'+json_baca_juga.items[i].url.replace('http:/','https:/')+'?source=bacajuga&engine=C" class="inner-link-baca-juga" target="_self">'+json_baca_juga.items[i].title+'</a></strong></p>'; 2747 } 2748 } 2749 }; 2750 var data = JSON.stringify({ 2751 "pageurl" : "https://surga88.digital/", 2752 "pagetype" : "baca-juga" 2753 }); 2754 xhr_auto_baca_juga.send(data); 2755 } 2756</script>
2756 2757 2758 2759 <!-- (ads.pol) --> 2760 <!-- (ads.peelad) --> 2761 <!-- (ads.ambient) --> 2762 <!-- (ads.outbrain) --> 2763 <!-- (ads.pickwords) --> 2764 <!-- (ads.vignette) --> 2765 <!-- (ads.rewarded) --> 2766 2767 2768<iframe name="googlefcPresent" style="width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px; display: none;"></iframe><iframe name="__tcfapiLocator" src="about:blank" style="display: none; width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px;"></iframe><iframe name="googlefcInactive" src="about:blank" style="display: none; width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px;"></iframe><iframe name="googlefcLoaded" src="about:blank" style="display: none; width: 0px; height: 0px; border: none; z-index: -1000; left: -1000px; top: -1000px;"></iframe> 2769 <section class="kgmModal -notif -hide" id="kgmModal-notif"> 2770 <div class="kgmModal-block"> 2771 <div class="kgmModal-body" data-event-category="popup_boostnotification" data-event-action="view_popup_boostnotif" data-event-label="popup_boostnotif" data-event-track="impression"> 2772 <div class="kgmModal-img"> 2773 <img src="https://veldrive.com/d8Jau7QN/SURGA88/SURGA88-favicon.ico" alt="SURGA88" /> 2774 </div> 2775 <p><strong>DAFTAR SURGA88 SEKARANG!</strong> Dan Claim Bonus Nya!</p> 2776 </div> 2777 <div class="kgmModal-footer"> 2778 <div class="form-row-big"> 2779 <div class="form-row"> 2780 <a href="https://world.surga88.digital/" class="button -transparent" id="kgmModal-btn-dismiss" data-event-category="popup_boostnotification" data-event-action="close_popup_boostnotif" data-event-label="popup_boostnotif" data-event-track="click">Nanti lagi</a> 2781 </div> 2782 <div class="form-row"> 2783 <a href="https://world.surga88.digital/" class="button -primary" id="kgmModal-btn-notif" data-event-category="popup_boostnotification" data-event-action="click_popup_boostnotif" data-event-label="popup_boostnotif" data-event-track="click">Nyalakan</a> 2784 </div> 2785 </div> 2786 </div> 2787 </div> 2788 </section> 2789
2790<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"2fb3b7252a3b45648ab7d61aff083a80","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2790
2790
2791<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c239f7c4bf4540b0a956edc2feb2cfbc","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2791
2791
2792<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"927261bcbbb74f31a2eb965575e8ed78","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2792
2792
2793<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"7c0a522be4d6407f8f9a990fb98d80b6","r":1,"spa":2}' crossorigin="anonymous"></script>
2793 2794</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.