---
AllCops:
  DisabledByDefault: true

Layout/ArgumentAlignment:
  Enabled: true
  EnforcedStyle: with_fixed_indentation

Layout/ArrayAlignment:
  Enabled: true
  EnforcedStyle: with_fixed_indentation

Layout/AssignmentIndentation:
  Enabled: true

Layout/BeginEndAlignment:
  Enabled: true
  EnforcedStyleAlignWith: start_of_line

Layout/BlockAlignment:
  Enabled: true
  EnforcedStyleAlignWith: either

Layout/BlockEndNewline:
  Enabled: true

Layout/ClosingHeredocIndentation:
  Enabled: true

Layout/ClosingParenthesisIndentation:
  Enabled: true

Layout/CommentIndentation:
  Enabled: true
  AllowForAlignment: true

Layout/ConditionPosition:
  Enabled: true

Layout/DefEndAlignment:
  Enabled: true
  EnforcedStyleAlignWith: start_of_line

Layout/DotPosition:
  Enabled: true
  EnforcedStyle: leading

Layout/ElseAlignment:
  Enabled: true

Layout/EmptyComment:
  Enabled: true
  AllowBorderComment: true
  AllowMarginComment: true

Layout/EmptyLineAfterMagicComment:
  Enabled: true

Layout/EmptyLineAfterMultilineCondition:
  Enabled: true

Layout/EmptyLineBetweenDefs:
  Enabled: true
  EmptyLineBetweenMethodDefs: true
  EmptyLineBetweenClassDefs: true
  EmptyLineBetweenModuleDefs: true
  AllowAdjacentOneLineDefs: true
  NumberOfEmptyLines: 1

Layout/EmptyLines:
  Enabled: true

Layout/EmptyLinesAroundAccessModifier:
  Enabled: true
  EnforcedStyle: around

Layout/EmptyLinesAroundArguments:
  Enabled: true

Layout/EmptyLinesAroundAttributeAccessor:
  Enabled: true
  AllowAliasSyntax: true
  AllowedMethods:
    - alias_method
    - public
    - protected
    - private

Layout/EmptyLinesAroundBeginBody:
  Enabled: true

Layout/EmptyLinesAroundBlockBody:
  Enabled: true

Layout/EmptyLinesAroundClassBody:
  Enabled: true
  EnforcedStyle: no_empty_lines

Layout/EmptyLinesAroundExceptionHandlingKeywords:
  Enabled: true

Layout/EmptyLinesAroundMethodBody:
  Enabled: true

Layout/EmptyLinesAroundModuleBody:
  Enabled: true
  EnforcedStyle: no_empty_lines

Layout/EndAlignment:
  Enabled: true
  EnforcedStyleAlignWith: start_of_line

Layout/EndOfLine:
  Enabled: true
  EnforcedStyle: native

Layout/ExtraSpacing:
  Enabled: true
  AllowForAlignment: true
  AllowBeforeTrailingComments: false
  ForceEqualSignAlignment: false

Layout/FirstArrayElementLineBreak:
  Enabled: true
  AllowMultilineFinalElement: false

Layout/FirstHashElementLineBreak:
  Enabled: true
  AllowMultilineFinalElement: false

Layout/FirstParameterIndentation:
  Enabled: true
  EnforcedStyle: consistent

Layout/HashAlignment:
  Enabled: true
  EnforcedHashRocketStyle: key
  EnforcedColonStyle: key
  EnforcedLastArgumentHashStyle: always_inspect

Layout/HeredocArgumentClosingParenthesis:
  Enabled: true

Layout/HeredocIndentation:
  Enabled: true

Layout/IndentationConsistency:
  Enabled: true
  EnforcedStyle: normal

Layout/IndentationStyle:
  Enabled: true
  EnforcedStyle: spaces

Layout/IndentationWidth:
  Enabled: true
  Width: 2

Layout/InitialIndentation:
  Enabled: true

Layout/LeadingCommentSpace:
  Enabled: true
  AllowRBSInlineAnnotation: true

Layout/LeadingEmptyLines:
  Enabled: true

Layout/LineContinuationSpacing:
  Enabled: true
  EnforcedStyle: space

Layout/LineEndStringConcatenationIndentation:
  Enabled: true
  EnforcedStyle: indented

Layout/MultilineArrayBraceLayout:
  Enabled: true
  EnforcedStyle: new_line

Layout/MultilineArrayLineBreaks:
  Enabled: true
  AllowMultilineFinalElement: false

