text:
"""
numerictypes: Define the numeric type objects

This module is designed so "from numerictypes import \\*" is safe.
Exported symbols include:

  Dictionary with all registered number types (including aliases):
    typeDict

  Type objects (not all will be available, depends on platform):
      see variable sctypes for which ones you have

    Bit-width names

    int8 int16 int32 int64 int128
    uint8 uint16 uint32 uint64 uint128
    float16 float32 float64 float96 float128 float256
    complex32 complex64 complex128 complex192 complex256 complex512
    datetime64 timedelta64

    c-based names

    bool_

    object_

    void, str_, unicode_

    byte, ubyte,
    short, ushort
    intc, uintc,
    intp, uintp,
    int_, uint,
    longlong, ulonglong,

    single, csingle,
    float_, complex_,
    longfloat, clongfloat,

   As part of the type-hierarchy:    xx -- is bit-width

   generic
     +-> bool_                                  (kind=b)
     +-> number                                 (kind=i)
     |     integer
     |     signedinteger   (intxx)
     |     byte
     |     short
     |     intc
     |     intp           int0
     |     int_
     |     longlong
     +-> unsignedinteger  (uintxx)              (kind=u)
     |     ubyte
     |     ushort
     |     uintc
     |     uintp          uint0
     |     uint_
     |     ulonglong
     +-> inexact
     |   +-> floating           (floatxx)       (kind=f)
     |   |     half
     |   |     single
     |   |     float_  (double)
     |   |     longfloat
     |   \\-> complexfloating    (complexxx)     (kind=c)
     |         csingle  (singlecomplex)
     |         complex_ (cfloat, cdouble)
     |         clongfloat (longcomplex)
     +-> flexible
     |     character
     |     void                                 (kind=V)
     |
     |     str_     (string_, bytes_)           (kind=S)    [Python 2]
     |     unicode_                             (kind=U)    [Python 2]
     |
     |     bytes_   (string_)                   (kind=S)    [Python 3]
     |     str_     (unicode_)                  (kind=U)    [Python 3]
     |
     \\-> object_ (not used much)                (kind=O)

"""
from __future__ import division, absolute_import, print_function

import types as _types
import sys
import numbers
import warnings

from numpy.compat import bytes, long
from numpy.core.multiarray import (
        typeinfo, ndarray, array, empty, dtype, datetime_data,
        datetime_as_string, busday_offset, busday_count, is_busday,
        busdaycalendar
        )

# we add more at the bottom
__all__ = ['sctypeDict', 'sctypeNA', 'typeDict', 'typeNA', 'sctypes',
           'ScalarType', 'obj2sctype', 'cast', 'nbytes', 'sctype2char',
           'maximum_sctype', 'issctype', 'typecodes', 'find_common_type',
           'issubdtype', 'datetime_data', 'datetime_as_string',
           'busday_offset', 'busday_count', 'is_busday', 'busdaycalendar',
           ]

# we don't export these for import *, but we do want them accessible
# as numerictypes.bool, etc.
if sys.version_info[0] >= 3:
    from builtins import bool, int, float, complex, object, str
    unicode = str
else:
    from __builtin__ import bool, int, float, complex, object, unicode, str

# String-handling utilities to avoid locale-dependence.

# "import string" is costly to import!
# Construct the translation tables directly
#   "A" = chr(65), "a" = chr(97)
_all_chars = [chr(_m) for _m in range(256)]
_ascii_upper = _all_chars[65:65+26]
_ascii_lower = _all_chars[97:97+26]
LOWER_TABLE = "".join(_all_chars[:65] + _ascii_lower + _all_chars[65+26:])
UPPER_TABLE = "".join(_all_chars[:97] + _ascii_upper + _all_chars[97+26:])

def english_lower(s):
    """ Apply English case rules to convert ASCII strings to all lower case.

    This is an internal utility function to replace calls to str.lower() such
    that we can avoid changing behavior with changing locales. In particular,
    Turkish has distinct dotted and dotless variants of the Latin letter "I" in
    both lowercase and uppercase. Thus, "I".lower() != "i" in a "tr" locale.

    Parameters
    ----------
    s : str

    Returns
    -------
    lowered : str

    Examples
    --------
    >>> from numpy.core.numerictypes import english_lower
    >>> english_lower('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_')
    'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789_'
    >>> english_lower('')
    ''
    """
    lowered = s.translate(LOWER_TABLE)
    return lowered

def english_upper(s):
    """ Apply English case rules to convert ASCII strings to all upper case.

    This is an internal utility function to replace calls to str.upper() such
    that we can avoid changing behavior with changing locales. In particular,
    Turkish has distinct dotted and dotless variants of the Latin letter "I" in
    both lowercase and uppercase. Thus, "i".upper() != "I" in a "tr" locale.

    Parameters
    ----------
    s : str

    Returns
    -------
    uppered : str

    Examples
    --------
    >>> from numpy.core.numerictypes import english_upper
    >>> english_upper('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_')
    'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'
    >>> english_upper('')
    ''
    """
    uppered = s.translate(UPPER_TABLE)
    return uppered

def english_capitalize(s):
    """ Apply English case rules to convert the first character of an ASCII
    string to upper case.

    This is an internal utility function to replace calls to str.capitalize()
    such that we can avoid changing behavior with changing locales.

    Parameters
    ----------
    s : str

    Returns
    -------
    capitalized : str

    Examples
    --------
    >>> from numpy.core.numerictypes import english_capitalize
    >>> english_capitalize('int8')
    'Int8'
    >>> english_capitalize('Int8')
    'Int8'
    >>> english_capitalize('')
    ''
    """
    if s:
        return english_upper(s[0]) + s[1:]
    else:
        return s

sctypeDict = {}      # Contains all leaf-node scalar types with aliases
sctypeNA = {}        # Contails all leaf-node types -> numarray type equivalences
allTypes = {}      # Collect the types we will add to the module here

def _evalname(name):
    k = 0
    for ch in name:
        if ch in '0123456789':
            break
        k += 1
    try:
        bits = int(name[k:])
    except ValueError:
        bits = 0
    base = name[:k]
    return base, bits

def bitname(obj):
    """Return a bit-width name for a given type object"""
    name = obj.__name__
    base = ''
    char = ''
    try:
        if name[-1] == '_':
            newname = name[:-1]
        else:
            newname = name
        info = typeinfo[english_upper(newname)]
        assert(info[-1] == obj)  # sanity check
        bits = info[2]

    except KeyError:     # bit-width name
        base, bits = _evalname(name)
        char = base[0]

    if name == 'bool_':
        char = 'b'
        base = 'bool'
    elif name == 'void':
        char = 'V'
        base = 'void'
    elif name == 'object_':
        char = 'O'
        base = 'object'
        bits = 0
    elif name == 'datetime64':
        char = 'M'
    elif name == 'timedelta64':
        char = 'm'

    if sys.version_info[0] >= 3:
        if name == 'bytes_':
            char = 'S'
            base = 'bytes'
        elif name == 'str_':
            char = 'U'
            base = 'str'
    else:
        if name == 'string_':
            char = 'S'
            base = 'string'
        elif name == 'unicode_':
            char = 'U'
            base = 'unicode'

    bytes = bits // 8

    if char != '' and bytes != 0:
        char = "%s%d" % (char, bytes)

    return base, bits, char

def _add_types():
    for a in typeinfo.keys():
        name = english_lower(a)
        if isinstance(typeinfo[a], tuple):
            typeobj = typeinfo[a][-1]

            # define C-name and insert typenum and typechar references also
            allTypes[name] = typeobj
            sctypeDict[name] = typeobj
            sctypeDict[typeinfo[a][0]] = typeobj
            sctypeDict[typeinfo[a][1]] = typeobj

        else:  # generic class
            allTypes[name] = typeinfo[a]
_add_types()

