@sgrsoft/vpe-core-sdk 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/maManager.d.ts +8 -0
- package/dist/vpe-core-sdk.cjs.js +1 -1
- package/dist/vpe-core-sdk.es.js +817 -803
- package/package.json +1 -1
package/dist/vpe-core-sdk.es.js
CHANGED
|
@@ -1,182 +1,183 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
var h = T0;
|
|
2
|
+
function T0(x, t) {
|
|
3
|
+
x = x - 219;
|
|
4
|
+
var e = ke(), i = e[x];
|
|
4
5
|
return i;
|
|
5
6
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return Ee = function() {
|
|
7
|
+
function ke() {
|
|
8
|
+
var x = ["day", "Red", "The network connection is unstable.", "Play", "Player Execution Failed", "Subtitles", "108983WyHiyl", "This video may be inappropriate for children under 15 and requires parental guidance.", "Not used", "Auto Skip Opening", "Invalid access. Please check your access_key.", "Fullscreen", "Default", "472ZTxMHu", "Invalid DRM token.", "Blue", "Player Startup Failed", "Cannot play video", "The live stream is OFFLINE.", "Apply Default Style", "The video could not be played.", "This video may be inappropriate for minors.", "474WwsLoO", "Subtitle Style", "Semi Bold", "Unmute", "Change text, color, and background styles", "Horror", "Provocative content", "Black", "Depressed", "FairPlay certificate validation failed.", "Failed to communicate with the DRM license server.", "Required module was not loaded. (dash.js)", "7309520LqyYyQ", "Monthly basic API calls exceeded. Please switch to a paid version.", "Auto Skip Ending", "Cancel", "Subtitles not available", "Cannot play DASH video on iOS.", "12KPtyeH", "Skip Opening", "Mini player", "Screen capture / screen recording has been detected.", "Normal", "4378bNWkEL", "Autoplay", "Playback speed", "Previous video", "The license is not valid.", "White", "License", "342105DuZxuE", "Exit fullscreen", "LIVE", "Background Color", "Skip Ending", "This video is rated for all audiences.", "Yellow", "Auto", "seconds until auto-play", "In a moment", "Turn on captions", "This video may be inappropriate for children under 12 and requires parental guidance.", "Sexuality", "Quality", "Replay", "Drugs", "Scheduled", "Next video will play in {timeTxt} seconds.", "Drop Shadow", "Skip Intro", "73692IsJqTm", "Authentication Failed", "minute(s)", "Extra Bold", "Bold", "Background Opacity", "48231QbLLYv", "second(s)", "Mute", "Window Opacity", "None", "hour(s)", "Video will start in {timeTxt}.", "Font Size", "Violence", "Auto Skip Intro", "min", "Font Color", "62804VUTTbZ"];
|
|
9
|
+
return ke = function() {
|
|
10
10
|
return x;
|
|
11
|
-
},
|
|
11
|
+
}, ke();
|
|
12
12
|
}
|
|
13
13
|
(function(x, t) {
|
|
14
|
-
for (var e =
|
|
14
|
+
for (var e = T0, i = x(); ; )
|
|
15
15
|
try {
|
|
16
|
-
var
|
|
17
|
-
if (
|
|
16
|
+
var a = parseInt(e(231)) / 1 + parseInt(e(270)) / 2 * (parseInt(e(247)) / 3) + parseInt(e(297)) / 4 + -parseInt(e(277)) / 5 * (-parseInt(e(265)) / 6) + parseInt(e(224)) / 7 + -parseInt(e(238)) / 8 * (-parseInt(e(303)) / 9) + -parseInt(e(259)) / 10;
|
|
17
|
+
if (a === t) break;
|
|
18
18
|
i.push(i.shift());
|
|
19
19
|
} catch {
|
|
20
20
|
i.push(i.shift());
|
|
21
21
|
}
|
|
22
|
-
})(
|
|
23
|
-
const
|
|
24
|
-
var w =
|
|
22
|
+
})(ke, 204311);
|
|
23
|
+
const z0 = { common: { cancel: h(262), auto: h(284), normal: h(269), notUse: h(233), prev: h(273), next: "Next video", delayText: h(285), license: h(276), play: h(228), pause: "Pause", replay: h(291), fullOn: h(236), fullOff: h(278), muteOn: h(305), muteOff: h(250), captionOff: "Turn off captions", captionOn: h(287), setting: "Settings", live: h(279), miniPlayer: h(267), isMute: "You are muted.", subtitle: h(230), subtitleNot: h(263) }, settings: { autoplay: h(271), playbackRate: h(272), captions: "Subtitles", quality: h(290) }, skip: { introSkip: h(296), openingSkip: h(266), endingSkip: h(281), autoSkipIntro: h(221), autoSkipOpening: h(234), autoSkipEnding: h(261), autoSkipOpeningEnding: "Auto Skip Opening/Ending" }, ageRating: { noticeAll: h(282), notice12: h(288), notice15: h(232), notice19: h(246) }, contentWarning: { sexuality: h(289), violence: h(220), language: "Language", drugs: h(292), horror: h(252), imitation: "Imitation risk", provocative: h(253) }, error: { "01": { title: h(242), desc: h(235) }, "02": { title: h(242), desc: "You do not have permission to play this video." }, "03": { title: h(298), desc: h(227) }, "04": { title: h(242), desc: h(245) }, "05": { title: h(242), desc: h(274) }, "06": { title: h(242), desc: h(260) }, "07": { title: h(242), desc: "Unsupported format." }, "08": { title: h(242), desc: "Invalid URL format." }, "09": { title: "Cannot play video", desc: h(243) }, 10: { title: "Cannot play video", desc: h(264) }, 11: { title: h(242), desc: h(239) }, 12: { title: "Cannot play video", desc: h(257) }, 13: { title: h(242), desc: h(256) }, 14: { title: h(242), desc: h(268) }, 15: { title: h(229), desc: "Required module was not loaded. (hls.js)" }, 16: { title: h(229), desc: h(258) }, 17: { title: h(241), desc: "This feature requires the Standard plan." } }, tv: { default: h(237), quality: "Quality", subtitleStyle: h(248), subtitleStyleDesc: h(251), applyDefaultStyle: h(244), fontColor: h(223), fontSize: h(219), textOpacity: "Text Opacity", edgeStyle: "Text Edge Style", bgColor: h(280), bgOpacity: h(302), windowColor: "Window Color", windowOpacity: h(306), fontWeight: "Font Weight", weight: { thin: "Thin", normal: "Normal", semiBold: h(249), bold: h(301), extraBold: h(300) }, color: { white: h(275), black: h(254), red: h(226), green: "Green", blue: h(240), yellow: h(283), magenta: "Magenta", cyan: "Cyan" }, edge: { none: h(307), dropShadow: h(295), raised: "Raised", depressed: h(255), uniform: "Uniform" } }, alternative: { hour: h(308), minute: h(299), second: h(304), after: h(286), afterMin: h(222), afterHour: "hour", afterDay: h(225), startPlay: h(309), nextPlay: h(294), afterPlay: h(293) } };
|
|
24
|
+
var w = C0;
|
|
25
|
+
function Ee() {
|
|
26
|
+
var x = ["이전 동영상", "성적 표현", "실시간", "창 불투명도", "FairPlay 인증서 검증에 실패하였습니다.", "노란색", "인증 실패", "DRM 라이선스 서버와 통신에 실패하였습니다.", "인트로 건너뛰기", "다시보기", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "청록색", "텍스트, 색상, 배경 스타일 변경", "창 색상", "자홍색", "514550rqHhRe", "필수 모듈이 로드되지 않았습니다. (hls.js)", "1200704XYPAEi", "이 영상은 전체 관람가 영상입니다.", "13294253cyBpUo", "라이브스트림이 OFFLINE 입니다.", "검정색", "오프닝 건너뛰기", "일시정지", "오프닝/엔딩 자동 스킵", "글꼴 크기", "{timeTxt}초 후 다음 영상이 재생됩니다.", "URL 형식이 잘못되었습니다.", "전체화면", "인트로 자동 스킵", "빨간색", "텍스트 불투명도", "약간 굵게", "DRM 토큰이 잘못되었습니다.", "배경 불투명도", "3371165BhfJUA", "자극적 장면", "사용안함", "음소거 해제", "Standard 요금제가 필요한 기능입니다.", "화면 캡쳐 / 화면 녹화가 감지되었습니다.", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "글자 테두리 스타일", "1254276tWYQpS", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "자막켜기", "지원하지 않는 형식입니다.", "자동재생", "음소거 상태입니다.", "전체화면 해제", "58290TzyjRL", "플레이어 실행 실패", "재생 속도", "자막 스타일", "엔딩 건너뛰기", "동영상을 재생할 권한이 없습니다.", "잘못된 접근입니다. access_key를 확인해주세요.", "파란색", "배경 색상", "엔딩 자동 스킵", "자막끄기", "이 영상은 청소년이 시청하기에 부적절한 영상입니다.", "라이선스가 유효하지 않습니다.", "832890PniLaT", "다음 동영상", "동영상을 재생할 수 없음", "초록색", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "라이선스"];
|
|
27
|
+
return Ee = function() {
|
|
28
|
+
return x;
|
|
29
|
+
}, Ee();
|
|
30
|
+
}
|
|
25
31
|
(function(x, t) {
|
|
26
|
-
for (var e =
|
|
32
|
+
for (var e = C0, i = x(); ; )
|
|
27
33
|
try {
|
|
28
|
-
var
|
|
29
|
-
if (
|
|
34
|
+
var a = -parseInt(e(249)) / 1 + -parseInt(e(214)) / 2 + parseInt(e(262)) / 3 + -parseInt(e(216)) / 4 + -parseInt(e(234)) / 5 + -parseInt(e(242)) / 6 + parseInt(e(218)) / 7;
|
|
35
|
+
if (a === t) break;
|
|
30
36
|
i.push(i.shift());
|
|
31
37
|
} catch {
|
|
32
38
|
i.push(i.shift());
|
|
33
39
|
}
|
|
34
|
-
})(
|
|
35
|
-
function
|
|
36
|
-
x = x -
|
|
37
|
-
var e =
|
|
40
|
+
})(Ee, 677789);
|
|
41
|
+
function C0(x, t) {
|
|
42
|
+
x = x - 211;
|
|
43
|
+
var e = Ee(), i = e[x];
|
|
38
44
|
return i;
|
|
39
45
|
}
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
var x = ["36zvYWxB", "이 영상은 청소년이 시청하기에 부적절한 영상입니다.", "라이선스", "315726LkMzpT", "자동재생", "배경 색상", "오프닝 건너뛰기", "{timeTxt}초 후 다음 영상이 재생됩니다.", "해상도", "약간 굵게", "엔딩 건너뛰기", "DRM 토큰이 잘못되었습니다.", "오프닝 자동 스킵", "자막켜기", "인트로 자동 스킵", "글자 굵기", "FairPlay 인증서 검증에 실패하였습니다.", "356671mZBhcv", "음소거", "텍스트, 색상, 배경 스타일 변경", "동영상을 재생할 권한이 없습니다.", "글자 테두리 스타일", "청록색", "라이브스트림이 OFFLINE 입니다.", "검정색", "URL 형식이 잘못되었습니다.", "음소거 해제", "시간 ", "10457936WeEPPe", "자막끄기", "노란색", "플레이어 실행 실패", "엔딩 자동 스킵", "성적 표현", "빨간색", "잘못된 접근입니다. access_key를 확인해주세요.", "실시간", "동영상을 재생할 수 없습니다.", "310274RPdDSL", "초록색", "배경 불투명도", "글꼴 크기", "{timeTxt} 후 영상이 시작됩니다.", "자막 스타일", "인증 실패", "동영상을 재생할 수 없음", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "재생 속도", "파란색", "초 뒤 자동재생", "이전 동영상", "DRM 라이선스 서버와 통신에 실패하였습니다.", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "전체화면 해제", "1642480jJspyo", "인트로 건너뛰기", "텍스트 불투명도", "플레이어 구동 실패", "창 불투명도", "3907400JakxYz", "자막 사용 불가", "오프닝/엔딩 자동 스킵", "일시정지", "373275AqRJkx", "다음 동영상", "필수 모듈이 로드되지 않았습니다. (hls.js)", "사용안함"];
|
|
43
|
-
return _e = function() {
|
|
44
|
-
return x;
|
|
45
|
-
}, _e();
|
|
46
|
-
}
|
|
47
|
-
var g = At;
|
|
46
|
+
const K0 = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: w(236), prev: w(268), next: w(263), delayText: "초 뒤 자동재생", license: w(267), play: "재생", pause: w(222), replay: w(277), fullOn: w(227), fullOff: w(248), muteOn: "음소거", muteOff: w(237), captionOff: w(259), captionOn: w(244), setting: "설정", live: w(270), miniPlayer: "미니플레이어", isMute: w(247), subtitle: "자막", subtitleNot: "자막 사용 불가" }, settings: { autoplay: w(246), playbackRate: w(251), captions: "자막", quality: "해상도" }, skip: { introSkip: w(276), openingSkip: w(221), endingSkip: w(253), autoSkipIntro: w(228), autoSkipOpening: "오프닝 자동 스킵", autoSkipEnding: w(258), autoSkipOpeningEnding: w(223) }, ageRating: { noticeAll: w(217), notice12: w(266), notice15: w(243), notice19: w(260) }, contentWarning: { sexuality: w(269), violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: "모방위험", provocative: w(235) }, error: { "01": { title: w(264), desc: w(255) }, "02": { title: w(264), desc: w(254) }, "03": { title: w(274), desc: "네트워크 연결이 원활하지 않습니다." }, "04": { title: "동영상을 재생할 수 없음", desc: "동영상을 재생할 수 없습니다." }, "05": { title: w(264), desc: w(261) }, "06": { title: w(264), desc: w(278) }, "07": { title: "동영상을 재생할 수 없음", desc: w(245) }, "08": { title: w(264), desc: w(226) }, "09": { title: w(264), desc: w(219) }, 10: { title: w(264), desc: w(240) }, 11: { title: w(264), desc: w(232) }, 12: { title: "동영상을 재생할 수 없음", desc: w(275) }, 13: { title: "동영상을 재생할 수 없음", desc: w(272) }, 14: { title: w(264), desc: w(239) }, 15: { title: w(250), desc: w(215) }, 16: { title: w(250), desc: "필수 모듈이 로드되지 않았습니다. (dash.js)" }, 17: { title: "플레이어 구동 실패", desc: w(238) } }, tv: { default: "기본", quality: "화질", subtitleStyle: w(252), subtitleStyleDesc: w(211), applyDefaultStyle: "기본 스타일 적용", fontColor: "글꼴 색상", fontSize: w(224), textOpacity: w(230), edgeStyle: w(241), bgColor: w(257), bgOpacity: w(233), windowColor: w(212), windowOpacity: w(271), fontWeight: "글자 굵기", weight: { thin: "얇게", normal: "보통", semiBold: w(231), bold: "굵게", extraBold: "매우 굵게" }, color: { white: "흰색", black: w(220), red: w(229), green: w(265), blue: w(256), yellow: w(273), magenta: w(213), cyan: w(279) }, edge: { none: "없음", dropShadow: "그림자", raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: "잠시 ", afterMin: "분 ", afterHour: "시간 ", afterDay: "일 ", startPlay: "{timeTxt} 후 영상이 시작됩니다.", nextPlay: w(225), afterPlay: "예정" } };
|
|
47
|
+
var g = A0;
|
|
48
48
|
(function(x, t) {
|
|
49
|
-
for (var e =
|
|
49
|
+
for (var e = A0, i = x(); ; )
|
|
50
50
|
try {
|
|
51
|
-
var
|
|
52
|
-
if (
|
|
51
|
+
var a = parseInt(e(351)) / 1 * (-parseInt(e(346)) / 2) + parseInt(e(376)) / 3 * (-parseInt(e(380)) / 4) + -parseInt(e(310)) / 5 + -parseInt(e(368)) / 6 * (parseInt(e(358)) / 7) + -parseInt(e(330)) / 8 * (parseInt(e(313)) / 9) + -parseInt(e(375)) / 10 + parseInt(e(322)) / 11 * (parseInt(e(377)) / 12);
|
|
52
|
+
if (a === t) break;
|
|
53
53
|
i.push(i.shift());
|
|
54
54
|
} catch {
|
|
55
55
|
i.push(i.shift());
|
|
56
56
|
}
|
|
57
|
-
})(Te,
|
|
58
|
-
function
|
|
59
|
-
x = x -
|
|
57
|
+
})(Te, 959347);
|
|
58
|
+
function A0(x, t) {
|
|
59
|
+
x = x - 310;
|
|
60
60
|
var e = Te(), i = e[x];
|
|
61
61
|
return i;
|
|
62
62
|
}
|
|
63
|
+
const j0 = { common: { cancel: g(359), auto: "自動", normal: "標準", notUse: "使用しない", prev: g(367), next: g(327), delayText: g(316), license: "ライセンス", play: "再生", pause: g(319), replay: g(371), fullOn: g(315), fullOff: g(339), muteOn: g(378), muteOff: g(345), captionOff: g(369), captionOn: "字幕をオンにする", setting: "設定", live: g(361), miniPlayer: g(328), isMute: "ミュート状態です。", subtitle: "字幕", subtitleNot: g(366) }, settings: { autoplay: g(373), playbackRate: g(370), captions: "字幕", quality: "画質" }, skip: { introSkip: g(343), openingSkip: g(353), endingSkip: g(314), autoSkipIntro: "イントロ自動スキップ", autoSkipOpening: g(348), autoSkipEnding: "エンディング自動スキップ", autoSkipOpeningEnding: g(317) }, ageRating: { noticeAll: "この映像は全年齢対象です。", notice12: "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice15: g(336), notice19: g(354) }, contentWarning: { sexuality: g(364), violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: "模倣危険", provocative: g(334) }, error: { "01": { title: "動画を再生できません", desc: g(355) }, "02": { title: "動画を再生できません", desc: g(324) }, "03": { title: g(337), desc: g(379) }, "04": { title: g(312), desc: g(329) }, "05": { title: g(312), desc: g(357) }, "06": { title: g(312), desc: "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。" }, "07": { title: "動画を再生できません", desc: "サポートされていない形式です。" }, "08": { title: g(312), desc: "URLの形式が正しくありません。" }, "09": { title: g(312), desc: g(362) }, 10: { title: g(312), desc: g(321) }, 11: { title: g(312), desc: g(325) }, 12: { title: g(312), desc: g(323) }, 13: { title: g(312), desc: "FairPlay証明書の検証に失敗しました。" }, 14: { title: "動画を再生できません", desc: g(344) }, 15: { title: g(320), desc: g(363) }, 16: { title: g(320), desc: g(365) }, 17: { title: g(320), desc: g(356) } }, tv: { default: g(347), quality: "画質", subtitleStyle: "字幕スタイル", subtitleStyleDesc: "テキスト、色、背景スタイルを変更", applyDefaultStyle: g(341), fontColor: g(318), fontSize: g(342), textOpacity: g(332), edgeStyle: g(335), bgColor: g(331), bgOpacity: g(360), windowColor: g(372), windowOpacity: g(350), fontWeight: g(381), weight: { thin: "細い", normal: "標準", semiBold: g(326), bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: "マゼンタ", cyan: g(374) }, edge: { none: "なし", dropShadow: g(340), raised: g(352), depressed: "沈み込み", uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: g(349), afterMin: "分後", afterHour: g(338), afterDay: "日後", startPlay: g(333), nextPlay: g(311), afterPlay: "予定" } };
|
|
63
64
|
function Te() {
|
|
64
|
-
var x = ["
|
|
65
|
+
var x = ["テキスト不透明度", "{timeTxt}後に動画が始まります。", "刺激的な場面", "文字エッジスタイル", "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", "認証に失敗しました", "時間後", "全画面表示を終了", "ドロップシャドウ", "デフォルトスタイルを適用", "フォントサイズ", "イントロをスキップ", "画面キャプチャ/画面録画が検出されました。", "ミュート解除", "290pOloYs", "デフォルト", "オープニング自動スキップ", "しばらくして", "ウィンドウ不透明度", "9467jhARZJ", "浮き出し", "オープニングをスキップ", "この映像は未成年者の視聴には不適切な内容を含みます。", "不正なアクセスです。access_keyを確認してください。", "この機能にはStandardプランが必要です。", "ライセンスが無効です。", "14YTczkq", "キャンセル", "背景不透明度", "ライブ", "ライブストリームはオフラインです。", "必須モジュールが読み込まれていません。(hls.js)", "性的表現", "必須モジュールが読み込まれていません。(dash.js)", "字幕は利用できません", "前の動画", "1252242gMndCP", "字幕をオフにする", "再生速度", "リプレイ", "ウィンドウ色", "自動再生", "シアン", "632390sVsHwM", "72660YspAzO", "4875384ExWccJ", "ミュート", "ネットワーク接続が不安定です。", "156BgZSUY", "文字の太さ", "4762660uAMdqg", "{timeTxt}秒後に次の動画が再生されます。", "動画を再生できません", "8803089QthPYt", "エンディングをスキップ", "全画面表示", "秒後に自動再生", "OP/ED自動スキップ", "フォント色", "一時停止", "プレーヤーの起動に失敗しました", "iOSではDASHビデオを再生できません。", "154qVWswi", "DRMライセンスサーバーとの通信に失敗しました。", "この動画を再生する権限がありません。", "DRMトークンが無効です。", "やや太い", "次の動画", "ミニプレーヤー", "動画を再生できませんでした。", "8oanhVZ", "背景色"];
|
|
65
66
|
return Te = function() {
|
|
66
67
|
return x;
|
|
67
68
|
}, Te();
|
|
68
69
|
}
|
|
69
|
-
const
|
|
70
|
+
const Z0 = M0;
|
|
71
|
+
function M0(x, t) {
|
|
72
|
+
return x = x - 414, Ce()[x];
|
|
73
|
+
}
|
|
70
74
|
(function(x, t) {
|
|
71
|
-
const e =
|
|
75
|
+
const e = M0, i = x();
|
|
72
76
|
for (; ; )
|
|
73
77
|
try {
|
|
74
|
-
if (
|
|
78
|
+
if (parseInt(e(414)) / 1 * (parseInt(e(415)) / 2) + parseInt(e(424)) / 3 + parseInt(e(426)) / 4 + parseInt(e(417)) / 5 * (-parseInt(e(425)) / 6) + -parseInt(e(423)) / 7 * (parseInt(e(420)) / 8) + -parseInt(e(419)) / 9 * (-parseInt(e(416)) / 10) + -parseInt(e(421)) / 11 * (parseInt(e(422)) / 12) === t) break;
|
|
75
79
|
i.push(i.shift());
|
|
76
80
|
} catch {
|
|
77
81
|
i.push(i.shift());
|
|
78
82
|
}
|
|
79
|
-
})(Ce,
|
|
80
|
-
function Mt(x, t) {
|
|
81
|
-
return x = x - 403, Ce()[x];
|
|
82
|
-
}
|
|
83
|
-
const Rt = { en: Wt, ko: zt, ja: jt }, Jt = () => typeof navigator < "u" && typeof navigator[Xe(403)] !== Xe(408);
|
|
84
|
-
function Xt(x) {
|
|
85
|
-
const t = Xe, e = x[t(409)]("-")[0];
|
|
86
|
-
return e in Rt ? e : "en";
|
|
87
|
-
}
|
|
83
|
+
})(Ce, 223861);
|
|
88
84
|
function Ce() {
|
|
89
|
-
const x = ["
|
|
85
|
+
const x = ["921882jRCQFz", "1505814egtQJF", "981432ovKMEZ", "198bHPQiS", "3988sHEYDl", "3490YRLzMI", "5IwZTfH", "language", "450sjxyWf", "77288pLHCVj", "979OpZqIr", "38724koMISb", "147HsWQjZ"];
|
|
90
86
|
return Ce = function() {
|
|
91
87
|
return x;
|
|
92
88
|
}, Ce();
|
|
93
89
|
}
|
|
94
|
-
|
|
90
|
+
const R0 = { en: z0, ko: K0, ja: j0 }, J0 = () => typeof navigator < "u" && typeof navigator[Z0(418)] < "u";
|
|
91
|
+
function X0(x) {
|
|
92
|
+
const t = x.split("-")[0];
|
|
93
|
+
return t in R0 ? t : "en";
|
|
94
|
+
}
|
|
95
|
+
function Je(x) {
|
|
95
96
|
let t = "en";
|
|
96
|
-
x ? t = x :
|
|
97
|
-
const e =
|
|
98
|
-
return
|
|
97
|
+
x ? t = x : J0() && (t = navigator.language);
|
|
98
|
+
const e = X0(t);
|
|
99
|
+
return R0[e];
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
-
var
|
|
101
|
+
Je();
|
|
102
|
+
var Q0 = "2.0.9", $0 = 500, o0 = "user-agent", re = "", s0 = "?", E = {
|
|
102
103
|
FUNCTION: "function",
|
|
103
104
|
OBJECT: "object",
|
|
104
105
|
STRING: "string",
|
|
105
106
|
UNDEFINED: "undefined"
|
|
106
|
-
}, P = "browser",
|
|
107
|
+
}, P = "browser", q = "cpu", H = "device", B = "engine", N = "os", oe = "result", l = "name", s = "type", u = "vendor", d = "version", R = "architecture", he = "major", c = "model", Ie = "console", I = "mobile", _ = "tablet", T = "smarttv", F = "wearable", ge = "xr", pe = "embedded", et = "fetcher", te = "inapp", t0 = "brands", Q = "formFactors", i0 = "fullVersionList", se = "platform", x0 = "platformVersion", Be = "bitness", Z = "sec-ch-ua", tt = Z + "-full-version-list", it = Z + "-arch", xt = Z + "-" + Be, at = Z + "-form-factors", nt = Z + "-" + I, rt = Z + "-" + c, D0 = Z + "-" + se, ot = D0 + "-version", O0 = [t0, i0, I, c, se, x0, R, Q, Be], me = "Amazon", ie = "Apple", c0 = "ASUS", l0 = "BlackBerry", X = "Google", d0 = "Huawei", Ge = "Lenovo", u0 = "Honor", ye = "LG", Ve = "Microsoft", Ye = "Motorola", f0 = "Nvidia", p0 = "OnePlus", We = "OPPO", le = "Samsung", h0 = "Sharp", de = "Sony", qe = "Xiaomi", ze = "Zebra", b0 = "Chrome", w0 = "Chromium", z = "Chromecast", _e = "Edge", ue = "Firefox", xe = "Opera", Ke = "Facebook", g0 = "Sogou", ae = "Mobile ", ne = " Browser", Xe = "Windows", st = typeof window !== E.UNDEFINED, O = st && window.navigator ? window.navigator : void 0, $ = O && O.userAgentData ? O.userAgentData : void 0, ct = function(x, t) {
|
|
107
108
|
var e = {}, i = t;
|
|
108
109
|
if (!Ae(t)) {
|
|
109
110
|
i = {};
|
|
110
|
-
for (var
|
|
111
|
-
for (var r in t[
|
|
112
|
-
i[r] = t[
|
|
111
|
+
for (var a in t)
|
|
112
|
+
for (var r in t[a])
|
|
113
|
+
i[r] = t[a][r].concat(i[r] ? i[r] : []);
|
|
113
114
|
}
|
|
114
115
|
for (var o in x)
|
|
115
116
|
e[o] = i[o] && i[o].length % 2 === 0 ? i[o].concat(x[o]) : x[o];
|
|
116
117
|
return e;
|
|
117
|
-
},
|
|
118
|
+
}, Le = function(x) {
|
|
118
119
|
for (var t = {}, e = 0; e < x.length; e++)
|
|
119
120
|
t[x[e].toUpperCase()] = x[e];
|
|
120
121
|
return t;
|
|
121
|
-
},
|
|
122
|
-
if (typeof x ===
|
|
122
|
+
}, Qe = function(x, t) {
|
|
123
|
+
if (typeof x === E.OBJECT && x.length > 0) {
|
|
123
124
|
for (var e in x)
|
|
124
|
-
if (
|
|
125
|
+
if (K(t) == K(x[e])) return !0;
|
|
125
126
|
return !1;
|
|
126
127
|
}
|
|
127
|
-
return
|
|
128
|
+
return be(x) ? K(t) == K(x) : !1;
|
|
128
129
|
}, Ae = function(x, t) {
|
|
129
130
|
for (var e in x)
|
|
130
131
|
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? Ae(x[e]) : !1);
|
|
131
|
-
},
|
|
132
|
-
return typeof x ===
|
|
132
|
+
}, be = function(x) {
|
|
133
|
+
return typeof x === E.STRING;
|
|
133
134
|
}, je = function(x) {
|
|
134
135
|
if (x) {
|
|
135
136
|
for (var t = [], e = ce(/\\?\"/g, x).split(","), i = 0; i < e.length; i++)
|
|
136
137
|
if (e[i].indexOf(";") > -1) {
|
|
137
|
-
var
|
|
138
|
-
t[i] = { brand:
|
|
138
|
+
var a = Me(e[i]).split(";v=");
|
|
139
|
+
t[i] = { brand: a[0], version: a[1] };
|
|
139
140
|
} else
|
|
140
141
|
t[i] = Me(e[i]);
|
|
141
142
|
return t;
|
|
142
143
|
}
|
|
143
|
-
},
|
|
144
|
-
return
|
|
145
|
-
},
|
|
146
|
-
return
|
|
147
|
-
},
|
|
144
|
+
}, K = function(x) {
|
|
145
|
+
return be(x) ? x.toLowerCase() : x;
|
|
146
|
+
}, $e = function(x) {
|
|
147
|
+
return be(x) ? ce(/[^\d\.]/g, x).split(".")[0] : void 0;
|
|
148
|
+
}, W = function(x) {
|
|
148
149
|
for (var t in x)
|
|
149
150
|
if (x.hasOwnProperty(t)) {
|
|
150
151
|
var e = x[t];
|
|
151
|
-
typeof e ==
|
|
152
|
+
typeof e == E.OBJECT && e.length == 2 ? this[e[0]] = e[1] : this[e] = void 0;
|
|
152
153
|
}
|
|
153
154
|
return this;
|
|
154
155
|
}, ce = function(x, t) {
|
|
155
|
-
return
|
|
156
|
-
},
|
|
156
|
+
return be(t) ? t.replace(x, re) : t;
|
|
157
|
+
}, fe = function(x) {
|
|
157
158
|
return ce(/\\?\"/g, x);
|
|
158
159
|
}, Me = function(x, t) {
|
|
159
|
-
return x = ce(/^\s\s*/, String(x)), typeof t ===
|
|
160
|
-
},
|
|
160
|
+
return x = ce(/^\s\s*/, String(x)), typeof t === E.UNDEFINED ? x : x.substring(0, t);
|
|
161
|
+
}, e0 = function(x, t) {
|
|
161
162
|
if (!(!x || !t))
|
|
162
|
-
for (var e = 0, i,
|
|
163
|
-
var
|
|
164
|
-
for (i =
|
|
165
|
-
if (
|
|
166
|
-
for (r = 0; r <
|
|
167
|
-
p =
|
|
163
|
+
for (var e = 0, i, a, r, o, f, p; e < t.length && !f; ) {
|
|
164
|
+
var v = t[e], S = t[e + 1];
|
|
165
|
+
for (i = a = 0; i < v.length && !f && v[i]; )
|
|
166
|
+
if (f = v[i++].exec(x), f)
|
|
167
|
+
for (r = 0; r < S.length; r++)
|
|
168
|
+
p = f[++a], o = S[r], typeof o === E.OBJECT && o.length > 0 ? o.length === 2 ? typeof o[1] == E.FUNCTION ? this[o[0]] = o[1].call(this, p) : this[o[0]] = o[1] : o.length >= 3 && (typeof o[1] === E.FUNCTION && !(o[1].exec && o[1].test) ? o.length > 3 ? this[o[0]] = p ? o[1].apply(this, o.slice(2)) : void 0 : this[o[0]] = p ? o[1].call(this, p, o[2]) : void 0 : o.length == 3 ? this[o[0]] = p ? p.replace(o[1], o[2]) : void 0 : o.length == 4 ? this[o[0]] = p ? o[3].call(this, p.replace(o[1], o[2])) : void 0 : o.length > 4 && (this[o[0]] = p ? o[3].apply(this, [p.replace(o[1], o[2])].concat(o.slice(4))) : void 0)) : this[o] = p || void 0;
|
|
168
169
|
e += 2;
|
|
169
170
|
}
|
|
170
171
|
}, U = function(x, t) {
|
|
171
172
|
for (var e in t)
|
|
172
|
-
if (typeof t[e] ===
|
|
173
|
+
if (typeof t[e] === E.OBJECT && t[e].length > 0) {
|
|
173
174
|
for (var i = 0; i < t[e].length; i++)
|
|
174
|
-
if (
|
|
175
|
-
return e ===
|
|
176
|
-
} else if (
|
|
177
|
-
return e ===
|
|
175
|
+
if (Qe(t[e][i], x))
|
|
176
|
+
return e === s0 ? void 0 : e;
|
|
177
|
+
} else if (Qe(t[e], x))
|
|
178
|
+
return e === s0 ? void 0 : e;
|
|
178
179
|
return t.hasOwnProperty("*") ? t["*"] : x;
|
|
179
|
-
},
|
|
180
|
+
}, m0 = {
|
|
180
181
|
ME: "4.90",
|
|
181
182
|
"NT 3.51": "3.51",
|
|
182
183
|
"NT 4.0": "4.0",
|
|
@@ -188,7 +189,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
188
189
|
"8.1": "6.3",
|
|
189
190
|
10: ["6.4", "10.0"],
|
|
190
191
|
NT: ""
|
|
191
|
-
},
|
|
192
|
+
}, y0 = {
|
|
192
193
|
embedded: "Automotive",
|
|
193
194
|
mobile: "Mobile",
|
|
194
195
|
tablet: ["Tablet", "EInk"],
|
|
@@ -197,7 +198,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
197
198
|
xr: ["VR", "XR"],
|
|
198
199
|
"?": ["Desktop", "Unknown"],
|
|
199
200
|
"*": void 0
|
|
200
|
-
},
|
|
201
|
+
}, lt = {
|
|
201
202
|
Chrome: "Google Chrome",
|
|
202
203
|
Edge: "Microsoft Edge",
|
|
203
204
|
"Edge WebView2": "Microsoft Edge WebView2",
|
|
@@ -207,23 +208,23 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
207
208
|
"MIUI Browser": "Miui Browser",
|
|
208
209
|
"Opera Mobi": "OperaMobile",
|
|
209
210
|
Yandex: "YaBrowser"
|
|
210
|
-
},
|
|
211
|
+
}, v0 = {
|
|
211
212
|
browser: [
|
|
212
213
|
[
|
|
213
214
|
// Most common regardless engine
|
|
214
215
|
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
215
216
|
// Chrome for Android/iOS
|
|
216
217
|
],
|
|
217
|
-
[
|
|
218
|
+
[d, [l, ae + "Chrome"]],
|
|
218
219
|
[
|
|
219
220
|
/webview.+edge\/([\w\.]+)/i
|
|
220
221
|
// Microsoft Edge
|
|
221
222
|
],
|
|
222
|
-
[
|
|
223
|
+
[d, [l, _e + " WebView"]],
|
|
223
224
|
[
|
|
224
225
|
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
225
226
|
],
|
|
226
|
-
[
|
|
227
|
+
[d, [l, "Edge"]],
|
|
227
228
|
[
|
|
228
229
|
// Presto based
|
|
229
230
|
/(opera mini)\/([-\w\.]+)/i,
|
|
@@ -233,33 +234,33 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
233
234
|
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
234
235
|
// Opera
|
|
235
236
|
],
|
|
236
|
-
[
|
|
237
|
+
[l, d],
|
|
237
238
|
[
|
|
238
239
|
/opios[\/ ]+([\w\.]+)/i
|
|
239
240
|
// Opera mini on iphone >= 8.0
|
|
240
241
|
],
|
|
241
|
-
[
|
|
242
|
+
[d, [l, xe + " Mini"]],
|
|
242
243
|
[
|
|
243
244
|
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
244
245
|
// Opera GX
|
|
245
246
|
],
|
|
246
|
-
[
|
|
247
|
+
[d, [l, xe + " GX"]],
|
|
247
248
|
[
|
|
248
249
|
/\bopr\/([\w\.]+)/i
|
|
249
250
|
// Opera Webkit
|
|
250
251
|
],
|
|
251
|
-
[
|
|
252
|
+
[d, [l, xe]],
|
|
252
253
|
[
|
|
253
254
|
// Mixed
|
|
254
255
|
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
255
256
|
// Baidu
|
|
256
257
|
],
|
|
257
|
-
[
|
|
258
|
+
[d, [l, "Baidu"]],
|
|
258
259
|
[
|
|
259
260
|
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
260
261
|
// Maxthon
|
|
261
262
|
],
|
|
262
|
-
[
|
|
263
|
+
[d, [l, "Maxthon"]],
|
|
263
264
|
[
|
|
264
265
|
/(kindle)\/([\w\.]+)/i,
|
|
265
266
|
// Kindle
|
|
@@ -282,22 +283,22 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
282
283
|
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
283
284
|
// Ecosia/Weibo
|
|
284
285
|
],
|
|
285
|
-
[
|
|
286
|
+
[l, d],
|
|
286
287
|
[
|
|
287
288
|
/quark(?:pc)?\/([-\w\.]+)/i
|
|
288
289
|
// Quark
|
|
289
290
|
],
|
|
290
|
-
[
|
|
291
|
+
[d, [l, "Quark"]],
|
|
291
292
|
[
|
|
292
293
|
/\bddg\/([\w\.]+)/i
|
|
293
294
|
// DuckDuckGo
|
|
294
295
|
],
|
|
295
|
-
[
|
|
296
|
+
[d, [l, "DuckDuckGo"]],
|
|
296
297
|
[
|
|
297
298
|
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
298
299
|
// UCBrowser
|
|
299
300
|
],
|
|
300
|
-
[
|
|
301
|
+
[d, [l, "UCBrowser"]],
|
|
301
302
|
[
|
|
302
303
|
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
303
304
|
// WeChat Desktop for Windows Built-in Browser
|
|
@@ -305,107 +306,107 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
305
306
|
/micromessenger\/([\w\.]+)/i
|
|
306
307
|
// WeChat
|
|
307
308
|
],
|
|
308
|
-
[
|
|
309
|
+
[d, [l, "WeChat"]],
|
|
309
310
|
[
|
|
310
311
|
/konqueror\/([\w\.]+)/i
|
|
311
312
|
// Konqueror
|
|
312
313
|
],
|
|
313
|
-
[
|
|
314
|
+
[d, [l, "Konqueror"]],
|
|
314
315
|
[
|
|
315
316
|
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
316
317
|
// IE11
|
|
317
318
|
],
|
|
318
|
-
[
|
|
319
|
+
[d, [l, "IE"]],
|
|
319
320
|
[
|
|
320
321
|
/ya(?:search)?browser\/([\w\.]+)/i
|
|
321
322
|
// Yandex
|
|
322
323
|
],
|
|
323
|
-
[
|
|
324
|
+
[d, [l, "Yandex"]],
|
|
324
325
|
[
|
|
325
326
|
/slbrowser\/([\w\.]+)/i
|
|
326
327
|
// Smart Lenovo Browser
|
|
327
328
|
],
|
|
328
|
-
[
|
|
329
|
+
[d, [l, "Smart " + Ge + ne]],
|
|
329
330
|
[
|
|
330
331
|
/(av(?:ast|g|ira))\/([\w\.]+)/i
|
|
331
332
|
// Avast/AVG/Avira Secure Browser
|
|
332
333
|
],
|
|
333
|
-
[[
|
|
334
|
+
[[l, /(.+)/, "$1 Secure" + ne], d],
|
|
334
335
|
[
|
|
335
336
|
/norton\/([\w\.]+)/i
|
|
336
337
|
// Norton Private Browser
|
|
337
338
|
],
|
|
338
|
-
[
|
|
339
|
+
[d, [l, "Norton Private" + ne]],
|
|
339
340
|
[
|
|
340
341
|
/\bfocus\/([\w\.]+)/i
|
|
341
342
|
// Firefox Focus
|
|
342
343
|
],
|
|
343
|
-
[
|
|
344
|
+
[d, [l, ue + " Focus"]],
|
|
344
345
|
[
|
|
345
346
|
/ mms\/([\w\.]+)$/i
|
|
346
347
|
// Opera Neon
|
|
347
348
|
],
|
|
348
|
-
[
|
|
349
|
+
[d, [l, xe + " Neon"]],
|
|
349
350
|
[
|
|
350
351
|
/ opt\/([\w\.]+)$/i
|
|
351
352
|
// Opera Touch
|
|
352
353
|
],
|
|
353
|
-
[
|
|
354
|
+
[d, [l, xe + " Touch"]],
|
|
354
355
|
[
|
|
355
356
|
/coc_coc\w+\/([\w\.]+)/i
|
|
356
357
|
// Coc Coc Browser
|
|
357
358
|
],
|
|
358
|
-
[
|
|
359
|
+
[d, [l, "Coc Coc"]],
|
|
359
360
|
[
|
|
360
361
|
/dolfin\/([\w\.]+)/i
|
|
361
362
|
// Dolphin
|
|
362
363
|
],
|
|
363
|
-
[
|
|
364
|
+
[d, [l, "Dolphin"]],
|
|
364
365
|
[
|
|
365
366
|
/coast\/([\w\.]+)/i
|
|
366
367
|
// Opera Coast
|
|
367
368
|
],
|
|
368
|
-
[
|
|
369
|
+
[d, [l, xe + " Coast"]],
|
|
369
370
|
[
|
|
370
371
|
/miuibrowser\/([\w\.]+)/i
|
|
371
372
|
// MIUI Browser
|
|
372
373
|
],
|
|
373
|
-
[
|
|
374
|
+
[d, [l, "MIUI" + ne]],
|
|
374
375
|
[
|
|
375
376
|
/fxios\/([\w\.-]+)/i
|
|
376
377
|
// Firefox for iOS
|
|
377
378
|
],
|
|
378
|
-
[
|
|
379
|
+
[d, [l, ae + ue]],
|
|
379
380
|
[
|
|
380
381
|
/\bqihoobrowser\/?([\w\.]*)/i
|
|
381
382
|
// 360
|
|
382
383
|
],
|
|
383
|
-
[
|
|
384
|
+
[d, [l, "360"]],
|
|
384
385
|
[
|
|
385
386
|
/\b(qq)\/([\w\.]+)/i
|
|
386
387
|
// QQ
|
|
387
388
|
],
|
|
388
|
-
[[
|
|
389
|
+
[[l, /(.+)/, "$1Browser"], d],
|
|
389
390
|
[
|
|
390
391
|
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
391
392
|
],
|
|
392
|
-
[[
|
|
393
|
+
[[l, /(.+)/, "$1" + ne], d],
|
|
393
394
|
[
|
|
394
395
|
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
395
396
|
/samsungbrowser\/([\w\.]+)/i
|
|
396
397
|
// Samsung Internet
|
|
397
398
|
],
|
|
398
|
-
[
|
|
399
|
+
[d, [l, le + " Internet"]],
|
|
399
400
|
[
|
|
400
401
|
/metasr[\/ ]?([\d\.]+)/i
|
|
401
402
|
// Sogou Explorer
|
|
402
403
|
],
|
|
403
|
-
[
|
|
404
|
+
[d, [l, g0 + " Explorer"]],
|
|
404
405
|
[
|
|
405
406
|
/(sogou)mo\w+\/([\d\.]+)/i
|
|
406
407
|
// Sogou Mobile
|
|
407
408
|
],
|
|
408
|
-
[[
|
|
409
|
+
[[l, g0 + " Mobile"], d],
|
|
409
410
|
[
|
|
410
411
|
/(electron)\/([\w\.]+) safari/i,
|
|
411
412
|
// Electron-based App
|
|
@@ -414,23 +415,23 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
414
415
|
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
415
416
|
// QQ/2345
|
|
416
417
|
],
|
|
417
|
-
[
|
|
418
|
+
[l, d],
|
|
418
419
|
[
|
|
419
420
|
/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i
|
|
420
421
|
// LieBao Browser/Luakit/Rekonq/Steam
|
|
421
422
|
],
|
|
422
|
-
[
|
|
423
|
+
[l],
|
|
423
424
|
[
|
|
424
425
|
/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i
|
|
425
426
|
// Iron / 360
|
|
426
427
|
],
|
|
427
|
-
[
|
|
428
|
+
[d, l],
|
|
428
429
|
[
|
|
429
430
|
// WebView
|
|
430
431
|
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
431
432
|
// Facebook App for iOS & Android
|
|
432
433
|
],
|
|
433
|
-
[[
|
|
434
|
+
[[l, Ke], d, [s, te]],
|
|
434
435
|
[
|
|
435
436
|
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
436
437
|
// Kakao App
|
|
@@ -451,111 +452,111 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
451
452
|
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
452
453
|
// Instagram/Snapchat/Klarna
|
|
453
454
|
],
|
|
454
|
-
[
|
|
455
|
+
[l, d, [s, te]],
|
|
455
456
|
[
|
|
456
457
|
/\bgsa\/([\w\.]+) .*safari\//i
|
|
457
458
|
// Google Search Appliance on iOS
|
|
458
459
|
],
|
|
459
|
-
[
|
|
460
|
+
[d, [l, "GSA"], [s, te]],
|
|
460
461
|
[
|
|
461
462
|
/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
|
|
462
463
|
// TikTok
|
|
463
464
|
],
|
|
464
|
-
[
|
|
465
|
+
[d, [l, "TikTok"], [s, te]],
|
|
465
466
|
[
|
|
466
467
|
/\[(linkedin)app\]/i
|
|
467
468
|
// LinkedIn App for iOS & Android
|
|
468
469
|
],
|
|
469
|
-
[
|
|
470
|
+
[l, [s, te]],
|
|
470
471
|
[
|
|
471
472
|
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
472
473
|
// Zalo
|
|
473
474
|
],
|
|
474
|
-
[[
|
|
475
|
+
[[l, /(.+)/, "Zalo"], d, [s, te]],
|
|
475
476
|
[
|
|
476
477
|
/(chromium)[\/ ]([-\w\.]+)/i
|
|
477
478
|
// Chromium
|
|
478
479
|
],
|
|
479
|
-
[
|
|
480
|
+
[l, d],
|
|
480
481
|
[
|
|
481
482
|
/ome-(lighthouse)$/i
|
|
482
483
|
// Chrome Lighthouse
|
|
483
484
|
],
|
|
484
|
-
[
|
|
485
|
+
[l, [s, et]],
|
|
485
486
|
[
|
|
486
487
|
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
487
488
|
// Chrome Headless
|
|
488
489
|
],
|
|
489
|
-
[
|
|
490
|
+
[d, [l, b0 + " Headless"]],
|
|
490
491
|
[
|
|
491
492
|
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
492
493
|
// Edge WebView2
|
|
493
494
|
],
|
|
494
|
-
[
|
|
495
|
+
[d, [l, _e + " WebView2"]],
|
|
495
496
|
[
|
|
496
497
|
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
497
498
|
// Chrome WebView
|
|
498
499
|
],
|
|
499
|
-
[[
|
|
500
|
+
[[l, b0 + " WebView"], d],
|
|
500
501
|
[
|
|
501
502
|
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
502
503
|
// Android Browser
|
|
503
504
|
],
|
|
504
|
-
[
|
|
505
|
+
[d, [l, "Android" + ne]],
|
|
505
506
|
[
|
|
506
507
|
/chrome\/([\w\.]+) mobile/i
|
|
507
508
|
// Chrome Mobile
|
|
508
509
|
],
|
|
509
|
-
[
|
|
510
|
+
[d, [l, ae + "Chrome"]],
|
|
510
511
|
[
|
|
511
512
|
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
512
513
|
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
513
514
|
],
|
|
514
|
-
[
|
|
515
|
+
[l, d],
|
|
515
516
|
[
|
|
516
517
|
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
517
518
|
// Safari Mobile
|
|
518
519
|
],
|
|
519
|
-
[
|
|
520
|
+
[d, [l, ae + "Safari"]],
|
|
520
521
|
[
|
|
521
522
|
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
522
523
|
],
|
|
523
|
-
[[
|
|
524
|
+
[[l, ae + "Safari"]],
|
|
524
525
|
[
|
|
525
526
|
/version\/([\w\.\,]+) .*(safari)/i
|
|
526
527
|
// Safari
|
|
527
528
|
],
|
|
528
|
-
[
|
|
529
|
+
[d, l],
|
|
529
530
|
[
|
|
530
531
|
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
531
532
|
// Safari < 3.0
|
|
532
533
|
],
|
|
533
|
-
[
|
|
534
|
+
[l, [d, "1"]],
|
|
534
535
|
[
|
|
535
536
|
/(webkit|khtml)\/([\w\.]+)/i
|
|
536
537
|
],
|
|
537
|
-
[
|
|
538
|
+
[l, d],
|
|
538
539
|
[
|
|
539
540
|
// Gecko based
|
|
540
541
|
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
541
542
|
// Firefox Mobile
|
|
542
543
|
],
|
|
543
|
-
[[
|
|
544
|
+
[[l, ae + ue], d],
|
|
544
545
|
[
|
|
545
546
|
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
546
547
|
// Netscape
|
|
547
548
|
],
|
|
548
|
-
[[
|
|
549
|
+
[[l, "Netscape"], d],
|
|
549
550
|
[
|
|
550
551
|
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
551
552
|
// Wolvic/LibreWolf
|
|
552
553
|
],
|
|
553
|
-
[
|
|
554
|
+
[l, d],
|
|
554
555
|
[
|
|
555
556
|
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
556
557
|
// Firefox Reality
|
|
557
558
|
],
|
|
558
|
-
[
|
|
559
|
+
[d, [l, ue + " Reality"]],
|
|
559
560
|
[
|
|
560
561
|
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
561
562
|
// Flow
|
|
@@ -575,12 +576,12 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
575
576
|
/\b(links) \(([\w\.]+)/i
|
|
576
577
|
// Links
|
|
577
578
|
],
|
|
578
|
-
[
|
|
579
|
+
[l, [d, /_/g, "."]],
|
|
579
580
|
[
|
|
580
581
|
/(cobalt)\/([\w\.]+)/i
|
|
581
582
|
// Cobalt
|
|
582
583
|
],
|
|
583
|
-
[
|
|
584
|
+
[l, [d, /[^\d\.]+./, re]]
|
|
584
585
|
],
|
|
585
586
|
cpu: [
|
|
586
587
|
[
|
|
@@ -623,7 +624,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
623
624
|
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
624
625
|
// Alpha
|
|
625
626
|
],
|
|
626
|
-
[[R, /ower/, re,
|
|
627
|
+
[[R, /ower/, re, K]],
|
|
627
628
|
[
|
|
628
629
|
/mc680.0/i
|
|
629
630
|
],
|
|
@@ -641,25 +642,25 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
641
642
|
// Samsung
|
|
642
643
|
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
643
644
|
],
|
|
644
|
-
[c, [u,
|
|
645
|
+
[c, [u, le], [s, _]],
|
|
645
646
|
[
|
|
646
647
|
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
647
648
|
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
648
649
|
/sec-(sgh\w+)/i
|
|
649
650
|
],
|
|
650
|
-
[c, [u,
|
|
651
|
+
[c, [u, le], [s, I]],
|
|
651
652
|
[
|
|
652
653
|
// Apple
|
|
653
654
|
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
654
655
|
// iPod/iPhone
|
|
655
656
|
],
|
|
656
|
-
[c, [u, ie], [s,
|
|
657
|
+
[c, [u, ie], [s, I]],
|
|
657
658
|
[
|
|
658
659
|
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
659
660
|
// iPad
|
|
660
661
|
/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
|
|
661
662
|
],
|
|
662
|
-
[c, [u, ie], [s,
|
|
663
|
+
[c, [u, ie], [s, _]],
|
|
663
664
|
[
|
|
664
665
|
/(macintosh);/i
|
|
665
666
|
],
|
|
@@ -668,33 +669,33 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
668
669
|
// Sharp
|
|
669
670
|
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
670
671
|
],
|
|
671
|
-
[c, [u,
|
|
672
|
+
[c, [u, h0], [s, I]],
|
|
672
673
|
[
|
|
673
674
|
// Honor
|
|
674
675
|
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
675
676
|
],
|
|
676
|
-
[c, [u,
|
|
677
|
+
[c, [u, u0], [s, _]],
|
|
677
678
|
[
|
|
678
679
|
/honor([-\w ]+)[;\)]/i
|
|
679
680
|
],
|
|
680
|
-
[c, [u,
|
|
681
|
+
[c, [u, u0], [s, I]],
|
|
681
682
|
[
|
|
682
683
|
// Huawei
|
|
683
684
|
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
684
685
|
],
|
|
685
|
-
[c, [u,
|
|
686
|
+
[c, [u, d0], [s, _]],
|
|
686
687
|
[
|
|
687
688
|
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
688
689
|
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
689
690
|
],
|
|
690
|
-
[c, [u,
|
|
691
|
+
[c, [u, d0], [s, I]],
|
|
691
692
|
[
|
|
692
693
|
// Xiaomi
|
|
693
694
|
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
694
695
|
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
695
696
|
// Mi Pad tablets
|
|
696
697
|
],
|
|
697
|
-
[[c, /_/g, " "], [u,
|
|
698
|
+
[[c, /_/g, " "], [u, qe], [s, _]],
|
|
698
699
|
[
|
|
699
700
|
/\b; (\w+) build\/hm\1/i,
|
|
700
701
|
// Xiaomi Hongmi 'numeric' models
|
|
@@ -706,93 +707,93 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
706
707
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
707
708
|
/ ([\w ]+) miui\/v?\d/i
|
|
708
709
|
],
|
|
709
|
-
[[c, /_/g, " "], [u,
|
|
710
|
+
[[c, /_/g, " "], [u, qe], [s, I]],
|
|
710
711
|
[
|
|
711
712
|
// OnePlus
|
|
712
713
|
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,
|
|
713
714
|
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
714
715
|
],
|
|
715
|
-
[c, [u,
|
|
716
|
+
[c, [u, p0], [s, I]],
|
|
716
717
|
[
|
|
717
718
|
// OPPO
|
|
718
719
|
/; (\w+) bui.+ oppo/i,
|
|
719
720
|
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
720
721
|
],
|
|
721
|
-
[c, [u,
|
|
722
|
+
[c, [u, We], [s, I]],
|
|
722
723
|
[
|
|
723
724
|
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
724
725
|
],
|
|
725
|
-
[c, [u, U, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*":
|
|
726
|
+
[c, [u, U, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*": We }], [s, _]],
|
|
726
727
|
[
|
|
727
728
|
// BLU
|
|
728
729
|
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
729
730
|
// Vivo series
|
|
730
731
|
],
|
|
731
|
-
[c, [u, "BLU"], [s,
|
|
732
|
+
[c, [u, "BLU"], [s, I]],
|
|
732
733
|
[
|
|
733
734
|
// Vivo
|
|
734
735
|
/; vivo (\w+)(?: bui|\))/i,
|
|
735
736
|
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
736
737
|
],
|
|
737
|
-
[c, [u, "Vivo"], [s,
|
|
738
|
+
[c, [u, "Vivo"], [s, I]],
|
|
738
739
|
[
|
|
739
740
|
// Realme
|
|
740
741
|
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
741
742
|
],
|
|
742
|
-
[c, [u, "Realme"], [s,
|
|
743
|
+
[c, [u, "Realme"], [s, I]],
|
|
743
744
|
[
|
|
744
745
|
// Lenovo
|
|
745
746
|
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
746
747
|
/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
|
|
747
748
|
],
|
|
748
|
-
[c, [u,
|
|
749
|
+
[c, [u, Ge], [s, _]],
|
|
749
750
|
[
|
|
750
751
|
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
751
752
|
],
|
|
752
|
-
[c, [u,
|
|
753
|
+
[c, [u, Ge], [s, I]],
|
|
753
754
|
[
|
|
754
755
|
// Motorola
|
|
755
756
|
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
756
757
|
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
757
758
|
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
758
759
|
],
|
|
759
|
-
[c, [u, Ye], [s,
|
|
760
|
+
[c, [u, Ye], [s, I]],
|
|
760
761
|
[
|
|
761
762
|
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
762
763
|
],
|
|
763
|
-
[c, [u, Ye], [s,
|
|
764
|
+
[c, [u, Ye], [s, _]],
|
|
764
765
|
[
|
|
765
766
|
// LG
|
|
766
767
|
/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
767
768
|
],
|
|
768
|
-
[c, [u, ye], [s,
|
|
769
|
+
[c, [u, ye], [s, _]],
|
|
769
770
|
[
|
|
770
771
|
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
771
772
|
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
772
773
|
/\blg-?([\d\w]+) bui/i
|
|
773
774
|
],
|
|
774
|
-
[c, [u, ye], [s,
|
|
775
|
+
[c, [u, ye], [s, I]],
|
|
775
776
|
[
|
|
776
777
|
// Nokia
|
|
777
778
|
/(nokia) (t[12][01])/i
|
|
778
779
|
],
|
|
779
|
-
[u, c, [s,
|
|
780
|
+
[u, c, [s, _]],
|
|
780
781
|
[
|
|
781
782
|
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
782
783
|
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
783
784
|
],
|
|
784
|
-
[[c, /_/g, " "], [s,
|
|
785
|
+
[[c, /_/g, " "], [s, I], [u, "Nokia"]],
|
|
785
786
|
[
|
|
786
787
|
// Google
|
|
787
788
|
/(pixel (c|tablet))\b/i
|
|
788
789
|
// Google Pixel C/Tablet
|
|
789
790
|
],
|
|
790
|
-
[c, [u,
|
|
791
|
+
[c, [u, X], [s, _]],
|
|
791
792
|
[
|
|
792
793
|
// Google Pixel
|
|
793
794
|
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
794
795
|
],
|
|
795
|
-
[c, [u,
|
|
796
|
+
[c, [u, X], [s, I]],
|
|
796
797
|
[
|
|
797
798
|
/(google) (pixelbook( go)?)/i
|
|
798
799
|
],
|
|
@@ -801,12 +802,12 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
801
802
|
// Sony
|
|
802
803
|
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
803
804
|
],
|
|
804
|
-
[c, [u,
|
|
805
|
+
[c, [u, de], [s, I]],
|
|
805
806
|
[
|
|
806
807
|
/sony tablet [ps]/i,
|
|
807
808
|
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
808
809
|
],
|
|
809
|
-
[[c, "Xperia Tablet"], [u,
|
|
810
|
+
[[c, "Xperia Tablet"], [u, de], [s, _]],
|
|
810
811
|
[
|
|
811
812
|
// Amazon
|
|
812
813
|
/(alexa)webm/i,
|
|
@@ -815,38 +816,38 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
815
816
|
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
816
817
|
// Kindle Fire HD
|
|
817
818
|
],
|
|
818
|
-
[c, [u, me], [s,
|
|
819
|
+
[c, [u, me], [s, _]],
|
|
819
820
|
[
|
|
820
821
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
821
822
|
// Fire Phone
|
|
822
823
|
],
|
|
823
|
-
[[c, /(.+)/g, "Fire Phone $1"], [u, me], [s,
|
|
824
|
+
[[c, /(.+)/g, "Fire Phone $1"], [u, me], [s, I]],
|
|
824
825
|
[
|
|
825
826
|
// BlackBerry
|
|
826
827
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
827
828
|
// BlackBerry PlayBook
|
|
828
829
|
],
|
|
829
|
-
[c, u, [s,
|
|
830
|
+
[c, u, [s, _]],
|
|
830
831
|
[
|
|
831
832
|
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
832
833
|
/(?:blackberry|\(bb10;) (\w+)/i
|
|
833
834
|
],
|
|
834
|
-
[c, [u,
|
|
835
|
+
[c, [u, l0], [s, I]],
|
|
835
836
|
[
|
|
836
837
|
// Asus
|
|
837
838
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
838
839
|
],
|
|
839
|
-
[c, [u,
|
|
840
|
+
[c, [u, c0], [s, _]],
|
|
840
841
|
[
|
|
841
842
|
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
842
843
|
],
|
|
843
|
-
[c, [u,
|
|
844
|
+
[c, [u, c0], [s, I]],
|
|
844
845
|
[
|
|
845
846
|
// HTC
|
|
846
847
|
/(nexus 9)/i
|
|
847
848
|
// HTC Nexus 9
|
|
848
849
|
],
|
|
849
|
-
[c, [u, "HTC"], [s,
|
|
850
|
+
[c, [u, "HTC"], [s, _]],
|
|
850
851
|
[
|
|
851
852
|
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
852
853
|
// HTC
|
|
@@ -855,76 +856,76 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
855
856
|
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
856
857
|
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
857
858
|
],
|
|
858
|
-
[u, [c, /_/g, " "], [s,
|
|
859
|
+
[u, [c, /_/g, " "], [s, I]],
|
|
859
860
|
[
|
|
860
861
|
// TCL
|
|
861
862
|
/tcl (xess p17aa)/i,
|
|
862
863
|
/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i
|
|
863
864
|
],
|
|
864
|
-
[c, [u, "TCL"], [s,
|
|
865
|
+
[c, [u, "TCL"], [s, _]],
|
|
865
866
|
[
|
|
866
867
|
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
867
868
|
],
|
|
868
|
-
[c, [u, "TCL"], [s,
|
|
869
|
+
[c, [u, "TCL"], [s, I]],
|
|
869
870
|
[
|
|
870
871
|
// itel
|
|
871
872
|
/(itel) ((\w+))/i
|
|
872
873
|
],
|
|
873
|
-
[[u,
|
|
874
|
+
[[u, K], c, [s, U, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
|
|
874
875
|
[
|
|
875
876
|
// Acer
|
|
876
877
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
877
878
|
],
|
|
878
|
-
[c, [u, "Acer"], [s,
|
|
879
|
+
[c, [u, "Acer"], [s, _]],
|
|
879
880
|
[
|
|
880
881
|
// Meizu
|
|
881
882
|
/droid.+; (m[1-5] note) bui/i,
|
|
882
883
|
/\bmz-([-\w]{2,})/i
|
|
883
884
|
],
|
|
884
|
-
[c, [u, "Meizu"], [s,
|
|
885
|
+
[c, [u, "Meizu"], [s, I]],
|
|
885
886
|
[
|
|
886
887
|
// Ulefone
|
|
887
888
|
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
888
889
|
],
|
|
889
|
-
[c, [u, "Ulefone"], [s,
|
|
890
|
+
[c, [u, "Ulefone"], [s, I]],
|
|
890
891
|
[
|
|
891
892
|
// Energizer
|
|
892
893
|
/; (energy ?\w+)(?: bui|\))/i,
|
|
893
894
|
/; energizer ([\w ]+)(?: bui|\))/i
|
|
894
895
|
],
|
|
895
|
-
[c, [u, "Energizer"], [s,
|
|
896
|
+
[c, [u, "Energizer"], [s, I]],
|
|
896
897
|
[
|
|
897
898
|
// Cat
|
|
898
899
|
/; cat (b35);/i,
|
|
899
900
|
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
900
901
|
],
|
|
901
|
-
[c, [u, "Cat"], [s,
|
|
902
|
+
[c, [u, "Cat"], [s, I]],
|
|
902
903
|
[
|
|
903
904
|
// Smartfren
|
|
904
905
|
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
905
906
|
],
|
|
906
|
-
[c, [u, "Smartfren"], [s,
|
|
907
|
+
[c, [u, "Smartfren"], [s, I]],
|
|
907
908
|
[
|
|
908
909
|
// Nothing
|
|
909
910
|
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
910
911
|
],
|
|
911
|
-
[c, [u, "Nothing"], [s,
|
|
912
|
+
[c, [u, "Nothing"], [s, I]],
|
|
912
913
|
[
|
|
913
914
|
// Archos
|
|
914
915
|
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
915
916
|
/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i
|
|
916
917
|
],
|
|
917
|
-
[c, [u, "Archos"], [s,
|
|
918
|
+
[c, [u, "Archos"], [s, _]],
|
|
918
919
|
[
|
|
919
920
|
/archos ([\w ]+)( b|\))/i,
|
|
920
921
|
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
921
922
|
],
|
|
922
|
-
[c, [u, "Archos"], [s,
|
|
923
|
+
[c, [u, "Archos"], [s, I]],
|
|
923
924
|
[
|
|
924
925
|
// HMD
|
|
925
926
|
/; (n159v)/i
|
|
926
927
|
],
|
|
927
|
-
[c, [u, "HMD"], [s,
|
|
928
|
+
[c, [u, "HMD"], [s, I]],
|
|
928
929
|
[
|
|
929
930
|
// MIXED
|
|
930
931
|
/(imo) (tab \w+)/i,
|
|
@@ -932,7 +933,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
932
933
|
/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i
|
|
933
934
|
// Infinix XPad / Tecno
|
|
934
935
|
],
|
|
935
|
-
[u, c, [s,
|
|
936
|
+
[u, c, [s, _]],
|
|
936
937
|
[
|
|
937
938
|
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
|
|
938
939
|
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
|
|
@@ -949,7 +950,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
949
950
|
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
950
951
|
// Philips
|
|
951
952
|
],
|
|
952
|
-
[u, c, [s,
|
|
953
|
+
[u, c, [s, I]],
|
|
953
954
|
[
|
|
954
955
|
/(kobo)\s(ereader|touch)/i,
|
|
955
956
|
// Kobo
|
|
@@ -958,41 +959,41 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
958
959
|
/(kindle)\/([\w\.]+)/i
|
|
959
960
|
// Kindle
|
|
960
961
|
],
|
|
961
|
-
[u, c, [s,
|
|
962
|
+
[u, c, [s, _]],
|
|
962
963
|
[
|
|
963
964
|
/(surface duo)/i
|
|
964
965
|
// Surface Duo
|
|
965
966
|
],
|
|
966
|
-
[c, [u, Ve], [s,
|
|
967
|
+
[c, [u, Ve], [s, _]],
|
|
967
968
|
[
|
|
968
969
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
969
970
|
// Fairphone
|
|
970
971
|
],
|
|
971
|
-
[c, [u, "Fairphone"], [s,
|
|
972
|
+
[c, [u, "Fairphone"], [s, I]],
|
|
972
973
|
[
|
|
973
974
|
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
974
975
|
// Nvidia Tablets
|
|
975
976
|
],
|
|
976
|
-
[c, [u,
|
|
977
|
+
[c, [u, f0], [s, _]],
|
|
977
978
|
[
|
|
978
979
|
/(sprint) (\w+)/i
|
|
979
980
|
// Sprint Phones
|
|
980
981
|
],
|
|
981
|
-
[u, c, [s,
|
|
982
|
+
[u, c, [s, I]],
|
|
982
983
|
[
|
|
983
984
|
/(kin\.[onetw]{3})/i
|
|
984
985
|
// Microsoft Kin
|
|
985
986
|
],
|
|
986
|
-
[[c, /\./g, " "], [u, Ve], [s,
|
|
987
|
+
[[c, /\./g, " "], [u, Ve], [s, I]],
|
|
987
988
|
[
|
|
988
989
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
989
990
|
// Zebra
|
|
990
991
|
],
|
|
991
|
-
[c, [u,
|
|
992
|
+
[c, [u, ze], [s, _]],
|
|
992
993
|
[
|
|
993
994
|
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
994
995
|
],
|
|
995
|
-
[c, [u,
|
|
996
|
+
[c, [u, ze], [s, I]],
|
|
996
997
|
[
|
|
997
998
|
///////////////////
|
|
998
999
|
// SMARTTVS
|
|
@@ -1006,7 +1007,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1006
1007
|
[
|
|
1007
1008
|
/hbbtv.+maple;(\d+)/i
|
|
1008
1009
|
],
|
|
1009
|
-
[[c, /^/, "SmartTV"], [u,
|
|
1010
|
+
[[c, /^/, "SmartTV"], [u, le], [s, T]],
|
|
1010
1011
|
[
|
|
1011
1012
|
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
1012
1013
|
// Vizio
|
|
@@ -1027,27 +1028,27 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1027
1028
|
/crkey.*devicetype\/chromecast/i
|
|
1028
1029
|
// Google Chromecast Third Generation
|
|
1029
1030
|
],
|
|
1030
|
-
[[c,
|
|
1031
|
+
[[c, z + " Third Generation"], [u, X], [s, T]],
|
|
1031
1032
|
[
|
|
1032
1033
|
/crkey.*devicetype\/([^/]*)/i
|
|
1033
1034
|
// Google Chromecast with specific device type
|
|
1034
1035
|
],
|
|
1035
|
-
[[c, /^/, "Chromecast "], [u,
|
|
1036
|
+
[[c, /^/, "Chromecast "], [u, X], [s, T]],
|
|
1036
1037
|
[
|
|
1037
1038
|
/fuchsia.*crkey/i
|
|
1038
1039
|
// Google Chromecast Nest Hub
|
|
1039
1040
|
],
|
|
1040
|
-
[[c,
|
|
1041
|
+
[[c, z + " Nest Hub"], [u, X], [s, T]],
|
|
1041
1042
|
[
|
|
1042
1043
|
/crkey/i
|
|
1043
1044
|
// Google Chromecast, Linux-based or unknown
|
|
1044
1045
|
],
|
|
1045
|
-
[[c,
|
|
1046
|
+
[[c, z], [u, X], [s, T]],
|
|
1046
1047
|
[
|
|
1047
1048
|
/(portaltv)/i
|
|
1048
1049
|
// Facebook Portal TV
|
|
1049
1050
|
],
|
|
1050
|
-
[c, [u,
|
|
1051
|
+
[c, [u, Ke], [s, T]],
|
|
1051
1052
|
[
|
|
1052
1053
|
/droid.+aft(\w+)( bui|\))/i
|
|
1053
1054
|
// Fire TV
|
|
@@ -1057,23 +1058,23 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1057
1058
|
/(shield \w+ tv)/i
|
|
1058
1059
|
// Nvidia Shield TV
|
|
1059
1060
|
],
|
|
1060
|
-
[c, [u,
|
|
1061
|
+
[c, [u, f0], [s, T]],
|
|
1061
1062
|
[
|
|
1062
1063
|
/\(dtv[\);].+(aquos)/i,
|
|
1063
1064
|
/(aquos-tv[\w ]+)\)/i
|
|
1064
1065
|
// Sharp
|
|
1065
1066
|
],
|
|
1066
|
-
[c, [u,
|
|
1067
|
+
[c, [u, h0], [s, T]],
|
|
1067
1068
|
[
|
|
1068
1069
|
/(bravia[\w ]+)( bui|\))/i
|
|
1069
1070
|
// Sony
|
|
1070
1071
|
],
|
|
1071
|
-
[c, [u,
|
|
1072
|
+
[c, [u, de], [s, T]],
|
|
1072
1073
|
[
|
|
1073
1074
|
/(mi(tv|box)-?\w+) bui/i
|
|
1074
1075
|
// Xiaomi
|
|
1075
1076
|
],
|
|
1076
|
-
[c, [u,
|
|
1077
|
+
[c, [u, qe], [s, T]],
|
|
1077
1078
|
[
|
|
1078
1079
|
/Hbbtv.*(technisat) (.*);/i
|
|
1079
1080
|
// TechniSAT
|
|
@@ -1093,7 +1094,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1093
1094
|
/(playstation \w+)/i
|
|
1094
1095
|
// Playstation
|
|
1095
1096
|
],
|
|
1096
|
-
[c, [u,
|
|
1097
|
+
[c, [u, de], [s, Ie]],
|
|
1097
1098
|
[
|
|
1098
1099
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1099
1100
|
// Microsoft Xbox
|
|
@@ -1118,7 +1119,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1118
1119
|
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
1119
1120
|
// Samsung Galaxy Watch
|
|
1120
1121
|
],
|
|
1121
|
-
[c, [u,
|
|
1122
|
+
[c, [u, le], [s, F]],
|
|
1122
1123
|
[
|
|
1123
1124
|
/((pebble))app/i,
|
|
1124
1125
|
// Pebble
|
|
@@ -1130,7 +1131,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1130
1131
|
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
1131
1132
|
// Oppo Watch
|
|
1132
1133
|
],
|
|
1133
|
-
[c, [u,
|
|
1134
|
+
[c, [u, We], [s, F]],
|
|
1134
1135
|
[
|
|
1135
1136
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1136
1137
|
// Apple Watch
|
|
@@ -1140,7 +1141,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1140
1141
|
/(opwwe\d{3})/i
|
|
1141
1142
|
// OnePlus Watch
|
|
1142
1143
|
],
|
|
1143
|
-
[c, [u,
|
|
1144
|
+
[c, [u, p0], [s, F]],
|
|
1144
1145
|
[
|
|
1145
1146
|
/(moto 360)/i
|
|
1146
1147
|
// Motorola 360
|
|
@@ -1150,7 +1151,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1150
1151
|
/(smartwatch 3)/i
|
|
1151
1152
|
// Sony SmartWatch
|
|
1152
1153
|
],
|
|
1153
|
-
[c, [u,
|
|
1154
|
+
[c, [u, de], [s, F]],
|
|
1154
1155
|
[
|
|
1155
1156
|
/(g watch r)/i
|
|
1156
1157
|
// LG G Watch R
|
|
@@ -1159,7 +1160,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1159
1160
|
[
|
|
1160
1161
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1161
1162
|
],
|
|
1162
|
-
[c, [u,
|
|
1163
|
+
[c, [u, ze], [s, F]],
|
|
1163
1164
|
[
|
|
1164
1165
|
///////////////////
|
|
1165
1166
|
// XR
|
|
@@ -1167,7 +1168,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1167
1168
|
/droid.+; (glass) \d/i
|
|
1168
1169
|
// Google Glass
|
|
1169
1170
|
],
|
|
1170
|
-
[c, [u,
|
|
1171
|
+
[c, [u, X], [s, ge]],
|
|
1171
1172
|
[
|
|
1172
1173
|
/(pico) ([\w ]+) os\d/i
|
|
1173
1174
|
// Pico
|
|
@@ -1177,7 +1178,7 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1177
1178
|
/(quest( \d| pro)?s?).+vr/i
|
|
1178
1179
|
// Meta Quest
|
|
1179
1180
|
],
|
|
1180
|
-
[c, [u,
|
|
1181
|
+
[c, [u, Ke], [s, ge]],
|
|
1181
1182
|
[
|
|
1182
1183
|
/mobile vr; rv.+firefox/i
|
|
1183
1184
|
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
@@ -1221,17 +1222,17 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1221
1222
|
[
|
|
1222
1223
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
1223
1224
|
],
|
|
1224
|
-
[c, [s, U, { mobile: "Mobile", xr: "VR", "*":
|
|
1225
|
+
[c, [s, U, { mobile: "Mobile", xr: "VR", "*": _ }]],
|
|
1225
1226
|
[
|
|
1226
1227
|
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
1227
1228
|
// Unidentifiable Tablet
|
|
1228
1229
|
],
|
|
1229
|
-
[[s,
|
|
1230
|
+
[[s, _]],
|
|
1230
1231
|
[
|
|
1231
1232
|
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
1232
1233
|
// Unidentifiable Mobile
|
|
1233
1234
|
],
|
|
1234
|
-
[[s,
|
|
1235
|
+
[[s, I]],
|
|
1235
1236
|
[
|
|
1236
1237
|
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
1237
1238
|
// Generic Android Device
|
|
@@ -1243,17 +1244,17 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1243
1244
|
/windows.+ edge\/([\w\.]+)/i
|
|
1244
1245
|
// EdgeHTML
|
|
1245
1246
|
],
|
|
1246
|
-
[
|
|
1247
|
+
[d, [l, _e + "HTML"]],
|
|
1247
1248
|
[
|
|
1248
1249
|
/(arkweb)\/([\w\.]+)/i
|
|
1249
1250
|
// ArkWeb
|
|
1250
1251
|
],
|
|
1251
|
-
[
|
|
1252
|
+
[l, d],
|
|
1252
1253
|
[
|
|
1253
1254
|
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
1254
1255
|
// Blink
|
|
1255
1256
|
],
|
|
1256
|
-
[
|
|
1257
|
+
[d, [l, "Blink"]],
|
|
1257
1258
|
[
|
|
1258
1259
|
/(presto)\/([\w\.]+)/i,
|
|
1259
1260
|
// Presto
|
|
@@ -1268,16 +1269,16 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1268
1269
|
/\b(libweb)/i
|
|
1269
1270
|
// LibWeb
|
|
1270
1271
|
],
|
|
1271
|
-
[
|
|
1272
|
+
[l, d],
|
|
1272
1273
|
[
|
|
1273
1274
|
/ladybird\//i
|
|
1274
1275
|
],
|
|
1275
|
-
[[
|
|
1276
|
+
[[l, "LibWeb"]],
|
|
1276
1277
|
[
|
|
1277
1278
|
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
1278
1279
|
// Gecko
|
|
1279
1280
|
],
|
|
1280
|
-
[
|
|
1281
|
+
[d, l]
|
|
1281
1282
|
],
|
|
1282
1283
|
os: [
|
|
1283
1284
|
[
|
|
@@ -1285,24 +1286,24 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1285
1286
|
/(windows nt) (6\.[23]); arm/i
|
|
1286
1287
|
// Windows RT
|
|
1287
1288
|
],
|
|
1288
|
-
[[
|
|
1289
|
+
[[l, /N/, "R"], [d, U, m0]],
|
|
1289
1290
|
[
|
|
1290
1291
|
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
1291
1292
|
// Windows IoT/Mobile/Phone
|
|
1292
1293
|
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
1293
1294
|
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
1294
1295
|
],
|
|
1295
|
-
[
|
|
1296
|
+
[l, d],
|
|
1296
1297
|
[
|
|
1297
1298
|
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
1298
1299
|
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
1299
1300
|
],
|
|
1300
|
-
[[
|
|
1301
|
+
[[d, /(;|\))/g, "", U, m0], [l, Xe]],
|
|
1301
1302
|
[
|
|
1302
1303
|
/(windows ce)\/?([\d\.]*)/i
|
|
1303
1304
|
// Windows CE
|
|
1304
1305
|
],
|
|
1305
|
-
[
|
|
1306
|
+
[l, d],
|
|
1306
1307
|
[
|
|
1307
1308
|
// iOS/macOS
|
|
1308
1309
|
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
@@ -1311,100 +1312,100 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1311
1312
|
/\btvos ?([\w\.]+)/i,
|
|
1312
1313
|
/cfnetwork\/.+darwin/i
|
|
1313
1314
|
],
|
|
1314
|
-
[[
|
|
1315
|
+
[[d, /_/g, "."], [l, "iOS"]],
|
|
1315
1316
|
[
|
|
1316
1317
|
/(mac os x) ?([\w\. ]*)/i,
|
|
1317
1318
|
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
1318
1319
|
// Mac OS
|
|
1319
1320
|
],
|
|
1320
|
-
[[
|
|
1321
|
+
[[l, "macOS"], [d, /_/g, "."]],
|
|
1321
1322
|
[
|
|
1322
1323
|
// Google Chromecast
|
|
1323
1324
|
/android ([\d\.]+).*crkey/i
|
|
1324
1325
|
// Google Chromecast, Android-based
|
|
1325
1326
|
],
|
|
1326
|
-
[
|
|
1327
|
+
[d, [l, z + " Android"]],
|
|
1327
1328
|
[
|
|
1328
1329
|
/fuchsia.*crkey\/([\d\.]+)/i
|
|
1329
1330
|
// Google Chromecast, Fuchsia-based
|
|
1330
1331
|
],
|
|
1331
|
-
[
|
|
1332
|
+
[d, [l, z + " Fuchsia"]],
|
|
1332
1333
|
[
|
|
1333
1334
|
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
1334
1335
|
// Google Chromecast, Linux-based Smart Speaker
|
|
1335
1336
|
],
|
|
1336
|
-
[
|
|
1337
|
+
[d, [l, z + " SmartSpeaker"]],
|
|
1337
1338
|
[
|
|
1338
1339
|
/linux.*crkey\/([\d\.]+)/i
|
|
1339
1340
|
// Google Chromecast, Legacy Linux-based
|
|
1340
1341
|
],
|
|
1341
|
-
[
|
|
1342
|
+
[d, [l, z + " Linux"]],
|
|
1342
1343
|
[
|
|
1343
1344
|
/crkey\/([\d\.]+)/i
|
|
1344
1345
|
// Google Chromecast, unknown
|
|
1345
1346
|
],
|
|
1346
|
-
[
|
|
1347
|
+
[d, [l, z]],
|
|
1347
1348
|
[
|
|
1348
1349
|
// Mobile OSes
|
|
1349
1350
|
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
1350
1351
|
// Android-x86
|
|
1351
1352
|
],
|
|
1352
|
-
[
|
|
1353
|
+
[d, l],
|
|
1353
1354
|
[
|
|
1354
1355
|
/(ubuntu) ([\w\.]+) like android/i
|
|
1355
1356
|
// Ubuntu Touch
|
|
1356
1357
|
],
|
|
1357
|
-
[[
|
|
1358
|
+
[[l, /(.+)/, "$1 Touch"], d],
|
|
1358
1359
|
[
|
|
1359
1360
|
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
1360
1361
|
// HarmonyOS
|
|
1361
1362
|
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
1362
1363
|
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
1363
1364
|
],
|
|
1364
|
-
[
|
|
1365
|
+
[l, d],
|
|
1365
1366
|
[
|
|
1366
1367
|
/\(bb(10);/i
|
|
1367
1368
|
// BlackBerry 10
|
|
1368
1369
|
],
|
|
1369
|
-
[
|
|
1370
|
+
[d, [l, l0]],
|
|
1370
1371
|
[
|
|
1371
1372
|
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
1372
1373
|
// Symbian
|
|
1373
1374
|
],
|
|
1374
|
-
[
|
|
1375
|
+
[d, [l, "Symbian"]],
|
|
1375
1376
|
[
|
|
1376
1377
|
/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i
|
|
1377
1378
|
// Firefox OS
|
|
1378
1379
|
],
|
|
1379
|
-
[
|
|
1380
|
+
[d, [l, ue + " OS"]],
|
|
1380
1381
|
[
|
|
1381
1382
|
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
1382
1383
|
// WebOS
|
|
1383
1384
|
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
1384
1385
|
],
|
|
1385
|
-
[
|
|
1386
|
+
[d, [l, "webOS"]],
|
|
1386
1387
|
[
|
|
1387
1388
|
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
1388
1389
|
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
1389
1390
|
],
|
|
1390
|
-
[[
|
|
1391
|
+
[[d, U, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [l, "webOS"]],
|
|
1391
1392
|
[
|
|
1392
1393
|
/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
|
|
1393
1394
|
// watchOS
|
|
1394
1395
|
],
|
|
1395
|
-
[
|
|
1396
|
+
[d, [l, "watchOS"]],
|
|
1396
1397
|
[
|
|
1397
1398
|
// Google ChromeOS
|
|
1398
1399
|
/cros [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
1399
1400
|
// Chromium OS
|
|
1400
1401
|
],
|
|
1401
|
-
[
|
|
1402
|
+
[d, [l, "Chrome OS"]],
|
|
1402
1403
|
[
|
|
1403
1404
|
// Smart TVs
|
|
1404
1405
|
/kepler ([\w\.]+); (aft|aeo)/i
|
|
1405
1406
|
// Vega OS
|
|
1406
1407
|
],
|
|
1407
|
-
[
|
|
1408
|
+
[d, [l, "Vega OS"]],
|
|
1408
1409
|
[
|
|
1409
1410
|
/(netrange)mmh/i,
|
|
1410
1411
|
// Netrange
|
|
@@ -1439,109 +1440,109 @@ var Zt = "2.0.9", Qt = 500, st = "user-agent", re = "", ct = "?", _ = {
|
|
|
1439
1440
|
/(haiku) ?(r\d)?/i
|
|
1440
1441
|
// Haiku
|
|
1441
1442
|
],
|
|
1442
|
-
[
|
|
1443
|
+
[l, d],
|
|
1443
1444
|
[
|
|
1444
1445
|
/(sunos) ?([\d\.]*)/i
|
|
1445
1446
|
// Solaris
|
|
1446
1447
|
],
|
|
1447
|
-
[[
|
|
1448
|
+
[[l, "Solaris"], d],
|
|
1448
1449
|
[
|
|
1449
1450
|
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
1450
1451
|
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
1451
1452
|
/(unix) ?([\w\.]*)/i
|
|
1452
1453
|
// UNIX
|
|
1453
1454
|
],
|
|
1454
|
-
[
|
|
1455
|
+
[l, d]
|
|
1455
1456
|
]
|
|
1456
1457
|
}, ve = (function() {
|
|
1457
1458
|
var x = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
1458
|
-
return
|
|
1459
|
-
[P, [
|
|
1460
|
-
[
|
|
1461
|
-
[
|
|
1462
|
-
[
|
|
1463
|
-
[N, [
|
|
1464
|
-
]),
|
|
1465
|
-
[P, [
|
|
1466
|
-
[
|
|
1467
|
-
[N, [
|
|
1468
|
-
]),
|
|
1459
|
+
return W.call(x.init, [
|
|
1460
|
+
[P, [l, d, he, s]],
|
|
1461
|
+
[q, [R]],
|
|
1462
|
+
[H, [s, c, u]],
|
|
1463
|
+
[B, [l, d]],
|
|
1464
|
+
[N, [l, d]]
|
|
1465
|
+
]), W.call(x.isIgnore, [
|
|
1466
|
+
[P, [d, he]],
|
|
1467
|
+
[B, [d]],
|
|
1468
|
+
[N, [d]]
|
|
1469
|
+
]), W.call(x.isIgnoreRgx, [
|
|
1469
1470
|
[P, / ?browser$/i],
|
|
1470
1471
|
[N, / ?os$/i]
|
|
1471
|
-
]),
|
|
1472
|
-
[P, [
|
|
1473
|
-
[
|
|
1474
|
-
[
|
|
1475
|
-
[
|
|
1476
|
-
[N, [
|
|
1472
|
+
]), W.call(x.toString, [
|
|
1473
|
+
[P, [l, d]],
|
|
1474
|
+
[q, [R]],
|
|
1475
|
+
[H, [u, c]],
|
|
1476
|
+
[B, [l, d]],
|
|
1477
|
+
[N, [l, d]]
|
|
1477
1478
|
]), x;
|
|
1478
|
-
})(),
|
|
1479
|
-
var e = ve.init[t], i = ve.isIgnore[t] || 0,
|
|
1479
|
+
})(), dt = function(x, t) {
|
|
1480
|
+
var e = ve.init[t], i = ve.isIgnore[t] || 0, a = ve.isIgnoreRgx[t] || 0, r = ve.toString[t] || 0;
|
|
1480
1481
|
function o() {
|
|
1481
|
-
|
|
1482
|
+
W.call(this, e);
|
|
1482
1483
|
}
|
|
1483
1484
|
return o.prototype.getItem = function() {
|
|
1484
1485
|
return x;
|
|
1485
1486
|
}, o.prototype.withClientHints = function() {
|
|
1486
|
-
return $ ? $.getHighEntropyValues(
|
|
1487
|
-
return x.setCH(new
|
|
1487
|
+
return $ ? $.getHighEntropyValues(O0).then(function(f) {
|
|
1488
|
+
return x.setCH(new P0(f, !1)).parseCH().get();
|
|
1488
1489
|
}) : x.parseCH().get();
|
|
1489
1490
|
}, o.prototype.withFeatureCheck = function() {
|
|
1490
1491
|
return x.detectFeature().get();
|
|
1491
|
-
}, t != oe && (o.prototype.is = function(
|
|
1492
|
+
}, t != oe && (o.prototype.is = function(f) {
|
|
1492
1493
|
var p = !1;
|
|
1493
|
-
for (var
|
|
1494
|
-
if (this.hasOwnProperty(
|
|
1495
|
-
if (p = !0,
|
|
1496
|
-
} else if (
|
|
1494
|
+
for (var v in this)
|
|
1495
|
+
if (this.hasOwnProperty(v) && !Qe(i, v) && K(a ? ce(a, this[v]) : this[v]) == K(a ? ce(a, f) : f)) {
|
|
1496
|
+
if (p = !0, f != E.UNDEFINED) break;
|
|
1497
|
+
} else if (f == E.UNDEFINED && p) {
|
|
1497
1498
|
p = !p;
|
|
1498
1499
|
break;
|
|
1499
1500
|
}
|
|
1500
1501
|
return p;
|
|
1501
1502
|
}, o.prototype.toString = function() {
|
|
1502
|
-
var
|
|
1503
|
+
var f = re;
|
|
1503
1504
|
for (var p in r)
|
|
1504
|
-
typeof this[r[p]] !==
|
|
1505
|
-
return
|
|
1506
|
-
}), o.prototype.then = function(
|
|
1507
|
-
var p = this,
|
|
1505
|
+
typeof this[r[p]] !== E.UNDEFINED && (f += (f ? " " : re) + this[r[p]]);
|
|
1506
|
+
return f || E.UNDEFINED;
|
|
1507
|
+
}), o.prototype.then = function(f) {
|
|
1508
|
+
var p = this, v = function() {
|
|
1508
1509
|
for (var A in p)
|
|
1509
1510
|
p.hasOwnProperty(A) && (this[A] = p[A]);
|
|
1510
1511
|
};
|
|
1511
|
-
|
|
1512
|
+
v.prototype = {
|
|
1512
1513
|
is: o.prototype.is,
|
|
1513
1514
|
toString: o.prototype.toString,
|
|
1514
1515
|
withClientHints: o.prototype.withClientHints,
|
|
1515
1516
|
withFeatureCheck: o.prototype.withFeatureCheck
|
|
1516
1517
|
};
|
|
1517
|
-
var
|
|
1518
|
-
return
|
|
1518
|
+
var S = new v();
|
|
1519
|
+
return f(S), S;
|
|
1519
1520
|
}, new o();
|
|
1520
1521
|
};
|
|
1521
|
-
function
|
|
1522
|
-
if (x = x || {},
|
|
1523
|
-
|
|
1524
|
-
[
|
|
1525
|
-
[
|
|
1526
|
-
[
|
|
1527
|
-
[c,
|
|
1528
|
-
[se,
|
|
1529
|
-
[
|
|
1530
|
-
[R,
|
|
1531
|
-
[Q, je(x[
|
|
1532
|
-
[
|
|
1522
|
+
function P0(x, t) {
|
|
1523
|
+
if (x = x || {}, W.call(this, O0), t)
|
|
1524
|
+
W.call(this, [
|
|
1525
|
+
[t0, je(x[Z])],
|
|
1526
|
+
[i0, je(x[tt])],
|
|
1527
|
+
[I, /\?1/.test(x[nt])],
|
|
1528
|
+
[c, fe(x[rt])],
|
|
1529
|
+
[se, fe(x[D0])],
|
|
1530
|
+
[x0, fe(x[ot])],
|
|
1531
|
+
[R, fe(x[it])],
|
|
1532
|
+
[Q, je(x[at])],
|
|
1533
|
+
[Be, fe(x[xt])]
|
|
1533
1534
|
]);
|
|
1534
1535
|
else
|
|
1535
1536
|
for (var e in x)
|
|
1536
|
-
this.hasOwnProperty(e) && typeof x[e] !==
|
|
1537
|
+
this.hasOwnProperty(e) && typeof x[e] !== E.UNDEFINED && (this[e] = x[e]);
|
|
1537
1538
|
}
|
|
1538
1539
|
function j(x, t, e, i) {
|
|
1539
|
-
return
|
|
1540
|
+
return W.call(this, [
|
|
1540
1541
|
["itemType", x],
|
|
1541
1542
|
["ua", t],
|
|
1542
1543
|
["uaCH", i],
|
|
1543
1544
|
["rgxMap", e],
|
|
1544
|
-
["data",
|
|
1545
|
+
["data", dt(this, x)]
|
|
1545
1546
|
]), this;
|
|
1546
1547
|
}
|
|
1547
1548
|
j.prototype.get = function(x) {
|
|
@@ -1557,31 +1558,31 @@ j.prototype.detectFeature = function() {
|
|
|
1557
1558
|
if (O && O.userAgent == this.ua)
|
|
1558
1559
|
switch (this.itemType) {
|
|
1559
1560
|
case P:
|
|
1560
|
-
O.brave && typeof O.brave.isBrave ==
|
|
1561
|
+
O.brave && typeof O.brave.isBrave == E.FUNCTION && this.set(l, "Brave");
|
|
1561
1562
|
break;
|
|
1562
|
-
case
|
|
1563
|
-
!this.get(s) && $ && $[
|
|
1563
|
+
case H:
|
|
1564
|
+
!this.get(s) && $ && $[I] && this.set(s, I), this.get(c) == "Macintosh" && O && typeof O.standalone !== E.UNDEFINED && O.maxTouchPoints && O.maxTouchPoints > 2 && this.set(c, "iPad").set(s, _);
|
|
1564
1565
|
break;
|
|
1565
1566
|
case N:
|
|
1566
|
-
!this.get(
|
|
1567
|
+
!this.get(l) && $ && $[se] && this.set(l, $[se]);
|
|
1567
1568
|
break;
|
|
1568
1569
|
case oe:
|
|
1569
1570
|
var x = this.data, t = function(e) {
|
|
1570
1571
|
return x[e].getItem().detectFeature().get();
|
|
1571
1572
|
};
|
|
1572
|
-
this.set(P, t(P)).set(
|
|
1573
|
+
this.set(P, t(P)).set(q, t(q)).set(H, t(H)).set(B, t(B)).set(N, t(N));
|
|
1573
1574
|
}
|
|
1574
1575
|
return this;
|
|
1575
1576
|
};
|
|
1576
1577
|
j.prototype.parseUA = function() {
|
|
1577
|
-
switch (this.itemType != oe &&
|
|
1578
|
+
switch (this.itemType != oe && e0.call(this.data, this.ua, this.rgxMap), this.itemType) {
|
|
1578
1579
|
case P:
|
|
1579
|
-
this.set(he,
|
|
1580
|
+
this.set(he, $e(this.get(d)));
|
|
1580
1581
|
break;
|
|
1581
1582
|
case N:
|
|
1582
|
-
if (this.get(
|
|
1583
|
+
if (this.get(l) == "iOS" && this.get(d) == "18.6") {
|
|
1583
1584
|
var x = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
1584
|
-
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(
|
|
1585
|
+
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(d, x[1]);
|
|
1585
1586
|
}
|
|
1586
1587
|
break;
|
|
1587
1588
|
}
|
|
@@ -1591,743 +1592,756 @@ j.prototype.parseCH = function() {
|
|
|
1591
1592
|
var x = this.uaCH, t = this.rgxMap;
|
|
1592
1593
|
switch (this.itemType) {
|
|
1593
1594
|
case P:
|
|
1594
|
-
case
|
|
1595
|
-
var e = x[
|
|
1595
|
+
case B:
|
|
1596
|
+
var e = x[i0] || x[t0], i;
|
|
1596
1597
|
if (e)
|
|
1597
|
-
for (var
|
|
1598
|
-
var r = e[
|
|
1599
|
-
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r !=
|
|
1598
|
+
for (var a = 0; a < e.length; a++) {
|
|
1599
|
+
var r = e[a].brand || e[a], o = e[a].version;
|
|
1600
|
+
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r != w0 || i == _e && /WebView2/.test(r)) && (r = U(r, lt), i = this.get(l), i && !/Chrom/.test(i) && /Chrom/.test(r) || this.set(l, r).set(d, o).set(he, $e(o)), i = r), this.itemType == B && r == w0 && this.set(d, o);
|
|
1600
1601
|
}
|
|
1601
1602
|
break;
|
|
1602
|
-
case
|
|
1603
|
-
var
|
|
1604
|
-
|
|
1603
|
+
case q:
|
|
1604
|
+
var f = x[R];
|
|
1605
|
+
f && (f && x[Be] == "64" && (f += "64"), e0.call(this.data, f + ";", t));
|
|
1605
1606
|
break;
|
|
1606
|
-
case
|
|
1607
|
-
if (x[
|
|
1607
|
+
case H:
|
|
1608
|
+
if (x[I] && this.set(s, I), x[c] && (this.set(c, x[c]), !this.get(s) || !this.get(u))) {
|
|
1608
1609
|
var p = {};
|
|
1609
|
-
|
|
1610
|
+
e0.call(p, "droid 9; " + x[c] + ")", t), !this.get(s) && p.type && this.set(s, p.type), !this.get(u) && p.vendor && this.set(u, p.vendor);
|
|
1610
1611
|
}
|
|
1611
1612
|
if (x[Q]) {
|
|
1612
|
-
var
|
|
1613
|
+
var v;
|
|
1613
1614
|
if (typeof x[Q] != "string")
|
|
1614
|
-
for (var
|
|
1615
|
-
|
|
1615
|
+
for (var S = 0; !v && S < x[Q].length; )
|
|
1616
|
+
v = U(x[Q][S++], y0);
|
|
1616
1617
|
else
|
|
1617
|
-
|
|
1618
|
-
this.set(s,
|
|
1618
|
+
v = U(x[Q], y0);
|
|
1619
|
+
this.set(s, v);
|
|
1619
1620
|
}
|
|
1620
1621
|
break;
|
|
1621
1622
|
case N:
|
|
1622
1623
|
var A = x[se];
|
|
1623
1624
|
if (A) {
|
|
1624
|
-
var D = x[
|
|
1625
|
-
A ==
|
|
1625
|
+
var D = x[x0];
|
|
1626
|
+
A == Xe && (D = parseInt($e(D), 10) >= 13 ? "11" : "10"), this.set(l, A).set(d, D);
|
|
1626
1627
|
}
|
|
1627
|
-
this.get(
|
|
1628
|
+
this.get(l) == Xe && x[c] == "Xbox" && this.set(l, "Xbox").set(d, void 0);
|
|
1628
1629
|
break;
|
|
1629
1630
|
case oe:
|
|
1630
|
-
var
|
|
1631
|
-
return
|
|
1631
|
+
var J = this.data, V = function(Y) {
|
|
1632
|
+
return J[Y].getItem().setCH(x).parseCH().get();
|
|
1632
1633
|
};
|
|
1633
|
-
this.set(P, V(P)).set(
|
|
1634
|
+
this.set(P, V(P)).set(q, V(q)).set(H, V(H)).set(B, V(B)).set(N, V(N));
|
|
1634
1635
|
}
|
|
1635
1636
|
return this;
|
|
1636
1637
|
};
|
|
1637
|
-
function
|
|
1638
|
-
if (typeof x ===
|
|
1639
|
-
if (typeof e.append ===
|
|
1638
|
+
function G(x, t, e) {
|
|
1639
|
+
if (typeof x === E.OBJECT ? (Ae(x, !0) ? (typeof t === E.OBJECT && (e = t), t = x) : (e = x, t = void 0), x = void 0) : typeof x === E.STRING && !Ae(t, !0) && (e = t, t = void 0), e)
|
|
1640
|
+
if (typeof e.append === E.FUNCTION) {
|
|
1640
1641
|
var i = {};
|
|
1641
|
-
e.forEach(function(
|
|
1642
|
-
i[String(A).toLowerCase()] =
|
|
1642
|
+
e.forEach(function(S, A) {
|
|
1643
|
+
i[String(A).toLowerCase()] = S;
|
|
1643
1644
|
}), e = i;
|
|
1644
1645
|
} else {
|
|
1645
|
-
var
|
|
1646
|
+
var a = {};
|
|
1646
1647
|
for (var r in e)
|
|
1647
|
-
e.hasOwnProperty(r) && (
|
|
1648
|
-
e =
|
|
1648
|
+
e.hasOwnProperty(r) && (a[String(r).toLowerCase()] = e[r]);
|
|
1649
|
+
e = a;
|
|
1649
1650
|
}
|
|
1650
|
-
if (!(this instanceof
|
|
1651
|
-
return new
|
|
1652
|
-
var o = typeof x ===
|
|
1651
|
+
if (!(this instanceof G))
|
|
1652
|
+
return new G(x, t, e).getResult();
|
|
1653
|
+
var o = typeof x === E.STRING ? x : (
|
|
1653
1654
|
// Passed user-agent string
|
|
1654
|
-
e && e[
|
|
1655
|
+
e && e[o0] ? e[o0] : (
|
|
1655
1656
|
// User-Agent from passed headers
|
|
1656
1657
|
O && O.userAgent ? O.userAgent : (
|
|
1657
1658
|
// navigator.userAgent
|
|
1658
1659
|
re
|
|
1659
1660
|
)
|
|
1660
1661
|
)
|
|
1661
|
-
),
|
|
1662
|
-
return
|
|
1663
|
-
return new j(
|
|
1662
|
+
), f = new P0(e, !0), p = t ? ct(v0, t) : v0, v = function(S) {
|
|
1663
|
+
return S == oe ? function() {
|
|
1664
|
+
return new j(S, o, p, f).set("ua", o).set(P, this.getBrowser()).set(q, this.getCPU()).set(H, this.getDevice()).set(B, this.getEngine()).set(N, this.getOS()).get();
|
|
1664
1665
|
} : function() {
|
|
1665
|
-
return new j(
|
|
1666
|
+
return new j(S, o, p[S], f).parseUA().get();
|
|
1666
1667
|
};
|
|
1667
1668
|
};
|
|
1668
|
-
return
|
|
1669
|
-
["getBrowser",
|
|
1670
|
-
["getCPU",
|
|
1671
|
-
["getDevice",
|
|
1672
|
-
["getEngine",
|
|
1673
|
-
["getOS",
|
|
1674
|
-
["getResult",
|
|
1669
|
+
return W.call(this, [
|
|
1670
|
+
["getBrowser", v(P)],
|
|
1671
|
+
["getCPU", v(q)],
|
|
1672
|
+
["getDevice", v(H)],
|
|
1673
|
+
["getEngine", v(B)],
|
|
1674
|
+
["getOS", v(N)],
|
|
1675
|
+
["getResult", v(oe)],
|
|
1675
1676
|
["getUA", function() {
|
|
1676
1677
|
return o;
|
|
1677
1678
|
}],
|
|
1678
|
-
["setUA", function(
|
|
1679
|
-
return
|
|
1679
|
+
["setUA", function(S) {
|
|
1680
|
+
return be(S) && (o = Me(S, $0)), this;
|
|
1680
1681
|
}]
|
|
1681
1682
|
]).setUA(o), this;
|
|
1682
1683
|
}
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
const
|
|
1684
|
+
G.VERSION = Q0;
|
|
1685
|
+
G.BROWSER = Le([l, d, he, s]);
|
|
1686
|
+
G.CPU = Le([R]);
|
|
1687
|
+
G.DEVICE = Le([c, u, s, Ie, I, T, _, F, pe]);
|
|
1688
|
+
G.ENGINE = G.OS = Le([l, d]);
|
|
1689
|
+
const ut = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1690
|
+
__proto__: null,
|
|
1691
|
+
UAParser: G
|
|
1692
|
+
}, Symbol.toStringTag, { value: "Module" })), M = [];
|
|
1689
1693
|
for (let x = 0; x < 256; ++x)
|
|
1690
1694
|
M.push((x + 256).toString(16).slice(1));
|
|
1691
|
-
function
|
|
1695
|
+
function ft(x, t = 0) {
|
|
1692
1696
|
return (M[x[t + 0]] + M[x[t + 1]] + M[x[t + 2]] + M[x[t + 3]] + "-" + M[x[t + 4]] + M[x[t + 5]] + "-" + M[x[t + 6]] + M[x[t + 7]] + "-" + M[x[t + 8]] + M[x[t + 9]] + "-" + M[x[t + 10]] + M[x[t + 11]] + M[x[t + 12]] + M[x[t + 13]] + M[x[t + 14]] + M[x[t + 15]]).toLowerCase();
|
|
1693
1697
|
}
|
|
1694
|
-
let
|
|
1695
|
-
const
|
|
1696
|
-
function
|
|
1697
|
-
if (!
|
|
1698
|
+
let Ze;
|
|
1699
|
+
const pt = new Uint8Array(16);
|
|
1700
|
+
function ht() {
|
|
1701
|
+
if (!Ze) {
|
|
1698
1702
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
1699
1703
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
1700
|
-
|
|
1704
|
+
Ze = crypto.getRandomValues.bind(crypto);
|
|
1701
1705
|
}
|
|
1702
|
-
return
|
|
1706
|
+
return Ze(pt);
|
|
1703
1707
|
}
|
|
1704
|
-
const
|
|
1705
|
-
function
|
|
1708
|
+
const bt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), S0 = { randomUUID: bt };
|
|
1709
|
+
function wt(x, t, e) {
|
|
1706
1710
|
x = x || {};
|
|
1707
|
-
const i = x.random ?? x.rng?.() ??
|
|
1711
|
+
const i = x.random ?? x.rng?.() ?? ht();
|
|
1708
1712
|
if (i.length < 16)
|
|
1709
1713
|
throw new Error("Random bytes length must be >= 16");
|
|
1710
|
-
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128,
|
|
1714
|
+
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, ft(i);
|
|
1711
1715
|
}
|
|
1712
|
-
function
|
|
1713
|
-
return
|
|
1716
|
+
function N0(x, t, e) {
|
|
1717
|
+
return S0.randomUUID && !x ? S0.randomUUID() : wt(x);
|
|
1714
1718
|
}
|
|
1715
|
-
function
|
|
1716
|
-
return x = x -
|
|
1719
|
+
function U0(x, t) {
|
|
1720
|
+
return x = x - 367, Re()[x];
|
|
1717
1721
|
}
|
|
1718
|
-
|
|
1722
|
+
function Re() {
|
|
1723
|
+
const x = ["Japan", "Lithuania", "Swaziland", "Austria", "Andorra", "Niger", "Gabon", "Virgin Islands (U.S.)", "Nauru", "Zimbabwe", "Korea, Republic of", "Singapore", "Cameroon", "Turkey", "Latvia", "Switzerland", "Oman", "British Indian Ocean Territory", "Kenya", "Benin", "Bonaire, Sint Eustatius and Saba", "Finland", "Cook Islands", "Myanmar", "Haiti", "Serbia", "Niue", "Norfolk Island", "Colombia", "Libya", "Mozambique", "Antigua and Barbuda", "Tokelau", "Brazil", "Armenia", "Bermuda", "Sudan", "India", "Namibia", "Czech Republic", "Tuvalu", "Slovakia", "9nrfiCC", "Liechtenstein", "Turkmenistan", "Guyana", "Bouvet Island", "Virgin Islands (British)", "10mrgbda", "Cayman Islands", "South Sudan", "Kazakhstan", "Madagascar", "Panama", "Hungary", "Zambia", "Marshall Islands", "Nepal", "Kiribati", "Guadeloupe", "Tanzania, United Republic of", "Cambodia", "Martinique", "Tunisia", "Afghanistan", "Svalbard and Jan Mayen", "Djibouti", "Belarus", "Guatemala", "Mauritius", "Russian Federation", "South Africa", "Australia", "France", "Nigeria", "Antarctica", "Uzbekistan", "Jamaica", "Israel", "Belize", "Central African Republic", "Jersey", "Viet Nam", "Hong Kong", "Poland", "Monaco", "Macedonia (the former Yugoslav Republic of)", "190782LXNHrv", "Moldova (Republic of)", "Nicaragua", "Saint Helena, Ascension and Tristan da Cunha", "1751637IyuvHc", "Senegal", "Iceland", "Belgium", "Sao Tome and Principe", "United Arab Emirates", "Ghana", "Christmas Island", "Saint Kitts and Nevis", "Bahamas", "Micronesia (Federated States of)", "Argentina", "Netherlands", "Ecuador", "New Zealand", "Algeria", "French Polynesia", "Slovenia", "Lesotho", "Equatorial Guinea", "Uruguay", "Macao", "Georgia", "Holy See", "Bangladesh", "Seychelles", "Chile", "2086UFUiIQ", "Saint Martin (French part)", "Canada", "Saint Pierre and Miquelon", "Iran (Islamic Republic of)", "Aruba", "Mexico", "Réunion", "American Samoa", "Sweden", "Egypt", "8077352WyypLn", "San Marino", "New Caledonia", "Malta", "Yemen", "French Southern Territories", "United States Minor Outlying Islands", "Rwanda", "El Salvador", "Bhutan", "92588JmyNYm", "Pakistan", "Bahrain", "Malaysia", "Cyprus", "Cocos (Keeling) Islands", "Comoros", "Papua New Guinea", "Korea (Democratic People's Republic of)", "Turks and Caicos Islands", "Luxembourg", "Romania", "Saint Vincent and the Grenadines", "Italy", "Dominican Republic", "Lao People's Democratic Republic", "Gibraltar", "Lebanon", "152089wpWuLY", "Thailand", "South Georgia and the South Sandwich Islands", "Indonesia", "Saudi Arabia", "Mongolia", "United Kingdom", "Bulgaria", "50UFWieS", "Congo", "Albania", "Morocco", "Croatia", "Brunei Darussalam", "Tonga", "Greenland", "Jordan", "Tajikistan", "Mauritania", "Dominica", "30RivybM", "Solomon Islands", "Eritrea", "Philippines", "Venezuela (Bolivarian Republic of)", "Azerbaijan", "Faroe Islands", "Iraq", "Honduras", "Palau", "Gambia", "13077163XuWYkY", "Ireland", "Palestine, State of", "United States of America", "Congo (Democratic Republic of the)", "Ethiopia", "Samoa", "Puerto Rico"];
|
|
1724
|
+
return Re = function() {
|
|
1725
|
+
return x;
|
|
1726
|
+
}, Re();
|
|
1727
|
+
}
|
|
1728
|
+
const n = U0;
|
|
1719
1729
|
(function(x, t) {
|
|
1720
|
-
const e =
|
|
1730
|
+
const e = U0, i = x();
|
|
1721
1731
|
for (; ; )
|
|
1722
1732
|
try {
|
|
1723
|
-
if (parseInt(e(
|
|
1733
|
+
if (-parseInt(e(414)) / 1 + -parseInt(e(383)) / 2 + parseInt(e(387)) / 3 + parseInt(e(435)) / 4 * (-parseInt(e(461)) / 5) + parseInt(e(473)) / 6 * (parseInt(e(453)) / 7) + -parseInt(e(425)) / 8 * (parseInt(e(534)) / 9) + parseInt(e(540)) / 10 * (parseInt(e(484)) / 11) === t) break;
|
|
1724
1734
|
i.push(i.shift());
|
|
1725
1735
|
} catch {
|
|
1726
1736
|
i.push(i.shift());
|
|
1727
1737
|
}
|
|
1728
|
-
})(Re,
|
|
1729
|
-
|
|
1730
|
-
const x = ["El Salvador", "Lao People's Democratic Republic", "Chile", "Poland", "Djibouti", "Iran (Islamic Republic of)", "Sudan", "New Caledonia", "Portugal", "Jordan", "Bahrain", "Guatemala", "Namibia", "Saint Vincent and the Grenadines", "Dominica", "Indonesia", "Gambia", "Russian Federation", "Solomon Islands", "Palau", "Brazil", "Niue", "Kiribati", "258912AKfvoI", "5159208zccWXj", "Malta", "Mexico", "France", "Argentina", "Paraguay", "Philippines", "Denmark", "Swaziland", "Estonia", "Eritrea", "Sweden", "Norfolk Island", "Bahamas", "Cabo Verde", "Western Sahara", "Ethiopia", "United States Minor Outlying Islands", "Korea, Republic of", "Latvia", "Saint Lucia", "Algeria", "Norway", "Aruba", "Greece", "Costa Rica", "Kenya", "Vanuatu", "Morocco", "Saint Helena, Ascension and Tristan da Cunha", "Cuba", "Yemen", "758155UfEmkt", "Nigeria", "Taiwan", "Slovakia", "Sao Tome and Principe", "Rwanda", "Bosnia and Herzegovina", "Egypt", "Saint Kitts and Nevis", "Malaysia", "Mali", "French Guiana", "Finland", "Moldova (Republic of)", "Saint Barthélemy", "Central African Republic", "5150ESRGKX", "Guinea-Bissau", "Antarctica", "Falkland Islands (Malvinas)", "Tokelau", "Ireland", "New Zealand", "Papua New Guinea", "Myanmar", "Uganda", "Haiti", "Faroe Islands", "Japan", "Côte d'Ivoire", "Monaco", "Niger", "Northern Mariana Islands", "Bolivia (Plurinational State of)", "Qatar", "Brunei Darussalam", "Croatia", "2394732GcqcYT", "Dominican Republic", "Viet Nam", "Thailand", "Slovenia", "Wallis and Futuna", "China", "Sierra Leone", "Ukraine", "Ecuador", "Togo", "Åland Islands", "Madagascar", "Cambodia", "Guernsey", "Congo", "Bouvet Island", "American Samoa", "Nepal", "Colombia", "Burkina Faso", "Peru", "Cayman Islands", "7oSOnqs", "Cook Islands", "Mongolia", "Virgin Islands (British)", "Guyana", "Tuvalu", "Guadeloupe", "Jamaica", "United Arab Emirates", "Puerto Rico", "Cyprus", "Bhutan", "Canada", "Curaçao", "Armenia", "Heard Island and McDonald Islands", "Kyrgyzstan", "Samoa", "Pakistan", "United States of America", "Timor-Leste", "Bermuda", "Libya", "Honduras", "Cocos (Keeling) Islands", "Venezuela (Bolivarian Republic of)", "Kuwait", "Angola", "Austria", "South Africa", "French Polynesia", "Turkey", "Trinidad and Tobago", "2852360suUAgB", "Ghana", "Mayotte", "Mauritania", "Belgium", "Azerbaijan", "Korea (Democratic People's Republic of)", "Zambia", "Nicaragua", "Uzbekistan", "Gabon", "Sri Lanka", "Syrian Arab Republic", "3924GYVTBG", "Iraq", "Tanzania, United Republic of", "Tonga", "Oman", "Holy See", "Spain", "Romania", "Hong Kong", "Turkmenistan", "Burundi", "2630493jevWrV", "Macao", "Tajikistan", "British Indian Ocean Territory", "Marshall Islands", "Equatorial Guinea", "Italy", "Nauru", "Lesotho", "Luxembourg", "Montenegro", "South Georgia and the South Sandwich Islands", "Bonaire, Sint Eustatius and Saba", "Barbados", "Saint Pierre and Miquelon", "Mauritius", "Seychelles", "Suriname", "Botswana", "Micronesia (Federated States of)", "Serbia", "Germany", "Fiji", "Gibraltar", "Macedonia (the former Yugoslav Republic of)", "Iceland"];
|
|
1731
|
-
return Re = function() {
|
|
1732
|
-
return x;
|
|
1733
|
-
}, Re();
|
|
1734
|
-
}
|
|
1735
|
-
const Lt = { AF: "Afghanistan", AX: a(604), AL: "Albania", DZ: a(545), AS: a(610), AD: "Andorra", AO: a(444), AI: "Anguilla", AQ: a(574), AG: "Antigua and Barbuda", AR: a(528), AM: a(431), AW: a(547), AU: "Australia", AT: a(445), AZ: a(455), BS: a(537), BH: a(510), BD: "Bangladesh", BB: a(487), BY: "Belarus", BE: a(454), BZ: "Belize", BJ: "Benin", BM: a(438), BT: a(428), BO: a(589), BQ: a(486), BA: a(562), BW: a(492), BV: a(609), BR: a(520), IO: a(477), BN: a(591), BG: "Bulgaria", BF: a(613), BI: a(473), CV: a(538), KH: a(606), CM: "Cameroon", CA: a(429), KY: a(615), CF: a(571), TD: "Chad", CL: a(502), CN: a(599), CX: "Christmas Island", CC: a(441), CO: a(612), KM: "Comoros", CG: a(608), CD: "Congo (Democratic Republic of the)", CK: a(617), CR: a(549), CI: a(585), HR: a(592), CU: a(554), CW: a(430), CY: a(427), CZ: "Czech Republic", DK: a(531), DJ: a(504), DM: a(514), DO: a(594), EC: a(602), EG: a(563), SV: a(500), GQ: a(479), ER: a(534), EE: a(533), ET: a(540), FK: a(575), FO: a(583), FJ: a(496), FI: a(568), FR: a(527), GF: a(567), PF: a(447), TF: "French Southern Territories", GA: a(460), GM: a(516), GE: "Georgia", DE: a(495), GH: a(451), GI: a(497), GR: a(548), GL: "Greenland", GD: "Grenada", GP: a(622), GU: "Guam", GT: a(511), GG: a(607), GN: "Guinea", GW: a(573), GY: a(620), HT: a(582), HM: a(432), VA: a(468), HN: a(440), HK: a(471), HU: "Hungary", IS: a(499), IN: "India", ID: a(515), IR: a(505), IQ: a(464), IE: a(577), IM: "Isle of Man", IL: "Israel", IT: a(480), JM: a(424), JP: a(584), JE: "Jersey", JO: a(509), KZ: "Kazakhstan", KE: a(550), KI: a(522), KP: a(456), KR: a(542), KW: a(443), KG: a(433), LA: a(501), LV: a(543), LB: "Lebanon", LS: a(482), LR: "Liberia", LY: a(439), LI: "Liechtenstein", LT: "Lithuania", LU: a(483), MO: a(475), MK: a(498), MG: a(605), MW: "Malawi", MY: a(565), MV: "Maldives", ML: a(566), MT: a(525), MH: a(478), MQ: "Martinique", MR: a(453), MU: a(489), YT: a(452), MX: a(526), FM: a(493), MD: a(569), MC: a(586), MN: a(618), ME: a(484), MS: "Montserrat", MA: a(552), MZ: "Mozambique", MM: a(580), NA: a(512), NR: a(481), NP: a(611), NL: "Netherlands", NC: a(507), NZ: a(578), NI: a(458), NE: a(587), NG: a(557), NU: a(521), NF: a(536), MP: a(588), NO: a(546), OM: a(467), PK: a(435), PW: a(519), PS: "Palestine, State of", PA: "Panama", PG: a(579), PY: a(529), PE: a(614), PH: a(530), PN: "Pitcairn", PL: a(503), PT: a(508), PR: a(426), QA: a(590), RE: "Réunion", RO: a(470), RU: a(517), RW: a(561), BL: a(570), SH: a(553), KN: a(564), LC: a(544), MF: "Saint Martin (French part)", PM: a(488), VC: a(513), WS: a(434), SM: "San Marino", ST: a(560), SA: "Saudi Arabia", SN: "Senegal", RS: a(494), SC: a(490), SL: a(600), SG: "Singapore", SX: "Sint Maarten (Dutch part)", SK: a(559), SI: a(597), SB: a(518), SO: "Somalia", ZA: a(446), GS: a(485), SS: "South Sudan", ES: a(469), LK: a(461), SD: a(506), SR: a(491), SJ: "Svalbard and Jan Mayen", SZ: a(532), SE: a(535), CH: "Switzerland", SY: a(462), TW: a(558), TJ: a(476), TZ: a(465), TH: a(596), TL: a(437), TG: a(603), TK: a(576), TO: a(466), TT: a(449), TN: "Tunisia", TR: a(448), TM: a(472), TC: "Turks and Caicos Islands", TV: a(621), UG: a(581), UA: a(601), AE: a(425), GB: "United Kingdom", US: a(436), UM: a(541), UY: "Uruguay", UZ: a(459), VU: a(551), VE: a(442), VN: a(595), VG: a(619), VI: "Virgin Islands (U.S.)", WF: a(598), EH: a(539), YE: a(555), ZM: a(457), ZW: "Zimbabwe" }, E = Bt;
|
|
1738
|
+
})(Re, 542731);
|
|
1739
|
+
const B0 = { AF: n(556), AX: "Åland Islands", AL: n(463), DZ: n(402), AS: n(422), AD: n(496), AO: "Angola", AI: "Anguilla", AQ: n(371), AG: n(523), AR: n(398), AM: n(526), AW: n(419), AU: n(368), AT: n(495), AZ: n(478), BS: n(396), BH: n(437), BD: n(411), BB: "Barbados", BY: n(559), BE: n(390), BZ: n(375), BJ: n(511), BM: n(527), BT: n(434), BO: "Bolivia (Plurinational State of)", BQ: n(512), BA: "Bosnia and Herzegovina", BW: "Botswana", BV: n(538), BR: n(525), IO: n(509), BN: n(466), BG: n(460), BF: "Burkina Faso", BI: "Burundi", CV: "Cabo Verde", KH: n(553), CM: n(504), CA: n(416), KY: n(541), CF: n(376), TD: "Chad", CL: n(413), CN: "China", CX: n(394), CC: n(440), CO: n(520), KM: n(441), CG: n(462), CD: n(488), CK: n(514), CR: "Costa Rica", CI: "Côte d'Ivoire", HR: n(465), CU: "Cuba", CW: "Curaçao", CY: n(439), CZ: n(531), DK: "Denmark", DJ: n(558), DM: n(472), DO: n(449), EC: n(400), EG: n(424), SV: n(433), GQ: n(406), ER: n(475), EE: "Estonia", ET: n(489), FK: "Falkland Islands (Malvinas)", FO: n(479), FJ: "Fiji", FI: n(513), FR: n(369), GF: "French Guiana", PF: n(403), TF: n(430), GA: n(498), GM: n(483), GE: n(409), DE: "Germany", GH: n(393), GI: n(451), GR: "Greece", GL: n(468), GD: "Grenada", GP: n(551), GU: "Guam", GT: n(560), GG: "Guernsey", GN: "Guinea", GW: "Guinea-Bissau", GY: n(537), HT: n(516), HM: "Heard Island and McDonald Islands", VA: n(410), HN: n(481), HK: n(379), HU: n(546), IS: n(389), IN: n(529), ID: n(456), IR: n(418), IQ: n(480), IE: n(485), IM: "Isle of Man", IL: n(374), IT: n(448), JM: n(373), JP: n(492), JE: n(377), JO: n(469), KZ: n(543), KE: n(510), KI: n(550), KP: n(443), KR: n(502), KW: "Kuwait", KG: "Kyrgyzstan", LA: n(450), LV: n(506), LB: n(452), LS: n(405), LR: "Liberia", LY: n(521), LI: n(535), LT: n(493), LU: n(445), MO: n(408), MK: n(382), MG: n(544), MW: "Malawi", MY: n(438), MV: "Maldives", ML: "Mali", MT: n(428), MH: n(548), MQ: n(554), MR: n(471), MU: n(561), YT: "Mayotte", MX: n(420), FM: n(397), MD: n(384), MC: n(381), MN: n(458), ME: "Montenegro", MS: "Montserrat", MA: n(464), MZ: n(522), MM: n(515), NA: n(530), NR: n(500), NP: n(549), NL: n(399), NC: n(427), NZ: n(401), NI: n(385), NE: n(497), NG: n(370), NU: n(518), NF: n(519), MP: "Northern Mariana Islands", NO: "Norway", OM: n(508), PK: n(436), PW: n(482), PS: n(486), PA: n(545), PG: n(442), PY: "Paraguay", PE: "Peru", PH: n(476), PN: "Pitcairn", PL: n(380), PT: "Portugal", PR: n(491), QA: "Qatar", RE: n(421), RO: n(446), RU: n(562), RW: n(432), BL: "Saint Barthélemy", SH: n(386), KN: n(395), LC: "Saint Lucia", MF: n(415), PM: n(417), VC: n(447), WS: n(490), SM: n(426), ST: n(391), SA: n(457), SN: n(388), RS: n(517), SC: n(412), SL: "Sierra Leone", SG: n(503), SX: "Sint Maarten (Dutch part)", SK: n(533), SI: n(404), SB: n(474), SO: "Somalia", ZA: n(367), GS: n(455), SS: n(542), ES: "Spain", LK: "Sri Lanka", SD: n(528), SR: "Suriname", SJ: n(557), SZ: n(494), SE: n(423), CH: n(507), SY: "Syrian Arab Republic", TW: "Taiwan", TJ: n(470), TZ: n(552), TH: n(454), TL: "Timor-Leste", TG: "Togo", TK: n(524), TO: n(467), TT: "Trinidad and Tobago", TN: n(555), TR: n(505), TM: n(536), TC: n(444), TV: n(532), UG: "Uganda", UA: "Ukraine", AE: n(392), GB: n(459), US: n(487), UM: n(431), UY: n(407), UZ: n(372), VU: "Vanuatu", VE: n(477), VN: n(378), VG: n(539), VI: n(499), WF: "Wallis and Futuna", EH: "Western Sahara", YE: n(429), ZM: n(547), ZW: n(501) }, k = H0;
|
|
1736
1740
|
(function(x, t) {
|
|
1737
|
-
const e =
|
|
1741
|
+
const e = H0, i = x();
|
|
1738
1742
|
for (; ; )
|
|
1739
1743
|
try {
|
|
1740
|
-
if (parseInt(e(
|
|
1744
|
+
if (-parseInt(e(219)) / 1 + parseInt(e(252)) / 2 + parseInt(e(250)) / 3 * (parseInt(e(226)) / 4) + parseInt(e(283)) / 5 + -parseInt(e(264)) / 6 + parseInt(e(259)) / 7 + -parseInt(e(217)) / 8 === t) break;
|
|
1741
1745
|
i.push(i.shift());
|
|
1742
1746
|
} catch {
|
|
1743
1747
|
i.push(i.shift());
|
|
1744
1748
|
}
|
|
1745
|
-
})(De,
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
const Fe = { gov: { prod: { log: E(429), report: E(443) }, beta: { log: "https://papi.beta-vpe.gov-ntruss.com/player/maSync", report: E(418) } }, pub: { prod: { log: E(412), report: E(450) }, beta: { log: E(400), report: "https://log.beta-vpe.naverncp.com/stats" } } };
|
|
1750
|
-
let C = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: E(407), extra: { sessionId: null, playerType: E(448) }, log_type: E(455), privacy: { cookie_enabled: !0 } }, B = { platform: E(411), stage: E(426), sync: !1, syncResult: {} };
|
|
1751
|
-
const f0 = (/* @__PURE__ */ new Date())[E(410)](), Ft = (x) => x;
|
|
1749
|
+
})(De, 996487);
|
|
1750
|
+
const Fe = { gov: { prod: { log: k(227), report: k(280) }, beta: { log: k(224), report: k(237) } }, pub: { prod: { log: "https://papi.vpe.naverncp.com/player/maSync", report: k(242) }, beta: { log: "https://papi.beta-vpe.naverncp.com/player/maSync", report: "https://log.beta-vpe.naverncp.com/stats" } } };
|
|
1751
|
+
let C = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: k(287), extra: { sessionId: null, playerType: k(267) }, log_type: k(243), privacy: { cookie_enabled: !0 } }, L = { platform: k(270), stage: k(274), sync: !1, syncResult: {} };
|
|
1752
|
+
const gt = (/* @__PURE__ */ new Date())[k(229)](), L0 = (x) => x;
|
|
1752
1753
|
function Se() {
|
|
1753
|
-
return
|
|
1754
|
+
return N0();
|
|
1754
1755
|
}
|
|
1755
|
-
function
|
|
1756
|
-
return
|
|
1756
|
+
function I0() {
|
|
1757
|
+
return N0();
|
|
1757
1758
|
}
|
|
1758
|
-
const
|
|
1759
|
-
const x =
|
|
1760
|
-
return { logDate: i, logDateUnix:
|
|
1759
|
+
const F0 = () => {
|
|
1760
|
+
const x = k, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[x(284)](2, "0"), i = t.getFullYear() + "-" + e(t.getMonth() + 1) + "-" + e(t.getDate()) + " " + e(t.getHours()) + ":" + e(t.getMinutes()) + ":" + e(t[x(272)]()), a = Math.floor(t[x(229)]() / 1e3), r = (/* @__PURE__ */ new Date())[x(229)]() - gt;
|
|
1761
|
+
return { logDate: i, logDateUnix: a, thisSec: r };
|
|
1761
1762
|
};
|
|
1762
|
-
function
|
|
1763
|
-
|
|
1764
|
-
return typeof x === t(477) && x !== null && !Array[t(481)](x);
|
|
1763
|
+
function mt(x) {
|
|
1764
|
+
return typeof x == "object" && x !== null && !Array[k(263)](x);
|
|
1765
1765
|
}
|
|
1766
|
-
function
|
|
1767
|
-
const e =
|
|
1768
|
-
Object[e(
|
|
1766
|
+
function a0(x, t) {
|
|
1767
|
+
const e = k;
|
|
1768
|
+
Object[e(266)](t)[e(246)](([i, a]) => {
|
|
1769
1769
|
const r = e;
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
})) :
|
|
1770
|
+
mt(a) ? (!x[i] && (x[i] = {}), Object.entries(a)[r(246)](([o, f]) => {
|
|
1771
|
+
f != null && (x[i][o] = f);
|
|
1772
|
+
})) : a != null && (x[i] = a);
|
|
1773
1773
|
});
|
|
1774
1774
|
}
|
|
1775
|
-
function
|
|
1776
|
-
|
|
1777
|
-
return x.indexOf("m3u8") > -1 ? t(451) : x.indexOf("mpd") > -1 ? t(454) : t(432);
|
|
1775
|
+
function H0(x, t) {
|
|
1776
|
+
return x = x - 211, De()[x];
|
|
1778
1777
|
}
|
|
1779
|
-
function
|
|
1780
|
-
const t =
|
|
1781
|
-
return x
|
|
1778
|
+
function yt(x) {
|
|
1779
|
+
const t = k;
|
|
1780
|
+
return x[t(257)]("m3u8") > -1 ? "hls" : x[t(257)](t(235)) > -1 ? t(269) : t(215);
|
|
1782
1781
|
}
|
|
1783
|
-
function
|
|
1784
|
-
const t =
|
|
1785
|
-
x
|
|
1782
|
+
function vt(x) {
|
|
1783
|
+
const t = k, e = [];
|
|
1784
|
+
return x?.r1 && e.push(x.r1), x?.r2 && e[t(251)](x.r2), x?.r3 && e[t(251)](x.r3), e[t(262)](" ");
|
|
1785
|
+
}
|
|
1786
|
+
function G0(x) {
|
|
1787
|
+
const t = k;
|
|
1788
|
+
x[t(236)] === t(254) && (x[t(236)] = 0), x[t(236)] === void 0 && (x[t(236)] = 0), [t(276), t(241), t(265), "seekedTime"][t(246)]((i) => {
|
|
1786
1789
|
x[i] === void 0 && (x[i] = 0);
|
|
1787
|
-
}), x[t(
|
|
1790
|
+
}), x[t(285)] === void 0 && C.video?.[t(285)] && (x[t(285)] = C.video[t(285)]), x[t(277)] === void 0 && C[t(223)]?.[t(277)] && (x[t(277)] = C[t(223)][t(277)], x.videoFormat = yt(x.url));
|
|
1791
|
+
}
|
|
1792
|
+
function V0(x) {
|
|
1793
|
+
return !!(x[k(216)] && x.TID && x.host);
|
|
1788
1794
|
}
|
|
1789
|
-
function
|
|
1790
|
-
const
|
|
1791
|
-
return
|
|
1795
|
+
function De() {
|
|
1796
|
+
const x = ["Korea, Republic of", "assign", "join", "isArray", "1443630WymEyJ", "totalStartTime", "entries", "VPE React Native", "host", "dash", "pub", "sendBeacon", "getSeconds", "application/json", "prod", "parse", "playerStartTime", "url", "MA init report failed:", "stringify", "https://log.vpe.gov-ntruss.com/stats", "sessionId", "country", "9138155ENZBVM", "padStart", "type", "actionType", "latest", "sync", "nation", "floor", "logDate", "mp4", "UUID", "9497672WBxngq", "vpePackageId", "1335136ZMDevU", "vpeKey", "net", "logDateUnix", "video", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "stage", "532ojDVXR", "https://papi.vpe.gov-ntruss.com/player/maSync", "log", "getTime", "MA config initialization failed:", "browser", "extra", "TID", "timeupdate", "mpd", "actionDuration", "https://log.beta-vpe.gov-ntruss.com/stats", "MA vpe init", "report", "log_type", "videoStartTime", "https://log.vpe.naverncp.com/stats", "vpe", "address", "POST", "forEach", "error", "result", "syncResult", "24711YTgtFc", "push", "1528300wWdMsV", "MA report actionType ->", "1.0", "created_at", "------------------------------------------------", "indexOf", "isp", "504945gOZwbR"];
|
|
1797
|
+
return De = function() {
|
|
1798
|
+
return x;
|
|
1799
|
+
}, De();
|
|
1792
1800
|
}
|
|
1793
|
-
function
|
|
1794
|
-
const t =
|
|
1801
|
+
function He(x) {
|
|
1802
|
+
const t = k;
|
|
1795
1803
|
try {
|
|
1796
|
-
const e =
|
|
1797
|
-
e && (x[t(
|
|
1804
|
+
const e = L[t(249)]?.geoLocation;
|
|
1805
|
+
e && (x[t(244)] = vt(e), x[t(258)] = e[t(221)] || "", x.ip = L[t(249)]?.ip || "", x[t(212)] = e[t(282)] || "");
|
|
1798
1806
|
} catch {
|
|
1799
1807
|
}
|
|
1800
1808
|
}
|
|
1801
|
-
const
|
|
1802
|
-
const t =
|
|
1809
|
+
const St = async (x) => {
|
|
1810
|
+
const t = k;
|
|
1803
1811
|
if (!x) return;
|
|
1804
|
-
const { platform: e, stage: i } =
|
|
1812
|
+
const { platform: e, stage: i } = L, a = Fe[e][i][t(228)];
|
|
1805
1813
|
try {
|
|
1806
|
-
const r = await fetch(
|
|
1807
|
-
|
|
1808
|
-
const { logDate:
|
|
1809
|
-
return C.extra[t(
|
|
1814
|
+
const r = await fetch(a, { method: t(245), headers: { "Content-Type": "application/json" }, body: JSON[t(279)]({ access_key: x }) }), o = await r.json();
|
|
1815
|
+
L[t(211)] = o[t(248)]?.sync || !1, L[t(249)] = o[t(248)] || {};
|
|
1816
|
+
const { logDate: f, logDateUnix: p } = F0();
|
|
1817
|
+
return C.extra[t(214)] = f, C[t(232)][t(222)] = p, L.syncResult?.geoLocation && He(C[t(232)]), o;
|
|
1810
1818
|
} catch (r) {
|
|
1811
|
-
return console
|
|
1819
|
+
return console[t(247)](t(230), r), null;
|
|
1812
1820
|
}
|
|
1813
|
-
},
|
|
1814
|
-
const t =
|
|
1815
|
-
r[t(
|
|
1821
|
+
}, It = async (x) => {
|
|
1822
|
+
const t = k, { platform: e, stage: i } = L, a = L0(Fe[e][i].report), r = { ...x };
|
|
1823
|
+
r[t(240)] = "vpe", He(r[t(232)]);
|
|
1816
1824
|
try {
|
|
1817
|
-
await fetch(
|
|
1825
|
+
await fetch(a, { method: t(245), headers: { "Content-Type": t(273) }, body: JSON.stringify(r) });
|
|
1818
1826
|
} catch (o) {
|
|
1819
|
-
console[t(
|
|
1827
|
+
console[t(247)](t(278), o);
|
|
1820
1828
|
}
|
|
1821
|
-
},
|
|
1822
|
-
const t =
|
|
1823
|
-
if (
|
|
1829
|
+
}, _t = async (x) => {
|
|
1830
|
+
const t = k, { platform: e, stage: i } = L, a = L0(Fe[e][i][t(239)]), r = JSON.parse(JSON[t(279)](C));
|
|
1831
|
+
if (a0(r, x), r[t(240)] = "MA", He(r.extra), G0(r[t(232)]), !!V0(r[t(232)]))
|
|
1824
1832
|
try {
|
|
1825
|
-
r
|
|
1833
|
+
r.type != t(234), await fetch(a, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON[t(279)](r) });
|
|
1826
1834
|
} catch (o) {
|
|
1827
|
-
console[t(
|
|
1835
|
+
console[t(228)]("MA report failed:", o);
|
|
1828
1836
|
}
|
|
1829
1837
|
};
|
|
1830
|
-
async function
|
|
1831
|
-
const r =
|
|
1832
|
-
|
|
1833
|
-
const { logDate: o, logDateUnix:
|
|
1834
|
-
C[r(
|
|
1838
|
+
async function kt(x, t, e, i, a) {
|
|
1839
|
+
const r = k;
|
|
1840
|
+
L.platform = x, L[r(225)] = t, a0(C, e), i && (C[r(232)][r(218)] = i), a && (C[r(232)][r(220)] = a), C[r(232)][r(212)] ? C[r(231)][r(282)] = B0[C[r(232)][r(212)]] || r(260) : C[r(231)][r(282)] = r(260);
|
|
1841
|
+
const { logDate: o, logDateUnix: f } = F0();
|
|
1842
|
+
C.extra[r(214)] = o, C[r(232)][r(222)] = f, C.extra[r(255)] = f;
|
|
1835
1843
|
}
|
|
1836
|
-
async function
|
|
1837
|
-
const t =
|
|
1838
|
-
x[t(
|
|
1844
|
+
async function Et(x) {
|
|
1845
|
+
const t = k, e = JSON.parse(JSON[t(279)](C));
|
|
1846
|
+
x[t(232)] && Object[t(261)](e.extra, x[t(232)]), e[t(223)] = x[t(223)], await It(e), console[t(228)](t(238));
|
|
1839
1847
|
}
|
|
1840
|
-
function
|
|
1841
|
-
const
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
}
|
|
1846
|
-
function E0(x) {
|
|
1847
|
-
const t = E, { platform: e, stage: i } = B, n = Fe[e]?.[i]?.[t(417)];
|
|
1848
|
-
if (!n) return !1;
|
|
1849
|
-
const r = JSON[t(462)](JSON[t(397)](C));
|
|
1850
|
-
if (nt(r, x), r[t(436)] = "MA", Ge(r[t(413)]), Ht(r.extra), !Vt(r[t(413)])) return !1;
|
|
1848
|
+
function Tt(x) {
|
|
1849
|
+
const t = k, { platform: e, stage: i } = L, a = Fe[e]?.[i]?.[t(239)];
|
|
1850
|
+
if (!a) return !1;
|
|
1851
|
+
const r = JSON[t(275)](JSON[t(279)](C));
|
|
1852
|
+
if (a0(r, x), r.log_type = "MA", He(r[t(232)]), G0(r.extra), !V0(r[t(232)])) return !1;
|
|
1851
1853
|
try {
|
|
1852
|
-
const o = new Blob([JSON
|
|
1853
|
-
return navigator
|
|
1854
|
+
const o = new Blob([JSON[t(279)](r)], { type: "application/json" });
|
|
1855
|
+
return navigator[t(271)](a, o);
|
|
1854
1856
|
} catch {
|
|
1855
1857
|
return !1;
|
|
1856
1858
|
}
|
|
1857
1859
|
}
|
|
1858
|
-
function
|
|
1859
|
-
|
|
1860
|
-
return Oe = function() {
|
|
1861
|
-
return x;
|
|
1862
|
-
}, Oe();
|
|
1860
|
+
function n0(x, t) {
|
|
1861
|
+
return x = x - 341, Oe()[x];
|
|
1863
1862
|
}
|
|
1864
|
-
const _0 =
|
|
1863
|
+
const _0 = n0;
|
|
1865
1864
|
(function(x, t) {
|
|
1866
|
-
const e =
|
|
1865
|
+
const e = n0, i = x();
|
|
1867
1866
|
for (; ; )
|
|
1868
1867
|
try {
|
|
1869
|
-
if (
|
|
1868
|
+
if (parseInt(e(345)) / 1 + parseInt(e(343)) / 2 * (-parseInt(e(341)) / 3) + -parseInt(e(353)) / 4 + -parseInt(e(361)) / 5 + -parseInt(e(356)) / 6 * (parseInt(e(359)) / 7) + parseInt(e(357)) / 8 + parseInt(e(349)) / 9 === t) break;
|
|
1870
1869
|
i.push(i.shift());
|
|
1871
1870
|
} catch {
|
|
1872
1871
|
i.push(i.shift());
|
|
1873
1872
|
}
|
|
1874
|
-
})(Oe,
|
|
1875
|
-
|
|
1876
|
-
const
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
};
|
|
1881
|
-
function rt(x, t) {
|
|
1882
|
-
return x = x - 365, Oe()[x];
|
|
1873
|
+
})(Oe, 888863);
|
|
1874
|
+
function Oe() {
|
|
1875
|
+
const x = ["16/9", "NAVER CLOUD PLATFORM", "20132235yCCtBz", "captionStyle", "pay", "watermarkConfig", "6385144zgeadf", "rgba(0, 0, 0, 0.4)", "all", "2286IKIJqh", "12353824SRInIR", "#4299f5", "21441ngwBtR", "#009dff", "2091325aqPaTb", "controlBtn", "3ytTHGd", "dropshadow", "1505986aURSfu", "contain", "1042267bjWoZF", "progressBar"];
|
|
1876
|
+
return Oe = function() {
|
|
1877
|
+
return x;
|
|
1878
|
+
}, Oe();
|
|
1883
1879
|
}
|
|
1884
|
-
const
|
|
1880
|
+
const Ct = (x = {}, t) => {
|
|
1881
|
+
const e = n0, i = { autostart: !0, muted: !1, aspectRatio: e(347), objectFit: e(344), controls: !0, keyboardShortcut: !0, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, seekingPreview: !0, lang: "ko", ui: e(355), controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: e(358), controlActiveTime: 3e3, playRateSetting: [0.5, 0.75, 1, 1.5, 2], autoPause: !1, repeat: !1, setStartTime: void 0, playIndex: 0, lowLatencyMode: !0, touchGestures: !0, descriptionNotVisible: !1, devTestAppId: void 0, token: "", visibleWatermark: !1, iosFullscreenNativeMode: !0, watermarkText: e(348), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: "#ffffff", backgroundColor: e(354), edgeStyle: e(342) }, override: null };
|
|
1882
|
+
if (t !== e(351)) return { ...i, ...At };
|
|
1883
|
+
const a = { ...i, ...x };
|
|
1884
|
+
return x[e(362)] && (a[e(362)] = { ...i[e(362)], ...x[e(362)] }), x[e(352)] && (a[e(352)] = { ...i[e(352)], ...x[e(352)] }), x[e(350)] && (a[e(350)] = { ...i[e(350)], ...x[e(350)] }), a.controlBtn?.progressBar === void 0 && (a[e(362)][e(346)] = !0), a;
|
|
1885
|
+
}, At = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: _0(360), playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: _0(355), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } }, b = Y0;
|
|
1885
1886
|
(function(x, t) {
|
|
1886
|
-
const e =
|
|
1887
|
+
const e = Y0, i = x();
|
|
1887
1888
|
for (; ; )
|
|
1888
1889
|
try {
|
|
1889
|
-
if (-parseInt(e(
|
|
1890
|
+
if (-parseInt(e(328)) / 1 * (-parseInt(e(222)) / 2) + -parseInt(e(312)) / 3 + -parseInt(e(212)) / 4 + -parseInt(e(290)) / 5 + parseInt(e(272)) / 6 + parseInt(e(261)) / 7 + parseInt(e(315)) / 8 * (parseInt(e(218)) / 9) === t) break;
|
|
1890
1891
|
i.push(i.shift());
|
|
1891
1892
|
} catch {
|
|
1892
1893
|
i.push(i.shift());
|
|
1893
1894
|
}
|
|
1894
|
-
})(Pe,
|
|
1895
|
-
|
|
1896
|
-
return x = x - 119, Pe()[x];
|
|
1897
|
-
}
|
|
1895
|
+
})(Pe, 137662);
|
|
1896
|
+
const k0 = "0p", Mt = 1e4, Rt = 1, m = { PLAYER_START: b(301), STARTUP: "startup", PLAY: b(340), PAUSE: b(231), PLAYING: "playing", PAUSED: b(231), SEEKING: "seeking", SEEKED: b(268), WAITING: b(293), WAITING_END: "waitingEnd", CANPLAY: b(304), ENDED: b(267), NEXT_TRACK: b(313), PREV_TRACK: b(318), ERROR: b(190), QUALITY_CHANGE: b(192), REBUFFERING: b(211), TIMEUPDATE: b(235), TIMEUPDATE_FOCUS: b(247), RATE_CHANGE: b(270), FULLSCREEN_CHANGE: b(317), INTRO_SKIP: b(197), OPENING_SKIP: b(228), ENDING_SKIP: b(296) };
|
|
1898
1897
|
function Pe() {
|
|
1899
|
-
const x = ["
|
|
1898
|
+
const x = ["prevQuality", "ENDED", "loadingEnd", "handleEnded", "handleTimeUpdateFocus", "getMinutes", "prevTime", "handleStartup", "handlePause", "rebuffering", "183224TKzZCh", "buildSessionMetrics", "firstPlay", "resetStateForNewTrack", "boundBeforeUnload", "message", "271827fJaPuv", "maInit", "object", "STARTUP", "243612eUCwub", "SEEKED", "contentId", "TIMEUPDATE_FOCUS", "seekCnt", "playedTime", "openingSkip", "then", "isEnded", "pause", "UUID", "beaconSent", "VPE", "timeupdate", "handleAutoSkip", "percent", "TID", "forEach", "handleVisibilityChange", "playAttempt", "isPlainObject", "isBounce", "initializeReportData", "entries", "WAITING", "timeupdateFocus", "handleWaiting", "extra", "now", "bind", "getSeconds", "seekedTime", "url", "SEEKING", "code", "firstError", "removeEventListener", "fullscreenDuration", "data", "1115856QbpPNi", "pauseCnt", "handleFullscreenChange", "initTimeupdate", "handleCanplay", "fullscreenYn", "ended", "seeked", "dispatchEvent", "ratechange", "Korea, Republic of", "617424fJzlkj", "destroy", "getTime", "Unknown Error", "type", "E0000", "speedChangeCnt", "quality", "handleBeforeUnload", "isSeeking", "round", "nation", "sendSessionBeacon", "handleRateChange", "FULLSCREEN_CHANGE", "sessionId", "getDate", "PREV_TRACK", "888480nakMpa", "firstPlaying", "boundVisibilityChange", "waiting", "beforeunload", "isFullscreen", "endingSkip", "PLAYING", "suppressNextSeek", "isArray", "handleSeeking", "player_start", "lastPlaybackSpeed", "playbackRate", "canplay", "state", "startTime", "dropOffPosition", "reportData", "isPlaying", "duration", "handleSeeked", "340689YIiclS", "nextTrack", "visibilitychange", "24BMihJL", "INTRO_SKIP", "fullscreenchange", "prevTrack", "handlePlay", "visibilityState", "QUALITY_CHANGE", "handleTimeUpdate", "ERROR", "RATE_CHANGE", "PAUSED", "PLAYER_START", "report", "1eszpBW", "currentTime", "video", "addEventListener", "prevAction", "isBuffering", "REBUFFERING", "floor", "browser", "prevUrl", "TIMEUPDATE", "handleTrackChange", "play", "getHours", "isCompleted", "handlePlayerStart", "error", "stageData", "quality_change", "country", "seekStartTime", "bufferingStart", "contentDuration", "introSkip", "toFixed", "ENDING_SKIP", "PAUSE", "fullscreenEnterTime"];
|
|
1900
1899
|
return Pe = function() {
|
|
1901
1900
|
return x;
|
|
1902
1901
|
}, Pe();
|
|
1903
1902
|
}
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
[
|
|
1909
|
-
|
|
1910
|
-
[
|
|
1911
|
-
[
|
|
1903
|
+
function Y0(x, t) {
|
|
1904
|
+
return x = x - 189, Pe()[x];
|
|
1905
|
+
}
|
|
1906
|
+
class Dt {
|
|
1907
|
+
[b(308)];
|
|
1908
|
+
stageData;
|
|
1909
|
+
[b(305)];
|
|
1910
|
+
[b(233)] = !1;
|
|
1911
|
+
[b(216)];
|
|
1912
|
+
[b(292)];
|
|
1912
1913
|
constructor(t, e, i) {
|
|
1913
|
-
const
|
|
1914
|
-
this[
|
|
1914
|
+
const a = b;
|
|
1915
|
+
this[a(191)] = { platform: t, stage: e, sync: !1, syncResult: {} }, this.reportData = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: "latest", extra: { UUID: null, TID: null, sessionId: null, playerType: a(234), playAttempt: !1 }, log_type: "vpe", privacy: { cookie_enabled: !0 } }, this[a(305)] = { prevAction: null, isPlaying: !1, isSeeking: !1, initTimeupdate: !1, isBuffering: !1, firstError: !1, isEnded: !1, firstPlay: !0, firstPlaying: !0, startTime: 0, prevTime: 0, startUpDuration: 0, prevUrl: "", prevQuality: k0, pauseCnt: 0, seekCnt: 0, speedChangeCnt: 0, lastPlaybackSpeed: 1, fullscreenYn: !1, fullscreenEnterTime: 0, fullscreenDuration: 0, contentId: null, contentDuration: 0, seekStartTime: 0, suppressNextSeek: !1 }, this[a(244)](i), this[a(191)], this[a(216)] = this[a(280)][a(251)](this), this[a(292)] = this[a(240)][a(251)](this), window[a(331)](a(294), this[a(216)]), document[a(331)](a(314), this[a(292)]);
|
|
1915
1916
|
}
|
|
1916
|
-
|
|
1917
|
-
const e =
|
|
1918
|
-
this
|
|
1917
|
+
[b(244)](t) {
|
|
1918
|
+
const e = b;
|
|
1919
|
+
this[e(308)] = { ...this[e(308)], ...t }, this[e(308)][e(249)][e(283)] ? this[e(308)][e(336)].country = B0[this[e(308)][e(249)].nation] || "Korea, Republic of" : this.reportData[e(336)][e(193)] = e(271);
|
|
1919
1920
|
}
|
|
1920
|
-
[
|
|
1921
|
-
const t =
|
|
1922
|
-
return { logDate:
|
|
1921
|
+
[b(274)]() {
|
|
1922
|
+
const t = b, e = /* @__PURE__ */ new Date(), i = (o) => String(o).padStart(2, "0"), a = e.getFullYear() + "-" + i(e.getMonth() + 1) + "-" + i(e[t(288)]()) + " " + i(e[t(341)]()) + ":" + i(e[t(207)]()) + ":" + i(e[t(252)]()), r = Math[t(335)](e[t(274)]() / 1e3);
|
|
1923
|
+
return { logDate: a, logDateUnix: r };
|
|
1923
1924
|
}
|
|
1924
|
-
[
|
|
1925
|
-
|
|
1925
|
+
[b(242)](t) {
|
|
1926
|
+
const e = b;
|
|
1927
|
+
return typeof t === e(220) && t !== null && !Array[e(299)](t);
|
|
1926
1928
|
}
|
|
1927
|
-
async [
|
|
1928
|
-
const i =
|
|
1929
|
-
if (this[i(
|
|
1930
|
-
const { logDate:
|
|
1931
|
-
for (const ee of
|
|
1932
|
-
|
|
1933
|
-
const D = this
|
|
1934
|
-
this
|
|
1929
|
+
async [b(327)](t, e) {
|
|
1930
|
+
const i = b;
|
|
1931
|
+
if (this[i(305)][i(257)]) return;
|
|
1932
|
+
const { logDate: a, logDateUnix: r } = this[i(274)](), o = Date[i(250)](), f = this[i(305)][i(208)] > 0 ? o - this[i(305)].prevTime : 0, p = f, v = e && typeof e === i(220) && e[i(260)] ? e.data : {}, S = ["contentId", i(196), i(237), "watch_percent", "watchPercent", i(342), i(243), i(262), i(226), i(278), i(302), i(266), i(259), i(307), i(253)], A = {};
|
|
1933
|
+
for (const ee of S)
|
|
1934
|
+
v[ee] !== void 0 && (A[ee] = v[ee]);
|
|
1935
|
+
const D = this.state.contentDuration, J = D > 0 ? Math[i(335)](D / 1e3) : this.reportData[i(249)][i(310)] || 0, V = this[i(308)].extra[i(329)] || 0, Y = J > 0 ? Math[i(282)](V / J * 1e4) / 100 : 0, we = { ...this[i(308)], video: this.reportData[i(330)], percent: Y, extra: { ...this[i(308)][i(249)], actionType: t, actionDuration: p ? p[i(198)](2) : 0, duration: J, contentDuration: D, percent: Y, watch_percent: Y, logDate: a, logDateUnix: r, ...A } };
|
|
1936
|
+
this.state.prevTime = o, await _t(we);
|
|
1935
1937
|
}
|
|
1936
|
-
async [
|
|
1937
|
-
const e =
|
|
1938
|
-
!this[e(
|
|
1938
|
+
async [b(219)](t) {
|
|
1939
|
+
const e = b;
|
|
1940
|
+
!this[e(308)][e(249)][e(287)] && (this[e(308)][e(249)][e(287)] = I0(), this[e(308)][e(249)].TID = Se(), this[e(308)][e(249)][e(232)] = Se()), t.extra[e(287)] = this[e(308)].extra[e(287)], await Et(t);
|
|
1939
1941
|
}
|
|
1940
|
-
async
|
|
1941
|
-
const e =
|
|
1942
|
-
!t || typeof t
|
|
1942
|
+
async maSync(t) {
|
|
1943
|
+
const e = b;
|
|
1944
|
+
!t || typeof t != "object" || Object[e(245)](t)[e(239)](([i, a]) => {
|
|
1943
1945
|
const r = e;
|
|
1944
|
-
this[r(
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
}) : n != null && (this[r(156)][i] = n);
|
|
1946
|
+
this[r(242)](a) ? Object[r(245)](a).forEach(([o, f]) => {
|
|
1947
|
+
f != null && (this.reportData[i][o] = f);
|
|
1948
|
+
}) : a != null && (this[r(308)][i] = a);
|
|
1948
1949
|
});
|
|
1949
1950
|
}
|
|
1950
|
-
[
|
|
1951
|
-
const e =
|
|
1952
|
-
switch (o && o > 0 && (this[e(
|
|
1951
|
+
[b(269)](t) {
|
|
1952
|
+
const e = b, { type: i, data: a } = t, r = { url: a?.[e(254)] || this.state[e(337)], type: a?.[e(276)], quality: a?.quality || this.state[e(202)], data: a }, o = a?.extra?.[e(310)];
|
|
1953
|
+
switch (o && o > 0 && (this[e(305)][e(196)] = Math[e(282)](o * 1e3)), i) {
|
|
1953
1954
|
case m.PLAYER_START:
|
|
1954
|
-
this
|
|
1955
|
+
this[e(189)](r, a);
|
|
1955
1956
|
break;
|
|
1956
|
-
case m
|
|
1957
|
-
this[e(
|
|
1957
|
+
case m.STARTUP:
|
|
1958
|
+
this[e(209)](r, a);
|
|
1958
1959
|
break;
|
|
1959
|
-
case m
|
|
1960
|
-
this[e(
|
|
1960
|
+
case m.PLAY:
|
|
1961
|
+
this[e(319)](r, a);
|
|
1961
1962
|
break;
|
|
1962
|
-
case m
|
|
1963
|
-
this[e(
|
|
1963
|
+
case m[e(200)]:
|
|
1964
|
+
this[e(210)](r, a);
|
|
1964
1965
|
break;
|
|
1965
|
-
case m[e(
|
|
1966
|
-
this[e(
|
|
1966
|
+
case m[e(338)]:
|
|
1967
|
+
this[e(322)](r, a);
|
|
1967
1968
|
break;
|
|
1968
|
-
case m[e(
|
|
1969
|
-
this
|
|
1969
|
+
case m[e(225)]:
|
|
1970
|
+
this.handleTimeUpdateFocus(r, a);
|
|
1970
1971
|
break;
|
|
1971
|
-
case m
|
|
1972
|
-
this
|
|
1972
|
+
case m[e(255)]:
|
|
1973
|
+
this[e(300)](r, a);
|
|
1973
1974
|
break;
|
|
1974
|
-
case m[e(
|
|
1975
|
-
this
|
|
1975
|
+
case m[e(223)]:
|
|
1976
|
+
this.handleSeeked(r, a);
|
|
1976
1977
|
break;
|
|
1977
|
-
case m[e(
|
|
1978
|
-
case
|
|
1979
|
-
this
|
|
1978
|
+
case m[e(246)]:
|
|
1979
|
+
case e(195):
|
|
1980
|
+
this[e(248)](r, a);
|
|
1980
1981
|
break;
|
|
1981
|
-
case m
|
|
1982
|
-
case
|
|
1983
|
-
case e(
|
|
1984
|
-
this[e(
|
|
1982
|
+
case m.WAITING_END:
|
|
1983
|
+
case "bufferingEnd":
|
|
1984
|
+
case e(204):
|
|
1985
|
+
this[e(265)](r, a);
|
|
1985
1986
|
break;
|
|
1986
|
-
case m
|
|
1987
|
-
this[e(
|
|
1987
|
+
case m.CANPLAY:
|
|
1988
|
+
this[e(265)](r, a);
|
|
1988
1989
|
break;
|
|
1989
|
-
case m[e(
|
|
1990
|
-
this
|
|
1990
|
+
case m[e(203)]:
|
|
1991
|
+
this.handleEnded(r, a);
|
|
1991
1992
|
break;
|
|
1992
|
-
case
|
|
1993
|
-
case e(
|
|
1994
|
-
this[e(
|
|
1993
|
+
case e(313):
|
|
1994
|
+
case e(318):
|
|
1995
|
+
this[e(339)](i, r, a);
|
|
1995
1996
|
break;
|
|
1996
|
-
case m[e(
|
|
1997
|
-
this
|
|
1997
|
+
case m[e(323)]:
|
|
1998
|
+
this.handleError(r, a);
|
|
1998
1999
|
break;
|
|
1999
|
-
case m[e(
|
|
2000
|
-
this
|
|
2000
|
+
case m[e(321)]:
|
|
2001
|
+
this.handleQualityChange(r, a);
|
|
2001
2002
|
break;
|
|
2002
2003
|
case m.RATE_CHANGE:
|
|
2003
|
-
this[e(
|
|
2004
|
+
this[e(285)](r, a);
|
|
2004
2005
|
break;
|
|
2005
2006
|
case m.FULLSCREEN_CHANGE:
|
|
2006
|
-
this
|
|
2007
|
+
this[e(263)](r, a);
|
|
2008
|
+
break;
|
|
2009
|
+
case m[e(316)]:
|
|
2010
|
+
case m.OPENING_SKIP:
|
|
2011
|
+
case m[e(199)]:
|
|
2012
|
+
this.handleAutoSkip(i, r, a);
|
|
2007
2013
|
break;
|
|
2008
2014
|
}
|
|
2009
2015
|
}
|
|
2016
|
+
[b(236)](t, e, i) {
|
|
2017
|
+
const a = b;
|
|
2018
|
+
this[a(305)][a(298)] = !0, this[a(327)](t, { ...e, data: i });
|
|
2019
|
+
}
|
|
2010
2020
|
handlePlayerStart(t, e) {
|
|
2011
|
-
const i =
|
|
2012
|
-
!this[i(
|
|
2021
|
+
const i = b;
|
|
2022
|
+
!this.reportData[i(249)][i(287)] && (this[i(308)][i(249)].sessionId = I0(), this[i(308)][i(249)][i(238)] = Se(), this.reportData[i(249)][i(232)] = Se()), this[i(305)][i(306)] = Date.now(), this[i(305)][i(208)] = this.state[i(306)], this.report(m[i(326)], { ...t, data: e });
|
|
2013
2023
|
}
|
|
2014
|
-
|
|
2015
|
-
const i =
|
|
2016
|
-
if (this[i(
|
|
2017
|
-
const
|
|
2018
|
-
|
|
2024
|
+
[b(209)](t, e) {
|
|
2025
|
+
const i = b;
|
|
2026
|
+
if (this.state[i(291)]) {
|
|
2027
|
+
const a = e?.[i(249)] || e || {};
|
|
2028
|
+
a?.[i(224)] && (this[i(305)][i(224)] = a.contentId), this[i(305)].isPlaying = !0, this[i(327)](m[i(221)], { ...t, data: { ...e, contentId: this[i(305)][i(224)], contentDuration: this[i(305)].contentDuration } }), this.state[i(291)] = !1;
|
|
2019
2029
|
}
|
|
2020
2030
|
}
|
|
2021
|
-
|
|
2022
|
-
const i =
|
|
2023
|
-
this
|
|
2031
|
+
handlePlay(t, e) {
|
|
2032
|
+
const i = b;
|
|
2033
|
+
this[i(305)][i(309)] || (this.reportData[i(249)][i(227)] = e?.[i(227)], this[i(308)][i(249)][i(237)] = e?.[i(237)], this[i(305)][i(309)] = !0, this[i(308)].extra[i(241)] = !0, this[i(305)][i(214)] && (this.state[i(214)] = !1), this[i(305)][i(332)] === m[i(325)] && this.report(m[i(297)], { ...t, data: e }), this[i(305)][i(332)] = m.PLAYING);
|
|
2024
2034
|
}
|
|
2025
|
-
[
|
|
2026
|
-
const i =
|
|
2027
|
-
this[i(
|
|
2035
|
+
[b(210)](t, e) {
|
|
2036
|
+
const i = b;
|
|
2037
|
+
this[i(305)].isSeeking || this[i(305)][i(333)] || !this[i(305)].isPlaying || (this.state[i(262)]++, this[i(305)][i(309)] = !1, this[i(327)](m.PAUSED, { ...t, data: { ...e, pauseCnt: this[i(305)][i(262)] } }), this[i(305)][i(332)] = m[i(325)]);
|
|
2028
2038
|
}
|
|
2029
|
-
[
|
|
2030
|
-
const i =
|
|
2031
|
-
this.state[i(
|
|
2039
|
+
[b(322)](t, e) {
|
|
2040
|
+
const i = b;
|
|
2041
|
+
this.state[i(309)] = !0, this[i(308)].extra[i(241)] = !0, !(this[i(308)][i(249)].currentTime < Rt) && (this[i(305)][i(309)] && Date.now() - this[i(305)][i(208)] > Mt && this.report(m[i(297)], { ...t, data: e }), this[i(305)][i(337)] = t.url || "", this[i(305)][i(202)] = t[i(279)] || k0);
|
|
2032
2042
|
}
|
|
2033
|
-
|
|
2034
|
-
const i =
|
|
2035
|
-
this[i(
|
|
2043
|
+
[b(206)](t, e) {
|
|
2044
|
+
const i = b;
|
|
2045
|
+
this[i(308)][i(249)][i(329)] > 0 && (this[i(327)](m[i(297)], { ...t, data: e }), this[i(305)][i(264)] = !0);
|
|
2036
2046
|
}
|
|
2037
|
-
[
|
|
2038
|
-
const i =
|
|
2039
|
-
this
|
|
2047
|
+
[b(300)](t, e) {
|
|
2048
|
+
const i = b;
|
|
2049
|
+
this[i(305)][i(298)] || this[i(305)][i(281)] || (this[i(305)][i(226)]++, this[i(305)][i(281)] = !0, this.state[i(194)] = Date[i(250)](), this[i(305)][i(309)] ? this[i(327)](m[i(297)], { ...t, data: e }) : this.state[i(332)] === m[i(325)] && this[i(327)](m.PAUSED, { ...t, data: e }), this[i(305)][i(332)] = m[i(255)]);
|
|
2040
2050
|
}
|
|
2041
|
-
[
|
|
2042
|
-
const i =
|
|
2043
|
-
if (
|
|
2044
|
-
|
|
2045
|
-
|
|
2051
|
+
[b(311)](t, e) {
|
|
2052
|
+
const i = b;
|
|
2053
|
+
if (this[i(305)].suppressNextSeek) {
|
|
2054
|
+
this.state[i(298)] = !1;
|
|
2055
|
+
return;
|
|
2056
|
+
}
|
|
2057
|
+
if (!this[i(305)][i(281)]) return;
|
|
2058
|
+
const a = this[i(305)][i(194)] > 0 ? Date[i(250)]() - this.state.seekStartTime : 0;
|
|
2059
|
+
this[i(305)][i(194)] = 0, this[i(305)][i(281)] = !1, this[i(327)](m[i(255)], { ...t, data: { ...e || {}, seekedTime: a } }), this[i(305)][i(332)] = this[i(305)].isPlaying ? m[i(297)] : m[i(325)];
|
|
2046
2060
|
}
|
|
2047
|
-
|
|
2048
|
-
const i =
|
|
2049
|
-
this[i(
|
|
2061
|
+
handleWaiting(t, e) {
|
|
2062
|
+
const i = b;
|
|
2063
|
+
this[i(305)][i(281)] || this.state[i(333)] || (this.state[i(333)] = !0, this[i(305)][i(309)] && this[i(327)](m.PLAYING, { ...t, data: e }), this[i(305)][i(332)] = m[i(334)]);
|
|
2050
2064
|
}
|
|
2051
|
-
[
|
|
2052
|
-
const i =
|
|
2053
|
-
this[i(
|
|
2065
|
+
[b(265)](t, e) {
|
|
2066
|
+
const i = b;
|
|
2067
|
+
this[i(305)][i(333)] && (this.state[i(333)] = !1, this[i(327)](m.REBUFFERING, { ...t, data: e }), this[i(305)].prevAction = this[i(305)][i(309)] ? m[i(297)] : m[i(325)]);
|
|
2054
2068
|
}
|
|
2055
2069
|
sendSessionBeacon() {
|
|
2056
|
-
const t =
|
|
2057
|
-
if (this[t(
|
|
2058
|
-
this[t(
|
|
2059
|
-
const { logDate: e, logDateUnix: i } = this
|
|
2060
|
-
|
|
2070
|
+
const t = b;
|
|
2071
|
+
if (this[t(233)] || this[t(305)][t(230)] || this[t(305)][t(257)] || !this[t(308)][t(249)][t(232)] || !this[t(308)][t(249)].TID) return;
|
|
2072
|
+
this[t(233)] = !0;
|
|
2073
|
+
const { logDate: e, logDateUnix: i } = this.getTime(), a = Date.now(), r = this[t(305)].prevTime > 0 ? a - this[t(305)][t(208)] : 0, o = (this[t(308)][t(249)].currentTime || 0) * 1e3, f = this[t(305)].contentDuration, p = f > 0 ? Math[t(282)](o / f * 1e4) / 100 : 0, v = this[t(308)][t(249)][t(227)] || 0, S = { ...this[t(308)], video: this[t(308)][t(330)], percent: p, extra: { ...this[t(308)].extra, actionType: "ended", actionDuration: r ? r.toFixed(2) : 0, duration: f > 0 ? Math[t(335)](f / 1e3) : this[t(308)][t(249)][t(310)] || 0, logDate: e, logDateUnix: i, contentId: this[t(305)].contentId, contentDuration: f, percent: p, watch_percent: p, watchPercent: p, isCompleted: p >= 95, isBounce: v < 1e4, pauseCnt: this[t(305)][t(262)], seekCnt: this[t(305)][t(226)], speedChangeCnt: this[t(305)].speedChangeCnt, lastPlaybackSpeed: this[t(305)][t(302)], fullscreenYn: this[t(305)][t(266)], fullscreenDuration: this.state[t(259)] + (this[t(305)].fullscreenEnterTime > 0 ? Date[t(250)]() - this[t(305)][t(201)] : 0), dropOffPosition: Math[t(282)](o) } };
|
|
2074
|
+
Tt(S);
|
|
2061
2075
|
}
|
|
2062
|
-
[
|
|
2063
|
-
this
|
|
2076
|
+
[b(280)]() {
|
|
2077
|
+
this.sendSessionBeacon();
|
|
2064
2078
|
}
|
|
2065
|
-
[
|
|
2066
|
-
const t =
|
|
2067
|
-
document[t(
|
|
2079
|
+
[b(240)]() {
|
|
2080
|
+
const t = b;
|
|
2081
|
+
document[t(320)] === "hidden" && this[t(284)]();
|
|
2068
2082
|
}
|
|
2069
|
-
[
|
|
2070
|
-
const t =
|
|
2071
|
-
window[t(
|
|
2083
|
+
[b(273)]() {
|
|
2084
|
+
const t = b;
|
|
2085
|
+
window[t(258)](t(294), this[t(216)]), document[t(258)](t(314), this.boundVisibilityChange);
|
|
2072
2086
|
}
|
|
2073
|
-
[
|
|
2074
|
-
const i =
|
|
2075
|
-
let
|
|
2076
|
-
return this
|
|
2087
|
+
[b(213)](t, e) {
|
|
2088
|
+
const i = b, a = e?.extra || e || {}, r = (a?.[i(329)] || 0) * 1e3, o = this.state[i(196)], f = o > 0 ? Math[i(282)](r / o * 1e4) / 100 : 0, p = this[i(308)][i(249)][i(227)] || 0;
|
|
2089
|
+
let v = this[i(305)][i(259)];
|
|
2090
|
+
return this.state.fullscreenEnterTime > 0 && (v += Date.now() - this[i(305)][i(201)]), { ...t, data: { ...e, contentId: this[i(305)][i(224)], duration: o > 0 ? Math.floor(o / 1e3) : a?.[i(310)] || 0, contentDuration: o, percent: f, watch_percent: f, watchPercent: f, isCompleted: f >= 95, isBounce: p < 1e4, pauseCnt: this[i(305)][i(262)], seekCnt: this[i(305)][i(226)], speedChangeCnt: this[i(305)][i(278)], lastPlaybackSpeed: this[i(305)][i(302)], fullscreenYn: this[i(305)][i(266)], fullscreenDuration: v, dropOffPosition: Math[i(282)](r) } };
|
|
2077
2091
|
}
|
|
2078
|
-
[
|
|
2079
|
-
const i =
|
|
2080
|
-
this[i(
|
|
2092
|
+
[b(205)](t, e) {
|
|
2093
|
+
const i = b;
|
|
2094
|
+
this.state[i(230)] || (this[i(305)][i(230)] = !0, this.state[i(309)] = !1, this[i(233)] = !0, this[i(305)][i(332)] !== m[i(325)] && this[i(327)](this.state[i(332)] || m[i(297)], { ...t, data: e }), this[i(327)](m[i(203)], this[i(213)](t, e)));
|
|
2081
2095
|
}
|
|
2082
|
-
[
|
|
2083
|
-
const
|
|
2084
|
-
this
|
|
2085
|
-
const o =
|
|
2086
|
-
this[o(
|
|
2087
|
-
this[o(
|
|
2096
|
+
[b(339)](t, e, i) {
|
|
2097
|
+
const a = b, r = t === a(313) ? m.NEXT_TRACK : m[a(289)];
|
|
2098
|
+
this.report(this[a(305)][a(332)] || m[a(297)], this[a(213)](e, i))[a(229)](() => {
|
|
2099
|
+
const o = a;
|
|
2100
|
+
this[o(327)](r, { ...e, data: i })[o(229)](() => {
|
|
2101
|
+
this[o(215)]();
|
|
2088
2102
|
});
|
|
2089
2103
|
});
|
|
2090
2104
|
}
|
|
2091
|
-
|
|
2092
|
-
const i =
|
|
2093
|
-
this
|
|
2094
|
-
const
|
|
2095
|
-
this[i(
|
|
2105
|
+
handleError(t, e) {
|
|
2106
|
+
const i = b;
|
|
2107
|
+
this[i(305)][i(332)] && !this[i(305)].firstPlaying && this[i(327)](this[i(305)].prevAction, this[i(213)](t, e));
|
|
2108
|
+
const a = { errorCode: e?.[i(256)] || i(277), errorMessage: e?.[i(217)] || i(275) };
|
|
2109
|
+
this[i(327)](m[i(323)], { ...t, data: { ...e, ...a } }), this[i(305)][i(257)] = !0;
|
|
2096
2110
|
}
|
|
2097
2111
|
handleQualityChange(t, e) {
|
|
2098
|
-
const i =
|
|
2099
|
-
this[i(
|
|
2112
|
+
const i = b;
|
|
2113
|
+
this.state[i(332)] && !this.state.isSeeking && !this[i(305)][i(333)] && !this[i(305)][i(291)] && (this[i(305)][i(281)] = !0, this.report(this[i(305)][i(332)], { ...t, data: e }), this.state[i(332)] = m.SEEKING);
|
|
2100
2114
|
}
|
|
2101
|
-
|
|
2102
|
-
const i =
|
|
2103
|
-
|
|
2115
|
+
handleRateChange(t, e) {
|
|
2116
|
+
const i = b, a = e?.playbackRate || e?.[i(249)]?.[i(303)] || 1;
|
|
2117
|
+
a !== this[i(305)][i(302)] && (this[i(305)][i(278)]++, this[i(305)][i(302)] = a, this[i(327)](m[i(324)], { ...t, data: { ...e, speedChangeCnt: this[i(305)].speedChangeCnt, lastPlaybackSpeed: a } }));
|
|
2104
2118
|
}
|
|
2105
2119
|
handleFullscreenChange(t, e) {
|
|
2106
|
-
const i =
|
|
2107
|
-
e?.[i(
|
|
2120
|
+
const i = b;
|
|
2121
|
+
e?.[i(295)] || e?.[i(249)]?.[i(295)] ? (this.state[i(266)] = !0, this[i(305)][i(201)] = Date[i(250)]()) : this.state[i(201)] > 0 && (this[i(305)][i(259)] += Date[i(250)]() - this[i(305)][i(201)], this[i(305)][i(201)] = 0), this[i(327)](m[i(286)], { ...t, data: { ...e, fullscreenYn: this[i(305)].fullscreenYn, fullscreenDuration: this.state[i(259)] } });
|
|
2108
2122
|
}
|
|
2109
|
-
|
|
2110
|
-
const t =
|
|
2111
|
-
this[t(
|
|
2123
|
+
[b(215)]() {
|
|
2124
|
+
const t = b;
|
|
2125
|
+
this[t(305)].prevAction = null, this[t(305)].isPlaying = !1, this[t(305)][t(208)] = 0, this[t(305)][t(291)] = !0, this.state[t(264)] = !1, this[t(305)][t(262)] = 0, this.state[t(226)] = 0, this[t(305)][t(278)] = 0, this.state[t(302)] = 1, this[t(305)][t(266)] = !1, this[t(305)].fullscreenEnterTime = 0, this[t(305)].fullscreenDuration = 0, this[t(305)][t(224)] = null, this[t(305)][t(196)] = 0;
|
|
2112
2126
|
}
|
|
2113
2127
|
}
|
|
2114
|
-
const
|
|
2128
|
+
const y = W0;
|
|
2115
2129
|
(function(x, t) {
|
|
2116
|
-
const e =
|
|
2130
|
+
const e = W0, i = x();
|
|
2117
2131
|
for (; ; )
|
|
2118
2132
|
try {
|
|
2119
|
-
if (
|
|
2133
|
+
if (parseInt(e(370)) / 1 * (parseInt(e(423)) / 2) + parseInt(e(444)) / 3 * (-parseInt(e(507)) / 4) + -parseInt(e(439)) / 5 * (parseInt(e(446)) / 6) + parseInt(e(430)) / 7 + -parseInt(e(417)) / 8 + parseInt(e(356)) / 9 * (parseInt(e(480)) / 10) + parseInt(e(342)) / 11 * (parseInt(e(350)) / 12) === t) break;
|
|
2120
2134
|
i.push(i.shift());
|
|
2121
2135
|
} catch {
|
|
2122
2136
|
i.push(i.shift());
|
|
2123
2137
|
}
|
|
2124
|
-
})(Ne,
|
|
2125
|
-
function
|
|
2126
|
-
return x = x -
|
|
2138
|
+
})(Ne, 172089);
|
|
2139
|
+
function W0(x, t) {
|
|
2140
|
+
return x = x - 338, Ne()[x];
|
|
2127
2141
|
}
|
|
2142
|
+
const Ot = { gov: { prod: { config: y(490), report: "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz" }, beta: { config: y(454), report: "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=" } }, pub: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", report: y(504) }, beta: { config: y(441), report: y(516) } } };
|
|
2143
|
+
let E0 = [];
|
|
2128
2144
|
function Ne() {
|
|
2129
|
-
const x = ["
|
|
2145
|
+
const x = ["quality", "Firefox", "playerStateReport", "statusText", "auto", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "initialize", "effectiveType", "1992pXwshZ", "browser", "report", "host", "lang", "Unknown", "match", "pricing", "type", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "location", "model", "UAParser", "screen", "href", "errorCode", "appId", "VPE", "1177YuipZE", "createPlayerInfo", "round", "includes", "cid", "connection", "url", "json", "19368ChOAEe", "webkitConnection", "dash", "incomingType", "mozConnection", "Other", "417807DSpXEM", "VPE SDK Initialization failed:", "dispatchEvent", "rtt", "kbps", "warn", "#EXT-X-STREAM-INF", "saveData", "player_version", "hlsPaser", "mpd", "ready", "controlBtn", "errorInfo", "12fFQFlP", "getTime", "filter", "Chrome", "VOD", "domain", "toString", "test", "result", "playbackRate", "reduce", "language", "getElapsedMilliseconds", "stage", "userAgent", "getVideoProtocol", "getValidatedOptions", "getErrorState", "hardwareConcurrency", "Auto", "downlink", "isInitialized", "LIVE", "naver", "maSync", "playlist", "device", "updateTranslator", "port", "player_name", "state", "getPlaylist", "data", "version", "ncplayer : ", "slice", ".mpd", "API", "hls", "kakaotalk", "startsWith", "maUse", "vendor", "status", "trim", "Kakao webview", "video", "1810544hVxVeo", "naverncp.com/live/video/ls-", "contentId", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "Base64 decoding failed:", "text", "20432KkQInY", "name", "playerStartTimeMs", "videoWidth", "isDev", "userAgentData", "player_start", "831082Uvphlw", "meta", "mp4", "options", "maInit", "vpe", "ratechange", "error", "map", "45cBXeGW", "Error:", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "translator", "platform", "87rfVNDM", "Naver webview", "93624rgJABu", "pay", "errorState", "mobile", "?preview=true", "serverConfig", "isPaidTier", "isFullscreen", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", "playerInfo", "length", "playerVersion", "m3u8", "navigator", "object", "setErrorRun", "deviceMemory", "startup", "height", "POST", "width", " / ", "title", "code", "hasFirstPlayReported", "maManager", "getBrowserInfo", "origin", "floor", "indexOf", "join", "toLowerCase", "application/json", "stringify", "30PsjWmM", "Safari", "live", "some", ".m3u8", "watermarkConfig", "unknown", "getResult", "extra", "poster", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "protocol", "playerName", "push", "config", "stateChange", "split", "accessKey", "startTimeAt"];
|
|
2130
2146
|
return Ne = function() {
|
|
2131
2147
|
return x;
|
|
2132
2148
|
}, Ne();
|
|
2133
2149
|
}
|
|
2134
|
-
const
|
|
2135
|
-
|
|
2136
|
-
const O0 = (x) => {
|
|
2137
|
-
const t = I;
|
|
2150
|
+
const Pt = (x) => {
|
|
2151
|
+
const t = y;
|
|
2138
2152
|
try {
|
|
2139
2153
|
return atob(x);
|
|
2140
2154
|
} catch (e) {
|
|
2141
|
-
return console[t(
|
|
2155
|
+
return console[t(437)](t(421), e), "";
|
|
2142
2156
|
}
|
|
2143
2157
|
};
|
|
2144
|
-
class
|
|
2158
|
+
class Ut {
|
|
2145
2159
|
serverConfig = {};
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
[
|
|
2149
|
-
[
|
|
2150
|
-
|
|
2151
|
-
[
|
|
2152
|
-
[
|
|
2153
|
-
[
|
|
2154
|
-
[
|
|
2155
|
-
[
|
|
2156
|
-
|
|
2157
|
-
[
|
|
2158
|
-
[
|
|
2159
|
-
constructor({ accessKey: t, appId: e, platform: i, stage:
|
|
2160
|
-
const
|
|
2161
|
-
this
|
|
2160
|
+
playerInfo = null;
|
|
2161
|
+
[y(497)];
|
|
2162
|
+
[y(340)];
|
|
2163
|
+
[y(443)];
|
|
2164
|
+
[y(383)];
|
|
2165
|
+
[y(427)];
|
|
2166
|
+
[y(442)] = Je();
|
|
2167
|
+
[y(448)];
|
|
2168
|
+
[y(471)] = null;
|
|
2169
|
+
[y(498)] = null;
|
|
2170
|
+
[y(353)] = null;
|
|
2171
|
+
[y(470)] = !1;
|
|
2172
|
+
[y(425)] = 0;
|
|
2173
|
+
constructor({ accessKey: t, appId: e, platform: i, stage: a, isDev: r = !1, language: o }) {
|
|
2174
|
+
const f = y;
|
|
2175
|
+
this[f(497)] = t, this.appId = e || location[f(473)], this[f(443)] = i, this.stage = a, this[f(427)] = r, this[f(397)](o), this.errorState = { errorCode: null, errorMessage: null };
|
|
2162
2176
|
}
|
|
2163
|
-
async
|
|
2164
|
-
const t =
|
|
2165
|
-
if ([this[e[0]], this[e[1]]][t(
|
|
2177
|
+
async [y(505)]() {
|
|
2178
|
+
const t = y, e = [t(497), t(340), "E0002", "E0001", "E0003"], i = t(420);
|
|
2179
|
+
if ([this[e[0]], this[e[1]]][t(483)]((o) => !o)) return console[t(361)](i), { error: this[t(461)](e[2]) };
|
|
2166
2180
|
const r = (o) => {
|
|
2167
|
-
const
|
|
2168
|
-
return this[
|
|
2181
|
+
const f = t;
|
|
2182
|
+
return this[f(451)] = o, this[f(455)] = this[f(343)](o), this[f(455)];
|
|
2169
2183
|
};
|
|
2170
2184
|
try {
|
|
2171
|
-
const o = await this
|
|
2172
|
-
if (o[t(
|
|
2173
|
-
const
|
|
2174
|
-
if (window[t(
|
|
2175
|
-
await
|
|
2176
|
-
const p = await
|
|
2177
|
-
this[t(
|
|
2185
|
+
const o = await this.performKeyCheck();
|
|
2186
|
+
if (o[t(469)] !== 200) return { error: this[t(461)](e[3]) };
|
|
2187
|
+
const f = r(o);
|
|
2188
|
+
if (window.vpe && (window[t(435)][t(492)] = f?.[t(399)], window.vpe[t(457)] = f?.[t(364)], window[t(435)][t(399)] = f[t(399)] + "|" + f[t(364)], window[t(435)][t(400)] = this[t(383)]), f?.[t(411)] === "Y") {
|
|
2189
|
+
await kt(this.platform, this[t(383)], f, this[t(340)], this[t(497)]);
|
|
2190
|
+
const p = await St(this[t(497)]);
|
|
2191
|
+
this[t(471)] = new Dt(this[t(443)], this[t(383)], f), this.startTimeAt = Date.now(), p?.result?.sync && await this[t(471)][t(434)]({ video: f[t(416)] || {}, extra: { ...f[t(488)] } });
|
|
2178
2192
|
}
|
|
2179
|
-
return { options: this[t(
|
|
2193
|
+
return { options: this[t(451)][t(378)]?.[t(433)], playerInfo: f };
|
|
2180
2194
|
} catch (o) {
|
|
2181
|
-
return console
|
|
2195
|
+
return console[t(437)](t(357), o), { error: this.setErrorRun(e[4]) };
|
|
2182
2196
|
}
|
|
2183
2197
|
}
|
|
2184
|
-
async
|
|
2185
|
-
const t =
|
|
2186
|
-
if (!
|
|
2187
|
-
return
|
|
2198
|
+
async performKeyCheck() {
|
|
2199
|
+
const t = y, e = [t(450), t(494), "Content-Type", t(478), "access_key", t(375), t(465)], i = this[t(427)] ? e[0] : "", a = Pt(Ot[this.platform][this[t(383)]][e[1]]) + i, r = this[t(340)], o = JSON[t(479)]([e[4], e[5]][t(380)]((p, v, S) => (p[v] = [this.accessKey, r][S], p), {})), f = await fetch(a, { method: e[6], headers: { [e[2]]: e[3] }, body: o });
|
|
2200
|
+
if (!f.ok) throw new Error([t(407), t(440), f[t(413)], f[t(502)]][t(476)](" "));
|
|
2201
|
+
return f[t(349)]();
|
|
2188
2202
|
}
|
|
2189
|
-
[
|
|
2190
|
-
const t =
|
|
2191
|
-
return /Edg\/(\d+\.\d+)
|
|
2203
|
+
[y(472)]() {
|
|
2204
|
+
const t = y, e = navigator[t(384)];
|
|
2205
|
+
return /Edg\/(\d+\.\d+)/.test(e) ? { origin: "Edge", version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/[t(377)](e) && !e[t(345)]("Edg") ? { origin: t(373), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/.test(e) ? { origin: t(500), version: RegExp.$1 } : /Version\/(\d+\.\d+)/[t(377)](e) && e[t(345)](t(481)) ? { origin: t(481), version: RegExp.$1 } : { origin: t(512), version: t(512) };
|
|
2192
2206
|
}
|
|
2193
|
-
|
|
2194
|
-
const e =
|
|
2195
|
-
return window[e(
|
|
2207
|
+
[y(343)](t) {
|
|
2208
|
+
const e = y, [i, a] = t[e(378)][e(424)][e(496)]("|"), r = navigator.connection || navigator.mozConnection || navigator[e(351)], o = this[e(472)](), f = navigator[e(428)], p = new G(window[e(459)][e(384)])[e(487)]();
|
|
2209
|
+
return window[e(459)][e(384)][e(477)]()[e(345)]("whale") ? p[e(508)].name = "Whale" : window[e(459)].userAgent[e(477)]()[e(345)](e(409)) ? p[e(508)][e(424)] = e(415) : window[e(459)][e(384)].toLowerCase()[e(345)](e(393)) ? p.browser[e(424)] = e(445) : window[e(459)][e(384)][e(477)]()[e(345)]("kakao") ? p[e(508)].name = "Kakao webview" : window.navigator[e(384)][e(477)]()[e(345)](e(393)) && (p[e(508)].name = "Naver webview"), { cid: t[e(378)][e(346)], player_name: i, player_version: a, pricing: t[e(378)][e(514)], maUse: t[e(378)][e(433)]?.[e(411)] === "Y" ? "Y" : "N", browser: { lang: navigator[e(381)], ua: navigator[e(384)] }, screen: { width: window[e(520)][e(466)], height: window[e(520)][e(464)] }, connection: { network: r?.[e(506)] ?? e(486), downlink: r?.[e(390)] ?? null, rtt: r?.[e(359)] ?? null, save_data: r?.[e(363)] ?? !1 }, device: { platform: f?.[e(443)] ?? "Unknown", mobile: f?.[e(449)] ?? !1, memory: navigator[e(462)] ?? null, processor: navigator[e(388)] ?? null }, video: { url: "" }, extra: { vpeKey: this[e(497)], playerType: e(341), playerVersion: window[e(435)]?.[e(457)] ?? a, os: (p.os[e(424)] || e(512)) + e(467) + (p.os[e(403)] || ""), osOrigin: p.os[e(424)] || e(512), osVersion: p.os[e(403)], vpePackageId: null, actionDuration: this[e(382)](), actionType: e(367), browser: o[e(473)], browserOrigin: o[e(473)], browserVersion: o[e(403)], quality: e(355), qualityOrigin: e(389), device: p[e(396)][e(412)] + " " + p[e(396)][e(518)], location: window.location[e(338)], host: window.location[e(510)], port: window[e(517)][e(398)], protocol: window[e(517)].protocol, title: "" } };
|
|
2196
2210
|
}
|
|
2197
|
-
[
|
|
2198
|
-
const e =
|
|
2199
|
-
return this[e(
|
|
2211
|
+
[y(461)](t) {
|
|
2212
|
+
const e = y, i = t[e(405)](-2), a = this[e(442)].error[i] || this[e(442)].error["01"], r = { errorCode: t, errorMessage: a };
|
|
2213
|
+
return this[e(448)] = r, console[e(437)](e(404), r), r;
|
|
2200
2214
|
}
|
|
2201
|
-
|
|
2202
|
-
this.translator =
|
|
2215
|
+
updateTranslator(t) {
|
|
2216
|
+
this.translator = Je(t);
|
|
2203
2217
|
}
|
|
2204
|
-
[
|
|
2205
|
-
return this
|
|
2218
|
+
[y(387)]() {
|
|
2219
|
+
return this.errorState;
|
|
2206
2220
|
}
|
|
2207
|
-
[
|
|
2208
|
-
const t =
|
|
2209
|
-
return this
|
|
2221
|
+
[y(452)]() {
|
|
2222
|
+
const t = y;
|
|
2223
|
+
return this[t(451)][t(378)]?.[t(514)] === t(447);
|
|
2210
2224
|
}
|
|
2211
|
-
[
|
|
2212
|
-
const t =
|
|
2213
|
-
return !!this[t(
|
|
2225
|
+
[y(391)]() {
|
|
2226
|
+
const t = y;
|
|
2227
|
+
return !!this[t(451)][t(378)];
|
|
2214
2228
|
}
|
|
2215
|
-
|
|
2216
|
-
const e =
|
|
2217
|
-
this
|
|
2218
|
-
const
|
|
2219
|
-
return
|
|
2229
|
+
[y(386)](t) {
|
|
2230
|
+
const e = y, i = Ct(this[e(451)].result?.[e(433)], this.serverConfig.result?.pricing);
|
|
2231
|
+
this[e(451)].result?.pricing !== e(447) && (t = { ...t, ...i });
|
|
2232
|
+
const a = { ...i, ...t ?? {} };
|
|
2233
|
+
return a?.[e(511)] && (a?.[e(511)] == "auto" || this.updateTranslator(a.lang)), t?.[e(368)] && (a.controlBtn = { ...i.controlBtn, ...t.controlBtn }), t?.[e(485)] && (a[e(485)] = { ...i[e(485)], ...t.watermarkConfig }), a[e(395)] && !Array.isArray(a.playlist) && (a.playlist = [{ file: a[e(395)] }]), E0 = a[e(395)] || [], a;
|
|
2220
2234
|
}
|
|
2221
|
-
[
|
|
2222
|
-
return
|
|
2235
|
+
[y(401)]() {
|
|
2236
|
+
return E0 || [];
|
|
2223
2237
|
}
|
|
2224
2238
|
$t(t) {
|
|
2225
|
-
const e =
|
|
2226
|
-
let
|
|
2239
|
+
const e = y, i = t[e(496)](".");
|
|
2240
|
+
let a = this[e(442)];
|
|
2227
2241
|
for (const r of i)
|
|
2228
|
-
if (
|
|
2242
|
+
if (a && typeof a === e(460) && r in a) a = a[r];
|
|
2229
2243
|
else return t;
|
|
2230
|
-
return typeof
|
|
2244
|
+
return typeof a == "string" ? a : t;
|
|
2231
2245
|
}
|
|
2232
|
-
async [
|
|
2233
|
-
const e =
|
|
2234
|
-
if (!t || t[e(
|
|
2235
|
-
const
|
|
2236
|
-
const
|
|
2246
|
+
async [y(365)](t) {
|
|
2247
|
+
const e = y, i = [];
|
|
2248
|
+
if (!t || t[e(475)](e(484)) === -1) return i;
|
|
2249
|
+
const a = (f, p) => {
|
|
2250
|
+
const v = e;
|
|
2237
2251
|
try {
|
|
2238
|
-
return new URL(p,
|
|
2252
|
+
return new URL(p, f)[v(376)]();
|
|
2239
2253
|
} catch {
|
|
2240
2254
|
return p;
|
|
2241
2255
|
}
|
|
2242
|
-
}, r = (
|
|
2243
|
-
const p = e,
|
|
2244
|
-
if (
|
|
2245
|
-
const
|
|
2246
|
-
return
|
|
2247
|
-
}, o = (
|
|
2248
|
-
const p = e,
|
|
2249
|
-
for (let
|
|
2250
|
-
const A =
|
|
2251
|
-
if (A
|
|
2252
|
-
const D =
|
|
2253
|
-
D && !D
|
|
2256
|
+
}, r = (f) => {
|
|
2257
|
+
const p = e, v = f[p(513)](/RESOLUTION=(\d+)x(\d+)/);
|
|
2258
|
+
if (v) return v[2] + "p";
|
|
2259
|
+
const S = f.match(/BANDWIDTH=(\d+)/);
|
|
2260
|
+
return S ? Math.round(Number(S[1]) / 1e3) + p(360) : p(503);
|
|
2261
|
+
}, o = (f) => {
|
|
2262
|
+
const p = e, v = f[p(496)](/\r?\n/)[p(438)]((S) => S[p(414)]())[p(372)]((S) => S[p(456)] > 0);
|
|
2263
|
+
for (let S = 0; S < v[p(456)]; S += 1) {
|
|
2264
|
+
const A = v[S];
|
|
2265
|
+
if (A[p(410)](p(362))) {
|
|
2266
|
+
const D = v[S + 1];
|
|
2267
|
+
D && !D[p(410)]("#") && (i[p(493)]({ quality: r(A), url: a(t, D), levelIndex: i.length }), S += 1);
|
|
2254
2268
|
}
|
|
2255
2269
|
}
|
|
2256
2270
|
};
|
|
2257
2271
|
try {
|
|
2258
|
-
const
|
|
2259
|
-
if (!
|
|
2260
|
-
const p = await
|
|
2272
|
+
const f = await fetch(t);
|
|
2273
|
+
if (!f.ok) return i;
|
|
2274
|
+
const p = await f[e(422)]();
|
|
2261
2275
|
return p && o(p), i;
|
|
2262
|
-
} catch (
|
|
2263
|
-
return console
|
|
2276
|
+
} catch (f) {
|
|
2277
|
+
return console[e(437)]("HLS 파싱 실패:", f), i;
|
|
2264
2278
|
}
|
|
2265
2279
|
}
|
|
2266
|
-
async [
|
|
2267
|
-
const e =
|
|
2268
|
-
if (!t?.[e(
|
|
2269
|
-
const i = new
|
|
2270
|
-
if (t[e(
|
|
2271
|
-
if (t
|
|
2272
|
-
await this[e(
|
|
2280
|
+
async [y(501)](t) {
|
|
2281
|
+
const e = y;
|
|
2282
|
+
if (!t?.[e(515)] || !this.maManager || this[e(455)]?.[e(411)] !== "Y") return;
|
|
2283
|
+
const i = new ut[e(519)](window[e(459)][e(384)]).getResult();
|
|
2284
|
+
if (t[e(515)] == "volumechange" || t[e(515)] == e(495)) return;
|
|
2285
|
+
if (t.type == "ratechange") {
|
|
2286
|
+
await this[e(509)](e(436), { extra: { playbackRate: t?.[e(402)]?.[e(379)] || t?.video?.[e(402)]?.[e(379)] || 1 } }, t[e(515)]);
|
|
2273
2287
|
return;
|
|
2274
2288
|
}
|
|
2275
|
-
if (t
|
|
2276
|
-
await this[e(
|
|
2289
|
+
if (t[e(515)] == "fullscreenchange") {
|
|
2290
|
+
await this[e(509)]("fullscreenchange", { extra: { isFullscreen: t?.[e(402)]?.[e(453)] || !1 } }, t[e(515)]);
|
|
2277
2291
|
return;
|
|
2278
2292
|
}
|
|
2279
|
-
const
|
|
2280
|
-
t[e(
|
|
2281
|
-
const r = t?.
|
|
2282
|
-
this[e(
|
|
2283
|
-
const
|
|
2284
|
-
|
|
2285
|
-
const A = t?.[e(
|
|
2293
|
+
const a = t[e(515)];
|
|
2294
|
+
t[e(515)] == "ready" && (t[e(515)] = "player_start");
|
|
2295
|
+
const r = t?.[e(416)]?.[e(348)] ?? "", o = /\.mp4(?:[?#]|$)/i[e(377)](r) && !r[e(345)](e(484)) && !r[e(345)](e(406)), f = !o && (t?.[e(416)]?.[e(515)] == e(482) || r.includes(e(418))), p = navigator[e(347)] || navigator[e(354)] || navigator[e(351)] || null;
|
|
2296
|
+
this[e(353)] = t?.[e(515)] || null;
|
|
2297
|
+
const v = this.incomingType === "play" && !this[e(470)], S = v ? e(463) : this[e(353)];
|
|
2298
|
+
v && (this[e(470)] = !0);
|
|
2299
|
+
const A = t?.[e(416)]?.[e(402)]?.duration || 0, D = t?.video?.[e(402)]?.currentTime || 0, J = t?.[e(416)]?.[e(426)] || 0, V = t?.video?.videoHeight || 0;
|
|
2286
2300
|
let Y = 0, we = 0, ee = 0;
|
|
2287
|
-
if (
|
|
2288
|
-
const
|
|
2289
|
-
we =
|
|
2301
|
+
if (S == e(429) && (Y = this[e(382)](), this[e(425)] = Y), S == e(463)) {
|
|
2302
|
+
const r0 = this[e(382)]();
|
|
2303
|
+
we = r0 - this[e(425)], ee = r0;
|
|
2290
2304
|
}
|
|
2291
|
-
const
|
|
2292
|
-
await this[e(
|
|
2305
|
+
const q0 = { type: S, video: { type: f ? e(392) : "VOD", quality: t?.[e(416)]?.[e(499)] ? t?.[e(416)]?.quality : e(503), url: t?.[e(416)]?.url }, connection: p ? { network: p.effectiveType, downlink: p[e(390)], rtt: p[e(359)], save_data: p[e(363)] } : void 0, extra: { actionType: S, url: t?.[e(416)]?.[e(348)], type: e(f ? 392 : 374), videoFormat: this[e(385)](t?.[e(416)]?.[e(348)]), ...t?.[e(416)]?.poster ? { poster: t[e(416)][e(489)] } : {}, video_type: f ? "LIVE" : "VOD", title: t?.[e(431)]?.[e(468)], contentId: t?.[e(416)]?.[e(419)] || t?.[e(431)]?.contentId || null, metaData: t?.[e(431)], videoWidth: Math[e(344)](J), videoHeight: Math.round(V), video_protocols: this[e(385)](t?.[e(416)]?.[e(348)]), duration: Math.floor(A), currentTime: Math[e(474)](D), playedTime: this[e(382)](), viewingTime: Math[e(344)](this[e(382)]() / 1e3), playerStartTime: Y, videoStartTime: we, totalStartTime: ee, percent: Math[e(344)](D / A * 100), quality: t?.[e(416)]?.quality ? t?.video?.[e(499)] : "auto", errorCode: t?.[e(369)]?.[e(339)], errorMessage: t?.errorInfo?.errorMessage, actionDuration: this[e(382)]() / 1e3, device: i[e(396)][e(412)] + " " + i.device[e(518)], location: window.location.href, host: window[e(517)][e(510)], port: window.location[e(398)], protocol: window[e(517)][e(491)] }, browser: { lang: navigator[e(381)], ua: navigator[e(384)] }, screen: { width: window[e(520)].width, height: window[e(520)][e(464)] } };
|
|
2306
|
+
await this[e(509)](S, q0, a);
|
|
2293
2307
|
}
|
|
2294
|
-
async
|
|
2295
|
-
const
|
|
2296
|
-
if (!this
|
|
2297
|
-
const r = e && typeof e ===
|
|
2298
|
-
await this[
|
|
2308
|
+
async [y(509)](t, e, i) {
|
|
2309
|
+
const a = y;
|
|
2310
|
+
if (!this[a(471)]) return;
|
|
2311
|
+
const r = e && typeof e === a(460) ? e : { extra: { actionDuration: this[a(382)]() } };
|
|
2312
|
+
await this[a(471)][a(394)](r), await this.maManager[a(358)]({ type: t, data: r });
|
|
2299
2313
|
}
|
|
2300
|
-
|
|
2301
|
-
const e =
|
|
2302
|
-
return t[e(
|
|
2314
|
+
[y(385)](t) {
|
|
2315
|
+
const e = y;
|
|
2316
|
+
return t[e(475)](e(458)) > -1 ? e(408) : t[e(475)](e(366)) > -1 ? e(352) : e(432);
|
|
2303
2317
|
}
|
|
2304
|
-
|
|
2305
|
-
const t =
|
|
2306
|
-
return this
|
|
2318
|
+
getElapsedMilliseconds() {
|
|
2319
|
+
const t = y;
|
|
2320
|
+
return this[t(498)] ? (/* @__PURE__ */ new Date())[t(371)]() - this[t(498)] : 0;
|
|
2307
2321
|
}
|
|
2308
2322
|
}
|
|
2323
|
+
function Nt(x, t) {
|
|
2324
|
+
x = x - 467;
|
|
2325
|
+
var e = Ue(), i = e[x];
|
|
2326
|
+
return i;
|
|
2327
|
+
}
|
|
2309
2328
|
(function(x, t) {
|
|
2310
|
-
for (var e =
|
|
2329
|
+
for (var e = Nt, i = x(); ; )
|
|
2311
2330
|
try {
|
|
2312
|
-
var
|
|
2313
|
-
if (
|
|
2331
|
+
var a = parseInt(e(474)) / 1 * (parseInt(e(475)) / 2) + -parseInt(e(468)) / 3 + -parseInt(e(472)) / 4 * (parseInt(e(476)) / 5) + -parseInt(e(470)) / 6 + -parseInt(e(471)) / 7 * (-parseInt(e(473)) / 8) + parseInt(e(469)) / 9 + parseInt(e(467)) / 10;
|
|
2332
|
+
if (a === t) break;
|
|
2314
2333
|
i.push(i.shift());
|
|
2315
2334
|
} catch {
|
|
2316
2335
|
i.push(i.shift());
|
|
2317
2336
|
}
|
|
2318
|
-
})(Ue,
|
|
2337
|
+
})(Ue, 606370);
|
|
2319
2338
|
function Ue() {
|
|
2320
|
-
var x = ["
|
|
2339
|
+
var x = ["7rgIvYX", "121624HIeCZy", "929272YgvcHY", "1sNqUEQ", "162762LiExGS", "50gUDKhS", "21742890IqaDvx", "2780316ZjBcfI", "164394Odesnf", "3317358Kzqbot"];
|
|
2321
2340
|
return Ue = function() {
|
|
2322
2341
|
return x;
|
|
2323
2342
|
}, Ue();
|
|
2324
2343
|
}
|
|
2325
|
-
function P0(x, t) {
|
|
2326
|
-
x = x - 340;
|
|
2327
|
-
var e = Ue(), i = e[x];
|
|
2328
|
-
return i;
|
|
2329
|
-
}
|
|
2330
2344
|
export {
|
|
2331
|
-
|
|
2332
|
-
|
|
2345
|
+
Ut as default,
|
|
2346
|
+
Je as getTranslator
|
|
2333
2347
|
};
|