JasonsGong.github.io/website/index.html
2024-05-09 21:44:49 +08:00

258 lines
96 KiB
HTML

<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>网址 | The Blog</title><meta name="author" content="Jason"><meta name="copyright" content="Jason"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Here&#39;s something encrypted, password is required to continue reading.">
<meta property="og:type" content="website">
<meta property="og:title" content="网址">
<meta property="og:url" content="https://jasonsgong.github.io/website/index.html">
<meta property="og:site_name" content="The Blog">
<meta property="og:description" content="Here&#39;s something encrypted, password is required to continue reading.">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://jasonsgong.github.io/img/1.png">
<meta property="article:published_time" content="2023-12-02T05:27:01.000Z">
<meta property="article:modified_time" content="2024-05-09T13:41:37.003Z">
<meta property="article:author" content="Jason">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://jasonsgong.github.io/img/1.png"><link rel="shortcut icon" href="/img/%E5%9B%BE%E6%A0%87.png"><link rel="canonical" href="https://jasonsgong.github.io/website/index.html"><link rel="preconnect" href="//fastly.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="/cdn/icon/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="/cdn/css/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="/cdn/css/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/search.xml","preload":true,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"找不到您查询的内容:${query}","hits_stats":"共找到 ${hits} 篇文章"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":400},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: true,
post: true
},
runtime: '天',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'mediumZoom',
Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#006650","bgDark":"#006650","position":"top-center"},
source: {
justifiedGallery: {
js: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://fastly.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: true,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '网址',
isPost: false,
isHome: false,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-05-09 21:41:37'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
if (t === undefined) {
if (isLightMode) activateLightMode()
else if (isDarkMode) activateDarkMode()
else if (isNotSpecified || hasNoSupport) {
const now = new Date()
const hour = now.getHours()
const isNight = hour <= 8 || hour >= 22
isNight ? activateDarkMode() : activateLightMode()
}
window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
if (saveToLocal.get('theme') === undefined) {
e.matches ? activateDarkMode() : activateLightMode()
}
})
} else if (t === 'light') activateLightMode()
else activateDarkMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script type="text/javascript" src ="/js/welcome.js" ></script><script src="/js/sweetalert.js"></script><link rel="stylesheet" href="/css/sweetalert.css"><!-- hexo injector head_end start --><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiperstyle.css" media="print" onload="this.media='all'"><!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/avatar.jpg" onerror="onerror=null;src='/img/loading.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">60</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">39</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">10</div></a></div><br/><div class="menus_items"><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://www.tutorialspoint.com/compile_java8_online.php"><i class="fa-fw fas fa-code"></i><span> 代码</span></a></div><div class="menus_item"><a class="site-page" href="/notice/"><i class="fa-fw fas fa-stream"></i><span> 公告</span></a></div><div class="menus_item"><a class="site-page" href="/website/"><i class="fa-fw fas fa-list"></i><span> 网址</span></a></div><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="not-top-img" id="page-header"><nav id="nav"><span id="blog-info"><a href="/" title="The Blog"><img class="site-icon" src="/img/logo.png"/><span class="site-name">The Blog</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" target="_blank" rel="noopener" href="https://www.tutorialspoint.com/compile_java8_online.php"><i class="fa-fw fas fa-code"></i><span> 代码</span></a></div><div class="menus_item"><a class="site-page" href="/notice/"><i class="fa-fw fas fa-stream"></i><span> 公告</span></a></div><div class="menus_item"><a class="site-page" href="/website/"><i class="fa-fw fas fa-list"></i><span> 网址</span></a></div><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav></header><main class="layout hide-aside" id="content-inner"><div id="page"><h1 class="page-title">网址</h1><div id="article-container"><div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="Error" data-whm="OOPS, these decrypted content may changed, but you can still have a look.">
<script id="hbeData" type="hbeData" data-hmacdigest="607ac5cd582376748d34d5504b546bf87985dc2bcfb545abcdc8b4e3bd9c0a6f">4630436162ade97ba2718b7d0c4b3b63529037e4bf2c78678907611385183a03302a25d3d164f14f210ea5c982912a01f7df8a744763771fb01c68445a0fb4110a5765fc4db649f9318cafd29447988b2a490328cafb3b46a123397a1b998f6784d9f4fd93ece9cabad36b71b8ce6eda6b0345f2953d2f849f242d2f63b905786b82511e5d3368c4fde817d210299665af26b7e1d9fb8f9a051b086f7af7b546bc7b90c829918759a1c867578782a48b5f889332d113fc7ae0a259d6102082f5e06605f851e070fba7632a2c3cc6260679877bbc0c8853ee817bc5d849661130d9acd98977255e55d9397045b76ef39cedbf23c5a5902777e9adb82c4accfcf00d5ed002fe45194bb65b4811a0c3138d6b03ad36c342e535db7d801b4cc8d6ab301cfb69fd774ac1d44bf800fe6ff17c08a2373fd7d1dab61426d316bd5c9727e89234c2bbe43e8cc6b55f2a37645e70dbadbb6aa3937d8693864999712c446a1d023fa063947b2a093c0c06057921d3dd77de05cfa2050045fff6aae323d6d0cdd0454be5b61451f46c466e778249b6ca8243d737643ee8f11bbe47eb63dcc021ac5b414cf407dd07af213b3e250d75a9cce0b606a3e845f8e68f191029c6a98b3228963c3c454e952b570c6625085736d34462b36652d34044a744cd426d64a694ceeb7c72c606d53b19dd5305c66d7468804356f4c960d14aeaaac5e9d4173f4969fcce76a46ffc7f6171e2ffa13ed198c0e38e0acb77df4cea97eb7263e180d35caee99e127a19042306f738846c3ef73d1a01c948bb23b39a3462c1c9adec33c7f6ce5a084abfe04a093266203d1e7572496860458cae16c5a9304261facc4a54ff0debe1afdbc2a06300fdf03921e82e19517c7c86b4b0286a21cecc8577b001bb6584409fff0c7905647cfdf19658e524c7f3f0cc6351d51d2d62c24010d4d835e2e9367231d86b2e0c0efa449228e9c3212c151f745ae15d3ee0ff7782df1fb7d022d3c521543b906dfe4f6fc891dad8f553f6082e9ae5847bf31a3c87c64c51b4defbe7475b8aaa64d8dd92ed15e32e18a5c59bbb9bc502f701653f9914fbc89c5a7264b637054c092d264ce0f10d49b7d6216b663c9affc470be49f9b56f10ebc0f1a98190c1f07a49bc32238d0e6351cbb9eefa31f6e6647bdb6443a75fed512033d1144b82f4bf4f697ef31687b99cd6b05907184d5a795923d96f75055e77ef53878f98d50eac289de345617824936361af284955b2df3bce60247b9f8b17428d2b2ab26bee441501ded7aaa3f854021d97771c03eb5ff9bf878236dd7a18ddaea86504c473cf605d60b401974e198a4e80009d428329053e2349f068a14d6c7f8c3dfe91dbca318f1033312f38048e770b47fe6ad1a3ce643151c690c1dfee0c88618eead83fae3eb2054f3d202cae3ee92d7f6fd972499e487eb1989b48f01d706fad38e9426759e130b7ed38789d98abf82745c2f26e209adb53fb018d776ed54ae759c6ac9242b69aa53524917917d2fcabfe6b9930f451ef48724462f2ef686667d9c4b1dcb2f6c38a2cc0884eb3ae518c401049da635021ec21ee56097fd4e7777331d2b50e8ab45d65e771330a7d1b3a8fef550e7c7e3c9addde40891fa2fdfc968086537e6f17e5f4f6ee42774ebad8d26bb151b43d3944f4b575a61e010cba1c5fb70be6f513d63b4d27882fbe1df19e8a64ef6ac7cfe39c004552c913aa0fd10a835db16fd5efbd1093d02c3ec6d14b3de1a3b19eafabc1dc6d0994d28214564cfb41d48d4211bee6838b0ba810da61c81fc3553eaaeab642e2fa2eabc4df6cecca6692132b682fecb34a5c57edb64c72315bda6b17de66333a8eac6ff1064c0945ee4ed006f88bedc0dfe24ff20a77a14fef91f4ddcaeff9d07d1fba3fd2b332f6ee3512bd749f40c66fa8034f1c9d0ae30fd17635dbde5fe1428eacc09ab5d413e440e6000abbd5e4c698435f11fbb04abf4818ac0dab745cae2ddc74f03a8e9a2eb7bc769deb3f588b154047bc4c19c9a930071be7b7514542d47e9f86c93167e496d986b4cfba956eb0e26a464ec2afd13c9ffbbcb51989d484f6adfff897637894428444e51035219b070b70e6e3f2bcace84e204af3099fc6d2995d4a7fdb298455f8dd2d78204562d705ddc882dc87ff8258121c960ac57550a354c97c343674e108115a8d71dd4e069a0cdced8f414e42dc62931fbea65ee8fd7afc0e7996163dc8f38cc85ca384ecdcb2005f2a09094cc1602fe1941f64f900ebd076eb65475e6942d48e9eccfea0bf60763fc3ad06bd01a3b089113aa92982cccb288e94822253a2c15c4f1b17d0756d7cf65fbfde19651905b3d7b3dfbeaa82712cdac29d0d101b73e0bd6504909b972c0edfe433c2666d693ed046fea9623f827778f0055d3de95cef4e3b89b5ab371a4eb21927764f017f2cea774d99de2d6ef5fd462684aaa5827035507cf1e3647ef163414a85fdad8aabddb8fdea69b43931c3b78ec9b301e84ec224415be10885f14b5e5b22ae3c4a107a2608107c3eb9882cb297e75f716221ce5fa99bb22105a21b2598976ec87413114b01f88c0a7a44d7f16f4d7e36b82cd7247f28cd920d3152efbb766ab276f5d369e5190114ffb4478ae32d9f88454fa79bfe7479933bc6128723af527d28fb07b4e68b16aad2a2f12eed5c623e901e54b7c2a2cc8744f5519772103a79a76db4ec4e860909be36bd627a521f5a5fc18a9b47c203ddd78c46e3eb5a09c72ac094303cab35e580db0acf51627cc09ae52633f38d05da41876e5edd30e7221a59e7fffb6b816222fa311d73a78063c144489753aacdd15c7a999f869a92faece432e8684cc5ec32a866e18b5329bd63ecf11beef79ce02ec43687cf7b5879769ae1e3b37b40fca42d8a45ca6a2f94daf10d4179ca097b9c6f551162cd89fc0c9901dc54087b1489b7bbde8ffb3f34ae792c690fd4b75df8f86641134b9b84e3821aee0a1e7880b807477a3ed30ccd73f1c9315cb6f6f7cf2051ff8ffdd7add7a4be689f95e3e116358f18b70b58d54383c0779361453e4dcfe9c2e213a82eab7e15a635310e02ad7f8714d93391301871ffec38991891bc211569dfb797c8db09843b889e0274124e4d6f9171a365b7a4c8eb13181d195f74dfc3cd7c181dfc46886c437c75b2d24ae3ea6b14fa753a41485453fdd65d9937e448fba15d471a3c9044f38b535471576dcca9d2302f946f75b6df940e77fd789b15e4ada7b8b5034b1d7f5c6fd42a7cfddcb293be41665f869d8c2279aa8a3e29851a6521bf0cf17e462444d5a4e661f5d1b0a10e78592cda00e515fddf34866250dc3b0388a26453b0001b4b67787b58c754e4a5a1bc40f58c1012e466b5f4fc4fca3ae86b8d561ac417a36f6216012a793c57c97f03638442c34db0fa07f5bbce785ef7d90ed348b528ee220abb9eaa21f7360d034583c824df553fd0e3c5cf72b266b5039b2bd4fa8802bfad0828f36170b9509ca2271d8fd69e79df5da2969137e41895ca4ebcc7bd4b0e8e097c14da079bdc1e298031aaa04eef86865e6823dd61f971108b77763450004f42eea7f0f6f8c698315bd43f0c1d240370d686f70d4fafe4f51b955a7aa1552cebf5eea177daf86a5e87ee9c54a179284725041315fe1bd4de2ab52f6eccdf45fb32e4f900abfb022eabebb8fbc0ada70ca4b8b66e0f2e6c722a81d9213cbb40d7dde61dfc2a93b812800eb40970d7bf62681dad1c5d3224367e86a08085f2b5a398394d7f3a939a3c1afe8a10a9ab2ea2dc39363dce766fe337d1eafe35db7e8aa2a509b045859e5e2143db6b6c0d088f162221328ee09fe81b37031785623666aeb936d4e8e8e3c705d8a0b6f0c282824b75c6e674019f3bd56f34076a7ade348528f138810d745fa7a21d48aa9ba54c816f588d062e1fa1224055451cf78e88433e75e836a82dc43c791f038b9892c42e67acfb23045b6b6f8b98879eaa0e766f0053300c78f1337f0b2888ae48561a510c22f5f39fc175f27f4db8eb459f884a5c062ca8e9400a01719f3d0a547dccc8ed68c5c40aba79174f0447cdbb44551d5b1805a318ee5d9ce15b7588b10ed9eed7ba5f05a68e1773bd8052c4b3f44e215533ee469e93f17cbb8b9c1f5653c53e04f148c012070928ac1ee3f86061945bbbdb3c44695de30908f66e38442589284183c3e3058887ca9ec9959644be2386ad504bdb322657771791df41dd190882f8c5373b6b11eec8ea78a3bc19a7ca745bb718108268649e4a04a807eed2dc3522755fbd3e74a89cb529c815ff59d24c5784e5bde8ce692669d3654dccbd9dc8e467bf2fe8e5e22188291522b5ed6d3ac0f37997d04fe0a9b695c37ffebc602fc5ba38e6c6455ee06df876a97aa654b3ea6bbf9c5218d705c2633255314c11ae316070a29b13c96ffad57d3bbb8da0b1378ebd40dd42e93845869c79f138d7ae40c545d13a1313b4da43000a914c7006c43c7b898f3c48bbdcfa05574e4f35571fc86b3929431d2bc47a61e8720d1d0d5b1fa9154a8af761bfca394660776a2fb460451f5595c07939f6d0121285d899bb79307543114ea1aba8b18fd940555d5d39e890e0c25cf5443a5286fc8ea5f113b14c22ace0b39d687d77963f6e3026edb58c83d2703e08986b0dc35d13e2b7408dced8d24e054ff4b10458b1bd41163788c0a2949cd69a046bd56df08938f7f487ffa9d0b84456a57b4c59ef506f8b611961debd1ffe06ea322c48ec97ad397c82e727b8bc0cdd59e387618f467a20dccff44384a69946374746336882a3bb8ecfacffe6978787ca254cafc8d646382a70d20d7b37f33717fb3d4710ba84f20c6f330d7d0e163ff21173d1f43185c00579d8f1a21344d7f54c3775efbe776a88553f97fe3e197b5fdb2579377f72c7889c64eabafd07aa43f38f6d454cb96f74762010d638d36da605ca020bb417a1376d337d8b5ee7705eceb62b45623fc5e1e81f94a7047cfb0751cb40a99385e93d51e54d7001cade03a7bd8f7f0ea88e36831d0a48ee9ce176e522fbf3bb055130fe33051eec5ea95a71d8f97ac72f9026440247508dce9fee2795fe56acbff9a259136fd76a735bf1a4de8837b303d7e24bdfe52e92d3904f7b572544230a7bd3fd37ee72b1a1480bcdb0b4e2ca6372d624a380c96303c3b896badb9ffcb95122c174c1a49c4f856f0be7b5c02987c3f252660739310e01527f2e601a68711d175ee214cbb1cc036427b97c8487e80e9cf5a198e650f127a354bbabb2f59afba9b82a225e72b91438b3536de22f80444293e033e23aa300c65c81ea2b7187fbfdb8a20bd0f9234c0c5b1efa3ec8f1a89cd2d68da1c93d7424add916094a616ba895f3f74eda14496fb1763b2e1df77ecff4ba687f3601346aa2622b91baa6fcc1b86eca7f3334b1024049109cce261a6b5e65acf1492282601f99f8d67c3afee5345718fc08254acdf4c9a6831c39c3243bd97040f0f062d5d280605014993c4d55b18d83185966956c9cb7083cf36fcf0fff50f784670e2bd0599bfb1e79fadf035857719ad4e5d8dc60ceef41ed5e6c2dd1c0ea3a7975aa3088f7c011a595fb09b98fca4fb0220c33ba398850652969974807ecd1c3fe87d8ecb2bbaffa9d3d97170af034b272312614b9eeea4aa9847411427d694838e5588cead9b3832a88c86da44aa3525e2a28d2a589858df62594e03ffe5910fc3fa6f2ecbcf88421fd486b77a6f3f8216e5e3e35ae6c55d252f759d304efe46194de4049b35770f18d1d4327329131a78be581acb1f156504a4fef11a4bfe847011c801ed5bf36883c2bb6569acce3a2f1212d8b4644c7d9af782de7a92819bd5d347dc830beb80e00c55ca92cda2d33eab3f3c7f203947fe47c4731026edf2d5a01112c1d1ab5a8e0f82b32bc7372ad8aebc7e8c0c7281ab31bea109d8148d17b3acea9704ef02f3745de1cf938b3d0848c17e6786e3d69a64aaed83527eb762776bca16a9735b47dae45a476e6f8b480b3635c960eb53fe90fdea0c4971d5676123c0d232a4292437491576158b9e67af78397c1be3457780a3991753e6f934f61e39ab539d083027d54320a1898c1fa9eca95ea858678001bdaf242b8760e32f88d9a28404e2e8744b0586cbedce7eaef9b0ff9b6e04b71c8a401fb897974df6608b3802511e9f79755e02b2f1378fac1bfa4d2acb75ce823ca0654eedbc167c589984e26470f202678fa71da99e8ad74eb200e99a13c76a87f2e74ec821b7908a186739b7a5a320db058952ff86cda703dff21cdd0e69e4b0f34edada5c1bc45670281969fdbb1476634d1651c58be1e6e674623e8a3b89a81690b7f254450de9eada91f8d4b3c6be4f450a8c9ab3dd88c77e61c11f710c297aea18826a2f2ac52125ab2d3950477004437dec73f8880692292524a305071e4f5555d795179f6c4797221e5c3f6908f6358fb8f63c94fe443e49bdc642bf57f68d9632471899fcf1d0cbc9413fedaaced341612d279b95bdafb6607a109297a5bf24e388a5215d99962476f974ad9e92ee7234957961dd12a027e3949b10fbfe43b492325a45088122a3c9860a32010948fb43210227acbd69d73f554a6bededa180b4a442c2eee360e3830eeaef0ab22ca1f4bae4d11a94ebb6fac3a49949881be655e39dee7a235e594f5f1ab532fc67522a0c6a5c1c5fb9bab91a7cffb59032cf37ecb7d6e5d7ceffed3ecae9265bbad33f651cf569a38d3e04d7e22973f33e055137fc6cd802e4206e04776a080e16c56d10c4e2384d723f1e7779833aa365e5efad3a9f02058ee8619095b09ba7ad6fe018cd88716f19dc942ffeb316f9007257ad7419a0be81bc2954951a81b9865dd4ce6ade00c0ab804bfc1adfbb54d961039b4639da24fdd6dd230c8d50c39b7efca67e20775a4c64bdbbf9cabb2915f2fc35b25d24164bd6c4810904676d9dd473ff3c57813739458872e6aa46a3cad67d38c4b9dbdf1861b0a5927814e0a53e2399176e485bcbadc2d3b27f551a7a0025e3061215af43f46c082b654321f33ae8c33304561c204774daf639f1b6869761ba8720be78f9fca1b49a6e1b826fc8da8b3fb74c46d751df6fb0a48e182b987204e524435ba751522f60db0ee5c508c54fb80c3684aecfb5f6394997ad3609317a56fac76bf1fda4e9ffea001185ee6cec2f962ab20e9274f8956aeef98832aec9ccff7e6ba6cf56a0d2fec3342fc9baef092b171300c24e25bc270d4e20a37166073bcab6bced7f2dbbb2c86316176127fcb7edac0fa3e6e72bec55e3e25215ffcd06ee7c54a6f7e40535c3b010e959e99d13cc611c4d69e677ba9b5a01ef7c9b4fe53d2b8400976ca9cd281db69fee856029c5c0ff9cc51f55d68167ac0219b8c40f6ae64efac58b9a6bbf234768fb0c00fd06ecff5dc43d195e641530256359db68d8317e0b1f70f8a8fcc944019084cec70a0107e330b8ab049c099fe1fe0b4300a93ca46676c898e6d29e66d44b8a2034b8299f08ecdbb51e12c4af1f8bcd579ca4eac9a7eb9960125f6b31a3738ee1f5eb0031e0c9709680bcb0127523de3ace6a8ab4e3b1088c3f58bb7d0e6b4a02a2ac0d6d2e8ed0c4275b511a88acaedb09411cd264922ba8ff464456695934dd742ac8918921db2a7efddb0a17bd868a54b615954c0dd1ac20ab368b22522fd42b049ece8c7f70008f14f849918aee8ac2811f8c8d17f56ee22c11f7e48e1e3699cc26431412f9169a2a71ce0f87d21f10cc19ffffe968ac3c6ccee0c98927d384deded8b26317cb706293ca6ae735a9f12ec8259e7bf959f1c1d2bc2242730e9561a8a209062eef7f43477c1ca9bb9e4071271061df7cae679b8fd750d9a932c3df3dde137bb45e0bd1c4bfa3bfe2cf172b05167255140127378287804511e2b6b91c656a36af2476f4daff657715a7a285d85e1706c340af40f96739d353a038d9eadde633d598d28f83146db6af86457e038e3e5be2e6bc73dfcd7110e743f2e9fc52b2160ec6cadebd6ff757334d236af25762ea6268874e5f79bcd4f0b01c8c9647c8431ecb7f8cce3415e960d17a54f5872b1aaef7f15d5f4ad0002a80a54da0117a66e79dbd497f21c327f32c98a2718ac3fb3094caa85505322dbc9c630d81a6a94c63646270585976c7c20bb6b364399016c33ec78e4e0e0bb9661c49ed949caf4bf07d4955ddd77c8899b5e1822597b0ae2926a7c251505c37655987463d61ce81bdf3caa9c83da9c3662da0e8e7ae99fe4a5920574238f9cb4f1c003db44b8f61472b40c69e576e735720ed64606038faacbf909cf6ef9befe124d9bf56e113a7e28a88ef19e829425d28befb7cf372834ebcf72f323c5596f4839589aef9ffc1a4231e397b95f0325d86ba8d6ecf6141f8b56aec80a4eaa3af761cbd41147dbc90587cea7d81d27bb6dc3968f4d34f721b04233d784e0352250deb5b428c38dac3b644f26cedcd974adae4529e24691baa7c283070cf70374bdf7cc82478c20a214bfed31db7a75d05655597f7e809a5b4969c6f510da366bc357170392e7bca89df8169e41147f1c7b29227e0e9f4604a1b910d5bf69c4180a838dbefc98a529a595966373b25f51584c3a0b8f49e1c515f95984496bf5d5cdd0560f2e5745f25909d103e2e2624d5fa3ddf82d24d4081adddc2f0d10d92fd312f724888497cca4fd88ce9838b7169f7df987b3203d5cd8c96da0ccb25d39711b6af4f6164b518ce4edfbc30f76eaf2ae8a671736120813a8c2544ed7fcacc6c5135a2cb0057b18dee03945a62df4c5facf0067aaedd5cba873d5e65b962ccf75e99afe4e2932cf5ff47acee5b37974ee589b3ce54776cca5239e09880b8c0e3862a40ea54ae33825ddf47810e48b0aac109c2d32a7ff39307d3feeb20d1f676ddf584c381cd7944863c5129c941a06f426b3563d6451404049d9ed783f84c866466390e582708df4f0c683b5650e7d3c17ab839108145b4437de6c157b09312dd51520d3c60677a9e5df00b4e6375e03c5ccfb921a3849897cf6d3d0c2affce10bc072cc9433bb9f12dc3db23282efa1173401755713d523f66ba1eceef20b259ef96f11731321415e9d9ae111c1a8980f3d5727661e39e90110a1dee94708e6b47a88a246325ba223eea4334dc51afda25e7ee39815bc47de0c02356702eda0a2df148ceb9b4902c9fda5423660af26d05f9474e7f16e38b45d7751de268ec32ea966a6a11cbcc175a6231b3242f174e321972599585ab26a7a095f68930b100714c8cdcc3fe0ea156bf04ad4060f79f244d39d8d070e8c84c171b2291d22b160a06a03d9d24ee9456356df5f9831a0740b4d71d968a6d5b11bd117416ca6881cffc74c8b87f0a38a2cf44318448a5428e3200560cc99ae1cbaa3f554ea6b0a982ccaa3b26869f81c1b8e5f359519b9a9d915af3c3ec84a845bffa58f1bb6835fb4fd3275537faa26bc9d3090755a32ec2db69e63c63ac97ac33b6f962224d9ee58c45b965e62335ffab259385c0ada55992ed0fc53dc663ee263ff31438bd9df768b844e7bf5652e3cbeb1fc699daa06bd7d372f0515bcf95ad6a6a5fb8b465240b11982a362066d52dc51ee1024a7b946c1acceeeba9e75e330ea284e25f86d81c8ea141e1c6c6225baace290e235a148f776071b45eb2bfc059d616fe1db744a2121839fcb407620716af5e3c3567063bde743f118fa6cb25eaea3befc682efc9a2dbdede82ccdd74ec01589de3a014d896870475a07eb0524cbf3b3b844ccc6f2b324fd84f43989988d69758703d2c063833aa9369e9c57396508d918976b056cf8150f2edd71a71a01d066ec32e1ab1e07de82a2a4134f2ca41fb43d2107b89582d515a543d6e144c4ad1668d39a11ac0d23c27170e8adbc35c4cc21a9955925164a82670bd79d0ff253d8841ed6c8c42f86c92e1e0e22020fe381a0495ef02e3052060f8f3836627f50c63ea5dd1e6f582ebebe7dd4eb2fc9bc067f47134068617e0bb10b81b8788c43f264e1cf74861fac2c53c86be1efa81c3b38704325b3119fa79618d3b70fab4c3a21e401b44d056ba63e10ab3a203e8e18c62ac5dfdb1ed04c8cd98efb04b37330281ecd1486dd07caf0cbd2db605d06e8d989535e0f487d8e4569baa9779af57581ba4f49a5aa88220b542416dfc00ebe55a130ac3f29b3b165d9707d7c14253ee7fac3baf7651d1514f4c7f04ea948080db0efd127f8f41cd29c44816ffede39501f5199fca8884b9650ed05eb39b14ed153c1bf2958c08eaecd2726239852c2dd61f3d9be44cf54130842b4a9cb485b97181bd633f9752b07e0596c937398c013c6cfa26f0df796010ec2f2602976f2e088ab55c736599286c723f380a3b9e20ac1ffe21a97603f6659feb77a59a16e4fcbea9e682cef9c7db9531c5c1b91dc3776c474688dd97cc8a42b6f463a9ba54b01c0e8ef02ab0f66dd8e6ccb874af7402b56e95d099a70e4e5aa0dd813d0fe58fb3473a2fc73fbc8eedc2221ac41058792531b7f0d52a01e527f903e16d5ea39be4fc631c25a961a58961ee4080cb5ae2f3bd0b06b98fd2b26cf2ca8e6ea5c74de8c85effc0ddad3d935d09f4d2aec598f08833b848e27cb966ede8630eedc44d0aa2c9ca330d9280a753dfeefe42fb059734662e23d63843becd8739b34c16e463316ae1953e1992a05a6c9c7d4d9733df8af63e7b114aa078bce6906e8326df0881d3f76a987f8a0f0a00fb6eb4305b544bb81685c0e58be4bca5f6c48888953f0218161658393dd259fb339167f8f7aa733c581b76da851b5a2b1f2d9596eae64f42f1a6ef7976a23f8ff00930af6d9765a7d7312b70558b2515d8a494b7feaa289b1bd91982aaf6d34c5c89b7bb9f343168e36415f6fb2469765258e987e13ff5b9c6bf54e36771437bbe8783c2938a67277c5ccd94b625979320ea56982055eeee7a1d00726ed0aa103c58e2419d723bc53bfebd4c02622f5d9939eb7ba28687d15c59dff448d78294f76677dcdfdbb3a8f3afba00358a2db376dc13bdb16f8024916f3a206933818ca98ed7e99f0746e4319764e1ec5a69d19fc31c051081d34f50701eb80f32287b6e365b027ef90b1429c2ef998d3647db1288407c30d90fb38a31321bbf6a9d6696111a4cb7df4b30039a5edb4c66f2dd25e998e71899ecb938b385761c3a2f72c2138c8d47793cf1322604365d934535fdf3710a003953aaa21bbdf1d219ab0dd113f216071e33a96411f4c1e0faf50461f79c05c2e0cef33b8aa018ad42c3b78f77d196772fa94c5b791c3f5e38c45dcabb9d84faf7085c3d99547d91dd125e0003f661b3758bafe3581930ac4127e99b701824f3fce296ed8814231c23f3b2273e7b1e11090d31bcd8d8240cf1d22a05323a8f011f491bef2d6e54d8c83666c6b8c601a1da6a6b0610ffbb747dec8b8387c0fb4e409d9c48a09d6bf7b525cdb79f84f23ff837dce2d357c3007c05cef3612dc84e2a21a37ccd077eb00ad0a902a2919d0eed128f2ef7b21ae064b0bf1d0fcdef5d919be76dd15fd4936c2fbb9024ade1b9986e3283006c6ea3c5b183a4dd97fda80af2e9e0cf4fea8042b7fc55c79c70197a05770226978091b85c1d960c399b16ef5f1c12d7a8b3828726a5f6a43a6bb8d3b056893525c68c24498639169b682910a85a548dc9488559e476b5c40971e5b1b88989db3337c9fc331c49f5ebbb59da959398be9dec35a48d1d66472f77dc9b2fcc74ea4c4e87522185bba5d1912a1268a4157721160f8c120769195c7f7aca072ef0ef57c16dba25c92d5956ad9c689df1786ee8d414c473584175a4ce321cd9ddbc945e1b0853474d561d4afc953e3640fff184a2fd140b6331b5dc8007e920e8e2613646796ec45b89b69ee69c032083b0bcd8d946f117444aa028065f47e64b96ced05d4d48e234099edbd67aea9f88e01983f798eed6f92b3380c2e67c883d6925529f95c0444a38e662039be4dce61809b710b10cc233e522742ff80963ab80ba61e3464579a3034a11fa4c27623901122feff99c4eee11e973e95f0cddae61cad4b5754324598a949f039d87f6482c94c7e45bb793aef416db117edbc7dc45ab91bd43204a5c68cffbed9fc9e2ab0b7b92ac64ece92dfeb1bcc6322ea52da9df18aa86ca7a56d21234ab7b9aa028aeb31cff7e79e40fe77f33544c3a9aae96552ad9a4cfcb3d85c5917c20c0f0585bf840e54ef5f8eeaf3e3ceffd7f5c259a2cb377257e1f99a9a49261735150aee003a5d0d9aa6182b9fa3ed8834a3a5f6106d65a062f8ca0c6d42f85e7db7d8b08d745ecf5d4e6d3eb14f944516ec218935ce2fe067309798888149b20a6ee99496ec3ae6f90f785565ac30ba66371985bdf5b29b2a5fb3ab94ac8826ce706c71dcdb59062769ea36e26ff8ae7c84134d00fe8a3be191e1c907909fe5d11d9109b172f99907ab7c3d6fb8c8b28fe22882368ef766ad11bbf8919c1db6a5b0bd7b9ec26fcb6618b80705ae4cf9f997f28021d23f81b7dbef836e2d964049c81d5bda0000f4e9085fb20bd48f83bbd3c18a70e36b95f876e50b7e75f34457a7ca93fde26ce35d85263e3177ad16bd389c782a7a21ca96bf7a97ca6ccbec381a14bd4d57a0f3b9b755b820edede360449f122d0ca6e9a9fa5282e4ee088aa177b6c7a0b18761d470a1ebb19ec157d44823c8eb01a8435d09e3bd615f5198c94506d61540fda5d4ceef1d2ea28ebbb081eda340c181cc57218cb3fe1115ec11189a84d12d946f443f5f9daff99eb89a61c643a33f781a9ed6562a820b185d45ed9f3062a13e804986c1d7b3e09bcd3fb53fb25fbb167323800ddfa2b5ee86c0b073ee4110c4a9a79c77fbeb4b7480c4e4757e713e54fb82cac17ef934c22ee117fe04770ca998f7fd631440ab6852f9ba41c1143aa0f3364d476b21ba11aaefd58a160084f6d50c1fc941287f7a1d85efb3da1d4b005f60d95965ec605ef6f0ca5444ae9a7e10e9a4b0ddf7539370e43e16be9d155b0aa245847e07f3dc78f3aad44968f70a64ba10352d4ff2e8a644b16d41f6556d1bcac390ee9d4754fe6cc69ad921e552dda7d3245c61c57f6b2e9bbe66b5c6d9643e5fb9d721249b33595beb54fe8d300cf3ef0349500d8ddb4bded21fca0ca295a4ada0d67a63b7f4a740f6bc34d27b16d4aeb899616f629132db21f24908d87c3b5d86097c70ae4f137034748a3e0f33e398c98194b6ede2840f3a2c8dfc6637141417ec047b59650845fcd7456c82c7082f16d1432d3045dff44a7ebb6cbb73643d361308ac56aa17aebbe067024fe6b519f30e993e6050f786ecc4f3f477bb6d62150034165ebe17f8e99359aca643e0ea1b52cc706b733f93f9303491f81c332307b30f15f7d8cd37ed4d9b2888bb00d9fd8c0d083bbb25fd02f7bdf95abf01811ab0f0501fe8d248e308debbf8b3656f88848626c5b597938c2962d37197a622bd5edd2751d930fc2828d260ae9c9c62f9416a4d1432187fb9e42575b58e1599fd18ff5a25c8fb7fbeede793f801c26f214ef08d080b435fa1514536903f408f3569168be0d51b0c029eacb6d79cc3bf87b4704d07deebf85cb0ac3e5479886518da12f07bce7a29901a270d7e64e665beede3e4c66fbb32053ce65b8b78a131a334bda7de5cceffb841cae6ceaf3da96104ea9182cffb39dc3b69ea2fd14528ee0ccc05427e90f11b1cb6f762d10025106f220940333b1bd5a72430a99a8e8d8ad618a16fcf3659661abc2ca34ff1f1b89afa3f462180ad9c1614c6ec78a2cda9de386fa23264cbea10ed51d952edbe6ced44e96cfa9a85a2d9b2742278a539a5e093c9ecdbcf240c4f878c7371b1bea75020256e47504fe5675fcea169b4b228dc3822d9803d1ed4593557524b25b45e17676c32909fe5962c8eb116a51ae5bfdded8de6c2062fe9f2af825ba5bf91a18f847bc648b925463778409252f369b3bf211d77106b5ee5affecd9f77dfd88fdca90dc3f7460746f8510ef15e670750acdc63acb75e4fefa4bc77e5bcd0dad51f25a06994827386a29165c566048452e5374912a1951ea67d4a0d47ca674d6385da3b0bbabd60a146451276d0595905fc2b1422be8e57cf4ab262283731062c5adc7b9d59d273185378e5aee43cd9048f752c80ceb60fa359ff37b62813ca619c4b03aabf8c23d868c91ac25c11841117e7bc45accf7bd5c6adbca73bc7df5e7b4e376be798606b15af951a08ef7be2ff301d4f051da9b5f45346283bb24202ff8fe0701a44f8cf0b87e342a69441e8711e8dec15cb6381222a8cc9c342ce24ae52a8d1a6a635a140a61272cb6acb3cebfb980500959c0721fbc31b2dfe1c7e6a8084e4d8c8fee400388887dc6489513a4e4c5ed232139a86e909da9f490eea56acb1e4704e4a8ff6b0fca08f4e4362b5b10ef14704fcb5c7415396e8b463d9f8a6a0e5846f52c34efc863fca50cef2d0c5da70108efd3084e4a65509ed07bdb0cbbf4abd0ee5187c69534f3fc39e2209c4dfb9fbd611bab569d6ec0bbab23cb5a202572c312dc71f7f305983d0d8e699fd6fffde35b34367e8da1937aa33f27da9a0b6829a6fd905d5db70cf16c8621cdd9f4c9f29d5767c14e0ff6b434acf243f026fee2a433bc2b6589d93e4bcae71ff61031087a5f46284f31da3f68697567a81934b1e3c8d574e42221bc819252aaa531619ed8d32982184e4863fff9bf1b01f57cc11438085b09a2ffee7fd1dc701fe6e1468f1fd7b55cb2b45e337c507cafa3b24fac1653ad489b88e7857cca52a6ee9dfcbd2eff02ccb2d8f708495d1857624410722b0c3bcd87b536574772f6b8bd4a57332bef68181f159f81e41035bbf828506b3800971e552b6a89eba0447e5b79303d4113d4c95f02daf095cd2c8c6478b44caada9085391b63ab8ed69d70db1a1df484e364dc346ebfa1bb37be4812365aa36cead78664bd85d6495bfd886108e3cd45c9c4b13a223d4e966e71c62434de556bc35da9a23ec02ff2af8d0567890a2d039eecccf843874c6434f6e0f5d61c051be9e225eca8aedd75a0b68fa299c115ccd71687d65d5741d1048b74f0ea2e0e5cf040555f8687cf4da1b615b7394fe0c4e590456b443722fa7c676818bcbec94608646abd06dde1e44b5353d32806878c590b3cc6ae77669f5a54dd7b7fa4f2ffb371340f17c311ce0d3afb68e4b1192dd2c42808adfcd7832b23f31fcba2d9441f52afc255d0293c9ee5c8a4b728fdbf1d22f8dd65a813a8a4c85f51963f5765cf56cceac94f1d0cdeb3a7e735c73edac1bdb42fe9da307071fd40d18574afd97be06043acc38234c729a58b1d18d322766152b067a3d2c8ecb2d2fc5e5cd99ff337794078a6f5129241c1021e91970830612263e4939f6b751b66727a695afb3073149e1361d64050f8bb030303f451c745389bd680bae2b4df6870281bc006fa09b95ffb6036b2b2b8bb6297cbe866699ef7336cfc8fd5f86ac60591487e24ab24550f9181aa42a6f6589c537046a4279623693e79fcc42a11b7775f1a45010df9e71c380d9094a537ce9d65fb91a67c413ae213b13a7a17564c3a3d09e046467586e28128966d02460d258c6cf5d4449fecd8dabee24fb6fd2ed7e5195a99716adab4f3644cb8b07464fb2fb3ce5efaccace69b71b591b275e27f8034615ba613731fae5f87efe347871dd1bbea655abfd2415c3eac596c1982596eb1f378e8d5ba535e402ed2872fa01605e34b9c63e661d7d4c21488899a6d0ce46fb54aadb20cf3946aa490da3467a665bed395f114563b8c45928d08ef60fa709eb0ee12d023b44d92d2e18ca1d3293aa76c30bc4114fc3ceaec56e1a554f250af617b649b9204ac4c05b21e28dfb5e83c5d53afa0d0a2cdbcc5a60a25e4c3edb3e8ab6b078283b830e5580347202a16145185c445e608a3aa2a9f2447bb15a3afe8d12766efd4444135ef8737dbc603b3235c3c5b2dd89f9252195d48e3a733c0e778aee0729aeeab2b1c4c5f054487f017ac1f9a754ebc4d232b50e8f00bcd1c485448e5c84796e231bdc833cfbbbcd656313c5509f7d8f49a93f5177f4d10a4a659d8dda9a79ed44d09e11ce858abd06b3b5dec3ad155941d4351d98346014acd207b5b4d4cb51cc3683c3b340f4f84dbbb16acc0bad5976e815e4f21e040adbd1418a059ad98fd9e9bfd7b5993e9824d6f22f9d656b4ee7843223d36f62b438e1716a0e2e397cc7049198ffb6cc070ff7d93075304bceebe7b0aa4a87620b5824cc4104896549933ea90ca14f577b3e9544bcb7a0ddc233bb5797e1d6f4fef4de80c62cdaca07ef35cf7611d1f23b2b0fd9d05a9f1691893930b0b2151f679206adf6a479ec90dac04681930680b490c16a63c39e917ea1efbff5547b341e8997631575545d37c053f6b120be325fd04e2547915f3db3a9e50bc02604a3751f6f9cd2f87cec25c9d296c9a0c8d59426bafe9fc9738f76dc0710e1e284206f92c3279e2a07a92ecd4ac4b431b97a998b311f68f031ae5a858c70a6f46892c4ad0a91ce2d7de61b37886ae2d5ee1a3f811daf818ce225453637196c8ff3f5d2d7340812d8c64af7ba5c1d5e1c516648fb8dea110e7e077706bf5be0bc788bbaa5d9a05ddacd38c1a41487c4fc6484164909db446b8dd836248a68d4727f8a22079f2de178843841575e072ea52fc56c3700912f85ff27e5e0b0653dfe8b594f7c47138c9ff6188a2a32206f8fcebaa18e4e79d4519d520c5c49ed2926a41cca55af7bd334949caf12134050841f2239ed53f14641b4ea1827ec72ff79f429a16b62ec559c82b4a745bf384d6e2b05f04a5d00fb3dfc2f6f70ff70b19bbf36eb28099651ae8ec0cac923b91fda806f3914e6ff4186201b3edc60ebc43c3b04fe5d895d5305119c72ed37ab9e95ac5e30da09abe6dc959563f2be556ef3c908c6a1a380a448b92833d40eb2a67e7332d7d36b5bd6f71a80eda11926f1e1975a8e2f833d17d55729b588832d3a1f881bdadacbcb612e0f53cb1bf028894f7b90e4badce8eb281182877c72b37d327bf552e8ed4fec98ab67c6e9569f5b436bdf3f8a708355404a0259caa5f34e5ff64f8661a03b5514976d01030fb6a4e3c14f3b6bdb57b51044a5bf076ecd05619ee29346e19a4bd2f9c1eb71884d0b6c8b65dad179bf949a5dbc4fdd042a1761f1ba3676818972884a3bedadc0a1cbb7056355917789b766b5e34efcca236419f39ac70e46ad24c34337c6be970d690c3bc869300bcf5df9db987904c3f9c0b37346b12c547a32e1591f13f8150a9c4e87abc36db13e96ec3dd570fc1a3d84a119d13e75c4167ccb4b9b68a743a6d510a601d3bf4ca0c59a44b6d040fcdf18d864731abbed527b6f9b28e037fd71697f78a8cdd75d5170455518f05cc135d8629c4b2403ef0eb4b1ae9f9d0983c116fa1c6a76197d54904aaad050a171ca871632fff1cab8add4d1a830ef24116a313bfbf03cdacea4a562326af0251ce14f08a3479b7f1d21f658e8c7a659cb2d85b9acb5ed9197cf1838ac9ac70ccfbeab4fce4d84d4011edf29117c8bd8185ed606590ff95717b41c6cfa0218abd2a0746f714e12e4991c24f30a321efcb90e0d4f9fc5d67f610fc09a4b8896b13f2545c9c6df6ac76a354acc1c2fcfe1b3873a9a67a4a3dddadb60e5d11ffcdeab3f4d143804ba310866cc1a9b4b476e0054e7cf965d326ae81cb82d92c72d46df100c178ecfc0b31283f9d291005c19e977f0541498cbaacd98c255db0bf57cbc5a3aafabc2f1db0e6656bf697a6b33691a90f03a66a8e6f750a77298ad63e38de198e511bde73fe84ff87bc4ec63b0656169b5d4cdfa2b18cc9116df25e93be706e97ca9c654667b6d259665c924857eeb11352ea9d14ee64514bd9d310b8e244d24e79ef3700109104bbd021d7f3733cea7292284e20cb2c16e9ca00a5472d45d2165e11b6b647445d3fa571d07038b5b81717441169653b2d6533d617340e51a7feba243c7e2a8befb8765918fec92ff48ad468aa511d88a58a8cdf7f2330c1003c9670024c60e0741facc0f5879508c4668333227396f62434c27f4f7d5ac640d6129aef8cfbbe574867d2e1d72a1572ef5da5f1747f6a6d0208bafa899a5d2f3d2452e097da7efc03bb57f1b567287dc6d84be6edbfc84b1fa27aa3d6c60dbcae7a08bed9d0d2b94c91eca6a53ca9fd988f459d1490b139f9901285d28f985ffc71e73633862cce816d849b0ce4dd58cbee0c8d61159ca0932e41d30382197359b995a29e3f7851b60d42ea55289d7c4664d0d012a31a70ab9dcd7c1107fe3818d328ea67322ea5f3870713a72707e3a546a6ee4283179f9cef64f16f99752f3bc4308bc4ae427c8cf40239d205ae1cf2382112258a5a6819c2ae3ac92619d043c5a1689299f11eb96640260b02b33ab0df3b548959787098c174a4c435b417e7414a1d84be69c7f40908f082f793e28ecbefaeaf4dd967578827503ba3232c3e05aae8d316367b4da96e97c1a8ae111ad2f0316ed1399b2ae6437e61399a93082f01389a9828a1465c5d0d95449c817b5aa05260de4a0335bac01676a1689f799a716a0defa75513e0f75c249d4365588aef3a53eb413e469978372e0f55e10c619a229c01a03a1b9f88942c41315f54aaac861882cd3e70d326bb9d9841e23cce8ea6f1b1214e4bf69cd00e3092418a39585193712562272944c50c934ef4230ac1e62bcff54e47898640cbb956f066df1924f18fb48b018ff3472afd84e3fb2cd9f9734d9e111551dfecaa97e8edcb157a48aeb4af944c21d30728063c9377d5b22d08df6c15422970adeca101c97fe6428bdb40c95908aad3c71565c1438f3c5c2526d65906749f48ab52aa30d5d56e5d7bfbc8db5746aadd95e7c4bcd762b4dde7640b828369316b14984d5271a40cc7e4455c0caaea7be161787fe3364594e229e79bae71750c0f2a1d83290dd037699145ed6f2f0e74b3120f570a84ab5309f9b128abb1dec3555a8f47827a75b5b8b9176abce4d501ec2500a6510854a339fc1f950bc8fb66edbeeae1b6c31ec7fa81407942f285c5878c6f55b56c30291b3abeca3b758ea6880f702db35287c14b8c56edd10723c863e1e682fccdaf481e88840642b41b1a4c9d48c0ac49f24d710a0a9023ef6007e7ac3ba50c2a057c4d1c9a5fa62794c9b472341e936ed6815cb2d9e66cbbb73c98044b511691447a1183a436a7fae9d24cd193aec4f4a764c55c5d18c325afdbdb67045d32176dc2690bfc30f23d4cfdcb8e00f1b79f112f764fdf0601ab68325c88fac4e7dbbd750c0aa0112a37220eb3c6bc4cf60cdaf5bed7f8e6bb61d67e9f0f0281b9f00964eb5780f54bf4b1da5e2a60dff5a697c4d20fdc740f920fcec49a7047559287be9ff6e3b0d7f4a1b599d7596bc08fb55c2bd764dff5c1e884d9e017d884c10ca3dd419f7050097a3a87ecf1e5760dfc3bce740efac8056b20f7f8857a4bca8f34852a579730a34ad271d5e143df68434f1e045e852bfdd86aad4cf45bb47e322930c25fe98077751884811fd099768a7dc63488689c13cbf3b530b5450015ae2d6a3b2dbf48938ddf349a33989082623e1fb5336f0b206457062bb802e4320ce9f4119235ee14c12b2feb83ed1c5542c4cb21e67b6f5368d9a8a2b7b65a5c638e83011bff91878bda33ade86a7df5bcab196c91f114813897e9d40b3f3cbb383244491a903d0eb002d5db02aa39d99837177ffa495be1953b94c7cbb204b82d08b62879b97fa551978e65ad5d95ffc22da0fa46ae923ac5b2905113bc4fc4df4fd45375c98f6c20898ab35b5adb8e816e148fdaff46afef828652219c78d9c32f0bf43288ee7b0426019bf1223537a5ee8df561f62acc5e2330194a7ef6739cec31c316ab8afb3499af2b56dc684f7329b9f2bccd5e3f2bbd85569e0cdf832d728ef731c8e25616962fd964693e267e46664cac8641a6b936fe3ed8cca854767ca154ec8e9cbdcbfcc5f551f9732b7d518d43e4e16d0ea87850ba6573d52fb2997c74e2516e26ff175d427ac4661dee757992ede85f2ad8475b73ff9da2b24e138dc9dd09b1396167e5ed59bf6059d7f85af616da566d46f71e4a1d66467fbb88a961f0ff13ffdbc8aa12653412bda5d94a0d4b4ba41c8f4af1eaa2219c37d5c40bc5543dc156bdb496331ff95e0c020bd45d3d91938f7d5ce64de891a4b0752802f7f48a2b95dd3198fa906da67a57d6cb04f9387060089951e44f741d27ad6dc0b4bd63d623e90f5a9bae270e2b964258602de64e0543366b222acdefe4c0d86dbf2cc9b07c7ccb5d0885a561463973c16dc4621284850d74179092b62ac8878162c52d82b4d9a67e18e75f39b547b5f855831676d5bac4cf8233c3b791a8bc755197b1af7603b3610f0a1b37ed9b3fcd608f61ff43652815617668ed2673320821f2d66570257f0eb889a5d9d0a3318aa6ed42353b5221025898c9c87697db12def95e6063fb9fe9a081c77b5e82578d8c302ee4cd29a9b7ac2645952c840d25f6539cb3be888685d85ff1036602976f9ddc1e8431ae47db63df1f00e1f2d1cbee732e86d0f5c5c07b4010888ee608a8fbcf4f4126bb39915cd86a1aea5565e925434298a157f3567fc3ce484138a8f9f5f8734adc5b45ebd965d5bda24e0bf089bee399c64d90dfc8fecad700fbc8dfe7b3333b2edcd6af906e8a9dfb44093f11a159b4d000da78328485418fa0d128b9a1b66039fa292c608229c59cfc5523b506110d6db678bb7e05492856761432fee34dd82a41ec13913495ec5bf38de3f89c1eaefeb14dec28b4ce70c939762fff2a65d7b599695a60e7ce3fd10b46ee1cb6eac914faa98909dcfe02d2f3eadf67d57dda4eeaf41b814823223a4a24c5f822e76fd153404bd420e04d3111b07f9b1d5ddb9c4895b4421dc7ae036e8839bbeda1d6bef1061a70f21c92d25283f9756b6d826712f724a76eef8ec17cce31d9d5a31081ab4c9c5a425da94f56d5b7aac59cca1f642bec26c81992c07e5ffa26b1b14c2bdae5951e7695b3c451971253816efb9cbe6bb5d729ba06d9e4c2172bea45c7c0af6165a0a6eb78cfff6e676a477aad48c7d311ae0f31ead62db3967bfcf54d667328f84148cf62ac51217c9ea4e11302ce6b0f3deb8e31e7c7ed11c09026ae8a2f8dc4e02a12e33898fb89a05855e7774979422997c27d800f07fbd185b06912c60159a1bbfbafc3dae2a325dae05f0ea49da0ca2721244519f8baf72dfaa808d34b8df31bac3f15ca0020a02d1beddb631a6a7544e90caa5278aa431d6f24894c875bae9358a59234b5cb368ce549e35450ec124562a145bc7c6ee44476bb1d269cf49c170c9c8e51df229098d3da92067935a7cf264087e67e7ef6a1576efb56bbc0f56e850787f53b0f25a838fec28b7b60f933f1e7cd7c6e210d66f16f440eb9ab336adf89637a2b764ad0cbd38bec3a2cb6f57a5fa0fbfbb9188f21a44d153d1a2da3ca963c05dea2c2912fc01923393174c58d3aab91fbe2c4b98bf887e67f8e42b6eb1176d7c4e137b28ddb96bcd1e7377aaa3f90f1cc8b0f349013406a3758d43d4649a0e40a59a9a48f10124f7e562dccd7bb99e46f485ef6fd004fae21acf60ee1c51208ce0b9f1de229f3e702ec6db95c72c3f7a0c7f092cde9fad5dbac06751637fc5f5165436135004046f7f132d2e61b625aead74818a0a3138e8157f2c2caea94f967b54f6cb659429a65d21172689e0623394a5a9fe342513e396e390e32ed5e623d487f0c18e1b6c768bcf0350dbc32ff09d4efd5d98632be4d2efdcbe3e63f8ce663cfe0d93cc0d795a570ca7e6e1fbd323e3597a1e59acbb08e98741dc351548d3098e78b813e0ea6d4b50d36de566d5d3624e73d6f76ef39bb7592054b935716810fbf03e90ea7c12cbbc5b466301f31383aa7e26f33bc4747e26ee2680f66ed736c017b489dd9828c54cc993e56089d6f754fedf134f6e6e250c6379fdf5565d0c419ad6d30ba7d28caa2c1b199435e7dc03b96b28bfc2dbbe8f8a943b8199c524dbf9e48a01eb31e7722bf7616443cdeff678230ae68fca1e35684f00a38cbd5970365b49b4b387d28f0137b05210d727995667b9a5d4fc7ecba17fa2f1e0a88c7269df6232de5431798e22e88b037a4e404eb5cf4f79681bc20f2e1312719e0a143c24793efaaad8b0953e3766f69cd78f231d750078feee7ee7417611457402ce06378492247375cd7b7f8ed0a287357a09bd6c02e6063b7d896227f1056f149470ddf669ae0c96e3ea0ffd3d398dc9f02cb3a32823c461ab32fbc7bc7694cde1cbb67fcd0ce7a94369a02828a85850342cb95c73a5eea91727fc738a7d099a2aa46fde8fe31c6f1b45f26a2d79835574be8fb72cffdb054e97a38be934d97fdf392c81026609d864907623d0932d97ac585220ec1fd7c93aed46f1ecf26a7148c3d2feb8abcfeeab8879735b4f59f64785a8da3999d92367e865248394ae1252eabbef5c23d55c3e59e9e9779b5f47476122a47f5e8cdb9f0d6d1e1ecce3ecb655c09988db850e1e830f68c2292d07b5a59cb057ca805e108264b1280a9567c80ba53e6f54c90af958f08601d7aeeb0ceaf1493e66b114051a4202ba51957da91f14ed3648467a961138e8f029fcb206ea75feaf271e1470cbb86377a598f22aa46fc8625d31c2578199ca86e81670e066053bba3f28d5934ee0ab2ce890b956c4c4a635d73a36f1fe0590d3c714b123a5f8adee18e47d7b86eef964af73b2ceb178eb4658e821a7579819f5996f15d35fd224a3ddb2bb523df174096a347142b871e52d146a3c9052dc88b5b6fbd8ae2ba2c2d344060f2becfa67062a9b03ae4cf61d35f37ab9bc02312732025a7902c7613fcda2a51e38da15c2b91d90928c490652ab4b1f5714ea7e0d9d08414d06a7f3de17d87907e3aa60970727d644a00aa72aa1483919088bd6f4855701caf72d566507244ece7154f3ff4b8af5dd571bf3cae85d678ed23c34702f69c2da48370f392c195d3c0dbcd53f3a7fa5b5fa524aced274e9e69b79a3df54c85c82813c7dd9c6d1644f6a72d33ad62567b4dbd54355765eae6c5bd3581de9459f47937fedf3080df6704bfabaf54de6b5c246c8d46f97be9b44d516578c394952720d8ac6b3bf48c9958aaf343b2c8c148cdfc68a0d9ec1cc4f0ac724077f810c6aa74dfaf199dec0a085f3f8f78b0abdddd647c3a642201c34dde74d9f22378aea75674404e76ed70573bcbf3f272f5948179a4ee6c2c007366575c7a6da1c3838ecfe1d1d1ed51f680cbb47ee0bb9a2ad616e026b27f497f1a1154d871be37235f8a9fe285500f9bb2eb6e96f30fbe42c7c806326aac10aeee9d224e47241f5bc42af8a6036e0968fc075688f0185e206de589fa19c73737d6e138e7e8dc97db177704dca1121e4c57c1ede729f17501728036d8ae7652e7963b9f058fc9587e9b682742656ebcba601ae1288ac8400d6db82a9d51622a91920fd5a669f3c1eabba3ad69ab915ba98cd0ff250a6d04b2b5cf020ed0e212853db8221d56d07172dbaaaea08637beb9a7c150a9ce5698c1567bc6d43133c31b21433db3749e99ed0eb33cad771f72960266e6e97e4f54d2d676e4406833bc40f11bc1354c19478226e06d3c72351632c28ae9fc0ced1c11e7de5de62c957c92cf5cd19ef43a65c3232954dfdc97843d1dfdbc7ae9ba4f064e2c9f67df77dee9bad41a406da62640e44695c496194b9eee04f2613ef7d8ac5804cf937d7d0b84b6835b9d5c6cf77ee695a68ad60cbb8f1f429cbece6153eb75e2ff444ab9988e671295f84ee52540247be1782ae26eb140fbef2c2fb178aa95f61a3aadf85141bce3d9fbc9b0aeeb5f4adcd8865fedce486c216845feabc04dc979daf98858842d41bffcf831c72ebcd51765089bc424252cceb88ecdc19a9e352c44af0ca549008cb005219d03cb2db028e37cb8eaa9755c9b01b4ef5dc7062af577f088325a8170c5a383c26f7995c7aa4dc2a55979557ef8011d0ef02b93b3e3a5d03f38160cb7bb1ddd9bf6d2014a4b3a3ba1ca631a0f78b4607f094ddc9b7cd01820f011b37d4c0b66cb31b2cf4fe821e20b01b662c311cdde466dbeced8ad1460ebfecf85204c9ec405ee13ec5edaa058eee7d8aa5fa1bd7a60157857cd03fa13cc5ebbf2ca48572026e90608a38de38411c0d0dc596f7c111664078e58a97829ca315a4ac042dd36b01172d5a5f6c243caf341b5199b794c48a4e461c617da88f4a655e6ac6385df5f8e9899518b92ce5263d6458f57906d653072e54d62a05d44a8530b48fd640dd69e6d58a493f1a12e370fc7fe54af6694ed0f7cd56241862285f69d7e82183a867a111e7c48883935c18a91b2741252f550cd9860ebac98dd8901548f67be1679f20de7b31772855a7035adf23e4cd9eafd0b89d69ecbf56e0104957b85ffa28b0147cda6e9008083de851391d016114c1d0d211b6010190d29fd9ff9f2b53b44c1b8e7c5524496ca7c11c4383cc865100382bc208e219d82c6770d76ac2bd463cf1158e7987c52743318a8d143810428549c85969c4cdc0f042f9b7c8ab156a60df89cfedf71cee0e7b573ba19b7f4565a2ad4eadeb117a3d14120f348af081932fc59c972e1afff9eb997d2fc106584e37bfb5da596239185817c25d41d338dc9f67acfa948986d86d3a3d4e4c1b84acf455b174f77d071cea2eaebaf897b687aa811d5f22469e4cbf1a73427cb3bdd846792cd0aca587ff0f3e3b99763bd0c35d0ab48187200db227bf346acfeedcde8743080e65861bdd31cf71afc13b9148f40645314f2c722649450ccc7a5e0da864ba9781d47d203409b4ef55ca06026c6c26617b50da7781c3776f2a1c0d3445d24e034f8534017028d1015473631cad38488fc36970c0e7b701ed6311bd0cd1972e4cf2c9cc193ac6280b4aeee2fe7c68ba80f5381f0a1207a9e81c62cc200d8d5c88e9abb3c072eaa9b491abb9c5bd14b3829bf81313a139fea81d8b902606e3b229cb66cf6136e80acc1907e9a019169a4993b8103ca5fd4a735580335f2ea1e7f9818bc4aa8e7e51754750e49f1a6cf277d50c0ba9b2dcd0548d50e5775e84754089b24a8d0c9c90e9d63b9f27834a36d8fc583f36faa5c420bce20c3486fa41a706826680afb45b25b067793b63f5b144c98ae938b192fe8c40dbcf21090490e57244f1f8dee08a8f377b998bc9c97737fabd4286d2f1a6f8fa8c87dd17b84807e0793935b0b631ed5615bc1aa5bc8aa86a10fc41099831704b11839b54fe99f01b2eb638db93db5f3d3c9022beefe8153497167a8ee769f0c793e03612fe61d3e171a76b80040541552108055fd7365b77672681cdd79b2af577ba65a02d7fb2fe65a8a8db581422c0b154ebe8b78e408b265ae469536a079f70fa32f0972a2fd0ed4062268fe56953b542c829657b7d937d44308fa2ae8cce1156d76e20fb47cb04764cc6aaa830e6cc4c116a0a4b577692d91566b91c9a4719d97bb9f5caf8b41037674af1ea0fc00b34d4adddcedff7bbdfc341e5ff8d88843dc769cd479ad39ce2db5706403c6b266bbbd3b1b4935fd1ebb3f6117259cd38f1fcaa2469cd6f3e478ea4ebb7385009e48872c295e2ade3d565ce20a3aaf78e4583f481ce73c6e7bb70826e6226ba31e3efafb3a3766841cd2304b1a3d5ecc54e195486ca9f6d8ea12ec0ccb40b72097e2af7afc1d9c247ac54fff5d03d3a2772148e3c6b90c2ca8af7e9428985a8f7643b8f91610bb4807ef8512c307ebe754f8ad65ae00632726a83950e66d51b9d025bdc471cd36716f208484ef4488cf5c2844a7ef9f23ee66c0d2a4c668c470207c1abeefde30e20828bad11f9d86f60f00d5f02399e3e6a428bcc32a23bf98bd0c718868453bd65e6cb9b34cf2c13166db324c35ee789ddcee278958cdcdfc47c9c9b640ca3646de7c725023d559cff8f244b7dc706394e380cf4757df0f5f324a7778d11bef2e3a653bc18ac4db0a153aaaf6b5f51991def1c1034cb0e02aa2e5bdc4763e7a22a444346ae18ea006187284b4607753bd13c3fe937aed8d5262a92e6038c30f51cc665338c790debfd8594dfacb173a297f1c669ee2f52a9d61872e6a7d56eb80bc9534a6558b74783700f1e667b2d4d40c21a551b745c9f9e87d81c17b652190b10190db65df4fce7b189c115c1ba46a6fa03f4b89061224464cdf683c850a48afbfb77a9b8dc825ec2210f7a8592ea13ed215ed249859428ec20c315c8464fee9d7c9bf2baa9bb826355b5246b9a1fdcde12346bf98a4328b038ff85eb25631f597c5bf02261b6c40833d54795c6ce2ad6569990b081cd1bb6692438bf174bd3d91bc02aae4fc2aab88fcf34c94f17770d45cf4c3abe5ba96b9a43b6b3587c1b88ef2e33086262a3f8cf1694a13bbec6a3a53120781492bc8338e7e32ad85f788e19f8df13a67e3f9ab2fc16c34df66048372651312acf6bf78dd0f3d42b2c5aff24beca2192a4baf48a39b235c74a46860f1263db95f462f1cacf3f9176c4e5eb3463811611ad6a832f5360cb13af7cdd490a0d3eaf71bd83a5e4f745499443e97eec5e2afbbc26ba358d975dbcbec3860ac0482c472a73f86bb6e65dba166fce794b87487d159087c5d2338eb4ba2ee52289ebacfe010b91866f79c63866c0d9ceff14c710e9c9f869f4b1f90dc2cbae7ac8687cd1f5e8aad711c514282824fa2370127686e58f09812504dfc734e680b2d0cf3a5fbda8a40782488c6fe7e041b16849d12af785491d4e887c907d21bf5b50f7236104f0683cb022de17c02ea69bfcdc86b027e017d19348b0fc62604056820cd950478762c6028de91345b9813bb2bd5c50a20523401e383c0b4c9cc8f4c3edcf02e9f7eef44bdfec36815ad4cc21b489329e775968c23fc73cda8290df7cdb91d6bbf18487e4b27f2451944d09ce870e881f48e1ce148cc810c9ff8828ac0000827ec905ed24d438c34182c07d4ac91eae4b4945e65631fc10e03679f7f1595772759a2f8084ff199ae44d8ce6d18daa2abd972ef2943dd5d15f2857f6ac876a6bd99f287af926b81f1c2b477790f2adca4b5c319a668cd57f9e41e7a8a7706d805351e6a6f3f94bbb6183808d954cf1a46e4c99b69784c73cc96925230f475274f9e9cb00ce7a83b7abfc0ac2604f46c342555dd91806df2cc5ecae88e1427318e001ae7c38accefa785c6d4a8bb0d520c3099020b4d447eb36e7cfb70578cb826791362258099dac0ef05149989c8d2a7fe839050dff3b0ba3401ba052f2cc2ae516fcc936d043373148d4d3569d949b4a43cc4513e1f3ecdd5459f0ae912138b0345e18f3cc3536a8eae02b5369139a8b320053122db3b887b0fd1bc950a9a6a40219c5ef5ac8cf436abacf3e4371d7027483457e6eb93007a258cfadae43f5bd383a11d5555144d85addc9ae9f375c559b07e9b1c0d594642d3dd481f50336d851c4d73680466643d30f3c9c80c354f93a27bbdee9517f20c67fb39de39b6ddc16cbf0e3237ceeec4575bdf98edbde46d361fde27fb98b2326dbc149e36ef4830ab2634ed8ea99ea1ab2485921faf3b3118642342ca3d21685cd334a46ffb12abed417209e8f9aacfe1a7b93a4e4c211e4a05c51d997e9c4d6171fc9d1f424731bc2d32e4790bd4d1b35bedfb7d582186792bc6327942bac50c1359bb451c73830b53485534dc0438b486a0bcb400456d69c1f57379b229984432c8bbb2f3d15865c6550a2ff7f3db58b2200f9a226f42ed92e38f7b953a2a56f74e3927655bc5a13cc675aadec1801db07630edbc88dc187df7bb316ec19115d07084633e7c924f31d53e249d338b4cf5667b3b1db5fc7089fa52e647169b2f894ff97b69aa029bf1a740440402c6fe7cc9d54a9b2d576bfd1f2f2642e045274d24bde5715cac0b58dbe32a33f1e8a0a50dbed771a11de9a17bdefc597daeb7d5a7bf41d74690dfd9f1c18cf77db797fbb7e57de4cb47ac74aec8b80d22c1e58b72d04026af2c5cee736a343f712dd16d0aef904e2769433d0942271b5fa3623efee8cbc414af19f75302aa7b776f6284c5471ee25750da54cab99c5d5051cd7c2a8aeda7f9837bf7aac327f022e8b56e1aecfa7f004e9ba83a4caec14a5ab8317b5bbe1ce53cb533d70bb0eac16f3c28ee33ae0991beb343eeade42c2da754cb966e6b00019088460e8bc3696d8de0dac76eb7c2aafc58fa5422b0742e9b7cb03b98c7497c1e88ca14370384cd35b497928c127bdc3a3240fccdca55b71c3c1a5183f67a8cb8f16e6764cb0e2a4501531a2136d0ef175cbf3c783d61029e07da4be93ccb401eaadc7f2a29ee1ac323462dc404e16e303726764cbff4fcd31fee9e1220aab8f252dbc6332e0f63ee66941ffa11590a541f8aea4c825cc4033a8f653a1623197683cdaeaa156f4924178f4d46b5de2326e5c888544f692cb331be55bdada45075cd453c242ba8cdef1092d6e8a7bdb3cfd3e7e538a6e73dab0117f75ae56010eca7fc49fd3aa55a99be63593d617107fb5eb77d453ea75be439035e0e5493fd3cfdb8f3e7174a6cc27a8db97f19884300869d18c4390a70c9d06ff7bab90ab5405bae895e77106050653e525b07337eecdc9cd061382e39fdb34fb9ff836a34af5f1c0d8d3dabee3ad959cf82c0bec42ef5a63a9c2f6bc3cfb34d0b76bef518b25b9aaa83de33208dca99e60a37162e07f2398cdca519089a1a52ce4fbaa2380313b33f1aec6a74c877a7c1858d799362a72501e1b9b5188dc408e1f563b29beaf27bb3608b4f259b9fb4e4e772263b7b98dab821da0ec6d0900cf3342f0a4d390d5af34a98740e21ad87dcabcf26fda70133b830e654e2e1d5e56e54d5b42d6468ad236e8b5dd2e87095fb746f020d3deb425d854f29747472a110118a3e018145a72d244ade7496f152ef1829da7318f41d5f6ca13bc0472a1b247192b47e3ee786ef5116dbee27b174715ca570ab09f49513fe80e9847d78869f9982747ec34aa7a64d5ea14a45a2eaa888e53cb93e257da84c73ae26f3963819e859e96610c01142d28bf42c77192b2a924a50b246eef8cf5a781ef7733c62fc345150e10b1c527193f68c28cdf6287db2c72baced6a863b3faef2f901b0cca55c5cc168843dd02bac1e45fb07a4c71bd6bcf103a11256e68896cd53488343819b9c4cc863c0dba5aa0381d106b330aac2a08d8c17cadab2e359508719505f0e21baef98c226f03a78c31d8a29d98b34889c8c134e0cebf47d5a2ee7854a2ed480a83b8358132831e583ce79081548dc0f76fc2db290e3cecefe2bea16823c8747cd79471415d58fdf37f8922af9dcea986eb3a8cbb081b670f2b8004e1cb5880fd6fe5534b0e0b20eaf373d7866bded7f194848bcd63cf9a133de64cbe27cba1710db45153168c080c1e582aebc80a09183e8f622d15337163d7c6e244ec0ee597a94ba3d88432f774a35274717f481cf94bbedd982b823792fa2c86cb634da1138083dc942df23c51990cc922f9f644a639b7b5afb22c2513c420a48a19eb22660c02db61dcedd0a008c293af72da1a6ccea17ebc986a43d5b31657b17f3bcae2d7a1409e1b153005e33eb9f4f7483fe0da67989c6b722300f093c4ee033b2ecc904e74082f5f2a9634dd61878d9cd6f5c297467ba277c4adef0430c53c29118f9ff89ea484ded2c579d2c67b877fb83b02bf769385b30b701aefae9ebc35991bbcd6cc613c47ff851215fb10469285f3e1e3ffe1574fc6fb2743e14e1b8a17f6e82bc3f9d9ebf46dd61ea43a1c1d29e82cfdcb2817732fbdbca17ede88fada0f7343f9d14efda8265af5f997acf4bdb76adc6f996dc0daa23742c026a3b7f696be0cb323a9b9485e1d66dadd1bf8fcac94ca293d79735860fdb06cc64961122e0b0741124382ad71326eee7d0c383efef49cd76f4cf32d906c6fd5d8b7c129c603b3c6fae062f4e5bb6ccf83ed59898fd374ddca462e7652e94d267cea95cc269af2f3fa27ff114b99f11f188802b6a579a50584c94d1193eb3ea4c3f2dbd1ad9fab39f9fc652486d6fe8f044aca04fe6b2086344f9d3254f70fc4f25c4b1e13282419d1c0f5899157c22473719a5faa3f7bfa52bf84ba49aacd7e9fbf2aba8bf8248467dfb84ea858110313ae7a413bcd651e205dc2cf442cffbe47e9d2d8749627176b6c6f3c1731bfaef6830ac414490bc6f1fd644a8189c2ae534216d55ba4e5dc5c6b1717ded536cb974d3f6c8ec75ddcaf8433e1c97f36751e5a10d1fe1483e38660c2f6535991f99543bbe728e336162ed84d94129a7b4d4ac269e17ed8fee391c447e449e97e505146747ec4e067243ce190a54f3d11ea40c3d88360aaffbec09f737669a5a9dd9dae9ce463827133a0edf9d0be5b687da726f0546585206fd0c791a51f0cb53972b5357980843e1eac6e64087a92c481c3d2b60bbd280f83241dbdfca5d7820236849164afcd977da8630e060f727645b24e72a8b619d344c6218f1a248bae29e87e00ce2ebb69fd99a42a2dc62fbd7c8e073a69d5e54ce51dce832c39f983a15d5fd0c85aeb10f695da95e83ead452e760886f9dfc5546afc194c68ea7f9090df87b90f8e055b12caac2f3ecfa41e509a77ca01238f2024f4897d12b846c29d58ba36a5da0a85c57618782533aac4a1bbf8da6c5e60f83bce39aea8314266ac0d3ccb460f87a80a0fd522e89df32ce8d4275094c80f9af24b1ad63c30d36af34914c65f984770c3b77f6f525a5ac2a38ba9c95bd6c85b4cf16e09b3cd1356d9196ce3bebcac3a4a7f03b5e05d6b133eb513c9f6cb2851ef2d8c2444567c193a2e0cb7bb7ae89b6163b163c718a96a2dda4f5e8338d07be71a98460906c2df038ac72612d21e009115659aaf61f600fa6bb9bc2e748dc2b6491534720979188f1286afc2798f9411991869f17a9a9fb59d84a2e8a975feaef181aa4c8079c23d5998256e4af3282bb2253990dcf7bca23219fdcb9ef9bf36f9cecdcc90261e06ee47eb567fbb2fb086181e64867003b422a8d40feeaed3ae243ac32904a5b5af49522de8cc09c48d40d7c174d3990957f9de921ef9fe9e6844d67e13a4f64ee44f36cb3410a48726d27d4b0ef671fff8f9c144799dd69bc4b5eb5c75b0ea5633b535422577a159826195f8ef8e199008b3e0c1a1a80b7be495bb00f25e467c356061878b64eb8141fbee35dca2afa82704b2ddc272623a50880f74cdf40368648ac987618069215891e0a6f41822c47913897865c608609909858998315b443eba149629385f9840e4c9645e797ab1b08fb29c74c99ed3121efe3ac4367e749833a46da601fbe542eb2363732e20260c36df6d99e988c8793368ab44c27f0c26a0b539d22f0c9c834497588af1644e4b13c077e69f215d9b05006295adc5f43f867e81bda8ad278f4e438736dca9767b42345f2d68cabcfb35a1673d175e2e832718d60676155cef31d06a138cbc0cd630c95a454ef61b065b0e9509a9f13bf935a23b0379442be7200a26b68ffcc5d845a13b12e15ede48f78022d639a5f67dcedbc6c2ef7710c90599b1353c6eaee4e246e78799c2f6832d48384c88f4929710639ff4c675126646bb6de59429d12f0af04bd9fb6278a33b18d4d36646946cc27032f2e94726afa2b5b9aab184a3aa0e729eb8e6cf281497fdd1af882d9d461359dcc02cd36024fb294cc8d6f12afec7c1f93e39f971630d9ffae243132292c065b9b4a94496e96ee10dcdfbb017d2725afb38bf9861ad86fc93c8e377e00dee0f54ad5f9bb6fdb6784c19fa8cd739637caadc287bb6653da3fa1f6b37ec83e9db9d6c0aa6a685dfb0a738430c9ba47d7b5e81785b014d80515fbf17d7febfc432329a2bc6541fb257acc5987bf6bcd98dedca230a18e239ae5b3b57de332458490d32ce3f90a0fec88facc7b5983cb2d7f21de8065ef5a8c43c5e569a80796d16a3df36c18513a23a60730f0ffd13a127e45be91155a4d8a91d2d346b9c244c4cf98ca70a62f38283330f3c0bbf9c502100e23157ecb3101c3f7d8035fd4a75200f76fabfeb3506dcef23dfa0fd94a50b6ef72e276f84e1d84298d927c919abac50714962a3e7c1227368739d53ffb2373f012ec04ab578fa98eb638e8802239529ff911ca9b6e5acf6e2fa7003bd7bbaff94c26708726f90771ef09719d8bf8b03613c57b16c4883cc53a565fdacec711fe2bb82a4e5fc7b36f4e187914c884ff698d9861c506e23c48509f256a6836fd2350b61908947b68eb0f75c5f78eb41564d042e20be837a56ad3abe5d4e7023ba0c4e17caa62ec917b0dfe2c22602ee1c198bb65c2003e80f5f50c417f2e7c901586433c4197c9aa658a875c57ae9f4d7803e350cbed1f0190768a36d712941ee2cfdeebaa9e833fac5caed82a11df8c504470e61ff296daef621e13dc99c71c5c938f5ee6dfa2fe97af2a51af2c157d93e688c6169003ac1ff4025dabca3e308c2dd13bf5c113e8dfc7c291abf54ec9d6951c52f4319b1ac9cc7e455a5c5422957bc8aaf0aed64a710d769599b9a25151661d90538839eb719d3c136eaa90a7eb5b2563176d575949f228d78bd168ae8a85ed58555c28d9fa954471313467401de52dd4911ab165ce336636524cb042c39cddb1709ebf7b2adbcce7fbd8218e492552315c0f3a5b8b99979a8b999ea72b51c17caafb1e4ec5b18f9a669072ccb89862b0d67052a139b259016fee1a482dc4870141f654d82bc2df98ed95c1f3a44c2153109c15072784a4b814d528c4cac9c3c339e7ffeb91277774daf31ae78ad3017105a733eb5a4506704edf91cad17581db3f55b75a1b3be854583aaed0cc9228e283543e18e787a8d08f66920d72f96bb6a7631308447b43fe8811017846631b7ec9ec1ad679ccf8988ca80f2dd59c7516bf707246decdfb44f4aeadce30fdaea53d67f07b7ec9efd8e9a62fb675522f7ab310729ab603454e4f472ee9541e135b4805a820b3f20b1a7aed7918b2ce3ec9cbb279a31c19c9dbd4c30520bcd1867b03bee7375d5e208be0f4f7fcd6221f40445ef1bf2e2c4fff075370bb9b9cff4f3d979cc29a12af02ba8989549bff8493d6daa46ff8de7cbc4bd742fc9cf5d19f3dc7fd55d37be53bffdfc56c7cf393d95861ab6970f0d1a8ef4b5e22a1473517fc39b4ce893344f19e045c1606345ff4ce9daf46e324d6f1b06c449e5739c74dc93b3183064fe7d6949bcde811690e40271e3d4c8d29e3a0d2e841cfd6b23378e972038e61d593e980106302017a5882e57ce136591dbbee8a651c9a4d439e4411815cb535a8f0177dd79960dd23a5bdf46a3fc4a53a0a48e15bcbd3e982621d33f668efebd3c65fffb64eda9bfd934a7b07baf72787201012bbfbc9642ad976cae0293d0b45d58898934955d5578c81ba0f98f405eb72df4f2f55ee90c4640715ea3f3da855747c6b2699c8d6dd611fd1d17fd44d83f486930f578d62f4cd1a104cf4158a3d870dc4f8def5f1a4404a608ec49cf080c28650bf24bd544bdd8d92a6ebb2fde6a612544e953de87f5b43c46b4509461b8bf91d283cd018d22bc712cfd906f164972fc9c0da6482819b51a3a24a6f2cd1ecdbb114e5abce2d712ccb1fc9d1169b7e235a207504672d89713d6d97b7b8ab5d187a111dd086003ce4de30fb67f180e0b1966cf66982a53641fd2ec98903ae5961b1c72d752f271654a22efcb18fd0a0d2d798b8d56f6022219103a19baebaf652af4293b9a1fd2393c37db6dce0b24a3585e61124d8cd92f68534eb7f222bd246a83a879bc3a0aae42bed5f4cf08700fce6f4fd9017f711aef892240c9d324fe1b69f95c11a320c402a807c6a60fbf0851affe1c70b479677989e51dd2b6594fd1ea0b588a997a50bffd8cf0144890fd8892955184a99307c31325aad8fb3e174b4e525c860d761f045b237d0832de4999d32d0c821e289683ef49c66e5dd731e54628f01410ec9f882b7fe4015e4be159ea45732182c12b884860b54d346e1aa0da10f5a67b0e770d2c9e03f3989a126b8084d9b95a633076da7fef889037139c2540712bd2dc16e3c8395345fdf7bcac6b28e7103b3f924b98ca470f06ea2fae5bfb2e001f0511300b4e1f7b53f64c2476d244d7e9cb6791fdc04ab7ea1031a3c6b55bbf7a12560a3ffd40219aa6013e678e133a2acfd3bbaa161bab48dbc95126b48db6595110a161f885e382466ded9db11a8c39094a7ae655d4efb0268550083bff732a60819901d44c90b92fc18c29889ad5f3e67bbc7b0a2431e94e47893d1ee5ee25f0ddfeccf1516ae4ea315251d10234cee6707fa70785afd073c396e9ed7c256db5766d64da3cae010c10aa36317bda809003b376fffb5410bb0a871114834b49d979c16e213521db0a7e33017d06f5954bdb338a6d6063ffd7ea6cf0c9215bebcf8185eb532ca7152e2eaebfcf4d5de02ecce79b9c5e3faad00292d83ab5f5f6ee4ac747b36173400d7e0875958fadf562a34ade1f6719ea3e9267ae68ffe81cf7c36591c7516a1086ef8338bea633bac97a1a0f11cbe77796525dd6b8be9b854ebf8534763cc1e03c7aea820b1c9fbc0a04c3fafe5b259f0e0e4c115fabf64f19558db7e260a48aae2635b044a5e2e18844f0ebe8bfef71e453375d7942502e5643ca74f232e6d9e8ce13971d6d82595f40bea2c60c7f1c32593e49349626106e74de569aa0b95c1855275a1bfef7cee481c5e47f18e04f5346bdbd4b2488e7a4d80b17745b8ebd4b717896bd46b63b6595fd5e041d9a6b43ed2f58ecdac5446800d7dcf8b6389835613f5092d9be975d3e3d15b083d00bc92723972257fb63f8345b5e930dd0c2abeb3849120322f40c10e88acf15885b8c5672ef409815fcae39ab75464eae68b2a0b9440457270676047175d2822f5168b03bee8a7183bb47bd5bc0e03b5cf94f6ceb7679f3a17dfa73bbcca627a07c51e1f7a3ba17da1fbe52d6f54008d3d12660537b475d1efa15cca531f07265b52062dd461aa8d8dda4757dc87357c9bffc18b5eff4b0351f7482c4413256d81bf76fecb6ea646a203cc4c5ba1726d553793eda71be231c66905a5f628a169a866a143b13c565c037afd2b12e83b1af269488eb2b0ac966971568f9c2647af86a4c021331a7a0689f8bdf1dce435dc134fc20aabb0d1b541ad08f6832632f114a57ebf1529884f5daaa5199fa333c40185cc0fae606df90f44f6e5502e478dd74ce7e1c2b8fde788073f3c711d81469cba82bd3ba3e5622970b58cc8625fbbd9a8755df782c1a80884461961d1a258a1f2fff2b762e9db9885a966af97f88b34859ce537a1ec0cac8596734adbd6e43b06131a82215b2e5a61a2985008a82f7deb1478744af9027749ae758e65e6786c5dd1edbb0f47b661c177dfcd8a5478e9c8c9bbfb5e4dd63285f8d3b96c6e7165d4e0d60048ac4a788a9b5398905643a5fd00dc49b226b73afddbf892ae468bf922b489fa41a4a410616991855a214efdc08c5a7b12c9f8060ae67ac2f09f9e2290039cb4c4f1dfba6cfb98e8df8a40f540a8c0db7968c9149a94f3d436c467c2930cae9cdaab0f8c35c338953d77ce3a0a50c3aad476e28b759fd1a8ec011cd73a23bcd63c4a5d848c5dca3dc6da2af8466ec3c9527c9aa67678b88c65394f5438d434e4c20be43f9df72eb6cf3b29065999b13ebe152703a6777483bb5a93850204b66a73993fb13359d48a0837c50f2120b6e53c9ac8144e622bc797c2aa519853a07912741d11fa80084f981f219cc10ebe58a5f7af5cb744ef45993432ee6e06e6c47d21354ffd34d55f314480275e8eb6f5e8f1c3a865baf73ce43ce173a9c00a1a37ea5affa6366cd66f05848d57a90599dd6626c4d3769ee30434ba3279162c6acd4469990b02e703da025f840480bed4ebac4d8ba3f5594ab9b446939bf97dcd41b091fa535a83b7e6d5fbf2f658e7ecf50bbbf1b426f9ce7de804ccbd8f38aa2da888897b2860236339a51f4fcd250b9ca8b8a842f55ac48978cf8970ccaf06824920f8006399a45aa8330b0daef86549a696da5869ce6abe30b03750f51997b7e264fd7fb338addb55bc6adbba1444d3d3deca13438512e49ad86a75f4d42b3eadda6d72d2157a272277273b1739396a26210f26e01b158cb8153556752a724acb414c1e0c50ab5d45a66bda6d09b01dc2c0fc260f5659afd2487dcaa49d5a8135efb4080c9ad1121f774822df01eff99c2453424a1857403c4aba1c25f49e327122279cc231dae2981d87923d644986332ddc002d38d8cbf7c343cc4293a06e2240df11901b2b3d9039204ccc9363392bd615efe0de7f6c726cd6690a32337042a3411e5ca5953faf91947ae1a52abedc3b55a2cf631976c66573ff883bd68190d6d1355dd34bf0fefde1e83285a6fe540578c92683756ad62af78a315454f31098c26bd5292af1cc78b2035c84580878a86cdd10222f2aa41919fd1993eea7162c83e082d1f99ca70715ed224cae0ce34466f4d995a3d275eb9a0392720b9c1ccabf6940cb7420e2e4c557a2136d8891bfc618a7c656d214375ac22c104865b35a10bb0d077e927b745c5c718d6af33adec5b44d8640a04c90e1f7d3233296fb756476d149db04e93e84961523a1803e6f1163933b3b7e6b5d5025c55342a4a608d44e45f1dffd5cb4d12a2d223e0b0c82097ab27a14c19d23fa291105030a9922bfcb61b74c01e381a381d43c4b09d3d08b4082ab8b3ebab775914c52c7c29d99d9b6126b1a35d93e20b29058f5fe29311c0df16af2d6566890910cfb419ff0395655000b92898bb9b025cc6ce622bac15410abb5b02cb07c52400b84de617529316aebc528c164f39acbc00ad8ccc9ad3cdd2c28fe6829e561d024702034edbee4d2054938abb52de3a925daec0919be64c02c414be1f1922e56cdcae4c50a58b0d6e2c8bb7ef54288bf929ae1a6d35bbdd73ec473c90b324061471bbb3a4931bca48b696f9aff039d087e236f2581648b378c2cbdb73ff964c63bfe67c71e5680e7723b90c548c708e1955ad590dc6922da02a12ac379612e4a9a15a99dce16598fb3430b26782b63cba5b10edec7f04565c962a8ffc9087cdadf508076b47bbc64b1294a936fe3fd39b9ce4db12a6cb7fe0c7c8aa87ddc07b2bc7668348bc4137e32973273bb16e04bf442a10da525089695d2f87ff07613ddcf418ef608dcaaf94facd2dfcc080902b4eb17cd8993654e69a6e3c047e3ceaddb3f931314530be098d16f7d3d63eb8d44e9488f026adcccf1ed3ed98059b29028f184c854f5a5427c3db71dfc3fa34d7796e48578abd4050aca683c2c571c0119a2af2013387dd30bc7613835d1af493997af42f9f1c322b9dd5be69aacaa8da24fbda2f91ffad901c8bec868c11aad780af88859aebff7894e583451a5eeb957ec6e5657afe2e100b2ed8d408e52807643b18f0992ef56ed860b7043e2b947a63b4b70ce4ef447ec368c9302c630f1f3aedd4f654ce0af70299ebc43006a418fce6c23b002ae27b78173aaaecfd0bf908a3e0a7871ce87f2f57a40d7a3d91e3309d8633bfb76e2b5e9b2823a83ab295c38744eafa183a2a6034a9d003a47f779d54ff5e2cc2fa2e831a9b37df76b359a34cb17b1a0a1b273ea654c1e72cb8116a934e36c5f721a7a67f85af8b8cd401489f91232a3f03e45582edffdb88d21775d9455b42cd61834929fc731800bc991b46041289cda574abccfafdd72027682bb7ada5a57d3ac17fd636ff1853817c08247be3f469618552e7963ce8ad1c455ef7d7eea09378859b3ad67ba2b4dde37e9aabddccebb7ee203abdc8c109fe90d78d01318c56104307a1f7f98bb0301a9f306dc4d4f25da50a88a47c5710ecc113970ff74f9d7d6eb985faa1339df21d4de8e249f78cc4cc4882b1f3b4da5785d96fc6cfb2a765cb2639459b481bcebb8dd9e4b56ffa7c2976dbfe60262d3e407ad4ccd5ab21fe4c2135670ccf2154e5306e31a510416c74e5d9b49dd9269331465688dedffd2180296ac3fdf488f8737fcc8bc9c823f6001dcebfa8d70b8c9d8a7b67cadab61cf08508c13d1670519f31bbce49d58c62f2cc13d0a7a752fbd69e703472fdc3c3d60a720c8466841a360edf8fa865f8123b414f222990a9742ac72b797630343a86f9dc858908b3371d5e88cfbfeeb5dd689f58d0f3b1cf51ff3c8d8e9f30eafb2b4ca467c3f25e03618b3cbf72b495e62876352ad3bfdec4e4ac89ee5371691146c1aa40360642215277754e3efc876393a213deffb60e73e5bc7470439d2e3013f1c64d2758d8ac93e90f8da584273639af81b636d29c039dee89fa109bbd9a72d8e5f94856b2fedf8bbb7cc1c83f796a03d1e6bc849d737e766f7c3daa229fec8076f9fcef22f19493f2ed50105b1b692c493c67d281a4272499aa96bf4359aef5aba21d435c0aba29cabfa219d4765bd8ea22f6c827957349f0984c92187fe6c877155f01a258d6eca64fcc639edbcb5e49f2a151e7d44c738f65beeba21fea9d9e5072ae108b7fe10588004f4078b6449a315f089dd0fd02c77a9523af1afe8acc46cb7f29be5b07c8bedac974c2f3d320ae948f45dc389890572c28637e0eaeabc042b427381d1506d7e122fdce95cbc88fb328deeda23c83960ddb52497620c699ff9bc1d9fd8a6f2444e2cea55a8f3cd81743dfcd4b71834c5a3a346419f7ce77de483b824bddfe7a670d1ac07efb422645a9403b307bb6577f3dca443280d03dc4f85363a55933a9fed22136b279b3b0d7e3eac294cb44aba26d71eaee42cac40b0451d78cef5348b7157c2c73c89ba6508c753d9afaeaacb134da9450f974b785085a630b707f5efa68d2e943c4eafda1591a5cf5d4378862c4fd818eb0647c8f71d6a89453b72633f07af2cae3558f293f134e86d720e9ef7ef0ea1c3162abbf7cc4de61e129d6cec4fa52c52c0f4d8f07b27786cf7fd34db3bb39057eabab435860c05e6a796b75076ceb930d7a6818d96376ba6e96cca4bea5fb9623edc0a0caef962e7f218b7c170976177fa49cc009779e8686182b9ce5c212ceb0227ebfc6d3cecd8619c479127c76022c48be1806c9ea5cabb17839a3c353abcaae0fda6e0ce5d98bfdb62a10cb048f03282e8d18f7ff3ee1608cac568c203d8e908b212823e32e59b35dbfcebd870b0481578306df12802692a31893e587eece9de2d87da7005e0e9c578690d5f726a2d334092bf61f39928e67df12ff4b4c7e0d5a33dee641a48f180a1a82b42cfbc07eb5ceecbcefa973ad8fb7eee1f7a77ac4cff346852a5dd5e0849904988f5c34aaa58952f63eca822df2c9e04499d11cae721d18e368a0817a3cd336c3d877e882a463abdeee15099b5b59ae75e7dd478517f46e5199fa7a52af24e8d26f1e3ec3ee662c426b4d5e77958a23ee823f72b20fe6ef7e55832729f7e98c1332ff5609176716c18b4b397b61797eb383e07e15d5293b01a2d4dd2e914d08481a6eb777a68ed05b0ac8a49a27355afafcdedaf67cc4a6648418d08e9c473f14153a874b9f4a3cc684d0b6e5d7054828636f882b835e858a2e093c6b9f9ed1424d4e16e9716ea6009284d979c610029ee9ea1addc88ec1abb452b288edfd216162eb167641e30bd49b252ec5cfcca953a747b35c9c42b71fe9d48ed02a09425a9941cc7afe6a4dfbae5de96138e65e8424008c68b3003abea936cf63eb96d26f9735373c8d1a5aeea3abb1a9ffed5a61a7f836a3f22ed67004c64c75289aada86723518cb6c0f8b81493bd8a6a82749437ad52179c4509b8999a9511f4352bd8fc8123e273a4b4c16e7c9773d016a02951cffe407cf21cb731dd14aeab09b69b56b1944ca7f2f4572aaedf6edba00436dfd4639b46ba8c281eed3845497a382d0b9b0eb4b50675c3ed75a6c0155e5f8a2a8efdb6b005b0a9038ce321116482ac83444b41c4332169c60ccc03f8207cdb0f687eea4b6f7d85d6df6f97c3350aa225b0d1893eb0f32575f541a8d66503938f0022e6df49efa8aca73c80f6fb8321642a4bec6686ac6218f0e6d6fc952b6bddc4eb6950f877bb1296f20d3a74d03843f57805f1d283d47bbbf25d83554f9d84c0df79d639539fe165d1ba34876e25d50f322cf75f9230cab97ea51effb021a65e47eb9bcf30f15139d5c2745350a96519d5bd2e750a077ce3c370c51c856147d171457206ca4404a82c786833d8668c52fdc8128da97bcd9b2dca94b294a868a706ef0b202a0f017f0892fdbebe1f816108b8d1026f80f5a20e0e107ccf416f8371a47325cf431aef9ebc2d31c6dbdeb53e1e6d90f8d7221de85d81bf274389b2e4e5740d329a704648243b2212e5d93cf0511fecae4ddd657cde38fa8a0a5ae17b953b39ee3a711a5a17935c5d5c90296d42bad6c0a60f405f7ec688c4f88c58ab73af41a0e4ce732b3d880f2b6f219adf2022e783e0e493ea7a59026195342664d26c433b31acb10f35c4b396453253d64aae867114c1f2a80c6dbc2e88a735b61678e31664600c5af31d511ff150e6ef8b6e374702a4d6049a48c6ff33c005a6e486bfab8a51b2d0fb3782c32a1c1eed755653744ac54542940a7eadf33eba39c22cbe9eafaddb5a9e4a6c6da887592a23227a7298107fd74190437ac5006fd11c2f55958644a29c898cc9f070b5d78122fcb4cc9cf473578352491afe4ec97c32f74229b015ffbd364cf73fb478e56b32c6eb549d30de3f3b128fe9cf6d92420fdf57c25aa78696962cec97366963450eb4300164bdd6f3d86fa04b84f4638d6088bfea2877b4fdb3042206d87f7643efea67ed554611a495032d9f92e67ba07ec444fd39c6f68b6412e2692e0fd92dda076637e04b3c665dbf67ffbf69addd10a270bd069c4cf5b18d194d2925e36340be54c6632787da4bb18957a1d8c6681bbfdd4802c22179fe7fae243ba59166968d2fc0087497b216d120c26ea6b90b31d622c374638594a2e97789b5c994f65e8711fe5979bad93c1f02a7e6c31e4e6336f3d558e2d4dc6aaab57035e392507a7fbe644f783acd3a76202906eb64de9a951c9d6b6970babdf64f2bbd634652526bb97fc83605590fef3e649eda705f3809eb5d7a37568bf64fdfd7aa3c57ce4c1fdae59f957bf8e24aad31e3006cdae2863fe8f3ec573aa7b7ea3409199c531fd675b880ea3332903a170413a6bac51b881d41f5dcac35328b7bd87f50448a7c194c5fa2876bb1c55ae36ec924272e2e71ca7c0ca99d85a9a2e0ceda2dee4023af819ba427d5772167b780373699d7383fb1c168ea847be709c3e28646c00583d6b032ccb5d23a55ad110234fd026631d529610a5b336b70060dd1373f7fa7f9bb3e8abc43e10a642e47fce0488598124ff1ec47ad4cc1e72bdaa1792bb21d0231fc5ea2a0d15b81dbf1ae841f1d000949dc8c733805270e603e7751e6259296ba7789672819e89cdd869d3b3dbb46021111889fb15bba597ede4ff061c33b36611cddc461e5ac0286d80c8da0184c2317fbc4c7a4d5d6a971c29d94ce858e7bedbac37694b873641c334f8f05b71b2e850e05054521cd798aa784665dcb90b37e7656732ab786abbcdbe4b43adf41da12477707187aa3f60fcf782ebb90c2381d84c6e8d80be4aa9697f3395f5ff9b5b3d01ebe484bec0617c99353cd8648e889aed07860063f3946f6900dda2865c9fd2326f5db683ccd603a10efbb9d93abbefeb951bd54704a88aee42c43e4846ee5b922d08f63615a52aa1a71db9e80317656b22e1e491f1a97c44ff6877775139fe52adfa48487097de0545d236ba83ab7f42f0c75f789f9ef643de0596c538602b6ce7939c01c62ebf7eb24581d2ee57e844d981d691cd5c7e3c0a22194efbaff8bbe1af3d4302bf3f21b3e8d2223806c395abea791cb460d2ab9c1641fbcd574f531bbdca985813cffaaae94e76c38f947c05d6d62cb0d2d479b01b74c7e15aa33f6ae7808c9594c22d1c74596d32b647b4b85a0a3f534d9382df301db7635b3445b018b53de3c4aeda2070c06224e66fe4988366430f97ac623474043aff94215011642569bb0d7cdc6cd4243221b77a39e20cc05f0174194df357fe2cd905e4e8ee68cf6c2f11d4058c00ff2ff4bcea9b300ccdc5cad220ac31753d1682e7136370d56e949203c7f5193c99d29196f8aa653c013b2c2f69d31fb76c0b300c261cbb5ab6483d63b4bd1a7c08277c0ccb6f38d8ec5ba508ca596006db87a2d1b945e6c8ddab79ca502ace78ac695b670485e59ddb96416ab1fbbbf184dfe200015f8d59470c2396b98a9103656dfc1aa6f0d20e53ad9a99288294ec9b378e6b94d5fa72f3aa5a5e8f2d1d8c46f81d21c78f49ff5759a615cacca5e1032154347aa50af3808d8abe185744dd2b7488b731bf481e49c34bfad27f27b611157d4e8e6fe71f08ca2d02c44ce335deaad9e107018d5564b7ea8f45e90cc2b6cae17c5a687a0471ae4ed5f83a4e7bf87402d78ea88d7556e9d336581f17776893c675e06a93c115033a32662ad9e06448e06c94d6c68f4f64b9e903b3d69cc5dad5bc91ddaa6ee7e24a5bcbad89655dfea09bb91d0bed4080aea3ba45fdf6bfd2fef8b3334106257fdba76b0cdbcdab1b0894f078245d44dc4a5513256f6fa199605da351167c0c3cf88a9a4c7dfbe6914731673d72a37b0297e2fe7108a3d33956fd5fd517109af9be25ce010d9c7e1e4b640500bc44aaeea12f055c7f07b340fa5c6a5702f4953df0882c5354508ea3bc25c24ff1c550d50f3509c5cb6f8e9d94594f4c4a75a33845b21547d90663eff2812b75ecc692b0049e5c1f9f91f5711eef6a416121bac372c3f75bdd27bbedc91c540baadbaacc945bfd3b1c924ca00b478864533ae9f593307d37cdf6e29680c48344a8ef688f813a5ee2a2a8d420dddf3f6520372ef1fbf7c3dd05fe0746b8f49ce8ed98a5d924daa2bbbd9a2533608c70dbc7d7a40dcaf641391986d1f58b431933b178bffe197ccbef662240b62448ee4bcca39f0be04cf0bb59da0d22d4e3e6cb3134eab84218d880e1324f5f2b93cff70c1a259346d73d025d3f9d244abf6e70ec7bcd9cbcd5aee269dcba060deb85c73f10498c0d5a7e9acb832615af94255768afb10e8d04703efb243c01d390a089e7f24b93660756dab41b19d9382135935b1a2610539747750072c02cce56cf6adba5bb0941629bee04dfada116d39e64faf051dbed99c7f308e57d895e6002c8128a9f3b4c7c099ef4b142e7ce9dbf588bdbbfe2b5c92f1cb3de8248b072aec46ebe465c13b2179a87a1358d536c8079636156de52f05b6568d645c09c1d92afe8e1211cb7ec58f258793ff04f7f71b0e164128c0cd99d579101982d5c1910e00efcee80e9f9378d3df4566c30a623ece7ea7121cea985792df6adabe534ea80eea290d94a77c48a2d4a9bc7ea4dfa3763bfcd09309d1caaadb8fd566d9ff664ce8b3b3b445d4317fc3b83c7e565e6b4f92b2823b7d54be492ebed045f5739c32b46218e83a10bc824d2877122a92f1ba35a6f17b1b395dfd6c5705716fb099155cd2fade50e13ea9bf26685ff812b98cee24543f7ed33b750862a17a9498f92ef4328b0bf79787c843d1ce9c55854559919a014347cc608e54a6023a91f55d17aff8400e13001c9d21f6bafacdc5f6da441bfcaaa0011c137f6f57be7db0758d88d02b993f76e5ea02ca47e6f1b32f0c7858fc3a9d35ea8e10b6d6b24f40326d3e248288b81d2ffbfacfdf8e932c407c4ffd683518744ed89bc24d633d58e7d8837af4e032a75c25d85f540955f7fa568342cac3e3b769c6d4201f17e0fe4807dfe16ac027c2e40387fdf56d5cf4ffece84ab857d5e59e2cb10d21296c26a3e15176f269975deb954718b7a5e8666ad4b340078b61035660b62063046bb5da1bd12ec2b88f7435af4825f84e2003c7d9d35f26ee2c3e35794f0dda57d143788086f3dcd7c1ac0a97fda04f77022cc333d57c20330fa947af73c0a65a3b91997d4fadc811affb51195df73d95606c2043961357fe43713656eac03ebd8838091ea7344a2b4dba75547f67d4b42265a1d747e3dbbc5d66eaf5319623e0aa5ceba8b91c3051c08918364430622d1f40279f3cd89732a73f450559738c8c8294803c8c608ccf00b5e92d356d04bebdb6007f62cf2c680de81ac298da515adfa8995a5eea4f42cbe56f75db56328fece44dbfabd2ee29c28a123da7dec473825191df3f24a28ff6adbc17f2693619dc1d81a695448077d02c5f841470b8cfc9092af64bda133e9ff8c21a35cf5484d8bf5dd4bc15c8db01221b8c4645b48cac01cf08986a90735b0d752f605943c788fdb661d08f5a3e8c4f27fc7f41e83f0b2a49ff4f86445cd38d219f35fb9305de6f03c3900973d06adbc5e8898c4352906aea519cbaba5aa6be5cee4553924f86a33963f1ce4ded8722d40c496c6a4013dd61b9a3dbfcd85bb3fe08cd7b064c866ee38122036e24e6bae5433237fb2f19d74acbe9aa00c38abce8898c687ea498be58e1a445d1d6ea41450f86c40317ebe6edd1c0f9a3bfd4e5b233bd403b00dda80717524938331f6c3a6a10c5e3abc57381c05de1d338fd1a6e187e36d64bd8a7fedba46e22013f19c89a9a1d600a3cd48a01779b43bc733c845eb66589c20095c089431d27ae521fd696bf5919aa166ef9489f35ad43918a0679104c6e169c3b96c9f02b2ec73fd8e1666410383819970c9cafc202395fbeef71e75556a560949bae22cf7473946a0a9129a0a76a2b8e75ebc78c0dfde3ed745fafcb4a0ff1ef53808d59001fd5e4fad9ef52d700655e42c153202fc4f5c3e9e7d7ca62c3037febafece96e18f38bd616b12ad5b7cd01bad927c85116efc5a3081c727c06be765faa05094724574f31754e5a276c7de6e07f0ca3812e3874b335d7f17f5bb1ca1ff070318814142b0e3762940235c08182d20725f72f6ed6e1335e6b5a207d6c0b1150dca5fd37dbd67da3333415641d53994478542435dbeaf77f3d1171b85eb8310f7e155a512f77a158fa58c59f50ec71b4519ba6e1181d0c89ffc1f215dc2f5b778c6de223d191be186ebbf5c1dfd03ea0997ca9178f59e15ff7c075827ecf92992e7c86eb718298063cf4339eb092419851f3734e150dbc1a7fe8d491b2c533a1bc9026911736eb80bd582d6da8e7cd39ba9995d0d3a83f2792680f4030ab86ee8fdd61312d33e937600817c70dbd95652cd74d0b51a335f7ede1720a419367627296442ca005cba1c3f65b2ee1a13fee8b5036c4841c05c6e76178a01cca0d4c69abdde21925557c740b1dc8fea80b6fbf89257827e7e49139d214ebe2734232c76eef9e62ba273b3d3ae5699a2e7721a5a1bff610c784d842c11cbffa5d52b1e08261d0c1aa60471d8da62a5f5c225a83a060bd19f30362f8a9f4c0d81dfec6d5422c4b3112581e5ed9ececa92856d7714360ac5c26fd378142ea17ab3894fd30118d7e298db4f940e7a46b0fc2c53bff5f9f3f998f7bc3e61359d81eaf37a785755005cb29d16e6284841ec95448666a96c2ca89d661bed2f9a1056bc06fc357455fe5f60bdd1b4d2bb5af0588e4960fcb7a21322da7c4fd81f2f03e1757a95c4d4c6c4463df5052aee781e482cdcdf7eac9171524cbc82ad9c1145666c484d14f747aaeb378a7fedc77ab1d38a013c70c9c26090345e1085bb5018dd9500973f465113c7e32a41d2131a229cc25ed06388a105d220d69351b585dad45df2dbc35f0a8283f7b1cf30337139bb9e16c6671706bf10f1db265106e76ea14ccaa78fb12792c7aeac26c18df306cd5b499b32b1c02b5306b819cfa4b0a8eb2a5e050926adc479d147e7377b77d22f30974307dfcc52c55fa6cb4e821998b42f60393a1c01a7a9878f54a998d12848d1c10de27eb2e1b4556bbb8bb7bf46190af62342d1c5ec65237fb9b8564d07b414f5a35e77cdd725ab498b83ae74e0da7eba37aa16626fe8264b4eeec6b0c4bc2067725568fc65ba435b0ba46fc45602462e32db23b366a661b1d6c2664ad5fefcf090d2786af265ed81bbb39a4817ce66b8a77d64299062bc3c7952dafe3e92da452c525c9c60bcdd697f32133acb4f23b37592b76d9d7fe6c4da8c3149f336d95907e28074813ab634cce75d9459dd84c5a897e565da8511a3bd7c49ce851c1da0ac155b47cdc2516acaea50cfaa697672cef8139a3a05596fa3325385f38d3aff55d41b045d2b8a9d4a55c377be4226efc819543ea5474a462a016a769062c52098e833c4c72c0d9d9404f5afdb5eee3a835a314c78c4965b94b6116916a29c5e132d94ffa8dba2477872d69b3569e6cdb4b8634ece03e6e2d4771773955e43da7b6ae0a7ba912ac06a1a45a33a89f9cade0ed3f98252cbcb3ac6688b849848f0bc6de0bf3ed152bdde1c092dbecf747fd6bf238e162bc63d51bbea29da96e04a53e8990bcccdf30b9725b1c88992159ceb3f5171e160d0aa94e1f081ffd9fe7ba1d6bd143d924e4d99320de24bc164139497bdfaff9b92a57050e0233da1435f961f1aae34b313af57640076f3383e8f0ec3084d02c0f5be5a6f4cb2a4b8b7eec22e6a762b55ba137cafbc480797d154fd6ad123fd6da89633b7f146ad5cc4f6dd36d36d7ed4c9bd698215d74ff640b0b173da73991354ff9f75c1667dc7ee2e9dce5333d18cf8aac4791e83b57190e0721142f73f4dcfbc9d6ac1a25aeeba0726bb35f41ed6a43134be3398e7f691884a3ace6648939e57d41d1be353bb334fa63237161d35b3d7d566855161afe73e5f161a80f973688f6ebdf3dca04b3ba2a23855222f77d2418a3ef7d70249b9734533aaf137c5e4c5bb76f6721f3774f59ab008e2d21a25adec9d217db0020d44ffab1a17a64ae2283f1a73811c9b51effb8d9372d65a72f84bb18da344c46eaad7b79bde381b54a4c7368aa066b994339a9686671eb407872498180d85ddd21a7fc81b8398be73a106b711241d73647f3d227d0f697ed0408bd806b7fa9c2e7ae93b31d7c85f207ebd302bb21e88bbd0bfd4bcbd55d11401b41e0b3a00d276dc48377b742a3d092f5b31d850e4a9cb0a8e79b45aeb581f1bc18d17b748b217465b2b24ca0ead2276c377f17b5813761eae548d37de5aa3b894b5fcc3c93460a5a8e82d1b463da456b8890ab82994669b727870f4a01599abffba57656c21b57e9ae64865588d1b7a29fbad54d452e80bb830dbe0ea71a795f139c50a6563c8de46540d310c5cb3b13ad62c536b2d12909ea2efe2e6cf262f1e4607866c2b158ed8ed8dc3621adf4c6e3a55aa7349b6054a9f4b7af594cc4dbb940305165ff85d8def027c5215daca4586675bce169f1b7261de8291d592bc7348156311ed0d5f4a457d4ae72a6a48c7049c0f7d84fd6efb708093e4ba6dae231668e51c7cc1d56aae3701cfa3128a390802663a50f9267ea3354a27df92b7716a21dc540599218f5551542c6343904dbd4b9b69917d5efb48a3ba3510f9e06543ddd4b4de8f5c99cf96ad2c4ea18dec7320f249d135c7356d2cc9028b7b1dbbd8a0309d5e01a9c31b12bd111b6d72e1743ed1ddb1ed4a2d1836b11bd1f3d52e67718571edd081a2303e99e991a3f6fb7ee983598769401266660f6fab48f2eac70a154e68eb0cd50dd12948ad333ea7e0d87d5df9409501497b1eb9e6a61d85e0d71604e3e8800484f509aa3c606d97e1c7b76869eb8ff2900701e47d8b65dbdf3cd5fd3bd2f4357b64db7f0ac7de2eb17e88a15cafef7f087f92a49e6a6cf3ee3fa7498d0944063e1238722be6bfd39d46a74395f68dd0ee710dddd2825c4cca83dde7a61c30e6bae9d6741bf4ee7648ce0c4d611f062c173430bc4aae60d07750f5d4024771d4fb53a0d3ea6de95ce23c109737dd2cd41dfe3320e25669844b90223e38f1d0ae57980329a99446254e45a2d57557b8f7772eca750ead72dce86b8768a7b43d4003fa5cfd213a530fcf0c424d42feeda6b03c6ccc30494340289ba972605105eb8fc318f4cd930f1571dfdb5600ab5ce8e475093affb07a08b621a41eee96524e279d5f39665c65f03239e88a9d295c577104e581bc41d75f13c6ca232d2c901b6554bad0892cbb96498fadc3867c9b39bf516a1e2428d11fc3ba5b25b35ca2d1e0a5f2f0e8f353163f594d8cbd825ebef15dbe0dfb44735fc015150759a1500b8f08182b10b048147f093e6627539b683278074b330d0038ea292f0ecd78aa2c64461df890b9a150654cd27c56984d216d83c8454d498d920bf58735d653e481272eeeba25119f7ed1eb243fa0c6824608fef1d03f808e44a751fefc62546df737debe83fc3719f3ff1e554ea93c7da1d2fc2e37c736ba86151a7f934c9f981af5b61721dd6f752f7e389a0b5eafc7c06d5fa0e76b39f8af63398a1094ca75c17d086e569c6ccbcce854bbe498546383a9b53dc916a50733f7354d4a1beaaece5255a04066e81f038e42932652607449fc6a17328cb79b3b37295ad170ce41d62bfd704501de2a707fc3db69c33c954b04acfdb4d0ed38dd25d094f7c187d78ff33448a96a70dda90276de3fa640279f027e9543d891f70c23b489365693774fe52e1a944495bd6ae0dc4c72ede3ca5a3cceb19334ffb85523954527d3e6149acfb5729dc92d0515dab4ce2ac9bc0c08181feb03cdb87404fd4cec8743f3149d769c6cc0ccb7bbd219603b620b0b55e8da20ab2d6de652a7d09a42571467263aeffc493bef36cf10ead01e0ac203a74fedb402a11101f70ca9a116241db8a2ee899b5b2b2086d62a89b1fed1c46a64bea8e50e9e1490f77ede95d691985d633eb14c19b7a70c15b9e5c5c0c545e10bc422d00f8e87d3480dfbe791d4cc8ba1af0604bc4fa3d18992723bbf2cd071356aeb567022b69dad02999d221caaf2c8f888f3dfc55d724e6b7bfa77a58571c978e2fe63ed7188355ef353999395bd4abe3467d745fc6ecc19e0041a08d5f213650e60567826c0ae938c66b3b170d4a4ffd07c38d2c73fed9761907ff120044d877d09d50a8d12be97ab4b40948b89d14ab301baffee3d113c1ef305760eee2aa3e0422d43c00e7025de7b68c6b39e9773ddb5b2eff1992de996577506b94932a56e1b1dfd49a66acfdb349f3db5b8047ac692f3b35198ddb1c85a6ac460653e2f108bd9b476eaf95e07ce84aa96654be4ceea8d6032165226eb32d213b80c9b123f293e9bdf696ae60f86e76bcf7e3cd64ae86eb5010f65ca30ae90f8a0e734e397c724ed96044f318bea24f202fa222c5a10dad00a1aa8e7cda8187fb2473a08e866a2b6327dcb8905cfda44f2e084affc1ed692b063b2a57385f889dc770ab40a2a8a1ccfd661005a6f7a28596b8118d0eebb046b5ccf4ad8bf0546bcfe0f00a532e24cd7943f2734dc1b8f649a9c14bbba4484f845fc16e7655d626a66830366c01fa1aaff90a055faafcf7e8b2b2100f963d381ed1a311fa78c94ba89da6605cc9323e7f99c1fbe4148955dcbc41dda2a26bf60d1ae30cb69ec98cc1c704634600ec87c0063b00ef66f4a485ad7bf5fd54fd0f71e24288bd75ba7784f266be06ca3f52ec36ccc0fef6ba922b2b08172fbb68287654e2eae9d565d9d6bd2cd93a4626cdcfffaed8072fbbaf14043fa392d4e391138100fc05fe42d378947e5015356f75be5d9de5cc16adf69a2db1d7606a218d901366dfc41cc73cb7e735b38e99e1a68a11b25f299af29e0a6332b45608d6f03605146784e7967de24bb75b41d9812625579ee615d33db42e73f4c2263227e149b8c7cc6f7412aadd96c6f5792c1ac22acc019f13933e3a942455c9b940dd909d2373f299f3f170a3dc4572493a91a5570b0746cb717f29edcc5528a9bcf77505fd4c833f412743aa92c96af9ad03e2599d75cc52396671cbd86ce2886fbc163cb6f01da3efe9b5bd07a8ae088429762c520d7fb4ddcca0edd95812bc7941d9986e497e512899f6d834119ae34e921cb1fa0f5e0d177f5ffedeada339eb0be8cc08e2ec256b2445e600c2344c92e239d786bdb405012b129f23a7834ea28bc1c8a9433034d44ffa3c789ae15937056d3f3d84407837f4dec837e3946e5d2b44ad66481dd73e80991801a5c80d9769bf3fa6ff7b06274b35563a5cf2169779af7a8ab35456024517c9d53b1a8082abeafe2a4d30f5da2c557a50346c0852a06418eda5d9d93e68e52fd71f53324a043b88c7647ee22fc20ec778015ff1025797cc698902e8a40c3cd97e709dfefd04638bf1dea992abdfda3a04c7388fabe957059e5018aba40f0b91d090d379e42aecd455ce6b096d1095f894a8cc6048a5fd7e87a434863d9987aa0065a05c72ab9b323b5d6ca4843168b7ed2f043bad0caffe2a63b6a32161d714423180f8f40f1b8d0c941ea6bfef0f5e2ba60f345e41f25b38bd8a32ba2283e48eb815f36374c50642c49f68faca038950f8e318c9dad88aeb73b77bb3772ab7c2a711bd76ea4f3b9f81822369a948a68f50bc9f402d4959b6d1e5d8d6b14a8c4ed33f845f654fff929560acaaffc370eea1a4a73b789a0ea9c8c4f40694fdae71adf5f839dbc4207da392bc55931dcaba9ac6044bfa095fd90979b26f5dd1d0a37434a5b8185e168d91d3cb7a888da8db438b56c12e31d97c76ede71e512b25a8a8953b8ec7dd3b6b28bfb7287f7b067436f009fe2d5caad7b0cd900a0aef8cc9604f1a6cc839d75699bc1debfdf391345f61bf601dfa378dc0e1d55a8c8b5db006195aa2863d9d74e8d028c2e138b74482e6096dcd9c8e12bb1b11ca873f9fa59fdb7d8d487d094a8ca2dbe7d759ebac16bcfe6062c14bfc21c5ac3a23e53a86d325ed51ab2589acafb3130ab51c9b80ce8e41c31428a7f73d35d47bb3bf2db611c5e1e90ddc5f89070a7aea1a580a79001e13c74a5171f994866f49ecae5b389ab4cae1ded0a1eac1423c7bd54105f85c6354f25e6b53c497591c9d2fbf106a9bb1db6dc698213f71c0e3986776112319188a6883786a15b8a800f8d6c7692c7eeb3fe7098db552cdc59efc0a3b8ec4256ff42b9d85c39e6527866f25c174223acb5b4e8b02848ffda6664d755a4ef6c100bb68cd348b791aac5efd9f82f1239a869589ce2b04639a6a0f4b42d8a1f7190ccef1a604eb137ad387262097164f3666515301fb7ea96efb6e7b845235c8be414b632c37a9dd45d6099afcd0d3ffd7cf26d4f280270df103f854c38c9eae323df68350f60ad20f3715bdb672e306e4021a97fa3951f8aca265cf8d30a3a4c0f454e3396cb46890582364e55287752b0984c68f3f75763be4a43fa1159a3b8dc31c82352c0417418db6fbb98b4fd49eadccea87436485d44d295c54f6355fa1684bef4edb154624790682eff54dcef1f63131624b8ef4f9e0c3fc91aad8dc8b92d170fa281f4d3b86a09c295f587f059a05214317dea43d90eaf3fc6282ce715e0f0d89445ed4d690c7021ae188222b28620853f58012e110cbc00cc71049b42e94c9c49f98c04c1e892adeedf45b00e7096b208aa0df1669bbc46ff0a68a79cabb6ef1983f5ee4e02ecb612b906e01e6acedfc06b6429aff1910999dff7b40c759a4a77b46b01d75d71b4a4e4d76d5bf23154d7fef7bb942d26751ed0144e776946d32615bbcb033bd07b08dce1c7e98c103bcc28d1b0bd9b4f9e1e8c0228db1bfe2a54c9b9bd2ef90d612d32a5191b62ed62252f6c9c29cffa37eae3948453cdd0998b5e87bf032ac4d3c60bd22cec8faa4674959b819c1f353629ad0a15f710a8caa32864df532c970d736278b8ca518571a8eabc8347d23fc498adf8d65eca583d9b03bda33af5c4466c67836f116b607ad2bf2e25aa3d1a2d57516551580740909f952e270f0ade1a140d84638c47d70002da25a4275215839e803c0cbcf99e13f706041e6a99a8a8d143200efd1decd02d62dd6d17768059653a02f8f47dacd97a1865203bb38bc5d2652af9a3ee25896c48a7ed73390279e64816ae3a7e46fcc006ce5f51fb065871ce4731ddc3aae1d6e1cf8602c20bc61c7438ec08456910900fb96d3e854c74aac1a83430459a78769f09a81d9aeeb3822963052e02ee169fa674a8caeee731cef4bd7cef9379ff95fd24eb5e7791b6592ad49d64a89e295a3c4e91e948ac4a73dbb6abfd7abec8dec377c8f200956380b4e0913c8354a99d260297c5b596d51b26c035db1463b87fed24ba1d7347d427c6f7144c8ca6b2a9970b1275e2480c0c343213355899795b3ece95ca2c163ff15a918ba903e3372ff4a1008be8945db8f9ddaf8308c7e96105f8d9cc8fb1c249ecc3789521d185e98c327bfe9bc84faf9418f9d5816c9fef9caaeee457921e3d2048b87011f1c400f9428f0d9941faf967ce80571bf450d692bc8eb69cf2ab416ff9376c97fafbc5ca0f05a48c646c009733abd7d9ff240d754a1ca541900dfbe5b4554d2c220b07ad3948382f91d2b746f78057d3f295d1458ce3166e393381b08fe611bb2f7f3ff8107329a984071ad543b52833919b32a270cacdcb92f522e852a8b029422bfde9e9fad181a6a1b5f9d8e934b844098b046bc95b4546d0cc2f4091fd14c80629cce045c630f77e76ac5639c4c5d6ed7431acf38077de439c961c52ca4c25759e3a926ce9d29ce73c63a5b929264b2b41ac0af075b1e9f3d3a62d35c08a218f6e3da4265536c41a34ad8a63343ee8bef9b845a12d4146b322422042e640cd35e528d5d18e2d2d22a01098f4c1e23d1d7ca0ba4971b25d442faaea6cb8f20c2d02e144efd7faee6122f942be427e410de426130fd437456077d7a434cacb1be9a319c59aaec889d99ce142213a0f3260d12d746498b4fb0ba229ba2d016d5245f222c25fff33a4a725712c8511d62e62469d8b984f370ba887f61aaeba44277003dc7e98f44eaa741f01ffcd70063bb784811f5eb86c50fc6215675c2503cca3bc61ea89c31ab9b9b91d966c2fcd9bdbf217764fc06f790696f56b622702b7618e33a10d7c2d8b85f6e254e1cd609735a2e4f6bff4857d1588df5fa77c8a1a8be0d69b3171a4f00a96a00f5a3eff852af072ac2e5437200043f7aa78bba7dfa7436560a39a5e4c7e3c702db007ea0b443ab9f94eca2d1da9ddd8d11525cf99da9bb666fc3f0080436c25e7c99967408ff13bb2aa05ded9416e10e163c0f4e8a2b0deb3b829830e250487a093b72b93657fe95a7c09ef4f4ab0acf4b06db68b0dd162e7d6721b64bba9a808090c943530e736ff78b618c76e92f76852b5d3e9609c6383476a0b26b6540350f9cdf2f7bc5683fdcbae5c9ab9724ea63762aad1ca72b231b38f3bcdb9c0c6de031d8eefc5b63950fb1e4bf5e9791b969d7a3eb657d635e1c52acb15288b607218c02a291cb6973d0de4f44f6c5310c43976c49a55c7e69fe3eb9a27493646ae8ebc87ca01402d23c9da3e05e737a0fcde08819cd176ff4d19f897c6dd0f0170abcdbb93ea38b2e5fc738a8ec543a3028a3b604ca6e346105510b754bfe9a8dedeb6785b0d8ec82085df65a232048be35aae00ec9fb8fe7ee626551cf9a0a88b4f1bb718abfdaf13c24473d6fe5af3ee916d461ca2e169bc9eb68aa1ad0667370de4d7347821f58481c5ddb016d714e377e2060dc0a3ecc8fbf5de8b04e053eb55071e8638842492a9a018a5b4de0d4d1a4319c23ed05a6d9ff599355afcb604daa662e621987e6b1666645b0ef87db4eddb03c6f277b95209bdfffcc4f2edd86cf051e71d4520ee590d9c5eb72b719230d54e6d0297eb257e11a501bfbcefdd8bd81402d34f1b4d2f252d1e1ac0fb8ea2da8ffaf4db7a7c8197da7b336b01e98a992275fc293d2413a93190dd5c2f36a83a84688888857c54e52e4ee45a62c6ccd71ccaf936538ecae0ff7cea7678f2df0a1c414d0053e59f6d8fb56cafd2f3e3e01d925659d6e3544fba900ed94e0c8dbeaf4a5eb6ac8f9fa919591cea66959cdf4a1c3fb74db5bd1e5570856b595694b66b7d5bedc12945dc0535a6ab4d9e3cc8eabdf55b03696a5d877ba45bb0330582d7de0d05ec8112bdd7878c4c0281d492632c54208ec25edaa9de85d2c12a3ecd56366a0e3e59f5e05b7f0ac421c2593e09d5fb9ec7cf9a074e8287bc0fc67fb0ba52ca9cb1fc5c0f889838393b4d4f2e8e4702932499a2a762b035943bc16551b12eb5d56f5c8a374fba407db2c135bac459bf5cdfca8a87a8ba1599bc653551a3283c37f2d0a95d7c94ecafc9143874a4e500d98167eebf1ef30c0b7ed81828344c4f8ebc19dec858c65b457401af685a974f08b79dbcd0573e500be2df244336ab2485597e30129e4cc15a85030fe94840a24c6f7c3271f800ce700238d2f5bf383be1f9d815364e36e48a89465ceb9403e3bc527e44f53b379a116f2865175cae7bb3fe210e4a07c58c45f9905974894bc1e6712623deedcbc2b8e64ccc4cc9e834e2ab647d4092ccbc8f6e8155bb8570c1fb23d4fa95618b93e1b17a91d56beade75ce83c5afb0c02e88a9842c7542b223453eca991d9e501da05352f4c83fe508475ea0699dc86463619aa629cd935dfe974b40050fd3778241d018af28bdda5dc3c8f9a11c3d3ded6744e6b54cbc2e3c0029d1ae25c50d7109e0b5265f4b04a8dc9b9d0444863333aa0bcc2b095fe230e4e41a987dbf0136099f1c07cccf2ce94dc46c90ce773599400715f7503063ee37f1e24b777ef8ab99aeded6854305818d8ebad2e90825776464a8e7ef62f400136fa28e44cbfddcc6dc3d24c030b810f8d815fc8041b6ab60bddf792cb50fd90c21f006b9041c8731d39ca4fa95d59e90ac1935302debd8db2858e5eea6c51c3cdbe8328e0d5be21e6393f3558fc96e7f30c0132b81fdb3a47fd82de53fb0c93b1b857cdb01119e46df57036ddd45714b34b9e3ff9416934a5c18dbdb68564696c600c12c7b2766eb174648a4f359758ed2d70df94b733b1d7001928e9df2d6d12214293adc0b5cebdd9c19358895110df9123782566fad439160cdd976a7d290c1d65c40402583a0e987bdab2686d7e7cf0121b4d2b366f6486b155fd392c3eda83a2ee4e9ff7b45b3206b5982c6fe61a6ba20c4e45a62160de1c49f2a4d6d7bf14baae4f5291554587f060ae3a9c83322744b5030b4798141963944f5479210bee26475e6e8da62674215e6ded0e39deafcbdb3b38c221a32a38ccd08ffb69e848c899bf5c4defc7d5a4abaa4becaab480d9f013a9e8606ebdadef8514fe3e2f05971f0fd5b7e6b5e05de128d674e21eb48ef39ef074ed0e972ded7d351a4fb26585baf4be6b3a7e9e4b7d01842e6151833467564700ef4d86b6fcaa14659a817dda36626763538071dc08eded776d7c807b4ec390967ff0c899baa991a3d52740bcbafdc25006c966332517629e6fb584d0decf4384fd3fd241e3cfaaa63cac43997ced6f20b2bab091fdea72990a8f5068c06b699f663b14b1a66358d31bd40de41dc4fed0108c143e50b109eb0c29151b990b945bfdf5d6e0dbd226ef23a7c90153fdad7d40943f0378b3df149a651bc61848675604a1078856e54991e7c7194ffea85889619ac23da04bb95af9a667169d6a585357cfb07a7e0bf07dd585b73a020c8d5a25cd59b6a588978273c6b76a9f87eec3cc993c91182fe2df54d8be478924a61188089823ade6bc38421e21895a2aeaf45b5e7e677683092f14aa88df078c175ae73ae7debff84f42ee90dd48cad54659b58e502a5b5b0426d4321ef04967e6a01c296174b08d6e6738724841308809d95f38659b71f2aae28af26445a06a5b81333be58dbb053decf463688b5ebd869ae384e3b2de019451d5b5224107c1b2843f9607bbe8b3b98b3787752364d901b9fe6da93343e8064e5af73ef08f22c5080b9c43c0b612c8c5421e4e9d70fe6300a3c9fb748460b67910081cabd70acfe265f7de0b1e82acb3e00b3d1791727c02da811f0768ca55c139bbbca9381e78c6da9d44637e658dd4c6226974065f5fd6b7536137a03dad8b85bbacea018738285c579eb3b1cabfcb9ce704b229c9280f41627789c62e970f75ef867a874547eef0b6521bf194b15479ef1ed501d5a23a52a22ce8d4</script>
<div class="hbe hbe-content">
<div class="hbe hbe-input hbe-input-wave">
<input class="hbe hbe-input-field hbe-input-field-wave" type="password" id="hbePass">
<label class="hbe hbe-input-label hbe-input-label-wave" for="hbePass">
<span class="hbe hbe-input-label-content hbe-input-label-content-wave"></span>
</label>
<svg class="hbe hbe-graphic hbe-graphic-wave" width="300%" height="100%" viewBox="0 0 1200 60" preserveAspectRatio="none">
<path d="M0,56.5c0,0,298.666,0,399.333,0C448.336,56.5,513.994,46,597,46c77.327,0,135,10.5,200.999,10.5c95.996,0,402.001,0,402.001,0"></path>
</svg>
</div>
</div>
</div>
<script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css"></div><br/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="far fa-comment-alt fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div id="gitalk-container"></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comment-alt"></i></a><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/cdn/js/medium-zoom.min.js"></script><script src="/cdn/js/instantpage.min.js" type="module"></script><script src="/cdn/js/snackbar.min.js"></script><div class="js-pjax"><script>function loadGitalk () {
function initGitalk () {
var gitalk = new Gitalk(Object.assign({
clientID: '00fb27b1e484536359c2',
clientSecret: 'be41a12281c68b6e228d1a27e8d08aeb91541145',
repo: 'BlogComment',
owner: 'JasonsGong',
admin: ['JasonsGong'],
id: '4a4327dcbada181e905ac2c4e71a713b',
updateCountCallback: commentCount
},null))
gitalk.render('gitalk-container')
}
if (typeof Gitalk === 'function') initGitalk()
else {
getCSS('/cdn/css/gitalk.min.css')
getScript('/cdn/js/gitalk.min.js').then(initGitalk)
}
}
function commentCount(n){
let isCommentCount = document.querySelector('#post-meta .gitalk-comment-count')
if (isCommentCount) {
isCommentCount.textContent= n
}
}
if ('Gitalk' === 'Gitalk' || !true) {
if (true) btf.loadComment(document.getElementById('gitalk-container'), loadGitalk)
else loadGitalk()
} else {
function loadOtherComment () {
loadGitalk()
}
}</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> 数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><br/><div class="no-result" id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div><script src="/js/search/local-search.js"></script></div></div><!-- hexo injector body_end start --><script data-pjax>
function butterfly_swiper_injector_config(){
var parent_div_git = document.getElementById('recent-posts');
var item_html = '<div class="recent-post-item" style="height: auto;width: 100%"><div class="blog-slider swiper-container-fade swiper-container-horizontal" id="swiper_container"><div class="blog-slider__wrp swiper-wrapper" style="transition-duration: 0ms;"><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/19306.html" alt=""><img width="48" height="48" src="/img/1.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-04-21</span><a class="blog-slider__title" href="posts/19306.html" alt="">Docker容器化技术</a><div class="blog-slider__text">Docker</div><a class="blog-slider__button" href="posts/19306.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/47003.html" alt=""><img width="48" height="48" src="/img/7.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-03-10</span><a class="blog-slider__title" href="posts/47003.html" alt="">常用正则表达式大全</a><div class="blog-slider__text">正则表达式</div><a class="blog-slider__button" href="posts/47003.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/20683.html" alt=""><img width="48" height="48" src="/img/3.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-06-05</span><a class="blog-slider__title" href="posts/20683.html" alt="">Linux中开发环境的搭建</a><div class="blog-slider__text">环境搭建</div><a class="blog-slider__button" href="posts/20683.html" alt="">详情 </a></div></div><div class="blog-slider__item swiper-slide" style="width: 750px; opacity: 1; transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"><a class="blog-slider__img" href="posts/63333.html" alt=""><img width="48" height="48" src="/img/8.png" alt="" onerror="this.src=https://unpkg.zhimg.com/akilar-candyassets/image/loading.gif; this.onerror = null;"/></a><div class="blog-slider__content"><span class="blog-slider__code">2023-06-03</span><a class="blog-slider__title" href="posts/63333.html" alt="">开发环境的搭建</a><div class="blog-slider__text">环境搭建</div><a class="blog-slider__button" href="posts/63333.html" alt="">详情 </a></div></div></div><div class="blog-slider__pagination swiper-pagination-clickable swiper-pagination-bullets"></div></div></div>';
if (parent_div_git !== null && typeof parent_div_git !== 'undefined') {
parent_div_git.insertAdjacentHTML("afterbegin",item_html)
}
}
var elist = 'undefined'.split(',');
var cpage = location.pathname;
var epage = 'all';
var flag = 0;
for (var i=0;i<elist.length;i++){
if (cpage.includes(elist[i])){
flag++;
}
}
if ((epage ==='all')&&(flag == 0)){
butterfly_swiper_injector_config();
}
else if (epage === cpage){
butterfly_swiper_injector_config();
}
</script><script defer src="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper.min.js"></script><script defer data-pjax src="https://npm.elemecdn.com/hexo-butterfly-swiper/lib/swiper_init.js"></script><!-- hexo injector body_end end --></body></html>