typedef LONG LONG_PTR;
typedef ULONG ULONG_PTR;
#endif

#ifndef __in_z
#define __in_z
#endif

//////////////////////////////////////////////////////////////////////////////
//
#ifndef GUID_DEFINED
#define GUID_DEFINED
typedef struct  _GUID
{
    DWORD Data1;
    WORD Data2;
    WORD Data3;
    BYTE Data4[ 8 ];
} GUID;

#ifdef INITGUID
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
        const GUID name \
                = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
#else
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
    const GUID name
#endif // INITGUID
#endif // !GUID_DEFINED

#if defined(__cplusplus)
#ifndef _REFGUID_DEFINED
#define _REFGUID_DEFINED
#define REFGUID             const GUID &
#endif // !_REFGUID_DEFINED
#else // !__cplusplus
#ifndef _REFGUID_DEFINED
#define _REFGUID_DEFINED
#define REFGUID             const GUID * const
#endif // !_REFGUID_DEFINED
#endif // !__cplusplus

//
//////////////////////////////////////////////////////////////////////////////

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

/////////////////////////////////////////////////// Instruction Target Macros.
//
#define DETOUR_INSTRUCTION_TARGET_NONE          ((PVOID)0)
#define DETOUR_INSTRUCTION_TARGET_DYNAMIC       ((PVOID)(LONG_PTR)-1)
#define DETOUR_SECTION_HEADER_SIGNATURE         0x00727444   // "Dtr\0"

extern const GUID DETOUR_EXE_RESTORE_GUID;

#define DETOUR_TRAMPOLINE_SIGNATURE             0x21727444  // Dtr!
typedef struct _DETOUR_TRAMPOLINE DETOUR_TRAMPOLINE, *PDETOUR_TRAMPOLINE;

/////////////////////////////////////////////////////////// Binary Structures.
//
#pragma pack(push, 8)
typedef struct _DETOUR_SECTION_HEADER
{
    DWORD       cbHeaderSize;
    DWORD       nSignature;
    DWORD       nDataOffset;
    DWORD       cbDataSize;

    DWORD       nOriginalImportVirtualAddress;
    DWORD       nOriginalImportSize;
    DWORD       nOriginalBoundImportVirtualAddress;
    DWORD       nOriginalBoundImportSize;

    DWORD       nOriginalIatVirtualAddress;
    DWORD       nOriginalIatSize;
    DWORD       nOriginalSizeOfImage;
    DWORD       cbPrePE;

    DWORD       nOriginalClrFlags;
    DWORD       reserved1;
    DWORD       reserved2;
    DWORD       reserved3;

    // Followed by cbPrePE bytes of data.
} DETOUR_SECTION_HEADER, *PDETOUR_SECTION_HEADER;

typedef struct _DETOUR_SECTION_RECORD
{
    DWORD       cbBytes;
    DWORD       nReserved;
    GUID        guid;
} DETOUR_SECTION_RECORD, *PDETOUR_SECTION_RECORD;

typedef struct _DETOUR_CLR_HEADER
{
    // Header versioning
    ULONG                   cb;
    USHORT                  MajorRuntimeVersion;
    USHORT                  MinorRuntimeVersion;

    // Symbol table and startup information
    IMAGE_DATA_DIRECTORY    MetaData;
    ULONG                   Flags;

    // Followed by the rest of the IMAGE_COR20_HEADER
} DETOUR_CLR_HEADER, *PDETOUR_CLR_HEADER;

typedef struct _DETOUR_EXE_RESTORE
{
    DWORD               cb;
    DWORD               cbidh;
    DWORD               cbinh;
    DWORD               cbclr;

    PBYTE               pidh;
    PBYTE               pinh;
    PBYTE               pclr;

    IMAGE_DOS_HEADER    idh;
    union {
        IMAGE_NT_HEADERS    inh;
        IMAGE_NT_HEADERS32  inh32;
        IMAGE_NT_HEADERS64  inh64;
        BYTE                raw[sizeof(IMAGE_NT_HEADERS64) +
                                sizeof(IMAGE_SECTION_HEADER) * 32];
    };
    DETOUR_CLR_HEADER   clr;

} DETOUR_EXE_RESTORE, *PDETOUR_EXE_RESTORE;

#pragma pack(pop)

#define DETOUR_SECTION_HEADER_DECLARE(cbSectionSize) \
{ \
      sizeof(DETOUR_SECTION_HEADER),\
      DETOUR_SECTION_HEADER_SIGNATURE,\
      sizeof(DETOUR_SECTION_HEADER),\
      (cbSectionSize),\
      \
      0,\
      0,\
      0,\
      0,\
      \
      0,\
      0,\
      0,\
      0,\
}

///////////////////////////////////////////////////////////// Binary Typedefs.
//
typedef BOOL (CALLBACK *PF_DETOUR_BINARY_BYWAY_CALLBACK)(PVOID pContext,
                                                         PCHAR pszFile,
                                                         PCHAR *ppszOutFile);

typedef BOOL (CALLBACK *PF_DETOUR_BINARY_FILE_CALLBACK)(PVOID pContext,
                                                        PCHAR pszOrigFile,
                                                        PCHAR pszFile,
                                                        PCHAR *ppszOutFile);

typedef BOOL (CALLBACK *PF_DETOUR_BINARY_SYMBOL_CALLBACK)(PVOID pContext,
                                                          ULONG nOrigOrdinal,
                                                          ULONG nOrdinal,
                                                          ULONG *pnOutOrdinal,
                                                          PCHAR pszOrigSymbol,
                                                          PCHAR pszSymbol,
                                                          PCHAR *ppszOutSymbol);

typedef BOOL (CALLBACK *PF_DETOUR_BINARY_COMMIT_CALLBACK)(PVOID pContext);

typedef BOOL (CALLBACK *PF_DETOUR_ENUMERATE_EXPORT_CALLBACK)(PVOID pContext,
                                                             ULONG nOrdinal,
                                                             PCHAR pszName,
                                                             PVOID pCode);

typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FILE_CALLBACK)(PVOID pContext,
                                                        HMODULE hModule,
                                                        PCSTR pszFile);

typedef BOOL (CALLBACK *PF_DETOUR_IMPORT_FUNC_CALLBACK)(PVOID pContext,
                                                        DWORD nOrdinal,
                                                        PCSTR pszFunc,
                                                        PVOID pvFunc);

typedef VOID * PDETOUR_BINARY;
typedef VOID * PDETOUR_LOADED_BINARY;

//////////////////////////////////////////////////////////// Transaction APIs.
//
LONG WINAPI DetourTransactionBegin();
LONG WINAPI DetourTransactionAbort();
LONG WINAPI DetourTransactionCommit();
LONG WINAPI DetourTransactionCommitEx(PVOID **pppFailedPointer);

LONG WINAPI DetourUpdateThread(HANDLE hThread);

LONG WINAPI DetourAttach(PVOID *ppPointer,
                         PVOID pDetour);

LONG WINAPI DetourAttachEx(PVOID *ppPointer,
                           PVOID pDetour,
                           PDETOUR_TRAMPOLINE *ppRealTrampoline,
                           PVOID *ppRealTarget,
                           PVOID *ppRealDetour);

LONG WINAPI DetourDetach(PVOID *ppPointer,
                         PVOID pDetour);

BOOL WINAPI DetourSetIgnoreTooSmall(BOOL fIgnore);
BOOL WINAPI DetourSetRetainRegions(BOOL fRetain);

////////////////////////////////////////////////////////////// Code Functions.
//
PVOID WINAPI DetourFindFunction(PCSTR pszModule, PCSTR pszFunction);
PVOID WINAPI DetourCodeFromPointer(PVOID pPointer, PVOID *ppGlobals);
PVOID WINAPI DetourCopyInstruction(PVOID pDst,
                                   PVOID *pDstPool,
                                   PVOID pSrc,
                                   PVOID *ppTarget,
                                   LONG *plExtra);

///////////////////////////////////////////////////// Loaded Binary Functions.
//
HMODULE WINAPI DetourGetContainingModule(PVOID pvAddr);
HMODULE WINAPI DetourEnumerateModules(HMODULE hModuleLast);
PVOID WINAPI DetourGetEntryPoint(HMODULE hModule);
ULONG WINAPI DetourGetModuleSize(HMODULE hModule);
BOOL WINAPI DetourEnumerateExports(HMODULE hModule,
                                   PVOID pContext,
                                   PF_DETOUR_ENUMERATE_EXPORT_CALLBACK pfExport);
BOOL WINAPI DetourEnumerateImports(HMODULE hModule,
                                   PVOID pContext,
                                   PF_DETOUR_IMPORT_FILE_CALLBACK pfImportFile,
                                   PF_DETOUR_IMPORT_FUNC_CALLBACK pfImportFunc);

PVOID WINAPI DetourFindPayload(HMODULE hModule, REFGUID rguid, DWORD *pcbData);
PVOID WINAPI DetourFindPayloadEx(REFGUID rguid, DWORD * pcbData);
DWORD WINAPI DetourGetSizeOfPayloads(HMODULE hModule);

///////////////////////////////////////////////// Persistent Binary Functions.
//

PDETOUR_BINARY WINAPI DetourBinaryOpen(HANDLE hFile);
PVOID WINAPI DetourBinaryEnumeratePayloads(PDETOUR_BINARY pBinary,
                                           GUID *pGuid,
                                           DWORD *pcbData,
                                           DWORD *pnIterator);
PVOID WINAPI DetourBinaryFindPayload(PDETOUR_BINARY pBinary,
                                     REFGUID rguid,
                                     DWORD *pcbData);
PVOID WINAPI DetourBinarySetPayload(PDETOUR_BINARY pBinary,
                                    REFGUID rguid,
                                    PVOID pData,
                                    DWORD cbData);
BOOL WINAPI DetourBinaryDeletePayload(PDETOUR_BINARY pBinary, REFGUID rguid);
BOOL WINAPI DetourBinaryPurgePayloads(PDETOUR_BINARY pBinary);
BOOL WINAPI DetourBinaryResetImports(PDETOUR_BINARY pBinary);
BOOL WINAPI DetourBinaryEditImports(PDETOUR_BINARY pBinary,
                                    PVOID pContext,
                                    PF_DETOUR_BINARY_BYWAY_CALLBACK pfByway,
                                    PF_DETOUR_BINARY_FILE_CALLBACK pfFile,
                                    PF_DETOUR_BINARY_SYMBOL_CALLBACK pfSymbol,
                                    PF_DETOUR_BINARY_COMMIT_CALLBACK pfCommit);
BOOL WINAPI DetourBinaryWrite(PDETOUR_BINARY pBinary, HANDLE hFile);
BOOL WINAPI DetourBinaryClose(PDETOUR_BINARY pBinary);

/////////////////////////////////////////////////// Create Process & Load Dll.
//
typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEA)
    (LPCSTR lpApplicationName,
     LPSTR lpCommandLine,
     LPSECURITY_ATTRIBUTES lpProcessAttributes,
     LPSECURITY_ATTRIBUTES lpThreadAttributes,
     BOOL bInheritHandles,
     DWORD dwCreationFlags,
     LPVOID lpEnvironment,
     LPCSTR lpCurrentDirectory,
     LPSTARTUPINFOA lpStartupInfo,
     LPPROCESS_INFORMATION lpProcessInformation);

typedef BOOL (WINAPI *PDETOUR_CREATE_PROCESS_ROUTINEW)
    (LPCWSTR lpApplicationName,
     LPWSTR lpCommandLine,
     LPSECURITY_ATTRIBUTES lpProcessAttributes,
     LPSECURITY_ATTRIBUTES lpThreadAttributes,
     BOOL bInheritHandles,
     DWORD dwCreationFlags,
     LPVOID lpEnvironment,
     LPCWSTR lpCurrentDirectory,
     LPSTARTUPINFOW lpStartupInfo,
     LPPROCESS_INFORMATION lpProcessInformation);