Layout/MultilineAssignmentLayout:
  Enabled: true
  EnforcedStyle: same_line

Layout/MultilineBlockLayout:
  Enabled: true

Layout/MultilineHashBraceLayout:
  Enabled: true
  EnforcedStyle: new_line

Layout/MultilineHashKeyLineBreaks:
  Enabled: true
  AllowMultilineFinalElement: false

Layout/MultilineMethodCallIndentation:
  Enabled: true
  EnforcedStyle: indented

Layout/MultilineMethodDefinitionBraceLayout:
  Enabled: true
  EnforcedStyle: new_line

Layout/MultilineOperationIndentation:
  Enabled: true
  EnforcedStyle: indented

Layout/ParameterAlignment:
  Enabled: true
  EnforcedStyle: with_fixed_indentation

Layout/RescueEnsureAlignment:
  Enabled: true

Layout/SpaceAfterColon:
  Enabled: true

Layout/SpaceAfterComma:
  Enabled: true

Layout/SpaceAfterMethodName:
  Enabled: true

Layout/SpaceAfterNot:
  Enabled: true

Layout/SpaceAfterSemicolon:
  Enabled: true

Layout/SpaceAroundBlockParameters:
  Enabled: true
  EnforcedStyleInsidePipes: no_space

Layout/SpaceAroundEqualsInParameterDefault:
  Enabled: true
  EnforcedStyle: space

Layout/SpaceAroundKeyword:
  Enabled: true

Layout/SpaceAroundMethodCallOperator:
  Enabled: true

Layout/SpaceAroundOperators:
  Enabled: true
  AllowForAlignment: false
  EnforcedStyleForExponentOperator: space
  EnforcedStyleForRationalLiterals: space

Layout/SpaceBeforeBlockBraces:
  Enabled: true
  EnforcedStyle: space
  EnforcedStyleForEmptyBraces: space

Layout/SpaceBeforeBrackets:
  Enabled: true

Layout/SpaceBeforeComma:
  Enabled: true

Layout/SpaceBeforeComment:
  Enabled: true

Layout/SpaceBeforeFirstArg:
  Enabled: true

Layout/SpaceBeforeSemicolon:
  Enabled: true

Layout/SpaceInLambdaLiteral:
  Enabled: true
  EnforcedStyle: require_space

Layout/SpaceInsideArrayLiteralBrackets:
  Enabled: true
  EnforcedStyle: no_space

Layout/SpaceInsideArrayPercentLiteral:
  Enabled: true

Layout/SpaceInsideBlockBraces:
  Enabled: true
  EnforcedStyle: space
  EnforcedStyleForEmptyBraces: no_space
  SpaceBeforeBlockParameters: true

Layout/SpaceInsideHashLiteralBraces:
  Enabled: true
  EnforcedStyle: space
  EnforcedStyleForEmptyBraces: no_space

Layout/SpaceInsideParens:
  Enabled: true
  EnforcedStyle: no_space

Layout/SpaceInsidePercentLiteralDelimiters:
  Enabled: true

Layout/SpaceInsideRangeLiteral:
  Enabled: true

Layout/SpaceInsideReferenceBrackets:
  Enabled: true
  EnforcedStyle: no_space
  EnforcedStyleForEmptyBrackets: no_space

Layout/SpaceInsideStringInterpolation:
  Enabled: true
  EnforcedStyle: no_space

Layout/TrailingEmptyLines:
  Enabled: true
  EnforcedStyle: final_newline

Layout/TrailingWhitespace:
  Enabled: true
  AllowInHeredoc: true

Lint/AmbiguousAssignment:
  Enabled: true

Lint/AmbiguousOperator:
  Enabled: true

Lint/AmbiguousOperatorPrecedence:
  Enabled: true

Lint/AmbiguousRange:
  Enabled: true
  RequireParenthesesForMethodChains: true

Lint/AmbiguousRegexpLiteral:
  Enabled: true

Lint/AssignmentInCondition:
  Enabled: true
  AllowSafeAssignment: true

Lint/BigDecimalNew:
  Enabled: true

Lint/CircularArgumentReference:
  Enabled: true

Lint/ConstantDefinitionInBlock:
  Enabled: true

Lint/ConstantOverwrittenInRescue:
  Enabled: true

Lint/Debugger:
  Enabled: true

Lint/DeprecatedClassMethods:
  Enabled: true

Lint/DeprecatedConstants:
  Enabled: true

Lint/DeprecatedOpenSSLConstant:
  Enabled: true

Lint/DisjunctiveAssignmentInConstructor:
  Enabled: true

