<commit_before>"""Manual plugin."""
import os
import logging
import pipes
import shutil
import signal
import socket
import subprocess
import sys
import tempfile
import time

import zope.component
import zope.interface

from acme import challenges

from letsencrypt import errors
from letsencrypt import interfaces
from letsencrypt.plugins import common


logger = logging.getLogger(__name__)


class Authenticator(common.Plugin):
    """Manual Authenticator.

       This plugin requires user's manual intervention in setting up a HTTP
       server for solving SimpleHTTP challenges and thus does not need to be
       run as a privileged process. Alternatively shows instructions on how
       to use Python's built-in HTTP server.

    .. todo:: Support for `~.challenges.DVSNI`.
    """<commit_msg>Fix manual plugin __doc__ indentantion<commit_after>"""Manual plugin."""
import os
import logging
import pipes
import shutil
import signal
import socket
import subprocess
import sys
import tempfile
import time

import zope.component
import zope.interface

from acme import challenges

from letsencrypt import errors
from letsencrypt import interfaces
from letsencrypt.plugins import common


logger = logging.getLogger(__name__)


class Authenticator(common.Plugin):
    """Manual Authenticator.

    This plugin requires user's manual intervention in setting up a HTTP
    server for solving SimpleHTTP challenges and thus does not need to
    be run as a privileged process. Alternatively shows instructions on
    how to use Python's built-in HTTP server.

    .. todo:: Support for `~.challenges.DVSNI`.

    """
{'fraction_non_alphanumeric': 0.05315203955500618, 'fraction_numerical': 0.0, 'mean_word_length': 4.2564935064935066, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3601468', 'n_tokens_mistral': 426, 'n_tokens_neox': 396, 'n_words': 186}