BOOL WINAPI DetourCreateProcessWithDllA(LPCSTR lpApplicationName,
                                        __in_z LPSTR lpCommandLine,
                                        LPSECURITY_ATTRIBUTES lpProcessAttributes,
                                        LPSECURITY_ATTRIBUTES lpThreadAttributes,
                                        BOOL bInheritHandles,
                                        DWORD dwCreationFlags,
                                        LPVOID lpEnvironment,
                                        LPCSTR lpCurrentDirectory,
                                        LPSTARTUPINFOA lpStartupInfo,
                                        LPPROCESS_INFORMATION lpProcessInformation,
                                        LPCSTR lpDllName,
                                        PDETOUR_CREATE_PROCESS_ROUTINEA
                                        pfCreateProcessA);

BOOL WINAPI DetourCreateProcessWithDllW(LPCWSTR lpApplicationName,
                                        __in_z LPWSTR lpCommandLine,
                                        LPSECURITY_ATTRIBUTES lpProcessAttributes,
                                        LPSECURITY_ATTRIBUTES lpThreadAttributes,
                                        BOOL bInheritHandles,
                                        DWORD dwCreationFlags,
                                        LPVOID lpEnvironment,
                                        LPCWSTR lpCurrentDirectory,
                                        LPSTARTUPINFOW lpStartupInfo,
                                        LPPROCESS_INFORMATION lpProcessInformation,
                                        LPCSTR lpDllName,
                                        PDETOUR_CREATE_PROCESS_ROUTINEW
                                        pfCreateProcessW);

#ifdef UNICODE
#define DetourCreateProcessWithDll  DetourCreateProcessWithDllW
#define PDETOUR_CREATE_PROCESS_ROUTINE     PDETOUR_CREATE_PROCESS_ROUTINEW
#else
#define DetourCreateProcessWithDll  DetourCreateProcessWithDllA
#define PDETOUR_CREATE_PROCESS_ROUTINE     PDETOUR_CREATE_PROCESS_ROUTINEA
#endif // !UNICODE

BOOL WINAPI DetourUpdateProcessWithDll(HANDLE hProcess,
                                       LPCSTR *plpDlls,
                                       DWORD nDlls);

BOOL WINAPI DetourCopyPayloadToProcess(HANDLE hProcess,
                                       REFGUID rguid,
                                       PVOID pvData,
                                       DWORD cbData);
BOOL WINAPI DetourRestoreAfterWith();
BOOL WINAPI DetourRestoreAfterWithEx(PVOID pvData, DWORD cbData);

//
//////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif // __cplusplus

//////////////////////////////////////////////// Detours Internal Definitions.
//
#ifdef __cplusplus
#ifdef DETOURS_INTERNAL

#ifndef __deref_out
#define __deref_out
#endif

#ifndef __deref
#define __deref
#endif

//////////////////////////////////////////////////////////////////////////////
//
#if (_MSC_VER < 1299)
#include <imagehlp.h>
typedef IMAGEHLP_MODULE IMAGEHLP_MODULE64;
typedef PIMAGEHLP_MODULE PIMAGEHLP_MODULE64;
typedef IMAGEHLP_SYMBOL SYMBOL_INFO;
typedef PIMAGEHLP_SYMBOL PSYMBOL_INFO;

static inline
LONG InterlockedCompareExchange(LONG *ptr, LONG nval, LONG oval)
{
    return (LONG)::InterlockedCompareExchange((PVOID*)ptr, (PVOID)nval, (PVOID)oval);
}
#else
#include <dbghelp.h>
#endif

#ifdef IMAGEAPI // defined by DBGHELP.H
typedef LPAPI_VERSION (NTAPI *PF_ImagehlpApiVersionEx)(LPAPI_VERSION AppVersion);

typedef BOOL (NTAPI *PF_SymInitialize)(IN HANDLE hProcess,
                                       IN LPCSTR UserSearchPath,
                                       IN BOOL fInvadeProcess);
typedef DWORD (NTAPI *PF_SymSetOptions)(IN DWORD SymOptions);
typedef DWORD (NTAPI *PF_SymGetOptions)(VOID);
typedef DWORD64 (NTAPI *PF_SymLoadModule64)(IN HANDLE hProcess,
                                            IN HANDLE hFile,
                                            IN PSTR ImageName,
                                            IN PSTR ModuleName,
                                            IN DWORD64 BaseOfDll,
                                            IN DWORD SizeOfDll);
typedef BOOL (NTAPI *PF_SymGetModuleInfo64)(IN HANDLE hProcess,
                                            IN DWORD64 qwAddr,
                                            OUT PIMAGEHLP_MODULE64 ModuleInfo);
typedef BOOL (NTAPI *PF_SymFromName)(IN HANDLE hProcess,
                                     IN LPSTR Name,
                                     OUT PSYMBOL_INFO Symbol);

typedef struct _DETOUR_SYM_INFO
{
    HANDLE                  hProcess;
    HMODULE                 hDbgHelp;
    PF_ImagehlpApiVersionEx pfImagehlpApiVersionEx;
    PF_SymInitialize        pfSymInitialize;
    PF_SymSetOptions        pfSymSetOptions;
    PF_SymGetOptions        pfSymGetOptions;
    PF_SymLoadModule64      pfSymLoadModule64;
    PF_SymGetModuleInfo64   pfSymGetModuleInfo64;
    PF_SymFromName          pfSymFromName;
} DETOUR_SYM_INFO, *PDETOUR_SYM_INFO;

PDETOUR_SYM_INFO DetourLoadDbgHelp(VOID);

#endif // IMAGEAPI

#ifndef DETOUR_TRACE
#if DETOUR_DEBUG
#define DETOUR_TRACE(x) printf x
#define DETOUR_BREAK()  __debugbreak()
#include <stdio.h>
#include <limits.h>
#else
#define DETOUR_TRACE(x)
#define DETOUR_BREAK()
#endif
#endif