Lint/DuplicateCaseCondition:
  Enabled: true

Lint/DuplicateHashKey:
  Enabled: true

Lint/DuplicateMagicComment:
  Enabled: true

Lint/DuplicateMatchPattern:
  Enabled: true

Lint/DuplicateMethods:
  Enabled: true

Lint/DuplicateRegexpCharacterClassElement:
  Enabled: true

Lint/DuplicateRequire:
  Enabled: true

Lint/DuplicateRescueException:
  Enabled: true

Lint/EachWithObjectArgument:
  Enabled: true

Lint/ElseLayout:
  Enabled: true

Lint/EmptyBlock:
  Enabled: true
  AllowComments: true
  AllowEmptyLambdas: true

Lint/EmptyConditionalBody:
  Enabled: true
  AllowComments: true

Lint/EmptyEnsure:
  Enabled: true

Lint/EmptyExpression:
  Enabled: true

Lint/EmptyFile:
  Enabled: true
  AllowComments: true

Lint/EmptyInPattern:
  Enabled: true
  AllowComments: true

Lint/EmptyInterpolation:
  Enabled: true

Lint/EnsureReturn:
  Enabled: true

Lint/ErbNewArguments:
  Enabled: true

Lint/FlipFlop:
  Enabled: true

Lint/FloatComparison:
  Enabled: true

Lint/FloatOutOfRange:
  Enabled: true

Lint/FormatParameterMismatch:
  Enabled: true

Lint/HashCompareByIdentity:
  Enabled: true

Lint/HeredocMethodCallPosition:
  Enabled: true

Lint/IdentityComparison:
  Enabled: true

Lint/ImplicitStringConcatenation:
  Enabled: true

Lint/IncompatibleIoSelectWithFiberScheduler:
  Enabled: true

Lint/IneffectiveAccessModifier:
  Enabled: true

Lint/InheritException:
  Enabled: true

Lint/InterpolationCheck:
  Enabled: true

Lint/ItWithoutArgumentsInBlock:
  Enabled: true

Lint/LambdaWithoutLiteralBlock:
  Enabled: true

Lint/LiteralAssignmentInCondition:
  Enabled: true

Lint/LiteralInInterpolation:
  Enabled: true

Lint/MissingCopEnableDirective:
  Enabled: true

Lint/MultipleComparison:
  Enabled: true

Lint/NestedPercentLiteral:
  Enabled: true

Lint/NextWithoutAccumulator:
  Enabled: true

Lint/NoReturnInBeginEndBlocks:
  Enabled: true

Lint/NonAtomicFileOperation:
  Enabled: true

Lint/NonDeterministicRequireOrder:
  Enabled: true

Lint/NonLocalExitFromIterator:
  Enabled: true

Lint/NumberedParameterAssignment:
  Enabled: true

Lint/OrAssignmentToConstant:
  Enabled: true

Lint/OrderedMagicComments:
  Enabled: true

Lint/OutOfRangeRegexpRef:
  Enabled: true

Lint/ParenthesesAsGroupedExpression:
  Enabled: true

Lint/RaiseException:
  Enabled: true

Lint/RandOne:
  Enabled: true

Lint/RedundantCopDisableDirective:
  Enabled: true

Lint/RedundantCopEnableDirective:
  Enabled: true

Lint/RedundantDirGlobSort:
  Enabled: true

Lint/RedundantRegexpQuantifiers:
  Enabled: true

Lint/RedundantRequireStatement:
  Enabled: true

Lint/RedundantSafeNavigation:
  Enabled: true

Lint/RedundantSplatExpansion:
  Enabled: true
  AllowPercentLiteralArrayArgument: true

Lint/RedundantStringCoercion:
  Enabled: true

Lint/RedundantWithIndex:
  Enabled: true

Lint/RedundantWithObject:
  Enabled: true

Lint/RefinementImportMethods:
  Enabled: true

Lint/RegexpAsCondition:
  Enabled: true

Lint/RequireParentheses:
  Enabled: true

Lint/RequireRangeParentheses:
  Enabled: true

Lint/RequireRelativeSelfPath:
  Enabled: true

Lint/RescueType:
  Enabled: true

Lint/ReturnInVoidContext:
  Enabled: true

Lint/SafeNavigationChain:
  Enabled: true

Lint/SafeNavigationConsistency:
  Enabled: true

Lint/SafeNavigationWithEmpty:
  Enabled: true

Lint/ScriptPermission:
  Enabled: true

Lint/SelfAssignment:
  Enabled: true

