From 954acdda2072cac343409b3d17d831b86ac6a18c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Fri, 29 May 2020 15:16:44 -0500 Subject: [PATCH 01/57] Add `account_activation_required` to /api/v1/instance --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 6a630eafa..bb7bd2a9f 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -36,6 +36,7 @@ def render("show.json", _) do background_image: Keyword.get(instance, :background_image), pleroma: %{ metadata: %{ + account_activation_required: Keyword.get(instance, :account_activation_required), features: features(), federation: federation() }, From 35f6770436837e2e500971a54d51984bd059adfd Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:29:08 +0200 Subject: [PATCH 02/57] StatusView: Add pleroma.parent_visible --- lib/pleroma/web/activity_pub/visibility.ex | 6 ++++-- .../web/mastodon_api/views/status_view.ex | 5 +++-- .../mastodon_api/views/status_view_test.exs | 19 ++++++++++++++++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex index 453a6842e..343f41caa 100644 --- a/lib/pleroma/web/activity_pub/visibility.ex +++ b/lib/pleroma/web/activity_pub/visibility.ex @@ -47,6 +47,10 @@ def is_list?(_), do: false @spec visible_for_user?(Activity.t(), User.t() | nil) :: boolean() def visible_for_user?(%{actor: ap_id}, %User{ap_id: ap_id}), do: true + def visible_for_user?(nil, _), do: false + + def visible_for_user?(%{data: %{"listMessage" => _}}, nil), do: false + def visible_for_user?(%{data: %{"listMessage" => list_ap_id}} = activity, %User{} = user) do user.ap_id in activity.data["to"] || list_ap_id @@ -54,8 +58,6 @@ def visible_for_user?(%{data: %{"listMessage" => list_ap_id}} = activity, %User{ |> Pleroma.List.member?(user) end - def visible_for_user?(%{data: %{"listMessage" => _}}, nil), do: false - def visible_for_user?(%{local: local} = activity, nil) do cfg_key = if local, diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 2c49bedb3..6ee17f4dd 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -21,7 +21,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do alias Pleroma.Web.MastodonAPI.StatusView alias Pleroma.Web.MediaProxy - import Pleroma.Web.ActivityPub.Visibility, only: [get_visibility: 1] + import Pleroma.Web.ActivityPub.Visibility, only: [get_visibility: 1, visible_for_user?: 2] # TODO: Add cached version. defp get_replied_to_activities([]), do: %{} @@ -364,7 +364,8 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} expires_at: expires_at, direct_conversation_id: direct_conversation_id, thread_muted: thread_muted?, - emoji_reactions: emoji_reactions + emoji_reactions: emoji_reactions, + parent_visible: visible_for_user?(reply_to, opts[:for]) } } end diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index 5cbadf0fc..f90a0c273 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -226,7 +226,8 @@ test "a note activity" do expires_at: nil, direct_conversation_id: nil, thread_muted: false, - emoji_reactions: [] + emoji_reactions: [], + parent_visible: false } } @@ -620,4 +621,20 @@ test "visibility/list" do assert status.visibility == "list" end + + test "has a field for parent visibility" do + user = insert(:user) + poster = insert(:user) + + {:ok, invisible} = CommonAPI.post(poster, %{status: "hey", visibility: "private"}) + + {:ok, visible} = + CommonAPI.post(poster, %{status: "hey", visibility: "private", in_reply_to_id: invisible.id}) + + status = StatusView.render("show.json", activity: visible, for: user) + refute status.pleroma.parent_visible + + status = StatusView.render("show.json", activity: visible, for: poster) + assert status.pleroma.parent_visible + end end From 637bae42b4ac59e54164f2b9545017b3f8d2960f Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:31:42 +0200 Subject: [PATCH 03/57] Docs: Document added parent_visible field. --- docs/API/differences_in_mastoapi_responses.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index be3c802af..f6e8a6800 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -27,6 +27,7 @@ Has these additional fields under the `pleroma` object: - `expires_at`: a datetime (iso8601) that states when the post will expire (be deleted automatically), or empty if the post won't expire - `thread_muted`: true if the thread the post belongs to is muted - `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint. +- `parent_visible`: If the parent of this post is visible to the user or not. ## Media Attachments From 79ee914bc2956f005c83046be53dbd38771d29ef Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 13:32:14 +0200 Subject: [PATCH 04/57] Changelog: Add info about parent_visible field --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fc2231d1..cfffc279b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added +- StatusView: Add pleroma.parents_visible field. - Chats: Added support for federated chats. For details, see the docs. - ActivityPub: Added support for existing AP ids for instances migrated from Mastodon. - Instance: Add `background_image` to configuration and `/api/v1/instance` From 1702239428ea7e3b49fcf8985f1d2fbbadb020b5 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 14:30:12 +0200 Subject: [PATCH 05/57] Changelog: Put info under API header. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfffc279b..f04e12ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added -- StatusView: Add pleroma.parents_visible field. - Chats: Added support for federated chats. For details, see the docs. - ActivityPub: Added support for existing AP ids for instances migrated from Mastodon. - Instance: Add `background_image` to configuration and `/api/v1/instance` @@ -43,6 +42,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
API Changes +- Mastodon API: Add pleroma.parents_visible field to statuses. - Mastodon API: Extended `/api/v1/instance`. - Mastodon API: Support for `include_types` in `/api/v1/notifications`. - Mastodon API: Added `/api/v1/notifications/:id/dismiss` endpoint. From 4c5fb831b3b59309a475a141eb73cc440533d0ff Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 24 Jun 2020 14:33:00 +0200 Subject: [PATCH 06/57] Status schema: Add parent_visible. --- lib/pleroma/web/api_spec/schemas/status.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/pleroma/web/api_spec/schemas/status.ex b/lib/pleroma/web/api_spec/schemas/status.ex index 8b87cb25b..28cde963e 100644 --- a/lib/pleroma/web/api_spec/schemas/status.ex +++ b/lib/pleroma/web/api_spec/schemas/status.ex @@ -184,6 +184,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do thread_muted: %Schema{ type: :boolean, description: "`true` if the thread the post belongs to is muted" + }, + parent_visible: %Schema{ + type: :boolean, + description: "`true` if the parent post is visible to the user" } } }, From d137f934dfed199141ee7cb4215520b64e3ecb4f Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 10:54:00 +0200 Subject: [PATCH 07/57] Transmogrifier Test: Extract block handling. --- .../transmogrifier/block_handling_test.exs | 63 +++++++++++++++++++ test/web/activity_pub/transmogrifier_test.exs | 50 --------------- 2 files changed, 63 insertions(+), 50 deletions(-) create mode 100644 test/web/activity_pub/transmogrifier/block_handling_test.exs diff --git a/test/web/activity_pub/transmogrifier/block_handling_test.exs b/test/web/activity_pub/transmogrifier/block_handling_test.exs new file mode 100644 index 000000000..71f1a0ed5 --- /dev/null +++ b/test/web/activity_pub/transmogrifier/block_handling_test.exs @@ -0,0 +1,63 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.Transmogrifier.BlockHandlingTest do + use Pleroma.DataCase + + alias Pleroma.Activity + alias Pleroma.User + alias Pleroma.Web.ActivityPub.Transmogrifier + + import Pleroma.Factory + + test "it works for incoming blocks" do + user = insert(:user) + + data = + File.read!("test/fixtures/mastodon-block-activity.json") + |> Poison.decode!() + |> Map.put("object", user.ap_id) + + blocker = insert(:user, ap_id: data["actor"]) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + assert data["type"] == "Block" + assert data["object"] == user.ap_id + assert data["actor"] == "http://mastodon.example.org/users/admin" + + assert User.blocks?(blocker, user) + end + + test "incoming blocks successfully tear down any follow relationship" do + blocker = insert(:user) + blocked = insert(:user) + + data = + File.read!("test/fixtures/mastodon-block-activity.json") + |> Poison.decode!() + |> Map.put("object", blocked.ap_id) + |> Map.put("actor", blocker.ap_id) + + {:ok, blocker} = User.follow(blocker, blocked) + {:ok, blocked} = User.follow(blocked, blocker) + + assert User.following?(blocker, blocked) + assert User.following?(blocked, blocker) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + assert data["type"] == "Block" + assert data["object"] == blocked.ap_id + assert data["actor"] == blocker.ap_id + + blocker = User.get_cached_by_ap_id(data["actor"]) + blocked = User.get_cached_by_ap_id(data["object"]) + + assert User.blocks?(blocker, blocked) + + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + end +end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 100821056..6a53fd3f0 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -445,56 +445,6 @@ test "it works for incoming follows to locked account" do assert [^pending_follower] = User.get_follow_requests(user) end - test "it works for incoming blocks" do - user = insert(:user) - - data = - File.read!("test/fixtures/mastodon-block-activity.json") - |> Poison.decode!() - |> Map.put("object", user.ap_id) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - - assert data["type"] == "Block" - assert data["object"] == user.ap_id - assert data["actor"] == "http://mastodon.example.org/users/admin" - - blocker = User.get_cached_by_ap_id(data["actor"]) - - assert User.blocks?(blocker, user) - end - - test "incoming blocks successfully tear down any follow relationship" do - blocker = insert(:user) - blocked = insert(:user) - - data = - File.read!("test/fixtures/mastodon-block-activity.json") - |> Poison.decode!() - |> Map.put("object", blocked.ap_id) - |> Map.put("actor", blocker.ap_id) - - {:ok, blocker} = User.follow(blocker, blocked) - {:ok, blocked} = User.follow(blocked, blocker) - - assert User.following?(blocker, blocked) - assert User.following?(blocked, blocker) - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - - assert data["type"] == "Block" - assert data["object"] == blocked.ap_id - assert data["actor"] == blocker.ap_id - - blocker = User.get_cached_by_ap_id(data["actor"]) - blocked = User.get_cached_by_ap_id(data["object"]) - - assert User.blocks?(blocker, blocked) - - refute User.following?(blocker, blocked) - refute User.following?(blocked, blocker) - end - test "it works for incoming accepts which were pre-accepted" do follower = insert(:user) followed = insert(:user) From 89e5b2046bd15b3fead7a6194a2b9cecd2fedbd3 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:13:35 +0200 Subject: [PATCH 08/57] ObjectValidator: Basic `Block` support. --- lib/pleroma/web/activity_pub/builder.ex | 12 ++++++ .../web/activity_pub/object_validator.ex | 11 +++++ .../object_validators/block_validator.ex | 42 +++++++++++++++++++ .../activity_pub/object_validator_test.exs | 27 ++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 lib/pleroma/web/activity_pub/object_validators/block_validator.ex diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex index 135a5c431..cabc28de9 100644 --- a/lib/pleroma/web/activity_pub/builder.ex +++ b/lib/pleroma/web/activity_pub/builder.ex @@ -138,6 +138,18 @@ def update(actor, object) do }, []} end + @spec block(User.t(), User.t()) :: {:ok, map(), keyword()} + def block(blocker, blocked) do + {:ok, + %{ + "id" => Utils.generate_activity_id(), + "type" => "Block", + "actor" => blocker.ap_id, + "object" => blocked.ap_id, + "to" => [blocked.ap_id] + }, []} + end + @spec announce(User.t(), Object.t(), keyword()) :: {:ok, map(), keyword()} def announce(actor, object, options \\ []) do public? = Keyword.get(options, :public, false) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 2c657b467..737c0fd64 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Object alias Pleroma.User alias Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator alias Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator alias Pleroma.Web.ActivityPub.ObjectValidators.CreateChatMessageValidator alias Pleroma.Web.ActivityPub.ObjectValidators.DeleteValidator @@ -24,6 +25,16 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do @spec validate(map(), keyword()) :: {:ok, map(), keyword()} | {:error, any()} def validate(object, meta) + def validate(%{"type" => "Block"} = block_activity, meta) do + with {:ok, block_activity} <- + block_activity + |> BlockValidator.cast_and_validate() + |> Ecto.Changeset.apply_action(:insert) do + block_activity = stringify_keys(block_activity) + {:ok, block_activity, meta} + end + end + def validate(%{"type" => "Update"} = update_activity, meta) do with {:ok, update_activity} <- update_activity diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex new file mode 100644 index 000000000..1dde77198 --- /dev/null +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -0,0 +1,42 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do + use Ecto.Schema + + alias Pleroma.EctoType.ActivityPub.ObjectValidators + + import Ecto.Changeset + import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations + + @primary_key false + + embedded_schema do + field(:id, ObjectValidators.ObjectID, primary_key: true) + field(:type, :string) + field(:actor, ObjectValidators.ObjectID) + field(:to, ObjectValidators.Recipients, default: []) + field(:cc, ObjectValidators.Recipients, default: []) + field(:object, ObjectValidators.ObjectID) + end + + def cast_data(data) do + %__MODULE__{} + |> cast(data, __schema__(:fields)) + end + + def validate_data(cng) do + cng + |> validate_required([:id, :type, :actor, :to, :cc, :object]) + |> validate_inclusion(:type, ["Block"]) + |> validate_actor_presence() + |> validate_actor_presence(field_name: :object) + end + + def cast_and_validate(data) do + data + |> cast_data + |> validate_data + end +end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index 770a8dcf8..e96552763 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -654,4 +654,31 @@ test "returns an error if the object can't be updated by the actor", %{ assert {:error, _cng} = ObjectValidator.validate(update, []) end end + + describe "blocks" do + setup do + user = insert(:user) + blocked = insert(:user) + + {:ok, valid_block, []} = Builder.block(user, blocked) + + %{user: user, valid_block: valid_block} + end + + test "validates a basic object", %{ + valid_block: valid_block + } do + assert {:ok, _block, []} = ObjectValidator.validate(valid_block, []) + end + + test "returns an error if we don't know the blocked user", %{ + valid_block: valid_block + } do + block = + valid_block + |> Map.put("object", "https://gensokyo.2hu/users/raymoo") + + assert {:error, _cng} = ObjectValidator.validate(block, []) + end + end end From e38293c8f1adca40447ba39f4919b2b08bf0329a Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:33:54 +0200 Subject: [PATCH 09/57] Transmogrifier: Switch to pipeline for Blocks. --- lib/pleroma/web/activity_pub/side_effects.ex | 16 ++++++++++++ .../web/activity_pub/transmogrifier.ex | 22 +++------------- test/web/activity_pub/side_effects_test.exs | 25 +++++++++++++++++++ 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index de143b8f0..48350d2b3 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -20,6 +20,22 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do def handle(object, meta \\ []) + # Tasks this handles: + # - Unfollow and block + def handle( + %{data: %{"type" => "Block", "object" => blocked_user, "actor" => blocking_user}} = + object, + meta + ) do + with %User{} = blocker <- User.get_cached_by_ap_id(blocking_user), + %User{} = blocked <- User.get_cached_by_ap_id(blocked_user) do + User.unfollow(blocker, blocked) + User.block(blocker, blocked) + end + + {:ok, object, meta} + end + # Tasks this handles: # - Update the user # diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 4e318e89c..278fbbeab 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -673,7 +673,7 @@ def handle_incoming( end def handle_incoming(%{"type" => type} = data, _options) - when type in ["Like", "EmojiReact", "Announce"] do + when type in ~w{Like EmojiReact Announce} do with :ok <- ObjectValidator.fetch_actor_and_object(data), {:ok, activity, _meta} <- Pipeline.common_pipeline(data, local: false) do @@ -684,9 +684,10 @@ def handle_incoming(%{"type" => type} = data, _options) end def handle_incoming( - %{"type" => "Update"} = data, + %{"type" => type} = data, _options - ) do + ) + when type in ~w{Update Block} do with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do {:ok, activity} @@ -765,21 +766,6 @@ def handle_incoming( end end - def handle_incoming( - %{"type" => "Block", "object" => blocked, "actor" => blocker, "id" => id} = _data, - _options - ) do - with %User{local: true} = blocked = User.get_cached_by_ap_id(blocked), - {:ok, %User{} = blocker} = User.get_or_fetch_by_ap_id(blocker), - {:ok, activity} <- ActivityPub.block(blocker, blocked, id, false) do - User.unfollow(blocker, blocked) - User.block(blocker, blocked) - {:ok, activity} - else - _e -> :error - end - end - def handle_incoming( %{ "type" => "Move", diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 12c9ef1da..5e883bb09 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -64,6 +64,31 @@ test "it streams out notifications and streams" do end end + describe "blocking users" do + setup do + user = insert(:user) + blocked = insert(:user) + User.follow(blocked, user) + User.follow(user, blocked) + + {:ok, block_data, []} = Builder.block(user, blocked) + {:ok, block, _meta} = ActivityPub.persist(block_data, local: true) + + %{user: user, blocked: blocked, block: block} + end + + test "it unfollows and blocks", %{user: user, blocked: blocked, block: block} do + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + refute User.following?(blocked, user) + assert User.blocks?(user, blocked) + end + end + describe "update users" do setup do user = insert(:user) From 8cfb58a8c0a2ee0c69eb727cc810e8571289f813 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:44:04 +0200 Subject: [PATCH 10/57] AccountController: Extract blocking to CommonAPI. --- lib/pleroma/web/common_api/common_api.ex | 7 +++++++ .../web/mastodon_api/controllers/account_controller.ex | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 04e081a8e..fd7149079 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -25,6 +25,13 @@ defmodule Pleroma.Web.CommonAPI do require Pleroma.Constants require Logger + def block(blocker, blocked) do + with {:ok, block_data, _} <- Builder.block(blocker, blocked), + {:ok, block, _} <- Pipeline.common_pipeline(block_data, local: true) do + {:ok, block} + end + end + def post_chat_message(%User{} = user, %User{} = recipient, content, opts \\ []) do with maybe_attachment <- opts[:media_id] && Object.get_by_id(opts[:media_id]), :ok <- validate_chat_content_length(content, !!maybe_attachment), diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index 7a88a847c..b5008d69b 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -385,8 +385,7 @@ def unmute(%{assigns: %{user: muter, account: muted}} = conn, _params) do @doc "POST /api/v1/accounts/:id/block" def block(%{assigns: %{user: blocker, account: blocked}} = conn, _params) do - with {:ok, _user_block} <- User.block(blocker, blocked), - {:ok, _activity} <- ActivityPub.block(blocker, blocked) do + with {:ok, _activity} <- CommonAPI.block(blocker, blocked) do render(conn, "relationship.json", user: blocker, target: blocked) else {:error, message} -> json_response(conn, :forbidden, %{error: message}) From 44bb7cfccdf2c25ae641b4cffa8e5c7fdedc3f54 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 11:51:33 +0200 Subject: [PATCH 11/57] ActivityPub: Remove `block`. --- lib/pleroma/user.ex | 3 +- lib/pleroma/web/activity_pub/activity_pub.ex | 27 ----------- test/web/activity_pub/activity_pub_test.exs | 48 -------------------- test/web/activity_pub/side_effects_test.exs | 3 +- test/web/activity_pub/utils_test.exs | 16 ++----- 5 files changed, 5 insertions(+), 92 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 1d70a37ef..c3e2a89ad 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1527,8 +1527,7 @@ def perform(:blocks_import, %User{} = blocker, blocked_identifiers) blocked_identifiers, fn blocked_identifier -> with {:ok, %User{} = blocked} <- get_or_fetch(blocked_identifier), - {:ok, _user_block} <- block(blocker, blocked), - {:ok, _} <- ActivityPub.block(blocker, blocked) do + {:ok, _block} <- CommonAPI.block(blocker, blocked) do blocked else err -> diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 7cd3eab39..05bd824f5 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -366,33 +366,6 @@ defp do_unfollow(follower, followed, activity_id, local) do end end - @spec block(User.t(), User.t(), String.t() | nil, boolean()) :: - {:ok, Activity.t()} | {:error, any()} - def block(blocker, blocked, activity_id \\ nil, local \\ true) do - with {:ok, result} <- - Repo.transaction(fn -> do_block(blocker, blocked, activity_id, local) end) do - result - end - end - - defp do_block(blocker, blocked, activity_id, local) do - unfollow_blocked = Config.get([:activitypub, :unfollow_blocked]) - - if unfollow_blocked and fetch_latest_follow(blocker, blocked) do - unfollow(blocker, blocked, nil, local) - end - - block_data = make_block_data(blocker, blocked, activity_id) - - with {:ok, activity} <- insert(block_data, local), - _ <- notify_and_stream(activity), - :ok <- maybe_federate(activity) do - {:ok, activity} - else - {:error, error} -> Repo.rollback(error) - end - end - @spec flag(map()) :: {:ok, Activity.t()} | {:error, any()} def flag( %{ diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index be7ab2ae4..575e0c5db 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -992,54 +992,6 @@ test "creates an undo activity for a pending follow request" do end end - describe "blocking" do - test "reverts block activity on error" do - [blocker, blocked] = insert_list(2, :user) - - with_mock(Utils, [:passthrough], maybe_federate: fn _ -> {:error, :reverted} end) do - assert {:error, :reverted} = ActivityPub.block(blocker, blocked) - end - - assert Repo.aggregate(Activity, :count, :id) == 0 - assert Repo.aggregate(Object, :count, :id) == 0 - end - - test "creates a block activity" do - clear_config([:instance, :federating], true) - blocker = insert(:user) - blocked = insert(:user) - - with_mock Pleroma.Web.Federator, - publish: fn _ -> nil end do - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity.data["type"] == "Block" - assert activity.data["actor"] == blocker.ap_id - assert activity.data["object"] == blocked.ap_id - - assert called(Pleroma.Web.Federator.publish(activity)) - end - end - - test "works with outgoing blocks disabled, but doesn't federate" do - clear_config([:instance, :federating], true) - clear_config([:activitypub, :outgoing_blocks], false) - blocker = insert(:user) - blocked = insert(:user) - - with_mock Pleroma.Web.Federator, - publish: fn _ -> nil end do - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity.data["type"] == "Block" - assert activity.data["actor"] == blocker.ap_id - assert activity.data["object"] == blocked.ap_id - - refute called(Pleroma.Web.Federator.publish(:_)) - end - end - end - describe "timeline post-processing" do test "it filters broken threads" do user1 = insert(:user) diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 5e883bb09..36792f015 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -267,8 +267,7 @@ test "when activation is required", %{delete: delete, user: user} do {:ok, like} = CommonAPI.favorite(user, post.id) {:ok, reaction} = CommonAPI.react_with_emoji(post.id, user, "👍") {:ok, announce} = CommonAPI.repeat(post.id, user) - {:ok, block} = ActivityPub.block(user, poster) - User.block(user, poster) + {:ok, block} = CommonAPI.block(user, poster) {:ok, undo_data, _meta} = Builder.undo(user, like) {:ok, like_undo, _meta} = ActivityPub.persist(undo_data, local: true) diff --git a/test/web/activity_pub/utils_test.exs b/test/web/activity_pub/utils_test.exs index 15f03f193..2f9ecb5a3 100644 --- a/test/web/activity_pub/utils_test.exs +++ b/test/web/activity_pub/utils_test.exs @@ -27,16 +27,6 @@ test "fetches the latest Follow activity" do end end - describe "fetch the latest Block" do - test "fetches the latest Block activity" do - blocker = insert(:user) - blocked = insert(:user) - {:ok, activity} = ActivityPub.block(blocker, blocked) - - assert activity == Utils.fetch_latest_block(blocker, blocked) - end - end - describe "determine_explicit_mentions()" do test "works with an object that has mentions" do object = %{ @@ -344,9 +334,9 @@ test "fetches last block activities" do user1 = insert(:user) user2 = insert(:user) - assert {:ok, %Activity{} = _} = ActivityPub.block(user1, user2) - assert {:ok, %Activity{} = _} = ActivityPub.block(user1, user2) - assert {:ok, %Activity{} = activity} = ActivityPub.block(user1, user2) + assert {:ok, %Activity{} = _} = CommonAPI.block(user1, user2) + assert {:ok, %Activity{} = _} = CommonAPI.block(user1, user2) + assert {:ok, %Activity{} = activity} = CommonAPI.block(user1, user2) assert Utils.fetch_latest_block(user1, user2) == activity end From 84f9ca19568777861ff9520cbef09a0259efd536 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 12:03:14 +0200 Subject: [PATCH 12/57] Blocking: Don't federate if the options is set. --- .../web/activity_pub/object_validator.ex | 9 ++++ test/web/common_api/common_api_test.exs | 46 +++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 737c0fd64..bb6324460 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -31,6 +31,15 @@ def validate(%{"type" => "Block"} = block_activity, meta) do |> BlockValidator.cast_and_validate() |> Ecto.Changeset.apply_action(:insert) do block_activity = stringify_keys(block_activity) + outgoing_blocks = Pleroma.Config.get([:activitypub, :outgoing_blocks]) + + meta = + if !outgoing_blocks do + Keyword.put(meta, :do_not_federate, true) + else + meta + end + {:ok, block_activity, meta} end end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 6bd26050e..fc3bb845d 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -25,6 +25,52 @@ defmodule Pleroma.Web.CommonAPITest do setup do: clear_config([:instance, :limit]) setup do: clear_config([:instance, :max_pinned_statuses]) + describe "blocking" do + setup do + blocker = insert(:user) + blocked = insert(:user) + User.follow(blocker, blocked) + User.follow(blocked, blocker) + %{blocker: blocker, blocked: blocked} + end + + test "it blocks and federates", %{blocker: blocker, blocked: blocked} do + clear_config([:instance, :federating], true) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + assert called(Pleroma.Web.Federator.publish(block)) + end + end + + test "it blocks and does not federate if outgoing blocks are disabled", %{ + blocker: blocker, + blocked: blocked + } do + clear_config([:instance, :federating], true) + clear_config([:activitypub, :outgoing_blocks], false) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + refute called(Pleroma.Web.Federator.publish(block)) + end + end + end + describe "posting chat messages" do setup do: clear_config([:instance, :chat_limit]) From 04abee782b8745b21d0f9e58b27a805db6a94aa7 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 25 Jun 2020 12:40:39 +0200 Subject: [PATCH 13/57] AntiSpamLinkPolicy: Exempt local users. --- .../activity_pub/mrf/anti_link_spam_policy.ex | 5 ++++- .../mrf/anti_link_spam_policy_test.exs | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex b/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex index 9e7800997..a7e187b5e 100644 --- a/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/anti_link_spam_policy.ex @@ -27,11 +27,14 @@ defp contains_links?(_), do: false @impl true def filter(%{"type" => "Create", "actor" => actor, "object" => object} = message) do - with {:ok, %User{} = u} <- User.get_or_fetch_by_ap_id(actor), + with {:ok, %User{local: false} = u} <- User.get_or_fetch_by_ap_id(actor), {:contains_links, true} <- {:contains_links, contains_links?(object)}, {:old_user, true} <- {:old_user, old_user?(u)} do {:ok, message} else + {:ok, %User{local: true}} -> + {:ok, message} + {:contains_links, false} -> {:ok, message} diff --git a/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs b/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs index 1a13699be..6867c9853 100644 --- a/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs +++ b/test/web/activity_pub/mrf/anti_link_spam_policy_test.exs @@ -33,7 +33,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicyTest do describe "with new user" do test "it allows posts without links" do - user = insert(:user) + user = insert(:user, local: false) assert user.note_count == 0 @@ -45,7 +45,7 @@ test "it allows posts without links" do end test "it disallows posts with links" do - user = insert(:user) + user = insert(:user, local: false) assert user.note_count == 0 @@ -55,6 +55,18 @@ test "it disallows posts with links" do {:reject, _} = AntiLinkSpamPolicy.filter(message) end + + test "it allows posts with links for local users" do + user = insert(:user) + + assert user.note_count == 0 + + message = + @linkful_message + |> Map.put("actor", user.ap_id) + + {:ok, _message} = AntiLinkSpamPolicy.filter(message) + end end describe "with old user" do From 91cd023720dfea24cbb0d5a63db92e9773b59a04 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 26 Jun 2020 09:03:07 +0300 Subject: [PATCH 14/57] Pleroma.Upload.Filter.Mogrify args description --- config/description.exs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index f54ac2a2a..b13b7c9dd 100644 --- a/config/description.exs +++ b/config/description.exs @@ -193,7 +193,9 @@ %{ key: :args, type: [:string, {:list, :string}, {:list, :tuple}], - description: "List of actions for the mogrify command", + description: + "List of actions for the mogrify command. It's possible to add self-written settings as string. " <> + "For example `[\"auto-orient\", \"strip\", {\"resize\", \"3840x1080>\"}]` string will be parsed into list of the settings.", suggestions: [ "strip", "auto-orient", From c3383d4fab6181d9f605a6058805333611534398 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 11:58:40 +0200 Subject: [PATCH 15/57] BlockValidator: Restore old behavior for incoming blocks. --- .../object_validators/block_validator.ex | 13 +++++++++++++ lib/pleroma/web/activity_pub/side_effects.ex | 1 - test/web/activity_pub/object_validator_test.exs | 8 +++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex index 1dde77198..1989585b7 100644 --- a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do use Ecto.Schema alias Pleroma.EctoType.ActivityPub.ObjectValidators + alias Pleroma.User import Ecto.Changeset import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @@ -32,6 +33,7 @@ def validate_data(cng) do |> validate_inclusion(:type, ["Block"]) |> validate_actor_presence() |> validate_actor_presence(field_name: :object) + |> validate_block_acceptance() end def cast_and_validate(data) do @@ -39,4 +41,15 @@ def cast_and_validate(data) do |> cast_data |> validate_data end + + def validate_block_acceptance(cng) do + actor = get_field(cng, :actor) |> User.get_cached_by_ap_id() + + if actor.local || Pleroma.Config.get([:activitypub, :unfollow_blocked], true) do + cng + else + cng + |> add_error(:actor, "Not accepting remote blocks") + end + end end diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 48350d2b3..5cc2eb378 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -29,7 +29,6 @@ def handle( ) do with %User{} = blocker <- User.get_cached_by_ap_id(blocking_user), %User{} = blocked <- User.get_cached_by_ap_id(blocked_user) do - User.unfollow(blocker, blocked) User.block(blocker, blocked) end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index e96552763..a3d43ef3c 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -657,7 +657,7 @@ test "returns an error if the object can't be updated by the actor", %{ describe "blocks" do setup do - user = insert(:user) + user = insert(:user, local: false) blocked = insert(:user) {:ok, valid_block, []} = Builder.block(user, blocked) @@ -680,5 +680,11 @@ test "returns an error if we don't know the blocked user", %{ assert {:error, _cng} = ObjectValidator.validate(block, []) end + + test "returns an error if don't accept remote blocks", %{valid_block: valid_block} do + clear_config([:activitypub, :unfollow_blocked], false) + + assert {:error, _cng} = ObjectValidator.validate(valid_block, []) + end end end From 15a8b703185c685fc3d25a381fcb9dee522c78bf Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 12:06:00 +0200 Subject: [PATCH 16/57] User: Don't unfollow on block when the relevant setting is set. --- lib/pleroma/user.ex | 3 ++- .../object_validators/block_validator.ex | 13 ------------- test/web/activity_pub/object_validator_test.exs | 6 ------ test/web/activity_pub/side_effects_test.exs | 16 ++++++++++++++++ 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index c3e2a89ad..9d5c61e79 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1309,7 +1309,8 @@ def block(%User{} = blocker, %User{} = blocked) do unsubscribe(blocked, blocker) - if following?(blocked, blocker), do: unfollow(blocked, blocker) + unfollowing_blocked = Config.get([:activitypub, :unfollow_blocked], true) + if unfollowing_blocked && following?(blocked, blocker), do: unfollow(blocked, blocker) {:ok, blocker} = update_follower_count(blocker) {:ok, blocker, _} = Participation.mark_all_as_read(blocker, blocked) diff --git a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex index 1989585b7..1dde77198 100644 --- a/lib/pleroma/web/activity_pub/object_validators/block_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/block_validator.ex @@ -6,7 +6,6 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator do use Ecto.Schema alias Pleroma.EctoType.ActivityPub.ObjectValidators - alias Pleroma.User import Ecto.Changeset import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @@ -33,7 +32,6 @@ def validate_data(cng) do |> validate_inclusion(:type, ["Block"]) |> validate_actor_presence() |> validate_actor_presence(field_name: :object) - |> validate_block_acceptance() end def cast_and_validate(data) do @@ -41,15 +39,4 @@ def cast_and_validate(data) do |> cast_data |> validate_data end - - def validate_block_acceptance(cng) do - actor = get_field(cng, :actor) |> User.get_cached_by_ap_id() - - if actor.local || Pleroma.Config.get([:activitypub, :unfollow_blocked], true) do - cng - else - cng - |> add_error(:actor, "Not accepting remote blocks") - end - end end diff --git a/test/web/activity_pub/object_validator_test.exs b/test/web/activity_pub/object_validator_test.exs index a3d43ef3c..f38bf7e08 100644 --- a/test/web/activity_pub/object_validator_test.exs +++ b/test/web/activity_pub/object_validator_test.exs @@ -680,11 +680,5 @@ test "returns an error if we don't know the blocked user", %{ assert {:error, _cng} = ObjectValidator.validate(block, []) end - - test "returns an error if don't accept remote blocks", %{valid_block: valid_block} do - clear_config([:activitypub, :unfollow_blocked], false) - - assert {:error, _cng} = ObjectValidator.validate(valid_block, []) - end end end diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 36792f015..af27c34b4 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -87,6 +87,22 @@ test "it unfollows and blocks", %{user: user, blocked: blocked, block: block} do refute User.following?(blocked, user) assert User.blocks?(user, blocked) end + + test "it blocks but does not unfollow if the relevant setting is set", %{ + user: user, + blocked: blocked, + block: block + } do + clear_config([:activitypub, :unfollow_blocked], false) + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + assert User.following?(blocked, user) + assert User.blocks?(user, blocked) + end end describe "update users" do From 7ed229641667f52dd82eb7c388ea28e79e09e507 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 13:04:15 +0200 Subject: [PATCH 17/57] Nodeinfo: Add chat information back in. --- lib/pleroma/web/nodeinfo/nodeinfo.ex | 30 +--------------------------- test/web/node_info_test.exs | 3 ++- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex index f7ab6d86a..47fa46376 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -19,35 +19,7 @@ def get_nodeinfo("2.0") do |> Enum.map(fn u -> u.ap_id end) federation = InstanceView.federation() - - features = - [ - "pleroma_api", - "mastodon_api", - "mastodon_api_streaming", - "polls", - "pleroma_explicit_addressing", - "shareable_emoji_packs", - "multifetch", - "pleroma:api/v1/notifications:include_types_filter", - if Config.get([:media_proxy, :enabled]) do - "media_proxy" - end, - if Config.get([:gopher, :enabled]) do - "gopher" - end, - if Config.get([:chat, :enabled]) do - "chat" - end, - if Config.get([:instance, :allow_relay]) do - "relay" - end, - if Config.get([:instance, :safe_dm_mentions]) do - "safe_dm_mentions" - end, - "pleroma_emoji_reactions" - ] - |> Enum.filter(& &1) + features = InstanceView.features() %{ version: "2.0", diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 8b3b6177d..06b33607f 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -142,7 +142,8 @@ test "it shows default features flags", %{conn: conn} do "shareable_emoji_packs", "multifetch", "pleroma_emoji_reactions", - "pleroma:api/v1/notifications:include_types_filter" + "pleroma:api/v1/notifications:include_types_filter", + "pleroma_chat_messages" ] assert MapSet.subset?( From e7bc0273e5bb7fd8f9bafae453a574b1e579dc9c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 26 Jun 2020 15:22:08 +0300 Subject: [PATCH 18/57] additional data to MRF policies in descriptions --- config/description.exs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/description.exs b/config/description.exs index b13b7c9dd..1fb0c3c41 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1383,6 +1383,7 @@ %{ group: :pleroma, key: :mrf_simple, + tab: :mrf, label: "MRF simple", type: :group, description: "Message Rewrite Facility", @@ -1448,6 +1449,7 @@ %{ group: :pleroma, key: :mrf_activity_expiration, + tab: :mrf, label: "MRF Activity Expiration Policy", type: :group, description: "Adds expiration to all local Create Note activities", @@ -1463,6 +1465,7 @@ %{ group: :pleroma, key: :mrf_subchain, + tab: :mrf, label: "MRF subchain", type: :group, description: @@ -1484,6 +1487,7 @@ %{ group: :pleroma, key: :mrf_rejectnonpublic, + tab: :mrf, description: "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", label: "MRF reject non public", @@ -1505,6 +1509,7 @@ %{ group: :pleroma, key: :mrf_hellthread, + tab: :mrf, label: "MRF hellthread", type: :group, description: "Block messages with too much mentions", @@ -1529,6 +1534,7 @@ %{ group: :pleroma, key: :mrf_keyword, + tab: :mrf, label: "MRF keyword", type: :group, description: "Reject or Word-Replace messages with a keyword or regex", @@ -1574,6 +1580,7 @@ %{ group: :pleroma, key: :mrf_vocabulary, + tab: :mrf, label: "MRF vocabulary", type: :group, description: "Filter messages which belong to certain activity vocabularies", @@ -2832,6 +2839,7 @@ }, %{ group: :pleroma, + tab: :mrf, key: :mrf_normalize_markup, label: "MRF normalize markup", description: "MRF NormalizeMarkup settings. Scrub configured hypertext markup.", @@ -3024,6 +3032,7 @@ %{ group: :pleroma, key: :mrf_object_age, + tab: :mrf, type: :group, description: "Rejects or delists posts based on their age when received.", children: [ @@ -3367,6 +3376,7 @@ %{ group: :pleroma, key: :mrf, + tab: :mrf, type: :group, description: "General MRF settings", children: [ From 4a7a34ae8c2ad12b2b9903c1d70bfe85d10af49e Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 14:47:38 +0200 Subject: [PATCH 19/57] Preloading: Return correct data for statusnet stuff. --- lib/pleroma/web/preload/status_net.ex | 9 +++++---- test/web/preload/status_net_test.exs | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex index 367442d5c..810ad512b 100644 --- a/lib/pleroma/web/preload/status_net.ex +++ b/lib/pleroma/web/preload/status_net.ex @@ -4,7 +4,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNet do alias Pleroma.Web.Preload.Providers.Provider - alias Pleroma.Web.TwitterAPI.UtilView + alias Pleroma.Web.TwitterAPI.UtilController @behaviour Provider @config_url :"/api/statusnet/config.json" @@ -16,9 +16,10 @@ def generate_terms(_params) do end defp build_config_tag(acc) do - instance = Pleroma.Config.get(:instance) - info_data = UtilView.status_net_config(instance) + resp = + Plug.Test.conn(:get, @config_url |> to_string()) + |> UtilController.config(nil) - Map.put(acc, @config_url, info_data) + Map.put(acc, @config_url, resp.resp_body) end end diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs index ab6823a7e..2cdc82930 100644 --- a/test/web/preload/status_net_test.exs +++ b/test/web/preload/status_net_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNetTest do setup do: {:ok, StatusNet.generate_terms(nil)} test "it renders the info", %{"/api/statusnet/config.json": info} do - assert info =~ "Pleroma" + assert {:ok, res} = Jason.decode(info) + assert res["site"] end end From a2002ebb6393d53030d5fc565bae90f3fedd48a8 Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 26 Jun 2020 14:48:23 +0200 Subject: [PATCH 20/57] Preloading: Fix nodeinfo url. --- lib/pleroma/web/preload/instance.ex | 2 +- test/web/preload/instance_test.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 0b6fd3313..3b95fe403 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -10,7 +10,7 @@ defmodule Pleroma.Web.Preload.Providers.Instance do @behaviour Provider @instance_url :"/api/v1/instance" @panel_url :"/instance/panel.html" - @nodeinfo_url :"/nodeinfo/2.0" + @nodeinfo_url :"/nodeinfo/2.0.json" @impl Provider def generate_terms(_params) do diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 42a0d87bc..51b9dc549 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -25,7 +25,7 @@ test "it renders the panel", %{"/instance/panel.html": panel} do ) end - test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do + test "it renders the node_info", %{"/nodeinfo/2.0.json": nodeinfo} do %{ metadata: metadata, version: "2.0" From 1566543bec70e6497df77ed83bf4d3cc39c116eb Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 26 Jun 2020 20:10:47 +0200 Subject: [PATCH 21/57] object/fetcher: Pass full Transmogrifier error --- lib/pleroma/object/fetcher.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/object/fetcher.ex b/lib/pleroma/object/fetcher.ex index 263ded5dd..3e2949ee2 100644 --- a/lib/pleroma/object/fetcher.ex +++ b/lib/pleroma/object/fetcher.ex @@ -83,8 +83,8 @@ def fetch_object_from_id(id, options \\ []) do {:transmogrifier, {:error, {:reject, nil}}} -> {:reject, nil} - {:transmogrifier, _} -> - {:error, "Transmogrifier failure."} + {:transmogrifier, _} = e -> + {:error, e} {:object, data, nil} -> reinject_object(%Object{}, data) From f89390110b6b601fc505e63c3e36516d7ca96f5c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 27 Jun 2020 12:18:34 +0300 Subject: [PATCH 22/57] added tab & labels for mrf policies --- config/description.exs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/description.exs b/config/description.exs index 1fb0c3c41..e0c07bf78 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1565,6 +1565,7 @@ %{ group: :pleroma, key: :mrf_mention, + tab: :mrf, label: "MRF mention", type: :group, description: "Block messages which mention a user", @@ -3032,6 +3033,7 @@ %{ group: :pleroma, key: :mrf_object_age, + label: "MRF object age", tab: :mrf, type: :group, description: "Rejects or delists posts based on their age when received.", @@ -3377,6 +3379,7 @@ group: :pleroma, key: :mrf, tab: :mrf, + label: "MRF", type: :group, description: "General MRF settings", children: [ From 0313520cd2164e8abe671c7a0663246366ee30e9 Mon Sep 17 00:00:00 2001 From: lain Date: Sat, 27 Jun 2020 12:18:37 +0200 Subject: [PATCH 23/57] Config: Reduce default preloaders to configuration endpoints. Fetching the timeline is a bit heavy to do by default. --- config/config.exs | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index 5b1c576e7..9b550920c 100644 --- a/config/config.exs +++ b/config/config.exs @@ -437,8 +437,6 @@ config :pleroma, Pleroma.Web.Preload, providers: [ Pleroma.Web.Preload.Providers.Instance, - Pleroma.Web.Preload.Providers.User, - Pleroma.Web.Preload.Providers.Timelines, Pleroma.Web.Preload.Providers.StatusNet ] From efb5d64e5089ab59d8304f49f7c92fcab6e00b86 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 29 Jun 2020 02:39:26 +0200 Subject: [PATCH 24/57] differences_in_mastoapi_responses: Update account fields --- docs/API/differences_in_mastoapi_responses.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 7c3546f4f..c100ae83b 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -51,11 +51,14 @@ The `id` parameter can also be the `nickname` of the user. This only works in th Has these additional fields under the `pleroma` object: +- `ap_id`: nullable URL string, ActivityPub id of the user +- `background_image`: nullable URL string, background image of the user - `tags`: Lists an array of tags for the user -- `relationship{}`: Includes fields as documented for Mastodon API https://docs.joinmastodon.org/entities/relationship/ +- `relationship` (object): Includes fields as documented for Mastodon API https://docs.joinmastodon.org/entities/relationship/ - `is_moderator`: boolean, nullable, true if user is a moderator - `is_admin`: boolean, nullable, true if user is an admin - `confirmation_pending`: boolean, true if a new user account is waiting on email confirmation to be activated +- `hide_favorites`: boolean, true when the user has hiding favorites enabled - `hide_followers`: boolean, true when the user has follower hiding enabled - `hide_follows`: boolean, true when the user has follow hiding enabled - `hide_followers_count`: boolean, true when the user has follower stat hiding enabled @@ -66,6 +69,7 @@ Has these additional fields under the `pleroma` object: - `allow_following_move`: boolean, true when the user allows automatically follow moved following accounts - `unread_conversation_count`: The count of unread conversations. Only returned to the account owner. - `unread_notifications_count`: The count of unread notifications. Only returned to the account owner. +- `notification_settings`: object, can be absent. See `/api/pleroma/notification_settings` for the parameters/keys returned. ### Source From 9f51b03eed85d4a3ea24e1d449fcb4969f299096 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 29 Jun 2020 03:31:33 +0200 Subject: [PATCH 25/57] ApiSpec.Schemas.Account: import description from differences_in_mastoapi_responses --- lib/pleroma/web/api_spec/schemas/account.ex | 83 +++++++++++++++++---- 1 file changed, 67 insertions(+), 16 deletions(-) diff --git a/lib/pleroma/web/api_spec/schemas/account.ex b/lib/pleroma/web/api_spec/schemas/account.ex index d54e2158d..84f18f1b6 100644 --- a/lib/pleroma/web/api_spec/schemas/account.ex +++ b/lib/pleroma/web/api_spec/schemas/account.ex @@ -40,20 +40,53 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do pleroma: %Schema{ type: :object, properties: %{ - allow_following_move: %Schema{type: :boolean}, - background_image: %Schema{type: :string, nullable: true}, + allow_following_move: %Schema{ + type: :boolean, + description: "whether the user allows automatically follow moved following accounts" + }, + background_image: %Schema{type: :string, nullable: true, format: :uri}, chat_token: %Schema{type: :string}, - confirmation_pending: %Schema{type: :boolean}, + confirmation_pending: %Schema{ + type: :boolean, + description: + "whether the user account is waiting on email confirmation to be activated" + }, hide_favorites: %Schema{type: :boolean}, - hide_followers_count: %Schema{type: :boolean}, - hide_followers: %Schema{type: :boolean}, - hide_follows_count: %Schema{type: :boolean}, - hide_follows: %Schema{type: :boolean}, - is_admin: %Schema{type: :boolean}, - is_moderator: %Schema{type: :boolean}, + hide_followers_count: %Schema{ + type: :boolean, + description: "whether the user has follower stat hiding enabled" + }, + hide_followers: %Schema{ + type: :boolean, + description: "whether the user has follower hiding enabled" + }, + hide_follows_count: %Schema{ + type: :boolean, + description: "whether the user has follow stat hiding enabled" + }, + hide_follows: %Schema{ + type: :boolean, + description: "whether the user has follow hiding enabled" + }, + is_admin: %Schema{ + type: :boolean, + description: "whether the user is an admin of the local instance" + }, + is_moderator: %Schema{ + type: :boolean, + description: "whether the user is a moderator of the local instance" + }, skip_thread_containment: %Schema{type: :boolean}, - tags: %Schema{type: :array, items: %Schema{type: :string}}, - unread_conversation_count: %Schema{type: :integer}, + tags: %Schema{ + type: :array, + items: %Schema{type: :string}, + description: + "List of tags being used for things like extra roles or moderation(ie. marking all media as nsfw all)." + }, + unread_conversation_count: %Schema{ + type: :integer, + description: "The count of unread conversations. Only returned to the account owner." + }, notification_settings: %Schema{ type: :object, properties: %{ @@ -66,7 +99,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do }, relationship: AccountRelationship, settings_store: %Schema{ - type: :object + type: :object, + description: + "A generic map of settings for frontends. Opaque to the backend. Only returned in `verify_credentials` and `update_credentials`" } } }, @@ -74,16 +109,32 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Account do type: :object, properties: %{ fields: %Schema{type: :array, items: AccountField}, - note: %Schema{type: :string}, + note: %Schema{ + type: :string, + description: + "Plaintext version of the bio without formatting applied by the backend, used for editing the bio." + }, privacy: VisibilityScope, sensitive: %Schema{type: :boolean}, pleroma: %Schema{ type: :object, properties: %{ actor_type: ActorType, - discoverable: %Schema{type: :boolean}, - no_rich_text: %Schema{type: :boolean}, - show_role: %Schema{type: :boolean} + discoverable: %Schema{ + type: :boolean, + description: + "whether the user allows discovery of the account in search results and other services." + }, + no_rich_text: %Schema{ + type: :boolean, + description: + "whether the HTML tags for rich-text formatting are stripped from all statuses requested from the API." + }, + show_role: %Schema{ + type: :boolean, + description: + "whether the user wants their role (e.g admin, moderator) to be shown" + } } } } From a19f8778afddb7f504b08cedde752e37da52dc96 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 11:06:20 +0200 Subject: [PATCH 26/57] User preloader: Put user info at correct key --- lib/pleroma/web/preload/user.ex | 11 ++++++----- test/web/preload/user_test.exs | 14 +++++++------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex index 3a244845b..7fef0a4ac 100644 --- a/lib/pleroma/web/preload/user.ex +++ b/lib/pleroma/web/preload/user.ex @@ -3,11 +3,12 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.Preload.Providers.User do + alias Pleroma.User alias Pleroma.Web.MastodonAPI.AccountView alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @account_url :"/api/v1/accounts" + @account_url_base :"/api/v1/accounts" @impl Provider def generate_terms(%{user: user}) do @@ -16,10 +17,10 @@ def generate_terms(%{user: user}) do def generate_terms(_params), do: %{} - def build_accounts_tag(acc, nil), do: acc - - def build_accounts_tag(acc, user) do + def build_accounts_tag(acc, %User{} = user) do account_data = AccountView.render("show.json", %{user: user, for: user}) - Map.put(acc, @account_url, account_data) + Map.put(acc, :"#{@account_url_base}/#{user.id}", account_data) end + + def build_accounts_tag(acc, _), do: acc end diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs index 99232cdfa..68d69d977 100644 --- a/test/web/preload/user_test.exs +++ b/test/web/preload/user_test.exs @@ -9,13 +9,11 @@ defmodule Pleroma.Web.Preload.Providers.UserTest do describe "returns empty when user doesn't exist" do test "nil user specified" do - refute User.generate_terms(%{user: nil}) - |> Map.has_key?("/api/v1/accounts") + assert User.generate_terms(%{user: nil}) == %{} end test "missing user specified" do - refute User.generate_terms(%{user: :not_a_user}) - |> Map.has_key?("/api/v1/accounts") + assert User.generate_terms(%{user: :not_a_user}) == %{} end end @@ -23,11 +21,13 @@ test "missing user specified" do setup do user = insert(:user) - {:ok, User.generate_terms(%{user: user})} + terms = User.generate_terms(%{user: user}) + %{terms: terms, user: user} end - test "account is rendered", %{"/api/v1/accounts": accounts} do - assert %{acct: user, username: user} = accounts + test "account is rendered", %{terms: terms, user: user} do + account = terms[:"/api/v1/accounts/#{user.id}"] + assert %{acct: user, username: user} = account end end end From 8630a6c7f52a68ab32025b1c80a6398599908c68 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 11:41:00 +0200 Subject: [PATCH 27/57] Preloaders: Use strings as keys. --- lib/pleroma/web/preload/instance.ex | 6 +++--- lib/pleroma/web/preload/status_net.ex | 2 +- lib/pleroma/web/preload/timelines.ex | 2 +- lib/pleroma/web/preload/user.ex | 4 ++-- test/web/preload/instance_test.exs | 6 +++--- test/web/preload/status_net_test.exs | 2 +- test/web/preload/timeline_test.exs | 2 +- test/web/preload/user_test.exs | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 3b95fe403..b34d7cf37 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -8,9 +8,9 @@ defmodule Pleroma.Web.Preload.Providers.Instance do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @instance_url :"/api/v1/instance" - @panel_url :"/instance/panel.html" - @nodeinfo_url :"/nodeinfo/2.0.json" + @instance_url "/api/v1/instance" + @panel_url "/instance/panel.html" + @nodeinfo_url "/nodeinfo/2.0.json" @impl Provider def generate_terms(_params) do diff --git a/lib/pleroma/web/preload/status_net.ex b/lib/pleroma/web/preload/status_net.ex index 810ad512b..9b62f87a2 100644 --- a/lib/pleroma/web/preload/status_net.ex +++ b/lib/pleroma/web/preload/status_net.ex @@ -7,7 +7,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNet do alias Pleroma.Web.TwitterAPI.UtilController @behaviour Provider - @config_url :"/api/statusnet/config.json" + @config_url "/api/statusnet/config.json" @impl Provider def generate_terms(_params) do diff --git a/lib/pleroma/web/preload/timelines.ex b/lib/pleroma/web/preload/timelines.ex index e531b8960..57de04051 100644 --- a/lib/pleroma/web/preload/timelines.ex +++ b/lib/pleroma/web/preload/timelines.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.Timelines do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @public_url :"/api/v1/timelines/public" + @public_url "/api/v1/timelines/public" @impl Provider def generate_terms(params) do diff --git a/lib/pleroma/web/preload/user.ex b/lib/pleroma/web/preload/user.ex index 7fef0a4ac..b3d2e9b8d 100644 --- a/lib/pleroma/web/preload/user.ex +++ b/lib/pleroma/web/preload/user.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.User do alias Pleroma.Web.Preload.Providers.Provider @behaviour Provider - @account_url_base :"/api/v1/accounts" + @account_url_base "/api/v1/accounts" @impl Provider def generate_terms(%{user: user}) do @@ -19,7 +19,7 @@ def generate_terms(_params), do: %{} def build_accounts_tag(acc, %User{} = user) do account_data = AccountView.render("show.json", %{user: user, for: user}) - Map.put(acc, :"#{@account_url_base}/#{user.id}", account_data) + Map.put(acc, "#{@account_url_base}/#{user.id}", account_data) end def build_accounts_tag(acc, _), do: acc diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 51b9dc549..5bb6c5981 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.InstanceTest do setup do: {:ok, Instance.generate_terms(nil)} - test "it renders the info", %{"/api/v1/instance": info} do + test "it renders the info", %{"/api/v1/instance" => info} do assert %{ description: description, email: "admin@example.com", @@ -18,14 +18,14 @@ test "it renders the info", %{"/api/v1/instance": info} do assert String.equivalent?(description, "Pleroma: An efficient and flexible fediverse server") end - test "it renders the panel", %{"/instance/panel.html": panel} do + test "it renders the panel", %{"/instance/panel.html" => panel} do assert String.contains?( panel, "

Welcome to Pleroma!

" ) end - test "it renders the node_info", %{"/nodeinfo/2.0.json": nodeinfo} do + test "it renders the node_info", %{"/nodeinfo/2.0.json" => nodeinfo} do %{ metadata: metadata, version: "2.0" diff --git a/test/web/preload/status_net_test.exs b/test/web/preload/status_net_test.exs index 2cdc82930..df7acdb11 100644 --- a/test/web/preload/status_net_test.exs +++ b/test/web/preload/status_net_test.exs @@ -8,7 +8,7 @@ defmodule Pleroma.Web.Preload.Providers.StatusNetTest do setup do: {:ok, StatusNet.generate_terms(nil)} - test "it renders the info", %{"/api/statusnet/config.json": info} do + test "it renders the info", %{"/api/statusnet/config.json" => info} do assert {:ok, res} = Jason.decode(info) assert res["site"] end diff --git a/test/web/preload/timeline_test.exs b/test/web/preload/timeline_test.exs index da6a3aded..fea95a6a4 100644 --- a/test/web/preload/timeline_test.exs +++ b/test/web/preload/timeline_test.exs @@ -9,7 +9,7 @@ defmodule Pleroma.Web.Preload.Providers.TimelineTest do alias Pleroma.Web.CommonAPI alias Pleroma.Web.Preload.Providers.Timelines - @public_url :"/api/v1/timelines/public" + @public_url "/api/v1/timelines/public" describe "unauthenticated timeliness when restricted" do setup do diff --git a/test/web/preload/user_test.exs b/test/web/preload/user_test.exs index 68d69d977..83f065e27 100644 --- a/test/web/preload/user_test.exs +++ b/test/web/preload/user_test.exs @@ -26,7 +26,7 @@ test "missing user specified" do end test "account is rendered", %{terms: terms, user: user} do - account = terms[:"/api/v1/accounts/#{user.id}"] + account = terms["/api/v1/accounts/#{user.id}"] assert %{acct: user, username: user} = account end end From e64d08439ea171f1090e0bfa927f3c83cb9522b0 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 12:40:23 +0200 Subject: [PATCH 28/57] UpdateCredentialsTest: Add test for removing profile images. --- .../update_credentials_test.exs | 47 ++++++++++++++++--- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index f67d294ba..31f0edf97 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -216,10 +216,20 @@ test "updates the user's avatar", %{user: user, conn: conn} do filename: "an_image.jpg" } - conn = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["avatar"] != User.avatar_url(user) + + # Also removes it + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"avatar" => nil}) + + assert user_response = json_response_and_validate_schema(res, 200) + assert user_response["avatar"] == User.avatar_url(user) end test "updates the user's banner", %{user: user, conn: conn} do @@ -229,10 +239,21 @@ test "updates the user's banner", %{user: user, conn: conn} do filename: "an_image.jpg" } - conn = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"header" => new_header}) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["header"] != User.banner_url(user) + + # Also removes it + + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{"header" => nil}) + + assert user_response = json_response_and_validate_schema(res, 200) + assert user_response["header"] == User.banner_url(user) end test "updates the user's background", %{conn: conn} do @@ -242,13 +263,25 @@ test "updates the user's background", %{conn: conn} do filename: "an_image.jpg" } - conn = - patch(conn, "/api/v1/accounts/update_credentials", %{ + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{ "pleroma_background_image" => new_header }) - assert user_response = json_response_and_validate_schema(conn, 200) + assert user_response = json_response_and_validate_schema(res, 200) assert user_response["pleroma"]["background_image"] + + # Also removes it + + res = + conn + |> patch("/api/v1/accounts/update_credentials", %{ + "pleroma_background_image" => nil + }) + + assert user_response = json_response_and_validate_schema(res, 200) + refute user_response["pleroma"]["background_image"] end test "requires 'write:accounts' permission" do From 6512ef6879a5f857f02479da1bad7242e916d918 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 29 Jun 2020 15:25:57 +0300 Subject: [PATCH 29/57] excluding attachment links from RichMedia --- lib/pleroma/html.ex | 2 +- test/html_test.exs | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/html.ex b/lib/pleroma/html.ex index d78c5f202..dc1b9b840 100644 --- a/lib/pleroma/html.ex +++ b/lib/pleroma/html.ex @@ -109,7 +109,7 @@ def extract_first_external_url(object, content) do result = content |> Floki.parse_fragment!() - |> Floki.filter_out("a.mention,a.hashtag,a[rel~=\"tag\"]") + |> Floki.filter_out("a.mention,a.hashtag,a.attachment,a[rel~=\"tag\"]") |> Floki.attribute("a", "href") |> Enum.at(0) diff --git a/test/html_test.exs b/test/html_test.exs index 0a4b4ebbc..f8907c8b4 100644 --- a/test/html_test.exs +++ b/test/html_test.exs @@ -237,5 +237,19 @@ test "does not crash when there is an HTML entity in a link" do assert {:ok, nil} = HTML.extract_first_external_url(object, object.data["content"]) end + + test "skips attachment links" do + user = insert(:user) + + {:ok, activity} = + CommonAPI.post(user, %{ + status: + "image.png" + }) + + object = Object.normalize(activity) + + assert {:ok, nil} = HTML.extract_first_external_url(object, object.data["content"]) + end end end From dc60b1ee583e59ab1a6808700b45992a41fecd8f Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Mon, 29 Jun 2020 16:22:54 +0300 Subject: [PATCH 30/57] updated swoosh --- mix.exs | 5 ++++- mix.lock | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mix.exs b/mix.exs index b638be541..e2ab53bde 100644 --- a/mix.exs +++ b/mix.exs @@ -159,7 +159,10 @@ defp deps do {:cors_plug, "~> 1.5"}, {:ex_doc, "~> 0.21", only: :dev, runtime: false}, {:web_push_encryption, "~> 0.2.1"}, - {:swoosh, "~> 0.23.2"}, + {:swoosh, + git: "https://github.com/swoosh/swoosh", + ref: "c96e0ca8a00d8f211ec1f042a4626b09f249caa5", + override: true}, {:phoenix_swoosh, "~> 0.2"}, {:gen_smtp, "~> 0.13"}, {:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test}, diff --git a/mix.lock b/mix.lock index 5ad49391d..4f2777fa7 100644 --- a/mix.lock +++ b/mix.lock @@ -104,9 +104,9 @@ "sleeplocks": {:hex, :sleeplocks, "1.1.1", "3d462a0639a6ef36cc75d6038b7393ae537ab394641beb59830a1b8271faeed3", [:rebar3], [], "hexpm", "84ee37aeff4d0d92b290fff986d6a95ac5eedf9b383fadfd1d88e9b84a1c02e1"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "sweet_xml": {:hex, :sweet_xml, "0.6.6", "fc3e91ec5dd7c787b6195757fbcf0abc670cee1e4172687b45183032221b66b8", [:mix], [], "hexpm", "2e1ec458f892ffa81f9f8386e3f35a1af6db7a7a37748a64478f13163a1f3573"}, - "swoosh": {:hex, :swoosh, "0.23.5", "bfd9404bbf5069b1be2ffd317923ce57e58b332e25dbca2a35dedd7820dfee5a", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}], "hexpm", "e3928e1d2889a308aaf3e42755809ac21cffd77cb58eef01cbfdab4ce2fd1e21"}, + "swoosh": {:git, "https://github.com/swoosh/swoosh", "c96e0ca8a00d8f211ec1f042a4626b09f249caa5", [ref: "c96e0ca8a00d8f211ec1f042a4626b09f249caa5"]}, "syslog": {:hex, :syslog, "1.1.0", "6419a232bea84f07b56dc575225007ffe34d9fdc91abe6f1b2f254fd71d8efc2", [:rebar3], [], "hexpm", "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"}, - "telemetry": {:hex, :telemetry, "0.4.1", "ae2718484892448a24470e6aa341bc847c3277bfb8d4e9289f7474d752c09c7f", [:rebar3], [], "hexpm", "4738382e36a0a9a2b6e25d67c960e40e1a2c95560b9f936d8e29de8cd858480f"}, + "telemetry": {:hex, :telemetry, "0.4.2", "2808c992455e08d6177322f14d3bdb6b625fbcfd233a73505870d8738a2f4599", [:rebar3], [], "hexpm", "2d1419bd9dda6a206d7b5852179511722e2b18812310d304620c7bd92a13fcef"}, "tesla": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/tesla.git", "61b7503cef33f00834f78ddfafe0d5d9dec2270b", [ref: "61b7503cef33f00834f78ddfafe0d5d9dec2270b"]}, "timex": {:hex, :timex, "3.6.1", "efdf56d0e67a6b956cc57774353b0329c8ab7726766a11547e529357ffdc1d56", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5 or ~> 1.0.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "f354efb2400dd7a80fd9eb6c8419068c4f632da4ac47f3d8822d6e33f08bc852"}, "trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"}, From 979f02ec947443835f480d13bd1dbcf521743a71 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Mon, 29 Jun 2020 17:33:00 +0400 Subject: [PATCH 31/57] Fix CastAndValidate plug --- lib/pleroma/web/api_spec/cast_and_validate.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/api_spec/cast_and_validate.ex b/lib/pleroma/web/api_spec/cast_and_validate.ex index bd9026237..fbfc27d6f 100644 --- a/lib/pleroma/web/api_spec/cast_and_validate.ex +++ b/lib/pleroma/web/api_spec/cast_and_validate.ex @@ -40,7 +40,7 @@ def call(%{private: %{open_api_spex: private_data}} = conn, %{ |> List.first() _ -> - nil + "application/json" end private_data = Map.put(private_data, :operation_id, operation_id) From 3aa04b81c4d558dfa8d3c35ab7db6041671ac121 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Mon, 29 Jun 2020 19:47:04 +0400 Subject: [PATCH 32/57] Test default "content-type" for CastAndValidate --- test/web/mastodon_api/controllers/account_controller_test.exs | 1 - 1 file changed, 1 deletion(-) diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index ebfcedd01..260ad2306 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -780,7 +780,6 @@ test "with notifications", %{conn: conn} do assert %{"id" => _id, "muting" => true, "muting_notifications" => true} = conn - |> put_req_header("content-type", "application/json") |> post("/api/v1/accounts/#{other_user.id}/mute") |> json_response_and_validate_schema(200) From 90083a754dc0bfe0c8a04fbaa3e78f68a848035e Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 17:48:18 +0200 Subject: [PATCH 33/57] Notifications: Never return `nil` in the notification list. --- lib/pleroma/notification.ex | 1 + test/notification_test.exs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 9ee9606be..58dcf880a 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -367,6 +367,7 @@ defp do_create_notifications(%Activity{} = activity, options) do do_send = do_send && user in enabled_receivers create_notification(activity, user, do_send) end) + |> Enum.filter(& &1) {:ok, notifications} end diff --git a/test/notification_test.exs b/test/notification_test.exs index 526f43fab..5389dabca 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -21,7 +21,19 @@ defmodule Pleroma.NotificationTest do alias Pleroma.Web.Push alias Pleroma.Web.Streamer + # TODO: Test there's no nil notifications + describe "create_notifications" do + test "never returns nil" do + user = insert(:user) + other_user = insert(:user, %{invisible: true}) + + {:ok, activity} = CommonAPI.post(user, %{status: "yeah"}) + {:ok, activity} = CommonAPI.react_with_emoji(activity.id, other_user, "☕") + + refute {:ok, [nil]} == Notification.create_notifications(activity) + end + test "creates a notification for an emoji reaction" do user = insert(:user) other_user = insert(:user) From c01f4ca07f3a3e47fb6532c55128c427fbc1f77e Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 17:52:56 +0200 Subject: [PATCH 34/57] Notification: Remove TODO. --- test/notification_test.exs | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/notification_test.exs b/test/notification_test.exs index 5389dabca..6add3f7eb 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -21,8 +21,6 @@ defmodule Pleroma.NotificationTest do alias Pleroma.Web.Push alias Pleroma.Web.Streamer - # TODO: Test there's no nil notifications - describe "create_notifications" do test "never returns nil" do user = insert(:user) From 09c5991f82e91878a940f5957ac993e1fca72545 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 29 Jun 2020 16:04:14 +0000 Subject: [PATCH 35/57] Apply suggestion to lib/pleroma/notification.ex --- lib/pleroma/notification.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 58dcf880a..2ef1a80c5 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -367,7 +367,7 @@ defp do_create_notifications(%Activity{} = activity, options) do do_send = do_send && user in enabled_receivers create_notification(activity, user, do_send) end) - |> Enum.filter(& &1) + |> Enum.reject(&is_nil/1) {:ok, notifications} end From 27542f19c60589d8deb5d9d7a59d2019b75026fa Mon Sep 17 00:00:00 2001 From: normandy Date: Tue, 30 Jun 2020 03:12:30 +0000 Subject: [PATCH 36/57] Use correct PostgreSQL version command in bug template --- .gitlab/issue_templates/Bug.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md index 66fbc510e..9ce9b6918 100644 --- a/.gitlab/issue_templates/Bug.md +++ b/.gitlab/issue_templates/Bug.md @@ -14,7 +14,7 @@ * Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): * Elixir version (`elixir -v` for from source installations, N/A for OTP): * Operating system: -* PostgreSQL version (`postgres -V`): +* PostgreSQL version (`psql -V`): ### Bug description From 2382a2a1511e1042d960946aacfde7a49fac9dd0 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 30 Jun 2020 11:35:54 +0200 Subject: [PATCH 37/57] Preload: Load the correct instance panel --- lib/pleroma/web/preload/instance.ex | 3 ++- test/fixtures/preload_static/instance/panel.html | 1 + test/web/preload/instance_test.exs | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/preload_static/instance/panel.html diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 0b6fd3313..5c6e33e47 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.Preload.Providers.Instance do alias Pleroma.Web.MastodonAPI.InstanceView alias Pleroma.Web.Nodeinfo.Nodeinfo alias Pleroma.Web.Preload.Providers.Provider + alias Pleroma.Plugs.InstanceStatic @behaviour Provider @instance_url :"/api/v1/instance" @@ -27,7 +28,7 @@ defp build_info_tag(acc) do end defp build_panel_tag(acc) do - instance_path = Path.join(:code.priv_dir(:pleroma), "static/instance/panel.html") + instance_path = InstanceStatic.file_path(@panel_url |> to_string()) if File.exists?(instance_path) do panel_data = File.read!(instance_path) diff --git a/test/fixtures/preload_static/instance/panel.html b/test/fixtures/preload_static/instance/panel.html new file mode 100644 index 000000000..fc58e4e93 --- /dev/null +++ b/test/fixtures/preload_static/instance/panel.html @@ -0,0 +1 @@ +HEY! diff --git a/test/web/preload/instance_test.exs b/test/web/preload/instance_test.exs index 42a0d87bc..df150d7be 100644 --- a/test/web/preload/instance_test.exs +++ b/test/web/preload/instance_test.exs @@ -25,6 +25,17 @@ test "it renders the panel", %{"/instance/panel.html": panel} do ) end + test "it works with overrides" do + clear_config([:instance, :static_dir], "test/fixtures/preload_static") + + %{"/instance/panel.html": panel} = Instance.generate_terms(nil) + + assert String.contains?( + panel, + "HEY!" + ) + end + test "it renders the node_info", %{"/nodeinfo/2.0": nodeinfo} do %{ metadata: metadata, From 8b7055e25e76565cd3376c0b5dda5e54d24881f0 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 30 Jun 2020 11:55:58 +0200 Subject: [PATCH 38/57] Credo fixes --- lib/pleroma/web/preload/instance.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/preload/instance.ex b/lib/pleroma/web/preload/instance.ex index 3d16f290b..50d1f3382 100644 --- a/lib/pleroma/web/preload/instance.ex +++ b/lib/pleroma/web/preload/instance.ex @@ -3,10 +3,10 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.Preload.Providers.Instance do + alias Pleroma.Plugs.InstanceStatic alias Pleroma.Web.MastodonAPI.InstanceView alias Pleroma.Web.Nodeinfo.Nodeinfo alias Pleroma.Web.Preload.Providers.Provider - alias Pleroma.Plugs.InstanceStatic @behaviour Provider @instance_url "/api/v1/instance" From d69af7f74290a67c9201782b7d4bafa29b6e0bd8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 30 Jun 2020 11:50:53 -0500 Subject: [PATCH 39/57] Rename user.settings column This is used exclusively by MastoFE/GlitchFE now --- lib/pleroma/user.ex | 6 +++--- lib/pleroma/web/views/masto_fe_view.ex | 2 +- .../20200630162024_rename_user_settings_col.exs | 11 +++++++++++ test/web/masto_fe_controller_test.exs | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 priv/repo/migrations/20200630162024_rename_user_settings_col.exs diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 9d5c61e79..8a54546d6 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -115,7 +115,7 @@ defmodule Pleroma.User do field(:is_moderator, :boolean, default: false) field(:is_admin, :boolean, default: false) field(:show_role, :boolean, default: true) - field(:settings, :map, default: nil) + field(:mastofe_settings, :map, default: nil) field(:uri, ObjectValidators.Uri, default: nil) field(:hide_followers_count, :boolean, default: false) field(:hide_follows_count, :boolean, default: false) @@ -2118,8 +2118,8 @@ def mascot_update(user, url) do def mastodon_settings_update(user, settings) do user - |> cast(%{settings: settings}, [:settings]) - |> validate_required([:settings]) + |> cast(%{mastofe_settings: settings}, [:mastofe_settings]) + |> validate_required([:mastofe_settings]) |> update_and_set_cache() end diff --git a/lib/pleroma/web/views/masto_fe_view.ex b/lib/pleroma/web/views/masto_fe_view.ex index c3096006e..f739dacb6 100644 --- a/lib/pleroma/web/views/masto_fe_view.ex +++ b/lib/pleroma/web/views/masto_fe_view.ex @@ -86,7 +86,7 @@ def initial_state(token, user, custom_emojis) do "video\/mp4" ] }, - settings: user.settings || @default_settings, + settings: user.mastofe_settings || @default_settings, push_subscription: nil, accounts: %{user.id => render(AccountView, "show.json", user: user, for: user)}, custom_emojis: render(CustomEmojiView, "index.json", custom_emojis: custom_emojis), diff --git a/priv/repo/migrations/20200630162024_rename_user_settings_col.exs b/priv/repo/migrations/20200630162024_rename_user_settings_col.exs new file mode 100644 index 000000000..2355eb681 --- /dev/null +++ b/priv/repo/migrations/20200630162024_rename_user_settings_col.exs @@ -0,0 +1,11 @@ +defmodule Pleroma.Repo.Migrations.RenameUserSettingsCol do + use Ecto.Migration + + def up do + rename(table(:users), :settings, to: :mastofe_settings) + end + + def down do + rename(table(:users), :mastofe_settings, to: :settings) + end +end diff --git a/test/web/masto_fe_controller_test.exs b/test/web/masto_fe_controller_test.exs index 1d107d56c..f3b54b5f2 100644 --- a/test/web/masto_fe_controller_test.exs +++ b/test/web/masto_fe_controller_test.exs @@ -24,7 +24,7 @@ test "put settings", %{conn: conn} do assert _result = json_response(conn, 200) user = User.get_cached_by_ap_id(user.ap_id) - assert user.settings == %{"programming" => "socks"} + assert user.mastofe_settings == %{"programming" => "socks"} end describe "index/2 redirections" do From 3d2989278c2f97fb5247d0b58b99b77f400f3185 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Tue, 30 Jun 2020 21:26:39 +0300 Subject: [PATCH 40/57] [#1892] Excluded bot actors (applications, services) from search results. --- lib/pleroma/user/search.ex | 5 +++++ test/user_search_test.exs | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index cec59c372..0293c6ae7 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -52,6 +52,7 @@ defp search_query(query_string, for_user, following) do |> base_query(following) |> filter_blocked_user(for_user) |> filter_invisible_users() + |> filter_bots() |> filter_blocked_domains(for_user) |> fts_search(query_string) |> trigram_rank(query_string) @@ -109,6 +110,10 @@ defp filter_invisible_users(query) do from(q in query, where: q.invisible == false) end + defp filter_bots(query) do + from(q in query, where: q.actor_type not in ["Application", "Service"]) + end + defp filter_blocked_user(query, %User{} = blocker) do query |> join(:left, [u], b in Pleroma.UserRelationship, diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 17c63322a..9a74b9764 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -17,7 +17,7 @@ defmodule Pleroma.UserSearchTest do describe "User.search" do setup do: clear_config([:instance, :limit_to_local_content]) - test "excluded invisible users from results" do + test "excludes invisible users from results" do user = insert(:user, %{nickname: "john t1000"}) insert(:user, %{invisible: true, nickname: "john t800"}) @@ -25,6 +25,13 @@ test "excluded invisible users from results" do assert found_user.id == user.id end + test "excludes bots from results" do + insert(:user, actor_type: "Service", nickname: "bot1") + insert(:user, actor_type: "Application", nickname: "bot2") + + assert [] = User.search("bot") + end + test "accepts limit parameter" do Enum.each(0..4, &insert(:user, %{nickname: "john#{&1}"})) assert length(User.search("john", limit: 3)) == 3 From 5a8e0208b1cfb1995353b83338f20dc5cca195e1 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 30 Jun 2020 15:25:10 -0500 Subject: [PATCH 41/57] Add fields limits to instance metadata, add tests --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 12 +++++++++++- .../controllers/instance_controller_test.exs | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 118678962..347480d49 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -38,7 +38,8 @@ def render("show.json", _) do metadata: %{ account_activation_required: Keyword.get(instance, :account_activation_required), features: features(), - federation: federation() + federation: federation(), + fields_limits: fields_limits() }, vapid_public_key: Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) } @@ -89,4 +90,13 @@ def federation do end |> Map.put(:enabled, Config.get([:instance, :federating])) end + + def fields_limits do + %{ + maxFields: Config.get([:instance, :max_account_fields]), + maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), + nameLength: Config.get([:instance, :account_field_name_length]), + valueLength: Config.get([:instance, :account_field_value_length]) + } + end end diff --git a/test/web/mastodon_api/controllers/instance_controller_test.exs b/test/web/mastodon_api/controllers/instance_controller_test.exs index 8bdfdddd1..95ee26416 100644 --- a/test/web/mastodon_api/controllers/instance_controller_test.exs +++ b/test/web/mastodon_api/controllers/instance_controller_test.exs @@ -35,8 +35,10 @@ test "get instance information", %{conn: conn} do "background_image" => _ } = result + assert result["pleroma"]["metadata"]["account_activation_required"] != nil assert result["pleroma"]["metadata"]["features"] assert result["pleroma"]["metadata"]["federation"] + assert result["pleroma"]["metadata"]["fields_limits"] assert result["pleroma"]["vapid_public_key"] assert email == from_config_email From df2d6564d5cf7ad292a784c69ce17f9f37db993a Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Wed, 1 Jul 2020 03:01:15 +0300 Subject: [PATCH 42/57] Add labels, update descriptions and labels --- config/description.exs | 149 +++++++++++++++++++++++++---------------- 1 file changed, 92 insertions(+), 57 deletions(-) diff --git a/config/description.exs b/config/description.exs index ded30e204..b34961c49 100644 --- a/config/description.exs +++ b/config/description.exs @@ -40,12 +40,13 @@ key: :link_name, type: :boolean, description: - "If enabled, a name parameter will be added to the url of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." + "If enabled, a name parameter will be added to the URL of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." }, %{ key: :base_url, + label: "Base URL", type: :string, - description: "Base url for the uploads, needed if you use CDN", + description: "Base URL for the uploads, needed if you use CDN", suggestions: [ "https://cdn-host.com" ] @@ -58,6 +59,7 @@ }, %{ key: :proxy_opts, + label: "Proxy Options", type: :keyword, description: "Options for Pleroma.ReverseProxy", suggestions: [ @@ -85,6 +87,7 @@ }, %{ key: :http, + label: "HTTP", type: :keyword, description: "HTTP options", children: [ @@ -479,6 +482,7 @@ %{ group: :pleroma, key: :uri_schemes, + label: "URI Schemes", type: :group, description: "URI schemes related settings", children: [ @@ -651,17 +655,17 @@ key: :invites_enabled, type: :boolean, description: - "Enable user invitations for admins (depends on `registrations_open` being disabled)." + "Enable user invitations for admins (depends on `registrations_open` being disabled)" }, %{ key: :account_activation_required, type: :boolean, - description: "Require users to confirm their emails before signing in." + description: "Require users to confirm their emails before signing in" }, %{ key: :federating, type: :boolean, - description: "Enable federation with other instances." + description: "Enable federation with other instances" }, %{ key: :federation_incoming_replies_max_depth, @@ -679,7 +683,7 @@ label: "Fed. reachability timeout days", type: :integer, description: - "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it.", + "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it", suggestions: [ 7 ] @@ -801,6 +805,7 @@ }, %{ key: :safe_dm_mentions, + label: "Safe DM mentions", type: :boolean, description: "If enabled, only mentions at the beginning of a post will be used to address people in direct messages." <> @@ -840,7 +845,7 @@ %{ key: :skip_thread_containment, type: :boolean, - description: "Skip filtering out broken threads. Default: enabled" + description: "Skip filtering out broken threads. Default: enabled." }, %{ key: :limit_to_local_content, @@ -904,6 +909,7 @@ children: [ %{ key: :totp, + label: "TOTP settings", type: :keyword, description: "TOTP settings", suggestions: [digits: 6, period: 30], @@ -920,7 +926,7 @@ type: :integer, suggestions: [30], description: - "a period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." + "A period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." } ] }, @@ -934,7 +940,7 @@ key: :number, type: :integer, suggestions: [5], - description: "number of backup codes to generate." + description: "Number of backup codes to generate." }, %{ key: :length, @@ -974,6 +980,7 @@ group: :logger, type: :group, key: :ex_syslogger, + label: "ExSyslogger", description: "ExSyslogger-related settings", children: [ %{ @@ -992,7 +999,7 @@ %{ key: :format, type: :string, - description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\".", + description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\"", suggestions: ["$metadata[$level] $message"] }, %{ @@ -1006,6 +1013,7 @@ group: :logger, type: :group, key: :console, + label: "Console Logger", description: "Console logger settings", children: [ %{ @@ -1017,7 +1025,7 @@ %{ key: :format, type: :string, - description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\".", + description: "Default: \"$date $time [$level] $levelpad$node $metadata $message\"", suggestions: ["$metadata[$level] $message"] }, %{ @@ -1030,6 +1038,7 @@ %{ group: :quack, type: :group, + label: "Quack Logger", description: "Quack-related settings", children: [ %{ @@ -1140,19 +1149,19 @@ key: :greentext, label: "Greentext", type: :boolean, - description: "Enables green text on lines prefixed with the > character." + description: "Enables green text on lines prefixed with the > character" }, %{ key: :hideFilteredStatuses, label: "Hide Filtered Statuses", type: :boolean, - description: "Hides filtered statuses from timelines." + description: "Hides filtered statuses from timelines" }, %{ key: :hideMutedPosts, label: "Hide Muted Posts", type: :boolean, - description: "Hides muted statuses from timelines." + description: "Hides muted statuses from timelines" }, %{ key: :hidePostStats, @@ -1164,7 +1173,7 @@ key: :hideSitename, label: "Hide Sitename", type: :boolean, - description: "Hides instance name from PleromaFE banner." + description: "Hides instance name from PleromaFE banner" }, %{ key: :hideUserStats, @@ -1209,14 +1218,14 @@ label: "NSFW Censor Image", type: :string, description: - "URL of the image to use for hiding NSFW media attachments in the timeline.", + "URL of the image to use for hiding NSFW media attachments in the timeline", suggestions: ["/static/img/nsfw.74818f9.png"] }, %{ key: :postContentType, label: "Post Content Type", type: {:dropdown, :atom}, - description: "Default post formatting option.", + description: "Default post formatting option", suggestions: ["text/plain", "text/html", "text/markdown", "text/bbcode"] }, %{ @@ -1245,14 +1254,14 @@ key: :sidebarRight, label: "Sidebar on Right", type: :boolean, - description: "Change alignment of sidebar and panels to the right." + description: "Change alignment of sidebar and panels to the right" }, %{ key: :showFeaturesPanel, label: "Show instance features panel", type: :boolean, description: - "Enables panel displaying functionality of the instance on the About page." + "Enables panel displaying functionality of the instance on the About page" }, %{ key: :showInstanceSpecificPanel, @@ -1310,7 +1319,7 @@ key: :mascots, type: {:keyword, :map}, description: - "Keyword of mascots, each element must contain both an url and a mime_type key", + "Keyword of mascots, each element must contain both an URL and a mime_type key", suggestions: [ pleroma_fox_tan: %{ url: "/images/pleroma-fox-tan-smol.png", @@ -1334,7 +1343,7 @@ %{ key: :default_user_avatar, type: :string, - description: "URL of the default user avatar.", + description: "URL of the default user avatar", suggestions: ["/images/avi.png"] } ] @@ -1344,7 +1353,7 @@ key: :manifest, type: :group, description: - "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE", + "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE.", children: [ %{ key: :icons, @@ -1381,7 +1390,7 @@ %{ group: :pleroma, key: :mrf_simple, - label: "MRF simple", + label: "MRF Simple", type: :group, description: "Message Rewrite Facility", children: [ @@ -1461,7 +1470,7 @@ %{ group: :pleroma, key: :mrf_subchain, - label: "MRF subchain", + label: "MRF Subchain", type: :group, description: "This policy processes messages through an alternate pipeline when a given message matches certain criteria." <> @@ -1484,7 +1493,7 @@ key: :mrf_rejectnonpublic, description: "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", - label: "MRF reject non public", + label: "MRF Reject Non Public", type: :group, children: [ %{ @@ -1503,7 +1512,7 @@ %{ group: :pleroma, key: :mrf_hellthread, - label: "MRF hellthread", + label: "MRF Hellthread", type: :group, description: "Block messages with too much mentions", children: [ @@ -1527,7 +1536,7 @@ %{ group: :pleroma, key: :mrf_keyword, - label: "MRF keyword", + label: "MRF Keyword", type: :group, description: "Reject or Word-Replace messages with a keyword or regex", children: [ @@ -1557,14 +1566,14 @@ %{ group: :pleroma, key: :mrf_mention, - label: "MRF mention", + label: "MRF Mention", type: :group, description: "Block messages which mention a user", children: [ %{ key: :actors, type: {:list, :string}, - description: "A list of actors for which any post mentioning them will be dropped.", + description: "A list of actors for which any post mentioning them will be dropped", suggestions: ["actor1", "actor2"] } ] @@ -1572,7 +1581,7 @@ %{ group: :pleroma, key: :mrf_vocabulary, - label: "MRF vocabulary", + label: "MRF Vocabulary", type: :group, description: "Filter messages which belong to certain activity vocabularies", children: [ @@ -1580,14 +1589,14 @@ key: :accept, type: {:list, :string}, description: - "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted", + "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.", suggestions: ["Create", "Follow", "Mention", "Announce", "Like"] }, %{ key: :reject, type: {:list, :string}, description: - "A list of ActivityStreams terms to reject. If empty, no messages are rejected", + "A list of ActivityStreams terms to reject. If empty, no messages are rejected.", suggestions: ["Create", "Follow", "Mention", "Announce", "Like"] } ] @@ -1617,6 +1626,7 @@ }, %{ key: :base_url, + label: "Base URL", type: :string, description: "The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.", @@ -1649,6 +1659,7 @@ }, %{ key: :proxy_opts, + label: "Proxy Options", type: :keyword, description: "Options for Pleroma.ReverseProxy", suggestions: [ @@ -1676,6 +1687,7 @@ }, %{ key: :http, + label: "HTTP", type: :keyword, description: "HTTP options", children: [ @@ -1771,6 +1783,7 @@ }, %{ key: :ip, + label: "IP", type: :tuple, description: "IP address to bind to", suggestions: [{0, 0, 0, 0}] @@ -1784,7 +1797,7 @@ %{ key: :dstport, type: :integer, - description: "Port advertised in urls (optional, defaults to port)", + description: "Port advertised in URLs (optional, defaults to port)", suggestions: [9999] } ] @@ -1792,6 +1805,7 @@ %{ group: :pleroma, key: :activitypub, + label: "ActivityPub", type: :group, description: "ActivityPub-related settings", children: [ @@ -1814,7 +1828,7 @@ key: :note_replies_output_limit, type: :integer, description: - "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)." + "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)" }, %{ key: :follow_handshake_timeout, @@ -1827,6 +1841,7 @@ %{ group: :pleroma, key: :http_security, + label: "HTTP security", type: :group, description: "HTTP security settings", children: [ @@ -1865,7 +1880,7 @@ key: :report_uri, label: "Report URI", type: :string, - description: "Adds the specified url to report-uri and report-to group in CSP header", + description: "Adds the specified URL to report-uri and report-to group in CSP header", suggestions: ["https://example.com/report-uri"] } ] @@ -1873,9 +1888,10 @@ %{ group: :web_push_encryption, key: :vapid_details, + label: "Vapid Details", type: :group, description: - "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it", + "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it.", children: [ %{ key: :subject, @@ -1942,6 +1958,7 @@ }, %{ group: :pleroma, + label: "Pleroma Admin Token", type: :group, description: "Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the `admin_token` parameter", @@ -1949,7 +1966,7 @@ %{ key: :admin_token, type: :string, - description: "Token", + description: "Admin token", suggestions: ["We recommend a secure random string or UUID"] } ] @@ -2114,24 +2131,24 @@ key: :rich_media, type: :group, description: - "If enabled the instance will parse metadata from attached links to generate link previews.", + "If enabled the instance will parse metadata from attached links to generate link previews", children: [ %{ key: :enabled, type: :boolean, - description: "Enables RichMedia parsing of URLs." + description: "Enables RichMedia parsing of URLs" }, %{ key: :ignore_hosts, type: {:list, :string}, - description: "List of hosts which will be ignored by the metadata parser.", + description: "List of hosts which will be ignored by the metadata parser", suggestions: ["accounts.google.com", "xss.website"] }, %{ key: :ignore_tld, label: "Ignore TLD", type: {:list, :string}, - description: "List TLDs (top-level domains) which will ignore for parse metadata.", + description: "List TLDs (top-level domains) which will ignore for parse metadata", suggestions: ["local", "localdomain", "lan"] }, %{ @@ -2159,31 +2176,32 @@ %{ group: :auto_linker, key: :opts, + label: "Auto Linker", type: :group, description: "Configuration for the auto_linker library", children: [ %{ key: :class, type: [:string, false], - description: "Specify the class to be added to the generated link. Disable to clear", + description: "Specify the class to be added to the generated link. Disable to clear.", suggestions: ["auto-linker", false] }, %{ key: :rel, type: [:string, false], - description: "Override the rel attribute. Disable to clear", + description: "Override the rel attribute. Disable to clear.", suggestions: ["ugc", "noopener noreferrer", false] }, %{ key: :new_window, type: :boolean, - description: "Link urls will open in new window/tab" + description: "Link URLs will open in new window/tab" }, %{ key: :truncate, type: [:integer, false], description: - "Set to a number to truncate urls longer then the number. Truncated urls will end in `..`", + "Set to a number to truncate URLs longer then the number. Truncated URLs will end in `..`", suggestions: [15, false] }, %{ @@ -2194,7 +2212,7 @@ %{ key: :extra, type: :boolean, - description: "Link urls with rarely used schemes (magnet, ipfs, irc, etc.)" + description: "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" } ] }, @@ -2240,6 +2258,7 @@ }, %{ group: :pleroma, + label: "Pleroma Authenticator", type: :group, description: "Authenticator", children: [ @@ -2253,6 +2272,7 @@ %{ group: :pleroma, key: :ldap, + label: "LDAP", type: :group, description: "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password" <> @@ -2339,6 +2359,7 @@ }, %{ key: :uid, + label: "UID", type: :string, description: "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"", @@ -2354,11 +2375,12 @@ children: [ %{ key: :enforce_oauth_admin_scope_usage, + label: "Enforce OAuth admin scope usage", type: :boolean, description: "OAuth admin scope requirement toggle. " <> "If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token " <> - "(client app must support admin scopes). If disabled and token doesn't have admin scope(s)," <> + "(client app must support admin scopes). If disabled and token doesn't have admin scope(s), " <> "`is_admin` user flag grants access to admin-specific actions." }, %{ @@ -2370,6 +2392,7 @@ }, %{ key: :oauth_consumer_template, + label: "OAuth consumer template", type: :string, description: "OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to" <> @@ -2378,6 +2401,7 @@ }, %{ key: :oauth_consumer_strategies, + label: "OAuth consumer strategies", type: {:list, :string}, description: "The list of enabled OAuth consumer strategies. By default it's set by OAUTH_CONSUMER_STRATEGIES environment variable." <> @@ -2506,7 +2530,7 @@ %{ key: :enabled, type: :boolean, - description: "enables new users admin digest email when `true`", + description: "Enables new users admin digest email when `true`", suggestions: [false] } ] @@ -2514,6 +2538,7 @@ %{ group: :pleroma, key: :oauth2, + label: "OAuth2", type: :group, description: "Configure OAuth 2 provider capabilities", children: [ @@ -2532,7 +2557,7 @@ %{ key: :clean_expired_tokens, type: :boolean, - description: "Enable a background job to clean expired oauth tokens. Default: disabled." + description: "Enable a background job to clean expired OAuth tokens. Default: disabled." } ] }, @@ -2616,6 +2641,7 @@ }, %{ key: :relation_id_action, + label: "Relation ID action", type: [:tuple, {:list, :tuple}], description: "For actions on relation with a specific user (follow, unfollow)", suggestions: [{1000, 10}, [{10_000, 10}, {10_000, 50}]] @@ -2629,6 +2655,7 @@ }, %{ key: :status_id_action, + label: "Status ID action", type: [:tuple, {:list, :tuple}], description: "For fav / unfav or reblog / unreblog actions on the same status by the same user", @@ -2644,6 +2671,7 @@ }, %{ group: :esshd, + label: "ESSHD", type: :group, description: "Before enabling this you must add :esshd to mix.exs as one of the extra_applications " <> @@ -2682,8 +2710,9 @@ }, %{ group: :mime, + label: "Mime Types", type: :group, - description: "Mime types", + description: "Mime Types settings", children: [ %{ key: :types, @@ -2742,6 +2771,7 @@ %{ group: :pleroma, key: :http, + label: "HTTP", type: :group, description: "HTTP settings", children: [ @@ -2790,6 +2820,7 @@ %{ group: :pleroma, key: :markup, + label: "Markup Settings", type: :group, children: [ %{ @@ -2831,7 +2862,7 @@ %{ group: :pleroma, key: :mrf_normalize_markup, - label: "MRF normalize markup", + label: "MRF Normalize Markup", description: "MRF NormalizeMarkup settings. Scrub configured hypertext markup.", type: :group, children: [ @@ -2887,6 +2918,7 @@ }, %{ group: :cors_plug, + label: "CORS plug config", type: :group, children: [ %{ @@ -2959,6 +2991,7 @@ %{ group: :pleroma, key: :web_cache_ttl, + label: "Web cache TTL", type: :group, description: "The expiration time for the web responses cache. Values should be in milliseconds or `nil` to disable expiration.", @@ -2981,9 +3014,10 @@ %{ group: :pleroma, key: :static_fe, + label: "Static FE", type: :group, description: - "Render profiles and posts using server-generated HTML that is viewable without using JavaScript.", + "Render profiles and posts using server-generated HTML that is viewable without using JavaScript", children: [ %{ key: :enabled, @@ -3001,18 +3035,18 @@ %{ key: :post_title, type: :map, - description: "Configure title rendering.", + description: "Configure title rendering", children: [ %{ key: :max_length, type: :integer, - description: "Maximum number of characters before truncating title.", + description: "Maximum number of characters before truncating title", suggestions: [100] }, %{ key: :omission, type: :string, - description: "Replacement which will be used after truncating string.", + description: "Replacement which will be used after truncating string", suggestions: ["..."] } ] @@ -3022,6 +3056,7 @@ %{ group: :pleroma, key: :mrf_object_age, + label: "MRF Object Age", type: :group, description: "Rejects or delists posts based on their age when received.", children: [ @@ -3064,13 +3099,13 @@ %{ key: :workers, type: :integer, - description: "Number of workers to send notifications.", + description: "Number of workers to send notifications", suggestions: [3] }, %{ key: :overflow_workers, type: :integer, - description: "Maximum number of workers created if pool is empty.", + description: "Maximum number of workers created if pool is empty", suggestions: [2] } ] From 691742e62d36831d31ba5623bb0fc5f91d77960a Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 08:51:56 +0000 Subject: [PATCH 43/57] Revert "Merge branch 'avatar-removing' into 'develop'" This reverts merge request !2701 --- .../update_credentials_test.exs | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index 31f0edf97..f67d294ba 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -216,20 +216,10 @@ test "updates the user's avatar", %{user: user, conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + conn = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["avatar"] != User.avatar_url(user) - - # Also removes it - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"avatar" => nil}) - - assert user_response = json_response_and_validate_schema(res, 200) - assert user_response["avatar"] == User.avatar_url(user) end test "updates the user's banner", %{user: user, conn: conn} do @@ -239,21 +229,10 @@ test "updates the user's banner", %{user: user, conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"header" => new_header}) + conn = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["header"] != User.banner_url(user) - - # Also removes it - - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{"header" => nil}) - - assert user_response = json_response_and_validate_schema(res, 200) - assert user_response["header"] == User.banner_url(user) end test "updates the user's background", %{conn: conn} do @@ -263,25 +242,13 @@ test "updates the user's background", %{conn: conn} do filename: "an_image.jpg" } - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{ + conn = + patch(conn, "/api/v1/accounts/update_credentials", %{ "pleroma_background_image" => new_header }) - assert user_response = json_response_and_validate_schema(res, 200) + assert user_response = json_response_and_validate_schema(conn, 200) assert user_response["pleroma"]["background_image"] - - # Also removes it - - res = - conn - |> patch("/api/v1/accounts/update_credentials", %{ - "pleroma_background_image" => nil - }) - - assert user_response = json_response_and_validate_schema(res, 200) - refute user_response["pleroma"]["background_image"] end test "requires 'write:accounts' permission" do From 8ae572d5aef1fcad87522ae00b431135345dcd73 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 11:47:45 +0200 Subject: [PATCH 44/57] Fixtures: Pretty print. --- .../baptiste.gelex.xyz-article.json | 228 +++++++++++++++++- .../fixtures/tesla_mock/peertube.moe-vid.json | 188 ++++++++++++++- 2 files changed, 414 insertions(+), 2 deletions(-) diff --git a/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json b/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json index 3f3f0f4fb..b76ba96a5 100644 --- a/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json +++ b/test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json @@ -1 +1,227 @@ -{"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","atomUri":"ostatus:atomUri","conversation":"ostatus:conversation","featured":"toot:featured","focalPoint":{"@container":"@list","@id":"toot:focalPoint"},"inReplyToAtomUri":"ostatus:inReplyToAtomUri","manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":"as:movedTo","ostatus":"http://ostatus.org#","sensitive":"as:sensitive","toot":"http://joinmastodon.org/ns#"}],"attributedTo":["https://baptiste.gelez.xyz/@/BaptisteGelez"],"cc":[],"content":"

It has been one month since the last \"This Month in Plume\" article, so it is time for another edition of our monthly changelog!

\n

Bug Fixes and Security

\n

Let's start with the hidden, but still (very) important changes: bug fixes and security patches.

\n

First of all, @Trinity protected us against two major security flaws, called XSS and CSRF. The first one allows the attacker to run malicious code if you visit a Plume page where some of their personal data is present. The second one lets them post data with your Plume account by visiting one of their own website. It is two very common attack, and it is great we are now protected against them!

\n

The other big change in this area, is that we are now validating the data you are sending before doing anything with it. It means that, for instance, you will no longer be able to register with an empty username and to break everything.

\n

On the federation side, many issues were reported by @kaniini and redmatrix (respectively contributing to Pleroma and Hubzilla). By fixing some of them, we made it possible to federate Plume articles to Pleroma!

\n

@Trinity hopefully noticed that there was a bug in our password check code: we were not checking that your password was correct, but only that the verification process went without errors. Concretely, it means that you could login to any account with any password. I wrote this part of the code when I was still the only contributor to the project, so nobody could review my work. We will now be trying to check every change, especially when it deals with critical parts of Plume, to avoid similar issues in the future, and we I'm really sorry this happened (even if I think nobody exploited it).

\n

Zanfib and stephenburgess8 also commited some small bugfixes, improving the general experience.

\n

New Features

\n

Let's now talk about the features that we introduced during this month.

\n

One of the most easy to spot is the redesign of Plume, made by @Madeorsk. I personaly love what he did, it really improved the readability and gave Plume a bit more of identity than the previous design. And he is still improving it.

\n

We also enabled Mardown in comment, to let you write more structured and nicely formatted responses.

\n

As you may have noticed, I have used mentions in this post. Indeed, it is now possible to mention someone in your articles or in comments. It works exactly the same way as in other apps, and you should receive a notification if someone mentionned you.

\n

A dashboard to manage your blogs has also been introduced. In the future it may be used to manage your drafts, and eventually to show some statistics. The goal is to have a more specific homepage for authors.

\n

The federation with other ActivityPub softwares, like Mastodon or Pleroma is starting to work quite well, but the federation between Plume instances is far from being complete. However, we started to work on it, and it is now possible to view a distant user profile or blog from your instance, even if only basic informations are fetched yet (the articles are not loaded for instance).

\n

Another new feature that may not be visible for everyone, is the new NodeInfo endpoint. NodeInfo is a protocol allowing to get informations about a specific federated instance (whatever software it runs). It means that Plume instances can now be listed on sites like fediverse.network.

\n

Maybe you wanted to host a Plume instance, but you don't like long install process during which you are just copy/pasting commands that you don't really understand from the documentation. That's why we introduced a setup script: the first you'll launch Plume, it will ask you a few questions and automatically setup your instance in a few minutes. We hope that this feature will help to host small instances, run by non-professional adminsys. You can see a demo of this tool on asciinema.

\n

Last but not least, Plume is now translatable! It is already available in English, French, Polish (thanks to @m4sk1n)) and German (thanks to bitkeks). If your browser is configured to display pages in these languages, you should normally see the interface in your language. And if your language is not present yet, feel free to add your translation.