#ifdef DETOURS_IA64
__declspec(align(16)) struct DETOUR_IA64_BUNDLE
{
  public:
    union
    {
        BYTE    data[16];
        UINT64  wide[2];
    };

  public:
    struct DETOUR_IA64_METADATA;

    typedef BOOL (DETOUR_IA64_BUNDLE::* DETOUR_IA64_METACOPY)
        (const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;

    enum {
        A_UNIT  = 1u,
        I_UNIT  = 2u,
        M_UNIT  = 3u,
        B_UNIT  = 4u,
        F_UNIT  = 5u,
        L_UNIT  = 6u,
        X_UNIT  = 7u,
        UNIT_MASK = 7u,
        STOP    = 8u
    };
    struct DETOUR_IA64_METADATA
    {
        ULONG       nTemplate       : 8;    // Instruction template.
        ULONG       nUnit0          : 4;    // Unit for slot 0
        ULONG       nUnit1          : 4;    // Unit for slot 1
        ULONG       nUnit2          : 4;    // Unit for slot 2
        DETOUR_IA64_METACOPY    pfCopy;     // Function pointer.
    };

  protected:
    BOOL CopyBytes(const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;
    BOOL CopyBytesMMB(const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;
    BOOL CopyBytesMBB(const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;
    BOOL CopyBytesBBB(const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;
    BOOL CopyBytesMLX(const DETOUR_IA64_METADATA *pMeta, DETOUR_IA64_BUNDLE *pDst) const;

    static const DETOUR_IA64_METADATA s_rceCopyTable[33];

  public:
    // 120 112 104 96 88 80 72 64 56 48 40 32 24 16  8  0
    //  f.  e.  d. c. b. a. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.

    //                                      00
    // f.e. d.c. b.a. 9.8. 7.6. 5.4. 3.2. 1.0.
    // 0000 0000 0000 0000 0000 0000 0000 001f : Template [4..0]
    // 0000 0000 0000 0000 0000 03ff ffff ffe0 : Zero [ 41..  5]
    // 0000 0000 0000 0000 0000 3c00 0000 0000 : Zero [ 45.. 42]
    // 0000 0000 0007 ffff ffff c000 0000 0000 : One  [ 82.. 46]
    // 0000 0000 0078 0000 0000 0000 0000 0000 : One  [ 86.. 83]
    // 0fff ffff ff80 0000 0000 0000 0000 0000 : Two  [123.. 87]
    // f000 0000 0000 0000 0000 0000 0000 0000 : Two  [127..124]
    BYTE    GetTemplate() const;
    BYTE    GetInst0() const;
    BYTE    GetInst1() const;
    BYTE    GetInst2() const;
    BYTE    GetUnit0() const;
    BYTE    GetUnit1() const;
    BYTE    GetUnit2() const;
    UINT64  GetData0() const;
    UINT64  GetData1() const;
    UINT64  GetData2() const;

  public:
    BOOL    IsBrl() const;
    VOID    SetBrl();
    VOID    SetBrl(UINT64 target);
    UINT64  GetBrlTarget() const;
    VOID    SetBrlTarget(UINT64 target);
    VOID    SetBrlImm(UINT64 imm);
    UINT64  GetBrlImm() const;

    BOOL    IsMovlGp() const;
    UINT64  GetMovlGp() const;
    VOID    SetMovlGp(UINT64 gp);

    VOID    SetInst0(BYTE nInst);
    VOID    SetInst1(BYTE nInst);
    VOID    SetInst2(BYTE nInst);
    VOID    SetData0(UINT64 nData);
    VOID    SetData1(UINT64 nData);
    VOID    SetData2(UINT64 nData);
    BOOL    SetNop0();
    BOOL    SetNop1();
    BOOL    SetNop2();
    BOOL    SetStop();

    BOOL    Copy(DETOUR_IA64_BUNDLE *pDst) const;
};
#endif // DETOURS_IA64

//////////////////////////////////////////////////////////////////////////////

#endif // DETOURS_INTERNAL
#endif // __cplusplus

#endif // _DETOURS_H_
//
////////////////////////////////////////////////////////////////  End of File.


\twitterimg{foo}

{'content_hash': '717abc796b4102bee88dd3fc2a64c82f', 'timestamp': '', 'source': 'github', 'line_count': 1, 'max_line_length': 16, 'avg_line_length': 17.0, 'alnum_prop': 0.7647058823529411, 'repo_name': 'jeffpc/blahgd', 'id': '25abd3feedeac70e05f826951629ec3da4d2fb01', 'size': '17', 'binary': False, 'copies': '1', 'ref': 'refs/heads/master', 'path': 'tests/fmt3-commands/twitterimg.tex', 'mode': '33188', 'license': 'mit', 'language': [{'name': 'C', 'bytes': '179622'}, {'name': 'CMake', 'bytes': '13927'}, {'name': 'CSS', 'bytes': '2240'}, {'name': 'HTML', 'bytes': '183'}, {'name': 'Lex', 'bytes': '7059'}, {'name': 'TeX', 'bytes': '1018'}, {'name': 'Yacc', 'bytes': '16412'}]}


LEGO Star Wars 2019 Tie Fighter Attack Review! Set 75237!
The LEGO Movie 2 Emmet’s Dream House / Rescue Rocket review! 2019 set 70831!
LEGO Star Wars 2019 Darth Maul’s Sith Infiltrator Microfighter Review! Set 75224!
LEGO Star Wars 2019 Naboo Starfighter Microfighter Review! Set 75223!
The LEGO Movie Emmet and Benny’s ‘Build and Fix’ Workshop review! 2019 set 70821!
The LEGO Movie 2 Rex’s Rex-treme Offroader review! 2019 set 70826!
LEGO Star Wars SUMMER 2019 Sets RUMORS! | UCS Star Destroyer, Tantive IV, Slave 1, 20th Anniversary!
The LEGO Movie 2 Unikitty’s Sweetest Friends EVER review! 2019 set 70822!
The LEGO Movie 2 Sweet Mayhem’s Systar Starship! 2019 set 70830!

{'timestamp': '2019-04-20T16:17:55Z', 'url': 'http://brickhubs.com/author/bric3049/page/25/', 'language': 'en', 'source': 'c4'}


from bluebottle.bb_donations.models import BaseDonation
from bluebottle.utils.utils import StatusDefinition

GROUP_PERMS = {
    'Staff': {
        'perms': (
            'add_donation', 'change_donation', 'delete_donation',
        )
    }
}

class Donation(BaseDonation):

    def __unicode__(self):
        return u'{} for {}'.format(self.amount, self.project)

    def get_payment_method(self):
        order_payment = self.order.get_latest_order_payment()
        if not order_payment:
            return '?'
        if order_payment.status == StatusDefinition.PLEDGED:
            return 'pledge'
        if not hasattr(order_payment, 'payment'):
            return '?'
        return order_payment.payment.method_name

from .signals import *

{'content_hash': '6e56c5fbd11bb1e1adac9b7a09dd18cd', 'timestamp': '', 'source': 'github', 'line_count': 28, 'max_line_length': 65, 'avg_line_length': 26.785714285714285, 'alnum_prop': 0.616, 'repo_name': 'jfterpstra/bluebottle', 'id': '9d1310d4dee99f35b363ea2d34eae541d761eeb2', 'size': '750', 'binary': False, 'copies': '1', 'ref': 'refs/heads/develop', 'path': 'bluebottle/donations/models.py', 'mode': '33188', 'license': 'bsd-3-clause', 'language': [{'name': 'CSS', 'bytes': '16556'}, {'name': 'HTML', 'bytes': '173443'}, {'name': 'JavaScript', 'bytes': '434'}, {'name': 'PostScript', 'bytes': '2927'}, {'name': 'Python', 'bytes': '1694079'}, {'name': 'Shell', 'bytes': '2951'}, {'name': 'Smarty', 'bytes': '4317'}]}


La sterolo 24-C-metiltransferasi è un enzima appartenente alla classe delle transferasi, che catalizza la seguente reazione:
S-adenosil-L-metionina + 5α-colesta-8,24-dien-3β-olo  S-adenosil-L-omocisteina + 24-metilene-5α-colest-8-en-3β-olo
L'enzima ha bisogno di glutatione. Agisce su un ampio raggio di steroli con un doppio legame 24(25) nella catena laterale. Oltre che sullo zimosterolo che è il substrato preferito, agisce anche sul desmosterolo, 5α-colesta-7,24-dien-3β-olo, 5α-colesta-5,7,24-trien-3β-olo, 4α-metilzimosterolo ed altri. La S-adenosil-L-metionina attacca la faccia Si del doppio legame 24(25) e l'idrogeno del C-24 è trasferito al C-25, sulla faccia Re del doppio legame.

Bibliografia

EC 2.1.1

{'title': 'Sterolo 24-C-metiltransferasi', 'url': 'https://it.wikipedia.org/wiki/Sterolo%2024-C-metiltransferasi', 'language': 'it', 'timestamp': '20230320'}


8428 Hrs, Power Shift, 1000 PTO, 4 Remotes, 18.4/38 70%, Runs & Shifts Good, Great Find!
Updated Cummins 855 With Turbo - 310 HP, Meter Hours 6106, 18.4/38 Good Year Duals, Front 40% +, rear 45%, Atom Jet Hydraulic System for Air Drills, Standard Trans, Addl Rear Lighting, Nice Cab, HD Drawbar, Runs Good, Shifts Good, Give Us A Call!
VERY WELL CARED FOR MACHINE. USED 2014 VERSATILE 375 4WD TRACTOR. INCLUDES RAVEN GPS ENVIZIO PRO, PTO, PS TRANSMISSION, AND 6 HYD REMOTES.

{'timestamp': '2019-04-23T09:16:58Z', 'url': 'https://www.agriseek.com/s/Versatile-Tractors-For-Sale-In-Texas', 'language': 'en', 'source': 'c4'}


@implementation SDCat

@end

{'content_hash': '645066b5f9b32f0d7c1d1f6b9f03c887', 'timestamp': '', 'source': 'github', 'line_count': 3, 'max_line_length': 21, 'avg_line_length': 9.333333333333334, 'alnum_prop': 0.7857142857142857, 'repo_name': 'jisudong555/SDModelHandle', 'id': '06db483fcebc77cd402a0576ff6f64407d66a5b6', 'size': '172', 'binary': False, 'copies': '2', 'ref': 'refs/heads/master', 'path': 'SDModelHandle/SDCat.m', 'mode': '33188', 'license': 'mit', 'language': [{'name': 'Objective-C', 'bytes': '12923'}, {'name': 'Ruby', 'bytes': '1001'}]}


Лёгкие крейсера типа «Фиджи» — тип лёгких крейсеров Королевского военно-морского флота Великобритании времён Второй мировой войны. Всего для британского флота построено 8 единиц: «Фиджи» (Fiji), «Кения» (Kenya), «Найджериа» (Nigeria), «Мауритиус» (Mauritius), «Тринидад» (Trinidad), «Гамбия» (Gambia), «Джамайка» (Jamaica), «Бермуда» (Bermuda).
Относились к крейсерам типа Colony первой серии. Стали британским вариантом крейсера, соответствующего условиям Лондонского морского договора 1936 года.

История создания
Британский флот испытывал потребность в большем количестве крейсеров общего назначения, которые могли выступать в роли защитника торговли и, если необходимо, в качестве составной части флота.

Лондонский международный договор 1936 года разрешил подписавшим его странам строить любое число легких крейсеров, но ограничил стандартное водоизмещение каждой единицы величиной в 8000 дл.т.

После заключения Лондонского военно-морского договора 1936 года Великобритания прекратила строить тяжёлые крейсера. Возникла необходимость в проекте крейсера, соответствующего ограничению в 8000 тонн стандартного водоизмещения. В качестве основы нового проекта послужили лёгкие крейсера типа «Саутгемптон». Конструкторская задача сводилась к созданию лёгкого крейсера сопоставимого с ними по вооружению, но облегченного на 1000 тонн.

После ряда предварительных проектов, в октябре 1936 года были рассмотрены две возможности: вариант с 14 133-мм орудиями и вариант с аналогичным типу «Саутгемптон» вооружением (12 152-мм и 8 102-мм орудий), но с меньшей скоростью хода. На выбор в пользу более тяжёлого вооружения повлиял тот факт, что Япония не присоединилась к договору 1936 года и было неизвестно, какие крейсера она строит.

Окончательный вариант проекта был принят 4 ноября 1937 года с расчётным стандартным водоизмещением 8170 тонн. Пять кораблей нового типа были включены в программу строительства 1937/8 года, ещё четыре — в программу 1938/9 года. Однако, в ходе постройки запланированное водоизмещение было значительно превышено: «Фиджи», головной корабль серии, был спущен на воду 31 мая 1939 года со стандартным водоизмещением 8631 тонн.

Конструкция
Проект «Фиджи» стал результатом глубокой переработки проекта крейсера типа «Саутгемптон» под ограничение стандартного водоизмещения в 8000 длинных тонн. За счёт применения более плотной компоновки удалось уменьшить длину на 10 м. Ради сохранения вооружения прототипа пришлось пожертвовать мощностью энергетической установки и несколько ослабить бронирование, но использование транцевой кормы дало возможность избежать значительного падения скорости, а меньшая длина корпуса позволила прикрыть броневым поясом погреба главного калибра. Толщина броневой палубы, по сравнению с «Саутгемптон», даже увеличилась.

Корпус
Водоизмещение «Фиджи» в начале войны составляло 8631, 8524, 10 724 дл. тонн — стандартное, лёгкое и полное, соответственно. Высота надводного борта при нормальном водоизмещении составляла 9,1 м в носу (против 9,33 м крейсера «Глостер») и только 4,75 м на миделе и 5,36 м — в корме.

Энергетическая установка
Главная энергетическая установка состояла из четырёх турбозубчатых агрегатов Парсонса и четырёх трёхколлекторных паровых котлов Адмиралтейского типа. Схема — эшелонная; котлы расположены попарно в двух котельных отделениях, ТЗА — в двух машинных. Котлы крейсеров типов «Фиджи» и «Дидо» обеспечивали более высокие параметры пара, чем у предшествовавших британских крейсеров: 28,1 атм. (28,47 кГ/см²) при температуре 370 °С. Удельная мощность энергоустановки «Фиджи» — 55,6 л. с./т — была наибольшей среди британских крейсеров периода Второй мировой. Испытания «Фиджи» на полную мощность были проведены 5 мая 1940 года: два часа работы при 72 500 л. с. и два часа на 80 000 л. с. Условия военного времени не позволили измерить скорость точно, но по оценкам скорость при стандартном водоизмещении была 31½ узлов на 72 500 л. с. и 32¼ — на 80 000 л. с. Дальность плавания на крейсерских турбинах при чистом дне и скорости 16 узлов составляла от 5700 до 5900 морских миль. Скорость в море с чистым дном: 30,3 узла. Скорость в море, достижимая через шесть месяцев после докования — 30,1 узла.

Вооружение

Артиллерийское вооружение
Артиллерийское вооружение крейсеров типа «Фиджи» включало двенадцать 152-мм и восемь 102-мм универсальных орудий. Боекомплект и тех и других орудий сократили до 150 снарядов на ствол, это было сделано для соблюдения 8000 тонного ограничения стандартного водоизмещения, хотя вместимость погребов позволяла принимать по 200.

152-мм пушки Мк-XXIII с длиной ствола в 50 калибров являлись орудиями главного калибра на всех британских лёгких крейсерах предвоенной постройки, начиная с «Линдера». Первоначально они устанавливались в двухорудийных башнях Мк-XXI («Линдер», «Сидней», «Аретьюза»), затем в трёхорудийных Мк-XXII (тип «Саутгемптон») и Мк-XXIII («Белфаст», «Фиджи»). Особенностью британских трёхорудийных башен было смещение среднего ствола назад на 0,76 м для того чтобы предотвратить рассеивание снарядов из за взаимного влияния дульных газов.

Торпедное вооружение
На крейсерах было зарезервировано место в средней части корабля для двух трёхтрубных торпедных аппарата TR-IV калибром 533 мм.

Служба
«Фиджи» (Fiji) — заложен 30 марта 1938 г., спущен 31 мая 1939 г., вступил в строй 5 мая 1940 г.

«Кения» (Kenya) — заложен 18 января 1938 г., спущен 18 августа 1939 г., вступил в строй 27 сентября 1940 г.

«Найджериа» (Nigeria) — заложен 8 февраля 1938 г., спущен 18 июля 1939 г., вступил в строй 23 сентября 1940 г.

«Мауритиус» (Mauritius) — заложен 31 марта 1938 г., спущен 19 июля 1939 г., вступил в строй 4 января 1941 г.

«Тринидад» (Trinidad) — заложен 21 апреля 1938 г., спущен 21 марта 1940 г., вступил в строй 14 октября 1941 г.

«Гамбия» (Gambia) — заложен 24 июля 1939 г., спущен 30 ноября 1940 г., вступил в строй 21 февраля 1942 г.

«Джамайка» (Jamaica) — заложен 28 апреля 1939 г., спущен 16 ноября 1940 г., вступил в строй 29 июня 1942 г.

«Бермуда» (Bermuda) — заложен 30 ноября 1939 г., спущен 11 сентября 1941 г., вступил в строй 21 августа 1942 г.

Оценка проекта
Лёгкие крейсера типов «Фиджи» и «Уганда» проектировались с учётом как договорных ограничений, так и необходимости экономии средств. Британская империя не могла себе позволить массовое строительство мощных, но очень дорогих крейсеров типа «Белфаст». В целом с задачей создания универсального лёгкого крейсера конструкторы справились. Единственным серьёзным недостатком стала слишком плотная компоновка, вынуждавшая снимать одну из башен главного калибра для усиления системы ПВО. Однако, это объяснялось изначальным ограничением водоизмещения. В рамках полученного задания британским конструкторам удалось создать корабли, умеренные по своим характеристикам, но хорошо сбалансированные и надёжные, что подтвердила их длительная и успешная служба на всех театрах Второй мировой войны. Проект «Фиджи» заметно превосходил американский проект «лондонского» крейсера. По мнению кандидата исторических наук С. В. Патянина, британские крейсера типа «Фиджи» были лучшими среди лёгких крейсеров Второй мировой по критерию «стоимость/эффективность».

Комментарии к таблице

Примечания

Литература
 Ненахов Ю. Ю. Энциклопедия крейсеров 1910—2005. — Минск, Харвест, 2007.

 Conway’s All the World’s Fighting Ships, 1922—1946.- Annapolis, Maryland, U.S.A. : Naval Institute Press, 1996.
 M. J. Whitley. Cruisers of World War Two. An international encyclopedia. — London, Arms & Armour, 1995.

 Smithn P.C. Dominy J.R. Cruisers in Action 1939—1945. — London: William Kimber, 1981.


Internationella kvinnospelen (även Damolympiaden) var en serie tävlingar i friidrott för damer. De var de första internationella tävlingar för damer och hölls under 1920- och 1930-talen innan damer tilläts delta i friidrottsgrenar vid Olympiska spelen och andra internationella idrottsevenemang.

Bakgrund
Damer tilläts endast delta i några få enskilda idrottsgrenar vid Olympiska spel sedan 1900 (OS 1900 i golf och tennis, OS 1904 i bågskytte, OS 1908 i bågskytte, konståkning och tennis och vid OS 1912 i Stockholm tillkom även simning som tillåten damgren).

I början på 1900-talet möttes kvinnliga idrottsutövare av stort motstånd. I Sverige grundades Svenska kvinnors centralförbund för fysisk kultur (SKCFK) 1924 och Sveriges kvinnliga idrottsförbund (SKI) 1925.

Tävlingarna
Kvinnospelen i friidrott organiserades av Fédération Sportive Féminine Internationale (FSFI, grundad 31 oktober 1921 av Alice Milliat) som "Damolympiaden" (Women’s Olympic Games) och tillkom som en protest mot Internationella olympiska kommittén (IOK) policy att inte tillåta kvinnor till OS 1920 och 1924.

En föregångstävling till de Internationella kvinnospelen var Damolympiaden 1921 som hölls i Monte Carlo redan i mars 1921. Uppföljare till detta evenemang hölls  även i april 1922 (Damspelen 1922, ibland förväxlad med den första ordinarie internationella Damolympiaden 1922 i Paris) och i april 1923 (Damspelen 1923). 1924 hölls även en särskild damtävling i London.

Turneringar

Det hölls 4 ordinarie turneringar den 5.e turneringen planerades till 1938 i Wien men ställdes in.

Vid de första turneringen deltog idrottskvinnor från 5 nationer. Efter turneringen protesterade IOK mot användandet av termen "Olympisk" varpå namnet 1926 ändrades till "Kvinnovärldsspelen" (Women’s World Games), som motprestation krävde FSFI införandet av 10 friidrottsgrenar för damer till OS 1928. IOK införde dock endast 5 grenar till sommarspelen. Kvinnovärldsspelen i Göteborg betraktas som ett stort genombrott för damidrotten.

Eftermäle
Tävlingarna blev en stor framgång och ett betydande steg för damidrotten, Den 23 november 2008 avtäckte den internationella organisationen för friidrottsförbund IAAF en minnesskylt över Damolympiaden 1921 i Monaco.

Särorganisationerna SKCFK och SKI upplöstes 1928 då de inträdde i Riksidrottsförbundet, 1936 upplöstes även FSFI efter påtryckningar från IOK.

I juli 1927 hölls första SM i friidrott för damer och i september 1938 hölls första EM i friidrott för damer.

Referenser

Noter

Tryckta källor

Externa länkar
 Bilder från första Damolympiaden 1921
 Film från Damolympiaden 1926
 Bilder från Damolympiaden 1926

Damidrott
Sporthistoria
Internationella kvinnospelen
Sportåret 1922
Sportåret 1926
Sportåret 1930
Sportåret 1934
Återkommande sportevenemang med premiär 1922
Återkommande sportevenemang i augusti
Återkommande sportevenemang i september

{'title': 'Internationella kvinnospelen', 'url': 'https://sv.wikipedia.org/wiki/Internationella%20kvinnospelen', 'language': 'sv', 'timestamp': '20230320'}


Li Čunšju (; pinjin: Li Chunxiu), kitajska atletinja, * 13. avgust 1969, Ljudska republika Kitajska.

Nastopila je na poletnih olimpijskih igrah leta 1992, kjer je osvojila bronasto medaljo v hitri hoji na 10 km. Na azijskih prvenstvih je osvojila srebrno medaljo leta 1993.

Sklici

Zunanje povezave

Kitajski atleti
Olimpijski tekmovalci za Kitajsko
Prejemniki bronastih olimpijskih medalj za Kitajsko
Atleti Poletnih olimpijskih iger 1992
Tekmovalci v hitri hoji

{'title': 'Li Čunšju', 'url': 'https://sl.wikipedia.org/wiki/Li%20%C4%8Cun%C5%A1ju', 'language': 'sl', 'timestamp': '20230320'}


K.O.M.I.T.E.E. — немецкая леворадикальная подпольная автономистская организация, созданная в 1994 г. и ставившая своей целью борьбу с репрессивной внутренней и внешней политикой ФРГ. По мнению полиции, K.O.M.I.T.E.E. является ответвлением AIZ.

Группа наиболее известна по попытке взрыва строящейся тюрьмы для незаконных иммигрантов в Бад-Фрайенвальде. Эта акция была вдохновлена аналогичным взрывом тюрьмы города Вайтерштадт активистами Фракции Красной Армии.

Примечания

Леворадикальные террористические организации
Терроризм в Германии

{'title': 'K.O.M.I.T.E.E.', 'url': 'https://ru.wikipedia.org/wiki/K.O.M.I.T.E.E.', 'language': 'ru', 'timestamp': '20230320'}


Zkratka HLA může označovat:

 Human Leukocyte Antigen – čili lidský hlavní histokompatibilní komplex
 Handball Liga Austria
 Handelslehranstalt
 High Level Architecture
 High Level Assembly
 High Level Assembler
 Home Location Area
 IATA kód letiště Lanseria, Jižní Afrika
 Homeopatická lékařská asociace

Zkratky

{'title': 'HLA', 'url': 'https://cs.wikipedia.org/wiki/HLA', 'language': 'cs', 'timestamp': '20230320'}


/*=================================================================================
 Kunal Garg - last modified 13 May 2018 (kgarg@cern.ch)
 *** Configuration script for K*+-->K0Short-Pi analysis ***
 =======================================================================================*/
// A configuration script for RSN package needs to define the followings:
//
// (1) decay tree of each resonance to be studied, which is needed to select
//     true pairs and to assign the right mass to all candidate daughters
// (2) cuts at all levels: single daughters, tracks, events
// (3) output objects: histograms or trees
//
Bool_t ConfigKStarPlusMinusRun2sp_bin
(
 AliRsnMiniAnalysisTask *task,
 //=============
    Int_t                  binning_sphero,
    Double_t               min_sphero,
    Double_t               max_sphero,
    Int_t                  mult_binning,
    Double_t               mult_min,
    Double_t               mult_max,
 //==============
 Bool_t                 HIST, //ST
 Bool_t                  isPP,
 Bool_t                  isMC,
 Bool_t                  isGT,
 Float_t                 piPIDCut,
 Int_t                   customQualityCutsID=AliRsnCutSetDaughterParticle::kDisableCustom,
 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutPiCandidate = AliRsnCutSetDaughterParticle::kTPCpidphipp2015,
 Float_t                 pi_k0s_PIDCut,
 Int_t                   aodFilterBit,
 Bool_t                  enableMonitor=kTRUE  ,
 TString                 monitorOpt="",
 Float_t                 massTol,
 Float_t                 massTolVeto,
 Int_t 		     	 tol_switch,
 Double_t                tol_sigma,
 Float_t                 pLife,
 Float_t                 radiuslow,
 Bool_t                  Switch,
 Float_t                 k0sDCA,
 Float_t                 k0sCosPoinAn,
 Float_t                 k0sDaughDCA,
 Int_t                   NTPCcluster,
 const char             *suffix,
 AliRsnCutSet           *PairCutsSame,
 AliRsnCutSet           *PairCutsMix,
 Float_t                 DCAxy,
 Bool_t                  enableSys,
 Float_t                 crossedRows,
 Float_t                 rowsbycluster,
 Float_t		 v0rapidity,
 Int_t                   Sys
 )
//kTPCpidphipp2015
{
    // manage suffix
    if (strlen(suffix) > 0) suffix = Form("_%s", suffix);

    /////////////////////////////////////////////////////
    // selections for the pion from the decay of KStarPlusMinus*
    /////////////////////////////////////////////////////
    //

    AliRsnCutSetDaughterParticle* cutSetQ;
    AliRsnCutSetDaughterParticle* cutSetPi;

    AliRsnCutTrackQuality* trkQualityCut= new AliRsnCutTrackQuality("myQualityCut");
    if(SetCustomQualityCut(trkQualityCut,customQualityCutsID,aodFilterBit)){
        //Set custom quality cuts for systematic checks
        cutSetQ=new AliRsnCutSetDaughterParticle(Form("cutQ_bit%i",aodFilterBit),trkQualityCut,AliRsnCutSetDaughterParticle::kQualityStd2011,AliPID::kPion,-1.);
        cutSetPi=new AliRsnCutSetDaughterParticle(Form("cutPi%i_%2.1fsigma",cutPiCandidate, piPIDCut),trkQualityCut,cutPiCandidate,AliPID::kPion,piPIDCut);
    }else{
        //use default quality cuts std 2010 with crossed rows TPC
        Bool_t useCrossedRows = 1;
        cutSetQ=new AliRsnCutSetDaughterParticle(Form("cutQ_bit%i",aodFilterBit),AliRsnCutSetDaughterParticle::kQualityStd2011,AliPID::kPion,-1.,aodFilterBit,kTRUE);
        cutSetPi=new AliRsnCutSetDaughterParticle(Form("cutPi%i_%2.1fsigma",cutPiCandidate,piPIDCut),cutPiCandidate,AliPID::kPion,piPIDCut,aodFilterBit, kTRUE);
    }

    Int_t iCutQ=task->AddTrackCuts(cutSetQ);
    Int_t iCutPi=task->AddTrackCuts(cutSetPi);

    // AliRsnCutSetDaughterParticle * cutQ = new AliRsnCutSetDaughterParticle(Form("cutQ_bit%i",aodFilterBit), AliRsnCutSetDaughterParticle::kQualityStd2011, AliPID::kPion, -1.0, aodFilterBit, kTRUE);
    //cutQ->SetUse2011StdQualityCuts(kTRUE);

    //AliRsnCutSetDaughterParticle * cutPi = new AliRsnCutSetDaughterParticle(Form("cutPi%i_%2.1fsigma",cutPiCandidate, piPIDCut), cutPiCandidate, AliPID::kPion, piPIDCut, aodFilterBit,kTRUE);
    //cutPi->SetUse2011StdQualityCuts(kTRUE);

    //AliRsnCutSet *cutSetPi = new AliRsnCutSet("setPionForKStarPlusMinus", AliRsnTarget::kDaughter);
    //cutSetPi->AddCut(cutPi);
    //cutSetPi->SetCutScheme(cutPi->GetName());
    //Int_t iCutPi = task->AddTrackCuts(cutPi);
    //Int_t iCutQ = task->AddTrackCuts(cutQ);
    //
    /////////////////////////////////////////////////////////////
    // selections for K0s and for the daughters of K0s
    /////////////////////////////////////////////////////////////
    //
    // selections for pion daugthers of K0s
    AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts("qualityDaughterK0s");
    esdTrackCuts->SetEtaRange(-0.8,0.8);
    esdTrackCuts->SetRequireTPCRefit();
    esdTrackCuts->SetAcceptKinkDaughters(0); //
    esdTrackCuts->SetMinNCrossedRowsTPC(crossedRows);
    esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(rowsbycluster);
    esdTrackCuts->SetMaxChi2PerClusterTPC(100);
    esdTrackCuts->SetMinDCAToVertexXY(DCAxy); //Use one of the two - pt dependent or fixed value cut.

    //
    /////////////////////////////////////////////////
    // selections for K0s
    AliRsnCutV0 *cutK0s = new AliRsnCutV0("cutK0s", kK0Short, AliPID::kPion, AliPID::kPion);
    cutK0s->SetPIDCutPion(pi_k0s_PIDCut);        // PID for the pion daughter of K0s
    cutK0s->SetESDtrackCuts(esdTrackCuts);
    cutK0s->SetMaxDaughtersDCA(k0sDaughDCA);
    cutK0s->SetMaxDCAVertex(k0sDCA);
    cutK0s->SetMinCosPointingAngle(k0sCosPoinAn);
    cutK0s->SetTolerance(massTol);
    cutK0s->SetToleranceVeto(massTolVeto);   //Rejection range for Competing V0 Rejection
    cutK0s->SetSwitch(Switch);
    cutK0s->SetfLife(pLife);
    cutK0s->SetfLowRadius(radiuslow);
    cutK0s->SetfHighRadius(200);
    cutK0s->SetMaxRapidity(v0rapidity);
    cutK0s->SetpT_Tolerance(tol_switch);
    cutK0s->SetMassTolSigma(tol_sigma);

    if(enableSys)
    {

        if(Sys==1){cutK0s->SetPIDCutPion(pi_k0s_PIDCut-0.5);}
        else if(Sys==2){cutK0s->SetPIDCutPion(pi_k0s_PIDCut-1.0);}
        else if(Sys==3){cutK0s->SetMaxDaughtersDCA(k0sDaughDCA-0.25);}
        else if(Sys==4){cutK0s->SetMaxDaughtersDCA(k0sDaughDCA+0.25);}
        else if(Sys==5){cutK0s->SetMinCosPointingAngle(k0sCosPoinAn-0.02);}
        else if(Sys==6){cutK0s->SetMinCosPointingAngle(k0sCosPoinAn+0.02);}
        else if(Sys==7){cutK0s->SetTolerance(massTol+1);}
        else if(Sys==8){cutK0s->SetTolerance(massTol+2);}
        else if(Sys==9){cutK0s->SetTolerance(massTol-1);}
        else if(Sys==10){cutK0s->SetfLife(pLife-8);}
        else if(Sys==11){cutK0s->SetfLowRadius(radiuslow-0.2);}
        else if(Sys==12){cutK0s->SetfLowRadius(radiuslow+0.2);}
        else if(Sys==13){cutK0s->SetMaxRapidity(v0rapidity-0.1);}
        else if(Sys==14){cutK0s->SetMaxRapidity(v0rapidity+0.1);}
        else if(Sys==15){cutK0s->SetToleranceVeto(massTolVeto-0.0011);}
        else if(Sys==16){cutK0s->SetToleranceVeto(massTolVeto+0.0011);}
        else if(Sys==17){esdTrackCuts->SetMinDCAToVertexXY(DCAxy-0.01);}
        else if(Sys==18){esdTrackCuts->SetMinDCAToVertexXY(DCAxy+0.01);}
        else if(Sys==19){esdTrackCuts->SetMinNCrossedRowsTPC(crossedRows+10);}
        else if(Sys==20){esdTrackCuts->SetMinNCrossedRowsTPC(crossedRows+30);}
        else if(Sys==21){esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(rowsbycluster+0.1);}

    }

    //
    AliRsnCutSet *cutSetK0s = new AliRsnCutSet("setK0s", AliRsnTarget::kDaughter);
    cutSetK0s->AddCut(cutK0s);
    cutSetK0s->SetCutScheme(cutK0s->GetName());
    Int_t iCutK0s = task->AddTrackCuts(cutSetK0s);
    //

    //

    if(enableMonitor){
        Printf("======== Cut monitoring enabled");
        gROOT->LoadMacro("$ALICE_PHYSICS/PWGLF/RESONANCES/macros/mini/AddMonitorOutput.C");
        //AddMonitorOutput(isMC, cutPi->GetMonitorOutput(), monitorOpt.Data());
        //AddMonitorOutput(isMC, cutQ->GetMonitorOutput(), monitorOpt.Data());
        AddMonitorOutput(isMC, cutSetQ->GetMonitorOutput(), monitorOpt.Data());
        AddMonitorOutput(isMC, cutSetPi->GetMonitorOutput(), monitorOpt.Data());
    }

    //
    // -- Values ------------------------------------------------------------------------------------
    //

    /// -- Values ------------------------------------------------------------------------------------
    /* invariant mass   */ Int_t imID   = task->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
    /* transv. momentum */ Int_t ptID    = task->CreateValue(AliRsnMiniValue::kPt, kFALSE);
    /* centrality       */ Int_t centID  = task->CreateValue(AliRsnMiniValue::kMult, kFALSE);
    /* spherocity       */ Int_t SpherocityID = task->CreateValue(AliRsnMiniValue::kSpherocity,kFALSE);
    /* pseudorapidity   */ Int_t etaID   = task->CreateValue(AliRsnMiniValue::kEta, kFALSE);
    /* rapidity         */ Int_t yID     = task->CreateValue(AliRsnMiniValue::kY, kFALSE);

    /* 1st daughter pt  */ Int_t fdpt   = task->CreateValue(AliRsnMiniValue::kFirstDaughterPt,kFALSE);
    /* 2nd daughter pt  */ Int_t sdpt   = task->CreateValue(AliRsnMiniValue::kSecondDaughterPt,kFALSE);
    /* 1st daughter p   */ Int_t fdp    = task->CreateValue(AliRsnMiniValue::kFirstDaughterP,kFALSE);
    /* 2nd daughter p   */ Int_t sdp    = task->CreateValue(AliRsnMiniValue::kSecondDaughterP,kFALSE);
    /* cos(theta) J     */ Int_t ctjID  = task->CreateValue(AliRsnMiniValue::kCosThetaJackson,kFALSE);
    /* cos(theta) J (MC)*/ Int_t ctjmID  = task->CreateValue(AliRsnMiniValue::kCosThetaJackson,kTRUE);
    /* cos(theta) T     */ Int_t cttID  = task->CreateValue(AliRsnMiniValue::kCosThetaTransversity,kFALSE);
    /* cos(theta) T (MC)*/ Int_t cttmID  = task->CreateValue(AliRsnMiniValue::kCosThetaTransversity,kTRUE);

    //
    // -- Create all needed outputs -----------------------------------------------------------------
    //

    // use an array for more compact writing, which are different on mixing and charges
    // [0] = unlike
    // [1] = mixing
    // [2] = like ++
    // [3] = like --
    Bool_t  use     [6] = {1               ,1                ,1                  ,1                   ,1                ,1                 };
    Bool_t  useIM   [6] = {1               ,1                ,1                  ,1                   ,1                ,1                 };
    TString name    [6] = {"KStarPlusMinus","AKStarPlusMinus","KStarPlusMinusmix","AKStarPlusMinusmix","KStarPlusMinust","AKStarPlusMinust"};
    TString comp    [6] = {"PAIR"          ,"PAIR"           ,"MIX"              ,"MIX"               ,"TRUE"           ,"TRUE"            };
    TString output  [6] = {"SPARSE"    ,"SPARSE"         ,"SPARSE"             ,"SPARSE"            ,"SPARSE"         ,"SPARSE"            };
    Char_t  charge1 [6] = {'0'             ,'0'              ,'0'                ,'0'                 ,'0'              ,'0'               };
    Char_t  charge2 [6] = {'+'             ,'-'              ,'+'                ,'-'                 ,'+'              ,'-'               };
    Int_t   cutID1  [6] = { iCutK0s      ,iCutK0s           ,iCutK0s            ,iCutK0s            ,iCutK0s          ,iCutK0s             };
    Int_t   cutID2  [6] = { iCutPi         ,iCutPi           ,iCutPi             ,iCutPi              ,iCutPi           ,iCutPi            };
     TString outputh [11]={"HIST","HIST","HIST","HIST","HIST","HIST","HIST","HIST","HIST","HIST" ,"HIST"}; //ST
    Int_t   ipdg    [6] = {323             ,-323             ,323                ,-323                ,323              ,-323              };
    Double_t mass   [6] = { 0.89166        ,0.89166          ,0.89166            ,0.89166             ,0.89166          ,0.89166           };
    AliRsnCutSet* paircuts[6] = {PairCutsSame,  PairCutsSame,   PairCutsMix,    PairCutsMix,    PairCutsSame,   PairCutsSame              };

    for (Int_t i = 0; i < 6; i++) {
        if (!use[i]) continue;
        //if (collSyst) output[i] = "SPARSE";
        // create output
        AliRsnMiniOutput *out = task->CreateOutput(Form("ChargeKstar_%s%s", name[i].Data(), suffix), output[i].Data(), comp[i].Data());
        // selection settings
        out->SetCutID(0, cutID1[i]);
        out->SetCutID(1, cutID2[i]);
        out->SetDaughter(0, AliRsnDaughter::kKaon0);
        out->SetDaughter(1, AliRsnDaughter::kPion);
        out->SetCharge(0, charge1[i]);
        out->SetCharge(1, charge2[i]);
        out->SetMotherPDG(ipdg[i]);
        out->SetMotherMass(mass[i]);
        // pair cuts
        out->SetPairCuts(paircuts[i]);
        // axis X: invmass
        if (useIM[i])
            out->AddAxis(imID, 90, 0.6, 1.5);
        //  out->AddAxis(imID, 700, 1.2, 4.0);
        // axis Y: transverse momentum
        out->AddAxis(ptID, 300, 0.0, 30.0);
        //  out->AddAxis(k0sDCA, 10, 0.0, 1.0);

        //if (collSyst) out->AddAxis(centID, 10, 0.0, 100.0);
        if(isPP) out->AddAxis(centID, 400, 0.5, 400.5);
        else out->AddAxis(centID, mult_binning, mult_min, mult_max);//out->AddAxis(centID, 100, 0.0, 100.);
	out->AddAxis(SpherocityID, binning_sphero,min_sphero, max_sphero);//out->AddAxis(SpherocityID,1000,0.,1.); //ST
        if(isGT) out->AddAxis(sdpt,100,0.,10.);
    }

    // AddMonitorOutput_K0sP(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sPt(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sNegDaughPt(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sPosDaughPt(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sMass(cutSetK0s->GetMonitorOutput());
    // AddMonitorOutput_K0sDCA(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sRadius(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sDaughterDCA(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sCosPointAngle(cutSetK0s->GetMonitorOutput());
    // AddMonitorOutput_K0sProtonPID(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sPionPID(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sfpLife(cutSetK0s->GetMonitorOutput());
    AddMonitorOutput_K0sMass_Pt(cutSetK0s->GetMonitorOutput());

    //Monitor Output for Tracks
    AddMonitorOutput_MinDCAToVertexXYPtDep(cutSetK0s->GetMonitorOutput());
    //AddMonitorOutput_MinDCAToVertexXY(cutSetK0s->GetMonitorOutput());     //Uncomment if fixed value Cut used

    if (isMC) {

        TString mode = "SPARSE";
        //TString mode = "HIST";
        //if (collSyst) mode = "SPARSE";

        // create output
        AliRsnMiniOutput *out = task->CreateOutput(Form("KStarPlusMinus_MotherMC%s", suffix), mode.Data(), "MOTHER");
        // selection settings
        out->SetDaughter(0, AliRsnDaughter::kKaon0);
        out->SetDaughter(1, AliRsnDaughter::kPion);
        out->SetMotherPDG(323);
        out->SetMotherMass(0.89166);
        // pair cuts
        out->SetPairCuts(PairCutsSame);
        // binnings
        out->AddAxis(imID, 90, 0.6, 1.5);
        out->AddAxis(ptID, 300, 0.0, 30.0);
        //out->AddAxis(k0sDCA, 10, 0.0, 1.0);

        if(isPP) out->AddAxis(centID, 400, 0.5, 400.5);
        else out->AddAxis(centID, mult_binning, mult_min, mult_max);//out->AddAxis(centID, 100, 0.0, 100.);
	out->AddAxis(SpherocityID, binning_sphero,min_sphero, max_sphero);//out->AddAxis(SpherocityID,1000,0.,1.); //ST
        //if (collSyst) out->AddAxis(centID, 10, 0.0, 100.0);
        if(isGT)  out->AddAxis(sdpt,100,0.,10.);

        // create output
        AliRsnMiniOutput *out = task->CreateOutput(Form("AKStarPlusMinus_MotherMC%s", suffix), mode.Data(), "MOTHER");
        // selection settings
        out->SetDaughter(0, AliRsnDaughter::kKaon0);
        out->SetDaughter(1, AliRsnDaughter::kPion);
        out->SetMotherPDG(-323);
        out->SetMotherMass(0.89166);
        // pair cuts
        out->SetPairCuts(PairCutsSame);
        // binnings
        out->AddAxis(imID, 90, 0.6, 1.5);
        out->AddAxis(ptID, 300, 0.0, 30.0);
        //out->AddAxis(k0sDCA, 10, 0.0, 1.0);
        //if (collSyst) out->AddAxis(centID, 10, 0.0, 100.0);

        if(isPP) out->AddAxis(centID, 400, 0.5, 400.5);
        else out->AddAxis(centID, mult_binning, mult_min, mult_max);//out->AddAxis(centID, 100, 0.0, 100.);
        out->AddAxis(SpherocityID, binning_sphero,min_sphero, max_sphero);//out->AddAxis(SpherocityID,1000,0.,1.); //ST
        if(isGT)  out->AddAxis(sdpt,100,0.,10.);

        AliRsnMiniOutput* outps=task->CreateOutput(Form("K*_phaseSpace%s", suffix),"HIST","TRUE");
        outps->SetDaughter(0,AliRsnDaughter::kKaon0);
        outps->SetDaughter(1,AliRsnDaughter::kPion);
        outps->SetCutID(0,iCutK0s);
        outps->SetCutID(1,iCutPi);
        outps->SetMotherPDG(323);
        outps->SetMotherMass(0.89166);
        outps->SetPairCuts(PairCutsSame);
        outps->AddAxis(fdpt,100,0.,10.);
        outps->AddAxis(sdpt,100,0.,10.);
        outps->AddAxis(ptID,200,0.,20.);
	//else outps->AddAxis(centID, mult_binning, mult_min, mult_max);//outps->AddAxis(centID,400,0.5,400.5);//ST
        //outps->AddAxis(SpherocityID, binning_sphero,min_sphero, max_sphero);//outps->AddAxis(SpherocityID,1000,0.,1.); //ST

        AliRsnMiniOutput* outpsf=task->CreateOutput(Form("K*_phaseSpaceFine%s", suffix),"HIST","TRUE");
        outpsf->SetDaughter(0,AliRsnDaughter::kKaon0);
        outpsf->SetDaughter(1,AliRsnDaughter::kPion);
        outpsf->SetCutID(0,iCutK0s);
        outpsf->SetCutID(1,iCutPi);
        outpsf->SetMotherPDG(323);
        outpsf->SetMotherMass(0.89166);
        outpsf->SetPairCuts(PairCutsSame);
        outpsf->AddAxis(fdpt,30,0.,3.);
        outpsf->AddAxis(sdpt,30,0.,3.);
        outpsf->AddAxis(ptID,300,0.,3.);
	//else outpsf->AddAxis(centID, mult_binning, mult_min, mult_max);//outpsf->AddAxis(centID,400,0.5,400.5);//ST
	//outpsf->AddAxis(SpherocityID, binning_sphero,min_sphero, max_sphero);//outpsf->AddAxis(SpherocityID,1000,0.,1.); //ST

    }

    return kTRUE;
}

void AddMonitorOutput_PionPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ppt=0)
{

    // PionPt
    AliRsnValueDaughter *axisPionPt = new AliRsnValueDaughter("pion_pt", AliRsnValueDaughter::kPt);
    axisPionPt->SetBins(0.,10.0,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionPt = new AliRsnListOutput("Pion_Pt", AliRsnListOutput::kHistoDefault);
    outMonitorPionPt->AddValue(axisPionPt);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionPt);
    if (ppt) ppt->AddOutput(outMonitorPionPt);

}

void AddMonitorOutput_PionEta(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *peta=0)
{

    // PionDCA
    AliRsnValueDaughter *axisPionEta = new AliRsnValueDaughter("pion_eta", AliRsnValueDaughter::kEta);
    axisPionEta->SetBins(-2.,2.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionEta = new AliRsnListOutput("Pion_Eta", AliRsnListOutput::kHistoDefault);
    outMonitorPionEta->AddValue(axisPionEta);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionEta);
    if (peta) peta->AddOutput(outMonitorPionEta);

}

void AddMonitorOutput_PionDCAxy(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *pdcaxy=0)
{

    // PionDCA
    AliRsnValueDaughter *axisPionDCAxy = new AliRsnValueDaughter("pion_dcaxy", AliRsnValueDaughter::kDCAXY);
    axisPionDCAxy->SetBins(-0.5,0.5,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionDCAxy = new AliRsnListOutput("Pion_DCAxy", AliRsnListOutput::kHistoDefault);
    outMonitorPionDCAxy->AddValue(axisPionDCAxy);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionDCAxy);
    if (pdcaxy) pdcaxy->AddOutput(outMonitorPionDCAxy);

}

void AddMonitorOutput_PionDCAz(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *pdcaz=0)
{

    // PionDCA
    AliRsnValueDaughter *axisPionDCAz = new AliRsnValueDaughter("pion_dcaz", AliRsnValueDaughter::kDCAZ);
    axisPionDCAz->SetBins(-2.5,2.5,0.005);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionDCAz = new AliRsnListOutput("Pion_DCAz", AliRsnListOutput::kHistoDefault);
    outMonitorPionDCAz->AddValue(axisPionDCAz);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionDCAz);
    if (pdcaz) pdcaz->AddOutput(outMonitorPionDCAz);

}

void AddMonitorOutput_PionPIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *piPID=0)
{

    // Pion PID Cut
    AliRsnValueDaughter *axisPionPIDCut = new AliRsnValueDaughter("pionPID", AliRsnValueDaughter::kTPCnsigmaPi);
    axisPionPIDCut->SetBins(0.0,5,0.01);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionPIDCut = new AliRsnListOutput("Pion_PID_Cut", AliRsnListOutput::kHistoDefault);
    outMonitorPionPIDCut->AddValue(axisPionPIDCut);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionPIDCut);
    if (piPID) piPID->AddOutput(outMonitorPionPIDCut);

}

void AddMonitorOutput_PionNTPC(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *piNTPC=0)
{

    // Pion PID Cut
    AliRsnValueDaughter *axisPionNTPC = new AliRsnValueDaughter("pionNTPC", AliRsnValueDaughter::kNTPCclusters);
    axisPionNTPC->SetBins(0.0,200,1);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionNTPC = new AliRsnListOutput("Pion_NTPC", AliRsnListOutput::kHistoDefault);
    outMonitorPionNTPC->AddValue(axisPionNTPC);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionNTPC);
    if (piNTPC) pNTPC->AddOutput(outMonitorPionNTPC);

}

