# Path: asn1crypto/csr.py
# class Version(Integer):
# class CSRAttributeType(ObjectIdentifier):
# class SetOfDirectoryString(SetOf):
# class Attribute(Sequence):
# class SetOfAttributes(SetOf):
# class SetOfExtensions(SetOf):
# class MicrosoftEnrollmentCSProvider(Sequence):
# class SetOfMicrosoftEnrollmentCSProvider(SetOf):
# class MicrosoftRequestClientInfo(Sequence):
# class SetOfMicrosoftRequestClientInfo(SetOf):
# class CRIAttribute(Sequence):
# class CRIAttributes(SetOf):
# class CertificationRequestInfo(Sequence):
# class CertificationRequest(Sequence):
# 
# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


import unittest
import sys
import os
from asn1crypto import csr, util
from ._unittest_compat import patch
                            util.OrderedDict([
                                ('keyspec', 1),
                                ('cspname', 'Microsoft RSA SChannel Cryptographic Provider'),
                                ('signature', ()),
                            ])
                        ]
                    ),
                ]),
                util.OrderedDict([
                    ('type', 'extension_request'),
                    (
                        'values',
                        [
                            [
                                util.OrderedDict([
                                    ('extn_id', 'microsoft_enroll_certtype'),
                                    ('critical', False),
                                    (
                                        'extn_value',
                                        'Machine',
                                    )
                                ]),
                                util.OrderedDict([
                                    ('extn_id', 'extended_key_usage'),
                                    ('critical', False),
                                    (
                                        'extn_value',
                                        ['client_auth', 'server_auth'],
                                    ),
                                ]),

# Path: asn1crypto/csr.py
# class Version(Integer):
# class CSRAttributeType(ObjectIdentifier):
# class SetOfDirectoryString(SetOf):
# class Attribute(Sequence):
# class SetOfAttributes(SetOf):
# class SetOfExtensions(SetOf):
# class MicrosoftEnrollmentCSProvider(Sequence):
# class SetOfMicrosoftEnrollmentCSProvider(SetOf):
# class MicrosoftRequestClientInfo(Sequence):
# class SetOfMicrosoftRequestClientInfo(SetOf):
# class CRIAttribute(Sequence):
# class CRIAttributes(SetOf):
# class CertificationRequestInfo(Sequence):
# class CertificationRequest(Sequence):
# 
# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


# Path: tests/test_csr.py
import unittest
import sys
import os
from asn1crypto import csr, util
from ._unittest_compat import patch

                            util.OrderedDict([
                                ('keyspec', 1),
                                ('cspname', 'Microsoft RSA SChannel Cryptographic Provider'),
                                ('signature', ()),
                            ])
                        ]
                    ),
                ]),
                util.OrderedDict([
                    ('type', 'extension_request'),
                    (
                        'values',
                        [
                            [
                                util.OrderedDict([
                                    ('extn_id', 'microsoft_enroll_certtype'),
                                    ('critical', False),
                                    (
                                        'extn_value',
                                        'Machine',
                                    )
                                ]),
                                util.OrderedDict([
                                    ('extn_id', 'extended_key_usage'),
                                    ('critical', False),
                                    (
                                        'extn_value',
                                        ['client_auth', 'server_auth'],
                                    ),
                                ]),

                                util.OrderedDict([