\n

Other Changes

\n

We also improved the code a lot. We tried to separate each part as much as possible, making it easier to re-use for other projects. For instance, our database code is now isolated from the rest of the app, which means it will be easier to make import tools from other blogging engines. Some parts of the code are even shared with another project, Aardwolf a federated Facebook alternative. For instance, both of our projects use the same internationalization code, and once Aardwolf will implement federation, this part of the code will probably be shared too. Since the WebFinger module (used to find new users and blogs) and the CSRF protection code (see the \"Bug fixes and Security\" section) have been isolated in their own modules, they may be shared by both projects too.

\n

We also worked a lot on documentation. We now have articles explaining how to setup your Plume instance on various operating systems, but also documenting the translation process. I want to thank BanjoFox (who imported some documentation from their project, Aardwolf, as the setup is quite similar), Kushal and @gled@plume.mastodon.host for working on this.

\n

As you can see, there were many changes this month, but there still a lot to do. Your help will of course be welcome. If you want to contribute to the code, translate Plume in your language, write some documentation, or anything else (or even if you're just curious about the project), feel free to join our Matrix room: #plume:disroot.org. Otherwise, as BanjoFox said on the Aardwolf Team Mastodon account, talking about the project around you is one of the easiest way to help.

\n","id":"https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/","likes":null,"name":"This Month in Plume: June 2018","published":"2018-07-10T20:16:24.087622Z","shares":null,"source":null,"tag":[{"href":"https://baptiste.gelez.xyz/@/Trinity","name":"@Trinity","type":"Mention"},{"href":"https://baptiste.gelez.xyz/@/kaniini/","name":"@kaniini","type":"Mention"},{"href":"https://baptiste.gelez.xyz/@/Trinity","name":"@Trinity","type":"Mention"}],"to":["https://unixcorn.xyz/users/Bat","https://mastodon.host/users/federationbot","https://social.tcit.fr/users/tcit","https://framapiaf.org/users/qwerty","https://mastodon.social/users/lthms","https://eldritch.cafe/users/Nausicaa","https://imaginair.es/users/Elanndelh","https://framapiaf.org/users/Drulac","https://mastodon.partipirate.org/users/NicolasConstant","https://aleph.land/users/Madeorsk","https://maly.io/users/Troll","https://hostux.social/users/superjey","https://mamot.fr/users/Phigger","https://mastodon.social/users/wakest","https://social.coop/users/wakest","https://unixcorn.xyz/users/Ce_lo","https://social.art-software.fr/users/Electron","https://framapiaf.org/users/Quenti","https://toot.plus.yt/users/Djyp","https://mastodon.social/users/brainblasted","https://social.mochi.academy/users/Ambraven","https://social.hacktivis.me/users/lanodan","https://mastodon.eliotberriot.com/users/eliotberriot","https://edolas.world/users/0x1C3B00DA","https://toot.cafe/users/zack","https://manowar.social/users/zatnosk","https://eldritch.cafe/users/fluffy","https://mastodon.social/users/david_ross","https://kosmos.social/users/xiroux","https://mastodon.art/users/EmergencyBattle","https://mastodon.social/users/trwnh","https://octodon.social/users/pybyte","https://anticapitalist.party/users/Trinity","https://mstdn.mx/users/xavavu","https://baptiste.gelez.xyz/@/m4sk1n","https://eldritch.cafe/users/milia","https://mastodon.zaclys.com/users/arx","https://toot.cafe/users/sivy","https://mastodon.social/users/ortegacmanuel","https://mastodon.observer/users/stephen","https://octodon.social/users/chloe","https://unixcorn.xyz/users/AmauryPi","https://cybre.space/users/rick_777","https://mastodon.social/users/wezm","https://baptiste.gelez.xyz/@/idlesong","https://mamot.fr/users/dr4Ke","https://imaginair.es/users/Phigger","https://mamot.fr/users/dlink","https://anticapitalist.party/users/a000d4f7a91939d0e71df1646d7a48","https://framapiaf.org/users/PhieLaidMignon","https://mastodon.social/users/y6nH","https://crazynoisybizarre.town/users/FederationBot","https://social.weho.st/users/dvn","https://mastodon.art/users/Wolthera","https://diaspodon.fr/users/dada","https://pachyder.me/users/Lanza","https://mastodon.xyz/users/ag","https://aleph.land/users/yahananxie","https://mstdn.io/users/chablis_social","https://mastodon.gougere.fr/users/fabien","https://functional.cafe/users/otini","https://social.coop/users/bhaugen","https://octodon.social/users/donblanco","https://chaos.social/users/astro","https://pachyder.me/users/sibear","https://mamot.fr/users/yohann","https://social.wxcafe.net/users/Bat","https://mastodon.social/users/dansup","https://chaos.social/users/juh","https://scifi.fyi/users/paeneultima","https://hostux.social/users/Deuchnord","https://mstdn.fr/users/taziden","https://mamot.fr/users/PifyZ","https://mastodon.social/users/plantabaja","https://mastodon.social/users/gitzgrog","https://mastodon.social/users/Syluban","https://masto.pt/users/eloisa","https://pleroma.soykaf.com/users/notclacke","https://mastodon.social/users/SiegfriedEhret","https://writing.exchange/users/write_as","https://mstdn.io/users/shellkr","https://mastodon.uy/users/jorge","https://mastodon.technology/users/bobstechsite","https://mastodon.social/users/hinterwaeldler","https://mastodon.xyz/users/mgdelacroix","https://mastodon.cloud/users/jjatria","https://baptiste.gelez.xyz/@/Jade/","https://edolas.world/users/pfm","https://mstdn.io/users/jort","https://mastodon.social/users/andreipetcu","https://mastodon.technology/users/0xf00fc7c8","https://mastodon.social/users/khanate","https://mastodon.technology/users/francois","https://mastodon.social/users/glherrmann","https://mastodon.host/users/gled","https://social.holdmybeer.solutions/users/kemonine","https://scholar.social/users/bgcarlisle","https://mastodon.social/users/oldgun","https://baptiste.gelez.xyz/@/snoe/","https://mastodon.at/users/switchingsocial","https://scifi.fyi/users/BrokenBiscuit","https://dev.glitch.social/users/hoodie","https://todon.nl/users/paulfree14","https://mastodon.social/users/aadilayub","https://social.fsck.club/users/anarchosaurus","https://mastodonten.de/users/GiantG","https://mastodon.technology/users/cj","https://cybre.space/users/sam","https://layer8.space/users/silkevicious","https://mastodon.xyz/users/Jimmyrwx","https://fosstodon.org/users/danyspin97","https://mstdn.io/users/cristhyano","https://mastodon.social/users/vanyok","https://hulvr.com/users/rook","https://niu.moe/users/Lucifer","https://mamot.fr/users/Thibaut","https://mastodont.cat/users/bgta","https://mstdn.io/users/hontoni","https://niu.moe/users/lionirdeadman","https://functional.cafe/users/phoe","https://mastodon.social/users/toontoet","https://mastodon.social/users/danipozo","https://scholar.social/users/robertson","https://mastodon.social/users/aldatsa","https://elekk.xyz/users/maloki","https://kitty.town/users/nursemchurt","https://neigh.horse/users/commagray","https://mastodon.social/users/hirojin","https://mastodon.xyz/users/mareklach","https://chaos.social/users/benthor","https://mastodon.social/users/djperreault","https://mastodon.art/users/eylul","https://mastodon.opportunis.me/users/bob","https://tootplanet.space/users/Shutsumon","https://toot.cat/users/woozle","https://mastodon.social/users/StephenLB","https://sleeping.town/users/oct2pus","https://mastodon.indie.host/users/stragu","https://social.coop/users/gilscottfitzgerald","https://icosahedron.website/users/joeld","https://mastodon.social/users/hellion","https://cybre.space/users/cooler_ranch","https://mastodon.social/users/kelsonv","https://mastodon.lat/users/scalpol","https://writing.exchange/users/hnb","https://hex.bz/users/Horst","https://mastodon.social/users/weddle","https://maly.io/users/sonya","https://social.coop/users/medusa","https://mastodon.social/users/DystopianK","https://mstdn.io/users/d_io","https://fosstodon.org/users/brandon","https://fosstodon.org/users/Cando","https://mastodon.host/users/panina","https://floss.social/users/tuxether","https://social.tchncs.de/users/suitbertmonz","https://mastodon.social/users/jrt","https://mastodon.social/users/sirikon","https://mstdn.io/users/yabirgb","https://mastodon.cloud/users/FerdiZ","https://mastodon.social/users/carlchenet","https://social.polonkai.eu/users/calendar_social","https://social.polonkai.eu/users/gergely","https://mastodon.social/users/Jelv","https://mastodon.social/users/srinicame","https://cybre.space/users/mastoabed","https://mastodon.social/users/tagomago","https://lgbt.io/users/bootblackCub","https://niu.moe/users/Nopplyy","https://mastodon.social/users/bpugh","https://www.w3.org/ns/activitystreams#Public"],"type":"Article","uploadMedia":null,"url":"https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/"} \ No newline at end of file +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "Emoji" : "toot:Emoji", + "Hashtag" : "as:Hashtag", + "atomUri" : "ostatus:atomUri", + "conversation" : "ostatus:conversation", + "featured" : "toot:featured", + "focalPoint" : { + "@container" : "@list", + "@id" : "toot:focalPoint" + }, + "inReplyToAtomUri" : "ostatus:inReplyToAtomUri", + "manuallyApprovesFollowers" : "as:manuallyApprovesFollowers", + "movedTo" : "as:movedTo", + "ostatus" : "http://ostatus.org#", + "sensitive" : "as:sensitive", + "toot" : "http://joinmastodon.org/ns#" + } + ], + "attributedTo" : [ + "https://baptiste.gelez.xyz/@/BaptisteGelez" + ], + "cc" : [], + "content" : "

It has been one month since the last \"This Month in Plume\" article, so it is time for another edition of our monthly changelog!

\n

Bug Fixes and Security

\n

Let's start with the hidden, but still (very) important changes: bug fixes and security patches.

\n

First of all, @Trinity protected us against two major security flaws, called XSS and CSRF. The first one allows the attacker to run malicious code if you visit a Plume page where some of their personal data is present. The second one lets them post data with your Plume account by visiting one of their own website. It is two very common attack, and it is great we are now protected against them!

\n

The other big change in this area, is that we are now validating the data you are sending before doing anything with it. It means that, for instance, you will no longer be able to register with an empty username and to break everything.

\n

On the federation side, many issues were reported by @kaniini and redmatrix (respectively contributing to Pleroma and Hubzilla). By fixing some of them, we made it possible to federate Plume articles to Pleroma!

\n

@Trinity hopefully noticed that there was a bug in our password check code: we were not checking that your password was correct, but only that the verification process went without errors. Concretely, it means that you could login to any account with any password. I wrote this part of the code when I was still the only contributor to the project, so nobody could review my work. We will now be trying to check every change, especially when it deals with critical parts of Plume, to avoid similar issues in the future, and we I'm really sorry this happened (even if I think nobody exploited it).

\n

Zanfib and stephenburgess8 also commited some small bugfixes, improving the general experience.

\n

New Features

\n

Let's now talk about the features that we introduced during this month.

\n

One of the most easy to spot is the redesign of Plume, made by @Madeorsk. I personaly love what he did, it really improved the readability and gave Plume a bit more of identity than the previous design. And he is still improving it.

\n

We also enabled Mardown in comment, to let you write more structured and nicely formatted responses.

\n

As you may have noticed, I have used mentions in this post. Indeed, it is now possible to mention someone in your articles or in comments. It works exactly the same way as in other apps, and you should receive a notification if someone mentionned you.

\n

A dashboard to manage your blogs has also been introduced. In the future it may be used to manage your drafts, and eventually to show some statistics. The goal is to have a more specific homepage for authors.

\n

The federation with other ActivityPub softwares, like Mastodon or Pleroma is starting to work quite well, but the federation between Plume instances is far from being complete. However, we started to work on it, and it is now possible to view a distant user profile or blog from your instance, even if only basic informations are fetched yet (the articles are not loaded for instance).

\n

Another new feature that may not be visible for everyone, is the new NodeInfo endpoint. NodeInfo is a protocol allowing to get informations about a specific federated instance (whatever software it runs). It means that Plume instances can now be listed on sites like fediverse.network.

\n

Maybe you wanted to host a Plume instance, but you don't like long install process during which you are just copy/pasting commands that you don't really understand from the documentation. That's why we introduced a setup script: the first you'll launch Plume, it will ask you a few questions and automatically setup your instance in a few minutes. We hope that this feature will help to host small instances, run by non-professional adminsys. You can see a demo of this tool on asciinema.

\n

Last but not least, Plume is now translatable! It is already available in English, French, Polish (thanks to @m4sk1n)) and German (thanks to bitkeks). If your browser is configured to display pages in these languages, you should normally see the interface in your language. And if your language is not present yet, feel free to add your translation.

\n

Other Changes

\n

We also improved the code a lot. We tried to separate each part as much as possible, making it easier to re-use for other projects. For instance, our database code is now isolated from the rest of the app, which means it will be easier to make import tools from other blogging engines. Some parts of the code are even shared with another project, Aardwolf a federated Facebook alternative. For instance, both of our projects use the same internationalization code, and once Aardwolf will implement federation, this part of the code will probably be shared too. Since the WebFinger module (used to find new users and blogs) and the CSRF protection code (see the \"Bug fixes and Security\" section) have been isolated in their own modules, they may be shared by both projects too.

\n

We also worked a lot on documentation. We now have articles explaining how to setup your Plume instance on various operating systems, but also documenting the translation process. I want to thank BanjoFox (who imported some documentation from their project, Aardwolf, as the setup is quite similar), Kushal and @gled@plume.mastodon.host for working on this.

\n

As you can see, there were many changes this month, but there still a lot to do. Your help will of course be welcome. If you want to contribute to the code, translate Plume in your language, write some documentation, or anything else (or even if you're just curious about the project), feel free to join our Matrix room: #plume:disroot.org. Otherwise, as BanjoFox said on the Aardwolf Team Mastodon account, talking about the project around you is one of the easiest way to help.

\n", + "id" : "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/", + "likes" : null, + "name" : "This Month in Plume: June 2018", + "published" : "2018-07-10T20:16:24.087622Z", + "shares" : null, + "source" : null, + "tag" : [ + { + "href" : "https://baptiste.gelez.xyz/@/Trinity", + "name" : "@Trinity", + "type" : "Mention" + }, + { + "href" : "https://baptiste.gelez.xyz/@/kaniini/", + "name" : "@kaniini", + "type" : "Mention" + }, + { + "href" : "https://baptiste.gelez.xyz/@/Trinity", + "name" : "@Trinity", + "type" : "Mention" + } + ], + "to" : [ + "https://unixcorn.xyz/users/Bat", + "https://mastodon.host/users/federationbot", + "https://social.tcit.fr/users/tcit", + "https://framapiaf.org/users/qwerty", + "https://mastodon.social/users/lthms", + "https://eldritch.cafe/users/Nausicaa", + "https://imaginair.es/users/Elanndelh", + "https://framapiaf.org/users/Drulac", + "https://mastodon.partipirate.org/users/NicolasConstant", + "https://aleph.land/users/Madeorsk", + "https://maly.io/users/Troll", + "https://hostux.social/users/superjey", + "https://mamot.fr/users/Phigger", + "https://mastodon.social/users/wakest", + "https://social.coop/users/wakest", + "https://unixcorn.xyz/users/Ce_lo", + "https://social.art-software.fr/users/Electron", + "https://framapiaf.org/users/Quenti", + "https://toot.plus.yt/users/Djyp", + "https://mastodon.social/users/brainblasted", + "https://social.mochi.academy/users/Ambraven", + "https://social.hacktivis.me/users/lanodan", + "https://mastodon.eliotberriot.com/users/eliotberriot", + "https://edolas.world/users/0x1C3B00DA", + "https://toot.cafe/users/zack", + "https://manowar.social/users/zatnosk", + "https://eldritch.cafe/users/fluffy", + "https://mastodon.social/users/david_ross", + "https://kosmos.social/users/xiroux", + "https://mastodon.art/users/EmergencyBattle", + "https://mastodon.social/users/trwnh", + "https://octodon.social/users/pybyte", + "https://anticapitalist.party/users/Trinity", + "https://mstdn.mx/users/xavavu", + "https://baptiste.gelez.xyz/@/m4sk1n", + "https://eldritch.cafe/users/milia", + "https://mastodon.zaclys.com/users/arx", + "https://toot.cafe/users/sivy", + "https://mastodon.social/users/ortegacmanuel", + "https://mastodon.observer/users/stephen", + "https://octodon.social/users/chloe", + "https://unixcorn.xyz/users/AmauryPi", + "https://cybre.space/users/rick_777", + "https://mastodon.social/users/wezm", + "https://baptiste.gelez.xyz/@/idlesong", + "https://mamot.fr/users/dr4Ke", + "https://imaginair.es/users/Phigger", + "https://mamot.fr/users/dlink", + "https://anticapitalist.party/users/a000d4f7a91939d0e71df1646d7a48", + "https://framapiaf.org/users/PhieLaidMignon", + "https://mastodon.social/users/y6nH", + "https://crazynoisybizarre.town/users/FederationBot", + "https://social.weho.st/users/dvn", + "https://mastodon.art/users/Wolthera", + "https://diaspodon.fr/users/dada", + "https://pachyder.me/users/Lanza", + "https://mastodon.xyz/users/ag", + "https://aleph.land/users/yahananxie", + "https://mstdn.io/users/chablis_social", + "https://mastodon.gougere.fr/users/fabien", + "https://functional.cafe/users/otini", + "https://social.coop/users/bhaugen", + "https://octodon.social/users/donblanco", + "https://chaos.social/users/astro", + "https://pachyder.me/users/sibear", + "https://mamot.fr/users/yohann", + "https://social.wxcafe.net/users/Bat", + "https://mastodon.social/users/dansup", + "https://chaos.social/users/juh", + "https://scifi.fyi/users/paeneultima", + "https://hostux.social/users/Deuchnord", + "https://mstdn.fr/users/taziden", + "https://mamot.fr/users/PifyZ", + "https://mastodon.social/users/plantabaja", + "https://mastodon.social/users/gitzgrog", + "https://mastodon.social/users/Syluban", + "https://masto.pt/users/eloisa", + "https://pleroma.soykaf.com/users/notclacke", + "https://mastodon.social/users/SiegfriedEhret", + "https://writing.exchange/users/write_as", + "https://mstdn.io/users/shellkr", + "https://mastodon.uy/users/jorge", + "https://mastodon.technology/users/bobstechsite", + "https://mastodon.social/users/hinterwaeldler", + "https://mastodon.xyz/users/mgdelacroix", + "https://mastodon.cloud/users/jjatria", + "https://baptiste.gelez.xyz/@/Jade/", + "https://edolas.world/users/pfm", + "https://mstdn.io/users/jort", + "https://mastodon.social/users/andreipetcu", + "https://mastodon.technology/users/0xf00fc7c8", + "https://mastodon.social/users/khanate", + "https://mastodon.technology/users/francois", + "https://mastodon.social/users/glherrmann", + "https://mastodon.host/users/gled", + "https://social.holdmybeer.solutions/users/kemonine", + "https://scholar.social/users/bgcarlisle", + "https://mastodon.social/users/oldgun", + "https://baptiste.gelez.xyz/@/snoe/", + "https://mastodon.at/users/switchingsocial", + "https://scifi.fyi/users/BrokenBiscuit", + "https://dev.glitch.social/users/hoodie", + "https://todon.nl/users/paulfree14", + "https://mastodon.social/users/aadilayub", + "https://social.fsck.club/users/anarchosaurus", + "https://mastodonten.de/users/GiantG", + "https://mastodon.technology/users/cj", + "https://cybre.space/users/sam", + "https://layer8.space/users/silkevicious", + "https://mastodon.xyz/users/Jimmyrwx", + "https://fosstodon.org/users/danyspin97", + "https://mstdn.io/users/cristhyano", + "https://mastodon.social/users/vanyok", + "https://hulvr.com/users/rook", + "https://niu.moe/users/Lucifer", + "https://mamot.fr/users/Thibaut", + "https://mastodont.cat/users/bgta", + "https://mstdn.io/users/hontoni", + "https://niu.moe/users/lionirdeadman", + "https://functional.cafe/users/phoe", + "https://mastodon.social/users/toontoet", + "https://mastodon.social/users/danipozo", + "https://scholar.social/users/robertson", + "https://mastodon.social/users/aldatsa", + "https://elekk.xyz/users/maloki", + "https://kitty.town/users/nursemchurt", + "https://neigh.horse/users/commagray", + "https://mastodon.social/users/hirojin", + "https://mastodon.xyz/users/mareklach", + "https://chaos.social/users/benthor", + "https://mastodon.social/users/djperreault", + "https://mastodon.art/users/eylul", + "https://mastodon.opportunis.me/users/bob", + "https://tootplanet.space/users/Shutsumon", + "https://toot.cat/users/woozle", + "https://mastodon.social/users/StephenLB", + "https://sleeping.town/users/oct2pus", + "https://mastodon.indie.host/users/stragu", + "https://social.coop/users/gilscottfitzgerald", + "https://icosahedron.website/users/joeld", + "https://mastodon.social/users/hellion", + "https://cybre.space/users/cooler_ranch", + "https://mastodon.social/users/kelsonv", + "https://mastodon.lat/users/scalpol", + "https://writing.exchange/users/hnb", + "https://hex.bz/users/Horst", + "https://mastodon.social/users/weddle", + "https://maly.io/users/sonya", + "https://social.coop/users/medusa", + "https://mastodon.social/users/DystopianK", + "https://mstdn.io/users/d_io", + "https://fosstodon.org/users/brandon", + "https://fosstodon.org/users/Cando", + "https://mastodon.host/users/panina", + "https://floss.social/users/tuxether", + "https://social.tchncs.de/users/suitbertmonz", + "https://mastodon.social/users/jrt", + "https://mastodon.social/users/sirikon", + "https://mstdn.io/users/yabirgb", + "https://mastodon.cloud/users/FerdiZ", + "https://mastodon.social/users/carlchenet", + "https://social.polonkai.eu/users/calendar_social", + "https://social.polonkai.eu/users/gergely", + "https://mastodon.social/users/Jelv", + "https://mastodon.social/users/srinicame", + "https://cybre.space/users/mastoabed", + "https://mastodon.social/users/tagomago", + "https://lgbt.io/users/bootblackCub", + "https://niu.moe/users/Nopplyy", + "https://mastodon.social/users/bpugh", + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Article", + "uploadMedia" : null, + "url" : "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/" +} diff --git a/test/fixtures/tesla_mock/peertube.moe-vid.json b/test/fixtures/tesla_mock/peertube.moe-vid.json index 76296eb7d..ceebb90b7 100644 --- a/test/fixtures/tesla_mock/peertube.moe-vid.json +++ b/test/fixtures/tesla_mock/peertube.moe-vid.json @@ -1 +1,187 @@ -{"type":"Video","id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3","name":"Friday Night","duration":"PT29S","uuid":"df5f464b-be8d-46fb-ad81-2d4c2d1630e3","tag":[{"type":"Hashtag","name":"feels"}],"views":12,"sensitive":false,"commentsEnabled":true,"published":"2018-03-23T16:43:22.988Z","updated":"2018-03-24T16:28:46.002Z","mediaType":"text/markdown","content":"tfw\r\n\r\n\r\nsong is 'my old piano' by diana ross","support":null,"icon":{"type":"Image","url":"https://peertube.moe/static/thumbnails/df5f464b-be8d-46fb-ad81-2d4c2d1630e3.jpg","mediaType":"image/jpeg","width":200,"height":110},"url":[{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4","width":480,"size":5015880},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent","width":480},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent&xt=urn:btih:11d3af6b5c812a376c2b29cdbd46e5fb42ee730e&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4","width":480},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4","width":360,"size":3620040},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent","width":360},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent&xt=urn:btih:1c3885b4d7cdb46193b62b9b76e72b1409cfb297&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4","width":360},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4","width":240,"size":2305488},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent","width":240},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent&xt=urn:btih:ac5773352d9e26f982d2da63acfb244f01ccafa4&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4","width":240},{"type":"Link","mimeType":"video/mp4","href":"https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4","width":720,"size":7928231},{"type":"Link","mimeType":"application/x-bittorrent","href":"https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent","width":720},{"type":"Link","mimeType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent&xt=urn:btih:b591068f4533c4e2865bb4cbb89887aecccdc523&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4","width":720},{"type":"Link","mimeType":"text/html","href":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3"}],"likes":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/likes","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"dislikes":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/dislikes","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"shares":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces","type":"OrderedCollection","totalItems":2,"orderedItems":["https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/465","https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/1"]},"comments":{"id":"https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/comments","type":"OrderedCollection","totalItems":0,"orderedItems":[]},"attributedTo":[{"type":"Group","id":"https://peertube.moe/video-channels/5224869f-aa63-4c83-ab3a-87c3a5ac440e"},{"type":"Person","id":"https://peertube.moe/accounts/7even"}],"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":[],"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"RsaSignature2017":"https://w3id.org/security#RsaSignature2017","Hashtag":"as:Hashtag","uuid":"http://schema.org/identifier","category":"http://schema.org/category","licence":"http://schema.org/license","sensitive":"as:sensitive","language":"http://schema.org/inLanguage","views":"http://schema.org/Number","size":"http://schema.org/Number","commentsEnabled":"http://schema.org/Boolean","support":"http://schema.org/Text"},{"likes":{"@id":"as:likes","@type":"@id"},"dislikes":{"@id":"as:dislikes","@type":"@id"},"shares":{"@id":"as:shares","@type":"@id"},"comments":{"@id":"as:comments","@type":"@id"}}]} \ No newline at end of file +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "Hashtag" : "as:Hashtag", + "RsaSignature2017" : "https://w3id.org/security#RsaSignature2017", + "category" : "http://schema.org/category", + "commentsEnabled" : "http://schema.org/Boolean", + "language" : "http://schema.org/inLanguage", + "licence" : "http://schema.org/license", + "sensitive" : "as:sensitive", + "size" : "http://schema.org/Number", + "support" : "http://schema.org/Text", + "uuid" : "http://schema.org/identifier", + "views" : "http://schema.org/Number" + }, + { + "comments" : { + "@id" : "as:comments", + "@type" : "@id" + }, + "dislikes" : { + "@id" : "as:dislikes", + "@type" : "@id" + }, + "likes" : { + "@id" : "as:likes", + "@type" : "@id" + }, + "shares" : { + "@id" : "as:shares", + "@type" : "@id" + } + } + ], + "attributedTo" : [ + { + "id" : "https://peertube.moe/video-channels/5224869f-aa63-4c83-ab3a-87c3a5ac440e", + "type" : "Group" + }, + { + "id" : "https://peertube.moe/accounts/7even", + "type" : "Person" + } + ], + "cc" : [], + "comments" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/comments", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "commentsEnabled" : true, + "content" : "tfw\r\n\r\n\r\nsong is 'my old piano' by diana ross", + "dislikes" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/dislikes", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "duration" : "PT29S", + "icon" : { + "height" : 110, + "mediaType" : "image/jpeg", + "type" : "Image", + "url" : "https://peertube.moe/static/thumbnails/df5f464b-be8d-46fb-ad81-2d4c2d1630e3.jpg", + "width" : 200 + }, + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "likes" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/likes", + "orderedItems" : [], + "totalItems" : 0, + "type" : "OrderedCollection" + }, + "mediaType" : "text/markdown", + "name" : "Friday Night", + "published" : "2018-03-23T16:43:22.988Z", + "sensitive" : false, + "shares" : { + "id" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces", + "orderedItems" : [ + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/465", + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3/announces/1" + ], + "totalItems" : 2, + "type" : "OrderedCollection" + }, + "support" : null, + "tag" : [ + { + "name" : "feels", + "type" : "Hashtag" + } + ], + "to" : [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Video", + "updated" : "2018-03-24T16:28:46.002Z", + "url" : [ + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", + "mimeType" : "video/mp4", + "size" : 5015880, + "type" : "Link", + "width" : 480 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 480 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.torrent&xt=urn:btih:11d3af6b5c812a376c2b29cdbd46e5fb42ee730e&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 480 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4", + "mimeType" : "video/mp4", + "size" : 3620040, + "type" : "Link", + "width" : 360 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 360 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.torrent&xt=urn:btih:1c3885b4d7cdb46193b62b9b76e72b1409cfb297&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-360.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 360 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4", + "mimeType" : "video/mp4", + "size" : 2305488, + "type" : "Link", + "width" : 240 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 240 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.torrent&xt=urn:btih:ac5773352d9e26f982d2da63acfb244f01ccafa4&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-240.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 240 + }, + { + "href" : "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4", + "mimeType" : "video/mp4", + "size" : 7928231, + "type" : "Link", + "width" : 720 + }, + { + "href" : "https://peertube.moe/static/torrents/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent", + "mimeType" : "application/x-bittorrent", + "type" : "Link", + "width" : 720 + }, + { + "href" : "magnet:?xs=https%3A%2F%2Fpeertube.moe%2Fstatic%2Ftorrents%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.torrent&xt=urn:btih:b591068f4533c4e2865bb4cbb89887aecccdc523&dn=Friday+Night&tr=wss%3A%2F%2Fpeertube.moe%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fpeertube.moe%2Ftracker%2Fannounce&ws=https%3A%2F%2Fpeertube.moe%2Fstatic%2Fwebseed%2Fdf5f464b-be8d-46fb-ad81-2d4c2d1630e3-720.mp4", + "mimeType" : "application/x-bittorrent;x-scheme-handler/magnet", + "type" : "Link", + "width" : 720 + }, + { + "href" : "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "mimeType" : "text/html", + "type" : "Link" + } + ], + "uuid" : "df5f464b-be8d-46fb-ad81-2d4c2d1630e3", + "views" : 12 +} From ce92e6e5ce24a68bedd744c01cc1a99f01c4fa91 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 11:48:51 +0200 Subject: [PATCH 45/57] Fetcher: Work when we can't get the OP. --- .../web/activity_pub/transmogrifier.ex | 7 +- .../fetch_mocks/104410921027210069.json | 72 +++++++++++++++++++ .../fetch_mocks/9wTkLEnuq47B25EehM.json | 59 +++++++++++++++ test/fixtures/fetch_mocks/eal.json | 43 +++++++++++ test/fixtures/fetch_mocks/tuxcrafting.json | 59 +++++++++++++++ test/object/fetcher_test.exs | 40 +++++++++++ 6 files changed, 275 insertions(+), 5 deletions(-) create mode 100644 test/fixtures/fetch_mocks/104410921027210069.json create mode 100644 test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json create mode 100644 test/fixtures/fetch_mocks/eal.json create mode 100644 test/fixtures/fetch_mocks/tuxcrafting.json diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 278fbbeab..bc6fc4bd8 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -446,12 +446,9 @@ def handle_incoming( when objtype in ["Article", "Event", "Note", "Video", "Page", "Question", "Answer", "Audio"] do actor = Containment.get_actor(data) - data = - Map.put(data, "actor", actor) - |> fix_addressing - with nil <- Activity.get_create_by_object_ap_id(object["id"]), - {:ok, %User{} = user} <- User.get_or_fetch_by_ap_id(data["actor"]) do + {:ok, %User{} = user} <- User.get_or_fetch_by_ap_id(actor), + data <- Map.put(data, "actor", actor) |> fix_addressing() do object = fix_object(object, options) params = %{ diff --git a/test/fixtures/fetch_mocks/104410921027210069.json b/test/fixtures/fetch_mocks/104410921027210069.json new file mode 100644 index 000000000..583f7a4dc --- /dev/null +++ b/test/fixtures/fetch_mocks/104410921027210069.json @@ -0,0 +1,72 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + { + "atomUri" : "ostatus:atomUri", + "conversation" : "ostatus:conversation", + "inReplyToAtomUri" : "ostatus:inReplyToAtomUri", + "ostatus" : "http://ostatus.org#", + "sensitive" : "as:sensitive", + "toot" : "http://joinmastodon.org/ns#", + "votersCount" : "toot:votersCount" + } + ], + "atomUri" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "attachment" : [], + "attributedTo" : "https://busshi.moe/users/tuxcrafting", + "cc" : [ + "https://busshi.moe/users/tuxcrafting/followers", + "https://stereophonic.space/users/fixpoint", + "https://blob.cat/users/blobyoumu", + "https://cawfee.club/users/grips", + "https://jaeger.website/users/igel" + ], + "content" : "

@fixpoint @blobyoumu @grips @igel there's a difference between not liking nukes and not liking nuclear power
nukes are pretty bad as are all WMDs in general but disliking nuclear power just indicates you are unable of thought

", + "contentMap" : { + "en" : "

@fixpoint @blobyoumu @grips @igel there's a difference between not liking nukes and not liking nuclear power
nukes are pretty bad as are all WMDs in general but disliking nuclear power just indicates you are unable of thought

" + }, + "conversation" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "id" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "inReplyTo" : "https://stereophonic.space/objects/02997b83-3ea7-4b63-94af-ef3aa2d4ed17", + "inReplyToAtomUri" : "https://stereophonic.space/objects/02997b83-3ea7-4b63-94af-ef3aa2d4ed17", + "published" : "2020-06-26T15:10:19Z", + "replies" : { + "first" : { + "items" : [], + "next" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies?only_other_accounts=true&page=true", + "partOf" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies", + "type" : "CollectionPage" + }, + "id" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069/replies", + "type" : "Collection" + }, + "sensitive" : false, + "summary" : null, + "tag" : [ + { + "href" : "https://stereophonic.space/users/fixpoint", + "name" : "@fixpoint@stereophonic.space", + "type" : "Mention" + }, + { + "href" : "https://blob.cat/users/blobyoumu", + "name" : "@blobyoumu@blob.cat", + "type" : "Mention" + }, + { + "href" : "https://cawfee.club/users/grips", + "name" : "@grips@cawfee.club", + "type" : "Mention" + }, + { + "href" : "https://jaeger.website/users/igel", + "name" : "@igel@jaeger.website", + "type" : "Mention" + } + ], + "to" : [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "type" : "Note", + "url" : "https://busshi.moe/@tuxcrafting/104410921027210069" +} diff --git a/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json b/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json new file mode 100644 index 000000000..0226b058a --- /dev/null +++ b/test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json @@ -0,0 +1,59 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://social.sakamoto.gq/schemas/litepub-0.1.jsonld", + { + "@language" : "und" + } + ], + "actor" : "https://social.sakamoto.gq/users/eal", + "attachment" : [], + "attributedTo" : "https://social.sakamoto.gq/users/eal", + "cc" : [ + "https://social.sakamoto.gq/users/eal/followers" + ], + "content" : "@tuxcrafting @fixpoint @blobyoumu @grips @igel What's bad about nukes?", + "context" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "conversation" : "https://cawfee.club/contexts/ad6c73d8-efc2-4e74-84ea-2dacf1a27a5e", + "id" : "https://social.sakamoto.gq/objects/f20f2497-66d9-4a52-a2e1-1be2a39c32c1", + "inReplyTo" : "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069", + "published" : "2020-06-26T15:20:15.975737Z", + "sensitive" : false, + "summary" : "", + "tag" : [ + { + "href" : "https://blob.cat/users/blobyoumu", + "name" : "@blobyoumu@blob.cat", + "type" : "Mention" + }, + { + "href" : "https://busshi.moe/users/tuxcrafting", + "name" : "@tuxcrafting@busshi.moe", + "type" : "Mention" + }, + { + "href" : "https://cawfee.club/users/grips", + "name" : "@grips@cawfee.club", + "type" : "Mention" + }, + { + "href" : "https://jaeger.website/users/igel", + "name" : "@igel@jaeger.website", + "type" : "Mention" + }, + { + "href" : "https://stereophonic.space/users/fixpoint", + "name" : "@fixpoint@stereophonic.space", + "type" : "Mention" + } + ], + "to" : [ + "https://busshi.moe/users/tuxcrafting", + "https://www.w3.org/ns/activitystreams#Public", + "https://blob.cat/users/blobyoumu", + "https://stereophonic.space/users/fixpoint", + "https://cawfee.club/users/grips", + "https://jaeger.website/users/igel" + ], + "type" : "Note" +} diff --git a/test/fixtures/fetch_mocks/eal.json b/test/fixtures/fetch_mocks/eal.json new file mode 100644 index 000000000..a605476e6 --- /dev/null +++ b/test/fixtures/fetch_mocks/eal.json @@ -0,0 +1,43 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://social.sakamoto.gq/schemas/litepub-0.1.jsonld", + { + "@language" : "und" + } + ], + "attachment" : [], + "discoverable" : true, + "endpoints" : { + "oauthAuthorizationEndpoint" : "https://social.sakamoto.gq/oauth/authorize", + "oauthRegistrationEndpoint" : "https://social.sakamoto.gq/api/v1/apps", + "oauthTokenEndpoint" : "https://social.sakamoto.gq/oauth/token", + "sharedInbox" : "https://social.sakamoto.gq/inbox", + "uploadMedia" : "https://social.sakamoto.gq/api/ap/upload_media" + }, + "followers" : "https://social.sakamoto.gq/users/eal/followers", + "following" : "https://social.sakamoto.gq/users/eal/following", + "icon" : { + "type" : "Image", + "url" : "https://social.sakamoto.gq/media/f1cb6f79bf6839f3223ca240441f766056b74ddd23c69bcaf8bb1ba1ecff6eec.jpg" + }, + "id" : "https://social.sakamoto.gq/users/eal", + "image" : { + "type" : "Image", + "url" : "https://social.sakamoto.gq/media/e5cccf26421e8366f4e34be3c9d5042b8bc8dcceccc7c8e89785fa312dd9632c.jpg" + }, + "inbox" : "https://social.sakamoto.gq/users/eal/inbox", + "manuallyApprovesFollowers" : false, + "name" : "에알", + "outbox" : "https://social.sakamoto.gq/users/eal/outbox", + "preferredUsername" : "eal", + "publicKey" : { + "id" : "https://social.sakamoto.gq/users/eal#main-key", + "owner" : "https://social.sakamoto.gq/users/eal", + "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz3pF85YOhhv2Zaxv9YQ7\nrCe1aEhetCMVHtrK63tUVGoGdsblyKnVeJNbFcr6k3y35OpHS3HXIi6GzgihYcTu\nONLP4eQMHTnLUNAQZi03mjJA4iIq8v/tm8ZkL2mXsQSAbWj6Iq518mHNN7OvCoNt\n3Xjepl/0kgkc2gsund7m8r+Wu0Fusx6UlUyyAk3PexdDRdSSlVLeskqtP8jtdQDo\nL70pMyL+VD+Qb9RKFdtgJ+M4OqYP+7FVzCqXN0QIPhFf/kvHSLr+c4Y3Wm0nAKHU\n9CwXWXz5Xqscpv41KlgnUCOkTXb5eBSt23lNulae5srVzWBiFb6guiCpNzBGa+Sq\nrwIDAQAB\n-----END PUBLIC KEY-----\n\n" + }, + "summary" : "Pizza napoletana supremacist.

Any artworks posted here that are good are not mine.", + "tag" : [], + "type" : "Person", + "url" : "https://social.sakamoto.gq/users/eal" +} diff --git a/test/fixtures/fetch_mocks/tuxcrafting.json b/test/fixtures/fetch_mocks/tuxcrafting.json new file mode 100644 index 000000000..5dce2a16d --- /dev/null +++ b/test/fixtures/fetch_mocks/tuxcrafting.json @@ -0,0 +1,59 @@ +{ + "@context" : [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "IdentityProof" : "toot:IdentityProof", + "PropertyValue" : "schema:PropertyValue", + "alsoKnownAs" : { + "@id" : "as:alsoKnownAs", + "@type" : "@id" + }, + "discoverable" : "toot:discoverable", + "featured" : { + "@id" : "toot:featured", + "@type" : "@id" + }, + "focalPoint" : { + "@container" : "@list", + "@id" : "toot:focalPoint" + }, + "manuallyApprovesFollowers" : "as:manuallyApprovesFollowers", + "movedTo" : { + "@id" : "as:movedTo", + "@type" : "@id" + }, + "schema" : "http://schema.org#", + "toot" : "http://joinmastodon.org/ns#", + "value" : "schema:value" + } + ], + "attachment" : [], + "discoverable" : true, + "endpoints" : { + "sharedInbox" : "https://busshi.moe/inbox" + }, + "featured" : "https://busshi.moe/users/tuxcrafting/collections/featured", + "followers" : "https://busshi.moe/users/tuxcrafting/followers", + "following" : "https://busshi.moe/users/tuxcrafting/following", + "icon" : { + "mediaType" : "image/jpeg", + "type" : "Image", + "url" : "https://blobcdn.busshi.moe/busshifiles/accounts/avatars/000/046/872/original/054f0806ccb303d0.jpg" + }, + "id" : "https://busshi.moe/users/tuxcrafting", + "inbox" : "https://busshi.moe/users/tuxcrafting/inbox", + "manuallyApprovesFollowers" : true, + "name" : "@tuxcrafting@localhost:8080", + "outbox" : "https://busshi.moe/users/tuxcrafting/outbox", + "preferredUsername" : "tuxcrafting", + "publicKey" : { + "id" : "https://busshi.moe/users/tuxcrafting#main-key", + "owner" : "https://busshi.moe/users/tuxcrafting", + "publicKeyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWWTBf9OizsBiBhGS/M\nQTT6fB1VvQP6vvxouGZ5cGg1a97V67ouhjJ+nGMuWr++DNYjJYkk2TOynfykk0H/\n8rRSujSe3BNRKYGNzdnRJu/4XxgIE847Fqx5SijSP23JGYcn8TjeSUsN2u2YYVXK\n+Eb3Bu7DjGiqwNon6YB0h5qkGjkMSMVIFn0hZx6Z21bkfYWgra96Ok5OWf7Ck3je\nCuErlCMZcbQcHtFpBueJAxYchjNvm6fqwZxLX/NtaHdr7Fm2kin89mqzliapBlFH\nCXk7Jln6xV5I6ryggPAMzm3fuHzeo0RWlu8lrxLfARBVwaQQZS99bwqp6N9O2aUp\nYwIDAQAB\n-----END PUBLIC KEY-----\n" + }, + "summary" : "

expert procrastinator

trans(humanist|gender|istorized)

web: https://tuxcrafting.port0.org
pronouns: she/they
languages: french (native)/english (fluent)/hebrew (ok-ish)/esperanto (barely)

", + "tag" : [], + "type" : "Person", + "url" : "https://busshi.moe/@tuxcrafting" +} diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index c06e91f12..d9098ea1b 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -26,6 +26,46 @@ defmodule Pleroma.Object.FetcherTest do :ok end + describe "error cases" do + setup do + mock(fn + %{method: :get, url: "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/9wTkLEnuq47B25EehM.json") + } + + %{method: :get, url: "https://social.sakamoto.gq/users/eal"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/eal.json") + } + + %{method: :get, url: "https://busshi.moe/users/tuxcrafting/statuses/104410921027210069"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/fetch_mocks/104410921027210069.json") + } + + %{method: :get, url: "https://busshi.moe/users/tuxcrafting"} -> + %Tesla.Env{ + status: 500 + } + end) + + :ok + end + + @tag capture_log: true + test "it works when fetching the OP actor errors out" do + # Here we simulate a case where the author of the OP can't be read + assert {:ok, _} = + Fetcher.fetch_object_from_id( + "https://social.sakamoto.gq/notice/9wTkLEnuq47B25EehM" + ) + end + end + describe "max thread distance restriction" do @ap_id "http://mastodon.example.org/@admin/99541947525187367" setup do: clear_config([:instance, :federation_incoming_replies_max_depth]) From fedfe8f7d6f78d77e9cbaf70fa8a9e8df38463f7 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 1 Jul 2020 12:26:07 +0200 Subject: [PATCH 46/57] ActivityPub: Handle clashing nicknames for the same ap id If we get a new user (identified by ap_id) that would have the same nickname as an existing user, give the existing user a nickname that is prepended with the user id, as this will never clash. This can happen when a user switches server software and that soft- ware generates ap ids in a different way. --- lib/pleroma/web/activity_pub/activity_pub.ex | 12 ++++++++++ test/user_test.exs | 25 ++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 05bd824f5..94117202c 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1371,6 +1371,16 @@ def fetch_and_prepare_user_from_ap_id(ap_id) do end end + def maybe_handle_clashing_nickname(nickname) do + with %User{} = old_user <- User.get_by_nickname(nickname) do + Logger.info("Found an old user for #{nickname}, ap id is #{old_user.ap_id}, renaming.") + + old_user + |> User.remote_user_changeset(%{nickname: "#{old_user.id}.#{old_user.nickname}"}) + |> User.update_and_set_cache() + end + end + def make_user_from_ap_id(ap_id) do user = User.get_cached_by_ap_id(ap_id) @@ -1383,6 +1393,8 @@ def make_user_from_ap_id(ap_id) do |> User.remote_user_changeset(data) |> User.update_and_set_cache() else + maybe_handle_clashing_nickname(data[:nickname]) + data |> User.remote_user_changeset() |> Repo.insert() diff --git a/test/user_test.exs b/test/user_test.exs index 9b66f3f51..7126bb539 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -597,6 +597,31 @@ test "updates an existing user, if stale" do refute user.last_refreshed_at == orig_user.last_refreshed_at end + test "if nicknames clash, the old user gets a prefix with the old id to the nickname" do + a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800) + + orig_user = + insert( + :user, + local: false, + nickname: "admin@mastodon.example.org", + ap_id: "http://mastodon.example.org/users/harinezumigari", + last_refreshed_at: a_week_ago + ) + + assert orig_user.last_refreshed_at == a_week_ago + + {:ok, user} = User.get_or_fetch_by_ap_id("http://mastodon.example.org/users/admin") + + assert user.inbox + + refute user.id == orig_user.id + + orig_user = User.get_by_id(orig_user.id) + + assert orig_user.nickname == "#{orig_user.id}.admin@mastodon.example.org" + end + @tag capture_log: true test "it returns the old user if stale, but unfetchable" do a_week_ago = NaiveDateTime.add(NaiveDateTime.utc_now(), -604_800) From 61fe94d698a6f73e7a3f6224ed4be93b30ba0e54 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:33:50 +0200 Subject: [PATCH 47/57] SideEffects: Refactor. --- lib/pleroma/web/activity_pub/side_effects.ex | 6 ++++- test/web/activity_pub/side_effects_test.exs | 23 ++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 5cc2eb378..c84af68f4 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Activity.Ir.Topics alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.Push @@ -97,7 +98,10 @@ def handle(%{data: %{"type" => "Announce"}} = object, meta) do if !User.is_internal_user?(user) do Notification.create_notifications(object) - ActivityPub.stream_out(object) + + object + |> Topics.get_activity_topics() + |> Streamer.stream(object) end {:ok, object, meta} diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index af27c34b4..2649b060a 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -589,10 +589,29 @@ test "creates a notification", %{announce: announce, poster: poster} do end test "it streams out the announce", %{announce: announce} do - with_mock Pleroma.Web.ActivityPub.ActivityPub, [:passthrough], stream_out: fn _ -> nil end do + with_mocks([ + { + Pleroma.Web.Streamer, + [], + [ + stream: fn _, _ -> nil end + ] + }, + { + Pleroma.Web.Push, + [], + [ + send: fn _ -> nil end + ] + } + ]) do {:ok, announce, _} = SideEffects.handle(announce) - assert called(Pleroma.Web.ActivityPub.ActivityPub.stream_out(announce)) + assert called( + Pleroma.Web.Streamer.stream(["user", "list", "public", "public:local"], announce) + ) + + assert called(Pleroma.Web.Push.send(:_)) end end end From 311b7c19d0a34654b785116fe22823132d5a9284 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:50:26 +0200 Subject: [PATCH 48/57] Streamer: Align announce streaming with polling. --- lib/pleroma/web/streamer/streamer.ex | 1 + test/web/streamer/streamer_test.exs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/pleroma/web/streamer/streamer.ex b/lib/pleroma/web/streamer/streamer.ex index d1d2c9b9c..73ee3e1e1 100644 --- a/lib/pleroma/web/streamer/streamer.ex +++ b/lib/pleroma/web/streamer/streamer.ex @@ -116,6 +116,7 @@ def filtered_by_user?(%User{} = user, %Activity{} = item) do true <- Enum.all?([blocked_ap_ids, muted_ap_ids], &(item.actor not in &1)), true <- item.data["type"] != "Announce" || item.actor not in reblog_muted_ap_ids, + true <- !(item.data["type"] == "Announce" && parent.data["actor"] == user.ap_id), true <- Enum.all?([blocked_ap_ids, muted_ap_ids], &(parent.data["actor"] not in &1)), true <- MapSet.disjoint?(recipients, recipient_blocks), %{host: item_host} <- URI.parse(item.actor), diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index 245f6e63f..dfe341b34 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -116,6 +116,18 @@ test "it streams boosts of the user in the 'user' stream", %{user: user} do refute Streamer.filtered_by_user?(user, announce) end + test "it does not stream announces of the user's own posts in the 'user' stream", %{ + user: user + } do + Streamer.get_topic_and_add_socket("user", user) + + other_user = insert(:user) + {:ok, activity} = CommonAPI.post(user, %{status: "hey"}) + {:ok, announce} = CommonAPI.repeat(activity.id, other_user) + + assert Streamer.filtered_by_user?(user, announce) + end + test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do Streamer.get_topic_and_add_socket("user", user) From ce9b7c0e0f1f4759979fb4690021f2f11c408ac0 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:54:48 +0200 Subject: [PATCH 49/57] Changelog: Update with stream changes. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b6928dcd..335d29195 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). API Changes - **Breaking:** Emoji API: changed methods and renamed routes. +- Streaming: Repeats of a user's posts will no longer be pushed to the user's stream.
From bad08f34caf0f037b5d6e724628a222fe65b751b Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 2 Jul 2020 09:57:31 +0200 Subject: [PATCH 50/57] Credo fixes. --- lib/pleroma/web/activity_pub/side_effects.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index c84af68f4..61feeae4d 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do collection, and so on. """ alias Pleroma.Activity + alias Pleroma.Activity.Ir.Topics alias Pleroma.Chat alias Pleroma.Chat.MessageReference alias Pleroma.Notification @@ -13,7 +14,6 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.Activity.Ir.Topics alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.Push From a5d611abc296f23c939086f479c1ef708fcb54a8 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:16:19 -0500 Subject: [PATCH 51/57] Update AdminFE build to utilize new MRF metadata --- .../{app.6684eb28.css => app.01bdb34a.css} | Bin priv/static/adminfe/chunk-43ca.0de86b6d.css | Bin 23710 -> 0 bytes priv/static/adminfe/chunk-43ca.af749c6c.css | Bin 0 -> 24279 bytes priv/static/adminfe/chunk-c5f4.0827b1ce.css | Bin 5669 -> 0 bytes priv/static/adminfe/chunk-c5f4.b1112f18.css | Bin 0 -> 5842 bytes priv/static/adminfe/index.html | 2 +- priv/static/adminfe/static/js/app.3fcec8f6.js | Bin 192591 -> 0 bytes .../adminfe/static/js/app.3fcec8f6.js.map | Bin 426204 -> 0 bytes priv/static/adminfe/static/js/app.f220ac13.js | Bin 0 -> 194930 bytes .../adminfe/static/js/app.f220ac13.js.map | Bin 0 -> 430912 bytes ...cbc.43ff796f.js => chunk-0cbc.2b0f8802.js} | Bin 21585 -> 21596 bytes .../static/js/chunk-0cbc.2b0f8802.js.map | Bin 0 -> 86354 bytes .../static/js/chunk-0cbc.43ff796f.js.map | Bin 86326 -> 0 bytes .../adminfe/static/js/chunk-43ca.3debeff7.js | Bin 119060 -> 0 bytes .../static/js/chunk-43ca.3debeff7.js.map | Bin 402101 -> 0 bytes .../adminfe/static/js/chunk-43ca.aceb457c.js | Bin 0 -> 112966 bytes .../static/js/chunk-43ca.aceb457c.js.map | Bin 0 -> 386132 bytes .../adminfe/static/js/chunk-c5f4.304479e7.js | Bin 23657 -> 0 bytes .../static/js/chunk-c5f4.304479e7.js.map | Bin 83935 -> 0 bytes .../adminfe/static/js/chunk-c5f4.cf269f9b.js | Bin 0 -> 26121 bytes .../static/js/chunk-c5f4.cf269f9b.js.map | Bin 0 -> 89970 bytes ...untime.5bae86dc.js => runtime.0a70a9f5.js} | Bin 4229 -> 4229 bytes ...bae86dc.js.map => runtime.0a70a9f5.js.map} | Bin 17240 -> 17240 bytes 23 files changed, 1 insertion(+), 1 deletion(-) rename priv/static/adminfe/{app.6684eb28.css => app.01bdb34a.css} (100%) delete mode 100644 priv/static/adminfe/chunk-43ca.0de86b6d.css create mode 100644 priv/static/adminfe/chunk-43ca.af749c6c.css delete mode 100644 priv/static/adminfe/chunk-c5f4.0827b1ce.css create mode 100644 priv/static/adminfe/chunk-c5f4.b1112f18.css delete mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js delete mode 100644 priv/static/adminfe/static/js/app.3fcec8f6.js.map create mode 100644 priv/static/adminfe/static/js/app.f220ac13.js create mode 100644 priv/static/adminfe/static/js/app.f220ac13.js.map rename priv/static/adminfe/static/js/{chunk-0cbc.43ff796f.js => chunk-0cbc.2b0f8802.js} (61%) create mode 100644 priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js delete mode 100644 priv/static/adminfe/static/js/chunk-43ca.3debeff7.js.map create mode 100644 priv/static/adminfe/static/js/chunk-43ca.aceb457c.js create mode 100644 priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map delete mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js delete mode 100644 priv/static/adminfe/static/js/chunk-c5f4.304479e7.js.map create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js create mode 100644 priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js.map rename priv/static/adminfe/static/js/{runtime.5bae86dc.js => runtime.0a70a9f5.js} (91%) rename priv/static/adminfe/static/js/{runtime.5bae86dc.js.map => runtime.0a70a9f5.js.map} (98%) diff --git a/priv/static/adminfe/app.6684eb28.css b/priv/static/adminfe/app.01bdb34a.css similarity index 100% rename from priv/static/adminfe/app.6684eb28.css rename to priv/static/adminfe/app.01bdb34a.css diff --git a/priv/static/adminfe/chunk-43ca.0de86b6d.css b/priv/static/adminfe/chunk-43ca.0de86b6d.css deleted file mode 100644 index 817a6be44d8f4860932111a76a2f9146fa1a40df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23710 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 diff --git a/priv/static/adminfe/chunk-43ca.af749c6c.css b/priv/static/adminfe/chunk-43ca.af749c6c.css new file mode 100644 index 0000000000000000000000000000000000000000..504affb935b49649f99810c411e2d5ac6ce39dfe GIT binary patch literal 24279 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 XXX#?`Z~bbhT1l<3VG=!k)2ZXX>(NDK diff --git a/priv/static/adminfe/chunk-c5f4.b1112f18.css b/priv/static/adminfe/chunk-c5f4.b1112f18.css new file mode 100644 index 0000000000000000000000000000000000000000..d3b7604aafcd5f7c3c58250e11f31985fc0ab2ab GIT binary patch literal 5842 zcmd5=+iu%95d9SaL4gKa3X53B%meAW+RCLNheMX{rk?46h-;g#BR5X07k^? zT+W=CVO)srophoTuT1XWc&Rtp!$Z>T`q<29L26OZnsl^yA*-#{qTM%Cu6awe=(6;& z+vQa)sLmu`Z*(8CMttXPrP_BjEf`U(uCju)n#sI@o%WttV(zgU3ejrHTPDd`@^W8t z1zX=U{K)Z#Xx6}pW~31HwrN%N1Xo9NtA+hBr`e@;1zA%kpObebK>8+2gIhbvUO9Us zyjg=*J11D0Bwz9)$p_VVTZv=6oV|>hye`MfBBdqM#U@-1)?tNq#>cz+Sb|YN)n8v+R#$GWl1!HWhwq7kzB9n*W?@i#p!(x8juey!|RBoCEu!S4qoVJ zS@L#m1IGdrF2XRfKS>C)Z_dP1n3~`_0cIPW>UIwxh_mlorFr!}T6i+*W+50MsKHwb zW*J#A{RVi+ZG2lOPxv5m4C1W-K#Gt;?2h@&@7|%()5&~^qsOQ;d}1gh z<6YNJ6|G}~p z(P2K{?EF)bxcMX;$XfZuUYu$AFc!6B?8L2j&B#{Pw@W+0s^^Hw=tTs70E7bx zdcP8@1%!JA+!WPx#cIS6ei@5AKbx`r0RE)!V^mo|a)o?Kk=GpDvKbOWlB2_kHL*>f zeGJUh8s}13Z1^j4d1Lly5bbACSBK^R1}^a~43ICcHQ@lhe)%?DdGb)dFai>2Kesv> z&z`Eo+YOT($_Xzdu&rdJsY9;A$Ehmd)aeIRP5@JICIn!X*T=26VsBOT@kt~N;7=gmrc2C-$ZvhD=qn2g&;Za=r@|hWNoEM~+}9n~)*>k8 zEt&8WJW@gx2qj-&7#G>|M<@tAP=oov3}M3cOT&oyuL`U{(%|}2A(iCLcczWNJT~y6 z%?UqK)NP023F6a4)Kep+!U0dIH#Z)c8Hd>gHQ`42{ZFyN#xqy zupn|n;R(0uGDd-EA#5PnL~tm%ZzjNe3JOTfM#mMxH5eUQ7E}frJg9f}K{%mc(-kfg zUUSu?Py7Fv9}zP)aZ_zIT`6aeu+!^f-gH9h3FAAn`I^IJvj=#O7~5}X48WqB)F0Z% zNN0|r4AZ#wAb~#hu-|2j!C7GsX+iUu8dS2C5YXD&=b(_c-O*X%Bv0q){j)8dZ{E`7 z3~1MPZw5)ApMQ}t)5GET=<|_2aVXJ4_HmY3LdKY2>36<5O!#lGTIg!17fb%iu{^ZH zrj3hi8QCzU=$h@vhqEO<5kZ0JX7Gu{Ip5Bh7r4Xl--opGJGGsd)rP3jRO&;5w1Xi( znkO4GJdL1$Q6Pez4(SA^ZM)^`aN7$*Ie2`~<&yXuR|RgF9(j&O{|wH?7T_$yU(DGV w7#HfPA$kYMRPc`HDkm4$q!B;J@o+G5lHY8d`nP@JG+nHf*fEKnzUkKfUrsWH(f|Me literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/index.html b/priv/static/adminfe/index.html index c8f62d0c7..22b3143d2 100644 --- a/priv/static/adminfe/index.html +++ b/priv/static/adminfe/index.html @@ -1 +1 @@ -Admin FE
\ No newline at end of file +Admin FE
\ No newline at end of file diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js b/priv/static/adminfe/static/js/app.3fcec8f6.js deleted file mode 100644 index 9a6fb1307826d2f15d288dda7ed09d49b36ea7dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192591 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 diff --git a/priv/static/adminfe/static/js/app.3fcec8f6.js.map b/priv/static/adminfe/static/js/app.3fcec8f6.js.map deleted file mode 100644 index cc4ce87b3ca199fd7f5fe5004cef177b827c8b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426204 zcmeFaX;ULfviJK{j*a!Zs%iG6&YQ8!lmHb70fM6G`&^R=k$^x*LJQmd^7r?5k4&Y6 zSgLzwPS3HY+X`jI>fzzxTX;nNe}8*O2g7!+`?vpI`TDnEZ#-zF!@vFa|MR!U^t|6} z-TwE&!osf$!$E7I-RgCR3&V%2h5p6mul)Y)>$`>0UcZxmTrPc1|K97T-M31%dUyR^ zH|>sw3u!04%%zx$L8g?<@aGqpW36pUyeJSVQY}S z-Q{GY-E=rgFWv%eQf_n&WFHs1><#WdE_KlyUZ3}xgE#wa_S*~NQM)tz^=A0~fQQ$; ze!tzl`nc2c@h1wkyQ6f_ZH^$9X6NHJ@9#e@(`k2a-zqhK>g%mRuhThbcGKeAuP$!P zL&ZZoeH<=yn$NxQXra*Far0{UgFGXg_2&8FyvmdLy&AVK(*Ih13(!fyPP2P8ZeD$Y z7W&QM@Ui#yBv0Dx+e#XK-1!~rlhB|M@?v^~?Kh=d|@! z4^h8wV17$4&ZnCaa}BxE8P0b<&icnvx;B@9#VDHeJD*JqN4-J1aM!ySchcdf%cX-s zZ?M<9dZSTwNt5ZoxWwD#raS*k4Yl0vKD0;aTYPW2&G*ZywSJ1|dt)5aZM|1ApZO03 z)Y8V<()0{#>OWn7x~db$zo+s)Ha1%`kbC!2Yq0>!e)HkHIWT%(TG^aK?;ls3H`;$y zt$&=aZ_HI4Ov)~_mo~d^kVz_uQ)8xJdaUFRAh88NL^iF8{nbFSH{m1I^+6;={ zpPktT{z&J0lH1a{n%}-%PB-wGac9-1Ykm&we@5MZTx@Q({z&HmciFuC<8twQhH^eL z{Fzq%2q0VSr*^F#qqfb`-RH3QPXJ-2iGQqaE`R$YLz$@XE9bL<>@(QR>;I|F|5W9F zEPuP$oYz8uDHhC^xjJlf<=YG&(BMDcz@O{>&(;3N#>(pIye8gafKv+i<>Jze>h|8W z7pwl!F8^pf_{RFm&s0Wxt2WzRW0k9`>oaQFd&4Z${DU3-!D|0lS>O0rp4`EIx(i3? zu>F$mG`km_bnqEYR8-j0^^0i`U!h}Cdb;2o7WapW{^Q%)EaiFA1MJ1zxiFu>&T5E* zyY^6ylsB*-g>#U0n$MrpINvSmZS{MD(PtZbudG_jjkwQ@^@GCJ-l#bme-60e=ZlUq zt9?F{>bTRpVzs@U-^DhmbT4~v6q%mX@$gNeR$t2g+!$5zV9>j4W7f`x?RCfRw|s@w z{n_5ryWUOv0B7F&O}ZGJ51xA?-YfBeUD!`QSRdd<0}4K!`B2=6lg`g_MZ7s4UB6M_ zQ-bKCxw`ftrzuF}0+0U3a%-hIukOT=lRmZ5Pq@v@+4PnhVbU7wX7E<2w+36V%bKf; zGuno8zDWmaBhBEo^Pv6koB=oTaL+h*OnE) zCq939S?4t#a%47*LtI6G13ni)MTW3`WWl0i>n_ON-x@PQun08POtT*gL+cR zB*hzhBE!+M9Bj@!hppjUpS|<1L3%%C%i#@FO}cA!+WmL82qr~SnC2oiLTCN@4x zsGA$>bG`7Nt>0Q)n&V6OWbJvp_fJ#}v-Z#&wB?P)y{(!1f4}~%+r0A~vPL89ku@}J z?LpdT0KS=F5ZT0 zDTnNz)LH>f#|pqothQw;u*&!=;THFvc!C#uW=97#dQB{*9jdse=9(@h=HSXCqxf4V?Ou(pc^Kmwy=-?= zRlRGDT1u1VG8&$?tw4LY*K0L9*C2*0X0+AR!!#EDnNzv6^lzF=I+~fxA$xwWsV1W_ z%CAfhyD-U9lu}6lnaN-Kwsf(+v9Sq7cbqha*J(OxEN_XoIT_efkvKl0iD`)c??inx zQJMG37U|myHC<|5oNp|x{@=NpW|05ZMdd!F4`vFT=VEz%_41!OQ+LfiOz_u*i6Z;! z!X!lF*M*|G#@mcKNJ_;q1oCEIfzTESZ(Zi%;v0sN~uw{mn&xdMJ&cx9U>QpBDlw^4=p8x-S^ zjFY(6d634?}?gw!D$7g6neR1x1=CoWu?ME)&+-8npW; zbW&naw-9Hr;Io+&RsH2eL|vr^G`I;m>QW3}VD&!~5sN;e;* zS7}!P6um(~8-5%ZOK3pl0oDCM`atn+j(C}lBuGO$IojiCJm~QEE*)L>q<>wf()2Y9 z>vi&WJ{b2^bLh%6t{n|&KyxT+KEB4&3Q3KpRsEgL@v+!o18{nd7+7!6elb4@?>H=v z!vMho2{b+u28O;B&Xd9bO;JpGz1ucMmeu0#BdQ_}`Ka4Qg;cEK*S}q)5ABw!XKR{A ztpI*P;77SDyUp~@v3qOO;Bjqx8;h!5DV5{sNR?8JJlU(&i>aYlsr;jol*zA`j~kW! zAC=>By;0te;=OVyr0zxg+b7Ys3WZ8X<+xTm4%zj}@5;jbkdDq%tJ52%+BuDz175+U z=u1Ds8Z>*?7C`$`^fdL>REW}XZ+i}r+%*Tcp*2lca1!&xj1fg?=F>%UB!h}Y8D_WB zM&)*_Hs+@SoaVirjw&92Gr_F@m&+71?gj43n^Lu-M{3dDh+(Oz=qRpt@TzVH{7N{#Z-QSGR)SKIbv{`SX1t!2zWV=a3JyB{Pwuj8TIO; z0ReK9Hz1-5lw>vDcoO0qvOLj>R6T&IXKS_bBuqA*ggq}jo$bqSMY&=5=^4g3iNWIC z+D$JU8=z7F48x>{BZACk22!Zy9aBnHtb^`FChuAhOaT9)Qe|Hgq4hl0xRe!@s+IkE zAy&2T^m6ddMyZYrExz~S+* zxgYgLO)*C+n`6H*{py2eO=N3lf}cWS;MQy_DL5@-a*g@Pcg?4UyD^Yx_>6`PGk2Y5 z{b)DKQnG-n@uX#e?yEKn>86B{BW0z~p@!CY(u!$3EiLM2P66Zv95@H?X-P3%lo#XS zXGK3VWt_OQ_)R(;_l~R$l?=qDJcrWIJHdfo86ia$C}a!+30P*eA+m!?Uwhc zqIY|)^J1Nb>NS)(=tC9pHM$|CzzoVYamQeq!ls}PQ8CJ2Zae~ z%uTJj#z>{0JMyG3GBu@tIA{2|7<-r`k4N~xAJY8^mK@O;&S1>Nxw{nIA1Hj0s?HR$ zHw#rH)rzDSS+dZ2P%ckaO_t##pS_KG31VV=C(#)V2F>RJTN|?9Ov7QTqA_ka@+kaw zl(GJx*B6xSVT24cEimr&I%(6Tc;=LJ0gxbzB*3=DT@#o*=6yhL;Uoa5Vm9qoU7mH` z`tW@xGt&()hpZJZlyvaAP^cAt+rz(08XF`}cO7HJkL?R{MqQ`vt7{E1?`zobJ+pU4 zI4MiT9Nf?dVFXe^sQ%PQhj%=>IwpvIu{|^%;IybWJfM#YEf^n}M8;La8Y0cXm_kD1 zLG3x_{+3+38f@U8^?qjWumTU~^gk_~*2f&tSYVZ!bh z#|)wPL$hP?m_CRwQrG**y=Y%bU+eZB`CDxoIIYxJc6(TUvhxw*-*6Mb7DD7261VS= z&}E=^6G<{;RW;KZ1}WNvun;&dPZ{(5C0kt&@_ZWxC9LkYN$Ylv+yf$ z-svCnL~T*eB9erIJLwL#>@M3+L`YV;L`qug!PFa$&#P&7Owum^rz(?_Yl~&7_7KuA zDdQ4tM@W0PKQXWle13b~&U3AsCfDqe(9Csn$Xoro_Xs=65?jgy>EuKA!Ne*Q@hp#j zP#f)w3oG316&vzW(5g)7(7Qz`h35(N1$2l4vmK`PWs#8=5IZ#m&CVm?N$M0ZeAaBg zfj5|zjE06*cSG}MgW?x%D*p#hGCTjSPI(5M?2(WEZmi?)-ChZTxad6^S-ZIxh-|_; z8v&|!raIq?qlf&tz+BoWw4F|~Z_+!XqPzzx$%f7sN7xXX2!me?ofKw zYUKesE2SNqwMV@Co$Td8iDwk~WoQSfPQeMmIVAXd0*@ukrjWAdJxD(}?j2{#nA0($ zW!%|nORULiod!wzODZbqU0z}WW@&_P?V+}+e7+D!1@`UEwLf7a9!xRTOG( zHM$qsvm7A~hkPOa)Vzch@B3@bpa{cokiyG(3YSk0y#7=%$D~e~O)U|WOY{z7(>e$D zkk&-ghF}fL(9VM(vI)r4o16-V4dAn*XYb7Eq;uMOXb;h&O-%Xo-i0KjtZWTWlPM}&}(V>LAb%voJ@If2~Z%V1WC-k{vHy~3tSkpc_uhw2UZv3bYbmzSUxcGAp& zanZhjwODrMWX#Lw34kpRRGz_e-L~L)$QtMI0yi%|_#pT@NJry=Cc7br;W7`u7`3^o znKv~HlM1rqJPnj3W*r$+mLjmGvh?DsK!nJPoZ=bpPcIP$*YzoC(AKy*6o@N4I7=Jw z_!d7aPyisqDMJKY!3f53W2g3~CYE7;RYa{A(is|O%>6seXL6ggy8KQ#=V)^s} zT_FBraZ-uKP8<3;a&IpNS6Ghduq6LxUFk_|N}UO`sbz?8s&u!E9TPA!5K$uZhv`_; zdOjYF+zxP8sTelN@@h&kXh3x0eXA-^JN%l%6sMGa{gMZNA8xKC3z$6 z@5o=H0?>tLLRQ-5Q7%nGI{nHnZ1*ayhmDNJ^lQMC(HBr;$jaX3d=9>GC%H%E;&>cDp| zjFzmd&|7%ReX_;0t;!x$N5RB!;0@-On3w3I9Adc3k{I{pD}Z3K@p-ly#OxZ_oE5Xf zBxa?vSz;U3gr!sc4li z+-r+O3;qGkn@BXH55X1M&=!ZgWS^EKZSl04-~Y)@o?yOcDTK09FKUzWMhT@9&cHTj z*ru72W=WvI*rvLfO>m4COT0>fOI@~2MROglSol?nn>k1kI`fJJerIRg@kkVa_6_an z=`VDU?3JUV#>qh`Qs5(`cFeYdDDkLVt^Htc&Qls&N408Jj9eLKVpv$5VHcUmCMfHd zKwzNh21cKy^Fps-qmnTRBFA|V#&)-F?#Nd-%!(c}Nz}~p0|VR=qb+pf zi?o=arLasz`PO`6Ek~0(z(Zk*G+rgB@``c-nf}7FcGp>8Vc(tF!N|6GvX!SLSH~UE z9ywDI9viO`)V5Y-7*U{7G>F#i0ej%>X6M8h7DePl@Ry6i&^)D(V4d5}o!Z`@VknYH zi*lGx?W76GVoYs> zuForZsYXfa)+PlSl7mLiRw2EZ9(?w00}@9W4?UuR3jUf7r~1vz@&YJ? z=sfNT1FFOG!Jv&FUX$e}%49bc-BmB8)pxoH5m9+cWNOsD}Ze07V z@gv$h(K-zId$lCmdowqP`B1iw%9M!HvQ2v&?dL%byd0m1D;V3d7eXH5vtqe}llo4> z3zoB@(cYeI>g90}@yYSAZS-dQ!;=OZKPvS~T-mD}OL;4#M<>TSwTV*UGm;ayuixoJ zM^;5De|uOjP`j%W!I2RZBuR5CYAS{r(p;2G0DH5%HfG+pjH%^IVfq!W9c->bdL-A= z34K-bJ$TwJ6iD-p_rM{;(#go*2i2Hbuv68i2yeQLsjR6=Lc&z;bj8=%Vno^@-Z78( zwlC^LEb+Ye2LlfvLK{f?zhrwl=9RcO?!DUD><4#++L~@1doq2hX$M1jwc{OZt*P#` z0t#7$+RAy;F|?x0S;vqiPC14wMPr!C(u?}ksw*O^UPzw-B#7=}>G!}hO?4JLOPm7F zQUu;qmR_&`gGb4p5JT<;@hr2>vjPaCP}H7^MM;<~>b@ye7}6F6vV^?eRQjZPNXCIx zsBCYuHA$SVHa6ieo;(=^o3`z4{H%o@Yy(33XOqNoLT(lpDg^ZV!y`ZH#hZJ*8ll*L z)z;JgTjn0XWVQfBg6U|T42#a!U_wPZ8WWy}DF)4myerxn*&z_Uq$7c;bI<;^4`&K* z#HnDZfui=gd$yd|T`!Yp_!jGj$+^FiYPHeby46s8)}ui7EQq?K(;MgiUE?)a#b z-X_>bkyZ{}%~WhRtFr$6tpLK7g=~4zFrou*Z%b%u%t^cUXi_uJkZ^)T#L}2e$c$QL zvP6$U)}Y1sgOtFSk1MMBehcDADKU$rd@fS6k!;))M( z#fJE1CGSHOnVTY{p-1K9@c9r{93?A`l9g$cSP^g3{1@&sv{Z#hx=$mtZ7=YS1LU-B zH9SfStBP?rs#Y9TD~5+RONTCP%vtk#fzhd3KsZAdia%oGhRT0z5!J!Ng{Wz@XN$m?mts3}+Vxdi& zlB^}Y;M*^>W%nczLF$yT<`A!0_frK!YX*GQn!jLkq^bL$vJAn;GrO^O0(ugQxaP2~ zIjZdz8@Iw|3WnZnfLWt@!L>|)N#af0_RFO0bsxgI55aEN!FGPLeCWae%DT|Y7=Uqo zK%`RYU4>3LTbKnPDt~&F6>3b1NvzD6HreY;(Betm{GY0z$Hu`?4X0>%PN_z6R4$eG zk1Nq$9oV)qt~3GHRdL~bk|yw2Mp@`-UduIQx4fU$eC4j$ls>IFfvp+-^QB&>FfT1{ zcp5tskfzh?nXYaSxD!KwPnT-Em0=L17pgJTJXv)0Vc5enAGc*?rjR)hCEsjj&7N32+SZgG+*=cpNC$pCg6{01L z-JSG)Ws8c=yh9AL%0XjJTIrQmfb~7ACjZibSAjo>ml?xpu!|Xj zMCF<@bwRZ923vY3OSM;MUHBjFhpho2yELuR%)F|atyVqQdewtgtQWKa@)jHr`KwCV zg4TmLo$Eoqgen%)SV$p1U(iMX({F0Sm^crnT-@|bAML;=vmQ}jr=)DAoJ!%HpAmR+ z-mr0W^7@r*76t-m=OHrJfzgZ|cRna9vNOGfcY961uQ#O-pD&1&t+!+NL68 zW%VK>j6K*49^)M(<9nW;9@?>CsqvzqGm3Jjc81Bu%xkEwk%|Ug57L8SE(1*2^|5W; zPQu8Co

IouIKU@-45%+{DmbhAPvL!fuDx6oG_2#7RP?`{u-IDpenUO(Ptzn#2$_ z*nNR9s~t0vFh}&Pi{tg{tU3$Is}RGZRO6#|9ThLKc-Zos_-{QS%NFAdJ1|LYZ!bFF zloqa`YMrXebC;(s&B#);UBq7Sj9W9LW(9*YWKvtMRGNI9t{P-$M04{c^3}EU4h;_O ziA_}2ja#5ptg`VsNv-YsAw|`r5boi@D4d2=Qg8+|U$y4EVygYuNzM<7g%V@P!m1#e zdTSN4ysfO<)SEXNvPuMVif3$L+N#Bw_jZ_1hCc9sj;4^K5YR%c3i14dk($^N3L7); z?dfc`?CH=3rNYy%gQ?6qak~PvI;c5bSSA2JE?dE%$8o5lHM7f5%DE5$Fh;wglRCvIR*67acAUU-5V zvKP&RF&6hh4|ugR4{i5k6$0=mPGqz?-A9GK3RLHf5M4yNc3|p!48a2yAFpxcg=kdn zg&El8Wt8eP&uyTR{3Orae0j@fh`;@Jc5Ucn=_LXhL7uOgH%J7L4Bx1by$?m`hJaM@u;p2nTy>Rx^> zV8VuvLR3$;x7~|f+;{`|!uODGlZU+nVHH2>@7n`_Ih z)yw5Sc7@Wv4#WRD?==d?-n35iZ~m=T%bOSJ#wAno5&i$n#YXri!$HL?9tXRBDiXvc zrkoE$-x$etI*UQY8YJ|1L^e%@o#?EoMmQ+Lg>cB5{PMNyv;$WkvNhp5lyBY$x7KJB zn5`Y3K)F!tSAYQlID+9ygoNCy01R71oQ12W*?Z&Gi>U^s--5_b^1TTV7r_+(8YyCl z#_U%xu;pSB(uT!5r$KePl&8BUlk#52uTG@C2?Lju6<~N{ATvQyZ#K64nZ`V(EL;Ha zW>YIuP3d|MDM=R0g|71Sd}7yh*n1uhQcS>*;@2r=|wDq74^ZFqrC41Wm^G{Q|!mhX>&O=MjeaH?tAnmbFg z?i6E>RYE4`H+qkFU^#%t8|#?ktT`cBfTY7>k9$GE^~NY4aK<(sFGhquvxRy4*9oov z1hv2-Kt50kmNu3)HZLz*e@rRBY^wO>0O7U(qdu7&`K?`gF5cJ0yIqH6b9R*;6r=R> zb1hS;b|oyu^RpS1aFkA$#>g@!?`GKRmbn(!w!1I77r{WXr5}zU`BCzdzO+_qTo6e6 z;^(9kH+`$6Z81^DvYqn2s`^?03FlZR93r&)g>=(ciQQDYt3@w=wPaGD4hV3Pttz>K6%pm_q63=>fa~n zE1`r^?7$4a7tdJE?NE@IlgmuTu8wbml^3E znaD#dc-Jj#lQ#ye(2FoNW*sY-N*I!pZgo-P^QTo+*1c@@D=uFSZyv3fy&Xv2QFS)&->psRKiixPYlHrk0(wAmH8aXf8s0pqg3R*>mW;y<>y zOvNZ*I@!FdmOkWaDGrAO`+3y1W9u1BV@&A*^M)v{PVRfi~GE;{f{8AHE$)qF>3vYST>S(r>XPG#&UJo^a<&esyXWB2w@+=8957tac@ zmsZoViwRk`lhBo!6k%=x(4^R_G%u(~mSUm8y9%(Zxg>XZ`N;E-z{Gx)Sy4ccWt_k> z0-utHh}cSX?&sdz|3|cX@gT*Ud8kEIM1LD%pEMD5pXb+~$(XJjymYf0BTgaN_C}Zy z3o)X@;;V)o*jOGiWYb`~k4a%)j)Fd8^K!Cj$%bV;&(xmG$@`@=DeslQ>&CWG0S)sy zbMKYP!DZfSZ5{$=01pcx5DqcHlg&y)iuNXL!*eD_H$)L!jP!`p$wh2EdG=k}xX|+j zZp+MPg8ZQ!gkX$!=9?E_nf6!sf-w=60`l!EHTucP3{-NcFZ@J z*tUaIh^AA>B%#0~vJKy9T-itsTN(05fhEms=8_n|nJms3_$cxkwCo(EfKvp4ZoNWb z&&F@f;;V&!=I&g{&#F7UyS>akuSK8>Ld=6Mm3}-lFB32|9JBNn%4J9KZ{7Rvl{R!FRk8zhA%> zQb;k;X$jq4)`m+*q@Eu15ZNiXsC4G48_C{Mep`SM~L2`iI z1it6nAoS?kBM;7)ctDf$+oz0wLs18&@JT-*m!F<=MOP}CeH1Vgh68O0S?AZIkyOyT zfmF~t2}|>n@N(7b;}ziHrgu)%Q1;=>1Hb+euf(+hhf1->NzSk}ZJq?`T(YNU=i>c= z9Ypg$Wt)}mhH(xr_FmG7zp(GFix-}=O-`HnVuo*A27-8m%5BH)xaa9JtxU)}gbWvr z_hPFO{tw<)nwEMk%`9v*HDk!MY!ajn+5yNGmo^^ofdkUA0p<76LUGz!GPT!^*ZUyD zI-e0QE-WgOi~MM@k7dW1ICJSKYI?$};itBdW^q=5zwzTFA|1`(QJE7KZQH2t1|wHg9O%luo#L_#k7MqZLjzI^wtZ|fVKuFIzL{z3 z(?n37WTlGH2$S9Gpz&%(3<*QbPTOIo&Na7R$lT&lhe-UA)yrn5Bg>#}*RK`c>PG9@ zc`j^DXZzv;mS&2t5uYydyXxQ$#y=S(W$v0?`m`bQrW-m=+nr8Ep@l|{d%>qv5EiHg zaX5XWiF%}F%=~0#O4y~3hBZ5IY}>vWOu$cY@eH7o#Qc51S+R%S5qrW17TnNns(gih^NuCmmY;-2;-wa}Kkwy5uVYjLKB{j|lcSj8qnQlUOa zE8U;be?G>?Mm$Y`A-ML-+&D_2#`Pl3HnBv5|X8gXzJEGt8_D=i5rS*k#t=J&)Gtdj1VOYB~GOBdL;6iAB_U1Crie#{OQeI#> zszW>HLCWuT8K8Q6c~RxAu0#e_zY|Ny1;He68dO zJC^+Qkc5goez(87_IK;6N^jfqzWud=HG4d;zg{q*U^yy#5gKpDSu@*FauX|?UQZ)V z##!HA+p#^X+pkxJ=et2EDmT3^Yp%L$74~T%`5s{Sk|f8MTh`fMU{tNisCtEwc(M(U z1MvT8g9>vZI{7**jH)0S$%8-F*IENU>iQ=7tUOm=O{{D&{U%BrZJjR#7}f(;%5PYgh>3t&j}@yuQf3v z!Qj$q%aToIMfu}({FT`lS>Z}a^_!Ki)hMcdO{3&O;%=}0wN4X}Dwb$7>BQD^b5~uT zQVzMeXEj4gE2=(~lCMb=ok_q&zgurL!81$_ltO>hjV$T5eDHO%lpJi7J3idM0E2u> zP88ndn^fwfh!k{*9{^Pj*eLSMM)KK|sGj0-+GzgY4g<8(#k>pm8%X~RVCQNM2Z6>oO#vhqfqq1EYyI{m9S z6#NVDB=~V=W(1ly@lqs@-tV78-(SYc_za_c{KV?*are+)$9DR}sFpFRK2&i2TFdth z0xa;P@xy=Ipqi6a^@e`^c>2F@qE?~M52^33wWdB69_{N-Fp9s{l6s3#6s@AWg-Xs}Sa2w$=7LXr88Z#0eloguB*TmjTViDDbFzyqENC5mkn zpXb9==%s+Z!sGmEh5oFC!>AI;%Mi44Io5GFNL}x^_x;X)N}eId#+s+d!&>&b(`8gS zl-cy6H|E}mz67^DROVgyMnEtQaD7Byao2>Yzk_NY!&W>6D`% zp_KXw%~cl1{vg4 zyl*)4JsKPQ0S>0*g590u=+K;CX5ZnxqWHNr&`jiY=5=6|ZtuerdOK6kjOMciJA`|Es~e|+t2 zmoJahUV17pM-Cc8w5e4cFPRvOzZ(`_%3n7VQIpok(7*^oI@kz2PQMXl{woN>~iK#*S7OIx5 z*TuMR4SWt)w}^845bv$|I-NmbEAvJvlULsjztzwgjKY!&!e-z165HQMCDCas#m4fH2Q z)_DqJ8^H*`QAny7*muG>o!A;K7QUt@jot{pVjw_}fUprC&&j|of0HD_aw?#bbM;i) z6=;KaYfc3+Hsaq4@c0rEG!IlL!YN^l*iq-*q(156!uqIsAGVcTtqS|BABx_vR&g~% z%)J1*w8C{2USR}kzwRDi-LM&6Kn>c&nWnD1 z6rW6hyYV&_Ov4+*U+lHYE5)1E}J=eZL{m<^HG zcQUu1Vj~jhp&6B&QD%G;fRHAL!b`(C;OVp(l9YD*pC4d)NT)A2;nsPZgiEi zVg?xn-662od-cjf65S!m!BRAoYC@6xhjvQAnj%TiLm1MJ48Oq>ow580dY@D*40O}+ zyEY%cX9suR#qWNftdX;^T-=o?S&LirTv|<<0$?dV*E0D{Q4-NOzR<$HPFA&9csZ$z zaAqk}c@&#~EM1}RP`e*rs`j3Ju49>De4i;&RCYIuRaptGIiAwYw z@1Z|f&+tcT{@|602Z*`krBt@vfXnj@mx(Cr^{Bi>pOQV+SYY!DK518Go($q^n}jOm z;S#&1itS46-|oj7V#7%pK6sXKDw5!)?HDWAF!^E-Ej#zWG;XyQmfmyx^{SNYJs2-f zO}`n%Hzp>+V(~o>CwgD((SqxE`C6M*CegSxbQC21*4E9;crmFL+O&-D{IqM@gDonQ zL25*E7FAe^QZ`H=Q(64dX>+1-woA`uncbA^Cwkbmc9{XuhdAlb!)T1Yy(K+9s-fhe zWbHBKl&qA6B4nD?LlD4hw(M`qHk{E_pt{3~%9ghwgX9`HeH!g-cYPESUP;mB2YT;) z0&GiL>SUa>O}sB9BQqN2E5gTrMiFkhBJAiM#q=YzkApoZuIe+iwl&RECll?e@bZ)@ zJTUBps&nS>(~MENjsVJ;-DfO^)lXUuJzJL1PpZO>FfasMZ(0u5ZV1j>7bd{J#0y3m zZaJ_bCYYXsuJvFmPH29`?9FJ|=?iKxj;;K~Jjt{OX!#Q~cZDVV8ROxLHx5|~UgNcQ zp415-n6$q2G?<6D@zqwrgzy#7QpV5N5Y0hpQ8c-boIhzPBxP1N3k?!u(4vv#Qjsa1 zpub3c*ZfV~r_@DV?U$Xs+Jcq{6d3R@rm_Z@=!FmQwEc7;AI%|xU{t}G zVyLi`RlpGhC|8*G)Og~jPy_5(7skV>;XIrns0(LSceWnvUx9Y?ZRl_wPZ8hmT zR3O1RG0)T!U`dEs`GI$_tnQI{D>kSqugp}Yty?^en=}dj2Z6L|35)`XXNeZpE4Ifd?-OIP}(30vS<1DXLF>2M?JIv4)N>nW> zCx(EnqDEZFHDb4h3mWn6vMMDjN!NO*eI+C%T1DkxB3)HhwfT-o@8agp#!^Q;N3fn-}QwVlvUE6#hk@f~R?8u!}zQU7RPqGQYqm z{^q593SH%eTjbUQ&L9RJt<5wxQ6${`c$chNI}kL*&nV81i%Hz|?~2J!YKDKr8A+H( zE+AQ8kUn~30MVR7gBa@*iCcwPGUS#il&2kYEXyMjRona0ZmE;X_$r|X?hlNcM-Ps; zpLAiKxFWJ?l}EBxgkDFoKV#M8*!Pqh3%{J0#uMbb7PlF%S_8F?ZBSHMX*u?7R{_<~ zS+*}xf1abUe0qr{$*na~TQbVsg>gw>8ODbD!m?n2%ua9hQ~H*y_z?58RsK-F+5M{N z!&5`chx~bK`s&evw0Eoy$JWm&hB&UY8rBWGHx#p#qcUADuzq{(~99;f$raP z!v7h?(D61joKNs3Vtz%xD{o@2Z5(&m&CQf@Io;x(d6#QESA3Od;@u2*oRv-zGj(gG1b8(hwHa|NigRqf_F-j*USC7JYGU0k@@WsQCQ@F2^l-C?@6bf%Ael9q(U%Z03n{a1)^ko%MNNcAHnxb+yh6UvM z?vhtvtgi3cYZVxqEW)bv*O&Ndo9fBo^S1m_Q~E0`>wR@4cwXPqUwv9^QbNf&Oz?B^ z2vnPvQtG;o~waaDS{eJpx6r9`0LA$J#zSOj< za8R^2Mjy@BM7;zqj0_Wenqv2tFS^j^`_H}q_$0FXs49ju_if?9R?3_i{j^xC-TR~- z49t7Zt4kk)<6t8;Ay!+D5xWrhiNSU7fN!uI)y9dG(x_=r9`s9$ozz}wXuE1iyK;1} zR|QmjcAYe1YCW0hot1Fpo-qb_$|fETwmDDSlf5Ccj&0yC8&ad*3nbYj81)Wc2S_3 z(U0pbC$Y@)W7L&e_t_9N#bJn#&cmM^2SRCJy z>I`11In?@oG#XIYnN_BWO|SI$9%|G z+%(Mw;dQ)JYRk^KiWf_GNp@*@sdVd0E4Zx4MM9Y|Brj)>qqp(4nLUv^o-_T^&6#;D ztRv@yNHb_2SyL8W6MSHEdR+INH29yuC=g2K(t=Wk@g6%FOl8=kMrDVQ?Akac>P3ctSlQwaGSzp96rQ zP<)}Hw*}&AC)=(xo%JoNc5l-^kF0JId~+hJ<>^K&t}bYQK|L(?Wt(YuKb&h6$SPCZ z*m1j0iX3Q=1Qv8*?MyVc39WqdsVgYKc=MFKG>=pW+tH>uYd5{Jhz<;L-{2@Tu&M0? zZ19-|aR2@#Lx5OKxz$~?J{ZG4Aq2?v+R0hL9ou&$w`WQ&4%^uXgK~Oj zeV^iw1e|&6cFU~1aD0l!!f7xNB}$N%mH{^bAkw7Ah$MJyk^qww zN3&gs1TPi>nIpKgT`{-C+4UP?jL)dU$#F4`@y494=O)FPCMW(#Amgwqs-?aG0*T)t zb6ixS5)5`$Y@GKyj4?%q#NA2I#Mz=e$bhdurW)&HF)uHB->la2-fdN@<~jc6u_$bS zST`2*@#V#8&g2o#^YAi_%$FaTZyaC5u$LRVBJR z5;v%Ks@9h~Uw|sXo+R$475df)lB+nXii8N+Zd1)v$@Ykb~+kj7ijj!BVLy|Q$0m0wuu%+->jpit4&{g zSR4DA)<8JXswb}O+ibia0h>)e#{7M}6y~X^0KY89#dtgm1~N$NS&UHzg=^=ElZ)6L7j)*3 zjlQlXrLzGW33Hat4_i4;j;ye9nznMNeycb?g;CxmxN$5#VqDi?aNlUBj)R7oa~#9ST_u^Qvkd~St4G)*H^^IK$Q}g~?oAAK+)YMWwR7hO?Ok6e3pWMqS;*pl+wBuSG|2}O%eu3W2ZmB?6E~f324$FzQYjc zB}5PyLk5lq&5v;jIFeGl>64UA6N^QDfTyLqXQ=4xF4P-T~EW`#tXlTMzGN?Z> zdr9e@N|jQ1u-`dSrkHLbp)6J}$fIxKhDr3rwl|}1E+ugRD3R@W<8+{xt3WL2$)(^- z0fOZsqBUyKx!7VeBIFIMBN+s$N7;%dlOSsP$48*&sBG)P*59dCJRB6d3x9Od#JFD_{Hw3P$C(9r)DaV= zAK@!KO}g>03gIVbgMEB2!aq(OQNofR4+%Iw6VtVDl4w*Gb5m^DiPRiDKN$NmaT?)1 z6Z!|n-J(aAKGveCsnLt9+9X=k4jwJ4x>h`oO~BSR0FSV~@Hk)v5Y1CrwT8~t-oQ!^ z7BPLsXU!yDQ8$KF)8zsofgpbNj1S#HI1uOpmKXV7N;C=By0Oi)~zFC zyl>P7;#H~n^>Ak+PQRnIZpN1g99$k{++VEjG7&hns3c1P(Z`r;M5hASuIr&Sw{EJ= zwxzUkAYoOG!F`F1`fo4R>F%PU{>uln$t0Bt5VLSph{!k?vnI-3QQ2gFRU1jsDbu5V z)(v%bMuM1OO=-p0`H7BW{jS-rnz#NgHjY>~ftqxZ!kg3@$(c2YP`s8Vz#m=QeG{zP z$G7GmX~z_)mo{NUn^H9KD=BCX9wTQq0Lt!2qG8=BSY{ZOmkcwUIx6tmOk)R3>ixBQ zp5}0!(6q5NYkj?DOP}X$aWmB(?1H^u23Y(~g!-@kZcTxSI>+`FOoL!>y1soP{bD;B zn-&q_$wf5{E6tH^vduZ1hq3!CM5g~_r?lL55fV}U#EXEA|7_NDT~j4;pVgs(Zu@WI zAG@X^2a{sqH!wwt*5?=RiX^RBT)G;}ox=Okt=z!5v#XpU;vki0OL^Tx?gD43(3otl z7bIF8wVjt7GNw_r){ldgpbSCF|JKrtX*LngGm*a?_z*5Nz7qh1sZddhL7hbl&(9kM z?_w%MUaJ)3%+}m!yMoJ+ zvyaJ&pIcLjc8q~xlmm+m7rTX?E%}=<8S@LQ`|fHDv7idU)f5WDI+V!y6#XEH1&dS9 zsac&)$qSMQjNO*}mkoK@&Zm zhk5q)pU$16a5zi6!ij`z-ZWzyc6P)ohy5c9@gHu%__QEzy)qjp8YVkAre5if8>^ei zotX^YM9??P>eG~~95P-VhWWAMrjZ4UM)&3Ed70{Q$y8*PAR`*akFHE$1-#MLZ9d0x z`rL<^n@b{7ASBP;qz$icimA>0;`H462_@8p_vf5J3O+C9liiz{Y*4ak=2-tB>4g4B zYwx=4K6jvjsKcs()|k5WnE@}G1EhwpV^zel;#fzZ!pO$ShN(1%bMY~+^{bK}CCOH= z&wf~uw0Iv}4bw{_0LTgsXcBqy3u_++DEez5wlHZ9((r2v}`_h-D&Gj+GaVr|G~Q3 zlfc7>)KYc9dffybJap2AFkDfIJolT^{iAzI3EEDc;tGm|i4j@MbHoUy;jCh6lvPwr zf6{5IRg|v*8ESAC?U&vr04N$4lU4vb0M#&><*a!5e)B^!|NQ;d0VQTpgaC^IX)oWg z8ZCFzIY!k4$; z{wd}u0Q63Mi7cCmZ7x!}@^jzD{1)TD{Mb;`P%$Jm42%jO8^)-idJR?=j&>19aF9`y zF^o|^N~a?WIC!O%!%>Y8Pl|--eq-7h8c@;s*Hd)#cC`f=o?P$WoLZMm14fNQ1O83h zLQBf6gYAg@MpK+B6b;(k+9~}}RNQ>sdEbWrY@RwdSI#$2`f|z`Wh`mj_`NkySF{z( zY5sJN&WOwmNg`%iMP0f(y8PKam2_Rk@+5v$Dia!W28;Jmik{~7A-{)8$Z>9-s!zeP z=&-DKldGqOU<-YQR26eB_04EkCQ|-*C<(k5uG#3C2o<(a=g+OQ84N0um_e@#IfSuE z$!(QXl0cQcKf#D$ld7&hx`%YSgyXDfGohUdW{TURe7al}aes8p7Kd{m*HvwuctPey z0P7G-=7kNOazX8)z?pZR%rRXn?c(n@gI~NT)9gJ(Q}6^xavYdjFuRWAM_ysYve$DD zi0crXFy~>@qJLl;ErhMx%*o6}wvgkIBbrd`$>J$B09Ke!$GJUjc zQrVv}9`LR0I-k)tltIuxvkKD&=jIQ?g-$@o&f;Xaqz4wCU>?n@ab>p&V_%)nmt+in zL^)Q1soOEW9zDxplteGy!s404f^MWal(?Ba5vUW!% zD?mJO+Pa43RGY|N{V;S@xN%|j#aa1+CK@-O>qOVS5&7s6fnIUYWH7i=EZ)haXryiD zdO;6HGc@59!Zkx_k0Z~zCKky6xv=@B5!{qQ3^aPd$Y|0HlzVqT41ALgQkVBal;*@E zx5FvAlY=2fhpceoxpNO^cx(UeFo6|yGSu0;lI$~~%BqD~Rtr9p*UmA4jrFGaX?udB zFa#p9i6v-l^A<<3T60`@sfRPG$#T&Yx+B#p;FDHQI8*d9Q0!tk3MX-HezVzeXH{6; z*-o?AnPL+vT6Ss^_Nq=p(+<7<2H7KZ$;~+{?O5M6pj>H?O9~7~7Ws~%l@lwfE9~Jg z>e#{?^H;muVf_c46OB=D&xKU#C2mV2R`Dc|s9Ad~X>Gn(qXgg^`LIVPkZ+olW?R86 zkFL*DP>4*WU@O7ZjoYSpe-w1kx2JF|pF(=l6s{MiFv!A82iB&r$0rwO5HM6R%%F#9 z*$f8i4koQd3DSvR$)?eS263_?5Q364M2@uTE$HgDfI<$j{F+W;#5EN}`8D~`1{5ti zcDy-)WhZkLnnQIKZ}$0nG22wWNt;+>s?WZPDXvw_pC3*WR-vFUIM;~sau(QxCD z6ebS8I8m1kALhgki%nLa5pja&Py=v-4rwfL;56fcS%G-CL`8#rD6$^)#7J`3d=v}s zz^0C7Kog!(CGtkteiID7^A_>e6nFDsZ}>$R&+@ouDy|(Cj@G2f5JH-WQLO;mDV|YZ zA6~U{Zp*_lw%#gnLdD0Vxjn6sTeS~;yOHeeU z8eVUSk;>G zRlxauy=?k&0_!4Z{OW4J4xu<6w+Y{1ST8n!=Pf1Xb{QS0ba0j2*&dRXgDcf2KN=gX zVhY2kRa%O3^QcR#kj&){i>n^pZZm(@$C4dE)Fi^z++Y~#iZlfAsc}Bewp#!_PDE`O zu1cPlq9unQl#yA$I0z^VE>CPO4dAimB;Z{+c-}a`?$V57%-YNx@8r`Od4`zB6Mke4{ZKtdB|iu7-;qX*5s9krohWwmybh207<#2Vb$ zsAY5Z%9t1vX_EXXgug}CK9O%56MrVCNwC}|SyWRBPmVKBcT>X(1_#b0Lb-wie%d2! z;S$joV~H#f5n`ANNuuY>lfkhj%@3q1l=OTH$T;Krjx#D{cd!olF#`pDRpmLji`U#; zyd2oFO1;Qc5Up?HeqhF`myYbIer`R&F>C~&AF4$HHpHFQoa9$+g)NtO)x3**S|&+P z@fu0WS>e7dI=26fW4K7O@=j0pCc^xho3!hb%1L7@jLVva+X)^;8=LxOcbPSe*k=H5 zm}QH8&Lb?ER3&rcEO3B{t?XjKWt}_!QPzdfZpFu-p6@&fElX42$oNuwaFqxBl+=Y< z<`HJ(x7*qNi^(2snDc#=f^FG0k0$OQU<(06OqvGG-H_HjR-|?cp5wtQoB+Jt5=5sC zR~VFF%Oc>IEnHzO7-H0XY8lw-E3#D?X69N!CU8%e2R7Qr8tad220bh<1(K2`vuq&@ zz2wEIkgZSQh%j4qYJa%aLR8T8HAnbEMiaw?EkTu5Z>NtIVL&jDx;6rFTm;QG*w6%E znx($xBD!Z1mUYzk)_uTktrRCPY^xg&bPJ_`8ZS;$n$h4|!WI-{lf=pV4y#l1JE~^$ z3*d`8pBqL-$ZUUxZZySTlFtppf+JrIqcFqE*aB} zmpA7O+o}mJv8@VYUH;@)dr7IeVi(4t^-66wEdr9QL>v!i#n+$CjY5N2j61_aRiJUn z^xts0a`T?~{?9u58-e7d$3E*oKIW{bIXEF~DJ*%Jpl*Z>_TcY;E6M*qQXfT+M}Nw? zM^QdYepEPQ#}YZ~yQTR`F5OPT#fgD`ciZ0g27bz4kbCq7_BYMRZ?I8MIqCR=w^{Oy&5@26BdZp=e_coY=o z!hC8^G(lM~O5wH@shxW^ZOHxl)@Auh%3V@+@0027Wif~(6_2})S4?Z!T{q=^9A_ag z_IjwloPQlQ1yuFHK3`QgoBuZEw1rqRG93;3rPPxH_^3&v_1|oWHAJ4Uj{HSpow$!` z7cxK?lwT4KSR6*bsXT{UV3Jik%n+S+ZH&8j7aEC2Xis(g##JJE0J_F)!-bkeup)VCt7et&Dqf3IZc?~Q zYGyrNkMC`ZKg)VjBi6+gXn^Qi(XqNXv3omr0gK_)QA}v{P&O}yx1rIL_>a(tUvGj& zh~b}sMs)3N>28`-Y(AKA&J(;O;83(m*ze&K3u34eIMXc1wJD9VjAfah0nl(GC(^kU zbeI^wWRrS?uAa*2CzqZKFJ!#0pL}OhIbVF^;%QEn2QbUbG4O0jV6Q{ei3}M*LJ#PX zUe|_KiJ)VxPs~~5PvEpmq4hZyd00k(Nn}?AXpD)Py7oHSW<1M8qic6U{A-kZK$%ve zaa=NB2C88{dDn;xu{HD;h(5~CCI~wZwh%M}sHz#Gmfm5i;3|u|%1aQ~tUQVOt7OgF zb%io|9afTweqgvyvR1unFfa=0PF7eT3$;A`qW+TKI19$wuK1GD!JfQ;aqH?h4bY0D zZvwu)1Z&rXB>pT-WR@lxm`O5ip5qB>V&pp0EiLI)9;KUjDb-6ANRoZr5e)2*00@3e zuRgm>#xycD}Fuj}BY2JcEgUA#xzt!vbESwbPCZxL7Kg5r50E=vTPF2_|H4 z3O}d7e=#!tS;GW_^}--K=mm`Ko(qGEgJgXzB=RsN-*0RM+Sf(@)lA^iV??W+ol4e7 znoT7vySUT&*=^(?hucI-~N+307M^mR#L zIOSv9JvPAC%p5NQRADCpj^u}(@O30ujtpn)FxVp7)_Qz{MN@Zo5c^@us%bMBT0bEo z{>VBvg^yuyOVN=lQ#vI!1OK~%>7UiB%~9Y7KZ`b#Z1aYK7CDW;nW+#_y)hO4);3WO zGB|^>fbod%wa~W;ngvVIwnjK(kFZ8S2v8G7{%)5~-t2d5QQ{c4*{x!AY2N{ zTd??MZ2JW_@iB^71@jd*Pv}(c)A9a6*wb^N&(FsKd9;Dz3q=)=`V(tGE)I*x! z@ZG#s1grcBxKXn?Jg0g2pMkraGcxq~-Jb0~`dPClGly`HC8O_l_xoy`a{R8s9i->i z7MoZmG(=t+4&ZQbXsh4STlv0)HXp9RSZIlt*C@wabz@>kc&%=#VANcYvv!h7AxQOv zyJT3tw{e%Sc*v;s+=3dmHVB_FjesX(1*Mn?0TfCrj0hPeZI0_xRM`gJt3YDIDg!o!#%e5<-iYzjH^V|o0bnK z36{ckbOQ^qB=ch3zK9@@^3ZYGu|Ls6n309+)roi>R#ylx>GiskG!lw^-s7r$98AZo}pwEchZ0?p)3n= zgo>i&-wkIV^9`JF_Z@ZkE{C;H8yMCdcOPAdZ!3nmk%aT@LiARyidz^@O&qe zyq`rMq(6f`D90}QWmJco=f-hM^t}%R0w;uX{oLKL;V$1h<0PYa#Y2;vbnt-Wbhv1? zZnX3!PW=+u<#=cq}|XJYQT6dLfjlycCuF6-Q-=d0dPi%rUNPS!Joh zI^nE#tkZGQFE-aNG-uu4SZ;u(ss2_aa4s;eFI6&30J#N-I z>F6X7g~BVvfo+lrUdoxtePEUyey3Qp{LvJvmmb-osYh(OP38$j?EQHvUc_1-C&Lyk z9pm;^t$~3X*)4zhAy1(<`@Yv4G5Kj$Uq7*FJN_XxtBxGev{_etAjd+6>&!;szSZM3 z`v^c?Ur+#>H`(R7QaaH+`8w8RVCF%%7*2Bu6F6UUn_y3HS})sFESSbOZ=U^2PuefF zc7jB*`zmcAX`Vuxxg7iGUQ@en($B$WwYOPpJA6Zq`PVW0n|ME5a=Ix_#l+g3S>L?N zsf$mEy;bOpL5H22(@ERaq5d0W!f}RW=;VwKa}^1No!R#ZW!Y(TNk95n$CXgt&u*Oj zBc$?q3D%2!jrZeo>8-r_C1XY|eKci@|L9@va|thN$S>&abKj(hi-0bM3d!^{l3{&Z z#YQuOxDyA#6vU_Db0R~-6hFq>;1wL7nRKnaO*c>aT#RP!OD>14jX!(SsnJdlm>HcK z@+cBw(86D4TY9aAZ<^q%Z`hBkl;1v3e}a}Z(SD56<_9N?gDTS};V0DbZLPTc8cV3= z9mVIqDfMR0)Eo9tg=KSTxOU?kOYeW!HfWO1;K;BUY#9`DHD(%jPyvg2<+5GI6$$lI zl3;>aSJqeKp+&?Ua=eQ6s>{ahPL_Pi0-}ANI-JfI;rj07pW*EZA68a>ZHr^5;rO9l zdxq`x#J98|&Ifa0beWVgaD>?|DEGJi5HVlMJc`|LXTAI z#WhOv+36BwdXCyI7u<*T1glo!9RBke*$dTt`a>D)%&4zYpX(m@O?r52#DEF7a%;?) zWYf*%dCGcuBYAdsxy#T;5hg5MV)Zd#KY1#4%S4!RQCf6w@!5#Pyabnbux1-C!(`VXR*vpw-+F48g= z@DF+WaYI9v~B8obq&gLGX@hEjR^D(HKXV zH3%08CJ=lpRkbk3AbUZWwzwSg^s|qT9c14UyN*&Exr+8qRQy(V!^+s z(fShe9S7*F&mF;nDt8TB-srkR!I?WEuef|kvj;%U1)IFEP@6Z-9|B*&N&xf|;ytN8 zk5sQ?zC34>=Qssd>PR2yxQe%J9M|!V=7v}E@nqlWK=nvH!V)Q6w;{OvyH;W(Al3XnoUO5=Q2mk}%y;I34nfo;MOP9q&SI%O`bc_-dky*t zZadV_^qV(*@2Vx|n$Rkx<^)yk?8)Z)_s13&-7M(Kea!a(2ViNNwW+_E+AiV^ZuR~w zx=xd;q`F8~XtSr+EE_6jU7QTwq@FU~C&pjBqdlgSn`EKi^0l2(KjiinS~;=99J`jr zjf!nM`A^X8BD*7u{@Q#znRPQChQL)7=a-gim$dyEC?`mU2?I0RWcdFJ2EDxm`8%isq)00 zp~md;@JqaE^SPj}HbF6`cP6jpPEcXF7pw(a$7g)eoW$RyCYRQTfHbn;n7JTf!%II- z9ln_S?+r6C#kfzA)73G^7FqPILQr?#riqh>(ibZ!aq`cc0w6myN(AFPR~PK?kT2`8 z1wQ#^qRGkK8-gx0m8(o8Gt()hUmr_+2-mKUPT{bS+9($7IWDw1Y<9;a>18mBjEOlr zG<`}(uc+%r5{@X5hU4@PDk(DNtYw%>aP)k<;k5m=_=UK6c4DT%J0JK-j{pk}hLYYp zQbuvtIUEDc5$21Zy_UBT=Jx;k)K|Xo>b{GyPm5c?vpLL#<7be@`J~*d@*dKlebL8H z7}xk~0@7}cD?(-NNt$BBHugn}MT}nFMx5`+ZN|h#14jLck~ztt1-*;Ff4N;=#34fd z9nX}s&)fj#Xn;`q(*`(*4gM*|8_vFSYspUy7ASIjZq&K%ZK1 z|ATntvI61tk67rFuRXG=f6hX``YjnryCa6GlCq;stVrdYXdJ03!G z$(UCaKPuaGZd{;5v&jpo;6;L#!J+UYewX5Vw^bJ7fj@W(Vx_iWYRg^Bbxu_4#(o%b zmn-UcZ3TPiVn{V@`^b!sDmRyERcFHZsrbgIpwY%DA171I&~9kQ4*c1tN=#%V`)dwm zRka*X7J#H$bZ}GRYILmSMYA91)r7nvKugcuyC`8{{)Fiai9q0qdLDncRML3~K*>A7 zgr@*n%b}bJOpWlh;Du^etR8ea;#{2RRKskZwMgdtkvs1;2kXr1U|(*ukjf7{lQZv)Y6WLI-<#&n6ru0;A;ZBojD2p z4h2E%Yl+`R*D~P0$y&8w{n$p zL0Y%P@6X@apJP1iSDJ?Ci6dRti#GWs3xDIXLm(X_b|C$+6oTUH3PjekWXtxB4eBcX z=A)j6C@mklXRWERI9M_F@slm|kTOA3i+i!b%*C>wx+6xEx4N7Z{2seSTd}V(?bzNw z$2Bd>$MExmqyrly3`1j2!YD1dyiuZYhIt&c!0PI`i22m~erzpC0|cyU&xv7|!{i|U zJop(!_TK_|aYKe#wEm4CGlx>S3^{yBjhFa~2T9P5tuU`u8k)#LSvC-Rj)eO}Tcvb6 zNR%=`-Dd13$G^p6N8X*8AAE$yXXhne-mO&7p;kpw)+NBFM1TM{<+U8{R8(WhY zT^q^J$mcc=XP0u`fVnTYz>q$;aO8Yw-DvlR_dF=;ViS0|A+>ZBTj*qRU^h?H2j_-6 zT$nKDz;*U*fzOC}6D=5II%l(y_Q6&uj0Lg@8%5 zQj%nlH@M9&AD^1?)Isauf|75N2-o#*#mVR;%84D$5I}c2DY-*d+w^5 z1nYS72Aav_iRo79#hcV-Y%M3DdG5FG;I|c3w%HCSN8fk4-iBXpXWV_#-tIVF_4fGo zfYIc<2KTs>s}}8UuN#lq+gWm6!)C~CRNc8Xxl{{V1)Gl9Gf8Kb)O8ZXT#C`tv>gu@ zV=rs!tw_3nsXmR%@r;((8LxTINz1hPyA0O2|_pvJrYX%h*zhD4q03oBDMEdMsQ+( zF)F{qJIvdG%rxwXNjS5IYz4hZdY~(ttyEOuno401@$5!BE(J-ePOIUe% zJnUWU>!urDN(U<=9nugWZ!4#Zzs(`Ji@Ev$m<|E^Ar4UG20EX>bRA9~tpwgo0hmY7 zeLfcq4$)$Lgn1+PC^R20umPVCWcOj5qBQN zI|MoKF`$_5l$cyKtd8Oz+>)&16K+Tr>o+Wq;!AV64dayQgJtwHQSj!Cf#}q^T!gwN3D;-IKOvm4(JVkq)M;JJ4bbup z^{D>_887nfE#aQ}bm z-mNW-X8HeqLEhJe`_18O0Fe-4j7iLy8UrGGQP5Zae7;pZ!+_u>>;ClMcr*Mkjiq;GP%Hp_6t|OG1Me_yB^|z@Zdvwmh%DSZ zAUGN_6OtkINcNAGCQi}M_N8dii}$afww8(Q#ilP*T(C~TL#NuRCAe@GnB8`gae3@@ znC9u+gCz0EV{}v2v#*MG62yBcKaDE+>}+|5d~;@-Xx>v@~7DpU0KL~!0 z(7l+nyf|mLd9sK9Jgc~C6lM&kyVrX3>)tgSMv6B@K)Ez0BK^rZk+4-Oq2PZ(E76Ir za8&id!~-vJE8egwrP5q;K$<@D)ws{+kDtp!-&Ybui3#~ljuVZUcVF=;Jv1LZc}O^T zgL-A?2n<%!msFxnXXeaaI&LDLKSd0Qaq7fWeVDxTeKBs85q)n|@SItwr;nDBtDXVH zjlK)9S7;o)ni70nK8S zIHK!Nblpf==~00T=qTM58_-Y63bWp@v6q+??E4$LDF?!!t-220p764k*HTh@SOw-b`f$^g~gVA-ZmmA z$3kM~7%3(IZ&)sRR9cVrECJYUM~xb4IiBBIIb}qmsm%d=N{_)?H9PsMb->q9jnP^{ zbv;jq{7=>eH&F?OQJ=;Kgcjt3j6)5%LnrIl*uqKMamhXx@cGv6$M<`@(ch)(zJ}75 z+&f2U@Bsg2T`(-T-n#rx;%7&o3Gk+W@2^LuF9zz+Ib$^RT{H+jTaf-hZNE}>yyRf# z%08?U{5{=Tp(ftz7obPT@Nh{j#Y69ZBNiZ1x7PJ68T9i;9P?kmj_PHG0whvmKBdTUVL{cTVCP>#wzQ9mpr+(_6_dEb4XxuJc}(zQc1Jr=mrrR1Q;K(mn|g>R-X>H1&{^&DpHad)Gbg|_nev6sne1sB_>~Orn;2Ju zkf4(J6nex`(YCiADQU_;wXmO3%=G9ppL*(n&w0XxsX&(XgCMG{UH`rp2Aq2ebBliG zGa1Wk&*fKp57kdVd_eXGC6_*z=%D6=;%vl|0G87CIXgyG98BRu1W z-P8q=DD@3@T_6w3K_EL7B@(~M9@~H=TF5=f*<&Lxg3=r3>=BqU65EMAqz}a&zJWju zKoDQFvAygjNk5cZ9G&A8N?@cFbvPzHZO0sPL9Fqi#*S;1NGyH2Vuenb2?LrUe4z{k z#!Cu<<;jK=1O|n&(r;uFB&-zqGCsYqi`r^6DgdaAhRbZjfo7MWUh5Xg=j|&auAcwC zSrg_oUrGLiSA7kU6w`7=^GW432pnzM*sx(IA?LGssGZP6D6*w4o)UF>EX`?Eeb3VP zne|;3^BsgG&>ddxzkJzhCtgq`Kr6`!djM$5SL8$DXV{#;4s%og4GF3DtEmRVWFEk~ z-DI0fMM5?mZ22qJv-vlyCmi|Qr_g}ovKOlo3wiInFkjsdZ~Iy*+ttlOZwNKewG}I8 zm6v9*W_pEQg9U8fUGp=YcCQ6QW5jzhIh1fwN!#*PeAiGzH=<2444wH)Y`dJlq>+9u zxjqa5vfXU6yBZZUbd#gs3Pjwe)W#(!GD~}^8>fJ|T361h5aB~1gTjY0$DHN7r5p1;2J^7WcyWXIp%Q7UmxLp%68>$;!48;S%>G-;tqfFiZ3@QLbF zhe1m=@0@T4aW@c7zQ4xXQvy0~?!?So@9c)XI17;OGH{Up9PjZ(*jLgu!g0eFf~!b)MAdvdwLG%>hP#iafay=9@Crjg2A%loV%JMZ_49(h-?vTw(WS$fZY5(z&C{ES zSPB}L!J zr+kr`w(+O4sz;iWX|;!;l6NVLq@800l+?$uVoca;ZUt7(*6uj1ExDsLNN^YOk=@mF zIHQZPfw^+4LB(`$6+I2P+2dr>_@ok8M%&GipTJ3>P<8XbQe8YZ>^Ua(0vXRNJ^vxz zcWKk8$Q3JDa5wqpyCKfxzLdY&eDUlb4rC)fx@k=M9oNQOk#-0pf;Z8NWu(k@CUs7SIcW=_M`aPglruDwzv(~Oco_IL&@Bj zl^3CR6i{fbNIDDG7xqVSk*D#WFc<;#}$tV9}nM3<;-emW0Ua#j3}0!eal z9#lE-|4L}!oTAVu)xqQ=6n=QQhWKI=&Xm<8jd5>{bZo@w9SK+j^A{LVbAZ|bC|4mt7qce2tEUd5{n0!x@!<4is z0U?H(CC*XP#5IwG0E2&Ov#E~Zky zM{w$;fwxQPYDS+I;jz)9Dxe?%1i>~BVYN6mOY=;SsfiRno@+&(&s9RyPD$vI78wW; zcmn>xUUoJ}reT9*dMq%wyy9+>ZIF}}eG1zkWr!gHbGdAitKtCmm* z->LIr%>9nnbgxTp#wwR&kfu*CJuR#J{S8lg8=B+2PWdd6A`8RlY2U53RC_7t+K}_B zGqePdVJnm$S)p@365Tpy0qx0oV3iXy zVi07mgFeNf-D4{Lt}p}ZR$ZI}(ZtfPf{0ldMMxi6fZ>!09@_Gc!gG4mFc+~jL^J9Vk&q6Ko`PtwTO1*eC^R6x++sW$a~6Wk@oB=h0tbU~Q}I^ez!m)|;LVVV96061XNy zwj@v_NZwFxPjqbU&8IYLL&oPE*uL+|tzS8a?@csyOK@Z+u3s4^t?0zbB}p8T@xv?5(S{JT<#j4N0| zsjOXt$MI!K1QJIMe&Hq=l9l@ZoDMmtFxil~_XHe*)~-X?z#;N0FsmVFacYsuP+;ZM zUf`fg)iuk=`|r{r<0^xcqI`XjJTj^zrbEV+G@M6d_;{#(%5;bf$nByI>100WoYAn| z|Cw6ZsxsZNq`Of6X<>a$#-#JZM$o>0+YjR`Lz=`)X2PXkr!Q6jmOZD{yL zz)R+Svdr=~BI@Y@w`nY|U{OB0lKMLHD(!VUdYWWFsyESK*213FESMT~Y?Z7zLbPN& zI(CdmY#Q9 zljN+YH3*(F@bsKUciK-jzZF?S5ka1CP7dTTmi2MHpbm#2Sc6a}Gf@TVa0oz=wb<(C zw%W;J$2%>MrEmGh8CiVPYM*^Tpbo5=TRe@Q+&v}~gr5XgK$DuEC3k4Qh-))k+oULJ z+*@w&>5d^FC%BHUyOf!HA`jLU>y;~DQ4`Yfu47h*0CZwbhPac zag}op&(fWI#5NCO6&OS_Uuv*hou@B+Bl{|bVRjEn&B(ZQs)@+$Gtk$@O>*#rCo`CVn+9`w zzT~D^ft!XQXi(&)>%G8CZgYn$EQ!NuNCtpPQ_IX$T4bhMe?ma9|AZkwhtfAsVc$hW zNf?+36+lb1doz451t(KFv-t2zZPh}aoSAG%p&8X`+YC1lqvLVCL}`gCrfm*J;Ee3F zaVhy$_;t=1earcddcN_2tDG}^sSHyh@lS}g?1 zG+6#UCj^`LaYlg_$dj+8LRg%Ij(0J~yNbQTvwkM>t?uIe?Zt@iO~i@7f@fx3)Y)CD z?RVrH9Egij7MTR17LMVqufh4=w}W*KVwjy`RNjEQSEs#rY7NXn1EB(8+m;ZMFJVQ{ z8lXbPu7u{7H*jQg>x=vNZa&KA0QpnwndR*H_n?u72XA~E(jOvJkR4A~)RPp|_OECd z*Hc5Yvw*blV@t+wq6UO*#r-QGuDpBk&n14T9WBmrH?}Aw!D6rTEXLi`O2M8vxY>`0 z5^>7fL45cX8n#4}%R4z?aX=dOpWm4>g22~W6xfN!B%1@k;= zU+~?C@4XRE>pIs9yvW`;g~%U52Xc1+%iE@DeP6NG7rc1+OlIr>Ox>EH_I-Vx{9_@n zd5Rgk9+g^);WF23%`s&+^Ha(QDSSON!7aCtYHXdIf)qWwCcR{%8~xU)C(NS70j&bj zrQu`8pQx+yg;;K4^Qbe$-MFMJE!tk$l;>0hAijQ)MNK5VY1$9iQ0o_oc}NXySpypv zn&8xG29Fba$Q)V7YQ8y;d!iGJ zR1zim`RaoHPVdTH%OmCkBWn+kh`EEQ2yzNAePAj@YZ zYcgUfx#Z-@Qbo+I{)*nqAKEmuHQ`g(nU zf9_Z}6nEPT?Z9o^5P|V@s9V}&<#MpvDZ`w zTE4J#6Bxg_>#vZ)8(z^3ymEFx0$MjF1IuJdW6|28#WGxGZ#`5=A+_#^H^--+H4Hb9|EU#bp6s z%$bdx8imxlM&U;t{0=7_*i}@wL0q-AE%Dy-4Y%XiC(8}AC#~5AjB-D|We`$D zhTC9^num_taU2rX8oJ>x)uI}Sb1qaO*xbYcWYJ zGUYiS(P83q%cI1TudlT;frnd(;s<yO{7R{r%!y^l!575@aW&I&Qy& zqy|gBRs|YHc&1cY+G;3y7K{0uXk!33nhFEgz9`>X^XwZV5ci`;+LwR8xO5p@ffYIY zWPyMtFZN}V+$^QYecVXQp%%oc(HH?QG*_&}Z`dwo4zKhqS|Mw*?FV&nSvaVxogLK0 z*<0B`T?PeJ>f&AXOhvnRPl(eU=cBoka!UoAZKQ(XTxj1Jb>pRaEB~MUcdF6M_oyy z_~_0i6;4Fd(pPcPyCFXVuDZhPSM^-&Q=f^@S`NqNh1`+*HWvzRJ2LUs`kt zp^6e~a^s?SB@5jRI%1rR_lPB-1ZVk)PmFmR zZ{h~NG|d>vq`$6KP`eCMr4#j0*s1_u>5eafM_D~NX%&BT#cTzWVY+EPUBTx;bL-2xgc));zwerJB|`5`U&+l zOlPdk@yAXGeG5}aAkn>v+mI#I!SU>AIEoMb0Up`L8yazh7n{1bK{5YaZfbcpx*yBH z((8|ze_~l_+crhKLdo}8hrcS#!Etc~mp+@(Scgkzj)~82qHrAFFyP{2Zhv0yoVN|7 zkAVgu3prcPGPV_Ot5BOR_IP1Iz0VQrd*-IbU_z|5(G0Y5^jiJhSJ3-TL6IDpqL^=f zd3#?v=N%@z=i8Dul3ima5)C_yh!JWL_1#GC2W)+;cz-B+GIbth9nqqRnpKJWota-C z{+@?~_|kgBdnx}`@^Gz&&L^gtoA>TnS)4_;jg!W2l%9G2z7;f}2Uq5sNZzKw;t}w# zBV2B?W=gX!GKv}%S2ij%)o0YRxFE#;{*#jbEo``pKp@A!@CQ9|=I?n%Ll;Z3hWEYD z$3}eUbGSvN@)p;BppZxOS7-JqSaKYKC0fGr$ikbdMWqqMnSWLH--0|h56-=u?%{`R z4*bJ;y?|l=DwDki!J+I0)gf&GYL#*!5lEWK+g@RXKe9hSy!9e+n;_RaLNjk@863j* z;=k?N&}3dUFgfQRD}E6a4wV*+!85G8w#m8Malf}7_n{63%Mqrj7MVL70=yRMA4yym z)?cK$z7OlH>EtZ_0Tl1K?p0-j9K|0hAn_3tcbLVkVef}s6Sb$fy=Pw*>MpS{>Q%-* zgmgwt;V&|g6*c8x?(!*e?*!_a(%dfG)I&V+9>!LcxnMpISq8;-?7UJttezLNYB6lV zFr?cY$%6nxKLgCX#$LE9O)GA{<#S%d#hma7;Q?phm25m)kK;qf@gVW@C(kG5U7q0NaI||2F2=8&7&_$g!(MpO1|JoJ)rQlapZ(AQR)v$xvh; zkwM}D8G>R7g^OP2`Sk=ibOLO;(45VRh$r7pQ{Y333PhVBlGNU}=gNF@--R~XX= zT3VvYm|H^l$UBLKd}dT(Z=H2BOtXGUKxUZ1tHWj+Bo3?sE&N%}`nqkQza0pcVh~Hj+vAqdx*Nu~!)Hdk zXuELp1Grx>7;|N&h0pgXvlinQUd2gsDGI>!GYH*sgu7in&2sQLNA|lc$9iNRI1CcUpV<~Cf;gw1ykQ2SQp#zkxjvx50=ursI}P9S1^_JE;1h-4H*yENlen9&UpBdxt2CcQ1X8la)XGv>~9Oz}O)icEQi8=~C zwfX^Kk`It+twEx*i)e$`zed=#XQnw8?$xqPj(Qfm1H^`F;Mf5Q>^5GqUkAjzI48e_}Me_wd+-hw)?!Q2xb za!Z&Wgt7Jm0QQJhBm|~zzMDLC)q7Zxe2_U~7?W}QppC~aYeY^pmh-%7?%>8c73bwx z-wjyL+0V4vcDTF6r?CFS=ikU&XJ@U__}eu-q85S$ zXDY$~F5a3>v>?b5%8uwo*bp{_vI9PIl)evaXc z_!I1AI#Rdd*NZz$mZv6WNn| zHMG20GxYJ8vk{_j`p&;j$$V*3Est9 z_*mo~amof?XeMM{h1c@3dRc+SkT({RuLeJg8^qe+Y~EKp3FRxr%8ZajK`k%Q*Fmhv zPXS07Fuf?mVP9Eu^zIwF;b1EDgY6VEGnL8d2A?eZE>x&_=HBb8z9+zYa_~W*%z`F~&S@POv8v9|iJco)OLh$86&ta+g}lMK>*E0!5pNABwq^a4M!`$62S97@xJNoJIH} z5Q+qzJzulqj10a2p4Zikemt@;O0Pd3_(UT-&&i|#Pa#FRQAK6b!xu5W53=~*^s#Gg zeH}CGh2j244yui9hRV$2Ek)F2yjw(oP>^h`%tdr%y2dq#y7zRAZalFKOuBJpgj2s=4l)xWsR|a`j@nCuqZ{uek8(yy z^GY6+)2KTg`VgpjImaGtDSQto=ta{l=WQFuDk*yn&s6K=T0g$8cw!b6-C4;X_2la(`P(qUiE_i`1>M3@81p3B z;RYl3s_DC2z*CouNE;?(?K21I;KF~wxLtiRTD71aEcg%hE9v|Sg*&rC!`_3oVI!2zj9sG%`AB;5Y-*_nU4wkd>M07tK|%&uFQXBT_z!uTLZhM0J7dA zFB341Vof9pgT8E+%zDA2Nkp>(b)Q=_dolB$LizLNh-YZ%ixP5qj06e{A1u*Hmk}vh zA!A+TB{5?T{w00vjCxvemkq9e{cDD*OWPd*(R}qNiw?jMmO|x zYfHA{xMM9exTL*oN?x6UElH7(FybGY5Apd^b1BgN zoCHU&F{J@{_q{j>7uzhLWhV)uGXLEs; zktfD65U6sg+?(XdGx0ASpmdTb-JARO$rE2hPy>;3eKcq1hy6s8cI@&V8M#1s^X%G2 zGcd-f0*Yt?QzWVeqp`Gq>*J!OJtI+L`=>PFC2dn}X=X29m|NCZ(FE=BYA($`DDj`{ zSp?X3?!$ht%?&iyDREy3it{~sG*DGFMwnl*SD;}c6othD1JcQ}0^RSMpuNcP#3;3F z_8MK6g{L2356~)W8x6}6&`>qxBdME>=<}6{YP4(0B|5M`^E`$VysuM^aYUzr%TqQ} z)uOK~Q<(+dbD>z_;RU~^FgY4PPeu}T`GhlGbaI|bqg_UrR8hfQM;U`PR6sJsEWtM; zonMU?d^6KbS!Q*%Z-eIan7i&fKF7A=CGM_uQBwMS1tH(>uAN_R3YhP|Wo6E93Vk>+~iyoF^HZhm-n$@iUPW~$(PJDKw3(ioLym}?u4o-^0x zi>!c+<@>Navq|6ipgaweK8^1CUU}^IcgrKwXGte3`QEfYm`GY`OGAS+$UadXM zcf(xro%ZD;iIJKjoST)|iND)M1g?u^%Xg?pBU#;!2VS^5SehN?JHBsnn;DOGPKp%- zJ4PY#eNG&!WXDD67aI@7_Y#j!QX?_Z$_QrrOvZzkQujD`DV5K`UYW<#2mZE+B032s z>r*?8_>RKx}g^>zhGa&eq8KAW1in^(JfdMOmM`DeJqKXbouWW(^EkpQ53%{q)n4u$Qjv zZl)wWy!A10|46!MGa{I5;!bSYi=ii{3$@Uhla2lW6L|{p*lM8%fgdKN*jA4Q38zt1 zO`;6?AtzHj$dw%6bUuC;$JTv3L-yzINQMTnBf!>wim}cQSGAyYsIzy4LtfPeGhjxHOmN zXJ)5jh!u{`zmQ{%SZme@`<)^sd|W(V>7(&%va(XHkw%m20N7t9Q8%LJOuWN7LkE9n zm3(i%F5f%3d{fn3nCddklUCGP(pj^^^{4l{WG4u@f- zd-1?1IZAiqA>X8*4aRXwl+9KSN9ichp(o(


Ni+nz=@N?SVeMD5u~#_3jS)z3%i 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 N-(TKw-;Nz;|9_29b|?S< diff --git a/priv/static/adminfe/static/js/app.f220ac13.js b/priv/static/adminfe/static/js/app.f220ac13.js new file mode 100644 index 0000000000000000000000000000000000000000..e5e1eda91d57636d3dd5a6d35f575f0fea66e437 GIT binary patch literal 194930 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 *f=x9+K!1jGjDVO*J)F-S zKXT^GQb2O>vc9t1sb9vNX!h4#1S!IxZN08EENe+E>szn%KleFOv<9!9`#Rlt|F+lp zApRtHVf##@=GQcV$n?6%kqwQW+l%QYU+;-kLrn4EndHS5gLQWZyUf%+AO=-+5N+W2 zpv%yr%#)O?N2H|ZT|$*EJNV<}FsD@vWfLV$y#>A`BG?*wL$-?_B&~!lur4VoJ?3qt zELM>=A=)uYbGnq-Fat^lt;_Mk844#{8*gTE#e{OPed%I@aH`dv4kQ|=UfZ3%{<4;oiylU817!oHTb|{XkI$*Al_t?x zJ1!(;@>*DD^M$nNFhwub~Xo=5C&aZB&D9Pzfy0netV_Oxd{m9l3(wTC^^dB=I&eNX}4BiTNj zro6M+I2Sk3tHlo{ZgYvF4h$@DWBhCRq`AW+Zm>ou8QCUo16fNZ*l0F-*X?LR$JZZ$ z7f(>IqSM1R=%@FD+0!YQJ-r9a;>G6C!HX?OIS1Y|yoMdC0GV zdJHpt;3NNaK*HKMKtk^iJU$CN!t6$$+!Gd`Ou^!lyTIbT71G-)N=`3DO*dh6+rK;RZWMR;itA9~U@UK9>)EnSze>9kk9rhf(GI@c{nxFzG(CC%Qb7LYHTDK^Nx^^T<~}&rN${eaE%_bq|Mqmjt%G@gCt; zJlU2V2HE>V-JeQR_b2uQ*C$fo`ou2a8lvt8RvbLwrGSU|HsX%SS-O`aXAyQx&Qiec zk(}8b-)R92O?LW+(QKa=&oLIs8JT01psC~qN2g*QA9+VJRnzu~S{qDR4uG$Wymn@H5Kk0Wh zIfx!bN~aCQPw;V8x@uElbT*N0*bd&rLru2=M%qKVkjuKX;tNT;Yz^y9o1~oh;ox{d z39g+?s*TF@X6K3d(@!5?e)`O@Q)iAHUp{)`_|Z=uIrG=c7v>kv4{uKZqmeO8rFy8% zpQEn6g)>Lz7w)q*8+@v+vEJ8XdSaNGbYYQL*`wOQJ$ZU@Y5w%l{f%Y_Ao2bpiro3( zt*ki2)}h2;+2f1LM?SN2+e5gcZ_l1zJh4nyY3TSKO^tIb9I7!Sj**27v(@ta!osq4 zU5}6Y#*dlH7>UB5j+|dwI&<1;U^hH5TzdEVF;xs8W~gSr`@S{{%NI^Ao;-4L;pEb2 z^t5X*!Ryd~o4@7x^GherjCYO?G|3ku-ti8Qi#0N!B}3fPHaphh|4?j8eu&X>lK1@p8#h{8}t#@aoIKnrJlXDC8=Z>6}NGR)*9BKK!$)%U+vKw3* zLb(~KcN4A^q{!(k1_F7EHg>lBOjmNU-yFsw@{|iHH-AywIVLLoB#14%K2JwNgBbc< zzbgH#?-f?2iONP?StyxwEi)n8i?!rl&ablnt6G!1ZZKHC%9QTM)Ve=2igVmoA5wS} zy9os|>yt#Td44&`Yv6yMQ{V=0JWZQn8{xe~?G$-E2=E^!;P=W_Ac?svVhnqf04G-lRA*x_iN=aU*$b;(Q1VRGx)&9zc9m5&F zW9U1xvuqJI?dH;(cI=6Ba`S#VN5|SeM$7w`#G97+;^3}jXepP)Fnc3Nd*fS46k?QZ zZv`dHYus!FMLHY!Mv5a5xItdt&^;{o}yEsQ-*XWdO&4U43Ai*QHDer(6N6fhot z+}D`suI7B^+ntl+*dSL7v6qGW^8ZOpMLR?kkk!S7)P_YvDpaC=+&^o2U}0#KF$ERT zWz!6Cnu$w-pSwZ5-llhdya)2e|Hncwhsk@$C&A-?>AfcIl&7U5ZXdsxBox>c+xAJ^ z0~8Q+;rxJ4W4V0gIAkuy`;~HdIp2YGMg-$!t9xzWyP%zml5d8=qA=SDfUd?$R zQok>KW?$s&j*fcTZDk!@tJkhxZa?ST^Ad92OP+m_Mch>+hTy)=a3)xooB{sj9($#F zCym_c2`PCyEeGgeRM(uDN*{f%$J-kA*=HBGzK+XM-+sL0xg;lfvplcZSqIwx7J_rxTQVEya+1V*2?Fxk+;~)jH5)L#~=^ zGf41eOTZ5E)s{l)C^~KjjQ2{xC*fUI?h7Z6e|o6Lg9otgn7`N^98ZvhI}i0Hhx`tG zX$SH;Ps}L}MQU7WDR!lo^@nQsM9Fr-299d2_N2n^Glb^3{Fg`P*;d%0hpEve894}L zrvf`{m`$ZBf$etmjrx@??~ZA9Wi2=6Zj<4_N8A{vbnkLd`OwJOlj=0;-2)RLI`1CO zFK@LJbmjf~aHX#uYT!t%=&r`a{3W*W>~v)}@e+^Iz@O@F*vZK?IEj~+-;=|}l~r_k zXBh2!;!>cw&)G_!_HOuSXkgy-H48|nt$D%#S2%g#4AZEUI{CyPiNH5Wn9yu+upB5J+_pISG6Y zPRM?(Xs|lImkcbmjmOyqS~$l}Ok#i3;%z14l{PHkJhi39YH`VO1`7_=JSa;Hug7r( zNu7IspTY?DIZllG7!u1`Fr)^*k{u3NVC+`q$k=(B^wTD!e&9wLRVo&dQ5|4mENKaz zh61Ta7+=M$23s7O1c$d_SL~ifB05S_gzxsaj)s0DV|=*X7y=vzH27YmXCrjNomlN; zyx_Q-j!I5&^`54KX%02V;N_?pC!EGFlNoUD9x9ke+kd#zJZ{b12h?4+QX_v)dX>Tf z(j+nMyCT7S(iBXTvT+KvYKjBmSK8|w z2N9p1#5p95E@?zV3RZu_xV8~=meCXkOmHwBNpjoTFql-5mCKx(2&Q%A5yYn?j$4VY zbx;DM)poN!iIS{%&gEK6`~}>MdI=9(lUE-D~X*M}f(%YjfMfD(W6qT8wZ1o-;f7XT~Vm zHY^TU8SOa@Fw?|^Rk-1-D&2#d^-g2;`ZA+i0VNvMW(s8n{E_!|03~^ilEF;ejC)z5 zmvJBad(v4yMQ8n8=q#@C(Z$fj^VcGXpwU`wA1qAerk?G#IqEY|n5HXiVm*S0CGnYN zV)zo$DakMRD>qo%{?t{C4(rz$^*y4vqh6BzulO+`%2?KnFK|v4jLhbDoFYiOPDk;V9pdE@VOQ$G6>;gz zCy$RN!?96>A}3ETojY^vJb8A;q|HfpIeb9F%0@KOt{+8QY`nXwo6}I}^!%yO0chqz zf%yybOY@^nlx|W(p>t;z#(1mR^oAm1(=msa^3+^Dab|I8WK3b#Hk3Rq2j!EepE@&A zGJuJaDP535S{tn+*UtxD7KnOK&Q2vcjRh|4nFSVTkCnE=Q?fp@yFv! ze3h3?a60V0T#b|9)(Tc4&t)#jnfId~!(*)V@ujs!HxflgEA4u>^|!rmERHK{RlCq1|BWDdGIK9tX&TsH;-SWS0v|yT(<)i$MTQB z8eku1$nCH*M#|G!Yo_OLDc9xzbaHsaY>S*~sk<6?^3_|}yOljGU!$GarAfy&Z)Ry# ztBB7S@KkEW+>`eW#07-a;=U!mAQ38D2Agx2?f5Q!MQF(bNfYVxe&K5Y|z zU2qG5KMQ@M-dS(3Io@t9TSl8yJY^CaIheN?sKv+ayx&k;jiHvB-pxJXwwZ$4=ALjv za((oW+a=qFQCEtn1`b04IxtNMJQWK?BEa)TfKr8%v6XX@d>^raqcbUg*5 z>wCZ`MY10@j>xXmz$wKaB%Zi5Oj(P2LTxbxwZ%Q479+!>gV|n`mGHtbaEWv52QK)2 zNf^h6;c|6PxLi%aBPe<90htH_~6eRK1`$0qt!$fp) zPcWTKf$8KPU~;Ak_H+-$XB0oMJ;G~H9m3CCFwe(}k3SwCR?)p!ymVN9NLS*OtbL@N z+G~08*=WKBZii$vE~8~Pm7-=}95NMt^?ZTeW zx{!j_g*~991x@V!Ui!V$yh)F_Nj>u-{C?>0uy!W=|k}CIzI=d|tdd4Ig}fNkscd>rhyJ zQcjwCdwIs2{v4--x48NCeKv7J3_Qi01APvbIK5`hTw|5aQ!>`k#OE|T!i61;w4Qu0 z5U{K5_mFTUp4V&z<2&@Z&pH zt`7zWGw}J*bH|SzKfQEvejyzw=LRw~HGG%y%CngE^GW5&sP4_5!V(YG9+nkjXXlC} ztB>+4YG|ZNRK~cFCeC|RXx4`()uq$$=8sYqvo+3uNj9sl&t~PMHF6v%CW5`e;HaT0 zaeqxYq=7y=w6k{-u{c*)BN({e^HgC1^P(rA1kQV9Q%GkAGw(}3>B^<#Cp~yf4wHzR z@PsQUOd@6bJhBrrAI#y`#x2VEUJm(fCa&NDddL${$KiY=)7Y4vDK$Zi{b|+__xD~Y z;61{Ayy8fk*=6oYPtd4cl}~Um;!S6<_wSnVP#Hspv3NPfF5=W74(;#DS#p0)L)jFF zhR|;?ZZpl6E!@T*G9>){zyT_D{2ERK8-q%WDrNOfK*x4~61FA|u`!}MSWL(1Q-?-Q zGS*Ogr5o7CeI;etALLjtKAEh@t1kPY`ZSniJLeDi{gf;nE<~VLZCW{(&M%j(^*bF{ zs`9d=6K9ulS#LP5+^{ra%C2314zzDoo4R%f-0CXvHE~< zY_zWOOaD_jwuN3|+oLOGdSqdF^*R2A5Vk(mbSb{A*r(^uj;&E*k({H)o_8C&Jh_o4 z?&t|ytK%a|VkZ*PuPBNxPH=5gI-#@`%I7=y*juz5@2V229t=(v{)#?lzZ^A882rF^ ztGlK@2>AB+y)!6K6gD#JqZsR!H#^~X%u9WyV}Fe;+6m0dpE`g1 z+?XWXcEq+(U+Aad`7)B_(pY@A@C^kx{!JWLoCy8V$`zC@gCuo6Wb}sV84XmcqKxt zBh+Zh4o)rxk)xb#9EgKrydJb;t~~p6mQPcs4;NME&<3rqkfSo=70o`)lh#RMd9_np zvtd9kwg;kInhB>0dHz!D7)oPpYP1^NwFCK(Loz>I=^qY>nVl9hCh0M;vJ;gWVJ$u< zw;J|pbCSWn7VBQh(`>!$TZq>w7jYFF=t-riQ$RD=V=~F$y1n)WArLIb*;c>V%wD`$ z%+6*RZGL*E1CIA6Wo74AR?aDS=0Pzv+l(o5sycP8Q{6}{)Dt(@Z9MSglM~%*4IL=$ zal~Q6#0@+4G*{Ut2D`>Tzqy+h@IhhN4Icx1a-~Az`}ba3gc_ErS3W$nz;56D zQ9{6Y^7m=Oa7bc@|MGMq%aO6*|9?5`XEPZV+TP{3+W%Ye|0toGc34VRt6e=IgpmN# z5YD%lQVs?VEE&)OSO@P-#YXeAzC7i$g`^{UiMBqj+Mi@zAKfadA?wRx8@;~u6{V#JVG z8h7G;7kc00UDo>~cYezJD2uyoBbqcClvczx6a5NYSQhnCmN+IINwkYXq72S1<$5li zk$onSxU9|@>P$(ZgMQg=lzPWom5avHH#_ufwhIdZabh!Zwb%>TzM!1y6ZtJ(g;KGSvo z=N5(|D!Zos1lwo-P~%=$W6CT~WOILKSEO>RA?|o4fT@8?Br<8y|FN(As%> z__1bkR)ltGCAx_9hJE%-c4P2N#YbV0e?Yz+dj_S_0l!Z&Xlg~iHw@LLbpXV`QH8aT z5&mlZdiMZec9xxqok1MMg)Y`Fv3dV&yMdo=Q1i=K0w!x?5IDuwn}{W#*eF?VNVv zdB(gs>JB!(uQ$AZkIzMlqYt)9SNZ>yTL*5hU>7Q`>l8?-mT>6*TDxcjJpE-K;ee77 z4hvl8>Ywd5Ix)2wYr9`N;lt!AxrQy;tj_#Ch3fQ=Ez#uX(&{h zL0&R(sFrOGh(mkqHaw6xG`PW$Mz6+{ca)jxx=oM+ajxPE2s`BU?8`Mzh(KmOPJ&<$ zZl&+CvsOy=qE_jp_LVD5=VR#h71Ir9lWUhG#v`WQ2gcm}pzS^Gn&J!KZ60m<8^rLT zomhvvDJtI0M=IW&d~ZFyKb?-_atB-3rX#d!U?m;|e|8 z^bgEcm)y4T1G(e+(@soD)V;agS}JY-RYH{t)Oee{C`xRK*ZxSv|=wQ)4Qu}*Gzyobmlzp+tS&el7fc8AQdl~be%Y(LvLOXA>e<$RW6 zb%&OE*{)}O{^-gx*^Roq+gIvbggla!l^$nTG^^LUmFv3NzyrElnP(aZ(7mMdgZtBS$Es5Jkz?F^-_K11WfA_b|~fZOLJ9}p=8LSrgjVG z`2(5m=9S3?8wVN6Y7!nx3(xf_)9NP76hTVh1MG{RUp?5)=;)1j0&Uyj%9PEFJD{_Z z3g3$Zb>i~k!%J9q6Hl^<8=oTow0F)O&RtHum3nq_o$zWMZa`i}ofa{Yy_OWu44A%j zarSbZA$ej;0;)mwuWc$$JzKs23#nH@yw-ugZcQlOXk(>OW`62qTbC>OYU4^@knfVC zd2yrBYH@ghc2TUF9)9qdgH5Fl#xLTa9VdcMK2lMwrw8_C(q|FPTuRP%X;oczdM|?H zIR&wPxc)@1!v7~S-Ar;aMU|4yKF~XKj17Jc$-H)8;$XgBoIKrMzg+L|Id|dabf5u-5K(cpbj7LVCVZz0L`=0Ry6r z@3Or7L>#R{7jYVB_KCNs=V!Cs>+6@>%}VBY=4Li|UW%We9e7@dpD(4K&&7|QPCqWk zk58o^7vslQGdC}BfL89w>c?6>PT|Sw6HiPaIMhFWsCBV=$sNr(;pY25{b2I!iK#q! z(A!Tno~y4M=uHq)vC*s&%W&{-rgBew))*0V9k5tBNKcBx(T~sVVCQGsD7N|+7g=bi9-#k;Uq*@q|!etKK5`x zV_~8l^miEgM&RkKRWb+Bf1wfxVg*J)Fl{AAF{spY7iW9-6MuMsda-@T$fr#9nc;Nv zL&qb;S=i%*@o|cHeAk{Fsuntg8qSeDU2%CgoR4P}3)0{b3==n)5sp7_1rMb993FP? zfomNI+X&R;;9q$Rp8(A$0VRrKPtD~JgNjp@j|_0)hL1sx1)GTjH&&{xE9A)Ucbhu0 z;>6Oa1&0YVNG1b+GDFs#)MH#UlgK#v`ZSOjfQx#Vh&UEi66-bL@Km2^f8yhZa>Tpz zbk1nEy!hY4x{~Vh#*Y02%uAGN zE1zn)KGQwG!1Q)f$dUMw9l(|jY_oqoy*i&N;G{B1*%7B6G+4x*WGOyCN} zH0Zm3zdG){G$sF@!=_@c7JuJQ-dD%HZzk{Sa8;Mj8+|apF5@ILo&(-QpJLD|=fU`N!EHc?m&W}CPey)ROQ#Ze@ts>#KTiFvr~l}?UkoWGv&?Msp9PPT5)!2rm$I>D$bPGCfyBBayz`> zyYXM#$BTSnTvhq}RK8d~!JKSP&P~&|6Ry|KpJKA|(^JLr?7~c8%Fo+{+yak_Q{`e| zGoQ;%%@oVeXQG3tF&Ad1$}@#%wlGyO zh34#3ey$MlVs54!%}z~ETPbezp58UxM-d+}p9>{svOMdWI5AzGDwin1B$oNCG*zB; zJv!*%`tgs#8^re!19Z4}FL38W4V1$6nfxQd(JTGN3djh@^*Cw|9yyM>ZlvIq2PlPT zCdWMIo5eB{JS~LH&qn3BskvfdvRtA>X|kLLeO0bBHyttQ)5TJhXVQzM8ZgSwO-&a{ zQDLe$H#0evpW$kTE50cgHzxsjX(3;jnVOrMoytwmL_9APB5IzUnXXYPFKkfpQhtt? zbEP@1=}2)ZUs73~=Rr;Sqi;c#seEqc`Ss~(aIGAbW~OEf`GxZI6qWK~svwM^rE+1C zSH@2`7%n3F#GyI(eeW1Erk@AI7vk1I^FeG2Dl_?F-3nJN9_#6ZM9PvW}N&f{rgRY31pt1clAa9@U#^ zFjqqbUuT(>B4|IOvCQf^Cu-DG7AI{g3p6lC)$qM(TA@30d=Ax=cwZqU!Cd#>zzb*pMQk2_29jvaM*w~#8V(FpT%dHJa4_8jN2M(RE1Td`Rp6 zwR&x>iXA3luI|asbd=9MED3;`5(&U}Bt=QHEKhLCB2!eX=lOg-ng-7bVzCfm4z$!2Bm0A3hn3Ed$Vt*6s9h!~*r4unb$lW_M(N^Q(W;xxi@2E&5jWSW4mOh1R}js) z`uuz9_TA9{Qe!EpuR9LK-uk607A$QoWfrv@7izglmfze=No!sn*{aC0SSU)klqBWv zK%o+=CtZXW3#28z)3qzWOi~M<8)%qidkm+Iixk9pc%O@Ct%R(lg_sGHXs4-Y0pulFO&uFXvEDYTf1 zKURgllBn2YRrG7g`>`ti_2m6n6@DpsKh}isT=JeQxk0H;^xZSbds0n~zMoItk2PVO zOq&SKo&4E}0i zxMB}+S6tJ>#rY?m;o-VHT${+Q>fyrXu_g~U?cwS~_R67nI5HoZ4ICoEfq{WoN4~(2f!VvGK$u8L6gf zYmMd#hOJ$`bcHbmV-#o~ZcjN=Y9`p|d+Y`ry4cA24sv%XOD4t}AcCK-D*Zmx&Q@=x z?==xT=c$VNpPSjsBa_awWDuO$auJyPjzhHRZAVH0;!PWzS+Ex^;fO%3D-7yf&v@buaO);8pGw%9?z}oAx zHI}&eW-9gPmb=%x?3!UA*LFteb#KW1Ih7QurvV)v`c&B*ZVC_;oWw&n9bmLMLob9B z?bWE~;d8Nf$wTEK45NW}0vo{hFo5deO!&yU?hy~PT#DyEKsvk|Axa}G_m-?8AmDPd zvEHyLZyg5f-E@O%mk!N$I@RkO%xk}#D{X)P5he~N*F#etW1a^aR{T_1tDusptXI3W zcF$%!yv<1?mL2g-@Y3~_Q0Z^HWEWG>1vmHGD(xa?9zlOk9u|VH&v~+{@1aAYk z)m^{eo@=v37?!DQbown@8^Uyq5J;wi_k%l#JcS|oONV0`&R@DTj{4X(dhYr%4iUS; z_IR4$=}=&iJND;#`~mA!C7h7P z@7$-M3c@$}OH4syW7io=%DTR|D1{6so~NL&%a|vI+Fnd`9>0tjtYXbcTRXnEKPpVv zCJVOQHUfWO0w07Hz3@aD!FZ`kZCDMF*svgJvP)ReF19Wms`DqV@%TWEtltQ_Lzp8$ zVhGpts0iT%`NEyVB1X;e?pM1df!e%Phc5DcoD)=Qb{jn1#Muppk)34;YDB7cf^RN6 zNzmp5ip+8lq3O<*iNk)8yPP~lYL_tHzL$!_61m1ak;~1=4!S|er9q!@kzB&&bBEb* zu<6nF_tOa>P~7yz)oklhx-ag5mwJ(=8tZPQ5bPwe+Je^x8iK^*j~}>psG&}TCzrxZ z4L)_gPuXh|m1_)j@Ll*KO{aq;yyw(zOlMRI$ug30)v$arV5dS|pQv1)$jbF?Gq?^p z&h%8R=T(tC zwYkS0^V%EA)PN#aBR(!Day6&Oof()9N8+s^MW6@gB%5r#b)~oV@tm$jz}I(C=a6ij zIv49|U~RouHI5^hImTKUECv-vJ&^Ay$0)2U_v$E3(phM{(Q=4xpTs5bsadb~cwduq ztyAi#LVhX(8XeDC<`_vIf|kd#%WXVCtF3{D;-R1)4pDf@&JRqGbZWmYrAY(x$$%`0 zDI;FJa57vrd_8=_GzI)rB|28U=oozc(X zIVS^1@*YE2QRJG6UmEAiTj{}>bg=wP531W*BQR{V`O2~5uu_?`Ru^v5mR;nA zQ}r%pjz6~;tLoVy{hLV6Y}+GX8V3%i=d!b_Ix&W)bl@ILPtayMH;LnvHOEi8j`$ci z@e7bf^-{KlvlYM2?`a_hcA&-m0b5|}*ivqF0y$<`kYm~cwfNY-IRSJ zyurgP{n%zS1MQ_BHXFDh$rUYDFNF*q0Rj-JxWX$6;L^$z0d%>MPg2;^_FtwO zj(c+;{nV4$P|poXS+d>ajnHEIaMIB>Tspb)SM8g==U!5P56C2BQ#aIa>~X#<1n3Hw zO~{M80<8ML2yo9&un_jfb%1v8fCChL?R!%f!UChHg1Qrskbm(Aoe;vPwt))Qga zvz{vJta&ez{-%sxFd_nEUUw18cAjkWO zqzQWS2JgVreZ|-jns^bfS7luCtsEY;nZfTWb&pJgZ}FLvkRDd0paUf9*~m2Zunrr^ zwN31ar?G3(h>_Z+v3tMM*a*`YYSJ`X-Qt!*(^z#g>SnIxkB1=jx8{uauz@+NrOqnQ zkP-MVHW1Vt(;A$Wnwyn+suDX{hBaqgabK00c5bGC1v0tW7(@d&Wsu751B|Yfo7uIi z=Z@^|eeuvdD9s-_TH+1|!e<^)b^rDFa9 z9*HOPq+Gf%gUi8m@kH)|EC2ku_Q&~fQblL-C+66NE|%;IoXDn2C6e&GZr;h`6!f&cIuq z=p!qcn>&HiSgwTsAZ^aE3y&uaepC7KWN6bltLE@Mkh3Zt2Dx%GbT>x_3!Cy!$QAJ< z#DyXU3Y2l=%Fj&GxH+NBa#6ymOYSXPgfSFoMQ#xEy(D+V5>5#28gGcg=Ik6}#9PGS z($w5E{%ClsQKXcYUxYr=_1FQZX_^g9Ucf(Mx|lalltLLlO`N()Gv?hmgHsyrL>Iv5 z;!Kl);Aw-i(Tw~p^V74GVaCgNa+aqzHIexy4nrlT5U-F;obSrh3(R#HryRUUa8Kr= zX;o9wH{8p&a`yRk96Rv~Dd3KVSAyW6au;yZD9_|^feTMI3v{%M2ZwxgOSqyiPD!uAr+T(3;6Hq4E_0Kn2DxcaogBkrwlt_yy*QYI@F|OwX$6 znQ3_<&f*zp&VV>u;4{G#3y}(VkCuO`<zJjbWi z?`eD(OH6nUZ=5+Hx`QG(03Zal8IXv-xFdl@Kp!Vn+)QmUp~@aPyk4HrM_ z2U9hT+p79!y_82%epZfjzfSk9-wU7Y0`$&_qo7#I&5vlbt;B@^d2j60W@N8pkk* z0G?3J%VW~YL2wWu&-ttJcD)9A&&p}jYI1L=mzw;wmAW8aUOq~|Lva?zI=S}E!lH2e zq&E@k%^YN2D&VaSIPt5?ogmDjJPmJ5x~PUj7hNaDbYk6Eq=gPAwxM+w0F3E6Nk!I&+_Z;uO{p%DTH6rHS%s$&L zJU8=L6eZC_p0u=0K<=vTsX7YsvaJ+!8KO$PbT!v#7k;dI0QxH-cp6XLsX(MK0?$fv$RSI(065%I<<<)FCY5F%^o+?DM@_< zM>XXiOk9J0iiN6t?G=OIe%vVNzR4mC)w$)XXGjbRc2Vqty{A2SXtPwzqUserAfNY{dD9z7&hIM~M)iOa2bWUB&Fkhdd0-xd!KvwfLNp<_uiMB~`** zxRKj0ts~F!l-jH)EY96oQN1TnO>(p5Ot;d zM@}x*i2-7f^K&tp6N5!(n#I+B&K8e?$qIQQIfQh^_oinyS%*p`p)w+}B=Bj%Z=eKF z$dy5la&^ere$Gj?xTb?u#F!xA&XrEgDMrf0TH!Y?aguk^A5_dq-|}WxHISt0p=y=N z2~%|qk1k%AgAo&FKshuKbMr@mKmk&W&UD$94Ww^0h`F4)r*IWe6#0xbCs(c_lWT?L zkEla3l=T9vLoP%Zy8!;?ax+8aXbzgR8njX%NV&g8VLV6oS6fUd(i6h6`y1Y>b-b|) zL|Y=9F`1f{IoBR*2-*x?QAZ$4f(2|gG|@1beZz(6U^4TB60oMtaY>`pIbEh{9O#)4 zCKZ*}W`w@#_1GCPxF|fJe1fGB+8>$<`K!}Y7-&gcwM@t(b7Q{vD86DT{3%nw)sFBi z@svL{-_nt!UD2-?k~VRgUjrb$DiF5>lo7)nF2ENJsi=}UVSWTMyOu1EYOTP|JiGdIf!SzCF< ztV6q~#{~y%BHi38t(H=+X9X$L9gz@PD)Yc%0YWn=7#4U3{n(`g-37u#%lSER2w((F z(h<~WO`^eBFJTZ0{IKbyZde3xcG!y|N`O-lTOCSl8Im;&lcZd5I5tH3Ugn95iZL za7YLm2=`zbGsQW2Kt!YcaUh5(e0H{`Ni&w{h`vO~R^SeWG_u0KM9b7FwqYGKj2660 zL{AYR#axOQ>7Vdbfx5cZEWtZv9xcw!txc;n%ndH2$kU+e+tb5iRvA?OK1GkbXM?AuS{iym;h`|3K>lI;;2? zA)5%!`O*nQu&KEP$(B5m6k6CU3Zsh8pTa(nL!QoIBVg^EDK+8Etgi~qD$Z=qK-Hi) zxI&l_D1xmCLxa`;_z;-PifT-M4lV&RMh%9GNM_?R7&(Y$u;u22YpBMD1uR=R3BOoe zpj6CBt{`})uM`;T;_2pGD_B>`nB%NP(2*9==2+*CBIAp@%@8z5oGVxhnT6pzzs_)l z(Quz);R1Hk66Pm+W`>ZtHM_>9DDH-c0e_smP@eYv^kwEy^YVrL+ew-Ps*YeJ$u8Ds zo_J!9WET%@yJe+QCCDiWSJnNaM@)4hC6#Iyg$O~`gq&Fci5At(%!05^<_s7Gf__n= zjg?V2>fEO6`^C};ehS6eO_{`|XV;`V!IJpN7mI7!P??#&fJBfh7xivBe*wk=%CAYm zx_TDe~el`c51&-(o3t=>47Ne^~Do| zr^w46>AkTYtl|X4zIVM&3cCdLlBbUx0h6ZFXb9vmq7{=%628BjUQc>=Wzf%msQmt4e20 zw3~yVSa+$#dSKloTZ%fOYS`$}km=ll%D|cV04o`ChxKcE)B03wxu0 zY~8iX?P`Y*lw;wNWM8dboOi2|!A&NXl=SDnW#5q?Ke8-GaDkh_VWyxpNQ0YWTxYOGLI9Vd&FgUSV$fg zl85QC2!g2>>GG4w7saHSVuqB2Ekt$K7-g0emsH8v4>NbYRb6k?{KI4JE($N1Eq|FX#L}46pHtk2-RPNaBLAvu zSUvd4AvY=G>gMHYr$V;vD`)z! z0KSO00Exp20QHAUSbC$k)(2^xwqG!4VEpn);$5?Sx!Q~tl{NBamWp9cH+qepkcsLW zt;pdSZ%)En)S~#7-Ck%^&pHpjr;dkLWRj~!@l!WN5E!)~m@$#-^}kXWl2EDJm5*^H z6RyZ#NUX1N7rGC0M`mAl8#Pu#wNaxR>6B(zP1J5hI@cj0Dz>VA84~&o><%!hD_Vz| zBIU)SP!u{65ln0KXCq?ur=n-uYpuV6R^^gNa?u(Ln5CcvTj!5vuhCh-`?SY{Gac2| zf)7X6m|R8^=E3Idsj313AW{2`dTsivsT`P_Y{W-6VET8eC+^z8WKITaw#4(Qns%-* z{^3f2;ovfVWAJul)gM5SNSNEz%6XlNHj)+G=cdhkhCIuWB~1mn>2YoC93csy{G#22 zSG~pt&rY@?rD%XkKrKt zM=)qNbOQ8&UvzD)9WjZ2fKowJwm0XBBt1Sc$u*4RXP(SI;Kk{ z;r8V6?nVmy=ib*e6^V(d2bY;_BMW4Uey`VtW*15O9XYw~W+G0J0DgDW2yzbTTLI>g zdaWv8tut-?uEJZo(HdatZq!96QLA2G>1G{C@mQcWo*gyTwT|e)XB(|X9{|(O7IH$B zZmvdEh5=p4t-E(U8=Z`5P<)-)s#Q0-eTCBqa|E61ED@_y(MiK2#q>m7d0f}C(RDv% zUDi`g$_mjtjV4&L!pE)XuMWoe(>>_XYO>!r7{s@!AiuehUR$e+sW7)5sA!h$CiJW^ zxH;!o(q3egf}b@UpxG2IIU&%oBq8?(702?O>So>i^j?+Qe6BWVE!3a2MkO7p1Bi+M zK!A-%o{OI~l;yhHlt*{eX9spnzOX+<@m>-QC`Gkkn(8s~j*1YYs+h zfD$4lfG~eohS#$BQf3u?Rl}&p@n5`XO^pkg^5BsTH8Q+_XMuT^F&nT8(?`FR=TQ;?_<70wgFwj zXA)vvJ4+1HtC+)YsZnn&1$86^gawOvbuD{=U`cX;;34r!H~^DhNAgmP8lUr5Qjl~q z2|@am3{>sZNWi{mzbvRLtX}gg2z5?M3nH4nR2EvYJ!irdO;PydF$p;6yvR1Bq{-@t z0_k>2bxaNjzN_kBXcN5Ll?WO>sddSI`39YoWD9)cE@&NLn6~-L>fOIgtP-6(>n>=o z!$g=WwJPxnWVQC~7tv8;Cx7)(`<2As(%IZRa2J3%mWC0g#6QovwcY_n*mk*(B*lk; zeESgAF!>IwHm9LSL(^&t#$;#a3)7gkK` zU@a@@b2Qn2)k4dVy-=8ROk&T{Dzs>;D14~fxZFTbzOE{bD?-o^(YhFZ)Lo}p`2Uq= zkBUNUk<$JA? z%)b`xVT@*;k2vt4@qy8Rl??peyrCgH;je3waqC$ zl5cv~+EMaJ_bR8EsDA|PuC*nA)RE{Mb5BaKX2B0_^DOGt>aA+0(e6$m?9#AiK;s_h zrwL|Gis(9?eWh#1)etGWiu47i;A34#jYM9N`pA#JJ41!i3+-9t?)^-frth`)b`j6?`_iiF`#@NSxI3Z=Tk5c)?0TvAFX1yZ8xOw93c#Xw3F~ z{J_r*qnfXo*)JJpb2F8 ze$V$TBDMPI?&>wOHNn_f33?{UBkZ1DeCpFeF@gg&}7Bh)dY2 zXKY623rMv<5wS&)X?6LEMr)!Ir}`33WfIw;(yn7(JJveiy1u{8A&S!JxHm)J?XN4L zj?TElEg=j$@{;A)*Bl5bPR=#SlV4A` z=cKrJvCLKgihI$aiz00@#5FMlhGCQ*-7ppErqiSh-GK-;0nGuzwsGpif!o|m^^VsJ z*Kg=JwuQhq1NIp-_BoXBZI~-F7>sQt;X3!zPV)7BS`ve~zgCPjdARR97IX{FHcnB= zJx!Tmbq_1QP<%Ydbu_bDKvKD%afm;_5!J@dU>`@e`-HmxbeOhR5sAkR$gkmkiRkXL z75`O)g4bxm`F5&ZjHR`5T&4C|v-?7(RjE@>V6#?sZbY@$VbI;)k^1qLWt>A3ZNt?Z zn-jTyv^zW_(j3etj4&u`fU5;9p^fHx<|?PgnW0QrhkWC)taP2NI3 zNn}V{Y5`GeQom{A_gT+|soEGEt=TUuxPKV~ILN$yT#AjU=P)cOdmP1BZ8laSmw-G0Ky21@tafhSOpm+iE4V+4KTiH|52m0ff^`rxb8dZTiUU# z>qjVU^@b7cRCQQ*d^b)b=4+02DlP!JIrM!Q{NSTuj?HL_=GyFI^~+QzpU-5Y%>3jt z8M8@dIR7q#ZL!*cGa^2GRHsUYo}SYR=uTSCaM;^0vhdl84wpQ&cp?_I8ubKzEKIfs zfyzfpAnG~7^I!U9QsZQU#DAS4MyxUp|KcW>v<2gbXjb8Xpy5<%g8{U|2#_7uy?HIJ zD1emnV?1Vu564aW({*=n-fk0*CBhEZqm1^n*;qHQ1wbX1P&0UdW6UUHP*Jge%}0U< z74$S`P|~rf@s&3&>FmBBNBZM>+4^vDC1ltH-Lzj;T{)%0&CunrjI49Xc6mFLLk>FK zj@&Lrs7su+-vW0e>6!+(XvQqtZjo_T&ym-p8iqc>HF$HjV>;YWaa4X&IFho?S3^Rr zJM7b!0H0k^CSUfj8V~GO$Qk7KAj#9cje5&9b+Q%40~6(`@0R#e7?js|&vx3fQ(&N| z%5KM!$|Qmog4vL^R~^s@_ts%O8p;?cP0UoXNCryg+p`)b+g}OuF$naMsXAx(QFuTB zx4~umTwam0ik%+pCNr@!Ch`!NmuO``vDFTB8m!%iZev6+bMxr?J2H`hw$d|+j9%+^ zu*xllUFI8MmDzcb8Tkg`-qjLzy#Peubk4l<>1szN7B(+@Ls;k}g@;mZ|HJJLY3UHd z77b}fq;aK%$c!6^mv>s%BP^gY_D~Y@w)8{FW9zn6ilr&kI?#3@wQ*wAt76;uFf+c9 zZuro)ORl?4(S>UFD%H~+5wz<#zB{Rg7A#d9#&q(Qqm5KC8kl0x=pi#41quyoI`Pueo7IWmBVJ+Q9w{%pMGofHZEPKNFi1=@n2%(6DyF5}_I zzM72TV3bupP}rUr10F2tk0J+x?o9F^T4AzLW6^opln&qzNW;d++XVa!luMr0B zcKNzTTt{_Bq#ULRZ*Qu-eBDt88;$JirHuAzqtlMWbrUj{T^8;fE;8E6=7}iWnQYwy zyO+|)t&~Q|;TRhD>v$)K5Hnaz7-H@KQcodUAgX6$rq3<0r@A<7?WkV5T?Dt#s2Y^W zy*3uy`&j-IOEFD|jVzN*Lk(^t!ddNHfmj-CwbgmIz^GNzXfbwRSC*7(7F^9e<8w5} z;-?7%`vnIE>&nbGn{EcF$`_PQ;R-WLzNQ+>L0o`D>f*bev5z+gu++AjPHndf0Z2=V zAf(?R+~lnlqdO{L*Un_(KJ(A@rF(3cZBLJy*_BSi##dGr>n%JTFlGX=l@%=c{x(`| z%7fjhYVp%xRTwE3R!GM<3~?j(41#vcXy7XTWmsF2wKV;0cnXe%9*Ob#&INb}V)5t@ z2*v^9jLn^3h=>sIA4{^~ylBE62aB<%)OfA5HO{uzEW^5X&e&DaYyAQZf4ZdPOdT^B z8mO;?PB}Dz>xOQ*U)NWbMUxiYvxHYUOoyw%Z#U~gSwtmWifMDlY+`+M&zTMix-Z-l zSGN{f6effwTy{JI;)$1|VkWU~w&u|AOoD{eYe+=v9u0Zok#Ggk#v?k`XxwuuHwJHm zrHi-b>V-@hFWm7}SYw&!ATr63hS_3g4f)Hvq`J*;D9f~8A(*sabIan`2??2Y{Dgql z*hEA?elrM$8-UE_DUbLI4E^SaJ#8-_1FH_+waw2>72}P;W*k=Dqwc~Or{K>7z&!0L zleH5@Gbfgo&eF9G-gu|Z;f-eoU?jfh;JRijj_gJ+dR5jkYCYwzFxs^@*gV0?ZofG5 zwl9CGUnkXf<`eD95l1m|c1-qK{qotqc40nUzYMi?*W@qKxo*3Itc%_58r?c_WD);` z#l;g^jCcmjU}pM-d#@{5_WB^;73$M$(#f?1;K( zMkS9z$u8QlBXMI^TkUHm)Zm=B)OMv! zwq?OYZsDoqE?0c8=2&PM=tnHrc)VB$DGDoi3_DC=;z4xaVn2hGx_Qvx99gk6X<|m^ z6)&M22zfpjokv*Q_JuJ>ng)}1)yg(04DGxPh=*~_a zXgmJc4?2Yy9cym1t8N5-JcHW#j#7sE#z`5zX_j)c6eYMJs*|VKVVD*wHxz;B3O^E-?~y=Qf`}R_;1Y+<+u8xzfDhc zcUjB*-$D?ujb|G;V(90r*qG)zal_WyfDK2ejJFumb1pyTbJzum?S(Vsv~^IA4baucEBP5nMV1CGjy$E<81wZp#o2~9 z)nnTa8-6I)s`G)?d^axZl`VuaT-g^;gLTeNj_axC_;F`Jb-dnW0INGUB}pgPs{BU_ zX17wGv@kno3VY_?d;bbFY}vPbImd+JVn`!KwO+4JimFEK@5Xi6W^de>?gC3k_J{KT z;&b)|Xys(B2o*su;?BAEDrZ2n)di;KEA3)gw&oyVUD|VfYr7DjO1MHu!p%@lRF%vL zf3@3MZ}rQ0p--wZ z>HbptXul(;q<|)hQg9BqY8s1~c`U`qg32MI7q8q_1%!D-aa5A)DjAU}rl=t2kttas zq?$j1PAtX*xhs+YeVRI~aNnLAH5+c(HdRbq!yQO^KHoiKVsI6~GmKa6^anUMg%zgS zoJh(VrmhTu%36~@wj1uwEhS%{YU3Wr7~=NA$6dz zx!J^JbC_IeyZ2JRBvXI^P7?~1P}nph)^&@UQl)NTJZkq=tq09O0m;?WniMhs4$PK% z1dUj~jK#PKGcM$j&~(=0+Ej~au#&Ndpde4J!?wqOagmi;&ee`;y}oPTCY|2xQ+3CU z#L3GVx|6V+Iuv;&E_s%P?Zh!SV+h2W0kRJ?$-5@3wF3gTm5(vBX^WSZK@#R}@eC5{LKc%9F z5(m5W>zBg-<5-DG=FXqLwe`b)zWd7W?|xBT#v46^!@B;C4T$xx9G1JULP+e^%dfk) zw}152?H~V{$+U1-0Q|#0F$p7Kv3I}q+U*~HFT6yP2tl#iU-{ncH~-8F<~@#y-TuQL zw!ZOFC>@8z-hS(CJ$~(y7${r0zhv-O`}+xo?KWdgC#*gG%(XzT0W zP6AsM8|$B?!(CHP3#lO3bm`IX*icVlC_XkkFS=e7LW|T)%$0ba{V+fH5i0F{H8OO-FneyMJB4oFJ`j1=h{7hK-)3^D?xO5y5 zOMk!g%dOXbaO;m>rkp{sHxwevL#CB4O-!5*L9$yf{c!88HzD=g{{|i_5Fmc#`WIfI z)F&ab?xCX^zLHPIS;!s=z5A{2-+BFYNAudoQB>?+F|zKP?eG3#>(8Kp^E&@vg~@Jz z{bzT+@N*_F1jgN5gQQ#7+<2`uTV6e)CT#RKsDbcVBp6>q~Fm z{{CBA?*N=s>}p`uA#nBXD}TKG!`HTc^y{r3zaTLVw{V!R@0W{T-FoATTfcc>>*xOp zBcUmavy1~+Z~w6So zdhuE{7{lqOYi#`Ht#^KU`v-p)7M+0z&aIce#LR|Q&QE{qN3U-Gpv6 z({I1@osl5UTW|eh>*cR(z4-gB*S_dD%=R0<-TuipF;1@Q^Q|Afx&8guRsB0Z-Fo?# z%;?=0esJf{U)uiiS1EqywLjf{=QWGfjJALL3s~;$fA}?pnZj{#oAIi?_4*%gz4;Hf z-gto_8aQ9r{&xXm>&0I<)T8BFZ@#(prnlH@ zcQg+8T~y}w_g>%n$(uBkgk)}i`I}pBzu@{oCsWJ)PCyQ;twSwV5bE20=^wXVe#4=V zI{4*3Zol@GyFYqi`!~%0*Y3OksJ?aQUp~)jed~=c-v06rqwO!hK+m^-`wC-;(U+ok zU-%~9Zdgq(&Z9E|$ z%bh=e|L&K*#u~fz(y#XnyF})IyI#HSMzrg4U+fBW9noBzTSSART&2*MC} zzVoH6UwwD`7z4*o3zhku;iG@s1;Ya@S z?e7{Dz5GjX!oneMe;NG!_ZTI%{^@Hj@DWPhdhzY8*Z#;WhZ+w4+u!=*-4}ieI*2li z=IQwMKmSNv_O;&&qm1(D-<{Wg%(u7R{@&J$FWvd`_rP@bYU{P{i7{Hcjt*Ix5h;ek z9=Cq@CIHeZ{qx^tBOq}5#ea2ocVBsP>&=(9|KXqbn@Auo@KN0!^Wp6;{Bi3`Zw-Bz zgg)MV>w9-z`?-7VghL?>QjZf{w!ZNX;hhh5L=eCGv+o64m-gR4urGa`;cvh2uPg=T zV08O8Z*BcE(jB^&MLp7qJFowpbT1e6xc!YE-TvLr%$z|>e|T%_E0Q>T5E-fkIHQk4 z;N#Y7uWbMH4OkA%VmM&%wlGP*Q-cV2&M z``hR>Zhw{4?km4XT;n6>txqlA{5l`f35$OW@|bN|Ye#MC<$q*JwFy!HG z%g*4#>z96d_xlnG%)dazzY}f${v{qb4+t83<+TW)!qrSfVka_$p=s$e7#S6Q1u7&4 zl4Tpg*_57v4KJt@ssP1qzxK-QZ~Q&r*?Rfcuu%~CF3ainUMH-Pw}^)jBB&}tV(IwV zKX1JatNnWz-1bXiQg?s(HDTyG)bKSX@YWxHB1S^7ul&?;3m|a!yRQLh)dsCo`3wK5 z+U(jW;FszodJ3KS&dXbWerM~~zX5c2zVy58Z~yMr8^3h*@OJxGZ{7XY=fU@_U%W%- zEvykrxc$yQLhQHx^us_=zl1in|Kr=NRNG(w_MLzD!`9FLPD6bA3$R)1tY2cp7GC`Q ztv7z<_x1O~6odPQ+0wlScevlAq-jqdr@AAakW1y(jh zqh>0w5kTJg(>GZp;bf?$Ti^Kl0Y_cCgfoW5_E(YY217xNZf)^0M})C#AdWF!^~K)b zd53UCfzy^^FwselaoA#zAP2=OFIWbts%K%lwm5;$U)=iIn_Dma8;dRmA|+von01Kk7ZMwqPXz%88m#^1qVVasuWtv9~~sygXL1#Dquez#u! z!krhs==u^E=tvCW)=Pib{tmQmE-ujGi~n)=yT9_cF6uBmbb^(CWzI0JFkGMB$d0li zI||Co&RNEkC96sFxVe(!6*+8CIqB^ywZ^;uf!oQ@QJGm9m{U zBS{;}yELh^$t1i{Cz{o00a8(vO*@N$xA<_9b; zvWu{b-e|r13W>@*V9Z#;rgNu*duj)MBmqmvjfeI?YBGn04x1B;ix8bVX=Spvr)(~= zuY|`V78h?Qk8Ln~DU-`tIY7Mo8=5E9#HS`BcMDJIJ$ZZCrT7TtG$CATxaUB3)vvB|G=HXFEOxWcv?sP|;RAZM5o3p^G*#z+Sj zz+t_9WIgmo963)~2Chas^7A^@lCwmLs|{N}vTL#*nb?JFNXnKCU>w%m#iMiq;a{z-iq+x}r}^3{qsfc0B)*j|;z} zzvSckVCCaFLwc3iS!Io4@srdo62~&N1lsPNkL%rE^-PFz{#edN<=nBjR@Mz? zrJ_D+4mK)0nFca*9qHpp##)cd4FV+#DY}wGA9?@c<7U5lpO~q_m9tVM`MI8|v#&}; z-asV}a{DgWrxr9so&@96aV|{V3C1awd??r?FEdX$c@Pn9AVHV)mU$YJq3gIDx=HYZ zROBsGNA1_11QQkVfW?=0Sfz)JR6Y{g+)j*d{3TD<2O>|G$>qU?!)f3n2CW2DhfP}H z&44_Pd_Q1~Itv-DRyX-;&i1SzeUhRe_TkQleCPFSaAr)NF5%bxRrW~oba{!8BxR82 zpkSJ0gbk7`PH0xnNsT6Me7JLU;h9Zh*T(b41bm<)bRXXaTiH>2NEo(RQ_QMnwle>` z*Iq%^##Xj2TUoodi>*v*^}Db3g*KPp{cQ(hPe5Jg=AGEeq>=0l5WS5pW!Nr2vXrIF z_$$K_&lEBbo6D*)k3}p0-wWS|BjX+HO48mqf26Z*9Dpz{j42-*%-;QNOSYHTFoy4g z3<)HLC4)}-#fZgB1KG=9_Aqkw;{l3==iOhS|7+MICbMJSc=m9NWk+z5{II6%mw^n+ zPi!D-%RttE*?|LS{b>u?yKlbFY5VCwVZbX1+5(M7tYk)V;5=qBUQ3XYc?-u>Suee* zYs5gdOYZ(a#zJ`L`8njNBt!pv=Q3Fwy0v%zmlL%{jAerbq>kf!Z+yrM6f&HhX) zcf@SAgVl`X$eY84%x0%7p$1}6)D+e`uO;NLwEL1XJR4QG$AH*`AMeD(4>RZJ#-2Nd zvbW*v6XY7kMPD`h@AkHuiDT_zHq$`b3NQ)AGclI|6QwR`U4gm;}%?WP(tYfbC&LiqHUN_<3emoT6L-3Cx z7HBQbj{jK}S2K}y8}Gi7wy%NTGOby&W`9ErNxwJIB6IfL-&(4b=-pSlijQ(;wO+~w zx6&pXc$cIpIsxzbX!G6Q%H)k1?%m%KVx1V`z$r{`_hx*v6*jTG5n{x8-PqOicEQ>w z)Q0xShYZ*U9I1l&jR|)J7_#jp9>X1;d8#%sCld9E(GuLT)Kn%X(EC*oUv%UromjDf z)cCL=g20?xm6ap=1nfhmNxue@|8yujK60~ILLbKEa^m-i|CUn~`GSd=Wkpw?uz$Y$ zTc#O*c6YnVl!Ko12bf6?CO
    xxq&;j7D(uU_w#9)AH4c@czs**H|wdGd9GP`qF( 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/app.f220ac13.js.map b/priv/static/adminfe/static/js/app.f220ac13.js.map new file mode 100644 index 0000000000000000000000000000000000000000..90c22121ecd9d57fad35cb424ee708f0cc7ba653 GIT binary patch literal 430912 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 VzGpaC$G3cZFj(7j$DTcB{|_Br@2da+ literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js b/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js similarity index 61% rename from priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js rename to priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js index 232f0d447a1c38d3b5c722365585b362d209934c..d29070b62d4347c134e89705b412688792865895 100644 GIT binary patch delta 52 zcmcb(g7MA@#tlj)qDmQ=DXF^odAh}!dFeT+x&?{psY;u5OvDuUjgkz~EG!I+^sP}i delta 41 wcmcb!g7M-C#tlj)TuF(^+37|3rFkiv%}vA<_)Uz{(#$Q*()6;5^>Pyn07TFZNdN!< diff --git a/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map b/priv/static/adminfe/static/js/chunk-0cbc.2b0f8802.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7c99d9d48f4ce979cf4169cf2c7d0a7b0b1b1255 GIT binary patch literal 86354 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 z
    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 z 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map b/priv/static/adminfe/static/js/chunk-0cbc.43ff796f.js.map deleted file mode 100644 index dbca0ba8e2bd1c5f49be594f7e5c8a570b84bf26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86326 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 ZNN&6@-AH;v>=l05>kV$K-MI1P{{xXU;u!z{ diff --git a/priv/static/adminfe/static/js/chunk-43ca.3debeff7.js b/priv/static/adminfe/static/js/chunk-43ca.3debeff7.js deleted file mode 100644 index 6d653cf62e8536847cee380e2afd79c42f12ee0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119060 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�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

    1Ib|fqn!VR{2c`Nyb(s_2>w9IM#So-+K4l0 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 literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js b/priv/static/adminfe/static/js/chunk-c5f4.304479e7.js deleted file mode 100644 index 4220621be645378c58349d128deda10edad9ca4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23657 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 diff --git a/priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js b/priv/static/adminfe/static/js/chunk-c5f4.cf269f9b.js new file mode 100644 index 0000000000000000000000000000000000000000..2d53080313d885dadda0ae74d1852bc20ea44f67 GIT binary patch literal 26121 zcmeHQ`*YhylK%bv3I^x$5@nE<9NX(q#r68R@tvc1EjziaPNf3Lp$HoUZ~!P-C-Z;5 zuX`St!Goe6apkI#s@T>%duDq2@pWU=KZ}xCdNw>0lPsKm{*NL}vT;k<*RO|1{xDk= zi~ixEH(jif&x7fs`9tq0xbPl4{_VgU%~#2^jMAhpf-(sG3vX43UQy=JwDk7EVcswO zz0)x7rQ@*gr90`a=Lf|&947tL4i67)t_|G?Q zmnd9vVeSVR6)u-genH`Ce39j8R*WtdX;F?Y%JWQ&4nRk866E54R#7fyqwjXs0WEkx zT#5}%iba~2({#3}%{+=XRY%3!bQ;ELlILj}i!gBrSqHPQ46FU~FLF_?^5h~BX9tFW zWEIB&N?y}+{KGWO&Of9)`a8W8Q}Hg%(o>QD5*5(|9lqNQWbc!nl+c|&18)?R?EFplxZ%8MH!Z27-rdUCQhR% zW{HZQ(g{Xv8Dq&6mk$vWztD*m%|Uv+AZK>oByK*edal7?%d`}45|EfoTgcfwlG__c zu@vPZo#9fgGH|Oi9$jiNp7#BIF${;xF#p`wvY;pWnwxu6d6tKnsqEw2=V{*G+w+UF zsGKhPVwmOPbS%J4UrPUC8bX5Xj8y4PV6S}^6N#$J=xOpWzWA#0&TL!e6g7TB?GJy#SYb$yccmA&Uj1on7cb8qRJD= z%&Q0k7iWE+ZW?cHaCo>AJUlw`*S^1}sMkkX9V9b+eBLK&f-pZ>Ek#lm7^M&CjGa4e z;SOrM$K>CcrpY|YmwoR8%6ex}9QS4-7Nr13iXQKL&IH{ls4ShQy69pWheZMLt##s4k8k$?SGWwLMC5~cEWUW7M)64=&AfGRh>@ZtU3${9 z(ewq6r&^Pyh{V}|8-!(&cxG@gPcI z0<}*YCG*q^)O=YSPQ@aPXClYEcOb}lfz^fga50xKA7TEThVe?E6}RBa1T7y=aBZsV z3Y}*)7?+UCU$D-ifLX0}iF(3JyM3BzGrGtn#)LTSCYKttl1mj$a+zb=4t2s(y-;V5 zlaK{C3bo@>U}q2uVSbKg*cY%_giRDfX_7g}` zI!`!yAwV6VSa2p=7=M$JwAy!TEo#)U&6<>M?QJAn5vLGtxtNPwz!THnR;9e_4LUWq zMKt*tk~FPOk6>dR9tAM5*+({i_?&(;bDc72VDJzCt&*omkefqn@o#0T z0g0W#DhH#mWxf4rQ=cZ7;EIB-y>MIA_rk5cf}x_8q%8u)YT~*jU#FbgCyjD=*R;iWl09TVOlKIc1%+UGF|+FagGn^N0wpL{;(aycNIO`>>z(n zgM7US#au`umt$Q<;adM9nj= z?*PR>YMzRtJ&bXhMzh`yMnL?Rra`P1;f@$yQ&4{WiYVGV#Fil@(VQ>!^(-j@1$lbb zgV^qUK=Afeo+C=+{r&IOY`rDSr=B7!?2%2$RP@-f8se(Ry1qvdXao)@aQ9S3fk*qR zr|p>s0DfC$=115(B?Mbei~`tnn8>a|y;cJi?u>qQ}!! z4zs@`xmdh|@oO86>fG46QuYbCKnnY$L5pF%KgO0L-e555dMhE?sQ5r0SW8gcE4gBe zC@&!azmg@N{~1a z2V~q_aWGPHeCE^{f%gTXd83X9K2t?jIRo>DkfLbJVzls%I)e5MlU9a+-|D#eFEEON zi^@=^e+2}?IHM~JhJrk6T$81s**nXRq%3?T$-Y z9p0)f531CGt*??z@c_5>!K24|%jE>PRu+6PP2)Jsz#Nt=VG3$$WDGSD$b10O19o!> zHBhImG6_hi+%S=VhWMTH2xyU7SRw8YN!5}hpv|vlGJ@mGxAc^@9$Zd4Ux~w6G;v{L z+2Ocf!Zs!njsis8`z4vm{3DWjvi<~tv%MWyMbgX|LZBA?&>sSoJt-G=?*fag6!hPA zpPET4=6WrVvBP4TeE=rGgMDvx9B_QB!SGx3q$~(uCD&L?hSFdWCbL+)z+biwjAwN(;3UBF|SH@YhPr`&;(Jj4r2{P z3M(jp+|%?wi88Eb54O{NQ0oDv%P_z`j#~mvGy{glrG3XB&D&QGqZ&x_>6SnmEete{ z;NahjuozHS{3M4VGc#y%8I^FfBtr&7tNJ(Sr5IHQ^uw$!L3ALQyj5mI7tKLj$5><< z=&2AP1pwU$>VaXy9AiN}GVcvXQA-kFE2ztz=gPVl&xJPwGK}qE5vZ}K8hyHH7m2#Q zPNgot8KJfT(n6~PM3B>ujSu1Y*VbT-(zOh$Nqr?&)y)>8&6Spg)Cg8ByNFfQbwc&{ zH^TF@vWNL(KrRcrsu60n?jqJ|QYYA|YS~$2?Np}R-Mh*Nv&wXSS0xj)l<7oat=#gaRkf~ z0)|bMK7cydnmJ~NkZgkucBs_)Bq3{(rsh0!Nt;@;y2Pnf^KMotS@MK6?OK>PD@@W& z7E5(GfCFp550(`hF@z0Ei&LE;P|sShs$wjUr3CdOB%1zKQe7R4%j@9FTcO%9ixt&& znY@og8i#0$yLW95L0ulkgtW8pw;hut3I?Q{nyPnYVwOQ_z$+X=!LfU_H-e-0*cpO# zQk`AHV5iFTZ0?m6*G*;ow+y_fkck$wp$ZJuNja2-hmQ;>hsQZ>WC?Kmrd2U!I(kR&&Cl!av5p{ zWW>^P=?6mS0&fw`#2`&jL+KH!KXMe}5IOjeG8DNEdelA-0Lyb2g|Z;cj8neLG^o6} zW=iS%C@wu>RY-yaYiy5HylcSguDe*}YaEZ?X{bE7b1BgN{}4?Nv?zv6f=||-74;ku z%WJk_k}H7g?{K1ohrj$oeD|c0?dD>>C8+*@uyzL3!`XYN>XMzdCQX~apQ6a$sX&l` z;!fIsuYZ(Ps!O{TFB_Ld3voDn!L<7L$ ziPVRqT1K%Db0v?es=lK(f-VRPi79HTv9Eym41VW{(8vmMBMCm-!j zWryAmh!mD)K<4mJ8w1HiiB?lD)xF;hZWJMm3<^gVR0*%k9}(T0}pmMpcTdH ztV+E>GSIC~pas#|(CH73Rkh`@YQbFh?px5RZw5NuBGhC9G#YBM%l-sy>^$rmXtM#_ zyb=DV%^?X7DJab;q+Wdik~?v zt2GN>H`3eGWuesD)s2;UJ=ramdofAV@;QIOPSA1w=HmhQIYb4S+GeKFdFLl%1~tM5 zCzQaE7h-V2A#;GHS03&hfd?ITZFNH_OQ_ zxcl|wfcuB_wg{t8+y*8D;IKK2tdGet926uc7fQ+6gH+7k0({1NXiFOs@rK1 zaVh-rf*)IcVb)%|b5PM~nBdivt;dO3HbO&S|i%PiDMbR;same9ugVWeNd zCywu7=}TKuE3Xgi!@6{z-dG(WUAK6zX&W$Ts|{!zzD;=dJ4@~JGgn#>oQ{`bcR>ejE+?l3fNMVB&dFrH?DEH+=z9SRa$O@Zx@C=jltQ~KoTc%*iwR%kLdwG#sDA?8Sv|au%8n#n^9@MjLwLu{9 z0$}HZXy$V~_8g!vnLdf!z*69n58YKb*5R)gH)p znQ@X-Ilr5i1tWVas=M;)I&;x-em_yAnrP3;efG)RYU2(yQmN!9%s6d(f!RyE28$0! zq4AY3robo1FOsT~hxwq|V^`;MJiLRHfEk|K^aA!%VD;NDdK&hT8s_v& zTn(NxPE?n_Z5q@aZBt?8(}67PSwhc>s=4J8KDOst+5EV@Y`ZDY$H;fx|;w^k#GlC^|lOyilcATn(NO$jF&2Bbee#_;SO|J^t z;3eu@enNq<>-=Jw&|Ms3HL3HARdoei##)9JhB}AM3Uo2pW=)`QHW#9)ZJs$c=c4lc zv%xgEBeHJ;V39!v39(ow>Spy-Oz&p(ZF}e$`N(|KV6d)dwQ4DV7+Wh?TqY;=FPu)( ze8%r2LL@L}%luM2ziKJm#_7vDZ+x~c4yZM&b3v_I%MacorABDIAR6~ffjcbGNli_us@uHUF#s* z^(Ih)>!lz{c%n1?kUYk3mw8zEr#k7dO)PCA)h%Gbh;><}k5{q!x0mYz2WHfrI8r?Y4t;VzCYs#?0mG%h_2zCH?^+~F$-{?>hHRRKzO zzsJeRY{g&`+-8R1yp1X*T`iAh<`$BSgS)jf_sE`1oq4>p<`cjqcoRB84){a!cj4wL1BR`;|W z*V$bCxHaqzq@_EJyK&f3Vb_z|37aT^{|{;8!JV~}3`Uc|c@|#?VP5syy~c5@q*-mQ z+zauVM4F;z!WOOu%5}8yAimpZgbhtX=Si>GXbW8^e-xLn{$ynGEj-xVY#x7kGhg1q zgL`*wug}`d3uxm|b;y$B!Fu!FN!ZRLx)!t&HZYm6U#E!&$MMm0b|p1MjoY`^Lg)+8 zcNN02C78}udXimvaMWC%nbk$Q{NVWBW`@@#2zVeB=)hXz_U2S{@R}*$_=DBe&5TNy zfaB=-;O^1p#@ug}xo)GQ!%o`8VQz$g#vcwZ`|)AY9JKnw!*-*4diX9m1nm7mub<%W zSuYvl4@=?C!Ek_4244p8`%!BUQ`0%9JwtE!nw<3p!)EW8-%na?{%IvbAAH;H_1bZx zi*Lt`A<^o_7YAMi{M^+#&0hcVWl!o+3r*vE`n=cgVR-$um9&nec`fQUqfgipNq}xh zfYDGug?7JdndVMo!RxF=EED7DP$mNB|C9)KJ4}J{6>N?Rj?d3hWy*;^YL-~ zq19AOpZ1Ovfi?{*L1)|2p8YWp1GC>vhK;V&>cqpd-Z9IK`k)INI&|L}$z`|svbPs^ z<3R(xA0EdijZvF`58~5;rzC5qF*s){0HGbTy^BGEfF3q`-C_KZmHUJE1O9aN*KsT9 zH-^nKc_KV8lsoCccfr%)3O*V~gHfNAK?XJl?Aw?8J2)M6=z!omvHKt>43(}o(C0~O z(7`+NZF@8v_PQ^%=O&5J4jv89Vv2|-0_@}Xcn~Ma&nI;dT4olThI2qjzzWm^jsV)*Eyh?bh${08bA;u+c-3<3@83gD3TNObq$7$&Vy%(@Hek zjYNb8^3ZD5%&*39IFP3UDN8!{+l^*?)@#G@z^@x@r~@UTutDTx)Frcy6ssFISSS7n zCMDuWR_5SLvb&aGeaO}iiK(<}AnW(~{dllwVLD{vhkb3)5a&E5zuJu>=^0#aK!>Qo zNxMgwdi^2XR%!i^G{vKw#lSO1wd62sL&w;YR;O_qtNZop#S=C&f*^IMXGS4M;+qMF z@fu1%SIzw##3cFQM|@;^gn$6%e-DS#V~41?GyWx7TU6+vr`1_OK}d6MU# z9LkzU=2t6uN%oO%g5hg}pff#EwbmO+bA2>%pr{i!Y0~^o&KhFX&U&4g#n9k!tmA

    Y7zC-mn=OpQ{jcFalV!4 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 delta 90 zcmZowY*pOQ#lm5bl4@a=WR@~{5{m|hfrXKIl3{Y{=0hxMtQ;oBX=&z`W@(c@aB6TE qr=%vO0{N2_xPTl36BBdGRP)UNTxx9mrb&rFGg6ZEvWoR`6AJ*U(;58$ diff --git a/priv/static/adminfe/static/js/runtime.5bae86dc.js.map b/priv/static/adminfe/static/js/runtime.0a70a9f5.js.map similarity index 98% rename from priv/static/adminfe/static/js/runtime.5bae86dc.js.map rename to priv/static/adminfe/static/js/runtime.0a70a9f5.js.map index 46c6380d92bf58780ed94c3252154f463052d502..62e726b22c0567c0ff77be46cec670ebb0e1be4f 100644 GIT binary patch delta 94 zcmcc7#(1NRaYL>+he4vbL84`v>E=@L)0`YeNd{>a76wL>JroT%5|dMtOiay_CpQ2& v$!SJrmT8trn|COFW#>ptGdHnJHUmkCOg^b8!;xfYXlRsXXtDXNX0{{%ooF5d delta 94 zcmcc7#(1NRaYL>+hiOt`s)bof^5#`$N9)SP= From d169e51b7e33808a82b314e1ec54d709088a55fb Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:27:15 -0500 Subject: [PATCH 52/57] Improve descriptions, move primary MRF settings to top for AdminFE ordering --- config/description.exs | 98 +++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/config/description.exs b/config/description.exs index 39c6c5793..5ffef15fc 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1389,13 +1389,51 @@ } ] }, + %{ + group: :pleroma, + key: :mrf, + tab: :mrf, + label: "MRF", + type: :group, + description: "General MRF settings", + children: [ + %{ + key: :policies, + type: [:module, {:list, :module}], + description: + "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", + suggestions: + Generator.list_modules_in_dir( + "lib/pleroma/web/activity_pub/mrf", + "Elixir.Pleroma.Web.ActivityPub.MRF." + ) + }, + %{ + key: :transparency, + label: "MRF transparency", + type: :boolean, + description: + "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" + }, + %{ + key: :transparency_exclusions, + label: "MRF transparency exclusions", + type: {:list, :string}, + description: + "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", + suggestions: [ + "exclusion.com" + ] + } + ] + }, %{ group: :pleroma, key: :mrf_simple, tab: :mrf, label: "MRF Simple", type: :group, - description: "Message Rewrite Facility", + description: "Simple ingress policies", children: [ %{ key: :media_removal, @@ -1414,7 +1452,7 @@ key: :federated_timeline_removal, type: {:list, :string}, description: - "List of instances to remove from Federated (aka The Whole Known Network) Timeline", + "List of instances to remove from the Federated (aka The Whole Known Network) Timeline", suggestions: ["example.com", "*.example.com"] }, %{ @@ -1461,12 +1499,12 @@ tab: :mrf, label: "MRF Activity Expiration Policy", type: :group, - description: "Adds expiration to all local Create Note activities", + description: "Adds automatic expiration to all local activities", children: [ %{ key: :days, type: :integer, - description: "Default global expiration time for all local Create activities (in days)", + description: "Default global expiration time for all local activities (in days)", suggestions: [90, 365] } ] @@ -1498,7 +1536,7 @@ key: :mrf_rejectnonpublic, tab: :mrf, description: - "MRF RejectNonPublic settings. RejectNonPublic drops posts with non-public visibility settings.", + "RejectNonPublic drops posts with non-public visibility settings.", label: "MRF Reject Non Public", type: :group, children: [ @@ -1521,14 +1559,14 @@ tab: :mrf, label: "MRF Hellthread", type: :group, - description: "Block messages with too much mentions", + description: "Block messages with excessive user mentions", children: [ %{ key: :delist_threshold, type: :integer, description: - "Number of mentioned users after which the message gets delisted (the message can still be seen, " <> - " but it will not show up in public timelines and mentioned users won't get notifications about it). Set to 0 to disable.", + "Number of mentioned users after which the message gets removed from timelines and" <> + "disables notifications. Set to 0 to disable.", suggestions: [10] }, %{ @@ -1577,7 +1615,7 @@ tab: :mrf, label: "MRF Mention", type: :group, - description: "Block messages which mention a user", + description: "Block messages which mention a specific user", children: [ %{ key: :actors, @@ -3070,7 +3108,7 @@ label: "MRF Object Age", tab: :mrf, type: :group, - description: "Rejects or delists posts based on their age when received.", + description: "Rejects or delists posts based on their timestamp deviance from your server's clock.", children: [ %{ key: :threshold, @@ -3083,7 +3121,7 @@ type: {:list, :atom}, description: "A list of actions to apply to the post. `:delist` removes the post from public timelines; " <> - "`:strip_followers` removes followers from the ActivityPub recipient list, ensuring they won't be delivered to home timelines; " <> + "`:strip_followers` removes followers from the ActivityPub recipient list ensuring they won't be delivered to home timelines; " <> "`:reject` rejects the message entirely", suggestions: [:delist, :strip_followers, :reject] } @@ -3408,43 +3446,5 @@ suggestions: [false] } ] - }, - %{ - group: :pleroma, - key: :mrf, - tab: :mrf, - label: "MRF", - type: :group, - description: "General MRF settings", - children: [ - %{ - key: :policies, - type: [:module, {:list, :module}], - description: - "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", - suggestions: - Generator.list_modules_in_dir( - "lib/pleroma/web/activity_pub/mrf", - "Elixir.Pleroma.Web.ActivityPub.MRF." - ) - }, - %{ - key: :transparency, - label: "MRF transparency", - type: :boolean, - description: - "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" - }, - %{ - key: :transparency_exclusions, - label: "MRF transparency exclusions", - type: {:list, :string}, - description: - "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", - suggestions: [ - "exclusion.com" - ] - } - ] } ] From 80076f1974f4527bf3914a83465c30274721457c Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 10:33:27 -0500 Subject: [PATCH 53/57] Lint, long lines --- config/description.exs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/description.exs b/config/description.exs index 5ffef15fc..370af80a6 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1535,8 +1535,7 @@ group: :pleroma, key: :mrf_rejectnonpublic, tab: :mrf, - description: - "RejectNonPublic drops posts with non-public visibility settings.", + description: "RejectNonPublic drops posts with non-public visibility settings.", label: "MRF Reject Non Public", type: :group, children: [ @@ -3108,7 +3107,8 @@ label: "MRF Object Age", tab: :mrf, type: :group, - description: "Rejects or delists posts based on their timestamp deviance from your server's clock.", + description: + "Rejects or delists posts based on their timestamp deviance from your server's clock.", children: [ %{ key: :threshold, From d44ec2bf4ced0278b8cc5a0b5fa36fcfe38df38b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 12:55:08 -0500 Subject: [PATCH 54/57] Remove camelCase from the keys --- lib/pleroma/web/mastodon_api/views/instance_view.ex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 347480d49..89e48fba5 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -93,10 +93,10 @@ def federation do def fields_limits do %{ - maxFields: Config.get([:instance, :max_account_fields]), - maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), - nameLength: Config.get([:instance, :account_field_name_length]), - valueLength: Config.get([:instance, :account_field_value_length]) + max_fields: Config.get([:instance, :max_account_fields]), + max_remote_fields: Config.get([:instance, :max_remote_account_fields]), + name_length: Config.get([:instance, :account_field_name_length]), + value_length: Config.get([:instance, :account_field_value_length]) } end end From 02d855b2b9a4bb88f0ddd7edc9bca30b66dbf241 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 2 Jul 2020 12:59:45 -0500 Subject: [PATCH 55/57] Document the new API extension of /api/v1/instance --- CHANGELOG.md | 1 + docs/API/differences_in_mastoapi_responses.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b6928dcd..e21318580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

    API Changes - **Breaking:** Emoji API: changed methods and renamed routes. +- Added `pleroma.metadata.fields_limits` to /api/v1/instance

    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 JSid(l8LOszvBna$ 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 U{9RV=eijd_8>q>Yeay0_KLod*r~m)} diff --git a/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js b/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js new file mode 100644 index 0000000000000000000000000000000000000000..f9fcbc28874bbd4ae205b7c0ff57f61550b68e0b GIT binary patch literal 112966 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�UxA^>>~(e!Po803jV53} zX(A)r&AApc4cgEebKw`@6?_#RJyBXOHjA7C81qomvAF^!d2st zl9oguxqW&+P;li!%GR%Gj8l8WBCtr}&G#%yi=ShW;cW>R2r1f1IKTvAS4+0Si3w%w zqN>0G&htral->rLA;Xv2vDKG(AWb5#Mq`{L-cZDJz|EU6dK&nMs)?Rm{z4*{Y@FnqVzqfFC*a64?gT^A6xTC)Y`ODDH%nMp4FLX;Cw}TTserKl^+Tna8fJf{CTol6`d_h zMFN{k9tYP@dk)*}-6@B0O8r0s5&3>rf}g6QWrWDbbVC##5W(Pc$;T^rKr$&pM*AiY zbBgUTp(s)tX@Yx`cmNd%=2qVR;Ro&q7p}#_Y}}G5SgkzkCDHH)`AFFhyd4reU(U~r z{P67cYPX2;{rm@^UH$+)6^t5cRnXlTMi|)Sh3afd_td;12OeG45o?G;CrBWrbxF$D zq_kp;xU6Iwq>eK=vvgjaRLOOABeGr6pc61;V zBJfLO6eInWu>oyY;YCO_5E)%JfYYU%fq77f|z zE0IO_We5nDL435zBzU1dipv~?<;c0yu@K(P5PGgK#&EL9vCh7HLEu_awMR^=EEn^6;>?H2UOY zYl5n4_aQXisrO(3whnEFt0pn&Hnga$L}Q|Yq_DWf=LuXolOz_3qXw!8$^g=5 zPgoRgI}{r?eO*iCDE5pCp~e(~%oE?RLW8fildfb)l~T4&pq$3lHtLIS9PKx*Hq)Pc z?WFg(+Df^VJrJ@Fx!OXwmOb^g54qY#fAYbm{m9jJ__Pf9KaIUemv&LLnesDxfRrxf zY8&Ni_O&rCWluZ$xGb(&_stG28gZMkuc>l6`vz4PvN?3jj%QD8$Gcn|i9UmT<;4I# zFfD_s<&3C2(4Ik+uemxNzF>zUi^MmS^f*^rDOa>-DB*UlHj(aV*}@X~bnL;p5-Pa6 z^YBjp-j6E*AO3+qWl)U-@*y}82aIuoh>t#XP)~*ePeQsi)p4VQIJgwxU5_QG`U#}v zW3vA94j9#=@%=|Q`JJ@V1{_`yj*}jJw%mwt!PK{1KYaMWX&bMs-OrOLNl5pxREqsm`Rn7_U8hUB_-)3v@87QOyKO)G`;QshPV<8|PTK_e`7^fNEM7iy z+R`K{ZE=$J&3L_1>_@}q&iW5dm&5+U50$o1$?-sNrP$x)$Jg;wr_0eV>8x$@(XP8H zqm5S&D&qp2y!g3N><4GuzmFYj(QNwa^UE3A{`lj#aM}iG@2?+%O6!x5M)4J=QMK3) z=WieX{K*;X1kH_5;8E=WBO?4t9IiffWhmNqG41osTk)eth+O#*zMf_3I0JPAA*V$N%exAO81J qo=qpccnuzBTt2$_?sccPH%<4K@89c1kQ?#N{RcnxT7Tu_@%{f=RoeFe literal 0 HcmV?d00001 diff --git a/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map b/priv/static/adminfe/static/js/chunk-43ca.aceb457c.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3c71ad17836a2a77a7cd9c8bb12244c77f90a27b GIT binary patch literal 386132 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

diff --git a/docs/API/differences_in_mastoapi_responses.md b/docs/API/differences_in_mastoapi_responses.md index 13920e5f9..72b5984ae 100644 --- a/docs/API/differences_in_mastoapi_responses.md +++ b/docs/API/differences_in_mastoapi_responses.md @@ -228,6 +228,7 @@ Has theses additional parameters (which are the same as in Pleroma-API): - `background_image`: A background image that frontends can use - `pleroma.metadata.features`: A list of supported features - `pleroma.metadata.federation`: The federation restrictions of this instance +- `pleroma.metadata.fields_limits`: A list of values detailing the length and count limitation for various instance-configurable fields. - `vapid_public_key`: The public key needed for push messages ## Markers From 90764670dc83c39c28cd7851f08f77f1e8bcf25a Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 3 Jul 2020 11:02:15 +0300 Subject: [PATCH 56/57] [#1892] Excluded internal users (applications) from user search results, reinstated service actors in search results. --- lib/pleroma/user/search.ex | 6 +++--- test/user_search_test.exs | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index 0293c6ae7..42ff1de78 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -52,7 +52,7 @@ defp search_query(query_string, for_user, following) do |> base_query(following) |> filter_blocked_user(for_user) |> filter_invisible_users() - |> filter_bots() + |> filter_internal_users() |> filter_blocked_domains(for_user) |> fts_search(query_string) |> trigram_rank(query_string) @@ -110,8 +110,8 @@ defp filter_invisible_users(query) do from(q in query, where: q.invisible == false) end - defp filter_bots(query) do - from(q in query, where: q.actor_type not in ["Application", "Service"]) + defp filter_internal_users(query) do + from(q in query, where: q.actor_type != "Application") end defp filter_blocked_user(query, %User{} = blocker) do diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 9a74b9764..f030523d3 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -25,11 +25,13 @@ test "excludes invisible users from results" do assert found_user.id == user.id end - test "excludes bots from results" do - insert(:user, actor_type: "Service", nickname: "bot1") - insert(:user, actor_type: "Application", nickname: "bot2") + test "excludes service actors from results" do + insert(:user, actor_type: "Application", nickname: "user1") + service = insert(:user, actor_type: "Service", nickname: "user2") + person = insert(:user, actor_type: "Person", nickname: "user3") - assert [] = User.search("bot") + assert [found_user1, found_user2] = User.search("user") + assert [found_user1.id, found_user2.id] -- [service.id, person.id] == [] end test "accepts limit parameter" do From 59b426ebefd1881181888a5b0e6abe8338b65d3f Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 3 Jul 2020 11:25:12 +0200 Subject: [PATCH 57/57] Notification Backfill: Explicitly select the needed fields. Prevents a crashing migration when we change user fields. --- .../migration_helper/notification_backfill.ex | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/migration_helper/notification_backfill.ex b/lib/pleroma/migration_helper/notification_backfill.ex index b3770307a..d260e62ca 100644 --- a/lib/pleroma/migration_helper/notification_backfill.ex +++ b/lib/pleroma/migration_helper/notification_backfill.ex @@ -3,7 +3,6 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.MigrationHelper.NotificationBackfill do - alias Pleroma.Notification alias Pleroma.Object alias Pleroma.Repo alias Pleroma.User @@ -25,18 +24,27 @@ def fill_in_notification_types do |> type_from_activity() notification - |> Notification.changeset(%{type: type}) + |> Ecto.Changeset.change(%{type: type}) |> Repo.update() end) end + defp get_by_ap_id(ap_id) do + q = + from(u in User, + select: u.id + ) + + Repo.get_by(q, ap_id: ap_id) + end + # This is copied over from Notifications to keep this stable. defp type_from_activity(%{data: %{"type" => type}} = activity) do case type do "Follow" -> accepted_function = fn activity -> - with %User{} = follower <- User.get_by_ap_id(activity.data["actor"]), - %User{} = followed <- User.get_by_ap_id(activity.data["object"]) do + with %User{} = follower <- get_by_ap_id(activity.data["actor"]), + %User{} = followed <- get_by_ap_id(activity.data["object"]) do Pleroma.FollowingRelationship.following?(follower, followed) end end