void AddMonitorOutput_PionTPCchi2(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *piTPCchi2=0)
{

    // Pion PID Cut
    AliRsnValueDaughter *axisPionTPCchi2 = new AliRsnValueDaughter("pionTPCchi2", AliRsnValueDaughter::kTPCchi2);
    axisPionTPCchi2->SetBins(0.0,6,.1);

    // output: 2D histogram
    AliRsnListOutput *outMonitorPionTPCchi2 = new AliRsnListOutput("Pion_TPCchi2", AliRsnListOutput::kHistoDefault);
    outMonitorPionTPCchi2->AddValue(axisPionTPCchi2);

    // add outputs to loop
    if (mon) mon->Add(outMonitorPionTPCchi2);
    if (piTPCchi2) pTPCchi2->AddOutput(outMonitorPionTPCchi2);

}

void AddMonitorOutput_K0sP(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lp=0)
{

    AliRsnValueDaughter *axisK0sP = new AliRsnValueDaughter("k0s_momentum", AliRsnValueDaughter::kP);
    axisK0sP->SetBins(0.,15.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorMom = new AliRsnListOutput("K0s_Momentum", AliRsnListOutput::kHistoDefault);
    outMonitorMom->AddValue(axisK0sP);

    // add outputs to loop
    if (mon) mon->Add(outMonitorMom);
    if (lp) lp->AddOutput(outMonitorMom);

}

void AddMonitorOutput_K0sPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lpt=0)
{

    // Pt
    AliRsnValueDaughter *axisK0sPt = new AliRsnValueDaughter("k0s_transversemomentum", AliRsnValueDaughter::kV0Pt);
    axisK0sPt->SetBins(0.,15.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorTrMom = new AliRsnListOutput("K0s_TransverseMomentum", AliRsnListOutput::kHistoDefault);
    outMonitorTrMom->AddValue(axisK0sPt);

    // add outputs to loop
    if (mon) mon->Add(outMonitorTrMom);
    if (lpt) lpt->AddOutput(outMonitorTrMom);

}

void AddMonitorOutput_K0sNegDaughPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lnpt=0)
{

    // Pt
    AliRsnValueDaughter *axisK0sNegDaughPt = new AliRsnValueDaughter("k0s_negdaugh_transversemomentum", AliRsnValueDaughter::kV0NPt);
    axisK0sNegDaughPt->SetBins(0.,15.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sNegDaughTrMom = new AliRsnListOutput("K0s_NegDaugh_TransverseMomentum", AliRsnListOutput::kHistoDefault);
    outMonitorK0sNegDaughTrMom->AddValue(axisK0sNegDaughPt);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sNegDaughTrMom);
    if (lnpt) lnpt->AddOutput(outMonitorK0sNegDaughTrMom);

}