def _add_aliases():
    for a in typeinfo.keys():
        name = english_lower(a)
        if not isinstance(typeinfo[a], tuple):
            continue
        typeobj = typeinfo[a][-1]
        # insert bit-width version for this class (if relevant)
        base, bit, char = bitname(typeobj)
        if base[-3:] == 'int' or char[0] in 'ui':
            continue
        if base != '':
            myname = "%s%d" % (base, bit)
            if ((name != 'longdouble' and name != 'clongdouble') or
                   myname not in allTypes.keys()):
                allTypes[myname] = typeobj
                sctypeDict[myname] = typeobj
                if base == 'complex':
                    na_name = '%s%d' % (english_capitalize(base), bit//2)
                elif base == 'bool':
                    na_name = english_capitalize(base)
                    sctypeDict[na_name] = typeobj
                else:
                    na_name = "%s%d" % (english_capitalize(base), bit)
                    sctypeDict[na_name] = typeobj
                sctypeNA[na_name] = typeobj
                sctypeDict[na_name] = typeobj
                sctypeNA[typeobj] = na_name
                sctypeNA[typeinfo[a][0]] = na_name
        if char != '':
            sctypeDict[char] = typeobj
            sctypeNA[char] = na_name
_add_aliases()

# Integers are handled so that the int32 and int64 types should agree
# exactly with NPY_INT32, NPY_INT64. We need to enforce the same checking
# as is done in arrayobject.h where the order of getting a bit-width match
# is long, longlong, int, short, char.
def _add_integer_aliases():
    _ctypes = ['LONG', 'LONGLONG', 'INT', 'SHORT', 'BYTE']
    for ctype in _ctypes:
        val = typeinfo[ctype]
        bits = val[2]
        charname = 'i%d' % (bits//8,)
        ucharname = 'u%d' % (bits//8,)
        intname = 'int%d' % bits
        UIntname = 'UInt%d' % bits
        Intname = 'Int%d' % bits
        uval = typeinfo['U'+ctype]
        typeobj = val[-1]
        utypeobj = uval[-1]
        if intname not in allTypes.keys():
            uintname = 'uint%d' % bits
            allTypes[intname] = typeobj
            allTypes[uintname] = utypeobj
            sctypeDict[intname] = typeobj
            sctypeDict[uintname] = utypeobj
            sctypeDict[Intname] = typeobj
            sctypeDict[UIntname] = utypeobj
            sctypeDict[charname] = typeobj
            sctypeDict[ucharname] = utypeobj
            sctypeNA[Intname] = typeobj
            sctypeNA[UIntname] = utypeobj
            sctypeNA[charname] = typeobj
            sctypeNA[ucharname] = utypeobj
        sctypeNA[typeobj] = Intname
        sctypeNA[utypeobj] = UIntname
        sctypeNA[val[0]] = Intname
        sctypeNA[uval[0]] = UIntname
_add_integer_aliases()

# We use these later
void = allTypes['void']
generic = allTypes['generic']

#
# Rework the Python names (so that float and complex and int are consistent
#                            with Python usage)
#
def _set_up_aliases():
    type_pairs = [('complex_', 'cdouble'),
                  ('int0', 'intp'),
                  ('uint0', 'uintp'),
                  ('single', 'float'),
                  ('csingle', 'cfloat'),
                  ('singlecomplex', 'cfloat'),
                  ('float_', 'double'),
                  ('intc', 'int'),
                  ('uintc', 'uint'),
                  ('int_', 'long'),
                  ('uint', 'ulong'),
                  ('cfloat', 'cdouble'),
                  ('longfloat', 'longdouble'),
                  ('clongfloat', 'clongdouble'),
                  ('longcomplex', 'clongdouble'),
                  ('bool_', 'bool'),
                  ('unicode_', 'unicode'),
                  ('object_', 'object')]
    if sys.version_info[0] >= 3:
        type_pairs.extend([('bytes_', 'string'),
                           ('str_', 'unicode'),
                           ('string_', 'string')])
    else:
        type_pairs.extend([('str_', 'string'),
                           ('string_', 'string'),
                           ('bytes_', 'string')])
    for alias, t in type_pairs:
        allTypes[alias] = allTypes[t]
        sctypeDict[alias] = sctypeDict[t]
    # Remove aliases overriding python types and modules
    to_remove = ['ulong', 'object', 'unicode', 'int', 'long', 'float',
                 'complex', 'bool', 'string', 'datetime', 'timedelta']
    if sys.version_info[0] >= 3:
        # Py3K
        to_remove.append('bytes')
        to_remove.append('str')
        to_remove.remove('unicode')
        to_remove.remove('long')
    for t in to_remove:
        try:
            del allTypes[t]
            del sctypeDict[t]
        except KeyError:
            pass
_set_up_aliases()

# Now, construct dictionary to lookup character codes from types
_sctype2char_dict = {}
def _construct_char_code_lookup():
    for name in typeinfo.keys():
        tup = typeinfo[name]
        if isinstance(tup, tuple):
            if tup[0] not in ['p', 'P']:
                _sctype2char_dict[tup[-1]] = tup[0]
_construct_char_code_lookup()

sctypes = {'int': [],
           'uint':[],
           'float':[],
           'complex':[],
           'others':[bool, object, bytes, unicode, void]}

def _add_array_type(typename, bits):
    try:
        t = allTypes['%s%d' % (typename, bits)]
    except KeyError:
        pass
    else:
        sctypes[typename].append(t)

def _set_array_types():
    ibytes = [1, 2, 4, 8, 16, 32, 64]
    fbytes = [2, 4, 8, 10, 12, 16, 32, 64]
    for bytes in ibytes:
        bits = 8*bytes
        _add_array_type('int', bits)
        _add_array_type('uint', bits)
    for bytes in fbytes:
        bits = 8*bytes
        _add_array_type('float', bits)
        _add_array_type('complex', 2*bits)
    _gi = dtype('p')
    if _gi.type not in sctypes['int']:
        indx = 0
        sz = _gi.itemsize
        _lst = sctypes['int']
        while (indx < len(_lst) and sz >= _lst[indx](0).itemsize):
            indx += 1
        sctypes['int'].insert(indx, _gi.type)
        sctypes['uint'].insert(indx, dtype('P').type)
_set_array_types()

genericTypeRank = ['bool', 'int8', 'uint8', 'int16', 'uint16',
                   'int32', 'uint32', 'int64', 'uint64', 'int128',
                   'uint128', 'float16',
                   'float32', 'float64', 'float80', 'float96', 'float128',
                   'float256',
                   'complex32', 'complex64', 'complex128', 'complex160',
                   'complex192', 'complex256', 'complex512', 'object']

def maximum_sctype(t):
    """
    Return the scalar type of highest precision of the same kind as the input.

    Parameters
    ----------
    t : dtype or dtype specifier
        The input data type. This can be a `dtype` object or an object that
        is convertible to a `dtype`.

    Returns
    -------
    out : dtype
        The highest precision data type of the same kind (`dtype.kind`) as `t`.

    See Also
    --------
    obj2sctype, mintypecode, sctype2char
    dtype

    Examples
    --------
    >>> np.maximum_sctype(int)
    <type 'numpy.int64'>
    >>> np.maximum_sctype(np.uint8)
    <type 'numpy.uint64'>
    >>> np.maximum_sctype(complex)
    <type 'numpy.complex192'>

    >>> np.maximum_sctype(str)
    <type 'numpy.string_'>

    >>> np.maximum_sctype('i2')
    <type 'numpy.int64'>
    >>> np.maximum_sctype('f4')
    <type 'numpy.float96'>

    """
    g = obj2sctype(t)
    if g is None:
        return t
    t = g
    name = t.__name__
    base, bits = _evalname(name)
    if bits == 0:
        return t
    else:
        return sctypes[base][-1]

def issctype(rep):
    """
    Determines whether the given object represents a scalar data-type.

    Parameters
    ----------
    rep : any
        If `rep` is an instance of a scalar dtype, True is returned. If not,
        False is returned.

    Returns
    -------
    out : bool
        Boolean result of check whether `rep` is a scalar dtype.

    See Also
    --------
    issubsctype, issubdtype, obj2sctype, sctype2char

    Examples
    --------
    >>> np.issctype(np.int32)
    True
    >>> np.issctype(list)
    False
    >>> np.issctype(1.1)
    False

    Strings are also a scalar type:

    >>> np.issctype(np.dtype('str'))
    True

    """
    if not isinstance(rep, (type, dtype)):
        return False
    try:
        res = obj2sctype(rep)
        if res and res != object_:
            return True
        return False
    except Exception:
        return False

def obj2sctype(rep, default=None):
    """
    Return the scalar dtype or NumPy equivalent of Python type of an object.

    Parameters
    ----------
    rep : any
        The object of which the type is returned.
    default : any, optional
        If given, this is returned for objects whose types can not be
        determined. If not given, None is returned for those objects.

    Returns
    -------
    dtype : dtype or Python type
        The data type of `rep`.

    See Also
    --------
    sctype2char, issctype, issubsctype, issubdtype, maximum_sctype

    Examples
    --------
    >>> np.obj2sctype(np.int32)
    <type 'numpy.int32'>
    >>> np.obj2sctype(np.array([1., 2.]))
    <type 'numpy.float64'>
    >>> np.obj2sctype(np.array([1.j]))
    <type 'numpy.complex128'>

    >>> np.obj2sctype(dict)
    <type 'numpy.object_'>
    >>> np.obj2sctype('string')
    <type 'numpy.string_'>

    >>> np.obj2sctype(1, default=list)
    <type 'list'>

    """
    # prevent abtract classes being upcast
    if isinstance(rep, type) and issubclass(rep, generic):
        return rep
    # extract dtype from arrays
    if isinstance(rep, ndarray):
        return rep.dtype.type
    # fall back on dtype to convert
    try:
        res = dtype(rep)
    except Exception:
        return default
    else:
        return res.type

def issubclass_(arg1, arg2):
    """
    Determine if a class is a subclass of a second class.

    `issubclass_` is equivalent to the Python built-in ``issubclass``,
    except that it returns False instead of raising a TypeError if one
    of the arguments is not a class.

    Parameters
    ----------
    arg1 : class
        Input class. True is returned if `arg1` is a subclass of `arg2`.
    arg2 : class or tuple of classes.
        Input class. If a tuple of classes, True is returned if `arg1` is a
        subclass of any of the tuple elements.

    Returns
    -------
    out : bool
        Whether `arg1` is a subclass of `arg2` or not.

    See Also
    --------
    issubsctype, issubdtype, issctype

    Examples
    --------
    >>> np.issubclass_(np.int32, int)
    True
    >>> np.issubclass_(np.int32, float)
    False

    """
    try:
        return issubclass(arg1, arg2)
    except TypeError:
        return False

def issubsctype(arg1, arg2):
    """
    Determine if the first argument is a subclass of the second argument.

    Parameters
    ----------
    arg1, arg2 : dtype or dtype specifier
        Data-types.

    Returns
    -------
    out : bool
        The result.

    See Also
    --------
    issctype, issubdtype,obj2sctype

    Examples
    --------
    >>> np.issubsctype('S8', str)
    True
    >>> np.issubsctype(np.array([1]), int)
    True
    >>> np.issubsctype(np.array([1]), float)
    False

    """
    return issubclass(obj2sctype(arg1), obj2sctype(arg2))

def issubdtype(arg1, arg2):
    """
    Returns True if first argument is a typecode lower/equal in type hierarchy.

    Parameters
    ----------
    arg1, arg2 : dtype_like
        dtype or string representing a typecode.

    Returns
    -------
    out : bool

    See Also
    --------
    issubsctype, issubclass_
    numpy.core.numerictypes : Overview of numpy type hierarchy.

    Examples
    --------
    >>> np.issubdtype('S1', np.string_)
    True
    >>> np.issubdtype(np.float64, np.float32)
    False

    """
    if not issubclass_(arg1, generic):
        arg1 = dtype(arg1).type
    if not issubclass_(arg2, generic):
        arg2_orig = arg2
        arg2 = dtype(arg2).type
        if not isinstance(arg2_orig, dtype):
            # weird deprecated behaviour, that tried to infer np.floating from
            # float, and similar less obvious things, such as np.generic from
            # basestring
            mro = arg2.mro()
            arg2 = mro[1] if len(mro) > 1 else mro[0]

            def type_repr(x):
                """ Helper to produce clear error messages """
                if not isinstance(x, type):
                    return repr(x)
                elif issubclass(x, generic):
                    return "np.{}".format(x.__name__)
                else:
                    return x.__name__

            # 1.14, 2017-08-01
            warnings.warn(
                "Conversion of the second argument of issubdtype from `{raw}` "
                "to `{abstract}` is deprecated. In future, it will be treated "
                "as `{concrete} == np.dtype({raw}).type`.".format(
                    raw=type_repr(arg2_orig),
                    abstract=type_repr(arg2),
                    concrete=type_repr(dtype(arg2_orig).type)
                ),
                FutureWarning, stacklevel=2
            )

    return issubclass(arg1, arg2)

# This dictionary allows look up based on any alias for an array data-type
class _typedict(dict):
    """
    Base object for a dictionary for look-up with any alias for an array dtype.

    Instances of `_typedict` can not be used as dictionaries directly,
    first they have to be populated.

    """

    def __getitem__(self, obj):
        return dict.__getitem__(self, obj2sctype(obj))

nbytes = _typedict()
_alignment = _typedict()
_maxvals = _typedict()
_minvals = _typedict()
def _construct_lookups():
    for name, val in typeinfo.items():
        if not isinstance(val, tuple):
            continue
        obj = val[-1]
        nbytes[obj] = val[2] // 8
        _alignment[obj] = val[3]
        if (len(val) > 5):
            _maxvals[obj] = val[4]
            _minvals[obj] = val[5]
        else:
            _maxvals[obj] = None
            _minvals[obj] = None

_construct_lookups()

def sctype2char(sctype):
    """
    Return the string representation of a scalar dtype.

    Parameters
    ----------
    sctype : scalar dtype or object
        If a scalar dtype, the corresponding string character is
        returned. If an object, `sctype2char` tries to infer its scalar type
        and then return the corresponding string character.

    Returns
    -------
    typechar : str
        The string character corresponding to the scalar type.

    Raises
    ------
    ValueError
        If `sctype` is an object for which the type can not be inferred.

    See Also
    --------
    obj2sctype, issctype, issubsctype, mintypecode

    Examples
    --------
    >>> for sctype in [np.int32, float, complex, np.string_, np.ndarray]:
    ...     print(np.sctype2char(sctype))
    l
    d
    D
    S
    O

    >>> x = np.array([1., 2-1.j])
    >>> np.sctype2char(x)
    'D'
    >>> np.sctype2char(list)
    'O'

    """
    sctype = obj2sctype(sctype)
    if sctype is None:
        raise ValueError("unrecognized type")
    return _sctype2char_dict[sctype]

# Create dictionary of casting functions that wrap sequences
# indexed by type or type character

cast = _typedict()
try:
    ScalarType = [_types.IntType, _types.FloatType, _types.ComplexType,
                  _types.LongType, _types.BooleanType,
                   _types.StringType, _types.UnicodeType, _types.BufferType]
except AttributeError:
    # Py3K
    ScalarType = [int, float, complex, int, bool, bytes, str, memoryview]

ScalarType.extend(_sctype2char_dict.keys())
ScalarType = tuple(ScalarType)
for key in _sctype2char_dict.keys():
    cast[key] = lambda x, k=key: array(x, copy=False).astype(k)

# Create the typestring lookup dictionary
_typestr = _typedict()
for key in _sctype2char_dict.keys():
    if issubclass(key, allTypes['flexible']):
        _typestr[key] = _sctype2char_dict[key]
    else:
        _typestr[key] = empty((1,), key).dtype.str[1:]

# Make sure all typestrings are in sctypeDict
for key, val in _typestr.items():
    if val not in sctypeDict:
        sctypeDict[val] = key

# Add additional strings to the sctypeDict

if sys.version_info[0] >= 3:
    _toadd = ['int', 'float', 'complex', 'bool', 'object',
              'str', 'bytes', 'object', ('a', allTypes['bytes_'])]
else:
    _toadd = ['int', 'float', 'complex', 'bool', 'object', 'string',
              ('str', allTypes['string_']),
              'unicode', 'object', ('a', allTypes['string_'])]

for name in _toadd:
    if isinstance(name, tuple):
        sctypeDict[name[0]] = name[1]
    else:
        sctypeDict[name] = allTypes['%s_' % name]

del _toadd, name

# Now add the types we've determined to this module
for key in allTypes:
    globals()[key] = allTypes[key]
    __all__.append(key)

del key

typecodes = {'Character':'c',
             'Integer':'bhilqp',
             'UnsignedInteger':'BHILQP',
             'Float':'efdg',
             'Complex':'FDG',
             'AllInteger':'bBhHiIlLqQpP',
             'AllFloat':'efdgFDG',
             'Datetime': 'Mm',
             'All':'?bhilqpBHILQPefdgFDGSUVOMm'}

# backwards compatibility --- deprecated name
typeDict = sctypeDict
typeNA = sctypeNA

# b -> boolean
# u -> unsigned integer
# i -> signed integer
# f -> floating point
# c -> complex
# M -> datetime
# m -> timedelta
# S -> string
# U -> Unicode string
# V -> record
# O -> Python object
_kind_list = ['b', 'u', 'i', 'f', 'c', 'S', 'U', 'V', 'O', 'M', 'm']

__test_types = '?'+typecodes['AllInteger'][:-2]+typecodes['AllFloat']+'O'
__len_test_types = len(__test_types)

# Keep incrementing until a common type both can be coerced to
#  is found.  Otherwise, return None
def _find_common_coerce(a, b):
    if a > b:
        return a
    try:
        thisind = __test_types.index(a.char)
    except ValueError:
        return None
    return _can_coerce_all([a, b], start=thisind)

# Find a data-type that all data-types in a list can be coerced to
def _can_coerce_all(dtypelist, start=0):
    N = len(dtypelist)
    if N == 0:
        return None
    if N == 1:
        return dtypelist[0]
    thisind = start
    while thisind < __len_test_types:
        newdtype = dtype(__test_types[thisind])
        numcoerce = len([x for x in dtypelist if newdtype >= x])
        if numcoerce == N:
            return newdtype
        thisind += 1
    return None

def _register_types():
    numbers.Integral.register(integer)
    numbers.Complex.register(inexact)
    numbers.Real.register(floating)
    numbers.Number.register(number)

_register_types()

def find_common_type(array_types, scalar_types):
    """
    Determine common type following standard coercion rules.

    Parameters
    ----------
    array_types : sequence
        A list of dtypes or dtype convertible objects representing arrays.
    scalar_types : sequence
        A list of dtypes or dtype convertible objects representing scalars.

    Returns
    -------
    datatype : dtype
        The common data type, which is the maximum of `array_types` ignoring
        `scalar_types`, unless the maximum of `scalar_types` is of a
        different kind (`dtype.kind`). If the kind is not understood, then
        None is returned.

    See Also
    --------
    dtype, common_type, can_cast, mintypecode

    Examples
    --------
    >>> np.find_common_type([], [np.int64, np.float32, complex])
    dtype('complex128')
    >>> np.find_common_type([np.int64, np.float32], [])
    dtype('float64')

    The standard casting rules ensure that a scalar cannot up-cast an
    array unless the scalar is of a fundamentally different kind of data
    (i.e. under a different hierarchy in the data type hierarchy) then
    the array:

    >>> np.find_common_type([np.float32], [np.int64, np.float64])
    dtype('float32')

    Complex is of a different type, so it up-casts the float in the
    `array_types` argument:

    >>> np.find_common_type([np.float32], [complex])
    dtype('complex128')

    Type specifier strings are convertible to dtypes and can therefore
    be used instead of dtypes:

    >>> np.find_common_type(['f4', 'f4', 'i4'], ['c8'])
    dtype('complex128')

    """
    array_types = [dtype(x) for x in array_types]
    scalar_types = [dtype(x) for x in scalar_types]

    maxa = _can_coerce_all(array_types)
    maxsc = _can_coerce_all(scalar_types)

    if maxa is None:
        return maxsc

    if maxsc is None:
        return maxa

    try:
        index_a = _kind_list.index(maxa.kind)
        index_sc = _kind_list.index(maxsc.kind)
    except ValueError:
        return None

    if index_sc > index_a:
        return _find_common_coerce(maxsc, maxa)
    else:
        return maxa

redpajama_set_name: RedPajamaGithub


Social Damnation is a team piece performed by the poets of Epic Sound, the Kenwood Academy Slam Poetry Team: seniors Kristen Turner, 17, Rachel Smith, 18, Eunice Onyelobi, 17, and Slayton Goodman, 18. This was the first year in the competition for Eunice, the second year for Kristen and Rachel, and the four year for Slayton (who can also be heard performing here, and you can hear him and Rachel together here).
This piece gives an insightful and haunting commentary of the effect social networks are having on today's teens.
Though everyone knows "the points are not the point, the point is the poetry" – congratulations to Epic Sound, who successfully advanced to the Final round of competition, one of the top four teams in the 2012 Festival, out of a field of over 90 schools and community organizations who participated.


Find Baby In Carrier Costume Halloween shopping results from Amazon & compare prices with other Halloween online stores: Ebay, Walmart, Target, Sears, Asos, Spitit Halloween, Costume Express, Costume Craze, Party City, Oriental Trading, Yandy, Halloween Express, Smiffys, Costume Discounters, BuyCostumes, Costume Kingdom, and other stores.
Incredibly simple and yet effortlessly stylish, this fabulous maternity sweatshirt is made in fleece fabric,which feels fantastic against sensitive skin, and is designed to grow with your changing curves. Casual maternity hoodie from a jersey fabric. Regular fit.
Don't satisfied with Baby In Carrier Costume results or need more Halloween costume ideas? Try to exlore these related searches: Jason's Girlfriend Costume, Easy Inventive Halloween Costumes, Lulu Costumes.


This portfolio of resources represents the outcomes from action-research workshops held at conferences co-promoted by ADCS and EMIE in London and Manchester in March 2007. These were attended by local authority senior officers who have responsibilities in relation to the strategic planning of school organisation and managing changes to schools so as to improve choice, diversity and access.
The series of booklets sets out the issues and practical solutions shared or suggested by those participating in the workshops on pupil place planning, setting up academies, federations and collaborations and running school competitions. It offers advice to local authority officers with responsibility for school organisation (in England), using actual experiences of those who have been involved in managing changes to schools.


On the day before he goes to the U.S.-Mexico border to pass out teddy bears and soccer balls to illegal immigrant children, radio host Glenn Beck declared that Americans should not focus on the gangsters, rapists, and killers who have accompanied some of those children across the border.
Beck made his remarks two days after Breitbart Texas broke the story about an illegal immigrant who was arrested for murder after being released from a detention center in June with a "notice to appear," which illegal immigrants often mistake for a "permiso" to indefinitely remain in the United States.
Beck said that Americans – and presumably mainstream media outlets and right-of-center outlets like Breitbart News – should not "focus" on these security threats.
Breitbart Texas has reported on MS-13 arrests, the confirmed cases of contagious diseases like swine flu and tuberculosis among illegal immigrants who have recently entered the country, gangsters recruiting new members at detention centers, and a host of other criminal activities that have been committed along the border.
Texas Gov. Rick Perry has said that terrorists and the world's most dangerous gangsters are ready to exploit the border crisis. Rep. Lou Barletta (R-PA) testified at a House Homeland Security Committee Field Hearing in McAllen, Texas, that Americans are the ones who pay the price when illegal immigrant criminals are released into the general population.
Americans became more aware of these issues as media outlets from across the spectrum were forced to report on them after Breitbart Texas published leaked photos of illegal immigrant children being warehoused in detention centers.
A Gallup poll this week found that illegal immigration is now the "top problem" facing Americans. That was not the case before Breitbart Texas published those photos in June. A mere 5% of Americans said illegal immigration was the country's top problem then, when media outlets were focused on anything but the rapists, murderers, and gangsters who have unlawfully entered the country in addition to the 57,000 illegal immigrant children who have crossed the border since October of last year.
Federal officials estimate that at least 150,000 more will unlawfully enter the nation in the next fiscal year.


When it comes to starting a small business, every penny counts – especially in these tough economic times. However, there are certain things that are definitely worth spending on in business. The key is to find the balance between spending and saving, and ensure that you're investing in the right areas of your business.
There are so many fantastic sources of information online that there's no need for you to pay for business advice or professional help with a business plan – after all, who is going to know your business idea better than you? Head to Gov.UK for lots of start up advice and business plan templates.
A business bank account is a good idea, as it will help keep your business finances separate from your personal finances. However, with many banks offering free business facilities for up to 18 months, there's no need to pay for this until your business is well established.
Do you really need that swanky office space from the get go? Can you work from home or hire a 'hot desk' while getting your business off the ground instead?
Same goes for equipment. You may want the latest computer, phone and other gadgetry but, if cheaper options will work just as well, you should resist this temptation for the sake of your cash flow.
If you need to employ staff make sure that every member serves an essential purpose and that you're getting the best possible value for money. Wage bills are likely to be a big proportion of your outgoings so make sure that you don't over-hire and that you get the hiring that you need to do right.
A good accountant will pay for his or herself by saving you tax in the long run. Unless you're a whizz with numbers you'll also find keeping your own books to be a time-consuming false economy.
Having the right insurances in place is essential from the very start of any business, to protect you, your business and those that you are working with. Liability insurance is a must if you're working with clients – for example, if they are relying on your professional advice or service – so one of the first things you should do is get a liability insurance quote, to see how the cost of this fits into your business plan. Don't be tempted to skimp on your insurances. Liability insurance from Hiscox is a trusted, good value option, but if it's an outgoing that you can't afford then it's likely that you need to reconsider your business.
Good employees will enable your business to thrive, and, when you invest wisely, are likely to be one of the best investments you can make. Don't be afraid to spend on the staff that you need, in order to get the best person for the job.
Knowing when to spend and when to save is an essential skill in business. Spend wisely from the start and invest in your business to the very best effect.


Description The Women in Localization Ireland Chapter is inviting all in the localization industry for a 2019 kick-off social networking event in Ely Bar & Grill in Dublin's beautiful docklands. ALL WELCOME Let's all bring some friends and colleagues who work in localization to this event and have a great evening meeting new people and exchanging ideas and experiences with each other. All ladies are invited to become part of Women in Localization Ireland by joining our LinkedIn or Facebook groups!


text:
Q: hibernate @ManyToMany bidirectional eager fetching I have a question which I think should be pretty common but I can't find an answer.
I have 2 objects: Group and User. My classes look something like this:
class Group
{
  @ManyToMany(fetch = FetchType.EAGER)
  List<User> users;
}

class User
{
  @ManyToMany(fetch = FetchType.EAGER)
  List<Group> groups;
}

Now, when I try to get a User from the database it brings all its groups and all groups bring all its users and so on. Finally, I'm getting a stackoverflow exception.
How can I solve this issue and still have my bidirectional association and the ability to reach the objects in the lists?

A: Do you get the same problem if you make one of the sides of your bidirectional assocation the owning side of the association using the mappedBy attribute (that you should use anyway)? Like this:
@Entity public class Group {
  ...
  @ManyToMany(fetch = FetchType.EAGER, mappedBy="groups")
  List<User> users;
}

@Entity public class User {
  ...
  @ManyToMany(fetch = FetchType.EAGER)
  List<Group> groups;
}

Update: I can't find any evidence that using EAGER fetching on both sides of a bidirectional association is forbidden and AFAIK, there is no mention of such a restriction in the Hibernate documentation and / or the JPA specification.
Actually, according to this comment from Emmanuel Bernard to a (somehow similar) issue:

LAZY or EAGER should be orthogonal to an infinite loop issue in the codebase. Hibernate knows how to handle cyclic graphs

For me, the above is pretty clear, Hibernate should be able to handle your mapping (as I mentioned in a comment) and I would be tempted to consider any contradictory behavior as a bug.
If you can provide a test case allowing to reproduce the problem, my suggestion would be to open an issue.

A: Hibernate works ok when it tries to eagerly fetch everything it needs to. Modeling objects has to take hibernate into account so loops and stackoverflow exceptions won't occur.
What i did is removing one side of the relationship. You can decide if you want to remove that side or to leave it and define the other side as the owner. You'll also need to remove the eager fetching from that side.
It would be nice if hibernate could give a mechanism for defining the depth of fetching in many-to-many relationships.

A: You might want to set the property "hibernate.max_fetch_depth" to something like 3 to limit eager fetching.

redpajama_set_name: RedPajamaStackExchange


text:
Cardiology Cardiology
Hodgkin's lymphoma survivors carry high disease burden from SMN, CVD
Survivors of Hodgkin's lymphoma are at greater risk of developing subsequent malignant neoplasm (SMN) and cardiovascular disease (CVD), according to a study.
Original New Drug Application Approvals by US FDA (01 - 15 July 2019)
New drug applications approved by US FDA as of 01 - 15 July 2019 which includes New Molecular Entities (NMEs) and new biologics. It does not include Tentative Approvals. Supplemental approvals may have occurred since the original approval date.
Burying the spectre of VIGOR with evidence from PRECISION
Pank Jit Sin
Though the VIGOR* trial ended many years ago, the outcomes its accompanying events continued to affect clinical practice, even when newer trials, such as PRECISION**, emerged to debunk much of the misconceptions generated by VIGOR.
Speaking from a live webcast, Professor Ernest Choy, head of Rheumatology and Translational Research at the Institute of Infection and Immunity, Cardiff University, UK, said the medical fraternity was only recently coming to terms with the PRECISION study's findings, which was published towards the end of 2016.
PRECISION established that celecoxib's cardiovascular risk is the same as conventional non-steroidal anti-inflammatory drugs (NSAIDs) including naproxen and ibuprofen. All-cause mortality, major gastrointestinal bleeds and adverse renal evens were also lower in celecoxib compared with naproxen. Similarly, celecoxib was found to cause less GI tract adverse events than ibuprofen or naproxen.
Additionally, observations from PRECISION-AMBP, which is a pre-specific substudy of the PRECISION trial, established that hypertension and increase in blood pressure was less frequent in celecoxib compared with naproxen and ibuprofen. Increases in creatinine, which was an investigator-reported adverse event, was also lower in the celecoxib group compared with those on ibuprofen.
In light of all the convincing evidence, earlier this year, Pfizer submitted a motion to the US FDA to consider changing the label of celecoxib and convened a special joint meeting in April, which was attended by the US Drug Safety and Risk Management advisory committee and the Arthritis Advisory committee. [Available at https://www.fda.gov/downloads/AdvisoryCommittees/CommitteesMeetingMaterials/Drugs/ArthritisAdvisoryCommittee/UCM605207.pdf]
At the end of the 2-day hearing, the committee voted in favour of celecoxib on the conclusion that it was posed no greater risk for heart attacks and strokes compared with naproxen and ibuprofen. Although, Choy said the reviewers cautioned that this recommendation "must be interpreted in the contact of the doses used in the (PRECISION) trial, which were prescription strength, and cannot be extrapolated to apply to intermittent or OTC dosing".
VIGOR's legacy of misconception
Choy said in the aftermath of VIGOR's publication, the US FDA recommended that all COX-2 selective inhibitors carry a black box warning about the increased risk of heart attack and stroke. The European Medicines Agency (EMA) also issued guidelines warning physicians using COX-2 selective inhibitors on patients with ischaemic heart disease or stroke or risk of either disease.
"There were major public health concerns, which led to rofecoxib's withdrawal from the market," noted Choy. On top of this, the perception that naproxen was cardioprotective was also imprinted within the medical fraternity.
"As you know, for the last 2 decades, many rheumatologists and physicians were prescribing naproxen to patients (with osteoarthritic or rheumatoid arthritis) as they believed this drug was safer (in cardiovascular terms) and that led to a global increase of use of naproxen to treat musculoskeletal conditions," said Choy.
It is hoped that the newer recommendations by the special panel meeting will finally put to rest all the confusion surrounding COX-2 selective inhibitors and other NSAIDs.
VIGOR*: Vioxx GI Outcomes Research PRECISION**: Prospective Randomized Evaluation of Celecoxib Integrated Safety versus Ibuprofen or Naproxen PRECISION-AMBP***: Prospective Randomized Evaluation of Celecoxib Integrated Safety versus Ibuprofen or Naproxen-Ambulatory Blood Pressure Monitoring
Asia's trusted medical magazine for healthcare professionals. Get your MIMS Cardiology - Malaysia digital copy today!
MIMS Cardiology - MY 2018-11 (Supplement) MIMS Cardiology - MY 2018-09 (Supplement) MIMS Cardiology - MY 2018-04 (Supplement) MIMS Cardiology - MY 2016-11 (Supplement)
Cardiology Diseases

redpajama_set_name: RedPajamaCommonCrawl


text:
Dominique-Charles-Ignace d'Hausen de Weidesheim ( à Sarreinsming -  à Sarreguemines), est un homme politique français.

Biographie
Parent des Montalivet et des Wendel, il entra dans la magistrature et fut, sous l'Empire, conseiller à la cour de Trèves.

Maire de Sarreguemines, les électeurs du collège de département de la Moselle l'élurent, le , membre de la Chambre des députés. Il siégea dans la minorité ministérielle, et fut successivement réélu : le , et le .

Assis au centre, il opina jusqu'à sa mort (1824) avec la fraction « constitutionnelle » du parti royaliste.

Sources

Voir aussi

Liens externes

Article connexe

 Familles subsistantes de la noblesse française.

Naissance en novembre 1758
Naissance dans la province de Lorraine
Décès en mars 1824
Décès à 65 ans
Magistrat français du XIXe siècle
Député de la Moselle
Maire de la Moselle
Député de la Restauration

redpajama_set_name: RedPajamaWikipedia


text:
The Chronicles of the Exile, Book Three
The Chronicles of the Exile (Volume 3)
Red Tide, the third volume in Marc Turner's The Chronicles of the Exile, following When the Heavens Fall and Dragon Hunters
The Augerans are coming. And their ships are sailing in on a red tide.
The Rubyholt Isles are a shattered nation of pirate-infested islands and treacherous waterways shielding the seaboards of Erin Elal and the Sabian League, a region even dragons fear to trespass.
The Augerans beseech the Warlord of the Isles, seeking passage for their invasion fleet through Rubyholt territory. But they are sailing into troubled waters. Their enemies have sent agents to sabotage the negotiations, and to destroy the Augeran fleet by any means necessary.
The emperor of Erin Elal seeks to forge an alliance with the Storm Lords, hoping to repulse the Augerans with a united front. But the battle lines for the struggle are not as clearly drawn as it first appears, for the Emira of the Storm Isles mistrusts the Erin Elalese as much as she does their common enemy. And the Augerans might just be planning a little sabotage of their own.
But nothing in the realm of mortals escapes the notice of their meddling gods; every step they take is shadowed, and every choice they make ensnared in a web so subtle and vast, its true shape may be fathomed only when it is far, far too late.
A new epic adventure in the fantastic world of When the Heavens Fall and Dragon Hunters!
STANDING ON the quarterdeck of the Whitecap, Guardian Amerel Duquy watched the headland fall away to reveal the city she had come to condemn. Bezzle, capital of the Rubyholt Isles....
Praise for Red Tide
For When the Heavens Fall
"A splendid launch. Turner's unquestionably a newcomer to watch." - Kirkus Reviews, starred review
"A compelling read brimming with magic and action, scheming and intrigue. When the Heavens Fall is an impressive debut. I look forward to more tales from Marc Turner." - D. B. Jackson, author of the Thieftaker Chronicles
"Love, revenge, devious gods, legions of undead, great sacrifice-this one has it all! Good old-fashioned swords and sorcery, turned up a notch." - Ed Greenwood, creator and author of the Forgotten Realms series
"Turner has created a powerful fantasy where mystery and magic pervade each character, each quest, each corner of a vast and vibrant world.... The battles and betrayals that fill the pages ofWhen the Heavens Fallare truly epic in their scope and impact." - Brian Staveley, author of The Emperor's Blades
"Beautifully imagined and complex...Gritty and dark, the scope of Turner's world will keep readers rapt and nervous--which is the hallmark of great worldbuilding." - Elizabeth Haydon, USA Today bestselling author of The Symphony of Ages
"A classic epic fantasy, with a complex world, interesting characters, and plenty of action." - Gail Z. Martin, author of Reign of Ash
MARC TURNER was born in Toronto, Canada, but grew up in England. He graduated from Lincoln College, Oxford University, in 1996 with a BA (Hons) in Law, and subsequently worked at a top-ten law firm in London. After more than ten years in the legal profession he gave in to his lifelong writing addiction and is a full-time writer. His other novels are When the Heavens Fall and Dragon Hunters.
MORE BLOG POSTS →
Tweetsby @tordotcom
Tweetsby @torbooks


We are a fast-growing retailer here in Grand Junction looking to fill the position of Customer Support Representative. The position is 40 hours a week, Monday through Friday. We are looking for people that are willing to invest their time in a young company with huge potential.
You will need to interact with several software systems, so familiarity and comfort with computers are required. Excel skills are preferred. We are looking for people who can put together great emails and other written correspondence.
Our employees learn new things every day and are constantly evaluating their work to maintain top efficiency. There is a great opportunity for career growth with us as we typically promote from within the company. Over 90% of our current leadership started with us in an entry-level position.
Please only apply if you are looking for a long-term position, starting pay is $15/hr.


text:
Join Mission & Members
Articles Press
Our Stance Letter Myths vs. Facts MFA 101
JoinMission & Members Resources Our Stance Letter Myths vs. Facts MFA 101 ArticlesPress
The E-COmmerce Small Businesses ALLIANCE
We are Main Street. We are a group of small businesses that will be crushed with mandated costs, compliance burdens and audits if the Marketplace Fairness Act or other unfair internet tax bills are enacted. Supporters of the dubiously titled Marketplace Fairness Act include Walmart, Best Buy, Home Depot and other mega-retailers who wish to cripple small businesses on the Internet with this bill. We can't afford the costs and it will be impossible for us to comply with the regulations set forth in this bill. Some estimate that this bill could cost over 200,000 jobs in our sector. Even proponents admit that this bill would affect up to 3.5 million retailers. We need the help of Congress. The ironically titled "Marketplace Fairness Act" must be defeated. Read our full stance and letter to congress.
Crippling Costs:
We will incur a myriad of expenses. Our smallest retailers will pay at least $20,000 in costs in the first year alone and some will pay over $300,000. More on Costs.
Impossible Compliance:
The law subjects us to an impossible labyrinth of rules, regulations and obscure exemptions in more than 10,000 tax venues.
More on Compliance.
Unjust Audits:
We will be subject to audits by 46 different states even though we have no presence, voting rights or political representation in those states. More on Audits.
What Will Happen if the Marketplace Fairness Act Passes?
It will keep small companies small forever. Online companies will never grow past the $1M threshold because they will be punished severely for passing it.
It will cripple small and mid-sized Internet companies so they cannot compete with Amazon.com, Walmart, Best Buy and other large supporters of the bill. Small and mid-sized companies will not be able to afford the cost of compliance and the barrage of audits from 46 states and many will eventually be forced out of business.
The cost of compliance for small online businesses that do survive will significantly reduce their earnings and imperil the livelihoods of all who work for these businesses.
Audit risk will drastically increase for internet retailers. Small online businesses will be subject to audits from remote states where they have no physical presence, no political representation, and no right to vote and the owners of these small companies can be held personally liable and driven to personal bankruptcy for mistakes.
And much, much more …


text:
All Series1-13 of 13
Deadpool (2012-2015)
Dead presidents from George Washington to Gerald Ford have been resurrected, and that's bad. The world needs someone with the reputation, skills and plausible deniability to take out these com-monsters-in-chiefs... In Wade We Trust!
He's annoying. He's dangerous. He smells terrible. But the public loves him. That's right- the Merc with the Mouth may make money for missions of murky morality...but he's become the most popular hero in the world for it. Eat that, Spidey! The world belongs to Deadpool. The fan favorite team of Gerry Duggan and Mike Hawthorne return to bring Deadpool into his most successful adventures yet!
Deadpool & The Mercs For Money (2016-2017)
Deadpool is one of the best mercenaries on the planet. He may even be a passable Avenger—jury's still out. But one thing's for sure—Deadpool is a terrible team leader. Think we're lying? Ask the Mercs for Money! Deadpool's taken on a new high-paying mission to take out radioactive super villains...and his Mercs aren't nearly as immune to radiation as his healing-factored heinie is. Deadpool ve
Deadpool & The Mercs For Money (2016)
Deadpool might be an Avenger now, but he's also got his own private team of mercenaries...the legally-cleared-to-be-called MERCS FOR MONEY! Got a problem you can't solve on your own and a pile of money you'd like to be rid of? Just call Deadpool, Stingray, Massacre, Solo, Foolkiller, Terror and Slapstick and watch as that problem is shot, stabbed, eviscerated, pulverized and generally made b
Deadpool Firsts
Collects New Mutants (1983) #98, Deadpool: The Circle Chase #1, Deadpool (1994) #1, Deadpool (1997) #1, Cable & Deadpool #1, Deadpool (2008) #1, Deadpool: Merc With a Mouth #1, Deadpool Team-Up #899, Deadpool Corps #1, Deadpool (2013) #1, Deadpool (2015) #1. He's your number one, and these are his #1s! (Plus some other weird numbers.) Deadpool's dazzling debut steals the New Mutants' spotlight,
Deadpool: Masacre (2016)
Months ago, we were proud to bring you DEADPOOL TRES PUNTO UNO — a tale told all in Spanish, revealing MASACRE, the Deadpool of Mexico! Due to popular demand (because apparently you were too lazy to translate it for yourself) Marvel has taken to an unspecified Internet translation site and is re-presenting the comic in POORLY TRANSLATED ENGLISH! Just in time for the "Fifth of May!"
Deadpool: The Adamantium Collection
Collects New Mutants (1983) #98; Deadpool: The Circle Chase #1-4; Deadpool (1997) #6-8, 44, 65-69; Daredevil/Deadpool Annual '97; Black Panther (1998) #23; Cable & Deadpool #20-23; Deadpool (2008) #16-18; Deadpool Kills the Marvel Universe #1-4; Deadpool (2012) #15-19; Deadpool Secret Comic Variants. Presenting the Merc-iest, Mouth-iest Deadpool collection of all time! From his dynamic debut in
Deadpool: The Gauntlet Infinite Comic
Deadpool has tangled with vampires before, but is he ready...to work for them?! Dracula has an important package he needs delivered safely, so he hires the Merc with the Mouth to get the job done! This 13-part series will leave a Deadpool changed man, leading to major changes in his series come April!
The writers behind the hit series Deadpool present the sad, funny, and true story of Santa Claus after the apocalypse. After tragedy strikes the North Pole, Santa turns his back on humanity and gives up on Christmas. Even though the world has been completely overrun by naughty men, there's still one boy that believes in Santa. But could that be the biggest mistake of his life? Collects THE LAST
Marvel Comics (2019-)
THE GREATEST TALENT EVER ASSEMBLED FOR ONE STORY! THIS IS THE BIG ONE! In celebration of Marvel's 80th Anniversary, we have gathered together the greatest array of talent ever to be assembled between the covers of a single comic book! Names from the past, from the present, and even the future! Every page is filled with all-new work from this cavalcade of comic book luminaries! There is a mystery
Marvel: Now What?
Want to see the wedding of Thor and Storm? Captain America get cat fished? An intervention from The Watcher? All the Marvel stories that you never thought you'd see!
Spider-Man/Deadpool (2016-2019)
Because you demanded it! The Webbed Wonder and the Merc with a Mouth are teaming up for their first ongoing series ever! It's action, adventure and just a smattering of (b)romance in this episodic epic featuring the World's Greatest Super Hero and the star of the World's Greatest Comics Magazine. Talk about a real dynamic duo!
True Believers: Deadpool (2016)
Re-presenting Deadpool's greatest hits! Here there be money, mayhem and tacos!


Joe Musashi returns to action, and the evil Neo Zeed is back to thwart him. A master of stealth and strategy, Musashi can jump over walls, swing on loose wires, ride a stallion, and command a jet ski in this massive adventure. A super ninja has been cloned from Joe's cells, and has taken control of the Zeed's evil minions. With no choice but to kill them all, you'll step into Joe's shoes using swords, ninja magic, and more to counter the death stars, chain guns, and grenades the enemies will attack you with. There are more than 25 action-packed levels in this stunning sequel, and a painfully powerful boss character guards each. Real ninja sound effects and killer graphics add to the excitement of an already impressive martial arts title.


How could cheese look even more appetizing? On this super-polished plate.
Cut out germs with antimicrobial knives.
Gem-inspired paper coasters add sparkle to any coffee table.
Staycation, shmaycation. These candles recall glam cities worth revisiting.
These cheery flutes will help you find the words for your next toast.
Alight your home with charming patterns and colors.
So that your host will never again have to choose between serving cake or pie.
Order your friend an assortment of teeny tiny cupcakes.
Chips and dip has never looked so hip.
Flutes my help the bubbles last longer, but these coupe glasses can double for dessert when you're through spreading holiday cheers.
Infuse your home with the scent of white jasmine, mulling spices, cranberry, and vanilla.
Give the gift of bubbly in a charming yellow box.
Make it easy for your friends and family members to work (out) hard with these sporty-chic presents. Click to see gifts for the fitness buff.


Parking Consultants - DESMAN | News - Congrats David and Jason!
We would like to congratulate our two newest Professional Engineers, David Taxman and Jason Schneider. David and Jason passed the Illinois Professional Engineering exam last month. Great job guys!


text:
Lemon Tree Hotels is an Indian hotel chain. It owns and operates 84 hotels with a total of 8300 rooms in 52 cities across India.

According to the Horwath Report, Lemmon Tree Hotels is India's largest hotel chain in the mid-priced hotel sector and the 3rd largest overall in terms of controlling interest in owned and leased rooms as of 30 June 2017, .

History
Lemon Tree Hotels was founded in 2002 by Patu Keswani. It opened its first hotel with 49 rooms in May 2004.

In 2019, the company acquired Berggruen Hotels Private Limited for an enterprise value of  605 crores. At the time of acquisition, Berggruen Hotels owned 936 rooms and managed 975 rooms under the "Keys" brand in 21 cities across India.

Lemon Tree Hotels went public and was listed on the National Stock Exchange of India on 9 April 2018.

Operations

The company operates under 7 brands, namely Aurika Hotels and Resorts, Lemon Tree Premier, Lemon Tree Hotels, Red Fox by Lemon Tree Hotels, Keys Prima, Keys Select, and Keys Lite.

Corporate social responsibility
Currently, about 20% of group employees are from deprived and disabled segments of the population.

All Lemon Tree Hotels adopt a stray dog from that area and make it a mascot. Stray dogs are groomed and given specific duties in the hotels. It is the largest corporate adopter of stray dogs in India.

References

Hotel chains in India
Companies based in Delhi
Hotels established in 2002
2002 establishments in Delhi


A good brand communicates volumes about a business—what it offers, what its competitive advantages are and what the consumer experience will be like. When implemented consistently in everything from business card layout to website template design, good branding offers several advantages.
There's no question that logos are memorable. A recent study found that children as young as three recognized logos before they learned to read. Brand recognition builds trust and credibility because consumers feel familiar with your business. New product or service launches are aided by familiar logos.
Everywhere consumers look, they are bombarded with marketing materials. A unique logo and good, consistent branding help make your company's materials stand out.
Some small businesses look small because they don't invest in creating professional marketing materials. This can decrease the value of the products and services they provide in the eyes of potential customers. An up-front investment in good branding makes any business more competitive.
Perhaps even more important than creating a good logo and brand image is using them consistently throughout all of your company's marketing materials. Repetition is key when it comes to making an impression and building brand recognition.


Spin it around and see where it lands.
If youre shopping for your coworkers for any occasion, win tv news catch up consider our list of the top 20 best office gifts.
Price ».98.99, palette Coasters, sKU.Ot67 This wish flower might not make all of your dreams come true, but it will make sure you never forget them.Evernote edition Moleskine that will also easily transfer your notes to your devices.Choose Your Own Misery: The Office (Amazon surely you remember, choose Your Own Adventure books from your childhood.20 Miltons Stapler Theyve moved my desk four times already this year, and I used to be over by the window, and I could see the squirrels, and they were married, but then, they switched from the Swingline to the Boston stapler, but I kept.It allows you to details some of their accomplishments, and you can either use it as a way to validate their actual jobs well done, or to exaggerate the little things they do in a satirical way.(442.939 Ergebnisse anzeige, weitere intellij personal license discount Farben, anzeige, anzeige, weitere Farben, anzeige, anzeige, anzeige, weitere Farben, anzeige, anzeige, anzeige, anzeige, anzeige, anzeige, loading, vorherige Seite.Price ».99, marshmallow, sKU.Ar43 Keep books from falling.22.99 (Related: 29 Affordable Office Gag Gifts Your Coworkers Will Love ) 4 DIY ann taylor promo code september 2017 Coworker Gifts DIY Sugar Cubes These sugar cubes are a very nice gift for the coffee loving coworker in your life.A set of 2 bookends.
They also include a few blanks and a dry erase marker so the recipient can craft their own clever messages.
Give the gift of sustenance with these rxbar protein bars.
If youre lucky, you work with at least a few people you genuinely like, even if you arent really close enough for gift giving.Available in both.5 inch and seven inch sizes, you can also choose among eight different designs and colors.Price:.93 (9 percent off msrp).Decorative Wood Sunflowers, description: Birch Bloom.9.84 Encouragement Sculpture Push them on to bigger and better things with this encouraging sculpture that fits right on their desk.Price ».99.99 Balcony - His - Model B SKU.They are definitely a conversation starter within the office.Be sure to make extras so that you can do the same at home.Price:.95 (33 percent off msrp).
Mb136 "When one door other door opens opening- doorstopper with a message.
When you dont know exactly what to get them, but you want to show them theyre appreciated, this is the way.
Cowgirl Cookies Everyone loves cookies, and these jars contain everything theyll need to mix up a batch of cowgirl cookies.
With the purchase of pretty little thing us discount code an eligible Mac, the Back to School discount lets buyers choose the Beats Solo3 headphones, Powerbeats3 or BeatsX for free.Apple Education Pricing store, pick your gear (theres a limit on..
Chimney Sweeps, so watch the video AND the bouncing ball and engage in pure unadulterated fun for a whole two minutes and 41 easy homemade baby shower gift ideas seconds by closing your door, turning up the volume and stripping..
She thought she would.K., but then she wasnt.I remember one remarkable lunch provided by a patients family.This patient had done so well post-transplant that she never needed to be zaarly promo code hospitalized.I had never seen her before.Tony Cenicola/The New..


How amazing to have two former Anglican archbishops, George Carey of Canterbury and Desmond Tutu of South Africa, supporting Lord Falconer's bill to legalise assisted suicide! It has always been, and remains, a firm doctrine of the Church of England that it is wrong to take a life. Yet here are two Church leaders agreeing with a majority of Britons -- more than 80 per cent, according to the polls -- that it should be legal for a doctor to supply a suffering, terminally ill patient with a lethal dose of poison if he wants it.
Publication information: Article title: Long Life: Alexander Chancellor. Contributors: Chancellor, Alexander - Author. Magazine title: The Spectator. Publication date: July 19, 2014. Page number: Not available. © Spectator Mar 7, 2009. Provided by ProQuest LLC. All Rights Reserved.


Italian artist Maurizio Boscheri exhibited his work at the Mohatta Palace Museum Gallery to help raise funds for WWF Pakistan and to increase awareness on the endangered species of the country. During Maurizio's stay in Karachi, he was interested in participating in the Walls of Peace project to help counter extremist propaganda written over the city's walls. As the artist is deeply interested in wildlife and preserving the natural habitat of a country, Maurizio created a composition with Pakistan's national animal the Markhor to be painted at the Jinnah International Airport in order to project a sense of pride and ownership within citizens and travellers. Maurizio collaborated with artist Phool Gee and his team of truck artists which lead to a lasting friendship between the duo. The composition focuses on the natural wildlife of Pakistan which is deeply ignored and unrecognized by many. Maurizio and Phool Gee's team tackled this twenty foot wide mural in just 2 weeks and worked continuously to accomplish the final product. The project was supported and enabled by the Italian Counselate General Gianluca Rubagotti who had invited Maurizio and his curator to Pakistan and generously offered the mural as a gift to the Civil Aviation Authorities of Pakistan.
Maurizio Boscheri was born in Mezzolombardo di Trento Italy and is a self-taught artist. A frequent traveller, he enjoys working with acrylics on canvas upon returning from one of his numerous avoyages.
Some of his works have been auctioned by Sotheby's in Lisbon, and his current works may be found in numerous private collections, institutions and museums in Italy and internationally. He lives in Rovereto, Trento – Italy, where he works in his studio. His passion for the tropics has never abandoned him, and whenever possible he spends long periods in Sri Lanka, in his art studio immersed in the lush greenery of the island.


text:
Living standards 11
Protocol 1, Article 2: Right to education 1
Reasonable adjustments 4
Convention on the Rights of Persons with Disabilities and its Optional Protocol (CRPD) 1
County Court 5
Enforcement 1
Ensuring adjustments are made for students with dyslexia (Q v C University)
The claimant was a medical student with dyslexia. He failed an assessment which was necessary to continue his course but claimed this was because the university did not make reasonable adjustments for him. This would make him a victim of disability discrimination.
Challenging race discrimination against Irish Travellers (M & Ors v A Pub)
A group of Irish Travellers were refused service in a pub because of their race. We supported them to bring a successful claim for race discrimination.
Helping a woman with mental health conditions access justice (XX v Secretary of State for Work and Pensions)
A woman has mental health issues and claimed Employment and Support Allowance. She was referred to the Work Programme, which involves work-focused interviews and activities designed to improve people's chances of finding work. She found it difficult to attend these because no adjustments had been made for her mental health impairments. She experienced deterioration in her health as a result of attempting to carry out the mandatory activities. She brought claims for failure to make reasonable adjustments and indirect disability discrimination.
Improving public transport for disabled people (Paulley v First Group PLC)
A disabled man was unable to board a bus because a passenger with a pushchair refused to vacate the wheelchair space. The man successfully brought a claim for discrimination against the bus company. The company appealed twice in the Supreme Court, which is where our involvement began.
Protecting a toddler's right to education (X and Y v Nursery )
Following concerns raised by parents of a two-year-old that a nursery had not made reasonable adjustments for their disabled child, we provided legal assistance so the parents could challenge the nursery's actions.
Helping disabled tenants to make reasonable adjustments to their homes (Andrew Smailes, Stacey Poyner-Smailes and Clewer Court Residents Ltd )
A disabled woman needed to make reasonable adjustments to her home, but because she was renting, they were refused by the landlord. We successfully funded this case to clarify whether a term in the lease prohibiting alterations is contrary to the Equality Act.
Stopping a school from using a discriminatory hairstyle policy (Ruby Williams vs Urswick School)
A pupil, Ruby, took her school to court after it enforced a uniform policy that banned Afro hair of excessive volume. When the school didn't respond to the claim, the court issued a default judgment in her favour and the family reached a settlement. We funded the case through court and secured a legally binding agreement with the school to ensure it ended the discriminatory policy and considered factors such as race and religion when determining what a 'reasonable' hairstyle was.


This project has focused on the continued development of the Elizabeth Drive Landfill site required the construction of clay-lined landfill cells to receive non-putrescible general solid waste. The landfill site is located on Elizabeth Drive, Kemps Creek approximately 41km west of the Sydney CBD.
SITA Australia engaged SLR to provide detailed design services, CQA Plan submission and CQA supervision for their Cell E2, E3 and E4 at Elizabeth Drive Landfill, Kemps Creek, NSW. The design included a groundwater management system, engineered clay liner, geosynthetics and a leachate collection and management system. Full time independent supervision was required to ensure the works were constructed in accordance with the NSW EPA approved design documentation.


text:
Expressive aphasia
Classification and external resources
Broca's area and Wernicke's area
ICD-9
Expressive aphasia (non-fluent aphasia), also known as Broca's aphasia in clinical neuropsychology and agrammatic aphasia in cognitive neuropsychology, is caused by damage to or developmental issues in anterior regions of the brain, including (but not limited to) the left posterior inferior frontal gyrus known as Broca's area (Brodmann area 44 and Brodmann area 45).[1] Expressive aphasia is one subset of a larger family of disorders known collectively as aphasia. It is characterized by the loss of the ability to produce language (spoken or written).[1] Expressive aphasia differs from dysarthria, which is characterized by a patient's inability to properly move the muscles of the tongue and mouth to produce speech. Expressive aphasia contrasts with receptive aphasia, which is characterized by a patient's inability to comprehend language or speak with appropriately meaningful words.[1]
2 Classification and diagnosis
3 Causes
4.1 Singing and melodic intonation therapy
4.2 Constraint induced therapy
4.3 Pharmacotherapy
4.4 Transcranial magnetic stimulation
4.5 Mechanisms of recovery
5 Prognosis
7 Expressive aphasia in popular culture
8 Famous sufferers
Sufferers of this form of aphasia exhibit the common problem of agrammatism. For them, speech is difficult to initiate, non-fluent, labored, and halting. Similarly, writing is difficult as well. Intonation and stress patterns are deficient. Language is reduced to disjointed words and sentence construction is poor, omitting function words and inflections (bound morphemes). A person with expressive aphasia might say "Son ... University ... Smart ... Boy ... Good ... Good ... "
For example, in the following passage, a Broca's aphasic patient is trying to explain how he came to the hospital for dental surgery:
Yes... ah... Monday... er... Dad and Peter H... (his own name), and Dad.... er... hospital... and ah... Wednesday... Wednesday, nine o'clock... and oh... Thursday... ten o'clock, ah doctors... two... an' doctors... and er... teeth... yah.[2]
Patients who communicated with sign language before the onset of the aphasia experience analogous symptoms.[3]
Severity of expressive aphasia varies among patients. In the most extreme cases, patients may be only able to produce a single word. The most famous case of this was Paul Broca's patient Leborgne, nicknamed "Tan", after the only syllable he could say. Even in such cases, over-learned and rote-learned speech patterns may be retained[4]—for instance, some patients can count from one to ten, but cannot produce the same numbers in ordinary conversation.
While word comprehension is generally preserved, meaning interpretation dependent on syntax and phrase structure is substantially impaired. This can be demonstrated by using phrases with unusual structures. A typical Broca's aphasic patient will misinterpret "the dog is bitten by the man" by switching the subject and object.[5] Note this element is a problem with receptive language, not expressive language, and is one reason why the problem is referred to as agrammatic aphasia.
Patients who recover go on to say that they knew what they wanted to say but could not express themselves. Residual deficits will often be seen.
Classification and diagnosis
Expressive aphasia is also a classification of non-fluent aphasia, as opposed to fluent aphasia. Diagnosis is done on a case by case basis, as lesions often affect surrounding cortex and deficits are not well conserved between patients.
The most common cause of expressive aphasia is stroke. A stroke is caused by hypoperfusion (lack of oxygen) to an area of the brain, which is commonly caused by thrombosis or embolism. Some form of aphasia occurs in 34-38% of stroke patients.[6] Expressive aphasia occurs in approximately 12% of new cases of aphasia caused by stroke.[7] In most cases, expressive aphasia is caused by a stroke in Broca's area or the surrounding vicinity. However, cases of expressive aphasia have been seen in patients with strokes in other areas of the brain. Patients with classic symptoms of expressive aphasia generally have more acute brain lesions while patients with larger, widespread lesions exhibit a variety of symptoms which may be classified as global aphasia or left unclassified.[6]
Expressive aphasia can also be caused by trauma to the brain, tumor, cerebral hemorrhage,[8] by extradural hematoma.[9]
Understanding lateralization of brain function is important for understanding what areas of the brain cause expressive aphasia when damaged. In the past, it has been believed that the area for language production differs between left and right-handed individuals. If this were true, damage to the homologous region of Broca's area in the right hemisphere should cause aphasia in a left-handed individual. More recent studies have shown that even left-handed individuals typically have language functions only in the left hemisphere. However, left-handed individuals are more likely to have a dominance of language in the right hemisphere.[1]
Currently, there is no standard treatment for expressive aphasia. Most aphasia therapy is individualized based on a patient's condition and needs as assessed by a speech therapist. The majority of patients go through a period of spontaneous recovery following brain injury in which they regain a great deal of language function. In the months following injury or stroke, most patients receive traditional therapy for a few hours per day. Among other exercises, patients practice the repetition of words and phrases. Mechanisms are also taught in traditional therapy to compensate for lost language function such as drawing and using phrases which are easier to pronounce.[10] Emphasis is placed on establishing a basis for communication with family and caregivers in everyday life. The following treatments are currently being studied to determine the best possible method for treating aphasia.
Singing and melodic intonation therapy
Melodic intonation therapy was inspired by the observation that individuals with non-fluent aphasia sometimes can sing words or phrases that they normally cannot speak. This phenomenon has been noticed for the past 250 years. In some studies patients were able to sing entire songs with provided text that they could not speak with normal intonation.[11] It is believed that this is because singing capabilities are stored in the right hemisphere of the brain, which is likely to remain unaffected after a stroke in the left hemisphere.[12] The goal of melodic intonation therapy is to utilize singing to access the language-capable regions in the right hemisphere and use these regions to compensate for lost function in the left hemisphere. Because patients are better at singing phrases than speaking them, the natural musical component of speech is used to engage the patients ability to voice phrases. Melodic intonation therapy has been shown to work particularly well in patients with large lesions in the left hemisphere.[12]
MIT therapy on average lasts for 1.5 hours per day for five days per week. At the lowest level of therapy, simple words and phrases (such as "water" and "I love you") are broken down into a series of high and low pitch syllables. With increased treatment, longer phrases are taught and less support is provided by the therapist. Patients are taught to say phrases using the natural melodic component of speaking and continuous voicing is emphasized.[12] The patient is also instructed to use their left hand to tap the syllables of the phrase while the phrases are spoken. Tapping further triggers the rhythmic component of speaking to utilize the right hemisphere.[12]
The efficacy of melodic intonation therapy has been proven by studies that show that MIT can result in greater recovery when compared to non intonation therapy.[11] FMRI studies have proven that melodic intonation therapy uses both sides of the brain to recover lost function as opposed to traditional therapies that only utilize the left hemisphere. Furthermore, it has been seen that in MIT, individuals with small lesions in the left hemisphere seem to recover by activation of the left hemisphere perilesional cortex while in individuals with larger left-hemisphere lesions, there is a recruitment of the use of language-capable regions in the right hemisphere.[12]
Constraint induced therapy
Constraint induced aphasia therapy (CIAT) is based on similar principles as constraint-induced movement therapy developed by Dr. Edward Taub at the University of Alabama at Birmingham.[10][13] Constraint induced movement therapy is based on the idea that a person with an impairment (physical or communicative) develops a "learned nonuse" by compensating for their lost function with other means such as using an unaffected limb by a paralyzed individual or drawing by a patient with aphasia.[14] In constraint induced movement therapy, the alternative limb is constrained with a glove or sling and the patient is forced to use their affected limb. In constraint induced aphasia therapy, the interaction is guided by communicative need in a language game context, picture cards, barriers making it impossible to see other players' cards, and other materials, so that patients are encouraged ("constrained") to use their remaining verbal abilities to succeed in the communication game.[13]
Two important principles of constraint induced aphasia therapy are that treatment is very intense with sessions lasting for up to 6 hours over the course of 10 days and that language is used in a communication context where it is closely linked to (nonverbal) actions.[10][13] These principles are motivated by neuroscience insights about learning at the level of nerve cells (synaptic plasticity) and the coupling between cortical systems for language and action in the human brain.[14] Constraint induced therapy contrasts sharply with traditional therapy by the strong belief that mechanisms to compensate for lost language function should not be used unless absolutely necessary, even in everyday life.[10]
It is believed that CIAT works by the mechanism of increased neuroplasticity. By constraining an individual to use only speech, it is believed that their brain can reestablish old neural pathways and recruit new neural pathways to compensate for lost function.
The greatest advantage of CIAT has been seen in its treatment of chronic aphasia (lasting over 1 year). Studies of CIAT have shown that further improvement is possible even after a patient has reached a "plateau" period of recovery.[10][13] It has also been proven that the benefits of CIAT are retained long term. However, improvements only seem to be made while a patient is undergoing intense therapy.[10] A recent breakthrough has been achieved by combining constraint-induced aphasia therapy with drug treatment, which led to an amplification of therapy benefits.[15]
In addition to active speech therapy, pharmaceuticals have also been considered as a useful treatment for expressive aphasia. This area of study is relatively new and much research continues to be conducted.
The following drugs have been suggested for use in treating aphasia and their efficacy has been studied in control studies.
Bromocriptine – acts on Catecholamine Systems[16]
Piracetam – mechanism not fully understood, but most likely interacts with cholinergic and glutamatergic receptors, among others[16]
Cholinergic drugs (Donepezil, Aniracetam, Bifemelane) – acts on acetylcholine systems[16]
Amphetaminic drugs (Dexamphetamine, Methylphenidate)[16]
The most effect has been shown by piracetam and amphetamine which may increase cerebral plasticity and result in an increased capability to improve language function. It has been seen that priacetam is most effective when treatment is begun immediately following stroke. When used in chronic cases it has been much less efficient.[15]
Bromocriptine has been shown by some studies to increase verbal fluency and word retrieval with therapy than with just therapy alone.[16] Furthermore, its use seems to be restricted to non-fluent aphasia.[15]
Donepezil has shown a potential for helping chronic aphasia.[15]
No study has established irrefutable evidence that any drug is an effective treatment for aphasia therapy.[16] Furthermore, no study has shown any drug to be specific for language recovery.[15] Comparison between the recovery of language function and other motor function using any drug has shown that improvement is due to a global increase plasticity of neural networks.[16] Pharmaceutical therapy remains an important area of study in aphasia treatment.
In transcranial magnetic stimulation (TMS), magnetic fields are used to create electrical currents in specified cortical regions. The procedure is a painless and noninvasive method of stimulating the cortex. TMS works by suppressing the inhibition process in certain areas of the brain.[17] By suppressing the inhibition of neurons by external factors, the targeted area of the brain may be reactivated and thereby recruited to compensate for lost function. Research has shown that patients can show increased object naming ability with regular transcranial magnetic stimulation than patients in therapy without TMS.[17] Furthermore, this improvement has been proven to be permanent and remains upon the completion of TMS therapy.[17] However, some patients fail to show any significant improvement from TMS which indicates the need for further research of this treatment.[18]
Mechanisms of recovery
Mechanisms for recovery differ from patient to patient. Some mechanisms for recovery occur spontaneously after damage to the brain while others are caused by the effects of language therapy.[15] FMRI studies have shown that recovery can be partially attributed to the activation of tissue around the damaged area and the recruitment of new neurons in these areas to compensate for the lost function. Recovery may also be caused in very acute lesions by a return of blood flow and function to damaged tissue that has not died around an injured area.[15] It has been stated by some researchers that the recruitment and recovery of neurons in the left hemisphere apposed to the recruitment of similar neurons in the right hemisphere is superior for long term recovery and continued rehabilitation.[19] It is thought that because the right hemisphere is not intended for full language function, using the right hemisphere as a mechanism of recovery is effectively a "dead-end" and can only lead to partial recovery.[18]
Among all types of therapies it has been proven that one of the most important factors and best predictors for a successful outcome is the intensity of the therapy. By comparing the length and intensity of various methods of therapies, it was proven that intensity was a better predictor of recovery than the method of therapy used.[20]
In most individuals with expressive aphasia, the majority of recovery is seen within the first year following a stroke or injury. The majority of this improvement is seen in the first four weeks in therapy following a stroke and slows thereafter.[6] When compared to patients with the most common types of aphasia, patients with expressive aphasia tend to show the most improvement within the first year. This may be due to an expressive aphasiac's awareness and greater insight of their impairment (unlike in receptive aphasia) which motivates them to progress in treatment.[6] Studies have also found that prognosis of expressive aphasia correlates strongly with the initial severity of impairment. Those with the greatest initial disability tend to show the greatest improvement among test groups.[7] Within the first year, the diagnosis of patients with expressive aphasia may change to anomic aphasia. Similarly, patients diagnosed with global aphasia may be re-diagnosed with expressive aphasia upon improvement.[7] Typically, little improvement is seen after the first year following a stroke. However, it has been seen that continued recovery is possible years after a stroke with effective treatment using methods such as constraint induced aphasia therapy.[10] Depression, anxiety, and social withdrawal are all factors which have been proven to negatively affect a patient's chance of recovery.[21]
Location and size of the brain lesion may also play a role in the prognosis of aphasia. It has been seen in receptive aphasia that larger lesions correlate to slower recovery.[22] It has also been seen that patients with aphasia caused by sub cortical lesions have a better chance of recovery than those with aphasia due to cortical stroke.[23]
Expressive aphasia was first identified by the French neurologist Paul Broca. By examining the brains of deceased individuals who acquired expressive aphasia in life, he concluded that language ability was localized in the ventroposterior region of the frontal lobe. One of the most important aspects of Paul Broca's discovery was the observation that the loss of proper speech in expressive aphasia was due to the brain's loss of ability to produce language as opposed to the mouth's loss of ability to produce words.[1]
The discoveries of Paul Broca were made during the same period of time as the German Neurologist Carl Wernicke who was also studying brains of aphasiacs post-mortem and identified the region now known as Wernicke's area. Discoveries of both men contributed to the concept of localization which states that specific brain functions are all localized to a specific area of the brain. While both men made significant contributions to the field of aphasia, it was Carl Wernicke who realized the difference between patients with aphasia who could not produce language and those who could not comprehend language (the essential difference between expressive and receptive aphasia).[1]
Expressive aphasia in popular culture
*The protagonist of Stephen King's novel Duma Key exhibited symptoms of a condition similar to receptive aphasia after suffering brain damage in an industrial accident. When trying to recall some words, he would frequently substitute a synonym of a similar-sounding word, such as trying to say "chair" but instead saying "burn" (a synonym of "char") and "friend" (a synonym of "chum").
Famous sufferers
Ram Dass
Osmar Santos
Bob Woodruff
Kevin Ryder
^ a b c d e f Purves, D. (2008). Neuroscience (fourth ed.). Sinauer Associates, Inc.. ISBN 0878937420.
^ Goodglass, H.; N. Geschwind (1976). "Language disorders". In E. Carterette and M.P. Friedman. Handbook of Perception: Language and Speech. Vol VII. New York: Academic Press.
^ http://pages.slc.edu/~ebj/IM_97/Lecture10/L10.html
^ "Specific Syndromes: The Nonfluent Aphasias". Neuropathologies of Language and Cognition. http://www.csuchico.edu/~pmccaff/syllabi/SPPA336/336unit7.html. Retrieved 2006-05-10.
^ "Neurology of Syntax". Behavioral and Brain Sciences 23 (1). http://bbsonline.cup.cam.ac.uk/Preprints/OldArchive/bbs.grodzinsky.html. Retrieved 2006-05-10.
^ a b c d Bakheit, AMO; Shaw, S; Carrington, S; Griffiths, S (2007). "The rate and extent of improvement with therapy from the different types of aphasia in the first year of stroke". Clinical Rehabilitation 21 (10): 941–949. doi:10.1177/0269215507078452. PMID 17981853.
^ a b c Pedersen, PM; Vinter, K; Olsen, TS (2004). "Aphasia after stroke: Type, severity, and prognosis - The Copenhagen aphasia study". Cerebrovascular diseases 17 (1): 35–43. doi:10.1159/000073896. PMID 14530636.
^ Orzeren, A; F Koc, M Demirkiran, A Sonmezler (2006). "Global aphasia due to left thalamic hemorrhage". Neurology India 54 (4): 415–417. doi:10.4103/0028-3886.28118. PMID 17114855.
^ Commondoor, R., Eisenhut, M., Fowler, C., Kirollos, R. W., & Nathwani, N. (2009). "Transient Broca's Aphasia as Feature of an Extradural Abscess". Pediatric Neurology 40 (1): 50–53. doi:10.1016/j.pediatrneurol.2008.06.018. PMID 19068255.
^ a b c d e f g Meinzer, Marcus; Thomas Elbert, Daniela Djundja, Edward Taub (2007). "Extending the Constraint-Induced Movement Therapy (CIMT) approach to cognitive functions: Constraint-Induced Aphasia Therapy (CIAT) of chronic aphasia". NeuroRehabilitation 22 (4): 311–318. PMID 17971622.
^ a b Wilson, Sarah; Kate Parsons, David Reutens (2006). "Preserved singing in Aphasia: A Case Study of the Efficacy of Melodic Intonation Therapy". Music Perception 24 (1): 23–36.
^ a b c d e Schlaug, Gottfried; Sarah Marchina, Andrea Norton (2008). "From Singing to Speaking: Why singing may lead to recovery of expressive language function in patients with Broca's Aphasia". Music Perception 25 (4): 315–319. doi:10.1525/mp.2008.25.4.315.
^ a b c d Pulvermuller, Friedemann; et al (2001). "Constraint-Induced Therapy of Chronic Aphasia following Stroke". Stroke 32 (7): 1621–1626. doi:10.1161/01.STR.32.7.1621. PMID 11441210. http://stroke.ahajournals.org/cgi/content/full/32/7/1621.
^ a b Pulvermuller, Friedemann; Marcelo Berthier (2008). "Aphasia therapy on a neuroscience basis". Aphasiology 22 (6): 563–599. doi:10.1080/02687030701612213. PMC 2557073. PMID 18923644. http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=2557073.
^ a b c d e f g Berthier, Marcelo; et al. (2009). "Memantine and constraint-induced aphasia therapy in chronic poststroke aphasia". Annals of Neurology 65 (5): 577–578. doi:10.1002/ana.21597. PMID 19475666.
^ a b c d e f g Xavier, de Boissezon; Patrice Peran (2007). "Pharmacotherapy of aphasia: Myth or reality?". Brain and Language 102 (1): 114–125. doi:10.1016/j.bandl.2006.07.004. PMID 16982084.
^ a b c Margaret, Naeser; Paula Martin, Marjorie Nicholas, Errol Baker (2004). "Improved picture naming in chronic aphasia after TMS to part of right Broca". Brain and Language 93 (1): 95–105. doi:10.1016/j.bandl.2004.08.004. PMID 15766771.
^ a b Martin, Paula; Margaret Naeser, Michael Ho, Karl Doron, Jacquie Kurland (2009). "Overt Naming fMRI Pre- and Post- TMS: Two Nonfluent Aphasia Patients, with and without Improved Naming Post- TMS". Brain and Language 111 (1): 20–35. doi:10.1016/j.bandl.2009.07.007. PMC 2803355. PMID 19695692. http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=2803355.
^ Heiss, W-D; Kessler, J; Thiel, A; Ghaemi, M; Karbe, H (1999). "Differential capacity of left and right hemispheric areas for compensation of poststroke". Ann Neurol 45 (4): 430–438. doi:10.1002/1531-8249(199904)45:4<430::AID-ANA3>3.0.CO;2-P. PMID 10211466.
^ Sanjit, Bhogal; Robert Teasell, Mark Speechley, Martin Albert (2003). "Intensity of Aphasia Therapy, Impact on Recovery * Aphasia Therapy Works!". Stroke 34 (4): 987–993. doi:10.1161/01.STR.0000062343.64383.D0.
^ Code, C; Hemsley, G; Herrmann, M (1999). "The emotional impact of aphasia". Semin Speech Lang 20 (1): 19–31. doi:10.1055/s-2008-1064006. PMID 10100374.
^ Naeser, MA (1987). "Relationship between lesion extent in 'Wernicke's area' on computed tomographic scan and predicting recovery of comprehension in Wernicke's aphasia". Arch Neurol 44: 3–82.
^ Liang, Cl; Chang, HW; Lu, K; Lee, TC; Liliang, PC; Lu, CH; Chen, HJ (2001). "Early prediction of aphasia outcome in left basal ganglia haemorrhage". Acta Neurol Scand 103 (3): 148–152. doi:10.1034/j.1600-0404.2001.103003148.x. PMID 11240561.
Aphasia Center of California in Oakland, CA, U.S.
video of person with Broca's Aphasia
v · d · eDevelopmental disorders: Dyslexia and related specific developmental disorders (F80–F83, 315)
Speech and language/
Expressive language disorder · Aphasia/Dysphasia (Expressive aphasia, Receptive aphasia) · Landau–Kleffner syndrome · Lisp · Mixed receptive-expressive language disorder
Scholastic skills/
Dyslexia (Alexia (acquired dyslexia), Developmental dyslexia) · Dysgraphia (Disorder of written expression) · Dyscalculia (Gerstmann syndrome)
Developmental dyspraxia
Auditory processing disorder · Scotopic sensitivity syndrome
Dyslexia research · Management of dyslexia/Dyslexia interventions · Reading acquisition · Writing system · Spelling · Literacy · Irlen filters · Recording for the Blind & Dyslexic · Neuropsychology
Languages by Writing System · People with dyslexia · Dyslexia in fiction
M: PSO/PSI
mepr
dsrd (o, p, m, p, a, d, s), sysi/epon, spvo
proc(eval/thrp), drug(N5A/5B/5C/6A/6B/6D)
v · d · eLesions of spinal cord and brain
Spinal cord/
vascular myelopathy
sensory: Sensory ataxia · Tabes dorsalis
motor: Motor neurone disease
mixed: Brown-Séquard syndrome · cord syndrome (Posterior, Anterior, Central/Syringomyelia) · Subacute combined degeneration of spinal cord (B12) · Cauda equina syndrome
Medulla (CN 8, 9, 10, 12)
Lateral medullary syndrome/Wallenberg (PICA) · Medial medullary syndrome/Dejerine (ASA)
Pons (CN 5, 6, 7, 8)
Lateral pontine syndrome (AICA) (lateral) · Medial pontine syndrome/Millard-Gubler syndrome (basilar)/Foville's syndrome (dorsal, basilar) · Locked-in syndrome (ventral) · Internuclear ophthalmoplegia · One and a half syndrome
Midbrain (CN 3, 4)
Weber's syndrome (ventral peduncle, PCA) · Benedikt syndrome (ventral tegmentum, PCA) · Parinaud's syndrome (dorsal, tumor) · Nothnagel's syndrome · Claude's syndrome
Alternating hemiplegia
lateral (Dysmetria, Dysdiadochokinesia, Intention tremor) · medial (Cerebellar ataxia)
Chorea · Dystonia · Parkinson's disease
ACA syndrome · MCA syndrome · PCA syndrome
frontal lobe: Expressive aphasia · Abulia
parietal lobe: Receptive aphasia · Hemispatial neglect · Gerstmann syndrome · Astereognosis
occipital lobe: Balint's syndrome · Cortical blindness · Pure alexia
temporal lobe: Cortical deafness · Prosopagnosia
Subclavian steal syndrome · Upper motor neurone lesion (Clasp-knife response) · Lower motor neurone lesion
M: CNS
anat(n/s/m/p/4/e/b/d/c/a/f/l/g)/phys/devp
noco(m/d/e/h/v/s)/cong/tumr, sysi/epon, injr
proc, drug(N1A/2AB/C/3/4/7A/B/C/D)
v · d · eSymptoms and signs: Speech and voice / Symptoms involving head and neck (R47–R49, 784)
Aphasia/Dysphasia
Expressive aphasia · Receptive aphasia · Conduction aphasia
Other speech disturbances
Dysarthria · Schizophasia · Aprosodia/Dysprosody
Thought disorder: Pressure of speech · Derailment · Clanging · Circumstantiality
Symbolic dysfunctions
Dyslexia/Alexia · Agnosia (Prosopagnosia, Astereognosis, Gerstmann syndrome) · Dyspraxia/Apraxia (Ideomotor apraxia) · Dyscalculia/Acalculia · Agraphia
Voice disturbances
Dysphonia/Aphonia
Epistaxis · Headache · Post-nasal drip · Neck mass
M: MOU
anat/devp
noco/cofa(c)/cogi/tumr, sysi
proc (peri), drug (A1)
Aphasias
expressive aphasia — noun aphasia in which expression by speech or writing is severely impaired • Syn: ↑motor aphasia, ↑Broca s aphasia, ↑ataxic aphasia, ↑nonfluent aphasia • Hypernyms: ↑aphasia … Useful english dictionary
expressive aphasia — motor a … Medical dictionary
Aphasia — For other uses, see Aphasia (disambiguation). Aphasia Classification and external resources ICD 10 F80.0 F80.2, R … Wikipedia
aphasia — dysphasia; n. a disorder of language affecting the generation and content of speech and its understanding (it is not a disorder of articulation: see dysarthria). It is caused by damage to the language dominant half of the brain, which is usually… … The new mediacal dictionary
Aphasia — Literally aphasia means no speech. Aphasia can apply to a defect in expression or comprehension. * * * Impaired or absent comprehension or production of, or communication by, speech, writing, or signs, due to an acquired lesion of the dominant… … Medical dictionary
expressive-receptive aphasia — global a … Medical dictionary
Conduction aphasia — Classification and external resources Broca s area and Wernicke s area MeSH … Wikipedia
Mixed receptive-expressive language disorder — Classification and external resources ICD 9 315.32 Mixed receptive expressive language disorder (DSM IV 315.32) is a communication disorder in which both the receptive and expressive areas of communication may be affected in any degree, from mild … Wikipedia
Broca's aphasia — noun aphasia in which expression by speech or writing is severely impaired • Syn: ↑motor aphasia, ↑ataxic aphasia, ↑expressive aphasia, ↑nonfluent aphasia • Hypernyms: ↑aphasia * * * (ˈ)brō|käz , ˈbrōkəz noun … Useful english dictionary
motor aphasia — noun aphasia in which expression by speech or writing is severely impaired • Syn: ↑Broca s aphasia, ↑ataxic aphasia, ↑expressive aphasia, ↑nonfluent aphasia • Hypernyms: ↑aphasia * * * noun … Useful english dictionary