Lint/SendWithMixinArgument:
  Enabled: true

Lint/ShadowedException:
  Enabled: true

Lint/StructNewOverride:
  Enabled: true

Lint/SuppressedException:
  Enabled: true
  AllowNil: true
  AllowComments: true

Lint/SymbolConversion:
  Enabled: true
  EnforcedStyle: strict

Lint/Syntax:
  Enabled: true

Lint/ToEnumArguments:
  Enabled: true

Lint/ToJSON:
  Enabled: true

Lint/TopLevelReturnWithArgument:
  Enabled: true

Lint/TrailingCommaInAttributeDeclaration:
  Enabled: true

Lint/TripleQuotes:
  Enabled: true

Lint/UnderscorePrefixedVariableName:
  Enabled: true

Lint/UnexpectedBlockArity:
  Enabled: true

Lint/UnifiedInteger:
  Enabled: true

Lint/UnmodifiedReduceAccumulator:
  Enabled: true

Lint/UnreachableCode:
  Enabled: true

Lint/UriEscapeUnescape:
  Enabled: true

Lint/UriRegexp:
  Enabled: true

Lint/UselessAccessModifier:
  Enabled: true

Lint/UselessElseWithoutRescue:
  Enabled: true

Lint/UselessMethodDefinition:
  Enabled: true

Lint/UselessRescue:
  Enabled: true

Lint/UselessRuby2Keywords:
  Enabled: true

Lint/UselessSetterCall:
  Enabled: true

Lint/UselessTimes:
  Enabled: true

Migration/DepartmentName:
  Enabled: true

Security/CompoundHash:
  Enabled: true

Security/IoMethods:
  Enabled: true

Security/JSONLoad:
  Enabled: true

Security/Open:
  Enabled: true

Security/YAMLLoad:
  Enabled: true

Style/ArgumentsForwarding:
  Enabled: true

Style/ComparableClamp:
  Enabled: true

Style/DefWithParentheses:
  Enabled: true

Style/Dir:
  Enabled: true

Style/DirEmpty:
  Enabled: true

Style/EachForSimpleLoop:
  Enabled: true

Style/EachWithObject:
  Enabled: true

Style/EmptyBlockParameter:
  Enabled: true

Style/EmptyElse:
  Enabled: true
  EnforcedStyle: empty

Style/EmptyHeredoc:
  Enabled: true

Style/EmptyLambdaParameter:
  Enabled: true

Style/EnvHome:
  Enabled: true

Style/ExactRegexpMatch:
  Enabled: true

Style/ExpandPathArguments:
  Enabled: true

Style/FrozenStringLiteralComment:
  Enabled: true
  EnforcedStyle: always
  SafeAutoCorrect: true

Style/HashExcept:
  Enabled: true

Style/HashLikeCase:
  Enabled: true

Style/HashSyntax:
  Enabled: true
  EnforcedStyle: no_mixed_keys
  EnforcedShorthandSyntax: always

Style/HashTransformKeys:
  Enabled: true

Style/HashTransformValues:
  Enabled: true

Style/IfWithSemicolon:
  Enabled: true

Style/InPatternThen:
  Enabled: true

Style/MagicCommentFormat:
  Enabled: true

Style/MapCompactWithConditionalBlock:
  Enabled: true

Style/MapToHash:
  Enabled: true

Style/MapToSet:
  Enabled: true

Style/MethodCallWithoutArgsParentheses:
  Enabled: true

Style/MethodDefParentheses:
  Enabled: true
  EnforcedStyle: require_parentheses

Style/ModuleFunction:
  Enabled: true
  EnforcedStyle: extend_self

Style/MultilineIfModifier:
  Enabled: true

Style/NegatedUnless:
  Enabled: true

Style/NegatedWhile:
  Enabled: true

Style/NumberedParameters:
  Enabled: true
  EnforcedStyle: disallow

Style/NumericLiteralPrefix:
  Enabled: true
  EnforcedOctalStyle: zero_with_o

Style/ObjectThen:
  Enabled: true
  EnforcedStyle: then

Style/OperatorMethodCall:
  Enabled: true

Style/OrAssignment:
  Enabled: true

Style/PreferredHashMethods:
  Enabled: true
  EnforcedStyle: short

Style/Proc:
  Enabled: true

Style/QuotedSymbols:
  Enabled: true
  EnforcedStyle: same_as_string_literals

Style/RaiseArgs:
  Enabled: true
  EnforcedStyle: compact

Style/RandomWithOffset:
  Enabled: true