void AddMonitorOutput_K0sPosDaughPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lppt=0)
{

    // Mass
    AliRsnValueDaughter *axisK0sPosDaughPt = new AliRsnValueDaughter("k0s_posdaugh_transversemomentum", AliRsnValueDaughter::kV0PPt);
    axisK0sPosDaughPt->SetBins(0.,15.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sPosDaughTrMom = new AliRsnListOutput("K0s_PosDaugh_TransverseMomentum", AliRsnListOutput::kHistoDefault);
    outMonitorK0sPosDaughTrMom->AddValue(axisK0sPosDaughPt);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sPosDaughTrMom);
    if (lppt) lppt->AddOutput(outMonitorK0sPosDaughTrMom);

}

void AddMonitorOutput_K0sMass(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lm=0)
{

    // Mass
    AliRsnValueDaughter *axisMass = new AliRsnValueDaughter("k0s_mass", AliRsnValueDaughter::kV0Mass);
    axisMass->SetBins(0.4,0.6,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorM = new AliRsnListOutput("K0s_Mass", AliRsnListOutput::kHistoDefault);
    outMonitorM->AddValue(axisMass);

    // add outputs to loop
    if (mon) mon->Add(outMonitorM);
    if (lm) lm->AddOutput(outMonitorM);

}

/*void AddMonitorOutput_K0sDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ldca=0)
 {
 // K0s DCA
 AliRsnValueDaughter *axisK0sDCA = new AliRsnValueDaughter("k0s_dca", AliRsnValueDaughter::kV0DCA);
 axisK0sDCA->SetBins(0.0,0.4,0.001);
 // output: 2D histogram
 AliRsnListOutput *outMonitorK0sDCA = new AliRsnListOutput("K0s_DCA", AliRsnListOutput::kHistoDefault);
 outMonitorK0sDCA->AddValue(axisK0sDCA);
 // add outputs to loop
 if (mon) mon->Add(outMonitorK0sDCA);
 if (ldca) ldca->AddOutput(outMonitorK0sDCA);
 }   */

void AddMonitorOutput_K0sRadius(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ldca=0)
{
    // K0s Radius
    AliRsnValueDaughter *axisK0sRadius = new AliRsnValueDaughter("k0s_radius", AliRsnValueDaughter::kV0Radius);
    axisK0sRadius->SetBins(0.0,200,0.2);
    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sRadius = new AliRsnListOutput("K0s_Radius", AliRsnListOutput::kHistoDefault);
    outMonitorK0sRadius->AddValue(axisK0sRadius);
    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sRadius);
    if (ldca) ldca->AddOutput(outMonitorK0sRadius);
}

