documents

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 871f8fdb443772ac58ee574b826d5042c29038cc
parent 41038a32ee8a58213a861c1be876c6f571e72105
Author: minerva-jupiter <ryouturn@gmail.com>
Date:   Sun, 28 Dec 2025 23:22:34 +0900

add many 12/28

Diffstat:
A.atogaki.txt.swp | 0
Aafter | 417+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aatogaki.txt | 7+++++++
Abefore | 419+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aenv2json.py | 40++++++++++++++++++++++++++++++++++++++++
Dkumihan.pdf | 4386-------------------------------------------------------------------------------
Mkumihan.typ | 141+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
Ampeg2mp4.py | 27+++++++++++++++++++++++++++
8 files changed, 1044 insertions(+), 4393 deletions(-)

diff --git a/.atogaki.txt.swp b/.atogaki.txt.swp Binary files differ. diff --git a/after b/after @@ -0,0 +1,417 @@ +弊部での Mattermost 運用 + +システム管理チーム 荒木 優和 +Pim では、Slack の 90 日以上前に送信されたメッセージが閲覧できなくする +という発表を受け、異なるチャットシステムを採用することにしました。当時 +から VC 目的で運用していた Discord への移行や、Zulip という Discord のよう +なチャットシステム、Element 及び Matrix という分散型チャットプロトコルへ +の移行も考えました。弊部では他社の利用実績及び Docker を使った構築の容 +易さから、Mattermost を採用することにしました。 +2022 年 8 月から本格的に移行を開始し、現在、単一サーバで 115 ユーザを +収容し、3 年弱で 8 万件近いメッセージがやりとりされています。 +初期のサーバシステム +初期のサーバは、個人宅に設置していました。当時はサーバ運用知識があま +りなかった上、他のサーバソフトウェアと共存させており、他のソフトウェア +が Load Average や Disk IO を食い尽くしたり、コアスイッチやボーダールータ +の再起動をよくしていたため、利用者に不便を強いてしまっていました。部と +しても 1 個人の自宅に大量のチャットデータが入っているマシンが存在するこ +とは問題であると考え、同年 9 月 9 日に部の保有するサーバへの移行を行い、 +11 月 21 日に学内への移設作業を行いました。 + +導入当時は、島根県内の OCN の個人向け回線を利用し、nginx のリバース +プロキシをかませた状態で提供していましたが、学内に設置するに当たり、ポ +ート開放ができないため、Cloudflare Tunnel を利用することにしました。最初 +はアクティブメンバーであった情報科学生の研究室に設置する予定でしたが、 +情報科では独自のネットワークで DNS と DHCP 以外の UDP トラヒックが外 +部に出ていかないなどという、すばらしいネットワー +クであったため、学内ネットが利用できる活動部屋に +設置することになりました。 +また、構築当初はメールを自宅内のメール送信シス +テムを経由させ、Mailjet のようなサービスを利用し通 +知メールを送信していましたが、1 日で 100 件を超え +るメールを送っていたため、Vultr を個人で契約して +SMTP サーバを運用していましたが、学内への移設に +伴い、当時部員にメールアドレスを付与するために導 +入していた、さくらのメールボックスから送信するよ 初期のサーバ(右) + +当時の障害報履歴の一部 + +TLP:CLEAR +TLP:CLEAR + +う に し 、 送 信 元 ア ド レ ス も 「 noreply@chat.<base domain>」 か ら +「noreply.chat@<base domain>」 に変更しました。さくらのメールボックスは +当 時 DKIM に 対 応 し て お ら ず 、 SPF と +DMARC の み を 設 定 し て い た 状 態 で し た +が、特にメール不着のクレームなどもなく、 +スムーズに移行できました。 +当時の Mattermost 運用は今よりも遙か +にずさんでした。学内に移行した後は当時 +よりまともになりますが、システム管理チ +ー ム に 新入 生 を 迎え る ま で 、 こ の 大 味 な +2000 年代初期を感じるサーバ運用は続き +ます。設置先の部屋の管理担当が勝手にサ +ーバを強制終了したりとか。また、当時の +管理者は大学からバスで 40 分の場所に住 +んでいたため、迅速な障害対応ができず、 +おまけに担当者の所属学部ではない建屋に +存在したため、深夜や土日などには対応が +できない等の致命的な問題もありました。 +サーバの監視 +個人宅に設置していた際は上記のスクリーンショットにあるように Zabbix +で監視していました。学内に移行した際にもこのシステムは使い続けており、 +Zabbix Agent 2 を利用して Docker 監視などを行っていました。この監視では、 +WireGuard で WebARENA Indigo 上の監視システムと接続し、Zabbix による監 +視を入れていた他、後に島根の OCN 回線からも Uptime Kuma を利用し、接続 +性確認とエラー通知を行っていました。その後、Pim 側で管理運用するサーバ +として、Grafana Cloud とオンプレの Grafana を同一サーバに設置しました。 +Grafana Cloud では、サーバ本体の死活監視及びリソース使用率の監視とログ +収集を当初行っており、後に Grafana Pyroscope を活用した、Mattermost サー +バのプロファイリング情報を確認できるようにしています。2025 年 5 月に実 +施した Grafana Cloud の利用状況調査では、シリーズ数は約 5,000 件と、無料 +枠の 1/4 程度利用しており、ログは 2.5 GB 程度消 +費し、プロファイリングも 13 GB 程度と、100 人 +越えのインスタンスは Grafana Cloud の無料枠で特 +に問題なく監視できていました。シスアドチーム +は4名ですので、どちらかと言うと、3 ユーザ制 +限のほうがキツいです。 +オ ン プ レ の Grafana で は 、 Loki を 使 っ た +Mattermost のログ監視を Grafana Cloud と冗長化し +ておこなっている他、Mattermost の PostgreSQL に +直接接続し、Mattermost 内の統計を取っています。 +2025 年の後半に部員宅の Uptime Kuma が DB の +破損の影響でサービスを終了したため、Phare を +導入し、シス管チームが監視システムを直接扱え +るようにしたほか、Discord への自動通報機能や、 + +自宅内メールサーバの pflogsumm + +Phare のステータス +TLP:CLEAR +TLP:CLEAR + +*1https://github.com/mkaraki/mattermost-image-compression-plugin +シス管チームホームページから監視画面が見られるようになりました。 +ドメイン変更 +現在、弊部では「pim.gr.jp」ドメインを利用していますが、当時は異なるド +メインを利用していました。企業と連絡を取ることが増えたのと、ドメインレ +ピュテーションを少しでも高くする目的で、2023 年 9 月に部で利用するドメ +インを完全に変更しました。この影響で、Mattermost で利用しているドメイン +も 変 更 と な り ま し た 。 Mattermost の ド メ イ ン 変 更 は 、「 .env」 フ ァ イ ル の +「DOMAIN」を変更するだけで完結しましたが、古い Mattermost のメッセー +ジリンクが一部 Mattermost 内に存在する影響で、これらのエンドポイントに +接続しようとし、失敗するエラーが発生しましたが、「Disable website link +previews from these domain」の設定に旧ドメインを設定することで、強引に対 +処しました。 +ドメイン変更時には旧 URL でアクセスする部員がいる等のトラブルも起き +ましたが、特に大規模な障害もなく移行できました。ただ、予算の問題で古い +ドメインは更新していないため、ドロップキャッチ被害が起こる可能性と今後 +永久に向き合う必要があります。ドメイン取得は本当に覚悟が必要ですね。 +ちなみに、Pim のサーバ内では、旧ドメインのディレクトリが大量に残った +ままになっています。完全に歴史的経緯案件ですね。 +データ量対策 +Open Source Conference 2023 Shimane に て、弊部での Mattermost 利用状況に +ついて発表しましたが、その際に大量の添付ファイルがやりとりされているこ +とに気がつきました。インストール当初はそれこそファイル容量制限をデフォ +ルト値にしており、動画などを貼り付けられ、それの対応として Discord と同 +じ 8 MB 制限を導入して対応していましたが、とはいえ 8 MB も十分重く、主 +な添付ファイルが画像であることも影響し、多くのストレージを消費する事態 +となりました。 +そのため、アップロードされた画像を小さいサービスにリサイズし、WebP +のクオリティを限りなく下げた上で保存する Mattermost のプラグインを作成 +しました。現在、GitHub で公開しています*1。また、当時は WebP のプレビュ +ー が で き な か っ た た め 、 WebP プ レ ビ ュ ー を 可 能 に す る パ ッ チ を 作 成 し 、 +Mattermost 本体にプルリクエストを送りました。元々なぜかモバイル版ではプ +レビューができていたため Web 版のみの対応であり、おまけに数行編集する +だけで対応できたのが幸いでした。テストコードの方が長かったです。 +このプラグインはよく働いてくれました。実際の環境では、2/3 もの画像が +読み込みエラーで圧縮されないなどという訳の分からない謎バグもありました +が、適当に 6 か月分の添付ファイルのサイズ情報を見ますと、未圧縮の JPEG、 +PNG ファイルは 436 件で 776MiB あるのに対し、圧縮済み WebP ファイルは +253 件で 7.2MiB と、作者本人も絶賛する性能です。 +また、Docker 版の Mattermost では内蔵されている画像処理ライブラリが少 +なく、これが画像の読み込みに失敗する理由だと考えていますが、現在はこの + +TLP:CLEAR +TLP:CLEAR + +*1https://sysadmin.pim.gr.jp/contents/2025/05_mattermost_stats/ + +TLP:CLEAR +TLP:CLEAR +プラグインはメンテナンスしておらず、後述の理由から今後メンテナンスをす +ることもないでしょう。 +学内でのサーバ引っ越し +実は学内でのサーバの場所は 1 度変わっています。元々サーバを設置してい +た部屋では、先に記述したように、サーバの電源が第三者に切られていた問題 +などがあり、はっきり言って安全な環境ではありませんでした。 +部の顧問をしている教員の所属するセンターにてサーバラックを導入した +が、そこに空きスペースがあるとのことで、そちらの空きスペースをお借りし、 +弊部のサーバを置かせていただけることになったため、そちらに引っ越しを行 +いました。ちなみに、前述したドメイン変更もこのタイミングで行っています。 +また、同時に PostgreSQL のバージョン更新を行いました。特に Mattermost +の要求バージョンギリギリになっていた訳ではないですが、当時の最新版であ +る Postgres 15 にバックアップ復元訓練をかねる形でアップグレードを行いま +した。Postgres はメジャーバージョンが変わると DB に互換性がなくなるため、 +一度 pg_dump でデータベースをエクスポートした後にまっさらな状態の DB +にインポートをしなければならず、バックアップの復元と全く同じ手順が要求 +されるため、とても有用な訓練になりました。また、作業数日後に PostgreSQL +16.0 がリリースされたため、ギリギリのタイミングで少し古い Postgres 系統を +採用してしまった形になります。 +この部屋も学部が違うため、土日や深夜時間での対応はできませんが、移行 +時にはシス管チームにも優秀な後輩がいたため、平日の昼であれば最悪後輩が +代わりに対応してくれるようになりました。また、この後輩はかなり慎重派で、 +取りあえずバックアップ無しで適当に更新をかける私と違い、適切な手順に従 +い更新をしてくれるため、重大な問題を発生させることもなく、とても頼りに +なる存在です。 +最近の利用状況・リソース情報 +2025 年 5 月に実施した調査結果が、シス管チームホームページに掲載され +ています +*1。Mattermost サーバは世代遅れの 6th gen Core i7 サーバで動いてい +ますが、CPU 性能は申し分ないです。ごくまれに OOM Killer の おかげで +Mattermost が殺されていますので、16 GB メモリだと少し厳しいかもしれませ +んが、Docker で運用しているため、Restart Policy で勝手に復旧してくれるの +が便利です。もし構築する際は Restart Policy が設定できる Docker か systemd +を利用することをおすすめします。 +過去 4 日間のプロファイルを見る限り、たまにスパイクもありますが、そこ +まで大きなものではなく、安定して稼働していると言っても良いでしょう。 +また、初期の Mattermost サーバは Core i3 + 16 GB RAM で他のサービスと +共存させていました。そのため、Mattermost 自体はかなり軽量なソフトウェア +と言って良いでしょう。どちらかというとセキュリティソリューションである +ClamAV のメモリ使用率のほうが高く、おまけに現システムでは主に歴史的経 +緯から apt 版の Clamd と Docker 版の Clamd が同時に立ち上がっているため、 + +TLP:CLEAR +TLP:CLEAR + +平常時よりも多くのメモリを消費しています。 +■ClamAV の利活用 +弊部ではセキュリティソリューションに ClamAV を利用しています。セキュ +リティソリューションとして個人的に利用しているのは ESET ですが、さすが +に Linux 向け ESET は高額であり、Sophos の無料版もすでに存在しておらず、 +実質的に利用できる唯一のソリューションでした。まあ、Cisco Systems のプ +ロダクトではあるので、無いよりは絶対によいだろうというノリで採用してい +ます。マルウェアスキャンは定期実行していますが、特にリアルタイムスキャ +ンは行っていません。現状検知されたことも無く、多分侵害は起こっていない +でしょう。 +また、後述しますが、Mattermost の ClamAV プラグインを利用しているため、 +悪意のあるユーザや、アカウントの乗っ取り被害に遭ったユーザが WannaCry +等をアップロードしようとしても防がれるはずです。多分。 +実際のシステム構成 +Mattermost Docker の システム構成は当初からあまり変わっていません。 +PostgreSQL と Mattermost Community Edition、 そして Watchtower でパッチバー +ジョンの自動更新を入れています。Watchtower は containrrr の提供する物を使 +っていましたが、Docker のバージョンアップのため利用できなくなり、現在 +は Nick Fedor 氏の Fork 版を利用しています。Mattermost のバージョン指定を +マイナーバージョンまでにとどめておきますと、自動で更新されるため、ヒュ +ーマンリソースが足りていない弊部ではかなり助かっています。 +また、2023 年 1 月に ClamAV を同一 Compose にインストールし、ClamAV +プラグインからウイルススキャンを掛けられるようにしました。ClamAV はか +なりメモリを食いますが、新サーバに切り替わった後でメモリも 16GB あった +ため、特に問題なく動いています。試しに EICAR を置いてみたこともありま +すが、元気よくブロックしてくれています。 +オンプレ監視システムとして、Grafana と Loki、Promtail(後に Alloy に移行) +を導入しました。Grafana が Postgres に接続できる必要があるため、本来はあ +まりよくないのでしょうが、これらも同じ Compose で定義されています。 +また、Zabbix や Grafana Cloud からの監視用に nginx +を導入しています。これらは nginx の stub_status 及 +び JSON で出力されるログを参照し、Mattermost への +接続状況を出力してくれます。こちらの機能に関し +ては、弊部で提供しているもうひとつのサービスで +ある Redmine にも導入したいと考えているほど有用 +で、例えば古いバージョンの Mattermost Client が使 +い続けられている等のセキュリティ上の問題になり +得そうな状況の監視も可能です。また、弊部では特 +に導入していませんが、Crowdsec 等と連携し、悪意 +のある接続の試行者を IP BAN することもできるでし +ょう。 +サーバのホストには Ubuntu Server を利用しています。最初に導入した際は +自宅サーバの Proxmox 上にダイレクトに Docker をインストールするという、 +ロックな手法で構築していましたが、部のサーバになってからは Ubuntu Server +nginx の監視画面 + +TLP:CLEAR +TLP:CLEAR +を利用しています。Docker のホストにある程度高機能で重たい Ubuntu Server +を利用している理由として、apt ベースのアプリケーションをインストールし +て使う用途があったというのと、Debian と比べ、商用向けにも作られている OS +だけあって、Ubuntu では脆弱性が独自のパッチで修正されている場合が多か +ったためです。それぞれの脆弱性は Low や Medium 等のあまり気にする必要 +のないものではありますが、あるよりない方が精神的にも幸せになれますから、 +こちらを選択しています。 +とはいえ、最初に Ubuntu を選択した理由は純粋に当時は Debian をあまり +使ったことがなかっただけで、その後に Debian と Ubuntu をそれぞれ利用す +るようになったのち、Wazuh からの脆弱性アラートの数が大きく異なること +に気づいたという時系列が正しいため、最終的にはすばらしい選択ではありま +したが、これはただの偶然です。昔から Ubuntu しか使ったことがなかったた +め、必然的に Ubuntu Server が選ばれました。 +また、リリースから 1 年半遅れにはなりましたが、つい最近時間があって暇 +だったため、部のサーバを Ubuntu Server 24.04 LTS にアップグレードしまし +た。do-release-upgrade 君 が勝手にソースを吹っ飛ばしたため、かなり焦りま +した。そういう所を見ると Debian Trixie のアップグレードは楽でしたが、さ +すがに手軽さがないのと、どうでも良いレベルとはいえ脆弱性のあるパッケー +ジが stable のリポジトリにそれなりの数存在するため、弊部で導入することは +しばらくはないのかなと思います。Canonical が Ubuntu Server を完全有料化し +ないことを祈っています。RedHat のようなことをする会社は 1 社で間に合っ +ていますので。もちろん、タダで使わせてもらっている立場ですから甘んじて +受け入れますが。 +また、LDAP の導入は直前まで悩みましたが、結局導入しませんでした。 +GitLab SSO から LDAP を実質的にプロキシ出来るのですが、そもそも GitLab +内部の認証以外が非推奨であるのと、LDAP の管理コストを考えるとさすがに +導入を躊躇しました。しかし、現状は Redmine 等の他のサービスもできたこ +とから、導入しておけばよかったとも感じています。ただし、後輩の育成項目 +が増えるため、一長一短ですが。 +ネットワーク構成 +学内の LAN を利用しているため、通信は SINET から出る形になります。意 +味があるかは微妙ですが、上流に FortiGate を設置し、IDS を掛けている他、 +ファイアウォールポリシーにより、起こりえない通信をブロックしています。 +ただし、FortiGate はもちろん保守や AV パッケージの購入ができる予算はない +ため、かなり古いバージョンの FortiOS と IDS 定義で運用しています。学内で +は LAN 内折り返しが一切制限されておらず、誰でも当該ルータにパケットを +投げることができるような状態ですが、FortiVPN 等の待ち受けを行っておら +ず、管理画面も MGMT ポート及びサーバからのみ接続出来るような構成にな +っ て い る た め 、 問 題 は 起 こ り づ ら い 環 境 で あ る と 考 え て い ま す 。 最 近 の +FortiGate は保守無しで運用していると、勝手にファームウェアアップデート +をするとのことなので、次のシステム更新では、こちらも更新してもよいかも +しれません。さすがに FortiGate 100D は骨董品がすぎます。 +FortiGate とサーバ間は/30 の IPv4 で接続しています。これは、サーバの L2 +ネットワークに侵入者が接続しようとした際に、必ずゲートウェイかサーバの + +TLP:CLEAR +TLP:CLEAR +どちらかをオフラインにしなければならないようにし、発見を早めたいという +意図と、サーバ間通信を FortiGate のポリシーで管理したいため、横着して同 +一 L2 につなぐ馬鹿をシス管チームで最もがさつな私が行わないようにするた +めです。また、IPv6 に関しては、そもそも学内ネットが対応していないため、 +弊部では導入していません。 +過去 1 度起こった問題として、FortiGate の設定値が異常な値になっており、 +緊急メンテナンスを行う際に、サーバと Cloudflare との接続は問題無かったた +め、Cloudflare Tunnel により管理画面へのアクセスを Cloudflare Access 付きで +許可し、遠隔メンテナンスしたことがあります。セキュリティレベルが大きく +下がりますが、サーバネットワークから管理画面に入れるようにしておくと幸 +せになれるかもしれません。もちろん、ベストはコンソールサーバを導入する +ことだとは思います。 +なんちゃって IaC の導入 +IaC とは、インフラをコードで掛けるようにする便利技術です。K8s などが +有名な IaC を可能にするツールですが、これらは YAML 等で書かれた定義フ +ァイル通りにインフラを構築します。そういう意味では Docker Compose も IaC +みたいなものですから、最初から IaC は対応しているようなものです。 +弊部ではより安全な運用のため、Compose ファイルを Git 管理することにし +ました。弊部では GitHub に全幅の信頼を置いているため、シークレットを含 +むファイルを大量に GitHub のプライベートリポジトリにアップロードしてい +ます。これにより、更新作業等で失敗が起こった場合でも、git revert を行うだ +けで、ミスをなかったことにできます。ただし、データベースが侵害された場 +合にはどうしようもないですから、もちろん作業前バックアップはこれまで通 +り行います。 +なお、Renovate や K8s、ArgoCD 等を導入しようかと思いましたが、LDAP +サーバなどとは比べものにならない管理コストが発生するため、ひとりごとチ +ャンネルにぼそっと書いた瞬間にシスアドチームメンバーから NG のリアクシ +ョンが飛んできました。さすがに K8s はマネジメントコスト高すぎるのでそ +れはそうです。GitHub か +ら Pull してくる手間が丸 +々 無く なる ので 、便 利か +な と思 いま した が、 さす +がに無理です。 +また、Grafana に存在するダッシュボードを Git 管理する機能なども利用し +ています。全体的に Git 連携機能のあるソフトウェアは当該機能をオンにする +と大抵使いやすくなるため便利です。 +サーバのメンテナンス +ソフトウェア更新などのサーバメンテナンスは、主に Mattermost の新リリ +ースに合わせる形で行っています。弊部では ESR にとどめることはせず、率 +先して最新版を適用していますので、ほぼ毎月更新作業があります。 +サーバのシェルには、サーバに接続している KVM か、Cloudflare Tunnel お +よび Access を使ったブラウザでのシェル接続を行います。自宅では Teleport +等を利用していますが、ログが残らない点以外は Cloudflare Tunnel の SSH ア + +実際のチャットログ + +TLP:CLEAR +TLP:CLEAR +プリケーションで十分です。エラーログを最悪録画で見れるようにと作業中は +画面共有を Teams で行ってほしいと考えチャンネルを作りましたが、こちら +は現在運用されていません。さすがに不便すぎるため、使わない理由も分かり +ますが。 +サーバではシス管 1 人 1 人にユーザを払い出しており、Access により認証が +通ると、それぞれのアカウントに自動的にログインされるようになります。ま +た、Access の認証は Microsoft Entra ID 及び Google Cloud Identity Free を利用し +ています。一応 GitHub OAuth も対応させてはいますが、使っている人は見た +ことがありません。 +本来なら各ユーザ毎に実行できるコマンドを厳格に制限したり、history を +収集すべきだとは思いますが、さすがに数名でボランティア的に運用している +サーバでこれらの設定を行うのは大変で、おまけに運用が無駄に複雑化するた +め、これらのセキュリティはほぼ設定されていません。サーバに設定されてい +るセキュリティ機能といえば、ClamAV の定期実行と UFW くらいです。 +また、メンテナンス前には一応マニュアルを作ったり、前述したなんちゃっ +て IaC にて複数名で投入するコンフィグをレビューしたりしています。現状、 +マニュアルにないエラーが出たことはありましたが、操作ミスによるトラブル +は発生していません。 +この運用も後輩が出来てからより安全になっていきました。ワンオペはやは +り危険な現場猫運用になりますね。 +作業マニュアル +作業マニュアルは Redmine 及び YouTrack Cloud で管理しています。Redmine +は同じサーバで運用されているため、YouTrack Cloud にバックアップのように +設置している形です。また、タスク管理は Redmine で行っていますが、口頭 +でお願いする場面がそれなりにあるため、常に Redmine が正しいという訳で +はないというかなり問題のある運用になっています。 +しかし、Redmine に助けられたケースはかなり多く、過去起こった問題、解 +決に掛かった時間、問題の原因、投入したコマンド等を事細かに記述していま +すから、本来は別で用意すべきではありますが、チケット一覧が簡易的なナレ +ッジベースになっています。例えば、2025 年 7 月に起こった Grafana Cloud の +Log 保存が 50GB を超えてしまう問題について、Postfix から大量の送信エラー +が出ており、原因としては root ユーザによる Cronjob の 送信元アドレスが +MAIL_FROM を設定していても Enverope From が root@のままであることに起 +因する、送信元アドレス不明エラーであり、本来は設定投入時に検証すべき所 +が検証漏れしていたのか、一度運用で root@のメールアドレスがさくらのメー +ルボックスから消されたかのどちらかが原因かと思われますが、これについて、 +実際の変更した設定値とその意味について書いているため、もし誰かが間違え +て root@のメールアドレスを吹き飛ばしても、過去のチケットから原因究明出 +来るはずです。 +また、初期の頃は作業マニュアルは Word 製のコピペがまともに出来ない恐 +ろしいマニュアルでしたが、Redmine 導入後には Markdown になり、コピペし +やすくなりました。その代わり、これまでマニュアルにあった、警告色で重要 +な箇所をマークする等のアノテーションが効かなくなったのですが、今のとこ +ろ問題は起こっていません。 + +TLP:CLEAR +TLP:CLEAR +もし許可が下りれば、過去利用していた Mattermost 更新資料を添付しよう +と思います。 +さらば、Mattermost +Mattermost は と て も よ い ソ リ ュ ー シ ョ ン で す 。 弊 部 で 適 当 に 聞 い て も 、 +Mattermost に対する不満は、よくあるアプリとは別で Mattermost とか言う聞 +きなじみのない謎のアメリカ産アプリをインストールしなければならないだっ +たり、ID 管理が追加で必要というものですが、少なくとも一般の平均的な学 +生にして見れば Slack だって同じなわけです。 +少なくとも、弊学では Slack を使う授業は存在するものの、圧倒的に少数で、 +大体は Moodle 及び Teams で相互にやりとりを行い、Slack などというものを +知らずに卒業する人がほとんどでしょう。 +弊部で Mattermost を運用停止する理由はただ一つで、先日のポリシー変更 +に よ り 、 250 名 を 超 え る テ ナ ン ト で 利 用 で き な く な っ た か ら で す 。 元 々 +Mattermost には 1,000 ユーザまでの制限がありました。実はこれすら知らなか +ったのですが、さすがに 250 人に行くまでは簡単に道筋が浮かんでしまいます。 +そして、Mattermost から移行をするのであれば、DB や API が大きく変わら +ないうちに移行をしなければなりません。現在であれば Mattermost からの移 +行スクリプトはいくらでもありますが、これが Mattermost 11 になった後や、 +それ以降のマイナーバージョンアップで利用し続けられる保証がないため、当 +該プレス公開後、すぐに対策を考え、今年度末に Matrix ベースのチャットシ +ステムに移行することにしました。つまり、最初から Element + Synapse の構 +成に移行すればよかったわけです。導入コストの高さから採用を見送ったこと +を軽く恨みたくなります。Slack からの移行と異なり、Mattermost から Synapse +の移行は、プライベートチャンネルでも、かなり頑張れば移行できそうである +ため、既存のチャットログを捨てなくてもよいのが救いです。最悪移行できな +くても、データベースに元データがあるため、これらのチャットログは HTML +等にダンプできます。何とすばらしいことでしょう。 +もしまた部誌を書く機会があれば、「Synapse 導入から n か月、現状の様子 +報 告 」 の よ う な タ イ ト ル に な る でし ょ う 。「 Synapse に は 勝 てな か っ たよ 。 +Mattermost 君これからもよろしくね」というタイトルにはならない、はず。 +また、GitLab SSO も今回終了するらしく、最悪延命することになった時に、 +GitLab SSO が足を引っ張らなくてよかったと思っております。ちなみに、自 +宅で導入していた家族向けチャットは GitLab SSO を利用して自宅内 Active +Directory および Entra ID と連携していたため、今回の件で 90 日以上前のメッ +セージにアクセス出来ないことを伝え、Mattermost から Slack に移行しました。 +元々 Slack を使っていた時期はあったので、最初からそのままにしておけばよ +かったと深く後悔しております。もともと自宅は実験的な環境としてつくって +いたこともあり、障害発生時に家族からの連絡が来ない問題もあったため、ち +ょうどよかったと思うことにします。家族内では、某総務省案件常連のチャッ +トサービスを利用していないため、おそらくこの方法が最も便利で確実かつ安 +心だと考えています。Salesforce がさらなる Slack の改悪を行わなければですが。 diff --git a/atogaki.txt b/atogaki.txt @@ -0,0 +1,7 @@ +おはようございます.普段は部内SaaSのシステム管理の一人をしたり,服飾をしたり,芸術をしたりしている物理学徒です.(人文科学もやります) +記事の締め切りである12/13(土)23:59には既に2校されている状態でしたので,今回も締め切りに間に合って良かったなと思っています. +ちなみに元々の予定としては12/15(月)の朝に入稿する感じだったので,結構ギリでしたね. +Zennとかブログとかで,WebApp開発の話などもしているので,ぜひとも御覧ください. +ポータルサイトのリンクを張っておきます. +https://www.minervajuppiter.net/works/ + diff --git a/before b/before @@ -0,0 +1,419 @@ +Pim での Mattermost 運用 + +システム管理チーム 荒木 優和 +Pim では、Slack が 90 日以上前に送信されたメッセージが閲覧できなくする +という発表を受け、異なるチャットシステムを採用することにしました。当時 +から VC 目的で運用していた Discord への移行や、Zulip という Discord のよう +なチャットシステム、Element 及び Matrix という分散型チャットプロトコルへ +の移行も考えました。弊部では他社の利用実績及び Docker を使った構築の容 +易さから、Mattermost を採用することにしました。 +2022 年 8 月から本格的に移行を開始し、現在、単一サーバで 115 ユーザを +収容し、3 年弱で 8 万件近いメッセージがやりとりされています。 +初期のサーバシステム +初期のサーバは、個人宅に設置していました。当時はサーバ運用知識があま +りなかった上、他のサーバソフトウェアと共存させており、他のソフトウェア +が Load Average や Disk IO を食い尽くしたり、コアスイッチやボーダールータ +の再起動をよくしていたため、利用者に不便を強いてしまっていました。部と +しても 1 個人の自宅に大量のチャットデータが入っているマシンが存在するこ +とは問題であると考え、同年 9 月 9 日に部の保有するサーバへの移行を行い、 +11 月 21 日に学内への移設作業を行いました。 + +導入当時は、島根県内の OCN の個人向け回線を利用し、nginx のリバース +プロキシをかませた状態で提供していましたが、学内に設置するに当たり、ポ +ート開放ができないため、Cloudflare Tunnel を利用することにしました。最初 +はアクティブメンバーであった情報科学生の研究室に設置する予定でしたが、 +情報科では独自のネットワークで DNS と DHCP 以外の UDP トラヒックが外 +部に出ていかないなどという、すばらしいネットワー +クであったため、学内ネットが利用できる活動部屋に +設置することになりました。 +また、構築当初はメールを自宅内のメール送信シス +テムを経由させ、Mailjet のようなサービスを利用し通 +知メールを送信していましたが、1 日で 100 件を超え +るメールを送っていたため、Vultr を個人で契約して +SMTP サーバを運用していましたが、学内への移設に +伴い、当時部員にメールアドレスを付与するために導 +入していた、さくらのメールボックスから送信するよ 初期のサーバ(右) + +当時の障害報履歴の一部 + +TLP:CLEAR +TLP:CLEAR + +う に し 、 送 信 元 ア ド レ ス も 「 noreply@chat.<base domain>」 か ら +「noreply.chat@<base domain>」 に変更しました。さくらのメールボックスは +当 時 DKIM に 対 応 し て お ら ず 、 SPF と +DMARC の み を 設 定 し て い た 状 態 で し た +が、特にメール不着のクレームなどもなく、 +スムーズに移行できました。 +当時の Mattermost 運用は今よりも遙か +にずさんでした。学内に移行した後は当時 +よりまともになりますが、システム管理チ +ー ム に 新入 生 を 迎え る ま で 、 こ の 大 味 な +2000 年代初期を感じるサーバ運用は続き +ます。設置先の部屋の管理担当が勝手にサ +ーバを強制終了したりとか。また、当時の +管理者は大学からバスで 40 分の場所に住 +んでいたため、迅速な障害対応ができず、 +おまけに担当者の所属学部ではない建屋に +存在したため、深夜や土日などには対応が +できない等の致命的な問題もありました。 +サーバの監視 +個人宅に設置していた際は上記のスクリーンショットにあるように Zabbix +で監視していました。学内に移行した際にもこのシステムは使い続けており、 +Zabbix Agent 2 を利用して Docker 監視などを行っていました。この監視では、 +WireGuard で WebARENA Indigo 上の監視システムと接続し、Zabbix による監 +視を入れていた他、後に島根の OCN 回線からも Uptime Kuma を利用し、接続 +性確認とエラー通知を行っていました。その後、Pim 側で管理運用するサーバ +として、Grafana Cloud とオンプレの Grafana を同一サーバに設置しました。 +Grafana Cloud では、サーバ本体の死活監視及びリソース使用率の監視とログ +収集を当初行っており、後に Grafana Pyroscope を活用した、Mattermost サー +バのプロファイリング情報を確認できるようにしています。2025 年 5 月に実 +施した Grafana Cloud の利用状況調査では、シリーズ数は約 5,000 件と、無料 +枠の 1/4 程度利用しており、ログは 2.5 GB 程度消 +費し、プロファイリングも 13 GB 程度と、100 人 +越えのインスタンスは Grafana Cloud の無料枠で特 +に問題なく監視できていました。シスアドチーム +は4名ですので、どちらかと言うと、3 ユーザ制 +限のほうがキツいです。 +オ ン プ レ の Grafana で は 、 Loki を 使 っ た +Mattermost のログ監視を Grafana Cloud と冗長化し +ておこなっている他、Mattermost の PostgreSQL に +直接接続し、Mattermost 内の統計を取っています。 +2025 年の後半に部員宅の Uptime Kuma が DB の +破損の影響でサービスを終了したため、Phare を +導入し、シス管チームが監視システムを直接扱え +るようにしたほか、Discord への自動通報機能や、 + +自宅内メールサーバの pflogsumm + +Phare のステータス +TLP:CLEAR +TLP:CLEAR + +*1https://github.com/mkaraki/mattermost-image-compression-plugin +シス管チームホームページから監視画面が見られるようになりました。 +ドメイン変更 +現在、弊部では「pim.gr.jp」ドメインを利用していますが、当時は異なるド +メインを利用していました。企業と連絡を取ることが増えたのと、ドメインレ +ピュテーションを少しでも高くする目的で、2023 年 9 月に部で利用するドメ +インを完全に変更しました。この影響で、Mattermost で利用しているドメイン +も 変 更 と な り ま し た 。 Mattermost の ド メ イ ン 変 更 は 、「 .env」 フ ァ イ ル の +「DOMAIN」を変更するだけで完結しましたが、古い Mattermost のメッセー +ジリンクが一部 Mattermost 内に存在する影響で、これらのエンドポイントに +接続しようとし、失敗するエラーが発生しましたが、「Disable website link +previews from these domain」の設定に旧ドメインを設定することで、強引に対 +処しました。 +ドメイン変更時には旧 URL でアクセスする部員がいる等のトラブルも起き +ましたが、特に大規模な障害もなく移行できました。ただ、予算の問題で古い +ドメインは更新していないため、ドロップキャッチ被害が起こる可能性と今後 +永久に向き合う必要があります。ドメイン取得は本当に覚悟が必要ですね。 +ちなみに、Pim のサーバ内では、旧ドメインのディレクトリが大量に残った +ままになっています。完全に歴史的経緯案件ですね。 +データ量対策 +Open Source Conference 2023 Shimane に て、弊部での Mattermost 利用状況に +ついて発表しましたが、その際に大量の添付ファイルがやりとりされているこ +とに気がつきました。インストール当初はそれこそファイル容量制限をデフォ +ルト値にしており、動画などを貼り付けられ、それの対応として Discord と同 +じ 8 MB 制限を導入して対応していましたが、とはいえ 8 MB も十分重く、主 +な添付ファイルが画像であることも影響し、多くのストレージを消費する事態 +となりました。 +そのため、アップロードされた画像を小さいサービスにリサイズし、WebP +のクオリティを限りなく下げた上で保存する Mattermost のプラグインを作成 +しました。現在、GitHub で公開しています*1。また、当時は WebP のプレビュ +ー が で き な か っ た た め 、 WebP プ レ ビ ュ ー を 可 能 に す る パ ッ チ を 作 成 し 、 +Mattermost 本体にプルリクエストを送りました。元々なぜかモバイル版ではプ +レビューができていたため Web 版のみの対応であり、おまけに数行編集する +だけで対応できたのが幸いでした。テストコードの方が長かったです。 +このプラグインはよく働いてくれました。実際の環境では、2/3 もの画像が +読み込みエラーで圧縮されないなどという訳の分からない謎バグもありました +が、適当に 6 か月分の添付ファイルのサイズ情報を見ますと、未圧縮の JPEG、 +PNG ファイルは 436 件で 776MiB あるのに対し、圧縮済み WebP ファイルは +253 件で 7.2MiB と、作者本人も絶賛する性能です。 +また、Docker 版の Mattermost では内蔵されている画像処理ライブラリが少 +なく、これが画像の読み込みに失敗する理由だと考えていますが、現在はこの + +TLP:CLEAR +TLP:CLEAR + +*1https://sysadmin.pim.gr.jp/contents/2025/05_mattermost_stats/ + +TLP:CLEAR +TLP:CLEAR +プラグインはメンテナンスしておらず、後述の理由から今後メンテナンスをす +ることもないでしょう。 +学内でのサーバ引っ越し +実は学内でのサーバの場所は 1 度変わっています。元々サーバを設置してい +た部屋では、先に記述したように、サーバの電源が第三者に切られていた問題 +などがあり、はっきり言って安全な環境ではありませんでした。 +部の顧問をしている教員の所属するセンターでサーバラックを導入したが、 +そこに空きスペースがあるとのことで、そちらの空きスペースを一部お借りし、 +弊部のサーバを置かせていただけることになったため、そちらに引っ越しを行 +いました。ちなみに、前述したドメイン変更もこのタイミングで行っています。 +また、同時に PostgreSQL のバージョン更新を行いました。特に Mattermost +の要求バージョンギリギリになっていた訳ではないですが、当時の最新版であ +る Postgres 15 にバックアップ復元訓練をかねる形でアップグレードを行いま +した。Postgres はメジャーバージョンが変わると DB に互換性がなくなるため、 +一度 pg_dump でデータベースをエクスポートした後にまっさらな状態の DB +にインポートをしなければならず、バックアップの復元と全く同じ手順が要求 +されるため、とても有用な訓練になりました。また、作業数日後に PostgreSQL +16.0 がリリースされたため、ギリギリのタイミングで少し古い Postgres 系統を +採用してしまった形になります。 +この部屋も学部が違うため、土日や深夜時間での対応はできませんが、移行 +時にはシス管チームにも優秀な後輩がいたため、平日の昼であれば最悪後輩が +代わりに対応をしてもらえるようになりました。また、この後輩はかなり慎重 +派で、取りあえずバックアップ無しで適当に更新をかける私と違い、適切な手 +順に従い更新をしてくれるため、重大な問題を発生させることもなく、とても +頼りになる存在です。 +最近の利用状況・リソース情報 +2025 年 5 月に実施した調査結果が、シス管チームホームページに掲載され +ています +*1。Mattermost サーバは世代遅れの 6th gen Core i7 サーバで動いてい +ますが、CPU 性能は申し分ないです。ごくまれに OOM Killer の おかげで +Mattermost が殺されていますので、16 GB メモリだと少し厳しいかもしれませ +んが、Docker で運用しているため、Restart Policy で勝手に復旧してくれるの +が便利です。もし構築する際は Restart Policy が設定できる Docker か systemd +を利用することをおすすめします。 +過去 4 日間のプロファイルを見る限り、たまにスパイクもありますが、そこ +まで大きなものではなく、安定して稼働していると言っても良いでしょう。 +また、初期の Mattermost サーバは Core i3 + 16 GB RAM で他のサービスと +共存させていました。そのため、Mattermost 自体はかなり軽量なソフトウェア +と言って良いでしょう。どちらかというとセキュリティソリューションである +ClamAV のメモリ使用率のほうが高く、おまけに現システムでは主に歴史的経 +緯から apt 版の Clamd と Docker 版の Clamd が同時に立ち上がっているため、 + +TLP:CLEAR +TLP:CLEAR + +平常時よりも多くのメモリを消費しています。 +■ClamAV の利活用 +弊部ではセキュリティソリューションに ClamAV を利用しています。セキュ +リティソリューションとして個人的に利用しているのは ESET ですが、さすが +に Linux 向け ESET は高額であり、Sophos の無料版もすでに存在しておらず、 +実質てきに利用できる唯一のソリューションでした。まあ、Cisco Systems の +プロダクトではあるので、無いよりは絶対によいだろうというノリで採用して +います。マルウェアスキャンは定期実行していますが、特にリアルタイムスキ +ャンは行っていません。現状検知されたことも無く、多分侵害は起こっていな +いでしょう。 +また、後述しますが、Mattermost の ClamAV プラグインを利用しているため、 +悪意のあるユーザや、アカウントの乗っ取り被害に遭ったユーザが WannaCry +等をアップロードしようとしても防がれるはずです。多分。 +実際のシステム構成 +Mattermost Docker の システム構成は当初からあまり変わっていません。 +PostgreSQL と Mattermost Community Edition、 そして Watchtower でパッチバー +ジョンの自動更新を入れています。Watchtower は containrrr の提供する物を使 +っていましたが、Docker のバージョンアップのため利用できなくなり、現在 +は Nick Fedor 氏の Fork 版を利用しています。Mattermost のバージョン指定を +マイナーバージョンまでにとどめておきますと、自動で更新されるため、ヒュ +ーマンリソースが足りていない弊部ではかなり助かっています。 +また、2023 年 1 月に ClamAV を同一 Compose にインストールし、ClamAV +プラグインからウイルススキャンを掛けられるようにしました。ClamAV はか +なりメモリを食いますが、新サーバに切り替わった後でメモリも 16GB あった +ため、特に問題なく動いています。試しに EICAR を置いてみたこともありま +すが、元気よくブロックしてくれています。 +オンプレ監視システムとして、Grafana と Loki、Promtail(後に Alloy に移行) +を導入しました。Grafana が Postgres に接続できる必要があるため、本来はあ +まりよくないのでしょうが、これらも同じ Compose で定義されています。 +また、Zabbix や Grafana Cloud からの監視用に nginx +を導入しています。これらは nginx の stub_status 及 +び JSON で出力されるログを参照し、Mattermost への +接続状況を出力してくれます。こちらの機能に関し +ては、弊部で提供しているもうひとつのサービスで +ある Redmine にも導入したいと考えているほど有用 +で、例えば古いバージョンの Mattermost Client が使 +い続けられている等のセキュリティ上の問題になり +得そうな状況の監視も可能です。また、弊部では特 +に導入していませんが、Crowdsec 等と連携し、悪意 +のある接続の試行者を IP BAN することもできるでし +ょう。 +サーバのホストには Ubuntu Server を利用しています。最初に導入した際は +自宅サーバの Proxmox 上にダイレクトに Docker をインストールするという、 +ロックな手法で構築していましたが、部のサーバになってからは Ubuntu Server +nginx の監視画面 + +TLP:CLEAR +TLP:CLEAR +を利用しています。Docker のホストにある程度高機能で重たい Ubuntu Server +を利用している理由として、apt ベースのアプリケーションをインストールし +て使う用途があったというのと、Debian と比べ、商用向けにも作られている OS +だけあって、Ubuntu では脆弱性が独自のパッチで修正されている場合が多か +ったためです。それぞれの脆弱性は Low や Medium 等のあまり気にする必要 +のないものではありますが、あるよりない方が精神的にも幸せになれますから、 +こちらを選択しています。 +とはいえ、最初に Ubuntu を選択した理由は純粋に当時は Debian をあまり +使ったことがなかっただけで、その後に Debian と Ubuntu をそれぞれ利用す +るようになったのち、Wazuh からの脆弱性アラートの数が大きく異なること +に気づいたという時系列が正しいため、最終的にはすばらしい選択ではありま +したが、これはただの偶然です。昔から Ubuntu しか使ったことがなかったた +め、必然的に Ubuntu Server が選ばれました。 +また、リリースから 1 年半遅れにはなりましたが、つい最近時間があって暇 +だったため、部のサーバを Ubuntu Server 24.04 LTS にアップグレードしまし +た。do-release-upgrade 君 が勝手にソースを吹っ飛ばしたため、かなり焦りま +した。そういう所を見ると Debian Trixie のアップグレードは楽でしたが、さ +すがに手軽さがないのと、どうでも良いレベルとはいえ脆弱性のあるパッケー +ジが stable のリポジトリにそれなりの数存在するため。弊部で導入することは +しばらくはないのかなと思います。Canonical が Ubuntu Server を完全有料化し +ないことを祈っています。RedHat のようなことをする会社は 1 社で間に合っ +ていますので。もちろん、タダで使わせてもらっている立場ですから甘んじて +受け入れますが。 +また、LDAP の導入は直前まで悩みましたが、結局導入しませんでした。 +GitLab SSO から LDAP を実質的にプロキシ出来るのですが、そもそも GitLab +内部の認証以外が非推奨であるのと、LDAP の管理コストを考えるとさすがに +導入を躊躇しました。しかし、現状は Redmine 等の他のサービスもできたこ +とから、導入しておけばよかったとも感じています。ただし、後輩の育成項目 +が増えるため、一長一短ですが。 +ネットワーク構成 +学内の LAN を利用しているため、通信は SINET から出る形になります。意 +味があるかは微妙ですが、上流に FortiGate を設置し、IDS 掛けている他、フ +ァイアウォールポリシーにより、起こりえない通信をブロックしています。た +だし、FortiGate はもちろん保守や AV パッケージの購入ができる予算はないた +め、かなり古いバージョンの FortiOS と IDS 定義で運用しています。学内では +LAN 内折り返しが一切制限されておらず、誰かが WannaCry 等に感染した場 +合、学内有線 LAN 及び Wi-Fi に接続しているかなりの数のホストが危険にさ +らされるような構成ではありますが、FortiVPN 等の待ち受けを行っておらず、 +管理画面も MGMT ポート及びサーバからのみ接続出来るような構成になって +いるため、問題は起こりづらい環境であるとは考えています。最近の FortiGate +は保守無しで運用していると、勝手にファームウェアアップデートをするとの +ことなので、次のシステム更新では、こちらも更新してもよいかもしれません。 +さすがに FortiGate 100D は骨董品がすぎます。 +FortiGate とサーバ間は/30 の IPv4 で接続しています。これは、サーバの L2 + +TLP:CLEAR +TLP:CLEAR +ネットワークに侵入者が接続しようとした際に、必ずゲートウェイかサーバの +どちらかをオフラインにしなければならないようにし、発見を早めたいという +意図と、サーバ間通信を FortiGate のポリシーで管理したいため、横着して同 +一 L2 につなぐ馬鹿をシス管チームで最もがさつな私が行わないようにするた +めです。また、IPv6 に関しては、そもそも学内ネットが対応していないため、 +弊部では導入していません。 +過去 1 度起こった問題として、FortiGate の設定値が異常な値になっており、 +緊急メンテナンスを行う際に、サーバと Cloudflare との接続は問題無かったた +め、Cloudflare Tunnel により管理画面へのアクセスを Cloudflare Access 付きで +許可し遠隔メンテナンスしたことがあるため、セキュリティレベルが大きく下 +がりますが、サーバネットワークから管理画面に入れるようにしておくと幸せ +になれるかもしれません。もちろん、ベストはコンソールサーバを導入するこ +とだとは思います。 +なんちゃって IaC の導入 +IaC とは、インフラをコードで掛けるようにする便利技術です。K8s などが +有名な IaC を可能にするツールですが、これらは YAML 等で書かれた定義フ +ァイル通りにインフラを構築します。そういう意味では Docker Compose も IaC +みたいなものですから、最初から IaC は対応しているようなものです。 +弊部ではより安全な運用のため、Compose ファイルを Git 管理することにし +ました。弊部では GitHub に全幅の信頼を置いているため、シークレットを含 +むファイルを大量に GitHub のプライベートリポジトリにアップロードしてい +ます。これにより、更新作業等で失敗が起こった場合でも、git revert を行うだ +けで、ミスをなかったことにできます。ただし、データベースが侵害された場 +合にはどうしようもないですから、もちろん作業前バックアップはこれまで通 +り行います。 +なお、Renovate や K8s、ArgoCD 等を導入しようかと思いましたが、LDAP +サーバなどとは比べものにならない管理コストが発生するため、ひとりごとチ +ャンネルにぼそっと書いた瞬間にシスアドチームメンバーから NG のリアクシ +ョンが飛んできました。さすがに K8s はマネジメントコスト高すぎるのでそ +れはそうです。GitHub か +ら Pull してくる手間が丸 +々 無く なる ので 、便 利か +な と思 いま した が、 さす +がに無理です。 +また、Grafana に存在するダッシュボードを Git 管理する機能なども利用し +ています。全体的に Git 連携機能のあるソフトウェアは当該機能をオンにする +と大抵使いやすくなるため便利です。 +サーバのメンテナンス +ソフトウェア更新などのサーバメンテナンスは、主に Mattermost の新リリ +ースに合わせる形で行っています。弊部では ESR にとどめることはせず、率 +先して最新版を適用していますので、ほぼ毎月更新作業があります。 +サーバのシェルには、サーバに接続している KVM か、Cloudflare Tunnel お +よび Access を使ったブラウザでのシェル接続を行います。自宅では Teleport + +実際のチャットログ + +TLP:CLEAR +TLP:CLEAR +等を利用していますが、ログが残らない点以外は Cloudflare Tunnel の SSH ア +プリケーションで十分です。エラーログを最悪録画で見れるようにと作業中は +画面共有を Teams で行ってほしいと考えチャンネルを作りましたが、こちら +は現在運用されていません。さすがに不便すぎるため、使わない理由も分かり +ますが。 +サーバではシス管 1 人 1 人にユーザを払い出しており、Access により認証が +通ると、それぞれのアカウントに自動的にログインされるようになります。ま +た、Access の認証は Microsoft Entra ID 及び Google Cloud Identity Free を利用し +ています。一応 GitHub OAuth も対応させてはいますが、使っている人は見た +ことがありません。 +本来なら各ユーザ毎に実行できるコマンドを厳格に制限したり、history を +収集すべきだとは思いますが、さすがに数名でボランティア的に運用している +サーバでこれらの設定を行うのは大変で、おまけに運用が無駄に複雑化するた +め、これらのセキュリティはほぼ設定されていません。サーバに設定されてい +るセキュリティ機能といえば、ClamAV の定期実行と UFW くらいです。 +また、メンテナンス前には一応マニュアルを作ったり、前述したなんちゃっ +て IaC にて複数名で投入するコンフィグをレビューしたりしています。現状、 +マニュアルにないエラーが出たことはありましたが、操作ミスによるトラブル +は発生していません。 +この運用も後輩が出来てからより安全になっていきました。ワンオペはやは +り危険な現場猫運用になりますね。 +作業マニュアル +作業マニュアルは Redmine 及び YouTrack Cloud で管理しています。Redmine +は同じサーバで運用されているため、YouTrack Cloud にバックアップのように +設置している形です。また、タスク管理は Redmine で行っていますが、口頭 +でお願いする場面がそれなりにあるため、常に Redmine が正しいという訳で +はないというかなり問題のある運用になっています。 +しかし、Redmine に助けられたケースはかなり多く、過去起こった問題、解 +決に掛かった時間、問題の原因、投入したコマンド等を事細かに記述していま +すから、本来は別で用意すべきではありますが、チケット一覧が簡易的なナレ +ッジベースになっています。例えば、2025 年 7 月に起こった Grafana Cloud の +Log 保存が 50GB を超えてしまう問題について、Postfix から大量の送信エラー +が出ており、原因としては root ユーザによる Cronjob の 送信元アドレスが +MAIL_FROM を設定していても Enverope From が root@のままであることに起 +因する、送信元アドレス不明エラーであり、本来は設定投入時に検証すべき所 +が検証漏れしていたのか、一度運用で root@のメールアドレスがさくらのメー +ルボックスから消されたかのどちらかが原因かと思われますが、これについて、 +実際の変更した設定値とその意味について書いているため、もし誰かが間違え +て root@のメールアドレスを吹き飛ばしても、過去のチケットから原因究明出 +来るはずです。 +また、初期の頃は作業マニュアルは Word 製のコピペがまともに出来ない恐 +ろしいマニュアルでしたが、Redmine 導入後には Markdown になり、コピペし +やすくなりました。その代わり、これまでマニュアルにあった、警告色で重要 +な箇所をマークする等のアノテーションが効かなくなったのですが、今のとこ + +TLP:CLEAR +TLP:CLEAR + +ろ問題は起こっていません。 +もし許可が下りれば、過去利用していた Mattermost 更新資料を添付しよう +と思います。 +さらば、Mattermost +Mattermost は と て も よ い ソ リ ュ ー シ ョ ン で す 。 弊 部 で 適 当 に 聞 い て も 、 +Mattermost に対する不満は、よくあるアプリとは別で Mattermost とか言う聞 +きなじみのない謎のアメリカ産アプリをインストールしなければならないだっ +たり、ID 管理が追加で必要というものですが、少なくとも一般の平均的な学 +生にして見れば Slack だって同じなわけです。 +少なくとも、弊学では Slack を使う授業は存在するものの、圧倒的に少数で、 +大体は Moodle 及び Teams で相互にやりとりを行い、Slack などというものを +知らずに卒業する人がほとんどでしょう。 +弊部で Mattermost を運用停止する理由はただ一つで、先日のポリシー変更 +に よ り 、 250 名 を 超 え る テ ナ ン ト で 利 用 で き な く な っ た か ら で す 。 元 々 +Mattermost には 1,000 ユーザまでの制限がありました。実はこれすら知らなか +ったのですが、さすがに 250 人に行くまでは簡単に道筋が浮かんでしまいます。 +そして、Mattermost から移行をするのであれば、DB や API が大きく変わら +ないうちに移行をしなければなりません。現在であれば Mattermost からの移 +行スクリプトはいくらでもありますが、これが Mattermost 11 になった後や、 +それ以降のマイナーバージョンアップで利用し続けられる保証がないため、当 +該プレス公開後、すぐに対策を考え、今年度末に Matrix ベースのチャットシ +ステムに移行することにしました。つまり、最初から Element + Synapse の構 +成に移行すればよかったわけです。導入コストの高さから採用を見送ったこと +を軽く恨みたくなります。Slack からの移行と異なり、Mattermost から Synapse +の移行は、プライベートチャンネルでも、かなり頑張れば移行できそうである +ため、既存のチャットログを捨てなくてもよいのが救いです。最悪移行できな +くても、データベースに元データがあるため、これらのチャットログは HTML +等にダンプできます。何とすばらしいことでしょう。 +もしまた部誌を書く機会があれば、「Synapse 導入から n か月、現状の様子 +報 告 」 の よ う な タ イ ト ル に な る でし ょ う 。「 Synapse に は 勝 てな か っ たよ 。 +Mattermost 君これからもよろしくね」というタイトルにはならない、はず。 +また、GitLab SSO も今回終了するらしく、最悪延命することになった時に、 +GitLab SSO が足を引っ張らなくてよかったと思っております。ちなみに、自 +宅で導入していた家族向けチャットは GitLab SSO を利用して自宅内 Active +Directory および Entra ID と連携していたため、今回の件で 90 日以上前のメッ +セージにアクセス出来ないことを伝え、Mattermost から Slack に移行しました。 +元々 Slack を使っていた時期はあったので、最初からそのままにしておけばよ +かったと深く後悔しております。もともと自宅は実験的な環境としてつくって +いたこともあり、障害発生時に家族からの連絡が来ない問題もあったため、ち +ょうどよかったと思うことにします。家族内では、某総務省案件常連のチャッ +トサービスを利用していないため、おそらくこの方法が最も便利で確実かつ安 +心だと考えています。Salesforce がさらなる Slack の改悪を行わなければですが。 diff --git a/env2json.py b/env2json.py @@ -0,0 +1,40 @@ +import os +import re +import sys +import json + +DEFAULT_ENV_FILE = ".env.local" +env_vars = [] + +if len(sys.argv) > 1: + ENV_FILE = sys.argv[1] +else: + ENV_FILE = DEFAULT_ENV_FILE + +try: + with open(ENV_FILE, 'r', encoding='utf-8') as f: + content = f.read() +except FileNotFoundError: + print(f"エラー: ファイル '{ENV_FILE}' が見つかりません。") + print("使用方法: python convert.py [envファイルのパス]") + sys.exit(1) + +for line in content.splitlines(): + line = line.strip() + if not line or line.startswith('#'): + continue + + match = re.match(r'^\s*([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)\s*$', line) + if match: + key = match.group(1) + value = match.group(2).strip() + + if value.startswith(('"', "'")) and value.endswith((value[0])): + value = value[1:-1] + + env_vars.append({ + "key": key, + "value": value + }) + +print(json.dumps(env_vars, indent=2, ensure_ascii=False)) diff --git a/kumihan.pdf b/kumihan.pdf @@ -1,4385 +0,0 @@ -%PDF-1.7 -% - -1 0 obj -<< - /Type /Pages - /Count 8 - /Kids [207 0 R 209 0 R 211 0 R 213 0 R 217 0 R 219 0 R 221 0 R 225 0 R] ->> -endobj - -2 0 obj -<< - /Type /Outlines - /First 3 0 R - /Last 17 0 R - /Count 4 ->> -endobj - -3 0 obj -<< - /Parent 2 0 R - /Next 4 0 R - /Title <FEFF0031002E00207D4472483068306F> - /Dest 192 0 R ->> -endobj - -4 0 obj -<< - /Parent 2 0 R - /Next 12 0 R - /Prev 3 0 R - /First 5 0 R - /Last 11 0 R - /Count -7 - /Title <FEFF0032002E00207D4C7DEF> - /Dest 200 0 R ->> -endobj - -5 0 obj -<< - /Parent 4 0 R - /Next 6 0 R - /Title <FEFF0032002E0031002E002000500069006D0020004E006F00740065007300200032003000320034767A6848> - /Dest 193 0 R ->> -endobj - -6 0 obj -<< - /Parent 4 0 R - /Next 7 0 R - /Prev 5 0 R - /Title <FEFF0032002E0032002E002081317A3F5F625F0F306E90785B9A> - /Dest 194 0 R ->> -endobj - -7 0 obj -<< - /Parent 4 0 R - /Next 8 0 R - /Prev 6 0 R - /Title <FEFF0032002E0033002E002030C630F330D730EC30FC30C800540065005830D530A130A430EB> - /Dest 195 0 R ->> -endobj - -8 0 obj -<< - /Parent 4 0 R - /Next 9 0 R - /Prev 7 0 R - /Title <FEFF0032002E0034002E002000540065005800480054004D004C30C630F330D730EC30FC30C8> - /Dest 196 0 R ->> -endobj - -9 0 obj -<< - /Parent 4 0 R - /Next 10 0 R - /Prev 8 0 R - /Title <FEFF0032002E0035002E002051657A3F671F9650306E8A71> - /Dest 197 0 R ->> -endobj - -10 0 obj -<< - /Parent 4 0 R - /Next 11 0 R - /Prev 9 0 R - /Title <FEFF0032002E0036002E002058CA308C305F30B930BF30A430EB> - /Dest 198 0 R ->> -endobj - -11 0 obj -<< - /Parent 4 0 R - /Prev 10 0 R - /Title <FEFF0032002E0037002E0020307E30683081> - /Dest 199 0 R ->> -endobj - -12 0 obj -<< - /Parent 2 0 R - /Next 17 0 R - /Prev 4 0 R - /First 13 0 R - /Last 15 0 R - /Count -3 - /Title <FEFF0033002E002080035BDF> - /Dest 205 0 R ->> -endobj - -13 0 obj -<< - /Parent 12 0 R - /Next 14 0 R - /Title <FEFF0033002E0031002E00203042308B51488F29306E8A71> - /Dest 201 0 R ->> -endobj - -14 0 obj -<< - /Parent 12 0 R - /Next 15 0 R - /Prev 13 0 R - /Title <FEFF0033002E0032002E002030EB30FC30EB> - /Dest 202 0 R ->> -endobj - -15 0 obj -<< - /Parent 12 0 R - /Prev 14 0 R - /First 16 0 R - /Last 16 0 R - /Count -1 - /Title <FEFF0033002E0033002E002030C430FC30EB306B306430443066> - /Dest 204 0 R ->> -endobj - -16 0 obj -<< - /Parent 15 0 R - /Title <FEFF0033002E0033002E0031002E00205BA34F1D> - /Dest 203 0 R ->> -endobj - -17 0 obj -<< - /Parent 2 0 R - /Prev 12 0 R - /Title <FEFF0034002E0020307E30683081> - /Dest 206 0 R ->> -endobj - -18 0 obj -<< - /Type /StructTreeRoot - /RoleMap << - /Datetime /Span - /Terms /Part - /Title /P - /Strong /Span - /Em /Span - >> - /K [27 0 R] - /ParentTree << - /Nums [0 19 0 R 1 20 0 R 2 21 0 R 3 22 0 R 4 134 0 R 5 134 0 R 6 23 0 R 7 24 0 R 8 25 0 R 9 38 0 R 10 34 0 R 11 26 0 R] - >> - /ParentTreeNextKey 12 ->> -endobj - -19 0 obj -[183 0 R 183 0 R 182 0 R 182 0 R 182 0 R 182 0 R 182 0 R 181 0 R 181 0 R 181 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 180 0 R 179 0 R 179 0 R 178 0 R 178 0 R 178 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 177 0 R 176 0 R 176 0 R 176 0 R 176 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R] -endobj - -20 0 obj -[175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 175 0 R 174 0 R 174 0 R 174 0 R 174 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 173 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 171 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 169 0 R 169 0 R 169 0 R 169 0 R 169 0 R 169 0 R 169 0 R 169 0 R 168 0 R 168 0 R 168 0 R 168 0 R 168 0 R 168 0 R 167 0 R 167 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R] -endobj - -21 0 obj -[165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 165 0 R 163 0 R 164 0 R 163 0 R 163 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 161 0 R 160 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 159 0 R 157 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 156 0 R 154 0 R 153 0 R 153 0 R 153 0 R 153 0 R 153 0 R 153 0 R 153 0 R 153 0 R 153 0 R 150 0 R 150 0 R 147 0 R 147 0 R 147 0 R 148 0 R 148 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R 146 0 R] -endobj - -22 0 obj -[144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 144 0 R 143 0 R 143 0 R 143 0 R 143 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 142 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 140 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R 139 0 R] -endobj - -23 0 obj -[138 0 R 138 0 R 138 0 R 138 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 137 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 136 0 R 135 0 R 135 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 133 0 R 134 0 R 134 0 R 132 0 R 132 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 130 0 R 129 0 R 129 0 R 129 0 R 129 0 R 129 0 R 127 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 126 0 R 124 0 R 123 0 R 123 0 R 123 0 R 121 0 R 120 0 R 120 0 R 120 0 R 120 0 R 120 0 R] -endobj - -24 0 obj -[118 0 R 117 0 R 117 0 R 117 0 R 117 0 R 115 0 R 114 0 R 114 0 R 114 0 R 112 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 109 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 106 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 103 0 R 102 0 R 102 0 R 102 0 R 102 0 R 102 0 R 102 0 R 102 0 R 102 0 R 100 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 99 0 R 97 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 93 0 R 92 0 R 91 0 R 91 0 R 91 0 R 91 0 R 89 0 R 88 0 R 88 0 R 88 0 R 88 0 R 88 0 R 86 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 83 0 R 82 0 R 82 0 R 82 0 R 82 0 R 79 0 R 79 0 R 79 0 R 79 0 R 79 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 77 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R] -endobj - -25 0 obj -[76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 75 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 73 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 70 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 69 0 R 67 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 64 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 63 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 60 0 R 59 0 R 59 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 58 0 R 57 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 54 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 53 0 R 51 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 50 0 R 48 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 47 0 R 44 0 R 44 0 R 44 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R] -endobj - -26 0 obj -[43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 43 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 42 0 R 41 0 R 41 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 40 0 R 39 0 R 38 0 R 35 0 R 34 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 30 0 R 29 0 R 29 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R] -endobj - -27 0 obj -<< - /Type /StructElem - /S /Document - /P 18 0 R - /K [183 0 R 182 0 R 181 0 R 180 0 R 179 0 R 178 0 R 177 0 R 176 0 R 175 0 R 174 0 R 173 0 R 172 0 R 166 0 R 165 0 R 163 0 R 162 0 R 149 0 R 147 0 R 145 0 R 144 0 R 143 0 R 142 0 R 141 0 R 139 0 R 138 0 R 136 0 R 135 0 R 133 0 R 132 0 R 131 0 R 94 0 R 93 0 R 80 0 R 79 0 R 78 0 R 77 0 R 76 0 R 75 0 R 74 0 R 61 0 R 60 0 R 59 0 R 58 0 R 45 0 R 44 0 R 43 0 R 42 0 R 41 0 R 40 0 R 31 0 R 30 0 R 29 0 R 28 0 R] ->> -endobj - -28 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192] - /Pg 225 0 R ->> -endobj - -29 0 obj -<< - /Type /StructElem - /S /H1 - /P 27 0 R - /T <FEFF307E30683081> - /K [135 136] - /Pg 225 0 R ->> -endobj - -30 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134] - /Pg 225 0 R ->> -endobj - -31 0 obj -<< - /Type /StructElem - /S /L - /P 27 0 R - /A [<< - /O /List - /ListNumbering /Circle - >>] - /K [36 0 R 32 0 R] ->> -endobj - -32 0 obj -<< - /Type /StructElem - /S /LI - /P 31 0 R - /K [35 0 R 33 0 R] ->> -endobj - -33 0 obj -<< - /Type /StructElem - /S /LBody - /P 32 0 R - /K [34 0 R] ->> -endobj - -34 0 obj -<< - /Type /StructElem - /S /Link - /P 33 0 R - /K [91 << - /Type /OBJR - /Pg 225 0 R - /Obj 224 0 R - >>] - /Pg 225 0 R ->> -endobj - -35 0 obj -<< - /Type /StructElem - /S /Lbl - /P 32 0 R - /K [90] - /Pg 225 0 R ->> -endobj - -36 0 obj -<< - /Type /StructElem - /S /LI - /P 31 0 R - /K [39 0 R 37 0 R] ->> -endobj - -37 0 obj -<< - /Type /StructElem - /S /LBody - /P 36 0 R - /K [38 0 R] ->> -endobj - -38 0 obj -<< - /Type /StructElem - /S /Link - /P 37 0 R - /K [89 << - /Type /OBJR - /Pg 225 0 R - /Obj 223 0 R - >>] - /Pg 225 0 R ->> -endobj - -39 0 obj -<< - /Type /StructElem - /S /Lbl - /P 36 0 R - /K [88] - /Pg 225 0 R ->> -endobj - -40 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87] - /Pg 225 0 R ->> -endobj - -41 0 obj -<< - /Type /StructElem - /S /H3 - /P 27 0 R - /T <FEFF5BA34F1D> - /K [64 65] - /Pg 225 0 R ->> -endobj - -42 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63] - /Pg 225 0 R ->> -endobj - -43 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 << - /Type /MCR - /MCID 0 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 1 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 2 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 3 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 4 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 5 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 6 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 7 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 8 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 9 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 10 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 11 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 12 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 13 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 14 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 15 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 16 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 17 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 18 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 19 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 20 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 21 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 22 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 23 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 24 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 25 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 26 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 27 - /Pg 225 0 R - >> << - /Type /MCR - /MCID 28 - /Pg 225 0 R - >>] - /Pg 221 0 R ->> -endobj - -44 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF30C430FC30EB306B306430443066> - /K [254 255 256] - /Pg 221 0 R ->> -endobj - -45 0 obj -<< - /Type /StructElem - /S /L - /P 27 0 R - /A [<< - /O /List - /ListNumbering /Circle - >>] - /K [55 0 R 52 0 R 49 0 R 46 0 R] ->> -endobj - -46 0 obj -<< - /Type /StructElem - /S /LI - /P 45 0 R - /K [48 0 R 47 0 R] ->> -endobj - -47 0 obj -<< - /Type /StructElem - /S /LBody - /P 46 0 R - /K [230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253] - /Pg 221 0 R ->> -endobj - -48 0 obj -<< - /Type /StructElem - /S /Lbl - /P 46 0 R - /K [229] - /Pg 221 0 R ->> -endobj - -49 0 obj -<< - /Type /StructElem - /S /LI - /P 45 0 R - /K [51 0 R 50 0 R] ->> -endobj - -50 0 obj -<< - /Type /StructElem - /S /LBody - /P 49 0 R - /K [215 216 217 218 219 220 221 222 223 224 225 226 227 228] - /Pg 221 0 R ->> -endobj - -51 0 obj -<< - /Type /StructElem - /S /Lbl - /P 49 0 R - /K [214] - /Pg 221 0 R ->> -endobj - -52 0 obj -<< - /Type /StructElem - /S /LI - /P 45 0 R - /K [54 0 R 53 0 R] ->> -endobj - -53 0 obj -<< - /Type /StructElem - /S /LBody - /P 52 0 R - /K [189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213] - /Pg 221 0 R ->> -endobj - -54 0 obj -<< - /Type /StructElem - /S /Lbl - /P 52 0 R - /K [188] - /Pg 221 0 R ->> -endobj - -55 0 obj -<< - /Type /StructElem - /S /LI - /P 45 0 R - /K [57 0 R 56 0 R] ->> -endobj - -56 0 obj -<< - /Type /StructElem - /S /LBody - /P 55 0 R - /K [176 177 178 179 180 181 182 183 184 185 186 187] - /Pg 221 0 R ->> -endobj - -57 0 obj -<< - /Type /StructElem - /S /Lbl - /P 55 0 R - /K [175] - /Pg 221 0 R ->> -endobj - -58 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174] - /Pg 221 0 R ->> -endobj - -59 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF30EB30FC30EB> - /K [129 130] - /Pg 221 0 R ->> -endobj - -60 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [119 120 121 122 123 124 125 126 127 128] - /Pg 221 0 R ->> -endobj - -61 0 obj -<< - /Type /StructElem - /S /L - /P 27 0 R - /A [<< - /O /List - /ListNumbering /Decimal - >>] - /K [71 0 R 68 0 R 65 0 R 62 0 R] ->> -endobj - -62 0 obj -<< - /Type /StructElem - /S /LI - /P 61 0 R - /K [64 0 R 63 0 R] ->> -endobj - -63 0 obj -<< - /Type /StructElem - /S /LBody - /P 62 0 R - /K [102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118] - /Pg 221 0 R ->> -endobj - -64 0 obj -<< - /Type /StructElem - /S /Lbl - /P 62 0 R - /K [101] - /Pg 221 0 R ->> -endobj - -65 0 obj -<< - /Type /StructElem - /S /LI - /P 61 0 R - /K [67 0 R 66 0 R] ->> -endobj - -66 0 obj -<< - /Type /StructElem - /S /LBody - /P 65 0 R - /K [91 92 93 94 95 96 97 98 99 100] - /Pg 221 0 R ->> -endobj - -67 0 obj -<< - /Type /StructElem - /S /Lbl - /P 65 0 R - /K [90] - /Pg 221 0 R ->> -endobj - -68 0 obj -<< - /Type /StructElem - /S /LI - /P 61 0 R - /K [70 0 R 69 0 R] ->> -endobj - -69 0 obj -<< - /Type /StructElem - /S /LBody - /P 68 0 R - /K [82 83 84 85 86 87 88 89] - /Pg 221 0 R ->> -endobj - -70 0 obj -<< - /Type /StructElem - /S /Lbl - /P 68 0 R - /K [81] - /Pg 221 0 R ->> -endobj - -71 0 obj -<< - /Type /StructElem - /S /LI - /P 61 0 R - /K [73 0 R 72 0 R] ->> -endobj - -72 0 obj -<< - /Type /StructElem - /S /LBody - /P 71 0 R - /K [71 72 73 74 75 76 77 78 79 80] - /Pg 221 0 R ->> -endobj - -73 0 obj -<< - /Type /StructElem - /S /Lbl - /P 71 0 R - /K [70] - /Pg 221 0 R ->> -endobj - -74 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69] - /Pg 221 0 R ->> -endobj - -75 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37] - /Pg 221 0 R ->> -endobj - -76 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 << - /Type /MCR - /MCID 0 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 1 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 2 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 3 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 4 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 5 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 6 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 7 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 8 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 9 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 10 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 11 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 12 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 13 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 14 - /Pg 221 0 R - >> << - /Type /MCR - /MCID 15 - /Pg 221 0 R - >>] - /Pg 219 0 R ->> -endobj - -77 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222] - /Pg 219 0 R ->> -endobj - -78 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148] - /Pg 219 0 R ->> -endobj - -79 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF3042308B51488F29306E8A71> - /K [96 97 98 99 100] - /Pg 219 0 R ->> -endobj - -80 0 obj -<< - /Type /StructElem - /S /L - /P 27 0 R - /A [<< - /O /List - /ListNumbering /Decimal - >>] - /K [90 0 R 87 0 R 84 0 R 81 0 R] ->> -endobj - -81 0 obj -<< - /Type /StructElem - /S /LI - /P 80 0 R - /K [83 0 R 82 0 R] ->> -endobj - -82 0 obj -<< - /Type /StructElem - /S /LBody - /P 81 0 R - /K [92 93 94 95] - /Pg 219 0 R ->> -endobj - -83 0 obj -<< - /Type /StructElem - /S /Lbl - /P 81 0 R - /K [91] - /Pg 219 0 R ->> -endobj - -84 0 obj -<< - /Type /StructElem - /S /LI - /P 80 0 R - /K [86 0 R 85 0 R] ->> -endobj - -85 0 obj -<< - /Type /StructElem - /S /LBody - /P 84 0 R - /K [86 87 88 89 90] - /Pg 219 0 R ->> -endobj - -86 0 obj -<< - /Type /StructElem - /S /Lbl - /P 84 0 R - /K [85] - /Pg 219 0 R ->> -endobj - -87 0 obj -<< - /Type /StructElem - /S /LI - /P 80 0 R - /K [89 0 R 88 0 R] ->> -endobj - -88 0 obj -<< - /Type /StructElem - /S /LBody - /P 87 0 R - /K [80 81 82 83 84] - /Pg 219 0 R ->> -endobj - -89 0 obj -<< - /Type /StructElem - /S /Lbl - /P 87 0 R - /K [79] - /Pg 219 0 R ->> -endobj - -90 0 obj -<< - /Type /StructElem - /S /LI - /P 80 0 R - /K [92 0 R 91 0 R] ->> -endobj - -91 0 obj -<< - /Type /StructElem - /S /LBody - /P 90 0 R - /K [75 76 77 78] - /Pg 219 0 R ->> -endobj - -92 0 obj -<< - /Type /StructElem - /S /Lbl - /P 90 0 R - /K [74] - /Pg 219 0 R ->> -endobj - -93 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73] - /Pg 219 0 R ->> -endobj - -94 0 obj -<< - /Type /StructElem - /S /L - /P 27 0 R - /A [<< - /O /List - /ListNumbering /Circle - >>] - /K [128 0 R 125 0 R 122 0 R 119 0 R 116 0 R 113 0 R 110 0 R 107 0 R 104 0 R 101 0 R 98 0 R 95 0 R] ->> -endobj - -95 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [97 0 R 96 0 R] ->> -endobj - -96 0 obj -<< - /Type /StructElem - /S /LBody - /P 95 0 R - /K [52 53 54 55 56] - /Pg 219 0 R ->> -endobj - -97 0 obj -<< - /Type /StructElem - /S /Lbl - /P 95 0 R - /K [51] - /Pg 219 0 R ->> -endobj - -98 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [100 0 R 99 0 R] ->> -endobj - -99 0 obj -<< - /Type /StructElem - /S /LBody - /P 98 0 R - /K [41 42 43 44 45 46 47 48 49 50] - /Pg 219 0 R ->> -endobj - -100 0 obj -<< - /Type /StructElem - /S /Lbl - /P 98 0 R - /K [40] - /Pg 219 0 R ->> -endobj - -101 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [103 0 R 102 0 R] ->> -endobj - -102 0 obj -<< - /Type /StructElem - /S /LBody - /P 101 0 R - /K [32 33 34 35 36 37 38 39] - /Pg 219 0 R ->> -endobj - -103 0 obj -<< - /Type /StructElem - /S /Lbl - /P 101 0 R - /K [31] - /Pg 219 0 R ->> -endobj - -104 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [106 0 R 105 0 R] ->> -endobj - -105 0 obj -<< - /Type /StructElem - /S /LBody - /P 104 0 R - /K [23 24 25 26 27 28 29 30] - /Pg 219 0 R ->> -endobj - -106 0 obj -<< - /Type /StructElem - /S /Lbl - /P 104 0 R - /K [22] - /Pg 219 0 R ->> -endobj - -107 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [109 0 R 108 0 R] ->> -endobj - -108 0 obj -<< - /Type /StructElem - /S /LBody - /P 107 0 R - /K [16 17 18 19 20 21] - /Pg 219 0 R ->> -endobj - -109 0 obj -<< - /Type /StructElem - /S /Lbl - /P 107 0 R - /K [15] - /Pg 219 0 R ->> -endobj - -110 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [112 0 R 111 0 R] ->> -endobj - -111 0 obj -<< - /Type /StructElem - /S /LBody - /P 110 0 R - /K [10 11 12 13 14] - /Pg 219 0 R ->> -endobj - -112 0 obj -<< - /Type /StructElem - /S /Lbl - /P 110 0 R - /K [9] - /Pg 219 0 R ->> -endobj - -113 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [115 0 R 114 0 R] ->> -endobj - -114 0 obj -<< - /Type /StructElem - /S /LBody - /P 113 0 R - /K [6 7 8] - /Pg 219 0 R ->> -endobj - -115 0 obj -<< - /Type /StructElem - /S /Lbl - /P 113 0 R - /K [5] - /Pg 219 0 R ->> -endobj - -116 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [118 0 R 117 0 R] ->> -endobj - -117 0 obj -<< - /Type /StructElem - /S /LBody - /P 116 0 R - /K [1 2 3 4] - /Pg 219 0 R ->> -endobj - -118 0 obj -<< - /Type /StructElem - /S /Lbl - /P 116 0 R - /K [0] - /Pg 219 0 R ->> -endobj - -119 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [121 0 R 120 0 R] ->> -endobj - -120 0 obj -<< - /Type /StructElem - /S /LBody - /P 119 0 R - /K [262 263 264 265 266] - /Pg 217 0 R ->> -endobj - -121 0 obj -<< - /Type /StructElem - /S /Lbl - /P 119 0 R - /K [261] - /Pg 217 0 R ->> -endobj - -122 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [124 0 R 123 0 R] ->> -endobj - -123 0 obj -<< - /Type /StructElem - /S /LBody - /P 122 0 R - /K [258 259 260] - /Pg 217 0 R ->> -endobj - -124 0 obj -<< - /Type /StructElem - /S /Lbl - /P 122 0 R - /K [257] - /Pg 217 0 R ->> -endobj - -125 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [127 0 R 126 0 R] ->> -endobj - -126 0 obj -<< - /Type /StructElem - /S /LBody - /P 125 0 R - /K [245 246 247 248 249 250 251 252 253 254 255 256] - /Pg 217 0 R ->> -endobj - -127 0 obj -<< - /Type /StructElem - /S /Lbl - /P 125 0 R - /K [244] - /Pg 217 0 R ->> -endobj - -128 0 obj -<< - /Type /StructElem - /S /LI - /P 94 0 R - /K [130 0 R 129 0 R] ->> -endobj - -129 0 obj -<< - /Type /StructElem - /S /LBody - /P 128 0 R - /K [239 240 241 242 243] - /Pg 217 0 R ->> -endobj - -130 0 obj -<< - /Type /StructElem - /S /Lbl - /P 128 0 R - /K [238] - /Pg 217 0 R ->> -endobj - -131 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237] - /Pg 217 0 R ->> -endobj - -132 0 obj -<< - /Type /StructElem - /S /H1 - /P 27 0 R - /T <FEFF80035BDF> - /K [207 208] - /Pg 217 0 R ->> -endobj - -133 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 134 0 R] - /Pg 217 0 R ->> -endobj - -134 0 obj -<< - /Type /StructElem - /S /Link - /P 133 0 R - /K [205 << - /Type /OBJR - /Pg 217 0 R - /Obj 215 0 R - >> 206 << - /Type /OBJR - /Pg 217 0 R - /Obj 216 0 R - >>] - /Pg 217 0 R ->> -endobj - -135 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF307E30683081> - /K [152 153] - /Pg 217 0 R ->> -endobj - -136 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 137 0 R 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151] - /Pg 217 0 R ->> -endobj - -137 0 obj -<< - /Type /StructElem - /S /Span - /P 136 0 R - /A [<< - /O /Layout - /TextDecorationType /LineThrough - >>] - /K [89 90 91 92 93 94 95 96 97 98 99 100] - /Pg 217 0 R ->> -endobj - -138 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF58CA308C305F30B930BF30A430EB> - /K [0 1 2 3] - /Pg 217 0 R ->> -endobj - -139 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 140 0 R 316 317 318 319 320 321 322 323 324] - /Pg 213 0 R ->> -endobj - -140 0 obj -<< - /Type /StructElem - /S /Strong - /P 139 0 R - /K [315] - /Pg 213 0 R ->> -endobj - -141 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252] - /Pg 213 0 R ->> -endobj - -142 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189] - /Pg 213 0 R ->> -endobj - -143 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF51657A3F671F9650306E8A71> - /K [62 63 64 65] - /Pg 213 0 R ->> -endobj - -144 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61] - /Pg 213 0 R ->> -endobj - -145 0 obj -<< - /Type /StructElem - /S /BlockQuote - /P 27 0 R - /K [146 0 R] ->> -endobj - -146 0 obj -<< - /Type /StructElem - /S /Span - /P 145 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265] - /Pg 211 0 R ->> -endobj - -147 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [147 148 149 148 0 R 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244] - /Pg 211 0 R ->> -endobj - -148 0 obj -<< - /Type /StructElem - /S /Strong - /P 147 0 R - /K [150 151] - /Pg 211 0 R ->> -endobj - -149 0 obj -<< - /Type /StructElem - /S /BlockQuote - /P 27 0 R - /K [161 0 R 151 0 R 150 0 R] ->> -endobj - -150 0 obj -<< - /Type /StructElem - /S /Span - /P 149 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [145 146] - /Pg 211 0 R ->> -endobj - -151 0 obj -<< - /Type /StructElem - /S /L - /P 149 0 R - /A [<< - /O /List - /ListNumbering /Circle - >>] - /K [158 0 R 155 0 R 152 0 R] ->> -endobj - -152 0 obj -<< - /Type /StructElem - /S /LI - /P 151 0 R - /K [154 0 R 153 0 R] ->> -endobj - -153 0 obj -<< - /Type /StructElem - /S /LBody - /P 152 0 R - /K [136 137 138 139 140 141 142 143 144] - /Pg 211 0 R ->> -endobj - -154 0 obj -<< - /Type /StructElem - /S /Lbl - /P 152 0 R - /K [135] - /Pg 211 0 R ->> -endobj - -155 0 obj -<< - /Type /StructElem - /S /LI - /P 151 0 R - /K [157 0 R 156 0 R] ->> -endobj - -156 0 obj -<< - /Type /StructElem - /S /LBody - /P 155 0 R - /K [96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134] - /Pg 211 0 R ->> -endobj - -157 0 obj -<< - /Type /StructElem - /S /Lbl - /P 155 0 R - /K [95] - /Pg 211 0 R ->> -endobj - -158 0 obj -<< - /Type /StructElem - /S /LI - /P 151 0 R - /K [160 0 R 159 0 R] ->> -endobj - -159 0 obj -<< - /Type /StructElem - /S /LBody - /P 158 0 R - /K [79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94] - /Pg 211 0 R ->> -endobj - -160 0 obj -<< - /Type /StructElem - /S /Lbl - /P 158 0 R - /K [78] - /Pg 211 0 R ->> -endobj - -161 0 obj -<< - /Type /StructElem - /S /P - /P 149 0 R - /K [52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77] - /Pg 211 0 R ->> -endobj - -162 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51] - /Pg 211 0 R ->> -endobj - -163 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF00540065005800480054004D004C30C630F330D730EC30FC30C8> - /K [16 164 0 R 18 19] - /Pg 211 0 R ->> -endobj - -164 0 obj -<< - /Type /StructElem - /S /Span - /P 163 0 R - /A [<< - /O /Layout - /TextDecorationType /LineThrough - >>] - /K [17] - /Pg 211 0 R ->> -endobj - -165 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 << - /Type /MCR - /MCID 0 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 1 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 2 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 3 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 4 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 5 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 6 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 7 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 8 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 9 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 10 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 11 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 12 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 13 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 14 - /Pg 211 0 R - >> << - /Type /MCR - /MCID 15 - /Pg 211 0 R - >>] - /Pg 209 0 R ->> -endobj - -166 0 obj -<< - /Type /StructElem - /S /BlockQuote - /P 27 0 R - /K [171 0 R 170 0 R 169 0 R 168 0 R 167 0 R] ->> -endobj - -167 0 obj -<< - /Type /StructElem - /S /Span - /P 166 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [255 256] - /Pg 209 0 R ->> -endobj - -168 0 obj -<< - /Type /StructElem - /S /P - /P 166 0 R - /K [249 250 251 252 253 254] - /Pg 209 0 R ->> -endobj - -169 0 obj -<< - /Type /StructElem - /S /P - /P 166 0 R - /K [241 242 243 244 245 246 247 248] - /Pg 209 0 R ->> -endobj - -170 0 obj -<< - /Type /StructElem - /S /P - /P 166 0 R - /K [213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240] - /Pg 209 0 R ->> -endobj - -171 0 obj -<< - /Type /StructElem - /S /P - /P 166 0 R - /K [212] - /Pg 209 0 R ->> -endobj - -172 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211] - /Pg 209 0 R ->> -endobj - -173 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185] - /Pg 209 0 R ->> -endobj - -174 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF30C630F330D730EC30FC30C800540065005830D530A130A430EB> - /K [94 95 96 97] - /Pg 209 0 R ->> -endobj - -175 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 << - /Type /MCR - /MCID 0 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 1 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 2 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 3 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 4 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 5 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 6 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 7 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 8 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 9 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 10 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 11 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 12 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 13 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 14 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 15 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 16 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 17 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 18 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 19 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 20 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 21 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 22 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 23 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 24 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 25 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 26 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 27 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 28 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 29 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 30 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 31 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 32 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 33 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 34 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 35 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 36 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 37 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 38 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 39 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 40 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 41 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 42 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 43 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 44 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 45 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 46 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 47 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 48 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 49 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 50 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 51 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 52 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 53 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 54 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 55 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 56 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 57 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 58 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 59 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 60 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 61 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 62 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 63 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 64 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 65 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 66 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 67 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 68 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 69 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 70 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 71 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 72 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 73 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 74 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 75 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 76 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 77 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 78 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 79 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 80 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 81 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 82 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 83 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 84 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 85 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 86 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 87 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 88 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 89 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 90 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 91 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 92 - /Pg 209 0 R - >> << - /Type /MCR - /MCID 93 - /Pg 209 0 R - >>] - /Pg 207 0 R ->> -endobj - -176 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF81317A3F5F625F0F306E90785B9A> - /K [184 185 186 187] - /Pg 207 0 R ->> -endobj - -177 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183] - /Pg 207 0 R ->> -endobj - -178 0 obj -<< - /Type /StructElem - /S /H2 - /P 27 0 R - /T <FEFF00500069006D0020004E006F00740065007300200032003000320034767A6848> - /K [62 63 64] - /Pg 207 0 R ->> -endobj - -179 0 obj -<< - /Type /StructElem - /S /H1 - /P 27 0 R - /T <FEFF7D4C7DEF> - /K [60 61] - /Pg 207 0 R ->> -endobj - -180 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59] - /Pg 207 0 R ->> -endobj - -181 0 obj -<< - /Type /StructElem - /S /H1 - /P 27 0 R - /T <FEFF7D4472483068306F> - /K [7 8 9] - /Pg 207 0 R ->> -endobj - -182 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [2 3 4 5 6] - /Pg 207 0 R ->> -endobj - -183 0 obj -<< - /Type /StructElem - /S /P - /P 27 0 R - /K [0 1] - /Pg 207 0 R ->> -endobj - -184 0 obj -<< - /Type /Font - /Subtype /Type0 - /BaseFont /JKOAUA+NotoSansCJKjp-Regular-Identity-H - /Encoding /Identity-H - /DescendantFonts [185 0 R] - /ToUnicode 188 0 R ->> -endobj - -185 0 obj -<< - /Type /Font - /Subtype /CIDFontType0 - /BaseFont /JKOAUA+NotoSansCJKjp-Regular - /CIDSystemInfo << - /Registry (Adobe) - /Ordering (Identity) - /Supplement 0 - >> - /FontDescriptor 187 0 R - /DW 0 - /W [0 16 1000 17 17 633 18 18 275 19 19 926 20 20 224 21 21 555 22 22 278 23 52 1000 53 53 475 54 54 1000 55 55 475 56 88 1000 89 89 555 90 90 723 91 91 606 92 92 377 93 93 554 94 94 468 95 96 555 97 101 1000 102 102 555 103 103 1000 104 104 338 105 106 1000 107 107 338 108 118 1000 119 119 638 120 127 1000 128 128 596 129 129 607 130 130 388 131 131 325 132 132 563 133 133 510 134 152 1000 153 153 728 154 154 552 155 155 721 156 161 1000 162 162 392 163 171 1000 172 172 555 173 177 1000 178 178 635 179 179 812 180 180 620 181 181 802 182 182 610 183 183 1000 184 184 608 185 194 1000 195 195 657 196 196 599 197 197 573 198 202 1000 203 203 543 204 207 1000 208 208 575 209 241 1000 242 242 555 243 252 1000 253 253 555 254 254 278 255 265 1000 266 266 284 267 267 742 268 271 1000 272 272 689 273 273 618 274 321 1000 322 322 552 323 330 1000 331 331 589 332 332 564 333 333 620 334 334 607 335 344 1000 345 345 340 346 429 1000 430 430 555 431 431 347 432 439 1000 440 440 688 441 445 1000 446 446 474 447 471 1000 472 472 555 473 482 1000 483 483 275 484 484 475 485 593 1000 594 594 521 595 595 1000 596 596 521 597 597 498 598 603 1000] ->> -endobj - -186 0 obj -<< - /Length 13 - /Filter /FlateDecode ->> -stream -xj-endstream -endobj - -187 0 obj -<< - /Type /FontDescriptor - /FontName /JKOAUA+NotoSansCJKjp-Regular - /Flags 131076 - /FontBBox [-44 -250 987 880] - /ItalicAngle 0 - /Ascent 880 - /Descent -120 - /CapHeight 733 - /StemV 95.4 - /CIDSet 186 0 R - /FontFile3 189 0 R ->> -endobj - -188 0 obj -<< - /Length 9203 - /Type /CMap - /WMode 0 ->> -stream -%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: procset CIDInit -%%IncludeResource: procset CIDInit -%%BeginResource: CMap Custom -%%Title: (Custom Adobe Identity 0) -%%Version: 1 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo 3 dict dup begin - /Registry (Adobe) def - /Ordering (Identity) def - /Supplement 0 def -end def -/CMapName /Custom def -/CMapVersion 1 def -/CMapType 0 def -/WMode 0 def -1 begincodespacerange -<0000> <FFFF> -endcodespacerange -100 beginbfchar -<0001> <7D44> -<0002> <7248> -<0003> <306B> -<0004> <3064> -<0005> <3044> -<0006> <3066> -<0007> <5CF6> -<0008> <6839> -<0009> <5927> -<000A> <5B66> -<000B> <3082> -<000C> <306E> -<000D> <3065> -<000E> <304F> -<000F> <308A> -<0010> <90E8> -<0011> <0050> -<0012> <0069> -<0013> <006D> -<0014> <0020> -<0015> <0031> -<0016> <002E> -<0017> <3068> -<0018> <306F> -<0019> <4ECA> -<001A> <56DE> -<001B> <FF0C> -<001C> <3053> -<001D> <8A18> -<001E> <4E8B> -<001F> <3067> -<0020> <53D6> -<0021> <4E0A> -<0022> <3052> -<0023> <3088> -<0024> <3046> -<0025> <305B> -<0026> <3093> -<0027> <79C1> -<0028> <6240> -<0029> <5C5E> -<002A> <3059> -<002B> <308B> -<002C> <30B5> -<002D> <30FC> -<002E> <30AF> -<002F> <30EB> -<0030> <4E0D> -<0031> <5B9A> -<0032> <671F> -<0033> <51FA> -<0034> <3057> -<0035> <201C> -<0036> <8A8C> -<0037> <201D> -<0038> <FF0E> -<0039> <5185> -<003A> <304B> -<003B> <3089> -<003C> <5BC4> -<003D> <7A3F> -<003E> <3092> -<003F> <52DF> -<0040> <307E> -<0041> <3081> -<0042> <520A> -<0043> <884C> -<0044> <7269> -<0045> <5373> -<0046> <58F2> -<0047> <4F1A> -<0048> <306A> -<0049> <3069> -<004A> <9812> -<004B> <5E03> -<004C> <305C> -<004D> <304C> -<004E> <6587> -<004F> <7AE0> -<0050> <66F8> -<0051> <3063> -<0052> <305F> -<0053> <7D4C> -<0054> <7DEF> -<0055> <3054> -<0056> <7D39> -<0057> <4ECB> -<0058> <3087> -<0059> <0032> -<005A> <004E> -<005B> <006F> -<005C> <0074> -<005D> <0065> -<005E> <0073> -<005F> <0030> -<0060> <0034> -<0061> <767A> -<0062> <6848> -<0063> <5E74> -<0064> <5165> -endbfchar -100 beginbfchar -<0065> <305D> -<0066> <0035> -<0067> <6708> -<0068> <0028> -<0069> <4EE5> -<006A> <4E0B> -<006B> <0029> -<006C> <4F5C> -<006D> <306D> -<006E> <8A71> -<006F> <6301> -<0070> <3061> -<0071> <30B3> -<0072> <30DF> -<0073> <30C3> -<0074> <30DE> -<0075> <30B1> -<0076> <30C8> -<0077> <0043> -<0078> <3078> -<0079> <5E97> -<007A> <6C7A> -<007B> <5408> -<007C> <308F> -<007D> <65B0> -<007E> <904B> -<007F> <3073> -<0080> <0053> -<0081> <0075> -<0082> <0072> -<0083> <0066> -<0084> <0061> -<0085> <0063> -<0086> <4F7F> -<0087> <5148> -<0088> <8F29> -<0089> <9996> -<008A> <3051> -<008B> <304A> -<008C> <4FBF> -<008D> <5229> -<008E> <3060> -<008F> <8A00> -<0090> <7528> -<0091> <9784> -<0092> <5236> -<0093> <904E> -<0094> <7A0B> -<0095> <308C> -<0096> <5225> -<0097> <53CB> -<0098> <4EBA> -<0099> <0048> -<009A> <006B> -<009B> <0055> -<009C> <5834> -<009D> <304D> -<009E> <4F53> -<009F> <9A13> -<00A0> <8AC7> -<00A1> <3042> -<00A2> <002F> -<00A3> <5F62> -<00A4> <5F0F> -<00A5> <305A> -<00A6> <5F8C> -<00A7> <5730> -<00A8> <7344> -<00A9> <8131> -<00AA> <9078> -<00AB> <53BB> -<00AC> <0033> -<00AD> <8449> -<00AE> <5074> -<00AF> <539F> -<00B0> <6E21> -<00B1> <8868> -<00B2> <0052> -<00B3> <004D> -<00B4> <0064> -<00B5> <0077> -<00B6> <006E> -<00B7> <307F> -<00B8> <0041> -<00B9> <7406> -<00BA> <7531> -<00BB> <8A0A> -<00BC> <8003> -<00BD> <3048> -<00BE> <76F8> -<00BF> <30C1> -<00C0> <30E3> -<00C1> <30F3> -<00C2> <30CD> -<00C3> <0042> -<00C4> <0054> -<00C5> <0058> -<00C6> <5C0E> -<00C7> <95A2> -<00C8> <5272> -endbfchar -100 beginbfchar -<00C9> <524D> -<00CA> <5411> -<00CB> <004C> -<00CC> <63A1> -<00CD> <3055> -<00CE> <805E> -<00CF> <969B> -<00D0> <0056> -<00D1> <300C> -<00D2> <826F> -<00D3> <601D> -<00D4> <300D> -<00D5> <65E5> -<00D6> <4E88> -<00D7> <7B97> -<00D8> <517C> -<00D9> <4E00> -<00DA> <30DA> -<00DB> <30B8> -<00DC> <6570> -<00DD> <76EE> -<00DE> <5B89> -<00DF> <63D0> -<00E0> <793A> -<00E1> <30C6> -<00E2> <30D7> -<00E3> <30EC> -<00E4> <30D5> -<00E5> <30A1> -<00E6> <30A4> -<00E7> <610F> -<00E8> <57F7> -<00E9> <7B46> -<00EA> <5F85> -<00EB> <8349> -<00EC> <3084> -<00ED> <672C> -<00EE> <9032> -<00EF> <3058> -<00F0> <59CB> -<00F1> <7FCC> -<00F2> <0036> -<00F3> <6642> -<00F4> <540D> -<00F5> <4E57> -<00F6> <30B9> -<00F7> <30C9> -<00F8> <6210> -<00F9> <8005> -<00FA> <30D3> -<00FB> <30E5> -<00FC> <30EF> -<00FD> <0039> -<00FE> <003A> -<00FF> <4F9D> -<0100> <983C> -<0101> <4FEE> -<0102> <58EB> -<0103> <8AD6> -<0104> <4FC2> -<0105> <5FD9> -<0106> <696D> -<0107> <52D9> -<0108> <6295> -<0109> <611F> -<010A> <006C> -<010B> <004F> -<010C> <65B9> -<010D> <5B8C> -<010E> <4E86> -<010F> <5207> -<0110> <0047> -<0111> <0062> -<0112> <30EA> -<0113> <30DD> -<0114> <30E6> -<0115> <30B6> -<0116> <30A8> -<0117> <30E9> -<0118> <91CF> -<0119> <5B58> -<011A> <5ACC> -<011B> <6C17> -<011C> <3001> -<011D> <9069> -<011E> <5F53> -<011F> <3002> -<0120> <6700> -<0121> <521D> -<0122> <52A9> -<0123> <2026> -<0124> <9858> -<0125> <2014> -<0126> <524A> -<0127> <9664> -<0128> <74B0> -<0129> <5883> -<012A> <82E5> -<012B> <5E72> -<012C> <7279> -endbfchar -100 beginbfchar -<012D> <6B8A> -<012E> <60C5> -<012F> <66F0> -<0130> <5FDC> -<0131> <529B> -<0132> <8DB3> -<0133> <666E> -<0134> <6BB5> -<0135> <7720> -<0136> <5BDD> -<0137> <9055> -<0138> <7B49> -<0139> <7DCA> -<013A> <6025> -<013B> <3083> -<013C> <9650> -<013D> <5BFE> -<013E> <4EF0> -<013F> <4F4E> -<0140> <308D> -<0141> <4F0F> -<0142> <0046> -<0143> <5473> -<0144> <4F1D> -<0145> <7B87> -<0146> <6B63> -<0147> <554F> -<0148> <984C> -<0149> <9001> -<014A> <304E> -<014B> <0045> -<014C> <0067> -<014D> <0070> -<014E> <0068> -<014F> <958B> -<0150> <63CF> -<0151> <753B> -<0152> <7D50> -<0153> <679C> -<0154> <898B> -<0155> <30D1> -<0156> <6539> -<0157> <5584> -<0158> <70B9> -<0159> <2022> -<015A> <679A> -<015B> <50CF> -<015C> <6A2A> -<015D> <4E26> -<015E> <4F75> -<015F> <5370> -<0160> <5237> -<0161> <616E> -<0162> <5C11> -<0163> <4F59> -<0164> <767D> -<0165> <5E83> -<0166> <7AEF> -<0167> <72ED> -<0168> <5727> -<0169> <8FEB> -<016A> <5DE6> -<016B> <53F3> -<016C> <5341> -<016D> <5206> -<016E> <7DB4> -<016F> <8FD1> -<0170> <975E> -<0171> <5E38> -<0172> <8AAD> -<0173> <30E0> -<0174> <6B04> -<0175> <30E1> -<0176> <30D6> -<0177> <6B32> -<0178> <5177> -<0179> <7684> -<017A> <5897> -<017B> <66F4> -<017C> <5FC3> -<017D> <56F3> -<017E> <8ABF> -<017F> <6574> -<0180> <4F8B> -<0181> <82F1> -<0182> <8A9E> -<0183> <4FDD> -<0184> <7BA1> -<0185> <518D> -<0186> <5EA6> -<0187> <5B9B> -<0188> <76F4> -<0189> <63A5> -<018A> <7834> -<018B> <58CA> -<018C> <6B8B> -<018D> <65EC> -<018E> <7B54> -<018F> <672A> -<0190> <78BA> -endbfchar -100 beginbfchar -<0191> <5831> -<0192> <7F6E> -<0193> <53EF> -<0194> <80FD> -<0195> <6D41> -<0196> <6C42> -<0197> <632F> -<0198> <6765> -<0199> <7DD2> -<019A> <81EA> -<019B> <30D4> -<019C> <81F4> -<019D> <8FFD> -<019E> <52A0> -<019F> <6050> -<01A0> <5B9F> -<01A1> <88D5> -<01A2> <77E5> -<01A3> <5F7C> -<01A4> <57CB> -<01A5> <8FBC> -<01A6> <3080> -<01A7> <624B> -<01A8> <61B6> -<01A9> <4ED6> -<01AA> <3005> -<01AB> <62B5> -<01AC> <547D> -<01AD> <5247> -<01AE> <0038> -<01AF> <002D> -<01B0> <6307> -<01B1> <30B7> -<01B2> <69CB> -<01B3> <53CE> -<01B4> <96C6> -<01B5> <65E8> -<01B6> <793E> -<01B7> <6CE8> -<01B8> <0044> -<01B9> <7121> -<01BA> <30BF> -<01BB> <3076> -<01BC> <7D9A> -<01BD> <756A> -<01BE> <003F> -<01BF> <7D10> -<01C0> <5F37> -<01C1> <5F71> -<01C2> <97FF> -<01C3> <307B> -<01C4> <5B57> -<01C5> <30BA> -<01C6> <6280> -<01C7> <8853> -<01C8> <5150> -<01C9> <7AE5> -<01CA> <5186> -<01CB> <91D1> -<01CC> <8CB7> -<01CD> <30AA> -<01CE> <30A3> -<01CF> <30C7> -<01D0> <60B2> -<01D1> <4E2D> -<01D2> <8EAB> -<01D3> <907F> -<01D4> <9806> -<01D5> <98A8> -<01D6> <4F55> -<01D7> <3070> -<01D8> <0037> -<01D9> <8D77> -<01DA> <7D30> -<01DB> <516C> -<01DC> <8B70> -<01DD> <5F15> -<01DE> <3079> -<01DF> <5FA1> -<01E0> <89A7> -<01E1> <4EF6> -<01E2> <5F35> -<01E3> <006A> -<01E4> <007A> -<01E5> <5BDF> -<01E6> <5404> -<01E7> <6458> -<01E8> <9805> -<01E9> <5E7E> -<01EA> <660E> -<01EB> <6319> -<01EC> <4ED5> -<01ED> <69D8> -<01EE> <5909> -<01EF> <6DF7> -<01F0> <30AC> -<01F1> <53CD> -<01F2> <66D6> -<01F3> <6627> -<01F4> <89E3> -endbfchar -100 beginbfchar -<01F5> <9593> -<01F6> <9F5F> -<01F7> <9F6C> -<01F8> <72B6> -<01F9> <614B> -<01FA> <8A8D> -<01FB> <6A29> -<01FC> <4E71> -<01FD> <62BD> -<01FE> <8C61> -<01FF> <5316> -<0200> <900F> -<0201> <30CB> -<0202> <30E7> -<0203> <8CEA> -<0204> <5F79> -<0205> <62C5> -<0206> <4F3A> -<0207> <5E0C> -<0208> <671B> -<0209> <7DE8> -<020A> <6BD4> -<020B> <8F03> -<020C> <968E> -<020D> <76E3> -<020E> <67FB> -<020F> <5FC5> -<0210> <8981> -<0211> <6027> -<0212> <5468> -<0213> <540C> -<0214> <65E9> -<0215> <7B56> -<0216> <5168> -<0217> <79FB> -<0218> <8B72> -<0219> <512A> -<021A> <79C0> -<021B> <901A> -<021C> <542B> -<021D> <898F> -<021E> <6A21> -<021F> <8CA0> -<0220> <96E3> -<0221> <7CFB> -<0222> <691C> -<0223> <8A0E> -<0224> <54C1> -<0225> <8ACB> -<0226> <8CAC> -<0227> <4EFB> -<0228> <5C90> -<0229> <6A5F> -<022A> <8A2D> -<022B> <7981> -<022C> <6B62> -<022D> <6E80> -<022E> <8FF0> -<022F> <9298> -<0230> <6253> -<0231> <53CC> -<0232> <5B88> -<0233> <8F09> -<0234> <70BA> -<0235> <63B2> -<0236> <30FB> -<0237> <5916> -<0238> <627F> -<0239> <4ED8> -<023A> <4E0E> -<023B> <54E1> -<023C> <5171> -<023D> <7533> -<023E> <7ACB> -<023F> <5F97> -<0240> <6709> -<0241> <30C4> -<0242> <5728> -<0243> <8EF8> -<0244> <65BD> -<0245> <30ED> -<0246> <8B77> -<0247> <9632> -<0248> <3050> -<0249> <6CD5> -<024A> <63A2> -<024B> <7570> -<024C> <30AB> -<024D> <5B9C> -<024E> <52D5> -<024F> <5DE5> -<0250> <592B> -<0251> <5BA3> -<0252> <0079> -<0253> <500B> -<0254> <0076> -<0255> <0078> -<0256> <4E3B> -<0257> <5B50> -<0258> <8272> -endbfchar -3 beginbfchar -<0259> <5C40> -<025A> <91CD> -<025B> <7686> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF -endstream -endobj - -189 0 obj -<< - /Length 99804 - /Filter /FlateDecode - /Subtype /CIDFontType0C ->> -stream -xX?|^è0:ÚuU̢3(9g3䜃H`%lNkZwuݭ=| UTW_5TTASL=wZ:osYhjm`馐Bvj8;A⨨q?q~XD4 ⬙4 ϟMʹq3!d4nF x -DAbGZ;yuvu;n{C}%.]tsyx^d,rvԘH]aqwuKu7ˣ֎n6ζFNVm-;d{K ݎ[wQkg[7KcK͖N]㸳{ ])!Bi?DM[3,pܸq%&0GGMl^si]?ewƴ=n\[R?^J4.%{<ۓ8nEd347eܸCdv -%%eeee%Ge%/__r8HIA+/W=**_*J*JJ*kSVVfkKŽ/Ge_}5PzyeJJ*HI mѿz_|VirvKKn_/??ˆu/ -}lUow?gl2 G[ ".A56D)~i!b)PeEf+{}SCUV٪ -L)gOS3V:.DlCJRRO"Hq"f#2FTfFƬBc1hơqh<[Qh[D ф~41 M,C -.RBt5&DMF#|Ŀ z<ւhwh=ڈ f!QAA^@Cьj4f}@?4WͽG-C Т^a4~EOhI*Zz-'=h!ZV9UW&BGfZA75h6ҢV1Ғunhy~>ZO@H[i! QmB"]3ۈ4^0@"6DzA -2<‘JdDW͞hSe5 ĢmѶQQLw&heN@fО#hwhh_+_CctZ@)d,/#FV kQEX<:'s@v> 9#I 9 "g1rDϑ>rCk:r;n"<7!e:yW#g GUȯǢ(DQP -:NN@'uɽt jD-QveE(s%EYP -وr<S巡: C^ը ;*J7 ,r%T*栊~T5 U5"]<.KZtmT-E5٨րoA׽P @7a&j8gAtt ݾѝlt7CMER1 ufԹuZP7Be VRׅh`;\4U4\FA4jB@%~zEZcSBO|Sm*z=^B/zO+ zMu;zz~LDLлNS~ D<AZ.+y1n~EC`H)D"EZgeٗ@QF(]'P#8W >%dcGq3o&1pxP\N0){o xjbBLL;MV{؜{F6bablb%b_YOٶĜ\bbxĂ@bBCXH,!%bY(|:>b%be4jʎМBB>HJu"4u .X?DlP!6Fh't|EnAk La' fcbGbk -aMl[Ll !;ӳNGb"vf=w^ľ_)uġA:ˆxKXGVы*a}E1] q+''J kS;@,&\^W [}/^Hx w<DL D9"02$NfIWlT qڎQ!B3ӈ_ "go8BRHHҏD6kIeq D"a L$'_I{j"&).D#"uH!!2Y눬:"ۖ)%r@wWDQp8;8[E}B.! -}9)QE=" zU˶58FvπOLa 9\|Qn#8tOi=⌷v|F˂g>nSPZ‘n8C`hxɹ5fN-. -eN,^z$Lq`کRR\d o\S- -ĉxH݅xQzY|Χ{qLh&r˻IZxX?ݢ[O,;;3]2xާ`L"Fg=n__eXimopoCOG,MKy{8xR<*Ǫ 4U?o˞?跍H2{-+E!e'FxHa--S.c=g:'W޽Rgrw_߱tZ74"8vL7YF†x~טy+%<| -?z؍\6J9ӵ 62I$Qx,ڿcoxظn&2{PYK 0#z@ aȢ.ʿgt9;ph'h}x&x]!jW]{.(JXfi35CtBos԰09zȤȴdAdrtvtz ,~GܷSg¯ԩJ)dd%fRG!k}<f3U8e pttlpzR-p(8Z#^g㽺.+E'lOچPSo <Tw 3_ʉsXz`^rN9r[aWX,Ǚzp^~PG/%mTa̵̬sӌ--{ [fIoa;iSӏdEs5pQp;$6cfZ}3& WUuNp s[+aVrn~QVڊwݮhx̶3 lw=%+S@ܭ ]ښu.߻h)pʨg|#yZv(Ldvw|zZa9 Gc_vQ 3ԼLl-wU -c@vGRÓjX.DtpD6jpσ8;/fx}#i5 {ĺkϕj9T-DoHWw`1@\a2lZ7IoL'0Ƽ+oG=̉}:އZ]yw)P̧_d`JگŪ_ollN;yNED:E9Fz;HJ"ʢ -FgPZ"~sePshO-!C֭ [t$W1w!f-^)2x.-+<hb]z)AU| ^]"s=eKVD޾Q} xGl+01{JH<8K_=uCWhsyiQl5(Rv0#ϵ8g|ʫ&ï@x- r] TJ`kQtVL~̮3c#7Un5 U9Y&FCf W'uSɅmfѱbm2nCxGduܼ8'h;!VpՒA3PAxCq.yéު`u f\!#iw+!Nn?m*&&9G?#I4':Ab?VfOx2c XU<h:̧-t"YFa3]wS\N$\ >~ rv ) ~U PC- Xl{uwV_c_VUa6L5PH_I6i_s/A\*.MN˪U놐ð0 Fh}x*yZԭևKzg5\l`^s=*6!\W7|O6ҍߣcÍ}^ϒ#{nxU[z-z, ->L-A`Vlv|Ql_fd[mO?, -S)x_ϵ50g_rkKq& ~]xDrQH]"7S>} (X~jd{ls>/HXϓH3E^RI %ȣG#t-1żCC 'LTA>H>6ll=nݭp|xH~0>epc}m$QmшY#qv: 0=>Gtfjs0~ہ{ -*YD~P^$c:T+D_ΥxBv(<e=sl@E<pT1"ǐg# - K̻?J{*\5c6-#7@ ^Æ3%\ոҘ?RsX<3.q c<FBqPn -Eߊ}ߤ|HfjGy =,b#6qBV'雱Iפ/%IdxttpX9D -\Iyt`%7OjF -3Hi)L;%!TzN/[ scjX9'9tOxMg6sD1*O8잏6b08hq;1acPb\+ ϭIF"R\10=|@INJLxK?z (^zy&'ENhNBx.XmJDMd͡gj] >-iMYw3uVNfiK2oOf)~`}h m:=0-K<P#dc܏e  /kO -瑘 - 7aBDc%)A=`x܀. ڸ~X{pyZ͖W,?Ŋ`tzm-,Y/8u~7KWĩ+7Ko:05$^~ -KD!}NPfzG`M\czؘۆMË9#x%dx щHxDh?rTblR\y5pM$]qAhḻ:R(q3 =ԽgѱŻqւ/W-.;ácL9 -O1 A<Ei[i}+{Mp{VF&hg%,,L<zpp硪֎ gPHs&%xX {{Ƹ ў;'fk.#>= 0j^"՜4.~~[,$' J:$ҋd-JN8I\F| "3X9YfX -6+#07']%+*kMl/͓`bt94}duM|`~k0μ;:ߞ0|' l|Hox{@!hLBVzNjV;T>uzY!汧F(+wCrRR#*Wp-"Os#«`\8BW`c}Q [dc2"xa!VI܋1%I%\hjx-k!q*X;FcWt~1X^|BR.H-w>&]NFa'1 -itpO$W@jژ$y`mWqwLOͦ] awݪ0{aB^&84 -.J;qH0\<XkuuPU-ź ^-a$y\"lbRϔ淅09 S`øg#E{̤IvuIj8%1,u ^Cҳb+"|Z3C+Yؘ mo@-O 't؅]:$MxocvbcE-fR1՗ mW40S ގmfTM!u]e+2`UaE0#&;&/&K(C\+[nttR<QxK+sY{ð8~$Y_YqNUgałA߸L^@:hOË㞋r0 YB<+Y^ܞ Һ)Vw_vACN^8< 3o8sP&ah,ۏ@_.ϕ4p#HڪXМcц2qYrbU5 dUk_¢zRV\Í͍΋.a. -\K5xWJ`k{Vx7'`>t 3!n -map!yZwozż[ZL`*ݱUM1==4'2bȘ3FVt"@1&|F.I֞HO`F8v6M '%J;QI丬r5-f`,<28u8(1tf''F\w5Nb T7/!n)a?IQG!4&u/]JPŪMNLx惬 ^V~~F~' 9; o -v[5 ?gH 0qjVhq%SFC1fΈjÙX/UԴ k*},<VQ< `3PNHIsZ'.euxOqQ7v WKL+x:MkyT~U6_-;Z`! no>%}Ϯr3m.ú5|*!,X aY)KȀ@HhNV,.IO8{Ut's՗zal:C7da#O0ATNrXgZ^/EYrtChy(uHK07<}I*$H Y$7Z~r} e%1s6fFC~n#337>VTϺ 3o0zX:iYEYxYSy:z<ųΚ D_X4A-Tc 04K΍YM;Ebs0%1&/aj7ZnEih#+J) ̲!bwTQ[4F͉p%JX\"oVG-H$3$_ -H\*-k)uMF:kf(uWdJNI^pZZWiT@yV|/?@g]/3/dݻ[?v;λ_z>>끲~gW1P6qw@\e@|\-OaX.ۻ%#039pE0ЮJKUڍ;*(̛ǡ'j`<PIܛ+/6d8˧c] ZdyI~/En8 ]M>*Nwz_}VKѧ&|T엖s0;M@鲀)Tf٬&ɒw{.nCm#><@!ev!w^ -_\C,X'`fS u5W(h1av+x204/R#RYE=mJ)$^Ram{pb';-%{e@ͪɨMxv|t?,6/O,Jߖn! [%x_ϵۡ-ÿC#?)@]Ÿ}Li*`eQd`20@ݞMr%_l[*Ru͵R@ԅ0tS -x6Jl~4ЩSipۻ -fP1Wvo ŇERv-䢰>L|Qp{%Gӣsbrc: x]>kke/xQf-d^h##Q<7 CT´"5"+`W?.`р|dӅ1`*qZi歭n5nQ9-glSgqi⼋9U|:4Zo8%a_G -{pK< xZ5ݹqvS*l-n!τ?.56 `mz"P<!!UpH-g2%Mxnh EgmۅB/8ю眶 96X:pSd)Xg^+-M</?[[Iq:NDeeDT"=/>m{ N6#H%LONM׽ =A~LN…Raޡ!(vB޾.XuaSwGp5Oֹ;7Q8=}5!Z3vvUwc':Iu w -6ZwlgsϳG<~햔[4Gahw볋/VrgᝆƉlOհ Y$=&-c| M]}=ՏC0&Vt5P'y{@zUag<Ldm@Hvq89^o^|f|rnL`QQ66ExKxU1b#(]!hzl?LpC;5cTLw_W+$%=FR}K"֨{;)=|kcn-mX̃9j0E vfK=7*/MValyG^06[gs/S v  p!Gny+s]&ĥ37kmr{,򂃆#D~ XQ>f:6†0f* <I07$<iB1 U\~ALyeRRطs=[B` Ig$^ȡlzo %h-/p<N|UA]<iGM7])m=*)Oyl.#lr@{ra-DVTeUb6lx{`/;dtG`Ung'%;ݱgQBs+n_6w8a^W(OW}ph\v6GK_*>`ŧ[Lu;*o(蟃?WsZ4#0_k& -r<'QY* uTgB}콵ĖaI?gTTwMsNL('Ggk{ -( 6,{, e-U A"UL%',pNZ6Mt)^CcQ -bl,bhX Z\aM^fN7{؇1DB'}'%|4۸wtPVp#5Rυ-7F-t 7.H`a?̒Ȇ,y?cseRjQcmp ރPя0 -":vm -{rpΟ;?+DWQq᭛ՔiH,+ R܀~ 2MHw-a28miLNE e0 - -nj?*k -&ЀI4-L$#ګ c ^ zZy0SH аcbΐTv|LzTZ?<Hvo}q! $[%kАd6rtiN93 9bRc=V_kW{P]OMa4ۂ(XkW˜W -欷OaR$HCFxoZx9nD.ѯC\ΉM1;U8F\9/5%Zly]|#,K~!Y[@;*.'òĥڬŸ8~,<QugRLu%fA I{s51 '%0(76?9 nF7zr*ʗ )qV|Y_ayÿ3r};S VDZ)m<Ш+'}Q{.E$D$GeP}Qdh0U|.nX^u -V0;(5lᝬ52i 4Wbbbv}]Q 5>ka/\Fӫ"[ݡ?j/CT3j_s:w)4PsL(.1v?UgiS6[fm1}`kbP'w<e/zz>)Hd>'N8i+%%Q9YF^<yJg ~& - -'~~38Iw5dADU 1v^le&Ta_}H:;ޏy+-mrL-7Ʃ+ݰ5p@yDsarm4F!-2r@NkqeZTՑۦ 75d5[p'ޝ;121AAww'{>&1#0^RG áaF(rF.+gN3Eu)k1$V'q%<gR/%Qaa"-#4)#_`& DrKUy62]v#e:xwRp*,\_:a,ͻ1E- 2$٥ it '\6oE5JR?=';ƺk-rd;:j`g:jsqTV?#Vxs樳E78EhT6f -P;oMЗ:-cAU?Vc$F !VJ@$g`7Gc"=p>Ν 3:ګR<w%yS -Jʞn~url [ bKuyN͑uu|QQef -NbfH$p~6S}2b<A-B' ShrX-tv.;IAWO ->u9@w wP1Rx!Ν;AUAMJ`rx\V]jc-! /@"_Zeƃsgc=b|U=°jG=B1;c%;Q1.U4(!h N}4v+I̅5U%O09QB]-݁;I*@q-i=67st#?s#1vsGp]zk*lbcF!6f"5٘"6f"37lPo&\dsюTşCl̾QOE9F̫߬?I -ӈ,B%|.=d4 __kg_j-,I_J>Y,?$NW[vGEFQ0 m*L\%<O+șH\d[DӵQcv'0k<ox]Tc!'QDŽsr@tJ?p5iҭC줇H~Jn1÷PϠXзEhȱv6,-=E5-x ^3b]]+ -** i Cp2g+uäM^Qka\dK%CoG>%-Wx N_:z:,oX\-#0^ -/,+</<ZTظk w qѦ=EτEr S֧}R - t_3 pha~辛V+wעܓhyLaXv#%UTͽN - A ЎDn! :3p-vpYh@@GtfXͪ1q_6/+:3fnI-Jq[*_AJ -s)!~@e0zC )FQ;֒ 3VT{wj"ݨWMBፄ-y%H`gq[wSgGtOlw!$-p -KH?7-1"oBǯ:5a#El"s%oURUjʬ;cjCN~Vmގ7(i揄 j?6Nw̮NY[֡ 2֪s0/b1HOa'xSr ̎?nrX}UaWVIE0thL -g\})xJ`VIUa .CL>!DA8gE@&X? JGQax{mǛx(>>VK."na2DiYY~Q7Ue YZ>iepfT}Z,@bgj|KAGCSԿ_1 Ng}`kCOqa9% 9/+p d?/VaGZeW [)21pR@7na8QVZBAqouzf_ē6᧔I0\qRtRfVa8hDk*&z-!F?A{s뭋/ްj'X1#$-huSq=a|B&-?81JwXHMTʡM`Ty -ƿy]_W8꠺Nͱ΂FsA3S; 3y-ytqldo(lН_+vż+nؠZz㝃o+TT&R̬t1ܚQ4 $};@6̭cƃMl;8jZ(5n P3XGH˃ -ei.PJkkC "3roľ*&,3TDD$ <"pRME eM,!z -c@(a 0lldO ̫yՋK1w|cwQk#X}\zƍdjU~|`YRqjURlTQ@Č7(X<k -~ ,ܿh5CC=>-lm~\nPHM@g=H)6f-p؍&T[O`mP -95-m7Bھ|tǺܺ+^Mn{`|LesM o&)#MIq|)ZOSEᠸǤl ?Z qP՛56^oh= -1AkDϘSgηŽ|g׀ms!$ <& "0f_Y1 ֑M]IN1> }vUIVSloy`m}sfټN8(⠑=qQkkY?^։1yu/O]t9O|X0+IQ\]CP-) Po#q - h^/@Su&._-6v ܕ _6?xvQUm3o]T.oLiF<ƴ} J.z\CpG`g~MP݁an.JrK+r%[&!=+1Ї5ť/zWWF÷׀kj7~H_^QpxbDjdC{x^3 -[uPǹZ1TdhlGNhn8s- y4RKgG өFZ8 5vA6 0S _BAX~)LɽH)Hg<Iu3f^ڧ<2*|_EW4jFL/ l'? C zDٽ ,|3]>6 +2Ve3M|2]|~o?0É8qqwc', Z1 D+g I5L"p+A:5 9ٰ.ByuVXX+A;7 Q T!px1=rsML3 wxw֛ShBA<*ɫ- Bh -.kIwީx2\ׇ`W%lſ҇G8& -Ͱ I.,P2~J4!w[ZvsSeH~'wW2\Zd7gw.7ckqߜV~K~fq=v/X=v=1 - =/3%z,[xbk~%zlAG3zlcD}=~+L[J/ۉBiS\n"M0#pU9j|C~1>_n}Jѯ7;d M~v>E7>llDdyW-Toi}qPqbSg/*^gMREgIMɃh^CS[g)|e;:WxoF>ܨggNrmroW7VV;rOa]]=z<DFr 5:riٱjZ -=X5'LҢ^ZzRJ2:-]pC $w@ -Z*uA՗3KU޶E'QHA Ӧ}ʮA={NP[mqfI -Lm`Tt^  ; cمSyBsQi*r1̇=Z}E>XH~>L@^E‚U$ *8< 3p0u8Kq7„VIp۹$E]6M8ubuG|U#y5cm$ I҉[ajcm$/'pa3EK%Z5Kid<Otv-s,)3=+?Zp$ęS%g'e>yʝ ';zQUm%e\\x1?+.su304;2+"9&>*mykK@UAY]Qcn#Ůeh5bYZ90-_oq OX'6)Vz.D"tMy!'BիA~]F ߀I+eS.Zf?B-Ӎ] -ܽR@KPcwf 2<z(vJ{P1-7m0Cc3o,tn)𢘱:om,u񰶡'Tprz -2$H -|PwcN؋ό+IA%]EN\^d1DOV,ٌ:q^/oŝoaa .$QY:J34N o$ MnHKzD8GPG]q >&l iw"8 ) 7i;gH14E1=39/ -6[JD U06;?U*CE*CwHz.DL;&*,yu?gR,z_ #ܫq8-vDA~"$&ϥ;yV?·Q5%#ӄkWHc`0֮UHfGs~jY/NXA^Nee}~ȝ#̌qPIԲwc:nUZ+-;}L-:TaݰA~uv -{SIˈ= i\F ƌ_PDbl ShZ%XK1ϻd -KF}/=GfB/ - W;%'sb3ͤzLqooq,YwvPQ6.YWIH,,YSPG)ڥr37/~Pɲ24,]̰++VpE]Tyxw!Wh[DR0W#zz_<m|J\֐1ѤPO44l0#>܃ +EkA a ؂B - 5b. -\&H}: F+vN_<Oq߻w:$5{)h ?稼'1v#Eg;xg 7Wɥ *j.ԫ2N+0G޴ĪUHD||95HZS;[э$M>rlYwzWnx%Q%JIhRR~hw=$`NgடHp\!+gJO84PHw0A<säҴ(z'k/1R-zrGlZz~r KdZ$%/2޸vˎ=P$uX0 ЫKdsICEE-ƺ^|UQ=AvPžзT1m| =NtΔ+ЊfA r>6J 9- d͂,a>h 2=}@j©8Oc xL3d@[A]vs+?^DVXω w^^KK1Ieca"<<p*;7o2*_}(u@-ŕ_t@;: y<ED.[S':?̄)f ~_S}FeRÅݡ,F5W['F@ubC\}}~$p <lo@9- -b :Z[N^?S/qQ]@aqKK^򚴥7mzP S3BP=`ˤA#ul.Flbr踾lq?DęW=<qCvabGaĺ0pF}j 5Md e%ZWç<<*[m=x0K:&;;8>:kr+BB)p&svg,)G7.W?̎r/f F?GLzMH-3#Dsd`7 -d Cި:셛 dfrUpb 2 H4  wcCrս"!AR*묖˶^j$UÏoU>6J_[э)-W"mVîLoѰ ;L_~yoeW z0x3$5.>qš$ 0NaNBngAZ;[;p`2h3@+y)30] -Pf_.d ,TgW`9cqbkW0_"z 9r!E^ DΝ٘}򄻇hI -@PYYyڹg1vI{b/P3<j{U)|Խ]9_P[w1߷%:B$ )-ίeq3(?l}ҧMAhaX;q367،]G72coۡy9f-ȳ(0:]AHJ:!Ns]b̐ϫCcH{!׋7gPGj@AŁ 7L2L6ݏpƍ$%$FGf^;;㜗/. O獄'C,;yX".Sr+uo=c^os 74[ǻy5e/'=ʩIr]/:uh/ -(HpW+7N0x6&zKvV>˪0MrGf&N3wvo>[4u7n W0&Z<Up..pN2- i7>-oq{ޘ~'ߒ=ǘq\³ \E"2|vװSZ;ьqNhpm['nǽVwyt#hWZ{!h;{U;K"b0|i]?953+5 -A.j~x/0 | B3ݲ2s-՟Y5̌:+ +[r&rnj -Q?0)K*Frb\}e&1 -^õI3iTQ 7j -[2+N+M+ͨQ0iA>*kq` șOCOAs 9`›E%Q5շN] ;a-s7ތ\@| m@<E;`H,nE%w01%z͔ v2y/qM(?;8p!u-s1%;Q-UV"-.GSvv\{-T[ZOU JNLcVnf?7nS -"NHpje=8xQypB-eWr$LgAք -˴D~e0 !uv kdt¼1||BBx^.p %"UGX|8!z\[q̾ےy -C^#B2/axJrCȧ+!&L>} ]=4p]VȑnA :WCl E)*qShR!Ƭ+P~l+EOLIE_j۰C Pf'^uO(->Ó j`v&Z4Hocǻwo] -d?7~lƁHg'2x'D<NxEJr-u1cqWHgcq\LF4V"l,I3?梊X||z\*?Pnf6r)V"- -p1HzX3C8~D_yeOEwEM<ߴ GGΏ<HlO83rsj/1|[2]BRu )2Svmk߼Ihr[{ER?V1 m$-CԌ0aծste&E~I'hb ٍ:Hj TӘ !V}s:jh2Co~uuTҬOC” xƹǜ w -U~bX$:dG$wc',Lz5|Ы+3;0H{(nDJig)6ggs-Vu5T=tmwR[ޤa+%^8<ehr.;!֭ݠd2R;x8L_-i'sd׳g$pmZW+\wlpaԭ1)K#Ġ4² -[l /rZI zy'-zn*xl-ŸUxqG={3xbG -;x#n*4sȋ⮥Uȃ#`|`9;:dڧ$so# sϲɳ*-*shd5}$BulW;"o>(Dsa!p_$sG>5]$HLKeݑ G!as%@Т? n px/p~=Kk (uXZ0!#R=ef$\&900 z)8!A@ʈl ġdC{q(Pl(!`fHMU7 -xD*`7yma.q\z;~{Mv!-w!8 | |7k'$zIrgH)dFInW%Xg8| $RLYоark\إ\IA:}wҌE\aOY`s꓇MP;FlHҾ"}֐]00Q'pF%?dGiX -&d7%FWO$'tJ' {RԦ{2p~gP,- -*jDCUsA^kp25G9d U67 Paח'c2gPg1CDugr˨{Dcu _t=?$S?ˈE7ss=UieF弃vevUfgyFlI ֡.hw-V]k} - <?XHDc)Qfd$@C*XgC}:UkTg@ Z:y(Z g%HZUea/m%'Zz)).8mk{¶Zhс֣w m=p`&&edh YZ]uꎃ}Uy -\CTQmm(sʈ띝}|\<(hD襌L4od69ĭɁ hŻ9lV5evN<y -F;p r{ܱ~>~{p61)&k^Y;\@Xd ꑃ+#4)a|N4rJJ (Ey16]ܐr;U8c{Ҕb7l~bAYsLZ=IDZu\;\t6ˡ:Ӈ@<yp!Uҁ֦. -W-6C@ǜ = sJJ}yǭ]OKrRYJ:o58W;dp|ݯo뜹[s$># 5iG'*[ndR[BGl%v?d@@2qL;jDѯYSv7~|G(q1`˄4ld@-n|+]l+ӆ8J;>^zJ%Oٛ T&L - -JY g^FLEJ{Y8I 3B(#aN i g eUPfZZHGr , )v^3n -m,:< rP⏬"2 gK1QaWI>A$6ʝz].!><. 9)Pf=ʀ[RQ)(iza+,r!h}-RɧCdl+17z!g?-`7X q3v#yuEu<vz2|Kx0ByZ9Q [|?|Pd?H8\HuH>}́!:EgU}~)ӂ]rmY;ią'W0o&n!Lڛ!@&PX݇I䳺dhׂPO8nw 0YIkv4cԏ~UDZezK-D.nAۛWwvYiǹ.7qR͏y 0UʳŶN]\RTDĈ|9#/#{ ?6{V]A=2S.xaDžH䫐P >bcYtۈKU^ <Nq"uC5K): CM '-; MG5HpvBu4O2`<ڬqxl6쯌ƭ >uS -Js$;g pFpx~v~w钟_pݨXx(/n0^RdK!6#|%Օ5|# kj(Γw]ڟt2$ c7N~9%a2~skJk*d3T`WIno|39 3> Y! اYTHLQi=h!^jomO]N<Z02Fʧ+xFT*'Yga673eH7<zXXHJ l hS Az *,Cc֫ڧ$8շBv[nW}WSڙ S>g}.:^8NĔ4k6# ǠX>[PW\+?)V>WN4 ;pd -@U\k%d&i\2Oѝ|ҽ#W{?cqP߷}v+vcu1'V¯M (p/-,/Zl{Ml`؋^<Ж̨lH3d~?9iF4K$Ds?2U%~tUFU@[x~gJ˴s:OMJV>L3sĥԴPq^G[Ѥs-'6JnY׾d~d:[e#:D\_)> !#zjb J&e@ab]E"HP$zn1O25;B1*챒x8kr0CCyQ)f־io~㉅L> -=.tUוy~VLpih~Qk]ac/&WU"X-#a+Gp$ 3#^aIVqZ] zඍ)9q>7KOk&﬒c<=Hd5h>*"awM'> -" ϳUX"XEB|0Bnޥ߸yo쬜 ;-̉6osP ,8m|~g P6 al,2O.NM+pO(AaK߿u)HQF1fk=|-]WMX" PTO;?LxX}!VX072/*ZrZFޕWb.AG"dJ$shөd<xjyCסit~Mx]ǞƻtܑohJ0K'7{4J3ţ;]yÂ`I8Aw['>iJ뛷niQSw0@c-zkSx܉SƆf)4/fhTf-#`_uI=i0x #F$忓$#FOweKOܦHDGu;&/_+t…N>H O/Im!d + L7Šs ʓmq|&#H'YҰFt\ּ% -"n:v~FExxD_C$,-\ Jhwurl%#rr# [w[)pptpD2#D?In=%/3HgAG{{I>9IEBX\ ?Cp~i;~6*ˡ\P t X -#cEcruOw -d_ 5A q 2\wop{ =Fevf5mv4 1~$iwF_u -dWbq `k+GG  -x]Qomd@;[8U(p݁72ɳ:&S^R;UxG e -J3?.ο6fK>e-,|2 R|:L;~vU`}**)h8*Tm]K";4 ȍv5Ic=v I082Vc I1H3i-ɁnSOZZaLǙ rjJVr^k3z1"MܷR 7w'7Qxg:CY \t6JJa!i APiMZ]^m+ P%FʮdSѐ/ bσpKҰaɠH]=&ĠTXſ1j=cR@g?ˁ;Pb6@m-4vLMv6px, 㖦V[;Sx]8ڑ)!Y>qyyOYlStOriD詧g>Q1iiyIkRkT56RzQL&%OZ,ݿr -6;sڅ6N?-46SQ{U&إҬ=Dt!vx)~RO_RVqBC$gw穛a= 3uӼֺAb' ? 6EFt(f\FJnR)u*u|bSP@%Дт}$-Mjs:ILeN"19~%i}'\3,%m/#h{lm+>#k2-#r9y7a%u@!HR,)'mn$kc\W%%deM-1wr wWTu@i>ӆ`ôݜ[un|M gip,\obPg[ -w$C'=<xBUCcU2Vߏ7|$)&-=ƋWdׯO9ߡ&,sϽxϩW%Ƈ55xnglrZ;C#'~H<ou8EvG_`b}⬥GGg<s7lW'fX^)*YDEdi_@ 1eK냚ʄ<|tEMP 2a?EZ5 DKpSŻO6qCeROŧ *) %EF -RCK/SfaָYh7KkV1S4%KQoc5a+;15F3&>tN}ئm*%ZPTG.9e:zjS -N#'X |”ddQī'`Y&E镡\CE"5yOye  U_mkS(2)MࡒDdQY/s_0.Wxz8{Gk?,~9p瓴'TXK/5#1(;=';+̢;S*DugCm:dkM$mXY9٦ؤ':ɽ{͑ -:jbmT^-Qt#KVA -Aᧅf^QTwUDd}z=R 8mqۅQޑ%ADI_iG_<I;R n߬i+ TP@ًu(TE~6&;_eOz>Թs_2,"$v a7""RM./ɰ`jqtIT)[Sg)"< Ϛ[XQ]CPo_3Iۄ -|\UTì"}VH s@f<aCx)$&R`U8xj0+yoht-}vJ !ٞ&=ꇹ)0\K,SHP@(g2mq=gL,)$i`C+!.%nUWPw:ͺye@ |&%^R<gNYW ZnWM?POz85tv@AWUv9 -N$,MoA&$4R#DDbK%lch X W|8% dr#CBqOj|!Lʰd * d`)j620\ڂsA ,peQ p>rvl!p5=bPMFn"1Nr`G9hPC?Վ.TpP`;E-⪪ I  /̾]U2PMEG+ݵ+Qw(6b794 5@;̘*hݛ֙)8zfٛ~f5CmF H\r1Mt ! ,Т@;=^+%L2gB?j*:•\Qr3+à,&{-"\|l$yZ$Z_Z"͉3r =^Ũ~ o C&Tp-dI}W 3$]QP-d' utϚDǟH~ zl4AlwiO3'kO llṋމ_ Q4x<d>"5鬍py ڡM?|{R2*K##sĖE";Aav^I%9BH*ώ,LSMS%]4ktTzQȋ)/(+/pvtq/W0^s˨Vcw&ݓ'tߋ)Fr.8x7l'<vK aݢ=VMԜ -a5H% 0Wn|LDdFG%*l z/">7#=#z*3E2 "/JW -^aNa|HD\J=P̽ꥆS|[h&28/& 1g1%>N89Ha]!TܗU#3YIf[)5=>_ #t,dSޭnr3 `6qQu|-ęPs -ω𘰺 -y$lTB -Z M uɰ-"b6QNJ'Dpfwٓe_NPaD_H/INd_#xFه97 3.ɨ4>xͰpIqCDP^qDQ+ -ᗳ(Rlc(."E c -_.{1󲻡xldU^ޢe#~K{Ը@\@Nܯk䵫 Wb(AGGKkCG]uwc`36&k J"/~e0TăPr6vf fOc$zO@G#_t/bdZ!/[e+ C6|t 鑜c`6ö%0wLO)WDJP  W qEĕJb2AF0޼;p566f.&LY)ŪAhO G)76ƫ+L>Ѻ)zLK$V$TUP0kHZ4/z_EL /F.^&*C -]o:{deZ 7#"nӑZ8 MnۺcL8ʁ -OC[;IoE|jfnJJ3``XEn# r)]%ӷ8[E_y~W/YEv'C'uPZ>JQ. ]kؚ|<i4$K›[{k8g&y4tr}r kȁ1p*7,!JHf2! o˷ͳNNy`O¼N fqdL .sM h[%" -f4q*gaD$_9XTjK%=/-f`y |]pUz`[7,!b@aoMHDŽWu1wZKK3c3*`w{UX:ؚYsiqx܀P٭ڸR҉Qe$f\+qϛ`ד5t2ڹ{W8jp{V 9Cr Q8>v`֎[D_3{{.SjHxO.H q3o$H@8'.Tй0h}AuHϖ;EQQ1iy%7baY, -IDMg70{|U*x dYޛC%2 Gҿaa\WII W#p d+GG+NJ -+<YkwmG9h/r/ow5mAz+ nw2B^@ܹ۹3ɓ, eǚfpk\\)z *Q蹠Ut01%MHkBZ $R<| mLۍMȢ&#V\r;'+(:+Nj`+7C W wD\qnDd2㮦ĊA -lJbY.2 -I <ラ^ǀHAl%C/hO**͈9l:9dA_[TP(`_;s;cRs0*l1 ,(>0t~^q>*?+ ̙rf;)fe -F(%z2CII -; \(<PߓTlBe,$A_2 Tw ÷}ppHymLF2k95Rw @ 8Л%-/_ pr51O#;B齊OOpd9`=p(NO\+h*{O 6n1g[b%)Uxz3ڢwk=5?ڰl -&;IQ}_Q;7Ȃ=I/V<D˃ ,~ ]z""l3WBR - {'ڃ&UX|6) -w"am -F<܆nMyf~э"2-iCwc3ȍy9-Qwλ я#z6?/h́oq=?s\k<iHL˃^ư`a054:C-{}ZpayKToIGtWO.tLLNmk,9_ilܦ+q":GIɫnLC74KQv^J@k/oXj JՎOMIҮR`C `4Fp@ $ckDeP䕂b/A.!ɇI01g{"DOuQi.EO&%V&TQڧ';::[:#JcG`, Iz(*<\2nwJWd2P3LƩ,3-g[G; &7wV&ёavch*=9 [|t`]kڌmoU2蒤n$4"r㊻^!.&9i1 7ž93[<5ξ?#'g~@{uB|W~3,Z_5: vɈy,g -i -L?N}z*F2#J Z O6n"HSy``qk+xޝUd`<ӿ 7Mq}^h'jV^0&_"'% #l]xuf0B=&Ꮗ3<x!KK -~!\j} - - jE\/H򈱍 \Uu-V:b7QqByzX*$88(> \Di-BW2A9nc<PΈ/O5 =v^t1Q| gU54דۊNW{c}WO/I~+ؿSŚiR>mxYw0TQ#82vFnA\!Kmy9Ngy'b_zq !-̼r -Vh4Da W %>RƩ2.P{wj ^'i3:G OܶqPzxM/vC.Oؖ3$ȭ7j:L?sK(LIޒRskrM,0Jc2m7N2/`/ †1DN p~|GHM֧ -j0}G9S? P%*%f^J&ӣ ^IUYu-> >"r@XPKas -//\ \ƥɃ(e#ZlH %#/$-KV|#`99cu޶N [%`Q**bU)9?ń/H~/;oeNуs؅"Ƙ?κ@ސ]utaO[؞t>oQXE-oa= - -M-my{l7{|ku! ⁺;e#i}$A[uH֑X= hql[EL۩^S=\ugM)A$qK+SZnbhոr HK ^BcCkE 0oEVxAĠr<Ɍ5HÀ ޫކ=yMLt>k0{u׽f3Ŝٳ|/7f8V^ -o(YBr8fa1/gBbrD -I(z`e,k=s1 uN]@AׁF67J۠-C˝;ީnBgam2G!twְvNL;*uM>z:LH&.3/g7,9^|}: f}.^4% 8MMIW1RQxmv]@Y h .#5r}S-eMl*9vxNqo lxuՏP{<4o9+ϥؙ =⪒R<"93)+!sG2~/0_=& J,HKͤhc[>=o3VbH<- -^^n"HVrcL"ZtMGBg>3wtK5jT㷹Yn?J -5~_USI)Ϊ)6*Jóc KŪ'ߞO -O;OKu: tv\tz`U?(R(j+= C#>J;5lYЎv,fϘ7R`q'Tk._C3 -2d=Ê Yfc*ߣ?ޱ̿e% :xv>jrWtn$Pz -PMYq=%0#*To=Y)E{5K]l^I[a%b<56UaԮN=_ 4{}rKv C,U2H@=7^M*R-NJn^%|ү H&-? NV^6'@A7ǫH J+.E*= -!E00pi8rt4y0Mx5q='G؛L_P@C״nБ}/-"ѥ˃0秗 sh娭EeY;; |$~N3Ry:3펏LNi u9 -uI/+{F_ PUdFea<H]ƽ9]y^F,)fck+NWWQ\Ϙdy{L?LA`&dQj@"ۏ1<+2C|Sa 0KbF^Qz -nx+GR`ROBdJb)DӇBv,1GF`L% nB`~8Ky q.C=fq`v!=J-HK^۷hz2HI&?Z>I309➿e|!fZd/V 1~+absLi^>ɫx G_EpG9+\pj ʝ%`fiDXq)nVWKb=\W,^$bo߮UOѵ܈X/(EOMm?vG1_9n $ Ƕ0J١>lDeB-p3=9s^I wJp|ҏ;%LV}> - -/J/;$K -@Df$Ux@ZhG\l_Gf2!#@*<% -<P UR{߶/c_S,yew){ :cMPX渍s^smc]ۋ w N]1I9ב|R4Ni״]I"%ՌOMiIv^wSbB3\gJ[n o&T=R޷4wu_Z]]}kksW/'wuU$]]'mu?sꑛF/ 95OW]HsWE]I#!"UwsWsWݢ&!c2x!ۀ11 _Ps"G^I5(v}WG*q*=ѤF-+JISF 㑫 -r"<NУ7Qv:~u%mrsgZrO8Zϣ'־6 -=3 5elJש%sۙ+ڋSK+ Tjrd(!ķNH`ePE1OikTBנC\EOwҿ=)MؘQ {j3U'A(:UiQbtkic5* ݮCӓibI~( xɠ,I[h908ml߄}%oP |)K =kq6;ل?n}ݪЉs7ЭOOtO%.^ T 26TMw7SކT7=-sx --לҕ5P]. IN ->h -F<CSゟ2L%mߍ˷Wv!BOwq4N7͏ -"uIH])(T0IB%iFaWS\ \fLn$P@0`n3Z^6hu)rօJ` X2pkAT!?zXn:".zVOEfQC[Ϫ|SNE+gK E';ܠ%105ֿ2Aq"օ,2-IqTS`nPp/F?te#$hY|+^\(vkuu.|U%{!2$fsmed`F\O 1lt7zB~/q(IXok9ϫzv KM]8_V4^S-SirgЌ@ 粱i_sƱ͆Q &WvyX7 +'?Ȧ1.UEtFAk~Ǯ42CEg)t>+W5zUǠ%j%OedKSyv8Lrj%aqt6uaw%,:@`a$>p迎F'MR ҇1uPvduX|j71n\,CE0TfqI"Dt#F_ցQW&$_\M.Q-I˯Ǿ!wMTvAlA}z%of;I`3SdEidKAU=xls5&HhS+&ݧ m;d+*QvqW%щ ӋAAOUVH'.~$R(ŠycDuhd P<{jT7T-*f%=2:3691{W?.R+;g Ge(ff<SG/_83|-dF%&XG OTZґO{2V}e<:c5$WI;_$j_ה:<AɈp"NS2*`,NpFp,eu)i媬~=G5(xc xn$eեRC/) reM3܌?h^5 P- 8x%:T,1!<: jy5.(~w50ob6c<Ld'tf6* S$1v8c۸5CP' IXP_SRGT0CC9*a{zx';Iqc -<B7~s9- ]*oL'Q؀RіOR3,IX5%17B*貸9}oG!@`A1 R0¦3YKRp^x^ y}Nu#03:ARDr9B\g[t, DK!)ӊ$&Eo 7y/8w0е2FtU D'DTUݥCWЕCC$]-r|B߾ahk~+wLL:<_;._by5JMyS2y0+9ۍEDޖR<5_֑U&>PwGZpkB0|䫀_<\ڱ hXf]W3^ŤC,q9/IauW/K$mErvV>(<-qVpOGmN1 &G&IOϻ`lbA28=Q&?NO@ Ųl۸KH3z!G) #ۈVSC } ;`=،Ilfs=dvwzb\ԖJ)z@B{1Ka>"ULrFt<cY[y/ob3F DZ[j[r;˦Hcc'o -_p++9Ǭ#v[~A*d? IPUpR | +G`7Y~1\4n̂T1 > lHc0b0(%`FA"7yxPaFЖ\,)ɾW~;襢)BsqCqy"6i(7A>$3y})ZN #.0M띎\(K<Wԛ6 د -2O'C3<%Uwr2RjxYٹI)z}a -xav!ΙNi)X1~^<lLN6pKJi-jiRy+߮ض-o0mV2(| -\l<UX=[wVp;k4E lM_v6AvN9g)-8t8GJxW|Hs^CYͽ -Z i)FYg6*^ea2׆D/C &ՆbM$=[n#)e[ξ$G>*]|1_56v:)k,;7>`@ Z?V`y%*Mk(]Sv\<cI< !qv(nJZxG|Er̡0n"NjQAџfTiO#cL3^6c;`da&ae$|0-7ʯcIaiC~mTz!0,u`<u<t~7 lZ"wB܌j V;DaA. .]"]\=&@]6D%H(;~JҿprB1En&+I +$bIb~/I+ UXPtD3~vng=yEݥ v ]Y{zz.|44<Rt1` -/+$-+;(vIFJD7dMp.ͤwP.<5*Y#o]wM Nr)'2*BʵUh&i͜㞋pԐ @88TJDqepj{Cpv2ߣAֳϼs=x'rJߑrŸeG%Nc\)ky -^yfdLHvgeuG^Y;pF0Ⲑ_Y&:!/>wY%0 Kp-&i-DBG!Q.NC\n8"~[+Ê YEɩhJp-1a)8r0IJ3՛!凓d"19uo"W"6ZR bƈjCEkxaAi  sF~!x* $AM4헶7`1ZMA>aVsV<k"Ίk.ȦS_3E$Njl ![ޞ*ӌdw3ZbgaP{BMfJQ?m.C`7nzv'ӲopY;S~~NR(?14 %֤ -(܎ ء=%/,98ܐ.yS%]aܒ \H .){/=^RsZVlvѝdXZIyB֥4$SO&;;8 ׶+=-~ *@B"&$ j 1=9;opC-} 03oKSf%w>@s(+~*N7-s3pc D>堝mgHrE',X 9p<Asr@2"9(eCAl*EfZR ~ޮ&\:3(D opS%1Qll - 셣<ҡ A)He_INȁDmX?dg/f -㙲cEbM{y g:tPx2n#3l3ZgΉ&浝{?-M;3-ܼq_[ -(<KMH"O3풭SI]#Aݕ;;z:;vxmwjڏV0d= 1f$1v$q!,-ȯd6/S +3(%ݟGݨz71z -u)[08R2j(=:StZh4к0).v$9kKH$/Y ZK.x ]&ҦD>D>xG'iÕs-J/{. 4J[td.:-=vOSB] ] I[  IV2nM:F=" -h4:`zwP%NHd7744R ,޽toE-uAm:ޱYY9 9lL r ~T8XVhc3FII){u+LRt]a]GT_ʼnPu-q42 M*ԩ+qc/njoc[0MJQZĚ)l81 ;Fj'=0q5?j^*/LLȼ/m|f80ZI_\f$eyƇfeT;h]r8i~jX[B  g+a*eyF$ޏ{ޠNŦeI 8ckwܩŵE#}Yҝܩaկ &qhP*Lcc&BB2`؀_6,ށ1 H7uR33ɿF,)vr^$.YMzEz^R7xɉə$~˪0kupHzi(I6 }~8IEA.m1qzϳxNgn0[Љk/Bw O !eN)$[AyOee NAn،-A2 es$}FWF֒ApaP "M#Ƹ&k^_OU:܅E(ك3 +)acOH2,:Ek gcA&-Xt atBkoE Ga 8Ǔҳ)+,G -Ҩ bbj]渔3?mc:u3?8"D]1wj8 <;&W9:\FKY'1j} Oa8wFo-ՆB2!3>3.S3pPDUWQDcM ޹B*8DUsPo2#͟ "3ӳҲGDcU`6O[]@{!32(}~ vfnC,%Cda(CȨN 7 Ԅ/(\fKpxᢿ?tO -K,U-ML V"ʢ59+Hf1!Jpz鋳I}i}Lf/$c7( b0N-R\R -( -\A1(>=(5U-ai>|j`5KΣiz_R(J?X7<$WڳT<(^w2y RT =GZd8*aC4!i!̕!R$=?N"[x$=ㇽ$-:EFOі5ޯU2ᛨ,U{e 6ҽF-.l|.:w\drSTj|M׫~-2r;*jNLdaZNU03TS Iq60kR#Mɧn>c*;PqaXGbhnfnvv~%gxx]jHk?EwsX_Z\VԲ -JMY'OD@o;̳e2r,.gع۹<;w+7-jMv ]rl>DvG$RW#~khD*Q=:$A-p&GWؤ*L#C.^ PR<#%RyqY52_ӇQW=O~^J~UhMPM-0ԏG잌6k<iAgT'ъ jeDiu+>zD7+\'Z)=F -ˀ?jo}DKU~M"nFDawc[[,)?3CJE?c6@?mz )`"k,pՉisEHCdXԧ hdF$e "p~z_Wyd5XxkYƞ}z4ݓC%C]]LJ9%g&S; =2 dKg%.nXI,BÜ:y ٓ!i:-\GhnR3Sbz~sJzZ_ ۷t+5C0/'=I|P,lz2Z0 sPVs 0%7sܽnq]~Dxj6K=3bC(z66/%~o3)9 =xٕyM-ªi)YO66u/7st=~ouP-9xgn@A?bwc] 9F/q -p_! ?OGY:R{왮+=CJxTo- ]*1g| uʍ3( ,2*.$wa{/p.|]Ͽ -t=y+\i|4O0jcBn(Г:9{\r(,HN^oAFVt&%݅BXEo?״)dՀ^)!Bjمpgwe5gUZ:tQS^4m-s0ÙZ -<)V'p OalP&iڕ,͞0-y>?Qaٌ/H^ 2PH(~ 脂0w ߣ#!9>d]oq`IS9-J:|(J_z8N7`19;r JPQs$Aɂ MqFljkT~=uNwCuݵMuZ`xa&axS$}W*'.z:u^*+[;ɎmYN)_o{)䄅xZ!'M,82PR ok&̺aè6f<fQ߄O;: vQv9a -r?pRv`k/d7 )g70tŐY} z%zuwͭAk?+3]7 H1$Ր{rO2 ΐ}?BsRKYqiIi91 ^ nHHp+aT+WBCBbb#CR1)yL -p, Rr3]׹<S?r[Rf_bAܲʞ -ގb AS-epXYUO! -`d25b/U9CU&!&$d/;e[>hGc?rfŒ*~MvTΜ<kRwG@e ]SayQ ZúžQ6cKXژ9sѧ1-wD0Ya A tZ%x״-mH+u٧zoRsyl^H%ʖ9 VO_EL$k(uK|uն#`f4<k1K D!ܸm ׅܒ {Nrn[͞i Y `1^J$7h[h0/.s *J -tr -J3>\ 6B<+5&")wad4?Qj_0,R(' kh$pށxnHS7L6͗eW JvlyIr_*R]a.@3]H sƷcnL t;\¥'3@t/JsVy^5] Fu$ιؖrϙ5Z)?ssp&x0Iɮnq^4;̀<d_^EfYfYso9AsO֖W_VE0#=}Ka=.c`hiw<eBOVo/e'@Mo/%`Vqi9Vv#V*q%SK\ՒU[Q s1_s -抦ʓ\#j2oQrBM}6Eo7 eQLLn|6iu -WGXxG c2 *Ǿwi?=fidͳϷɽeEx Ǵ` F7YT&&j||yفל *n]{P,'&w|rJZ9r0H^ 8LdvQs-'%$<4AI$|bP2,-fHWyKҿk!X_c)*S]d_UI<ӛgC&B&ǏM3nx8ǧh@V `'( Ž$}!p?\FЕL`-:<rsJ\ޠ!$ -)"fq}Po4ewJ9=r[cxSdi\Y\NrvqŭD>=LFD)хM(Qy8'|=_$w]eД[R*PWHܔO2+_/\OǗ()Yp>7tԢkwKH 2햝 --op]n=QG؀֚ZW5zk7aJ.qjE%wυo(4[&O2Q81t@!<aP.;CŰo4v >~8yeQ|؄4 !#%͏O W "}AƆ)_) H9y3b0(IVV -k.Z6~mJ@%a{r-%RU@L|$T21+۝`r1%7<3 q] X>""2A~m/`P!v̀y`k4yAI[ ->&pI+d"[M_ctm١\׆ -î06; g }}5EB8K*Y3R E.] -d;&{fddQ/!z"VkPnRprrٍ - }.A&^"٣eGs75SE3g?5@ km'+Qq4Iu͔XV"nf_nNW7ɕA8HhbSS8iA5NEiQsVv)f\q%.0ڟX.9 *UYG.U'pGP*#.ȇWLoqP5S`<NЯ0]́ݰUu$FJ]r=%.u<L-S*G OO_~Jə AiarL- @/B9 -I]<v?c(2.Ś#svf\!ۿ̞_|݄rX'=8GaVʌ-'_OݟzcF_MOfTD"γ/t{nTǣ{ *nvU؛鸫*zXT+| -`902N͐޺!T#Y[RIp9p䘚')ǩrBzzo)DsV1W_Ԅe2JjjtLrG~Ŀ!ML}dqdbnKgtmN*]w"~ߩ3ȡkLt)I1ܻ6bTBzE*٩HgptmU̿- -R qTNJq]XD%ߊpP!.D_`dȁh ,#qh(<]uL7FK)96yJw ]$-^uqVUG Lv]\'od†fh97o>IO?c`8!ie>.%di&xWG- O-tk`xJb6v`v `C%pB2s_ -/I9Q|Ӄӏ ޡgOp͟%SF9gnUQ-cͣ;+?V{›=XZAJrX-BōQv'HX\>StX^8K_av)^&d9[MH/ՀxY"3WonpvgZ5PNHt1??9ؼ`!~ua.<D-2pG̜) QJ$p9Ӵu(57 SP4{݃ːqƯ<O*g̵lAZIh^nj*yrNvu -;-r a v/mQ.N/R?<LuE ߊN)U.NMʮQx<ԫ x2Il~7 -2(3 pCݸ]< -c?kH0$ڸð] v@ P j,S#h%MF49;"T,.i-;IMwoYR'M /wqK-߶*Ԝ \7FA#9-UgWQ!O` > ۱`$NOy -3l.+ lJ7MԳyӬnb9]BO;` %6.j荪Q%ukT>抟-̈:Iu$\̄ -^+q;Dži4ɒ32U :\D5vp؝`360Ns4­ZPIj!<.$yܮJ'dEb~K{k:F&+YJ>m`DșI-U@W-wZg(T%a?,2B2""R-k5;˝ˋ*˫(dp,$ Ůcp/^4?G{Fj1e`. ˘+Q {MTl* u;;\*KGNpAvwC/(xIx>Ri>1~bZz#;1n}O/ږ; -VXVLvJL.LN׭x;*b!w=%;*'g=-Ͷ<aS5ݍ<F (ӹw[x^.Np㝐!_Ka +98䖸TR]7k+<oqR<L_~+Z pe<q`N5[v5>ka6̱)TÃyu 2;5jxrjCpLik@ѡ&m!ѲɴVtaUf%2=<iΨ4ŮJ$O/Z`W $G2^Q{R_ߗ* (;kVxHz~A{z&Bgj)v9ϡ]<C$= -jJ* ^W}z\EZHs<ʐix49 J}|Pr{_w<ɄC%靁Rpx&n~Z= &j3jl:/c)LȔ/3IN& :bݸDsLJy=լI/c - $3 VRY - Q~mOˊ@.*LƳl..nzWx.@7NN^8J%KЋ^>h&7i}p8^`HeI|ii܆d@ l^X-QM357J,JjN -`hLPL-!)6*>bҝ juv<y!-P0Z쌀qA:W[" 9):Q -$q?.(E l$6F|JIR$j1E«E -MW|"Ur ):&Q6pFHz9.<.[ceI՚0-OYo{[AMUú%G특M8TU -s7a|(jRf?*yCX3iv5{|䪐a)\L0pJuMr[u:=ȾR%. х#a?5=ً7\mۭDwȮйؾЎ57x?q>8o;#A$g` .5t0\]燴-708EFްl4;_s{Jp3 <JxCӍƆ퓠R?t(Lz(PyQN -Ռ70-C""cR\}#ʣbңTaZzQBu# ŭg -Aa9%r@)停ccpjpxIHfK=1Ue4U -4#S##Sxt q}NS - - [ -s_+e'U&dRA<D[r{ݫi^v| -% bMdؽX -'"vGI'jGbcƞcmkiLO@rdK}e -!{bҠyg}yxOP0n(# jSOb%-uT:? =C ‚d0*buVm$O]ub%mqGtju>?Q.b -xbo_XzqNZ:ɳx'z2'aHw@X$"r쯳EE:?垕nX;S͜p-v΃5hʜ~*SLFvUWxuE]j@{Jv!.E6G,^b ̯zDe%t.rʃ֤*@$=#o@Muhu [ڹa-`ސJ <dU`If^)za9:aL|\ }r~KM0:peDB/IaY\?q[kmSO ڪM~ɾ=^>Ρsev,ۦw1ٷdeSYKA+E32ubc q=Xi 'ٯP& -H -!JrUOIrUR>gKI7X܁q5[`Ӱ< tBk&1R>&@3#N`Crb#`kHVF|AoJ90O|_k$l$ZU>,f @:Dx&M$Ͷ \$yFtokRu <gLELCd{ -ЏDvI^UNI>zc !ث?~[!3EDibpMrCIZdzo=ϲ~.ڍA4JpQGzWG{(>@Bn$<I<=2C `ÓܛivhX<"c$y,O6ê4~a( shfl!%&aP N48> p옺#u&wKmSV{6q:z &].ڦE4atE?@,w-K \; Mɠ(Is4ƩY6n8YY6NUG-pXKV:2@1q.I~_81qJ8kb)rl2,J`/~ZWSrDҬ#TV8@?na/iaˌP-Sk$J1xhw-f~F=#nbp̰ҠM3ȁ:!YX9PO8VNJ}5,3c!lo~E{Wf&[\9* C?; -_C/tA?׬F-U<j]h#pg8-N@ЖnDNFykЍY<<}RKq!* |eRXH }X|pYX1H.LiO-?~ܬ;>]/=ou˿'qIQ̽&L-L#^M\u*eSPL&]b5XFUXFkel-5b.sr]{HmL$snXuMujv7q͑|- uj{&ĎqlaCTŭca8#@ol08M@D)\uҝO~/ =5IFog܆I~9Զ@Ev ZY|Y89H܀$1qʶϲW-hA)jBN]wQJMv_?'P[P KA Cw'hqR\y'_흁C`3ƥAu@ULk)JnQ?]bݨw#1וk -:DN\ƀ*ڠ*1!{R f;ݸ.OtrA53!r nFJ^ -|D$ۧj2` TftPRMfD&ђj2BU%!THkV)Jj2bgn09 - 3,x~`L}4sѿ"n mqܩnRrrzJ%Lx8z+WƱGUȰnşcw%Kߨ<q _AC\}ٶSF;zm{*)T_#?$t&S3 +RQ1%;GQry .~K -8Rb}J<eXA~(ȏ6rߏ8،o߳0ۍϾr+-3Gȟp8|y lYONǞ(hjjbaeøր(I2Av.~;dGX4"¢dlClSt EVʁnorAA`ȯO ] EaJ#yB Zr@F5zv3 -K0$L2(I>E&1<7_>Z?f l(`92PNbX帄fZ=.!0[tNHZC\7׆QZU#_%y}e>gK2]2x)Hxd{^ZXH܋\j\)4Z,{8x8zRrY&BQ;cWJޜp1IPIf7@Z--XLۘ <l9r6.D0n^I4Hf99OsM^~K7Im?-| -+/V ݉@7-Y&:,L3 -m~Uq5 6.3eH;(r6J%*dXFTJrarRfo$ˌB)_IK}I3,/ڙf{&ʽYTWN*|[57#ُOz+:8*]Y@ћd&>(c B&g|oJE1˧YNYa * -঴p E].nTp``Ntr{ʥؚo!N.RD,Ctׄc_J7C4C23q 32w{ktӬ̺j^Vn~C莜26܉^d8_;]_t[rjJbn3G\?Tr]l:T͓QWr](%-.Nʿw3Mx@ e ɼ`<w&)e!\n ~rXaiu+Ӹ?l8s0+9[톶֦-~}MvY-/"<x7xGamL6,ksRlC@,kc*y-dZcjKJzDJEy=lA'b0Ƹn+]&;\WeUy]-J9.I -&K')}wmԈGngA]א]y>+P\t%z&V -#Oy7> ϻ##b5.ߥ눝|XP G/sي:p)֕M3T W 5Sskz!g0xz?pwEx+zYDǝRNLqoo*-IΥ茚k*]@a<K8-5m,IHT0^2U˗O^~iíy=g4(l#豉&aCONJ>=F9I~5yZzVm<SJR!E 2 ,hLGs'5Z\S-(ݩyٸ˴U'e]ݠ4KW`QXu)572+KpI+~1a'a1IgSw2I$Li7Soo7~4wqmLas7'wNm h e~*B|;IĒ?&wWAٷ<C"v|QRNLnF(}UdƵ즬[\.fJxO^ a"35vZ^{&E 㓉?&n:-+S$ l:k>jYxEJ~)>hFe=]N5)WW XL9RrPxIBgl68vW<pW.^ -OR=?JgM҃J36'Nrv۫C(GнYN'):~gW/ػbʲw=%!ÑF;&xFe..9tvˮ(k2,z=`aSȽxC6vW_twutw=M3-RUBd|ctcB)]X:o& -YIoVI\7Ͱ8QqԀeOrՍcV<4ӂ0к;Yf;ƫ{(؞Dj ^P]_|bA*yFjEŦz9yRzRS -˿>L#ߑIwRLڹ]p7. ..ͻAA,1,85,+ ^P*@{m_ ḩ 2VwyrmphL*FkmP?p-h pv$fOƅ :x-S[E-!}NLwx)]4";9גe«:@C6 C5P>Y;<0M}uo]hi.^x-XYDW=0G`8=RH\}=q -ЕFR?a~.TQ5!J+^l;̬g\C.LkdqfzPy+ 1PlFM/* @HcOHMonLlӦ5 ~lnG{+}L]YцRó#(Z?n* I^0M-?lï#p{,@ |K`Vmz> ߁'|G3?lI͍=M\G[ l)}mam;@ժEv)uU1T_$ plf2qjDSc+^hszDOJXfHԈХz􊂳9w>D74Fx0&)(-.:4EIً8LӚfr UY,Hx(z"&?9gl@aflnlzBjzVNROq!T8]'9%6̴#M\iH+_ω܄\*^ qL\]bJk$Qgd - -+th9 W`ǵ;SST0"ST" .Sz7m/GMeX8iA/YaoHkc0%(W4@Jd.6~&AF6gha -}Ao3lc:x\Pn]x?QSLj 45%j_SHZ#-jxMjZ otm!Ͱ`Py}PU_gu멽q`).nK,,\azo9:3`VhMHv5"sG5M!c&dؓ -&jsDz`V`fBV|N\%^I^Q還(T# R 9P zSS2٩2(Q읟y)'.V 9 6v#%D 8! H6 s8$=TVɑ␄HL-O&egBr!#+SP\ t/,HȺKqJV0\euăw`m+}n^z`dml igth Ap)*0J ީT?C9*,͘? #t昰}wbP-sF @[-QUS* sl:*y޵MD-vP?0 ѻ50x+~'~Åy`Xӆ`a1kFg_+Jpӥ`j b ӡ!<YCmg[{R}E[vF)M.8m,ktV \6`x]tR' ~M~͂e,Y9ɂJ|dѓ[gg3 $gm)}ҺyĨR gM0>~7v횼`BmֆQ-ǝ=Jot)^m-K^8}^tm&g^t%X>'c69\ɕ'}]|?w6Մ~:GWYG)[`t]C1[s-;DYuECũ%u w|ܪhm=ϩfS -,шiz}n|^Ȁͻ}#Ԅ  h'tbY4iU,+:H|8YO׌l&Ϟr wq:Ouϫ pALD#վ<׌c96iSݑAg\ x.EwB0' V +LzT0K;Tr"7H2g` -BӮA㝦W}tЙ۽sOi{Dj5,%sCxvAJ%v"9$f&8dnɡy%2vI=5(lE}z\?=3Iઍ"Iqz oHZ.*&ZRTD}Rg6t]S7>4O#Y]kZx]˨RH M־kQ8>@)x>;㉮PXz%4 -;w℟0HDTb_qT2tXU'FYMs-=ͻ_* MYgXOjhW5N䠹psdx&UX<5 {҇ -{2&$?5`#(:K:&rIG{ЭKd8eRv|2\:oOVk})-ܜ\j5z@Zd<x4Rcpr )T2ۑ܌@J>fJaVX'ƻNO΍<g=uZPK^й]=1U\pƭ&J1XN^:\,4wu47-%CѡZr0?,oQ1F:o\wR堭$1&]ECG^ʫ^{8XP]IW(jKX’=-wD&$zS_]`&?,qfx'|0S$#Wpn-x[{ᕜY$MG%o?|U ̞9 Ug͜-U(**nCƕ(M!`fcX ,F8\c!Rifm`աa7ak~"'v sY0 ODZ~Q̱~BucRNP51"9=*HZqfI 8Cɱ~7}pwJ? !S_֢TFf;a<(ᶸ ^ŤDu O9x-Lwn S -ŢɶpZWQ~e !)_I-$>9q;YұjjN ǖD -$QV=Ϻ44V7 75M+Z@c{fߜQlWnnI`G4taSx3!4kN4)C#3ō,RFSr%R:BRBE_OR\̇Ms/r@WW05Љ4aœ!8 $A[MEKY3Qg.Pga?ITsJ'IH%J,v朑zr)MazPpBL+p.P- wGv {MߌPQdqOkT}ɱm?(?U+ -|\O -;[(j]w'> 鄩5ybdn0ƋN"?6Yʗ -BР\®`-={L.Ln= hzܼgqdv [ÖM/Z43C-y/;[v@QٟUV=e<z(x9吾AiD_ZXKKY* @Vg@w Xw58j~Ԉ]SpUu[[ͱf{$~g}#YV$2vQq?0a=,X&`F`pCX q1IO }\.HUTFT-&e+0Gśe XylK y;yb{{okϽXݙ=k84ށWI&AƇwygpq ;q9hnw$}gsD^kKH -X( Ukv5'[Ϲ:h0ǜt8mImGnҋďb\=9XDx>+h0D||9?^ZNMj"y4(r={62bNht/6%[L`VtP~)59_&Huo[쏼x54îAOIύvMZj{=-gw2fK9q&zI$߁a!c?K -v7㉔ jJ" -DyxAyz -{~-FJ-EUFG2Wb&K}n܏ʅ -Q}?* 2 tp96 ]EjZ [pvȤO &^\F97n[k-)MhB]yT c+P]~gy<BgcY50}P'o|;𶽣Y;QPtOdl|,7CbṔ\RvpT1pt:V7J5`<}ד~UbaU/ @J^Jwia/^f~gXGh{|g&-T 轓=.&g`-~k {#4!~Z[@O|-ȸZ1Qq?oD -YS ٶ^szصʟ8 !@q*Z'jLm {+A∼kٍCGt6g'47t]o;R/_}SR=EY8[{s°eC{- KN-]et9_r2ޟz+*Rrj+HMX1QT{|G!Q?6VRurJmƀ]w 0-q> az>\ wGS<aNXk75*#TN9+0a؄wQtp5J( pK W? Yେ)"q:WWz?SA~EF\>)pI*ar??%!l:wo|js̱M>՟;PWBc\JyTʜ\eJYTݠnY2$ERSQNr.y`-huJR\%̤fj _m ڋ0 -gtrZcߺVTzյ׮nՂ+pp x-4(3 -{W - '1jw#Q;2jBGiʘ<Bg%~-"τGdOOrk*̏-ɸ!+OMTLJlp:Y@hho-۔8rpȐU5=96.P@RsgDw vvhqpa84o/޳A`GIUA `_8l}H<뷑kp)~H,-P}[r7 gG/` A -W ? Cn>)iGC y`1 O~iM4I)Hpa3:~pg/&Bf<j7<-0ò႑=ͮa!':7:\h3ycTd fGre?{y(O - 8p?;,sOO8>|,(HFΚf`q)RA\!.ML8Y~݉&E&Ѥ~o,צJ]|+)|K)Y,V/x LJ94~meׯ`4&Qxv6&-Q&Vl2e/똏rW3*n,91ryKC]EEUZ"$̡A=Yx(07=G%'Y1&WKodW,<KRe)2J}Mg@oV[kEӟNю侜}q0m W\U s@^[Q8juoKc{OAw)uމ+-aD^ E]`@4)v顙>ojJZ[7+;}w: ,1dP #a3iRv6ŸȇA>p]쎌&JY\,EW&KzvֹI*u̟gOY]} L8- 3b;jAiъ( 1FC [R@mW@RbOEv]jyAy@ãL(He'G`R25=Qhhl[0'"(:0:H3X3p%..xmtwh=~ -i6]66~9<v;&Wŝ$M{;HTrbnj°2 8{6@?,z[G=q]M!i)'h' A[1،2K-\].3`zhLhz@_rV}$)wՠY°?G-ˈF@xh_!TWRAF$Ϋ.n˫8xY{Ky*ݮ9?rbN!qauّ6AI?DkzV39:xsj,y!Ǽ|S88;O>#ѹ>3һӳV&(9 /W{_ikpyGEhw䤢W: =/z:94xsrVA:X794tnrbM`<_# -R3z:q;i$4ʊ|x7Qp -(|hPIaNŸl>>{⡜lcmLl6×weMF7X&8KցvʬM&uԝW`a2Cfn 1Rz\xWS a0}pPaF_cUͳ\nXG)"cT>F!cScP r&T(3t9搶6p>)A-W[{o Qh2ȚSGx^}dzdw#; Q|Řsp;- 6z̹w]R|z;ZrPw, -UGmPy(؟0o0|l 0. _χG&$zRZar?iPchG#P8??hLҟ0&iˏ8{$nh<- "6gH[&rjڟV,`]JMlKzqb1Hcl*a)J3u-E̙~n -xce?g0ragteuivPZDŃ>ᗋ~[ηmK[m1 I2P1Tvrg%+mZQ zb x]ޮ9+#|R%<zEL`vt [3 -pO@l.lj߽pC+xf[.1-e u`=lq!,“n`l}̨Ҡ1 9{S[ $sgj:vRY3JHXx#bgӀ#lIчJ庁u}/ -Ɖ|N\~I5LWa.W-{b;kϜa,\wW^n<֒l䀗 ^42|~@S /3+`Z-gkd\.C~1>t…*Cf0_R*hvhCЧ3U+8"SpjAOUPY0UPFQ ߄"~etA:_v9ri-@]D^``%N#u*`-582ȇZÍC-]vjcwA`XJwB1 HO}oJm5RVCe+ru՘ۘ@x?0T,YcFiI3f$$+U!u;X1kHh8#W;p2漎õ<N۲~ -\d%b6x%F0{1=x 9pmF;:BXg*!5 \*B](u %[B.%oc`),!tR  r1.C;l*Gj:3 0sv+n,5 -'E -aPfAQQa:@k5jWM^Wコޟ]wWڵko}K:ƅJXp@8-VzR nGO -(mց_YѬZ(t:0_E[joP` y;o& %oL[شaWLޣ#Ex.PnƾTOqZL%.,/keI -D*$,/|zՍD(MN˄l]b('9g}F]Im!qP@.av;Cˈϟ {DD_t͊ȏ̼{155 Z0M'&qWPT! qmOi^MX054qԩ0 ¨.L{ -t>J sx,3A!ၑLAY~x'4"+jtjljf ϙYLmsMjXD?jJm-}¾U$Cvos8|Uia*Qľʨ"01xHɑE腻y-euOEF:?kw+O$nj9W}sr䪄֐.6Fg3[ή[h<H-O8>jꞂE l [o_cc,N -tw9/))V[ti-RBxZmE0uM\47Vp 3P⏚m7u)!9މ+iY q_ qÃ>8ӬZ#FDri7%TrFbFB&SQGj;J8 N)tɕ4!R wziu ZODD%gQ f9 tǯ.rO_aI6` -ש󾑌6dc5ubcӳN$heG{Tj^wS5+(>zfҧ3:fnUعRsҰӺ^H$8Ύ*ˌ~1%v%NͯwŰ'%v *:lMCrTsU>۫ȩGp(QA{(?jrR%YY oo%WLLZ 8{uG{Gw7Lmmi@)^qV5~Qʼnݥ[o-*aQx ;-m{caevW0d(2Cmێ7v@`1n<KLq ?հr5؅_nqv)=^IڱK ].Wf/c(\[ř].`!k }rt*ujas5-)>zd)u9gr|ԂDfyxXgVT=,:C_jJpmP4; gjIԄ$pKAi~n0fj KQ4c{UO V]y拹/ҳrS/W9P,N9.:6i/fxs&u0.- '!ȃ'U ^U# :@Ϯv`(`݁֯a:|y/ p i/:. -Y(g<- % ?:xem[ زGAOCsXkb3 %ib3s&Սa-0ˁiQ+hvC -Kzse?]m*L丗|g"0 ? O(OM4-Imqc Szُw*9aߑVñLj _!$.^cxC#:4J)C5ڷR ҄.}To"6`T\ R}V)mjiEW[p݀6m-aB]ց( (Mr:( (@./H*d2d0-̏ B+s:$8_g,f~P ^k1ף]zN=[dzJ)#uƛ ]/I8bUR{W^!0i5N畜r@T}9% ÓpWv?vޏ b)/B +9 ux85 %dπq0  >1#FZ*)XjP1Q:OM?CZl'nu`NG}l-5޾j#;`3í%h=NwFEW6y@eOlJD&4lo/ jC!%Ʊ^\z -wX#e TƱ+.i.~K\)2XcIB)|k0V{K1Y$ ^pU=T&{K0Fs [͡eLzyC^rR% *^\0ȾU1M+83qЌ[5a+\ԪeI).<DG%3EIəU:PWl>l rK_Hl -ݡ&J釸~ ^ kњ5ġ5"ȶ3pNu9rFu N:d%0; f]qIIfoA' 0Wfc<SZa;ױSBֽ[U7CEIݪ%JyZ1'0bms&kQy.T`#5gh\~(RCn'&,N ))xb!Ὰ>;#cxWmX,/ztyvh&C)uFPQ"vd!Bzhl!Jw5?R6X-X GuckKC yI39|x mmE<INQ>x.6 -ҏaG~"nMH7%m1 -`/oA%3 {[GfZ 8AnLl`U5bL}(XIc=32x_w9<ȭ_"S / 1q@wY0/SމE0xf? 44OnziΩedY`uWI̢s\y<s+].n>*kr谉h-endstream -endobj - -190 0 obj -[/ICCBased 191 0 R] -endobj - -191 0 obj -<< - /Length 258 - /N 1 - /Range [0 1] - /Filter /FlateDecode ->> -stream -xuJPFOUvDD@`]\ -FMkIRB|&إnऋ(HrTų9` ըa&ʺ:l -3Ŭ*ުn-̵8+/<aRkpشAmWQIh %lE5VW~dX)ϴ:׺bk#&_¤ 30 I -endstream -endobj - -192 0 obj -[207 0 R /XYZ 61.417324 613.0966 0] -endobj - -193 0 obj -[207 0 R /XYZ 61.417324 458.25266 0] -endobj - -194 0 obj -[207 0 R /XYZ 61.417324 231.08664 0] -endobj - -195 0 obj -[209 0 R /XYZ 61.417324 521.37665 0] -endobj - -196 0 obj -[211 0 R /XYZ 61.417324 633.0266 0] -endobj - -197 0 obj -[213 0 R /XYZ 61.417324 588.36664 0] -endobj - -198 0 obj -[217 0 R /XYZ 61.417324 677.0867 0] -endobj - -199 0 obj -[217 0 R /XYZ 61.417324 382.93063 0] -endobj - -200 0 obj -[207 0 R /XYZ 61.417324 489.51465 0] -endobj - -201 0 obj -[219 0 R /XYZ 61.417324 368.06665 0] -endobj - -202 0 obj -[221 0 R /XYZ 61.417324 418.72665 0] -endobj - -203 0 obj -[225 0 R /XYZ 61.417324 546.70667 0] -endobj - -204 0 obj -[221 0 R /XYZ 61.417324 191.56067 0] -endobj - -205 0 obj -[217 0 R /XYZ 61.417324 241.48465 0] -endobj - -206 0 obj -[225 0 R /XYZ 61.417324 368.06665 0] -endobj - -207 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 0 - /Parent 1 0 R - /Contents 208 0 R ->> -endobj - -208 0 obj -<< - /Length 4180 - /Filter /FlateDecode ->> -stream -x]i$Gq>|`k$+72q[=->Yf`ɀ8m';ٝ~ɞc|'2227ٷ~χaxrn6ahC?::N\9g7x ~q- Lë\>^}v^k"|wW߸y擛/w7c-Я,* !(?K4bY^>/"x-ZIZ_]u `¢! (L~"6ڛBYT8*mayd}40h#듡*df}6GȪb1,ß+2YFM -WY\6Y҉\ -*<FF9m?WT v[ -P` 31x}y7#S-`ſ|;ܓ}S#K;<A\M u[>VhWϣS{ I̪OɍD9AS#䲍~Ov˯}{`械V*@m(ՁͅSU 0Ì|U( ŝ @;(&ndC#2ב URBr7a4jѯ1\:N׬ e j3U ĸ_t?+V >ak#_Csiv-p= b2|4LGxruA}Co0`""(Gu7.FI ) lH0i-e=ϒ}vVSa c*iNG'j%svOkicGpS]cs-^02V0&* h?O* hF<X0mZ^\/Ik~ my]r0A3t# l@>Uo.n=;|o_Żl?CNv ?Puyן?;TWpAOQW#+Xv8J 6R^š.GToԖ㒵5P 5_`X@Tvñ&S}XV`J:f!̏T0!0.H:W`\gy -H{KX}-'--H&9q -*:_]ƸApI3(ͺ]ꈌ؛NKݤa*|,.8xT\Ȝ-ţ#2nI +#̔$3ahINJ3gSrQJr)g3QmNwLVk=wvR6iNb6ϴ;<ͯ7WV2q>aR[Vbek0vȏNҊjYL?g'ܙWΫ+kmyy[ﮣٍf0Y'c;T ST N_:uůuX-d6A͙+ڔ :+Bu5yͱ]w:hcLi$3-8HW!GSP1 b(tA[*~e{O]%Xثvy˗;l{ӳě.7(aꕛV'ȣJ<@yjY;QVL4<O#ј6ǥ@hÔѸ8`"q\F[.H[m%jTkX%O!ǍR @Ȯ%ǦSg3ϕauJ/(l=x/yThD,'_: ͔1;AG s8#H Mg1ӏL$ڹ9^w96;rl|j_dĮ4wA;J.r]M.vhcy$ "j3LDx3 q-B%X+)v؏*Cr>P{B Nj$V+1aɣ>pwrhFŝLDbQ)kNP=>>t~m_,FY0/y˴{pd?ʌs1u|z  l>ILvҙ/!j76YF$}HfQIVQ~0Ar߉xe/'^Ey~ǞD"5l#Mg8Nr_7w;jO*}ϑ3ď~]"gǕz1WZ ,t% -&|h+磙<<jd%R%J/ݩ7{!3qrz6`Ҭ5d.-w6Ɇκ,?&,Fݨ{G#C YBdrC@fvR-bH rT7cBy --[M+!#GeGjif9ӧveC\f'f!Ol6QTl%񢉊6櫫nwQٟ'nn{Q\)ݬ@/42KGj !qI.,=fxME;vL/t`HpJ'cד;/; /x6b )|.VGP" ߄,049Z!xH R+OrqudgK*؏佧:]S0wS9!OU&-0宨4%j|Dk!_OށRƢ)dVfE!O1䂧''')҃E6\7c'/͈e=S38D. yy7x+w(w%GnR (qt1wTSjdT€ rGAсY8rVC^t/.lhS&}F PEHt #ݺV -Ӌ^BubJKd#Oh8?v -endstream -endobj - -209 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 1 - /Parent 1 0 R - /Contents 210 0 R ->> -endobj - -210 0 obj -<< - /Length 4589 - /Filter /FlateDecode ->> -stream -x]ێkq}e89}dD@7?$Do@ȷ{2E RGԋu[wfmyݽ>ohC~+)ꛇ_?>_a6kx|קo~D~&z???=aP<RNcP>p ga-b$zPᑕeb] F>C0}B%* dC1kG-A֕ 'L,';~ 2\P¸5VU@YxD@D*dHC0 7cVI 92+nG۫@) "$ [Lz|2@xMQn.8- 0W@T!`wd.09_^ Y -9 (JQ|- `x d#T-j~qժd]/9/J1N9% -/DQT A*bp e@T[Hϛo68aA?uq<%H`!H.*^u I~3sM0M`̝2WaZxܰ}f/ea\\)4Of}I m]6M|"9eMzt4 N@/-#D(Do+QrC& -Up6NZ?H6҇ L$߯ -1Zz6<f -gG ~Vl8:(*Pa^;wc6M*Q jʳB`YtF+L(jrPTC&jqtn6VT'[ H'Աпi0a@y_u=%{` @)1cJrB^['w++n<Q ÿLɅ67c()Ib*p _D2˫|`e5ܪ`f!5 fJs+18ǔ˺Rj7(8Y'aG1%:q`q[ಱZ f)BvG?me-DU5`m-UW,f'XS+@Ԣ7OV\o}/ܚkP7,Q{)_q!G5ȞpulwYdO$9:95q\(cf!A+y8 J byfb+Do)d{c;m8_B9d'#՝ջ:Kҿu^~qrs3ՠ<u -3j )C]yCS#P9Tc@W.߽S -wlۉU ɓZqNzcY ZT frV.wzhX!--cvQ -dIr7E"Y@&Z8 㨺yV<xD?y&-J -p <m)UƂ+Ɩ.>,;2y -R2+j0&,!笞\󕋝+D;?*bq9Xup0-@AB E|Ao.#0]KB11E -tMc-9|>nJZ qY?/mgܭ.o2\B U->dĪd8y}Kz{o $z+miʺB'8aB >LLGۊ.rX5S.)N@py8nV/?q@Ҋ7YQ6 lb02:kÐj(U>=d\w;@aq2|Jˢ-!P$^9JH7 5(\=25|{3|gT+ ),!A0:F ^8^G|E<Qn͹±EwN Br^ҳCo?o1Az;ѶEjy;Gwp!|׸cU"& r-N7CG I!G -m@K~Ʉ!7<ўhwk4 P)In{]K@ < $E7 -rb0VCO2T' I5$"Sms(҉#xI)Yo$A&+` +cnt\bf110,,pÔd/Ns-endstream -endobj - -211 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 2 - /Parent 1 0 R - /Contents 212 0 R ->> -endobj - -212 0 obj -<< - /Length 4076 - /Filter /FlateDecode ->> -stream -x]mG bRK*c;9ܾpCLlTASݻhG8OzUsy9kV fZξa 4ocuqM><{9 g͠٫zϡAh8~9-`h_׳Gm =*-ٜ/ -7f4*W8j&Vߍb-,C E YGlR"-&8ؤF>o.-tM;X6r*lҙ`6q7k{A)\-vej@Lfs2UF~ V>":TƔ XPsNM . 11X2w&?+h y7k-̞սjߋ8xoX'ոe H0mġ3)7>"Rk@i36RwQfzwq䨭P=IUzHen7usU{)?Xk|5~7Ŕ6$¸h 9{S⥗aUw6O_Vrxr1˻jV~`xv0Jk*ٰJK 2ODL|qv`#& +A3 (!^4^WHmEyvx봝O@Vs)EjVcbj,v-WY %Dqz3yLf7r* -Q~9TAqãn_ގԿk%L~͌w-(Y581!+_?-S7;ؼ+4BF9etZr1/Z(n*D4zգ9w`z`[tp$Bywfr iq/ cBTW r`JvH -endstream -endobj - -213 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 3 - /Parent 1 0 R - /Contents 214 0 R ->> -endobj - -214 0 obj -<< - /Length 4847 - /Filter /FlateDecode ->> -stream -x][dm~_FXA$v* WA`e_ M%֎ KwYݤAsYfX,jv+xx~^mvۇ{` -5RZBͥ?>V?VX!8sLJx*j#(kz/~}x)Np" -`-e?fJ]$:4C蹑H]s 8=6J}#ɼq|@䍁_.fPRG@6"䶾zWG5O-az2 ;b ~Uuʅ0y $v||YIa4 ?Zx؀<Tyz]Lj,]NHljBيl%C'U'7 -OE?f|y\asA=3Y2-ʛ~rfVt-cY4}fuY,_d68H\dba|5n[*Sbȃysnd1.HՇlk9:̿]bګD 1U=--&,z -&PR2aڇȜ6ZJv+o*rG!v^vPk܆mEmXPPW6d" n7F&$bhj2E" S\UD2%/iQQdq4UMwsm <2)n\P,^Z<}Uy X8j5`]Gz(֖ 'EB["٩菱w!Puߩjajkht;h9lP-g@E`Sϊ\c.1t4l^-ɔĠ-(:VJ-4;ײyFWy]Z) 8NxG% e/+oӔWFwy tlj g)=GڏMo z29i@\뾞<Zv^?I;* iwtPFEVS/|-`Fs)% lfa1HF﯃WM" leHfk8,Z@ql@ ˃0Em7446*!63,T8%}QDE~;,vܤp I.H^U>L3L;-OǿK <3)y[7zsA$ r-LE>`d*Xδa7^"+,dy.V8;&փ4e8q^eH#<;qi%wԼH<DXVE`i5W3Wu|ӈx8[]gŁ,^.xP|qvT#\of;*"\oC;.L?:vSԿ'(M?(E?+O۝B?g| cUۛI n=p'y83GLt^ч\XoOeP>\e!MCdɊ9oWXlPg<EX4(aWM2G\PMYB|7-L LzQ&f?LFKȴ H ޵zD-d=6;L---endstream -endobj - -215 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [401.97733 264.31464 436.8673 286.64465] - /Border [0 0 0] - /A << - /Type /Action - /S /URI - /URI (https://github.com/shimane-u-pim/proj-2024-magazine/pull/3) - >> - /F 4 - /StructParent 4 - /Contents (https://github.com/shimane-u-pim/proj-2024-magazine/pull/3) ->> -endobj - -216 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [61.417324 241.98465 318.19733 264.31464] - /Border [0 0 0] - /A << - /Type /Action - /S /URI - /URI (https://github.com/shimane-u-pim/proj-2024-magazine/pull/3) - >> - /F 4 - /StructParent 5 - /Contents (https://github.com/shimane-u-pim/proj-2024-magazine/pull/3) ->> -endobj - -217 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 6 - /Tabs /S - /Parent 1 0 R - /Contents 218 0 R - /Annots [215 0 R 216 0 R] ->> -endobj - -218 0 obj -<< - /Length 4437 - /Filter /FlateDecode ->> -stream -x]mǍ>"Y/e/عSNj\rEq`uLϊӬ|jg)b_|77yrCmWYa 4ϱz&14߮^_W -W/@<9}߮ -n6-j?$vv]eɼFM$Y,7ˢKb%xWqm0$9SFvk-%_j5՘N+ƆQO}zwWw _5/=~~/sEvs\ZǑYq X -F-. M3D& sv .WL `6`H؏*4+JV "szL8lSV3+:}$*<qy׭w1(3=k -,Q\G 4G<ky+Lt-K$%UKlk -]\#cS,`!:eOHN;;iJnQ@^DCjݨɼ~9~tJdu,_E{UZ,GdQd0ܠ-k?TՉmCaUO2Oݣ~1&L,OO[??F}}a=V˔PD$]\Z=&c8]=%@Ƣ\C<x -áW(3."-J ;3-&R2BлyJ7"ϜD$;-:[Tl; 't-;wjHtJl|4ՐdrDKu@ Cw󻦱\;U8ח":n -m9{}e޷R o+6^̄2;Ww='3<p:o-P%+}ߦe:?dpo78"훯pQ|T-pFvD8l9~h.ft`1FtAdNAey.|-1t'+I޻W$R-N6*&nIVkJg!ZmD=N)VfrH>O-4d;,t֪tD*>;ȎD&, -cGH7֔b-ːȞLnxQC-|KEoϋ4J$iv=@vI]QOÓ* 1>-#}ߒQWS<ӧx]3~fNO,TĜ0a -|.r- 1L%"d.S΅P>\9俙Ph݅T[y')T⢭T - !2 -g ]d -endstream -endobj - -219 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 7 - /Parent 1 0 R - /Contents 220 0 R ->> -endobj - -220 0 obj -<< - /Length 3588 - /Filter /FlateDecode ->> -stream -x]n}߯ Tm:bЃ>D1P" 8v Rq]ԃw(F:]]]?~[.]wbզ[m֋-C3"cŐb ݛoнy7o<~XWbb~xPo%- * y(1>yyGYWh3 W: b2O>V 'OeH%"rr#B1dS2>!$Јr蒰f(S2n UcęL@vwctK`R|&=cn6d/>\O\۔jN-U1ĥ, N$Bhgp ) u  ۛyB=%e}B3ċ9%eznSMsNZ{m4s4Os~ ϗ8eaы o`]j 1g)NVBOmxXb2_^uǤ3j1uBed5P91iF6EN]Hd~*miЧ|gKFH3{P*/HyޖWZz7O!Onb%5m5@6LL j`(i n4it b +3MxBhwVTәфa9|~~X5J {հ0t6wH2Y ?(g[|NJA$Ng2-W G]9T!F|O/P}BbaфEĢb6-=8"Qt}4ckO*1ۅ db%-+C Al4aW/'.9gc P܀ZVTzHldf5Ps Z<j= rV,UYnTF  &* w*-J%?fTg\fM-_DeVy>"˛nr -{HL˴t<J cKZ4hz6k-1V1&O|Yn0#1Դ, (e?_.M=Y!mķ -7sQ;.l1#/(V@! V%EPe z8Q -zjks QuJ9垇'o@@"1PN6І"g:<|x&MIVry -8a|L?3VX2bjoo`QX< -Ǟ(l@ZJ_! IND,-]02^ ,RVBeCSagڧ E35M,s[z}d(FKc-ۤNdآ o`;|79;g,ɛ(>52jC>ųr%tro m$-`KLOij]CL -endstream -endobj - -221 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 8 - /Parent 1 0 R - /Contents 222 0 R ->> -endobj - -222 0 obj -<< - /Length 4239 - /Filter /FlateDecode ->> -stream -x][d7~_ dr.>qhP>2Hlr+YeW\.Wz|~7=xfw<Y.pR .1_=Iۗ-_ſū?/_/G"z|</f/~syqׁ0-1^CG9ƛ|X>>"d|!o[ӑev2Jc3 2[1 QdIR#zI(/Ɓ+kowLwI)MxGo3qLĤ>^ۅ F^"YV0Tys,fo k 8Z DE&4: ]>]G%T9i40M@Ӱ&0mA JZ,E&T(<;eM LW;MxgIī iALj"Nl&]j@:'l Ї=*+ۚ\`̉WxHIX@Hp4@?e{!} tsOVd 对*n0x<Hbb P<-:&3=g\!Õ0Mv0٘V{LKz.4Q`B&3.NoRve dƺL8j3*v@P SsڮOBB/3:@ :C%Ƿ -<N`U$X(Nb=q6~Jb5l)w!<(|Vkh[̉%kA%~(/s%]v5oyL_a`e6p$m7@=@"q蒊x+1-׍ Z$RBmLБeu|.x+{mvF-3bL.,i[ub0] -ӌXAR|Tm)"n8* aYU^aT21Hq\gҙ1v .J.1pyT'hҢk[&ȧ:[`)(Ne}s}^`ڇ^4㸢!wXYެ&EA¸!ؠ]E^k2kWmAutcH jC*ձdId;nBٜvVserޓ5O$JkgҭN$BW(S-><|ۚ XԈ]@>h`>H:g6mK鏳%v(V*vxZKn.&psW2f1}&H*|s-=)ۂO^F,K'V0ޞF5{m [-/yZB6CRlGO*'$ 1)H2Xt+!$ )W^(䦢zQ,~ZzMIX -ǤL3'~p-M}78~]t@xH: \'׷.j(䰉 y\e +1s0NYn9Oa^W VQH:[-8z *+aT\>>&[!x5w2W#$Ɩo|LU|"R!$1Ia-A0'I\U̱MAk3AtZdG!ғɛ%}S9x!Kd.L~VlH c%=05z5Z41d˻@"f$ >yJ ,rX<6 -.'wS-dͻhJo(C2R&Fy`ch&ƚ(˦@NXQ4$JcHűfIE5@JIlvlNU2ŽN*YZ.R' \ s Zn[I N=NJeN05,yVL \$qESOM U= -n03 /7-bG&$V -bvYFQ<X q֘b'h)䒕[AryF!Ff - cJ1|7>Oõim^/);u~ .m2{6*Lʂ|& -endstream -endobj - -223 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [69.81732 454.88666 356.47733 477.21664] - /Border [0 0 0] - /A << - /Type /Action - /S /URI - /URI (https://github.com/minerva-jupiter/typst-githubrun-template) - >> - /F 4 - /StructParent 9 - /Contents (https://github.com/minerva-jupiter/typst-githubrun-template) ->> -endobj - -224 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [69.81732 432.55664 305.48734 454.88666] - /Border [0 0 0] - /A << - /Type /Action - /S /URI - /URI (https://github.com/minerva-jupiter/latex-template) - >> - /F 4 - /StructParent 10 - /Contents (https://github.com/minerva-jupiter/latex-template) ->> -endobj - -225 0 obj -<< - /Type /Page - /Resources << - /ProcSet [/PDF /Text /ImageC /ImageB] - /ColorSpace << - /c0 190 0 R - >> - /Font << - /f0 184 0 R - >> - >> - /MediaBox [0 0 515.9055 728.50397] - /StructParents 11 - /Tabs /S - /Parent 1 0 R - /Contents 226 0 R - /Annots [223 0 R 224 0 R] ->> -endobj - -226 0 obj -<< - /Length 3152 - /Filter /FlateDecode ->> -stream -x]kcG_q!AĉΩ~7XVH /X!B"HYʷLr=qWWWWsnZt'w,CuzGCݫowнaW- t/^#t_o_-P %z7 -D-`M-wHAX溑Es@y^ tFִ/T擲a\ ²O"#fM+-F -ΎZ)F41 -NTBs͌֌=r ǟjK8glA{^$3I7<a [)fMX5&*B! |q͊ AC$R p-ml7lNjTaY29s#fj ٲ wN$1zja< ںY[3>Uca:1 GPVbh7G[|>5/5 ^ njFU`QOnm-;.D$YBXDq9Grͬ1+#Ya ؎HYؿtidZ0c1GcqXq3jWzQx~%>Z3Ip|kϙ9 7>΋ZB$Qyu]7L w{Rz)P Q/UbB$2{K L0րEr<rpU(,q7QJɑ8G|\Wsn,gn -:IKN~Փs#2ʭtEZ:"WAu섁)k*N)R3 "z -E6-Id:: ٱ( }kԮ|9ߥBO>7\Jެ']A9Gsi\[W^m`afcrܼ*Mlq-endstream -endobj - -227 0 obj -<< - /Creator (Typst 0.14.1) - /ModDate (D:20251207191403+09'00) - /CreationDate (D:20251207191403+09'00) ->> -endobj - -228 0 obj -<< - /Length 996 - /Type /Metadata - /Subtype /XML ->> -stream -<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.14.1</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>ja</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2025-12-07T19:14:03+09:00</xmp:ModifyDate><xmp:CreateDate>2025-12-07T19:14:03+09:00</xmp:CreateDate><xmpTPg:NPages>8</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>LaptU/7gPag/m++jpgLUOQ==</xmpMM:InstanceID><xmpMM:DocumentID>LaptU/7gPag/m++jpgLUOQ==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> -endstream -endobj - -229 0 obj -<< - /Type /Catalog - /Pages 1 0 R - /Metadata 228 0 R - /Lang (ja) - /StructTreeRoot 18 0 R - /MarkInfo << - /Marked true - /Suspects false - >> - /ViewerPreferences << - /Direction /L2R - >> - /Outlines 2 0 R ->> -endobj - -xref -0 230 -0000000000 65535 f -0000000016 00000 n -0000000138 00000 n -0000000219 00000 n -0000000331 00000 n -0000000492 00000 n -0000000660 00000 n -0000000806 00000 n -0000000976 00000 n -0000001146 00000 n -0000001289 00000 n -0000001437 00000 n -0000001555 00000 n -0000001718 00000 n -0000001849 00000 n -0000001983 00000 n -0000002161 00000 n -0000002269 00000 n -0000002379 00000 n -0000002712 00000 n -0000005019 00000 n -0000007470 00000 n -0000009617 00000 n -0000012236 00000 n -0000014391 00000 n -0000016208 00000 n -0000018425 00000 n -0000019795 00000 n -0000020273 00000 n -0000020581 00000 n -0000020698 00000 n -0000020946 00000 n -0000021085 00000 n -0000021170 00000 n -0000021251 00000 n -0000021398 00000 n -0000021487 00000 n -0000021572 00000 n -0000021653 00000 n -0000021800 00000 n -0000021889 00000 n -0000022039 00000 n -0000022150 00000 n -0000022339 00000 n -0000024149 00000 n -0000024286 00000 n -0000024439 00000 n -0000024524 00000 n -0000024708 00000 n -0000024798 00000 n -0000024883 00000 n -0000025027 00000 n -0000025117 00000 n -0000025202 00000 n -0000025390 00000 n -0000025480 00000 n -0000025565 00000 n -0000025701 00000 n -0000025791 00000 n -0000026051 00000 n -0000026168 00000 n -0000026292 00000 n -0000026446 00000 n -0000026531 00000 n -0000026687 00000 n -0000026777 00000 n -0000026862 00000 n -0000026981 00000 n -0000027070 00000 n -0000027155 00000 n -0000027267 00000 n -0000027356 00000 n -0000027441 00000 n -0000027559 00000 n -0000027648 00000 n -0000027828 00000 n -0000027978 00000 n -0000028996 00000 n -0000029376 00000 n -0000029652 00000 n -0000029789 00000 n -0000029943 00000 n -0000030028 00000 n -0000030128 00000 n -0000030217 00000 n -0000030302 00000 n -0000030405 00000 n -0000030494 00000 n -0000030579 00000 n -0000030682 00000 n -0000030771 00000 n -0000030856 00000 n -0000030956 00000 n -0000031045 00000 n -0000031180 00000 n -0000031399 00000 n -0000031484 00000 n -0000031587 00000 n -0000031676 00000 n -0000031762 00000 n -0000031880 00000 n -0000031970 00000 n -0000032058 00000 n -0000032172 00000 n -0000032263 00000 n -0000032351 00000 n -0000032465 00000 n -0000032556 00000 n -0000032644 00000 n -0000032752 00000 n -0000032843 00000 n -0000032931 00000 n -0000033036 00000 n -0000033126 00000 n -0000033214 00000 n -0000033310 00000 n -0000033400 00000 n -0000033488 00000 n -0000033586 00000 n -0000033676 00000 n -0000033764 00000 n -0000033874 00000 n -0000033966 00000 n -0000034054 00000 n -0000034156 00000 n -0000034248 00000 n -0000034336 00000 n -0000034474 00000 n -0000034566 00000 n -0000034654 00000 n -0000034764 00000 n -0000034856 00000 n -0000035057 00000 n -0000035171 00000 n -0000035468 00000 n -0000035679 00000 n -0000035797 00000 n -0000036343 00000 n -0000036536 00000 n -0000036670 00000 n -0000037047 00000 n -0000037142 00000 n -0000037479 00000 n -0000038026 00000 n -0000038160 00000 n -0000038421 00000 n -0000038509 00000 n -0000038734 00000 n -0000039211 00000 n -0000039310 00000 n -0000039414 00000 n -0000039563 00000 n -0000039714 00000 n -0000039803 00000 n -0000039929 00000 n -0000040021 00000 n -0000040110 00000 n -0000040352 00000 n -0000040443 00000 n -0000040532 00000 n -0000040670 00000 n -0000040761 00000 n -0000040925 00000 n -0000041106 00000 n -0000041273 00000 n -0000041432 00000 n -0000042527 00000 n -0000042647 00000 n -0000042796 00000 n -0000042906 00000 n -0000043024 00000 n -0000043222 00000 n -0000043312 00000 n -0000043501 00000 n -0000043936 00000 n -0000044098 00000 n -0000049453 00000 n -0000049595 00000 n -0000050121 00000 n -0000050292 00000 n -0000050404 00000 n -0000050639 00000 n -0000050759 00000 n -0000050854 00000 n -0000050943 00000 n -0000051126 00000 n -0000052506 00000 n -0000052597 00000 n -0000052851 00000 n -0000062136 00000 n -0000162047 00000 n -0000162085 00000 n -0000162444 00000 n -0000162498 00000 n -0000162553 00000 n -0000162608 00000 n -0000162663 00000 n -0000162717 00000 n -0000162772 00000 n -0000162826 00000 n -0000162881 00000 n -0000162936 00000 n -0000162991 00000 n -0000163046 00000 n -0000163101 00000 n -0000163156 00000 n -0000163211 00000 n -0000163266 00000 n -0000163541 00000 n -0000167801 00000 n -0000168076 00000 n -0000172745 00000 n -0000173020 00000 n -0000177176 00000 n -0000177451 00000 n -0000182378 00000 n -0000182712 00000 n -0000183047 00000 n -0000183361 00000 n -0000187878 00000 n -0000188153 00000 n -0000191821 00000 n -0000192096 00000 n -0000196415 00000 n -0000196751 00000 n -0000197068 00000 n -0000197383 00000 n -0000200615 00000 n -0000200742 00000 n -0000201828 00000 n -trailer -<< - /Size 230 - /Root 229 0 R - /Info 227 0 R - /ID [(LaptU/7gPag/m++jpgLUOQ==) (LaptU/7gPag/m++jpgLUOQ==)] ->> -startxref -202066 -%%EOF- \ No newline at end of file diff --git a/kumihan.typ b/kumihan.typ @@ -6,7 +6,6 @@ #set page(paper: "jis-b5") #align(center)[#text(20pt)[組版について]] -#align(center)[島根大学ものづくり部Pim てつ] = 組版とは 今回,この記事で取り上げようとせん,組版というものは,私の所属するサークルで不定期に出版している"部誌"についてです. @@ -16,8 +15,8 @@ = 経緯 == Pim Notes 2024発案 私は島根大学に2024年に入学し,その5月から島根大学ものづくり部Pim(以下Pim)に所属しています. -2024年の10月に部誌を作りたいねという話が持ち上がっていましたが,11月になってPimのコミックマーケットC105への出店が決まり,そこに合わせて新刊を発行するという運びになりました. -私はSurfaceを使っていた先輩が,首からかけておけたら便利だなと言っていたので,PC用の鞄を作ってC105で頒布したのですが,その制作過程を記事にして部誌に寄稿しました. +2024年の10月に部誌を作りたいねという話が持ち上がっていましたが,11月になってPimのコミックマーケット105(以下C105)への出店が決まり,そこに合わせて新刊を発行するという運びになりました. +Surfaceを使っていた先輩が,首からかけておけたら便利だなと言っていたので,私はPC用の鞄を作ってC105で頒布したのですが,その制作過程を記事にして部誌に寄稿しました. それとは別に私と友人がHackUに出場したときの体験談をまとめた記事もあり,それらの寄稿が決まったのが11/14のことでした. しかしながら,まだ入稿するための形式などが決まっておらずこのあたりが後に地獄へとつながるのです. @@ -34,7 +33,7 @@ TeXに関しては部誌制作取りまとめ側がテンプレートファイ == テンプレートTeXファイル 11/19 16:15にB先輩がA先輩にテンプレートTeXファイルの作成を依頼しました.期日は11/21です. これはB先輩が修士論文の関係で忙しかったため,A先輩に業務を投げたような感じです. -翌11/20 13:16B先輩がTeXのclsファイルの作成をOBの方に依頼しました. +翌11/20 13:16にB先輩がTeXのclsファイルの作成をOBの方に依頼しました. OBの方に投げたTeXのclsファイルの作成は11/24にB先輩へ渡されて完了しました. そのため,A先輩はこのclsファイルをもとにTeXテンプレートを作成する運びになりました. @@ -82,9 +81,9 @@ B先輩はそれを見てPRを再度Openし,A先輩のPRをしているブラ == 入稿期限の話 入稿期限に関しては11/14時点では12月初旬という回答がされていました. 12/06にはB先輩が未確定情報であるという前置きをしながらも12/14までは対応可能という情報が流れました. -私は12/03時点で草案のmarkdownファイルをPRに投稿し,レビューを求めました. +私は12/03時点で草案のMarkdownファイルをPRに投稿し,レビューを求めました. ですが割り振られていたレビュワーの方からのレビューは一向に来ず,私は別の2名にレビューをしてもらいました. -ちなみに割り振られていたレビュワーはB先輩とHackUに一緒に出場した友人です. +ちなみに割り振られていたレビュワーはB先輩とHack Uに一緒に出場した友人です. 友人もまた,自分の記事やコピー本で忙しそうだったので致し方ない部分はあるかなと思います. 私はテンプレートが完成した12/10にそれを適応して記事のPRに追加し,(恐らく最初の)寄稿者になりました. @@ -122,7 +121,7 @@ https://github.com/shimane-u-pim/proj-2024-magazine/pull/3 以下に具体的な問題点を幾つか挙げる. - 期日までに成されない仕事 - 仕事の一部を他に依頼したため,その完成を待つことになった -- 相談なしの仕様変更 +- 相談なしの仕様の変更 - 不適切なワードの混入 - GitHubのガイドライン違反 - 曖昧な改善指示 @@ -197,3 +196,131 @@ https://github.com/shimane-u-pim/proj-2024-magazine/pull/3 色々と考察をしたが,結局のところ,仕事でも何をするにもコミュニケーションの問題は起きるようだ. それをどのようなルールやツールで解決していくかという問題は,今後も引き続き検討を重ね,改善を続けたいと思う. この体験談と考察が,読者の皆さんの役に立つことを願います. + += 追記 +この記事を寄稿した部誌が2025/12に刊行されました. +またここでも大きな教訓があったので,これまでと同じくらいの文量を割いて解説することにします. + +B先輩は後継を育成するために,即売会に良く一緒に言っている友人(ここではC君とします)に裁量を持たせるつもりで,最初から取りまとめ側として様々に相談をしようとしていたみたいです. +A先輩とB先輩が相談して決まることも多数ありましたが. +典型的だったのは,入稿の作業や印刷業者の選定はすべてB先輩が行ったにも関わらず,A先輩がC君に締め切りを聞いていましたね. +勝手に入稿形式を相談とかしてたくせにそういうのはC君に聞くんだって思いました. +そもそも今回の入稿形式がJIS B5なのは,A先輩が一太郎で書こうとしたからという説がありまして…… + +== 今回の方式 +今回は寄稿者がPDFで提出をし,それをB先輩がAdobe Acrobatで結合するというものでした. +12/05 18:45にこんな投稿がされました. +#quote(attribution: [B先輩])[ +## 部誌への寄稿の概要 + +### 様式の必須要件 + +- 用紙サイズは**JIS B5**にしてください。B5と言ってもISOとJISがありますので、お間違えの無いようお気を付けください。 +- B5サイズで印刷した際に適切な文字サイズを意識してください。 +- Microsoft Wordで製作する場合は、Word上ではA4で製作し、出力するpdfをJIS B5に縮小してください。 + +### 製作ツール + +- 指定サイズのpdfに変換できれば、どんなツールでも大丈夫です。(例:文章主体であればWord、LaTeX、視覚的な記事ならPowerPointなど) +- テンプレートが必要な場合は順次対応いたします。お気軽にご連絡ください。 + +### 提出先 + +後ほど用意するGoogle Driveのディレクトリにアップロードしてください。 + +### スケジュール + +- 部誌参加 募集締め切り: 12/5(金)23:59 +- 進捗チェック日①: 12/7(日)12:00 +- 進捗チェック日②: 12/10(水)19:00 +- 締め切り: 12/13(土)23:59 +] +そして,進捗チェックの第一回目, +#quote(attribution: [B先輩])[ +### 進捗チェック 第1回 +@channel + +今日は第1回の進捗チェックです! 以下の情報をこのスレッドに返信してください。 + +- 記事のタイトル。まだ決まっていない場合は草案や方針を書いてください。 +- 進捗状況 +- Gmailアドレス。提出先のGoogle Driveに招待します。 +] +とのことで,つまり,PDFはGoogle Driveに提出することは決まりました. +なぜ,B先輩がGoogle Driveなのか,分かる気がしますね. + +12/14 15:47にこんなメッセージが +#quote(attribution: [取りまとめの友人])[ +## 部誌について +@channel +📚 部誌に掲載する記事の提出期限は過ぎていますが、まだ提出可能です! +提出がまだの方は、ぜひご対応ください。できるだけ多くの記事を載せたいと思っています。 +ただし、入稿のタイミングに間に合わなかった場合は掲載できないことがありますので、ご協力お願いします。 +] +そして,寄稿者が続々とGoogle Driveに現在の版を提出するようになってました. +この時点で私は記事は完成していましたが,A先輩やB先輩が居るところにこのような文章を投稿することが憚られたので,このGoogle Driveを経由せずにC君や寄稿者の先輩にレビューを依頼していました. +そもそも部でだすやつなので,A/B先輩が気を悪くしそうなところは黒塗りにしました. +んで,A先輩からメールでリーガルチェックが飛んできたりはしましたが,なんとか進んでいきました. +ちなみにA先輩への返信にて指摘した3項目のうち,修正されたのは1項目だけでした. +大学ネット内にあるとはいえ,使っているFWの型番とそのソフトウェア更新が止まっている事を書くことは非常に危険だと思うんですけどね. + +== 締め切り直前にて +12/13 23:45に第二回進捗チェックのスレッドにこんな投稿が +#quote(attribution: [B先輩])[ + 報告が遅くなり申し訳ございません。アクシデントで昨日から今日の午前中にかけて体調を崩しており、作業が遅れています。 + + 今夜中に記事の前半部をアップロードし、明日中に後半部に着手します。 + 間に合わなければ後半をカットし前半部だけで記事になるような構成に変更しています。 + + アクシデントとは言え、締め切り策定に関わった側が締め切りに間に合わなくなり申し訳ありません。 + 前半だけでも間に合わせます。 +] + +== 締め切り後 +12/14 15:08には寄稿者のOBの方が記事が書けたのでレビューしてほしい旨の投稿が. +これらを受けて +#quote(attribution: [C君])[ + ## 部誌について + @channel + 📚 部誌に掲載する記事の提出期限は過ぎていますが、まだ提出可能です! + 提出がまだの方は、ぜひご対応ください。できるだけ多くの記事を載せたいと思っています。 + ただし、入稿のタイミングに間に合わなかった場合は掲載できないことがありますので、ご協力お願いします。 +] +そして,12/15にC君が,進捗チェックでも反応は無かったものの参加の意思を示していた新入生二人にメンションで記事の確認を投稿され,一人は記事が用意できなかった旨を,もう一人は翌12/16に記事をアップロードしたという投稿をしました. +12/15のVCにて,期限は過ぎているし,そろそろ入稿しないと早割が効かないところまで来ていたので,さっさと入稿してしまおうみたいな話を私とB先輩とC君でしていたら +#quote(attribution: [B先輩])[ + 後輩に,期限に間に合わなくて寄稿できなかったという思いをさせたくない +] +と仰って,入稿日の決定を先送りにしました. +そして, +12/15 21:30 +#quote(attribution: [B先輩])[ + 遅くなってすみません。3ページ目まで文面とレイアウトができたのでアップロードしました。レビューしていただけると助かります。 + ※ 1ページ目、2ページ目の文面も修正しています。 + Google Drive URL +] +続けて12/17 0:41に +#quote(attribution: [B先輩])[ + 4ページ目(最終ページ)の文面とレイアウトができたのでアップロードしました。レビューしていただけると助かります。 + + ※ 3ページ目の文面は修正前です。 +] +続けて,2:32にこんな投稿が +#quote(attribution: [B先輩])[ + ## お知らせ + + ### 入稿予定日 + + 入稿予定日が確定しました! 12月18日(木)です。 + 本日**12月17日(水)**いっぱいは記事などの作業に充てられます。 + + ### あとがき寄稿のお願い + + 製本の都合上2ページほど余裕ができました。 + 皆様、よければあとがきを書いていただけると嬉しいです! + + ### 表紙に使う画像の提出のお願い + + 記事に関係のある写真や、Pimの活動の様子を並べて表紙にしようと思います。 + 皆様、画像の共有をお願いします! +] diff --git a/mpeg2mp4.py b/mpeg2mp4.py @@ -0,0 +1,27 @@ +import os +import subprocess + +def convert_mpeg_to_mp4(): + input_dir = r"E:\Pictures\他人作品\ホロ\sukumiz" + extension = ".mpeg" + + files = [f for f in os.listdir(input_dir) if f.lower().endswith(extension)] + + for file in files: + input_path = os.path.join(input_dir, file) + output_path = os.path.join(input_dir, os.path.splitext(file)[0] + ".mp4") + + command = [ + "ffmpeg", + "-i", input_path, + "-c:v", "hevc_nvenc", + output_path + ] + + try: + subprocess.run(command, check=True) + except subprocess.CalledProcessError as e: + print(f"Error converting {file}: {e}") + +if __name__ == "__main__": + convert_mpeg_to_mp4()