diff --git a/PostgREST 12.2 文档 .html b/PostgREST 12.2 文档 .html deleted file mode 100644 index 106fbec..0000000 --- a/PostgREST 12.2 文档 .html +++ /dev/null @@ -1,834 +0,0 @@ - - - - - - - - - 错误 — PostgREST 12.2 文档 - PostgREST 中文 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

错误

-

PostgREST 错误消息遵循 PostgreSQL 错误结构。它包括 MESSAGEDETAILHINTERRCODE,并将向响应添加 HTTP 状态码。

-
-

来自 PostgreSQL 的错误

-

PostgREST 将转发来自 PostgreSQL 的错误。例如,在约束失败时

-
POST /projects HTTP/1.1
-
-
-
HTTP/1.1 400 Bad Request
-Content-Type: application/json; charset=utf-8
-
-
-
{
-    "code": "23502",
-    "details": "Failing row contains (null, foo, null).",
-    "hint": null,
-    "message": "null value in column \"id\" of relation \"projects\" violates not-null constraint"
-}
-
-
-
-

HTTP 状态码

-

PostgREST 将 PostgreSQL 错误代码 转换为 HTTP 状态,如下所示

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

PostgreSQL 错误代码

HTTP 状态

错误描述

08*

503

pg 连接错误

09*

500

触发操作异常

0L*

403

无效授予者

0P*

403

无效角色规范

23503

409

外键冲突

23505

409

唯一性冲突

25006

405

只读 SQL 事务

25*

500

无效的事务状态

28*

403

无效的授权规范

2D*

500

无效的事务终止

38*

500

外部例程异常

39*

500

外部例程调用

3B*

500

保存点异常

40*

500

事务回滚

53400

500

配置限制超出

53*

503

资源不足

54*

500

过于复杂

55*

500

对象不在先决条件状态

57*

500

操作员干预

58*

500

系统错误

F0*

500

配置文件错误

HV*

500

外部数据包装器错误

P0001

400

“raise”的默认代码

P0*

500

PL/pgSQL 错误

XX*

500

内部错误

42883

404

未定义函数

42P01

404

未定义表

42P17

500

无限递归

42501

-
如果已认证,则返回 403,
-
否则返回 401
-
-

权限不足

其他

400

-
-
-
-

来自 PostgREST 的错误

-

来自 PostgREST 本身的错误保持相同的结构,但在 code 字段中使用 PGRST 前缀。例如,当查询在 schema 缓存 中不存在的函数时

-
POST /rpc/nonexistent_function HTTP/1.1
-
-
-
HTTP/1.1 404 Not Found
-Content-Type: application/json; charset=utf-8
-
-
-
{
-  "hint": "...",
-  "details": null
-  "code": "PGRST202",
-  "message": "Could not find the api.nonexistent_function() function in the schema cache"
-}
-
-
-
-

PostgREST 错误代码

-

PostgREST 错误代码的格式为 PGRSTgxx

-
    -
  • PGRST 是区分错误与 PostgreSQL 错误的前缀。

  • -
  • g 是错误组

  • -
  • xx 是组中的错误标识符。

  • -
-
-

组 0 - 连接

-

与数据库的连接相关。

-
- - - - - - - - - - - - - - - - - - - - - - - - -

代码

HTTP 状态

描述

PGRST000

-

503

由于 db-uri 不正确或 PostgreSQL 服务未运行,无法连接到数据库。

PGRST001

-

503

由于内部错误,无法连接到数据库。

PGRST002

-

503

在构建 Schema Cache 时无法连接到数据库,因为 PostgreSQL 服务未运行。

PGRST003

-

504

请求在等待连接池可用时超时。请参阅 db-pool-acquisition-timeout

-
-
-

组 1 - API 请求

-

与 HTTP 请求元素相关。

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

代码

HTTP 状态

描述

PGRST100

-

400

查询字符串参数解析错误。请参阅 水平过滤运算符排序

PGRST101

-

405

对于 函数,只允许使用 GETPOST 动词。任何其他动词都会抛出此错误。

PGRST102

-

400

发送了无效的请求主体(例如空主体或格式错误的 JSON)。

PGRST103

-

416

限制和分页 指定了无效的范围。

PGRST105

-

405

执行了无效的 PUT 请求。

PGRST106

-

406

切换模式 时指定的模式不存在于 db-schemas 配置变量中。

PGRST107

-

415

请求中发送的 Content-Type 无效。

PGRST108

-

400

过滤器应用于未在查询字符串的 select 部分中指定的嵌入式资源。请参阅 嵌入式过滤器

PGRST109

-

400

使用限制来限制删除或更新必须包含唯一列的排序。请参阅 限制更新/删除

PGRST110

-

400

当使用限制来限制删除或更新时,修改的行数超过限制中指定的最大值。请参阅 限制更新/删除

PGRST111

-

500

设置了无效的 response.headers。请参阅 响应头

PGRST112

-

500

状态代码必须是正整数。请参阅 响应状态代码

PGRST114

-

400

对于使用 PUT 的 UPSERT,当使用 限制和偏移量 时。

PGRST115

-

400

对于使用 PUT 的 UPSERT,当查询字符串中的主键与主体中的主键不同时。

PGRST116

-

406

在请求单个响应时,返回了多个或没有项目。请参阅 单数或复数

PGRST117

-

405

请求中使用的 HTTP 动词不受支持。

PGRST118

-

400

无法使用相关表对结果进行排序,因为它们之间没有多对一或一对一关系。

PGRST119

-

400

无法在相关表上使用扩展运算符,因为它们之间没有多对一或一对一关系。

PGRST120

-

400

嵌入式资源只能使用 is.nullnot.is.null 运算符 进行过滤。

PGRST121

-

500

PostgREST 无法解析 RAISE PGRST 错误中的 JSON 对象。请参阅 raise 标头

PGRST122

-

400

Prefer 标头中发现无效的偏好设置,其中 Prefer: handling=strict。请参阅 严格或宽松处理

-
-
-

第 2 组 - 架构缓存

-

架构缓存 相关。大多数情况下,这些错误可以通过 架构缓存重新加载 解决。

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

代码

HTTP 状态

描述

PGRST200

-

400

由过时的外键关系引起,否则任何嵌入式资源或关系本身可能不存在于数据库中。

PGRST201

-

300

发出了不明确的嵌入请求。请参阅 多个外键关系上的外键连接

PGRST202

-

404

由过时的函数签名引起,否则该函数可能不存在于数据库中。

PGRST203

-

300

由于请求具有相同参数名称但类型不同的重载函数,或使用 POST 动词请求具有 JSONJSONB 类型未命名参数的重载函数而导致。解决方法是重命名函数或添加/修改参数名称。

PGRST204

-

400

columns 查询参数中指定的 未找到时导致。

-
-
-

第 3 组 - JWT

-

与使用 JWT 进行身份验证过程相关。您可以参考 教程 1 - 金钥匙 获取有关如何实现身份验证的示例,以及 身份验证页面 获取有关此过程的更多信息。

-
- - - - - - - - - - - - - - - - - - - - -

代码

HTTP 状态

描述

PGRST300

-

500

配置中缺少 JWT 密钥

PGRST301

-

401

与 JWT 验证相关的任何错误,这意味着提供的 JWT 在某种程度上无效。

PGRST302

-

401

尝试在 db-anon-role 中未设置匿名角色的情况下,在未进行 身份验证 的情况下进行请求。

-
-
-

第 X 组 - 内部

-

内部错误。如果您遇到任何这些错误,您可能遇到了 PostgREST 错误,请 打开一个问题,我们将很乐意修复它。

-
- - - - - - - - - - - - -

代码

HTTP 状态

描述

PGRSTX00

-

500

与用于连接到数据库的库相关的内部错误。

-
-
-
-
-

自定义错误

-

您可以使用函数上的 RAISE 语句 自定义错误。

-
-

使用 HTTP 状态代码引发错误

-

可以通过在 函数 中引发 SQL 异常来实现自定义状态代码。例如,以下是一个始终以错误响应的函数

-
CREATE OR REPLACE FUNCTION just_fail() RETURNS void
-  LANGUAGE plpgsql
-  AS $$
-BEGIN
-  RAISE EXCEPTION 'I refuse!'
-    USING DETAIL = 'Pretty simple',
-          HINT = 'There is nothing you can do.';
-END
-$$;
-
-
-

调用函数返回 HTTP 400,并带有主体

-
{
-  "message":"I refuse!",
-  "details":"Pretty simple",
-  "hint":"There is nothing you can do.",
-  "code":"P0001"
-}
-
-
-

自定义 HTTP 状态码的一种方法是根据 PostgREST 错误到状态码映射 抛出特定异常。例如,RAISE insufficient_privilege 将根据情况返回 HTTP 401/403。

-

为了更精确地控制 HTTP 状态码,请抛出 PTxyz 类型的异常。例如,要返回 HTTP 402,请抛出 PT402

-
RAISE sqlstate 'PT402' using
-  message = 'Payment Required',
-  detail = 'Quota exceeded',
-  hint = 'Upgrade your plan';
-
-
-

返回值

-
HTTP/1.1 402 Payment Required
-Content-Type: application/json; charset=utf-8
-
-{
-  "message": "Payment Required",
-  "details": "Quota exceeded",
-  "hint": "Upgrade your plan",
-  "code": "PT402"
-}
-
-
-
-
-

使用 RAISE 添加 HTTP 头

-

为了完全控制头信息和状态,您可以抛出 PGRST SQLSTATE 错误。您可以通过在 PostgreSQL 错误消息字段中添加 codemessagedetailhint 作为 JSON 对象来实现。这里,detailshint 是可选的。类似地,statusheaders 必须作为 JSON 对象添加到 SQL 错误详细信息字段中。例如

-
RAISE sqlstate 'PGRST' USING
-    message = '{"code":"123","message":"Payment Required","details":"Quota exceeded","hint":"Upgrade your plan"}',
-    detail = '{"status":402,"headers":{"X-Powered-By":"Nerd Rage"}}';
-
-
-

返回值

-
HTTP/1.1 402 Payment Required
-Content-Type: application/json; charset=utf-8
-X-Powered-By: Nerd Rage
-
-{
-  "message": "Payment Required",
-  "details": "Quota exceeded",
-  "hint": "Upgrade your plan",
-  "code": "123"
-}
-
-
-

对于非标准 HTTP 状态,您可以选择添加 status_text 来描述状态码。对于状态码 419,详细信息字段可能如下所示

-
detail = '{"status":419,"status_text":"Page Expired","headers":{"X-Powered-By":"Nerd Rage"}}';
-
-
-

如果 PostgREST 无法解析 JSON 对象 messagedetail,它将抛出 PGRST121 错误。请参阅 PostgREST 错误

-
-
-
- - -
-
- -
-
-
-
- - -
- - Read the Docs v: v12 - -
-
-
版本
- -
最新
- -
稳定版
- -
v12
- -
v11
- -
v10
- -
-
-
下载
- -
-
- -
在 Read the Docs 上
-
- 项目主页 -
-
- 构建 -
-
-
-
- - - -
\ No newline at end of file diff --git a/PostgRESTAPI.html b/PostgRESTAPI.html deleted file mode 100644 index a68d372..0000000 --- a/PostgRESTAPI.html +++ /dev/null @@ -1,1339 +0,0 @@ - - - - - - - - - 表和视图 — PostgREST 12.2 文档 - PostgREST 中文 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

表和视图

-

所有 公开模式 中的表和视图,以及 当前数据库角色 可访问的表和视图,都可以用于查询。它们以单层深度路由的方式公开。

-

例如,表 people 的完整内容将在以下地址返回

-
curl "https://127.0.0.1:3000/people"
-
-
-

没有深层/嵌套/路由。每个路由根据数据库权限提供 OPTIONS、GET、HEAD、POST、PATCH 和 DELETE 方法。

-
-

注意

-

为什么不提供嵌套路由?许多 API 允许嵌套以检索相关信息,例如 /films/1/director。我们提供了一种更灵活的机制(受 GraphQL 启发)来嵌入相关资源。这将在 资源嵌入 中介绍。

-
-
-

读取

-
-

GET 和 HEAD

-

使用 GET 方法,您可以检索表和视图的行。默认的 响应格式 为 JSON。

-

HEAD 方法的行为与 GET 相同,只是不返回响应主体 (RFC 2616)。作为优化,生成的查询不会执行聚合(以避免不必要的 数据传输)。

-
-
-

水平过滤

-

您可以通过在列上添加条件来过滤结果行。例如,要返回年龄小于 13 岁的 人员

-
curl "https://127.0.0.1:3000/people?age=lt.13"
-
-
-

您可以通过添加更多查询字符串参数来评估列上的多个条件。例如,要返回 年龄在 18 岁或以上 **并且** 是学生的 人员

-
curl "https://127.0.0.1:3000/people?age=gte.18&student=is.true"
-
-
-
-

运算符

-

这些运算符可用

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

缩写

在 PostgreSQL 中

含义

eq

=

等于

gt

>

大于

gte

>=

大于或等于

lt

<

小于

lte

<=

小于或等于

neq

<>!=

不等于

like

LIKE

LIKE 运算符(为了避免 URL 编码,您可以使用 * 作为百分号 % 的别名来表示模式)

ilike

ILIKE

ILIKE 运算符(为了避免 URL 编码,可以使用 * 作为百分号 % 的别名)

匹配

~

~ 运算符,参见 模式匹配

imatch

~*

~* 运算符,参见 模式匹配

in

IN

值列表中的一个,例如 ?a=in.(1,2,3) - 也支持带引号字符串中的逗号,例如 ?a=in.("hi,there","yes,you")

is

IS

检查精确相等(null、true、false、unknown)

isdistinct

IS DISTINCT FROM

不相等,将 NULL 视为可比较的值

fts

@@

使用 to_tsquery 进行 全文搜索

plfts

@@

使用 plainto_tsquery 进行 全文搜索

phfts

@@

使用 phraseto_tsquery 进行 全文搜索

wfts

@@

使用 websearch_to_tsquery 进行 全文搜索

cs

@>

包含,例如 ?tags=cs.{example, new}

cd

<@

包含于,例如 ?values=cd.{1,2,3}

ov

&&

重叠(有共同点),例如 ?period=ov.[2017-01-01,2017-06-30] - 也支持数组类型,使用大括号代替方括号,例如:code: ?arr=ov.{1,3}

sl

<<

严格左于,例如 ?range=sl.(1,10)

sr

>>

严格右于

nxr

&<

不扩展到右侧,例如 ?range=nxr.(1,10)

nxl

&>

不扩展到左侧

adj

-|-

相邻,例如 ?range=adj.(1,10)

not

NOT

否定另一个运算符,参见 逻辑运算符

or

OR

逻辑 OR,参见 逻辑运算符

and

AND

逻辑 AND,参见 逻辑运算符

all

ALL

比较匹配列表中的所有值,参见 运算符修饰符

any

ANY

比较匹配列表中的任何值,参见 运算符修饰符

-

对于更复杂的过滤器,您需要在数据库中创建一个新视图,或使用函数。例如,以下是一个显示“今日故事”的视图,其中可能包含较旧的固定故事

-
CREATE VIEW fresh_stories AS
-SELECT *
-  FROM stories
- WHERE pinned = true
-    OR published > now() - interval '1 day'
-ORDER BY pinned DESC, published DESC;
-
-
-

该视图将提供一个新的端点

-
curl "https://127.0.0.1:3000/fresh_stories"
-
-
-
-
-

逻辑运算符

-

默认情况下,列上的多个条件使用 AND 评估,但您可以使用 OR 运算符使用 or 将它们组合起来。例如,要返回年龄小于 18 岁 **或** 大于 21 岁的用户

-
curl "https://127.0.0.1:3000/people?or=(age.lt.18,age.gt.21)"
-
-
-

要 **否定** 任何运算符,可以在其前面加上 not,例如 ?a=not.eq.2?not.and=(a.gte.0,a.lte.100)

-

您还可以对条件应用复杂的逻辑

-
# curl "https://127.0.0.1:3000/people?grade=gte.90&student=is.true&or=(age.eq.14,not.and(age.gte.11,age.lte.17))"
-
-curl --get "https://127.0.0.1:3000/people" \
-  -d "grade=gte.90" \
-  -d "student=is.true" \
-  -d "or=(age.eq.14,not.and(age.gte.11,age.lte.17))"
-
-
-

如果过滤器值包含 保留字符,则需要将其用双引号括起来

-
curl -g 'https://127.0.0.1:3000/survey?or=(age_range.adj."[18,21)",age_range.cs."[30,35]")'
-
-
-
-
-

运算符修饰符

-

您可以使用 any/all 修饰符进一步简化 eq,like,ilike,gt,gte,lt,lte,match,imatch 的逻辑。

-

例如,为了避免重复相同的列用于 or,可以使用 any 来获取姓氏以 O 或 P 开头的用户。

-
curl -g "https://127.0.0.1:3000/people?last_name=like(any).{O*,P*}"
-
-
-

类似地,您可以使用 all 来避免重复相同的列用于 and。要获取姓氏以 O 开头并以 n 结尾的用户。

-
curl -g "https://127.0.0.1:3000/people?last_name=like(all).{O*,*n}"
-
-
-
-
-

模式匹配

-

模式匹配运算符(likeilikematchimatch)用于支持使用模式而不是具体字符串来过滤数据,如 PostgreSQL 文档 中所述。

-

为了确保在大型数据集上获得最佳性能,应使用 适当的索引,即使这样,查询计划程序是否使用现有索引也取决于模式值和实际数据统计信息。

-
- -
-
-

垂直过滤

-

当某些列很宽(例如那些保存二进制数据的列)时,服务器在响应中保留它们效率更高。客户端可以使用 select 参数指定需要哪些列。

-
curl "https://127.0.0.1:3000/people?select=first_name,age"
-
-
-
[
-  {"first_name": "John", "age": 30},
-  {"first_name": "Jane", "age": 20}
-]
-
-
-

默认值为 *,表示所有列。此值将在下面 资源嵌入 中变得更加重要。

-
-

重命名列

-

您可以通过在列名前添加别名,然后使用冒号 : 运算符来重命名列。

-
curl "https://127.0.0.1:3000/people?select=fullName:full_name,birthDate:birth_date"
-
-
-
[
-  {"fullName": "John Doe", "birthDate": "04/25/1988"},
-  {"fullName": "Jane Doe", "birthDate": "01/12/1998"}
-]
-
-
-
-
-

JSON 列

-

为了进一步减少传输的数据量,您可以使用箭头运算符(->->>)指定 jsonjsonb 列的路径,具体请参考 PostgreSQL 文档

-
CREATE TABLE people (
-  id int,
-  json_data json
-);
-
-
-
curl "https://127.0.0.1:3000/people?select=id,json_data->>blood_type,json_data->phones"
-
-
-
[
-  { "id": 1, "blood_type": "A-", "phones": [{"country_code": "61", "number": "917-929-5745"}] },
-  { "id": 2, "blood_type": "O+", "phones": [{"country_code": "43", "number": "512-446-4988"}, {"country_code": "43", "number": "213-891-5979"}] }
-]
-
-
-
curl "https://127.0.0.1:3000/people?select=id,json_data->phones->0->>number"
-
-
-
[
-  { "id": 1, "number": "917-929-5745"},
-  { "id": 2, "number": "512-446-4988"}
-]
-
-
-

这在过滤器中也适用。

-
curl "https://127.0.0.1:3000/people?select=id,json_data->blood_type&json_data->>blood_type=eq.A-"
-
-
-
[
-  { "id": 1, "blood_type": "A-" },
-  { "id": 3, "blood_type": "A-" },
-  { "id": 7, "blood_type": "A-" }
-]
-
-
-

请注意,->> 用于将 blood_type 作为 text 进行比较。要与整数值进行比较,请使用 ->

-
curl "https://127.0.0.1:3000/people?select=id,json_data->age&json_data->age=gt.20"
-
-
-
[
-  { "id": 11, "age": 25 },
-  { "id": 12, "age": 30 },
-  { "id": 15, "age": 35 }
-]
-
-
-

排序也受支持。

-
curl "https://127.0.0.1:3000/people?select=id,json_data->age&order=json_data->>age.desc"
-
-
-
[
-  { "id": 15, "age": 35 },
-  { "id": 12, "age": 30 },
-  { "id": 11, "age": 25 }
-]
-
-
-
-
-

复合/数组列

-

箭头运算符(->->>)也可以用于访问复合字段和数组元素。

-
CREATE TYPE coordinates (
-  lat decimal(8,6),
-  long decimal(9,6)
-);
-
-CREATE TABLE countries (
-  id int,
-  location coordinates,
-  languages text[]
-);
-
-
-
# curl "https://127.0.0.1:3000/countries?select=id,location->>lat,location->>long,primary_language:languages->0&location->lat=gte.19"
-
-curl --get "https://127.0.0.1:3000/countries" \
-  -d "select=id,location->>lat,location->>long,primary_language:languages->0" \
-  -d "location->lat=gte.19"
-
-
-
[
-  {
-    "id": 5,
-    "lat": "19.741755",
-    "long": "-155.844437",
-    "primary_language": "en"
-  }
-]
-
-
-
-

重要

-

在复合和数组列上使用 ->->> 运算符时,PostgREST 会使用类似 to_jsonb(<col>)->'field' 的查询。为了在这些嵌套字段上进行过滤和排序,需要使用索引,索引需要在相同的表达式上创建,包括 to_jsonb(...) 调用。

-
CREATE INDEX ON mytable ((to_jsonb(data) -> 'identification' ->> 'registration_number'));
-
-
-
-
-
-

强制转换列

-

可以通过在列后面添加双冒号 :: 加上所需类型来强制转换列。

-
curl "https://127.0.0.1:3000/people?select=full_name,salary::text"
-
-
-
[
-  {"full_name": "John Doe", "salary": "90000.00"},
-  {"full_name": "Jane Doe", "salary": "120000.00"}
-]
-
-
-
-

注意

-

为了防止使 索引使用 无效,不允许在水平过滤上进行强制转换。要执行此操作,您可以使用 计算字段

-
-
-
-
-

排序

-

保留字 order 用于重新排序响应行。它使用逗号分隔的列和方向列表。

-
curl "https://127.0.0.1:3000/people?order=age.desc,height.asc"
-
-
-

如果没有指定方向,则默认为升序。

-
curl "https://127.0.0.1:3000/people?order=age"
-
-
-

如果您关心空值排序的位置,请添加 nullsfirstnullslast

-
curl "https://127.0.0.1:3000/people?order=age.nullsfirst"
-
-
-
curl "https://127.0.0.1:3000/people?order=age.desc.nullslast"
-
-
-

您也可以对 复合/数组列JSON 列 的字段进行排序。

-
curl "https://127.0.0.1:3000/countries?order=location->>lat"
-
-
-
-
-

索引使用

-

在使用水平过滤、垂直过滤和排序时,索引会透明地工作。例如,当有

-
create index salary_idx on employees (salary);
-
-
-

我们可以通过获取执行计划来确认对员工的过滤使用了索引。

-
curl 'localhost:3000/employees?salary=eq.36000' -H "Accept: application/vnd.pgrst.plan"
-
-Aggregate  (cost=9.52..9.54 rows=1 width=144)
-  ->  Bitmap Heap Scan on employees  (cost=4.16..9.50 rows=2 width=136)
-        Recheck Cond: (salary = '$36,000.00'::money)
-        ->  Bitmap Index Scan on salary_idx  (cost=0.00..4.16 rows=2 width=0)
-              Index Cond: (salary = '$36,000.00'::money)
-
-
-

在那里我们可以看到“Index Cond”,它确认索引被查询规划器使用。

-
-
-
-

插入

-

所有表和自动可更新视图都可以通过 API 修改,但需遵守请求者数据库角色的权限。

-

要在数据库表中创建一行,请发布一个 JSON 对象,其键是您要创建的列的名称。如果适用,缺失的属性将设置为默认值。

-
curl "https://127.0.0.1:3000/table_name" \
-  -X POST -H "Content-Type: application/json" \
-  -d '{ "col1": "value1", "col2": "value2" }'
-
-
-
HTTP/1.1 201 Created
-
-
-

默认情况下不会返回任何响应主体,但您可以使用返回表示来获取受影响的资源,并使用资源嵌入来添加相关资源。

-
-

x-www-form-urlencoded

-

可以使用 Content-Type: application/x-www-form-urlencoded 发布 URL 编码的有效负载。

-
curl "https://127.0.0.1:3000/people" \
-  -X POST -H "Content-Type: application/x-www-form-urlencoded" \
-  -d "name=John+Doe&age=50&weight=80"
-
-
-
-

注意

-

插入行时,必须发布 JSON 对象,而不是带引号的 JSON。

-
Yes
-{ "a": 1, "b": 2 }
-
-No
-"{ \"a\": 1, \"b\": 2 }"
-
-
-

如果您不小心,一些 JavaScript 库会错误地发布数据。为了获得最佳效果,请尝试使用为 PostgREST 构建的客户端库之一。

-
-
-

重要

-

建议您使用触发器而不是规则。由于 PostgREST 使用了 CTE,因此在具有复杂规则 的视图上进行插入操作可能无法开箱即用。如果您想继续使用规则,则可以使用一个变通方法,将视图插入操作包装在一个函数中,并通过函数作为 RPC 接口调用它。有关更多详细信息,请参阅此github 问题

-
-
-
-

批量插入

-

批量插入的工作原理与单行插入完全相同,只是您需要提供一个具有统一键的 JSON 对象数组,或者提供 CSV 格式的行。这不仅可以最大限度地减少所需的 HTTP 请求,而且还可以使用后端上的单个 INSERT 语句来提高效率。

-

要批量插入 CSV,只需将 Content-Type: text/csv 发送到表路由,并将列名作为第一行包含在内。例如

-
curl "https://127.0.0.1:3000/people" \
-  -X POST -H "Content-Type: text/csv" \
-  --data-binary @- << EOF
-name,age,height
-J Doe,62,70
-Jonas,10,55
-EOF
-
-
-

空字段 (,,) 将被强制转换为空字符串,保留字 NULL 将被映射到 SQL 空值。请注意,列名和逗号之间不应有空格。

-

要批量插入 JSON,请发布一个具有所有匹配键的对象数组

-
curl "https://127.0.0.1:3000/people" \
-  -X POST -H "Content-Type: application/json" \
-  -d @- << EOF
-  [
-    { "name": "J Doe", "age": 62, "height": 70 },
-    { "name": "Janus", "age": 10, "height": 55 }
-  ]
-EOF
-
-
-
-

使用默认值进行批量插入

-

有效载荷中任何缺失的列都将被插入为 null 值。要使用 DEFAULT 列值,请使用 Prefer: missing=default 标头。

-

-
create table foo (
-  id bigint generated by default as identity primary key
-, bar text
-, baz int default 100
-);
-
-
-

一个请求

-
curl "https://127.0.0.1:3000/foo?columns=id,bar,baz" \
-  -H "Content-Type: application/json" \
-  -H "Prefer: missing=default, return=representation" \
-  -d @- << EOF
-    [
-      { "bar": "val1" },
-      { "bar": "val2", "baz": 15 }
-    ]
-EOF
-
-
-

将导致

-
[
-  { "id":  1, "bar": "val1", "baz": 100 },
-  { "id":  2, "bar": "val2", "baz": 15 }
-]
-
-
-
-
-
-

指定列

-

通过使用 columns 查询参数,可以指定将要插入的有效载荷键,并忽略有效载荷的其余部分。

-
curl "https://127.0.0.1:3000/datasets?columns=source,publication_date,figure" \
-  -X POST -H "Content-Type: application/json" \
-  -d @- << EOF
-  {
-    "source": "Natural Disaster Prevention and Control",
-    "publication_date": "2015-09-11",
-    "figure": 1100,
-    "location": "...",
-    "comment": "...",
-    "extra": "...",
-    "stuff": "..."
-  }
-EOF
-
-
-

在这种情况下,只有 **source**、**publication_date** 和 **figure** 将被插入。JSON 键的其余部分将被忽略。

-

使用此方法也有一个副作用,即对于批量插入 来说效率更高,因为 PostgREST 不会处理 JSON,而是会将其直接发送到 PostgreSQL。

-
-
-
-

更新

-

要更新表中的一行或多行,请使用 PATCH 方法。使用水平过滤 指定要更新的记录。以下是一个将 category 列设置为所有年龄低于某个年龄的人的子项的示例查询。

-
curl "https://127.0.0.1:3000/people?age=lt.13" \
-  -X PATCH -H "Content-Type: application/json" \
-  -d '{ "category": "child" }'
-
-
-

更新也支持 返回表示资源嵌入垂直过滤

-
-

警告

-

小心不要意外地更新表中的每一行。要了解如何防止这种情况,请参阅 阻止全表操作

-
-
-
-

Upsert

-

您可以使用 POSTPrefer: resolution=merge-duplicates 头部进行 upsert 操作。

-
curl "https://127.0.0.1:3000/employees" \
-  -X POST -H "Content-Type: application/json" \
-  -H "Prefer: resolution=merge-duplicates" \
-  -d @- << EOF
-  [
-    { "id": 1, "name": "Old employee 1", "salary": 30000 },
-    { "id": 2, "name": "Old employee 2", "salary": 42000 },
-    { "id": 3, "name": "New employee 3", "salary": 50000 }
-  ]
-EOF
-
-
-

默认情况下,upsert 操作基于主键列,您必须指定所有主键列。您也可以选择使用 Prefer: resolution=ignore-duplicates 忽略重复项。当主键是自然主键时,此方法最有效,但如果主键是代理主键(例如:“id serial primary key”),也可以使用它。有关更多详细信息,请阅读 此问题

-
-

重要

-

在创建表或更改其主键后,您必须刷新 PostgREST 架构缓存,才能使 upsert 正确工作。要了解如何刷新缓存,请参阅 架构缓存重新加载

-
-
-

冲突时

-

通过指定 on_conflict 查询参数,您可以使 upsert 操作在具有唯一约束的列上工作。

-
curl "https://127.0.0.1:3000/employees?on_conflict=name" \
-  -X POST -H "Content-Type: application/json" \
-  -H "Prefer: resolution=merge-duplicates" \
-  -d @- << EOF
-  [
-    { "name": "Old employee 1", "salary": 40000 },
-    { "name": "Old employee 2", "salary": 52000 },
-    { "name": "New employee 3", "salary": 60000 }
-  ]
-EOF
-
-
-
-
-

PUT

-

可以使用 PUT 并使用 eq 过滤主键列来执行单行 upsert 操作。

-
curl "https://127.0.0.1/employees?id=eq.4" \
-  -X PUT -H "Content-Type: application/json" \
-  -d '{ "id": 4, "name": "Sara B.", "salary": 60000 }'
-
-
-

请求主体中必须指定所有列,包括主键列。

-
-
-
-

删除

-

要删除表中的行,请使用 DELETE 动词加上 水平过滤。例如,删除非活动用户

-
curl "https://127.0.0.1:3000/user?active=is.false" -X DELETE
-
-
-

删除操作也支持 返回表示资源嵌入垂直过滤

-
curl "https://127.0.0.1:3000/user?id=eq.1" -X DELETE \
-  -H "Prefer: return=representation"
-
-
-
{"id": 1, "email": "johndoe@email.com"}
-
-
-
-

警告

-

小心不要意外地删除表中的所有行。要了解如何防止这种情况,请参阅 阻止全表操作

-
-
-
-

有限更新/删除

-

您可以使用 limit 查询参数来限制 更新删除 影响的行数。为此,您必须在唯一列上添加显式的 order

-
curl -X PATCH "/users?limit=10&order=id&last_login=lt.2020-01-01" \
-  -H "Content-Type: application/json" \
-  -d '{ "status": "inactive" }'
-
-
-
curl -X DELETE "https://127.0.0.1:3000/users?limit=10&order=id&status=eq.inactive"
-
-
-

如果您的表没有唯一列,您可以使用 ctid 系统列。

-

也可以使用 offset 来定位不同的行子集。

-
-

注意

-

PostgreSQL 中没有原生 UPDATE...LIMITDELETE...LIMIT 支持;生成的查询模拟了这种行为,并且基于 这篇 Crunchy Data 博客文章

-
-
-
- - -
-
- -
-
-
-
- - -
- - Read the Docs v: v12 - -
-
-
版本
- -
最新
- -
稳定版
- -
v12
- -
v11
- -
v10
- -
-
-
下载
- -
-
- -
在 Read the Docs 上
-
- 项目主页 -
-
- 构建 -
-
-
-
- - - -
\ No newline at end of file diff --git a/PostgRESTAPI_files/_sphinx_javascript_frameworks_compat.js.下载 b/PostgRESTAPI_files/_sphinx_javascript_frameworks_compat.js.下载 deleted file mode 100644 index 8141580..0000000 --- a/PostgRESTAPI_files/_sphinx_javascript_frameworks_compat.js.下载 +++ /dev/null @@ -1,123 +0,0 @@ -/* Compatability shim for jQuery and underscores.js. - * - * Copyright Sphinx contributors - * Released under the two clause BSD licence - */ - -/** - * small helper function to urldecode strings - * - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL - */ -jQuery.urldecode = function(x) { - if (!x) { - return x - } - return decodeURIComponent(x.replace(/\+/g, ' ')); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); - } - return result; -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} diff --git a/PostgRESTAPI_files/ads.html b/PostgRESTAPI_files/ads.html deleted file mode 100644 index 14deb7c..0000000 --- a/PostgRESTAPI_files/ads.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/PostgRESTAPI_files/aframe.html b/PostgRESTAPI_files/aframe.html deleted file mode 100644 index 57afc2d..0000000 --- a/PostgRESTAPI_files/aframe.html +++ /dev/null @@ -1,5547 +0,0 @@ - - - - - - - - www.google.com - - - - - - -
-
-
-
-
-

- 无法访问此网站 -

- -

www.google.com 的响应时间过长。

- - - -
-

请试试以下办法:

- -
- - -
ERR_CONNECTION_TIMED_OUT
- - -
-
- - -
- -
-
请检查您的互联网连接是否正常
-
请检查所有网线是否都已连好,然后重新启动您可能正在使用的任何路由器、调制解调器或其他网络设备。
-
- -
-
在防火墙或防病毒设置部分设为允许 Chrome 访问网络。
-
如果它已在可访问网络的程序列表中,请尝试将它从该列表中移除,然后重新添加到其中。
-
- -
-
如果您使用代理服务器…
-
依次转到 Chrome 菜单 >“设置”>“显示高级设置…”>“更改代理服务器设置…”>“LAN 设置”,然后取消选中“为 LAN 使用代理服务器”。
-
- -
- -
- -
- -
-
www.google.com 的响应时间过长。
-
- -
-
- - - -
- - - \ No newline at end of file diff --git a/PostgRESTAPI_files/clipboard.min.js.下载 b/PostgRESTAPI_files/clipboard.min.js.下载 deleted file mode 100644 index 54b3c46..0000000 --- a/PostgRESTAPI_files/clipboard.min.js.下载 +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v2.0.8 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1Short

- */ - .o-tooltip--left { - position: relative; - } - - .o-tooltip--left:after { - opacity: 0; - visibility: hidden; - position: absolute; - content: attr(data-tooltip); - padding: .2em; - font-size: .8em; - left: -.2em; - background: grey; - color: white; - white-space: nowrap; - z-index: 2; - border-radius: 2px; - transform: translateX(-102%) translateY(0); - transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} - -.o-tooltip--left:hover:after { - display: block; - opacity: 1; - visibility: visible; - transform: translateX(-100%) translateY(0); - transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - transition-delay: .5s; -} - -/* By default the copy button shouldn't show up when printing a page */ -@media print { - button.copybtn { - display: none; - } -} - diff --git a/PostgRESTAPI_files/copybutton.js.下载 b/PostgRESTAPI_files/copybutton.js.下载 deleted file mode 100644 index 2ea7ff3..0000000 --- a/PostgRESTAPI_files/copybutton.js.下载 +++ /dev/null @@ -1,248 +0,0 @@ -// Localization support -const messages = { - 'en': { - 'copy': 'Copy', - 'copy_to_clipboard': 'Copy to clipboard', - 'copy_success': 'Copied!', - 'copy_failure': 'Failed to copy', - }, - 'es' : { - 'copy': 'Copiar', - 'copy_to_clipboard': 'Copiar al portapapeles', - 'copy_success': '¡Copiado!', - 'copy_failure': 'Error al copiar', - }, - 'de' : { - 'copy': 'Kopieren', - 'copy_to_clipboard': 'In die Zwischenablage kopieren', - 'copy_success': 'Kopiert!', - 'copy_failure': 'Fehler beim Kopieren', - }, - 'fr' : { - 'copy': 'Copier', - 'copy_to_clipboard': 'Copier dans le presse-papier', - 'copy_success': 'Copié !', - 'copy_failure': 'Échec de la copie', - }, - 'ru': { - 'copy': 'Скопировать', - 'copy_to_clipboard': 'Скопировать в буфер', - 'copy_success': 'Скопировано!', - 'copy_failure': 'Не удалось скопировать', - }, - 'zh-CN': { - 'copy': '复制', - 'copy_to_clipboard': '复制到剪贴板', - 'copy_success': '复制成功!', - 'copy_failure': '复制失败', - }, - 'it' : { - 'copy': 'Copiare', - 'copy_to_clipboard': 'Copiato negli appunti', - 'copy_success': 'Copiato!', - 'copy_failure': 'Errore durante la copia', - } -} - -let locale = 'en' -if( document.documentElement.lang !== undefined - && messages[document.documentElement.lang] !== undefined ) { - locale = document.documentElement.lang -} - -let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; -if (doc_url_root == '#') { - doc_url_root = ''; -} - -/** - * SVG files for our copy buttons - */ -let iconCheck = ` - ${messages[locale]['copy_success']} - - -` - -// If the user specified their own SVG use that, otherwise use the default -let iconCopy = ``; -if (!iconCopy) { - iconCopy = ` - ${messages[locale]['copy_to_clipboard']} - - - -` -} - -/** - * Set up copy/paste for code blocks - */ - -const runWhenDOMLoaded = cb => { - if (document.readyState != 'loading') { - cb() - } else if (document.addEventListener) { - document.addEventListener('DOMContentLoaded', cb) - } else { - document.attachEvent('onreadystatechange', function() { - if (document.readyState == 'complete') cb() - }) - } -} - -const codeCellId = index => `codecell${index}` - -// Clears selected text since ClipboardJS will select the text when copying -const clearSelection = () => { - if (window.getSelection) { - window.getSelection().removeAllRanges() - } else if (document.selection) { - document.selection.empty() - } -} - -// Changes tooltip text for a moment, then changes it back -// We want the timeout of our `success` class to be a bit shorter than the -// tooltip and icon change, so that we can hide the icon before changing back. -var timeoutIcon = 2000; -var timeoutSuccessClass = 1500; - -const temporarilyChangeTooltip = (el, oldText, newText) => { - el.setAttribute('data-tooltip', newText) - el.classList.add('success') - // Remove success a little bit sooner than we change the tooltip - // So that we can use CSS to hide the copybutton first - setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) - setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) -} - -// Changes the copy button icon for two seconds, then changes it back -const temporarilyChangeIcon = (el) => { - el.innerHTML = iconCheck; - setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) -} - -const addCopyButtonToCodeCells = () => { - // If ClipboardJS hasn't loaded, wait a bit and try again. This - // happens because we load ClipboardJS asynchronously. - if (window.ClipboardJS === undefined) { - setTimeout(addCopyButtonToCodeCells, 250) - return - } - - // Add copybuttons to all of our code cells - const COPYBUTTON_SELECTOR = 'div.highlight pre'; - const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) - codeCells.forEach((codeCell, index) => { - const id = codeCellId(index) - codeCell.setAttribute('id', id) - - const clipboardButton = id => - `` - codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) - }) - -function escapeRegExp(string) { - return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string -} - -/** - * Removes excluded text from a Node. - * - * @param {Node} target Node to filter. - * @param {string} exclude CSS selector of nodes to exclude. - * @returns {DOMString} Text from `target` with text removed. - */ -function filterText(target, exclude) { - const clone = target.cloneNode(true); // clone as to not modify the live DOM - if (exclude) { - // remove excluded nodes - clone.querySelectorAll(exclude).forEach(node => node.remove()); - } - return clone.innerText; -} - -// Callback when a copy button is clicked. Will be passed the node that was clicked -// should then grab the text and replace pieces of text that shouldn't be used in output -function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { - var regexp; - var match; - - // Do we check for line continuation characters and "HERE-documents"? - var useLineCont = !!lineContinuationChar - var useHereDoc = !!hereDocDelim - - // create regexp to capture prompt and remaining line - if (isRegexp) { - regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') - } else { - regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') - } - - const outputLines = []; - var promptFound = false; - var gotLineCont = false; - var gotHereDoc = false; - const lineGotPrompt = []; - for (const line of textContent.split('\n')) { - match = line.match(regexp) - if (match || gotLineCont || gotHereDoc) { - promptFound = regexp.test(line) - lineGotPrompt.push(promptFound) - if (removePrompts && promptFound) { - outputLines.push(match[2]) - } else { - outputLines.push(line) - } - gotLineCont = line.endsWith(lineContinuationChar) & useLineCont - if (line.includes(hereDocDelim) & useHereDoc) - gotHereDoc = !gotHereDoc - } else if (!onlyCopyPromptLines) { - outputLines.push(line) - } else if (copyEmptyLines && line.trim() === '') { - outputLines.push(line) - } - } - - // If no lines with the prompt were found then just use original lines - if (lineGotPrompt.some(v => v === true)) { - textContent = outputLines.join('\n'); - } - - // Remove a trailing newline to avoid auto-running when pasting - if (textContent.endsWith("\n")) { - textContent = textContent.slice(0, -1) - } - return textContent -} - - -var copyTargetText = (trigger) => { - var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); - - // get filtered text - let exclude = '.linenos'; - - let text = filterText(target, exclude); - return formatCopyText(text, '', false, true, true, true, '', '') -} - - // Initialize with a callback so we can modify the text before copy - const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) - - // Update UI with error/success messages - clipboard.on('success', event => { - clearSelection() - temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) - temporarilyChangeIcon(event.trigger) - }) - - clipboard.on('error', event => { - temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) - }) -} - -runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/PostgRESTAPI_files/custom.css b/PostgRESTAPI_files/custom.css deleted file mode 100644 index 4fe8b6f..0000000 --- a/PostgRESTAPI_files/custom.css +++ /dev/null @@ -1,152 +0,0 @@ -.wy-nav-content { - max-width: initial; -} - -#postgrest-documentation > h1 { - display: none; -} - -div.wy-menu.rst-pro { - display: none !important; -} - -div.highlight { - background: #fff !important; -} - -div.line-block { - margin-bottom: 0px !important; -} - -#sponsors { - text-align: center; -} - -#sponsors h2 { - text-align: left; -} - -#sponsors img{ - margin: 10px; - width: 13em; /* ".. image::" does not apply width properly to SVGs */ -} - -#thanks{ - text-align: center; -} - -#thanks img{ - margin: 10px; -} - -#thanks h2{ - text-align: left; -} - -#thanks p{ - text-align: left; -} - -#thanks ul{ - text-align: left; -} - -.image-container { - max-width: 800px; - display: block; - margin-left: auto; - margin-right: auto; - margin-bottom: 24px; -} - -.wy-table-responsive table td { - white-space: normal !important; -} - -.wy-table-responsive { - overflow: visible !important; -} - -#tutorials span.caption-text { - display: none; -} - -#references span.caption-text { - display: none; -} - -#explanations span.caption-text { - display: none; -} - -#how-tos span.caption-text { - display: none; -} - -#ecosystem span.caption-text { - display: none; -} - -#integrations span.caption-text { - display: none; -} - -#api span.caption-text { - display: none; -} - -/* Tweaks for dark mode from extension: sphinx-rtd-dark-theme */ - -html[data-theme="dark"] .highlight { - background-color: #17181c !important; -} - -html[data-theme="dark"] .sphinx-tabs-tab { - color: var(--dark-link-color); -} - -html[data-theme="dark"] .sphinx-tabs-panel { - border: 1px solid #404040; - border-top: 0; - background: #141414; -} - -html[data-theme="dark"] .sphinx-tabs-tab[aria-selected="true"] { - border: 1px solid #404040; - border-bottom: 1px solid #141414; - background-color: #141414; -} - -html[data-theme="dark"] [role="tablist"] { - border-bottom: 1px solid #404040; -} - -html[data-theme="dark"] .btn-neutral { - color: white !important; -} - -html[data-theme="dark"] .img-dark { - display: inline; -} - -html:not([data-theme="dark"]) .img-dark { - display: none; -} - -html[data-theme="dark"] .img-light { - display: none; -} - -html:not([data-theme="dark"]) .img-light { - display: inline; -} - -html[data-theme="dark"] .img-translucent img { - background-color: #cccccc; -} - -.img-translucent img { - transition: background-color 0.3s; - margin-bottom: 24px; -} - diff --git a/PostgRESTAPI_files/dark.css b/PostgRESTAPI_files/dark.css deleted file mode 100644 index 5d9a96c..0000000 --- a/PostgRESTAPI_files/dark.css +++ /dev/null @@ -1,521 +0,0 @@ -:root { - --dark-text-color: #c1c1c1; - --dark-link-color: #249ee8; -} - -html[data-theme="dark"] body { - color: #bfbfbf; -} - -html[data-theme="dark"] .wy-nav-content-wrap { - background-color: #101010; -} - -html[data-theme="dark"] .wy-nav-content { - background-color: #141414; -} - -html[data-theme="dark"] .section { - color: var(--dark-text-color); -} - -html[data-theme="dark"] .highlight { - background-color: #17181c; -} - -html[data-theme="dark"] .highlight .nn { - color: var(--dark-text-color); -} - -html[data-theme="dark"] .highlight .nb { - color: #8bb8df; -} - -html[data-theme="dark"] .highlight .nv { - color: #40ffff; -} - -html[data-theme="dark"] .highlight .kn, -html[data-theme="dark"] .highlight .kc, -html[data-theme="dark"] .highlight .k { - color: #41c2ea; -} - -html[data-theme="dark"] .highlight .s1, -html[data-theme="dark"] .highlight .s2 { - color: #b3e87f; -} - -html[data-theme="dark"] .highlight .nt { - color: #ccb350; -} - -html[data-theme="dark"] .highlight .c1 { - color: #686868; -} - -html[data-theme="dark"] .highlight .hll { - background-color: #002c4d; -} - -html[data-theme="dark"] .rst-content div[class^="highlight"] { - border-color: #1a1a1a; -} - -html[data-theme="dark"] .wy-nav-content a, -html[data-theme="dark"] .wy-nav-content a:visited { - color: var(--dark-link-color); -} - -html[data-theme="dark"] .btn-neutral { - background-color: #17181c !important; -} - -html[data-theme="dark"] .btn-neutral:hover { - background-color: #101114 !important; -} - -html[data-theme="dark"] .btn-neutral:visited { - color: #c1c1c1 !important; -} - -html[data-theme="dark"] .btn { - box-shadow: none; -} - -html[data-theme="dark"] footer { - color: #bdbdbd; -} - -html[data-theme="dark"] .wy-nav-side { - background-color: #0d0d0d; -} - -html[data-theme="dark"] .wy-menu-vertical li.current { - background-color: #141414; -} - -html[data-theme="dark"] .wy-menu-vertical li.current > a, -html[data-theme="dark"] .wy-menu-vertical li.on a { - background-color: #141415; - color: var(--dark-text-color); -} - -html[data-theme="dark"] .wy-menu-vertical li.toctree-l1.current > a, -html[data-theme="dark"] .wy-menu-vertical li.current a { - border-color: #0b0c0d; -} - -html[data-theme="dark"] .wy-menu-vertical li.current a { - color: #bbb; -} - -html[data-theme="dark"] .wy-menu-vertical li.current a:hover { - background-color: #222; -} - -html[data-theme="dark"] .wy-menu-vertical a:hover, -html[data-theme="dark"] .wy-menu-vertical li.current > a:hover, -html[data-theme="dark"] .wy-menu-vertical li.on a:hover { - background-color: #1e1e1e; -} - -html[data-theme="dark"] .wy-menu-vertical li.toctree-l2.current > a, -html[data-theme="dark"] - .wy-menu-vertical - li.toctree-l2.current - li.toctree-l3 - > a { - background-color: #18181a; -} - -html[data-theme="dark"] .wy-side-nav-search { - background-color: #0b152d; -} - -html[data-theme="dark"] .wy-side-nav-search .wy-dropdown > a, -html[data-theme="dark"] .wy-side-nav-search > a { - color: #ddd; -} - -html[data-theme="dark"] .wy-side-nav-search input[type="text"] { - border-color: #111; - background-color: #141414; - color: var(--dark-text-color); -} - -html[data-theme="dark"] .theme-switcher { - background-color: #0b0c0d; - color: var(--dark-text-color); -} - -html[data-theme="dark"].writer-html4 .rst-content dl:not(.docutils) > dt, -html[data-theme="dark"].writer-html5 - .rst-content - dl[class]:not(.option-list):not(.field-list):not(.footnote):not( - .glossary - ):not(.simple) - > dt { - background-color: #0b0b0b; - color: #007dce; - border-color: #282828; -} - -html[data-theme="dark"] .rst-content code, -html[data-theme="dark"] .rst-content tt { - color: var(--dark-text-color); -} - -html[data-theme="dark"].writer-html4 - .rst-content - dl:not(.docutils) - dl:not(.field-list) - > dt, -html[data-theme="dark"].writer-html5 - .rst-content - dl[class]:not(.option-list):not(.field-list):not(.footnote):not( - .glossary - ):not(.simple) - dl:not(.field-list) - > dt { - background-color: #0f0f0f; - color: #959595; - border-color: #2b2b2b; -} - -html[data-theme="dark"] .rst-content code, -html[data-theme="dark"] .rst-content tt, -html[data-theme="dark"] code { - background-color: #2d2d2d; - border-color: #1c1c1c; -} - -html[data-theme="dark"] .rst-content code.xref, -html[data-theme="dark"] .rst-content tt.xref, -html[data-theme="dark"] a .rst-content code, -html[data-theme="dark"] a .rst-content tt { - color: #cecece; -} - -html[data-theme="dark"] .rst-content .hint, -html[data-theme="dark"] .rst-content .important, -html[data-theme="dark"] .rst-content .tip, -html[data-theme="dark"] .rst-content .wy-alert-success.admonition, -html[data-theme="dark"] .rst-content .wy-alert-success.admonition-todo, -html[data-theme="dark"] .rst-content .wy-alert-success.attention, -html[data-theme="dark"] .rst-content .wy-alert-success.caution, -html[data-theme="dark"] .rst-content .wy-alert-success.danger, -html[data-theme="dark"] .rst-content .wy-alert-success.error, -html[data-theme="dark"] .rst-content .wy-alert-success.note, -html[data-theme="dark"] .rst-content .wy-alert-success.seealso, -html[data-theme="dark"] .rst-content .wy-alert-success.warning, -html[data-theme="dark"] .wy-alert.wy-alert-success { - background-color: #00392e; -} - -html[data-theme="dark"] .rst-content .hint .admonition-title, -html[data-theme="dark"] .rst-content .hint .wy-alert-title, -html[data-theme="dark"] .rst-content .important .admonition-title, -html[data-theme="dark"] .rst-content .important .wy-alert-title, -html[data-theme="dark"] .rst-content .tip .admonition-title, -html[data-theme="dark"] .rst-content .tip .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.admonition-todo - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.admonition-todo - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.admonition - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.admonition - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.attention - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.attention - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.caution - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.caution .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-success.danger .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.danger .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-success.error .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.error .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-success.note .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.note .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.seealso - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.seealso .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-success.warning - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-success.warning .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert.wy-alert-success - .admonition-title, -html[data-theme="dark"] - .wy-alert.wy-alert-success - .rst-content - .admonition-title, -html[data-theme="dark"] .wy-alert.wy-alert-success .wy-alert-title { - background-color: #006a56; -} - -html[data-theme="dark"] .rst-content .admonition, -html[data-theme="dark"] .rst-content .note, -html[data-theme="dark"] .rst-content .seealso, -html[data-theme="dark"] .rst-content .wy-alert-info.admonition, -html[data-theme="dark"] .rst-content .wy-alert-info.admonition-todo, -html[data-theme="dark"] .rst-content .wy-alert-info.attention, -html[data-theme="dark"] .rst-content .wy-alert-info.caution, -html[data-theme="dark"] .rst-content .wy-alert-info.danger, -html[data-theme="dark"] .rst-content .wy-alert-info.error, -html[data-theme="dark"] .rst-content .wy-alert-info.hint, -html[data-theme="dark"] .rst-content .wy-alert-info.important, -html[data-theme="dark"] .rst-content .wy-alert-info.tip, -html[data-theme="dark"] .rst-content .wy-alert-info.warning, -html[data-theme="dark"] .wy-alert.wy-alert-info { - background-color: #002c4d; -} - -html[data-theme="dark"] .rst-content .admonition .admonition-title, -html[data-theme="dark"] .rst-content .note .admonition-title, -html[data-theme="dark"] .rst-content .note .wy-alert-title, -html[data-theme="dark"] .rst-content .seealso .admonition-title, -html[data-theme="dark"] .rst-content .seealso .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-info.admonition-todo - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-info.admonition-todo - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-info.admonition - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.admonition .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.attention .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.attention .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.caution .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.caution .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.danger .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.danger .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.error .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.error .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.hint .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.hint .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.important .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.important .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.tip .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.tip .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-info.warning .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-info.warning .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert.wy-alert-info .admonition-title, -html[data-theme="dark"] .wy-alert.wy-alert-info .rst-content .admonition-title, -html[data-theme="dark"] .wy-alert.wy-alert-info .wy-alert-title { - background-color: #004a7b; -} - -html[data-theme="dark"] .rst-content .admonition-todo, -html[data-theme="dark"] .rst-content .attention, -html[data-theme="dark"] .rst-content .caution, -html[data-theme="dark"] .rst-content .warning, -html[data-theme="dark"] .rst-content .wy-alert-warning.admonition, -html[data-theme="dark"] .rst-content .wy-alert-warning.danger, -html[data-theme="dark"] .rst-content .wy-alert-warning.error, -html[data-theme="dark"] .rst-content .wy-alert-warning.hint, -html[data-theme="dark"] .rst-content .wy-alert-warning.important, -html[data-theme="dark"] .rst-content .wy-alert-warning.note, -html[data-theme="dark"] .rst-content .wy-alert-warning.seealso, -html[data-theme="dark"] .rst-content .wy-alert-warning.tip, -html[data-theme="dark"] .wy-alert.wy-alert-warning { - background-color: #533500; -} - -html[data-theme="dark"] .rst-content .admonition-todo .admonition-title, -html[data-theme="dark"] .rst-content .admonition-todo .wy-alert-title, -html[data-theme="dark"] .rst-content .attention .admonition-title, -html[data-theme="dark"] .rst-content .attention .wy-alert-title, -html[data-theme="dark"] .rst-content .caution .admonition-title, -html[data-theme="dark"] .rst-content .caution .wy-alert-title, -html[data-theme="dark"] .rst-content .warning .admonition-title, -html[data-theme="dark"] .rst-content .warning .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-warning.admonition - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-warning.admonition - .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.danger .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.danger .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.error .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.error .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.hint .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.hint .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-warning.important - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-warning.important - .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.note .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.note .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-warning.seealso - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.seealso .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.tip .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-warning.tip .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert.wy-alert-warning - .admonition-title, -html[data-theme="dark"] - .wy-alert.wy-alert-warning - .rst-content - .admonition-title, -html[data-theme="dark"] .wy-alert.wy-alert-warning .wy-alert-title { - background-color: #803b00; -} - -html[data-theme="dark"] .rst-content .danger, -html[data-theme="dark"] .rst-content .error, -html[data-theme="dark"] .rst-content .wy-alert-danger.admonition, -html[data-theme="dark"] .rst-content .wy-alert-danger.admonition-todo, -html[data-theme="dark"] .rst-content .wy-alert-danger.attention, -html[data-theme="dark"] .rst-content .wy-alert-danger.caution, -html[data-theme="dark"] .rst-content .wy-alert-danger.hint, -html[data-theme="dark"] .rst-content .wy-alert-danger.important, -html[data-theme="dark"] .rst-content .wy-alert-danger.note, -html[data-theme="dark"] .rst-content .wy-alert-danger.seealso, -html[data-theme="dark"] .rst-content .wy-alert-danger.tip, -html[data-theme="dark"] .rst-content .wy-alert-danger.warning, -html[data-theme="dark"] .wy-alert.wy-alert-danger { - background-color: #82231a; -} - -html[data-theme="dark"] .rst-content .danger .admonition-title, -html[data-theme="dark"] .rst-content .danger .wy-alert-title, -html[data-theme="dark"] .rst-content .error .admonition-title, -html[data-theme="dark"] .rst-content .error .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.admonition-todo - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.admonition-todo - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.admonition - .admonition-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.admonition - .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.attention - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.attention .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.caution .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.caution .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.hint .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.hint .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert-danger.important - .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.important .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.note .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.note .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.seealso .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.seealso .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.tip .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.tip .wy-alert-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.warning .admonition-title, -html[data-theme="dark"] .rst-content .wy-alert-danger.warning .wy-alert-title, -html[data-theme="dark"] - .rst-content - .wy-alert.wy-alert-danger - .admonition-title, -html[data-theme="dark"] - .wy-alert.wy-alert-danger - .rst-content - .admonition-title, -html[data-theme="dark"] .wy-alert.wy-alert-danger .wy-alert-title { - background-color: #b9372b; -} - -html[data-theme="dark"] .wy-nav-top { - background-color: #0b152d; -} - -html[data-theme="dark"] .rst-content table.docutils thead, -html[data-theme="dark"] .rst-content table.field-list thead, -html[data-theme="dark"] .wy-table thead { - color: var(--dark-text-color); -} - -html[data-theme="dark"] - .rst-content - table.docutils:not(.field-list) - tr:nth-child(2n-1) - td, -html[data-theme="dark"] .wy-table-backed, -html[data-theme="dark"] html[data-theme="dark"] .wy-table-odd td, -html[data-theme="dark"] .wy-table-striped tr:nth-child(2n-1) td { - background-color: #181818; -} - -html[data-theme="dark"] .rst-content table.docutils td, -html[data-theme="dark"] .wy-table-bordered-all td, -html[data-theme="dark"].writer-html5 .rst-content table.docutils th, -html[data-theme="dark"] .rst-content table.docutils, -html[data-theme="dark"] .wy-table-bordered-all { - border-color: #262626; -} - -html[data-theme="dark"] .rst-content table.docutils caption, -html[data-theme="dark"] .rst-content table.field-list caption, -html[data-theme="dark"] .wy-table caption { - color: var(--dark-text-color); -} - -html[data-theme="dark"] .wy-menu-vertical li.toctree-l3.current > a, -html[data-theme="dark"] - .wy-menu-vertical - li.toctree-l3.current - li.toctree-l4 - > a { - background-color: #18181a; -} - -html[data-theme="dark"] .guilabel { - background-color: #343434; - border-color: #4d4d4d; -} - diff --git a/PostgRESTAPI_files/default_light.js.下载 b/PostgRESTAPI_files/default_light.js.下载 deleted file mode 100644 index 2b19f92..0000000 --- a/PostgRESTAPI_files/default_light.js.下载 +++ /dev/null @@ -1,13 +0,0 @@ -const loadTheme = () => { - let theme = localStorage.getItem('theme'); - - if (theme !== null) { - if (theme === 'dark') - document.documentElement.setAttribute('data-theme', 'dark'); - } else { - localStorage.setItem('theme', 'light'); - document.documentElement.setAttribute('data-theme', 'light'); - } -}; - -loadTheme(); diff --git a/PostgRESTAPI_files/doctools.js.下载 b/PostgRESTAPI_files/doctools.js.下载 deleted file mode 100644 index 4d67807..0000000 --- a/PostgRESTAPI_files/doctools.js.下载 +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/PostgRESTAPI_files/documentation_options.js.下载 b/PostgRESTAPI_files/documentation_options.js.下载 deleted file mode 100644 index 7e4c114..0000000 --- a/PostgRESTAPI_files/documentation_options.js.下载 +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/PostgRESTAPI_files/f(1).txt b/PostgRESTAPI_files/f(1).txt deleted file mode 100644 index 4df5f5a..0000000 --- a/PostgRESTAPI_files/f(1).txt +++ /dev/null @@ -1,243 +0,0 @@ -(function(sttc){'use strict';var aa=Object.defineProperty,ba=globalThis,ca=typeof Symbol==="function"&&typeof Symbol("x")==="symbol",da={},ea={};function fa(a,b,c){if(!c||a!=null){c=ea[b];if(c==null)return a[b];c=a[c];return c!==void 0?c:a[b]}} -function ha(a,b,c){if(b)a:{var d=a.split(".");a=d.length===1;var e=d[0],f;!a&&e in da?f=da:f=ba;for(e=0;e>>0,ea[d]=ca?ba.Symbol(d):"$jscp$"+a+"$"+d),aa(f,ea[d],{configurable:!0,writable:!0,value:b})))}}ha("Symbol.dispose",function(a){return a?a:Symbol("Symbol.dispose")},"es_next");/* - - Copyright The Closure Library Authors. - SPDX-License-Identifier: Apache-2.0 -*/ -var q=this||self;function ia(a){a=a.split(".");for(var b=q,c=0;c>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)} -function oa(a,b,c){if(!a)throw Error();if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}}function pa(a,b,c){pa=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?na:oa;return pa.apply(null,arguments)} -function qa(a,b,c){a=a.split(".");c=c||q;for(var d;a.length&&(d=a.shift());)a.length||b===void 0?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function ra(a){q.setTimeout(()=>{throw a;},0)};function sa(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]} -function ta(a,b){let c=0;a=sa(String(a)).split(".");b=sa(String(b)).split(".");const d=Math.max(a.length,b.length);for(let g=0;c==0&&gb?1:0};var va,wa=ia("CLOSURE_FLAGS"),xa=wa&&wa[610401301];va=xa!=null?xa:!1;function ya(){var a=q.navigator;return a&&(a=a.userAgent)?a:""}var za;const Aa=q.navigator;za=Aa?Aa.userAgentData||null:null;function Ba(a){if(!va||!za)return!1;for(let b=0;b0:!1}function Da(){return Ca()?!1:r("Trident")||r("MSIE")}function Ea(){return Ca()?Ba("Chromium"):(r("Chrome")||r("CriOS"))&&!(Ca()?0:r("Edge"))||r("Silk")}function Fa(a){const b={};a.forEach(c=>{b[c[0]]=c[1]});return c=>b[c.find(d=>d in b)]||""} -function Ga(){var a=ya();if(Da()){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])a=b[1];else{b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),c[1]=="7.0")if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];a=b}return a}c=RegExp("([A-Z][\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g");b=[];let d;for(;d=c.exec(a);)b.push([d[1],d[2],d[3]||void 0]);a=Fa(b);return(Ca()?0:r("Opera"))?a(["Version", -"Opera"]):(Ca()?0:r("Edge"))?a(["Edge"]):(Ca()?Ba("Microsoft Edge"):r("Edg/"))?a(["Edg"]):r("Silk")?a(["Silk"]):Ea()?a(["Chrome","CriOS","HeadlessChrome"]):(a=b[2])&&a[1]||""};function Ha(a,b){if(typeof a==="string")return typeof b!=="string"||b.length!=1?-1:a.indexOf(b,0);for(let c=0;c=0;c--)if(c in d&&b.call(void 0,d[c],c,a)){b=c;break a}b=-1}return b<0?null:typeof a==="string"?a.charAt(b):a[b]}function Ma(a,b){return Ha(a,b)>=0}function Na(a){const b=a.length;if(b>0){const c=Array(b);for(let d=0;d>4);g!=64&&(b(f<<4&240|g>>2),h!=64&&b(g<<6&192|h))}} -function Sa(){if(!Pa){Pa={};var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"];for(let c=0;c<5;c++){const d=a.concat(b[c].split(""));for(let e=0;e{q.setTimeout(()=>{a(b)},0)}}function Xa(a){if(Va)try{Va(a)}catch(b){throw b.cause=a,b;}}function Ya(a){a=Error(a);Ta(a,"warning");Xa(a);return a}function $a(a,b){if(a!=null){var c=Ua??(Ua={});var d=c[a]||0;d>=b||(c[a]=d+1,a=Error(),Ta(a,"incident"),Va?Xa(a):ra(a))}};function ab(a,b=!1){return b&&Symbol.for&&a?Symbol.for(a):a!=null?Symbol(a):Symbol()}var bb=ab(),cb=ab(),db=ab(),eb=ab("m_m",!0),fb=ab();const t=ab("jas",!0);var gb;const hb=[];hb[t]=55;gb=Object.freeze(hb);function ib(a,b){a[t]|=b}function jb(a){if(4&a)return 2048&a?2048:4096&a?4096:0}function kb(a){ib(a,32);return a};const lb=typeof eb==="symbol";var mb={};function nb(a){a=a[eb];const b=a===mb;lb&&a&&!b&&$a(fb,3);return b}function ob(a){return a!==null&&typeof a==="object"&&!Array.isArray(a)&&a.constructor===Object}function pb(a){if(a&2)throw Error();}var qb=Object.freeze({});function rb(a,b){const c=sb;if(!b(a))throw b=(typeof c==="function"?c():c)?.concat("\n")??"",Error(b+String(a));}function tb(a){a.tc=!0;return a}let sb=void 0;const ub=tb(a=>a!==null&&a!==void 0);var vb=tb(a=>typeof a==="number"),wb=tb(a=>typeof a==="string"),xb=tb(a=>a===void 0),yb=tb(a=>Array.isArray(a));function zb(){return tb(a=>yb(a)?a.every(b=>vb(b)):!1)};function Ab(a){if(wb(a)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(a))throw Error(String(a));}else if(vb(a)&&!Number.isSafeInteger(a))throw Error(String(a));return BigInt(a)}var Db=tb(a=>a>=Bb&&a<=Cb);const Bb=BigInt(Number.MIN_SAFE_INTEGER),Cb=BigInt(Number.MAX_SAFE_INTEGER);let Eb=0,Fb=0;function Gb(a){const b=a>>>0;Eb=b;Fb=(a-b)/4294967296>>>0}function Hb(a){if(a<0){Gb(-a);a=Eb;var b=Fb;b=~b;a?a=~a+1:b+=1;const [c,d]=[a,b];Eb=c>>>0;Fb=d>>>0}else Gb(a)}function Ib(a,b){b>>>=0;a>>>=0;var c;b<=2097151?c=""+(4294967296*b+a):c=""+(BigInt(b)<>>0)):c=Ib(a,b);return c};function Kb(a,b=`unexpected value ${a}!`){throw Error(b);};const Lb=typeof BigInt==="function"?BigInt.asIntN:void 0,Mb=Number.isSafeInteger,Nb=Number.isFinite,Ob=Math.trunc;function Pb(a){if(a==null||typeof a==="number")return a;if(a==="NaN"||a==="Infinity"||a==="-Infinity")return Number(a)}function Qb(a){if(a!=null&&typeof a!=="boolean"){var b=typeof a;throw Error(`Expected boolean but got ${b!="object"?b:a?Array.isArray(a)?"array":b:"null"}: ${a}`);}return a}function Rb(a){if(a==null||typeof a==="boolean")return a;if(typeof a==="number")return!!a} -const Sb=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Tb(a){switch(typeof a){case "bigint":return!0;case "number":return Nb(a);case "string":return Sb.test(a);default:return!1}}function Ub(a){if(!Nb(a))throw Ya("enum");return a|0}function Vb(a){return a==null?a:Nb(a)?a|0:void 0}function Wb(a){if(typeof a!=="number")throw Ya("int32");if(!Nb(a))throw Ya("int32");return a|0}function Xb(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Nb(a)?a|0:void 0} -function Yb(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Nb(a)?a>>>0:void 0}function Zb(a){if(!Tb(a))throw Ya("int64");switch(typeof a){case "string":return $b(a);case "bigint":return Ab(Lb(64,a));default:return ac(a)}}function bc(a){const b=a.length;return a[0]==="-"?b<20?!0:b===20&&Number(a.substring(0,7))>-922337:b<19?!0:b===19&&Number(a.substring(0,6))<922337} -function ac(a){a=Ob(a);if(!Mb(a)){Hb(a);var b=Eb,c=Fb;if(a=c&2147483648)b=~b+1>>>0,c=~c>>>0,b==0&&(c=c+1>>>0);const d=c*4294967296+(b>>>0);b=Number.isSafeInteger(d)?d:Ib(b,c);a=typeof b==="number"?a?-b:b:a?"-"+b:b}return a}function cc(a){a=Ob(a);if(Mb(a))a=String(a);else{{const b=String(a);bc(b)?a=b:(Hb(a),a=Jb())}}return a} -function $b(a){var b=Ob(Number(a));if(Mb(b))return String(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));bc(a)||(a.length<16?Hb(Number(a)):(a=BigInt(a),Eb=Number(a&BigInt(4294967295))>>>0,Fb=Number(a>>BigInt(32)&BigInt(4294967295))),a=Jb());return a}function dc(a){if(typeof a!=="string")throw Error();return a}function ec(a){if(a!=null&&typeof a!=="string")throw Error();return a}function gc(a){return a==null||typeof a==="string"?a:void 0} -function hc(a,b,c,d){if(a!=null&&typeof a==="object"&&nb(a))return a;if(!Array.isArray(a))return c?d&2?((a=b[bb])||(a=new b,ib(a.C,34),a=b[bb]=a),b=a):b=new b:b=void 0,b;let e=c=a[t]|0;e===0&&(e|=d&32);e|=d&2;e!==c&&(a[t]=e);return new b(a)};function ic(a){return a};function jc(a,b,c,d,e){d=d?!!(b&32):void 0;const f=[];var g=a.length;let h,k,m,n=!1;b&64?(b&256?(g--,h=a[g],k=g):(k=4294967295,h=void 0),e||b&512||(n=!0,m=(kc??ic)(h?k- -1:b>>15&1023||536870912,-1,a,h),k=m+-1)):(k=4294967295,b&1||(h=g&&a[g-1],ob(h)?(g--,k=g,m=0):h=void 0));let l=void 0;for(let p=0;p=k?(l??(l={}))[p- -1]=v:f[p]=v)}if(h)for(let p in h)Object.prototype.hasOwnProperty.call(h,p)&&(a=h[p],a!=null&&(a=c(a,d))!=null&&(g=+p,gjc(a,0,lc,void 0,!1);let kc; -function w(a){a=a.C;return jc(a,a[t]|0,lc,void 0,!1)};function nc(){$a(db,5)};function oc(a,b){if(typeof a!=="object")return a;if(Array.isArray(a)){const d=a[t]|0;if(a.length===0&&d&1)return;if(d&2)return a;var c;if(c=b)c=d===0||!!(d&32)&&!(d&64||!(d&16));return c?(ib(a,34),d&4&&Object.freeze(a),a):jc(a,d,oc,b!==void 0,!0)}if(nb(a))return b=a.C,c=b[t]|0,c&2?a:jc(b,c,oc,!0,!0)}function pc(a){var b=a.C;if(!((b[t]|0)&2))return a;a=new a.constructor(jc(b,b[t]|0,oc,!0,!0));b=a.C;b[t]&=-3;return a} -function qc(a){const b=a.C,c=b[t]|0;return c&2?a:new a.constructor(jc(b,c,oc,!0,!0))};const rc=Ab(0);function sc(a,b){a=a.C;return tc(a,a[t]|0,b)}function tc(a,b,c,d){if(c===-1)return null;const e=c+(b&512?0:-1),f=a.length-1;let g;if(e>=f&&b&256)b=a[f][c],g=!0;else if(e<=f)b=a[e];else return;if(d&&b!=null){d=d(b);if(d==null)return d;if(d!==b)return g?a[f][c]=d:a[e]=d,d}return b}function uc(a,b,c){const d=a.C;let e=d[t]|0;pb(e);y(d,e,b,c);return a} -function y(a,b,c,d){const e=b&512?0:-1,f=c+e;var g=a.length-1;if(f>=g&&b&256)return a[g][c]=d,b;if(f<=g)return a[f]=d,b;d!==void 0&&(g=b>>15&1023||536870912,c>=g?d!=null&&(a[g+e]={[c]:d},b|=256,a[t]=b):a[f]=d);return b}function vc(a,b,c){return wc(a,b,c)!==void 0}function z(a){return a===qb?2:4} -function xc(a,b,c,d,e){const f=a.C;a=f[t]|0;const g=2&a?1:d;e=!!e;d=yc(f,a,b);let h=d[t]|0;if(!(4&h)){4&h&&(d=[...d],h=zc(h,a),a=y(f,a,b,d));let k=0,m=0;for(;k=1024)throw Error("pvtlmt");for(c in e){if(!Object.prototype.hasOwnProperty.call(e,c))continue;const h=+c;if(h{var b;(b=a[bb])||(b=new a,ib(b.C,34),b=a[bb]=b);return b}}function kd(a){return b=>{if(b==null||b=="")b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");b=new a(kb(b))}return b}};var ld=class extends I{};var md=class extends I{};function nd(a){return function(){return!a.apply(this,arguments)}}function od(a){let b=!1,c;return function(){b||(c=a(),b=!0);return c}}function pd(a){let b=a;return function(){if(b){const c=b;b=null;c()}}};function qd(a,b,c){a.addEventListener&&a.addEventListener(b,c,!1)}function rd(a,b,c){return a.removeEventListener?(a.removeEventListener(b,c,!1),!0):!1};function sd(){return va&&za?za.mobile:!td()&&(r("iPod")||r("iPhone")||r("Android")||r("IEMobile"))}function td(){return va&&za?!za.mobile&&(r("iPad")||r("Android")||r("Silk")):r("iPad")||r("Android")&&!r("Mobile")||r("Silk")};function ud(a,b){const c={};for(const d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c}function vd(a,b){for(const c in a)if(b.call(void 0,a[c],c,a))return!0;return!1}function wd(a){const b=[];let c=0;for(const d in a)b[c++]=a[d];return b}function xd(a){const b={};for(const c in a)b[c]=a[c];return b};/* - - Copyright Google LLC - SPDX-License-Identifier: Apache-2.0 -*/ -let yd=globalThis.trustedTypes,zd;function Ad(){let a=null;if(!yd)return a;try{const b=c=>c;a=yd.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(b){}return a};var Bd=class{constructor(a){this.g=a}toString(){return this.g+""}};function Cd(a){zd===void 0&&(zd=Ad());var b=zd;return new Bd(b?b.createScriptURL(a):a)}function Dd(a){if(a instanceof Bd)return a.g;throw Error("");};var Ed=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function Fd(a=document){a=a.querySelector?.("script[nonce]");return a==null?"":a.nonce||a.getAttribute("nonce")||""};const Gd="alternate author bookmark canonical cite help icon license modulepreload next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" ");function Hd(a){return String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()})};var Id=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$"),Jd=/#|$/;function Kd(a,b){const c=a.search(Jd);a:{var d=0;for(var e=b.length;(d=a.indexOf(b,d))>=0&&dc)e=c;d+=b.length+1;return decodeURIComponent(a.slice(d,e!==-1?e:0).replace(/\+/g," "))};function Ld(a,...b){if(b.length===0)return Cd(a[0]);let c=a[0];for(let d=0;de(k,h)):(b+=f+encodeURIComponent(h)+"="+encodeURIComponent(g),f="&"))}let f=b.length?"&":"?";d.constructor===Object&&(d=Object.entries(d));Array.isArray(d)?d.forEach(g=>e(g[1],g[0])):d.forEach(e);return Cd(a+b+c)};function Od(a){try{var b;if(b=!!a&&a.location.href!=null)a:{try{Oa(a.foo);b=!0;break a}catch(c){}b=!1}return b}catch{return!1}}function Pd(a){return Od(a.top)?a.top:null}function Qd(a,b){const c=Rd("SCRIPT",a);c.src=Dd(b);(b=Fd(c.ownerDocument))&&c.setAttribute("nonce",b);(a=a.getElementsByTagName("script")[0])&&a.parentNode&&a.parentNode.insertBefore(c,a)}function Sd(a,b){return b.getComputedStyle?b.getComputedStyle(a,null):a.currentStyle} -function Td(){if(!globalThis.crypto)return Math.random();try{const a=new Uint32Array(1);globalThis.crypto.getRandomValues(a);return a[0]/65536/65536}catch{return Math.random()}}function Ud(a,b){if(a)for(const c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(a[c],c,a)}function Vd(a){const b=a.length;if(b==0)return 0;let c=305419896;for(let d=0;d>2)+a.charCodeAt(d)&4294967295;return c>0?c:4294967296+c}var Wd=/^([0-9.]+)px$/,Xd=/^(-?[0-9.]{1,30})$/; -function Yd(a){if(!Xd.test(a))return null;a=Number(a);return isNaN(a)?null:a}function Zd(a){return(a=Wd.exec(a))?+a[1]:null}var $d=od(()=>sd()?2:td()?1:0),ae=a=>{Ud({display:"none"},(b,c)=>{a.style.setProperty(c,b,"important")})};let be=[];const ce=()=>{const a=be;be=[];for(const b of a)try{b()}catch{}};function de(){var a=J(ee).A(fe.g,fe.defaultValue),b=L.document;if(a.length&&b.head)for(const c of a)c&&b.head&&(a=Rd("META"),b.head.appendChild(a),a.httpEquiv="origin-trial",a.content=c)} -var ge=()=>{var a=Math.random;return Math.floor(a()*2**52)},he=a=>{if(typeof a.goog_pvsid!=="number")try{Object.defineProperty(a,"goog_pvsid",{value:ge(),configurable:!1})}catch(b){}return Number(a.goog_pvsid)||-1},je=a=>{var b=ie;b.readyState==="complete"||b.readyState==="interactive"?(be.push(a),be.length==1&&(window.Promise?Promise.resolve().then(ce):window.setImmediate?setImmediate(ce):setTimeout(ce,0))):b.addEventListener("DOMContentLoaded",a)}; -function Rd(a,b=document){return b.createElement(String(a).toLowerCase())};function ke(a,b,c=null,d=!1,e=!1){le(a,b,c,d,e)}function le(a,b,c,d,e=!1){a.google_image_requests||(a.google_image_requests=[]);const f=Rd("IMG",a.document);if(c||d){const g=h=>{c&&c(h);if(d){h=a.google_image_requests;const k=Ha(h,f);k>=0&&Array.prototype.splice.call(h,k,1)}rd(f,"load",g);rd(f,"error",g)};qd(f,"load",g);qd(f,"error",g)}e&&(f.attributionSrc="");f.src=b;a.google_image_requests.push(f)} -function me(a,b){let c=`https://${"pagead2.googlesyndication.com"}/pagead/gen_204?id=${b}`;Ud(a,(d,e)=>{if(d||d===0)c+=`&${e}=${encodeURIComponent(String(d))}`});ne(c)}function ne(a){var b=window;b.fetch?b.fetch(a,{keepalive:!0,credentials:"include",redirect:"follow",method:"get",mode:"no-cors"}):ke(b,a,void 0,!1,!1)};var ie=document,L=window;let oe=null;var pe=(a,b=[])=>{let c=!1;q.google_logging_queue||(c=!0,q.google_logging_queue=[]);q.google_logging_queue.push([a,b]);if(a=c){if(oe==null){oe=!1;try{const d=Pd(q);d&&d.location.hash.indexOf("google_logging")!==-1&&(oe=!0)}catch(d){}}a=oe}a&&Qd(q.document,Ld`https://pagead2.googlesyndication.com/pagead/js/logging_library.js`)};function qe(a,b){this.width=a;this.height=b}qe.prototype.aspectRatio=function(){return this.width/this.height};qe.prototype.isEmpty=function(){return!(this.width*this.height)};qe.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};qe.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};qe.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this}; -qe.prototype.scale=function(a,b){this.width*=a;this.height*=typeof b==="number"?b:a;return this};function re(a=q){let b=a.context||a.AMP_CONTEXT_DATA;if(!b)try{b=a.parent.context||a.parent.AMP_CONTEXT_DATA}catch{}return b?.pageViewId&&b?.canonicalUrl?b:null}function se(a=re()){return a?Od(a.master)?a.master:null:null};function ue(a,b){b=String(b);a.contentType==="application/xhtml+xml"&&(b=b.toLowerCase());return a.createElement(b)}function ve(a){this.g=a||q.document||document}ve.prototype.contains=function(a,b){return a&&b?a==b||a.contains(b):!1};var we=a=>{a=se(re(a))||a;a.google_unique_id=(a.google_unique_id||0)+1;return a.google_unique_id},xe=a=>{a=a.google_unique_id;return typeof a==="number"?a:0},ye=a=>{if(!a)return"";a=a.toLowerCase();a.substring(0,3)!="ca-"&&(a="ca-"+a);return a};function ze(a){return!!(a.error&&a.meta&&a.id)}var Ae=class{constructor(a,b){this.error=a;this.meta={};this.context=b.context;this.msg=b.message||"";this.id=b.id||"jserror"}};function Be(a){return new Ae(a,{message:Ce(a)})}function Ce(a){let b=a.toString();a.name&&b.indexOf(a.name)==-1&&(b+=": "+a.name);a.message&&b.indexOf(a.message)==-1&&(b+=": "+a.message);if(a.stack)a:{a=a.stack;var c=b;try{a.indexOf(c)==-1&&(a=c+"\n"+a);let d;for(;a!=d;)d=a,a=a.replace(RegExp("((https?:/..*/)[^/:]*:\\d+(?:.|\n)*)\\2"),"$1");b=a.replace(RegExp("\n *","g"),"\n");break a}catch(d){b=c;break a}b=void 0}return b};const De=RegExp("^https?://(\\w|-)+\\.cdn\\.ampproject\\.(net|org)(\\?|/|$)");var Ee=class{constructor(a,b){this.g=a;this.i=b}},Fe=class{constructor(a,b,c){this.url=a;this.l=b;this.g=!!c;this.depth=null}};let Ge=null;function He(){var a=window;if(Ge===null){Ge="";try{let b="";try{b=a.top.location.hash}catch(c){b=a.location.hash}if(b){const c=b.match(/\bdeid=([\d,]+)/);Ge=c?c[1]:""}}catch(b){}}return Ge};function Ie(){const a=q.performance;return a&&a.now&&a.timing?Math.floor(a.now()+a.timing.navigationStart):Date.now()}function Je(){const a=q.performance;return a&&a.now?a.now():null};var Ke=class{constructor(a,b){var c=Je()||Ie();this.label=a;this.type=b;this.value=c;this.duration=0;this.taskId=this.slotId=void 0;this.uniqueId=Math.random()}};const Le=q.performance,Me=!!(Le&&Le.mark&&Le.measure&&Le.clearMarks),Ne=od(()=>{var a;if(a=Me)a=He(),a=!!a.indexOf&&a.indexOf("1337")>=0;return a});function Oe(a){a&&Le&&Ne()&&(Le.clearMarks(`goog_${a.label}_${a.uniqueId}_start`),Le.clearMarks(`goog_${a.label}_${a.uniqueId}_end`))}function Pe(a){a.g=!1;if(a.i!==a.j.google_js_reporting_queue){if(Ne()){var b=a.i;const c=b.length;b=typeof b==="string"?b.split(""):b;for(let d=0;d -2048||this.i.push(a)}}};function Re(a,b){const c={};c[a]=b;return[c]}function Se(a,b,c,d,e){const f=[];Ud(a,(g,h)=>{(g=Te(g,b,c,d,e))&&f.push(`${h}=${g}`)});return f.join(b)} -function Te(a,b,c,d,e){if(a==null)return"";b=b||"&";c=c||",$";typeof c==="string"&&(c=c.split(""));if(a instanceof Array){if(d||(d=0),db&&(b=c.length);return 3997-b-a.j.length-1} -function Ve(a,b,c){b="https://"+b+c;let d=Ue(a)-c.length;if(d<0)return"";a.g.sort((f,g)=>f-g);c=null;let e="";for(let f=0;f=m.length){d-=m.length;b+=m;e=a.j;break}c=c==null?g:c}}}a="";c!=null&&(a=`${e}${"trn"}=${c}`);return b+a}var We=class{constructor(){this.j="&";this.i={};this.u=0;this.g=[]}};var Ze=class{constructor(a=null){this.G=Xe;this.j=a;this.i=null;this.B=!1;this.D=this.I}J(a){this.D=a}A(a){this.i=a}Y(a){this.B=a}g(a,b,c){let d,e;try{this.j&&this.j.g?(e=this.j.start(a.toString(),3),d=b(),this.j.end(e)):d=b()}catch(f){b=!0;try{Oe(e),b=this.D(a,Be(f),void 0,c)}catch(g){this.I(217,g)}if(b)window.console?.error?.(f);else throw f;}return d}u(a,b){return(...c)=>this.g(a,()=>b.apply(void 0,c))}I(a,b,c,d,e){e=e||"jserror";let f=void 0;try{const Za=new We;var g=Za;g.g.push(1);g.i[1]=Re("context", -a);ze(b)||(b=Be(b));g=b;if(g.msg){b=Za;var h=g.msg.substring(0,512);b.g.push(2);b.i[2]=Re("msg",h)}var k=g.meta||{};h=k;if(this.i)try{this.i(h)}catch(X){}if(d)try{d(h)}catch(X){}d=Za;k=[k];d.g.push(3);d.i[3]=k;var m;if(!(m=p)){d=q;k=[];h=null;do{var n=d;if(Od(n)){var l=n.location.href;h=n.document&&n.document.referrer||null}else l=h,h=null;k.push(new Fe(l||"",n));try{d=n.parent}catch(X){d=null}}while(d&&n!==d);for(let X=0,Mg=k.length-1;X<=Mg;++X)k[X].depth=Mg-X;n=q;if(n.location&&n.location.ancestorOrigins&& -n.location.ancestorOrigins.length===k.length-1)for(l=1;l=0;--n){var v=p[n];!m&&De.test(v.url)&&(m=v);if(v.url&&!v.g){Vc=v;break}}v=null;const Jk=p.length&&p[te].url;Vc.depth!==0&&Jk&&(v=p[te]);f=new Ee(Vc,v);if(f.i){p=Za;var u=f.i.url||"";p.g.push(4);p.i[4]=Re("top",u)}var x={url:f.g.url||""};if(f.g.url){const X=f.g.url.match(Id); -var K=X[1],O=X[3],Wc=X[4];u="";K&&(u+=K+":");O&&(u+="//",u+=O,Wc&&(u+=":"+Wc));var fc=u}else fc="";K=Za;x=[x,{url:fc}];K.g.push(5);K.i[5]=x;Ye(this.G,e,Za,this.B,c)}catch(Za){try{Ye(this.G,e,{context:"ecmserr",rctx:a,msg:Ce(Za),url:f?.g.url??""},this.B,c)}catch(Vc){}}return!0}ma(a,b){b.catch(c=>{c=c?c:"unknown rejection";this.I(a,c instanceof Error?c:Error(c),void 0,this.i||void 0)})}};var $e=class extends I{},af=[2,3,4];var bf=class extends I{},cf=[3,4,5],df=[6,7];var ef=class extends I{},ff=[4,5];function gf(a,b){var c=B(a,bf,2,z());if(!c.length)return hf(a,b);a=H(a,1);if(a===1)return c=gf(c[0],b),c.success?{success:!0,value:!c.value}:c;c=Ja(c,d=>gf(d,b));switch(a){case 2:return c.find(d=>d.success&&!d.value)??c.find(d=>!d.success)??{success:!0,value:!0};case 3:return c.find(d=>d.success&&d.value)??c.find(d=>!d.success)??{success:!0,value:!1};default:return{success:!1,O:3}}} -function hf(a,b){var c=Jc(a,cf);a:{switch(c){case 3:var d=Yc(a,3,cf);break a;case 4:d=Yc(a,4,cf);break a;case 5:d=Yc(a,5,cf);break a}d=void 0}if(!d)return{success:!1,O:2};b=(b=b[c])&&b[d];if(!b)return{success:!1,property:d,da:c,O:1};let e;try{var f=Uc(a,8);e=b(...f)}catch(g){return{success:!1,property:d,da:c,O:2}}f=H(a,1);if(f===4)return{success:!0,value:!!e};if(f===5)return{success:!0,value:e!=null};if(f===12)a=G(a,Ic(a,df,7));else a:{switch(c){case 4:a=Tc(a,Ic(a,df,6));break a;case 5:a=G(a,Ic(a, -df,7));break a}a=void 0}if(a==null)return{success:!1,property:d,da:c,O:3};if(f===6)return{success:!0,value:e===a};if(f===9)return{success:!0,value:e!=null&&ta(String(e),a)===0};if(e==null)return{success:!1,property:d,da:c,O:4};switch(f){case 7:c=ea;break;case 12:c=wb(a)&&wb(e)&&(new RegExp(a)).test(e);break;case 10:c=e!=null&&ta(String(e),a)===-1;break;case 11:c=e!=null&&ta(String(e),a)===1;break;default:return{success:!1,O:3}}return{success:!0,value:c}} -function jf(a,b){return a?b?gf(a,b):{success:!1,O:1}:{success:!0,value:!0}};var kf=class extends I{};var lf=class extends I{getValue(){return A(this,kf,2)}};var mf=class extends I{},nf=kd(mf),of=[1,2,3,6,7,8];var pf=class extends I{};function qf(a,b){try{const c=d=>[{[d.Aa]:d.ya}];return JSON.stringify([a.filter(d=>d.ka).map(c),w(b),a.filter(d=>!d.ka).map(c)])}catch(c){return rf(c,b),""}}function rf(a,b){try{me({m:Ce(a instanceof Error?a:Error(String(a))),b:H(b,1)||null,v:G(b,2)||null},"rcs_internal")}catch(c){}}var sf=class{constructor(a,b){var c=new pf;a=gd(c,1,a);b=ed(a,2,b);this.j=qc(b)}};var tf=class extends I{getWidth(){return F(this,3)}getHeight(){return F(this,4)}};var uf=class extends I{};function vf(a,b){return uc(a,1,b==null?b:Zb(b))}function wf(a,b){return uc(a,2,b==null?b:Zb(b))}var xf=class extends I{getWidth(){return Sc(this,1)}getHeight(){return Sc(this,2)}};var yf=class extends I{};var zf=class extends I{};var Af=class extends I{getValue(){return H(this,1)}};var Bf=class extends I{getContentUrl(){return G(this,4)}};var Cf=class extends I{};function Df(a){return Kc(a,Cf,3)}var Ef=class extends I{};var Ff=class extends I{getContentUrl(){return G(this,1)}};var Gf=class extends I{};function Hf(a){var b=new If;return gd(b,1,a)}var If=class extends I{};var Jf=class extends I{},Kf=[4,5,6,8,9,10,11,12,13,14,15,16,17];var Lf=class extends I{};function Mf(a,b){return gd(a,1,b)}function Nf(a,b){return gd(a,2,b)}var Of=class extends I{};var Pf=class extends I{},Qf=[1,2];function Rf(a,b){return Mc(a,1,b)}function Sf(a,b){return Oc(a,2,b)}function Tf(a,b){return Dc(a,4,b,Wb)}function Uf(a,b){return Oc(a,5,b)}function Vf(a,b){return gd(a,6,b)}var Wf=class extends I{};var Xf=class extends I{},Yf=[1,2,3,4,6];var Zf=class extends I{};function $f(a){var b=new ag;return Nc(b,4,bg,a)}var ag=class extends I{getTagSessionCorrelator(){return Sc(this,2)}},bg=[4,5,7,8,9];var cg=class extends I{};function dg(){var a=pc(eg());return ed(a,1,fg())}var gg=class extends I{};var hg=class extends I{};var ig=class extends I{getTagSessionCorrelator(){return Sc(this,1)}};var jg=class extends I{},kg=[1,7],lg=[4,6,8];class mg extends sf{constructor(){super(...arguments)}}function ng(a,...b){og(a,...b.map(c=>({ka:!0,Aa:3,ya:w(c)})))}function pg(a,...b){og(a,...b.map(c=>({ka:!0,Aa:4,ya:w(c)})))}function qg(a,...b){og(a,...b.map(c=>({ka:!0,Aa:7,ya:w(c)})))}var rg=class extends mg{};var sg=(a,b)=>{globalThis.fetch(a,{method:"POST",body:b,keepalive:b.length<65536,credentials:"omit",mode:"no-cors",redirect:"follow"}).catch(()=>{})};function og(a,...b){try{a.D&&qf(a.g.concat(b),a.j).length>=65536&&tg(a),a.u&&!a.A&&(a.A=!0,ug(a.u,()=>{tg(a)})),a.g.push(...b),a.g.length>=a.B&&tg(a),a.g.length&&a.i===null&&(a.i=setTimeout(()=>{tg(a)},a.J))}catch(c){rf(c,a.j)}}function tg(a){a.i!==null&&(clearTimeout(a.i),a.i=null);if(a.g.length){var b=qf(a.g,a.j);a.G("https://pagead2.googlesyndication.com/pagead/ping?e=1",b);a.g=[]}} -var vg=class extends rg{constructor(a,b,c,d,e,f){super(a,b);this.G=sg;this.J=c;this.B=d;this.D=e;this.u=f;this.g=[];this.i=null;this.A=!1}},wg=class extends vg{constructor(a,b,c=1E3,d=100,e=!1,f){super(a,b,c,d,e&&!0,f)}};function xg(a,b){var c=Date.now();c=Number.isFinite(c)?Math.round(c):0;b=bd(b,1,c);c=he(window);b=bd(b,2,c);return bd(b,6,a.A)}function yg(a,b,c,d,e,f){if(a.j){var g=Nf(Mf(new Of,b),c);b=Vf(Sf(Rf(Uf(Tf(new Wf,d),e),g),a.g.slice()),f);b=$f(b);pg(a.i,xg(a,b));if(f===1||f===3||f===4&&!a.g.some(h=>H(h,1)===H(g,1)&&H(h,2)===c))a.g.push(g),a.g.length>100&&a.g.shift()}}function zg(a,b,c,d){if(a.j){var e=new Lf;b=$c(e,1,b);c=$c(b,2,c);d=fd(c,3,d);c=new ag;d=Nc(c,8,bg,d);pg(a.i,xg(a,d))}} -function Ag(a,b,c,d,e){if(a.j){var f=new ef;b=Mc(f,1,b);c=fd(b,2,c);d=$c(c,3,d);if(e.da===void 0)hd(d,4,ff,e.O);else switch(e.da){case 3:c=new $e;c=hd(c,2,af,e.property);e=fd(c,1,e.O);Nc(d,5,ff,e);break;case 4:c=new $e;c=hd(c,3,af,e.property);e=fd(c,1,e.O);Nc(d,5,ff,e);break;case 5:c=new $e,c=hd(c,4,af,e.property),e=fd(c,1,e.O),Nc(d,5,ff,e)}e=new ag;e=Nc(e,9,bg,d);pg(a.i,xg(a,e))}}var Bg=class{constructor(a,b,c,d=new wg(6,"unknown",b)){this.A=a;this.u=c;this.i=d;this.g=[];this.j=a>0&&Td()<1/a}};var J=a=>{var b="xa";if(a.xa&&a.hasOwnProperty(b))return a.xa;b=new a;return a.xa=b};var Cg=class{constructor(){this.N={[3]:{},[4]:{},[5]:{}}}};var Dg=/^true$/.test("false");function Eg(a,b){switch(b){case 1:return Yc(a,1,of);case 2:return Yc(a,2,of);case 3:return Yc(a,3,of);case 6:return Yc(a,6,of);case 8:return Yc(a,8,of);default:return null}}function Fg(a,b){if(!a)return null;switch(b){case 1:return E(a,1);case 7:return G(a,3);case 2:return Tc(a,2);case 3:return G(a,3);case 6:return Uc(a,4);case 8:return Uc(a,4);default:return null}} -const Gg=od(()=>{if(!Dg)return{};try{var a=window;try{var b=a.sessionStorage.getItem("GGDFSSK")}catch{b=null}if(b)return JSON.parse(b)}catch{}return{}});function Hg(a,b,c,d=0){J(Ig).j[d]=J(Ig).j[d]?.add(b)??(new Set).add(b);const e=Gg();if(e[b]!=null)return e[b];b=Jg(d)[b];if(!b)return c;b=nf(JSON.stringify(b));b=Kg(b);a=Fg(b,a);return a!=null?a:c} -function Kg(a){const b=J(Cg).N;if(b&&Jc(a,of)!==8){const c=La(B(a,lf,5,z()),d=>{d=jf(A(d,bf,1),b);return d.success&&d.value});if(c)return c.getValue()??null}return A(a,kf,4)??null}class Ig{constructor(){this.i={};this.u=[];this.j={};this.g=new Map}}function Lg(a,b=!1,c){return!!Hg(1,a,b,c)}function Ng(a,b=0,c){a=Number(Hg(2,a,b,c));return isNaN(a)?b:a}function Og(a,b="",c){a=Hg(3,a,b,c);return typeof a==="string"?a:b}function Pg(a,b=[],c){a=Hg(6,a,b,c);return Array.isArray(a)?a:b} -function Qg(a,b=[],c){a=Hg(8,a,b,c);return Array.isArray(a)?a:b}function Jg(a){return J(Ig).i[a]||(J(Ig).i[a]={})}function Rg(a,b){const c=Jg(b);Ud(a,(d,e)=>{if(c[e]){const g=nf(JSON.stringify(d));if(D(g,Ic(g,of,8))!=null){var f=nf(JSON.stringify(c[e]));d=Kc(g,kf,4);f=Uc(Lc(f,kf,4),4);Pc(d,f)}c[e]=w(g)}else c[e]=d})} -function Sg(a,b,c,d,e=!1){var f=[],g=[];for(const l of b){b=Jg(l);for(const p of a){var h=Jc(p,of);const v=Eg(p,h);if(v){a:{var k=v;var m=h,n=J(Ig).g.get(l)?.get(v)?.slice(0)??[];const u=new Xf;switch(m){case 1:hd(u,1,Yf,k);break;case 2:hd(u,2,Yf,k);break;case 3:hd(u,3,Yf,k);break;case 6:hd(u,4,Yf,k);break;case 8:hd(u,6,Yf,k);break;default:k=void 0;break a}Dc(u,5,n,Wb);k=u}k&&J(Ig).j[l]?.has(v)&&f.push(k);h===8&&b[v]?(k=nf(JSON.stringify(b[v])),h=Kc(p,kf,4),k=Uc(Lc(k,kf,4),4),Pc(h,k)):k&&J(Ig).g.get(l)?.has(v)&& -g.push(k);e||(h=v,k=l,m=d,n=J(Ig),n.g.has(k)||n.g.set(k,new Map),n.g.get(k).has(h)||n.g.get(k).set(h,[]),m&&n.g.get(k).get(h).push(m));b[v]=w(p)}}}if(f.length||g.length)a=d??void 0,c.j&&c.u&&(d=new Zf,f=Oc(d,2,f),g=Oc(f,3,g),a&&ad(g,1,a),f=new ag,g=Nc(f,7,bg,g),pg(c.i,xg(c,g)))}function Tg(a,b){b=Jg(b);for(const c of a){a=nf(JSON.stringify(c));const d=Jc(a,of);(a=Eg(a,d))&&(b[a]||(b[a]=c))}}function Ug(){return Object.keys(J(Ig).i).map(a=>Number(a))} -function Vg(a){J(Ig).u.includes(a)||Rg(Jg(4),a)};function M(a,b,c){c.hasOwnProperty(a)||Object.defineProperty(c,String(a),{value:b})}function Wg(a,b,c){return b[a]||c}function Xg(a){M(5,Lg,a);M(6,Ng,a);M(7,Og,a);M(8,Pg,a);M(17,Qg,a);M(13,Tg,a);M(15,Vg,a)}function Yg(a){M(4,b=>{J(Cg).N=b},a);M(9,(b,c)=>{var d=J(Cg);d.N[3][b]==null&&(d.N[3][b]=c)},a);M(10,(b,c)=>{var d=J(Cg);d.N[4][b]==null&&(d.N[4][b]=c)},a);M(11,(b,c)=>{var d=J(Cg);d.N[5][b]==null&&(d.N[5][b]=c)},a);M(14,b=>{var c=J(Cg);for(const d of[3,4,5])Object.assign(c.N[d],b[d])},a)} -function Zg(a){a.hasOwnProperty("init-done")||Object.defineProperty(a,"init-done",{value:!0})};function $g(a,b,c){a.j=Wg(1,b,()=>{});a.u=(d,e)=>Wg(2,b,()=>[])(d,c,e);a.g=()=>Wg(3,b,()=>[])(c);a.i=d=>{Wg(16,b,()=>{})(d,c)}}class ah{j(){}i(){}u(){return[]}g(){return[]}};function Ye(a,b,c,d=!1,e){if((d?a.g:Math.random())<(e||.01))try{let f;c instanceof We?f=c:(f=new We,Ud(c,(h,k)=>{var m=f;const n=m.u++;h=Re(k,h);m.g.push(n);m.i[n]=h}));const g=Ve(f,a.domain,a.path+b+"&");g&&ke(q,g)}catch(f){}}function bh(a,b){b>=0&&b<=1&&(a.g=b)}var ch=class{constructor(){this.domain="pagead2.googlesyndication.com";this.path="/pagead/gen_204?id=";this.g=Math.random()}};let Xe,dh;const eh=new Qe(window);(function(a){Xe=a??new ch;typeof window.google_srt!=="number"&&(window.google_srt=Math.random());bh(Xe,window.google_srt);dh=new Ze(eh);dh.A(()=>{});dh.Y(!0);window.document.readyState==="complete"?window.google_measure_js_timing||Pe(eh):eh.g&&qd(window,"load",()=>{window.google_measure_js_timing||Pe(eh)})})();let fh=(new Date).getTime();var gh={Xb:0,Wb:1,Tb:2,Ob:3,Ub:4,Pb:5,Vb:6,Rb:7,Sb:8,Nb:9,Qb:10,Yb:11};var hh={ac:0,bc:1,Zb:2};function ih(a){if(a.g!=0)throw Error("Already resolved/rejected.");}var lh=class{constructor(){this.i=new jh(this);this.g=0}resolve(a){ih(this);this.g=1;this.u=a;kh(this.i)}reject(a){ih(this);this.g=2;this.j=a;kh(this.i)}};function kh(a){switch(a.g.g){case 0:break;case 1:a.i&&a.i(a.g.u);break;case 2:a.j&&a.j(a.g.j);break;default:throw Error("Unhandled deferred state.");}}var jh=class{constructor(a){this.g=a}then(a,b){if(this.i)throw Error("Then functions already set.");this.i=a;this.j=b;kh(this)}};var mh=class{constructor(a){this.g=a.slice(0)}forEach(a){this.g.forEach((b,c)=>void a(b,c,this))}filter(a){return new mh(Ia(this.g,a))}apply(a){return new mh(a(this.g.slice(0)))}sort(a){return new mh(this.g.slice(0).sort(a))}get(a){return this.g[a]}add(a){const b=this.g.slice(0);b.push(a);return new mh(b)}};function nh(a,b){const c=[],d=a.length;for(let e=0;e{const b=[],c=a.u;c&&c.g.length&&b.push({ba:"a",ca:Ah(c)});a.g!=null&&b.push({ba:"as",ca:a.g});a.i!=null&&b.push({ba:"i",ca:String(a.i)});a.j!=null&&b.push({ba:"rp",ca:String(a.j)});b.sort(function(d,e){return d.ba.localeCompare(e.ba)});b.unshift({ba:"t",ca:"aa"});return b},Ah=a=>{a=a.g.slice(0).map(Ch);a=JSON.stringify(a);return Vd(a)},Ch=a=>{const b={};C(a,7)!=null&&(b.q=C(a,7));Rc(a,2)!=null&&(b.o=Rc(a,2));Rc(a,5)!=null&&(b.p=Rc(a,5));return b};var Dh=class extends I{setLocation(a){return fd(this,1,a)}};function Eh(a){const b=[].slice.call(arguments).filter(nd(e=>e===null));if(!b.length)return null;let c=[],d={};b.forEach(e=>{c=c.concat(e.Ra||[]);d=Object.assign(d,e.Ya)});return new Fh(c,d)}function Gh(a){switch(a){case 1:return new Fh(null,{google_ad_semantic_area:"mc"});case 2:return new Fh(null,{google_ad_semantic_area:"h"});case 3:return new Fh(null,{google_ad_semantic_area:"f"});case 4:return new Fh(null,{google_ad_semantic_area:"s"});default:return null}} -function Hh(a){if(a==null)var b=null;else{b=Fh;var c=Bh(a);a=[];for(let d of c)c=String(d.ca),a.push(d.ba+"."+(c.length<=20?c:c.slice(0,19)+"_"));b=new b(null,{google_placement_id:a.join("~")})}return b}var Fh=class{constructor(a,b){this.Ra=a;this.Ya=b}};var Ih=new Fh(["google-auto-placed"],{google_reactive_ad_format:40,google_tag_origin:"qs"});var Jh=kd(class extends I{});var Kh=class extends I{};var Lh=class extends I{};var Mh=class extends I{};function Nh(a){if(a.nodeType!=1)var b=!1;else if(b=a.tagName=="INS")a:{b=["adsbygoogle-placeholder"];var c=a.className?a.className.split(/\s+/):[];a={};for(let d=0;da[b]!=null?a[b]:c;this.u=(b,c)=>a[b]!=null?a[b]:c;this.g=(b,c)=>a[b]!=null?a[b]:c;this.A=(b,c)=>a[b]!=null?a[b]:c;this.j=(b,c)=>a[b]!=null?c.concat(a[b]):c;this.B=()=>{}}};function R(a){return J(ee).i(a.g,a.defaultValue)}function S(a){return J(ee).u(a.g,a.defaultValue)}function Hi(a){return J(ee).j(a.g,a.defaultValue)};function Ii(a,b){const c=e=>{e=Ji(e);return e==null?!1:0{e=Ji(e);return e==null?!1:0>e};switch(b){case 0:return{init:Ki(a.previousSibling,c),ga:e=>Ki(e.previousSibling,c),la:0};case 2:return{init:Ki(a.lastChild,c),ga:e=>Ki(e.previousSibling,c),la:0};case 3:return{init:Ki(a.nextSibling,d),ga:e=>Ki(e.nextSibling,d),la:3};case 1:return{init:Ki(a.firstChild,d),ga:e=>Ki(e.nextSibling,d),la:3}}throw Error("Un-handled RelativePosition: "+b);} -function Ji(a){return a.hasOwnProperty("google-ama-order-assurance")?a["google-ama-order-assurance"]:null}function Ki(a,b){return a&&b(a)?a:null};var Li={rectangle:1,horizontal:2,vertical:4};var Mi={overlays:1,interstitials:2,vignettes:2,inserts:3,immersives:4,list_view:5,full_page:6,side_rails:7};function Ni(a){a=a.document;let b={};a&&(b=a.compatMode=="CSS1Compat"?a.documentElement:a.body);return b||{}}function T(a){return Ni(a).clientWidth??void 0};function Oi(a,b){do{const c=Sd(a,b);if(c&&c.position=="fixed")return!1}while(a=a.parentElement);return!0};function Pi(a,b){var c=["width","height"];for(let e=0;e=a.innerWidth))return 5;const f=T(a);if(!f||(f-c)/f>d)a=6;else{if(c=e.google_full_width_responsive!=="true")a:{c=b.parentElement;for(b=T(a);c;c=c.parentElement)if((d=Sd(c,a))&&(e=Zd(d.width))&&!(e>=b)&&d.overflow!=="visible"){c=!0;break a}c=!1}a=c?7:!0}return a} -function Ui(a,b,c,d){const e=Ti(b,c,a,S(ai),d);e!==!0?a=e:d.google_full_width_responsive==="true"||Oi(c,b)?(b=T(b),a=b-a,a=b&&a>=0?!0:b?a<-10?11:a<0?14:12:10):a=9;return a}function Vi(a,b,c){a=a.style;b==="rtl"?a.marginRight=c:a.marginLeft=c} -function Wi(a,b){if(b.nodeType===3)return/\S/.test(b.data);if(b.nodeType===1){if(/^(script|style)$/i.test(b.nodeName))return!1;let c;try{c=Sd(b,a)}catch(d){}return!c||c.display!=="none"&&!(c.position==="absolute"&&(c.visibility==="hidden"||c.visibility==="collapse"))}return!1}function Xi(a,b,c){a=Si(b,a);return c==="rtl"?-a.x:a.x} -function Yi(a,b){var c;c=(c=b.parentElement)?(c=Sd(c,a))?c.direction:"":"";if(c){var d=b.style;d.border=d.borderStyle=d.outline=d.outlineStyle=d.transition="none";d.borderSpacing=d.padding="0";Vi(b,c,"0px");d.width=`${T(a)}px`;if(Xi(a,b,c)!==0){Vi(b,c,"0px");var e=Xi(a,b,c);Vi(b,c,`${-1*e}px`);a=Xi(a,b,c);a!==0&&a!==e&&Vi(b,c,`${e/(a-e)*e}px`)}d.zIndex="30"}};function Zi(a,b,c){let d;return a.style&&!!a.style[c]&&Zd(a.style[c])||(d=Sd(a,b))&&!!d[c]&&Zd(d[c])||null}function $i(a,b){const c=xe(a)===0;return b&&c?Math.max(250,2*Ni(a).clientHeight/3):250}function aj(a,b){let c;return a.style&&a.style.zIndex||(c=Sd(a,b))&&c.zIndex||null}function bj(a){return b=>b.g<=a}function cj(a,b,c,d){const e=a&&dj(c,b),f=$i(b,d);return g=>!(e&&g.height()>=f)}function ej(a){return b=>b.height()<=a}function dj(a,b){return Ri(a,b)=100&&b.push(c)});return b}function zj(a){if(a.nodeType==3)return a.length;if(a.nodeType!=1||a.tagName=="SCRIPT")return 0;let b=0;nh(a.childNodes,function(c){b+=zj(c)});return b}function Aj(a){return a.length==0||isNaN(a[0])?a:"\\"+(30+parseInt(a[0],10))+" "+a.substring(1)} -function Bj(a,b){if(a.g==null)return b;switch(a.g){case 1:return b.slice(1);case 2:return b.slice(0,b.length-1);case 3:return b.slice(1,b.length-1);case 0:return b;default:throw Error("Unknown ignore mode: "+a.g);}} -function Cj(a,b){var c=[];try{c=b.querySelectorAll(a.u)}catch(d){}if(!c.length)return[];b=Na(c);b=Bj(a,b);typeof a.i==="number"&&(c=a.i,c<0&&(c+=b.length),b=c>=0&&c=0&&fc)return!1;ze(b)||(b=new Ae(b,{context:a,id:d}));q.google_js_errors=q.google_js_errors||[];q.google_js_errors.push(b);q.error_rep_loaded||(Qd(q.document,this.i),q.error_rep_loaded=!0);return!1}g(a,b){try{return b()}catch(c){if(!this.I(a,c,.01,"jserror"))throw c;}}u(a,b){return(...c)=>this.g(a,()=>b.apply(void 0,c))}ma(a,b){b.catch(c=>{c=c?c:"unknown rejection"; -this.I(a,c instanceof Error?c:Error(c),void 0)})}};function Fj(a,b){b=b.google_js_reporting_queue=b.google_js_reporting_queue||[];b.length<2048&&b.push(a)} -function Gj(a,b,c,d,e=!1){const f=d||window,g=typeof queueMicrotask!=="undefined";return function(...h){e&&g&&queueMicrotask(()=>{f.google_rum_task_id_counter=f.google_rum_task_id_counter||1;f.google_rum_task_id_counter+=1});const k=Je();let m,n=3;try{m=b.apply(this,h)}catch(l){n=13;if(!c)throw l;c(a,l)}finally{f.google_measure_js_timing&&k&&Fj({label:a.toString(),value:k,duration:(Je()||0)-k,type:n,...(e&&g&&{taskId:f.google_rum_task_id_counter=f.google_rum_task_id_counter||1})},f)}return m}} -function Hj(a,b){return Gj(a,b,(c,d)=>{(new Ej).I(c,d)},void 0,!1)};function Ij(a,b,c){return Gj(a,b,void 0,c,!0).apply()}function Jj(a){if(!a)return null;var b=C(a,7);if(C(a,1)||a.getId()||Uc(a,4).length>0){var c=a.getId(),d=C(a,1),e=Uc(a,4);b=Rc(a,2);var f=Rc(a,5);a=Kj(D(a,6));let g="";d&&(g+=d);c&&(g+="#"+Aj(c));if(e)for(c=0;c{switch(D(a,8)){case 1:case 2:if(a==null)var b=null;else b=A(a,N,1),b==null?b=null:(a=D(a,2),b=a==null?null:new zh({jb:[b],Eb:a}));return b!=null?qh(b):sh(Error("Missing dimension when creating placement id"));case 3:return sh(Error("Missing dimension when creating placement id"));default:return sh(Error("Invalid type: "+D(a,8)))}};var Qj=(a,b)=>{const c=[];let d=a;for(a=()=>{c.push({anchor:d.anchor,position:d.position});return d.anchor==b.anchor&&d.position==b.position};d;){switch(d.position){case 1:if(a())return c;d.position=2;case 2:if(a())return c;if(d.anchor.firstChild){d={anchor:d.anchor.firstChild,position:1};continue}else d.position=3;case 3:if(a())return c;d.position=4;case 4:if(a())return c}for(;d&&!d.anchor.nextSibling&&d.anchor.parentNode!=d.anchor.ownerDocument.body;){d={anchor:d.anchor.parentNode,position:3};if(a())return c; -d.position=4;if(a())return c}d&&d.anchor.nextSibling?d={anchor:d.anchor.nextSibling,position:1}:d=null}return c};function Rj(a,b){const c=new yh,d=new xh;b.forEach(e=>{if(Zc(e,nj,1,qj)){e=Zc(e,nj,1,qj);if(A(e,Kh,1)&&A(A(e,Kh,1),N,1)&&A(e,Kh,2)&&A(A(e,Kh,2),N,1)){const g=Sj(a,A(A(e,Kh,1),N,1)),h=Sj(a,A(A(e,Kh,2),N,1));if(g&&h)for(var f of Qj({anchor:g,position:D(A(e,Kh,1),2)},{anchor:h,position:D(A(e,Kh,2),2)}))c.set(ka(f.anchor),f.position)}A(e,Kh,3)&&A(A(e,Kh,3),N,1)&&(f=Sj(a,A(A(e,Kh,3),N,1)))&&c.set(ka(f),D(A(e,Kh,3),2))}else Zc(e,oj,2,qj)?Tj(a,Zc(e,oj,2,qj),c):Zc(e,mj,3,qj)&&Uj(a,Zc(e,mj,3,qj),d)});return new Vj(c, -d)}var Vj=class{constructor(a,b){this.i=a;this.g=b}};const Tj=(a,b,c)=>{A(b,Kh,2)?(b=A(b,Kh,2),(a=Sj(a,A(b,N,1)))&&c.set(ka(a),D(b,2))):A(b,N,1)&&(a=Wj(a,A(b,N,1)))&&a.forEach(d=>{d=ka(d);c.set(d,1);c.set(d,4);c.set(d,2);c.set(d,3)})},Uj=(a,b,c)=>{A(b,N,1)&&(a=Wj(a,A(b,N,1)))&&a.forEach(d=>{c.add(ka(d))})},Sj=(a,b)=>(a=Wj(a,b))&&a.length>0?a[0]:null,Wj=(a,b)=>(b=Jj(b))?Cj(b,a):null;function fg(){return"m202503260101"};var Xj=jd(cg);var eg=jd(gg);function Yj(a,b){return b(a)?a:void 0} -function Zj(a,b,c,d,e){c=c instanceof Ae?c.error:c;var f=new jg;const g=new ig;try{var h=he(window);bd(g,1,h)}catch(p){}try{var k=J(ah).g();Dc(g,2,k,Wb)}catch(p){}try{ed(g,3,window.document.URL)}catch(p){}h=Mc(f,2,g);k=new hg;b=gd(k,1,b);try{var m=wb(c?.name)?c.name:"Unknown error";ed(b,2,m)}catch(p){}try{var n=wb(c?.message)?c.message:`Caught ${c}`;ed(b,3,n)}catch(p){}try{var l=wb(c?.stack)?c.stack:Error().stack;l&&Dc(b,4,l.split(/\n\s*/),dc)}catch(p){}m=Nc(h,1,kg,b);if(e){n=0;switch(e.errSrc){case "LCC":n= -1;break;case "PVC":n=2}l=dg();b=Yj(e.shv,wb);l=ed(l,2,b);n=gd(l,6,n);l=Xj();l=pc(l);b=Yj(e.es,zb());l=Dc(l,1,b,Wb);l=qc(l);n=Mc(n,4,l);l=Yj(e.client,wb);n=dd(n,3,l);l=Yj(e.slotname,wb);n=ed(n,7,l);e=Yj(e.tag_origin,wb);e=ed(n,8,e);e=qc(e)}else e=qc(dg());e=Nc(m,6,lg,e);d=bd(e,5,d??1);ng(a,d)};let ak,bk=64;function ck(){try{return ak??(ak=new Uint32Array(64)),bk>=64&&(crypto.getRandomValues(ak),bk=0),ak[bk++]}catch(a){return Math.floor(Math.random()*2**32)}};var ek=class{constructor(){this.g=dk}};function dk(){return{Bb:ck()+(ck()&2**21-1)*2**32,qb:Number.MAX_SAFE_INTEGER}};var hk=class{constructor(a=!1){var b=fk;this.D=gk;this.B=a;this.G=b;this.i=null;this.j=this.I}J(a){this.j=a}A(a){this.i=a}Y(){}g(a,b,c){let d;try{d=b()}catch(e){b=this.B;try{b=this.j(a,Be(e),void 0,c)}catch(f){this.I(217,f)}if(b)window.console?.error?.(e);else throw e;}return d}u(a,b){return(...c)=>this.g(a,()=>b.apply(void 0,c))}ma(a,b){b.catch(c=>{c=c?c:"unknown rejection";this.I(a,c instanceof Error?c:Error(c),void 0,void 0)})}I(a,b,c,d){try{const g=c===void 0?1/this.G:c===0?0:1/c;var e=(new ek).g(); -if(g>0&&e.Bb*g<=e.qb){var f=this.D;c={};if(this.i)try{this.i(c)}catch(h){}if(d)try{d(c)}catch(h){}Zj(f,a,b,g,c)}}catch(g){}return this.B}};var U=class extends Error{constructor(a=""){super();this.name="TagError";this.message=a?"adsbygoogle.push() error: "+a:"";Error.captureStackTrace?Error.captureStackTrace(this,U):this.stack=Error().stack||""}};let gk,ik,jk,kk,fk;const lk=new Qe(q);function mk(a){a!=null&&(q.google_measure_js_timing=a);q.google_measure_js_timing||Pe(lk)}(function(a,b,c=!0){({Db:fk,tb:jk}=nk());ik=a||new ch;bh(ik,jk);gk=b||new wg(2,fg(),1E3);kk=new hk(c);q.document.readyState==="complete"?mk():lk.g&&qd(q,"load",()=>{mk()})})();function ok(a,b,c){return kk.g(a,b,c)}function pk(a,b){return kk.u(a,b)}function qk(a,b){kk.ma(a,b)}function rk(a,b,c=.01){const d=J(ah).g();!b.eid&&d.length&&(b.eid=d.toString());Ye(ik,a,b,!0,c)} -function sk(a,b,c=fk,d,e){return kk.I(a,b,c,d,e)}function tk(a,b,c=fk,d,e){return(ze(b)?b.msg||Ce(b.error):Ce(b)).indexOf("TagError")===0?((ze(b)?b.error:b).pbr=!0,!1):sk(a,b,c,d,e)}function nk(){let a,b;typeof q.google_srt==="number"?(b=q.google_srt,a=q.google_srt===0?1:.01):(b=Math.random(),a=.01);return{Db:a,tb:b}};var uk=class{constructor(){this.g=ge();this.i=0}};function vk(a,b,c){switch(c){case 2:case 3:break;case 1:case 4:b=b.parentElement;break;default:throw Error("Unknown RelativePosition: "+c);}for(c=[];b;){if(wk(b))return!0;if(a.g.has(b))break;c.push(b);b=b.parentElement}c.forEach(d=>a.g.add(d));return!1}function xk(a){a=yk(a);return a.has("all")||a.has("after")}function zk(a){a=yk(a);return a.has("all")||a.has("before")}function yk(a){return(a=a&&a.getAttribute("data-no-auto-ads"))?new Set(a.split("|")):new Set} -function wk(a){const b=yk(a);return a&&(a.tagName==="AUTO-ADS-EXCLUSION-AREA"||b.has("inside")||b.has("all"))}var Ak=class{constructor(){this.g=new Set;this.i=new uk}};function Bk(a,b){if(!a)return!1;a=Sd(a,b);if(!a)return!1;a=a.cssFloat||a.styleFloat;return a=="left"||a=="right"}function Ck(a){for(a=a.previousSibling;a&&a.nodeType!=1;)a=a.previousSibling;return a?a:null}function Dk(a){return!!a.nextSibling||!!a.parentNode&&Dk(a.parentNode)};function Ek(a=null){({googletag:a}=a??window);return a?.apiReady?a:void 0};function Fk(a){return{dc:Gk(a),fc:V(a,"body ins.adsbygoogle"),gb:Hk(a),hb:V(a,".google-auto-placed"),ib:Ik(a),rb:Kk(a),kc:Lk(a),uc:Mk(a),Ab:Nk(a),jc:V(a,"div.googlepublisherpluginad"),Lb:V(a,"html > ins.adsbygoogle")}}function Lk(a){return Ok(a)||V(a,"div[id^=div-gpt-ad]")}function Ok(a){const b=Ek(a);return b?Ia(Ja(b.pubads().getSlots(),c=>a.document.getElementById(c.getSlotElementId())),c=>c!=null):null}function V(a,b){return Na(a.document.querySelectorAll(b))} -function Ik(a){return V(a,"ins.adsbygoogle[data-anchor-status]")}function Hk(a){return V(a,"iframe[id^=aswift_],iframe[id^=google_ads_frame]")}function Mk(a){return V(a,"ins.adsbygoogle[data-ad-format=autorelaxed]")}function Kk(a){return Lk(a).concat(V(a,"iframe[id^=google_ads_iframe]"))} -function Nk(a){return V(a,"div.trc_related_container,div.OUTBRAIN,div[id^=rcjsload],div[id^=ligatusframe],div[id^=crt-],iframe[id^=cto_iframe],div[id^=yandex_], div[id^=Ya_sync],iframe[src*=adnxs],div.advertisement--appnexus,div[id^=apn-ad],div[id^=amzn-native-ad],iframe[src*=amazon-adsystem],iframe[id^=ox_],iframe[src*=openx],img[src*=openx],div[class*=adtech],div[id^=adtech],iframe[src*=adtech],div[data-content-ad-placement=true],div.wpcnt div[id^=atatags-]")} -function Gk(a){return V(a,"ins.adsbygoogle-ablated-ad-slot")}function Pk(a){const b=[];for(const c of a){a=!0;for(let d=0;d ins.adsbygoogle");let O=[].concat(...Hk(e),...V(e,"body ins.adsbygoogle"));f=[];for(const [Wc,fc]of[[h.mc, -k],[h.vb,m],[h.qc,n],[h.nc,p],[h.rc,v],[h.lc,u],[h.oc,x],[h.wb,K]])Wc===!1?f=f.concat(fc):O=O.concat(fc);h=Pk(O);f=Pk(f);h=h.slice(0);for(l of f)for(f=0;fe)){e=!0;break b}e=!1}e=e?g.eatfAbg=!0:!1;if(e)return!0;e=new xh([2]);for(g=0;g{Nj(a.g).exception=c}))}var Vk=class{constructor(a,b,c,d,e){this.g=a;this.J=b;this.j=c;this.A=e||null;(this.G=d)?(a=a.document,d=B(d,pj,5,z()),d=Rj(a,d)):d=Rj(a.document,[]);this.B=d;this.D=new Ak;this.i=0;this.u=!1}};function Rk(a){const b={};a&&Xc(a,6).forEach(c=>{b[c]=!0});return b} -function Sk(a,b){return a&&vc(a,Dh,4)&&b[D(A(a,Dh,4),2)]?!1:!0};var Wk=kd(class extends I{});function Xk(a){try{var b=a.localStorage.getItem("google_auto_fc_cmp_setting")||null}catch(d){b=null}const c=b;return c?th(()=>Wk(c)):qh(null)};function Yk(){if(Zk)return Zk;var a=se()||window;const b=a.google_persistent_state_async;return b!=null&&typeof b=="object"&&b.S!=null&&typeof b.S=="object"?Zk=b:a.google_persistent_state_async=Zk=new $k}function al(a){return bl[a]||`google_ps_${a}`}function cl(a,b,c){b=al(b);a=a.S;const d=a[b];return d===void 0?(a[b]=c(),a[b]):d}function dl(a,b,c){return cl(a,b,()=>c)}var $k=class{constructor(){this.S={}}},Zk=null;const bl={[8]:"google_prev_ad_formats_by_region",[9]:"google_prev_ad_slotnames_by_region"};function el(a){this.g=a||{cookie:""}} -el.prototype.set=function(a,b,c){let d,e,f,g=!1,h;typeof c==="object"&&(h=c.vc,g=c.wc||!1,f=c.domain||void 0,e=c.path||void 0,d=c.yb);if(/[;=\s]/.test(a))throw Error('Invalid cookie name "'+a+'"');if(/[;\r\n]/.test(b))throw Error('Invalid cookie value "'+b+'"');d===void 0&&(d=-1);this.g.cookie=a+"="+b+(f?";domain="+f:"")+(e?";path="+e:"")+(d<0?"":d==0?";expires="+(new Date(1970,1,1)).toUTCString():";expires="+(new Date(Date.now()+d*1E3)).toUTCString())+(g?";secure":"")+(h!=null?";samesite="+h:"")}; -el.prototype.get=function(a,b){const c=a+"=",d=(this.g.cookie||"").split(";");for(let e=0,f;e=0;c--)a=b[c],this.get(a),this.set(a,"",{yb:0,path:void 0,domain:void 0})};function fl(a,b=window){if(E(a,5))try{return b.localStorage}catch{}return null};function gl(a){var b=new hl;return uc(b,5,Qb(a))}var hl=class extends I{};function il(){this.A=this.A;this.i=this.i}il.prototype.A=!1;il.prototype.dispose=function(){this.A||(this.A=!0,this.D())};il.prototype[fa(Symbol,"dispose")]=function(){this.dispose()};function jl(a,b){a.A?b():(a.i||(a.i=[]),a.i.push(b))}il.prototype.D=function(){if(this.i)for(;this.i.length;)this.i.shift()()};function kl(a){a.addtlConsent!==void 0&&typeof a.addtlConsent!=="string"&&(a.addtlConsent=void 0);a.gdprApplies!==void 0&&typeof a.gdprApplies!=="boolean"&&(a.gdprApplies=void 0);return a.tcString!==void 0&&typeof a.tcString!=="string"||a.listenerId!==void 0&&typeof a.listenerId!=="number"?2:a.cmpStatus&&a.cmpStatus!=="error"?0:3} -function ll(a){if(a.gdprApplies===!1)return!0;a.internalErrorState===void 0&&(a.internalErrorState=kl(a));return a.cmpStatus==="error"||a.internalErrorState!==0?a.internalBlockOnErrors?(me({e:String(a.internalErrorState)},"tcfe"),!1):!0:a.cmpStatus!=="loaded"||a.eventStatus!=="tcloaded"&&a.eventStatus!=="useractioncomplete"?!1:!0} -function ml(a){if(a.g)return a.g;a:{let d=a.j;for(let e=0;e<50;++e){try{var b=!(!d.frames||!d.frames.__tcfapiLocator)}catch{b=!1}if(b){b=d;break a}b:{try{const f=d.parent;if(f&&f!=d){var c=f;break b}}catch{}c=null}if(!(d=c))break}b=null}a.g=b;return a.g}function nl(a,b,c,d){c||(c=()=>{});var e=a.j;typeof e.__tcfapi==="function"?(a=e.__tcfapi,a(b,2,c,d)):ml(a)?(ol(a),e=++a.Y,a.B[e]=c,a.g&&a.g.postMessage({__tcfapiCall:{command:b,version:2,callId:e,parameter:d}},"*")):c({},!1)} -function ol(a){if(!a.u){var b=c=>{try{var d=(typeof c.data==="string"?JSON.parse(c.data):c.data).__tcfapiReturn;a.B[d.callId](d.returnValue,d.success)}catch(e){}};a.u=b;qd(a.j,"message",b)}} -var pl=class extends il{constructor(a){var b={};super();this.g=null;this.B={};this.Y=0;this.u=null;this.j=a;this.J=b.ab??500;this.G=b.hc??!1}D(){this.B={};this.u&&(rd(this.j,"message",this.u),delete this.u);delete this.B;delete this.j;delete this.g;super.D()}addEventListener(a){let b={internalBlockOnErrors:this.G};const c=pd(()=>a(b));let d=0;this.J!==-1&&(d=setTimeout(()=>{b.tcString="tcunavailable";b.internalErrorState=1;c()},this.J));const e=(f,g)=>{clearTimeout(d);f?(b=f,b.internalErrorState= -kl(b),b.internalBlockOnErrors=this.G,g&&b.internalErrorState===0||(b.tcString="tcunavailable",g||(b.internalErrorState=3))):(b.tcString="tcunavailable",b.internalErrorState=3);a(b)};try{nl(this,"addEventListener",e)}catch(f){b.tcString="tcunavailable",b.internalErrorState=3,d&&(clearTimeout(d),d=0),c()}}removeEventListener(a){a&&a.listenerId&&nl(this,"removeEventListener",null,a.listenerId)}};var ul=({l:a,aa:b,ab:c,mb:d,ha:e=!1,ia:f=!1})=>{b=ql({l:a,aa:b,ha:e,ia:f});b.g!=null||b.i.message!="tcunav"?d(b):rl(a,c).then(g=>g.map(sl)).then(g=>g.map(h=>tl(a,h))).then(d)},ql=({l:a,aa:b,ha:c=!1,ia:d=!1})=>{if(!vl({l:a,aa:b,ha:c,ia:d}))return tl(a,gl(!0));b=Yk();return(b=dl(b,24))?tl(a,sl(b)):sh(Error("tcunav"))}; -function vl({l:a,aa:b,ha:c,ia:d}){if(d=!d)d=new pl(a),d=typeof d.j.__tcfapi==="function"||ml(d)!=null;if(!d){if(c=!c){if(b){a=Xk(a);if(a.g!=null)if((a=a.getValue())&&D(a,1)!=null)b:switch(a=H(a,1),a){case 1:a=!0;break b;default:throw Error("Unhandled AutoGdprFeatureStatus: "+a);}else a=!1;else sk(806,a.i),a=!1;b=!a}c=b}d=c}return d?!0:!1}function rl(a,b){return Promise.race([wl(),xl(a,b)])} -function wl(){return(new Promise(a=>{var b=Yk();a={resolve:a};const c=dl(b,25,[]);c.push(a);b.S[al(25)]=c})).then(yl)}function xl(a,b){return new Promise(c=>{a.setTimeout(c,b,sh(Error("tcto")))})}function yl(a){return a?qh(a):sh(Error("tcnull"))} -function sl(a){var b={};if(ll(a))if(a.gdprApplies===!1)a=!0;else if(a.tcString==="tcunavailable")a=!b.Ta;else if((b.Ta||a.gdprApplies!==void 0||b.ic)&&(b.Ta||typeof a.tcString==="string"&&a.tcString.length)){b:{if(a.publisher&&a.publisher.restrictions&&(b=a.publisher.restrictions["1"],b!==void 0)){b=b["755"];break b}b=void 0}b===0?a=!1:a.purpose&&a.vendor?(b=a.vendor.consents,(b=!(!b||!b["755"]))&&a.purposeOneTreatment&&a.publisherCC==="CH"?a=!0:(b&&(a=a.purpose.consents,b=!(!a||!a["1"])),a=b)):a= -!0}else a=!0;else a=!1;return gl(a)}function tl(a,b){return(a=fl(b,a))?qh(a):sh(Error("unav"))};var zl=class extends I{};var Al=class extends I{};var Bl=class extends I{g(){return A(this,Al,3)}};var Cl=class{constructor(a){this.exception=a}};function Dl(a,b){try{var c=a.i,d=c.resolve,e=a.g;Nj(e.g);B(e.j,Mh,1,z());d.call(c,new Cl(b))}catch(f){a.i.reject(f)}}var El=class{constructor(a,b,c){this.j=a;this.g=b;this.i=c}start(){this.u()}u(){try{switch(this.j.document.readyState){case "complete":case "interactive":Qk(this.g,!0);Dl(this);break;default:Qk(this.g,!1)?Dl(this):this.j.setTimeout(pa(this.u,this),100)}}catch(a){Dl(this,a)}}};var Fl=class extends I{getVersion(){return F(this,2)}};function Gl(a){return Qa(a.length%4!==0?a+"A":a).map(b=>b.toString(2).padStart(8,"0")).join("")}function Hl(a){if(!/^[0-1]+$/.test(a))throw Error(`Invalid input [${a}] not a bit string.`);return parseInt(a,2)}function Il(a){if(!/^[0-1]+$/.test(a))throw Error(`Invalid input [${a}] not a bit string.`);const b=[1,2,3,5];let c=0;for(let d=0;d -0)throw Error(`Found ${c} sections [${d}] but has remaining input [${e}], entire input [${b}]`);return Dc(a,3,d,Wb)}function Kl(a,b){const c=a.indexOf("11");if(c===-1)throw Error(`Expected section bitstring but not found in [${a}] part of [${b}]`);return a.slice(0,c+2)};var Ll="a".charCodeAt(),Ml=wd(gh),Nl=wd(hh);function Ol(){var a=new Pl;return bd(a,1,0)}function Ql(a){var b=Number;{var c=sc(a,1);const d=typeof c;c=c==null?c:d==="bigint"?String(Lb(64,c)):Tb(c)?d==="string"?$b(c):cc(c):void 0}b=b(c??"0");a=F(a,2);return new Date(b*1E3+a/1E6)}var Pl=class extends I{};function Rl(a,b){if(a.g+b>a.i.length)throw Error("Requested length "+b+" is past end of string.");const c=a.i.substring(a.g,a.g+b);a.g+=b;return parseInt(c,2)}function Sl(a){let b=Rl(a,12);const c=[];for(;b--;){var d=!!Rl(a,1)===!0,e=Rl(a,16);if(d)for(d=Rl(a,16);e<=d;e++)c.push(e);else c.push(e)}c.sort((f,g)=>f-g);return c}function Tl(a,b,c){const d=[];for(let e=0;e{if(c>b)throw Error(`ID ${c} is past MaxVendorId ${b}!`);}),a):Tl(a,b)}var Vl=class{constructor(a){if(/[^01]/.test(a))throw Error(`Input bitstring ${a} is malformed!`);this.i=a;this.g=0}skip(a){this.g+=a}};var Xl=(a,b)=>{try{var c=Qa(a.split(".")[0]).map(e=>e.toString(2).padStart(8,"0")).join("");const d=new Vl(c);c={};c.tcString=a;c.gdprApplies=b;d.skip(78);c.cmpId=Rl(d,12);c.cmpVersion=Rl(d,12);d.skip(30);c.tcfPolicyVersion=Rl(d,6);c.isServiceSpecific=!!Rl(d,1);c.useNonStandardStacks=!!Rl(d,1);c.specialFeatureOptins=Wl(Tl(d,12,Nl),Nl);c.purpose={consents:Wl(Tl(d,24,Ml),Ml),legitimateInterests:Wl(Tl(d,24,Ml),Ml)};c.purposeOneTreatment=!!Rl(d,1);c.publisherCC=String.fromCharCode(Ll+Rl(d,6))+String.fromCharCode(Ll+ -Rl(d,6));c.vendor={consents:Wl(Ul(d),null),legitimateInterests:Wl(Ul(d),null)};return c}catch(d){return null}};const Wl=(a,b)=>{const c={};if(Array.isArray(b)&&b.length!==0)for(const d of b)c[d]=a.indexOf(d)!==-1;else for(const d of a)c[d]=!0;delete c[0];return c};var Yl=class extends I{g(){return C(this,2)!=null}};var Zl=class extends I{g(){return C(this,2)!=null}};var $l=class extends I{};var am=kd(class extends I{});function bm(a){a=cm(a);try{var b=a?am(a):null}catch(c){b=null}return b?A(b,$l,4)||null:null}function cm(a){a=(new el(a)).get("FCCDCF","");if(a)if(a.startsWith("%"))try{var b=decodeURIComponent(a)}catch(c){b=null}else b=a;else b=null;return b};wd(gh).map(a=>Number(a));wd(hh).map(a=>Number(a));function dm(a){a.__tcfapiPostMessageReady||em(new fm(a))} -function em(a){a.g=b=>{const c=typeof b.data==="string";let d;try{d=c?JSON.parse(b.data):b.data}catch(f){return}const e=d.__tcfapiCall;e&&(e.command==="ping"||e.command==="addEventListener"||e.command==="removeEventListener")&&(0,a.l.__tcfapi)(e.command,e.version,(f,g)=>{const h={};h.__tcfapiReturn=e.command==="removeEventListener"?{success:f,callId:e.callId}:{returnValue:f,success:g,callId:e.callId};f=c?JSON.stringify(h):h;b.source&&typeof b.source.postMessage==="function"&&b.source.postMessage(f, -b.origin);return f},e.parameter)};a.l.addEventListener("message",a.g);a.l.__tcfapiPostMessageReady=!0}var fm=class{constructor(a){this.l=a}};function gm(a){a.__uspapiPostMessageReady||hm(new im(a))} -function hm(a){a.g=b=>{const c=typeof b.data==="string";let d;try{d=c?JSON.parse(b.data):b.data}catch(f){return}const e=d.__uspapiCall;e&&e.command==="getUSPData"&&a.l.__uspapi(e.command,e.version,(f,g)=>{const h={};h.__uspapiReturn={returnValue:f,success:g,callId:e.callId};f=c?JSON.stringify(h):h;b.source&&typeof b.source.postMessage==="function"&&b.source.postMessage(f,b.origin);return f})};a.l.addEventListener("message",a.g);a.l.__uspapiPostMessageReady=!0} -var im=class{constructor(a){this.l=a;this.g=null}};var jm=class extends I{};var km=kd(class extends I{g(){return C(this,1)!=null}});function lm(a,b){function c(l){if(l.length<10)return null;var p=h(l.slice(0,4));p=k(p);l=h(l.slice(6,10));l=m(l);return"1"+p+l+"N"}function d(l){if(l.length<10)return null;var p=h(l.slice(0,6));p=k(p);l=h(l.slice(6,10));l=m(l);return"1"+p+l+"N"}function e(l){if(l.length<12)return null;var p=h(l.slice(0,6));p=k(p);l=h(l.slice(8,12));l=m(l);return"1"+p+l+"N"}function f(l){if(l.length<18)return null;var p=h(l.slice(0,8));p=k(p);l=h(l.slice(12,18));l=m(l);return"1"+p+l+"N"}function g(l){if(l.length<10)return null; -var p=h(l.slice(0,6));p=k(p);l=h(l.slice(6,10));l=m(l);return"1"+p+l+"N"}function h(l){const p=[];let v=0;for(let u=0;up===1)?"Y":"N"}function m(l){return l.some(p=>p===1)?"Y":"N"}if(a.length===0)return null;a=a.split(".");if(a.length>2)return null;a=Gl(a[0]);const n=Hl(a.slice(0,6));a=a.slice(6);if(n!==1)return null;switch(b){case 8:return c(a);case 10:case 12:case 9:return d(a);case 11:return e(a);case 7:return f(a); -case 13:return g(a);default:return null}};function mm(a,b){const c=a.document,d=()=>{if(!a.frames[b])if(c.body){const e=Rd("IFRAME",c);e.style.display="none";e.style.width="0px";e.style.height="0px";e.style.border="none";e.style.zIndex="-1000";e.style.left="-1000px";e.style.top="-1000px";e.name=b;c.body.appendChild(e)}else a.setTimeout(d,5)};d()};function nm(a){if(a!=null)return om(a)}function om(a){return Db(a)?Number(a):String(a)};function pm(a){var b=R(zi);L!==L.top||L.__uspapi||L.frames.__uspapiLocator||(a=new qm(a,b),rm(a),sm(a))}function rm(a){!a.u||a.l.__uspapi||a.l.frames.__uspapiLocator||(a.l.__uspapiManager="fc",mm(a.l,"__uspapiLocator"),qa("__uspapi",(b,c,d)=>{typeof d==="function"&&b==="getUSPData"&&(b=a.i&&!E(a.j,3),d({version:1,uspString:b?"1---":a.u},!0))},a.l),gm(a.l))} -function sm(a){!a.tcString||a.l.__tcfapi||a.l.frames.__tcfapiLocator||(a.l.__tcfapiManager="fc",mm(a.l,"__tcfapiLocator"),a.l.__tcfapiEventListeners=a.l.__tcfapiEventListeners||[],qa("__tcfapi",(b,c,d,e)=>{if(typeof d==="function")if(c&&(c>2.2||c<=1))d(null,!1);else{var f=a.l.__tcfapiEventListeners;c=a.i&&!E(a.j,1);switch(b){case "ping":d({gdprApplies:!c,cmpLoaded:!0,cmpStatus:"loaded",displayStatus:"disabled",apiVersion:"2.2",cmpVersion:2,cmpId:300});break;case "addEventListener":e=f.push(d);b=!c; ---e;a.tcString?(b=Xl(a.tcString,b),b.addtlConsent=a.g!=null?a.g:void 0,b.cmpStatus="loaded",b.eventStatus="tcloaded",e!=null&&(b.listenerId=e)):b=null;d(b,!0);break;case "removeEventListener":e!==void 0&&f[e]?(f[e]=null,d(!0)):d(!1);break;case "getInAppTCData":case "getVendorList":d(null,!1);break;case "getTCData":d(null,!1)}}},a.l),dm(a.l))} -function tm(a){if(!a?.g()||G(a,1).length===0||B(a,jm,2,z()).length===0)return null;const b=G(a,1);let c;try{var d=Jl(b.split("~")[0]);c=b.includes("~")?b.split("~").slice(1):[]}catch(e){return null}a=B(a,jm,2,z()).reduce((e,f)=>om(Sc(um(e),1))>om(Sc(um(f),1))?e:f);d=xc(d,3,Xb,z()).indexOf(F(a,1));return d===-1||d>=c.length?null:{uspString:lm(c[d],F(a,1)),ua:Ql(um(a))}}function vm(a){a=a.find(b=>b&&H(b,1)===13);if(a?.g())try{return km(G(a,2))}catch(b){}return null} -function um(a){return vc(a,Pl,2)?A(a,Pl,2):Ol()} -var qm=class{constructor(a,b){var c=L;this.l=c;this.j=a;this.i=b;a=cm(this.l.document);try{var d=a?am(a):null}catch(e){d=null}(a=d)?(d=A(a,Zl,5)||null,a=B(a,Yl,7,z()),a=vm(a??[]),d={Qa:d,Sa:a}):d={Qa:null,Sa:null};a=d;d=tm(a.Sa);a=a.Qa;a?.g()&&G(a,2).length!==0?(b=vc(a,Pl,1)?A(a,Pl,1):Ol(),a={uspString:G(a,2),ua:Ql(b)}):a=null;this.u=a&&d?d.ua>a.ua?d.uspString:a.uspString:a?a.uspString:d?d.uspString:null;this.tcString=(d=bm(c.document))&&C(d,1)!=null?G(d,1):null;this.g=(c=bm(c.document))&&C(c,2)!= -null?G(c,2):null}};const wm={google_ad_channel:!0,google_ad_host:!0};function xm(a,b){a.location.href&&a.location.href.substring&&(b.url=a.location.href.substring(0,200));rk("ama",b,.01)}function ym(a){const b={};Ud(wm,(c,d)=>{d in a&&(b[d]=a[d])});return b};function zm(a){const b=/[a-zA-Z0-9._~-]/,c=/%[89a-zA-Z]./;return a.replace(/(%[a-zA-Z0-9]{2})/g,d=>{if(!d.match(c)){const e=decodeURIComponent(d);if(e.match(b))return e}return d.toUpperCase()})}function Am(a){let b="";const c=/[/%?&=]/;for(let d=0;d{if(vc(e,lj,7)){var f=A(e,lj,7);f=Yb(sc(f,1))}else f=Yb(sc(e,1));e=vc(e,lj,7)?D(A(e,lj,7),2):2;if(typeof f!=="number")return!1;switch(e){case 1:return f==c;case 2:return d[f]||!1}return!1})||null} -function Dm(a){const b={};for(;;){b[Vd(a)]=!0;if(!a)return b;a=a.substring(0,a.lastIndexOf("/"))}};let Em=void 0;function W(a){return a.google_ad_modifications=a.google_ad_modifications||{}}function Fm(a){a=W(a);const b=a.space_collapsing||"none";return a.remove_ads_by_default?{Oa:!0,Jb:b,sa:a.ablation_viewport_offset}:null}function Gm(a){a=W(a);a.had_ads_ablation=!0;a.remove_ads_by_default=!0;a.space_collapsing="slot";a.ablation_viewport_offset=1}function Hm(a){W(L).allow_second_reactive_tag=a}function Im(){const a=W(window);a.afg_slotcar_vars||(a.afg_slotcar_vars={});return a.afg_slotcar_vars};function Jm(a){return W(a)?.head_tag_slot_vars?.google_ad_host??Km(a)}function Km(a){return a.document?.querySelector('meta[name="google-adsense-platform-account"]')?.getAttribute("content")??null};const Lm=[2,7,1];function Mm(a,b,c="",d=null){return b===1&&d&&(Nm(a,c,d)?.A()??!1)?!0:Om(a,c,e=>Ka(B(e,ld,2,z()),f=>D(f,1)===b))}function Pm(a){const b=Pd(L)||L;return Qm(b,a)?!0:Om(L,"",c=>Ka(Xc(c,3),d=>d===a))}function Qm(a,b){a=(a=(a=a.location&&a.location.hash)&&a.match(/forced_clientside_labs=([\d,]+)/))&&a[1];return!!a&&Ma(a.split(","),b.toString())} -function Om(a,b,c){a=Pd(a)||a;const d=Rm(a);b&&(b=ye(String(b)));return vd(d,(e,f)=>Object.prototype.hasOwnProperty.call(d,f)&&(!b||b===f)&&c(e))}function Rm(a){rb(Em,ub);a=Sm(a);const b={};Ud(a,(c,d)=>{try{const e=id(md,mc(c));b[d]=e}catch(e){}});return b}function Sm(a){a=ql({l:a,aa:Em});return a.g!=null?Tm(a.getValue()):{}} -function Tm(a){try{const b=a.getItem("google_adsense_settings");if(!b)return{};const c=JSON.parse(b);return c!==Object(c)?{}:ud(c,(d,e)=>Object.prototype.hasOwnProperty.call(c,e)&&typeof e==="string"&&Array.isArray(d))}catch(b){return{}}} -function Um(a,b){if(Jm(q))return Lm;if(R(Di))return(a=Nm(q,a,b)?.B())?[...Xc(a,3)]:Lm;if(b?.j()){const c=G(b.g(),9);b=b?.g()?.g()?.g();return a&&c===a&&b?[...Xc(b,3)]:Lm}return b?.u()&&b?.i()?.g()===a&&G(b,17)===q.location.host?(a=b?.i()?.i()?.g()?.g())?[...Xc(a,3)]:Lm:Lm}function Vm(a,b){const c=[];a=Um(a,b);a.includes(1)||c.push(1);a.includes(2)||c.push(2);a.includes(7)||c.push(7);return c} -function Nm(a,b,c){if(!b)return null;const d=Wm(c)?.u();a=Wm(c)?.g()?.g()===b&&a.location.host&&G(c,17)===a.location.host;return d===b||a?Wm(c):null};function Xm(a,b,c,d){Ym(new Zm(a,b,c,d))}function Ym(a){wh(vh(ql({l:a.l,aa:E(a.g,6)}),b=>{$m(a,b,!0)}),()=>{an(a)})}function $m(a,b,c){wh(vh(bn(b),d=>{cn("ok");a.i(d,{fromLocalStorage:!0})}),()=>{var d=a.l;try{b.removeItem("google_ama_config")}catch(e){xm(d,{lserr:1})}c?an(a):a.i(null,null)})}function an(a){wh(vh(dn(a),b=>{a.i(b,{fromPABGSettings:!0})}),()=>{en(a)})} -function bn(a){if(R(gi))var b=null;else try{b=a.getItem("google_ama_config")}catch(d){b=null}try{var c=b?xj(b):null}catch(d){c=null}return(a=(a=c)?(nm(A(a,kj,3)?.g())??0)>Date.now()?a:null:null)?qh(a):sh(Error("invlocst"))}function dn(a){if(Jm(a.l)&&!E(a.g,22))return sh(Error("invtag"));if(a=(a=Nm(a.l,a.j,a.g)?.j())&&B(a,Mh,1,z()).length>0?a:null){var b=new wj;var c=B(a,Mh,1,z());b=Oc(b,1,c);a=B(a,rj,2,z());a=Oc(b,7,a);a=qh(a)}else a=sh(Error("invtag"));return a} -function en(a){ul({l:a.l,aa:E(a.g,6),ab:50,mb:b=>{fn(a,b)}})}function fn(a,b){wh(vh(b,c=>{$m(a,c,!1)}),c=>{cn(c.message);a.i(null,null)})}function cn(a){rk("abg::amalserr",{status:a,guarding:"true",timeout:50,rate:.01},.01)}class Zm{constructor(a,b,c,d){this.l=a;this.g=b;this.j=c;this.i=d}};function gn(a,b,c,d){var e=hn;try{const f=Cm(a,B(c,rj,7,z()));if(f&&Bm(f)){if(C(f,4)??void 0){const h=new Fh(null,{google_package:C(f,4)??void 0});d=Eh(d,h)}const g=e(a,b,c,f,d);Ij(1E3,()=>{const h=new lh;(new El(a,g,h)).start();return h.i},a).then(()=>{xm(a,{atf:1})},h=>{(a.google_ama_state=a.google_ama_state||{}).exception=h;xm(a,{atf:0})})}}catch(f){xm(a,{atf:-1})}}function hn(a,b,c,d,e){return new Vk(a,b,c,d,e)};function jn(a){return a.length?a.join("~"):void 0};function kn(a,b){if(!a)return!1;a=a.hash;if(!a||!a.indexOf)return!1;if(a.indexOf(b)!=-1)return!0;b=ln(b);return b!="go"&&a.indexOf(b)!=-1?!0:!1}function ln(a){let b="";Ud(a.split("_"),c=>{b+=c.substr(0,2)});return b};var mn=class extends I{};var nn=class extends I{g(){return G(this,3)}i(){return Rb(sc(this,4))!=null}};var on=class extends I{g(){return Lc(this,nn,1)}};function pn(a){const b=new on;var c=new nn;var d=F(a,1);c=$c(c,1,d);d=F(a,18);c=$c(c,2,d);d=G(a,2);c=dd(c,3,d);d=E(a,6);c=uc(c,4,Qb(d));d=E(a,20);c=uc(c,5,Qb(d));d=E(a,9);c=uc(c,6,Qb(d));d=E(a,25);c=uc(c,7,Qb(d));d=G(a,8);c=dd(c,8,d);d=G(a,3);c=dd(c,9,d);a=A(a,mn,26);a=Mc(c,10,a);Mc(b,1,a);return b};function qn(){const a={};J(ee).g(ci.g,ci.defaultValue)&&(a.bust=J(ee).g(ci.g,ci.defaultValue));return a};class rn{constructor(){this.promise=new Promise((a,b)=>{this.resolve=a;this.reject=b})}};function sn(){const {promise:a,resolve:b}=new rn;return{promise:a,resolve:b}};function tn(a=()=>{}){q.google_llp||(q.google_llp={});const b=q.google_llp;let c=b[7];if(c)return c;c=sn();b[7]=c;a();return c}function un(a){return tn(()=>{Qd(q.document,a)}).promise};Array.from({length:11},(a,b)=>b/10);function vn(a){a.google_reactive_ads_global_state?(a.google_reactive_ads_global_state.sideRailProcessedFixedElements==null&&(a.google_reactive_ads_global_state.sideRailProcessedFixedElements=new Set),a.google_reactive_ads_global_state.sideRailAvailableSpace==null&&(a.google_reactive_ads_global_state.sideRailAvailableSpace=new Map),a.google_reactive_ads_global_state.sideRailPlasParam==null&&(a.google_reactive_ads_global_state.sideRailPlasParam=new Map),a.google_reactive_ads_global_state.sideRailMutationCallbacks== -null&&(a.google_reactive_ads_global_state.sideRailMutationCallbacks=[])):a.google_reactive_ads_global_state=new wn;return a.google_reactive_ads_global_state} -var wn=class{constructor(){this.wasPlaTagProcessed=!1;this.wasReactiveAdConfigReceived={};this.adCount={};this.wasReactiveAdVisible={};this.stateForType={};this.reactiveTypeEnabledInAsfe={};this.wasReactiveTagRequestSent=!1;this.reactiveTypeDisabledByPublisher={};this.tagSpecificState={};this.messageValidationEnabled=!1;this.floatingAdsStacking=new xn;this.sideRailProcessedFixedElements=new Set;this.sideRailAvailableSpace=new Map;this.sideRailPlasParam=new Map;this.sideRailMutationCallbacks=[];this.clickTriggeredInterstitialMayBeDisplayed= -!1}},xn=class{constructor(){this.maxZIndexRestrictions={};this.nextRestrictionId=0;this.maxZIndexListeners=[]}};var yn=a=>{if(q.google_apltlad||a.google_ad_intent_query)return null;var b=a.google_loader_used!=="sd"&&R(ji)&&(q.top==q?0:Od(q.top)?1:2)===1;if(q!==q.top&&!b||!a.google_ad_client)return null;q.google_apltlad=!0;b={enable_page_level_ads:{pltais:!0},google_ad_client:a.google_ad_client};const c=b.enable_page_level_ads;Ud(a,(d,e)=>{gj[e]&&e!=="google_ad_client"&&(c[e]=d)});c.google_pgb_reactive=7;c.asro=R(ui);c.aihb=R(ki);c.ailel=jn(Hi(si));c.aiael=jn(Hi(mi));c.aicel=jn(Hi(oi));c.aifxl=jn(Hi(pi));c.aiixl= -jn(Hi(qi));S(wi)&&(c.aiapm=S(wi));S(xi)&&(c.aiapmi=S(xi));S(li)&&(c.aiact=S(li));S(ni)&&(c.aicct=S(ni));S(ri)&&(c.ailct=S(ri));c.aiof=jn(Hi(ti));if("google_ad_section"in a||"google_ad_region"in a)c.google_ad_section=a.google_ad_section||a.google_ad_region;return b};function zn(a,b){W(L).ama_ran_on_page||Ij(1001,()=>{An(new Bn(a,b))},q)}function An(a){Xm(a.l,a.i,a.g.google_ad_client||"",(b,c)=>{var d=a.l,e=a.g;W(L).ama_ran_on_page||b&&Cn(d,e,b,c)})}class Bn{constructor(a,b){this.l=q;this.g=a;this.i=b}} -function Cn(a,b,c,d){d&&(Nj(a).configSourceInAbg=d);vc(c,vj,24)&&(d=Oj(a),d.availableAbg=!0,d.ablationFromStorage=!!A(c,vj,24)?.g()?.g());if(ja(b.enable_page_level_ads)&&b.enable_page_level_ads.google_pgb_reactive===7){if(!Cm(a,B(c,rj,7,z()))){rk("amaait",{value:"true"});return}rk("amaait",{value:"false"})}W(L).ama_ran_on_page=!0;A(c,jj,15)?.g()&&(W(a).enable_overlap_observer=!0);A(c,vj,24)?.g()?.g()&&(Oj(a).ablatingThisPageview=!0,Gm(a));pe(3,[w(c)]);const e=b.google_ad_client||"";b=ym(ja(b.enable_page_level_ads)? -b.enable_page_level_ads:{});const f=Eh(Ih,new Fh(null,b));ok(782,()=>{gn(a,e,c,f)})};function Dn(a,b){a=a.document;for(var c=void 0,d=0;!c||a.getElementById(c+"_host");)c="aswift_"+d++;a=c;c=Number(b.google_ad_width||0);b=Number(b.google_ad_height||0);d=document.createElement("div");d.id=a+"_host";const e=d.style;e.border="none";e.height=`${b}px`;e.width=`${c}px`;e.margin="0px";e.padding="0px";e.position="relative";e.visibility="visible";e.backgroundColor="transparent";e.display="inline-block";return{ub:a,Mb:d}};function En({ta:a,za:b}){return a||(b==="dev"?"dev":"")};function Fn(a){return a.google_ad_client?String(a.google_ad_client):W(a).head_tag_slot_vars?.google_ad_client??a.document.querySelector(".adsbygoogle[data-ad-client]")?.getAttribute("data-ad-client")??""};var Gn={"120x90":!0,"160x90":!0,"180x90":!0,"200x90":!0,"468x15":!0,"728x15":!0};function Hn(a,b){if(b==15){if(a>=728)return 728;if(a>=468)return 468}else if(b==90){if(a>=200)return 200;if(a>=180)return 180;if(a>=160)return 160;if(a>=120)return 120}return null};var In=class extends I{getVersion(){return G(this,2)}};function Jn(a,b){return dd(a,2,b)}function Kn(a,b){return dd(a,3,b)}function Ln(a,b){return dd(a,4,b)}function Mn(a,b){return dd(a,5,b)}function Nn(a,b){return dd(a,9,b)}function On(a,b){return Oc(a,10,b)}function Pn(a,b){return uc(a,11,Qb(b))}function Qn(a,b){return dd(a,1,b)}function Rn(a,b){return uc(a,7,Qb(b))}var Sn=class extends I{};const Tn="platform platformVersion architecture model uaFullVersion bitness fullVersionList wow64".split(" ");function Un(){var a=L;if(typeof a.navigator?.userAgentData?.getHighEntropyValues!=="function")return null;const b=a.google_tag_data??(a.google_tag_data={});if(b.uach_promise)return b.uach_promise;a=a.navigator.userAgentData.getHighEntropyValues(Tn).then(c=>{b.uach??(b.uach=c);return c});return b.uach_promise=a} -function Vn(a){return Pn(On(Mn(Jn(Qn(Ln(Rn(Nn(Kn(new Sn,a.architecture||""),a.bitness||""),a.mobile||!1),a.model||""),a.platform||""),a.platformVersion||""),a.uaFullVersion||""),a.fullVersionList?.map(b=>{var c=new In;c=dd(c,1,b.brand);return dd(c,2,b.version)})||[]),a.wow64||!1)}function Wn(){return Un()?.then(a=>Vn(a))??null};function Xn(a,b){b.google_ad_host||(a=Km(a))&&(b.google_ad_host=a)}function Yn(a,b,c=""){L.google_sa_queue||(L.google_sa_queue=[],L.google_process_slots=pk(215,()=>{Zn(L.google_sa_queue)}),a=$n(c,a,b),Qd(L.document,a))}function Zn(a){const b=a.shift();typeof b==="function"&&ok(216,b);a.length&&q.setTimeout(pk(215,()=>{Zn(a)}),0)}function ao(a,b){a.google_sa_queue=a.google_sa_queue||[];a.google_sa_impl?b():a.google_sa_queue.push(b)} -function $n(a,b,c){var d=L;b=E(c,4)?b.Fb:b.Gb;a:{if(E(c,4)){if(a=a||Fn(d)){b:{try{for(;d;){if(d.location?.hostname){var e=d.location.hostname;break b}d=d.parent}}catch(f){}e=""}e={client:ye(a),plah:e};break a}throw Error("PublisherCodeNotFoundForAma");}e={}}e={...e,...qn()};d=S(Ai);!E(c,4)&&[0,1].includes(d)&&(e.osttc=`${d}`);return Md(b,new Map(Object.entries(e)))} -function bo(a,b,c,d){const {ub:e,Mb:f}=Dn(a,b);c.appendChild(f);co(a,c,b);c=b.google_start_time??fh;const g=(new Date).getTime();b.google_lrv=En({ta:fg(),za:G(d,2)});b.google_async_iframe_id=e;b.google_start_time=c;b.google_bpp=g>c?g-c:1;a.google_sv_map=a.google_sv_map||{};a.google_sv_map[e]=b;ao(a,()=>{var h=f;if(!h||!h.isConnected)if(h=a.document.getElementById(String(b.google_async_iframe_id)+"_host"),h==null)throw Error("no_div");(h=a.google_sa_impl({pubWin:a,vars:b,innerInsElement:h}))&&qk(911, -h)})} -function co(a,b,c){var d=c.google_ad_output,e=c.google_ad_format,f=c.google_ad_width||0,g=c.google_ad_height||0;e||d!=="html"&&d!=null||(e=`${f}x${g}`);R(Fi)&&(c.google_reactive_ad_format===10?e="interstitial":c.google_reactive_ad_format===11&&(e="rewarded"));d=!c.google_ad_slot||c.google_override_format||!Gn[c.google_ad_width+"x"+c.google_ad_height]&&c.google_loader_used==="aa";e=e&&d?e.toLowerCase():"";c.google_ad_format=e;if(typeof c.google_reactive_sra_index!=="number"||!c.google_ad_unit_key){e=[c.google_ad_slot, -c.google_orig_ad_format||c.google_ad_format,c.google_ad_type,c.google_orig_ad_width||c.google_ad_width,c.google_orig_ad_height||c.google_ad_height];d=[];f=0;for(g=b;g&&f<25;g=g.parentNode,++f)g.nodeType===9?d.push(""):d.push(g.id);(d=d.join())&&e.push(d);c.google_ad_unit_key=Vd(e.join(":")).toString();e=[];for(d=0;b&&d<25;++d){f=(f=b.nodeType!==9&&b.id)?"/"+f:"";a:{if(b&&b.nodeName&&b.parentElement){g=b.nodeName.toString().toLowerCase();const h=b.parentElement.childNodes;let k=0;for(let m=0;m{L.google_user_agent_client_hint=JSON.stringify(w(b))});de()};var go=class{constructor(a,b){this.g=a;this.u=b}height(){return this.u}i(a){return a>S(fi)&&this.u>300?this.g:Math.min(1200,Math.round(a))}j(){}};function ho(a){return b=>!!(b.Z()&a)}var Y=class extends go{constructor(a,b,c,d=!1){super(a,b);this.B=c;this.A=d}Z(){return this.B}j(a,b,c){c.style.height=`${this.height()}px`;b.rpe=!0}};const io={image_stacked:1/1.91,image_sidebyside:1/3.82,mobile_banner_image_sidebyside:1/3.82,pub_control_image_stacked:1/1.91,pub_control_image_sidebyside:1/3.82,pub_control_image_card_stacked:1/1.91,pub_control_image_card_sidebyside:1/3.74,pub_control_text:0,pub_control_text_card:0},jo={image_stacked:80,image_sidebyside:0,mobile_banner_image_sidebyside:0,pub_control_image_stacked:80,pub_control_image_sidebyside:0,pub_control_image_card_stacked:85,pub_control_image_card_sidebyside:0,pub_control_text:80, -pub_control_text_card:80},ko={pub_control_image_stacked:100,pub_control_image_sidebyside:200,pub_control_image_card_stacked:150,pub_control_image_card_sidebyside:250,pub_control_text:100,pub_control_text_card:150}; -function lo(a){var b=0;a.R&&b++;a.K&&b++;a.L&&b++;if(b<3)return{X:"Tags data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num should be set together."};b=a.R.split(",");const c=a.L.split(",");a=a.K.split(",");if(b.length!==c.length||b.length!==a.length)return{X:'Lengths of parameters data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num must match. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside"'}; -if(b.length>2)return{X:"The parameter length of attribute data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num is too long. At most 2 parameters for each attribute are needed: one for mobile and one for desktop, while "+`you are providing ${b.length} parameters. Example: ${'\n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside"'}.`};const d=[],e=[];for(let g=0;g< -b.length;g++){var f=Number(c[g]);if(Number.isNaN(f)||f===0)return{X:`Wrong value '${c[g]}' for ${"data-matched-content-rows-num"}.`};d.push(f);f=Number(a[g]);if(Number.isNaN(f)||f===0)return{X:`Wrong value '${a[g]}' for ${"data-matched-content-columns-num"}.`};e.push(f)}return{L:d,K:e,Va:b}} -function mo(a){return a>=1200?{width:1200,height:600}:a>=850?{width:a,height:Math.floor(a*.5)}:a>=550?{width:a,height:Math.floor(a*.6)}:a>=468?{width:a,height:Math.floor(a*.7)}:{width:a,height:Math.floor(a*3.44)}}function no(a,b,c,d){b=Math.floor(((a-8*b-8)/b*io[d]+jo[d])*c+8*c+8);return a>1500?{width:0,height:0,Hb:`Calculated slot width is too large: ${a}`}:b>1500?{width:0,height:0,Hb:`Calculated slot height is too large: ${b}`}:{width:a,height:b}} -function oo(a,b){const c=a-8-8;--b;return{width:a,height:Math.floor(c/1.91+70)+Math.floor((c*io.mobile_banner_image_sidebyside+jo.mobile_banner_image_sidebyside)*b+8*b+8)}};const po=Oa("script");var qo=class{constructor(a,b,c=null,d=null,e=null,f=null,g=null,h=null,k=null,m=null,n=null,l=null){this.D=a;this.V=b;this.Z=c;this.g=d;this.G=e;this.F=f;this.P=g;this.u=h;this.A=k;this.i=m;this.j=n;this.B=l}size(){return this.V}};const ro=["google_content_recommendation_ui_type","google_content_recommendation_columns_num","google_content_recommendation_rows_num"];var so=class extends go{i(a){return Math.min(1200,Math.max(this.g,Math.round(a)))}}; -function to(a,b){uo(a,b);if(b.google_content_recommendation_ui_type==="pedestal")return new qo(9,new so(a,Math.floor(a*b.google_phwr)));if(R(Th)){var c=sd();var d=S(Uh);var e=S(Sh),f=S(Rh);a<468?c?(a=oo(a,d),d={W:a.width,U:a.height,K:1,L:d,R:"mobile_banner_image_sidebyside"}):(a=no(a,1,d,"image_sidebyside"),d={W:a.width,U:a.height,K:1,L:d,R:"image_sidebyside"}):(d=mo(a),e===1&&(d.height=Math.floor(d.height*.5)),d={W:d.width,U:d.height,K:f,L:e,R:"image_stacked"})}else d=sd(),a<468?d?(d=oo(a,12),d= -{W:d.width,U:d.height,K:1,L:12,R:"mobile_banner_image_sidebyside"}):(d=mo(a),d={W:d.width,U:d.height,K:1,L:13,R:"image_sidebyside"}):(d=mo(a),d={W:d.width,U:d.height,K:4,L:2,R:"image_stacked"});vo(b,d);return new qo(9,new so(d.W,d.U))} -function wo(a,b){uo(a,b);{const f=lo({L:b.google_content_recommendation_rows_num,K:b.google_content_recommendation_columns_num,R:b.google_content_recommendation_ui_type});if(f.X)a={W:0,U:0,K:0,L:0,R:"image_stacked",X:f.X};else{var c=f.Va.length===2&&a>=468?1:0;var d=f.Va[c];d=d.indexOf("pub_control_")===0?d:"pub_control_"+d;var e=ko[d];let g=f.K[c];for(;a/g1;)g--;e=g;c=f.L[c];a=no(a,e,c,d);a={W:a.width,U:a.height,K:e,L:c,R:d}}}if(a.X)throw new U(a.X);vo(b,a);return new qo(9,new so(a.W,a.U))} -function uo(a,b){if(a<=0)throw new U(`Invalid responsive width from Matched Content slot ${b.google_ad_slot}: ${a}. Please ensure to put this Matched Content slot into a non-zero width div container.`);}function vo(a,b){a.google_content_recommendation_ui_type=b.R;a.google_content_recommendation_columns_num=b.K;a.google_content_recommendation_rows_num=b.L};var xo=class extends go{i(){return this.g}j(a,b,c){Yi(a,c);c.style.height=`${this.height()}px`;b.rpe=!0}};const yo={"image-top":a=>a<=600?284+(a-250)*.414:429,"image-middle":a=>a<=500?196-(a-250)*.13:164+(a-500)*.2,"image-side":a=>a<=500?205-(a-250)*.28:134+(a-500)*.21,"text-only":a=>a<=500?187-.228*(a-250):130,"in-article":a=>a<=420?a/1.2:a<=460?a/1.91+130:a<=800?a/4:200};var zo=class extends go{i(){return Math.min(1200,this.g)}}; -function Ao(a,b,c,d,e){var f=e.google_ad_layout||"image-top";if(f==="in-article"){var g=a;if(e.google_full_width_responsive==="false")a=g;else if(a=Ti(b,c,g,S(Yh),e),a!==!0)e.gfwrnwer=a,a=g;else if(a=T(b))if(e.google_full_width_responsive_allowed=!0,c.parentElement){b:{g=c;for(let h=0;h<100&&g.parentElement;++h){const k=g.parentElement.childNodes;for(let m=0;m1200)throw new U("Fluid responsive ads must be at most 1200px tall: "+`height=${f}`);return new qo(11,new go(a,f))}d=yo[f];if(!d)throw new U("Invalid data-ad-layout value: "+f);c=dj(c,b);b=T(b);b=f!=="in-article"||c||a!==b?Math.ceil(d(a)):Math.ceil(d(a)*1.25);return new qo(11, -f==="in-article"?new zo(a,b):new go(a,b))};function Bo(a){return b=>{for(let c=a.length-1;c>=0;--c)if(!a[c](b))return!1;return!0}}function Co(a,b){var c=Do.slice(0);const d=c.length;let e=null;for(let f=0;fEo(a,b,c,d,e));var h=g===!0;const k=Zd(d.style.width),m=Zd(d.style.height),{V:n,P:l,Z:p,Ua:v}=Ho(f,b,c,d,e,h);h=Io(b,p);var u;const x=(u=Zi(d,c,"marginLeft"))?`${u}px`:"",K=(u=Zi(d,c,"marginRight"))?`${u}px`:"";u=aj(d,c)||"";return new qo(h,n,p,null,v,g,l,x,K,m,k,u)}function Fo(a){return a==="auto"||/^((^|,) *(horizontal|vertical|rectangle) *)+$/.test(a)} -function Ho(a,b,c,d,e,f){b=Jo(c,a,b);let g;var h=!1;let k=!1;var m=T(c)<488;if(m){g=Oi(d,c);var n=dj(d,c);h=!n&&g;k=n&&g}n=[bj(a),ho(b)];R(di)||n.push(cj(m,c,d,k));e.google_max_responsive_height!=null&&n.push(ej(e.google_max_responsive_height));m=[u=>!u.A];if(h||k)h=fj(c,d),m.push(ej(h));const l=Co(Bo(n),Bo(m));if(!l)throw new U(`No slot size for availableWidth=${a}`);const {V:p,P:v}=ok(248,()=>{var u;a:if(f){if(e.gfwrnh&&(u=Zd(e.gfwrnh))){u={V:new xo(a,u),P:!0};break a}u=S($h);u=u>0?a/u:a/1.2;if(e.google_resizing_allowed|| -e.google_full_width_responsive==="true")var x=Infinity;else{x=d;let O=Infinity;do{var K=Zi(x,c,"height");K&&(O=Math.min(O,K));(K=Zi(x,c,"maxHeight"))&&(O=Math.min(O,K))}while(x.parentElement&&(x=x.parentElement)&&x.tagName!=="HTML");x=O}!(R(bi)&&x<=u*2)&&(x=Math.min(u,x),xa*d.height()?new Y(b.g,b.height(),1):d} -function Ko(a){return R(Qh)||a.location&&a.location.hash==="#hffwroe2etoq"};function Mo(a,b,c,d,e){var f;(f=T(b))?T(b)<488?b.innerHeight>=b.innerWidth?(e.google_full_width_responsive_allowed=!0,Yi(b,c),f={H:f,F:!0}):f={H:a,F:5}:f={H:a,F:4}:f={H:a,F:10};const {H:g,F:h}=f;if(h!==!0||a===g)return new qo(12,new go(a,d),null,null,!0,h,100);const {V:k,P:m,Z:n}=Ho(g,"auto",b,c,e,!0);return new qo(1,k,n,2,!0,h,m)};function No(a,b){var c=b.google_ad_format;if(c==="autorelaxed"){a:{if(b.google_content_recommendation_ui_type!=="pedestal")for(const d of ro)if(b[d]!=null){a=!0;break a}a=!1}return a?9:5}if(Fo(c))return 1;if(c==="link")return 4;if(c==="fluid"){if(c=b.google_ad_layout==="in-article")c=R(Wh)||a.location&&(a.location.hash==="#hffwroe2etop"||a.location.hash==="#hffwroe2etoq");return c?(Oo(b),1):8}if(b.google_reactive_ad_format===27)return Oo(b),1} -function Po(a,b,c,d,e=!1){var f=b.offsetWidth||(c.google_ad_resize||e)&&Zi(b,d,"width")||c.google_ad_width||0;a===4&&(c.google_ad_format="auto",a=1);e=(e=Qo(a,f,b,c,d))?e:Go(f,c.google_ad_format,d,b,c);e.size().j(d,c,b);e.Z!=null&&(c.google_responsive_formats=e.Z);e.G!=null&&(c.google_safe_for_responsive_override=e.G);e.F!=null&&(e.F===!0?c.google_full_width_responsive_allowed=!0:(c.google_full_width_responsive_allowed=!1,c.gfwrnwer=e.F));e.P!=null&&e.P!==!0&&(c.gfwrnher=e.P);d=e.j||c.google_ad_width; -d!=null&&(c.google_resizing_width=d);d=e.i||c.google_ad_height;d!=null&&(c.google_resizing_height=d);d=e.size().i(f);const g=e.size().height();c.google_ad_width=d;c.google_ad_height=g;var h=e.size();f=`${h.i(f)}x${h.height()}`;c.google_ad_format=f;c.google_responsive_auto_format=e.D;e.g!=null&&(c.armr=e.g);c.google_ad_resizable=!0;c.google_override_format=1;c.google_loader_features_used=128;e.F===!0&&(c.gfwrnh=`${e.size().height()}px`);e.u!=null&&(c.gfwroml=e.u);e.A!=null&&(c.gfwromr=e.A);e.i!=null&& -(c.gfwroh=e.i);e.j!=null&&(c.gfwrow=e.j);e.B!=null&&(c.gfwroz=e.B);f=Pd(window)||window;kn(f.location,"google_responsive_dummy_ad")&&(Ma([1,2,3,4,5,6,7,8],e.D)||e.g===1)&&e.g!==2&&(f=JSON.stringify({googMsgType:"adpnt",key_value:[{key:"qid",value:"DUMMY_AD"}]}),c.dash=`<${po}>window.top.postMessage('${f}', '*'); - -
-

Requested size:${d}x${g}

-

Rendered size:${d}x${g}

-
`);a!==1&&(a=e.size().height(),b.style.height=`${a}px`)}function Qo(a,b,c,d,e){const f=d.google_ad_height||Zi(c,e,"height")||0;switch(a){case 5:const {H:g,F:h}=ok(247,()=>Eo(b,d.google_ad_format,e,c,d));h===!0&&b!==g&&Yi(e,c);h===!0?d.google_full_width_responsive_allowed=!0:(d.google_full_width_responsive_allowed=!1,d.gfwrnwer=h);return to(g,d);case 9:return wo(b,d);case 8:return Ao(b,e,c,f,d);case 10:return Mo(b,e,c,f,d)}}function Oo(a){a.google_ad_format="auto";a.armr=3};function Ro(a,b){a.google_resizing_allowed=!0;a.ovlp=!0;a.google_ad_format="auto";a.iaaso=!0;a.armr=b};function So(a,b){var c=Pd(b);if(c){c=T(c);const d=Sd(a,b)||{},e=d.direction;if(d.width==="0px"&&d.cssFloat!=="none")return-1;if(e==="ltr"&&c)return Math.floor(Math.min(1200,c-a.getBoundingClientRect().left));if(e==="rtl"&&c)return a=b.document.body.getBoundingClientRect().right-a.getBoundingClientRect().right,Math.floor(Math.min(1200,c-a-Math.floor((c-b.document.body.clientWidth)/2)))}return-1};function To(a,b){switch(a){case "google_reactive_ad_format":return a=parseInt(b,10),isNaN(a)?0:a;default:return b}} -function Uo(a,b){if(a.getAttribute("src")){var c=a.getAttribute("src")||"";const d=Kd(c,"client");d&&(b.google_ad_client=To("google_ad_client",d));(c=Kd(c,"host"))&&(b.google_ad_host=To("google_ad_host",c))}for(const d of a.attributes)/data-/.test(d.name)&&(a=sa(d.name.replace("data-matched-content","google_content_recommendation").replace("data","google").replace(/-/g,"_")),b.hasOwnProperty(a)||(c=To(a,d.value),c!==null&&(b[a]=c)))} -function Vo(a,b){if(a=re(a))switch(a.data&&a.data.autoFormat){case "rspv":return 13;case "mcrspv":return 15;default:return 14}else return b.google_ad_intent_query?17:12} -function Wo(a,b,c,d){Uo(a,b);if(c.document&&c.document.body&&!No(c,b)&&!b.google_reactive_ad_format&&!b.google_ad_intent_query){var e=parseInt(a.style.width,10),f=So(a,c);if(f>0&&e>f){var g=parseInt(a.style.height,10);e=!!Gn[e+"x"+g];let h=f;if(e){const k=Hn(f,g);if(k)h=k,b.google_ad_format=k+"x"+g+"_0ads_al";else throw new U("No slot size for availableWidth="+f);}b.google_ad_resize=!0;b.google_ad_width=h;e||(b.google_ad_format=null,b.google_override_format=!0);f=h;a.style.width=`${f}px`;Ro(b,4)}}if(R(Vh)|| -T(c)<488){f=Pd(c)||c;g=a.offsetWidth||Zi(a,c,"width")||b.google_ad_width||0;e=b.google_ad_client;if(d=kn(f.location,"google_responsive_slot_preview")||Mm(f,1,e,d))b:if(b.google_reactive_ad_format||b.google_ad_resize||No(c,b)||Qi(a,b))d=!1;else{for(d=a;d;d=d.parentElement){f=Sd(d,c);if(!f){b.gfwrnwer=18;d=!1;break b}if(!Ma(["static","relative"],f.position)){b.gfwrnwer=17;d=!1;break b}}if(!R(ei)&&(d=S(Zh),d=Ti(c,a,g,d,b),d!==!0)){b.gfwrnwer=d;d=!1;break b}d=c===c.top?!0:!1}d?(Ro(b,1),d=!0):d=!1}else d= -!1;if(g=No(c,b))Po(g,a,b,c,d);else{if(Qi(a,b)){if(d=Sd(a,c))a.style.width=d.width,a.style.height=d.height,Pi(d,b);b.google_ad_width||(b.google_ad_width=a.offsetWidth);b.google_ad_height||(b.google_ad_height=a.offsetHeight);b.google_loader_features_used=256;b.google_responsive_auto_format=Vo(c,b)}else Pi(a.style,b);c.location&&c.location.hash==="#gfwmrp"||b.google_responsive_auto_format===12&&b.google_full_width_responsive==="true"?Po(10,a,b,c,!1):Math.random()<.01&&b.google_responsive_auto_format=== -12&&(a=Ui(a.offsetWidth||parseInt(a.style.width,10)||b.google_ad_width,c,a,b),a!==!0?(b.efwr=!1,b.gfwrnwer=a):b.efwr=!0)}};function Xo(a){if(a===a.top)return 0;for(let b=a;b&&b!==b.top&&Od(b);b=b.parent){if(a.sf_)return 2;if(a.$sf)return 3;if(a.inGptIF)return 4;if(a.inDapIF)return 5}return 1};function Yo(a,b,c){for(const f of b)a:{b=a;var d=f,e=c;for(let g=0;g{var e=new uf;var f=[...d.labels];e=Dc(e,1,f,Ub);d=d.element.getBoundingClientRect();f=new tf;f=$c(f,1,d.left+a.scrollX);f=$c(f,2,d.top+a.scrollY);f=$c(f,3,d.width);d=$c(f,4,d.height);d=qc(d);e=Mc(e,2,d);return qc(e)}).sort((d,e)=>F(A(d,tf,2),2)-F(A(e,tf,2),2))};function ug(a,b,c=0){a.g.size>0||ap(a);c=Math.min(Math.max(0,c),9);const d=a.g.get(c);d?d.push(b):a.g.set(c,[b])}function bp(a,b,c,d){qd(b,c,d);jl(a,()=>rd(b,c,d))}function cp(a,b){a.j!==1&&(a.j=1,a.g.size>0&&dp(a,b))} -function ap(a){a.l.document.visibilityState?bp(a,a.l.document,"visibilitychange",b=>{a.l.document.visibilityState==="hidden"&&cp(a,b);a.l.document.visibilityState==="visible"&&(a.j=0)}):"onpagehide"in a.l?(bp(a,a.l,"pagehide",b=>{cp(a,b)}),bp(a,a.l,"pageshow",()=>{a.j=0})):bp(a,a.l,"beforeunload",b=>{cp(a,b)})}function dp(a,b){for(let c=9;c>=0;c--)a.g.get(c)?.forEach(d=>{d(b)})}var ep=class extends il{constructor(a){super();this.l=a;this.j=0;this.g=new Map}};async function fp(a,b){var c=10;return c<=0?Promise.reject(Error(`wfc bad input ${c} ${200}`)):b()?Promise.resolve():new Promise((d,e)=>{const f=a.setInterval(()=>{--c?b()&&(a.clearInterval(f),d()):(a.clearInterval(f),e(Error(`wfc timed out ${c}`)))},200)})};function gp(a){const b=a.g.pc;return b!==null&&b!==0?b:a.g.pc=he(a.l)}function hp(a){const b=a.g.wpc;return b!==null&&b!==""?b:a.g.wpc=Fn(a.l)}function ip(a,b){var c=new Jf;var d=gp(a);c=bd(c,1,d);d=hp(a);c=ed(c,2,d);c=bd(c,3,a.g.sd);return bd(c,7,Math.round(b||a.l.performance.now()))}async function jp(a){await fp(a.l,()=>!(!gp(a)||!hp(a)))}function kp(a){var b=J(lp);if(b.j){var c=b.A;a(c);b.g.psi=w(c)}} -function mp(a){ug(a.u,()=>{var b=ip(a);b=Nc(b,12,Kf,a.B);a.j&&!a.g.le.includes(3)&&(a.g.le.push(3),qg(a.i,b))},9)}function np(a){const b=new Ff;ug(a.u,()=>{Mc(b,2,a.A);bd(b,3,a.g.tar);var c=a.l;var d=new yf;var e=$o(c);d=Oc(d,1,e);e=qc(wf(vf(new xf,T(c)),Ni(c).clientHeight));d=Mc(d,2,e);c=qc(wf(vf(new xf,Ni(c).scrollWidth),Ni(c).scrollHeight));c=Mc(d,3,c);c=qc(c);Mc(b,4,c);c=a.i;d=ip(a);d=Nc(d,8,Kf,b);qg(c,d)},9)} -async function op(a){var b=J(lp);if(b.j&&!b.g.le.includes(1)){b.g.le.push(1);var c=b.l.performance.now();await jp(b);var d=new Bf;a=Ec(d,5,Qb(a),!1);d=wf(vf(new xf,Ni(b.l).scrollWidth),Ni(b.l).scrollHeight);a=Mc(a,2,d);d=wf(vf(new xf,T(b.l)),Ni(b.l).clientHeight);a=Mc(a,1,d);for(var e=d=b.l;d&&d!=d.parent;)d=d.parent,Od(d)&&(e=d);a=ed(a,4,e.location.href);d=Xo(b.l);d!==0&&(e=new Af,d=fd(e,1,d),Mc(a,3,d));d=b.i;c=ip(b,c);c=Nc(c,4,Kf,a);qg(d,c);mp(b);np(b)}} -async function pp(a,b,c){if(a.j&&c.length&&!a.g.lgdp.includes(Number(b))){a.g.lgdp.push(Number(b));var d=a.l.performance.now();await jp(a);var e=a.i;a=ip(a,d);d=new zf;b=gd(d,1,b);c=Dc(b,2,c,Wb);c=Nc(a,9,Kf,c);qg(e,c)}}async function qp(a,b){await jp(a);var c=a.i;a=ip(a);a=bd(a,3,1);b=Nc(a,10,Kf,b);qg(c,b)} -var lp=class{constructor(a,b){this.l=se()||window;this.u=b??new ep(this.l);this.i=a??new wg(2,fg(),100,100,!0,this.u);this.g=cl(Yk(),33,()=>{const c=S(Xh);return{sd:c,ssp:c>0&&Td()<1/c,pc:null,wpc:null,cu:null,le:[],lgdp:[],psi:null,tar:0,cc:null}})}get j(){return this.g.ssp}get A(){return ok(1178,()=>id(Ef,mc(this.g.psi||[])))||new Ef}get B(){return ok(1227,()=>id(Gf,mc(this.g.cc||[])))||new Gf}};function rp(){var a=window;return q.google_adtest==="on"||q.google_adbreak_test==="on"||a.location.host.endsWith("h5games.usercontent.goog")||a.location.host==="gamesnacks.com"?a.document.querySelector('meta[name="h5-games-eids"]')?.getAttribute("content")?.split(",").map(b=>Math.floor(Number(b))).filter(b=>!isNaN(b)&&b>0)||[]:[]};function sp(a,b){return a instanceof HTMLScriptElement&&b.test(a.src)?0:1}function tp(a){var b=L.document;if(b.currentScript)return sp(b.currentScript,a);for(const c of b.scripts)if(sp(c,a)===0)return 0;return 1};function up(a,b){return{[3]:{[55]:()=>a===0,[23]:c=>Mm(L,Number(c)),[24]:c=>Pm(Number(c)),[61]:()=>E(b,6),[63]:()=>E(b,6)||G(b,8)===".google.ch"},[4]:{},[5]:{[6]:()=>G(b,15)}}};function vp(a=q){return a.ggeac||(a.ggeac={})};function wp(a,b=document){return!!b.featurePolicy?.features().includes(a)}function xp(a,b=document){return!!b.featurePolicy?.allowedFeatures().includes(a)}function yp(a,b=navigator){try{return!!b.protectedAudience?.queryFeatureSupport?.(a)}catch(c){return!1}};function zp(a,b){try{const d=a.split(".");a=q;let e=0,f;for(;a!=null&&e{try{return ia(a)!=null}catch{}},[9]:a=>{try{var b=ia(a)}catch{return}if(a=typeof b==="function")b=b&&b.toString&&b.toString(),a=typeof b==="string"&&b.indexOf("[native code]")!=-1;return a},[10]:()=>window===window.top,[6]:a=>Ma(J(ah).g(),Number(a)),[27]:a=>{a=zp(a,"boolean");return a!==void 0?a:void 0},[60]:a=>{try{return!!q.document.querySelector(a)}catch{}},[80]:a=>{try{return!!q.matchMedia(a).matches}catch{}},[69]:a=>wp(a,q.document),[70]:a=>xp(a,q.document),[79]:a=>yp(a, -q.navigator)},[4]:{[3]:()=>$d(),[6]:a=>{a=zp(a,"number");return a!==void 0?a:void 0}},[5]:{[2]:()=>window.location.href,[3]:()=>{try{return window.top.location.hash}catch{return""}},[4]:a=>{a=zp(a,"string");return a!==void 0?a:void 0},[12]:a=>{try{const b=zp(a,"string");if(b!==void 0)return atob(b)}catch(b){}}}};var Bp=class extends I{getId(){return F(this,1)}};function Cp(a){return B(a,Bp,2,z())}var Dp=class extends I{};var Ep=class extends I{};var Fp=class extends I{g(){return Sc(this,2)}i(){return Sc(this,4)}j(){return E(this,3)}};var Gp=class extends I{};function Hp(a,b){const c=new Map;for(const [f,g]of a[1].entries()){var d=f,e=g;const {Za:h,Wa:k,Xa:m}=e[e.length-1];c.set(d,h+k*m)}for(const f of b)for(const g of B(f,Dp,2,z()))if(Cp(g).length!==0){b=Yb(sc(g,8))??0;!H(g,4)||H(g,13)||H(g,14)||(b=c.get(H(g,4))??0,d=(Yb(sc(g,1))??0)*Cp(g).length,c.set(H(g,4),b+d));d=[];for(e=0;eVd(`${b} + ${a}`)%1E3};const Kp=[12,13,20];function Lp(a,b){var c=J(Cg).N;const d=jf(A(b.na,bf,3),c);if(!d.success)return Ag(a.M,A(b.na,bf,3),b.fa,b.T.getId(),d),!1;if(!d.value)return!1;c=jf(A(b.T,bf,3),c);return c.success?c.value?!0:!1:(Ag(a.M,A(b.T,bf,3),b.fa,b.T.getId(),c),!1)}function Mp(a,b,c){a.g[c]||(a.g[c]=[]);a=a.g[c];a.includes(b)||a.push(b)} -function Np(a,b,c,d){const e=[];var f;if(f=b!==9)a.u[b]?f=!0:(a.u[b]=!0,f=!1);if(f)return yg(a.M,b,c,e,[],4),e;f=Kp.includes(b);const g=[],h=[];for(const l of[0,1,2])for(const [p,v]of a.ja[l].entries()){var k=p,m=v;const u=new Pf;var n=m.filter(x=>x.fa===b&&a.i[x.T.getId()]&&Lp(a,x));if(n.length)for(const x of n)h.push(x.T);else if(!a.wa&&(l===2?(n=d[1],hd(u,2,Qf,k)):n=d[0],k=n?.(String(k))??(l===2&&H(m[0].na,11)===1?void 0:d[0](String(k))),k!==void 0)){for(const x of m){if(x.fa!==b)continue;m=k- -x.Za;n=x.Wa;const K=x.Xa,O=x.zb;m<0||m>=n*K||m%K!==O||!Lp(a,x)||(m=H(x.na,13),m!==0&&m!==void 0&&(n=a.j[String(m)],n!==void 0&&n!==x.T.getId()?zg(a.M,a.j[String(m)],x.T.getId(),m):a.j[String(m)]=x.T.getId()),h.push(x.T))}Jc(u,Qf)!==0&&(ad(u,3,k),g.push(u))}}for(const l of h)d=l.getId(),e.push(d),Mp(a,d,f?4:c),Sg(B(l,mf,2,z()),f?Ug():[c],a.M,d);yg(a.M,b,c,e,g,1);return e}function Op(a,b){b=b.map(c=>new Ep(c)).filter(c=>!Kp.includes(H(c,1)));a.ja=Hp(a.ja,b)} -function Pp(a,b){M(1,c=>{a.i[c]=!0},b);M(2,(c,d,e)=>Np(a,c,d,e),b);M(3,c=>(a.g[c]||[]).concat(a.g[4]),b);M(12,c=>void Op(a,c),b);M(16,(c,d)=>void Mp(a,c,d),b)}var Qp=class{constructor(a,b,c,{wa:d=!1,xc:e=[]}={}){this.ja=a;this.M=c;this.u={};this.wa=d;this.g={[b]:[],[4]:[]};this.i={};this.j={};if(a=He()){a=a.split(",")||[];for(const f of a)(a=Number(f))&&(this.i[a]=!0)}for(const f of e)this.i[f]=!0}};function Rp(a,b){a.g=Wg(14,b,()=>{})}class Sp{constructor(){this.g=()=>{}}}function Tp(a){J(Sp).g(a)};function Up({sb:a,N:b,config:c,kb:d=vp(),lb:e=0,M:f=new Bg(nm(A(a,Fp,5)?.g())??0,nm(A(a,Fp,5)?.i())??0,A(a,Fp,5)?.j()??!1),ja:g=Hp({[0]:new Map,[1]:new Map,[2]:new Map},B(a,Ep,2,z(qb)))}){d.hasOwnProperty("init-done")?(Wg(12,d,()=>{})(B(a,Ep,2,z()).map(h=>w(h))),Wg(13,d,()=>{})(B(a,mf,1,z()).map(h=>w(h)),e),b&&Wg(14,d,()=>{})(b),Vp(e,d)):(Pp(new Qp(g,e,f,c),d),Xg(d),Yg(d),Zg(d),Vp(e,d),Sg(B(a,mf,1,z(qb)),[e],f,void 0,!0),Dg=Dg||!(!c||!c.xb),Tp(Ap),b&&Tp(b))} -function Vp(a,b=vp()){$g(J(ah),b,a);Wp(b,a);Rp(J(Sp),b);J(ee).B()}function Wp(a,b){const c=J(ee);c.i=(d,e)=>Wg(5,a,()=>!1)(d,e,b);c.u=(d,e)=>Wg(6,a,()=>0)(d,e,b);c.g=(d,e)=>Wg(7,a,()=>"")(d,e,b);c.A=(d,e)=>Wg(8,a,()=>[])(d,e,b);c.j=(d,e)=>Wg(17,a,()=>[])(d,e,b);c.B=()=>{Wg(15,a,()=>{})(b)}};function Xp(a,b){b={[0]:Jp(he(b).toString())};b=J(ah).u(a,b);dh.ma(1085,pp(J(lp),a,b))}function Yp(a,b,c){var d=W(a);if(d.plle)Vp(1,vp(a));else{d.plle=!0;d=A(b,Gp,12);var e=E(b,9);Up({sb:d,N:up(c,b),config:{wa:e&&!!a.google_disable_experiments,xb:e},kb:vp(a),lb:1});if(c=G(b,15))c=Number(c),J(ah).j(c);for(const f of xc(b,19,Xb,z()))J(ah).i(f);Xp(12,a);Xp(10,a);a=Pd(a)||a;kn(a.location,"google_mc_lab")&&J(ah).i(44738307)}};function Zp(a){kk.A(b=>{b.shv=String(a);b.mjsv=En({ta:fg(),za:a});const c=J(ah).g(),d=rp();b.eid=c.concat(d).join(",")})}function $p(a,b){const c=b?.g();b=c?.g()||G(a,2);a=c?.i()?E(c,4):E(a,6);Zp(b);rb(Em,xb);Em=a};var aq={google_pause_ad_requests:!0,google_user_agent_client_hint:!0};var bq=class extends I{g(){return A(this,Bl,2)}};var cq=class extends I{g(){return G(this,1)}i(){return H(this,2)}};var dq=class extends I{u(){return G(this,1)}g(){return A(this,cq,2)}A(){return E(this,3)}i(){return E(this,4)}j(){return A(this,zl,5)}B(){return A(this,Al,6)}};var eq=class extends I{i(){return A(this,bq,2)}g(){return G(this,4)}};function Wm(a){return Zc(a,dq,27,fq)}var hq=class extends I{g(){return Zc(this,bq,13,gq)}j(){return wc(this,bq,Ic(this,gq,13))!==void 0}i(){return Zc(this,eq,14,gq)}u(){return wc(this,eq,Ic(this,gq,14))!==void 0}},gq=[13,14],fq=[27,28];function iq(a){var b=kk;try{if(rb(a,wb),a.length>0)return new hq(JSON.parse(a))}catch(c){b.I(838,c instanceof Error?c:Error(String(c)))}return new hq};function jq(a,b){if(E(b,22))return 7;if(E(b,16))return 6;const c=Wm(b)?.g()?.g();b=Wm(b)?.g()?.i()??0;a=c===a;switch(b){case 1:return a?9:8;case 2:return a?11:10;case 3:return a?13:12}return 1}function kq(a,b,c){b.google_loader_used!=="sd"&&(b.abgtt=jq(a,c))};function lq(a,b){var c=new mq;try{const f=a.createElement("link");if(f.relList?.supports("compression-dictionary")&&Ea()){var d=f;if(b instanceof Bd)d.href=Dd(b).toString(),d.rel="compression-dictionary";else{if(Gd.indexOf("compression-dictionary")===-1)throw Error('TrustedResourceUrl href attribute required with rel="compression-dictionary"');var e=Ed.test(b)?b:void 0;e!==void 0&&(d.href=e,d.rel="compression-dictionary")}a.head.appendChild(f)}}catch(f){c.nb.I(1296,f instanceof Error?f:Error(String(f)))}} -;var mq=class{constructor(){this.nb=kk}};function nq(a){qd(window,"message",b=>{let c;try{c=JSON.parse(b.data)}catch(d){return}!c||c.googMsgType!=="sc-cnf"||a(c,b)})};function oq(a,b){return b==null?`&${a}=null`:`&${a}=${Math.floor(b)}`}function pq(a,b){return`&${a}=${b.toFixed(3)}`}function qq(){const a=new Set,b=Ek();try{if(!b)return a;const c=b.pubads();for(const d of c.getSlots())a.add(d.getSlotId().getDomId())}catch{}return a}function rq(a){a=a.id;return a!=null&&(qq().has(a)||a.startsWith("google_ads_iframe_")||a.startsWith("aswift"))} -function sq(a,b,c){if(!a.sources)return!1;switch(tq(a)){case 2:const d=uq(a);if(d)return c.some(f=>vq(d,f));break;case 1:const e=wq(a);if(e)return b.some(f=>vq(e,f))}return!1}function tq(a){if(!a.sources)return 0;a=a.sources.filter(b=>b.previousRect&&b.currentRect);if(a.length>=1){a=a[0];if(a.previousRect.topa.currentRect.top)return 1}return 0}function wq(a){return xq(a,b=>b.currentRect)}function uq(a){return xq(a,b=>b.previousRect)} -function xq(a,b){return a.sources.reduce((c,d)=>{d=b(d);return c?d&&d.width*d.height!==0?d.top=50} -function yq(){const a=Array.from(document.getElementsByTagName("iframe")).filter(rq),b=[...qq()].map(c=>document.getElementById(c)).filter(c=>c!==null);zq=window.scrollX;Aq=window.scrollY;return Bq=[...a,...b].map(c=>c.getBoundingClientRect())} -function Cq(){var a=new Dq;if(R(Ci)){var b=window;if(!b.google_plmetrics&&window.PerformanceObserver){b.google_plmetrics=!0;b=["layout-shift","largest-contentful-paint","first-input","longtask"];a.eb.pb&&b.push("event");for(const c of b)b={type:c,buffered:!0},c==="event"&&(b.durationThreshold=40),Eq(a).observe(b);Fq(a)}}} -function Gq(a,b){const c=zq!==window.scrollX||Aq!==window.scrollY?[]:Bq,d=yq();for(const e of b.getEntries())switch(b=e.entryType,b){case "layout-shift":Hq(a,e,c,d);break;case "largest-contentful-paint":b=e;a.Ga=Math.floor(b.renderTime||b.loadTime);a.Fa=b.size;break;case "first-input":b=e;a.Ca=Number((b.processingStart-b.startTime).toFixed(3));a.Da=!0;a.g.some(f=>f.entries.some(g=>e.duration===g.duration&&e.startTime===g.startTime))||Iq(a,e);break;case "longtask":b=Math.max(0,e.duration-50);a.B+= -b;a.J=Math.max(a.J,b);a.qa+=1;break;case "event":Iq(a,e);break;default:Kb(b,void 0)}}function Eq(a){a.M||(a.M=new PerformanceObserver(Hj(640,b=>{Gq(a,b)})));return a.M} -function Fq(a){const b=Hj(641,()=>{var d=document;(d.prerendering?3:{visible:1,hidden:2,prerender:3,preview:4,unloaded:5,"":0}[d.visibilityState||d.webkitVisibilityState||d.mozVisibilityState||""]??0)===2&&Jq(a)}),c=Hj(641,()=>void Jq(a));document.addEventListener("visibilitychange",b);document.addEventListener("pagehide",c);a.Ba=()=>{document.removeEventListener("visibilitychange",b);document.removeEventListener("pagehide",c);Eq(a).disconnect()}} -function Jq(a){if(!a.Ja){a.Ja=!0;Eq(a).takeRecords();var b="https://pagead2.googlesyndication.com/pagead/gen_204?id=plmetrics";window.LayoutShift&&(b+=pq("cls",a.D),b+=pq("mls",a.Y),b+=oq("nls",a.pa),window.LayoutShiftAttribution&&(b+=pq("cas",a.A),b+=oq("nas",a.Ia),b+=pq("was",a.Na)),b+=pq("wls",a.ra),b+=pq("tls",a.Ma));window.LargestContentfulPaint&&(b+=oq("lcp",a.Ga),b+=oq("lcps",a.Fa));window.PerformanceEventTiming&&a.Da&&(b+=oq("fid",a.Ca));window.PerformanceLongTaskTiming&&(b+=oq("cbt",a.B), -b+=oq("mbt",a.J),b+=oq("nlt",a.qa));let d=0;for(var c of document.getElementsByTagName("iframe"))rq(c)&&d++;b+=oq("nif",d);b+=oq("ifi",xe(window));c=J(ah).g();b+=`&${"eid"}=${encodeURIComponent(c.join())}`;b+=`&${"top"}=${q===q.top?1:0}`;b+=a.La?`&${"qqid"}=${encodeURIComponent(a.La)}`:oq("pvsid",he(q));window.googletag&&(b+="&gpt=1");c=Math.min(a.g.length-1,Math.floor((a.M?a.Ea:performance.interactionCount||0)/50));c>=0&&(c=a.g[c].latency,c>=0&&(b+=oq("inp",c)));window.fetch(b,{keepalive:!0,credentials:"include", -redirect:"follow",method:"get",mode:"no-cors"});a.Ba()}}function Hq(a,b,c,d){if(!b.hadRecentInput){a.D+=Number(b.value);Number(b.value)>a.Y&&(a.Y=Number(b.value));a.pa+=1;if(c=sq(b,c,d))a.A+=b.value,a.Ia++;if(b.startTime-a.Ha>5E3||b.startTime-a.Ka>1E3)a.Ha=b.startTime,a.i=0,a.j=0;a.Ka=b.startTime;a.i+=b.value;c&&(a.j+=b.value);a.i>a.ra&&(a.ra=a.i,a.Na=a.j,a.Ma=b.startTime+b.duration)}} -function Iq(a,b){Kq(a,b);const c=a.g[a.g.length-1],d=a.G[b.interactionId];if(d||a.g.length<10||b.duration>c.latency)d?(d.entries.push(b),d.latency=Math.max(d.latency,b.duration)):(b={id:b.interactionId,latency:b.duration,entries:[b]},a.G[b.id]=b,a.g.push(b)),a.g.sort((e,f)=>f.latency-e.latency),a.g.splice(10).forEach(e=>{delete a.G[e.id]})}function Kq(a,b){b.interactionId&&(a.oa=Math.min(a.oa,b.interactionId),a.u=Math.max(a.u,b.interactionId),a.Ea=a.u?(a.u-a.oa)/7+1:0)} -var Dq=class{constructor(){this.j=this.i=this.pa=this.Y=this.D=0;this.Ka=this.Ha=Number.NEGATIVE_INFINITY;this.g=[];this.G={};this.Ea=0;this.oa=Infinity;this.Ca=this.Fa=this.Ga=this.Ia=this.Na=this.A=this.Ma=this.ra=this.u=0;this.Da=!1;this.qa=this.J=this.B=0;this.M=null;this.Ja=!1;this.Ba=()=>{};const a=document.querySelector("[data-google-query-id]");this.La=a?a.getAttribute("data-google-query-id"):null;this.eb={pb:!0}}},zq,Aq,Bq=[];let Lq=null;const Mq=[],Nq=new Map;let Oq=-1;function Pq(a){return hj.test(a.className)&&a.dataset.adsbygoogleStatus!=="done"}function Qq(a,b,c){a.dataset.adsbygoogleStatus="done";Rq(a,b,c)} -function Rq(a,b,c){var d=window;d.google_spfd||(d.google_spfd=Wo);var e=b.google_reactive_ads_config;e||Wo(a,b,d,c);Xn(d,b);if(!Sq(a,b,d)){if(e){e=e.page_level_pubvars||{};if(W(L).page_contains_reactive_tag&&!W(L).allow_second_reactive_tag){if(e.pltais){Hm(!1);return}throw new U("Only one 'enable_page_level_ads' allowed per page.");}W(L).page_contains_reactive_tag=!0;Hm(e.google_pgb_reactive===7)}b.google_unique_id=we(d);Ud(aq,(f,g)=>{b[g]=b[g]||d[g]});b.google_loader_used!=="sd"&&(b.google_loader_used= -"aa");b.google_reactive_tag_first=(W(L).first_tag_on_page||0)===1;ok(164,()=>{bo(d,b,a,c)})}} -function Sq(a,b,c){var d=b.google_reactive_ads_config,e=typeof a.className==="string"&&RegExp("(\\W|^)adsbygoogle-noablate(\\W|$)").test(a.className),f=Fm(c);if(f&&f.Oa&&b.google_adtest!=="on"&&!e){e=Ri(a,c);const g=Ni(c).clientHeight;e=g===0?null:e/g;if(!f.sa||f.sa&&(e||0)>=f.sa)return a.className+=" adsbygoogle-ablated-ad-slot",c=c.google_sv_map=c.google_sv_map||{},d=ka(a),b.google_element_uid=d,c[b.google_element_uid]=b,a.setAttribute("google_element_uid",String(d)),f.Jb==="slot"&&(Yd(a.getAttribute("width"))!== -null&&a.setAttribute("width","0"),Yd(a.getAttribute("height"))!==null&&a.setAttribute("height","0"),a.style.width="0px",a.style.height="0px"),!0}if((f=Sd(a,c))&&f.display==="none"&&!(b.google_adtest==="on"||b.google_reactive_ad_format>0||d))return c.document.createComment&&a.appendChild(c.document.createComment("No ad requested because of display:none on the adsbygoogle tag")),!0;a=b.google_pgb_reactive==null||b.google_pgb_reactive===3;return b.google_reactive_ad_format!==1&&b.google_reactive_ad_format!== -8||!a?!1:(q.console&&q.console.warn("Adsbygoogle tag with data-reactive-ad-format="+String(b.google_reactive_ad_format)+" is deprecated. Check out page-level ads at https://www.google.com/adsense"),!0)}function Tq(a){var b=document.getElementsByTagName("INS");for(let d=0,e=b[d];d{Tc(Df(e),2)||(e=Df(e),cd(e,2))});for(var d=20;a.length>0&&d>0;){try{Vq(a.shift(),b,c)}catch(e){setTimeout(()=>{throw e;})}--d}}}function Wq(){const a=Rd("INS");a.className="adsbygoogle";a.className+=" adsbygoogle-noablate";ae(a);return a} -function Xq(a,b){const c={},d=Vm(a.google_ad_client,b);Ud(Mi,(g,h)=>{a.enable_page_level_ads===!1?c[h]=!1:a.hasOwnProperty(h)?c[h]=a[h]:d.includes(g)&&(c[h]=!1)});ja(a.enable_page_level_ads)&&(c.page_level_pubvars=a.enable_page_level_ads);const e=Wq();ie.body.appendChild(e);const f={google_reactive_ads_config:c,google_ad_client:a.google_ad_client};f.google_pause_ad_requests=!!W(L).pause_ad_requests;kq(Yq(a)||Fn(L),f,b);Qq(e,f,b);kp(g=>{Tc(Df(g),6)||(g=Df(g),cd(g,6))})} -function Zq(a,b){vn(q).wasPlaTagProcessed=!0;const c=()=>{Xq(a,b)},d=q.document;if(d.body||d.readyState==="complete"||d.readyState==="interactive")Xq(a,b);else{const e=pd(pk(191,c));qd(d,"DOMContentLoaded",e);q.MutationObserver!=null&&(new q.MutationObserver((f,g)=>{d.body&&(e(),g.disconnect())})).observe(d,{childList:!0,subtree:!0})}} -function Vq(a,b,c){const d={};ok(165,()=>{$q(a,d,b,c)},e=>{e.client=e.client||d.google_ad_client||a.google_ad_client;e.slotname=e.slotname||d.google_ad_slot;e.tag_origin=e.tag_origin||d.google_tag_origin})}function ar(a){delete a.google_checked_head;Ud(a,(b,c)=>{gj[c]||(delete a[c],b=c.replace("google","data").replace(/_/g,"-"),q.console.warn(`AdSense head tag doesn't support ${b} attribute.`))})} -function br(a,b){var c=L.document.querySelector('script[src*="/pagead/js/adsbygoogle.js?client="]:not([data-checked-head])')||L.document.querySelector('script[src*="/pagead/js/adsbygoogle_direct.js?client="]:not([data-checked-head])')||L.document.querySelector('script[src*="/pagead/js/adsbygoogle.js"][data-ad-client]:not([data-checked-head])')||L.document.querySelector('script[src*="/pagead/js/adsbygoogle_direct.js"][data-ad-client]:not([data-checked-head])');if(c){c.setAttribute("data-checked-head", -"true");var d=W(window);if(d.head_tag_slot_vars)cr(c);else{kp(g=>{g=Df(g);Ec(g,7,Qb(!0),!1)});var e={};Uo(c,e);ar(e);e.google_ad_intent_query&&(e.google_responsive_auto_format=17,R(vi)&&(e.google_reactive_ad_format=42));var f=xd(e);d.head_tag_slot_vars=f;c={google_ad_client:e.google_ad_client,enable_page_level_ads:e};e.google_ad_intent_query&&(c.enable_ad_intent_display_ads=!0);e.google_overlays==="bottom"&&(c.overlays={bottom:!0});delete e.google_overlays;L.adsbygoogle||(L.adsbygoogle=[]);d=L.adsbygoogle; -d.loaded?d.push(c):d.splice&&d.splice(0,0,c);b=Wm(b)?.i();e.google_adbreak_test||b?dr(f,a):nq(()=>{dr(f,a)})}}}function cr(a){const b=W(window).head_tag_slot_vars,c=a.getAttribute("src")||"";if((a=Kd(c,"client")||a.getAttribute("data-ad-client")||"")&&a!==b.google_ad_client)throw new U("Warning: Do not add multiple property codes with AdSense tag to avoid seeing unexpected behavior. These codes were found on the page "+a+", "+b.google_ad_client);} -function er(a){if(typeof a==="object"&&a!=null){if(typeof a.type==="string")return 2;if(typeof a.sound==="string"||typeof a.preloadAdBreaks==="string"||typeof a.h5AdsConfig==="object")return 3}return 0} -function $q(a,b,c,d){if(a==null)throw new U("push() called with no parameters.");kp(f=>{Tc(Df(f),3)||(f=Df(f),cd(f,3))});var e=er(a);if(e!==0)if(d=Im(),d.first_slotcar_request_processing_time||(d.first_slotcar_request_processing_time=Date.now(),d.adsbygoogle_execution_start_time=fh),Lq==null)fr(a),Mq.push(a);else if(e===3){const f=Lq;ok(787,()=>{f.handleAdConfig(a)})}else qk(730,Lq.handleAdBreak(a));else{fh=(new Date).getTime();Yn(c,d,Yq(a));gr();a:{if(!a.enable_ad_intent_display_ads&&a.enable_page_level_ads!= -void 0){if(typeof a.google_ad_client==="string"){e=!0;break a}throw new U("'google_ad_client' is missing from the tag config.");}e=!1}if(e)kp(f=>{Tc(Df(f),4)||(f=Df(f),cd(f,4))}),hr(a,d);else if((e=a.params)&&Ud(e,(f,g)=>{b[g]=f}),b.google_ad_output==="js")console.warn("Ads with google_ad_output='js' have been deprecated and no longer work. Contact your AdSense account manager or switch to standard AdSense ads.");else{kq(Yq(a)||Fn(L),b,d);e=ir(b,a);Uo(e,b);c=W(q).head_tag_slot_vars||{};Ud(c,(f,g)=> -{b.hasOwnProperty(g)||(b[g]=f)});if(e.hasAttribute("data-require-head")&&!W(q).head_tag_slot_vars)throw new U("AdSense head tag is missing. AdSense body tags don't work without the head tag. You can copy the head tag from your account on https://adsense.com.");if(!b.google_ad_client)throw new U("Ad client is missing from the slot.");if(c=(W(L).first_tag_on_page||0)===0&&yn(b))kp(f=>{Tc(Df(f),5)||(f=Df(f),cd(f,5))}),jr(c);(W(L).first_tag_on_page||0)===0&&(W(L).first_tag_on_page=2);b.google_pause_ad_requests= -!!W(L).pause_ad_requests;Qq(e,b,d)}}}function Yq(a){return a.google_ad_client?a.google_ad_client:(a=a.params)&&a.google_ad_client?a.google_ad_client:""}function gr(){if(R(ii)){const a=Fm(L);a&&a.Oa||Gm(L)}}function jr(a){je(()=>{vn(q).wasPlaTagProcessed||q.adsbygoogle&&q.adsbygoogle.push(a)})}function hr(a,b){(W(L).first_tag_on_page||0)===0&&(W(L).first_tag_on_page=1);if(a.tag_partner){var c=a.tag_partner;const d=W(q);d.tag_partners=d.tag_partners||[];d.tag_partners.push(c)}zn(a,b);Zq(a,b)} -function ir(a,b){if(a.google_ad_format==="rewarded"){if(a.google_ad_slot==null)throw new U("Rewarded format does not have valid ad slot");if(a.google_ad_loaded_callback==null)throw new U("Rewarded format does not have ad loaded callback");a.google_reactive_ad_format=11;a.google_wrap_fullscreen_ad=!0;a.google_video_play_muted=!1;a.google_acr=a.google_ad_loaded_callback;delete a.google_ad_loaded_callback;delete a.google_ad_format}var c=!!a.google_wrap_fullscreen_ad;if(c)b=Wq(),b.dataset.adsbygoogleStatus= -"reserved",ie.documentElement.appendChild(b);else if(b=b.element){if(!Pq(b)&&(b.id?b=Tq(b.id):b=null,!b))throw new U("'element' has already been filled.");if(!("innerHTML"in b))throw new U("'element' is not a good DOM element.");}else if(b=Tq(),!b)throw new U("All 'ins' elements in the DOM with class=adsbygoogle already have ads in them.");if(c){c=L;try{const e=(c||window).document,f=e.compatMode=="CSS1Compat"?e.documentElement:e.body;var d=(new qe(f.clientWidth,f.clientHeight)).round()}catch(e){d= -new qe(-12245933,-12245933)}a.google_ad_height=d.height;a.google_ad_width=d.width;a.fsapi=!0}return b}function kr(a){Yk().S[al(26)]=!!Number(a)} -function lr(a){Number(a)?W(L).pause_ad_requests=!0:(W(L).pause_ad_requests=!1,a=()=>{if(!W(L).pause_ad_requests){var b={};let c;typeof window.CustomEvent==="function"?c=new CustomEvent("adsbygoogle-pub-unpause-ad-requests-event",b):(c=document.createEvent("CustomEvent"),c.initCustomEvent("adsbygoogle-pub-unpause-ad-requests-event",!!b.bubbles,!!b.cancelable,b.detail));L.dispatchEvent(c)}},q.setTimeout(a,0),q.setTimeout(a,1E3))} -function mr(a){a&&a.call&&typeof a==="function"&&window.setTimeout(a,0)}function dr(a,b){const c={...qn()},d=S(Bi);[0,1].includes(d)&&(c.osttc=`${d}`);b=un(Md(b.Ib,new Map(Object.entries(c)))).then(e=>{Lq==null&&(e.init(a),Lq=e,nr(e))});qk(723,b);b.finally(()=>{Mq.length=0;rk("slotcar",{event:"api_ld",time:Date.now()-fh,time_pr:Date.now()-Oq});qp(J(lp),Hf(23))})} -function nr(a){for(const [c,d]of Nq){var b=c;const e=d;e!==-1&&(q.clearTimeout(e),Nq.delete(b))}for(b=0;b{d===3?a.handleAdConfig(c):d===2&&qk(730,a.handleAdBreakBeforeReady(c))})}} -function fr(a){var b=Mq.length;if(er(a)===2&&a.type==="preroll"&&a.adBreakDone!=null){var c=a.adBreakDone;Oq===-1&&(Oq=Date.now());var d=q.setTimeout(()=>{try{c({breakType:"preroll",breakName:a.name,breakFormat:"preroll",breakStatus:"timeout"}),Nq.set(b,-1),rk("slotcar",{event:"pr_to",source:"adsbygoogle"}),qp(J(lp),Hf(22))}catch(e){console.error("[Ad Placement API] adBreakDone callback threw an error:",e instanceof Error?e:Error(String(e)))}},S(Ei)*1E3);Nq.set(b,d)}};(function(a,b,c,d=()=>{}){kk.J(tk);ok(166,()=>{const e=new wg(2,a);try{Wa(n=>{Zj(e,1191,n)})}catch(n){}const f=iq(b);var g=pn(f);$p(f,g);d();pe(16,[1,w(f)]);var h=se(re(L))||L,k=En({ta:a,za:G(f,2)});const m=c(k,f);k=L.document.currentScript===null?1:tp(m.Kb);Yp(h,f,k);R(yi)&&G(f,29)&&lq(h.document,Ld`https://googleads.g.doubleclick.net/pagead/managed/dict/${G(f,29)}/adsbygoogle`);kp(n=>{var l=F(n,1)+1;ad(n,1,l);L.top===L&&(l=F(n,2)+1,ad(n,2,l));Tc(Df(n),1)||(n=Df(n),cd(n,1))});qk(1086,op(k===0)); -if(!Da()||ta(Ga(),11)>=0){mk(R(Gi));fo();pm(Kc(f,mn,26));try{Cq()}catch{}eo();br(m,f);h=window;k=h.adsbygoogle;if(!k||!k.loaded){g={push:n=>{Vq(n,m,f)},loaded:!0,pageState:JSON.stringify(w(g))};try{Object.defineProperty(g,"requestNonPersonalizedAds",{set:kr}),Object.defineProperty(g,"pauseAdRequests",{set:lr}),Object.defineProperty(g,"onload",{set:mr})}catch{}if(k)for(const n of["requestNonPersonalizedAds","pauseAdRequests"])k[n]!==void 0&&(g[n]=k[n]);Uq(k,m,f);h.adsbygoogle=g;k&&(g.onload=k.onload)}}})})(fg(), -typeof sttc==="undefined"?void 0:sttc,function(a,b){b=F(b,1)>2012?`_fy${F(b,1)}`:"";Ld`data:text/javascript,//show_ads_impl_preview.js`;return{Ib:Ld`https://pagead2.googlesyndication.com/pagead/managed/js/adsense/${a}/slotcar_library${b}.js`,Gb:Ld`https://pagead2.googlesyndication.com/pagead/managed/js/adsense/${a}/show_ads_impl${b}.js`,Fb:Ld`https://pagead2.googlesyndication.com/pagead/managed/js/adsense/${a}/show_ads_impl_with_ama${b}.js`,Kb:/^(?:https?:)?\/\/(?:pagead2\.googlesyndication\.com|securepubads\.g\.doubleclick\.net)\/pagead\/(?:js\/)?(?:show_ads|adsbygoogle(_direct)?)\.js(?:[?#].*)?$/}}); -}).call(this,"[2021,\"r20250327\",\"r20190131\",null,null,null,null,\".google.cn\",null,null,null,[[[698926295,null,null,[1]],[null,619278254,null,[null,10]],[676894296,null,null,[1]],[682658313,null,null,[1]],[null,1130,null,[null,100]],[null,1340,null,[null,0.2]],[null,1338,null,[null,0.3]],[null,1336,null,[null,1.2]],[null,1339,null,[null,0.3]],[null,1032,null,[null,200],[[[12,null,null,null,4,null,\"Android\",[\"navigator.userAgent\"]],[null,500]]]],[null,728201648,null,[null,100]],[null,1224,null,[null,0.01]],[null,1346,null,[null,6]],[null,1347,null,[null,3]],[null,1343,null,[null,300]],[null,1263,null,[null,-1]],[null,1323,null,[null,-1]],[null,1265,null,[null,-1]],[null,1264,null,[null,-1]],[1267,null,null,[1]],[null,66,null,[null,-1]],[null,65,null,[null,-1]],[1241,null,null,[1]],[1300,null,null,[1]],[null,null,null,[null,null,null,[\"en\",\"de\",\"fr\",\"es\",\"ja\"]],null,1273],[null,null,null,[null,null,null,[\"44786015\",\"44786016\"]],null,1261],[1318,null,null,[1]],[1372,null,null,[1]],[45682913,null,null,[1]],[null,717888910,null,[null,0.5]],[null,null,null,[null,null,null,[\"1\",\"2\",\"3\",\"4\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"24\",\"29\",\"30\",\"34\"]],null,null,null,627094447],[null,null,null,[null,null,null,[\"33\",\"38\"]],null,null,null,641845510],[622128248,null,null,[]],[null,null,589752731,[null,null,\"#FFFFFF\"]],[null,null,589752730,[null,null,\"#1A73E8\"]],[null,null,null,[null,null,null,[\"29_18\",\"30_19\"]],null,null,null,635821288],[732113159,null,null,[1]],[null,null,null,[null,null,null,[\"29_5\",\"30_6\"]],null,null,null,636146137],[636570127,null,null,[1]],[null,717888912,null,[null,0.6]],[null,null,null,[null,null,null,[\"1\",\"2\",\"4\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"24\",\"29\",\"30\",\"34\"]],null,null,null,627094446],[null,652486359,null,[null,3]],[null,626062006,null,[null,670]],[null,688905693,null,[null,2]],[null,666400580,null,[null,22]],[null,null,null,[null,null,null,[\"\",\"ar\",\"bn\",\"en\",\"es\",\"fr\",\"hi\",\"id\",\"ja\",\"ko\",\"mr\",\"pt\",\"ru\",\"sr\",\"te\",\"th\",\"tr\",\"uk\",\"vi\",\"zh\"]],null,712458671],[null,687270738,null,[null,500]],[null,null,null,[],null,null,null,683929765],[655991266,null,null,[1]],[725532016,null,null,[1]],[null,643258048,null,[null,0.15]],[null,643258049,null,[null,0.33938]],[null,618163195,null,[null,15000]],[null,624950166,null,[null,15000]],[null,623405755,null,[null,300]],[null,508040914,null,[null,500]],[null,547455356,null,[null,49]],[null,727864505,null,[null,3]],[null,650548030,null,[null,2]],[null,650548032,null,[null,300]],[null,650548031,null,[null,1]],[null,655966487,null,[null,300]],[null,655966486,null,[null,250]],[null,469675170,null,[null,60000]],[675298507,null,null,[]],[711741274,null,null,[]],[null,684147713,null,[null,-1]],[null,684147711,null,[null,-1]],[null,684147712,null,[null,-1]],[678806782,null,null,[1]],[570863962,null,null,[1]],[null,null,570879859,[null,null,\"control_1\\\\.\\\\d\"]],[null,570863961,null,[null,50]],[570879858,null,null,[1]],[null,1085,null,[null,5]],[null,63,null,[null,30]],[null,1080,null,[null,5]],[null,10019,null,[null,5]],[10016,null,null,[1]],[null,1027,null,[null,10]],[null,57,null,[null,120]],[null,1079,null,[null,5]],[null,1050,null,[null,30]],[null,58,null,[null,120]],[null,10021,null,[null,2]],[715572365,null,null,[1]],[715572366,null,null,[1]],[555237685,null,null,[1]],[45460956,null,null,[]],[45414947,null,null,[1]],[null,472785970,null,[null,500]],[null,732217386,null,[null,10000]],[null,732217387,null,[null,500]],[null,733329086,null,[null,30000]],[null,629808663,null,[null,100]],[null,736623795,null,[null,250]],[null,550718588,null,[null,250]],[716210739,null,null,[1]],[null,624290870,null,[null,50]],[null,null,null,[null,null,null,[\"AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==\",\"Amm8\/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq\/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ==\",\"A9wSqI5i0iwGdf6L1CERNdmsTPgVu44ewj8QxTBYgsv1LCPUVF7YmWOvTappqB1139jAymxUW\/RO8zmMqo4zlAAAAACNeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9\",\"A+d7vJfYtay4OUbdtRPZA3y7bKQLsxaMEPmxgfhBGqKXNrdkCQeJlUwqa6EBbSfjwFtJWTrWIioXeMW+y8bWAgQAAACTeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9\"]],null,1934],[485990406,null,null,[]]],[[12,[[10,[[31061690],[31061691,[[83,null,null,[1]],[84,null,null,[1]]]]],null,59],[40,[[95340252],[95340253,[[662101537,null,null,[1]]]]],[4,null,9,null,null,null,null,[\"LayoutShift\"]],71,null,null,null,800,null,null,null,null,null,5],[40,[[95340254],[95340255,[[662101539,null,null,[1]]]]],[4,null,9,null,null,null,null,[\"LayoutShift\"]],71,null,null,null,800,null,null,null,null,null,5]]],[13,[[500,[[31061692],[31061693,[[77,null,null,[1]],[78,null,null,[1]],[80,null,null,[1]],[76,null,null,[1]]]]],[4,null,6,null,null,null,null,[\"31061691\"]]]]],[10,[[50,[[31067422],[31067423,[[null,1032,null,[]]]]],[3,[[4,null,8,null,null,null,null,[\"gmaSdk.getQueryInfo\"]],[4,null,8,null,null,null,null,[\"webkit.messageHandlers.getGmaQueryInfo.postMessage\"]],[4,null,8,null,null,null,null,[\"webkit.messageHandlers.getGmaSig.postMessage\"]]]],69],[10,[[31083552],[44776368]],[3,[[4,null,8,null,null,null,null,[\"gmaSdk.getQueryInfo\"]],[4,null,8,null,null,null,null,[\"webkit.messageHandlers.getGmaQueryInfo.postMessage\"]],[4,null,8,null,null,null,null,[\"webkit.messageHandlers.getGmaSig.postMessage\"]]]],69],[10,[[31084127],[31084128]]],[1,[[31089421],[31089422,[[676460084,null,null,[1]]]]],null,139,null,null,null,998,null,null,null,null,null,8],[1,[[31089423],[31089424]],[4,null,61],139,null,null,null,998,null,null,null,null,null,8],[200,[[31090664],[31090665,[[45675667,null,null,[1]]]]]],[100,[[31091239],[31091240,[[732327995,null,null,[1]]]]]],[50,[[31091241],[31091242,[[736171003,null,null,[1]]]]]],[1000,[[31091323,[[null,null,14,[null,null,\"31091323\"]]],[6,null,null,null,6,null,\"31091323\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091324,[[null,null,14,[null,null,\"31091324\"]]],[6,null,null,null,6,null,\"31091324\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[50,[[31091333],[31091334,[[736254284,null,null,[1]]]]]],[1000,[[31091361,[[null,null,14,[null,null,\"31091361\"]]],[6,null,null,null,6,null,\"31091361\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091362,[[null,null,14,[null,null,\"31091362\"]]],[6,null,null,null,6,null,\"31091362\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091375,[[null,null,14,[null,null,\"31091375\"]]],[6,null,null,null,6,null,\"31091375\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091376,[[null,null,14,[null,null,\"31091376\"]]],[6,null,null,null,6,null,\"31091376\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[10,[[31091383],[31091384,[[739956550,null,null,[1]]]]]],[1000,[[31091407,[[null,null,14,[null,null,\"31091407\"]]],[6,null,null,null,6,null,\"31091407\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091408,[[null,null,14,[null,null,\"31091408\"]]],[6,null,null,null,6,null,\"31091408\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091464,[[null,null,14,[null,null,\"31091464\"]]],[6,null,null,null,6,null,\"31091464\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1000,[[31091465,[[null,null,14,[null,null,\"31091465\"]]],[6,null,null,null,6,null,\"31091465\"]]],[4,null,55],63,null,null,null,null,null,null,null,null,2],[1,[[42531513],[42531514,[[316,null,null,[1]]]]]],[1,[[42531644],[42531645,[[368,null,null,[1]]]],[42531646,[[369,null,null,[1]],[368,null,null,[1]]]]]],[50,[[42531705],[42531706]]],[1,[[42532242],[42532243,[[1256,null,null,[1]],[290,null,null,[1]]]]]],[50,[[42532523],[42532524,[[1300,null,null,[]]]]]],[null,[[42532525],[42532526]]],[1,[[44719338],[44719339,[[334,null,null,[1]],[null,54,null,[null,100]],[null,66,null,[null,10]],[null,65,null,[null,1000]]]]]],[1,[[44801778],[44801779,[[506914611,null,null,[1]]]]],[4,null,55]],[10,[[95330276],[95330278,[[null,1336,null,[null,1]]]],[95330279,[[null,1336,null,[null,0.8]]]],[95357008,[[null,1336,null,[null,0.9]]]],[95357009,[[null,1336,null,[null,0.7]]]]]],[50,[[95331832],[95331833,[[1342,null,null,[1]]]]]],[10,[[95332584],[95332585,[[null,1343,null,[null,600]]]],[95332586,[[null,1343,null,[null,900]]]],[95332587,[[null,1343,null,[null,1200]]]]]],[10,[[95332589],[95332590,[[1344,null,null,[1]]]]]],[10,[[95332923],[95332924,[[null,1338,null,[null,0.8]]]],[95332925,[[null,1339,null,[null,0.8]]]],[95332926,[[null,1340,null,[null,0.8]]]],[95332927,[[null,1340,null,[null,0.8]],[null,1338,null,[null,0.8]],[null,1339,null,[null,0.8]]]]]],[10,[[95333409],[95333410,[[null,1346,null,[null,-1]],[null,1347,null,[null,-1]]]],[95333411,[[null,1346,null,[null,3]],[null,1347,null,[null,1]]]],[95333412,[[null,1346,null,[null,8]],[null,1347,null,[null,5]]]]]],[360,[[95334516,[[null,null,null,[null,null,null,[\"95334518\"]],null,null,null,630330362]]],[95334517,[[626390500,null,null,[1]],[null,null,null,[null,null,null,[\"95334519\"]],null,null,null,630330362]]]],[2,[[4,null,55],[12,null,null,null,2,null,\"buzzfun\\\\.me\/|diggfun\\\\.co\/|indiaimagine\\\\.com\/\"]]]],[50,[[95344787,[[null,null,null,[null,null,null,[\"95344792\"]],null,null,null,630330362]]],[95344788,[[566279275,null,null,[1]],[622128248,null,null,[1]],[null,null,null,[null,null,null,[\"95344793\"]],null,null,null,630330362]]],[95344789,[[622128248,null,null,[1]],[566279276,null,null,[1]],[null,null,null,[null,null,null,[\"95344794\"]],null,null,null,630330362]]],[95344790,[[566279275,null,null,[1]],[566279276,null,null,[1]],[null,null,null,[null,null,null,[\"95344795\"]],null,null,null,630330362]]],[95344791,[[566279275,null,null,[1]],[622128248,null,null,[1]],[566279276,null,null,[1]],[null,null,null,[null,null,null,[\"95344796\"]],null,null,null,630330362]]]],[4,null,55]],[1,[[95345037],[95345038,[[1377,null,null,[1]]]]],[4,null,55]],[null,[[95348881],[95348882,[[45650867,null,null,[1]]]]],null,130,null,null,null,null,null,null,null,null,null,7],[10,[[95352051,[[null,null,null,[null,null,null,[\"95352054\"]],null,null,null,630330362]]],[95352052,[[null,643258048,null,[]],[null,null,null,[null,null,null,[\"95352055\"]],null,null,null,630330362]]],[95352053,[[null,643258048,null,[]],[null,643258049,null,[]],[null,null,null,[null,null,null,[\"95352056\"]],null,null,null,630330362]]]],[4,null,55]],[50,[[95353386],[95353387,[[675298507,null,null,[1]]]]]],[30,[[95353420],[95353421,[[10018,null,null,[1]]]],[95355501,[[10018,null,null,[1]],[null,10021,null,[null,1.5]]]],[95355905,[[10018,null,null,[1]],[null,10023,null,[null,15]],[10022,null,null,[1]]]]]],[50,[[95353450],[95353451,[[10017,null,null,[1]]]]]],[50,[[95353929],[95353930,[[10020,null,null,[1]]]]]],[100,[[95354562],[95354563,[[1382,null,null,[1]]]]],[4,null,55]],[100,[[95354564],[95354565]],[4,null,55]],[50,[[95355310],[95355311,[[1134,null,null,[1]]]]]],[null,[[95355431,[[null,null,null,[null,null,null,[\"95355433\"]],null,null,null,630330362]]],[95355432,[[45683445,null,null,[1]],[null,null,null,[null,null,null,[\"95355434\"]],null,null,null,630330362]]]],[4,null,55]],[333,[[95356498,[[null,null,null,[null,null,null,[\"95356501\"]],null,null,null,630330362]]],[95356499,[[null,717888910,null,[null,0.6]],[null,null,null,[null,null,null,[\"95356502\"]],null,null,null,630330362]]],[95356500,[[null,717888910,null,[null,0.7]],[null,null,null,[null,null,null,[\"95356503\"]],null,null,null,630330362]]]],[4,null,55]],[333,[[95356504,[[null,null,null,[null,null,null,[\"95356507\"]],null,null,null,630330362]]],[95356505,[[null,717888912,null,[null,0.65]],[null,null,null,[null,null,null,[\"95356508\"]],null,null,null,630330362]]],[95356506,[[null,717888912,null,[null,0.7]],[null,null,null,[null,null,null,[\"95356509\"]],null,null,null,630330362]]]],[4,null,55]],[10,[[95356626,[[null,null,null,[null,null,null,[\"95356670\"]],null,null,null,630330362]]],[95356654,[[728618449,null,null,[1]],[null,null,null,[null,null,null,[\"95356671\"]],null,null,null,630330362]]]],[4,null,55]],[10,[[95357138],[95357139,[[711741274,null,null,[1]]]]]],[50,[[95357153,[[null,null,null,[null,null,null,[\"95357153\"]],null,null,null,630330362]]],[95357154,[[null,650548032,null,[null,28]],[null,null,null,[null,null,null,[\"95357154\"]],null,null,null,630330362]]]],[4,null,55],142],[50,[[95357156,[[null,null,null,[null,null,null,[\"95357156\"]],null,null,null,630330362]]],[95357157,[[null,650548032,null,[null,100]],[null,null,null,[null,null,null,[\"95357157\"]],null,null,null,630330362]]]],[4,null,55],142]]],[17,[[10,[[31084487],[31084488]],null,null,null,null,32,null,null,142,1],[10,[[31089209],[31089210]],null,null,null,null,39,null,null,189,1],[96,[[31090357]],[2,[[4,null,55],[7,null,null,15,null,20250512]]],null,null,null,null,null,null,194,1],[896,[[31090358,null,[4,null,71,null,null,null,null,[\"194\",\"14\"]]]],[2,[[4,null,55],[7,null,null,15,null,20250512]]],null,null,null,null,96,null,194,1],[10,[[31090956],[31090957,[[733329085,null,null,[1]]]]],null,null,null,null,null,500,null,198,1],[10,[[31091194],[31091195,[[730909244,null,null,[1]]]],[31091196,[[730909245,null,null,[1]],[730909244,null,null,[1]]]],[31091197,[[730909244,null,null,[1]],[730909246,null,null,[1]]]],[31091198,[[730909244,null,null,[1]],[730909247,null,null,[1]]]]],null,null,null,null,null,200,null,200,1],[10,[[31091205],[31091206,[[732217385,null,null,[1]]]]],null,null,null,null,null,700,null,198,1],[10,[[31091243],[31091244,[[736623794,null,null,[1]]]]],null,null,null,null,null,800,null,198,1],[50,[[95356661,[[null,null,null,[null,null,null,[\"95356661\",\"95356663\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356663\"]],null,null,null,630330362]]],[95356662,[[655991266,null,null,[]],[null,null,null,[null,null,null,[\"95356662\",\"95356664\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356664\"]],null,null,null,630330362]]]],[4,null,55],null,null,null,null,null,null,203],[500,[[95356787,[[null,null,null,[null,null,null,[\"95356787\",\"95356789\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356789\"]],null,null,null,630330362]]],[95356788,[[713244099,null,null,[1]],[null,null,null,[null,null,null,[\"95356788\",\"95356790\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356790\"]],null,null,null,630330362]]]],[4,null,55],null,null,null,null,null,null,201],[50,[[95356797,[[null,652486359,null,[null,9]],[null,null,null,[null,null,null,[\"95356799\"]],null,null,null,630330362]]],[95356798,[[null,652486359,null,[null,11]],[null,null,null,[null,null,null,[\"95356800\"]],null,null,null,630330362]]],[95356807,[[null,null,null,[null,null,null,[\"95356810\"]],null,null,null,630330362]]],[95356808,[[null,652486359,null,[null,5]],[null,null,null,[null,null,null,[\"95356811\"]],null,null,null,630330362]]],[95356809,[[null,652486359,null,[null,7]],[null,null,null,[null,null,null,[\"95356812\"]],null,null,null,630330362]]]],[4,null,55],null,null,null,null,null,null,204,1],[333,[[95356927,[[null,null,null,[null,null,null,[\"95356927\",\"95356930\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356930\"]],null,null,null,630330362]]],[95356928,[[null,null,716722045,[null,null,\"520px\"]],[null,null,null,[null,null,null,[\"95356928\",\"95356931\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356931\"]],null,null,null,630330362]]],[95356929,[[null,null,716722045,[null,null,\"600px\"]],[null,null,null,[null,null,null,[\"95356929\",\"95356932\"]],null,null,null,631402549],[null,null,null,[null,null,null,[\"95356932\"]],null,null,null,630330362]]]],[4,null,55],null,null,null,null,null,null,205]]],[11,[[50,[[31088249],[31088250]],null,122,null,null,null,null,null,null,null,null,null,4]]]],null,null,[null,1000,1,1000]],[1,[],null,null,null,null,null,null,\"ca-pub-8543159550507237\"],null,\"31091324\",1,null,178256474,[95355973,95355975],null,null,null,null,null,null,[0,0,0],[\"ca-pub-8543159550507237\",null,1],null,\"m202503270101\"]"); diff --git a/PostgRESTAPI_files/f.txt b/PostgRESTAPI_files/f.txt deleted file mode 100644 index b45dead..0000000 --- a/PostgRESTAPI_files/f.txt +++ /dev/null @@ -1,762 +0,0 @@ -(function(sttc){'use strict';var aa,ba=Object.defineProperty,ca=globalThis,da=typeof Symbol==="function"&&typeof Symbol("x")==="symbol",ea={},fa={};function ha(a,b,c){if(!c||a!=null){c=fa[b];if(c==null)return a[b];c=a[c];return c!==void 0?c:a[b]}} -function ia(a,b,c){if(b)a:{var d=a.split(".");a=d.length===1;var e=d[0],f;!a&&e in ea?f=ea:f=ca;for(e=0;e>>0,fa[d]=da?ca.Symbol(d):"$jscp$"+a+"$"+d),ba(f,fa[d],{configurable:!0,writable:!0,value:b})))}}var ja=Object.create,ka=Object.setPrototypeOf; -function la(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;ka(a,b);a.Nk=b.prototype}ia("Symbol.dispose",function(a){return a?a:Symbol("Symbol.dispose")},"es_next"); -ia("String.prototype.replaceAll",function(a){return a?a:function(b,c){if(b instanceof RegExp&&!b.global)throw new TypeError("String.prototype.replaceAll called with a non-global RegExp argument.");return b instanceof RegExp?this.replace(b,c):this.replace(new RegExp(String(b).replace(/([-()\[\]{}+?*.$\^|,:#>>0),ua=0;function va(a,b,c){return a.call.apply(a.bind,arguments)} -function wa(a,b,c){if(!a)throw Error();if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}}function xa(a,b,c){xa=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?va:wa;return xa.apply(null,arguments)} -function ya(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function za(a,b,c){a=a.split(".");c=c||q;for(var d;a.length&&(d=a.shift());)a.length||b===void 0?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b}function Aa(a){return a} -function Ba(a,b){function c(){}c.prototype=b.prototype;a.Nk=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Ko=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h=0;--c)c in d&&b.call(void 0,d[c],c,a)} -function La(a,b){const c=a.length,d=[];let e=0;const f=typeof a==="string"?a.split(""):a;for(let g=0;g=0}function Ra(a,b){b=Ea(a,b);let c;(c=b>=0)&&Array.prototype.splice.call(a,b,1);return c}function Sa(a,b){let c=0;Ka(a,function(d,e){b.call(void 0,d,e,a)&&Array.prototype.splice.call(a,e,1).length==1&&c++})}function Ua(a){return Array.prototype.concat.apply([],arguments)} -function Va(a){const b=a.length;if(b>0){const c=Array(b);for(let d=0;d>>1);let h;h=c(b,a[g]);h>0?d=g+1:(e=g,f=!h)}return f?d:-d-1}function ab(a,b){return a>b?1:a0;c--){const d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}};var db={gl:"google_adtest",ll:"google_ad_client",Al:"google_ad_intent_query",zl:"google_ad_intent_qetid",yl:"google_ad_intent_eids",xl:"google_ad_intents_format",ml:"google_ad_format",rl:"google_ad_height",Ml:"google_ad_width",Bl:"google_ad_layout",Cl:"google_ad_layout_key",El:"google_ad_output",Fl:"google_ad_region",Il:"google_ad_slot",Kl:"google_ad_type",Ll:"google_ad_url",tm:"google_gl",Bm:"google_enable_ose",Lm:"google_full_width_responsive",Qn:"google_rl_filtering",Pn:"google_rl_mode",Rn:"google_rt", -On:"google_rl_dest_url",wn:"google_max_radlink_len",Bn:"google_num_radlinks",Cn:"google_num_radlinks_per_unit",kl:"google_ad_channel",vn:"google_max_num_ads",xn:"google_max_responsive_height",gm:"google_color_border",Am:"google_enable_content_recommendations",qm:"google_content_recommendation_ui_type",pm:"google_source_type",om:"google_content_recommendation_rows_num",nm:"google_content_recommendation_columns_num",mm:"google_content_recommendation_ad_positions",rm:"google_content_recommendation_use_square_imgs", -im:"google_color_link",hm:"google_color_line",km:"google_color_url",il:"google_ad_block",Hl:"google_ad_section",jl:"google_ad_callback",dm:"google_captcha_token",jm:"google_color_text",Yl:"google_alternate_ad_url",wl:"google_ad_host_tier_id",em:"google_city",ul:"google_ad_host",vl:"google_ad_host_channel",Zl:"google_alternate_color",fm:"google_color_bg",Cm:"google_encoding",Jm:"google_font_face",Nm:"google_hints",en:"google_image_size",yn:"google_mtl",qo:"google_cpm",lm:"google_contents",zn:"google_native_settings_key", -sm:"google_country",oo:"google_targeting",Km:"google_font_size",ym:"google_disable_video_autoplay",Eo:"google_video_product_type",Do:"google_video_doc_id",Co:"google_cust_gender",ho:"google_cust_lh",fo:"google_cust_l",po:"google_tfs",mn:"google_kw",lo:"google_tag_for_child_directed_treatment",mo:"google_tag_for_under_age_of_consent",Tn:"google_region",vm:"google_cust_criteria",Gl:"google_safe",um:"google_ctr_threshold",Vn:"google_resizing_allowed",Xn:"google_resizing_width",Wn:"google_resizing_height", -Bo:"google_cust_age",qn:"google_language",nn:"google_kw_type",In:"google_pucrd",Gn:"google_page_url",no:"google_tag_partner",bo:"google_restrict_data_processing",bl:"google_adbreak_test",ql:"google_ad_frequency_hint",el:"google_admob_interstitial_slot",fl:"google_admob_rewarded_slot",dl:"google_admob_ads_only",Jl:"google_ad_start_delay_hint",un:"google_max_ad_content_rating",Kn:"google_ad_public_floor",Jn:"google_ad_private_floor",zo:"google_traffic_source",En:"google_overlays",Hn:"google_privacy_treatments", -jo:"google_special_category_data",Fo:"google_wrap_fullscreen_ad",Dl:"google_ad_loaded_callback"};function eb(){return!1}function fb(){return!0}function gb(a){const b=arguments,c=b.length;return function(){for(let d=0;d0:!1}function Hb(){return Gb()?!1:Fb("Opera")}function Ib(){return Fb("Firefox")||Fb("FxiOS")}function Jb(){return Fb("Safari")&&!(Kb()||(Gb()?0:Fb("Coast"))||Hb()||(Gb()?0:Fb("Edge"))||(Gb()?Eb("Microsoft Edge"):Fb("Edg/"))||(Gb()?Eb("Opera"):Fb("OPR"))||Ib()||Fb("Silk")||Fb("Android"))}function Kb(){return Gb()?Eb("Chromium"):(Fb("Chrome")||Fb("CriOS"))&&!(Gb()?0:Fb("Edge"))||Fb("Silk")};function Lb(){return sb&&Cb?Cb.mobile:!Mb()&&(Fb("iPod")||Fb("iPhone")||Fb("Android")||Fb("IEMobile"))}function Mb(){return sb&&Cb?!Cb.mobile&&(Fb("iPad")||Fb("Android")||Fb("Silk")):Fb("iPad")||Fb("Android")&&!Fb("Mobile")||Fb("Silk")};function Nb(a,b,c){return Math.min(Math.max(a,b),c)}function Ob(a){return Array.prototype.reduce.call(arguments,function(b,c){return b+c},0)}function Qb(a){return Ob.apply(null,arguments)/arguments.length};function Rb(a,b){const c={};for(const d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c}function Sb(a){var b=Tb;a:{for(const c in b)if(b[c]==a){a=!0;break a}a=!1}return a}function Ub(a){const b=[];let c=0;for(const d in a)b[c++]=a[d];return b}function Vb(a){const b={};for(const c in a)b[c]=a[c];return b}const Wb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); -function Xb(a,b){let c,d;for(let e=1;ec;a=bc.createPolicy("goog#html",{createHTML:b,createScript:b,createScriptURL:b})}catch(b){}return a}function ec(){cc===void 0&&(cc=dc());return cc};var fc=class{constructor(a){this.g=a}toString(){return this.g+""}};function gc(a){const b=ec();return new fc(b?b.createScriptURL(a):a)}function hc(a){if(a instanceof fc)return a.g;throw Error("");};var ic=class{constructor(a){this.g=a}toString(){return this.g}},jc=new ic("about:invalid#zClosurez");function kc(a){return a instanceof ic}function lc(a){if(kc(a))return a.g;throw Error("");};class mc{constructor(a){this.Sj=a}}function nc(a){return new mc(b=>b.substr(0,a.length+1).toLowerCase()===a+":")}const oc=[nc("data"),nc("http"),nc("https"),nc("mailto"),nc("ftp"),new mc(a=>/^[^:]*([/?#]|$)/.test(a))];function pc(a,b=oc){if(kc(a))return a;for(let c=0;c{if(f instanceof Cc)f=f.g;else throw Error("");return f});const e=b.toLowerCase();if(d.every(f=>e.indexOf(f)!==0))throw Error(`Attribute "${b}" does not match any of the allowed prefixes.`);a.setAttribute(b,c)};var Gc=class{constructor(a){this.g=a}toString(){return this.g}};function Hc(a){if(a instanceof Gc)return a.g;throw Error("");};function Ic(a,b){a.__closure__error__context__984382||(a.__closure__error__context__984382={});a.__closure__error__context__984382.severity=b};function Jc(a,b){const c={"&":"&","<":"<",">":">",""":'"'};let d;d=b?b.createElement("div"):q.document.createElement("div");return a.replace(Kc,function(e,f){let g=c[e];if(g)return g;f.charAt(0)=="#"&&(f=Number("0"+f.slice(1)),isNaN(f)||(g=String.fromCharCode(f)));g||(Dc(d,yc(e+" ")),g=d.firstChild.nodeValue.slice(0,-1));return c[e]=g})}var Kc=/&([^;\s<&]+);?/g;function Lc(a){let b=0;for(let c=0;c>>0;return b} -function Mc(a){return String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()})}function Nc(a){return a.replace(RegExp("(^|[\\s]+)([a-z])","g"),function(b,c,d){return c+d.toUpperCase()})};var Oc=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");var Pc=Gb()?!1:Fb("Trident")||Fb("MSIE"),Qc=Fb("Edge")||Pc,Vc=Fb("Gecko")&&!(Ab(Bb(),"WebKit")&&!Fb("Edge"))&&!(Fb("Trident")||Fb("MSIE"))&&!Fb("Edge"),Wc=Ab(Bb(),"WebKit")&&!Fb("Edge");function Fc(a){return new Cc(a[0].toLowerCase())};function Xc(a){return new Gc(a[0])};function Yc(a){return a instanceof xc?a:yc(Zc(String(a)))}function Zc(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function $c(a){const b=Yc("");return yc(a.map(c=>zc(Yc(c))).join(zc(b).toString()))}const ad=/^[a-z][a-z\d-]*$/i,bd="APPLET BASE EMBED IFRAME LINK MATH META OBJECT SCRIPT STYLE SVG TEMPLATE".split(" ");var cd="AREA BR COL COMMAND HR IMG INPUT KEYGEN PARAM SOURCE TRACK WBR".split(" "); -const dd=["action","formaction","href"];function ed(a){if(!ad.test(a))throw Error("");if(bd.indexOf(a.toUpperCase())!==-1)throw Error("");}function fd(a,b,c){ed(a);let d=`<${a}`;b&&(d+=gd(b));Array.isArray(c)||(c=c===void 0?[]:[c]);cd.indexOf(a.toUpperCase())!==-1?d+=">":(b=$c(c.map(e=>e instanceof xc?e:Yc(String(e)))),d+=">"+b.toString()+"");return yc(d)} -function gd(a){var b="";const c=Object.keys(a);for(let f=0;fe(k,h)):(b+=f+encodeURIComponent(h)+"="+encodeURIComponent(g),f="&"))}let f=b.length?"&":"?";d.constructor===Object&&(d=Object.entries(d));Array.isArray(d)?d.forEach(g=>e(g[1],g[0])):d.forEach(e);return gc(a+b+c)};function kd(a){try{return!!a&&a.location.href!=null&&ac(a,"foo")}catch{return!1}}function ld(a,b=q){b=md(b);let c=0;for(;b&&c++<40&&!a(b);)b=md(b)}function md(a){try{const b=a.parent;if(b&&b!=a)return b}catch{}return null}function qd(a){return kd(a.top)?a.top:null}function rd(a,b){const c=sd("SCRIPT",a);Bc(c,b);(a=a.getElementsByTagName("script")[0])&&a.parentNode&&a.parentNode.insertBefore(c,a)}function td(a,b){return b.getComputedStyle?b.getComputedStyle(a,null):a.currentStyle} -function ud(){if(!globalThis.crypto)return Math.random();try{const a=new Uint32Array(1);globalThis.crypto.getRandomValues(a);return a[0]/65536/65536}catch{return Math.random()}}function vd(a,b){if(a)for(const c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(a[c],c,a)}function wd(a){const b=[];vd(a,function(c){b.push(c)});return b}function xd(a){const b=a.length;if(b==0)return 0;let c=305419896;for(let d=0;d>2)+a.charCodeAt(d)&4294967295;return c>0?c:4294967296+c} -var zd=jb(()=>Pa(["Google Web Preview","Mediapartners-Google","Google-Read-Aloud","Google-Adwords"],yd)||Math.random()<1E-4);const yd=a=>Bb().indexOf(a)!=-1;var Ad=/^([0-9.]+)px$/,Bd=/^(-?[0-9.]{1,30})$/;function Cd(a){if(!Bd.test(a))return null;a=Number(a);return isNaN(a)?null:a}function Dd(a){return(a=Ad.exec(a))?+a[1]:null} -var Ed={Nl:"allow-forms",Ol:"allow-modals",Pl:"allow-orientation-lock",Ql:"allow-pointer-lock",Rl:"allow-popups",Sl:"allow-popups-to-escape-sandbox",Tl:"allow-presentation",Ul:"allow-same-origin",Vl:"allow-scripts",Wl:"allow-top-navigation",Xl:"allow-top-navigation-by-user-activation"};const Fd=jb(()=>wd(Ed));function Gd(){var a=["allow-top-navigation","allow-modals","allow-orientation-lock","allow-presentation","allow-pointer-lock"];const b=Fd();return a.length?La(b,c=>!Qa(a,c)):b} -function Hd(){const a=sd("IFRAME"),b={};Ga(Fd(),c=>{a.sandbox&&a.sandbox.supports&&a.sandbox.supports(c)&&(b[c]=!0)});return b} -var Ld=(a,b)=>{try{return!(!a.frames||!a.frames[b])}catch{return!1}},Md=(a,b)=>{for(let c=0;c<50;++c){if(Ld(a,b))return a;if(!(a=md(a)))break}return null},Nd=jb(()=>Lb()?2:Mb()?1:0),r=(a,b)=>{vd(b,(c,d)=>{a.style.setProperty(d,c,"important")})},Pd=(a,b)=>{if("length"in a.style){a=a.style;const c=a.length;for(let d=0;d{const b={};if(a){const c=/\s*:\s*/;Ga((a||"").split(/\s*;\s*/),d=>{if(d){var e=d.split(c);d=e[0];e=e[1];d&& -e&&(b[d.toLowerCase()]=e)}})}return b},Qd=a=>{const b=/!\s*important/i;Pd(a,(c,d)=>{b.test(c)?b.test(c):a.style.setProperty(d,c,"important")})};const Rd={["http://googleads.g.doubleclick.net"]:!0,["http://pagead2.googlesyndication.com"]:!0,["https://googleads.g.doubleclick.net"]:!0,["https://pagead2.googlesyndication.com"]:!0},Sd=/\.proxy\.(googleprod|googlers)\.com(:\d+)?$/,Td=/.*domain\.test$/,Ud=/\.prod\.google\.com(:\d+)?$/;var Vd=a=>Rd[a]||Sd.test(a)||Td.test(a)||Ud.test(a);let Wd=[]; -const Xd=()=>{const a=Wd;Wd=[];for(const b of a)try{b()}catch{}}; -var Yd=()=>{var a=Math.random;return Math.floor(a()*2**52)},Zd=(a,b)=>{if(typeof a.goog_pvsid!=="number")try{Object.defineProperty(a,"goog_pvsid",{value:Yd(),configurable:!1})}catch(c){b&&b.ma(784,c)}a=Number(a.goog_pvsid);b&&(!a||a<=0)&&b.ma(784,Error(`Invalid correlator, ${a}`));return a||-1},$d=(a,b)=>{a.document.readyState==="complete"?(Wd.push(b),Wd.length==1&&(window.Promise?Promise.resolve().then(Xd):window.setImmediate?setImmediate(Xd):setTimeout(Xd,0))):a.addEventListener("load",b)},ae=(a, -b)=>new Promise(c=>{setTimeout(()=>void c(b),a)});function sd(a,b=document){return b.createElement(String(a).toLowerCase())}var be=a=>{let b=a;for(;a&&a!=a.parent;)a=a.parent,kd(a)&&(b=a);return b},ce=a=>{var b=qd(a);if(!b)return 1;a=Nd()===0;const c=!!b.document.querySelector('meta[name=viewport][content*="width=device-width"]'),d=b.innerWidth;b=b.outerWidth;if(d===0)return 1;const e=Math.round((b/d+Number.EPSILON)*100)/100;return e===1?1:a||c?e:Math.round((b/d/.4+Number.EPSILON)*100)/100};let de;function ee(a){return(de||(de=new TextEncoder)).encode(a)};function fe(a){q.setTimeout(()=>{throw a;},0)};var ge={},he=null;function ie(a){var b=3;b===void 0&&(b=0);je();b=ge[b];const c=Array(Math.floor(a.length/3)),d=b[64]||"";let e=0,f=0;for(;e>2];g=b[(g&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[f++]=l+g+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[f]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join("")} -function ke(a){const b=[];let c=0;for(let d=0;d255&&(b[c++]=e&255,e>>=8);b[c++]=e}return ie(b)}function me(a){const b=[];ne(a,function(c){b.push(c)});return b} -function ne(a,b){function c(e){for(;d>4);g!=64&&(b(f<<4&240|g>>2),h!=64&&b(g<<6&192|h))}} -function je(){if(!he){he={};var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"];for(let c=0;c<5;c++){const d=a.concat(b[c].split(""));ge[c]=d;for(let e=0;e{q.setTimeout(()=>{a(b)},0)}}function Ae(a){if(ye)try{ye(a)}catch(b){throw b.cause=a,b;}}function Be(){const a=Error();Ic(a,"incident");ye?Ae(a):fe(a)}function Ce(a){a=Error(a);Ic(a,"warning");Ae(a);return a}function De(a,b){if(a!=null){var c=xe??(xe={});var d=c[a]||0;d>=b||(c[a]=d+1,Be())}};function Ee(a,b=!1){return b&&Symbol.for&&a?Symbol.for(a):a!=null?Symbol(a):Symbol()}var Fe=Ee(),Ge=Ee(),He=Ee(),Ie=Ee(),Je=Ee("m_m",!0),Ke=Ee();const u=Ee("jas",!0);var Le;const Me=[];Me[u]=55;Le=Object.freeze(Me);function Ne(a,b){a[u]|=b}function Oe(a,b){a[u]&=~b}function Pe(a){if(4&a)return 2048&a?2048:4096&a?4096:0}function Qe(a){Ne(a,34);return a}function Re(a){Ne(a,32);return a};const Se=typeof Je==="symbol";var Te={};function Ve(a){a=a[Je];const b=a===Te;Se&&a&&!b&&De(Ke,3);return b}function We(a){return a!==null&&typeof a==="object"&&!Array.isArray(a)&&a.constructor===Object}function Xe(a,b){if(a!=null)if(typeof a==="string")a=a?new ve(a,re):te();else if(a.constructor!==ve)if(a!=null&&a instanceof Uint8Array)a=a.length?new ve(new Uint8Array(a),re):te();else{if(!b)throw Error();a=void 0}return a}function Ye(a){if(a&2)throw Error();} -class Ze{constructor(a,b,c){this.g=a;this.i=b;this.j=c}next(){const a=this.g.next();a.done||(a.value=this.i.call(this.j,a.value));return a}[Symbol.iterator](){return this}}var $e=Object.freeze({});function af(a,b,c){const d=b&512?0:-1,e=a.length;b=b&64?b&256:!!e&&We(a[e-1]);const f=e+(b?-1:0);for(let g=0;ga!==null&&a!==void 0);var ff=df(a=>typeof a==="number"),gf=df(a=>typeof a==="string"),hf=df(a=>a===void 0);function jf(){var a=kf;return df(b=>{for(const c in a)if(b===a[c]&&!/^[0-9]+$/.test(c))return!0;return!1})}var lf=df(a=>!!a&&(typeof a==="object"||typeof a==="function"));function mf(){return nf(df((a,b)=>a===void 0?!0:gf(a,b)))}function nf(a){a.Pj=!0;return a}var of=df(a=>Array.isArray(a));function pf(){return df(a=>of(a)?a.every(b=>ff(b)):!1)};function qf(a){if(gf(a)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(a))throw Error(String(a));}else if(ff(a)&&!Number.isSafeInteger(a))throw Error(String(a));return BigInt(a)}var tf=df(a=>a>=rf&&a<=sf);const rf=BigInt(Number.MIN_SAFE_INTEGER),sf=BigInt(Number.MAX_SAFE_INTEGER);let uf=0,vf=0,wf;function xf(a){const b=a>>>0;uf=b;vf=(a-b)/4294967296>>>0}function yf(a){if(a<0){xf(-a);a=uf;var b=vf;b=~b;a?a=~a+1:b+=1;const [c,d]=[a,b];uf=c>>>0;vf=d>>>0}else xf(a)}function zf(a,b){const c=b*4294967296+(a>>>0);return Number.isSafeInteger(c)?c:Af(a,b)}function Af(a,b){b>>>=0;a>>>=0;var c;b<=2097151?c=""+(4294967296*b+a):c=""+(BigInt(b)<>>0)):c=Af(a,b);return c} -function Cf(a){a.length<16?yf(Number(a)):(a=BigInt(a),uf=Number(a&BigInt(4294967295))>>>0,vf=Number(a>>BigInt(32)&BigInt(4294967295)))};const Df=typeof BigInt==="function"?BigInt.asIntN:void 0,Ef=typeof BigInt==="function"?BigInt.asUintN:void 0,Ff=Number.isSafeInteger,Gf=Number.isFinite,Hf=Math.trunc;function If(a){if(a!=null&&typeof a!=="number")throw Error(`Value of float/double field must be a number, found ${typeof a}: ${a}`);return a}function Jf(a){if(a==null||typeof a==="number")return a;if(a==="NaN"||a==="Infinity"||a==="-Infinity")return Number(a)} -function Kf(a){if(typeof a!=="boolean")throw Error(`Expected boolean but got ${ma(a)}: ${a}`);return a}function Lf(a){if(a==null||typeof a==="boolean")return a;if(typeof a==="number")return!!a}const Mf=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Nf(a){switch(typeof a){case "bigint":return!0;case "number":return Gf(a);case "string":return Mf.test(a);default:return!1}}function Of(a){if(!Gf(a))throw Ce("enum");return a|0}function Pf(a){return a==null?a:Gf(a)?a|0:void 0} -function Qf(a){if(typeof a!=="number")throw Ce("int32");if(!Gf(a))throw Ce("int32");return a|0}function Rf(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Gf(a)?a|0:void 0}function Sf(a){if(typeof a!=="number")throw Ce("uint32");if(!Gf(a))throw Ce("uint32");return a>>>0}function Tf(a){if(a==null)return a;if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;return Gf(a)?a>>>0:void 0} -function Uf(a,b=0){if(!Nf(a))throw Ce("int64");const c=typeof a;switch(b){case 2048:switch(c){case "string":return Vf(a);case "bigint":return String(Df(64,a));default:return $f(a)}case 4096:switch(c){case "string":return ag(a);case "bigint":return qf(Df(64,a));default:return bg(a)}case 0:switch(c){case "string":return Vf(a);case "bigint":return qf(Df(64,a));default:return cg(a)}default:return wc(b,"Unknown format requested type for int64")}}function dg(a){return a==null?a:Uf(a,0)} -function eg(a){if(a[0]==="-")return!1;const b=a.length;return b<20?!0:b===20&&Number(a.substring(0,6))<184467}function fg(a){const b=a.length;return a[0]==="-"?b<20?!0:b===20&&Number(a.substring(0,7))>-922337:b<19?!0:b===19&&Number(a.substring(0,6))<922337}function gg(a){if(a<0){yf(a);var b=Af(uf,vf);a=Number(b);return Ff(a)?a:b}b=String(a);if(eg(b))return b;yf(a);return zf(uf,vf)} -function cg(a){a=Hf(a);if(!Ff(a)){yf(a);var b=uf,c=vf;if(a=c&2147483648)b=~b+1>>>0,c=~c>>>0,b==0&&(c=c+1>>>0);b=zf(b,c);a=typeof b==="number"?a?-b:b:a?"-"+b:b}return a}function hg(a){a=Hf(a);return a>=0&&Ff(a)?a:gg(a)}function $f(a){a=Hf(a);if(Ff(a))a=String(a);else{{const b=String(a);fg(b)?a=b:(yf(a),a=Bf())}}return a}function ig(a){a=Hf(a);if(a>=0&&Ff(a))a=String(a);else{{const b=String(a);eg(b)?a=b:(yf(a),a=Af(uf,vf))}}return a} -function Vf(a){var b=Hf(Number(a));if(Ff(b))return String(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));fg(a)||(Cf(a),a=Bf());return a}function ag(a){var b=Hf(Number(a));if(Ff(b))return qf(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));return qf(Df(64,BigInt(a)))}function bg(a){return Ff(a)?qf(cg(a)):qf($f(a))}function jg(a){var b=Hf(Number(a));if(Ff(b)&&b>=0)return String(b);b=a.indexOf(".");b!==-1&&(a=a.substring(0,b));eg(a)||(Cf(a),a=Af(uf,vf));return a} -function kg(a){if(a==null)return a;if(typeof a==="bigint")return tf(a)?a=Number(a):(a=Df(64,a),a=tf(a)?Number(a):String(a)),a;if(Nf(a))return typeof a==="number"?cg(a):Vf(a)}function lg(a){const b=typeof a;if(a==null)return a;if(b==="bigint")return qf(Df(64,a));if(Nf(a))return b==="string"?ag(a):bg(a)} -function mg(a,b=0){if(!Nf(a))throw Ce("uint64");const c=typeof a;switch(b){case 2048:switch(c){case "string":return jg(a);case "bigint":return String(Ef(64,a));default:return ig(a)}case 4096:switch(c){case "string":return b=Hf(Number(a)),Ff(b)&&b>=0?a=qf(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a=qf(Ef(64,BigInt(a)))),a;case "bigint":return qf(Ef(64,a));default:return Ff(a)?qf(hg(a)):qf(ig(a))}case 0:switch(c){case "string":return jg(a);case "bigint":return qf(Ef(64,a));default:return hg(a)}default:return wc(b, -"Unknown format requested type for int64")}}function ng(a){return a==null?a:mg(a,0)}function og(a){const b=typeof a;if(a==null)return a;if(b==="bigint")return String(Ef(64,a));if(Nf(a))return b==="string"?jg(a):ig(a)}function pg(a){if(a==null)return a;const b=typeof a;if(b==="bigint")return String(Df(64,a));if(Nf(a)){if(b==="string")return Vf(a);if(b==="number")return cg(a)}} -function qg(a){if(a==null)return a;const b=typeof a;if(b==="bigint")return String(Ef(64,a));if(Nf(a)){if(b==="string")return jg(a);if(b==="number")return hg(a)}}function rg(a){if(typeof a!=="string")throw Error();return a}function sg(a){if(a!=null&&typeof a!=="string")throw Error();return a}function tg(a){return a==null||typeof a==="string"?a:void 0} -function ug(a,b,c,d){if(a!=null&&typeof a==="object"&&Ve(a))return a;if(!Array.isArray(a))return c?d&2?((a=b[Fe])||(a=new b,Qe(a.T),a=b[Fe]=a),b=a):b=new b:b=void 0,b;let e=c=a[u]|0;e===0&&(e|=d&32);e|=d&2;e!==c&&(a[u]=e);return new b(a)}function vg(a,b,c){return b?rg(a):tg(a)??(c?"":void 0)};function wg(a){return a};const xg={},yg=(()=>class extends Map{constructor(){super()}})();function zg(a){return a}function Ag(a){if(a.Bc&2)throw Error("Cannot mutate an immutable Map");} -var Eg=class extends yg{constructor(a,b,c=zg,d=zg){super();let e=a[u]|0;e|=64;this.Bc=a[u]=e;this.Nb=b;this.Yd=c;this.Zh=this.Nb?Bg:d;for(let f=0;f{a.call(b,e.get(d),d,e)}):super.forEach(a,b)}set(a,b){Ag(this);a=this.Yd(a,!0,!1);return a==null?this:b==null?(super.delete(a),this):super.set(a,this.Zh(b,!0,!0,this.Nb,!1,this.Bc))}has(a){return super.has(this.Yd(a,!1,!1))}get(a){a=this.Yd(a,!1,!1);const b=super.get(a);if(b!==void 0){var c=this.Nb; -return c?(c=this.Zh(b,!1,!0,c,this.Mi,this.Bc),c!==b&&super.set(a,c),c):b}}[Symbol.iterator](){return this.entries()}};Eg.prototype.toJSON=void 0;function Bg(a,b,c,d,e,f){a=ug(a,d,c,f);e&&(a=Fg(a));return a}function Dg(a){return[a,this.get(a)]}let Gg;function Hg(){return Gg||(Gg=new Eg(Qe([]),void 0,void 0,void 0,xg))};function Ig(a,b,c,d,e){d=d?!!(b&32):void 0;const f=[];var g=a.length;let h,k,l,m=!1;b&64?(b&256?(g--,h=a[g],k=g):(k=4294967295,h=void 0),e||b&512||(m=!0,l=(Jg??wg)(h?k- -1:b>>15&1023||536870912,-1,a,h),k=l+-1)):(k=4294967295,b&1||(h=g&&a[g-1],We(h)?(g--,k=g,l=0):h=void 0));let n=void 0;for(let p=0;p=k?(n??(n={}))[p- -1]=t:f[p]=t)}if(h)for(let p in h)Object.prototype.hasOwnProperty.call(h,p)&&(a=h[p],a!=null&&(a=c(a,d))!=null&&(g=+p,gIg(a,0,Kg,void 0,!1);let Jg;function Lg(a){a=a.T;return Ig(a,a[u]|0,Kg,void 0,!1)};let Ng,Og;function Pg(a){switch(typeof a){case "boolean":return Ng||(Ng=[0,void 0,!0]);case "number":return a>0?void 0:a===0?Og||(Og=[0,void 0]):[-a,void 0];case "string":return[0,a];case "object":return a}}function Qg(a,b,c){a=Rg(a,b[0],b[1],c?1:2);b!==Ng&&c&&Ne(a,8192);return a} -function Rg(a,b,c,d){if(a==null){var e=96;c?(a=[c],e|=512):a=[];b&&(e=e&-33521665|(b&1023)<<15)}else{if(!Array.isArray(a))throw Error("narr");e=a[u]|0;8192&e||!(64&e)||2&e||Sg();if(e&1024)throw Error("farr");if(e&64)return d!==3||e&16384||(a[u]=e|16384),a;d===1||d===2||(e|=64);if(c&&(e|=512,c!==a[0]))throw Error("mid");a:{c=a;var f=c.length;if(f){var g=f-1;const k=c[g];if(We(k)){e|=256;b=e&512?0:-1;g-=b;if(g>=1024)throw Error("pvtlmt");for(var h in k)if(Object.prototype.hasOwnProperty.call(k,h))if(f= -+h,f1024)throw Error("spvt");e=e&-33521665|(h&1023)<<15}}}d===3&&(e|=16384);a[u]=e;return a}function Sg(){De(Ie,5)};function Tg(a,b){if(typeof a!=="object")return a;if(Array.isArray(a)){var c=a[u]|0;return a.length===0&&c&1?void 0:c&2?a:b&&(c===0||c&32&&!(c&64)&&c&16)?(Ne(a,34),c&4&&Object.freeze(a),a):Ig(a,c,Tg,b!==void 0,!0)}if(Ve(a))return Ug(a);if(a instanceof Eg){b=a.Bc;if(b&2)return a;if(!a.size)return;c=Qe(a.Wh());if(a.Nb)for(a=0;a=f&&b&256)b=a[f][c],g=!0;else if(e<=f)b=a[e];else return;if(d&&b!=null){d=d(b);if(d==null)return d;if(d!==b)return g?a[f][c]=d:a[e]=d,d}return b}function $g(a,b,c){const d=a.T;let e=d[u]|0;Ye(e);ah(d,e,b,c);return a} -function ah(a,b,c,d){const e=b&512?0:-1,f=c+e;var g=a.length-1;if(f>=g&&b&256)return a[g][c]=d,b;if(f<=g)return a[f]=d,b;d!==void 0&&(g=b>>15&1023||536870912,c>=g?d!=null&&(a[g+e]={[c]:d},b|=256,a[u]=b):a[f]=d);return b}function bh(a,b,c){return ch(a,b,c)!==void 0}function dh(a,b){a=a.T;return Zg(a,a[u]|0,b,Jf)}function eh(a){return a===$e?2:4} -function fh(a,b,c,d,e,f){const g=a.T;let h=g[u]|0;const k=2&h?1:d;e=!!e;d=gh(g,h,b);var l=d[u]|0;var m=l;4&m?f==null?a=!1:(!e&&f===0&&(2048&m||4096&m)&&(a.constructor[He]=(a.constructor[He]|0)+1)<5&&Be(),a=f===0?!1:!(f&m)):a=!0;if(a){4&l&&(d=[...d],l=hh(l,h),h=ah(g,h,b,d));for(m=a=0;a>BigInt(32)))}function mi(a){if(!a)return ni||(ni=new li(0,0));if(!/^\d+$/.test(a))return null;Cf(a);return new li(uf,vf)}var li=class{constructor(a,b){this.i=a>>>0;this.g=b>>>0}};let ni;function oi(a){a=BigInt.asUintN(64,a);return new pi(Number(a&BigInt(4294967295)),Number(a>>BigInt(32)))}function qi(a){if(!a)return ri||(ri=new pi(0,0));if(!/^-?\d+$/.test(a))return null;Cf(a);return new pi(uf,vf)} -var pi=class{constructor(a,b){this.i=a>>>0;this.g=b>>>0}};let ri;function si(a,b,c){for(;c>0||b>127;)a.g.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.g.push(b)}function ti(a,b){for(;b>127;)a.g.push(b&127|128),b>>>=7;a.g.push(b)}function ui(a,b){if(b>=0)ti(a,b);else{for(let c=0;c<9;c++)a.g.push(b&127|128),b>>=7;a.g.push(1)}}function vi(a,b){a.g.push(b>>>0&255);a.g.push(b>>>8&255);a.g.push(b>>>16&255);a.g.push(b>>>24&255)}var wi=class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;this.g=[];return a}};function xi(a,b){b.length!==0&&(a.j.push(b),a.i+=b.length)}function yi(a,b){xi(a,a.g.end());xi(a,b)}function zi(a,b,c){ti(a.g,b*8+c)}function Ai(a,b){zi(a,b,2);b=a.g.end();xi(a,b);b.push(a.i);return b}function Bi(a,b){var c=b.pop();for(c=a.i+a.g.length()-c;c>127;)b.push(c&127|128),c>>>=7,a.i++;b.push(c);a.i++}function Ci(a){xi(a,a.g.end());const b=new Uint8Array(a.i),c=a.j,d=c.length;let e=0;for(let f=0;f0;){for(var h=0;hg(h,k,l,f||(f=Zi(d).Rf),e||(e=bj(d)))}function bj(a){let b=a[Wi];if(!b){const c=Zi(a);b=(d,e)=>cj(d,e,c);a[Wi]=b}return b}function cj(a,b,c){af(a,a[u]|0|(c.Rf[1]?512:0),(d,e)=>{if(e!=null){var f=dj(c,d);f&&f(b,e,d)}})} -function dj(a,b){var c=a[b];if(c)return c;if(c=a.oj)if(c=c[b]){c=Array.isArray(c)?c[0]instanceof Qi?c:[Ui,c]:[c,void 0];var d=c[0].g;if(c=c[1]){const e=bj(c),f=Zi(c).Rf;c=a.Oj?Yi(f,e):(g,h,k)=>d(g,h,k,f,e)}else c=d;return a[b]=c}};function ej(a,b,c){if(Array.isArray(b)){var d=b[u]|0;if(d&4)return b;for(var e=0,f=0;e{Di(a,c,Qg([g,f],d,!1),e)});else if(Array.isArray(b))for(let f=0;f{var b;(b=a[Fe])||(b=new a,Qe(b.T),b=a[Fe]=b);return b}}function Tj(a){return b=>{const c=new Gi;cj(b.T,c,Zi(a));return Ci(c)}}function Uj(a){return b=>{if(b==null||b=="")b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");b=new a(Re(b))}return b}};hd`https://www.google.com/recaptcha/api2/aframe`;function Vj(a){var b=window;new Promise((c,d)=>{function e(){f.onload=null;f.onerror=null;f.parentElement?.removeChild(f)}const f=b.document.createElement("script");f.onload=()=>{e();c()};f.onerror=()=>{e();d(void 0)};f.type="text/javascript";Bc(f,a);b.document.readyState!=="complete"?qb(b,"load",()=>{b.document.body.appendChild(f)}):b.document.body.appendChild(f)})};async function Wj(a){var b=`${a.Za?"https://ep1.adtrafficquality.google/getconfig/sodar":"https://pagead2.googlesyndication.com/getconfig/sodar"}?sv=${200}&tid=${a.g}`+`&tv=${a.i}&st=`+`${a.yc}`;let c=void 0;try{c=await Xj(b)}catch(g){}if(c){b=a.dd||c.sodar_query_id;var d=c.rc_enable!==void 0&&a.j?c.rc_enable:"n",e=c.bg_snapshot_delay_ms===void 0?"0":c.bg_snapshot_delay_ms,f=c.is_gen_204===void 0?"1":c.is_gen_204;if(b&&c.bg_hash_basename&&c.bg_binary)return{context:a.l,Hi:c.bg_hash_basename,Gi:c.bg_binary, -Tj:a.g+"_"+a.i,dd:b,yc:a.yc,Xd:d,De:e,Vd:f,Za:a.Za}}}let Xj=a=>new Promise((b,c)=>{const d=new XMLHttpRequest;d.onreadystatechange=()=>{d.readyState===d.DONE&&(d.status>=200&&d.status<300?b(JSON.parse(d.responseText)):c())};d.open("GET",a,!0);d.send()}); -async function Yj(a){if(a=await Wj(a)){var b=window,c=b.GoogleGcLKhOms;c&&typeof c.push==="function"||(c=b.GoogleGcLKhOms=[]);c.push({_ctx_:a.context,_bgv_:a.Hi,_bgp_:a.Gi,_li_:a.Tj,_jk_:a.dd,_st_:a.yc,_rc_:a.Xd,_dl_:a.De,_g2_:a.Vd,_atqg_:a.Za===void 0?"0":a.Za?"1":"0"});if(c=b.GoogleDX5YKUSk)b.GoogleDX5YKUSk=void 0,c[1]();a=a.Za?hd`https://ep2.adtrafficquality.google/sodar/${"sodar2"}.js`:hd`https://tpc.googlesyndication.com/sodar/${"sodar2"}.js`;Vj(a)}};function Zj(a,b){return fi(a,1,b)}var ak=class extends G{g(){return C(this,1)}};function bk(a,b){return x(a,5,b)}function ck(a,b){return fi(a,3,b)}function dk(a,b){return E(a,6,b)}var ek=class extends G{};function fk(a){switch(a){case 1:return"gda";case 2:return"gpt";case 3:return"ima";case 4:return"pal";case 5:return"xfad";case 6:return"dv3n";case 7:return"spa";default:return"unk"}}var gk=class{constructor(a){this.g=a.i;this.i=a.j;this.l=a.l;this.dd=a.dd;this.A=a.da();this.yc=a.yc;this.Xd=a.Xd;this.De=a.De;this.Vd=a.Vd;this.j=a.g;this.Za=a.Za}},Tk=class{constructor(a,b,c){this.i=a;this.j=b;this.l=c;this.A=window;this.yc="env";this.Xd="n";this.De="0";this.Vd="1";this.g=!0;this.Za=!1}da(){return this.A}build(){return new gk(this)}};function Uk(a){var b=new Vk;return ei(b,1,a)}var Vk=class extends G{getValue(){return C(this,1)}getVersion(){return D(this,5)}};var Wk=class extends G{};var Xk=class extends G{};function Yk(a,b,c=null,d=!1,e=!1){Zk(a,b,c,d,e)}function Zk(a,b,c,d,e=!1){a.google_image_requests||(a.google_image_requests=[]);const f=sd("IMG",a.document);if(c||d){const g=h=>{c&&c(h);d&&Ra(a.google_image_requests,f);rb(f,"load",g);rb(f,"error",g)};qb(f,"load",g);qb(f,"error",g)}e&&(f.attributionSrc="");f.src=b;a.google_image_requests.push(f)} -function $k(a,b){let c=`https://${"pagead2.googlesyndication.com"}/pagead/gen_204?id=${b}`;vd(a,(d,e)=>{if(d||d===0)c+=`&${e}=${encodeURIComponent(String(d))}`});al(c)}function al(a){var b=window;b.fetch?b.fetch(a,{keepalive:!0,credentials:"include",redirect:"follow",method:"get",mode:"no-cors"}):Yk(b,a,void 0,!1,!1)};let bl=null;var cl=window;var dl=class extends G{};var el=class extends G{getCorrelator(){return Rh(this,1)}setCorrelator(a){return di(this,1,a)}};var fl=class extends G{};let gl=null,hl=null;function il(){if(gl!=null)return gl;gl=!1;try{const a=qd(q);a&&a.location.hash.indexOf("google_logging")!==-1&&(gl=!0)}catch(a){}return gl}function jl(){if(hl!=null)return hl;hl=!1;try{const a=qd(q);a&&a.location.hash.indexOf("auto_ads_logging")!==-1&&(hl=!0)}catch(a){}return hl}var kl=(a,b=[])=>{let c=!1;q.google_logging_queue||(c=!0,q.google_logging_queue=[]);q.google_logging_queue.push([a,b]);c&&il()&&rd(q.document,hd`https://pagead2.googlesyndication.com/pagead/js/logging_library.js`)};function ll(a,b){this.x=a!==void 0?a:0;this.y=b!==void 0?b:0}ll.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};ll.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};ll.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};ll.prototype.scale=function(a,b){this.x*=a;this.y*=typeof b==="number"?b:a;return this};function ml(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}aa=ml.prototype;aa.getWidth=function(){return this.right-this.left};aa.getHeight=function(){return this.bottom-this.top};function nl(a){return new ml(a.top,a.right,a.bottom,a.left)}aa.contains=function(a){return this&&a?a instanceof ml?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom:!1}; -function ol(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom}aa.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};aa.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this}; -aa.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};aa.scale=function(a,b){b=typeof b==="number"?b:a;this.left*=a;this.right*=a;this.top*=b;this.bottom*=b;return this};function pl(a,b){this.width=a;this.height=b}function ql(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1}aa=pl.prototype;aa.aspectRatio=function(){return this.width/this.height};aa.isEmpty=function(){return!(this.width*this.height)};aa.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};aa.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this}; -aa.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};aa.scale=function(a,b){this.width*=a;this.height*=typeof b==="number"?b:a;return this};function rl(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}function sl(a,b){const c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){const e=Math.max(a.top,b.top);a=Math.min(a.top+a.height,b.top+b.height);if(e<=a)return new rl(c,e,d-c,a-e)}return null} -function tl(a,b){var c=sl(a,b);if(!c||!c.height||!c.width)return[new rl(a.left,a.top,a.width,a.height)];c=[];let d=a.top,e=a.height;const f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top>a.top&&(c.push(new rl(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);ka.left&&c.push(new rl(a.left,d,b.left-a.left,e));h=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height:this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height};aa.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this}; -aa.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};aa.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};aa.scale=function(a,b){b=typeof b==="number"?b:a;this.left*=a;this.width*=a;this.top*=b;this.height*=b;return this};const ul={"AMP-CAROUSEL":"ac","AMP-FX-FLYING-CARPET":"fc","AMP-LIGHTBOX":"lb","AMP-STICKY-AD":"sa"};function vl(a=q){let b=a.context||a.AMP_CONTEXT_DATA;if(!b)try{b=a.parent.context||a.parent.AMP_CONTEXT_DATA}catch{}return b?.pageViewId&&b?.canonicalUrl?b:null}function wl(a=vl()){return a&&a.mode?+a.mode.version||null:null}function xl(a=vl()){if(a&&a.container){a=a.container.split(",");const b=[];for(let c=0;c{},e=()=>{};b&&(c.push(b),e=()=>{a.AMP&&a.AMP.inaboxUnregisterIframe&&a.AMP.inaboxUnregisterIframe(b);Ra(c,b);d()});if(a.ampInaboxInitialized)return e;a.ampInaboxPendingMessages=a.ampInaboxPendingMessages||[];const f=g=>{if(a.ampInaboxInitialized)g=!0;else{var h,k=g.data==="amp-ini-load";a.ampInaboxPendingMessages&&!k&&(h=/^amp-(\d{15,20})?/.exec(g.data))&&(a.ampInaboxPendingMessages.push(g),g=h[1],a.ampInaboxInitialized|| -g&&!/^\d{15,20}$/.test(g)||a.document.querySelector('script[src$="amp4ads-host-v0.js"]')||rd(a.document,g?hd`https://cdn.ampproject.org/rtv/${g}/amp4ads-host-v0.js`:hd`https://cdn.ampproject.org/amp4ads-host-v0.js`));g=!1}g&&d()};c.google_amp_listener_added||(c.google_amp_listener_added=!0,qb(a,"message",f),d=()=>{rb(a,"message",f)});return e};function Cl(a){return a?new Dl(El(a)):Da||(Da=new Dl)}function Fl(a){a=a.document;a=a.compatMode=="CSS1Compat"?a.documentElement:a.body;return new pl(a.clientWidth,a.clientHeight)}function Gl(a){const b=a.scrollingElement?a.scrollingElement:Wc||a.compatMode!="CSS1Compat"?a.body||a.documentElement:a.documentElement;a=a.defaultView;return new ll(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)} -function Hl(a,b){b=String(b);a.contentType==="application/xhtml+xml"&&(b=b.toLowerCase());return a.createElement(b)}function Il(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function El(a){return a.nodeType==9?a:a.ownerDocument||a.document}var Jl={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Kl={IMG:" ",BR:"\n"}; -function Ll(a){const b=[];Ml(a,b,!0);a=b.join("");a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");a=a.replace(/ +/g," ");a!=" "&&(a=a.replace(/^\s*/,""));return a}function Ml(a,b,c){if(!(a.nodeName in Jl))if(a.nodeType==3)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in Kl)b.push(Kl[a.nodeName]);else for(a=a.firstChild;a;)Ml(a,b,c),a=a.nextSibling} -function Nl(a,b,c){if(!b&&!c)return null;const d=b?String(b).toUpperCase():null;return Ol(a,function(e){return(!d||e.nodeName==d)&&(!c||typeof e.className==="string"&&Qa(e.className.split(/\s+/),c))})}function Ol(a,b){let c=0;for(;a;){if(b(a))return a;a=a.parentNode;c++}return null}function Dl(a){this.g=a||q.document||document}aa=Dl.prototype;aa.gi=function(a){var b=this.g;return typeof a==="string"?b.getElementById(a):a};aa.al=Dl.prototype.gi;function Pl(a,b){return Hl(a.g,b)} -function Ql(a,b){var c=a.g;a=Hl(c,"DIV");Dc(a,b);if(a.childNodes.length==1)b=a.removeChild(a.firstChild);else for(b=c.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);return b}aa.da=function(){return this.g.defaultView};aa.contains=function(a,b){return a&&b?a==b||a.contains(b):!1}; -aa.qj=function(a){let b;const c=arguments.length;if(!c)return null;if(c==1)return arguments[0];const d=[];let e=Infinity;for(b=0;btypeof a==="number"&&a>0,cm=(a,b)=>{a=bm(a);if(!a)return b;const c=b.slice(-1);return b+(c==="?"||c==="#"?"":"&")+a},bm=a=>Object.entries(dm(a)).map(([b,c])=>`${b}=${encodeURIComponent(String(c))}`).join("&"),dm=a=>{const b={};vd(a,(c,d)=>{if(c||c===0||c===!1)typeof c==="boolean"&&(c=c?1:0),b[d]=c});return b},em=a=>{a=Al(vl(a))||a;a.google_unique_id=(a.google_unique_id||0)+1},fm=a=>{a=a.google_unique_id;return typeof a==="number"?a:0},gm=a=>{let b;b=a.nodeType!==9&&a.id;a:{if(a&&a.nodeName&& -a.parentElement){var c=a.nodeName.toString().toLowerCase();const d=a.parentElement.childNodes;let e=0;for(let f=0;f(a=a.google_ad_format)?a.indexOf("_0ads")>0:!1,im=a=>{let b=Number(a.google_ad_width),c=Number(a.google_ad_height);if(!(b>0&&c>0)){a:{try{const e=String(a.google_ad_format);if(e&&e.match){const f= -e.match(/(\d+)x(\d+)/i);if(f){const g=parseInt(f[1],10),h=parseInt(f[2],10);if(g>0&&h>0){var d={width:g,height:h};break a}}}}catch(e){}d=null}a=d;if(!a)return null;b=b>0?b:a.width;c=c>0?c:a.height}return{width:b,height:c}};var jm=class{constructor(a,b){this.error=a;this.meta={};this.context=b.context;this.msg=b.message||"";this.id=b.id||"jserror"}};function km(a){return new jm(a,{message:lm(a)})}function lm(a){let b=a.toString();a.name&&b.indexOf(a.name)==-1&&(b+=": "+a.name);a.message&&b.indexOf(a.message)==-1&&(b+=": "+a.message);a.stack&&(b=mm(a.stack,b));return b}function mm(a,b){try{a.indexOf(b)==-1&&(a=b+"\n"+a);let c;for(;a!=c;)c=a,a=a.replace(RegExp("((https?:/..*/)[^/:]*:\\d+(?:.|\n)*)\\2"),"$1");return a.replace(RegExp("\n *","g"),"\n")}catch(c){return b}};const nm=RegExp("^https?://(\\w|-)+\\.cdn\\.ampproject\\.(net|org)(\\?|/|$)");var om=class{constructor(a,b){this.g=a;this.i=b}},pm=class{constructor(a,b,c){this.url=a;this.A=b;this.g=!!c;this.depth=null}};let qm=null;function rm(){var a=window;if(qm===null){qm="";try{let b="";try{b=a.top.location.hash}catch(c){b=a.location.hash}if(b){const c=b.match(/\bdeid=([\d,]+)/);qm=c?c[1]:""}}catch(b){}}return qm};function sm(){const a=q.performance;return a&&a.now&&a.timing?Math.floor(a.now()+a.timing.navigationStart):Date.now()}function tm(){const a=q.performance;return a&&a.now?a.now():null};var um=class{constructor(a,b){var c=tm()||sm();this.label=a;this.type=b;this.value=c;this.duration=0;this.taskId=this.slotId=void 0;this.uniqueId=Math.random()}};const vm=q.performance,wm=!!(vm&&vm.mark&&vm.measure&&vm.clearMarks),xm=jb(()=>{var a;if(a=wm)a=rm(),a=!!a.indexOf&&a.indexOf("1337")>=0;return a});function ym(a){a&&vm&&xm()&&(vm.clearMarks(`goog_${a.label}_${a.uniqueId}_start`),vm.clearMarks(`goog_${a.label}_${a.uniqueId}_end`))}function zm(a){a.g=!1;a.i!==a.j.google_js_reporting_queue&&(xm()&&Ga(a.i,ym),a.i.length=0)}function Am(a,b){if(!a.g)return b();const c=a.start("491",3);let d;try{d=b()}catch(e){throw ym(c),e;}a.end(c);return d} -var Bm=class{constructor(a){this.i=[];this.j=a||q;let b=null;a&&(a.google_js_reporting_queue=a.google_js_reporting_queue||[],this.i=a.google_js_reporting_queue,b=a.google_measure_js_timing);this.g=xm()||(b!=null?b:Math.random()<1)}start(a,b){if(!this.g)return null;a=new um(a,b);b=`goog_${a.label}_${a.uniqueId}_start`;vm&&xm()&&vm.mark(b);return a}end(a){if(this.g&&typeof a.value==="number"){a.duration=(tm()||sm())-a.value;var b=`goog_${a.label}_${a.uniqueId}_end`;vm&&xm()&&vm.mark(b);!this.g||this.i.length> -2048||this.i.push(a)}}};function Cm(a,b){const c={};c[a]=b;return[c]}function Dm(a,b,c,d,e){const f=[];vd(a,(g,h)=>{(g=Em(g,b,c,d,e))&&f.push(`${h}=${g}`)});return f.join(b)} -function Em(a,b,c,d,e){if(a==null)return"";b=b||"&";c=c||",$";typeof c==="string"&&(c=c.split(""));if(a instanceof Array){if(d||(d=0),db&&(b=c.length);return 3997-b-a.j.length-1} -function Gm(a,b,c,d){b=b+"//"+c+d;let e=Fm(a)-d.length;if(e<0)return"";a.g.sort((f,g)=>f-g);d=null;c="";for(let f=0;f=l.length){e-=l.length;b+=l;c=a.j;break}d=d==null?g:d}}}a="";d!=null&&(a=`${c}${"trn"}=${d}`);return b+a}var Hm=class{constructor(){this.j="&";this.i={};this.l=0;this.g=[]}};var Km=class{constructor(a=null){this.I=Im;this.i=a;this.g=null;this.l=!1;this.B=this.ma}j(a){this.g=a}C(a){this.l=a}mb(a,b,c){let d,e;try{this.i&&this.i.g?(e=this.i.start(a.toString(),3),d=b(),this.i.end(e)):d=b()}catch(f){b=!0;try{ym(e),b=this.B(a,km(f),void 0,c)}catch(g){this.ma(217,g)}if(b)window.console?.error?.(f);else throw f;}return d}nb(a,b,c,d){return(...e)=>this.mb(a,()=>b.apply(c,e),d)}ma(a,b,c,d,e){e=e||"jserror";let f=void 0;try{const U=new Hm;var g=U;g.g.push(1);g.i[1]=Cm("context", -a);b.error&&b.meta&&b.id||(b=km(b));g=b;if(g.msg){b=U;var h=g.msg.substring(0,512);b.g.push(2);b.i[2]=Cm("msg",h)}var k=g.meta||{};h=k;if(this.g)try{this.g(h)}catch(ta){}if(d)try{d(h)}catch(ta){}d=U;k=[k];d.g.push(3);d.i[3]=k;var l;if(!(l=p)){d=q;k=[];h=null;do{var m=d;if(kd(m)){var n=m.location.href;h=m.document&&m.document.referrer||null}else n=h,h=null;k.push(new pm(n||"",m));try{d=m.parent}catch(ta){d=null}}while(d&&m!==d);for(let ta=0,Fa=k.length-1;ta<=Fa;++ta)k[ta].depth=Fa-ta;m=q;if(m.location&& -m.location.ancestorOrigins&&m.location.ancestorOrigins.length===k.length-1)for(n=1;n=0;--m){var t=p[m];!l&&nm.test(t.url)&&(l=t);if(t.url&&!t.g){X=t;break}}t=null;const Pb=p.length&&p[$a].url;X.depth!==0&&Pb&&(t=p[$a]);f=new om(X,t);if(f.i){p=U;var z=f.i.url||"";p.g.push(4);p.i[4]=Cm("top",z)}var w={url:f.g.url||""};if(f.g.url){const ta= -f.g.url.match(Oc);var B=ta[1],I=ta[3],T=ta[4];z="";B&&(z+=B+":");I&&(z+="//",z+=I,T&&(z+=":"+T));var R=z}else R="";B=U;w=[w,{url:R}];B.g.push(5);B.i[5]=w;Jm(this.I,e,U,this.l,c)}catch(U){try{Jm(this.I,e,{context:"ecmserr",rctx:a,msg:lm(U),url:f?.g.url??""},this.l,c)}catch(X){}}return!0}Pa(a,b,c){b.catch(d=>{d=d?d:"unknown rejection";this.ma(a,d instanceof Error?d:Error(d),void 0,c||this.g||void 0)})}};var Lm=class extends G{};var Mm=Tj([0,Rj,Lj]);function Nm(a,b){try{const c=d=>[{[d.Ya]:d.ie}];return JSON.stringify([a.filter(d=>d.Oa).map(c),Lg(b),a.filter(d=>!d.Oa).map(c)])}catch(c){return Om(c,b),""}}function Pm(a,b){const c=new Gi;try{const d=a.filter(f=>f.Oa).map(Qm);Ei(c,1,d);Di(c,2,Mm(b),Fi);const e=a.filter(f=>!f.Oa).map(Qm);Ei(c,3,e)}catch(d){Om(d,b)}return Ci(c)}function Om(a,b){try{$k({m:lm(a instanceof Error?a:Error(String(a))),b:D(b,1)||null,v:C(b,2)||null},"rcs_internal")}catch(c){}} -function Qm(a){const b=new Gi;Di(b,a.Ya,a.Be,Fi);return Ci(b)}function Fi(a,b){yi(b,a.subarray(0,a.length))}var Rm=class{constructor(a,b){var c=new Lm;a=F(c,1,a);b=fi(a,2,b);this.i=Wg(b)}};function Sm(a){return Math.round(a)};function Tm(a,b){return qh(a,1,Um,sg(b))}function Vm(a,b){return qh(a,2,Um,dg(b))}function Wm(a,b){return qh(a,3,Um,b==null?b:Kf(b))}var J=class extends G{},Um=[1,2,3];function Xm(a,b){return qh(a,2,Ym,dg(b))}function Zm(a,b){return qh(a,4,Ym,If(b))}var $m=class extends G{},Ym=[2,4];function an(a){var b=new bn;return fi(b,1,a)}function cn(a,b){return x(a,3,b)}function K(a,b){return Mh(a,4,J,b)}var bn=class extends G{};var dn=Tj([0,Lj,1,[0,Ym,1,yj,1,sj],Nj,[0,Um,Mj,yj,Ij]]);var en=class extends G{g(){return C(this,2)}getWidth(){return C(this,3)}getHeight(){return C(this,4)}};var fn=class extends G{};var gn=class extends G{};var hn=class extends G{};var jn=class extends G{},kn=[5,6];var ln=[0,vj,-1];var mn=[0,Nj,[0,Qj,[0,Cj,-3]],ln,-1];var nn=class extends G{getValue(){return D(this,1)}};function on(a){var b=new pn;return gi(b,1,a)}var pn=class extends G{getValue(){return D(this,1)}};var qn=class extends G{getValue(){return D(this,1)}};var rn=class extends G{getHeight(){return Qh(this,2)}};function sn(a,b){return ai(a,1,b)}function tn(a,b){return Kh(a,2,b)}var un=class extends G{};var vn=class extends G{};var wn=class extends G{};var yn=class extends G{setError(a){return Ah(this,3,xn,a)}},xn=[2,3];function zn(a,b){return di(a,1,b)}function An(a,b){return di(a,2,b)}function Bn(a,b){return di(a,3,b)}function Cn(a,b){return di(a,4,b)}function Dn(a,b){return di(a,5,b)}function En(a,b){return ph(a,8,If(b),0)}function Fn(a,b){return ph(a,9,If(b),0)}var Gn=class extends G{};function Hn(a,b){return di(a,1,b)}function In(a,b){return di(a,2,b)}var Jn=class extends G{};function Kn(a,b){Mh(a,1,Jn,b)}var nh=class extends G{};var Ln=class extends G{};function Mn(a,b){return oh(a,1,b,rg)}function Nn(a,b){return oh(a,12,b,mg)}function On(){var a=new Pn;return Lh(a,2,rg,"irr",tg)}function Qn(a,b){return E(a,3,b)}function Rn(a,b){return E(a,4,b)}function Sn(a,b){return E(a,5,b)}function Tn(a,b){return E(a,7,b)}function Un(a,b){return E(a,8,b)}function Vn(a,b){return di(a,9,b)}function Wn(a,b){return Kh(a,10,b)}function Xn(a,b){return oh(a,11,b,Uf)}var Pn=class extends G{};function Yn(a){var b=Zn();x(a,1,b)}function $n(a,b){return di(a,2,b)}function ao(a,b){return Kh(a,3,b)}function bo(a,b){return Kh(a,4,b)}function co(a,b){return Mh(a,4,pn,b)}function eo(a,b){return Kh(a,5,b)}function fo(a,b){return oh(a,6,b,rg)}function go(a,b){return di(a,7,b)}function ho(a,b){return di(a,8,b)}function io(a,b){x(a,9,b)}function jo(a,b){return E(a,10,b)}function ko(a,b){return E(a,11,b)}function lo(a,b){return E(a,12,b)}var mo=class extends G{};var no=class extends G{};var oo=class extends G{};function po(a){var b=new qo;return F(b,1,a)}var qo=class extends G{};var ro=class extends G{};var so=class extends G{};var to=class extends G{};var uo=class extends G{},vo=[1,2];var wo=class extends G{};var xo=class extends G{},yo=[1];function zo(a){var b=new Ao;return F(b,1,a)}var Ao=class extends G{};var Bo=class extends G{};var Co=class extends G{};var Do=class extends G{};var Eo=class extends G{};var Fo=class extends G{};var Go=class extends G{getContentUrl(){return C(this,1)}};var Ho=class extends G{};function Io(a){var b=new Jo;return oh(b,1,a,Of)}var Jo=class extends G{};var Ko=class extends G{};function Lo(){var a=new Mo,b=new Ko;return Ah(a,1,No,b)}function Oo(){var a=new Mo,b=new Ko;return Ah(a,9,No,b)}function Po(){var a=new Mo,b=new Ko;return Ah(a,13,No,b)}function Qo(a,b){return Ah(a,14,No,b)}var Mo=class extends G{},No=[1,2,3,5,6,7,8,9,10,11,12,13,14];var Ro=class extends G{};var So=class extends G{};var To=class extends G{};var Uo=class extends G{};function Vo(a,b){return ph(a,10,ng(b),"0")}function Wo(a,b){return F(a,1,b)}var Xo=class extends G{};var Yo=class extends G{};var Zo=class extends G{};var ap=class extends G{i(){return Wh(this,Yo,4,$o)}g(){return ch(this,Yo,th(this,$o,4))!==void 0}},$o=[4,5];function bp(a){var b=new cp;return fi(b,4,a)}function dp(a,b){return $g(a,6,ng(b))}var cp=class extends G{};var ep=class extends G{};var fp=class extends G{i(){return v(this,Yo,1)}g(){return bh(this,Yo,1)}};var gp=class extends G{};var hp=class extends G{};var ip=class extends G{};var jp=class extends G{};function kp(a,b){return di(a,1,b)}function lp(a){var b=new ip;return Ah(a,3,mp,b)}var np=class extends G{},mp=[2,3];var op=class extends G{},pp=[3,4,5,6,7,8,9,11,12,13,14,16,17];function Pp(a,b){return di(a,3,b)}var Qp=class extends G{},Rp=[4,5,6,8,9,10,11,12,13,14,15,16,17];var Sp=[0];var Tp=[0,Hj,Nj,[0,Rj,Lj,-2,Ej,-2,[0,Lj,2,Ej,-1,Lj,[0,Ej,-2,tj],-1],Nj,[0,Lj,Kj],Bj,Jj,Cj],xj,[0,Hj,xj,Hj,-2]];var Up=[0,vj,-1];var Vp=Tj([0,Rp,xj,Lj,xj,H,[0,ln,-1,[0,Pj],Lj,Hj],H,[0,[0,Kj,-1,Hj,-5,xj,Nj,[0,Lj,xj,Hj,-1],wj,Aj,Bj],xj,Nj,[0,Pj],Nj,[0,Pj],Nj,[0,Pj],Kj,xj,-1,[0,xj,-4,2,rj,-1],Hj,-2,1,hj,[!0,Jj,[0,Nj,[0,xj,-1]]],Nj,[0,Lj,-2],[0,xn,1,H,[0,Cj,-2,Gj,Nj,[0,Cj,Nj,[0,Cj,-1]]],H,[0,Pj,-1]]],H,[0,pp,xj,-1,H,[0,$o,[0,Lj,-1,Hj,vj],[0,Kj,Lj,-1],xj,H,Tp,H,[0,Nj,[0,No,H,Sp,-2,1,H,Sp,-1,H,[0,xj],H,Sp,-5,H,[0,Qj]]],[0,Cj,-1,Oj,-2,Cj]],H,[0,xj,Bj],H,[0,xj],H,[0,vj,zj,Jj,Lj,Hj,Cj],H,[0,xj],H,[0,vj,-2,Lj,Gj,zj,vj],H,[0,mp,xj,H, -[0],H,[0]],[0,xj,Ej,wj],H,[0,Rj],H,[0,xj,Lj,Bj],H,[0],H,[0,Tp,xj],Gj,H,[0,Bj],H,[0,xj]],xj,H,[0,Lj,[0,Ej,-1,[0,rj,-5,Hj]],xj,mn],H,[0,Rj,Dj],H,[0,Rj,-1,Lj,-1],H,[0,yo,H,[0,Gj,-1]],H,[0,Rj,Hj,-9],H,[0,vo,H,[0,[0,Rj,Lj,-1]],H,[0,Ej,-1,Lj,[0,Ej,-1],-1,Hj,Qj,Ej,-1]],H,[0,[1,2,3,4],H,[0,[0,vj,-1],Up,Gj,Jj],H,[0],H,[0,Up],H,[0]],H,[0,[3,4,5,6,7,8],vj,[0,uj],H,[0],H,[0],H,[0],H,[0],H,[0],H,[0,[1,2,3,4,5],H,[0],-4]],H,[0,kn,vj,-2,[0,Jj,-2,Gj,[0,Jj,-3]],H,[0],H,[0]],H,mn]);function Wp(a,b){return di(a,1,b)}function Xp(a,b){return di(a,2,b)}var Yp=class extends G{getTagSessionCorrelator(){return Rh(this,1)}};var Zp=Tj([0,xj,-1,Rj]);var $p=class extends G{};function aq(){var a=Fg(bq());return fi(a,1,cq())}var dq=class extends G{};var eq=[0,[0,vj,Fj,-1],Lj];var fq=class extends G{};var gq=class extends G{getTagSessionCorrelator(){return Rh(this,1)}};var hq=class extends G{},iq=[1,7],jq=[4,6,8];var kq=Tj([0,iq,jq,H,[0,Rj,Lj,-1,Kj,-1,eq],[0,xj,Dj,Lj],1,H,[0,Lj,Ej,Kj],xj,H,[0,Lj,-1,Jj,[0,Dj],1,Rj,Lj,-1],H,[0,Lj,-1,Kj,-1,eq],H,[0,[1],H,[0,[0,Lj,-2,Rj,Lj]],[0,xj,-1]]]);class lq{constructor(a){this.I=a;this.Fe=new mq(this.I)}}class mq{constructor(a){this.I=a;this.Bd=new nq(this.I)}}class nq{constructor(a){this.I=a;this.g=new oq(this.I);this.Rh=new pq(this.I)}}class oq{constructor(a){this.I=a;this.i=new qq(this.I);this.g=new rq(this.I)}}class qq{constructor(a){this.I=a}od(a){this.I.g(cn(K(an("xR0Czf"),Tm(new J,a.status)),Zm(new $m,a.ud)))}}class rq{constructor(a){this.I=a}od(a){this.I.g(cn(K(an("jM4CPd"),Vm(new J,Sm(a.Sk))),Zm(new $m,a.ud)))}} -class pq{constructor(a){this.I=a;this.ri=new sq(this.I);this.si=new tq(this.I);this.We=new uq(this.I);this.ti=new vq(this.I);this.ui=new wq(this.I);this.vi=new xq(this.I);this.wi=new yq(this.I);this.Ye=new zq(this.I);this.Oi=new Aq(this.I);this.aj=new Bq(this.I);this.bj=new Cq(this.I);this.sj=new Dq(this.I);this.uk=new Eq(this.I)}}class sq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(an("VEDP7d"),Tm(new J,a.language)),Vm(new J,a.xa)),Xm(new $m,Sm(a.ga))))}} -class tq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(an("igjuhc"),Tm(new J,a.language)),Vm(new J,a.xa)),Xm(new $m,Sm(a.ga))))}}class uq{constructor(a){this.I=a}od(a){this.I.g(cn(K(K(K(K(K(an("i3zJEd"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.outcome)),Wm(new J,a.cd)),Wm(new J,a.zf)),Zm(new $m,a.ud)))}} -class vq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(K(K(an("JN0hVd"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.outcome)),Wm(new J,a.cd)),Wm(new J,a.zf)),Xm(new $m,Sm(a.ga))))}}class wq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("rmHfOd"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.reason)),Xm(new $m,Sm(a.ga))))}}class xq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("VEyQic"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.format)),Xm(new $m,Sm(a.ga))))}} -class yq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("QFcNxc"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.format)),Xm(new $m,Sm(a.ga))))}}class zq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(K(an("SIhp4"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.format)),Wm(new J,a.cd)),Xm(new $m,Sm(a.ga))))}}class Aq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("Eeiun"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.format)),Xm(new $m,Sm(a.ga))))}} -class Bq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(an("zGH6sc"),Tm(new J,a.language)),Vm(new J,a.xa)),Xm(new $m,Sm(a.ga))))}}class Cq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("SmbJl"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.type)),Xm(new $m,Sm(a.ga))))}}class Dq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("qleBg"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.format)),Xm(new $m,Sm(a.ga))))}} -class Eq{constructor(a){this.I=a}Ea(a){this.I.g(cn(K(K(K(an("pYLGPe"),Tm(new J,a.language)),Vm(new J,a.xa)),Vm(new J,a.type)),Xm(new $m,Sm(a.ga))))}}class Fq extends Rm{constructor(){super(...arguments);this.je=new lq(this)}} -var Gq=class extends Fq{Ph(...a){this.C(...a.map(b=>({Oa:!0,Ya:3,ie:Lg(b)})))}Jb(...a){this.C(...a.map(b=>({Oa:!0,Ya:7,ie:Lg(b)})))}F(...a){this.C(...a.map(b=>({Oa:!0,Ya:16,ie:Lg(b)})))}g(...a){this.C(...a.map(b=>({Oa:!1,Ya:1,ie:Lg(b)})))}},Iq=class extends Fq{Ph(...a){Hq(this,...a.map(b=>({Oa:!0,Ya:3,Be:kq(b)})))}Jb(...a){Hq(this,...a.map(b=>({Oa:!0,Ya:7,Be:Vp(b)})))}F(...a){Hq(this,...a.map(b=>({Oa:!0,Ya:16,Be:Zp(b)})))}g(...a){Hq(this,...a.map(b=>({Oa:!1,Ya:1,Be:dn(b)})))}};var Jq=(a,b)=>{globalThis.fetch(a,{method:"POST",body:b,keepalive:b.length<65536,credentials:"omit",mode:"no-cors",redirect:"follow"}).catch(()=>{})},Kq=class extends Gq{constructor(a){super(2,a);this.j=Jq}C(...a){try{const b=Nm(a,this.i);this.j("https://pagead2.googlesyndication.com/pagead/ping?e=1",b)}catch(b){Om(b,this.i)}}},Lq=class extends Kq{};function Mq(a){a.l!==null&&(clearTimeout(a.l),a.l=null);if(a.j.length){var b=Nm(a.j,a.i);a.G("https://pagead2.googlesyndication.com/pagead/ping?e=1",b);a.j=[]}} -var Oq=class extends Gq{constructor(a,b,c,d,e){super(2,a);this.G=Jq;this.X=b;this.K=c;this.O=d;this.B=e;this.j=[];this.l=null;this.H=!1}C(...a){try{this.O&&Nm(this.j.concat(a),this.i).length>=65536&&Mq(this),this.B&&!this.H&&(this.H=!0,Nq(this.B,()=>{Mq(this)})),this.j.push(...a),this.j.length>=this.K&&Mq(this),this.j.length&&this.l===null&&(this.l=setTimeout(()=>{Mq(this)},this.X))}catch(b){Om(b,this.i)}}},Pq=class extends Oq{constructor(a,b=1E3,c=100,d=!1,e){super(a,b,c,d&&!0,e)}};var L=a=>{var b="If";if(a.If&&a.hasOwnProperty(b))return a.If;b=new a;return a.If=b};function Qq(a,b,c){return b[a]||c};function Rq(a,b){a.i=(c,d)=>Qq(2,b,()=>[])(c,1,d);a.g=()=>Qq(3,b,()=>[])(1)}class Sq{i(){return[]}g(){return[]}}function Tq(a,b){return L(Sq).i(a,b)};function Jm(a,b,c,d=!1,e){if((d?a.g:Math.random())<(e||.01))try{let f;c instanceof Hm?f=c:(f=new Hm,vd(c,(h,k)=>{var l=f;const m=l.l++;h=Cm(k,h);l.g.push(m);l.i[m]=h}));const g=Gm(f,a.protocol,a.domain,a.path+b+"&");g&&Yk(q,g)}catch(f){}}function Uq(a,b){b>=0&&b<=1&&(a.g=b)}var Vq=class{constructor(){this.domain="pagead2.googlesyndication.com";this.path="/pagead/gen_204?id=";this.protocol="https:";this.g=Math.random()}};let Im,Wq;const Xq=new Bm(window);(function(a){Im=a??new Vq;typeof window.google_srt!=="number"&&(window.google_srt=Math.random());Uq(Im,window.google_srt);Wq=new Km(Xq);Wq.j(()=>{});Wq.C(!0);window.document.readyState==="complete"?window.google_measure_js_timing||zm(Xq):Xq.g&&qb(window,"load",()=>{window.google_measure_js_timing||zm(Xq)})})();let Yq=(new Date).getTime();var Zq={Ym:0,Xm:1,Um:2,Pm:3,Vm:4,Qm:5,Wm:6,Sm:7,Tm:8,Om:9,Rm:10,Zm:11};var $q={cn:0,dn:1,bn:2};function ar(a,b){return a.leftnew ml(b.top,b.right,b.bottom,b.left));a=cr(a);return{top:a.top,right:a.right,bottom:a.bottom,left:a.left}}function cr(a){if(!a.length)throw Error("pso:box:m:nb");return a.slice(1).reduce((b,c)=>{b.left=Math.min(b.left,c.left);b.top=Math.min(b.top,c.top);b.right=Math.max(b.right,c.right);b.bottom=Math.max(b.bottom,c.bottom);return b},nl(a[0]))};var Tb={Sn:0,Dm:1,Gm:2,Em:3,Fm:4,Mm:8,co:9,rn:10,sn:11,ao:16,xm:17,wm:24,on:25,bm:26,am:27,ii:30,gn:32,ln:40,ko:41,eo:42};var dr={overlays:1,interstitials:2,vignettes:2,inserts:3,immersives:4,list_view:5,full_page:6,side_rails:7},er={[1]:1,[2]:1,[3]:7,[4]:7,[8]:2,[27]:3,[9]:4,[30]:5};var fr=728*1.38;function gr(a,b=-1){if(a!==a.top){if(b<0)a=!1;else{var c=hr(a,!0,!0),d=ir(a,!0);a=c>0&&d>0&&Math.abs(1-a.screen.width/c)<=b&&Math.abs(1-a.screen.height/d)<=b}a=a?0:512}else a=0;return a}function jr(a,b=420,c=!1,d=!1){return(a=hr(a,c,d))?a>b?32768:a<320?65536:0:16384}function kr(a){return Math.max(0,lr(a,!0)-ir(a))}function mr(a){a=a.document;let b={};a&&(b=a.compatMode=="CSS1Compat"?a.documentElement:a.body);return b||{}} -function ir(a,b=!1){const c=mr(a).clientHeight;return b?c*(Kb()&&Lb()?ce(a):1):c}function hr(a,b=!1,c=!1){c=mr(a).clientWidth??(c?a.innerWidth:void 0);return b?c*(Kb()&&Lb()?ce(a):1):c}function lr(a,b){const c=mr(a);return b?(a=ir(a),c.scrollHeight===a?c.offsetHeight:c.scrollHeight):c.offsetHeight}function nr(a,b){var c=M(or);return pr(b)||b===10||!a.adCount?!1:c||b!==1&&b!==2?(a=a.adCount[b])?a>=1:!1:!(!a.adCount[1]&&!a.adCount[2])} -function qr(a,b){return a&&a.source?a.source===b||a.source.parent===b:!1}function rr(a){return a.pageYOffset===void 0?(a.document.documentElement||a.document.body.parentNode||a.document.body).scrollTop:a.pageYOffset}function sr(a){return a.pageXOffset===void 0?(a.document.documentElement||a.document.body.parentNode||a.document.body).scrollLeft:a.pageXOffset} -function tr(a){const b={};let c;Array.isArray(a)?c=a:a&&a.key_value&&(c=a.key_value);if(c)for(a=0;a{Ul(a,c)||Rl(a,c,b[c])}); -Qd(a)}function pr(a){return a===26||a===27||a===40||a===41};function wr(a,b){xr(a).forEach(b,void 0)}function xr(a){const b=[],c=a.length;for(let d=0;d{if(b.overrides.delete(a)){b=Array.from(b.overrides.values()).pop()||b.originalValue;var d=a.element;b?d.style.setProperty(c,b.value,b.priority):d.style.removeProperty(c)}})} -function Or(a,b,c){c={value:c,priority:"important"};var d=a.g.get(b);if(!d){d=a.element;var e=d.style.getPropertyValue(b);d={originalValue:e?{value:e,priority:d.style.getPropertyPriority(b)}:null,overrides:new Map};a.g.set(b,d)}d.overrides.delete(a);d.overrides.set(a,c);a=a.element;c?a.style.setProperty(b,c.value,c.priority):a.style.removeProperty(b)} -var Pr=class extends N{constructor(a,b){super();this.element=b;a=a.googTempStyleOverrideInfo=a.googTempStyleOverrideInfo||new Map;var c=a.get(b);c?b=c:(c=new Map,a.set(b,c),b=c);this.g=b}i(){Nr(this);super.i()}};function Qr(a){const b=new O(a.getValue());a.listen(c=>b.g(c));return b}function Rr(a,b){const c=new O({first:a.R,second:b.R});a.listen(()=>c.g({first:a.R,second:b.R}));b.listen(()=>c.g({first:a.R,second:b.R}));return c}function Sr(...a){const b=[...a],c=()=>b.every(f=>f.R),d=new O(c()),e=()=>{d.g(c())};b.forEach(f=>f.listen(e));return Tr(d)}function Ur(...a){const b=[...a],c=()=>b.findIndex(f=>f.R)!==-1,d=new O(c()),e=()=>{d.g(c())};b.forEach(f=>f.listen(e));return Tr(d)} -function Tr(a,b=Vr){var c=a.R;const d=new O(a.R);a.listen(e=>{b(e,c)||(c=e,d.g(e))});return d}function Wr(a,b,c){return a.i(d=>{d===b&&c()})}function Xr(a,b,c){if(a.R===b)return c(),()=>{};const d={Cc:null};d.Cc=Wr(a,b,()=>{d.Cc&&(d.Cc(),d.Cc=null);c()});return d.Cc}function Yr(a,b,c){Tr(a).listen(d=>{d===b&&c()})}function Zr(a,b){a.l&&a.l();a.l=b.listen(c=>a.g(c),!0)} -function $r(a,b,c,d){const e=new O(!1);var f=null;a=a.map(d);Wr(a,!0,()=>{f===null&&(f=b.setTimeout(()=>{e.g(!0)},c))});Wr(a,!1,()=>{e.g(!1);f!==null&&(b.clearTimeout(f),f=null)});return Tr(e)}function as(a){return{listen:b=>a.listen(b),getValue:()=>a.R}} -var O=class{constructor(a){this.R=a;this.j=new Map;this.B=1;this.l=null}listen(a,b=!1){const c=this.B++;this.j.set(c,a);b&&a(this.R);return()=>{this.j.delete(c)}}i(a){return this.listen(a,!0)}C(){return this.R}g(a){this.R=a;this.j.forEach(b=>{b(this.R)})}map(a){const b=new O(a(this.R));this.listen(c=>b.g(a(c)));return b}};function Vr(a,b){return a==b};function bs(a){return new cs(a)}function ds(a,b){Ga(a.g,c=>{c(b)})}var es=class{constructor(){this.g=[]}};class cs{constructor(a){this.g=a}listen(a){this.g.g.push(a)}map(a){const b=new es;this.listen(c=>ds(b,a(c)));return bs(b)}delay(a,b){const c=new es;this.listen(d=>{a.setTimeout(()=>{ds(c,d)},b)});return bs(c)}}function fs(...a){const b=new es;a.forEach(c=>{c.listen(d=>{ds(b,d)})});return bs(b)};function gs(a){return Tr(Rr(a.g,a.j).map(b=>{var c=b.first;b=b.second;return c==null||b==null?null:hs(c,b)}))}var js=class{constructor(a){this.i=a;this.g=new O(null);this.j=new O(null);this.l=new es;this.H=b=>{this.g.R==null&&b.touches.length==1&&this.g.g(b.touches[0])};this.C=b=>{const c=this.g.R;c!=null&&(b=is(c,b.changedTouches),b!=null&&(this.g.g(null),this.j.g(null),ds(this.l,hs(c,b))))};this.B=b=>{var c=this.g.R;c!=null&&(c=is(c,b.changedTouches),c!=null&&(this.j.g(c),b.preventDefault()))}}}; -function hs(a,b){return{ci:b.pageX-a.pageX,di:b.pageY-a.pageY}}function is(a,b){if(b==null)return null;for(let c=0;c{var c=b.first;b=b.second;return c==null||b==null?null:ls(c,b)}))}var ms=class{constructor(a,b){this.l=a;this.C=b;this.g=new O(null);this.i=new O(null);this.j=new es;this.F=c=>{this.g.g(c)};this.B=c=>{const d=this.g.R;d!=null&&(this.g.g(null),this.i.g(null),ds(this.j,ls(d,c)))};this.H=c=>{this.g.R!=null&&(this.i.g(c),c.preventDefault())}}};function ls(a,b){return{ci:b.screenX-a.screenX,di:b.screenY-a.screenY}};var ps=(a,b,c)=>{const d=new ns(a,b,c);return()=>os(d)};function os(a){if(a.g)return!1;if(a.i==null)return qs(a),!0;const b=a.i+a.C-(new Date).getTime();if(b<1)return qs(a),!0;rs(a,b);return!0}function qs(a){a.i=(new Date).getTime();a.l()}function rs(a,b){a.g=!0;a.j.setTimeout(()=>{a.g=!1;qs(a)},b)}class ns{constructor(a,b,c){this.j=a;this.C=b;this.l=c;this.i=null;this.g=!1}};function ss(a){return ts(ks(a.g),gs(a.i))}function us(a){return fs(bs(a.g.j),bs(a.i.l))}var vs=class{constructor(a,b){this.g=a;this.i=b}};function ts(a,b){return Rr(a,b).map(({first:c,second:d})=>c||d||null)};var ws=class{constructor(){this.cache=new Map}getBoundingClientRect(a){var b=this.cache.get(a);if(b)return b;b=a.getBoundingClientRect();this.cache.set(a,b);return b}};function xs(a){a.B==null&&(a.B=new O(a.F.getBoundingClientRect()));return a.B}var ys=class extends N{constructor(a,b){super();this.j=a;this.F=b;this.G=!1;this.B=null;this.l=()=>{xs(this).g(this.F.getBoundingClientRect())}}g(){this.G||(this.G=!0,this.j.addEventListener("resize",this.l),this.j.addEventListener("scroll",this.l));return xs(this)}i(){this.j.removeEventListener("resize",this.l);this.j.removeEventListener("scroll",this.l);super.i()}};function zs(a,b){return new As(a,b)}function Bs(a){a.A.requestAnimationFrame(()=>{a.C||a.j.g(new pl(a.element.offsetWidth,a.element.offsetHeight))})}function Cs(a){a.g||(a.g=!0,a.l.observe(a.element));return Tr(a.j,ql)}var As=class extends N{constructor(a,b){super();this.A=a;this.element=b;this.g=!1;this.j=new O(new pl(this.element.offsetWidth,this.element.offsetHeight));this.l=new ResizeObserver(()=>{Bs(this)})}i(){this.l.disconnect();super.i()}};function Ds(a,b){return{top:a.g-b,right:a.j+a.i,bottom:a.g+b,left:a.j}}var Es=class{constructor(a,b,c){this.j=a;this.g=b;this.i=c}};function Fs(a,b){a=a.getBoundingClientRect();return new Gs(a.top+rr(b),a.bottom-a.top)}function Hs(a){return new Gs(Math.round(a.g),Math.round(a.i))}var Gs=class{constructor(a,b){this.g=a;this.i=b}getHeight(){return this.i}};var Js=(a,b)=>{const c=a.google_pso_loaded_fonts||(a.google_pso_loaded_fonts=[]),d=new Dr(c);b=b.filter(e=>!d.contains(e));b.length&&(Is(a,b),Wa(c,b))};function Is(a,b){for(const d of b){const e=sd("LINK",a.document);e.type="text/css";b=e;var c=hd`//fonts.googleapis.com/css?family=${d}`;b.href=hc(c).toString();b.rel="stylesheet";a.document.head.appendChild(e)}};function Ks(a,b){a.G?b(a.l):a.j.push(b)}function Ls(a,b){a.G=!0;a.l=b;a.j.forEach(c=>{c(a.l)});a.j=[]} -var Ms=class extends N{constructor(a){super();this.g=a;this.j=[];this.G=!1;this.F=this.l=null;this.K=ps(a,1E3,()=>{if(this.F!=null){var b=lr(this.g,!0)-this.F;b>1E3&&Ls(this,b)}});this.B=null}M(a,b){a==null?(this.F=a=lr(this.g,!0),this.g.addEventListener("scroll",this.K),b!=null&&b(a)):this.B=this.g.setTimeout(()=>{this.M(void 0,b)},a)}i(){this.B!=null&&this.g.clearTimeout(this.B);this.g.removeEventListener("scroll",this.K);this.j=[];this.l=null;super.i()}};var Ns=(a,b)=>a.reduce((c,d)=>c.concat(b(d)),[]);var Os=class{constructor(a=1){this.g=a}next(){const a=48271*this.g%2147483647;this.g=a*2147483647<0?a+2147483647:a;return this.g/2147483647}};function Ps(a,b,c){const d=[];for(const e of a.g)b(e)?d.push(e):c(e);return new Qs(d)}function Rs(a){return a.g.slice(0)}function Ss(a,b=1){a=Rs(a);const c=new Os(b);cb(a,()=>c.next());return new Qs(a)}var Qs=class{constructor(a){this.g=a.slice(0)}forEach(a){this.g.forEach((b,c)=>void a(b,c,this))}filter(a){return new Qs(La(this.g,a))}apply(a){return new Qs(a(Rs(this)))}sort(a){return new Qs(Rs(this).sort(a))}get(a){return this.g[a]}add(a){const b=Rs(this);b.push(a);return new Qs(b)}};var Ts=class{constructor(a){this.g=new Dr(a)}contains(a){return this.g.contains(a)}};function Us(a){return new Vs({value:a},null)}function Ws(a){return new Vs(null,a)}function Xs(a){try{return Us(a())}catch(b){return Ws(b)}}function Ys(a){return a.i!=null}function Zs(a){return Ys(a)?a.getValue():null}function $s(a,b){Ys(a)&&b(a.getValue());return a}function at(a,b){return Ys(a)?a:Ws(b(a.g))}function bt(a,b){return at(a,c=>Error(`${b}${c.message}`))}function ct(a,b){Ys(a)||b(a.g);return a} -var Vs=class{constructor(a,b){this.i=a;this.g=b}getValue(){return this.i.value}map(a){return Ys(this)?(a=a(this.getValue()),a instanceof Vs?a:Us(a)):this}};var dt=class{constructor(){this.g=new Cr}set(a,b){let c=this.g.get(a);c||(c=new Dr,this.g.set(a,c));c.add(b)}};function et(a){return!a}function ft(a){return b=>{for(const c of a)c(b)}};function gt(a){return a!==null};var ht=class extends G{getId(){return y(this,3)}};var it=class{constructor(a,{Jg:b,ni:c,Hj:d,Lh:e}){this.C=a;this.j=c;this.l=new Qs(b||[]);this.i=e;this.g=d}};var jt=a=>{var b=a.split("~").filter(c=>c.length>0);a=new Cr;for(const c of b)b=c.indexOf("."),b==-1?a.set(c,""):a.set(c.substring(0,b),c.substring(b+1));return a},lt=a=>{var b=kt(a);a=[];for(let c of b)b=String(c.Hc),a.push(c.Lb+"."+(b.length<=20?b:b.slice(0,19)+"_"));return a.join("~")}; -const kt=a=>{const b=[],c=a.l;c&&c.g.length&&b.push({Lb:"a",Hc:mt(c)});a.j!=null&&b.push({Lb:"as",Hc:a.j});a.g!=null&&b.push({Lb:"i",Hc:String(a.g)});a.i!=null&&b.push({Lb:"rp",Hc:String(a.i)});b.sort(function(d,e){return d.Lb.localeCompare(e.Lb)});b.unshift({Lb:"t",Hc:nt(a.C)});return b},nt=a=>{switch(a){case 0:return"aa";case 1:return"ma";default:throw Error("Invalid slot type"+a);}},mt=a=>{a=Rs(a).map(ot);a=JSON.stringify(a);return xd(a)},ot=a=>{const b={};y(a,7)!=null&&(b.q=y(a,7));Oh(a,2)!=null&& -(b.o=Oh(a,2));Oh(a,5)!=null&&(b.p=Oh(a,5));return b};function pt(){var a=new qt;return gi(a,2,1)}var qt=class extends G{setLocation(a){return gi(this,1,a)}g(){return Zh(this,1)}};function rt(a){const b=[].slice.call(arguments).filter(hb(e=>e===null));if(!b.length)return null;let c=[],d={};b.forEach(e=>{c=c.concat(e.Og||[]);d=Object.assign(d,e.Zc())});return new st(c,d)}function tt(a){switch(a){case 1:return new st(null,{google_ad_semantic_area:"mc"});case 2:return new st(null,{google_ad_semantic_area:"h"});case 3:return new st(null,{google_ad_semantic_area:"f"});case 4:return new st(null,{google_ad_semantic_area:"s"});default:return null}} -function ut(a){return a==null?null:new st(null,{google_ml_rank:a})}function vt(a){return a==null?null:new st(null,{google_placement_id:lt(a)})}function wt({Ui:a,nj:b=null}){if(a==null)return null;a={google_daaos_ts:a};b!=null&&(a.google_erank=b+1);return new st(null,a)}var st=class{constructor(a,b){this.Og=a;this.g=b}Zc(){return this.g}};var xt=class extends G{};var yt=class extends G{};var zt=class extends G{i(){return y(this,2)}g(){return y(this,5)}j(){return zh(this,yt,3,eh())}l(){return Yh(this,4)}C(){return dh(this,6)??void 0}B(){return bh(this,xt,7)}};var At=class extends G{};var Bt=class extends G{j(){return A(this,12)}i(){return lg(Yg(this,13))??void 0}g(){return Xh(this,23)}};var Ct=class extends G{};var Dt=class extends G{g(){return Ph(this,3)}i(){return Nh(this,6)}};var Et=class extends G{};var Ft=class extends G{};var Gt=class extends G{ja(){return v(this,ht,1)}g(){return Ph(this,2)}};var Ht=class extends G{};var It=class extends G{};var Jt=class extends G{getName(){return y(this,4)}},Kt=[1,2,3];var Lt=class extends G{g(){return v(this,Dt,10)}};var Mt=class extends G{g(){return Nh(this,2)}i(){return Nh(this,3)}};var Nt=class extends G{g(){return kg(Yg(this,1))}};var Ot=class extends G{g(){return Rh(this,1)}};var Pt=class extends G{g(){return C(this,1)}i(){return C(this,2)}};var Qt=class extends G{j(){return A(this,1)}l(){return A(this,3)}C(){return A(this,7)}g(){return A(this,4)}i(){return A(this,5)}};var Rt=class extends G{g(){return v(this,Ot,6)}i(){return v(this,Qt,12)}};var St=class extends G{};var Tt=class extends G{};var Ut=class extends G{};var Vt=class extends G{g(){return zh(this,Ut,1,eh())}};var Wt=class extends G{setProperty(a){return ei(this,1,a)}getValue(){return y(this,2)}};var Xt=class extends G{};var Yt=class extends G{};var Zt=class extends G{ja(){return v(this,ht,1)}g(){return Ph(this,2)}};var $t=class extends G{};var au=class extends G{};var bu=class extends G{g(){return Uh(this,6)}};var cu=class extends G{Af(){return bh(this,au,2)}};var du=class extends G{g(){return kg(Yg(this,1))??0}};var eu=class extends G{};var gu=class extends G{g(){return Wh(this,eu,2,fu)}},fu=[1,2];var hu=class extends G{g(){return v(this,gu,3)}};var iu=class extends G{};var ju=class extends G{g(){return zh(this,iu,1,eh())}};var ku=class extends G{g(){return Uh(this,1)}i(){return v(this,hu,3)}};var lu=Uj(class extends G{g(){return v(this,Bt,15)}});var mu=class extends G{},nu=Uj(mu);function ou(a){try{const b=a.localStorage.getItem("google_ama_settings");return b?nu(b):null}catch(b){return null}}function pu(a,b){if(a.nf!==void 0){var c=ou(b);c||(c=new mu);a.nf!==void 0&&$h(c,2,a.nf);a=Date.now()+864E5;Number.isFinite(a)&&ci(c,1,Math.round(a));c=ii(c);try{b.localStorage.setItem("google_ama_settings",c)}catch(d){}}else if((c=ou(b))&&lg(Yg(c,1)){a[b]="unset"});return a}function Eu(a){Ga(Cu,b=>{delete a[b]});return a};var Gu=class{constructor(a){this.g=a}Xc(a){const b=a.document.createElement("div");Du(a,b);r(b,{width:"100%","max-width":"1000px",margin:"auto"});b.appendChild(this.g);const c=a.document.createElement("div");Du(a,c);r(c,{width:"100%","text-align":"center",display:"block",padding:"5px 5px 2px","box-sizing":"border-box","background-color":"#FFF"});c.appendChild(b);return c}};function Hu(a){if(a.nodeType!=1)var b=!1;else if(b=a.tagName=="INS")a:{b=["adsbygoogle-placeholder"];var c=a.className?a.className.split(/\s+/):[];a={};for(let d=0;da[b]!=null?a[b]:c;this.C=(b,c)=>a[b]!=null?a[b]:c;this.B=(b,c)=>a[b]!=null?a[b]:c;this.g=(b,c)=>a[b]!=null?a[b]:c;this.l=(b,c)=>a[b]!=null?c.concat(a[b]):c;this.i=()=>{}}};function M(a){return L(jx).j(a.g,a.defaultValue)}function V(a){return L(jx).C(a.g,a.defaultValue)}function kx(a){return L(jx).B(a.g,a.defaultValue)}function lx(a){return L(jx).l(a.g,a.defaultValue)};var nx=(a,b,c,d=0)=>{var e=mx(b,c,d);if(e.M){for(c=b=e.M;c=e.Sd(c);)b=c;e={anchor:b,position:e.se}}else e={anchor:b,position:c};a["google-ama-order-assurance"]=d;Ku(a,e.anchor,e.position)},ox=(a,b,c,d=0)=>{M(ov)?nx(a,b,c,d):Ku(a,b,c)}; -function mx(a,b,c){const d=f=>{f=px(f);return f==null?!1:c{f=px(f);return f==null?!1:c>f};switch(b){case 0:return{M:qx(a.previousSibling,d),Sd:f=>qx(f.previousSibling,d),se:0};case 2:return{M:qx(a.lastChild,d),Sd:f=>qx(f.previousSibling,d),se:0};case 3:return{M:qx(a.nextSibling,e),Sd:f=>qx(f.nextSibling,e),se:3};case 1:return{M:qx(a.firstChild,e),Sd:f=>qx(f.nextSibling,e),se:3}}throw Error("Un-handled RelativePosition: "+b);} -function px(a){return a.hasOwnProperty("google-ama-order-assurance")?a["google-ama-order-assurance"]:null}function qx(a,b){return a&&b(a)?a:null};function rx(a,b){try{const c=b.document.documentElement.getBoundingClientRect(),d=a.getBoundingClientRect();return{x:d.left-c.left,y:d.top-c.top}}catch(c){return null}}function sx(a,b){const c=a.google_reactive_ad_format===40,d=a.google_reactive_ad_format===16;return!!a.google_ad_resizable&&(!a.google_reactive_ad_format||c)&&!d&&!!b.navigator&&/iPhone|iPod|iPad|Android|BlackBerry/.test(b.navigator.userAgent)&&b===b.top}function tx(a,b,c){a=a.style;b==="rtl"?a.marginRight=c:a.marginLeft=c} -function ux(a,b,c){a=rx(b,a);return c==="rtl"?-a.x:a.x}function vx(a,b){b=b.parentElement;return b?(a=td(b,a))?a.direction:"":""}function wx(a,b,c){if(ux(a,b,c)!==0){tx(b,c,"0px");var d=ux(a,b,c);tx(b,c,`${-1*d}px`);a=ux(a,b,c);a!==0&&a!==d&&tx(b,c,`${d/(a-d)*d}px`)}};const xx=RegExp("(^| )adsbygoogle($| )");function yx(a,b){for(let c=0;c{if(!b||!c)return!1;var d=b.parentElement;const e=c.parentElement;if(!d||!e||d!=e)return!1;d=0;for(b=b.nextSibling;d<10&&b;){if(b==c)return!0;if(Gx(a,b))break;b=b.nextSibling;d++}return!1}; -const Gx=(a,b)=>{if(b.nodeType==3)return b.nodeType==3?(b=b.data,a=b.indexOf("&")!=-1?Jc(b,a.document):b,a=/\S/.test(a)):a=!1,a;if(b.nodeType==1){var c=a.getComputedStyle(b);if(c.opacity=="0"||c.display=="none"||c.visibility=="hidden")return!1;if((c=b.tagName)&&Er.contains(c.toUpperCase()))return!0;b=b.childNodes;for(c=0;c{if(a>=460)return a=Math.min(a,1200),Math.ceil(a<800?a/4:200);a=Math.min(a,600);return a<=420?Math.ceil(a/1.2):Math.ceil(a/1.91)+130};var Jx=class{constructor(){this.g={clearBoth:!0}}i(a,b,c,d){return zx(d.document,a,null,null,this.g,b)}j(a){return Ix(Math.min(a.screen.width||0,a.screen.height||0))}};function Kx(a){const b=[];wr(a.getElementsByTagName("p"),function(c){Lx(c)>=100&&b.push(c)});return b}function Lx(a){if(a.nodeType==3)return a.length;if(a.nodeType!=1||a.tagName=="SCRIPT")return 0;let b=0;wr(a.childNodes,function(c){b+=Lx(c)});return b}function Mx(a){return a.length==0||isNaN(a[0])?a:"\\"+(30+parseInt(a[0],10))+" "+a.substring(1)} -function Nx(a,b){if(a.g==null)return b;switch(a.g){case 1:return b.slice(1);case 2:return b.slice(0,b.length-1);case 3:return b.slice(1,b.length-1);case 0:return b;default:throw Error("Unknown ignore mode: "+a.g);}} -function Ox(a,b){var c=[];try{c=b.querySelectorAll(a.l)}catch(d){}if(!c.length)return[];b=Va(c);b=Nx(a,b);typeof a.i==="number"&&(c=a.i,c<0&&(c+=b.length),b=c>=0&&c=0&&fc)return!1;b.error&&b.meta&&b.id||(b=new jm(b,{context:a,id:d}));q.google_js_errors=q.google_js_errors||[];q.google_js_errors.push(b);q.error_rep_loaded||(rd(q.document,this.g),q.error_rep_loaded=!0);return!1}mb(a,b){try{return b()}catch(c){if(!this.ma(a,c,.01,"jserror"))throw c;}}nb(a,b,c){return(...d)=>this.mb(a,()=>b.apply(c,d))}Pa(a,b){b.catch(c=>{c=c?c:"unknown rejection"; -this.ma(a,c instanceof Error?c:Error(c),void 0)})}};function Rx(a,b){b=b.google_js_reporting_queue=b.google_js_reporting_queue||[];b.length<2048&&b.push(a)} -function Sx(a,b,c,d){const e=d||window,f=typeof queueMicrotask!=="undefined";return function(...g){f&&queueMicrotask(()=>{e.google_rum_task_id_counter=e.google_rum_task_id_counter||1;e.google_rum_task_id_counter+=1});const h=tm();let k,l=3;try{k=b.apply(this,g)}catch(m){l=13;if(!c)throw m;c(a,m)}finally{e.google_measure_js_timing&&h&&Rx({label:a.toString(),value:h,duration:(tm()||0)-h,type:l,...(f&&{taskId:e.google_rum_task_id_counter=e.google_rum_task_id_counter||1})},e)}return k}} -function Tx(a,b){return Sx(754,a,(c,d)=>{(new Qx).ma(c,d)},b)};function Ux(a,b,c){return Sx(a,b,void 0,c).apply()}function Vx(a,b){return Tx(a,b).apply()}function Wx(a){if(!a)return null;var b=y(a,7);if(y(a,1)||a.getId()||Uh(a,4).length>0){var c=a.getId(),d=y(a,1),e=Uh(a,4);b=Oh(a,2);var f=Oh(a,5);a=Xx(Ph(a,6));let g="";d&&(g+=d);c&&(g+="#"+Mx(c));if(e)for(c=0;cFg(d))),c.Ac=Zx(zh(b,Wt,4,eh()).map(d=>Fg(d))));return c}const ay={1:0,2:1,3:2,4:3},by={0:1,1:2,2:3,3:4};var cy=class{constructor(a){this.g=a}i(a,b,c,d){return zx(d.document,a,null,null,this.g,b)}j(){return null}};var dy=class{constructor(a){this.i=a}g(a){a=Math.floor(a.i);const b=Ix(a);return new st(["ap_container"],{google_reactive_ad_format:27,google_responsive_auto_format:16,google_max_num_ads:1,google_ad_type:this.i,google_ad_format:a+"x"+b,google_ad_width:a,google_ad_height:b})}};var ey=class{constructor(a,b){this.l=a;this.j=b}i(){return this.l}g(){return this.j}};var fy=class{constructor(a){this.g=a}i(a,b,c,d){var e=zh(this.g,Xt,9,eh()).length>0?zh(this.g,Xt,9,eh())[0]:null,f=$x(xh(this.g,Yt,3),e);if(!e)return null;if(e=y(e,1)){d=d.document;var g=c.tagName;c=Pl(new Dl(d),g);c.style.clear=f.clearBoth?"both":"none";g=="A"&&(c.style.display="block");c.style.padding="0px";c.style.margin="0px";f.re&&yx(c.style,f.re);d=Pl(new Dl(d),"INS");f.Ac&&yx(d.style,f.Ac);c.appendChild(d);f={yb:c,ua:d};f.ua.setAttribute("data-ad-type","text");f.ua.setAttribute("data-native-settings-key", -e);Bx(f,a,null,b);a=f}else a=null;return a}j(){var a=zh(this.g,Xt,9,eh()).length>0?zh(this.g,Xt,9,eh())[0]:null;if(!a)return null;a=zh(a,Wt,3,eh());for(let b=0;b0)return parseInt(c.getValue(),10)}return null}};var gy=class{constructor(a){this.g=a}i(a,b,c,d){if(!this.g)return null;const e=this.g.google_ad_format||null,f=this.g.google_ad_slot||null;if(c=c.style){var g=[];for(let h=0;h0?a[0]:null}};function jy(a,b,c){const d=[];for(let t=0;t{var c=b.He.tagName;c?(c=uy[c.toUpperCase()],b=c!=null&&c.Nc.contains(b.Ie)):b=!1;return!b})}var Ay=class{constructor(a,b,c){this.j=a;this.C=b.Id;this.B=b.Zg;this.g=b.articleStructure;this.i=c;this.l=b.Ig}};function By(a,b){if(!b)return!1;const c=qa(b),d=a.g.get(c);if(d!=null)return d;if(b.nodeType==1&&(b.tagName=="UL"||b.tagName=="OL")&&a.i.getComputedStyle(b).getPropertyValue("list-style-type")!="none")return a.g.set(c,!0),!0;b=By(a,b.parentNode);a.g.set(c,b);return b}function Cy(a,b){return Pa(b.Jd,c=>By(a,c))}var Dy=class{constructor(a){this.g=new Cr;this.i=a}};var Ey=class{constructor(a,b){this.l=a;this.g=[];this.i=[];this.j=b}};var Gy=(a,{lh:b=!1,qg:c=!1,wh:d=c?2:3,pg:e=null}={})=>{a=zy(a);return Fy(a,{lh:b,qg:c,wh:d,pg:e})},Fy=(a,{lh:b=!1,qg:c=!1,wh:d=c?2:3,pg:e=null}={})=>{if(d<2)throw Error("minGroupSize should be at least 2, found "+d);var f=a.slice(0);f.sort(yy);a=[];b=new Ey(b,e);for(const g of f){e={te:g,Ud:g.B.length<51?!1:b.j!=null?!Cy(b.j,g):!0};if(b.l||e.Ud)b.g.length?(f=b.g[b.g.length-1].te,f=Hx(f.da(),f.Jd[f.Jd.length-1],e.te.Jd[0])):f=!0,f?(b.g.push(e),e.Ud&&b.i.push(e.te)):(b.g=[e],b.i=e.Ud?[e.te]:[]);if(b.i.length>= -d){e=b;f=c?0:1;if(f<0||f>=e.i.length)e=null;else{for(f=e.i[f];e.g.length&&!e.g[0].Ud;)e.g.shift();e.g.shift();e.i.shift();e=f}e&&a.push(e)}}return a};var Iy=(a,b,c=!1)=>{a=Hy(a,b);const d=new Dy(b);return Ns(a,e=>Gy(e,{qg:c,pg:d}))},Jy=(a,b)=>{a=Hy(a,b);const c=new Dy(b);return Ns(a,d=>{if(d.l){var e=d.g;var f=d.i;d=d.j.querySelectorAll(d.l);var g=[];for(var h of d)g.push(new ty(e,h,f));e=g}else e=[];d=e.slice(0);if(d.length){e=[];f=d[0];for(g=1;g1)&&!By(c,f.element)&&Hx(m.da(),f.element,m.element)&&e.push(f);f=m}var l=e}else l=[];return l})},Hy=(a,b)=>{const c=new Cr;a.forEach(d=>{var e=Wx(xh(d,ht,1));if(e){var f=e.toString();yr(c,f)||c.set(f,{articleStructure:d,zi:e,Id:null,Zg:!1,Ig:null});e=c.get(f);(f=(f=v(d,ht,2))?y(f,7):null)?e.Id=e.Id?e.Id+","+f:f:e.Zg=!0;d=v(d,ht,4);e.Ig=d?y(d,7):null}});return Br(c).map(d=>{const e=Ox(d.zi,b.document);return e.length?new Ay(e[0], -d,b):null}).filter(d=>d!=null)};var Ky=a=>a?.google_ad_slot?Us(new it(1,{ni:a.google_ad_slot})):Ws(Error("Missing dimension when creating placement id")),My=a=>{switch(a.kc){case 0:case 1:var b=a.j;b==null?a=null:(a=b.ja(),a==null?a=null:(b=b.g(),a=b==null?null:new it(0,{Jg:[a],Lh:b})));return a!=null?Us(a):Ws(Error("Missing dimension when creating placement id"));case 2:return a=Ly(a),a!=null?Us(a):Ws(Error("Missing dimension when creating placement id"));default:return Ws(Error("Invalid type: "+a.kc))}}; -const Ly=a=>{if(a==null||a.C==null)return null;const b=v(a.C,ht,1),c=v(a.C,ht,2);if(b==null||c==null)return null;const d=a.aa;if(d==null)return null;a=a.g();return a==null?null:new it(0,{Jg:[b,c],Hj:d,Lh:by[a]})};function Ny(a){const b=ny(a.ha);return(b?Ky(b):My(a.ha)).map(c=>lt(c))}function EA(a){a.g=a.g||Ny(a);return a.g}function FA(a,b){if(a.ha.l)throw Error("AMA:AP:AP");ox(b,a.ja(),a.ha.g());a=a.ha;a.l=!0;b!=null&&a.K.push(b)}const GA=class{constructor(a,b,c){this.ha=a;this.i=b;this.pa=c;this.g=null}ja(){return this.i}fill(a,b){var c=this.ha;(a=c.B.i(a,b,this.i,c.i))&&FA(this,a.yb);return a}};function HA(a,b){return Vx(()=>{const c=[],d=[];try{var e=[];for(var f=0;f=0&&(ai(e,4,g),f=!0);g=null;c===1?(c=V(kv),c>=0&&(g=c+"vp")):(c=V(jv),c>=0&&(g=c+"px"));c=V(iv);c>=0&&(g=c+"px");g!==null&&(ei(e,2,g),f=!0);c=M(mv)?"0px":null;c!==null&&(ei(e,5,c),f=!0);if(M(nv))$h(d,2,!0),f=!0;else if(c!==null||g!==null){const m=[];for(const n of a.C){var h=m,k=h.push;var l=new yt;l=ai(l,1,n.adCount);l=ei(l,3,c??n.wd.Fb+"px");l=ei(l,2,g??n.wd.ld+"px");k.call(h,l)}Kh(e,3,m)}return f?(x(d,1,e),ZA(a,d,b)):a} -var RA=class{constructor(a,b,c,d,e,f){this.j=a;this.B=b;this.C=c.sort((g,h)=>g.adCount-h.adCount);this.i=d;this.l=e;this.g=f}};function NA(a,b){for(let c of a)if(Zh(c,1)==b)return c;return null}function $A(a,b){if(a===void 0)return null;const c=[];for(let d of a){a=Oh(d,1);const e=PA(y(d,2),b),f=PA(y(d,3),b);if(typeof a!=="number"||e===null)return null;c.push({adCount:a,wd:{ld:e,Fb:f}})}return c} -function VA(a,b){const c=PA(a.i(),b),d=PA(a.g(),b);if(c===null)return null;const e=Oh(a,4);if(e==null)return null;var f=a.j();f=$A(f,b);if(f===null)return null;const g=v(a,xt,7);b=g?OA(g,b):void 0;return new RA(c,d,f,e,dh(a,6),b)}function QA(a,b){a=PA(IA[a],b);return M(dv)?new RA(a===null?Infinity:a,null,[],8,.3):new RA(a===null?Infinity:a,null,[],3,null)}function PA(a,b){if(!a)return null;const c=parseFloat(a);return isNaN(c)?null:a.endsWith("px")?c:a.endsWith("vp")?c*b:null} -function MA(a){a=hr(a)>=900;return Lb()&&!a?1:2}function SA(a,b){if(b<4)return[];const c=Math.ceil(b/2);return[{adCount:c,wd:{ld:a*2,Fb:a*2}},{adCount:c+Math.ceil((b-c)/2),wd:{ld:a*3,Fb:a*3}}]}function OA(a,b){const c=PA(y(a,2),b)||0,d=Oh(a,3)||1;a=PA(y(a,1),b)||0;return{xh:c,uh:d,Fc:a}};function bB(a,b,c){return ar({top:a.g.top-(c+1),right:a.g.right+(c+1),bottom:a.g.bottom+(c+1),left:a.g.left-(c+1)},b.g)}function cB(a){if(!a.length)return null;const b=br(a.map(c=>c.g));a=a.reduce((c,d)=>c+d.i,0);return new dB(b,a)}var dB=class{constructor(a,b){this.g=a;this.i=b}};function cq(){return"m202503270101"};var eB=Sj($p);var bq=Sj(dq);function fB(a,b){return b(a)?a:void 0} -function gB(a,b,c,d,e){c=c instanceof jm?c.error:c;var f=new hq;const g=new gq;try{var h=Zd(window);di(g,1,h)}catch(p){}try{var k=L(Sq).g();oh(g,2,k,Qf)}catch(p){}try{fi(g,3,window.document.URL)}catch(p){}h=x(f,2,g);k=new fq;b=F(k,1,b);try{var l=gf(c?.name)?c.name:"Unknown error";fi(b,2,l)}catch(p){}try{var m=gf(c?.message)?c.message:`Caught ${c}`;fi(b,3,m)}catch(p){}try{var n=gf(c?.stack)?c.stack:Error().stack;n&&oh(b,4,n.split(/\n\s*/),rg)}catch(p){}l=Ah(h,1,iq,b);if(e){m=0;switch(e.errSrc){case "LCC":m= -1;break;case "PVC":m=2}n=aq();b=fB(e.shv,gf);n=fi(n,2,b);m=F(n,6,m);n=Fg(eB());b=fB(e.es,pf());n=oh(n,1,b,Qf);n=Wg(n);m=x(m,4,n);n=fB(e.client,gf);m=ei(m,3,n);n=fB(e.slotname,gf);m=fi(m,7,n);e=fB(e.tag_origin,gf);e=fi(m,8,e);e=Wg(e)}else e=Wg(aq());e=Ah(l,6,jq,e);d=di(e,5,d??1);a.Ph(d)};let hB,iB=64;function jB(){try{return hB??(hB=new Uint32Array(64)),iB>=64&&(crypto.getRandomValues(hB),iB=0),hB[iB++]}catch(a){return Math.floor(Math.random()*2**32)}};var lB=class{constructor(){this.g=kB}};function kB(){return{fk:jB()+(jB()&2**21-1)*2**32,Wi:Number.MAX_SAFE_INTEGER}};var oB=class{constructor(a=!1){var b=mB;this.I=nB;this.i=a;this.B=b;this.g=null;this.l=this.ma}j(a){this.g=a}C(){}mb(a,b,c){let d;try{d=b()}catch(e){b=this.i;try{b=this.l(a,km(e),void 0,c)}catch(f){this.ma(217,f)}if(b)window.console?.error?.(e);else throw e;}return d}nb(a,b,c,d){return(...e)=>this.mb(a,()=>b.apply(c,e),d)}Pa(a,b,c){b.catch(d=>{d=d?d:"unknown rejection";this.ma(a,d instanceof Error?d:Error(d),void 0,c)})}ma(a,b,c,d){try{const g=c===void 0?1/this.B:c===0?0:1/c;var e=(new lB).g();if(g> -0&&e.fk*g<=e.Wi){var f=this.I;c={};if(this.g)try{this.g(c)}catch(h){}if(d)try{d(c)}catch(h){}gB(f,a,b,g,c)}}catch(g){}return this.i}};var pB=class extends Error{constructor(a=""){super();this.name="TagError";this.message=a?"adsbygoogle.push() error: "+a:"";Error.captureStackTrace?Error.captureStackTrace(this,pB):this.stack=Error().stack||""}};let nB,qB,rB,sB,mB;const tB=new Bm(q);(function(a,b,c=!0){({vk:mB,vj:rB}=uB());qB=a||new Vq;Uq(qB,rB);nB=b||new Pq(cq(),1E3);sB=new oB(c);q.document.readyState==="complete"?q.google_measure_js_timing||zm(tB):tB.g&&qb(q,"load",()=>{q.google_measure_js_timing||zm(tB)})})();function vB(a,b,c){return sB.mb(a,b,c)}function wB(a,b){return sB.nb(a,b)}function xB(a,b,c){sB.Pa(a,b,c)}function yB(a,b,c=.01){const d=L(Sq).g();!b.eid&&d.length&&(b.eid=d.toString());Jm(qB,a,b,!0,c)} -function zB(a,b,c=mB,d){return sB.ma(a,b,c,d,void 0)}function uB(){let a,b;typeof q.google_srt==="number"?(b=q.google_srt,a=q.google_srt===0?1:.01):(b=Math.random(),a=.01);return{vk:a,vj:b}};function AB(a=null){({googletag:a}=a??window);return a?.apiReady?a:void 0};function BB(a,b){var c=CB(b,".google-auto-placed");const d=DB(b),e=EB(b),f=FB(b),g=GB(b),h=HB(b),k=CB(b,"div.googlepublisherpluginad"),l=CB(b,"html > ins.adsbygoogle");let m=[].concat(...CB(b,"iframe[id^=aswift_],iframe[id^=google_ads_frame]"),...CB(b,"body ins.adsbygoogle"));b=[];for(const [n,p]of[[a.Td,c],[a.hc,d],[a.Fj,e],[a.Ff,f],[a.Gf,g],[a.Dj,h],[a.Ej,k],[a.Gj,l]])n===!1?b=b.concat(p):m=m.concat(p);a=IB(m);c=IB(b);a=a.slice(0);for(const n of c)for(c=0;ca.document.getElementById(c.getSlotElementId())),c=>c!=null):null}function CB(a,b){return Va(a.document.querySelectorAll(b))}function DB(a){return CB(a,"ins.adsbygoogle[data-anchor-status]")}function EB(a){return CB(a,"ins.adsbygoogle[data-ad-format=autorelaxed]")} -function FB(a){return(KB(a)||CB(a,"div[id^=div-gpt-ad]")).concat(CB(a,"iframe[id^=google_ads_iframe]"))} -function GB(a){return CB(a,"div.trc_related_container,div.OUTBRAIN,div[id^=rcjsload],div[id^=ligatusframe],div[id^=crt-],iframe[id^=cto_iframe],div[id^=yandex_], div[id^=Ya_sync],iframe[src*=adnxs],div.advertisement--appnexus,div[id^=apn-ad],div[id^=amzn-native-ad],iframe[src*=amazon-adsystem],iframe[id^=ox_],iframe[src*=openx],img[src*=openx],div[class*=adtech],div[id^=adtech],iframe[src*=adtech],div[data-content-ad-placement=true],div.wpcnt div[id^=atatags-]")} -function HB(a){return CB(a,"ins.adsbygoogle-ablated-ad-slot")}function IB(a){const b=[];for(const c of a){a=!0;for(let d=0;d ins.adsbygoogle");return IB([...(a.Td===!0?c:[]),...(a.hc===!0?d:[]),...(a.Fj===!0?e:[]),...(a.Ff===!0?f:[]),...(a.Gf===!0?g:[]),...(a.Dj===!0?h:[]),...(a.Ej===!0?k:[]),...(a.Gj===!0?b:[])])});function NB(a,b,c){const d=OB(a);b=PB(d,b,c);return new QB(a,d,b)}function RB(a){return(a.bottom-a.top)*(a.right-a.left)>1}function SB(a){return a.g.map(b=>b.box)}function TB(a){return a.g.reduce((b,c)=>b+c.box.bottom-c.box.top,0)}var QB=class{constructor(a,b,c){this.j=a;this.g=b.slice(0);this.l=c.slice(0);this.i=null}}; -function OB(a){const b=LB({hc:!1},a),c=sr(a),d=rr(a);return b.map(e=>{const f=e.getBoundingClientRect();return(e=JB(e))||RB(f)?{box:{top:f.top+d,right:f.right+c,bottom:f.bottom+d,left:f.left+c},Go:e?1:0}:null}).filter(hb(e=>e===null))}function PB(a,b,c){return b!=void 0&&a.length<=(c!=void 0?c:8)?UB(a,b):Ma(a,d=>new dB(d.box,1))} -function UB(a,b){a=Ma(a,d=>new dB(d.box,1));const c=[];for(;a.length>0;){let d=a.pop(),e=!0;for(;e;){e=!1;for(let f=0;far(e,d))}function WB(a,b,c,d,e){e=e.pa;const f=Ds(e,b),g=Ds(e,c),h=Ds(e,d);return!Pa(a,k=>ar(k,g)||ar(k,f)&&!ar(k,h))}function XB(a,b,c,d){const e=SB(a);if(VB(e,b,d.pa))return!0;if(!WB(e,b,c.xh,c.Fc,d))return!1;const f=new dB(Ds(d.pa,0),1);a=La(a.l,g=>bB(g,f,c.Fc));b=Na(a,(g,h)=>g+h.i);return a.length===0||b>c.uh?!1:!0};var YB=(a,b)=>{const c=[];let d=a;for(a=()=>{c.push({anchor:d.anchor,position:d.position});return d.anchor==b.anchor&&d.position==b.position};d;){switch(d.position){case 1:if(a())return c;d.position=2;case 2:if(a())return c;if(d.anchor.firstChild){d={anchor:d.anchor.firstChild,position:1};continue}else d.position=3;case 3:if(a())return c;d.position=4;case 4:if(a())return c}for(;d&&!d.anchor.nextSibling&&d.anchor.parentNode!=d.anchor.ownerDocument.body;){d={anchor:d.anchor.parentNode,position:3};if(a())return c; -d.position=4;if(a())return c}d&&d.anchor.nextSibling?d={anchor:d.anchor.nextSibling,position:1}:d=null}return c};function ZB(a,b){const c=new dt,d=new Dr;b.forEach(e=>{if(Wh(e,Ht,1,Kt)){e=Wh(e,Ht,1,Kt);if(v(e,Gt,1)&&v(e,Gt,1).ja()&&v(e,Gt,2)&&v(e,Gt,2).ja()){const g=$B(a,v(e,Gt,1).ja()),h=$B(a,v(e,Gt,2).ja());if(g&&h)for(var f of YB({anchor:g,position:v(e,Gt,1).g()},{anchor:h,position:v(e,Gt,2).g()}))c.set(qa(f.anchor),f.position)}v(e,Gt,3)&&v(e,Gt,3).ja()&&(f=$B(a,v(e,Gt,3).ja()))&&c.set(qa(f),v(e,Gt,3).g())}else Wh(e,It,2,Kt)?aC(a,Wh(e,It,2,Kt),c):Wh(e,Ft,3,Kt)&&bC(a,Wh(e,Ft,3,Kt),d)});return new cC(c,d)} -var cC=class{constructor(a,b){this.i=a;this.g=b}};const aC=(a,b,c)=>{v(b,Gt,2)?(b=v(b,Gt,2),(a=$B(a,b.ja()))&&c.set(qa(a),b.g())):v(b,ht,1)&&(a=dC(a,v(b,ht,1)))&&a.forEach(d=>{d=qa(d);c.set(d,1);c.set(d,4);c.set(d,2);c.set(d,3)})},bC=(a,b,c)=>{v(b,ht,1)&&(a=dC(a,v(b,ht,1)))&&a.forEach(d=>{c.add(qa(d))})},$B=(a,b)=>(a=dC(a,b))&&a.length>0?a[0]:null,dC=(a,b)=>(b=Wx(b))?Ox(b,a):null;var eC=class{constructor(){this.g=Yd();this.i=0}};function fC(a,b,c){switch(c){case 2:case 3:break;case 1:case 4:b=b.parentElement;break;default:throw Error("Unknown RelativePosition: "+c);}for(c=[];b;){if(gC(b))return!0;if(a.g.has(b))break;c.push(b);b=b.parentElement}c.forEach(d=>a.g.add(d));return!1}function hC(a){a=iC(a);return a.has("all")||a.has("after")}function jC(a){a=iC(a);return a.has("all")||a.has("before")}function iC(a){return(a=a&&a.getAttribute("data-no-auto-ads"))?new Set(a.split("|")):new Set} -function gC(a){const b=iC(a);return a&&(a.tagName==="AUTO-ADS-EXCLUSION-AREA"||b.has("inside")||b.has("all"))}var kC=class{constructor(){this.g=new Set;this.i=new eC}};function lC(a){return function(b){return HA(b,a)}}function mC(a){const b=ir(a);return b?ya(nC,b+rr(a)):eb}function oC(a,b,c){if(a<0)throw Error("ama::ead:nd");if(a===Infinity)return eb;const d=SB(c||NB(b));return e=>VB(d,a,e.pa)}function pC(a,b,c,d){if(a<0||b.xh<0||b.uh<0||b.Fc<0)throw Error("ama::ead:nd");return a===Infinity?eb:e=>XB(d||NB(c,b.Fc),a,b,e)}function qC(a){if(!a.length)return eb;const b=new Ts(a);return c=>b.contains(c.kc)} -function rC(a){return function(b){for(let c of b.ed)if(a.indexOf(c)>-1)return!1;return!0}}function sC(a){return a.length?function(b){const c=b.ed;return a.some(d=>c.indexOf(d)>-1)}:fb}function tC(a,b){if(a<=0)return fb;const c=mr(b).scrollHeight-a;return function(d){return d.pa.g<=c}}function uC(a){const b={};a&&a.forEach(c=>{b[c]=!0});return function(c){return!b[Ph(c.Ae,2)||0]}}function vC(a){return a.length?b=>a.includes(Ph(b.Ae,1)||0):fb} -function wC(a,b){const c=ZB(a,b);return function(d){var e=d.ja();d=by[d.ha.g()];var f=c.i,g=qa(e);f=f.g.get(g);if(!(f=f?f.contains(d):!1))a:{if(c.g.contains(qa(e)))switch(d){case 2:case 3:f=!0;break a;default:f=!1;break a}for(e=e.parentElement;e;){if(c.g.contains(qa(e))){f=!0;break a}e=e.parentElement}f=!1}return!f}} -function xC(){const a=new kC;return function(b){var c=b.ja(),d=by[b.ha.g()];a:switch(d){case 1:b=hC(c.previousElementSibling)||jC(c);break a;case 4:b=hC(c)||jC(c.nextElementSibling);break a;case 2:b=jC(c.firstElementChild);break a;case 3:b=hC(c.lastElementChild);break a;default:throw Error("Unknown RelativePosition: "+d);}c=fC(a,c,d);d=a.i;yB("ama_exclusion_zone",{typ:b?c?"siuex":"siex":c?"suex":"noex",cor:d.g,num:d.i++,dvc:Nd()},.1);return!(b||c)}} -const nC=(a,b)=>b.pa.g>=a,yC=(a,b,c)=>{c=c.pa.i;return a<=c&&c<=b};function zC(a,b,c,d,e){var f=AC(BC(a,b),a);if(f.length===0){var g=!!v(b,Vt,6)?.g()?.length;f=v(b,Rt,28)?.i()?.i()&&g?AC(CC(a,b),a):f}if(f.length===0)return Au(d,"pfno"),[];b=f;a=e.Md?DC(a,b,c):{ub:b,Nd:null};const {ub:h,Nd:k}=a;f=h;return f.length===0&&k?(Au(d,k),[]):[f[e.Wk?0:e.Uk?Math.floor(f.length/4):Math.floor(f.length/2)]]} -function DC(a,b,c){c=c?zh(c,Jt,5,eh()):[];const d=wC(a.document,c),e=xC();b=b.filter(f=>d(f));if(b.length===0)return{ub:[],Nd:"pfaz"};b=b.filter(f=>e(f));return b.length===0?{ub:[],Nd:"pfet"}:{ub:b,Nd:null}}function EC(a,b){return a.pa.g-b.pa.g}function BC(a,b){const c=v(b,Vt,6);if(!c)return[];b=v(b,Rt,28)?.i();return(b?.g()?Jy(c.g(),a):Iy(c.g(),a,!!b?.j())).map(d=>d.j())}function CC(a,b){b=zh(b,Zt,1,eh())||[];return jy(b,a,{}).filter(c=>!c.ed.includes(6))} -function AC(a,b){a=HA(a,b);const c=mC(b);a=a.filter(d=>c(d));return a.sort(EC)};var FC={},GC={},HC={},IC={},JC={};function KC(){throw Error("Do not instantiate directly");}KC.prototype.Qg=null;KC.prototype.Xc=function(){return this.content};KC.prototype.toString=function(){return this.content};function LC(a){if(a.Rg!==FC)throw Error("Sanitized content was not of kind HTML.");return yc(a.toString())}function MC(){KC.call(this)}Ba(MC,KC);MC.prototype.Rg=FC;function NC(a){if(a!=null)switch(a.Qg){case 1:return 1;case -1:return-1;case 0:return 0}return null}function OC(a){return PC(a,FC)?a:a instanceof xc?QC(zc(a).toString()):QC(String(String(a)).replace(RC,SC),NC(a))}var QC=function(a){function b(c){this.content=c}b.prototype=a.prototype;return function(c,d){c=new b(String(c));d!==void 0&&(c.Qg=d);return c}}(MC);function TC(a){return UC(String(a),()=>"").replace(VC,"<")} -const WC=RegExp.prototype.hasOwnProperty("sticky"),XC=new RegExp((WC?"":"^")+"(?:!|/?([a-zA-Z][a-zA-Z0-9:-]*))",WC?"gy":"g"); -function UC(a,b){const c=[],d=a.length;let e=0,f=[],g,h,k=0;for(;k":f.push(l);c.push(b(f.join(""), -g));e=0;f=[];h=g=null;break;default:f.push(l)}break;default:throw Error();}e===1&&k>=d&&(k=h+1,c.push("<"),e=0,f=[],h=g=null)}return c.join("")}function YC(a,b){a=a.replace(/<\//g,"<\\/").replace(/\]\]>/g,"]]\\>");return b?a.replace(/{/g," \\{").replace(/}/g," \\}").replace(/\/\*/g,"/ *").replace(/\\$/,"\\ "):a}function Y(a){return PC(a,FC)?String(TC(a.Xc())).replace(ZC,SC):String(a).replace(RC,SC)} -function $C(a){a=String(a);const b=(d,e,f)=>{const g=Math.min(e.length-f,d.length);for(let k=0;k":">","`":"`","\u0085":"…","\u00a0":" ","\u2028":"
","\u2029":"
"};function SC(a){return kD[a]} -const lD={"\x00":"\\x00","\b":"\\x08","\t":"\\t","\n":"\\n","\v":"\\x0b","\f":"\\f","\r":"\\r",'"':"\\x22",$:"\\x24","&":"\\x26","'":"\\x27","(":"\\x28",")":"\\x29","*":"\\x2a","+":"\\x2b",",":"\\x2c","-":"\\x2d",".":"\\x2e","/":"\\/",":":"\\x3a","<":"\\x3c","=":"\\x3d",">":"\\x3e","?":"\\x3f","[":"\\x5b","\\":"\\\\","]":"\\x5d","^":"\\x5e","{":"\\x7b","|":"\\x7c","}":"\\x7d","\u0085":"\\x85","\u2028":"\\u2028","\u2029":"\\u2029"};function mD(a){return lD[a]} -const nD={"\x00":"%00","\u0001":"%01","\u0002":"%02","\u0003":"%03","\u0004":"%04","\u0005":"%05","\u0006":"%06","\u0007":"%07","\b":"%08","\t":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D","\u000e":"%0E","\u000f":"%0F","\u0010":"%10","\u0011":"%11","\u0012":"%12","\u0013":"%13","\u0014":"%14","\u0015":"%15","\u0016":"%16","\u0017":"%17","\u0018":"%18","\u0019":"%19","\u001a":"%1A","\u001b":"%1B","\u001c":"%1C","\u001d":"%1D","\u001e":"%1E","\u001f":"%1F"," ":"%20",'"':"%22","'":"%27","(":"%28", -")":"%29","<":"%3C",">":"%3E","\\":"%5C","{":"%7B","}":"%7D","\u007f":"%7F","\u0085":"%C2%85","\u00a0":"%C2%A0","\u2028":"%E2%80%A8","\u2029":"%E2%80%A9","\uff01":"%EF%BC%81","\uff03":"%EF%BC%83","\uff04":"%EF%BC%84","\uff06":"%EF%BC%86","\uff07":"%EF%BC%87","\uff08":"%EF%BC%88","\uff09":"%EF%BC%89","\uff0a":"%EF%BC%8A","\uff0b":"%EF%BC%8B","\uff0c":"%EF%BC%8C","\uff0f":"%EF%BC%8F","\uff1a":"%EF%BC%9A","\uff1b":"%EF%BC%9B","\uff1d":"%EF%BC%9D","\uff1f":"%EF%BC%9F","\uff20":"%EF%BC%A0","\uff3b":"%EF%BC%BB", -"\uff3d":"%EF%BC%BD"};function jD(a){return nD[a]} -const RC=/[\x00\x22\x26\x27\x3c\x3e]/g,ZC=/[\x00\x22\x27\x3c\x3e]/g,oD=/[\x00\x08-\x0d\x22\x26\x27\/\x3c-\x3e\x5b-\x5d\x7b\x7d\x85\u2028\u2029]/g,iD=/[\x00- \x22\x27-\x29\x3c\x3e\\\x7b\x7d\x7f\x85\xa0\u2028\u2029\uff01\uff03\uff04\uff06-\uff0c\uff0f\uff1a\uff1b\uff1d\uff1f\uff20\uff3b\uff3d]/g,hD=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i,pD=/^[^&:\/?#]*(?:[\/?#]|$)|^https?:|^ftp:|^data:image\/[a-z0-9+-]+;base64,[a-z0-9+\/]+=*$|^blob:/i,qD=/^[a-zA-Z0-9+\/_-]+={0,2}$/; -function bD(a){return String(a).replace(oD,mD)}function gD(a){return String(a).replace(iD,jD)}function rD(a){a=String(a);return qD.test(a)?a:"zSoyz"}const VC=/ - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -const sD=Math.floor;var tD=/^xn--/,uD=/[\x2E\u3002\uFF0E\uFF61]/g;const vD={Dn:"Overflow: input needs wider integers to process",An:"Illegal input >= 0x80 (not a basic code point)",kn:"Invalid input"};function wD(a){throw RangeError(vD[a]);}function xD(a,b){const c=a.split("@");let d="";c.length>1&&(d=c[0]+"@",a=c[1]);a=a.replace(uD,".");a=a.split(".").map(b).join(".");return d+a} -function yD(a){return xD(a,b=>{if(tD.test(b)&&b.length>4){b=b.slice(4).toLowerCase();const h=[],k=b.length;let l=0,m=128;var c=72,d=b.lastIndexOf("-");d<0&&(d=0);for(var e=0;e=128&&wD("Illegal input >= 0x80 (not a basic code point)"),h.push(b.charCodeAt(e));for(d=d>0?d+1:0;d=k&&wD("Invalid input");var f=b.charCodeAt(d++);f=f-48<10?f-22:f-65<26?f-65:f-97<26?f-97:36;(f>=36||f>sD((2147483647-l)/n))&&wD("Overflow: input needs wider integers to process"); -l+=f*n;var g=p<=c?1:p>=c+26?26:p-c;if(fsD(2147483647/f)&&wD("Overflow: input needs wider integers to process");n*=f}f=h.length+1;c=l-e;g=0;c=e==0?sD(c/700):c>>1;for(c+=sD(c/f);c>455;g+=36)c=sD(c/35);c=sD(g+36*c/(c+38));sD(l/f)>2147483647-m&&wD("Overflow: input needs wider integers to process");m+=sD(l/f);l%=f;h.splice(l++,0,m)}b=String.fromCodePoint.apply(null,h)}return b})};function zD(a,b,c){var d=a.Ba.contentWindow;a.Va?(b={action:"search",searchTerm:b,rsToken:c},b.experimentId=a.Ta,a.postMessage(d,b)):(d=d.google.search.cse.element.getElement(a.Vb),c={rsToken:c,hostName:a.host},a.Ua||typeof a.Ta!=="number"||(c.afsExperimentId=a.Ta),d.execute(b,void 0,c))} -var AD=class{constructor(a){this.Ba=a.Ba;this.La=a.La;this.Vb=a.Vb;this.Wa=a.Wa;this.xd=a.xd;this.host=a.location.host;this.origin=a.location.origin;this.language=a.language;this.jc=a.jc;this.Ta=a.Ta;this.md=a.md||!1;this.Va=a.Va;this.Hb=a.Hb;this.g=a.rg||!1;this.Ua=a.Ua||!1;this.sg=!!a.sg}postMessage(a,b){a?.postMessage(b,"https://www.gstatic.com")}M(){this.Ba.setAttribute("id","prose-iframe");this.Ba.setAttribute("width","100%");this.Ba.setAttribute("height","100%");this.Ba.style.cssText="box-sizing:border-box;border:unset;"; -var a="https://www.google.com/s2/favicons?sz=64&domain_url="+encodeURIComponent(this.host);var b=pc(a,oc)||jc;var c=yD(this.host.startsWith("www.")?this.host.slice(4):this.host),d={};a=this.Vb;var e=this.Wa,f=this.xd;const g=this.host;c=this.jc.replace("${website}",c);var h=this.md;const k=this.g,l=this.sg,m=d&&d.Wb,n=d&&d.Ug;d=QC;h=".cse-favicon {display: block; float: left; height: 16px; position: absolute; left: 15px; width: 16px;}.cse-header {font-size: 16px; font-family: Arial; margin-left: 35px; margin-top: 6px; margin-bottom: unset; line-height: 16px;}.gsc-search-box {max-width: 520px !important;}.gsc-input {padding-right: 0 !important;}.gsc-input-box {border-radius: 16px 0 0 16px !important;}.gsc-search-button-v2 {border-left: 0 !important; border-radius: 0 16px 16px 0 !important; min-height: 30px !important; margin-left: 0 !important;}.gsc-cursor-page, .gsc-cursor-next-page, .gsc-cursor-numbered-page {color: #1a73e8 !important;}.gsc-cursor-chevron {fill: #1a73e8 !important;}.gsc-cursor-box {text-align: center !important;}.gsc-cursor-current-page {color: #000 !important;}.gcsc-find-more-on-google-root, .gcsc-find-more-on-google {display: none !important;}.prose-container {max-width: 652px;}#prose-empty-serp-container {display: flex; flex-direction: column; align-items: center; padding: 0; gap: 52px; position: relative; width: 248px; height: 259px; margin: auto; top: 100px;}#prose-empty-serp-icon-image {display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 30px; gap: 10px; width: 124px; height: 124px; border-radius: 62px; flex: none; order: 1; flex-grow: 0; position: absolute; top: 0;}#prose-empty-serp-text-container {display: flex; flex-direction: column; align-items: center; padding: 0; gap: 19px; width: 248px; height: 83px; flex: none; order: 2; align-self: stretch; flex-grow: 0; position: absolute; top: 208px;}#prose-empty-serp-text-div {display: flex; flex-direction: column; align-items: flex-start; padding: 0; gap: 11px; width: 248px; height: 83px; flex: none; order: 0; align-self: stretch; flex-grow: 0;}#prose-empty-serp-supporting-text {width: 248px; height: 40px; font-family: 'Arial'; font-style: normal; font-weight: 400; font-size: 14px; line-height: 20px; text-align: center; letter-spacing: 0.2px; color: #202124; flex: none; order: 1; align-self: stretch; flex-grow: 0;}"+ -(h?"window.__gcse={initializationCallback:function(){top.postMessage({action:"init",adChannel:"'+bD(f)+'"},top.location.origin);}};\x3c/script>':"")+'
'+Y(g)+' icon

'+OC(c)+"

"+(l?'
':'')+"
"+(k?"
Search this website by entering a keyword.
": -""));a=LC(a);this.Va?(a=this.Ba,e=hd`https://www.gstatic.com/prose/protected/${this.Hb||"558153351"}/iframe.html?cx=${this.La}&host=${this.host}&hl=${this.language}&lrh=${this.jc}&client=${this.Wa}&origin=${this.origin}`,a.src=hc(e).toString()):(e=new Map([["cx",this.La],["language",this.language]]),this.Ua&&(f=Array.isArray(this.Ta)?this.Ta:[this.Ta],f.length&&e.set("fexp",f.join())),e=id(hd`https://cse.google.com/cse.js`,e),e=hc(e).toString(),e=yc(` - \ No newline at end of file diff --git a/app/api/axios-client.ts b/app/api/axios-client.ts new file mode 100644 index 0000000..8503c29 --- /dev/null +++ b/app/api/axios-client.ts @@ -0,0 +1,358 @@ +import axios, { AxiosRequestConfig, AxiosResponse, isAxiosError } from 'axios'; +import { mockData, type MockApiResponse } from './mock'; + +/** + * API响应类型 + */ +export type ApiResponse = { + data?: T; + error?: string; + status: number; + headers?: Record; +}; + +export type QueryParams = Record; + +// 获取 API 基础 URL +// const API_BASE_URL = 'http://172.18.0.100:3000'; +const API_BASE_URL = 'http://nas.7bm.co:3000'; +// const API_BASE_URL = 'http://172.16.0.119:9000/admin'; +// export const API_BASE_URL = 'http://nas.7bm.co:3000'; + +// 文档URL前缀 +export const DOCUMENT_URL = 'http://172.18.0.100:9000/docauditai/'; + +// 是否使用模拟数据(开发环境使用) +const USE_MOCK_DATA = false; // 设置为true使用模拟数据,避免API连接问题 + +// 创建 axios 实例 +const axiosInstance = axios.create({ + baseURL: API_BASE_URL, + timeout: 10000, // 10秒超时 + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } +}); + +/** + * 将编码后的URL解码为可读格式 + * @param url 编码后的URL + * @returns 解码后的可读URL + */ +function decodeUrlForDisplay(url: string): string { + try { + // 首先解码整个URL + const decodedUrl = decodeURIComponent(url); + + // 如果URL中包含@符号作为前缀,则移除它 + if (decodedUrl.startsWith('@')) { + return decodedUrl.substring(1); + } + + return decodedUrl; + } catch (error) { + // 如果解码失败,返回原始URL + console.error('URL解码失败:', error); + return url; + } +} + +/** + * 构建完整的 API URL + */ +function buildUrl(endpoint: string, params?: QueryParams): string { + let fullUrl; + + // 检查endpoint是否已经是完整URL + if (endpoint.startsWith('http')) { + fullUrl = endpoint; + } else { + // 确保API_BASE_URL格式正确 + const baseUrl = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL; + const path = endpoint.startsWith('/') ? endpoint : `/${endpoint}`; + fullUrl = `${baseUrl}${path}`; + } + + try { + // 创建URL对象 + const url = new URL(fullUrl); + + // 添加查询参数 + if (params) { + Object.entries(params).forEach(([key, value]) => { + if (value !== undefined) { + url.searchParams.append(key, String(value)); + } + }); + } + + return url.toString(); + } catch (error) { + console.error('URL构建错误:', fullUrl, error); + throw new Error(`无法构建URL: ${fullUrl}, 错误: ${error}`); + } +} + +/** + * 获取模拟响应数据 + */ +function getMockResponse(endpoint: string): ApiResponse { + console.log(`[开发模式] 使用模拟数据: ${endpoint}`); + + // 移除开头的斜杠以便于匹配 + const path = endpoint.startsWith('/') ? endpoint.substring(1) : endpoint; + + // 查找匹配的模拟数据 + for (const mockPath in mockData) { + const normalizedMockPath = mockPath.startsWith('/') ? mockPath.substring(1) : mockPath; + if (path === normalizedMockPath || path.startsWith(normalizedMockPath + '/')) { + // 如果是详情查询 (如 /evaluation_points/1) + if (path.includes('/') && path !== normalizedMockPath) { + const id = parseInt(path.split('/')[1]); + const mockDataItem = mockData[mockPath as keyof typeof mockData] as MockApiResponse; + + if (Array.isArray(mockDataItem.data)) { + const item = mockDataItem.data.find((item: {id: number}) => item.id === id); + + if (item) { + return { + data: { + code: 0, + msg: "成功", + data: item + } as unknown as T, + status: 200 + }; + } + } + + return { error: '未找到数据', status: 404 }; + } + + // 返回列表数据 + return { + data: mockData[mockPath as keyof typeof mockData] as unknown as T, + status: 200 + }; + } + } + + return { error: '没有匹配的模拟数据', status: 404 }; +} + +/** + * 扩展AxiosRequestConfig类型,以支持body参数 + */ +interface ExtendedAxiosRequestConfig extends AxiosRequestConfig { + body?: string; +} + +/** + * 通用 API 请求函数 + */ +export async function apiRequest( + endpoint: string, + options: ExtendedAxiosRequestConfig = {}, + params?: QueryParams +): Promise> { + // 如果使用模拟数据,直接返回模拟响应 + if (USE_MOCK_DATA) { + return getMockResponse(endpoint); + } + + try { + // 构建 URL + const url = buildUrl(endpoint, params); + + // 设置默认请求头 + const headers = options.headers || {}; + if (!headers['Content-Type'] && options.method !== 'GET') { + headers['Content-Type'] = 'application/json'; + } + if (!headers['Accept']) { + headers['Accept'] = 'application/json'; + } + + // 针对 PostgREST 的额外处理 + if (endpoint.includes('evaluation_point_groups') && (options.method === 'POST' || options.method === 'PATCH')) { + console.log('使用 PostgREST 特定配置处理请求'); + // 确保请求体是有效的 JSON 对象 + if (options.body && typeof options.body === 'string') { + try { + JSON.parse(options.body); // 验证 JSON 是否有效 + } catch (e) { + console.error('请求体不是有效的 JSON:', options.body); + throw new Error('请求体必须是有效的 JSON'); + } + } + } + + console.log(`📦 axios-client.ts->请求URL: ${decodeUrlForDisplay(url)}`); + console.log(`axios-client.ts->发送 ${options.method || 'GET'} 请求到: ${decodeUrlForDisplay(url)}`); + + // 处理body参数,转换为data + if (options.body) { + console.log(`axios-client.ts->请求体: \n${options.body}`); + options.data = options.body; + } else if (options.data) { + console.log(`axios-client.ts->请求体: \n${typeof options.data === 'string' ? options.data : JSON.stringify(options.data)}`); + } + + // 发送请求 + const config: AxiosRequestConfig = { + ...options, + url, + params, + headers + }; + + // 删除body属性,避免axios警告 + if ('body' in config) { + delete (config as ExtendedAxiosRequestConfig).body; + } + + const response: AxiosResponse = await axiosInstance(config); + + // 收集响应头信息 + const responseHeaders: Record = {}; + Object.entries(response.headers).forEach(([key, value]) => { + if (typeof value === 'string') { + responseHeaders[key] = value; + } + }); + + // 打印响应信息 + // console.log(`响应状态: ${response.status}`); + // console.log(`响应头:`, responseHeaders); + // console.log(`响应体:`, response.data); + + // 检查 PostgREST 特定错误 + if (response.status >= 400) { + if (response.status === 400) { + console.error('PostgREST 错误 - 无效请求:', response.data); + return { + error: response.data?.message || response.data?.msg || '无效的请求格式,请检查数据格式是否正确', + status: response.status, + headers: responseHeaders + }; + } else if (response.status === 401) { + console.error('PostgREST 错误 - 未授权:', response.data); + return { + error: response.data?.message || response.data?.msg || '未授权,请检查认证信息', + status: response.status, + headers: responseHeaders + }; + } else if (response.status === 403) { + console.error('PostgREST 错误 - 禁止访问:', response.data); + return { + error: response.data?.message || response.data?.msg || '没有权限执行此操作', + status: response.status, + headers: responseHeaders + }; + } else if (response.status === 404) { + console.error('PostgREST 错误 - 资源不存在:', response.data); + return { + error: response.data?.message || response.data?.msg || '请求的资源不存在', + status: response.status, + headers: responseHeaders + }; + } else { + console.error(`HTTP请求失败: ${response.status} - ${url}`, response.data); + return { + error: response.data?.message || response.data?.msg || `请求失败: ${response.status}`, + status: response.status, + headers: responseHeaders + }; + } + } + + // 检查API返回的状态码 + const data = response.data; + if (data && 'code' in data && data.code !== 0) { + console.error(`API请求失败: ${data.message || data.msg || '未知错误'} - ${url}`); + return { + error: data.message || data.msg || '请求失败', + status: response.status, + headers: responseHeaders + }; + } + + return { + data, + status: response.status, + headers: responseHeaders + }; + } catch (error: unknown) { + console.error('API请求失败:', error); + + if (isAxiosError(error)) { + const status = error.response?.status || 500; + const errorData = error.response?.data; + + // 如果超时或网络错误,使用模拟数据(仅开发环境) + if (error.code === 'ECONNABORTED' && process.env.NODE_ENV !== 'production') { + console.warn('自动使用模拟数据作为回退'); + return getMockResponse(endpoint); + } + + return { + error: errorData?.message || errorData?.msg || error.message || '未知错误', + status + }; + } + + // 如果超时或网络错误,使用模拟数据(仅开发环境) + if (process.env.NODE_ENV !== 'production') { + console.warn('自动使用模拟数据作为回退'); + return getMockResponse(endpoint); + } + + return { + error: error instanceof Error ? error.message : '未知错误', + status: 500 + }; + } +} + +// GET请求简化方法 +export async function get(endpoint: string, params?: QueryParams): Promise> { + return apiRequest(endpoint, { method: 'GET' }, params); +} + +// POST请求简化方法 +export async function post(endpoint: string, data?: unknown, params?: QueryParams): Promise> { + return apiRequest(endpoint, { method: 'POST', data }, params); +} + +// PUT请求简化方法 +export async function put(endpoint: string, data?: unknown, params?: QueryParams): Promise> { + return apiRequest(endpoint, { method: 'PUT', data }, params); +} + +// PATCH请求简化方法 +export async function patch(endpoint: string, data?: unknown, params?: QueryParams): Promise> { + return apiRequest(endpoint, { method: 'PATCH', data }, params); +} + +// DELETE请求简化方法 +export async function del(endpoint: string, params?: QueryParams): Promise> { + return apiRequest(endpoint, { method: 'DELETE' }, params); +} + +// 下载文件的方法 +export async function downloadFile(path: string): Promise { + const downloadUrl = `${DOCUMENT_URL}${path}`; + + try { + console.log(`📦 axios-client.ts->下载文件: ${decodeUrlForDisplay(downloadUrl)}`); + const response = await axios.get(downloadUrl, { + responseType: 'blob' + }); + + return response.data; + } catch (error) { + console.error('下载文件失败:', error); + throw error; + } +} \ No newline at end of file diff --git a/app/api/home/home.ts b/app/api/home/home.ts index 6688486..225acdc 100644 --- a/app/api/home/home.ts +++ b/app/api/home/home.ts @@ -139,7 +139,7 @@ export async function getHomeData(): Promise { select: 'count', filter: { and: `(audit_status.neq.0,audit_status.neq.2)`, - created_at: `gte.${startOfThisMonth}`, + updated_at: `gte.${startOfThisMonth}`, is_test_document: `eq.false` } }; @@ -156,7 +156,7 @@ export async function getHomeData(): Promise { select: 'count', filter: { or: `(audit_status.eq.1,audit_status.eq.-1)`, - and: `(created_at.gte.${startOfLastMonth},created_at.lte.${endOfLastMonth})`, + and: `(updated_at.gte.${startOfLastMonth},updated_at.lte.${endOfLastMonth})`, is_test_document: `eq.false` } }; @@ -171,7 +171,8 @@ export async function getHomeData(): Promise { // 计算同比增长 let reviewGrowthValue = 0; let reviewGrowthIsUp = true; - + // console.log('lastMonthReviewed-------', lastMonthReviewed); + // console.log('monthlyReviewedFiles-------', monthlyReviewedFiles); if (lastMonthReviewed > 0) { const growthRate = ((monthlyReviewedFiles - lastMonthReviewed) / lastMonthReviewed) * 100; reviewGrowthValue = Math.abs(parseFloat(growthRate.toFixed(1))); @@ -205,7 +206,7 @@ export async function getHomeData(): Promise { select: 'count', filter: { audit_status: `eq.1`, - and: `(created_at.gte.${startOfLastMonth},created_at.lte.${endOfLastMonth})`, + and: `(updated_at.gte.${startOfLastMonth},updated_at.lte.${endOfLastMonth})`, is_test_document: `eq.false` } }; diff --git a/app/api/postgrest-client.ts b/app/api/postgrest-client.ts index 2ebfe4d..243bcdf 100644 --- a/app/api/postgrest-client.ts +++ b/app/api/postgrest-client.ts @@ -1,5 +1,5 @@ // app/api/postgrest-client.ts -import { apiRequest, type QueryParams } from './client'; +import { apiRequest, type QueryParams } from './axios-client'; import { handleApiError } from './error-handler'; /** diff --git a/app/components/reviews/FileInfo.tsx b/app/components/reviews/FileInfo.tsx index 177e0a8..78f22d2 100644 --- a/app/components/reviews/FileInfo.tsx +++ b/app/components/reviews/FileInfo.tsx @@ -80,9 +80,9 @@ export function FileInfo({ fileInfo, onConfirmResults }: FileInfoProps) { navigate(returnTo); }; - const handleExportReport = () => { - alert('导出评查报告功能'); - }; + // const handleExportReport = () => { + // alert('导出评查报告功能'); + // }; return (
diff --git a/app/components/reviews/FilePreview.tsx b/app/components/reviews/FilePreview.tsx index 2425f64..756c915 100644 --- a/app/components/reviews/FilePreview.tsx +++ b/app/components/reviews/FilePreview.tsx @@ -71,7 +71,8 @@ interface FilePreviewProps { targetPage?: number; // 新增目标页码参数 } -export function FilePreview({ fileContent, reviewPoints, activeReviewPointResultId, targetPage }: FilePreviewProps) { +// export function FilePreview({ fileContent, reviewPoints, activeReviewPointResultId, targetPage }: FilePreviewProps) { +export function FilePreview({ fileContent, activeReviewPointResultId, targetPage }: FilePreviewProps) { const [zoomLevel, setZoomLevel] = useState(100); // const [highlightsVisible, setHighlightsVisible] = useState(true); const contentRef = useRef(null); diff --git a/app/components/reviews/ReviewPointsList.tsx b/app/components/reviews/ReviewPointsList.tsx index 99e9223..86d5ee0 100644 --- a/app/components/reviews/ReviewPointsList.tsx +++ b/app/components/reviews/ReviewPointsList.tsx @@ -86,7 +86,7 @@ export function ReviewPointsList({ const [searchText, setSearchText] = useState(''); // 搜索文本 const [statusFilter, setStatusFilter] = useState(null); // 状态过滤 - const [suggestionTexts, setSuggestionTexts] = useState>({}); // 存储每个评查点的建议文本 + // const [suggestionTexts, setSuggestionTexts] = useState>({}); // 存储每个评查点的建议文本 // 添加重新审核意见的状态/ 用户输入的修改内容 / 用户提前写好的修改内容 const [manualReviewNotes, setManualReviewNotes] = useState>({}); @@ -99,7 +99,7 @@ export function ReviewPointsList({ reviewPoints.forEach(point => { suggestions[point.id] = point.suggestion || ''; }); - setSuggestionTexts(suggestions); + // setSuggestionTexts(suggestions); // 使用函数式更新,不再需要外部 manualReviewNotes 变量 setManualReviewNotes(prev => { @@ -112,12 +112,12 @@ export function ReviewPointsList({ }, [reviewPoints]); // 处理建议文本变更 - const handleSuggestionChange = (reviewPointId: string, text: string) => { - setSuggestionTexts(prev => ({ - ...prev, - [reviewPointId]: text - })); - }; + // const handleSuggestionChange = (reviewPointId: string, text: string) => { + // setSuggestionTexts(prev => ({ + // ...prev, + // [reviewPointId]: text + // })); + // }; /** * 处理评查点审核操作 diff --git a/app/components/reviews/ReviewTabs.tsx b/app/components/reviews/ReviewTabs.tsx index 30a6b3d..6a494d9 100644 --- a/app/components/reviews/ReviewTabs.tsx +++ b/app/components/reviews/ReviewTabs.tsx @@ -22,14 +22,14 @@ export function ReviewTabs({ activeTab, onTabChange, children }: ReviewTabsProps > 评查结果 - + */}