void AddMonitorOutput_K0sDaughterDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *ldaugdca=0)
{

    // K0s Daughter DCA
    AliRsnValueDaughter *axisK0sDDCA = new AliRsnValueDaughter("k0s_daughterDCA", AliRsnValueDaughter::kDaughterDCA);
    axisK0sDDCA->SetBins(0.0,2,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sDDCA = new AliRsnListOutput("K0s_DaughterDCA", AliRsnListOutput::kHistoDefault);
    outMonitorK0sDDCA->AddValue(axisK0sDDCA);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sDDCA);
    if (ldaugdca) ldaugdca->AddOutput(outMonitorK0sDDCA);

}

void AddMonitorOutput_K0sCosPointAngle(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lcpa=0)
{

    // K0s Cosine of the Pointing Angle
    AliRsnValueDaughter *axisK0sCPA = new AliRsnValueDaughter("k0s_cospointang", AliRsnValueDaughter::kCosPointAng);
    axisK0sCPA->SetBins(0.97,1.,0.0001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sCPA = new AliRsnListOutput("K0s_CosineOfPointingAngle", AliRsnListOutput::kHistoDefault);
    outMonitorK0sCPA->AddValue(axisK0sCPA);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sCPA);
    if (lcpa) lcpa->AddOutput(outMonitorK0sCPA);

}

