// ==UserScript==
// @name 豆瓣评分增强大师
// @namespace doveboy_js
// @version 10.96
// @description 一站式聚合全球数十家主流影视数据库与评分平台,涵盖IMDb、烂番茄新鲜度&爆米花指数、Metacritic影评人&用户双评分、TMDB、Letterboxd、Allocine、AniList、Bangumi、MyAnimeList、MyDramaList、NeoDB及Common Sense Media等,全面覆盖电影、剧集、综艺与动画四大类型。独家打造“客观评分”智能加权算法,依据作品主场自动调权,融合票数置信度输出一个真正去偏的综合分数,并创新引入Steam式好评率分析,将豆瓣影评拆解为总评、热门、最新三维好评度,让口碑一目了然。自动拉取出品发行、技术参数、幕后花絮及获奖荣誉,并以悬浮气泡优雅展示;同步联动电影票房,实时汇率换算呈现预算、全球票房、北美首周、大陆首周&总票房及港台日韩等细分市场收支全景卡片。特有“大中华区评分差异对比”横评两岸三地观众口味分歧,辅以剧集播出日历,更提供一键复制影片资料(含完整演职员表及获奖列表)与历史评分趋势曲线,让每一部作品的轮廓在豆瓣页面上从未如此立体、专业而丰沛。
// @author 白鸽男孩
// @contributor Rhilip
// @license Zlib/Libpng License
// @icon data:image/png;base64,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
// @match https://movie.douban.com/subject/*
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @grant GM_setClipboard
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_openInTab
// @connect bimzcy.github.io
// @connect www.imdb.com
// @connect query.wikidata.org
// @connect www.rottentomatoes.com
// @connect api.themoviedb.org
// @connect www.themoviedb.org
// @connect www.metacritic.com
// @connect backend.metacritic.com
// @connect metacritic.com
// @connect letterboxd.com
// @connect www.allocine.fr
// @connect graphql.anilist.co
// @connect www.omdbapi.com
// @connect bgm.tv
// @connect myanimelist.net
// @connect neodb.social
// @connect zduo.me
// @connect wikidata.org
// @connect api.frankfurter.dev
// @connect api.graphql.imdb.com
// @connect m.maoyan.com
// @connect www.maoyan.com
// @connect boxofficemojo.com
// @connect api.ratetend.com
// @connect www.ratetend.com
// @connect api.tvmaze.com
// @connect www.tvmaze.com
// @connect mydramalist.com
// @connect www.mydramalist.com
// @connect www.commonsensemedia.org
// @connect movie.mtime.com
// @connect front-gateway.mtime.com
// @connect film.mtime.com
// @connect www.1905.com
// @connect 1905.com
// @connect www.doesthedogdie.com
// @connect www.filmaffinity.com
// @require https://lib.baomitu.com/jquery/3.6.0/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js
// ==/UserScript==
(function() {
'use strict';
// Base64 图标
const AL_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAD5UExURRkhLRkhLRkhLRkhLUxpcRkhLRkhLRkhLRkhLRkhLRkhLRkhLRkhLRkhLf///v///xgfLACq/wCs/xQdKgN4sfv7+wCo/A1Pc6irrwR1rvf3+GZrdKCjp6WorRkfKv39/QVzqmRpcUpQWuHi4zpBSygvO5WZnjE3Qtzd3xAYJfHy8uXm5yW4/+r3/hFAXX6DiQR9uQZupHd7grCzt25zelNYYsvN0Pb8/2XM/8zv/wmx/xkfKTy//3zU/yIqNQR5s4qNkxUwQ8DCxrq8vyxAUF1iat7z/mGUsAdikqTU7luPrtLT1U7G/4zY/tHT1avj/hONyr/p/rXm/lS/nxsAAAANdFJOU/ua3pYAfRAOd9nd4J6x3JfpAAABaUlEQVQ4y4WTh1LCQBCGDw0B1OQud4IhCakUKaJIb/be9f0fxivRgeESvskwyew3+yfLHlBy+QLQpIBCXlVAbjehzJWMCvIpdWpkQUFLZQ+AdGGljgQuvdxV479erTuOU7978v1eF0kEcgopxccSxtiXCRc3UKc8lwwDH0oiSNjiwkMnSbjidd2byAVUGwlB/8RSgQxpgmdR4aQj71CHOmxVmDGRCaj2SoWP8Jjm/GCJQO4tKjiaCXmGJMKhFSto2kWasdwUUIP2hu2wEbap+D3bEIjN3s6Kooh/x2IzwuRDoP8FH8WyPJ+7DBQLqBrFUxJMv44E10gIZMDezSsyPHo3XpQ4Ri/uAPq0AewHtm0Ht6zXu8HBZ0JA1TYb47BJCGkGrNl0tiaIVRnVUPzBEI7fDMy4jCPOzUrFHMRbxB9eygy/i/4GxVjdXU38uOtrnbD2Ww7Ozvajp2bSDu+BChQ1u5Ok7GdV5Reeuka5jCikYgAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAABJRU5ErkJggg=="
const LBX_ICON = "data:image/vnd.microsoft.icon;base64,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Bv9elyT/ZVdD/2ZVRP9tWkT/upJB/+u2QP/0vED/9LxA/9+sQf+Wd0P/ZlVE/2ZVRP9mVUT/aFZER2dWRJVmVUT/ZlVE/y1tq/8AgP//AID//wCA//8AgP//AID//wCA//8Meuf/XFpS/1m9Ef9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9ZvRH/cV9D/+KvQP/0vED/9LxA//S8QP/0vED/9LxA//S8QP+0jkL/ZlVE/2ZVRP9nVkSVZ1VEv2ZVRP9KYXf/AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//9ap8n/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP/SxWv/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP+NcUP/ZlVE/2dVRL9mVkTZZlVE/x5zxv8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AoD//+32//9l3Dj/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/eeAq//768f/0vEH/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/8mdQf9mVUT/ZlZE2WdVRPNmVUT/Cnzs/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8gj////////3rXhv9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP+r42H///////XEV//0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/57JA/2ZVRP9mVUTyZ1VE82ZVRP8KfOz/AID//wCA//8AgP//AID//wCA//8AgP//AID//yGQ////////eteG/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/6vjYf//////9cRX//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/nskD/ZlVE/2dVRPNmVkTZZlVE/x5zxv8AgP//AID//wCA//8AgP//AID//wCA//8AgP//A4H//+32//9l3Dj/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/eeEq//768f/0vEH/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/8mdQf9mVUT/ZlZE2WdVRL9mVUT/SmF3/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//W6fK/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/0sVt//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/jXFD/2ZVRP9nVUS/Z1ZElWZVRP9mVUT/LW2r/wCA//8AgP//AID//wCA//8AgP//AID//wx65/9cWlL/Wb0R/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1m9Ef9xX0P/4q9A//S8QP/0vED/9LxA//S8QP/0vED/9LxA/7SOQv9mVUT/ZlVE/2dWRJVoVkRHZlVE/2ZVRP9mVUT/RGOC/w954/8AgP7/AID//wZ98/8pbrL/YFdN/2ZVRP9lV0P/Xpck/1bSBv9U4AD/VOAA/1bSBv9elyT/ZVdD/2ZVRP9tWkT/upJB/+u2QP/0vED/9LxA/9+sQf+Wd0P/ZlVE/2ZVRP9mVUT/aFZER4BVVQZnVkXxZlVE/2ZVRP9mVUT/ZlVE/19YT/9YW1z/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ViPf9lYj3/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/3hjRP9vW0T/ZlVE/2ZVRP9mVUT/ZlVE/2dWRfGAVVUGAAAAAGZVRJZmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVElgAAAAAAAAAAalVKGGZWRfRmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZWRfRqVUoYAAAAAAAAAAAAAAAAZlZFgmZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlZFggAAAAAAAAAAAAAAAAAAAABtbUkHZ1ZFx2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dWRcdtbUkHAAAAAAAAAAAAAAAAAAAAAAAAAABqVUoYZlVF42ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUXjalVKGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWUguZlVF42ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVF42ZVRC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqVUoYZ1ZFx2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dWRcdqVUoYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbUkHZlZFgmZWRfRmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZWRfRmVkWCbW1JBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalVKGGZVRJZnVkXxZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dWRfFmVUSWalVKGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBVVQZoVkRHZ1ZElWdVRL9mVkTZZ1VE82dVRPNmVkTZZ1VEv2dWRJVoVkRHgFVVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wAP//wAA//wAAD/4AAAf8AAAD+AAAAfAAAADwAAAA4AAAAGAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAHAAAADwAAAA+AAAAfwAAAP+AAAH/wAAD//AAD//8AD/ygAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtVUkVaFZHU2dVRX5mVUSlZ1VFy2dWRd9nVUTsZlVF+WZVRflnVUTsZ1ZF32dVRctmVUSlZ1VFfmhWR1NtVUkVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaVVGM2dVRY1mVUTSZlVE/mZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/mZVRNJnVUWNaVVGMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZiTg1mVkVzZ1VE1WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVUTVZlZFc3ZiTg0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGBQEGhWRoBnVkXuZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVkXuaFZGgHBgUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BZ1dEYWZVRepmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUXqZ1dEYf///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVUQeZ1ZFxGZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVkXEZlVEHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkU7Z1VF6WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dVReloVkU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkZiZlVF+WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVF+WhWRmIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpVVQNmVkSOZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlZEjqpVVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpVVQNmVUWxZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUWxqlVVAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVkSOZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZWRI4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkZiZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/aFZGYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkU7ZlVF+WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRfloVkU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVUQeZ1VF6WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/Z1VF6WZVRB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BZ1ZFxGZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVkXE////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ1dEYWZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dXRGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGBQEGZVRepmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUXqcGBQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhWRoBmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2hWRoAAAAAAAAAAAAAAAAAAAAAAAAAAAHZiTg1nVkXuZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVkXudmJODQAAAAAAAAAAAAAAAAAAAABmVkVzZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZWRXMAAAAAAAAAAAAAAAAAAAAAZ1VE1WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVUTVAAAAAAAAAAAAAAAAaVVGM2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2RWRv9SXmj/RmJ9/0Blif9IYnr/VVxi/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2VfPv9heDP/YIYs/2CGLP9heDP/ZV8+/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/31mRP+Pc0P/m3xC/5J1Qv+CaUP/Z1dE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2lVRjMAAAAAAAAAAGdVRY1mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/V1xe/ydvt/8HffH/AID//wCA//8AgP//AID//wCA//8Me+j/L2yn/15ZUf9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUP/YIQt/1m+EP9V3wD/VOAA/1TgAP9U4AD/VOAA/1XfAP9ZvhD/YIQt/2ZVQ/9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9wXUT/soxC/+OwQf/0vED/9LxA//S8QP/0vED/9LxA/+m0Qf++lEL/emRE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVUWNAAAAAAAAAABmVUTSZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9kVkb/MGyn/wJ/+/8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8GfvT/P2WL/2ZVRP9mVUT/ZlVE/2ZVRP9kZzr/WMMO/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9Yww7/ZGc6/2ZVRP9mVUT/ZlVE/2ZVRP+cfEP/7LZB//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//K6QP+yjEL/Z1dE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE0gAAAABtVUkVZlVE/mZVRP9mVUT/ZlVE/2ZVRP9iV0r/HHTK/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8tbav/ZlVE/2ZVRP9idDT/VdYF/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1XWBf9idDT/ZlVE/2ZVRP+0jkL/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/8yfQf9rWUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP5tVUkVaFZHU2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/I3G+/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//zdpmf9kZzr/VdYF/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VdYF/2RnOv+nhUL/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/w5lB/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/aFZHU2dVRX5mVUT/ZlVE/2ZVRP9mVUT/PmaM/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8Af/3/Xb9W/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP+IyTX/87tA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP+dfUL/ZlVE/2ZVRP9mVUT/ZlVE/2dVRX5mVUSlZlVE/2ZVRP9mVUT/YldL/wp76/8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//RKH//7Pd6f9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/7eu6//bOc//0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/5rFA/2xZRP9mVUT/ZlVE/2ZVRP9mVUSlZ1VFy2ZVRP9mVUT/ZlVE/0Jlhv8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//7jb///9/v//X9dD/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/gN4q//7+/P/77Mr/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP+ZekP/ZlVE/2ZVRP9mVUT/Z1VFy2dWRd9mVUT/ZlVE/2ZVRP8icb//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wuF/////////////4rVsv9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/8jkgf////////////S+SP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/xJlB/2ZVRP9mVUT/ZlVE/2dWRd9nVUTsZlVE/2ZVRP9mVUT/D3nj/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8vl/////////////+h2Nr/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP/j6Kb////////////2yGP/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/9+sQf9mVUT/ZlVE/2ZVRP9nVUTsZlVF+WZVRP9mVUT/ZlVE/wR+9v8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//VKn/////////////v+Pt/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/8e/G////////////99J+//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/tuED/ZlVE/2ZVRP9mVUT/ZlVF+WZVRflmVUT/ZlVE/2ZVRP8Efvb/AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//1Sp/////////////7/j7f9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA//Hvxv////////////fSfv/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/7bhA/2ZVRP9mVUT/ZlVE/2ZVRflnVUTsZlVE/2ZVRP9mVUT/D3nj/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8wl/////////////+h2Nr/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP/j6Kj////////////2yGP/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/9+sQf9mVUT/ZlVE/2ZVRP9nVUTsZ1ZF32ZVRP9mVUT/ZlVE/yJxv/8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//DYb/////////////itWy/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/yeSC////////////9L5I//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/EmUH/ZlVE/2ZVRP9mVUT/Z1ZF32dVRctmVUT/ZlVE/2ZVRP9CZYb/AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//+42////f7//1/XQ/9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/3/eKf/+/v3/++zK//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/mXpD/2ZVRP9mVUT/ZlVE/2dVRctmVUSlZlVE/2ZVRP9mVUT/YldL/wp76/8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//SKP//7Pd6f9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/7uy9//bOc//0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/5rFA/2xZRP9mVUT/ZlVE/2ZVRP9mVUSlZ1VFfmZVRP9mVUT/ZlVE/2ZVRP8+Zoz/AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wF//f9fwFj/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/4rKOP/zu0D/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/519Qv9mVUT/ZlVE/2ZVRP9mVUT/Z1VFfmhWR1NmVUT/ZlVE/2ZVRP9mVUT/ZlVE/yNxvv8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//83aZn/ZGc6/1XWBf9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1XWBf9kZzr/p4VC//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/8OZQf9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2hWR1NtVUkVZlVE/mZVRP9mVUT/ZlVE/2ZVRP9iV0r/HHTK/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wCA//8tbav/ZlVE/2ZVRP9idDT/VdYF/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1XWBf9idDT/ZlVE/2ZVRP+0jkL/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA/8yfQf9rWUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP5tVUkVAAAAAGZVRNJmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2RWRv8wbKf/An/7/wCA//8AgP//AID//wCA//8AgP//AID//wCA//8AgP//AID//wZ+9P8/ZYv/ZlVE/2ZVRP9mVUT/ZlVE/2RnOv9Yww7/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1TgAP9U4AD/VOAA/1jDDv9kZzr/ZlVE/2ZVRP9mVUT/ZlVE/5x8Q//stkH/9LxA//S8QP/0vED/9LxA//S8QP/0vED/9LxA//S8QP/0vED/8rpA/7KMQv9nV0T/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUTSAAAAAAAAAABnVUWNZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/1dcXv8nb7f/B33x/wCA//8AgP//AID//wCA//8AgP//DHvo/zBsp/9eWVH/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVD/2CELf9ZvhD/Vd8A/1TgAP9U4AD/VOAA/1TgAP9V3wD/Wb4Q/2CELf9mVUP/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/cF1E/7KMQv/jsEH/9LxA//S8QP/0vED/9LxA//S8QP/ptEH/vpRC/3pkRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/Z1VFjQAAAAAAAAAAaVVGM2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2RWRv9SXmj/RmJ9/0Blif9IYXn/VVxi/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2VfPv9heDP/YIYs/2CGLP9heDP/ZV8+/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/31mRP+OckP/m3xC/5J1Qv+CaUP/Z1dE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2lVRjMAAAAAAAAAAAAAAABnVUTVZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dVRNUAAAAAAAAAAAAAAAAAAAAAZlZFc2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVkVzAAAAAAAAAAAAAAAAAAAAAHZiTg1nVkXuZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9nVkXudmJODQAAAAAAAAAAAAAAAAAAAAAAAAAAaFZGgGZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/aFZGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBgUBBmVUXqZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVF6nBgUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ1dEYWZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dXRGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wFnVkXEZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dWRcT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZlVEHmdVRelmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dVRelmVUQeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkU7ZlVF+WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRfloVkU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhWRmJmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9oVkZiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZlZEjmZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVkSOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpVVQNmVUWxZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUWxqlVVAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqlVVA2ZWRI5mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVkSOqlVVAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaFZGYmZVRflmVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRfloVkZiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoVkU7Z1VF6WZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dVReloVkU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZVRB5nVkXEZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2dWRcRmVUQeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AWdXRGFmVUXqZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZVRP9mVUT/ZlVE/2ZV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"
const ALC_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAB2BAMAAADviXoiAAAAGFBMVEUAAAAmJib/////ywBcUzPIoQmUehKRkZFw3PDCAAAAAXRSTlMAQObYZgAAA2BJREFUWMPdmU1P20AQQKv+AzeOe3WjSD1HG+fuptBz5JS7lY87qBJ/vxCyed6ZHS94b8wBiOTHzL7xLvbw5VPF18Vb1B8mF8OYQhIfqFZHPRUFTqNTYdA0nEaBk+hkOIoQ70Wf2+I1ymcBpyv+VxB/gqpTaX8WYTwlE8uk0dSJih8LHd/HqxaoBY+lXRbx+DWSGE1hlIc+FGanVWjnVtcfzcTGYu+dcxuxZIOVFZ/cSzSizUbJraz3Eq3/HC866njr3qIXru20xOzKrgojMaxq7fzKrmlyhCWtYpFFYp0WybDIQjWJYektrpBFj2Ep+VaYv/Tg2R2/j6KH7A9/K3XejfOxhv0Gq0u+e7mW5SIrUjTsdddQ48HdoiAES3OrDjl3jujlPob1JVfOx/n36fL94dxRyKBoUTIrJI7X/GtVNOz1xigFuvf2NvLArXWHOkegt0MWXQqW69USO+6vVi8YtmXXqa7OAlklLKqELARtDVmokrKo02lZsNzMsZIrPiBLsELWipIpAjbQzHXiPrTuLDQrWTevVKFEozm4ozeDDglZmkUWie57r6AxWY65Q7Dczh19Ja1o0rC9yOLaSm9hGuzZpT6T5S26Etu/lu0l1YYF6PPOYIvhpWJnJNmOEktIZJkssnbUj6xRFj+9Or52abaC3QbsOsGyyFaxzTiLLFgiwdJUfkLWOIsslCMrzVYWu06z5Y0tTwG7gY3tBWTxdEbE9gJ7EFksnmjVIavYGdeFt9YOVp85XB9l16PnFbJ6WCVLn7EE9YVsEz9jH6WsFayQxdlOg4kt9altaP89Amhi7EqyusEVsugvsmgvf7sJGgKLrAVsRPTBJ4ZFFpqlaM67po1vYf2sgiwM/T2fXhd5+YponpFMWTyf8fkoVBmy0BMsAlXmgjuqvN3iD/KJAXYZyvJxM78Xz8Bm0TO5dea9eDKzX1MqsWXtZ37dpZI7WAQdghVFd6gixDuOVfQB1ijZfqebGTU/wZrvklXMFe+S9jssspo+Nqio7XdnZG3aaNrafGdH1t6Yj1izAmQ1RyCRNjGjmDeiXmYU6dmIPQ6yZzJ2MJNJz4KM4VnODCpj9pUzc8ub9eXPGPNnm/kzVWA78mfI+bPr/Jl5/qwe2EKnwnXe/0Sm0Rn/A/pM8R8w2HBWwA4YRgAAAABJRU5ErkJggg=="
// 样式注入
GM_addStyle(`
#content h1 { margin-bottom: 0px !important; padding-bottom: 0px !important; line-height: 1.1 !important; }
#dme-header-ratings {
display: inline-flex !important;
flex-wrap: wrap;
width: 100%;
align-items: center;
margin: 4px 0 10px 0 !important;
padding: 0 !important;
gap: 8px;
user-select: none;
clear: both;
}
.drdm-capsule {
display: inline-flex;
align-items: center;
border-radius: 4px;
font-size: 13px;
height: 24px;
overflow: hidden;
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
font-family: Arial, sans-serif;
}
.drdm-capsule a { text-decoration: none !important; display: flex; align-items: center; height: 100%; }
/* 烂西红柿胶囊 */
.drdm-capsule.rt-cap { background: #fff; border: 1px solid #ddd; }
.drdm-rt-chip { display: flex; align-items: center; padding: 0 6px; height: 100%; font-weight: bold; color: #fff; }
.drdm-rt-chip.critics { background: #fa320a; }
.drdm-rt-chip.audience { background: #ffb300; color: #2c2c2c; }
/* Metacritic 双拼胶囊样式 */
.mc-cap {
background: #fff;
border: 1px solid #ddd;
display: inline-flex !important;
align-items: stretch;
height: 24px;
margin-right: 8px;
border-radius: 4px;
overflow: hidden;
}
.drdm-mc-chip {
padding: 0 7px;
display: flex;
align-items: center;
font-weight: bold;
font-size: 13px;
height: 100%;
}
.drdm-mc-chip.users {
background: #fccb30;
color: #000;
border-left: 1px solid #ddd;
}
/* 统一黄色系胶囊 (Meta, Letterboxd, Allocine) */
.drdm-capsule.yellow-cap { background: #ffcc33; border: 1px solid #d9aa00; color: #111; padding: 0 7px; font-weight: bold; }
.drdm-capsule img { height: 14px; margin-right: 5px; }
.view-original-btn {
display: block !important;
margin: 12px auto 0 !important;
padding: 4px 0 !important;
border: 1px solid #556783 !important;
color: #556783 !important;
border-radius: 2px !important;
font-size: 13px !important;
text-decoration: none !important;
text-align: center !important;
width: 120px !important;
background: #f0f3f5 !important;
}
`);
const movieId = window.location.pathname.split('/')[2];
const orangeColor = "#f0ad4e";
const tmdbAuth = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIyMzc1ZGIzOTYwYWVhMWI1OTA1NWMwZmM3ZDcwYjYwZiIsInN1YiI6IjYwYmNhZTk0NGE0YmY2MDA1OWJhNWE1ZSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.DU51juQWlAIIfZ2lK99b3zi-c5vgc4jAwVz5h2WjOP8";
// 核心:强制排序插入逻辑
const CAPSULE_ORDER = ['header-rt-score', 'header-alc-score', 'header-mtc-score', 'header-anilist-score', 'header-lbx-score'];
function renderHeaderCapsule(id, html) {
if (document.getElementById(id)) return;
const container = getHeaderContainer();
if (!container) return;
const tempWrap = document.createElement('div');
tempWrap.innerHTML = html;
const newEl = tempWrap.firstElementChild;
newEl.id = id;
// 查找位置:遍历顺序表,寻找当前 ID 之后的已存在元素
const myIndex = CAPSULE_ORDER.indexOf(id);
let inserted = false;
for (let i = myIndex + 1; i < CAPSULE_ORDER.length; i++) {
const afterEl = document.getElementById(CAPSULE_ORDER[i]);
if (afterEl) {
container.insertBefore(newEl, afterEl);
inserted = true;
break;
}
}
if (!inserted) container.appendChild(newEl);
}
function getHeaderContainer() {
let container = document.getElementById('drdm-header-scores');
if (container) return container;
container = document.createElement('div');
container.id = 'drdm-header-scores';
// --- 核心样式调整 ---
// gap: 10px -> 统一所有胶囊之间的水平间距
// margin-top: 12px -> 调大胶囊与影视标题之间的距离
// margin-left: 0px -> 确保与标题左端对齐(如果还觉得不齐,可尝试 -1px)
container.setAttribute('style', `
display: flex !important;
flex-wrap: wrap;
gap: 10px;
margin-top: 12px;
margin-bottom: 10px;
align-items: center;
clear: both;
margin-left: 0px;
`);
// 插入在标题(h1)之后
const titleHeader = document.querySelector('#content h1');
if (titleHeader) {
titleHeader.after(container);
return container;
}
return null;
}
// --- 1. 排行榜终极修复:适配动画页面 rank-label 并统一合并 ---
function initRankings() {
if (window.__rankingsInited) return;
window.__rankingsInited = true;
const titleH1 = document.querySelector('#content h1');
if (!titleH1) { setTimeout(initRankings, 100); return; }
// 创建唯一的 Flex 容器
let container = document.getElementById('unified-rank-wrapper');
if (!container) {
container = document.createElement('div');
container.id = 'unified-rank-wrapper';
// 关键:margin-top 设为 10px 确保和标题有间距,底部 12px
container.style.cssText = "display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 10px 0 12px 0 !important; padding: 0 !important; align-items: center !important; clear: both !important; width: 100% !important;";
// 确保容器在标题上方
titleH1.parentNode.insertBefore(container, titleH1);
}
const renderBadge = (no, name, url, isNative = false) => {
const badgeId = isNative ? 'native-sync-badge' : `rank-${name}`;
if (document.getElementById(badgeId)) return;
const html = `
${no}
${name}
`;
container.insertAdjacentHTML('beforeend', html);
};
const syncNativeRank = () => {
// 增加对动画页面 .rank-label 的识别
const nativeSelectors = '.top250, .top-list-rank, .rank-banner, .rank-label, .billboard';
document.querySelectorAll(nativeSelectors).forEach(el => {
if (el.id === 'unified-rank-wrapper' || el.closest('#unified-rank-wrapper')) return;
// 尝试多种方式提取排名 (No.XX)
let noText = "No.";
const noEl = el.querySelector('.rank-label-no, .top250-no, .rank, [class*="no"]');
if (noEl) {
noText = noEl.innerText.trim();
} else {
const match = el.innerText.match(/No\.?\s?\d+/i);
if (match) noText = match[0].replace(/\s/g, '');
}
// 提取榜单名称
let titleText = "豆瓣高分榜";
const linkEl = el.querySelector('.rank-label-link a, .top250-link, a');
if (linkEl) {
titleText = linkEl.innerText.trim();
} else {
titleText = el.innerText.replace(noText, '').replace(/[\s\(\)()]/g, '').trim();
}
if (titleText.length > 15) titleText = "豆瓣高分榜";
const url = el.querySelector('a')?.href || window.location.href;
renderBadge(noText, titleText, url, true);
el.style.display = 'none !important'; // 隐藏原标签
el.remove(); // 彻底移除防止占位
});
};
// 立即执行 + 监听异步加载
syncNativeRank();
const obs = new MutationObserver(syncNativeRank);
obs.observe(document.body, { childList: true, subtree: true });
// 获取 BGM / MAL 等第三方榜单
const movieId = (window.location.pathname.match(/subject\/(\d+)/) || [])[1];
GM_xmlhttpRequest({
method: 'GET', url: 'https://bimzcy.github.io/rank4douban/data.json',
onload: function(res) {
if (res.status === 200) {
try {
const data = JSON.parse(res.responseText);
for (const k in data) {
if (k === 'top250' || data[k].short_title.includes("Top250")) continue;
if (data[k].list[movieId]) {
renderBadge((data[k].prefix || 'No.') + data[k].list[movieId], data[k].short_title, data[k].href);
}
}
} catch(e){}
}
}
});
// ===== FilmAffinity 排行榜 =====
// 英文榜单名称 -> 中文名称
const filmAffinityRankingNames = {
'The Best Movies of 2026': '2026最佳电影',
'The Best TV Series of 2025': '2025最佳剧集',
'The Best Movies of 2025': '2025最佳电影',
'Best TV Series in TV history': '史上最佳剧集',
'Best Movies in the history of film': '影史最佳电影',
'The Best TV Shows & Series of 2024': '2024最佳剧集',
'Best rated TV Series from 2023': '2023最高分剧集',
'Top 100 best rated movies from 2022': '2022最高分百佳电影',
'Top 100 best rated TV Series from 2022': '2022最高分百佳剧集',
'Best Movies from 2023': '2023最佳电影',
'Best rated TV Series (exclude animation) from 2023': '2023最高分剧集',
'Best TV Series of 2021': '2021最佳剧集',
'Best Movies of the 21st century': '21世纪最佳电影',
'The Best Movies of 2024': '2024最佳电影',
'Best Movies of 2021': '2021最佳电影',
'Best Drama Movies': '最佳剧情片',
'Best Documentaries in the history of film': '影史最佳纪录片',
'Best Comedy Movies': '最佳喜剧片',
'Best TV Series of the 21st century': '21世纪最佳剧集',
'Best Documentary TV Series in TV history': '史上最佳纪录剧集',
'Best Superhero Movies': '最佳超级英雄电影',
'Best Animated Movies': '最佳动画电影',
'Best Short Movies of the 21st century': '21世纪最佳短片',
'Best TV series of the last 5 years': '近5年最佳剧集',
'Best Animated Movies of 2021': '2021最佳动画电影',
'Best US Movies of all time': '史上最佳美国电影',
'Best Fiction Short Movies (non-animated)': '最佳真人剧情短片',
'Best Concerts of all time': '史上最佳演唱会',
'Best Nordic Countries TV Series': '最佳北欧剧集',
'Best Nordic films of the 21st century': '21世纪最佳北欧电影',
'Best Animated TV Series of all time': '史上最佳动画剧集',
'Best TV Miniseries': '最佳迷你剧',
'Best Horror Movies': '最佳恐怖片',
'Best Movies Based on a True Story': '最佳真实事件改编电影',
'Star Wars universe Ranking': '星战宇宙排行榜',
'Best Sequels in the history of film': '影史最佳续集',
'Best Science Fiction Movies': '最佳科幻片',
'Best Remakes in the history of film': '影史最佳翻拍片',
'Top 100 Rated Short Films from 2022': '2022最高分百佳短片',
'Best Animated Short Movies of all time': '史上最佳动画短片',
'Best Live-Action Children\'s Movies': '最佳真人儿童电影',
'Best Westerns in the history of film': '影史最佳西部片',
'Best War Movies/War Film': '最佳战争片',
'Best Film Noir Movies': '最佳黑色电影',
'Best Musical Movies': '最佳歌舞片',
'Best Thrillers in the history of film': '影史最佳惊悚片',
'Best Action Movies': '最佳动作片',
'Best Adventure Movies': '最佳冒险片',
'Best Romantic Movies in the history of film': '影史最佳爱情片',
'Best Fantasy Movies': '最佳奇幻片',
'Best Mystery Films': '最佳悬疑片',
'Best Anime TV Series of all time': '史上最佳日本动画剧集',
'Best Movies from 2021 (no animation films)': '2021最佳电影',
'The Best Music Videos of 2024': '2024最佳MV',
'The Best Short Films of 2024': '2024最佳短片',
'Best TV Episodes': '最佳单集',
'Best Music Videos of all time': '史上最佳MV',
'Best Animated Music Videos of all time': '史上最佳动画MV',
'Best Italian TV Series of all time': '史上最佳意大利剧集',
'Best French TV Series of all time': '史上最佳法国剧集',
'Best Movies of the \'70s': '70年代最佳电影',
'Best Spanish TV Series': '最佳西班牙剧集',
'Best Movies of the \'50s': '50年代最佳电影',
'Best Movies of the \'60s': '60年代最佳电影',
'Best Music Documentaries': '最佳音乐纪录片',
'Best Interactive Movies': '最佳互动电影',
'Best Movies of the \'30s': '30年代最佳电影',
'Best British Movies': '最佳英国电影',
'All of Pixar, from best to worst': '皮克斯作品排行榜',
'James Bond Movies Ranking': '007系列电影排行榜',
'The Best Video Game Movies': '最佳游戏改编电影',
'Best Video Game Short Movies': '最佳游戏改编短片',
'Best Spanish Movies of all time': '史上最佳西班牙电影',
'Best Movies of the \'90s': '90年代最佳电影',
'Top-Rated Latin American TV Series': '最高分拉美剧集',
'Best Chinese Movies of all time': '史上最佳华语电影',
'Best French Movies of all time': '史上最佳法国电影',
'Best Hong Kong Movies of all time': '史上最佳香港电影',
'Best Italian Movies of all time': '史上最佳意大利电影',
'Best Japanese Movies of all time': '史上最佳日本电影',
'Best Polish Movies of all time': '史上最佳波兰电影',
'Best Portuguese Movies of all time': '史上最佳葡萄牙电影',
'Best Russian Movies of all time': '史上最佳俄罗斯电影',
'Best Canadian Movies of all time': '史上最佳加拿大电影',
'Best German Movies of all time': '史上最佳德国电影',
'Best Movies and TV Series about the Second World War': '最佳二战题材影视剧',
'Ranking of Horror Movies in the last 5 years': '近5年恐怖片排行榜',
'Best Stop-Motion Animated Works': '最佳定格动画作品',
'Best Horror Comedy Films': '最佳恐怖喜剧片',
'Best Argentinian Movies of all time': '史上最佳阿根廷电影',
'Best Comic Book Movies': '最佳漫改电影',
'Best Czech Movies of all time': '史上最佳捷克电影',
'Best Korean Movies of all time': '史上最佳韩国电影',
'Best Swedish Movies': '最佳瑞典电影',
'Best Silent Movies of all time': '史上最佳无声电影',
'Best Silent Short Movies': '最佳无声短片',
'Best Vampires Movies & Series': '最佳吸血鬼题材影视',
'Best Zombies Movies & Series': '最佳丧尸题材影视',
'Best Biopics/Biographical Movies': '最佳传记片',
'Best LGTBIQ+ Productions': '最佳LGBTQ+影视',
'Best Movies Based on Marvel Comics': '最佳漫威漫改电影',
'Best Monster Movies & Monster Series': '最佳怪兽题材影视',
'Supernatural Horror Ranking': '超自然恐怖片排行榜',
'Best Slasher Movies': '最佳砍杀电影',
'Best Movies about Animals': '最佳动物题材电影',
'The Best Concerts of the 21st Century': '21世纪最佳演唱会',
'Best Animated Works for Adults': '最佳成人动画作品',
'Best Mexican Movies of all time': '史上最佳墨西哥电影',
'Best Documentary Short Movies': '最佳纪录短片',
'Best Crime Movies': '最佳犯罪片',
'Best Documentaries of the 21st century': '21世纪最佳纪录片',
'Animal Horror Ranking': '动物恐怖片排行榜',
'Ranking of the Marvel Cinematic Universe (MCU), from best to worst': '漫威电影宇宙(MCU)排行榜',
'Best Brazilian Movies of all time': '史上最佳巴西电影',
'The 100 Best Sitcoms Of All Time': '史上百佳情景喜剧',
'Best Movies Based on DC Comics': '最佳DC漫改电影',
'The 100 Best Family Sitcoms Of All Time': '史上百佳家庭情景喜剧',
'Found Footage Terror Ranking': '伪纪录恐怖片排行榜',
'Best Horror Short Films': '最佳恐怖短片',
'Best Short Movies so far in 2021': '2021迄今最佳短片',
'Best Horror Animation Short Films': '最佳恐怖动画短片',
'Best Documentaries about Films and History of Cinema': '最佳电影史题材纪录片',
'Ranking of Movies and Series about Halloween': '万圣节题材影视排行榜',
'Best Medium-Length Movies of all time': '史上最佳中篇电影',
'Best Movies Based on Manga': '最佳日漫改编电影',
'Best Movies of 2020': '2020最佳电影',
'Best TV shows for preschool-age kids': '最佳学龄前儿童剧集',
'Best Music Videos so far in 2021': '2021迄今最佳MV',
'Best Sports Documentaries': '最佳体育纪录片',
'Best Spy Movies of All Time': '史上最佳间谍片',
'The Best TV Series About Spies and Espionage': '最佳间谍题材剧集',
'Best Fan Films': '最佳粉丝自制电影',
'Best Australian Movies of all time': '史上最佳澳大利亚电影',
'Best New Zealand Movies': '最佳新西兰电影',
'Best Stand Up of all time': '史上最佳单口喜剧/脱口秀',
'The Simpsons raking': '辛普森一家排行榜',
'Best Horror Movies & Series': '最佳恐怖题材影视',
'The Best Video Game TV Series': '最佳游戏改编剧集',
'Best Music Videos of the 21st Century': '21世纪最佳MV',
'Best Series about drug traffickers, mafia and drugs': '最佳毒品与黑手党题材剧集',
'Best Animated Short Movies of 2020': '2020最佳动画短片',
'Best Animated Short Movies of the 2010s': '2010年代最佳动画短片',
'Best Animated Short Movies of the 2000s': '2000年代最佳动画短片',
'Doctor Who universe Ranking': '神秘博士宇宙排行榜',
'Best Documentaries so far in 2021': '2021迄今最佳纪录片',
'Best Live-Action Movies of all time': '史上最佳真人电影',
'Best Epic Movies of All Time': '史上最佳史诗电影',
'Best Movies of the \'80s': '80年代最佳电影',
};
const faDecode = (str) => {
const textarea = document.createElement('textarea');
textarea.innerHTML = str || '';
return textarea.value.replace(/\s+/g, ' ').trim();
};
// 将 FilmAffinity 榜单徽标插入现有 unified-rank-wrapper 容器。
const renderFilmAffinityBadge = (rank, name, url, index) => {
const badgeId = `filmaffinity-badge-${index}-${rank}`;
if (document.getElementById(badgeId)) return;
const html = `
No.${rank}
${name}
`;
container.insertAdjacentHTML('beforeend', html);
};
const parseFilmAffinityRankings = (filmId, pageHtml) => {
if (!pageHtml || pageHtml.length < 1000) {
console.warn('[FilmAffinity] 页面内容异常:', filmId);
return;
}
const doc = new DOMParser().parseFromString(pageHtml, 'text/html');
const rankingLinks = Array.from(
doc.querySelectorAll('a[href*="ranking.php?rn="]')
);
if (!rankingLinks.length) {
console.warn('[FilmAffinity] 未解析到排行榜链接:', filmId);
return;
}
document.getElementById(`filmaffinity-fallback-${filmId}`)?.remove();
rankingLinks.forEach((link, index) => {
const li = link.closest('li');
if (!li) return;
const englishName = faDecode(link.textContent);
if (!englishName) return;
const rankMatch = faDecode(li.textContent).match(/^(\d+)/);
if (!rankMatch) return;
const rank = rankMatch[1];
const chineseName = filmAffinityRankingNames[englishName] || englishName;
const href = link.getAttribute('href') || '';
const url = new URL(href, 'https://www.filmaffinity.com').href;
renderFilmAffinityBadge(rank, chineseName, url, `${filmId}-${index}`);
});
};
const renderFilmAffinityFallbackLink = (filmId, url) => {
const fallbackId = `filmaffinity-fallback-${filmId}`;
if (document.querySelector(`[id^="filmaffinity-badge-${filmId}-"]`)) return;
if (document.getElementById(fallbackId)) return;
const html = `
FA
点击查看排行榜
`;
container.insertAdjacentHTML('beforeend', html);
const a = document.getElementById(fallbackId);
if (a) {
a.addEventListener('click', () => {
try {
localStorage.removeItem(`fa_rankings_failed_${filmId}`);
} catch (e) {}
}, { once: true });
}
};
const requestFilmAffinityRankings = (filmId) => {
filmId = String(filmId || '').trim();
if (!/^\d+$/.test(filmId)) return;
const rankingsUrl =
`https://www.filmaffinity.com/en/movie-rankings.php?movie-id=${filmId}`;
const cacheKey = `fa_rankings_html_${filmId}`;
const failKey = `fa_rankings_failed_${filmId}`;
const loadingKey = `fa_rankings_loading_${filmId}`;
const CACHE_TTL = 7 * 24 * 60 * 60 * 1000;
const FAIL_COOLDOWN = 30 * 60 * 1000;
// 同一页面、同一影片只允许一个请求流程
if (window[loadingKey]) return;
// 读取缓存
try {
const cachedRaw = localStorage.getItem(cacheKey);
if (cachedRaw) {
const cached = JSON.parse(cachedRaw);
if (
cached &&
cached.html &&
cached.time &&
Date.now() - cached.time < CACHE_TTL
) {
parseFilmAffinityRankings(filmId, cached.html);
return;
}
localStorage.removeItem(cacheKey);
}
} catch (error) {
console.warn('[FilmAffinity] 缓存读取失败:', error);
}
// 失败冷却期内不重复请求
try {
const failedAt = Number(localStorage.getItem(failKey) || 0);
if (failedAt && Date.now() - failedAt < FAIL_COOLDOWN) {
console.info(
'[FilmAffinity] 仍在失败冷却期,跳过请求:',
filmId
);
renderFilmAffinityFallbackLink(filmId, rankingsUrl);
return;
}
} catch (error) {}
window[loadingKey] = true;
const finish = () => {
window[loadingKey] = false;
};
const markFailed = () => {
try {
localStorage.setItem(failKey, String(Date.now()));
} catch (error) {}
finish();
renderFilmAffinityFallbackLink(filmId, rankingsUrl);
};
const clearFailedState = () => {
try {
localStorage.removeItem(failKey);
} catch (error) {}
};
const looksLikeCloudflareChallenge = (html) => {
if (!html) return true;
const text = html.toLowerCase();
return (
text.includes('just a moment') ||
text.includes('checking your browser') ||
text.includes('verify you are human') ||
text.includes('attention required') ||
text.includes('cf-chl-') ||
text.includes('/cdn-cgi/')
);
};
const requestOnce = (retry) => {
GM_xmlhttpRequest({
method: 'GET',
url: rankingsUrl,
timeout: 18000,
headers: {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.9'
},
onload: function(response) {
const html = response.responseText || '';
if (
response.status !== 200 ||
!html ||
looksLikeCloudflareChallenge(html)
) {
if (retry < 2) {
const delay =
2000 * Math.pow(2, retry) +
Math.floor(Math.random() * 1500);
setTimeout(() => {
requestOnce(retry + 1);
}, delay);
} else {
console.warn(
'[FilmAffinity] 请求被拦截或返回挑战页:',
response.status
);
markFailed();
}
return;
}
try {
localStorage.setItem(
cacheKey,
JSON.stringify({
time: Date.now(),
html: html
})
);
} catch (error) {
console.warn('[FilmAffinity] 缓存写入失败:', error);
}
clearFailedState();
finish();
const fallbackId = `filmaffinity-fallback-${filmId}`;
const fallbackEl = document.getElementById(fallbackId);
if (fallbackEl) fallbackEl.remove();
parseFilmAffinityRankings(filmId, html);
},
onerror: function() {
if (retry < 2) {
const delay =
2000 * Math.pow(2, retry) +
Math.floor(Math.random() * 1500);
setTimeout(() => {
requestOnce(retry + 1);
}, delay);
} else {
console.warn('[FilmAffinity] 网络请求失败:', filmId);
markFailed();
}
},
ontimeout: function() {
if (retry < 2) {
const delay =
2000 * Math.pow(2, retry) +
Math.floor(Math.random() * 1500);
setTimeout(() => {
requestOnce(retry + 1);
}, delay);
} else {
console.warn('[FilmAffinity] 请求超时:', filmId);
markFailed();
}
}
});
};
requestOnce(0);
};
// P480 在 Wikidata 查询完成后写入;initRankings 可能先或后执行,
// 因此同时监听事件及读取已存在的变量。
const loadFilmAffinityById = (filmId) => {
filmId = String(filmId || '').trim();
if (!/^\d+$/.test(filmId)) return;
// 防止 initRankings 重试、或事件重复触发造成重复请求。
if (window.__dbFilmAffinityLoadedId === filmId) return;
window.__dbFilmAffinityLoadedId = filmId;
requestFilmAffinityRankings(filmId);
};
window.addEventListener('db-film-affinity-id-ready', function(event) {
loadFilmAffinityById(event.detail);
});
// 如果 Wikidata 已先完成,直接读取,避免错过事件。
loadFilmAffinityById(window.__dbFilmAffinityId);
// ===== FilmAffinity 排行榜结束 =====
}
// 判定是否为动画/动漫页面
function isAnime() {
var genres = document.querySelectorAll('span[property="v:genre"]');
for (var i = 0; i < genres.length; i++) {
if (genres[i].textContent.includes('动画')) return true;
}
// 兜底逻辑:如果在标签(Tags)里发现“动画”或“动漫”
var tags = document.querySelector('#db-tags-section');
if (tags && (tags.textContent.includes('动画') || tags.textContent.includes('动漫'))) return true;
return false;
}
// --- 影视名称(基于 Box Office Mojo 页面高效解析,避免额外请求 IMDb) ---
function addMediaTitle() {
// 防止重复添加
if ($('#info').find('span.pl:contains("影视名称")').length) return;
var year = '';
try { year = $('span.year').text().match(/\d+/)[0]; } catch (e) {}
var ch_name = $('h1').find('span:first').text().split(' ')[0];
// 清洗规则
function formatName(str) {
return str.replace(/\s+/g, ' ')
.replace(/ /g, '.')
.replace(/:\./, '.')
.replace('-.', '-')
.replace('..', '.')
.replace('.-', '-')
.replace(/\.+$/, ''); // ★ 确保末尾没有 .
}
function appendName(en_name) {
var raw = en_name ? `${ch_name} ${en_name} ${year}` : `${ch_name} ${year}`;
var name = formatName(raw);
var html = `影视名称: ${name}
`;
$('#info').append(html);
}
// 兜底逻辑:无 IMDb 时从“又名”中提取英文名
function fallbackAkaName() {
var en_name = null;
try {
var akaNode = $('#info span.pl:contains("又名")')[0];
if (akaNode && akaNode.nextSibling) {
akaNode.nextSibling.textContent.trim().split('/').forEach(function (e) {
e = e.trim();
if (e && e.match(/^[a-zA-Z0-9 '-:]*$/)) en_name = e;
});
}
} catch (err) {}
appendName(en_name);
}
var imdbMatch = $('#info').html().match(/tt\d+/i);
if (!imdbMatch) { fallbackAkaName(); return; }
// 改为请求 Box Office Mojo 页面来获取影片英文标题
GM_xmlhttpRequest({
method: 'GET',
url: 'https://www.boxofficemojo.com/title/' + imdbMatch[0] + '/',
timeout: 15000,
headers: {
'Accept-Language': 'en-US,en;q=0.9',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
},
onload: function (res) {
try {
var doc = new DOMParser().parseFromString(res.responseText, 'text/html');
// Box Office Mojo 页面标题通常形如: "Movie Title - Box Office Mojo"
var pageTitle = doc.querySelector('title')?.textContent || '';
var en_name = pageTitle.split('-')[0].trim();
if (!en_name || en_name.toLowerCase().includes('box office mojo')) {
// 备用选择:尝试抓取 Mojo 页面上的大标题
en_name = doc.querySelector('h1.a-size-extra-large, h1[class*="a-size-extra-large"]')?.textContent?.trim() || '';
}
// 剧集:拼接季号 Sxx
if ($('span.pl:contains("季数")').length) {
var number = $('#season option:selected').text().trim();
if (!number) {
var sn = $('span.pl:contains("季数")')[0];
if (sn && sn.nextSibling) number = sn.nextSibling.textContent.trim();
}
if (number) {
if (number.length < 2) number = '0' + number;
en_name = en_name + ' S' + number;
}
}
appendName(en_name || null);
} catch (err) {
console.warn('影视名称生成失败:', err);
fallbackAkaName();
}
},
onerror: fallbackAkaName,
ontimeout: fallbackAkaName
});
}
// --- 2. 核心控制器 ---
async function initMain() {
const movieId = location.href.match(/subject\/(\d+)/)?.[1];
const infoDiv = document.querySelector('#info');
const ratingWrap = document.querySelector('.rating_wrap.clearbox') || document.querySelector('.rating_logo')?.parentNode;
if (!infoDiv || !ratingWrap) { setTimeout(initMain, 100); return; }
// 影视名称
addMediaTitle();
let sideArea = document.getElementById("custom-side-area") || (()=>{
const div = document.createElement('div');
div.id = "custom-side-area";
ratingWrap.appendChild(div);
return div;
})();
// 侧边栏
sideArea.innerHTML = `