Style/RedundantArrayConstructor:
  Enabled: true

Style/RedundantAssignment:
  Enabled: true

Style/RedundantBegin:
  Enabled: true

Style/RedundantCondition:
  Enabled: true

Style/RedundantConditional:
  Enabled: true

Style/RedundantCurrentDirectoryInPath:
  Enabled: true

Style/RedundantDoubleSplatHashBraces:
  Enabled: true

Style/RedundantEach:
  Enabled: true

Style/RedundantException:
  Enabled: true

Style/RedundantFileExtensionInRequire:
  Enabled: true

Style/RedundantFilterChain:
  Enabled: true

Style/RedundantFreeze:
  Enabled: true

Style/RedundantHeredocDelimiterQuotes:
  Enabled: true

Style/RedundantInitialize:
  Enabled: true
  AllowComments: true

Style/RedundantInterpolation:
  Enabled: true

Style/RedundantLineContinuation:
  Enabled: true

Style/RedundantRegexpArgument:
  Enabled: true

Style/RedundantRegexpCharacterClass:
  Enabled: true

Style/RedundantRegexpConstructor:
  Enabled: true

Style/RedundantRegexpEscape:
  Enabled: true

Style/RedundantReturn:
  Enabled: true
  AllowMultipleReturnValues: true

Style/RedundantSelf:
  Enabled: true

Style/RedundantSelfAssignmentBranch:
  Enabled: true

Style/RedundantSort:
  Enabled: true

Style/RedundantSortBy:
  Enabled: true

Style/RedundantStringEscape:
  Enabled: true

Style/RegexpLiteral:
  Enabled: true
  EnforcedStyle: slashes
  AllowInnerSlashes: false

Style/RescueModifier:
  Enabled: true

Style/RescueStandardError:
  Enabled: true
  EnforcedStyle: implicit

Style/SafeNavigation:
  Enabled: true

Style/Sample:
  Enabled: true

Style/SelfAssignment:
  Enabled: true

Style/Semicolon:
  Enabled: true
  AllowAsExpressionSeparator: true

Style/Send:
  Enabled: true

Style/SendWithLiteralMethodName:
  Enabled: true
  AllowSend: true

Style/SignalException:
  Enabled: true
  EnforcedStyle: only_raise

Style/SingleArgumentDig:
  Enabled: true

Style/SingleLineDoEndBlock:
  Enabled: true

Style/SoleNestedConditional:
  Enabled: true
  AllowModifier: false

Style/StabbyLambdaParentheses:
  Enabled: true
  EnforcedStyle: require_parentheses

Style/StderrPuts:
  Enabled: true

Style/StringChars:
  Enabled: true

Style/StringConcatenation:
  Enabled: true
  Mode: aggressive

Style/StringLiterals:
  Enabled: true
  EnforcedStyle: double_quotes

Style/StringLiteralsInInterpolation:
  Enabled: true
  EnforcedStyle: single_quotes

Style/Strip:
  Enabled: true

Style/SuperArguments:
  Enabled: true

Style/SuperWithArgsParentheses:
  Enabled: true

Style/SwapValues:
  Enabled: true

Style/SymbolLiteral:
  Enabled: true

Style/SymbolProc:
  Enabled: true
  AllowMethodsWithArguments: false
  AllowComments: true

Style/TernaryParentheses:
  Enabled: true
  EnforcedStyle: require_parentheses_when_complex
  AllowSafeAssignment: true

Style/TrailingBodyOnClass:
  Enabled: true

Style/TrailingBodyOnMethodDefinition:
  Enabled: true

Style/TrailingBodyOnModule:
  Enabled: true

Style/TrailingCommaInArrayLiteral:
  Enabled: true
  EnforcedStyleForMultiline: comma

Style/TrailingCommaInBlockArgs:
  Enabled: true

Style/TrailingCommaInHashLiteral:
  Enabled: true
  EnforcedStyleForMultiline: comma

Style/TrailingMethodEndStatement:
  Enabled: true

Style/TrailingUnderscoreVariable:
  Enabled: true
  AllowNamedUnderscoreVariables: true

Style/UnlessElse:
  Enabled: true

Style/UnlessLogicalOperators:
  Enabled: true
  EnforcedStyle: forbid_mixed_logical_operators

Style/UnpackFirst:
  Enabled: true

Style/VariableInterpolation:
  Enabled: true

Style/WhenThen:
  Enabled: true

Style/WhileUntilDo:
  Enabled: true

Style/YAMLFileRead:
  Enabled: true