void AddMonitorOutput_K0sPionPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lpiPID=0)
{

    AliRsnValueDaughter *axisK0sPionPID = new AliRsnValueDaughter("k0s_pionPID", AliRsnValueDaughter::kLambdaPionPIDCut);
    axisK0sPionPID->SetBins(0.0,5,0.01);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sPionPID = new AliRsnListOutput("K0s_PionPID", AliRsnListOutput::kHistoDefault);
    outMonitorK0sPionPID->AddValue(axisK0sPionPID);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sPionPID);
    if (lpiPID) lpiPID->AddOutput(outMonitorK0sPionPID);

}

void AddMonitorOutput_K0sAntiPionPID(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lapiPID=0)
{

    AliRsnValueDaughter *axisK0sAntiPionPID = new AliRsnValueDaughter("k0s_antipionPID", AliRsnValueDaughter::kAntiLambdaAntiPionPIDCut);
    axisK0sAntiPionPID->SetBins(0.0,5,0.01);

    // output: 2D histogram
    AliRsnListOutput *outMonitorK0sAntiPionPID = new AliRsnListOutput("K0s_AntiPionPID", AliRsnListOutput::kHistoDefault);
    outMonitorK0sAntiPionPID->AddValue(axisK0sAntiPionPID);

    // add outputs to loop
    if (mon) mon->Add(outMonitorK0sAntiPionPID);
    if (lapiPID) lpiPID->AddOutput(outMonitorK0sAntiPionPID);

}

