PageSourceSearch

https://www.kotobee.com/

html kotobee.com collected 2026-10-02 02:33:13 UTC 182,654 bytes, 1,601 lines download raw bytes

1<!DOCTYPE html>
2<html ng-app="web.Kotobee" lang="en">
3<head>
4
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594491975",accountID:"2714385",trustKey:"2714385",xpid:"VgEGVVVbDRAFV1FVAgAGVVU=",licenseKey:"NRJS-99a8dc9967559d8d1b3",applicationID:"530751131",browserID:"594491975"};;/*! For license information please see nr-loader-spa-1.323.0.min.js.LICENSE.txt */
6(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
6e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
6const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
6if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
6o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
6(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
6;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>
6{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-ORjtmy+nQMgxbu0os8+oTRa5sPzbinyuWSvpZrrstVLIaHofRRlfODdH+oUmkIgeQpM+vPf3vG/4RzvCsFVh1A==",249:"sha512-o7+K6xC0z3TqynjVxpd+jgiSgqy8rrPeRcUSqt5J0Rqg5Su5CycLMYfpwiM3WBCHiNDrG5aZoXJQ6HRc335XYQ==",212:"sha512-kRvBt1IYQDBnClTEWNaE8sDFqbXXM3Vdyf972Uf4MFbJxl7u3KmdO+jdB1H4achPEoT9YtNXHswaESey6sCH0A==",238:"sha512-U5EGmyYbFVR2UMNAuZJ7fTgVVtPa5b8RPMySDwXo7z3frRdkUJ2x1VAQTLQCeBab8VlGVGRV8FiSHIn/pwN72A=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
6ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
6{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
6null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
6dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
6imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
6return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
6!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
6if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
6);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
6class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
6h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
6
7    <meta name="viewport" content="initial-scale=1, maximum-scale=6, width=device-width">
8    <meta name="keywords" content="interactive ebooks, create ebooks, ebooks, ebook creator, ebook editor, epub software, epub creator, epub reader"/>
9    <meta name="description" content="Kotobee is an interactive ebook creation software and digital publishing platform. Create and publish ebooks for Android, iPad, iPhone, HTML5, desktop, SCORM, LTI, and more!"/>
10    <meta name="copyright" content="Vijua 2026"/>
11    <meta name="abstract" content="Kotobee is an interactive ebook creation software and digital publishing platform. Create and publish ebooks for Android, iPad, iPhone, HTML5, desktop, SCORM, LTI, and more!"/>
12
13    <meta property="og:title" content="Kotobee - Interactive Ebook Creation Software &amp; Digital Publishing Platform"/>
14    <meta property="og:description" content="Kotobee is a platform providing interactive ebook creators and solutions suiting any individual or organizational needs"/>
15    <meta property="og:url" content="https://www.kotobee.com"/>
16    <meta property="og:site_name" content="Kotobee"/>
17    <meta property="og:type" content="product"/>
18    <meta property="og:image" content="https://www.kotobee.com/img/web/logo/logo230.jpg"/>
19    <meta property="og:image:type" content="image/jpeg">
20
21    <link rel="image_src" type="image/jpeg" href="/img/web/logo/logo230.jpg"/>
22
23    <link rel="alternate" href="https://www.kotobee.com" hreflang="en" />
24    <link rel="alternate" href="https://www.kotobee.com/ar" hreflang="ar" />
25    <link rel="alternate" href="https://www.kotobee.com/fr" hreflang="fr" />
26    <link rel="alternate" href="https://www.kotobee.com/es" hreflang="es" />
27
28    <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/img/web/logo/favicon.ico">
29    <link rel="shortcut icon" type="image/x-icon" href="/img/web/logo/favicon.ico"/>
30
31    <meta name="google-signin-client_id" content="775376548114-56u9enncf5eau6d84l1qkr4onunuhp03.apps.googleusercontent.com">
32
33        
33<script type="application/ld+json">
34            {
35                "@context": "https://schema.org",
36                "@type": "Organization",
37                "name": "Kotobee",
38                "url": "https://www.kotobee.com/",
39                "logo": "https://www.kotobee.com/img/web/logo/normal.png",
40                "description": "Kotobee is an interactive ebook creation software and digital publishing platform. It offers robust tools for creating, managing, and distributing multimedia-rich ebooks, making reading an engaging and interactive experience.",
41                "address": {
42                    "@type": "PostalAddress",
43                    "streetAddress": "Building 213 Str 10",
44                    "addressLocality": "5th District October City",
45                    "addressRegion": "Cairo",
46                    "addressCountry": "EG"
47                },
48                "contactPoint": {
49                    "@type": "ContactPoint",
50                    "email": "[email protected]"
51                },
52                "sameAs": [
53                    "https://www.facebook.com/kotobee",
54                    "https://x.com/Kotobee",
55                    "https://www.youtube.com/c/kotobee",
56                    "https://www.linkedin.com/company/kotobee"
57                ]
58            }
59        </script>
59
60    
61    <title>Kotobee - Interactive Ebook Creation Software &amp; Digital Publishing Platform</title>
62
63        
64    <link rel="stylesheet" href="/css/home.min.css?c=6731" />
65
66    
67    <!-- Global site tag (gtag.js) -->
68        
69    <meta name="facebook-domain-verification" content="y9a352wvc2s9l0ls7e0xv8nortsfz0" />
70</head>
71
72<body ng-controller="GlobalCtrl" ng-init="init()" ng-cloak class="en">
73
74<div id="home" ng-controller="HomeCtrl" ng-init="init()">
75
76    <div class="fold5 v2">
77    <div id="banner">
78         
79
80 
81 
82    
83        
84
85<div class="menu">
86    <div class="inner ">
87        <a href="/en" class="logo">
88            <img src="/img/web/logo/inverse-tm.png" alt="logo">
89        </a>
90        <div class="items hidden-md hidden-sm hidden-xs">
91            <div ng-include="'templates/menu'"></div>
92        </div>
93                <a href="#" class="menuBtn visible-md-block visible-sm-block visible-xs-block" ng-click="site.showMobileMenu=!site.showMobileMenu" aria-label="Menu">
94            <span class="icon icon-menu"></span>
95        </a>
96        <div class="langSubMenu mobile visible-md-block visible-sm-block visible-xs-block" ng-include="'templates/languages'"></div>
97    </div>
98    <div class="mobileMenu visible-md-block visible-sm-block visible-xs-block" ng-if="site.showMobileMenu">
99        <div ng-include="'templates/mobileMenu'"></div>
100    </div>
101    
102</div>
103
104<div class="overlayMenu" ng-class="site.showOverlayMobileMenu?'expanded':''">
105    <div class="inner">
106        <a href="/en" class="logo">
107            <img src="/img/web/logo/normal.png" alt="logo">
108        </a>
109        <div class="items hidden-md hidden-sm hidden-xs">
110            <div ng-include="'templates/menu'"></div>
111        </div>
112                <a href="#" class="menuBtn visible-md-block visible-sm-block visible-xs-block" ng-click="site.showOverlayMobileMenu=!site.showOverlayMobileMenu" aria-label="Menu">
113            <span class="icon icon-menu"></span>
114        </a>
115        <div class="langSubMenu mobile visible-md-block visible-sm-block visible-xs-block" ng-include="'templates/languages'"></div>
116    </div>
117    <div class="mobileMenu visible-md-block visible-sm-block visible-xs-block" ng-if="site.showOverlayMobileMenu">
118        <div ng-include="'templates/mobileMenu'"></div>
119    </div>
120</div>
121
122<script type="text/ng-template" id="templates/menu">
123    <div>
124                <div class="productsSubMenu">
125            <a class="item" href="#" ng-click="toggleSubMenu($event)">Products <span class="caret"></span></a>
126            <div class="expanded">
127                <div class="col-xs-6">
128                    <div class="row">
129                        <a href="/en/products/author">
130                            <img src="/img/web/logo/author/icon.png" class="floatLeft" alt=""> 
131                            <div>
132                                <p>Kotobee Author <span class="popular">Popular</span></p>
133                                <span>Create beautiful EPUB-based interactive ebooks that run across all devices and platforms. Choose the plan that fits your needs. Start for free, upgrade anytime.</span>
134                            </div>
135                        </a>
136                        <a href="/en/products/reader">
137                            <img src="/img/web/logo/reader/icon.png" class="floatLeft" alt=""> 
138                            <div>
139                                <p>Kotobee Reader</p>
140                                <span>Download Kotobee Reader, a free ebook reader for PC &amp; Mac. Enjoy interactive EPUBs, offline reading, and customizable settings for a personalized reading experience.</span>
141                            </div>
142                        </a>
143                        <a href="/en/miniapps">
144                            <img src="/img/web/logo/mini-apps/icon.png" class="floatLeft" alt="">
145                            <div>
146                                <p>Kotobee Mini-apps</p>
147                                <span>Add additional functionality to your ebooks through creative apps and widgets.</span>
148                            </div>
149                        </a>
150                        <a href="/en/products/narrator">
151                            <img src="/img/web/logo/narrator/icon.png" class="floatLeft" style="width:34px" alt="">
152                            <div>
153                                <p>Kotobee Narrator <span class="popular">New</span></p>
154                                <span>Create professional-quality audiobooks by compiling MP3 chapters and customizing metadata.</span>
155                            </div>
156                        </a>
157                    </div>
158                </div>
159                <div class="col-xs-6">
160                    <div class="row">
161                        <a href="/en/products/library">
162                            <img src="/img/web/logo/library/icon.png" class="floatLeft" alt="">
163                            <div>
164                                <p>Kotobee Library <span class="popular">Popular</span></p>
165                                <span>Create secure digital bookshelves with full user access control and powerful management tools.</span>
166                            </div>
167                        </a>
168                        <a href="/en/products/cloud">
169                            <img src="/img/web/logo/cloud/icon.png" class="floatLeft" alt="">
170                            <div>
171                                <p>Kotobee Cloud</p>
172                                <span>Host your ebooks securely online with advanced access control and high-security DRM for controlled distribution.</span>
173                            </div>
174                        </a>
175                        <a href="https://books.kotobee.com/">
176                            <img src="/img/web/logo/kbooks/icon.png" class="floatLeft" alt="Kotobee books">
177                            <div>
178                                <p>Kotobee Books</p>
179                                <span>Publish and sell your ebooks directly through our online ebook store, reaching readers worldwide.</span>
180                            </div>
181                        </a>
182                                            </div>
183                </div>
184            </div>
185        </div>
186        <div class="servicesSubMenu">
187            <a class="item" href="#" ng-click="toggleSubMenu($event)">Services <span class="caret"></span></a>
188            <div class="expanded">
189                <div class="col-xs-6">
190                    <div class="row">
191                        <a href="/en/services">
192                            <div>
193                                <p>Overview</p>
194                                <span>Learn about the various services provided by Kotobee.</span>
195                            </div>
196                        </a>
197                        <a href="/en/services/consultation">
198                            <div>
199                                <p>Ebook consultation</p>
200                                <span>Consult with our experts on your ebook project.</span>
201                            </div>
202                        </a>
203                        <a href="/en/services/conversion">
204                            <div>
205                                <p>Ebook conversion</p>
206                                <span>Convert your manuscript into any ebook format.</span>
207                            </div>
208                        </a>
209                        <a href="/en/services/marketing">
210                            <div>
211                                <p>Ebook marketing</p>
212                                <span>Boost your ebook&#039;s visibility and captivate your audience.</span>
213                            </div>
214                        </a>
215                    </div>
216                </div>
217                <div class="col-xs-6">
218                    <div class="row">
219                        <a href="/en/services/design">
220                            <div>
221                                <p>Ebook design</p>
222                                <span>Transform your ebook into beautiful layouts.</span>
223                            </div>
224                        </a>
225                        <a href="/en/services/scripting">
226                            <div>
227                                <p>Ebook scripting</p>
228                                <span>Create custom interactive content for your ebook.</span>
229                            </div>
230                        </a>
231                        <a href="/en/services/publishing">
232                            <div>
233                                <p>Ebook publishing</p>
234                                <span>Publish your ebook on major publishing platforms.</span>
235                            </div>
236                        </a>
237                    </div>
238                </div>
239            </div>
240        </div>
241        <div class="solutionsSubMenu">
242            <a class="item" href="#" ng-click="toggleSubMenu($event)">Solutions <span class="caret"></span></a>
243            <div class="expanded">
244                <div class="col-xs-6">
245                    <div class="row">
246                        <a href="/en/solutions/k12">
247                            <div>
248                                <p>K12</p>
249                                <span>Enrich your K12 students&#039; learning experience.</span>
250                            </div>
251                        </a>
252                        <a href="/en/solutions/higher-education">
253                            <div>
254                                <p>Higher Education</p>
255                                <span>Enhance students&#039; learning with interactive textbooks.</span>
256                            </div>
257                        </a>
258                    </div>
259                </div>
260                <div class="col-xs-6">
261                    <div class="row">
262                        <a href="/en/solutions/corporate-training">
263                            <div>
264                                <p>Corporate Training</p>
265                                <span>Create interactive training courses for your employees.</span>
266                            </div>
267                        </a>
268                        <a href="/en/solutions/digital-publishing">
269                            <div>
270                                <p>Digital Publishing</p>
271                                <span>Turn your documents into interactive digital publications.</span>
272                            </div>
273                        </a>
274                    </div>
275                </div>
276            </div>
277        </div>
278        <a class="item" href="/en/pricing">Pricing</a>
279        
280        <a class="item boxed scheduleDemoBtn" href="/en/livedemo">Schedule Demo</a>
281
282        <div class="resourcesSubMenu">
283            <a class="item" href="#" ng-click="toggleSubMenu($event)">Resources <span class="caret"></span></a>
284            <div class="expanded">
285                <div class="col-xs-6">
286                    <div class="row">
287                        <a href="/en/case-studies">
288                            <div>
289                                <p>Case Studies</p>
290                                <span>Discover how institutions successfully use Kotobee for education and publishing.</span>
291                            </div>
292                        </a>
293                        <a href="/academy">
294                            <div>
295                                <p>Kotobee Academy</p>
296                                <span>Access courses and tutorials to master Kotobee&#039;s ebook creation and publishing tools.</span>
297                            </div>
298                        </a>
299                        <a href="/files/docs/education-whitepaper.pdf">
300                            <div>
301                                <p>White Paper</p>
302                                <span>Get the complete overview of Kotobee products and their features in one PDF.</span>
303                            </div>
304                        </a>
305                        <a href="/en/research-and-publications">
306                            <div>
307                                <p>Research &amp; Publications</p>
308                                <span>Explore the studies and publications that recognize Kotobee&#039;s contribution to digital learning.</span>
309                            </div>
310                        </a>
311                    </div>
312                </div>
313                <div class="col-xs-6">
314                    <div class="row">
315                        <a href="https://blog.kotobee.com/">
316                            <div>
317                                <p>Blog</p>
318                                <span>Stay updated with trends, insights, and tips in ebook creation, elearning, and digital publishing.</span>
319                            </div>
320                        </a>
321                        <a href="https://support.kotobee.com">
322                            <div>
323                                <p>Help Center</p>
324                                <span>Find answers and support to get the most out of Kotobee.</span>
325                            </div>
326                        </a>
327                        <a href="/en/samples">
328                            <div>
329                                <p>Sample Ebooks</p>
330                                <span>Explore interactive ebook examples created with Kotobee.</span>
331                            </div>
332                        </a>
333                        <a href="/en/templates">
334                            <div>
335                                <p>Ebook Templates</p>
336                                <span>Browse 80+ professionally designed templates for education, business, and creative publishing.</span>
337                            </div>
338                        </a>
339                    </div>
340                </div>
341            </div>
342        </div>
343        <a class="item" href="/en/contact">Contact</a>
344        <div class="langSubMenu" ng-include="'templates/languages'"></div>
345                    <a class="item" href="/login">Login</a>
346            </div>
347 </script>
347
348
349
350<script type="text/ng-template" id="templates/mobileMenu">
351    <div>
352                            <a class="item" href="/login">User Login</a>
353                <div class="productsSubMenu">
354            <a class="item" href="#" ng-click="toggleSubMenu($event)">Products <span class="caret"></span></a>
355            <div class="expanded">
356                <a href="/en/products/author"><img src="/img/web/logo/author/icon.png" alt=""> Kotobee Author</a>
357                <a href="/en/products/reader"><img src="/img/web/logo/reader/icon.png" alt=""> Kotobee Reader</a>
358                <a href="/en/products/cloud"><img src="/img/web/logo/cloud/icon.png" alt=""> Kotobee Cloud</a>
359                <a href="/en/products/library"><img src="/img/web/logo/library/icon.png" alt=""> Kotobee Library</a>
360                <a href="/en/miniapps"><img src="/img/web/logo/mini-apps/icon.png" alt=""> Kotobee Mini-apps</a>
361                <a href="https://books.kotobee.com/"><img src="/img/web/logo/kbooks/icon.png" alt=""> Kotobee Books</a>
362                <a href="/en/products/narrator"><img src="/img/web/logo/narrator/icon.png" style="width:34px" alt=""> Kotobee Narrator</a>
363                            </div>
364        </div>
365        <div class="servicesSubMenu">
366            <a class="item" href="#" ng-click="toggleSubMenu($event)">Services <span class="caret"></span></a>
367            <div class="expanded">
368                <a href="/en/services">Overview</a>
369                <a href="/en/services/consultation">Ebook consultation</a>
370                <a href="/en/services/conversion">Ebook conversion</a>
371                <a href="/en/services/design">Ebook design</a>
372                <a href="/en/services/scripting">Ebook scripting</a>
373                <a href="/en/services/publishing">Ebook publishing</a>
374                <a href="/en/services/marketing">Ebook marketing</a>
375            </div>
376        </div>
377        <div class="solutionsSubMenu">
378            <a class="item" href="#" ng-click="toggleSubMenu($event)">Solutions <span class="caret"></span></a>
379            <div class="expanded">
380                <a href="/en/solutions/k12">K12</a>
381                <a href="/en/solutions/higher-education">Higher Education</a>
382                <a href="/en/solutions/corporate-training">Corporate Training</a>
383                <a href="/en/solutions/digital-publishing">Digital Publishing</a>
384            </div>
385        </div>
386        <a class="item" href="/en/pricing">Pricing</a>
387        
388        <a class="item boxed scheduleDemoBtn" href="/en/livedemo">Schedule Demo</a>
389
390        <div class="resourcesSubMenu">
391            <a class="item" href="#" ng-click="toggleSubMenu($event)">Resources <span class="caret"></span></a>
392            <div class="expanded">
393                <a href="/en/case-studies">Case Studies</a>
394                <a href="/academy">Kotobee Academy</a>
395                <a href="https://blog.kotobee.com/">Blog</a>
396                <a href="https://support.kotobee.com">Help Center</a>
397                <a href="/files/docs/education-whitepaper.pdf">
398                    White Paper
399                </a>
400                <a href="/en/samples">Sample Ebooks</a>
401                <a href="/en/research-and-publications">Research &amp; Publications</a>
402                <a href="/en/templates">Ebook Templates</a>
403            </div>
404        </div>
405
406        <a class="item" href="/en/contact">Contact</a>
407        <div class="langSubMenu" ng-include="'templates/languages'"></div>
408    </div>
409 </script>
409
410
411
412 
412<script type="text/ng-template" id="templates/languages">
413    <a class="item" href="#" ng-click="toggleSubMenu($event)" aria-label="Language">
414        <span class="flag-icon flag-icon-gb"></span> <span class="caret"></span>
415    </a>
416
417            
418    <div class="expanded flip">
419        <a href="/en" ng-class="('en'=='en')?'current':''"><span class="flag-icon flag-icon-gb"></span> English</a>
420        <a href="/fr" ng-class="('fr'=='en')?'current':''"><span class="flag-icon flag-icon-fr"></span> Français</a>
421        <a href="/es" ng-class="('es'=='en')?'current':''"><span class="flag-icon flag-icon-es"></span> Español</a>
422        <a href="/ar" ng-class="('ar'=='en')?'current':''"><span class="flag-icon flag-icon-sa"></span> العربية</a>
423    </div>
424 </script>
424
425
426<div id="livedemoPopup" xclass="popup">
427    <div class="inner">
428        <div class="customInfo">
429            <div class="langSelection">
430                <div class="forDemo selectLabel">I&#039;d like a demo in</div>
431                <div class="forMeeting selectLabel">I&#039;d like a meeting in</div>
432
433                <select id="inputLang" class="langs">
434                    <option value="en" selected="selected">English</option>
435                                        <option value="es">Español</option>
436                    <option value="ar">العربية</option>
437                </select>
438            </div>
439            <div class="agentSelection">
440                <div id="agentBtnContainer">
441                    <div class="btn-group" role="group">
442                        <button type="button" data-agent="ziad" class="_en _ar ziad active agentBtn btn btn-default">
443                            <img src="/img/web/livedemo/agentMale.png" alt="Muhammad">
444                            <div class="agentLabel">Agent</div>
445                            <div class="agentName">
446                                <span class="arLabel">زياد مجدي</span>
447                                <span>Ziad Magdy</span>
448                            </div>
449                            <div class="agentDesc">Different timings available</div>
450                        </button>
451                        <button type="button" data-agent="nadeen" class="_en _ar _es nadeen agentBtn btn btn-default">
452                            <img src="/img/web/livedemo/agentFemale.png" alt="Nadeen Amr">
453                            <div class="agentLabel">Agent</div>
454                            <div class="agentName">
455                                <span class="arLabel">نادين عمرو</span>
456                                <span>Nadeen Amr</span>
457                            </div>
458                            <div class="agentDesc">Different timings available</div>
459                        </button>
460                        <a href="/en/livedemo" class="_en _ar _es customTimingBtn btn btn-default">
461                            <p class="dontSuitYou">Agent timings don&#039;t suit you?</p>
462                            <span class="sendPreferredTiming">Send your preferred timing!</span>
463                        </a>
464                    </div>
465                </div>
466            </div>
467        </div>
468        <div id="liveDemoFrame">
469            <span class="loading">
470                <span class="icon icon-spinner icon-spin vAlignCenter"></span>
471                <div class="hSpace2"></div>
472                Loading available times
473            </span>
474            <iframe width="100%" height="100%" scrolling="no" frameborder="0"></iframe>
475        </div>
476        <a href="#" class="popupCloseBtn">Close</a>
477    </div>
478</div>        <div class="fullContainer">
479            <div class="container">
480                <div class="kbInner">
481                    <h1 class="mainTitle">Create interactive ebooks in <strong>any</strong> format</h1>
482                    <h2 class="secondaryTitle">Kotobee allows you to create interactive ebooks, export them in multiple formats, and deliver them securely to your users.</h2>
483
484                    <div class="ebookSample">
485                        <div class="trailerPlayBtn">
486                            <span class="icon icon-play"></span>
487                        </div>
488                                                                            <img class="training" src="/img/web/home/kotobeeSample.jpg" alt="Kotobee ebook Sample">
489                        
490                    </div>
491
492                    <form method="post" action="/en/register" class="form neutral" xid="signup-form">
493                                                <input class="emailTxt" type="email" ng-readonly="registering" name="email" placeholder="Email" v-on:keyup.enter="register('signup-form',$event)">
494                        <input class="phoneTxt" type="text" name="phone" placeholder="Phone">
495                        <input type="hidden" name="action" value="newRedirect">
496                        <input type="hidden" name="subscribe" value="true">
497                        <input type="hidden" name="ref" class="ref" value="">
498                        <input type="hidden" name="aff" class="aff" value="">
499                        <input type="hidden" name="lang" value="en">
500                        <input type="hidden" name="ssoprovider" class="ssoprovider" value="">
501                        <input type="hidden" name="ssotoken" class="ssotoken" value="">
502                        <input type="hidden" name="name" class="name" value="">
503                        <input type="hidden" name="source" value="From landing page (fold)">
504                        <button ng-disabled="registering" class="btn btn-danger kb registerBtn" v-on:click="register('signup-form',$event)">
505                            <span ng-if="!registering" class="icon icon-circle-arrow-down availableIcon"></span>
506                            <span ng-if="registering" class="icon icon-spinner icon-spin busyIcon"></span>
507                            Get your free license
508                        </button>
509
510                                                                    
511<div class="ssoWrapper compact light">
512        <p class="ssoWrapper__or">or</p>
513        <button type="button" class="ssoWrapper--googleBtn" aria-label="Google">
514        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.47 309.408L95.648 375.94l-65.139 1.378C11.042 341.211 0 299.9 0 256c0-42.451 10.324-82.483 28.624-117.732h.014L86.63 148.9l25.404 57.644c-5.317 15.501-8.215 32.141-8.215 49.456.002 18.792 3.406 36.797 9.651 53.408z" fill="#fbbb00"/><path d="M507.527 208.176C510.467 223.662 512 239.655 512 256c0 18.328-1.927 36.206-5.598 53.451-12.462 58.683-45.025 109.925-90.134 146.187l-.014-.014-73.044-3.727-10.338-64.535c29.932-17.554 53.324-45.025 65.646-77.911h-136.89V208.176h138.887 107.012 0z" fill="#518ef8"/><path d="M416.253 455.624l.014.014C372.396 490.901 316.666 512 256 512c-97.491 0-182.252-54.491-225.491-134.681l82.961-67.91c21.619 57.698 77.278 98.771 142.53 98.771 28.047 0 54.323-7.582 76.87-20.818l83.383 68.262z" fill="#28b446"/><path d="M419.404 58.936l-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z" fill="#f14336"/></svg>
515        <span>Continue with Google</span>
516    </button>
517            <div class="clear"></div>
518        <p class="ssoWrapper__status"></p>
519</div>
520                        
521                        <div class="formFooter">
522                            <strong>Risk free</strong> - No credit card required.
523                        </div>
524                        
525
526                    </form>
527
528
529
530                    <div class="cloud">
531                        <h3>Provide your ebooks in a <strong>branded library app</strong>.<!--br/-->
532                            Control user access over your ebooks
533                        </h3>
534                        <a href="/en/livedemo" class="scheduleDemoBtn btn btn-primary kb">
535                            <span class="icon icon-calendar"></span> Book your live demo
536                        </a>
537                    </div>
538
539                    <div class="bgAnim">
540                        <div class="curve curve1">
541                        </div>
542                        <div class="curve curve2">
543                        </div>
544                        <div class="overlay">
545                        </div>
546                    </div>
547                </div>
548
549            </div>
550        </div>
551        
552<div class="kb section socialProof">
553    <div class="kbInner zeroPadding largeScreen">
554        <div class="col-lg-5 col-xs-6 xcol-xs-6 logos left zeroPaddingL zeroPaddingR">
555            <!--div><img data-src="/img/web/home/clients/fold/nfl.gif" alt="NFL"/></div-->
556            <div><img data-src="/img/web/home/clients/fold/nissan.gif" width="59" height="50" alt="Nissan"/></div>
557            <div><img data-src="/img/web/home/clients/fold/cisco.gif"  width="65" height="34" alt="Cisco"/></div>
558            <div><img data-src="/img/web/home/clients/fold/oracle.gif" width="132" height="18" alt="Oracle"/></div>
559            <div><img data-src="/img/web/home/clients/fold/undp.gif" width="86" height="42" alt="UNDP"/></div>
560                        <div><img data-src="/img/web/home/clients/fold/grameen.gif" width="53" height="47" alt="Grameen Foundation"/></div>
561        </div>
562        <p class="col-lg-2 visible-lg zeroPaddingL zeroPaddingR">
563            <a href="/en/customers" title="Join our growing list of customers">Trusted by <strong>over 300,000 customers</strong> across the globe</a>
564        </p>
565        <div class="col-lg-5 col-xs-6 logos right xzeroPaddingL zeroPaddingR">
566            <div><img data-src="/img/web/home/clients/fold/pearson.gif" width="130" height="46" alt="Pearson"/></div>
567            <div><img data-src="/img/web/home/clients/fold/harvard.gif" width="152" height="41" alt="Harvard University"/></div>
568            <div><img data-src="/img/web/home/clients/fold/yale.gif" width="55" height="55" alt="Yale University"/></div>
569            <div><img data-src="/img/web/home/clients/fold/minnesota.gif" width="72" height="42" alt="University of Minnesota"/></div>
570            <div><img data-src="/img/web/home/clients/fold/missouri.gif" width="43" height="49" alt="University of Missouri"/></div>
571                                </div>
572    </div>
573    <div class="kbInner zeroPadding smallScreen">
574        <div class="col-xs-12 logos">
575            <div><img data-src="/img/web/home/clients/fold/harvard.gif" width="137" height="37" alt="Harvard University"/></div>
576                        <div><img data-src="/img/web/home/clients/fold/nissan.gif" width="53" height="45" alt="Nissan"/></div>
577            <!--div><img data-src="/img/web/home/clients/fold/nfl.gif" alt="NFL"/></div-->
578            <div><img data-src="/img/web/home/clients/fold/cisco.gif" width="58" height="30" alt="Cisco"/></div>
579            <div><img data-src="/img/web/home/clients/fold/oracle.gif" width="119" height="16" alt="Oracle"/></div>
580            <div><img data-src="/img/web/home/clients/fold/pearson.gif" width="117" height="41" alt="Pearson"/></div>
581            <div><img data-src="/img/web/home/clients/fold/yale.gif" width="49" height="49" alt="Yale University"/></div>
582            <div><img data-src="/img/web/home/clients/fold/minnesota.gif" width="72" height="38" alt="University of Minnesota"/></div>
583            <div><img data-src="/img/web/home/clients/fold/missouri.gif" width="39" height="44" alt="University of Missouri"/></div>
584                                            </div>
585    </div>
586</div>            </div>
587    
588    </div>
589<div class="clear"></div>
590    <div id="body" class="clear clearfix">
591
592            <div class="kb section spread wide author product" itemscope itemtype="https://schema.org/SoftwareApplication">
593                <meta itemprop="name" content="Kotobee Author" />
594                <meta itemprop="applicationCategory" content="productivity,education" />
595                <meta itemprop="applicationSubCategory" content="authoring,ebooks" />
596                <meta itemprop="applicationSuite" content="Kotobee" />
597                <meta itemprop="operatingSystem" content="Windows, Mac" />
598                <meta itemprop="downloadUrl" content="/download/author/win64" />
599                <meta itemprop="featureList" content="/en/products/author/features" />
600                <meta itemprop="releaseNotes" content="https://support.kotobee.com/en/support/solutions/folders/8000087304" />
601                <meta itemprop="screenshot" content="/img/web/products/author/screens/customize.png" />
602                <meta itemprop="softwareHelp" content="https://support.kotobee.com" />
603                <meta itemprop="author" content="Vijua" />
604                <meta itemprop="thumbnailUrl" content="/img/web/logo/author/large.png" />
605
606                <div class="kbInner">
607                                        <div>
608                                                    <div class="productLogo">
609                                <a href="/en/products/author">
610                                    <img data-src="/img/web/logo/author/large.png" alt="Kotobee Author">
611                                </a>
612                            </div>
613                            <h3 itemprop="about">Create and edit remarkable interactive ebooks with Kotobee&#039;s award-winning interactive ebook software and EPUB creator. </h3>
614                            <div class="alignCenter">
615                                <a id="download"></a>
616                                <a href="/download/author/win64" class="lazyLoad win dlBtn" onclick="kTrack('downloadAuthorWin')"></a>
617                                <a href="/download/author/mac" class="lazyLoad mac dlBtn" onclick="kTrack('downloadAuthorMac')"></a>
618                                <a href="/download/author/deb" class="lazyLoad deb dlBtn" onclick="kTrack('downloadAuthorDeb')"></a>
619                            </div>
620                            <div class="vSpace10"></div>
621                                                                            <div class="screenshot">
622                            <div class="screenshotInner" id="authorAnimation">
623                                <img class="dontResize cursor noResize" src="/img/web/home/products/author/cursor.png" alt="Kotobee Author"/>
624                                <img class="dontResize bar" src="/img/web/home/products/author/bar.png" alt="Kotobee Author"/>
625                                <div class="mask">
626                                    <img class="dontResize content" src="/img/web/home/products/author/content.jpg" alt="Kotobee Author"/>
627                                </div>
628                                <img class="dontResize editScreen noResize" src="/img/web/home/products/author/editScreen.gif" alt="Kotobee Author"/>
629                                <img class="dontResize customizeScreen" src="/img/web/home/products/author/customizeScreen.gif" alt="Kotobee Author"/>
630                                <img class="dontResize exportScreen1" src="/img/web/home/products/author/exportScreen1.gif" alt="Kotobee Author"/>
631                                <img class="dontResize exportScreen2" src="/img/web/home/products/author/exportScreen2.gif" alt="Kotobee Author"/>
632                            </div>
633                        </div>
634                        <div class="clear"></div>
635                        <div class="endMenu">
636                            <ul>
637                                <li><a href="/en/products/author">Overview</a></li>
638                                <li><a href="/en/products/author/features">Features</a></li>
639                                <li><a href="/en/products/author/export">Export Formats</a></li>
640                                <li><a href="/en/pricing">Pricing</a></li>
641                                <li><a href="https://www.kotobee.com/blog/ibooks-author-vs-kotobee-author/">Compare with iBooks Author</a></li>
642                                                            </ul>
643                        </div>
644                    </div>
645
646                    <div class="info">
647
648                                
649<div class="footerActionBtns midpage">
650
651    <div class="actionBtns row">
652        <div class="col-xs-12">
653                        <form method="post" action="/en/register" class="form neutral" xid="home-mid-signup-form" v-bind:class="[registering?'registering':'']">
654                                <input class="emailTxt" type="email" v-bind:readonly="registering" name="email" placeholder="Email" v-on:keyup.enter="register('home-mid-signup-form',$event)">
655                <input class="phoneTxt" type="text" name="phone" placeholder="Phone">
656                <input type="hidden" name="action" value="newRedirect">
657                <input type="hidden" name="subscribe" value="true">
658                <input type="hidden" class="ref" name="ref" value="">
659                <input type="hidden" class="aff" name="aff" value="">
660                <input type="hidden" name="lang" value="en">
661                <input type="hidden" name="ssoprovider" class="ssoprovider" value="">
662                <input type="hidden" name="ssotoken" class="ssotoken" value="">
663                <input type="hidden" name="name" class="name" value="">
664                <input type="hidden" name="source" value="From home midpage author. Path: /">
665                <div class="inlineBlock alignLeft vAlignCenter">
666                    <button v-bind:disabled="registering" class="btn btn-danger kb registerBtn" v-on:click="register('home-mid-signup-form',$event)">
667                        <span v-if="!registering" class="fa fa-arrow-circle-down availableIcon"></span>
668                        <span v-if="registering" class="fa fa-circle-o-notch fa-spin busyIcon"></span>
669                                                    Get your free license
670                                            </button>
671                                        </div>
672                <input type="submit" value="submit" class="hide" />
673                
674                                                
675<div class="ssoWrapper simple dark">
676        <p class="ssoWrapper__or">or</p>
677        <button type="button" class="ssoWrapper--googleBtn" aria-label="Google">
678        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.47 309.408L95.648 375.94l-65.139 1.378C11.042 341.211 0 299.9 0 256c0-42.451 10.324-82.483 28.624-117.732h.014L86.63 148.9l25.404 57.644c-5.317 15.501-8.215 32.141-8.215 49.456.002 18.792 3.406 36.797 9.651 53.408z" fill="#fbbb00"/><path d="M507.527 208.176C510.467 223.662 512 239.655 512 256c0 18.328-1.927 36.206-5.598 53.451-12.462 58.683-45.025 109.925-90.134 146.187l-.014-.014-73.044-3.727-10.338-64.535c29.932-17.554 53.324-45.025 65.646-77.911h-136.89V208.176h138.887 107.012 0z" fill="#518ef8"/><path d="M416.253 455.624l.014.014C372.396 490.901 316.666 512 256 512c-97.491 0-182.252-54.491-225.491-134.681l82.961-67.91c21.619 57.698 77.278 98.771 142.53 98.771 28.047 0 54.323-7.582 76.87-20.818l83.383 68.262z" fill="#28b446"/><path d="M419.404 58.936l-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z" fill="#f14336"/></svg>
679        <span>Sign up with Google account</span>
680    </button>
681            <div class="clear"></div>
682        <p class="ssoWrapper__status"></p>
683</div>
684                
685                <div class="formFooter">
686                                            
687                                        <div class="communicate">
688                        <button onclick="openChat(); return false;" class="inlineBlock">
689                            <span class="icon icon-chat"></span> Chat with a live agent
690                        </button>
691                        <button class="scheduleDemoBtn inlineBlock">
692                            <span class="icon icon-meeting"></span> Schedule a meeting
693                        </button>
694                    </div>
695                </div>
696
697            </form>
698            
699
700                    </div>
701    </div>
702</div>
703                    </div>
704                    <div class="clear"></div>
705
706                </div>
707            </div>
708
709            
710            <div class="kb section spread wide reader product reverse" itemscope itemtype="https://schema.org/SoftwareApplication">
711                <meta itemprop="name" content="Kotobee Reader" />
712                <meta itemprop="applicationCategory" content="utility,education,reader" />
713                <meta itemprop="applicationSubCategory" content="epub reader,ebook reader" />
714                <meta itemprop="applicationSuite" content="Kotobee" />
715                <meta itemprop="operatingSystem" content="Windows, Mac, Android, iOS" />
716                <meta itemprop="downloadUrl" content="/download/reader/win" />
717                <meta itemprop="featureList" content="/en/products/reader" />
718                <meta itemprop="screenshot" content="/img/web/products/reader/ui.jpg" />
719                <meta itemprop="softwareHelp" content="https://support.kotobee.com" />
720                <meta itemprop="author" content="Vijua" />
721                <meta itemprop="thumbnailUrl" content="/img/web/logo/reader/large.png" />
722                
723                <div class="kbInner">
724                                        <div class="alignCenter">
725                                                    <div class="productLogo">
726                                <a href="/en/products/reader">
727                                    <img data-src="/img/web/logo/reader/large.png" alt="author_reader">
728                                </a>
729                            </div>
730                            <h3 itemprop="about">Provide your users with interactive reading tools, through a standalone or embedded reader. </h3>
731                            <img data-src="/img/web/home/readerMock.png" alt="author_reader"/>
732                        <div class="clear"></div>
733                    </div>
734                        <div class="info">
735
736                            <div style="text-align:center">
737                                <a href="/download/reader/win" class="lazyLoad win dlBtn"></a>
738                                <a href="/download/reader/mac" class="lazyLoad mac dlBtn"></a>
739                                <br>
740                                <a href="https://play.google.com/store/apps/details?id=com.kotobee.readerapp&hl=en" class="lazyLoad andr dlBtn" target="_blank"></a>
741                                <a href="https://itunes.apple.com/us/app/kotobee-reader/id1109764395?mt=8" class="lazyLoad ios dlBtn" target="_blank"></a>
742                            </div>
743
744                        </div>
745                    <div class="clear"></div>
746                </div>
747            </div>
748
749            <div class="kb section spread wide cloud product" itemscope itemtype="https://schema.org/SoftwareApplication">
750                <meta itemprop="name" content="Kotobee Cloud" />
751                <meta itemprop="applicationCategory" content="utility,education" />
752                <meta itemprop="applicationSuite" content="Kotobee" />
753                <meta itemprop="operatingSystem" content="Windows, Mac" />
754                <meta itemprop="featureList" content="/en/products/cloud" />
755                <meta itemprop="screenshot" content="/img/web/products/cloud/cloudEbook.png" />
756                <meta itemprop="softwareHelp" content="https://support.kotobee.com" />
757                <meta itemprop="author" content="Vijua" />
758                <meta itemprop="thumbnailUrl" content="/img/web/logo/cloud/large.png" />
759
760                <div class="kbInner">
761                                        <div class="desc">
762                                                <div class="col-xs-12 col-sm-5 col-md-5">
763                            <div class="basic visible-sm">
764                                <div class="vSpace80"></div>
765                            </div>
766                            <div class="basic visible-md">
767                                <div class="vSpace80"></div>
768                                <div class="vSpace40"></div>
769                            </div>
770                            <div class="basic visible-lg">
771                                <div class="vSpace80"></div>
772                                <div class="vSpace40"></div>
773                            </div>
774
775                            <div class="productLogo">
776                                <a href="/en/products/cloud">
777                                    <img data-src="/img/web/logo/cloud/large.png" alt="Kotobee Cloud">
778                                </a>
779                            </div>
780                            <h3 itemprop="about">Connect your ebook to the cloud and control user access. Integrate with external systems. </h3>
781                            <div class="endMenu">
782                                <ul>
783                                    <li><a href="/en/products/cloud">Overview</a></li>
784                                    <li><a href="/en/pricing/cloud">Pricing</a></li>
785                                </ul>
786                            </div>
787                        </div>
788                        <div class="col-xs-12 col-sm-7 col-md-7 alignCenter">
789                            <img data-src="/img/web/home/mobSample.png" alt="Kotobee Cloud"/>
790                                                    </div>
791                        <div class="clear"></div>
792                    </div>
793                        <div class="info">
794
795                        </div>
796                    <div class="clear"></div>
797                </div>
798            </div>
799            <div class="kb section spread cloudBlue">
800                <div class="kbInner">
801                                    
802<div class="footerActionBtns trial">
803
804    <div class="actionBtns row">
805        <div class="col-xs-12">
806                        <form method="post" action="/en/register" class="form neutral" xid="signup-form" v-bind:class="[registering?'registering':'']">
807                                <input class="emailTxt" type="email" v-bind:readonly="registering" name="email" placeholder="Email" v-on:keyup.enter="register('signup-form',$event)">
808                <input class="phoneTxt" type="text" name="phone" placeholder="Phone">
809                <input type="hidden" name="action" value="newRedirect">
810                <input type="hidden" name="subscribe" value="true">
811                <input type="hidden" class="ref" name="ref" value="">
812                <input type="hidden" class="aff" name="aff" value="">
813                <input type="hidden" name="lang" value="en">
814                <input type="hidden" name="ssoprovider" class="ssoprovider" value="">
815                <input type="hidden" name="ssotoken" class="ssotoken" value="">
816                <input type="hidden" name="name" class="name" value="">
817                <input type="hidden" name="source" value="From home midpage cloud. Path: /">
818                <div class="inlineBlock alignLeft vAlignCenter">
819                    <button v-bind:disabled="registering" class="btn btn-danger kb registerBtn" v-on:click="register('signup-form',$event)">
820                        <span v-if="!registering" class="fa fa-arrow-circle-down availableIcon"></span>
821                        <span v-if="registering" class="fa fa-circle-o-notch fa-spin busyIcon"></span>
822                                                    Start your free trial
823                                            </button>
824                                        </div>
825                <input type="submit" value="submit" class="hide" />
826                
827                                                
828<div class="ssoWrapper simple light">
829        <p class="ssoWrapper__or">or</p>
830        <button type="button" class="ssoWrapper--googleBtn" aria-label="Google">
831        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.47 309.408L95.648 375.94l-65.139 1.378C11.042 341.211 0 299.9 0 256c0-42.451 10.324-82.483 28.624-117.732h.014L86.63 148.9l25.404 57.644c-5.317 15.501-8.215 32.141-8.215 49.456.002 18.792 3.406 36.797 9.651 53.408z" fill="#fbbb00"/><path d="M507.527 208.176C510.467 223.662 512 239.655 512 256c0 18.328-1.927 36.206-5.598 53.451-12.462 58.683-45.025 109.925-90.134 146.187l-.014-.014-73.044-3.727-10.338-64.535c29.932-17.554 53.324-45.025 65.646-77.911h-136.89V208.176h138.887 107.012 0z" fill="#518ef8"/><path d="M416.253 455.624l.014.014C372.396 490.901 316.666 512 256 512c-97.491 0-182.252-54.491-225.491-134.681l82.961-67.91c21.619 57.698 77.278 98.771 142.53 98.771 28.047 0 54.323-7.582 76.87-20.818l83.383 68.262z" fill="#28b446"/><path d="M419.404 58.936l-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z" fill="#f14336"/></svg>
832        <span>Sign up with Google account</span>
833    </button>
834            <div class="clear"></div>
835        <p class="ssoWrapper__status"></p>
836</div>
837                
838                <div class="formFooter">
839                                            30 day free trial - No credit card required
840                                        <div class="communicate">
841                        <button onclick="openChat(); return false;" class="inlineBlock">
842                            <span class="icon icon-chat"></span> Chat with a live agent
843                        </button>
844                        <button class="scheduleDemoBtn inlineBlock">
845                            <span class="icon icon-meeting"></span> Schedule a meeting
846                        </button>
847                    </div>
848                </div>
849
850            </form>
851            
852
853                    </div>
854    </div>
855</div>                </div>
856            </div>
857
858            <div class="kb section spread wide library product reverse" itemscope itemtype="https://schema.org/SoftwareApplication">
859                <meta itemprop="name" content="Kotobee Library" />
860                <meta itemprop="applicationCategory" content="utility,education" />
861                <meta itemprop="applicationSuite" content="Kotobee" />
862                <meta itemprop="operatingSystem" content="Windows, Mac" />
863                <meta itemprop="featureList" content="/en/products/library" />
864                <meta itemprop="screenshot" content="/img/web/products/library/features/branding/branding.jpg" />
865                <meta itemprop="softwareHelp" content="https://support.kotobee.com" />
866                <meta itemprop="author" content="Vijua" />
867                <meta itemprop="thumbnailUrl" content="/img/web/logo/library/large.png" />
868                <div class="kbInner">
869                                            <div>
870                                                    <div class="productLogo">
871                                <a href="/en/products/library">
872                                    <img data-src="/img/web/logo/library/large.png" alt="author_library">
873                                </a>
874                            </div>
875                            <h3 itemprop="about">Create secure digital bookshelves with full user access control and powerful management tools. </h3>
876                                                <div class="screenshot">
877                            <div class="screenshotInner" id="libraryAnimation">
878                                <img class="mobile" data-src="/img/web/home/products/library/mobile.png" alt="author_library"/>
879                                <div class="mask">
880                                    <div class="lazyLoad content"></div>
881                                </div>
882                                <img class="desktop dontResize" data-src="/img/web/home/products/library/desktop.png" alt="author_library"/>
883                            </div>
884                        </div>
885                        <div class="clear"></div>
886                        <div class="endMenu">
887                            <ul>
888                                <li><a href="/en/products/library">Overview</a></li>
889                                <li><a href="/en/pricing/library">Pricing</a></li>
890                                <li><a href="/en/livedemo" class="scheduleDemoBtn">
890Book your live demo</a></li>
891                            </ul>
892                        </div>
893                    </div>
894                    <div class="clear"></div>
895                </div>
896            </div>
897
898            <div class="kb section spread libraryPurple">
899                <div class="kbInner">
900                                    
901<div class="footerActionBtns trial">
902
903    <div class="actionBtns row">
904        <div class="col-xs-12">
905                        <form method="post" action="/en/register" class="form neutral" xid="signup-form" v-bind:class="[registering?'registering':'']">
906                                <input class="emailTxt" type="email" v-bind:readonly="registering" name="email" placeholder="Email" v-on:keyup.enter="register('signup-form',$event)">
907                <input class="phoneTxt" type="text" name="phone" placeholder="Phone">
908                <input type="hidden" name="action" value="newRedirect">
909                <input type="hidden" name="subscribe" value="true">
910                <input type="hidden" class="ref" name="ref" value="">
911                <input type="hidden" class="aff" name="aff" value="">
912                <input type="hidden" name="lang" value="en">
913                <input type="hidden" name="ssoprovider" class="ssoprovider" value="">
914                <input type="hidden" name="ssotoken" class="ssotoken" value="">
915                <input type="hidden" name="name" class="name" value="">
916                <input type="hidden" name="source" value="From home midpage cloud. Path: /">
917                <div class="inlineBlock alignLeft vAlignCenter">
918                    <button v-bind:disabled="registering" class="btn btn-danger kb registerBtn" v-on:click="register('signup-form',$event)">
919                        <span v-if="!registering" class="fa fa-arrow-circle-down availableIcon"></span>
920                        <span v-if="registering" class="fa fa-circle-o-notch fa-spin busyIcon"></span>
921                                                    Start your free trial
922                                            </button>
923                                        </div>
924                <input type="submit" value="submit" class="hide" />
925                
926                                                
927<div class="ssoWrapper simple light">
928        <p class="ssoWrapper__or">or</p>
929        <button type="button" class="ssoWrapper--googleBtn" aria-label="Google">
930        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.47 309.408L95.648 375.94l-65.139 1.378C11.042 341.211 0 299.9 0 256c0-42.451 10.324-82.483 28.624-117.732h.014L86.63 148.9l25.404 57.644c-5.317 15.501-8.215 32.141-8.215 49.456.002 18.792 3.406 36.797 9.651 53.408z" fill="#fbbb00"/><path d="M507.527 208.176C510.467 223.662 512 239.655 512 256c0 18.328-1.927 36.206-5.598 53.451-12.462 58.683-45.025 109.925-90.134 146.187l-.014-.014-73.044-3.727-10.338-64.535c29.932-17.554 53.324-45.025 65.646-77.911h-136.89V208.176h138.887 107.012 0z" fill="#518ef8"/><path d="M416.253 455.624l.014.014C372.396 490.901 316.666 512 256 512c-97.491 0-182.252-54.491-225.491-134.681l82.961-67.91c21.619 57.698 77.278 98.771 142.53 98.771 28.047 0 54.323-7.582 76.87-20.818l83.383 68.262z" fill="#28b446"/><path d="M419.404 58.936l-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z" fill="#f14336"/></svg>
931        <span>Sign up with Google account</span>
932    </button>
933            <div class="clear"></div>
934        <p class="ssoWrapper__status"></p>
935</div>
936                
937                <div class="formFooter">
938                                            30 day free trial - No credit card required
939                                        <div class="communicate">
940                        <button onclick="openChat(); return false;" class="inlineBlock">
941                            <span class="icon icon-chat"></span> Chat with a live agent
942                        </button>
943                        <button class="scheduleDemoBtn inlineBlock">
944                            <span class="icon icon-meeting"></span> Schedule a meeting
945                        </button>
946                    </div>
947                </div>
948
949            </form>
950            
951
952                    </div>
953    </div>
954</div>                </div>
955            </div>
956
957            
958            <div class="kb section spread wide narrator product reverse" itemscope itemtype="https://schema.org/SoftwareApplication">
959                <meta itemprop="name" content="Kotobee Narrator" />
960                <meta itemprop="applicationCategory" content="utility,audio,narrator" />
961                <meta itemprop="applicationSubCategory" content="epub narrator,audio book" />
962                <meta itemprop="applicationSuite" content="Kotobee" />
963                <meta itemprop="operatingSystem" content="Windows, Mac" />
964                <meta itemprop="downloadUrl" content="/download/narrator/win" />
965                <meta itemprop="featureList" content="/en/products/narrator" />
966                                <meta itemprop="softwareHelp" content="https://support.kotobee.com" />
967                <meta itemprop="author" content="Vijua" />
968                <meta itemprop="thumbnailUrl" content="/img/web/logo/narrator/normal.png" />
969                
970                <div class="kbInner">
971                    
972                    <div class="alignCenter">
973                        <div class="productLogo">
974                            <a href="/en/products/narrator">
975                                <img data-src="/img/web/logo/narrator/normal.png" alt="Kotobee Narrator">
976                            </a>
977                        </div>
978                        <h3 itemprop="about">Create and distribute structured audiobooks from your MP3 files. </h3>
979                        <img data-src="/img/web/home/products/narrator/audiobookMockup.png" alt="Kotobee Narrator"/>
980                        <div class="clear"></div>
981                    </div>
982                        <div class="info">
983
984                            <div style="text-align:center">
985                                <a href="/download/narrator/win" class="lazyLoad win dlBtn">
986                                    <img src="/img/web/products/reader/btnWindows.png"/>
987                                </a>
988                                <a href="/download/narrator/mac" class="lazyLoad mac dlBtn">
989                                    <img src="/img/web/products/reader/btnMac.png"/>
990                                </a>
991                            </div>
992
993                        </div>
994                    <div class="clear"></div>
995                </div>
996            </div>
997
998
999            <div class="kb section fixed">
1000                <div class="kbInner">
1001                    <div class="solutions">
1002                        <div class="row">
1003                            <h3 class="kb largeTitle">Solutions for every sector</h3>
1004                            <div class="col-md-3">
1005                                <a href="#" class="solution s1" ng-click="solutionClicked('s1',$event)" ng-class="currentSolutionID=='s1'?'active':''">
1006                                    <img width="67" height="68" data-src="/img/web/home/k12Education.png" alt="K12 Education">
1007                                    <p class="kb sectionTitle">K12 Education</p>
1008                                </a>
1009                                <div class="hidden-md hidden-lg mobMore s1" ng-if="currentSolutionID=='s1'" ng-class="(currentSolutionID=='s1')?'active':''" ng-include="'templates/solutions1desc'"></div>
1010                            </div>
1011                            <div class="col-md-3">
1012                                <a href="#" class="solution s2" ng-click="solutionClicked('s2',$event)" ng-class="currentSolutionID=='s2'?'active':''">
1013                                    <img width="67" height="68" data-src="/img/web/home/higherEducation.png" alt="Higher Education">
1014                                    <p class="kb sectionTitle">Higher Education</p>
1015                                </a>
1016                                <div class="hidden-md hidden-lg mobMore s2" ng-if="currentSolutionID=='s2'" ng-class="(currentSolutionID=='s2')?'active':''" ng-include="'templates/solutions2desc'"></div>
1017                            </div>
1018                            <div class="col-md-3">
1019                                <a href="#" class="solution s3" ng-click="solutionClicked('s3',$event)" ng-class="currentSolutionID=='s3'?'active':''">
1020                                    <img width="67" height="68" data-src="/img/web/home/corporateTraining.png" alt="Corporate Training">
1021                                    <p class="kb sectionTitle">Corporate Training</p>
1022                                </a>
1023                                <div class="hidden-md hidden-lg mobMore s3" ng-if="currentSolutionID=='s3'" ng-class="(currentSolutionID=='s3')?'active':''" ng-include="'templates/solutions3desc'"></div>
1024                            </div>
1025                            <div class="col-md-3">
1026                                <a href="#" class="solution s4" ng-click="solutionClicked('s4',$event)" ng-class="currentSolutionID=='s4'?'active':''">
1027                                    <img width="67" height="68" data-src="/img/web/home/bookPublishing.png" alt="Digital Publishing">
1028                                    <p class="kb sectionTitle">Digital Publishing</p>
1029                                </a>
1030                                <div class="hidden-md hidden-lg mobMore s4" ng-if="currentSolutionID=='s4'" ng-class="(currentSolutionID=='s4')?'active':''" ng-include="'templates/solutions4desc'"></div>
1031                            </div>
1032                        </div>
1033                        <div class="more hidden-sm hidden-xs kb text" ng-class="currentSolutionID?currentSolutionID+' active':''" >
1034                            <div class="_s1" ng-if="currentSolutionID=='s1'" ng-include="'templates/solutions1desc'"></div>
1035                            <div class="_s2" ng-if="currentSolutionID=='s2'" ng-include="'templates/solutions2desc'"></div>
1036                            <div class="_s3" ng-if="currentSolutionID=='s3'" ng-include="'templates/solutions3desc'"></div>
1037                            <div class="_s4" ng-if="currentSolutionID=='s4'" ng-include="'templates/solutions4desc'"></div>
1038                        </div>
1039                    </div>
1040                </div>
1041            </div>
1042                        <div class="kb section bookSamples">
1043                <div class="kbInner">
1044                    <div class="row">
1045                        <h3 class="kb largeTitle">Created using Kotobee</h3>
1046                        
1047    
1048
1049
1050<div class="infiniteSliderWrapper">
1051    <div class="infiniteLoopSlider" id="samplesSliderContainer">
1052        <div class="books track">
1053                                                                            <a href="/en/samples/plant-anatomy" class="bookItem">
1054                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/plantanatomy.png"
1055                            alt="View sample ebook">
1056                    </a>
1057                                                                                <a href="/en/samples/photography-basics" class="bookItem">
1058                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/photography.png"
1059                            alt="View sample ebook">
1060                    </a>
1061                                                                                <a href="/en/samples/design-styles" class="bookItem">
1062                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/design.jpg"
1063                            alt="View sample ebook">
1064                    </a>
1065                                                                                <a href="/en/samples/egyptian-monuments" class="bookItem">
1066                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/egypt.png"
1067                            alt="View sample ebook">
1068                    </a>
1069                                                                                <a href="/en/samples/robotics-ai" class="bookItem">
1070                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/robotics.png"
1071                            alt="View sample ebook">
1072                    </a>
1073                                                                                <a href="/en/samples/holistic-aromatherapy" class="bookItem">
1074                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/aromatherapy.png"
1075                            alt="View sample ebook">
1076                    </a>
1077                                                                                <a href="/en/samples/great-marshmallow-chase-audiobook" class="bookItem">
1078                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/marshmallo.png"
1079                            alt="View sample ebook">
1080                    </a>
1081                                                                                <a href="/en/samples/el-leon-raton-spanish" class="bookItem">
1082                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/leonyraton.png"
1083                            alt="View sample ebook">
1084                    </a>
1085                                                                                <a href="/en/samples/body-language-arabic" class="bookItem">
1086                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/bodylang.png"
1087                            alt="View sample ebook">
1088                    </a>
1089                                                                                <a href="/en/samples/human-anatomy-physiology" class="bookItem">
1090                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/anatomy.png"
1091                            alt="View sample ebook">
1092                    </a>
1093                                                                                <a href="/en/samples/space-journey" class="bookItem">
1094                        <img class="dontResize" width="160" height="220" data-src="/img/web/home/covers/space.png"
1095                            alt="View sample ebook">
1096                    </a>
1097                                    </div>
1098    </div>
1099            <button class="navArrow left icon-arrow-left" aria-label="Previous"></button>
1100        <button class="navArrow right icon-arrow-right" aria-label="Next"></button>
1101    </div>
1102
1103<div class="alignCenter">
1104        <a href="/en/samples" class="btn viewBtn btn-danger button">
1105        View all samples
1106    </a>
1107</div>                    </div>
1108                </div>
1109            </div>
1110
1111            <div class="kb section awards">
1112                <div class="kbInner">
1113                    <h3 class="kb largeTitle">Don't take our word for it. <br/>Take it from them.</h3>
1114                    <div class="logos">
1115                        <a href="/en/awards">
1116                            <img data-src="/img/web/home/awards/bronze.png" width="142" height="100" alt="Brandon Hall">
1117                        </a>
1118                        <a href="/en/awards">
1119                            <img data-src="/img/web/home/awards/witsa.png" width="122" height="100" alt="WITSA">
1120                        </a>
1121                        <a href="/en/awards">
1122                            <img data-src="/img/web/home/awards/academic21.png" width="100" height="100" alt="Academic Choice Awards 21">
1123                        </a>
1124                        <a href="/en/awards">
1125                            <img data-src="/img/web/home/awards/academic16.png" width="100" height="100" alt="Academic Choice Awards 16">
1126                        </a>
1127                        <a href="/en/awards">
1128                            <img data-src="/img/web/home/awards/edTech25.png" width="104" height="100" alt="EdTech 2025">
1129                        </a>
1130                    </div>
1131                    <div class="logos row2">
1132                        <a href="/en/awards">
1133                            <img data-src="/img/web/home/awards/edTech23.png" width="104" height="100" alt="EdTech">
1134                        </a>
1135                        <a href="/en/awards">
1136                            <img data-src="/img/web/home/awards/edtech.png" width="73" height="100" alt="EdTech">
1137                        </a>
1138                        <a href="/en/awards">
1139                            <img data-src="/img/web/home/awards/bestSupport.png" width="100" height="100" alt="Software Suggest">
1140                        </a>
1141                        <a href="/en/awards">
1142                            <img data-src="/img/web/home/awards/trending.png" width="100" height="100" alt="Software Suggest">
1143                        </a>
1144                        <a href="/en/awards">
1145                            <img data-src="/img/web/home/awards/editorschoice23.png" width="92" height="100" alt="Software Informer">
1146                        </a>
1147                        <a href="/en/awards">
1148                            <img data-src="/img/web/home/awards/userPick23.png" width="7
11487" height="100" alt="Software Informer">
1149                        </a>
1150                                            </div>
1151                    <div class="alignCenter">
1152                        <div class="vSpace40"></div>
1153                        <a href="https://www.capterra.com/p/160177/Kotobee-Author/" class="btn btn-sm btn-danger button" target="_blank">Read user reviews on Capterra</a>
1154                    </div>
1155                </div>
1156            </div>
1157
1158                            <div class="kb section spread newTestimonial">
1159                    <div class="kbInner">
1160                        <h3 class="kb largeTitle">What our customers say</h3>
1161                        <div class="row personContainer">
1162                            <div class="allPersons" id="allPersons">
1163                                                            <div class="person">
1164                                    <div class="col-sm-4 hidden-xs">
1165                                        <div class="author">
1166                                            <img data-src="/img/web/home/prad.png" alt="Prad">
1167                                        </div>
1168                                    </div>
1169                                    <div class="col-sm-8">
1170                                        <div class="text">
1171                                            <div class="quote">
1172                                                <p>“Kotobee is an easy to use platform for users of any skill levels. Using Kotobee we were able to deliver content on both online and offline modes while retaining the interactive elements, thus allowing learning to take place anytime and anywhere.</p>
1173                                                <p>Kotobee is rich with elements that can transform traditional learning into blended learning; this platform is dedicated in taking your educational experience to the next level.”</p>
1174                                            </div>
1175                                            <div class="name">Prad Duraisamy</div>
1176                                            <div class="title">Educational Technology Manager</div>
1177                                            <div class="org"><img width="148" height="39" data-src="/img/web/home/unsw.png" alt="UNSW"/></div>
1178                                        </div>
1179                                    </div>
1180                                </div>
1181                                <div class="person">
1182                                    <div class="col-sm-4 hidden-xs">
1183                                        <div class="author">
1184                                            <img data-src="/img/web/home/markKroeze.png" alt="Mark">
1185                                        </div>
1186                                    </div>
1187                                    <div class="col-sm-8">
1188                                        <div class="text">
1189                                            <div class="quote">
1190                                                <p>“Modern Day Miracle Workers- That’s what happens when you combine the brilliance and the fanatical support that Kotobee offers. I came across this website in late 2015 with an idea for a new way of creating children’s books. I knew what I wanted the book to look like, but I had no idea how to create the programming for it. I had a major issue with Apple iBooks and Kotobee figured it out and we had the book to market in February 2016. I couldn’t recommend them highly enough and they have a customer for life in me. I just hope more people work with them so they stay in business for as long as I am alive!”</p>
1191                                            </div>
1192                                            <div class="name">Mark Kroeze</div>
1193                                            <div class="title">Author - San Antonio, Texas</div>
1194                                            <div class="org">&nbsp;</div>
1195                                        </div>
1196                                    </div>
1197                                </div>
1198                                <div class="person">
1199                                    <div class="col-sm-4 hidden-xs">
1200                                        <div class="author">
1201                                            <img data-src="/img/web/home/omarFisher.png" alt="Dr Omar Fisher">
1202                                        </div>
1203                                    </div>
1204                                    <div class="col-sm-8">
1205                                        <div class="text">
1206                                            <div class="quote">
1207                                                <p>“After searching far and wide many months for an editor/publisher for ebooks to assist me in self-publishing a hard copy print book (2005) that is updated, modified and adjusted to run smoothly on a fully digital format, I discovered Kotobee in Sept 2015. Over the past 5 months, we have collaborated closely to generate a stunning, highly interactive and fun ebook to teach Youth about money and healthy habits of money management. I commend Kotobee for its professionalism and reliable efforts in support of iwealth.org‘s pioneering program for teaching Financial Intelligence and Literacy to Youth ages 11-18.”</p>
1208                                            </div>
1209                                            <div class="name">Dr. Omar Fisher</div>
1210                                            <div class="title">Author, Presenter, Director</div>
1211                                            <div class="org">iWealth</div>
1212                                        </div>
1213                                    </div>
1214                                </div>
1215                                <div class="person">
1216                                    <div class="col-sm-2 hidden-xs">
1217                                    </div>
1218                                    <div class="col-sm-10">
1219                                        <div class="text">
1220                                            <div class="quote">
1221                                                <p>“After searching the market for a professional and simple to use eBook software that will integrate with our LMS we ended up using Kotobee Author. Generating the eBook itself is effortless and the final product integrates smoothly with our LMS. Users have commented on the usability and the tools available within the book such as highlighting and notes taking which has significantly improved their learning experience.”</p>
1222                                            </div>
1223                                            <div class="name">Alexander Pearce</div>
1224                                            <div class="title">Product Manager</div>
1225                                            <div class="org">
1226                                                <a href="http://www.pti-global.co.uk/" target="_blank">Pharmaceutical Training International</a>
1227                                            </div>
1228                                        </div>
1229                                    </div>
1230                                </div>
1231                                <div class="person">
1232                                    <div class="col-sm-2 hidden-xs">
1233                                    </div>
1234                                    <div class="col-sm-10">
1235                                        <div class="text">
1236                                            <div class="quote">
1237                                                <p>“I have been working with the Kotobee crew for some time now, specifically with their Kotobee Author software. I find it to be intuitive, easy to use, and generally a pleasure to work with. The developers have been incredibly responsive as well and really stand behind their product. Using their software I have been able to create engaging, fun, and highly educational eBooks that have been instrumental in my students learning and education.”</p>
1238                                            </div>
1239                                            <div class="name">Ridge King</div>
1240                                            <div class="title">Founder</div>
1241                                            <div class="org">
1242                                                <a href="http://www.nextdim.net/" target="_blank">Next Dimension Training</a>
1243                                            </div>
1244                                        </div>
1245                                    </div>
1246                                </div>
1247                                                                                            </div>
1248                        </div>
1249                        <div class="navBtns">
1250                                                        <div class="navBtn prev">
1251                                <a href="#" ng-click="prevTestimonialNew()" aria-label="Previous">
1252                                    <span class="icon icon-chevron-left"></span>
1253                                </a>
1254                            </div>
1255                            <div class="navBtn next">
1256                                <a href="#" ng-click="nextTestimonialNew()" aria-label="Next">
1257                                    <span class="icon icon-chevron-right"></span>
1258                                </a>
1259                            </div>
1260                                                    </div>
1261                    </div>
1262                </div>
1263            
1264                        <div class="vSpace2"></div>
1265
1266        
1267    <div class="kb section spread darkGray">
1268    <div class="kbInner">
1269                    
1270<div class="footerActionBtns midpage">
1271
1272    <div class="actionBtns row">
1273        <div class="col-xs-12">
1274                            <h4 class="kb sectionTitle">Get started with Kotobee</h4>
1275                        <form method="post" action="/en/register" class="form neutral" xid="footer-signup-form" v-bind:class="[registering?'registering':'']">
1276                                <input class="emailTxt" type="email" v-bind:readonly="registering" name="email" placeholder="Email" v-on:keyup.enter="register('footer-signup-form',$event)">
1277                <input class="phoneTxt" type="text" name="phone" placeholder="Phone">
1278                <input type="hidden" name="action" value="newRedirect">
1279                <input type="hidden" name="subscribe" value="true">
1280                <input type="hidden" class="ref" name="ref" value="">
1281                <input type="hidden" class="aff" name="aff" value="">
1282                <input type="hidden" name="lang" value="en">
1283                <input type="hidden" name="ssoprovider" class="ssoprovider" value="">
1284                <input type="hidden" name="ssotoken" class="ssotoken" value="">
1285                <input type="hidden" name="name" class="name" value="">
1286                <input type="hidden" name="source" value="From footer. Path: /">
1287                <div class="inlineBlock alignLeft vAlignCenter">
1288                    <button v-bind:disabled="registering" class="btn btn-danger kb registerBtn" v-on:click="register('footer-signup-form',$event)">
1289                        <span v-if="!registering" class="fa fa-arrow-circle-down availableIcon"></span>
1290                        <span v-if="registering" class="fa fa-circle-o-notch fa-spin busyIcon"></span>
1291                                                    Get your free license
1292                                            </button>
1293                                        </div>
1294                <input type="submit" value="submit" class="hide" />
1295                
1296                                                
1297<div class="ssoWrapper simple light">
1298        <p class="ssoWrapper__or">or</p>
1299        <button type="button" class="ssoWrapper--googleBtn" aria-label="Google">
1300        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M113.47 309.408L95.648 375.94l-65.139 1.378C11.042 341.211 0 299.9 0 256c0-42.451 10.324-82.483 28.624-117.732h.014L86.63 148.9l25.404 57.644c-5.317 15.501-8.215 32.141-8.215 49.456.002 18.792 3.406 36.797 9.651 53.408z" fill="#fbbb00"/><path d="M507.527 208.176C510.467 223.662 512 239.655 512 256c0 18.328-1.927 36.206-5.598 53.451-12.462 58.683-45.025 109.925-90.134 146.187l-.014-.014-73.044-3.727-10.338-64.535c29.932-17.554 53.324-45.025 65.646-77.911h-136.89V208.176h138.887 107.012 0z" fill="#518ef8"/><path d="M416.253 455.624l.014.014C372.396 490.901 316.666 512 256 512c-97.491 0-182.252-54.491-225.491-134.681l82.961-67.91c21.619 57.698 77.278 98.771 142.53 98.771 28.047 0 54.323-7.582 76.87-20.818l83.383 68.262z" fill="#28b446"/><path d="M419.404 58.936l-82.933 67.896C313.136 112.246 285.552 103.82 256 103.82c-66.729 0-123.429 42.957-143.965 102.724l-83.397-68.276h-.014C71.23 56.123 157.06 0 256 0c62.115 0 119.068 22.126 163.404 58.936z" fill="#f14336"/></svg>
1301        <span>Sign up with Google account</span>
1302    </button>
1303            <div class="clear"></div>
1304        <p class="ssoWrapper__status"></p>
1305</div>
1306                
1307                <div class="formFooter">
1308                                            <strong>Risk free</strong> - No credit card required.
1309                                        <div class="communicate">
1310                        <button onclick="openChat(); return false;" class="inlineBlock">
1311                            <span class="icon icon-chat"></span> Chat with a live agent
1312                        </button>
1313                        <button class="scheduleDemoBtn inlineBlock">
1314                            <span class="icon icon-meeting"></span> Schedule a meeting
1315                        </button>
1316                    </div>
1317                </div>
1318
1319            </form>
1320            
1321
1322                        <div class="getQuote">
1323                <p>For quotations on customized solutions</p>
1324                <div class="hSpace5"></div>
1325                <a href="/en/contact" class="btn btn-sm btn-primary kb">Get a quote </a>
1326            </div>
1327            <div class="vSpace20"></div>
1328                    </div>
1329    </div>
1330</div>    </div>
1331</div>
1332
1333<div class="kb section spread lightGray halfWide">
1334    <div class="kbInner">
1335        <div class="row">
1336        </div>
1337        <a id="newsletter"></a>
1338        <div class="footerMenu row">
1339            <div class='links-wrapper'>
1340                <div class="link-col col-one">
1341                    <h4>Resources</h4>
1342                    <a href="https://blog.kotobee.com/how-create-interactive-ebook-guide/">How to Create an Interactive Ebook</a>
1343                    <a href="https://blog.kotobee.com/edit-epub-books-manually/">How to Edit EPUB Books Manually</a>
1344                    <a href="https://blog.kotobee.com/ebook-drm-security-what-how/">Ebook DRM &amp; Security</a>
1345                    <a href="https://blog.kotobee.com/5-steps-pdf-to-interactive-ebook/">Convert Your PDF to an Interactive Ebook</a>
1346                    <a href="https://blog.kotobee.com/ebook-apps/">Turn Your Book into an Ebook App</a>
1347                    <a href="https://blog.kotobee.com/ebook-formats/">Ebook Formats Explained for Beginners</a>
1348                    <a href="https://blog.kotobee.com/best-ebook-layout-reflowable-fixed/">Best Ebook Layout Format: Reflowable or Fixed?</a>
1349                    
1350                    <h4>Solutions</h4>
1351                    <a href="/en/solutions/k12">K12 Education</a>
1352                    <a href="/en/solutions/higher-education">Higher Education</a>
1353                    <a href="/en/solutions/digital-publishing">Digital Publishing</a>
1354                    <a href="/en/solutions/corporate-training">Corporate Training</a>
1355                    
1356                </div>
1357                <div class="link-col col-two">
1358                    <h4>Use Cases</h4>
1359                    <a href="/en/products/author">Interactive Ebook Creator</a>
1360                    <a href="/interactive-quiz-maker">Quiz Maker Software</a>
1361                    <a href="/book-app-maker">Book App Maker</a>
1362                    <a href="/blended-learning-software">
1362Blended Learning Software</a>
1363                    <a href="/interactive-training-software">Interactive Training Software</a>
1364                    <a href="/interactive-pdf-creator">Interactive PDF Creator</a>
1365                    <a href="/scorm-authoring-tool">SCORM Authoring Tool</a>
1366                    <a href="/course-creator-software">Course Creator Software</a>
1367                    <a href="/digital-magazine-software">Digital Magazine Software</a>
1368                    <a href="/digital-brochure-software">Digital Brochure Software</a>
1369                    <a href="/digital-catalog-software">Digital Catalog Software</a>
1370                    <a href="/ebook-library-software">Ebook Library Software</a>
1371                </div>
1372                <div class="link-col two-three">
1373                    <h4>Company</h4>
1374                    <a href="https://www.vijua.com/about">About Us</a>
1375                    <a href="https://www.kotobee.com/awards">Awards</a>
1376                    <a href="https://www.kotobee.com/privacy">Privacy Policy</a>
1377                    <a href="https://www.kotobee.com/terms">Terms of Service</a>
1378                    <a href="https://kotobee.statuspage.io/">System Status</a>
1379                    <a href="https://www.kotobee.com/advertise">Advertise with Us</a>
1380                    
1381
1382                    <h4>Programs</h4>
1383                    <a href="/en/affiliates">Kotobee affiliate program</a>
1384                    <a href="/en/invite">Invite Friends to Kotobee</a>
1385                                                                <a href="/en/ebook-publishing-basics-course">Ebook Courses</a>
1386                                        
1387                    
1388                    <h4>Free Tools</h4>
1389                    <a href="https://www.kotobee.com/convert">PDF to URL Converter</a>
1390                </div>
1391                <div class="link-col cole-four">
1392                    <h4>Quick Links</h4>
1393                    <a href="https://blog.kotobee.com/">Blog</a>
1394                    <a href="/en/case-studies">Case Studies</a>
1395                    <a href="https://www.kotobee.com/mediakit">Press Kit</a>
1396                    <a href="/en/customers">Customers</a>
1397                                        <a href="/en/pricing">Pricing</a>
1398                    <a href="/files/docs/education-whitepaper.pdf">
1399                        White Paper (PDF)
1400                    </a>
1401                    <a href="/en/templates">
1402                        Ebook Templates
1403                    </a>
1404                    
1405
1406                    <h4>Support</h4>
1407                    <a href="https://support.kotobee.com/en/support/solutions/articles/8000027851-quick-guide">Getting Started with Kotobee</a>
1408                    <a href="/en/livedemo">Request a demo</a>
1409                    <a href="/academy">Kotobee Academy</a>
1410                    <a href="/en/contact">Contact Us</a>
1411                    <a href="/en/livedemo">Request a Demo</a>
1412                    <a href="https://support.kotobee.com">Help Center</a>
1413                </div>
1414            </div>
1415            <div class="clear"></div>
1416            <hr/>
1417            <div class="bottomFooterContainer">
1418                                    
1419<div class="col-sm-5 newsletterContainer">
1420  <h4>Subscribe for news and updates</h4>
1421  <form class="newsletterForm" data-list="5815013">
1422    <div class="form-group ml-field-email ml-validate-required ml-validate-email">
1423      <input type="email" name="fields[email]" class="emailInput form-control" placeholder="Email*">
1424    </div>
1425    <button type="submit" class="submitBtn primary">
1426        <img width="19" height="14" src="/img/web/footer/messge.png" alt="Send"/>
1427    </button>
1428  </form>
1429    <div class="subscribeError">
1430        <h3>Error</h3>
1431        <p>Please check your email and try again or <a href="https://support.kotobee.com">contact support</a>.</p>
1432    </div>
1433    <div class="subscribeSuccess">
1434        <h3>Thank you for subscribing!</h3>
1435        <p>You should start receiving emails instantly.</p>
1436    </div>
1437  <p>
1438    Get weekly product updates, ebook publishing tips, and useful resources delivered to your inbox. Unsubscribe anytime.
1439  </p>
1440</div> 
1441
1442                <div class="col-sm-5 footerSocial text-center">
1443                    <h3>Follow us</h3>
1444                    <a href="https://www.facebook.com/kotobee" target="_blank" aria-label="Facebook">
1445                        <img data-src="/img/web/footer/facebook.png" width="24" height="24" alt="Facebook"/>
1446                    </a>
1447                    <a href="https://twitter.com/kotobee" target="_blank" aria-label="Twitter">
1448                        <img data-src="/img/web/footer/twitter.png" width="24" height="24" alt="Twitter"/>
1449                    </a>
1450                    <a href="https://www.linkedin.com/company/kotobee/" target="_blank" aria-label="LinkedIn">
1451                        <img data-src="/img/web/footer/linkedIn.png" width="24" height="24" alt="LinkedIn"/>
1452                    </a>
1453                    <a href="https://www.youtube.com/c/Kotobee" target="_blank" aria-label="YouTube">
1454                        <img data-src="/img/web/footer/youtube.png" width="24" height="24" alt="YouTube"/>
1455                    </a>
1456                    <p>
1457                        <a href="/cdn-cgi/l/email-protection#a0c9cec6cfe0d6c9cad5c18ec3cfcd">
1458                            <span class="__cf_email__" data-cfemail="97fef9f1f8d7e1fefde2f6b9f4f8fa">[email&#160;protected]</span>
1459                        </a>
1460                    </p>
1461                </div>
1462                <div class="col-sm-5 footerAwards text-center">
1463                    <a href='/en/awards' aria-label="Awards">
1464                        <img data-src="/img/web/footer/brandon.png" width="100" height="70" alt="Brandon Hall"/>
1465                        <img data-src="/img/web/footer/academicChoice.png" width="79" height="77" alt="Academics Choice Award"/>
1466                        <img data-src="/img/web/footer/witsa.png" width="108" height="75" alt="WITSA"/>
1467                        <img data-src="/img/web/footer/iela.png" width="63" height="78" alt="IELA"/>
1468                    </a>
1469                </div>
1470            </div>
1471            <div class="copyrights text-center">
1472                <p>Copyright © 2026 <a href="https://vijua.com/" target="_blank">Vijua</a></p>
1473                            </div>
1474            
1475                                                                                                                                                                                
1476                                                                                                                                        
1477                    
1478                    
1479                    
1480                                       
1481        </div>
1482    </div>
1483
1484 <!-- FreshChat Code -->
vendor: 109 bytes, lines 1484-1485
1484
1485<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1485<script>
1486      function initFreshChat() {
1487        window.fcWidget.init({
1488          token: "7692d0ce-eba9-45ca-97a5-2d21c0d07124",
1489          host: "https://wchat.freshchat.com"
1490        });
1491      }
1492      function initialize(i,t){var e;i.getElementById(t)?initFreshChat():((e=i.createElement("script")).id=t,e.async=!0,e.src="https://wchat.freshchat.com/js/widget.js",e.onload=initFreshChat,i.head.appendChild(e))}function initiateCall(){initialize(document,"freshchat-js-sdk")};
1493</script>
1493    </div>
1494</div>
1495
1496     
1496<script type="text/ng-template" id="templates/solutions1desc">
1497         <div class="row s1" ng-if="currentSolutionID=='s1'">
1498            <div class="col-md-6">
1499                <img data-src="/img/web/home/k12Education.jpg" alt="Use videos, interactive images, and widgets to engage students"/>
1500            </div>
1501            <div class="col-md-6">
1502                <ul>
1503                    <li><span class="icon icon-checkbox"></span> Use videos, interactive images, and widgets to engage students</li>
1504                    <li><span class="icon icon-checkbox"></span> Display ebooks on web, desktop, or tablets</li>
1505                    <li><span class="icon icon-checkbox"></span> Distribute ebooks individually or collectively through an internal library app</li>
1506                    <li><span class="icon icon-checkbox"></span> Collect reports for students&#039; activities using Tin-Can API</li>
1507                    <li><span class="icon icon-checkbox"></span> Encourage students to learn to create interactive ebooks at an early age (bulk licenses available)</li>
1508                </ul>
1509                <div class="text-center">
1510                                            <a href="/files/docs/education-whitepaper.pdf" class="btn btn-default button">
1511                                        <span class="fa fa-file-pdf-o" style="color:#921d1d"></span>
1512                    <span class="hSpace5" style="width:2px"></span>
1513                    Download whitepaper</a>
1514                </div>
1515            </div>
1516        </div>
1517     </script>
1517
1518
1519     
1519<script type="text/ng-template" id="templates/solutions2desc">
1520        <div class="row s2" ng-if="currentSolutionID=='s2'">
1521            <div class="col-md-6">
1522                <img data-src="/img/web/home/higherEducation.jpg" alt="Enhance the learning experience with interactive textbooks"/>
1523            </div>
1524            <div class="col-md-6">
1525                <ul>
1526                    <li><span class="icon icon-checkbox"></span> Enhance the learning experience with interactive textbooks</li>
1527                    <li><span class="icon icon-checkbox"></span> Distribute ebooks individually or collectively through an educational library app</li>
1528                    <li><span class="icon icon-checkbox"></span> Integrate with your existing LMS (e.g. Moodle) and other educational content</li>
1529                    <li><span class="icon icon-checkbox"></span> Collect reports for students&#039; activities using Tin-Can API</li>
1530                    <li><span class="icon icon-checkbox"></span> Inspire teachers to distribute course materials as ebooks (bulk licenses available)</li>
1531                </ul>
1532                <div class="text-center">
1533                                            <a href="/files/docs/education-whitepaper.pdf" class="btn btn-default button">
1534                                        <span class="fa fa-file-pdf-o" style="color:#921d1d"></span>
1535                    <span class="hSpace5" style="width:2px"></span>
1536                    Download whitepaper</a>
1537                </div>
1538            </div>
1539        </div>
1540     </script>
1540
1541
1542     
1542<script type="text/ng-template" id="templates/solutions3desc">
1543        <div class="row s3" ng-if="currentSolutionID=='s3'">
1544            <div class="col-md-6">
1545                <img data-src="/img/web/home/corporateTraining.jpg" alt="Create ebooks rich with video and audio for each training course"/>
1546            </div>
1547            <div class="col-md-6">
1548                <ul>
1549                    <li><span class="icon icon-checkbox"></span> Create ebooks rich with video and audio for each training course</li>
1550                    <li><span class="icon icon-checkbox"></span> Organize your course ebooks into a custom library app</li>
1551                    <li><span class="icon icon-checkbox"></span> Monetize by selling course library access to your customers</li>
1552                    <li><span class="icon icon-checkbox"></span> Brand your ebook apps or library app using your corporate identity</li>
1553                    <li><span class="icon icon-checkbox"></span> Design responsive tests and examinations for your trainees</li>
1554                </ul>
1555                <div class="text-center">
1556                                            <a href="/files/docs/education-whitepaper.pdf" class="btn btn-default button">
1557                                        <span class="fa fa-file-pdf-o" style="color:#921d1d"></span>
1558                    <span class="hSpace5" style="width:2px"></span>
1559                    Download whitepaper</a>
1560                </div>
1561            </div>
1562        </div>
1563     </script>
1563
1564
1565     
1565<script type="text/ng-template" id="templates/solutions4desc">
1566        <div class="row s4" ng-if="currentSolutionID=='s4'">
1567            <div class="col-md-6">
1568                <img data-src="/img/web/home/bookPublishing.jpg" alt="Create elegant interactive ebooks easily from your PDF or Word documents"/>
1569            </div>
1570            <div class="col-md-6">
1571                <ul>
1572                    <li><span class="icon icon-checkbox"></span> Create elegant interactive ebooks easily from your PDF or Word documents</li>
1573                    <li><span class="icon icon-checkbox"></span> Host your book online instantly, or export it as a desktop or mobile app</li>
1574                    <li><span class="icon icon-checkbox"></span> Export to EPUB and Kindle format, for wider exposure</li>
1575                    <li><span class="icon icon-checkbox"></span> Monetize by selling online access to your ebooks</li>
1576                </ul>
1577                <div class="text-center">
1578                                            <a href="/files/docs/education-whitepaper.pdf" class="btn btn-default button">
1579                                        <span class="fa fa-file-pdf-o" style="color:#921d1d"></span>
1580                    <span class="hSpace5" style="width:2px"></span>
1581                    Download whitepaper</a>
1582                </div>
1583            </div>
1584        </div>
1585     </script>
1585
1586
1587    
1587<script defer src="/js/home.min.js?c=6731"></script>
1587
1588
1589
1590    <!-- Facebook Pixel Code -->
1591            
1592    <noscript><img height="1" width="1" style="display:none"
1593    src="https://www.facebook.com/tr?id=597011190465103&ev=PageView&noscript=1"
1594    /></noscript>
1595    <!-- End Facebook Pixel Code -->
1596
1597    <!-- For gmail sign in -->
1598    
1599<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-99a8dc9967559d8d1b3","applicationID":"530751131","transactionName":"blxSbUtSX0BTVUYPXFcWZUtQHFBDQhhCDkM=","queueTime":0,"applicationTime":12,"atts":"QhtRGwNITE4=","errorBeacon":"bam.nr-data.net","agent":""}</script>
1599<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"5fa0844b0b584b1b9dceeacc424be5eb","spa":2}' crossorigin="anonymous"></script>
1599
1600</body>
1601</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.