void AddMonitorOutput_MinDCAToVertexXYPtDep(TObjArray *mon=0, TString opt="", AliRsnLoopDaughter *trackDCAXY=0)
{

    // DCAXY of Tracks
    AliRsnValueDaughter *axisDCATracks = new AliRsnValueDaughter("dcaXY_tracks", AliRsnValueDaughter::kV0DCAXY);
    axisDCATracks->SetBins(0.0,2,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorDCATracks = new AliRsnListOutput("DCAXY_Tracks", AliRsnListOutput::kHistoDefault);
    outMonitorDCATracks->AddValue(axisDCATracks);
    // add outputs to loop
    if (mon) mon->Add(outMonitorDCATracks);
    if (trackDCAXY) trackDCAXY->AddOutput(outMonitorDCATracks);

}

//  DCA V0 Secondary Tracks to Primary Vertex
void AddMonitorOutput_MinDCAToVertexXY(TObjArray *mon=0, TString opt="", AliRsnLoopDaughter *trackDCAXY=0)
{

    // DCAXY of Tracks
    AliRsnValueDaughter *axisDCATracks = new AliRsnValueDaughter("dcaXY_tracks", AliRsnValueDaughter::kV0DCAXY);
    axisDCATracks->SetBins(0.0,2,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorDCATracks = new AliRsnListOutput("DCAXY_Tracks", AliRsnListOutput::kHistoDefault);
    outMonitorDCATracks->AddValue(axisDCATracks);
    // add outputs to loop
    if (mon) mon->Add(outMonitorDCATracks);
    if (trackDCAXY) trackDCAXY->AddOutput(outMonitorDCATracks);

}

// Lifetime of V0 particle.

void AddMonitorOutput_K0sfpLife(TObjArray *mon=0, TString opt="", AliRsnLoopDaughter *llifetime=0)
{
    AliRsnValueDaughter *k0slifetime = new AliRsnValueDaughter("lifetime", AliRsnValueDaughter::kV0Lifetime);
    k0slifetime->SetBins(0.0,200,0.1);

    // output: 2D histogram
    AliRsnListOutput *outMonitork0sLifetime = new AliRsnListOutput("k0s", AliRsnListOutput::kHistoDefault);
    outMonitork0sLifetime->AddValue(k0slifetime);

    // add outputs to loop
    if (mon) mon->Add(outMonitork0sLifetime);
    if (llifetime) llifetime->AddOutput(outMonitork0sLifetime);

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void AddMonitorOutput_K0sMass_Pt(TObjArray *mon=0, TString opt="", AliRsnLoopDaughter *lMass=0, AliRsnLoopDaughter *lPt=0)
{
    AliRsnValueDaughter *axisMass = new AliRsnValueDaughter("K0s_Mass", AliRsnValueDaughter::kV0Mass);
    axisMass->SetBins(0.4,0.6,0.001);

    AliRsnValueDaughter *axisK0sPt = new AliRsnValueDaughter("K0s_Pt", AliRsnValueDaughter::kV0Pt);
    axisK0sPt->SetBins(0.,30.,0.001);

    // output: 2D histogram
    AliRsnListOutput *outMonitorTrMom = new AliRsnListOutput("K0s_Mass_Pt", AliRsnListOutput::kHistoDefault);
    outMonitorTrMom->AddValue(axisK0sPt);
    outMonitorTrMom->AddValue(axisMass);

    // add outputs to loop
    if (mon) mon->Add(outMonitorTrMom);
    if (lPt) lpt->AddOutput(outMonitorTrMom);
    //if (mon) mon->Add(outMonitorM);
    //if (lMass) lm->AddOutput(outMonitorM);

}

Bool_t SetCustomQualityCut(AliRsnCutTrackQuality * trkQualityCut, Int_t customQualityCutsID = 0, Int_t customFilterBit = 0)
{
    //Sets configuration for track quality object different from std quality cuts.
    //Returns kTRUE if track quality cut object is successfully defined,
    //returns kFALSE if an invalid set of cuts (customQualityCutsID) is chosen or if the
    //object to be configured does not exist.

    if ((!trkQualityCut)){
        Printf("::::: SetCustomQualityCut:: use default quality cuts specified in task configuration.");
        return kFALSE;
    }

    if(customQualityCutsID>=1 && customQualityCutsID<100 && customQualityCutsID!=2){
        trkQualityCut->SetDefaults2011(kTRUE,kTRUE);
        Printf(Form("::::: SetCustomQualityCut:: using standard 2011 track quality cuts"));

        if(!customFilterBit){//ESD
            if(customQualityCutsID==3){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexXYPtDep("0.0150+0.0500/pt^1.1");}
            else if(customQualityCutsID==4){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexXYPtDep("0.006+0.0200/pt^1.1");}
            else if(customQualityCutsID==5){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexZ(5.);}
            else if(customQualityCutsID==6){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexZ(0.2);}
            else if(customQualityCutsID==7){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterTPC(5.);}
            else if(customQualityCutsID==8){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterTPC(2.3);}
            else if(customQualityCutsID==9){trkQualityCut->GetESDtrackCuts()->SetMinNCrossedRowsTPC(60);}
            else if(customQualityCutsID==10){trkQualityCut->GetESDtrackCuts()->SetMinNCrossedRowsTPC(100);}
            else if(customQualityCutsID==11){trkQualityCut->GetESDtrackCuts()->SetMinRatioCrossedRowsOverFindableClustersTPC(0.7);}
            else if(customQualityCutsID==12){trkQualityCut->GetESDtrackCuts()->SetMinRatioCrossedRowsOverFindableClustersTPC(0.9);}
            else if(customQualityCutsID==13){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterITS(49.);}
            else if(customQualityCutsID==14){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterITS(4.);}
            else if(customQualityCutsID==15){trkQualityCut->GetESDtrackCuts()->SetMaxChi2TPCConstrainedGlobal(49.);}
            else if(customQualityCutsID==16){trkQualityCut->GetESDtrackCuts()->SetMaxChi2TPCConstrainedGlobal(25.);}
            else if(customQualityCutsID==17){trkQualityCut->GetESDtrackCuts()->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kOff);}
            else if(customQualityCutsID==56){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexZ(1.);}
            else if(customQualityCutsID==58){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterTPC(3.);}
            else if(customQualityCutsID==60){trkQualityCut->GetESDtrackCuts()->SetMinNCrossedRowsTPC(80);}
            else if(customQualityCutsID==64){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterITS(25.);}
        }else{//AOD
            trkQualityCut->SetCheckOnlyFilterBit(kFALSE);
            if(customQualityCutsID==4){trkQualityCut->SetDCARPtFormula("0.006+0.0200/pt^1.1");}
            else if(customQualityCutsID==6){trkQualityCut->SetDCAZmax(0.2);}
            else if(customQualityCutsID==8){trkQualityCut->SetTrackMaxChi2(2.3);}
            else if(customQualityCutsID==10){trkQualityCut->SetMinNCrossedRowsTPC(100,kTRUE);}
            else if(customQualityCutsID==12){trkQualityCut->SetMinNCrossedRowsOverFindableClsTPC(0.9,kTRUE);}
            else if(customQualityCutsID==56){trkQualityCut->SetDCAZmax(1.);}
            else if(customQualityCutsID==58){trkQualityCut->SetTrackMaxChi2(3.5);}
            else if(customQualityCutsID==60){trkQualityCut->SetMinNCrossedRowsTPC(80,kTRUE);}
        }

        trkQualityCut->Print();
        return kTRUE;
    }else if(customQualityCutsID==2 || (customQualityCutsID>=100 && customQualityCutsID<200)){
        trkQualityCut->SetDefaultsTPCOnly(kTRUE);
        Printf(Form("::::: SetCustomQualityCut:: using TPC-only track quality cuts"));

        if(customQualityCutsID==103){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexXY(3.);}
        else if(customQualityCutsID==104){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexXY(1.);}
        else if(customQualityCutsID==105){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexZ(4.);}
        else if(customQualityCutsID==106){trkQualityCut->GetESDtrackCuts()->SetMaxDCAToVertexZ(1.);}
        else if(customQualityCutsID==107){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterTPC(7.);}
        else if(customQualityCutsID==108){trkQualityCut->GetESDtrackCuts()->SetMaxChi2PerClusterTPC(2.5);}
        else if(customQualityCutsID==109){trkQualityCut->GetESDtrackCuts()->SetMinNClustersTPC(30);}
        else if(customQualityCutsID==110){trkQualityCut->GetESDtrackCuts()->SetMinNClustersTPC(85);}

        trkQualityCut->Print();
        return kTRUE;
    }else{
        Printf("::::: SetCustomQualityCut:: use default quality cuts specified in task configuration.");
        return kFALSE;
    }

    //for pA 2013
    //trkQualityCut->SetDefaults2011();//with filter bit=10
    //reset filter bit to very loose cuts
    trkQualityCut->SetAODTestFilterBit(customFilterBit);
    //apply all other cuts "by hand"
    trkQualityCut->SetCheckOnlyFilterBit(kFALSE);
    trkQualityCut->SetMinNCrossedRowsTPC(70, kTRUE);
    trkQualityCut->SetMinNCrossedRowsOverFindableClsTPC(0.8, kTRUE);
    trkQualityCut->SetMaxChi2TPCConstrainedGlobal(36);//used for ESD only - for AOD does not correspond to any cut
    trkQualityCut->SetTPCmaxChi2(4.0); //already in filter bit 0
    trkQualityCut->SetRejectKinkDaughters(kTRUE); //already in filter bit 0
    trkQualityCut->SetSPDminNClusters(AliESDtrackCuts::kAny);
    trkQualityCut->SetITSmaxChi2(36);
    trkQualityCut->AddStatusFlag(AliESDtrack::kTPCin   , kTRUE);//already in defaults 2011
    trkQualityCut->AddStatusFlag(AliESDtrack::kTPCrefit, kTRUE);//already in defaults 2011
    trkQualityCut->AddStatusFlag(AliESDtrack::kITSrefit, kTRUE);//already in defaults 2011

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kFilterBitCustom) {
        trkQualityCut->SetCheckOnlyFilterBit(kTRUE);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdLooserDCAXY){
        trkQualityCut->SetDCARmax(2.4);
    } else {
        trkQualityCut->SetDCARPtFormula("0.0105+0.0350/pt^1.1");
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdLooserDCAZ){
        trkQualityCut->SetDCAZmax(3.2);
    } else {
        trkQualityCut->SetDCAZmax(2.0);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdCrossedRows60){
        trkQualityCut->SetMinNCrossedRowsTPC(60, kTRUE);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdCrossedRows80){
        trkQualityCut->SetMinNCrossedRowsTPC(80, kTRUE);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdRowsToCls075){
        trkQualityCut->SetMinNCrossedRowsOverFindableClsTPC(0.75, kTRUE);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdRowsToCls085){
        trkQualityCut->SetMinNCrossedRowsOverFindableClsTPC(0.85, kTRUE);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdCls70){
        trkQualityCut->SetAODTestFilterBit(10);
        trkQualityCut->SetTPCminNClusters(70);
    }

    if (customQualityCutsID==AliRsnCutSetDaughterParticle::kStdChi2TPCCls35){
        trkQualityCut->SetTPCmaxChi2(3.5);
    }

    trkQualityCut->SetPtRange(0.15, 20.0);
    trkQualityCut->SetEtaRange(-0.8, 0.8);

    Printf(Form("::::: SetCustomQualityCut:: using custom track quality cuts #%i",customQualityCutsID));
    trkQualityCut->Print();
    return kTRUE;
}


Directo Hasta Arriba — дебютний студійний альбом мексиканського репера Dharius, виданий лейблами RCA Records та Sony BMG 9 грудня 2014.

Список пісень

Примітки

Посилання

Альбоми мексиканських виконавців
Хіп-хоп альбоми
Дебютні альбоми 2014

{'title': 'Directo Hasta Arriba', 'url': 'https://uk.wikipedia.org/wiki/Directo%20Hasta%20Arriba', 'language': 'uk', 'timestamp': '20230320'}


Луций Домиций Домициан () — римский император-узурпатор в 296(?)—297 годах.

Источники и нумизматические свидетельства указывают, что Домиций Домициан восстал против власти Диоклетиана в июне—июле 297 года. В марте того же года был принят новый закон о налогах. Вполне возможно, что восстание было спровоцировано именно этой причиной. Также вероятно, что причиной восстания Домиция Домициана была слабость императорской власти в Египте и что мятежник использовал это как почву для восстания. Но в конце 297 года Диоклетиан пошёл походом на Египет и, подчинив его, осадил Александрию.

Домиций Домициан скончался в декабре 297 года в самый разгар осады. По всей видимости, узурпатор действовал с Ахиллеем, который занимал должность корректора Египта. Именно его Домициан назначил своим наследником и руководителем обороны Александрии. В марте 298 года город сдался и Ахиллей был казнён.

Литература

 Аврелий Виктор. О цезарях, 39.38.
 Псевдо-Аврелий Виктор. Извлечения о жизни и нравах римских императоров, 39.3.
 Евтропий. Бревиарий от основания Города, 9.22.1 и 23.
 Иордан. Getica, 110.
 Павел Орозий. История против язычников, 7.25. 4 и 8.

Ссылки
 DiMaio, Michael, «L. Domitius Domitianus and Aurelius Achilleus (ca.296/297-ca.297/298)», De Imperatoribus Romanis

Римские узурпаторы
Правители III века


Tuesday Afternoon Tennis Kids Club!
Birthday Party For Elizabeth Cho!
Hayes Valley After-School Tennis Club!
Outer Richmond After-School Tennis Club!

{'timestamp': '2019-04-21T00:21:57Z', 'url': 'http://antstennis.com/all-city', 'language': 'en', 'source': 'c4'}


Вјетроелектрана Хргуд или ВЕ „Хргуд“  након изградње требало би да буде први енергетски објекта ове врсте у систему Електропривреде Републике Српске", са 16 вјетроелектрана чија инсталисана снага ће износити 48 мегавати. Укупна вредност инвестиције требало би да буде 64.285.000 еура.

Предуслови
Законом о енергетици Републике Српске уређена је основе енергетске политике Републике Српске, а доношењем Стратегије развоја енергетике, планова, програма и других аката за њено спровођење, покренута су и  основна питања везано за регулисање и обављање енергетске делатности, коришћењем обновљивих извора енергије и услови за остваривање енергетске ефикасности. Овим законом прописано је да је коришћење обновљивих извора енергије и ефикаснe когенерацијe у Републици Српској од општег интереса за Републику.

Циљ овог закона и Стратегије РС је:

 промовисања и подстицања производње и потрошње електричне и топлотне енергије из  обновљивих извора енергије,

 остваривање енергетске политике у погледу постизања обавезујућих циљева учешћа енергије из  обновљивих извора енергије у односу на бруто финалну потрошњу енергије у Републици Српској,
 допринос заштити животне средине,

 подршка реализацији циљева за ублажавање климатских промена,

 допринос одрживом развоју,

 рационалније коришћење примарних извора енергије,

 повећање сигурности снабдевања енергијом,

 побољшање диверсификације извора и сл.

На основу напред наведених аката МХ „Електропривреда Републике Српске“ МП а.д Требиње  донела је одлуку да се у општини Берковићи, на локацији планине Хргуд,  уз помоћ консултантске компаније проведе једногодишња испитивања потенцијала ветра на овој локацији, и на основу тога потом изради  детаљна Студија оправданости изградње ВЕ „Хргуд“.

Према спроведеној студији оправданости вјетроелектрана ба имала ове карактеристике:
 инсталисану снагу од 48 MW
 просечну годишњу производњу енергије за 16 вјетроелектрана (П50): 125,9 GWh/y
 2.623 h/y сати пуног оптерећења
 фактора капацитета:29,9%

На основу напред наведених аката МХ „Електропривреда Републике Српске“ МП а.д Требиње  донела је одлуку да се у општини Берковићи, на локацији планине Хргуд,  уз помоћ консултантске компаније проведе једногодишња испитивања потенцијала ветра на овој локацији, и на основу тога потом изради  детаљна Студија оправданости изградње ВЕ „Хргуд“.

Према спроведеној студији оправданости вјетроелектрана ба имала ове карактеристике:
 инсталисану снагу од 48 MW
 просечну годишњу производњу енергије за 16 вјетроелектрана (П50): 125,9 GWh/y
 2.623 h/y сати пуног оптерећења
 фактора капацитета:29,9%

Положај и избор локације
Вјетроелектрана Хргуд требало би да буде изграђена на планина Хргуд (просечне висине 1000 м), која се налази  југозападно од Берковића, а североисточно од Стоца у јужном делу Босне и Херцеговине, у регији Херцеговина (ентитет Република Српска), 50 km северно од Требиња и око 30 km јужно од Мостара у општини Берковићи.  Са јужне стране планина Хргуд је ограничена  стрмим одсеком према долини Брегаве, са источне стране такође стрмим одсеком према Дабарском пољу, а на северу се веже за огранке планине Сњежнице. Планина се пружа у правцу исток-запад, а подељена је тако да западни део припада општини Столац у Федерацији Босне и Херцеговине, а источни општини Берковићи у Републици Српској.

Локалитету Хргуд је изабран из више разлога:
 На бази урађених једногодишњих испитивања након којих је утврђено да се средња годишња брзина ветра у овом делу Херцеговине у Републици Српској креће између 6,1–8,1 m/s на на истраживаној локацији вјетроагрегата висине 79,5 m.
 Да се микролокација на локалитет Хргуд (која је изабрана за изградња вјетроелектране) налази у планинском подручју на земљишту додељеном за пољопривреду и сточарство, као и на шумском земљишту.
 Да  се локалитет не налази унутар резервата природе или заштићеног подручје природе.
 Да на основу обављене пројекције животне средине, нису идентификовани еколошки фактори који би могли угрозити даљи развој пројекта вјетроелектране на локацији Хргуд.

Техничке карактеристике ВЕ
На основу услова на локацији и Студије оправданости планирано је да се инсталира 16 вјетротурбина. У анализи су узете  у обзир следеће три врсте вјетротурбина,  које су тренутно доступне на тржишту.

Неопходне електрокомпоненте за сабирање енергије и повезивање пројекта ВЕ Хргуд на трафостаницу Берковићи  су:

 Електро-мрежa која се састоји се од трансформатора и прекидача смештених у појединим турбинама и каблова између турбина и до трафостанице на локацији,

 Трафостанице на локацији за сабирање енергије из вјетротрубина на нивоу 35 kV и трансформацију на ниво 110 kV,

 Далековода 110 kV (надземни вод) из трафостанице на локацији који води до напајача у трафостаници Берковићи,

 Напајача за 110 kV далековод у трафостаници Берковићи.

Сваки вјетроагрегат ће имати називну снагу од 3 МW и производит ће енергију на ниском напону од 1 kV.

Трафостаница 35 kV Берковићи ће бити спојена на државну мрежу високонапонским водом (110 kV линији, али тренутно ради под 35 kV). Ова трафостаница мораће се доградити или изградити нова трафостаница како би се могла преузети енергија произведена у вјетроелектрани Хргуд.

Додатни радови на инфраструктури локалитета
Током реализације пројекта ВЕ Хргуд, решаваће се и путна инфраструктура и водоснабдевање села Хргуд. Тиме би се побољшали услове живота у овом делу Берковића.

Укупна дужина ново изграђених путева до локалитета је око 6,5 км, а планира се и реконструкција постојећих путева у дужини од око 4,6 км. Нове/реконструисани путеви добили би шљунчано/макадамску подлогу.

Извори

Спољашње везе

Електропривреда Републике Српске
Електране у Републици Српској
Херцеговина