Что такое браслет: история, культурное значение и правила ношения на левой и правой руке

Что такое браслет: история, культурное значение и правила ношения на левой и правой руке
<?php
yii\base\ErrorException#1
(
    [*:message] => 'unlink(/tmp/purifier/HTML/4.18.0,9f510bfab9ed08ca54cc82a3c1f513ac30644a8f,1.ser): No such file or directory'
    [Exception:string] => ''
    [*:code] => 2
    [*:file] => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php'
    [*:line] => 144
    [Exception:trace] => [
        0 => [
            'function' => 'handleError'
            'class' => 'yii\\base\\ErrorHandler'
            'type' => '->'
            'args' => [
                0 => 2
                1 => 'unlink(/tmp/purifier/HTML/4.18.0,9f510bfab9ed08ca54cc82a3c1f513ac30644a8f,1.ser): No such file or directory'
                2 => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php'
                3 => 144
            ]
        ]
        1 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php'
            'line' => 144
            'function' => 'unlink'
            'args' => [
                0 => '/tmp/purifier/HTML/4.18.0,9f510bfab9ed08ca54cc82a3c1f513ac30644a8f,1.ser'
            ]
        ]
        2 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php'
            'line' => 108
            'function' => 'cleanup'
            'class' => 'HTMLPurifier_DefinitionCache_Serializer'
            'type' => '->'
            'args' => [
                0 => HTMLPurifier_Config#2
                (
                    [version] => '4.19.0'
                    [autoFinalize] => true
                    [*:serials] => [
                        'HTML' => 'a0be0b83c2a4580acb95574ae52776eaf0db8ca7'
                        'URI' => false
                        'AutoFormat' => false
                        'Cache' => false
                    ]
                    [*:serial] => null
                    [*:parser] => null
                    [def] => HTMLPurifier_ConfigSchema#3
                    (
                        [defaults] => [
                            'Attr.AllowedClasses' => null
                            'Attr.AllowedFrameTargets' => []
                            'Attr.AllowedRel' => []
                            'Attr.AllowedRev' => []
                            'Attr.ClassUseCDATA' => null
                            'Attr.DefaultImageAlt' => null
                            'Attr.DefaultInvalidImage' => ''
                            'Attr.DefaultInvalidImageAlt' => 'Invalid image'
                            'Attr.DefaultTextDir' => 'ltr'
                            'Attr.EnableID' => false
                            'Attr.ForbiddenClasses' => []
                            'Attr.ID.HTML5' => null
                            'Attr.IDBlacklist' => []
                            'Attr.IDBlacklistRegexp' => null
                            'Attr.IDPrefix' => ''
                            'Attr.IDPrefixLocal' => ''
                            'AutoFormat.AutoParagraph' => false
                            'AutoFormat.Custom' => []
                            'AutoFormat.DisplayLinkURI' => false
                            'AutoFormat.Linkify' => false
                            'AutoFormat.PurifierLinkify.DocURL' => '#%s'
                            'AutoFormat.PurifierLinkify' => false
                            'AutoFormat.RemoveEmpty.Predicate' => [
                                'colgroup' => []
                                'th' => []
                                'td' => []
                                'iframe' => [
                                    0 => 'src'
                                ]
                            ]
                            'AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions' => [
                                'td' => true
                                'th' => true
                            ]
                            'AutoFormat.RemoveEmpty.RemoveNbsp' => false
                            'AutoFormat.RemoveEmpty' => false
                            'AutoFormat.RemoveSpansWithoutAttributes' => false
                            'CSS.AllowDuplicates' => false
                            'CSS.AllowImportant' => false
                            'CSS.AllowTricky' => false
                            'CSS.AllowedFonts' => null
                            'CSS.AllowedProperties' => null
                            'CSS.DefinitionRev' => 1
                            'CSS.ForbiddenProperties' => []
                            'CSS.MaxImgLength' => null
                            'CSS.Proprietary' => false
                            'CSS.Trusted' => false
                            'Cache.DefinitionImpl' => 'Serializer'
                            'Cache.SerializerPath' => null
                            'Cache.SerializerPermissions' => 493
                            'Core.AggressivelyFixLt' => true
                            'Core.AggressivelyRemoveScript' => true
                            'Core.AllowHostnameUnderscore' => false
                            'Core.AllowParseManyTags' => false
                            'Core.CollectErrors' => false
                            'Core.ColorKeywords' => [
                                'aliceblue' => '#F0F8FF'
                                'antiquewhite' => '#FAEBD7'
                                'aqua' => '#00FFFF'
                                'aquamarine' => '#7FFFD4'
                                'azure' => '#F0FFFF'
                                'beige' => '#F5F5DC'
                                'bisque' => '#FFE4C4'
                                'black' => '#000000'
                                'blanchedalmond' => '#FFEBCD'
                                'blue' => '#0000FF'
                                'blueviolet' => '#8A2BE2'
                                'brown' => '#A52A2A'
                                'burlywood' => '#DEB887'
                                'cadetblue' => '#5F9EA0'
                                'chartreuse' => '#7FFF00'
                                'chocolate' => '#D2691E'
                                'coral' => '#FF7F50'
                                'cornflowerblue' => '#6495ED'
                                'cornsilk' => '#FFF8DC'
                                'crimson' => '#DC143C'
                                'cyan' => '#00FFFF'
                                'darkblue' => '#00008B'
                                'darkcyan' => '#008B8B'
                                'darkgoldenrod' => '#B8860B'
                                'darkgray' => '#A9A9A9'
                                'darkgrey' => '#A9A9A9'
                                'darkgreen' => '#006400'
                                'darkkhaki' => '#BDB76B'
                                'darkmagenta' => '#8B008B'
                                'darkolivegreen' => '#556B2F'
                                'darkorange' => '#FF8C00'
                                'darkorchid' => '#9932CC'
                                'darkred' => '#8B0000'
                                'darksalmon' => '#E9967A'
                                'darkseagreen' => '#8FBC8F'
                                'darkslateblue' => '#483D8B'
                                'darkslategray' => '#2F4F4F'
                                'darkslategrey' => '#2F4F4F'
                                'darkturquoise' => '#00CED1'
                                'darkviolet' => '#9400D3'
                                'deeppink' => '#FF1493'
                                'deepskyblue' => '#00BFFF'
                                'dimgray' => '#696969'
                                'dimgrey' => '#696969'
                                'dodgerblue' => '#1E90FF'
                                'firebrick' => '#B22222'
                                'floralwhite' => '#FFFAF0'
                                'forestgreen' => '#228B22'
                                'fuchsia' => '#FF00FF'
                                'gainsboro' => '#DCDCDC'
                                'ghostwhite' => '#F8F8FF'
                                'gold' => '#FFD700'
                                'goldenrod' => '#DAA520'
                                'gray' => '#808080'
                                'grey' => '#808080'
                                'green' => '#008000'
                                'greenyellow' => '#ADFF2F'
                                'honeydew' => '#F0FFF0'
                                'hotpink' => '#FF69B4'
                                'indianred' => '#CD5C5C'
                                'indigo' => '#4B0082'
                                'ivory' => '#FFFFF0'
                                'khaki' => '#F0E68C'
                                'lavender' => '#E6E6FA'
                                'lavenderblush' => '#FFF0F5'
                                'lawngreen' => '#7CFC00'
                                'lemonchiffon' => '#FFFACD'
                                'lightblue' => '#ADD8E6'
                                'lightcoral' => '#F08080'
                                'lightcyan' => '#E0FFFF'
                                'lightgoldenrodyellow' => '#FAFAD2'
                                'lightgray' => '#D3D3D3'
                                'lightgrey' => '#D3D3D3'
                                'lightgreen' => '#90EE90'
                                'lightpink' => '#FFB6C1'
                                'lightsalmon' => '#FFA07A'
                                'lightseagreen' => '#20B2AA'
                                'lightskyblue' => '#87CEFA'
                                'lightslategray' => '#778899'
                                'lightslategrey' => '#778899'
                                'lightsteelblue' => '#B0C4DE'
                                'lightyellow' => '#FFFFE0'
                                'lime' => '#00FF00'
                                'limegreen' => '#32CD32'
                                'linen' => '#FAF0E6'
                                'magenta' => '#FF00FF'
                                'maroon' => '#800000'
                                'mediumaquamarine' => '#66CDAA'
                                'mediumblue' => '#0000CD'
                                'mediumorchid' => '#BA55D3'
                                'mediumpurple' => '#9370DB'
                                'mediumseagreen' => '#3CB371'
                                'mediumslateblue' => '#7B68EE'
                                'mediumspringgreen' => '#00FA9A'
                                'mediumturquoise' => '#48D1CC'
                                'mediumvioletred' => '#C71585'
                                'midnightblue' => '#191970'
                                'mintcream' => '#F5FFFA'
                                'mistyrose' => '#FFE4E1'
                                'moccasin' => '#FFE4B5'
                                'navajowhite' => '#FFDEAD'
                                'navy' => '#000080'
                                'oldlace' => '#FDF5E6'
                                'olive' => '#808000'
                                'olivedrab' => '#6B8E23'
                                'orange' => '#FFA500'
                                'orangered' => '#FF4500'
                                'orchid' => '#DA70D6'
                                'palegoldenrod' => '#EEE8AA'
                                'palegreen' => '#98FB98'
                                'paleturquoise' => '#AFEEEE'
                                'palevioletred' => '#DB7093'
                                'papayawhip' => '#FFEFD5'
                                'peachpuff' => '#FFDAB9'
                                'peru' => '#CD853F'
                                'pink' => '#FFC0CB'
                                'plum' => '#DDA0DD'
                                'powderblue' => '#B0E0E6'
                                'purple' => '#800080'
                                'rebeccapurple' => '#663399'
                                'red' => '#FF0000'
                                'rosybrown' => '#BC8F8F'
                                'royalblue' => '#4169E1'
                                'saddlebrown' => '#8B4513'
                                'salmon' => '#FA8072'
                                'sandybrown' => '#F4A460'
                                'seagreen' => '#2E8B57'
                                'seashell' => '#FFF5EE'
                                'sienna' => '#A0522D'
                                'silver' => '#C0C0C0'
                                'skyblue' => '#87CEEB'
                                'slateblue' => '#6A5ACD'
                                'slategray' => '#708090'
                                'slategrey' => '#708090'
                                'snow' => '#FFFAFA'
                                'springgreen' => '#00FF7F'
                                'steelblue' => '#4682B4'
                                'tan' => '#D2B48C'
                                'teal' => '#008080'
                                'thistle' => '#D8BFD8'
                                'tomato' => '#FF6347'
                                'turquoise' => '#40E0D0'
                                'violet' => '#EE82EE'
                                'wheat' => '#F5DEB3'
                                'white' => '#FFFFFF'
                                'whitesmoke' => '#F5F5F5'
                                'yellow' => '#FFFF00'
                                'yellowgreen' => '#9ACD32'
                            ]
                            'Core.ConvertDocumentToFragment' => true
                            'Core.DirectLexLineNumberSyncInterval' => 0
                            'Core.DisableExcludes' => false
                            'Core.EnableIDNA' => false
                            'Core.Encoding' => 'utf-8'
                            'Core.EscapeInvalidChildren' => false
                            'Core.EscapeInvalidTags' => false
                            'Core.EscapeNonASCIICharacters' => false
                            'Core.HiddenElements' => [
                                'script' => true
                                'style' => true
                            ]
                            'Core.Language' => 'en'
                            'Core.LegacyEntityDecoder' => false
                            'Core.LexerImpl' => null
                            'Core.MaintainLineNumbers' => null
                            'Core.NormalizeNewlines' => true
                            'Core.RemoveBlanks' => false
                            'Core.RemoveInvalidImg' => true
                            'Core.RemoveProcessingInstructions' => false
                            'Core.RemoveScriptContents' => null
                            'Filter.Custom' => []
                            'Filter.ExtractStyleBlocks.Escaping' => true
                            'Filter.ExtractStyleBlocks.Scope' => null
                            'Filter.ExtractStyleBlocks.TidyImpl' => null
                            'Filter.ExtractStyleBlocks' => false
                            'Filter.YouTube' => false
                            'HTML.Allowed' => null
                            'HTML.AllowedAttributes' => null
                            'HTML.AllowedComments' => []
                            'HTML.AllowedCommentsRegexp' => null
                            'HTML.AllowedElements' => null
                            'HTML.AllowedModules' => null
                            'HTML.Attr.Name.UseCDATA' => false
                            'HTML.BlockWrapper' => 'p'
                            'HTML.CoreModules' => [
                                'Structure' => true
                                'Text' => true
                                'Hypertext' => true
                                'List' => true
                                'NonXMLCommonAttributes' => true
                                'XMLCommonAttributes' => true
                                'CommonAttributes' => true
                            ]
                            'HTML.CustomDoctype' => null
                            'HTML.DefinitionID' => null
                            'HTML.DefinitionRev' => 1
                            'HTML.Doctype' => null
                            'HTML.FlashAllowFullScreen' => false
                            'HTML.ForbiddenAttributes' => []
                            'HTML.ForbiddenElements' => []
                            'HTML.Forms' => false
                            'HTML.MaxImgLength' => null
                            'HTML.Nofollow' => false
                            'HTML.Parent' => 'div'
                            'HTML.Proprietary' => false
                            'HTML.SafeEmbed' => false
                            'HTML.SafeIframe' => false
                            'HTML.SafeObject' => false
                            'HTML.SafeScripting' => []
                            'HTML.Strict' => false
                            'HTML.TargetBlank' => false
                            'HTML.TargetNoopener' => true
                            'HTML.TargetNoreferrer' => true
                            'HTML.TidyAdd' => []
                            'HTML.TidyLevel' => 'medium'
                            'HTML.TidyRemove' => []
                            'HTML.Trusted' => false
                            'HTML.XHTML' => true
                            'Output.CommentScriptContents' => true
                            'Output.FixInnerHTML' => true
                            'Output.FlashCompat' => false
                            'Output.Newline' => null
                            'Output.SortAttr' => false
                            'Output.TidyFormat' => false
                            'Test.ForceNoIconv' => false
                            'URI.AllowedSchemes' => [
                                'http' => true
                                'https' => true
                                'mailto' => true
                                'ftp' => true
                                'nntp' => true
                                'news' => true
                                'tel' => true
                            ]
                            'URI.AllowedSymbols' => '!$&\'()*+,;='
                            'URI.Base' => null
                            'URI.DefaultScheme' => 'http'
                            'URI.DefinitionID' => null
                            'URI.DefinitionRev' => 1
                            'URI.Disable' => false
                            'URI.DisableExternal' => false
                            'URI.DisableExternalResources' => false
                            'URI.DisableResources' => false
                            'URI.Host' => null
                            'URI.HostBlacklist' => []
                            'URI.MakeAbsolute' => false
                            'URI.Munge' => null
                            'URI.MungeResources' => false
                            'URI.MungeSecretKey' => null
                            'URI.OverrideAllowedSchemes' => true
                            'URI.SafeIframeHosts' => null
                            'URI.SafeIframeRegexp' => null
                        ]
                        [defaultPlist] => HTMLPurifier_PropertyList#4
                        (
                            [*:data] => [
                                'Attr.AllowedClasses' => null
                                'Attr.AllowedFrameTargets' => []
                                'Attr.AllowedRel' => []
                                'Attr.AllowedRev' => []
                                'Attr.ClassUseCDATA' => null
                                'Attr.DefaultImageAlt' => null
                                'Attr.DefaultInvalidImage' => ''
                                'Attr.DefaultInvalidImageAlt' => 'Invalid image'
                                'Attr.DefaultTextDir' => 'ltr'
                                'Attr.EnableID' => false
                                'Attr.ForbiddenClasses' => []
                                'Attr.ID.HTML5' => null
                                'Attr.IDBlacklist' => []
                                'Attr.IDBlacklistRegexp' => null
                                'Attr.IDPrefix' => ''
                                'Attr.IDPrefixLocal' => ''
                                'AutoFormat.AutoParagraph' => false
                                'AutoFormat.Custom' => []
                                'AutoFormat.DisplayLinkURI' => false
                                'AutoFormat.Linkify' => false
                                'AutoFormat.PurifierLinkify.DocURL' => '#%s'
                                'AutoFormat.PurifierLinkify' => false
                                'AutoFormat.RemoveEmpty.Predicate' => [
                                    'colgroup' => []
                                    'th' => []
                                    'td' => []
                                    'iframe' => [
                                        0 => 'src'
                                    ]
                                ]
                                'AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions' => [
                                    'td' => true
                                    'th' => true
                                ]
                                'AutoFormat.RemoveEmpty.RemoveNbsp' => false
                                'AutoFormat.RemoveEmpty' => false
                                'AutoFormat.RemoveSpansWithoutAttributes' => false
                                'CSS.AllowDuplicates' => false
                                'CSS.AllowImportant' => false
                                'CSS.AllowTricky' => false
                                'CSS.AllowedFonts' => null
                                'CSS.AllowedProperties' => null
                                'CSS.DefinitionRev' => 1
                                'CSS.ForbiddenProperties' => []
                                'CSS.MaxImgLength' => null
                                'CSS.Proprietary' => false
                                'CSS.Trusted' => false
                                'Cache.DefinitionImpl' => 'Serializer'
                                'Cache.SerializerPath' => null
                                'Cache.SerializerPermissions' => 493
                                'Core.AggressivelyFixLt' => true
                                'Core.AggressivelyRemoveScript' => true
                                'Core.AllowHostnameUnderscore' => false
                                'Core.AllowParseManyTags' => false
                                'Core.CollectErrors' => false
                                'Core.ColorKeywords' => [
                                    'aliceblue' => '#F0F8FF'
                                    'antiquewhite' => '#FAEBD7'
                                    'aqua' => '#00FFFF'
                                    'aquamarine' => '#7FFFD4'
                                    'azure' => '#F0FFFF'
                                    'beige' => '#F5F5DC'
                                    'bisque' => '#FFE4C4'
                                    'black' => '#000000'
                                    'blanchedalmond' => '#FFEBCD'
                                    'blue' => '#0000FF'
                                    'blueviolet' => '#8A2BE2'
                                    'brown' => '#A52A2A'
                                    'burlywood' => '#DEB887'
                                    'cadetblue' => '#5F9EA0'
                                    'chartreuse' => '#7FFF00'
                                    'chocolate' => '#D2691E'
                                    'coral' => '#FF7F50'
                                    'cornflowerblue' => '#6495ED'
                                    'cornsilk' => '#FFF8DC'
                                    'crimson' => '#DC143C'
                                    'cyan' => '#00FFFF'
                                    'darkblue' => '#00008B'
                                    'darkcyan' => '#008B8B'
                                    'darkgoldenrod' => '#B8860B'
                                    'darkgray' => '#A9A9A9'
                                    'darkgrey' => '#A9A9A9'
                                    'darkgreen' => '#006400'
                                    'darkkhaki' => '#BDB76B'
                                    'darkmagenta' => '#8B008B'
                                    'darkolivegreen' => '#556B2F'
                                    'darkorange' => '#FF8C00'
                                    'darkorchid' => '#9932CC'
                                    'darkred' => '#8B0000'
                                    'darksalmon' => '#E9967A'
                                    'darkseagreen' => '#8FBC8F'
                                    'darkslateblue' => '#483D8B'
                                    'darkslategray' => '#2F4F4F'
                                    'darkslategrey' => '#2F4F4F'
                                    'darkturquoise' => '#00CED1'
                                    'darkviolet' => '#9400D3'
                                    'deeppink' => '#FF1493'
                                    'deepskyblue' => '#00BFFF'
                                    'dimgray' => '#696969'
                                    'dimgrey' => '#696969'
                                    'dodgerblue' => '#1E90FF'
                                    'firebrick' => '#B22222'
                                    'floralwhite' => '#FFFAF0'
                                    'forestgreen' => '#228B22'
                                    'fuchsia' => '#FF00FF'
                                    'gainsboro' => '#DCDCDC'
                                    'ghostwhite' => '#F8F8FF'
                                    'gold' => '#FFD700'
                                    'goldenrod' => '#DAA520'
                                    'gray' => '#808080'
                                    'grey' => '#808080'
                                    'green' => '#008000'
                                    'greenyellow' => '#ADFF2F'
                                    'honeydew' => '#F0FFF0'
                                    'hotpink' => '#FF69B4'
                                    'indianred' => '#CD5C5C'
                                    'indigo' => '#4B0082'
                                    'ivory' => '#FFFFF0'
                                    'khaki' => '#F0E68C'
                                    'lavender' => '#E6E6FA'
                                    'lavenderblush' => '#FFF0F5'
                                    'lawngreen' => '#7CFC00'
                                    'lemonchiffon' => '#FFFACD'
                                    'lightblue' => '#ADD8E6'
                                    'lightcoral' => '#F08080'
                                    'lightcyan' => '#E0FFFF'
                                    'lightgoldenrodyellow' => '#FAFAD2'
                                    'lightgray' => '#D3D3D3'
                                    'lightgrey' => '#D3D3D3'
                                    'lightgreen' => '#90EE90'
                                    'lightpink' => '#FFB6C1'
                                    'lightsalmon' => '#FFA07A'
                                    'lightseagreen' => '#20B2AA'
                                    'lightskyblue' => '#87CEFA'
                                    'lightslategray' => '#778899'
                                    'lightslategrey' => '#778899'
                                    'lightsteelblue' => '#B0C4DE'
                                    'lightyellow' => '#FFFFE0'
                                    'lime' => '#00FF00'
                                    'limegreen' => '#32CD32'
                                    'linen' => '#FAF0E6'
                                    'magenta' => '#FF00FF'
                                    'maroon' => '#800000'
                                    'mediumaquamarine' => '#66CDAA'
                                    'mediumblue' => '#0000CD'
                                    'mediumorchid' => '#BA55D3'
                                    'mediumpurple' => '#9370DB'
                                    'mediumseagreen' => '#3CB371'
                                    'mediumslateblue' => '#7B68EE'
                                    'mediumspringgreen' => '#00FA9A'
                                    'mediumturquoise' => '#48D1CC'
                                    'mediumvioletred' => '#C71585'
                                    'midnightblue' => '#191970'
                                    'mintcream' => '#F5FFFA'
                                    'mistyrose' => '#FFE4E1'
                                    'moccasin' => '#FFE4B5'
                                    'navajowhite' => '#FFDEAD'
                                    'navy' => '#000080'
                                    'oldlace' => '#FDF5E6'
                                    'olive' => '#808000'
                                    'olivedrab' => '#6B8E23'
                                    'orange' => '#FFA500'
                                    'orangered' => '#FF4500'
                                    'orchid' => '#DA70D6'
                                    'palegoldenrod' => '#EEE8AA'
                                    'palegreen' => '#98FB98'
                                    'paleturquoise' => '#AFEEEE'
                                    'palevioletred' => '#DB7093'
                                    'papayawhip' => '#FFEFD5'
                                    'peachpuff' => '#FFDAB9'
                                    'peru' => '#CD853F'
                                    'pink' => '#FFC0CB'
                                    'plum' => '#DDA0DD'
                                    'powderblue' => '#B0E0E6'
                                    'purple' => '#800080'
                                    'rebeccapurple' => '#663399'
                                    'red' => '#FF0000'
                                    'rosybrown' => '#BC8F8F'
                                    'royalblue' => '#4169E1'
                                    'saddlebrown' => '#8B4513'
                                    'salmon' => '#FA8072'
                                    'sandybrown' => '#F4A460'
                                    'seagreen' => '#2E8B57'
                                    'seashell' => '#FFF5EE'
                                    'sienna' => '#A0522D'
                                    'silver' => '#C0C0C0'
                                    'skyblue' => '#87CEEB'
                                    'slateblue' => '#6A5ACD'
                                    'slategray' => '#708090'
                                    'slategrey' => '#708090'
                                    'snow' => '#FFFAFA'
                                    'springgreen' => '#00FF7F'
                                    'steelblue' => '#4682B4'
                                    'tan' => '#D2B48C'
                                    'teal' => '#008080'
                                    'thistle' => '#D8BFD8'
                                    'tomato' => '#FF6347'
                                    'turquoise' => '#40E0D0'
                                    'violet' => '#EE82EE'
                                    'wheat' => '#F5DEB3'
                                    'white' => '#FFFFFF'
                                    'whitesmoke' => '#F5F5F5'
                                    'yellow' => '#FFFF00'
                                    'yellowgreen' => '#9ACD32'
                                ]
                                'Core.ConvertDocumentToFragment' => true
                                'Core.DirectLexLineNumberSyncInterval' => 0
                                'Core.DisableExcludes' => false
                                'Core.EnableIDNA' => false
                                'Core.Encoding' => 'utf-8'
                                'Core.EscapeInvalidChildren' => false
                                'Core.EscapeInvalidTags' => false
                                'Core.EscapeNonASCIICharacters' => false
                                'Core.HiddenElements' => [
                                    'script' => true
                                    'style' => true
                                ]
                                'Core.Language' => 'en'
                                'Core.LegacyEntityDecoder' => false
                                'Core.LexerImpl' => null
                                'Core.MaintainLineNumbers' => null
                                'Core.NormalizeNewlines' => true
                                'Core.RemoveBlanks' => false
                                'Core.RemoveInvalidImg' => true
                                'Core.RemoveProcessingInstructions' => false
                                'Core.RemoveScriptContents' => null
                                'Filter.Custom' => []
                                'Filter.ExtractStyleBlocks.Escaping' => true
                                'Filter.ExtractStyleBlocks.Scope' => null
                                'Filter.ExtractStyleBlocks.TidyImpl' => null
                                'Filter.ExtractStyleBlocks' => false
                                'Filter.YouTube' => false
                                'HTML.Allowed' => null
                                'HTML.AllowedAttributes' => null
                                'HTML.AllowedComments' => []
                                'HTML.AllowedCommentsRegexp' => null
                                'HTML.AllowedElements' => null
                                'HTML.AllowedModules' => null
                                'HTML.Attr.Name.UseCDATA' => false
                                'HTML.BlockWrapper' => 'p'
                                'HTML.CoreModules' => [
                                    'Structure' => true
                                    'Text' => true
                                    'Hypertext' => true
                                    'List' => true
                                    'NonXMLCommonAttributes' => true
                                    'XMLCommonAttributes' => true
                                    'CommonAttributes' => true
                                ]
                                'HTML.CustomDoctype' => null
                                'HTML.DefinitionID' => null
                                'HTML.DefinitionRev' => 1
                                'HTML.Doctype' => null
                                'HTML.FlashAllowFullScreen' => false
                                'HTML.ForbiddenAttributes' => []
                                'HTML.ForbiddenElements' => []
                                'HTML.Forms' => false
                                'HTML.MaxImgLength' => null
                                'HTML.Nofollow' => false
                                'HTML.Parent' => 'div'
                                'HTML.Proprietary' => false
                                'HTML.SafeEmbed' => false
                                'HTML.SafeIframe' => false
                                'HTML.SafeObject' => false
                                'HTML.SafeScripting' => []
                                'HTML.Strict' => false
                                'HTML.TargetBlank' => false
                                'HTML.TargetNoopener' => true
                                'HTML.TargetNoreferrer' => true
                                'HTML.TidyAdd' => []
                                'HTML.TidyLevel' => 'medium'
                                'HTML.TidyRemove' => []
                                'HTML.Trusted' => false
                                'HTML.XHTML' => true
                                'Output.CommentScriptContents' => true
                                'Output.FixInnerHTML' => true
                                'Output.FlashCompat' => false
                                'Output.Newline' => null
                                'Output.SortAttr' => false
                                'Output.TidyFormat' => false
                                'Test.ForceNoIconv' => false
                                'URI.AllowedSchemes' => [
                                    'http' => true
                                    'https' => true
                                    'mailto' => true
                                    'ftp' => true
                                    'nntp' => true
                                    'news' => true
                                    'tel' => true
                                ]
                                'URI.AllowedSymbols' => '!$&\'()*+,;='
                                'URI.Base' => null
                                'URI.DefaultScheme' => 'http'
                                'URI.DefinitionID' => null
                                'URI.DefinitionRev' => 1
                                'URI.Disable' => false
                                'URI.DisableExternal' => false
                                'URI.DisableExternalResources' => false
                                'URI.DisableResources' => false
                                'URI.Host' => null
                                'URI.HostBlacklist' => []
                                'URI.MakeAbsolute' => false
                                'URI.Munge' => null
                                'URI.MungeResources' => false
                                'URI.MungeSecretKey' => null
                                'URI.OverrideAllowedSchemes' => true
                                'URI.SafeIframeHosts' => null
                                'URI.SafeIframeRegexp' => null
                            ]
                            [*:parent] => null
                            [*:cache] => [
                                'Attr.AllowedClasses' => null
                                'Attr.AllowedFrameTargets' => []
                                'Attr.AllowedRel' => []
                                'Attr.AllowedRev' => []
                                'Attr.ClassUseCDATA' => null
                                'Attr.DefaultImageAlt' => null
                                'Attr.DefaultInvalidImage' => ''
                                'Attr.DefaultInvalidImageAlt' => 'Invalid image'
                                'Attr.DefaultTextDir' => 'ltr'
                                'Attr.EnableID' => false
                                'Attr.ForbiddenClasses' => []
                                'Attr.ID.HTML5' => null
                                'Attr.IDBlacklist' => []
                                'Attr.IDBlacklistRegexp' => null
                                'Attr.IDPrefix' => ''
                                'Attr.IDPrefixLocal' => ''
                                'AutoFormat.AutoParagraph' => false
                                'AutoFormat.Custom' => []
                                'AutoFormat.DisplayLinkURI' => false
                                'AutoFormat.Linkify' => false
                                'AutoFormat.PurifierLinkify.DocURL' => '#%s'
                                'AutoFormat.PurifierLinkify' => false
                                'AutoFormat.RemoveEmpty.Predicate' => [
                                    'colgroup' => []
                                    'th' => []
                                    'td' => []
                                    'iframe' => [
                                        0 => 'src'
                                    ]
                                ]
                                'AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions' => [
                                    'td' => true
                                    'th' => true
                                ]
                                'AutoFormat.RemoveEmpty.RemoveNbsp' => false
                                'AutoFormat.RemoveEmpty' => false
                                'AutoFormat.RemoveSpansWithoutAttributes' => false
                                'CSS.AllowDuplicates' => false
                                'CSS.AllowImportant' => false
                                'CSS.AllowTricky' => false
                                'CSS.AllowedFonts' => null
                                'CSS.AllowedProperties' => null
                                'CSS.DefinitionRev' => 1
                                'CSS.ForbiddenProperties' => []
                                'CSS.MaxImgLength' => null
                                'CSS.Proprietary' => false
                                'CSS.Trusted' => false
                                'Cache.DefinitionImpl' => 'Serializer'
                                'Cache.SerializerPath' => null
                                'Cache.SerializerPermissions' => 493
                                'Core.AggressivelyFixLt' => true
                                'Core.AggressivelyRemoveScript' => true
                                'Core.AllowHostnameUnderscore' => false
                                'Core.AllowParseManyTags' => false
                                'Core.CollectErrors' => false
                                'Core.ColorKeywords' => [
                                    'aliceblue' => '#F0F8FF'
                                    'antiquewhite' => '#FAEBD7'
                                    'aqua' => '#00FFFF'
                                    'aquamarine' => '#7FFFD4'
                                    'azure' => '#F0FFFF'
                                    'beige' => '#F5F5DC'
                                    'bisque' => '#FFE4C4'
                                    'black' => '#000000'
                                    'blanchedalmond' => '#FFEBCD'
                                    'blue' => '#0000FF'
                                    'blueviolet' => '#8A2BE2'
                                    'brown' => '#A52A2A'
                                    'burlywood' => '#DEB887'
                                    'cadetblue' => '#5F9EA0'
                                    'chartreuse' => '#7FFF00'
                                    'chocolate' => '#D2691E'
                                    'coral' => '#FF7F50'
                                    'cornflowerblue' => '#6495ED'
                                    'cornsilk' => '#FFF8DC'
                                    'crimson' => '#DC143C'
                                    'cyan' => '#00FFFF'
                                    'darkblue' => '#00008B'
                                    'darkcyan' => '#008B8B'
                                    'darkgoldenrod' => '#B8860B'
                                    'darkgray' => '#A9A9A9'
                                    'darkgrey' => '#A9A9A9'
                                    'darkgreen' => '#006400'
                                    'darkkhaki' => '#BDB76B'
                                    'darkmagenta' => '#8B008B'
                                    'darkolivegreen' => '#556B2F'
                                    'darkorange' => '#FF8C00'
                                    'darkorchid' => '#9932CC'
                                    'darkred' => '#8B0000'
                                    'darksalmon' => '#E9967A'
                                    'darkseagreen' => '#8FBC8F'
                                    'darkslateblue' => '#483D8B'
                                    'darkslategray' => '#2F4F4F'
                                    'darkslategrey' => '#2F4F4F'
                                    'darkturquoise' => '#00CED1'
                                    'darkviolet' => '#9400D3'
                                    'deeppink' => '#FF1493'
                                    'deepskyblue' => '#00BFFF'
                                    'dimgray' => '#696969'
                                    'dimgrey' => '#696969'
                                    'dodgerblue' => '#1E90FF'
                                    'firebrick' => '#B22222'
                                    'floralwhite' => '#FFFAF0'
                                    'forestgreen' => '#228B22'
                                    'fuchsia' => '#FF00FF'
                                    'gainsboro' => '#DCDCDC'
                                    'ghostwhite' => '#F8F8FF'
                                    'gold' => '#FFD700'
                                    'goldenrod' => '#DAA520'
                                    'gray' => '#808080'
                                    'grey' => '#808080'
                                    'green' => '#008000'
                                    'greenyellow' => '#ADFF2F'
                                    'honeydew' => '#F0FFF0'
                                    'hotpink' => '#FF69B4'
                                    'indianred' => '#CD5C5C'
                                    'indigo' => '#4B0082'
                                    'ivory' => '#FFFFF0'
                                    'khaki' => '#F0E68C'
                                    'lavender' => '#E6E6FA'
                                    'lavenderblush' => '#FFF0F5'
                                    'lawngreen' => '#7CFC00'
                                    'lemonchiffon' => '#FFFACD'
                                    'lightblue' => '#ADD8E6'
                                    'lightcoral' => '#F08080'
                                    'lightcyan' => '#E0FFFF'
                                    'lightgoldenrodyellow' => '#FAFAD2'
                                    'lightgray' => '#D3D3D3'
                                    'lightgrey' => '#D3D3D3'
                                    'lightgreen' => '#90EE90'
                                    'lightpink' => '#FFB6C1'
                                    'lightsalmon' => '#FFA07A'
                                    'lightseagreen' => '#20B2AA'
                                    'lightskyblue' => '#87CEFA'
                                    'lightslategray' => '#778899'
                                    'lightslategrey' => '#778899'
                                    'lightsteelblue' => '#B0C4DE'
                                    'lightyellow' => '#FFFFE0'
                                    'lime' => '#00FF00'
                                    'limegreen' => '#32CD32'
                                    'linen' => '#FAF0E6'
                                    'magenta' => '#FF00FF'
                                    'maroon' => '#800000'
                                    'mediumaquamarine' => '#66CDAA'
                                    'mediumblue' => '#0000CD'
                                    'mediumorchid' => '#BA55D3'
                                    'mediumpurple' => '#9370DB'
                                    'mediumseagreen' => '#3CB371'
                                    'mediumslateblue' => '#7B68EE'
                                    'mediumspringgreen' => '#00FA9A'
                                    'mediumturquoise' => '#48D1CC'
                                    'mediumvioletred' => '#C71585'
                                    'midnightblue' => '#191970'
                                    'mintcream' => '#F5FFFA'
                                    'mistyrose' => '#FFE4E1'
                                    'moccasin' => '#FFE4B5'
                                    'navajowhite' => '#FFDEAD'
                                    'navy' => '#000080'
                                    'oldlace' => '#FDF5E6'
                                    'olive' => '#808000'
                                    'olivedrab' => '#6B8E23'
                                    'orange' => '#FFA500'
                                    'orangered' => '#FF4500'
                                    'orchid' => '#DA70D6'
                                    'palegoldenrod' => '#EEE8AA'
                                    'palegreen' => '#98FB98'
                                    'paleturquoise' => '#AFEEEE'
                                    'palevioletred' => '#DB7093'
                                    'papayawhip' => '#FFEFD5'
                                    'peachpuff' => '#FFDAB9'
                                    'peru' => '#CD853F'
                                    'pink' => '#FFC0CB'
                                    'plum' => '#DDA0DD'
                                    'powderblue' => '#B0E0E6'
                                    'purple' => '#800080'
                                    'rebeccapurple' => '#663399'
                                    'red' => '#FF0000'
                                    'rosybrown' => '#BC8F8F'
                                    'royalblue' => '#4169E1'
                                    'saddlebrown' => '#8B4513'
                                    'salmon' => '#FA8072'
                                    'sandybrown' => '#F4A460'
                                    'seagreen' => '#2E8B57'
                                    'seashell' => '#FFF5EE'
                                    'sienna' => '#A0522D'
                                    'silver' => '#C0C0C0'
                                    'skyblue' => '#87CEEB'
                                    'slateblue' => '#6A5ACD'
                                    'slategray' => '#708090'
                                    'slategrey' => '#708090'
                                    'snow' => '#FFFAFA'
                                    'springgreen' => '#00FF7F'
                                    'steelblue' => '#4682B4'
                                    'tan' => '#D2B48C'
                                    'teal' => '#008080'
                                    'thistle' => '#D8BFD8'
                                    'tomato' => '#FF6347'
                                    'turquoise' => '#40E0D0'
                                    'violet' => '#EE82EE'
                                    'wheat' => '#F5DEB3'
                                    'white' => '#FFFFFF'
                                    'whitesmoke' => '#F5F5F5'
                                    'yellow' => '#FFFF00'
                                    'yellowgreen' => '#9ACD32'
                                ]
                                'Core.ConvertDocumentToFragment' => true
                                'Core.DirectLexLineNumberSyncInterval' => 0
                                'Core.DisableExcludes' => false
                                'Core.EnableIDNA' => false
                                'Core.Encoding' => 'utf-8'
                                'Core.EscapeInvalidChildren' => false
                                'Core.EscapeInvalidTags' => false
                                'Core.EscapeNonASCIICharacters' => false
                                'Core.HiddenElements' => [
                                    'script' => true
                                    'style' => true
                                ]
                                'Core.Language' => 'en'
                                'Core.LegacyEntityDecoder' => false
                                'Core.LexerImpl' => null
                                'Core.MaintainLineNumbers' => null
                                'Core.NormalizeNewlines' => true
                                'Core.RemoveBlanks' => false
                                'Core.RemoveInvalidImg' => true
                                'Core.RemoveProcessingInstructions' => false
                                'Core.RemoveScriptContents' => null
                                'Filter.Custom' => []
                                'Filter.ExtractStyleBlocks.Escaping' => true
                                'Filter.ExtractStyleBlocks.Scope' => null
                                'Filter.ExtractStyleBlocks.TidyImpl' => null
                                'Filter.ExtractStyleBlocks' => false
                                'Filter.YouTube' => false
                                'HTML.Allowed' => null
                                'HTML.AllowedAttributes' => null
                                'HTML.AllowedComments' => []
                                'HTML.AllowedCommentsRegexp' => null
                                'HTML.AllowedElements' => null
                                'HTML.AllowedModules' => null
                                'HTML.Attr.Name.UseCDATA' => false
                                'HTML.BlockWrapper' => 'p'
                                'HTML.CoreModules' => [
                                    'Structure' => true
                                    'Text' => true
                                    'Hypertext' => true
                                    'List' => true
                                    'NonXMLCommonAttributes' => true
                                    'XMLCommonAttributes' => true
                                    'CommonAttributes' => true
                                ]
                                'HTML.CustomDoctype' => null
                                'HTML.DefinitionID' => null
                                'HTML.DefinitionRev' => 1
                                'HTML.Doctype' => null
                                'HTML.FlashAllowFullScreen' => false
                                'HTML.ForbiddenAttributes' => []
                                'HTML.ForbiddenElements' => []
                                'HTML.Forms' => false
                                'HTML.MaxImgLength' => null
                                'HTML.Nofollow' => false
                                'HTML.Parent' => 'div'
                                'HTML.Proprietary' => false
                                'HTML.SafeEmbed' => false
                                'HTML.SafeIframe' => false
                                'HTML.SafeObject' => false
                                'HTML.SafeScripting' => []
                                'HTML.Strict' => false
                                'HTML.TargetBlank' => false
                                'HTML.TargetNoopener' => true
                                'HTML.TargetNoreferrer' => true
                                'HTML.TidyAdd' => []
                                'HTML.TidyLevel' => 'medium'
                                'HTML.TidyRemove' => []
                                'HTML.Trusted' => false
                                'HTML.XHTML' => true
                                'Output.CommentScriptContents' => true
                                'Output.FixInnerHTML' => true
                                'Output.FlashCompat' => false
                                'Output.Newline' => null
                                'Output.SortAttr' => false
                                'Output.TidyFormat' => false
                                'Test.ForceNoIconv' => false
                                'URI.AllowedSchemes' => [
                                    'http' => true
                                    'https' => true
                                    'mailto' => true
                                    'ftp' => true
                                    'nntp' => true
                                    'news' => true
                                    'tel' => true
                                ]
                                'URI.AllowedSymbols' => '!$&\'()*+,;='
                                'URI.Base' => null
                                'URI.DefaultScheme' => 'http'
                                'URI.DefinitionID' => null
                                'URI.DefinitionRev' => 1
                                'URI.Disable' => false
                                'URI.DisableExternal' => false
                                'URI.DisableExternalResources' => false
                                'URI.DisableResources' => false
                                'URI.Host' => null
                                'URI.HostBlacklist' => []
                                'URI.MakeAbsolute' => false
                                'URI.Munge' => null
                                'URI.MungeResources' => false
                                'URI.MungeSecretKey' => null
                                'URI.OverrideAllowedSchemes' => true
                                'URI.SafeIframeHosts' => null
                                'URI.SafeIframeRegexp' => null
                            ]
                        )
                        [info] => [
                            'Attr.AllowedClasses' => -8
                            'Attr.AllowedFrameTargets' => 8
                            'Attr.AllowedRel' => 8
                            'Attr.AllowedRev' => 8
                            'Attr.ClassUseCDATA' => -7
                            'Attr.DefaultImageAlt' => -1
                            'Attr.DefaultInvalidImage' => 1
                            'Attr.DefaultInvalidImageAlt' => 1
                            'Attr.DefaultTextDir' => stdClass#5
                            (
                                [type] => 1
                                [allowed] => [
                                    'ltr' => true
                                    'rtl' => true
                                ]
                            )
                            'Attr.EnableID' => 7
                            'HTML.EnableAttrID' => stdClass#6
                            (
                                [key] => 'Attr.EnableID'
                                [isAlias] => true
                            )
                            'Attr.ForbiddenClasses' => 8
                            'Attr.ID.HTML5' => -7
                            'Attr.IDBlacklist' => 9
                            'Attr.IDBlacklistRegexp' => -1
                            'Attr.IDPrefix' => 1
                            'Attr.IDPrefixLocal' => 1
                            'AutoFormat.AutoParagraph' => 7
                            'AutoFormat.Custom' => 9
                            'AutoFormat.DisplayLinkURI' => 7
                            'AutoFormat.Linkify' => 7
                            'AutoFormat.PurifierLinkify.DocURL' => 1
                            'AutoFormatParam.PurifierLinkifyDocURL' => stdClass#7
                            (
                                [key] => 'AutoFormat.PurifierLinkify.DocURL'
                                [isAlias] => true
                            )
                            'AutoFormat.PurifierLinkify' => 7
                            'AutoFormat.RemoveEmpty.Predicate' => 10
                            'AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions' => 8
                            'AutoFormat.RemoveEmpty.RemoveNbsp' => 7
                            'AutoFormat.RemoveEmpty' => 7
                            'AutoFormat.RemoveSpansWithoutAttributes' => 7
                            'CSS.AllowDuplicates' => 7
                            'CSS.AllowImportant' => 7
                            'CSS.AllowTricky' => 7
                            'CSS.AllowedFonts' => -8
                            'CSS.AllowedProperties' => -8
                            'CSS.DefinitionRev' => 5
                            'CSS.ForbiddenProperties' => 8
                            'CSS.MaxImgLength' => -1
                            'CSS.Proprietary' => 7
                            'CSS.Trusted' => 7
                            'Cache.DefinitionImpl' => -1
                            'Core.DefinitionCache' => stdClass#8
                            (
                                [key] => 'Cache.DefinitionImpl'
                                [isAlias] => true
                            )
                            'Cache.SerializerPath' => -1
                            'Cache.SerializerPermissions' => -5
                            'Core.AggressivelyFixLt' => 7
                            'Core.AggressivelyRemoveScript' => 7
                            'Core.AllowHostnameUnderscore' => 7
                            'Core.AllowParseManyTags' => 7
                            'Core.CollectErrors' => 7
                            'Core.ColorKeywords' => 10
                            'Core.ConvertDocumentToFragment' => 7
                            'Core.AcceptFullDocuments' => stdClass#9
                            (
                                [key] => 'Core.ConvertDocumentToFragment'
                                [isAlias] => true
                            )
                            'Core.DirectLexLineNumberSyncInterval' => 5
                            'Core.DisableExcludes' => 7
                            'Core.EnableIDNA' => 7
                            'Core.Encoding' => 2
                            'Core.EscapeInvalidChildren' => 7
                            'Core.EscapeInvalidTags' => 7
                            'Core.EscapeNonASCIICharacters' => 7
                            'Core.HiddenElements' => 8
                            'Core.Language' => 1
                            'Core.LegacyEntityDecoder' => 7
                            'Core.LexerImpl' => -11
                            'Core.MaintainLineNumbers' => -7
                            'Core.NormalizeNewlines' => 7
                            'Core.RemoveBlanks' => 7
                            'Core.RemoveInvalidImg' => 7
                            'Core.RemoveProcessingInstructions' => 7
                            'Core.RemoveScriptContents' => -7
                            'Filter.Custom' => 9
                            'Filter.ExtractStyleBlocks.Escaping' => 7
                            'Filter.ExtractStyleBlocksEscaping' => stdClass#10
                            (
                                [key] => 'Filter.ExtractStyleBlocks.Escaping'
                                [isAlias] => true
                            )
                            'FilterParam.ExtractStyleBlocksEscaping' => stdClass#11
                            (
                                [key] => 'Filter.ExtractStyleBlocks.Escaping'
                                [isAlias] => true
                            )
                            'Filter.ExtractStyleBlocks.Scope' => -1
                            'Filter.ExtractStyleBlocksScope' => stdClass#12
                            (
                                [key] => 'Filter.ExtractStyleBlocks.Scope'
                                [isAlias] => true
                            )
                            'FilterParam.ExtractStyleBlocksScope' => stdClass#13
                            (
                                [key] => 'Filter.ExtractStyleBlocks.Scope'
                                [isAlias] => true
                            )
                            'Filter.ExtractStyleBlocks.TidyImpl' => -11
                            'FilterParam.ExtractStyleBlocksTidyImpl' => stdClass#14
                            (
                                [key] => 'Filter.ExtractStyleBlocks.TidyImpl'
                                [isAlias] => true
                            )
                            'Filter.ExtractStyleBlocks' => 7
                            'Filter.YouTube' => 7
                            'HTML.Allowed' => -4
                            'HTML.AllowedAttributes' => -8
                            'HTML.AllowedComments' => 8
                            'HTML.AllowedCommentsRegexp' => -1
                            'HTML.AllowedElements' => -8
                            'HTML.AllowedModules' => -8
                            'HTML.Attr.Name.UseCDATA' => 7
                            'HTML.BlockWrapper' => 1
                            'HTML.CoreModules' => 8
                            'HTML.CustomDoctype' => -1
                            'HTML.DefinitionID' => -1
                            'HTML.DefinitionRev' => 5
                            'HTML.Doctype' => stdClass#15
                            (
                                [type] => 1
                                [allow_null] => true
                                [allowed] => [
                                    'HTML 4.01 Transitional' => true
                                    'HTML 4.01 Strict' => true
                                    'XHTML 1.0 Transitional' => true
                                    'XHTML 1.0 Strict' => true
                                    'XHTML 1.1' => true
                                ]
                            )
                            'HTML.FlashAllowFullScreen' => 7
                            'HTML.ForbiddenAttributes' => 8
                            'HTML.ForbiddenElements' => 8
                            'HTML.Forms' => 7
                            'HTML.MaxImgLength' => -5
                            'HTML.Nofollow' => 7
                            'HTML.Parent' => 1
                            'HTML.Proprietary' => 7
                            'HTML.SafeEmbed' => 7
                            'HTML.SafeIframe' => 7
                            'HTML.SafeObject' => 7
                            'HTML.SafeScripting' => 8
                            'HTML.Strict' => 7
                            'HTML.TargetBlank' => 7
                            'HTML.TargetNoopener' => 7
                            'HTML.TargetNoreferrer' => 7
                            'HTML.TidyAdd' => 8
                            'HTML.TidyLevel' => stdClass#16
                            (
                                [type] => 1
                                [allowed] => [
                                    'none' => true
                                    'light' => true
                                    'medium' => true
                                    'heavy' => true
                                ]
                            )
                            'HTML.TidyRemove' => 8
                            'HTML.Trusted' => 7
                            'HTML.XHTML' => 7
                            'Core.XHTML' => stdClass#17
                            (
                                [key] => 'HTML.XHTML'
                                [isAlias] => true
                            )
                            'Output.CommentScriptContents' => 7
                            'Core.CommentScriptContents' => stdClass#18
                            (
                                [key] => 'Output.CommentScriptContents'
                                [isAlias] => true
                            )
                            'Output.FixInnerHTML' => 7
                            'Output.FlashCompat' => 7
                            'Output.Newline' => -1
                            'Output.SortAttr' => 7
                            'Output.TidyFormat' => 7
                            'Core.TidyFormat' => stdClass#19
                            (
                                [key] => 'Output.TidyFormat'
                                [isAlias] => true
                            )
                            'Test.ForceNoIconv' => 7
                            'URI.AllowedSchemes' => 8
                            'URI.AllowedSymbols' => -1
                            'URI.Base' => -1
                            'URI.DefaultScheme' => -1
                            'URI.DefinitionID' => -1
                            'URI.DefinitionRev' => 5
                            'URI.Disable' => 7
                            'Attr.DisableURI' => stdClass#20
                            (
                                [key] => 'URI.Disable'
                                [isAlias] => true
                            )
                            'URI.DisableExternal' => 7
                            'URI.DisableExternalResources' => 7
                            'URI.DisableResources' => 7
                            'URI.Host' => -1
                            'URI.HostBlacklist' => 9
                            'URI.MakeAbsolute' => 7
                            'URI.Munge' => -1
                            'URI.MungeResources' => 7
                            'URI.MungeSecretKey' => -1
                            'URI.OverrideAllowedSchemes' => 7
                            'URI.SafeIframeHosts' => -8
                            'URI.SafeIframeRegexp' => -1
                        ]
                    )
                    [*:definitions] => [
                        'HTML' => null
                        'URI' => null
                    ]
                    [*:finalized] => true
                    [*:plist] => HTMLPurifier_PropertyList#21
                    (
                        [*:data] => [
                            'HTML.TargetBlank' => true
                            'URI.AllowedSchemes' => [
                                'http' => true
                                'https' => true
                                'mailto' => true
                                'tel' => true
                            ]
                            'AutoFormat.RemoveEmpty' => true
                            'HTML.DefinitionID' => 'html5-definitions'
                            'Cache.SerializerPath' => '/tmp/purifier'
                            'HTML.Allowed' => 'i,b,u,a[href],mark'
                        ]
                        [*:parent] => HTMLPurifier_PropertyList#4(...)
                        [*:cache] => [
                            'Attr.AllowedClasses' => null
                            'Attr.AllowedFrameTargets' => []
                            'Attr.AllowedRel' => []
                            'Attr.AllowedRev' => []
                            'Attr.ClassUseCDATA' => null
                            'Attr.DefaultImageAlt' => null
                            'Attr.DefaultInvalidImage' => ''
                            'Attr.DefaultInvalidImageAlt' => 'Invalid image'
                            'Attr.DefaultTextDir' => 'ltr'
                            'Attr.EnableID' => false
                            'Attr.ForbiddenClasses' => []
                            'Attr.ID.HTML5' => null
                            'Attr.IDBlacklist' => []
                            'Attr.IDBlacklistRegexp' => null
                            'Attr.IDPrefix' => ''
                            'Attr.IDPrefixLocal' => ''
                            'AutoFormat.AutoParagraph' => false
                            'AutoFormat.Custom' => []
                            'AutoFormat.DisplayLinkURI' => false
                            'AutoFormat.Linkify' => false
                            'AutoFormat.PurifierLinkify.DocURL' => '#%s'
                            'AutoFormat.PurifierLinkify' => false
                            'AutoFormat.RemoveEmpty.Predicate' => [
                                'colgroup' => []
                                'th' => []
                                'td' => []
                                'iframe' => [
                                    0 => 'src'
                                ]
                            ]
                            'AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions' => [
                                'td' => true
                                'th' => true
                            ]
                            'AutoFormat.RemoveEmpty.RemoveNbsp' => false
                            'AutoFormat.RemoveEmpty' => true
                            'AutoFormat.RemoveSpansWithoutAttributes' => false
                            'CSS.AllowDuplicates' => false
                            'CSS.AllowImportant' => false
                            'CSS.AllowTricky' => false
                            'CSS.AllowedFonts' => null
                            'CSS.AllowedProperties' => null
                            'CSS.DefinitionRev' => 1
                            'CSS.ForbiddenProperties' => []
                            'CSS.MaxImgLength' => null
                            'CSS.Proprietary' => false
                            'CSS.Trusted' => false
                            'Cache.DefinitionImpl' => 'Serializer'
                            'Cache.SerializerPath' => '/tmp/purifier'
                            'Cache.SerializerPermissions' => 493
                            'Core.AggressivelyFixLt' => true
                            'Core.AggressivelyRemoveScript' => true
                            'Core.AllowHostnameUnderscore' => false
                            'Core.AllowParseManyTags' => false
                            'Core.CollectErrors' => false
                            'Core.ColorKeywords' => [
                                'aliceblue' => '#F0F8FF'
                                'antiquewhite' => '#FAEBD7'
                                'aqua' => '#00FFFF'
                                'aquamarine' => '#7FFFD4'
                                'azure' => '#F0FFFF'
                                'beige' => '#F5F5DC'
                                'bisque' => '#FFE4C4'
                                'black' => '#000000'
                                'blanchedalmond' => '#FFEBCD'
                                'blue' => '#0000FF'
                                'blueviolet' => '#8A2BE2'
                                'brown' => '#A52A2A'
                                'burlywood' => '#DEB887'
                                'cadetblue' => '#5F9EA0'
                                'chartreuse' => '#7FFF00'
                                'chocolate' => '#D2691E'
                                'coral' => '#FF7F50'
                                'cornflowerblue' => '#6495ED'
                                'cornsilk' => '#FFF8DC'
                                'crimson' => '#DC143C'
                                'cyan' => '#00FFFF'
                                'darkblue' => '#00008B'
                                'darkcyan' => '#008B8B'
                                'darkgoldenrod' => '#B8860B'
                                'darkgray' => '#A9A9A9'
                                'darkgrey' => '#A9A9A9'
                                'darkgreen' => '#006400'
                                'darkkhaki' => '#BDB76B'
                                'darkmagenta' => '#8B008B'
                                'darkolivegreen' => '#556B2F'
                                'darkorange' => '#FF8C00'
                                'darkorchid' => '#9932CC'
                                'darkred' => '#8B0000'
                                'darksalmon' => '#E9967A'
                                'darkseagreen' => '#8FBC8F'
                                'darkslateblue' => '#483D8B'
                                'darkslategray' => '#2F4F4F'
                                'darkslategrey' => '#2F4F4F'
                                'darkturquoise' => '#00CED1'
                                'darkviolet' => '#9400D3'
                                'deeppink' => '#FF1493'
                                'deepskyblue' => '#00BFFF'
                                'dimgray' => '#696969'
                                'dimgrey' => '#696969'
                                'dodgerblue' => '#1E90FF'
                                'firebrick' => '#B22222'
                                'floralwhite' => '#FFFAF0'
                                'forestgreen' => '#228B22'
                                'fuchsia' => '#FF00FF'
                                'gainsboro' => '#DCDCDC'
                                'ghostwhite' => '#F8F8FF'
                                'gold' => '#FFD700'
                                'goldenrod' => '#DAA520'
                                'gray' => '#808080'
                                'grey' => '#808080'
                                'green' => '#008000'
                                'greenyellow' => '#ADFF2F'
                                'honeydew' => '#F0FFF0'
                                'hotpink' => '#FF69B4'
                                'indianred' => '#CD5C5C'
                                'indigo' => '#4B0082'
                                'ivory' => '#FFFFF0'
                                'khaki' => '#F0E68C'
                                'lavender' => '#E6E6FA'
                                'lavenderblush' => '#FFF0F5'
                                'lawngreen' => '#7CFC00'
                                'lemonchiffon' => '#FFFACD'
                                'lightblue' => '#ADD8E6'
                                'lightcoral' => '#F08080'
                                'lightcyan' => '#E0FFFF'
                                'lightgoldenrodyellow' => '#FAFAD2'
                                'lightgray' => '#D3D3D3'
                                'lightgrey' => '#D3D3D3'
                                'lightgreen' => '#90EE90'
                                'lightpink' => '#FFB6C1'
                                'lightsalmon' => '#FFA07A'
                                'lightseagreen' => '#20B2AA'
                                'lightskyblue' => '#87CEFA'
                                'lightslategray' => '#778899'
                                'lightslategrey' => '#778899'
                                'lightsteelblue' => '#B0C4DE'
                                'lightyellow' => '#FFFFE0'
                                'lime' => '#00FF00'
                                'limegreen' => '#32CD32'
                                'linen' => '#FAF0E6'
                                'magenta' => '#FF00FF'
                                'maroon' => '#800000'
                                'mediumaquamarine' => '#66CDAA'
                                'mediumblue' => '#0000CD'
                                'mediumorchid' => '#BA55D3'
                                'mediumpurple' => '#9370DB'
                                'mediumseagreen' => '#3CB371'
                                'mediumslateblue' => '#7B68EE'
                                'mediumspringgreen' => '#00FA9A'
                                'mediumturquoise' => '#48D1CC'
                                'mediumvioletred' => '#C71585'
                                'midnightblue' => '#191970'
                                'mintcream' => '#F5FFFA'
                                'mistyrose' => '#FFE4E1'
                                'moccasin' => '#FFE4B5'
                                'navajowhite' => '#FFDEAD'
                                'navy' => '#000080'
                                'oldlace' => '#FDF5E6'
                                'olive' => '#808000'
                                'olivedrab' => '#6B8E23'
                                'orange' => '#FFA500'
                                'orangered' => '#FF4500'
                                'orchid' => '#DA70D6'
                                'palegoldenrod' => '#EEE8AA'
                                'palegreen' => '#98FB98'
                                'paleturquoise' => '#AFEEEE'
                                'palevioletred' => '#DB7093'
                                'papayawhip' => '#FFEFD5'
                                'peachpuff' => '#FFDAB9'
                                'peru' => '#CD853F'
                                'pink' => '#FFC0CB'
                                'plum' => '#DDA0DD'
                                'powderblue' => '#B0E0E6'
                                'purple' => '#800080'
                                'rebeccapurple' => '#663399'
                                'red' => '#FF0000'
                                'rosybrown' => '#BC8F8F'
                                'royalblue' => '#4169E1'
                                'saddlebrown' => '#8B4513'
                                'salmon' => '#FA8072'
                                'sandybrown' => '#F4A460'
                                'seagreen' => '#2E8B57'
                                'seashell' => '#FFF5EE'
                                'sienna' => '#A0522D'
                                'silver' => '#C0C0C0'
                                'skyblue' => '#87CEEB'
                                'slateblue' => '#6A5ACD'
                                'slategray' => '#708090'
                                'slategrey' => '#708090'
                                'snow' => '#FFFAFA'
                                'springgreen' => '#00FF7F'
                                'steelblue' => '#4682B4'
                                'tan' => '#D2B48C'
                                'teal' => '#008080'
                                'thistle' => '#D8BFD8'
                                'tomato' => '#FF6347'
                                'turquoise' => '#40E0D0'
                                'violet' => '#EE82EE'
                                'wheat' => '#F5DEB3'
                                'white' => '#FFFFFF'
                                'whitesmoke' => '#F5F5F5'
                                'yellow' => '#FFFF00'
                                'yellowgreen' => '#9ACD32'
                            ]
                            'Core.ConvertDocumentToFragment' => true
                            'Core.DirectLexLineNumberSyncInterval' => 0
                            'Core.DisableExcludes' => false
                            'Core.EnableIDNA' => false
                            'Core.Encoding' => 'utf-8'
                            'Core.EscapeInvalidChildren' => false
                            'Core.EscapeInvalidTags' => false
                            'Core.EscapeNonASCIICharacters' => false
                            'Core.HiddenElements' => [
                                'script' => true
                                'style' => true
                            ]
                            'Core.Language' => 'en'
                            'Core.LegacyEntityDecoder' => false
                            'Core.LexerImpl' => null
                            'Core.MaintainLineNumbers' => null
                            'Core.NormalizeNewlines' => true
                            'Core.RemoveBlanks' => false
                            'Core.RemoveInvalidImg' => true
                            'Core.RemoveProcessingInstructions' => false
                            'Core.RemoveScriptContents' => null
                            'Filter.Custom' => []
                            'Filter.ExtractStyleBlocks.Escaping' => true
                            'Filter.ExtractStyleBlocks.Scope' => null
                            'Filter.ExtractStyleBlocks.TidyImpl' => null
                            'Filter.ExtractStyleBlocks' => false
                            'Filter.YouTube' => false
                            'HTML.Allowed' => 'i,b,u,a[href],mark'
                            'HTML.AllowedAttributes' => null
                            'HTML.AllowedComments' => []
                            'HTML.AllowedCommentsRegexp' => null
                            'HTML.AllowedElements' => null
                            'HTML.AllowedModules' => null
                            'HTML.Attr.Name.UseCDATA' => false
                            'HTML.BlockWrapper' => 'p'
                            'HTML.CoreModules' => [
                                'Structure' => true
                                'Text' => true
                                'Hypertext' => true
                                'List' => true
                                'NonXMLCommonAttributes' => true
                                'XMLCommonAttributes' => true
                                'CommonAttributes' => true
                            ]
                            'HTML.CustomDoctype' => null
                            'HTML.DefinitionID' => 'html5-definitions'
                            'HTML.DefinitionRev' => 1
                            'HTML.Doctype' => null
                            'HTML.FlashAllowFullScreen' => false
                            'HTML.ForbiddenAttributes' => []
                            'HTML.ForbiddenElements' => []
                            'HTML.Forms' => false
                            'HTML.MaxImgLength' => null
                            'HTML.Nofollow' => false
                            'HTML.Parent' => 'div'
                            'HTML.Proprietary' => false
                            'HTML.SafeEmbed' => false
                            'HTML.SafeIframe' => false
                            'HTML.SafeObject' => false
                            'HTML.SafeScripting' => []
                            'HTML.Strict' => false
                            'HTML.TargetBlank' => true
                            'HTML.TargetNoopener' => true
                            'HTML.TargetNoreferrer' => true
                            'HTML.TidyAdd' => []
                            'HTML.TidyLevel' => 'medium'
                            'HTML.TidyRemove' => []
                            'HTML.Trusted' => false
                            'HTML.XHTML' => true
                            'Output.CommentScriptContents' => true
                            'Output.FixInnerHTML' => true
                            'Output.FlashCompat' => false
                            'Output.Newline' => null
                            'Output.SortAttr' => false
                            'Output.TidyFormat' => false
                            'Test.ForceNoIconv' => false
                            'URI.AllowedSchemes' => [
                                'http' => true
                                'https' => true
                                'mailto' => true
                                'tel' => true
                            ]
                            'URI.AllowedSymbols' => '!$&\'()*+,;='
                            'URI.Base' => null
                            'URI.DefaultScheme' => 'http'
                            'URI.DefinitionID' => null
                            'URI.DefinitionRev' => 1
                            'URI.Disable' => false
                            'URI.DisableExternal' => false
                            'URI.DisableExternalResources' => false
                            'URI.DisableResources' => false
                            'URI.Host' => null
                            'URI.HostBlacklist' => []
                            'URI.MakeAbsolute' => false
                            'URI.Munge' => null
                            'URI.MungeResources' => false
                            'URI.MungeSecretKey' => null
                            'URI.OverrideAllowedSchemes' => true
                            'URI.SafeIframeHosts' => null
                            'URI.SafeIframeRegexp' => null
                        ]
                    )
                    [HTMLPurifier_Config:aliasMode] => null
                    [chatty] => true
                    [HTMLPurifier_Config:lock] => null
                )
            ]
        ]
        3 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php'
            'line' => 72
            'function' => 'cleanup'
            'class' => 'HTMLPurifier_DefinitionCache_Decorator'
            'type' => '->'
            'args' => [
                0 => HTMLPurifier_Config#2(...)
            ]
        ]
        4 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php'
            'line' => 579
            'function' => 'get'
            'class' => 'HTMLPurifier_DefinitionCache_Decorator_Cleanup'
            'type' => '->'
            'args' => [
                0 => HTMLPurifier_Config#2(...)
            ]
        ]
        5 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php'
            'line' => 654
            'function' => 'getDefinition'
            'class' => 'HTMLPurifier_Config'
            'type' => '->'
            'args' => [
                0 => 'HTML'
                1 => true
                2 => true
            ]
        ]
        6 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/codex-team/editor.js/EditorJS/BlockHandler.php'
            'line' => 249
            'function' => 'maybeGetRawHTMLDefinition'
            'class' => 'HTMLPurifier_Config'
            'type' => '->'
            'args' => []
        ]
        7 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/codex-team/editor.js/EditorJS/BlockHandler.php'
            'line' => 218
            'function' => 'getPurifier'
            'class' => 'EditorJS\\BlockHandler'
            'type' => '->'
            'args' => [
                0 => 'i,b,u,a[href],mark'
            ]
        ]
        8 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/codex-team/editor.js/EditorJS/BlockHandler.php'
            'line' => 74
            'function' => 'sanitize'
            'class' => 'EditorJS\\BlockHandler'
            'type' => '->'
            'args' => [
                0 => [
                    'text' => [
                        'type' => 'string'
                        'allowedTags' => 'i,b,u,a[href],mark'
                    ]
                ]
                1 => [
                    'text' => 'Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.'
                ]
            ]
        ]
        9 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/codex-team/editor.js/EditorJS/EditorJS.php'
            'line' => 109
            'function' => 'sanitizeBlock'
            'class' => 'EditorJS\\BlockHandler'
            'type' => '->'
            'args' => [
                0 => 'paragraph'
                1 => [
                    'text' => 'Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.'
                ]
                2 => []
            ]
        ]
        10 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/widgets/content/EditorJs/EditorJsWidget.php'
            'line' => 42
            'function' => 'getBlocks'
            'class' => 'EditorJS\\EditorJS'
            'type' => '->'
            'args' => []
        ]
        11 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/BaseObject.php'
            'line' => 112
            'function' => 'init'
            'class' => 'app\\app_project\\widgets\\content\\EditorJs\\EditorJsWidget'
            'type' => '->'
            'args' => []
        ]
        12 => [
            'function' => '__construct'
            'class' => 'yii\\base\\BaseObject'
            'type' => '->'
            'args' => [
                0 => [
                    'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                ]
            ]
        ]
        13 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/di/Container.php'
            'line' => 440
            'function' => 'newInstanceArgs'
            'class' => 'ReflectionClass'
            'type' => '->'
            'args' => [
                0 => [
                    0 => [
                        'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                    ]
                ]
            ]
        ]
        14 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/di/Container.php'
            'line' => 180
            'function' => 'build'
            'class' => 'yii\\di\\Container'
            'type' => '->'
            'args' => [
                0 => 'app\\app_project\\widgets\\content\\EditorJs\\EditorJsWidget'
                1 => []
                2 => [
                    'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                ]
            ]
        ]
        15 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/BaseYii.php'
            'line' => 380
            'function' => 'get'
            'class' => 'yii\\di\\Container'
            'type' => '->'
            'args' => [
                0 => 'app\\app_project\\widgets\\content\\EditorJs\\EditorJsWidget'
                1 => []
                2 => [
                    'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                ]
            ]
        ]
        16 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/Widget.php'
            'line' => 145
            'function' => 'createObject'
            'class' => 'yii\\BaseYii'
            'type' => '::'
            'args' => [
                0 => [
                    'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                ]
            ]
        ]
        17 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
            'line' => 40
            'function' => 'widget'
            'class' => 'yii\\base\\Widget'
            'type' => '::'
            'args' => [
                0 => [
                    'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                    'class' => 'app\\app_project\\widgets\\content\\EditorJs\\EditorJsWidget'
                ]
            ]
        ]
        18 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/View.php'
            'line' => 347
            'args' => [
                0 => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
            ]
            'function' => 'require'
        ]
        19 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/View.php'
            'line' => 257
            'function' => 'renderPhpFile'
            'class' => 'yii\\base\\View'
            'type' => '->'
            'args' => [
                0 => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
                1 => [
                    'post' => app\app_project\models\blog\BlogPost#22
                    (
                        [yii\base\Component:_events] => [
                            'beforeInsert' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\DateActionBehavior#23
                                        (
                                            [owner] => app\app_project\models\blog\BlogPost#22(...)
                                            [yii\base\Behavior:_attachedEvents] => [
                                                'beforeInsert' => 'dateCreate'
                                                'beforeUpdate' => 'dateUpdate'
                                            ]
                                            [createdAtAttribute] => 'created_at'
                                            [updatedAtAttribute] => 'updated_at'
                                        )
                                        1 => 'dateCreate'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24
                                        (
                                            [owner] => app\app_project\models\blog\BlogPost#22(...)
                                            [yii\base\Behavior:_attachedEvents] => [
                                                'afterFind' => 'getCurrent'
                                                'beforeValidate' => 'getFileInstance'
                                                'afterValidate' => 'getFileInstance'
                                                'beforeInsert' => 'save'
                                                'beforeUpdate' => 'save'
                                                'afterDelete' => 'delete'
                                            ]
                                            [fields] => [
                                                'images/blog/posts' => [
                                                    0 => 'cover_file'
                                                ]
                                            ]
                                            [defaultDir] => 'images'
                                            [maxImageSize] => null
                                            [enableResize] => false
                                            [maxSideSize] => null
                                            [app\app_base\behaviors\BaseFileBehavior:oldFiles] => [
                                                'cover_file' => 'images/blog/posts/m5/qZ/7K/m5qZ7KYZ3r2BoIU.jpg'
                                            ]
                                        )
                                        1 => 'save'
                                    ]
                                    1 => null
                                ]
                            ]
                            'beforeUpdate' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\DateActionBehavior#23(...)
                                        1 => 'dateUpdate'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24(...)
                                        1 => 'save'
                                    ]
                                    1 => null
                                ]
                            ]
                            'afterInsert' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\SeoBehavior#25
                                        (
                                            [owner] => app\app_project\models\blog\BlogPost#22(...)
                                            [yii\base\Behavior:_attachedEvents] => [
                                                'afterInsert' => 'process'
                                                'afterUpdate' => 'process'
                                                'afterDelete' => 'delete'
                                            ]
                                        )
                                        1 => 'process'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\CacheBehavior#26
                                        (
                                            [owner] => app\app_project\models\blog\BlogPost#22(...)
                                            [yii\base\Behavior:_attachedEvents] => [
                                                'afterInsert' => 'deleteCache'
                                                'afterUpdate' => 'deleteCache'
                                                'afterDelete' => 'deleteCache'
                                            ]
                                            [keys] => [
                                                0 => 'blog_posts'
                                                1 => 'blog'
                                            ]
                                        )
                                        1 => 'deleteCache'
                                    ]
                                    1 => null
                                ]
                            ]
                            'afterUpdate' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\SeoBehavior#25(...)
                                        1 => 'process'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\CacheBehavior#26(...)
                                        1 => 'deleteCache'
                                    ]
                                    1 => null
                                ]
                            ]
                            'afterDelete' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\SeoBehavior#25(...)
                                        1 => 'delete'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24(...)
                                        1 => 'delete'
                                    ]
                                    1 => null
                                ]
                                2 => [
                                    0 => [
                                        0 => app\app_base\behaviors\CacheBehavior#26(...)
                                        1 => 'deleteCache'
                                    ]
                                    1 => null
                                ]
                            ]
                            'beforeValidate' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\SluggableBehavior#27
                                        (
                                            [owner] => app\app_project\models\blog\BlogPost#22(...)
                                            [yii\base\Behavior:_attachedEvents] => [
                                                'beforeValidate' => 'evaluateAttributes'
                                            ]
                                            [attributes] => [
                                                'beforeValidate' => 'slug'
                                            ]
                                            [value] => null
                                            [skipUpdateOnClean] => true
                                            [preserveNonEmptyValues] => false
                                            [slugAttribute] => 'slug'
                                            [attribute] => 'title'
                                            [immutable] => false
                                            [ensureUnique] => true
                                            [skipOnEmpty] => false
                                            [uniqueValidator] => []
                                            [uniqueSlugGenerator] => null
                                        )
                                        1 => 'evaluateAttributes'
                                    ]
                                    1 => null
                                ]
                                1 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24(...)
                                        1 => 'getFileInstance'
                                    ]
                                    1 => null
                                ]
                            ]
                            'afterFind' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24(...)
                                        1 => 'getCurrent'
                                    ]
                                    1 => null
                                ]
                            ]
                            'afterValidate' => [
                                0 => [
                                    0 => [
                                        0 => app\app_base\behaviors\FileBehavior#24(...)
                                        1 => 'getFileInstance'
                                    ]
                                    1 => null
                                ]
                            ]
                        ]
                        [yii\base\Component:_eventWildcards] => []
                        [yii\base\Component:_behaviors] => [
                            'app\\app_base\\behaviors\\DateActionBehavior' => app\app_base\behaviors\DateActionBehavior#23(...)
                            'app\\app_base\\behaviors\\SeoBehavior' => app\app_base\behaviors\SeoBehavior#25(...)
                            'app\\app_base\\behaviors\\SluggableBehavior' => app\app_base\behaviors\SluggableBehavior#27(...)
                            'app\\app_base\\behaviors\\FileBehavior' => app\app_base\behaviors\FileBehavior#24(...)
                            'app\\app_base\\behaviors\\CacheBehavior' => app\app_base\behaviors\CacheBehavior#26(...)
                        ]
                        [yii\base\Model:_errors] => null
                        [yii\base\Model:_validators] => null
                        [yii\base\Model:_scenario] => 'default'
                        [yii\db\BaseActiveRecord:_attributes] => [
                            'slug' => 'chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                            'cover_file' => 'images/blog/posts/m5/qZ/7K/m5qZ7KYZ3r2BoIU.jpg'
                            'is_visible' => 1
                            'created_at' => '2026-07-16 22:52:10'
                            'id' => 37
                            'blog_category_id' => 7
                            'blog_author_id' => 1
                            'title' => 'Что такое браслет: история, культурное значение и правила ношения на левой и правой руке'
                            'description' => 'Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики.'
                            'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                            'published_at' => '2026-07-16 22:52:00'
                            'updated_at' => '2026-07-16 22:53:59'
                        ]
                        [yii\db\BaseActiveRecord:_oldAttributes] => [
                            'slug' => 'chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                            'cover_file' => 'images/blog/posts/m5/qZ/7K/m5qZ7KYZ3r2BoIU.jpg'
                            'is_visible' => 1
                            'created_at' => '2026-07-16 22:52:10'
                            'id' => 37
                            'blog_category_id' => 7
                            'blog_author_id' => 1
                            'title' => 'Что такое браслет: история, культурное значение и правила ношения на левой и правой руке'
                            'description' => 'Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики.'
                            'content' => '{\"time\":1784231526322,\"blocks\":[{\"id\":\"njoFxqvGdy\",\"type\":\"paragraph\",\"data\":{\"text\":\"Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики: ношение на правой руке традиционно подчеркивает активную внешнюю энергию, логику и статус (особенно если это золотой браслет), в то время как браслет на левой руке чаще символизирует интуицию, творческое начало и внутреннюю защиту.\"},\"tunes\":{}},{\"id\":\"0ZlLuPnwt_\",\"type\":\"anchorLinks\",\"data\":{\"items\":[{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"anchor\":\"istoriya-brasleta\"},{\"text\":\"Функции браслета в различных культурах: зачем его носили предки\",\"anchor\":\"funktsii-brasleta\"},{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"anchor\":\"na-kakoy-ruke\"},{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"anchor\":\"simvolika-ruk\"},{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"anchor\":\"pravila-i-primety\"},{\"text\":\"Мнение эксперта violet\",\"anchor\":\"expert-block\"},{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"anchor\":\"faq-block\"},{\"text\":\"Источники\",\"anchor\":\"sources-block\"}]},\"tunes\":{}},{\"id\":\"wz2x5ePp8q\",\"type\":\"header\",\"data\":{\"text\":\"История браслета: от первобытного оберега до символа власти\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"istoriya-brasleta\"}}},{\"id\":\"kXpbUMNAes\",\"type\":\"paragraph\",\"data\":{\"text\":\"История браслетов насчитывает десятки тысяч лет — древнейшие археологические находки (например, браслет из зеленоватого хлоритолита, найденный в Денисовой пещере на Алтае) датируются эпохой палеолита. Название украшения произошло от французского слова bracelet, корень которого восходит к латинскому brachium — «рука».\"},\"tunes\":{}},{\"id\":\"HpB4rjPiZb\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>В разные исторические эпохи этот элемент менял свои визуальные формы и материалы:</b>\"},\"tunes\":{}},{\"id\":\"wWmtMJcPtx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tКаменный век: Изделия изготавливались из бивней мамонтов, костей животных, ракушек, кожи и гибких древесных волокон.\"},\"tunes\":{}},{\"id\":\"My4BhcejIx\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревний Египет: Браслеты превратились в массивные золотые обручи, инкрустированные бирюзой, лазуритом и карнеолом. Они плотно ассоциировались с божественной властью фараонов и жрецов.\"},\"tunes\":{}},{\"id\":\"O1QObde-_A\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tАнтичность (Греция и Рим): Браслеты носили как женщины, так и мужчины. Римские воины использовали широкие металлические наручи из бронзы и золота для защиты запястий в ближнем бою.\"},\"tunes\":{}},{\"id\":\"wW7p9TVsly\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tДревняя Русь: Украшения назывались «обручами» или «наручами». Они скрепляли широкие рукава традиционной женской рубахи. На них часто изображались мифологические сюжеты, русалии и орнаменты-обереги.\"},\"tunes\":{}},{\"id\":\"XyE-nl0he-\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/26af84a4302d8d2752d881fcdd318a68.jpg\"},\"caption\":\"История браслета\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"1s01xzNjfA\",\"type\":\"header\",\"data\":{\"text\":\"&nbsp;Функции браслета в различных культурах: зачем его носили предки\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"funktsii-brasleta\"}}},{\"id\":\"0vwjZ2jFUU\",\"type\":\"paragraph\",\"data\":{\"text\":\"Понимая, зачем нужны браслеты в историческом контексте, становится ясно, что декоративная роль всегда была вторичной. Первостепенное обозначение браслетов сводилось к сакральным, социальным и защитным аспектам.\"},\"tunes\":{}},{\"id\":\"Qd-J3ocHwL\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>Основные функции браслета в истории цивилизаций:</b>\"},\"tunes\":{}},{\"id\":\"QPtrGbCrQ7\",\"type\":\"list\",\"data\":{\"style\":\"ordered\",\"items\":[{\"content\":\"Магическая (обережная): Браслет смысл которого заключался в создании замкнутого круга, закрывал энергетические каналы человека на запястьях и защищал от злых духов, сглаза или болезней.\",\"items\":[]},{\"content\":\"Социально-иераХическая: По материалу украшения (золото, платина, кость, железо) мгновенно определялся сословный статус, богатство рода и кастовая принадлежность владельца.\",\"items\":[]},{\"content\":\" Информационная (паспорт воина): В скандинавских и германских племенах тяжелые серебряные и золотые браслеты-гривны вручались конунгом верным воинам как клятва верности и материальный эквивалент боевых заслуг.\",\"items\":[]}]},\"tunes\":{}},{\"id\":\"fxGqwGkGIN\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/c4cf96d67547f665c6d72bb3da399f60.jpg\"},\"caption\":\"Функции браслетов в различных культурах\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"I1OKoEwqG1\",\"type\":\"header\",\"data\":{\"text\":\"На какой руке носят браслет женщины и мужчины: ювелирный этикет\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"na-kakoy-ruke\"}}},{\"id\":\"b492JmGTlL\",\"type\":\"paragraph\",\"data\":{\"text\":\"В современном мире строгих ограничений, предписывающих, на какую руку можно или нельзя надевать украшения, не существует. Главный критерий — личное удобство, сохранность изделия и сочетаемость с другими аксессуарами. Однако современный классический этикет выработал несколько общих рекомендаций.\"},\"tunes\":{}},{\"id\":\"6OahuWBzT4\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет женщины:</b>\"},\"tunes\":{}},{\"id\":\"YUHGy00vRn\",\"type\":\"paragraph\",\"data\":{\"text\":\"Исторически большинство женщин предпочитает надевать браслет на правую руку, поскольку большинство людей являются правшами. Активная правая рука чаще находится на виду при жестикуляции, приветствии или письме, что позволяет эффектно продемонстрировать ювелирное изделие. Если женщина одновременно носит наручные часы, их традиционно надевают на левое запястье, а браслеты — на правое, чтобы металл корпуса и замков не царапал друг друга.\"},\"tunes\":{}},{\"id\":\"IjzeIdqoLx\",\"type\":\"paragraph\",\"data\":{\"text\":\"<b>На какой руке носят браслет мужчины:</b>\"},\"tunes\":{}},{\"id\":\"ehxibL_MVP\",\"type\":\"paragraph\",\"data\":{\"text\":\"Мужской ювелирный этикет более сдержан. Выбирая, на какой руке носят brasslet мужчины, стилисты советуют ориентироваться на баланс с часами. Если на левой руке надеты крупные механические часы, лаконичный кожаный, стальной или золотой браслет перемещают на правую руку. В стиле кэжуал допускается ношение часов и тонкого браслета на одном (обычно левом) запястье.\"},\"tunes\":{}},{\"id\":\"sx_DlwSMgi\",\"type\":\"header\",\"data\":{\"text\":\"Что означают браслеты на руке: символика левой и правой стороны\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"simvolika-ruk\"}}},{\"id\":\"H8PkUBxKIi\",\"type\":\"paragraph\",\"data\":{\"text\":\"Разделение на правую и левую стороны уходит корнями в философию, эзотерику и древние психофизиологические концепции. То, что означает браслет на руке, напрямую связано с полушариями человеческого мозга и потоками энергии.\"},\"tunes\":{}},{\"id\":\"JrtlVTyIFl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на левой руке:</b> Левая сторона во многих восточных философиях (включая концепцию Инь) считается «принимающей». Она отвечает за подсознание, интуицию, творчество, внутренние эмоции и защиту от внешнего негатива. Ношение браслета здесь символизирует желание укрепить внутренний баланс, развить интуитивные способности или защитить личные границы.\"},\"tunes\":{}},{\"id\":\"qcN0b4_LWl\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Браслет на правой руке:</b> Правая сторона (энергия Ян) считается «отдающей». Она управляет логикой, действием, волей, карьерой, внешними коммуникациями и социальным статусом. Твердый золотой браслет на правой руке транслирует окружающим уверенность, материальный успех, авторитет и лидерские качества владельца.\"},\"tunes\":{}},{\"id\":\"1nXPkx03h5\",\"type\":\"image\",\"data\":{\"file\":{\"url\":\"/uploads/editor/images/149edaa32e18067590ada7c465b7f910.jpg\"},\"caption\":\"На какой руке носить браслет\",\"withBorder\":false,\"stretched\":false,\"withBackground\":false},\"tunes\":{}},{\"id\":\"zCaJEtF0Tk\",\"type\":\"header\",\"data\":{\"text\":\"Ювелирные приметы и правила: какие браслеты можно носить вместе\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"pravila-i-primety\"}}},{\"id\":\"KxoiRkUONh\",\"type\":\"paragraph\",\"data\":{\"text\":\"В народном фольклоре и ювелирном сообществе сформировались определенные приметы и правила стиля, которые помогают избежать стилистических ошибок и сохранить целостность украшений.\"},\"tunes\":{}},{\"id\":\"oVvEAzM4ML\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Сочетание металлов</b>: Современная мода позволяет одновременно носить белое золото, платину и классическое желтое золото на одной руке, при условии, что изделия объединены общим стилем или геометрией.\"},\"tunes\":{}},{\"id\":\"Z_Q0M8LioA\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Примета на разрыв</b>: считается, что, если браслет-оберег (например, с натуральными защитными камнями) внезапно рвется или теряется сам по себе, это означает, что он выполнил свою защитную функцию, приняв на себя сильный энергетический удар или отведя беду от владельца.\"},\"tunes\":{}},{\"id\":\"AFNZOwU2AB\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\t<b>Правило соразмерности</b>: Массивные широкие браслеты лучше носить сольно, чтобы не перегружать образ. Утонченные жесткие обручи или цепочки тонкого плетения, напротив, великолепно смотрятся сетами из 3–5 штук на одном запястье.\"},\"tunes\":{}},{\"id\":\"XBWFq9yjdw\",\"type\":\"header\",\"data\":{\"text\":\"Мнение эксперта violet\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"expert-block\"}}},{\"id\":\"HFTc-59uAW\",\"type\":\"quote\",\"data\":{\"text\":\"«Главная ошибка, с которой я сталкиваюсь при подборе украшений для клиентов — это игнорирование соразмерности браслета и анатомических особенностей запястья. Тонкая изящная цепочка просто потеряется на широком запястье, а избыточно массивный, широкий кафф утяжелит хрупкую женскую ручку.Если вы выбираете золотой браслет, который планируете носить каждый день, обратите внимание на эргономику замка и плотность прилегания к коже. Между металлом и запястьем должно оставаться свободноепространство примерно в один палец — тогда изделие будет красиво скользить, подчеркивая хрупкость руки, и не доставит дискомфорта при сгибании кисти. И помните про баланс: если на вашей руке надет крупный, притягивающий внимание стейтмент-браслет, откажитесь от массивных коктейльных колец на этой же кисти, чтобы образ оставался элегантным, а не перегруженным».\",\"caption\":\"Ефремова Мария Владимировна - главный редактор Ювелирного дома VIOLET\",\"alignment\":\"left\"},\"tunes\":{}},{\"id\":\"hHpqU-ephW\",\"type\":\"header\",\"data\":{\"text\":\"Часто задаваемые вопросы (FAQ)\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"faq-block\"}}},{\"id\":\"S6UZkRnZ7Q\",\"type\":\"faq\",\"data\":{\"items\":[{\"question\":\"На какой руке носят браслет женщины по правилам этикета?\",\"answer\":\"Согласно классическому ювелирному этикету, браслет на руке носят женщины преимущественно с правой стороны. Это обусловлено тем, что правая рука чаще находится в движении и на виду при жестикуляции. Однако если на правой руке уже есть массивное акцентное кольцо, украшение лучше переодеть на левую сторону, чтобы сбалансировать ювелирный ансамбль.\"},{\"question\":\"На какой руке носят золотой браслет мужчины и женщины?\",\"answer\":\"Четких гендерных ограничений нет. Но традиционно золотой браслет на какой руке бы ни находился, он должен гармонировать с часами. Изделия из желтого или красного золота чаще надевают на правую руку правши, оставляя левую для наручных часов. Если часы выполнены из стали или белого золота, то золотой браслет теплого оттенка на левой руке рядом с ними носить не стоит — лучше развести их на разные запястья.\"},{\"question\":\"Что означает браслет на левой руке согласно народным приметам?\",\"answer\":\"Народный фольклор и браслет на руку, приметы связывают левое запястье с защитой от сглаза и внутренним миром. Считается, что браслет на левой руке оберегает владельца от зависти, негативной энергетики и помогает сохранить внутреннюю гармонию. Именно на левую сторону принято надевать защитные амулеты, красные нити и браслеты с камнями-оберегами.\"},{\"question\":\"Что значит браслет на правой руке с точки зрения энергетики?\",\"answer\":\"Браслет правая рука воспринимает как символ активного действия. Поскольку правая сторона отвечает за логику, рацио, волю и успех в социуме, украшение на этом запястье активизирует деловые качества, помогает в переговорах и символизирует уверенность в себе. Золотой браслет на этой руке часто носят как манифестацию лидерства и материального достатка.\"},{\"question\":\"Можно ли носить браслеты на руке одновременно на левой и правой стороне?\",\"answer\":\"Да, можно ли носить браслеты на руке сразу на обоих запястьях — вопрос актуальный для современной моды. Это частый прием в стилях бохо или авангард. Главное правило — соблюдать визуальный баланс. Например, если на одной руке надет широкий и массивный браслет-кафф, то на другую руку лучше выбрать сет из нескольких тонких и изящных цепочек, чтобы образ не выглядел перегруженным.\"},{\"question\":\"Для чего носят браслеты из натуральных камней и каков их смысл?\",\"answer\":\"Помимо декоративной функции, такие браслеты и их значение тесно связаны с литотерапией. Браслет символизирует непрерывный круг, транслирующий энергию минерала в тело через биологически активные точки на запястье. Их носят для привлечения удачи, гармонизации эмоционального фона или как персональный якорь для концентрации на личных целях.\"}]},\"tunes\":{}},{\"id\":\"LTZQXWDyRb\",\"type\":\"header\",\"data\":{\"text\":\"Источники\",\"level\":3},\"tunes\":{\"anchorTune\":{\"anchor\":\"sources-block\"}}},{\"id\":\"zSr_qCUW7t\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tГОСТ Р 53047-2008 — Изделия ювелирные. Термины и определения. Классификация и типы конструкций шейных и запястных украшений.\"},\"tunes\":{}},{\"id\":\"vfgjDkXuNu\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tОСТ 117-3-002-95 — Изделия ювелирные из драгоценных металлов. Общие технические условия (в части прочности замковых соединений браслетов и цепей).\"},\"tunes\":{}},{\"id\":\"6FT7hXRpvz\",\"type\":\"paragraph\",\"data\":{\"text\":\"•\\tИсторико-археологические сборники Института археологии РАН (материалы по исследованию древнерусских наручей и античных украшений).\"},\"tunes\":{}}],\"version\":\"2.25.0\"}'
                            'published_at' => '2026-07-16 22:52:00'
                            'updated_at' => '2026-07-16 22:53:59'
                        ]
                        [yii\db\BaseActiveRecord:_related] => [
                            'author' => app\app_project\models\blog\BlogAuthor#28
                            (
                                [yii\base\Component:_events] => [
                                    'beforeInsert' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\DateActionBehavior#29
                                                (
                                                    [owner] => app\app_project\models\blog\BlogAuthor#28(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'beforeInsert' => 'dateCreate'
                                                        'beforeUpdate' => 'dateUpdate'
                                                    ]
                                                    [createdAtAttribute] => 'created_at'
                                                    [updatedAtAttribute] => 'updated_at'
                                                )
                                                1 => 'dateCreate'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30
                                                (
                                                    [owner] => app\app_project\models\blog\BlogAuthor#28(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'afterFind' => 'getCurrent'
                                                        'beforeValidate' => 'getFileInstance'
                                                        'afterValidate' => 'getFileInstance'
                                                        'beforeInsert' => 'save'
                                                        'beforeUpdate' => 'save'
                                                        'afterDelete' => 'delete'
                                                    ]
                                                    [fields] => [
                                                        'images/blog/authors' => [
                                                            0 => 'photo_file'
                                                        ]
                                                    ]
                                                    [defaultDir] => 'images'
                                                    [maxImageSize] => null
                                                    [enableResize] => false
                                                    [maxSideSize] => null
                                                    [app\app_base\behaviors\BaseFileBehavior:oldFiles] => [
                                                        'photo_file' => 'images/blog/authors/l9/0j/Tr/l90jTrfRVp83yKX.jpeg'
                                                    ]
                                                )
                                                1 => 'save'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'beforeUpdate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\DateActionBehavior#29(...)
                                                1 => 'dateUpdate'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30(...)
                                                1 => 'save'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterFind' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30(...)
                                                1 => 'getCurrent'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'beforeValidate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30(...)
                                                1 => 'getFileInstance'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SluggableBehavior#31
                                                (
                                                    [owner] => app\app_project\models\blog\BlogAuthor#28(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'beforeValidate' => 'evaluateAttributes'
                                                    ]
                                                    [attributes] => [
                                                        'beforeValidate' => 'slug'
                                                    ]
                                                    [value] => null
                                                    [skipUpdateOnClean] => true
                                                    [preserveNonEmptyValues] => false
                                                    [slugAttribute] => 'slug'
                                                    [attribute] => 'name'
                                                    [immutable] => false
                                                    [ensureUnique] => true
                                                    [skipOnEmpty] => false
                                                    [uniqueValidator] => []
                                                    [uniqueSlugGenerator] => null
                                                )
                                                1 => 'evaluateAttributes'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterValidate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30(...)
                                                1 => 'getFileInstance'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterDelete' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\FileBehavior#30(...)
                                                1 => 'delete'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\CacheBehavior#32
                                                (
                                                    [owner] => app\app_project\models\blog\BlogAuthor#28(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'afterInsert' => 'deleteCache'
                                                        'afterUpdate' => 'deleteCache'
                                                        'afterDelete' => 'deleteCache'
                                                    ]
                                                    [keys] => [
                                                        0 => 'blog_posts'
                                                        1 => 'blog'
                                                    ]
                                                )
                                                1 => 'deleteCache'
                                            ]
                                            1 => null
                                        ]
                                        2 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#33
                                                (
                                                    [owner] => app\app_project\models\blog\BlogAuthor#28(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'afterInsert' => 'process'
                                                        'afterUpdate' => 'process'
                                                        'afterDelete' => 'delete'
                                                    ]
                                                )
                                                1 => 'delete'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterInsert' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\CacheBehavior#32(...)
                                                1 => 'deleteCache'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#33(...)
                                                1 => 'process'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterUpdate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\CacheBehavior#32(...)
                                                1 => 'deleteCache'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#33(...)
                                                1 => 'process'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                ]
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => [
                                    'app\\app_base\\behaviors\\DateActionBehavior' => app\app_base\behaviors\DateActionBehavior#29(...)
                                    'app\\app_base\\behaviors\\FileBehavior' => app\app_base\behaviors\FileBehavior#30(...)
                                    'app\\app_base\\behaviors\\CacheBehavior' => app\app_base\behaviors\CacheBehavior#32(...)
                                    'app\\app_base\\behaviors\\SluggableBehavior' => app\app_base\behaviors\SluggableBehavior#31(...)
                                    'app\\app_base\\behaviors\\SeoBehavior' => app\app_base\behaviors\SeoBehavior#33(...)
                                ]
                                [yii\base\Model:_errors] => null
                                [yii\base\Model:_validators] => null
                                [yii\base\Model:_scenario] => 'default'
                                [yii\db\BaseActiveRecord:_attributes] => [
                                    'slug' => 'efremova-mariya-vladimirovna'
                                    'photo_file' => 'images/blog/authors/l9/0j/Tr/l90jTrfRVp83yKX.jpeg'
                                    'created_at' => '2026-05-21 22:30:41'
                                    'id' => 1
                                    'name' => 'Ефремова Мария Владимировна'
                                    'description' => 'Главный редактор Ювелирного дома VIOLET'
                                    'updated_at' => '2026-05-26 12:04:26'
                                ]
                                [yii\db\BaseActiveRecord:_oldAttributes] => [
                                    'slug' => 'efremova-mariya-vladimirovna'
                                    'photo_file' => 'images/blog/authors/l9/0j/Tr/l90jTrfRVp83yKX.jpeg'
                                    'created_at' => '2026-05-21 22:30:41'
                                    'id' => 1
                                    'name' => 'Ефремова Мария Владимировна'
                                    'description' => 'Главный редактор Ювелирного дома VIOLET'
                                    'updated_at' => '2026-05-26 12:04:26'
                                ]
                                [yii\db\BaseActiveRecord:_related] => []
                                [yii\db\BaseActiveRecord:_relationsDependencies] => []
                                [pageSize] => [
                                    'web' => 12
                                    'manager' => 40
                                ]
                                [defaultOrder] => [
                                    'web' => [
                                        'id' => 3
                                    ]
                                    'manager' => [
                                        'id' => 4
                                    ]
                                ]
                                [isFormProcess] => false
                                [arrayAttributes] => []
                                [isFromForm] => false
                                [allowCopy] => false
                                [isCopyProcess] => false
                                [*:seoFields] => []
                            )
                            'category' => app\app_project\models\blog\BlogCategory#34
                            (
                                [yii\base\Component:_events] => [
                                    'beforeInsert' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\DateActionBehavior#35
                                                (
                                                    [owner] => app\app_project\models\blog\BlogCategory#34(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'beforeInsert' => 'dateCreate'
                                                        'beforeUpdate' => 'dateUpdate'
                                                    ]
                                                    [createdAtAttribute] => 'created_at'
                                                    [updatedAtAttribute] => 'updated_at'
                                                )
                                                1 => 'dateCreate'
                                            ]
                                            1 => null
                                        ]
                                        1 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SortIndexBehavior#36
                                                (
                                                    [owner] => app\app_project\models\blog\BlogCategory#34(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'beforeInsert' => 'beforeInsert'
                                                    ]
                                                    [sortAttribute] => 'sort_index'
                                                    [groupAttributes] => []
                                                    [*:sortAttributeValueOnSave] => null
                                                )
                                                1 => 'beforeInsert'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'beforeUpdate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\DateActionBehavior#35(...)
                                                1 => 'dateUpdate'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterInsert' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#37
                                                (
                                                    [owner] => app\app_project\models\blog\BlogCategory#34(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'afterInsert' => 'process'
                                                        'afterUpdate' => 'process'
                                                        'afterDelete' => 'delete'
                                                    ]
                                                )
                                                1 => 'process'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterUpdate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#37(...)
                                                1 => 'process'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'afterDelete' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SeoBehavior#37(...)
                                                1 => 'delete'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                    'beforeValidate' => [
                                        0 => [
                                            0 => [
                                                0 => app\app_base\behaviors\SluggableBehavior#38
                                                (
                                                    [owner] => app\app_project\models\blog\BlogCategory#34(...)
                                                    [yii\base\Behavior:_attachedEvents] => [
                                                        'beforeValidate' => 'evaluateAttributes'
                                                    ]
                                                    [attributes] => [
                                                        'beforeValidate' => 'slug'
                                                    ]
                                                    [value] => null
                                                    [skipUpdateOnClean] => true
                                                    [preserveNonEmptyValues] => false
                                                    [slugAttribute] => 'slug'
                                                    [attribute] => 'title'
                                                    [immutable] => false
                                                    [ensureUnique] => true
                                                    [skipOnEmpty] => false
                                                    [uniqueValidator] => []
                                                    [uniqueSlugGenerator] => null
                                                )
                                                1 => 'evaluateAttributes'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                ]
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => [
                                    'app\\app_base\\behaviors\\DateActionBehavior' => app\app_base\behaviors\DateActionBehavior#35(...)
                                    'app\\app_base\\behaviors\\SortIndexBehavior' => app\app_base\behaviors\SortIndexBehavior#36(...)
                                    'app\\app_base\\behaviors\\SeoBehavior' => app\app_base\behaviors\SeoBehavior#37(...)
                                    'app\\app_base\\behaviors\\SluggableBehavior' => app\app_base\behaviors\SluggableBehavior#38(...)
                                ]
                                [yii\base\Model:_errors] => null
                                [yii\base\Model:_validators] => null
                                [yii\base\Model:_scenario] => 'default'
                                [yii\db\BaseActiveRecord:_attributes] => [
                                    'slug' => 'azbuka-yuvelira-bazovye-znaniya'
                                    'sort_index' => 7
                                    'is_visible' => 1
                                    'created_at' => '2026-05-21 22:36:36'
                                    'id' => 7
                                    'title' => '«Азбука ювелира» - базовые знания'
                                    'updated_at' => null
                                ]
                                [yii\db\BaseActiveRecord:_oldAttributes] => [
                                    'slug' => 'azbuka-yuvelira-bazovye-znaniya'
                                    'sort_index' => 7
                                    'is_visible' => 1
                                    'created_at' => '2026-05-21 22:36:36'
                                    'id' => 7
                                    'title' => '«Азбука ювелира» - базовые знания'
                                    'updated_at' => null
                                ]
                                [yii\db\BaseActiveRecord:_related] => []
                                [yii\db\BaseActiveRecord:_relationsDependencies] => []
                                [pageSize] => [
                                    'web' => 12
                                    'manager' => 40
                                ]
                                [defaultOrder] => [
                                    'web' => [
                                        'id' => 3
                                    ]
                                    'manager' => [
                                        'id' => 4
                                    ]
                                ]
                                [isFormProcess] => false
                                [arrayAttributes] => []
                                [isFromForm] => false
                                [allowCopy] => false
                                [isCopyProcess] => false
                                [*:seoFields] => []
                            )
                        ]
                        [yii\db\BaseActiveRecord:_relationsDependencies] => [
                            'blog_author_id' => [
                                'author' => 'author'
                            ]
                            'blog_category_id' => [
                                'category' => 'category'
                            ]
                        ]
                        [pageSize] => [
                            'web' => 12
                            'manager' => 40
                        ]
                        [defaultOrder] => [
                            'web' => [
                                'id' => 3
                            ]
                            'manager' => [
                                'id' => 4
                            ]
                        ]
                        [isFormProcess] => false
                        [arrayAttributes] => []
                        [isFromForm] => false
                        [allowCopy] => false
                        [isCopyProcess] => false
                        [*:seoFields] => []
                    )
                ]
            ]
        ]
        20 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/View.php'
            'line' => 156
            'function' => 'renderFile'
            'class' => 'yii\\base\\View'
            'type' => '->'
            'args' => [
                0 => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
                1 => [
                    'post' => app\app_project\models\blog\BlogPost#22(...)
                ]
                2 => app\app_project\controllers\BlogController#39
                (
                    [yii\base\Component:_events] => []
                    [yii\base\Component:_eventWildcards] => []
                    [yii\base\Component:_behaviors] => []
                    [id] => 'blog'
                    [module] => yii\web\Application#40
                    (
                        [yii\base\Component:_events] => [
                            'beforeRequest' => [
                                0 => [
                                    0 => Closure#41
                                    (
                                        [0] => Closure#41(...)
                                    )
                                    1 => null
                                ]
                                1 => [
                                    0 => Closure#42
                                    (
                                        [0] => Closure#42(...)
                                    )
                                    1 => null
                                ]
                            ]
                            'beforeAction' => [
                                0 => [
                                    0 => Closure#43
                                    (
                                        [0] => Closure#43(...)
                                    )
                                    1 => null
                                ]
                            ]
                        ]
                        [yii\base\Component:_eventWildcards] => []
                        [yii\base\Component:_behaviors] => []
                        [yii\di\ServiceLocator:_components] => [
                            'errorHandler' => yii\web\ErrorHandler#44
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [discardExistingOutput] => true
                                [memoryReserveSize] => 262144
                                [exception] => null
                                [silentExitOnException] => false
                                [yii\base\ErrorHandler:_memoryReserve] => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
                                [yii\base\ErrorHandler:_hhvmException] => null
                                [yii\base\ErrorHandler:_registered] => true
                                [yii\base\ErrorHandler:_workingDirectory] => '/var/www/main/data/www/violet-jewelry-shop.ru/web'
                                [maxSourceLines] => 19
                                [maxTraceSourceLines] => 13
                                [errorAction] => 'errors/index'
                                [errorView] => '@yii/views/errorHandler/error.php'
                                [exceptionView] => '@yii/views/errorHandler/exception.php'
                                [callStackItemView] => '@yii/views/errorHandler/callStackItem.php'
                                [previousExceptionView] => '@yii/views/errorHandler/previousException.php'
                                [displayVars] => [
                                    0 => '_GET'
                                    1 => '_POST'
                                    2 => '_FILES'
                                    3 => '_COOKIE'
                                    4 => '_SESSION'
                                ]
                                [traceLine] => '{html}'
                            )
                            'request' => yii\web\Request#45
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [yii\base\Request:_scriptFile] => null
                                [yii\base\Request:_isConsoleRequest] => null
                                [enableCsrfValidation] => true
                                [csrfHeader] => 'X-CSRF-Token'
                                [csrfTokenSafeMethods] => [
                                    0 => 'GET'
                                    1 => 'HEAD'
                                    2 => 'OPTIONS'
                                ]
                                [csrfHeaderUnsafeMethods] => [
                                    0 => 'GET'
                                    1 => 'HEAD'
                                    2 => 'POST'
                                ]
                                [validateCsrfHeaderOnly] => false
                                [csrfParam] => '_csrf'
                                [csrfCookie] => [
                                    'httpOnly' => true
                                ]
                                [enableCsrfCookie] => true
                                [enableCookieValidation] => true
                                [cookieValidationKey] => 'QLvlb3Z6hjpbUT+uyz72lVHlTc6fIwIrH5jZdtxDiDK28s'
                                [methodParam] => '_method'
                                [parsers] => []
                                [trustedHosts] => []
                                [secureHeaders] => [
                                    0 => 'X-Forwarded-For'
                                    1 => 'X-Forwarded-Host'
                                    2 => 'X-Forwarded-Proto'
                                    3 => 'X-Forwarded-Port'
                                    4 => 'Front-End-Https'
                                    5 => 'X-Rewrite-Url'
                                    6 => 'X-Original-Host'
                                ]
                                [ipHeaders] => [
                                    0 => 'X-Forwarded-For'
                                ]
                                [portHeaders] => [
                                    0 => 'X-Forwarded-Port'
                                ]
                                [secureProtocolHeaders] => [
                                    'X-Forwarded-Proto' => [
                                        0 => 'https'
                                    ]
                                    'Front-End-Https' => [
                                        0 => 'on'
                                    ]
                                ]
                                [yii\web\Request:_cookies] => yii\web\CookieCollection#46
                                (
                                    [readOnly] => true
                                    [yii\web\CookieCollection:_cookies] => []
                                )
                                [yii\web\Request:_headers] => yii\web\HeaderCollection#47
                                (
                                    [yii\web\HeaderCollection:_headers] => [
                                        'host' => [
                                            0 => 'violet-jewelry-shop.ru'
                                        ]
                                        'accept' => [
                                            0 => '*/*'
                                        ]
                                        'user-agent' => [
                                            0 => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
                                        ]
                                        'accept-encoding' => [
                                            0 => 'gzip, br, zstd, deflate'
                                        ]
                                    ]
                                    [yii\web\HeaderCollection:_originalHeaderNames] => [
                                        'host' => 'Host'
                                        'accept' => 'accept'
                                        'user-agent' => 'user-agent'
                                        'accept-encoding' => 'accept-encoding'
                                    ]
                                )
                                [yii\web\Request:_rawBody] => null
                                [yii\web\Request:_bodyParams] => null
                                [yii\web\Request:_queryParams] => null
                                [yii\web\Request:_hostInfo] => 'https://violet-jewelry-shop.ru'
                                [yii\web\Request:_hostName] => 'violet-jewelry-shop.ru'
                                [yii\web\Request:_baseUrl] => ''
                                [yii\web\Request:_scriptUrl] => '/index.php'
                                [yii\web\Request:_scriptFile] => null
                                [yii\web\Request:_pathInfo] => 'blog/post/37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                                [yii\web\Request:_url] => '/blog/post/37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                                [yii\web\Request:_ip] => null
                                [yii\web\Request:_port] => null
                                [yii\web\Request:_securePort] => null
                                [yii\web\Request:_contentTypes] => null
                                [yii\web\Request:_languages] => null
                                [yii\web\Request:_csrfToken] => null
                                [yii\web\Request:_secureForwardedHeaderTrustedParts] => []
                                [yii\web\Request:_secureForwardedHeaderParts] => []
                            )
                            'log' => yii\log\Dispatcher#48
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [targets] => [
                                    0 => yii\log\FileTarget#49
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [categories] => []
                                        [except] => [
                                            0 => 'yii\\web\\HttpException:404'
                                            1 => 'yii\\web\\Session::init'
                                        ]
                                        [logVars] => [
                                            0 => '_GET'
                                            1 => '_POST'
                                            2 => '_FILES'
                                            3 => '_COOKIE'
                                            4 => '_SESSION'
                                            5 => '_SERVER'
                                        ]
                                        [maskVars] => [
                                            0 => '_SERVER.HTTP_AUTHORIZATION'
                                            1 => '_SERVER.PHP_AUTH_USER'
                                            2 => '_SERVER.PHP_AUTH_PW'
                                        ]
                                        [prefix] => null
                                        [exportInterval] => 1000
                                        [messages] => []
                                        [microtime] => false
                                        [yii\log\Target:_levels] => 3
                                        [yii\log\Target:_enabled] => true
                                        [logFile] => '/var/www/main/data/www/violet-jewelry-shop.ru/runtime/logs/app.log'
                                        [enableRotation] => true
                                        [maxFileSize] => 10240
                                        [maxLogFiles] => 5
                                        [fileMode] => null
                                        [dirMode] => 509
                                        [rotateByCopy] => true
                                    )
                                    1 => yii\log\FileTarget#50
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [categories] => [
                                            0 => 'yii\\web\\HttpException:404'
                                        ]
                                        [except] => []
                                        [logVars] => [
                                            0 => '_GET'
                                            1 => '_POST'
                                            2 => '_FILES'
                                            3 => '_COOKIE'
                                            4 => '_SESSION'
                                            5 => '_SERVER'
                                        ]
                                        [maskVars] => [
                                            0 => '_SERVER.HTTP_AUTHORIZATION'
                                            1 => '_SERVER.PHP_AUTH_USER'
                                            2 => '_SERVER.PHP_AUTH_PW'
                                        ]
                                        [prefix] => null
                                        [exportInterval] => 1000
                                        [messages] => []
                                        [microtime] => false
                                        [yii\log\Target:_levels] => 3
                                        [yii\log\Target:_enabled] => true
                                        [logFile] => '/var/www/main/data/www/violet-jewelry-shop.ru/runtime/logs/404/error.log'
                                        [enableRotation] => true
                                        [maxFileSize] => 10240
                                        [maxLogFiles] => 5
                                        [fileMode] => null
                                        [dirMode] => 509
                                        [rotateByCopy] => true
                                    )
                                    2 => notamedia\sentry\SentryTarget#51
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [categories] => []
                                        [except] => []
                                        [logVars] => [
                                            0 => '_GET'
                                            1 => '_POST'
                                            2 => '_FILES'
                                            3 => '_COOKIE'
                                            4 => '_SESSION'
                                            5 => '_SERVER'
                                        ]
                                        [maskVars] => [
                                            0 => '_SERVER.HTTP_AUTHORIZATION'
                                            1 => '_SERVER.PHP_AUTH_USER'
                                            2 => '_SERVER.PHP_AUTH_PW'
                                        ]
                                        [prefix] => null
                                        [exportInterval] => 1000
                                        [messages] => []
                                        [microtime] => false
                                        [yii\log\Target:_levels] => 3
                                        [yii\log\Target:_enabled] => true
                                        [dsn] => 'https://4d7c450b658d44158ed9816b16620b14@e.d.ilya-z.ru/4'
                                        [clientOptions] => [
                                            'environment' => 'prod'
                                            'tags' => [
                                                'mode' => 'web'
                                            ]
                                        ]
                                        [context] => true
                                        [extraCallback] => null
                                    )
                                    'debug' => yii\debug\LogTarget#52
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [categories] => []
                                        [except] => []
                                        [logVars] => [
                                            0 => '_GET'
                                            1 => '_POST'
                                            2 => '_FILES'
                                            3 => '_COOKIE'
                                            4 => '_SESSION'
                                            5 => '_SERVER'
                                        ]
                                        [maskVars] => [
                                            0 => '_SERVER.HTTP_AUTHORIZATION'
                                            1 => '_SERVER.PHP_AUTH_USER'
                                            2 => '_SERVER.PHP_AUTH_PW'
                                        ]
                                        [prefix] => null
                                        [exportInterval] => 1000
                                        [messages] => []
                                        [microtime] => false
                                        [yii\log\Target:_levels] => 0
                                        [yii\log\Target:_enabled] => true
                                        [module] => yii\debug\Module#53
                                        (
                                            [yii\base\Component:_events] => []
                                            [yii\base\Component:_eventWildcards] => []
                                            [yii\base\Component:_behaviors] => null
                                            [yii\di\ServiceLocator:_components] => []
                                            [yii\di\ServiceLocator:_definitions] => []
                                            [params] => []
                                            [id] => 'debug'
                                            [module] => yii\web\Application#40(...)
                                            [layout] => null
                                            [controllerMap] => []
                                            [controllerNamespace] => 'yii\\debug\\controllers'
                                            [defaultRoute] => 'default'
                                            [yii\base\Module:_basePath] => null
                                            [yii\base\Module:_controllerPath] => null
                                            [yii\base\Module:_viewPath] => null
                                            [yii\base\Module:_layoutPath] => null
                                            [yii\base\Module:_modules] => []
                                            [yii\base\Module:_version] => null
                                            [allowedIPs] => []
                                            [allowedHosts] => []
                                            [checkAccessCallback] => null
                                            [logTarget] => yii\debug\LogTarget#52(...)
                                            [authManager] => 'authManager'
                                            [panels] => [
                                                'config' => yii\debug\panels\ConfigPanel#54
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'config'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                )
                                                'log' => yii\debug\panels\LogPanel#55
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'log'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [yii\debug\panels\LogPanel:_models] => null
                                                )
                                                'profiling' => yii\debug\panels\ProfilingPanel#56
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'profiling'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [yii\debug\panels\ProfilingPanel:_models] => null
                                                )
                                                'db' => yii\debug\panels\DbPanel#57
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'db'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => [
                                                        'db-explain' => [
                                                            'class' => 'yii\\debug\\actions\\db\\ExplainAction'
                                                            'panel' => yii\debug\panels\DbPanel#57(...)
                                                        ]
                                                    ]
                                                    [*:error] => null
                                                    [criticalQueryThreshold] => null
                                                    [excessiveCallerThreshold] => null
                                                    [ignoredPathsInBacktrace] => []
                                                    [db] => 'db'
                                                    [defaultOrder] => [
                                                        'seq' => 4
                                                    ]
                                                    [defaultFilter] => []
                                                    [yii\debug\panels\DbPanel:_models] => null
                                                    [yii\debug\panels\DbPanel:_timings] => null
                                                    [yii\debug\panels\DbPanel:_profileLogs] => null
                                                    [dbEventNames] => [
                                                        0 => 'yii\\db\\Command::query'
                                                        1 => 'yii\\db\\Command::execute'
                                                    ]
                                                )
                                                'event' => yii\debug\panels\EventPanel#58
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'event'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [yii\debug\panels\EventPanel:_events] => [
                                                        0 => [
                                                            'time' => 1792026565.7901
                                                            'name' => 'beforeRequest'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'yii\\web\\Application'
                                                        ]
                                                        1 => [
                                                            'time' => 1792026565.7907
                                                            'name' => 'beforeAction'
                                                            'class' => 'yii\\base\\ActionEvent'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'yii\\web\\Application'
                                                        ]
                                                        2 => [
                                                            'time' => 1792026565.7908
                                                            'name' => 'beforeAction'
                                                            'class' => 'yii\\base\\ActionEvent'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\controllers\\BlogController'
                                                        ]
                                                        3 => [
                                                            'time' => 1792026565.7909
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        4 => [
                                                            'time' => 1792026565.7913
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogPost'
                                                        ]
                                                        5 => [
                                                            'time' => 1792026565.7915
                                                            'name' => 'afterFind'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogPost'
                                                        ]
                                                        6 => [
                                                            'time' => 1792026565.7915
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        7 => [
                                                            'time' => 1792026565.7915
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogPost'
                                                        ]
                                                        8 => [
                                                            'time' => 1792026565.7916
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        9 => [
                                                            'time' => 1792026565.7921
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        10 => [
                                                            'time' => 1792026565.7924
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        11 => [
                                                            'time' => 1792026565.7925
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        12 => [
                                                            'time' => 1792026565.7928
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        13 => [
                                                            'time' => 1792026565.7931
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        14 => [
                                                            'time' => 1792026565.7936
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        15 => [
                                                            'time' => 1792026565.7945
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogAuthor'
                                                        ]
                                                        16 => [
                                                            'time' => 1792026565.7947
                                                            'name' => 'afterFind'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogAuthor'
                                                        ]
                                                        17 => [
                                                            'time' => 1792026565.7948
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        18 => [
                                                            'time' => 1792026565.7954
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\models\\pages\\CorePage'
                                                        ]
                                                        19 => [
                                                            'time' => 1792026565.7955
                                                            'name' => 'afterFind'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\models\\pages\\CorePage'
                                                        ]
                                                        20 => [
                                                            'time' => 1792026565.7955
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                        21 => [
                                                            'time' => 1792026565.7958
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogCategory'
                                                        ]
                                                        22 => [
                                                            'time' => 1792026565.796
                                                            'name' => 'afterFind'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_project\\models\\blog\\BlogCategory'
                                                        ]
                                                        23 => [
                                                            'time' => 1792026565.796
                                                            'name' => 'beforeRender'
                                                            'class' => 'yii\\base\\ViewEvent'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\base\\View'
                                                        ]
                                                        24 => [
                                                            'time' => 1792026565.7962
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\widgets\\Breadcrumbs'
                                                        ]
                                                        25 => [
                                                            'time' => 1792026565.7962
                                                            'name' => 'beforeRun'
                                                            'class' => 'yii\\base\\WidgetEvent'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\widgets\\Breadcrumbs'
                                                        ]
                                                        26 => [
                                                            'time' => 1792026565.7965
                                                            'name' => 'afterRun'
                                                            'class' => 'yii\\base\\WidgetEvent'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\widgets\\Breadcrumbs'
                                                        ]
                                                        27 => [
                                                            'time' => 1792026565.7965
                                                            'name' => 'init'
                                                            'class' => 'yii\\base\\Event'
                                                            'isStatic' => '0'
                                                            'senderClass' => 'app\\app_base\\db\\ActiveQuery'
                                                        ]
                                                    ]
                                                )
                                                'mail' => yii\debug\panels\MailPanel#59
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'mail'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [mailPath] => '@runtime/debug/mail'
                                                    [yii\debug\panels\MailPanel:_messages] => []
                                                )
                                                'timeline' => yii\debug\panels\TimelinePanel#60
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'timeline'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [yii\debug\panels\TimelinePanel:_colors] => [
                                                        20 => '#1e6823'
                                                        10 => '#44a340'
                                                        1 => '#8cc665'
                                                    ]
                                                    [yii\debug\panels\TimelinePanel:_models] => null
                                                    [yii\debug\panels\TimelinePanel:_start] => null
                                                    [yii\debug\panels\TimelinePanel:_end] => null
                                                    [yii\debug\panels\TimelinePanel:_duration] => null
                                                    [yii\debug\panels\TimelinePanel:_svg] => null
                                                    [yii\debug\panels\TimelinePanel:_svgOptions] => [
                                                        'class' => 'yii\\debug\\models\\timeline\\Svg'
                                                    ]
                                                    [yii\debug\panels\TimelinePanel:_memory] => null
                                                )
                                                'dump' => yii\debug\panels\DumpPanel#61
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'dump'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [categories] => [
                                                        0 => 'application'
                                                    ]
                                                    [highlight] => true
                                                    [depth] => 10
                                                    [varDumpCallback] => null
                                                    [yii\debug\panels\DumpPanel:_models] => null
                                                )
                                                'router' => yii\debug\panels\RouterPanel#62
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'router'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [yii\debug\panels\RouterPanel:_categories] => [
                                                        0 => 'yii\\web\\UrlManager::parseRequest'
                                                        1 => 'yii\\web\\UrlRule::parseRequest'
                                                        2 => 'yii\\web\\CompositeUrlRule::parseRequest'
                                                        3 => 'yii\\rest\\UrlRule::parseRequest'
                                                    ]
                                                )
                                                'request' => yii\debug\panels\RequestPanel#63
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'request'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [displayVars] => [
                                                        0 => '_SERVER'
                                                        1 => '_GET'
                                                        2 => '_POST'
                                                        3 => '_COOKIE'
                                                        4 => '_FILES'
                                                        5 => '_SESSION'
                                                    ]
                                                    [censoredVariableNames] => []
                                                    [censorString] => '****'
                                                )
                                                'user' => yii\debug\panels\UserPanel#64
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'user'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                    [ruleUserSwitch] => [
                                                        'allow' => false
                                                    ]
                                                    [userSwitch] => null
                                                    [filterModel] => null
                                                    [filterColumns] => []
                                                    [userComponent] => 'user'
                                                    [displayName] => 'User'
                                                )
                                                'asset' => yii\debug\panels\AssetPanel#65
                                                (
                                                    [yii\base\Component:_events] => []
                                                    [yii\base\Component:_eventWildcards] => []
                                                    [yii\base\Component:_behaviors] => null
                                                    [id] => 'asset'
                                                    [tag] => null
                                                    [module] => yii\debug\Module#53(...)
                                                    [data] => null
                                                    [actions] => []
                                                    [*:error] => null
                                                )
                                            ]
                                            [defaultPanel] => 'log'
                                            [dataPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/runtime/debug'
                                            [fileMode] => null
                                            [dirMode] => 509
                                            [historySize] => '10000'
                                            [defaultHeight] => 50
                                            [toolbarPosition] => 'bottom'
                                            [enableDebugLogs] => false
                                            [disableIpRestrictionWarning] => true
                                            [disableCallbackRestrictionWarning] => false
                                            [traceLine] => '<a href=\"phpstorm://open?file={file}&line={line}\">{file}:{line}</a>'
                                            [tracePathMappings] => []
                                            [urlRuleClass] => 'yii\\web\\UrlRule'
                                            [pageTitle] => null
                                            [skipAjaxRequestUrl] => []
                                        )
                                        [tag] => '6ad027c5c0dd7'
                                    )
                                ]
                                [yii\log\Dispatcher:_logger] => yii\log\Logger#66
                                (
                                    [yii\base\Component:_events] => []
                                    [yii\base\Component:_eventWildcards] => []
                                    [yii\base\Component:_behaviors] => null
                                    [messages] => [
                                        0 => [
                                            0 => 'SELECT COUNT(*) FROM `base_geo_cities` WHERE `is_visible`=1'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.784
                                            4 => []
                                            5 => 865456
                                        ]
                                        1 => [
                                            0 => 'SELECT * FROM `base_geo_cities` WHERE (`is_default`=1) AND (`is_visible`=1)'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7841
                                            4 => []
                                            5 => 865976
                                        ]
                                        2 => [
                                            0 => 'SELECT `slug` FROM `base_text_pages`'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7854
                                            4 => []
                                            5 => 1069080
                                        ]
                                        3 => [
                                            0 => 'Opening DB connection: mysql:host=localhost;dbname=jewelry_shop_db'
                                            1 => 4
                                            2 => 'yii\\db\\Connection::open'
                                            3 => 1792026565.7854
                                            4 => []
                                            5 => 1069392
                                        ]
                                        4 => [
                                            0 => 'Opening DB connection: mysql:host=localhost;dbname=jewelry_shop_db'
                                            1 => 80
                                            2 => 'yii\\db\\Connection::open'
                                            3 => 1792026565.7854
                                            4 => []
                                            5 => 1069608
                                        ]
                                        5 => [
                                            0 => 'Opening DB connection: mysql:host=localhost;dbname=jewelry_shop_db'
                                            1 => 96
                                            2 => 'yii\\db\\Connection::open'
                                            3 => 1792026565.7869
                                            4 => []
                                            5 => 1111928
                                        ]
                                        6 => [
                                            0 => 'SELECT `slug` FROM `base_text_pages`'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7869
                                            4 => []
                                            5 => 1112624
                                        ]
                                        7 => [
                                            0 => 'SELECT `slug` FROM `base_text_pages`'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7889
                                            4 => []
                                            5 => 1113400
                                        ]
                                        8 => [
                                            0 => 'SELECT `old_slug` FROM `base_slug_redirects` WHERE `obj_type`=\'TextPage\' GROUP BY `old_slug`'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.789
                                            4 => []
                                            5 => 1115192
                                        ]
                                        9 => [
                                            0 => 'SELECT `old_slug` FROM `base_slug_redirects` WHERE `obj_type`=\'TextPage\' GROUP BY `old_slug`'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7891
                                            4 => []
                                            5 => 1116264
                                        ]
                                        10 => [
                                            0 => 'SELECT `old_slug` FROM `base_slug_redirects` WHERE `obj_type`=\'TextPage\' GROUP BY `old_slug`'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7893
                                            4 => []
                                            5 => 1116688
                                        ]
                                        11 => [
                                            0 => 'SELECT * FROM `proj_blog_posts` WHERE ((`id`=\'37\') AND (`slug`=\'chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke\')) AND (`is_visible`=1) AND (`published_at` <= \'2026-10-15 04:09:25\')'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.791
                                            4 => []
                                            5 => 1194680
                                        ]
                                        12 => [
                                            0 => 'SELECT * FROM `proj_blog_posts` WHERE ((`id`=\'37\') AND (`slug`=\'chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke\')) AND (`is_visible`=1) AND (`published_at` <= \'2026-10-15 04:09:25\')'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.791
                                            4 => []
                                            5 => 1195280
                                        ]
                                        13 => [
                                            0 => 'SELECT * FROM `proj_blog_posts` WHERE ((`id`=\'37\') AND (`slug`=\'chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke\')) AND (`is_visible`=1) AND (`published_at` <= \'2026-10-15 04:09:25\')'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7913
                                            4 => []
                                            5 => 1222592
                                        ]
                                        14 => [
                                            0 => 'SELECT * FROM `base_model_classes` WHERE `name`=\'proj_blog_post\''
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7916
                                            4 => []
                                            5 => 1279432
                                        ]
                                        15 => [
                                            0 => 'SELECT * FROM `base_model_classes` WHERE `name`=\'proj_blog_post\''
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7916
                                            4 => []
                                            5 => 1280344
                                        ]
                                        16 => [
                                            0 => 'SELECT * FROM `base_model_classes` WHERE `name`=\'proj_blog_post\''
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7918
                                            4 => []
                                            5 => 1281312
                                        ]
                                        17 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7919
                                            4 => []
                                            5 => 1282864
                                        ]
                                        18 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7919
                                            4 => []
                                            5 => 1283464
                                        ]
                                        19 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7921
                                            4 => []
                                            5 => 1283928
                                        ]
                                        20 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_description\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7922
                                            4 => []
                                            5 => 1284488
                                        ]
                                        21 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_description\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7922
                                            4 => []
                                            5 => 1285088
                                        ]
                                        22 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_description\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7923
                                            4 => []
                                            5 => 1285552
                                        ]
                                        23 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_keywords\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7924
                                            4 => []
                                            5 => 1285736
                                        ]
                                        24 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_keywords\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7924
                                            4 => []
                                            5 => 1286336
                                        ]
                                        25 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_keywords\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7925
                                            4 => []
                                            5 => 1286800
                                        ]
                                        26 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_noindex\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7926
                                            4 => []
                                            5 => 1286984
                                        ]
                                        27 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_noindex\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7926
                                            4 => []
                                            5 => 1287584
                                        ]
                                        28 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'meta_noindex\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7927
                                            4 => []
                                            5 => 1288048
                                        ]
                                        29 => [
                                            0 => 'SELECT EXISTS(SELECT * FROM `base_geo_cities` LIMIT 1) AS `result`'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7928
                                            4 => []
                                            5 => 1285536
                                        ]
                                        30 => [
                                            0 => 'SELECT EXISTS(SELECT * FROM `base_geo_cities` LIMIT 1) AS `result`'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7928
                                            4 => []
                                            5 => 1286232
                                        ]
                                        31 => [
                                            0 => 'SELECT EXISTS(SELECT * FROM `base_geo_cities` LIMIT 1) AS `result`'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.793
                                            4 => []
                                            5 => 1286472
                                        ]
                                        32 => [
                                            0 => 'SELECT `output_file` FROM `base_image_processing_tasks`'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7932
                                            4 => []
                                            5 => 1289112
                                        ]
                                        33 => [
                                            0 => 'SELECT `output_file` FROM `base_image_processing_tasks`'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7932
                                            4 => []
                                            5 => 1290448
                                        ]
                                        34 => [
                                            0 => 'SELECT `output_file` FROM `base_image_processing_tasks`'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7933
                                            4 => []
                                            5 => 1291000
                                        ]
                                        35 => [
                                            0 => 'SELECT * FROM `proj_blog_authors` WHERE `id`=1'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7937
                                            4 => []
                                            5 => 1360080
                                        ]
                                        36 => [
                                            0 => 'SELECT * FROM `proj_blog_authors` WHERE `id`=1'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7937
                                            4 => []
                                            5 => 1360992
                                        ]
                                        37 => [
                                            0 => 'SELECT * FROM `proj_blog_authors` WHERE `id`=1'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7945
                                            4 => []
                                            5 => 1362264
                                        ]
                                        38 => [
                                            0 => 'SELECT * FROM `base_core_pages` WHERE `name`=\'blog\''
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7951
                                            4 => []
                                            5 => 1405368
                                        ]
                                        39 => [
                                            0 => 'SELECT * FROM `base_core_pages` WHERE `name`=\'blog\''
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7951
                                            4 => []
                                            5 => 1406280
                                        ]
                                        40 => [
                                            0 => 'SELECT * FROM `base_core_pages` WHERE `name`=\'blog\''
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7954
                                            4 => []
                                            5 => 1407200
                                        ]
                                        41 => [
                                            0 => 'SELECT * FROM `proj_blog_categories` WHERE `id`=7'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7956
                                            4 => []
                                            5 => 1418032
                                        ]
                                        42 => [
                                            0 => 'SELECT * FROM `proj_blog_categories` WHERE `id`=7'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7956
                                            4 => []
                                            5 => 1418944
                                        ]
                                        43 => [
                                            0 => 'SELECT * FROM `proj_blog_categories` WHERE `id`=7'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7957
                                            4 => []
                                            5 => 1420008
                                        ]
                                        44 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'h1_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC LIMIT 1'
                                            1 => 4
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7966
                                            4 => []
                                            5 => 1474072
                                        ]
                                        45 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'h1_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC LIMIT 1'
                                            1 => 80
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7966
                                            4 => []
                                            5 => 1474672
                                        ]
                                        46 => [
                                            0 => 'SELECT `value` FROM `base_seo_fields` WHERE (`model_class_id`=9) AND (`model_id`=37) AND (`name`=\'h1_title\') AND (`city_id`=1 OR `city_id` IS NULL) ORDER BY `city_id` DESC LIMIT 1'
                                            1 => 96
                                            2 => 'yii\\db\\Command::query'
                                            3 => 1792026565.7969
                                            4 => []
                                            5 => 1475136
                                        ]
                                    ]
                                    [flushInterval] => 1000
                                    [traceLevel] => 0
                                    [dispatcher] => yii\log\Dispatcher#48(...)
                                    [dbEventNames] => [
                                        0 => 'yii\\db\\Command::query'
                                        1 => 'yii\\db\\Command::execute'
                                    ]
                                    [profilingAware] => false
                                )
                            )
                            'settings' => app\app_project\components\Settings#67
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [*:_values] => [
                                    'sitename' => ''
                                    'domain' => 'violet-jewelry-shop.ru'
                                    'logo_file' => ''
                                    'logo_text' => ''
                                    'logo_descriptor' => ''
                                    'favicon_image' => ''
                                    'favicon_svg' => ''
                                    'favicon_color' => ''
                                    'currency' => 'rub'
                                    'contacts_address' => ''
                                    'contacts_telephones' => '[{\"number\":\"+7 (978) 600-13-88\",\"label\":\"\"}]'
                                    'contacts_emails' => '[{\"mail\":\"shop@violet-jewelry.com\",\"label\":\"\"}]'
                                    'contacts_socials' => '[{\"url\":\"https:\\/\\/vk.com\\/violet.jewelry\",\"label\":\"vk\"},{\"url\":\"https:\\/\\/t.me\\/violetjewelry\",\"label\":\"telegram\"}]'
                                    'contacts_messenger_whatsapp' => ''
                                    'contacts_messenger_viber' => ''
                                    'contacts_messenger_telegram' => ''
                                    'main_page_intro_title' => ''
                                    'main_page_intro_text' => ''
                                    'main_page_intro_link_label' => ''
                                    'main_page_products_count' => '12'
                                    'posts_page_name' => ''
                                    'posts_page_description' => ''
                                    'noindex' => '1'
                                    'show_other_cities_in_catalog' => '1'
                                    'robots' => 'User-Agent: *
Disallow: /manager
Disallow: /cart
Disallow: */filters/*
Disallow: */sort/*
Allow: *products*

User-Agent: Googlebot
Disallow: /manager
Disallow: /cart
Disallow: */filters/*
Disallow: */sort/*
Allow: *products*

User-Agent: Yandex
Disallow: /manager
Disallow: /cart
Disallow: */filters/*
Disallow: */sort/*
Allow: *products*

Sitemap: {сайтмап}'
                                    'seo_geo_redirect_subdomain' => 'i'
                                    'seo_product_meta_title_template' => '{название} купить в {городе} от {цена} арт. {артикул} | ЮД Виолет'
                                    'seo_product_meta_description_template' => '{h1} купить в {городе}. Авторские изделия из золота 585 пробы на официальном сайте Violet. Гарантия качества на изделия. Страховка и быстрая доставка по РФ.'
                                    'header_code' => ''
                                    'footer_code' => ''
                                    'notifications_email' => ''
                                    'api_dadata_key' => ''
                                    'export_yandex_yml_enabled' => '1'
                                    'export_yandex_yml_shop_name' => 'Интернет-магазин Виолет'
                                    'export_yandex_yml_company_name' => 'ООО «Торговый Дом «Виолет»'
                                    'export_yandex_yml_url' => 'qCcJRdsP5L9BsOEkMYs5wvGNVpyjEgC0ZeAFz0GPg4fa0oiK90'
                                    'contacts_phones' => '[{\"number\":\"8 (800) 505-84-40\",\"label\":\"\"}]'
                                    'contacts_work_time' => 'Пн- Пт 9:00 — 17:00 МСК'
                                    'seo_global_noindex' => '0'
                                    'seo_robots' => 'User-Agent: Googlebot
Disallow: /cart
Disallow: /cart/
Disallow: /checkout
Disallow: /checkout/
Disallow: /order/
Disallow: /auth
Disallow: /auth/
Disallow: /login
Disallow: /register
Disallow: /user/
Disallow: /profile/
Disallow: /search/
Disallow: /catalog/search/
Disallow: /compare
Disallow: /compare/
Disallow: /wishlist
Disallow: /wishlist/
Disallow: /favorites/
Disallow: */filters/
Disallow: */sort/
Disallow: *sort=
Disallow: *limit=
Disallow: *view=
Allow: /jewelries
Allow: /jewelries/

User-Agent: Yandex
Clean-param: page&per-page&sort&limit&view&ybaip&etext&previewColor /
Disallow: /cart
Disallow: /cart/
Disallow: /checkout
Disallow: /checkout/
Disallow: /order/
Disallow: /auth
Disallow: /auth/
Disallow: /login
Disallow: /register
Disallow: /user/
Disallow: /profile/
Disallow: /search/
Disallow: /catalog/search/
Disallow: /compare
Disallow: /compare/
Disallow: /wishlist
Disallow: /wishlist/
Disallow: /favorites/
Disallow: */filters/
Disallow: */sort/
Allow: /jewelries
Allow: /jewelries/

User-Agent: *
Disallow: /cart
Disallow: /cart/
Disallow: /checkout
Disallow: /checkout/
Disallow: /order/
Disallow: /auth
Disallow: /auth/
Disallow: /login
Disallow: /register
Disallow: /user/
Disallow: /profile/
Disallow: /search/
Disallow: /catalog/search/
Disallow: /compare
Disallow: /compare/
Disallow: /wishlist
Disallow: /wishlist/
Disallow: /favorites/
Disallow: */filters/
Disallow: */sort/
Disallow: *sort=
Disallow: *order=
Disallow: *limit=
Disallow: *view=
Allow: /jewelries
Allow: /jewelries/

User-agent: GPTBot
User-agent: ChatGPT-User
User-agent: Google-Extended
User-agent: YandexGPT
User-agent: PerplexityBot
User-agent: ClaudeBot
User-agent: AnthropicAI
User-agent: Claude-Web
User-agent: CCBot
Allow: /jewelries
Allow: /jewelries/
Disallow: /cart
Disallow: /auth
Disallow: /search/
Disallow: *ybaip=
Disallow: *etext=
Disallow: *previewColor=

Sitemap: {сайтмап}'
                                    'html_head' => ''
                                    'html_footer' => '<script src=\"//code.jivosite.com/widget.js\" data-jv-id=\"PMc8FJq53z\" async></script>
<!-- Yandex.Metrika counter -->
<script type=\"text/javascript\">
    (function(m,e,t,r,i,k,a){
        m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
        m[i].l=1*new Date();
        for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
        k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
    })(window, document,\'script\',\'https://mc.yandex.ru/metrika/tag.js?id=56450410\', \'ym\');

    ym(56450410, \'init\', {ssr:true, webvisor:true, clickmap:true, ecommerce:\"dataLayer\", referrer: document.referrer, url: location.href, accurateTrackBounce:true, trackLinks:true});
window.dataLayer = window.dataLayer || [];
ym(56450410, \'getClientID\', function(clientID) {
    const days = 30;
    const date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    
    document.cookie = \"ym_client_id=\" + clientID + 
                     \"; expires=\" + date.toUTCString() + 
                     \"; path=/; domain=.violet-jewelry-shop.ru\";
});
</script>
<noscript><div><img src=\"https://mc.yandex.ru/watch/56450410\" style=\"position:absolute; left:-9999px;\" alt=\"\" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<script type=\"text/javascript\">!function(){var t=document.createElement(\"script\");t.type=\"text/javascript\",t.async=!0,t.src=\'https://vk.com/js/api/openapi.js?169\',t.onload=function(){VK.Retargeting.Init(\"VK-RTRG-1225421-dLqZM\"),VK.Retargeting.Hit()},document.head.appendChild(t)}();</script><noscript><img src=\"https://vk.com/rtrg?p=VK-RTRG-1225421-dLqZM\" style=\"position:fixed; left:-999px;\" alt=\"\"/></noscript>'
                                    'dadata_api_key' => 'df7cffd00f148afbef488a1459d520c630b0ebce'
                                    'seo_catalog_other_cities' => '1'
                                    'site_name' => 'Ювелирный дом VIOLET'
                                    'site_copyright' => ''
                                    'logo_slogan_footer' => ''
                                    'yandex_organization_rating_widget' => ''
                                    'emails_for_notifications' => ''
                                    'home_page_hero_title' => 'Карнизы
и комплектующие
для римских штор'
                                    'home_page_hero_sub_title' => 'Под заказ с доставкой по всей России'
                                    'jewelries_title_template' => '{ТИП} из {ЦВЕТ} {МЕТАЛЛ} {ПРОБА} {ДОП_МЕТАЛЛ} {ПРОБА_ДОП_МЕТАЛЛ} {ВСТАВКИ}'
                                    'jewelries_exclude_materials' => '[\"47770947\"]'
                                    'enable_maintenance' => '0'
                                    'ai_jewelry_description_prompt' => 'Сделай описание для изделия.
Вместо имени коллекции впиши {collection}. Описание должно быть продающим и лаконичным и написанным под сео. Не надо выделять, что изделие из новой коллекции (в будущем она не будет новой) и не надо выделят что это эталонное изделие (мы этого не знаем). Количество символов в описании не менее 900. Не используй символы *.
Используй только те характеристики что указаны мной, не придумывай свои. Результат отдавай в html с использованием <p>. Учитывай так же внешний вид изделия на фото и из него же можешь брать некоторые характеристики. Характеристики изделия вписывай прямо в текст, а не отдельным списком. Пиши мне сразу готовый текст без своих пояснений. Не пиши про гендер: мужское или женское. Так же вместо длинного тире используй -. Не начинай предложения со слов \"представляем вашему вниманию\" или подобных.

{ПАРАМЕТРЫ_ИЗДЕЛИЯ}'
                                    'jewelry_page_payment_delivery' => '<p>Мы обеспечиваем быструю и безопасную доставку ваших покупок по всей России.</p><ul><li><strong>Доставка</strong>: Бесплатная (при заказе от 50 000 руб). Осуществляется курьерской службой DPD до двери (3-23 рабочих дня) или через СДЭК.</li><li><strong>Безопасность</strong>: Каждый груз застрахован на полную стоимость заказа. В комплекте - фирменная подарочная упаковка.</li><li><strong>Оплата</strong>: Безналичный расчет картами любых банков или на расчетный счет Ювелирного Дома Violet.</li><li><strong>Рассрочка 0%</strong>: возможно оформление покупки без переплат (при условии одобрения банком).</li></ul><p>После оформления заказа наш менеджер свяжется с вами для уточнения удобных сроков и адреса получения.</p>'
                                    'jewelry_page_guaranties' => '<p>Мы гарантируем подлинность материалов и высокое качество исполнения, подтвержденное трехуровневым контролем ОТК.</p><ul><li><strong>Бессрочная гарантия</strong>: действует на все изделия при отсутствии механических повреждений и соблюдении правил ухода.</li><li><strong>Паспорт изделия</strong>: каждое украшение сопровождается биркой с полными характеристиками - рекомендуем сохранять её.</li><li><strong>Важно</strong>: гарантия не распространяется на дефекты, возникшие из-за нарушения правил эксплуатации (контакт с морской водой, бани, кипячение).</li></ul><p>Бережное отношение и следование нашим рекомендациям по уходу позволят сохранить первозданную красоту вашего украшения Violet на десятилетия.</p>'
                                    'jewelry_page_refund' => '<p>Мы делаем всё, чтобы покупка оправдала ваши ожидания. Если серийное изделие не подошло по размеру или цвету, вы можете обменять или вернуть его.</p><ul><li><strong>Условия</strong>: наличие всех бирок и пломб, отсутствие следов носки и сохранение товарного вида.</li><li><strong>Индивидуальные заказы</strong>: украшения, созданные по персональным параметрам, возврату не подлежат.</li><li><strong>Сервис</strong>: для всех клиентов доступна профессиональная чистка, ремонт и бессрочное обслуживание изделий.</li></ul><p>Наш менеджер проконсультирует вас до покупки и обеспечит бережное сопровождение на каждом этапе возврата или сервиса.</p>'
                                    'redirects' => '[{\"from\":\"jewels\\/30233510\",\"to\":\"catalog\"},{\"from\":\"bonus\",\"to\":\"catalog\"},{\"from\":\"collections\\/batterflyai-diamonds\",\"to\":\"collections\\/babochka\"},{\"from\":\"collections\\/cikadi\\/kolca\",\"to\":\"catalog\\/kolca\"},{\"from\":\"collections\\/de-luxe-diamonds\\/kole\",\"to\":\"catalog\\/kole\"},{\"from\":\"collections\\/de-luxe-diamonds\\/podveski\",\"to\":\"catalog\\/podveski\"},{\"from\":\"collections\\/derzost-diamonds\",\"to\":\"collections\\/derzost\"},{\"from\":\"collections\\/hersones-pravoslavnii-diamonds\",\"to\":\"collections\\/hersones-pravoslavnii\"},{\"from\":\"collections\\/hrizantema\\/kolca\",\"to\":\"catalog\\/kolca\"},{\"from\":\"collections\\/kolca\",\"to\":\"catalog\\/kolca\"},{\"from\":\"collections\\/kresti-2\",\"to\":\"pravoslavnye-izdelia\\/kresty\"},{\"from\":\"collections\\/krilatii-lev\",\"to\":\"collections\\/venecianskii-lev\"},{\"from\":\"collections\\/kypidon-2\",\"to\":\"collections\\/cupids\"},{\"from\":\"collections\\/kypidon\\/kolca\",\"to\":\"collections\\/cupids\"},{\"from\":\"collections\\/kypidon\\/podveski\",\"to\":\"collections\\/cupids\"},{\"from\":\"collections\\/obrazki-2\",\"to\":\"pravoslavnye-izdelia\\/obrazki\"},{\"from\":\"collections\\/pyma-2\",\"to\":\"collections\\/pyma-diamonds\"},{\"from\":\"collections\\/tigri-2\",\"to\":\"collections\\/tigri\"},{\"from\":\"collections\\/zvyozdi\",\"to\":\"collections\\/zvyozdi-diamonds\"},{\"from\":\"en\\/secular\\/broshi\",\"to\":\"catalog\\/broshi\"},{\"from\":\"jewels\\/28296855\",\"to\":\"catalog\"},{\"from\":\"jewels\\/28986065\",\"to\":\"catalog\"},{\"from\":\"jewels\\/29057944\",\"to\":\"catalog\"},{\"from\":\"jewels\\/29870969\",\"to\":\"catalog\"},{\"from\":\"jewels\\/30087033\",\"to\":\"catalog\"},{\"from\":\"jewels\\/30185207\",\"to\":\"catalog\"},{\"from\":\"jewels\\/30233510\",\"to\":\"catalog\"},{\"from\":\"jewels\\/34266457\",\"to\":\"catalog\"},{\"from\":\"jewels\\/36213468\",\"to\":\"catalog\"},{\"from\":\"jewels\\/37831714\",\"to\":\"catalog\"},{\"from\":\"kontakty\",\"to\":\"contacts\"},{\"from\":\"kontaktyi\",\"to\":\"contacts\"},{\"from\":\"orthodox\",\"to\":\"pravoslavnye-izdelia\"},{\"from\":\"orthodox\\/kolca-hersones\",\"to\":\"collections\\/hersones-pravoslavnii\"},{\"from\":\"orthodox\\/kresti-hersones\",\"to\":\"collections\\/kresty\"},{\"from\":\"secular\\/cepi\",\"to\":\"pravoslavnye-izdelia\\/cepi\"},{\"from\":\"secular\\/kole\",\"to\":\"pravoslavnye-izdelia\\/podveski\"},{\"from\":\"secular\\/podveski\",\"to\":\"pravoslavnye-izdelia\\/podveski\"},{\"from\":\"secular\\/sergi\",\"to\":\"pravoslavnye-izdelia\\/sergi\"},{\"from\":\"jewelries\\/10907-braslet-iz-limonnogo-zolota\",\"to\":\"catalog\\/braslety\"},{\"from\":\"jewelries\\/5975-sergi-pusety-iz-belogo-zolota-585-proby-c-brilliantami\",\"to\":\"collections\\/venecianskaya-princessa\"},{\"from\":\"jewelries\\/7144-braslet-iz-limonnogo-zolota-585-proby-c-fianitom\",\"to\":\"catalog\\/braslety\"},{\"from\":\"jewelries\\/7145-braslet-iz-krasnogo-zolota-585-proby-c-granatom\",\"to\":\"catalog\\/braslety\"},{\"from\":\"jewelries\\/7527-braslet-iz-belogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/braslety\"},{\"from\":\"jewelries\\/7534-kolco-iz-belogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/kolca\"},{\"from\":\"jewelries\\/7562-kolco-iz-belogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/kolca\"},{\"from\":\"jewelries\\/7563-sergi-iz-belogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/sergi\"},{\"from\":\"jewelries\\/7572-kolco-iz-krasnogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/kolca\"},{\"from\":\"jewelries\\/7574-sergi-iz-krasnogo-zolota-585-proby-c-brilliantami\",\"to\":\"catalog\\/sergi\"}]'
                                    'jewelries_item_title_template' => '{ТИП} из {ЦВЕТ} {МЕТАЛЛ} {ДОП_МЕТАЛЛ} {ВСТАВКИ}'
                                    'home_page_new_jewelries' => '[\"11556\",\"12654\",\"13185\",\"8176\",\"6827\",\"13398\",\"13455\",\"13318\",\"13313\",\"13446\",\"7154\",\"6814\",\"12717\",\"8092\"]'
                                    'home_page_top_sale_jewelries' => '[\"5734\",\"7668\",\"7666\",\"1848\",\"3652\",\"1706\",\"12684\",\"7288\",\"13358\",\"12687\",\"6029\",\"12692\",\"1571\",\"1618\",\"1593\"]'
                                    'seo_llms' => '# VIOLET Jewelry (Ювелирный дом VIOLET)

> Ювелирный дом VIOLET — российский производитель украшений премиального сегмента с 1994 года. Собственное производство в Севастополе, уникальный цикл создания изделий (в среднем 4,8 технологий на одно украшение) и 30 производственных участков. Широкий ассортимент украшений из золота и серебра с драгоценными камнями, доставка по всей России.

## Ключевые разделы для ИИ
- [Каталог изделий](/catalog) — Полный список украшений: кольца, серьги, цепи, подвески, колье, браслеты, броши.
- [Новости](/blog/novosti) — Новости ювелирного дома VIOLET.
- [Экспертный блог](/blog) — Профессиональные гиды по выбору камней, минералогии и ювелирному этикету.
- [Коллекция De luxe Premium](/collections/de-luxe-premium) — Премиальная коллекция уникальных ювелирных украшений ручной работы, со вставками из натуральных камней и бриллиантов. Сложнейшие в своем исполнении, с применением техник огранки натуральных камней и ручной росписи эмалью.
- [Коллекция De luxe](/collections/de-luxe) — Коллекция высокохудожественных ювелирных украшений, каждое из которых восхищает своей красотой и качеством. Она создается ювелирами-художниками завода «VIOLET», учитывая современные веяния моды. 
- [Коллекция Херсонес Православный: Начало крещения Руси (Авторские работы)](/collections/hersones-pravoslavnii-avtorskie-raboti) — Премиальная коллекция авторских изделий ручной работы. Неоднократно отмеченные высшей экспертной коллегией на международных ювелирных конкурсах, получившие паспорта «Уникального ювелирного изделия», со вставками из кости мамонта и редких ценных пород деревьев в сочетании с идеями и высоким профессионализмом художников-ювелиров. 
- [Коллекция Херсонес Православный: Начало крещения Руси](/collections/hersones-pravoslavnii) — Коллекция изделий ручной работы в линейке православных украшений: кресты нательные, иконки, образки, гайтаны, кольца, цепи, браслеты.
- [Коллекция Vizantino](/collections/vizantino) — Коллекция вдохновлена богатым наследием Византии, отражая и сочетая величие архитектуры с брутальными элементами в дизайне украшений. Эти изделия подчеркивают силу и стиль. В коллекции используются серебро 925 пробы, золото 750 пробы и драгоценные камни.
- [Коллекция Vioretty](/collections/vioretty) — Коллекция символизирует преображение, которое позволяет подчеркнуть свою уникальность и индивидуальность.

## Категории товаров
- Кольца: Помолвочные, обручальные, перстни, печатки.
- Серьги: Пусеты, конго, с английским замком, протяжки.
- Цепи и браслеты: Плетения (Бисмарк, Якорное, Панцирное) в золоте и серебре.

## Информация для покупателей
- [Доставка и оплата](/dostavka-i-oplata) — Условия курьерской доставки, самовывоз из салонов, способы оплаты.
- [Гарантия](/garantii) — Информация о сертификатах на камни и условия гарантии. Пожизненное сервисное обслуживание и строгий контроль качества согласно ГОСТ. 
- [Обмен и возврат](/obmen-i-vozvrat) — Информация об условиях обмена и возврата.
- [Адреса магазинов](/shops) — Карта розничных точек продаж.
-  [Ювелирные изделия под заказ](/custom-jewelry) — Вся информация о изготовлении изделия по индивидуальным характеристикам. 

## Технические данные
- Материалы: Золото (585, 750 пробы), Серебро (925 пробы).
- Камни и вставки: Агат, Аметист, Бирюза, Бриллиант, Гранат, Железное дерево, бивень мамонта, жемчуг, изумруд, коралл, лазурит, малахит, оникс, перламутр, рубин, сапфир, тигровый глаз, топаз london, топаз london blue, турмалин, фианит, хризопраз, цитрин, шнурок кожаный, эбеновое дерево, эмаль, янтарь, янтарь роспись, полудрагоценные вставки.
- Технологии: Применение вакуумного литья, эмалирования, лазерной гравировки, ручной чеканки, родирования, чернения и ручной работы.
- Регион: Производство в Севастополе (Крым), доставка по всей территории РФ и СНГ
- Контакты: [Страница контактов](/contacts).
- Микроразметка: Сайт использует Schema.org (Article, Product, FAQPage, Organization).
- Sitemap: https://violet-jewelry-shop.ru/sitemap.xml

---
*Этот файл оптимизирован для LLM (ChatGPT, Gemini, YandexGPT и др.). Он содержит ключевые факты о бренде для формирования точных ответов на запросы пользователей.*'
                                ]
                            )
                            'db' => yii\db\Connection#68
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => []
                                [dsn] => 'mysql:host=localhost;dbname=jewelry_shop_db'
                                [username] => 'jewelry_shop_db'
                                [password] => 'mO5tY2rX7f'
                                [attributes] => null
                                [pdo] => PDO#69
                                (
                                )
                                [enableSchemaCache] => true
                                [schemaCacheDuration] => 3600
                                [schemaCacheExclude] => []
                                [schemaCache] => 'cache'
                                [enableQueryCache] => true
                                [queryCacheDuration] => 3600
                                [queryCache] => 'cache'
                                [charset] => 'utf8mb4'
                                [emulatePrepare] => null
                                [tablePrefix] => ''
                                [schemaMap] => [
                                    'pgsql' => 'yii\\db\\pgsql\\Schema'
                                    'mysqli' => 'yii\\db\\mysql\\Schema'
                                    'mysql' => 'yii\\db\\mysql\\Schema'
                                    'sqlite' => 'yii\\db\\sqlite\\Schema'
                                    'sqlite2' => 'yii\\db\\sqlite\\Schema'
                                    'sqlsrv' => 'yii\\db\\mssql\\Schema'
                                    'oci' => 'yii\\db\\oci\\Schema'
                                    'mssql' => 'yii\\db\\mssql\\Schema'
                                    'dblib' => 'yii\\db\\mssql\\Schema'
                                    'cubrid' => 'yii\\db\\cubrid\\Schema'
                                ]
                                [pdoClass] => null
                                [commandClass] => 'yii\\db\\Command'
                                [commandMap] => [
                                    'pgsql' => 'yii\\db\\Command'
                                    'mysqli' => 'yii\\db\\Command'
                                    'mysql' => 'yii\\db\\Command'
                                    'sqlite' => 'yii\\db\\sqlite\\Command'
                                    'sqlite2' => 'yii\\db\\sqlite\\Command'
                                    'sqlsrv' => 'yii\\db\\Command'
                                    'oci' => 'yii\\db\\oci\\Command'
                                    'mssql' => 'yii\\db\\Command'
                                    'dblib' => 'yii\\db\\Command'
                                    'cubrid' => 'yii\\db\\Command'
                                ]
                                [enableSavepoint] => true
                                [serverStatusCache] => 'cache'
                                [serverRetryInterval] => 600
                                [enableSlaves] => true
                                [slaves] => []
                                [slaveConfig] => []
                                [masters] => []
                                [masterConfig] => []
                                [shuffleMasters] => true
                                [enableLogging] => true
                                [enableProfiling] => true
                                [isSybase] => false
                                [yii\db\Connection:_queryBuilderConfigurations] => []
                                [yii\db\Connection:_transaction] => null
                                [yii\db\Connection:_schema] => yii\db\mysql\Schema#70
                                (
                                    [db] => yii\db\Connection#68(...)
                                    [defaultSchema] => null
                                    [exceptionMap] => [
                                        'SQLSTATE[23' => 'yii\\db\\IntegrityException'
                                    ]
                                    [columnSchemaClass] => 'yii\\db\\mysql\\ColumnSchema'
                                    [*:tableQuoteCharacter] => '`'
                                    [*:columnQuoteCharacter] => '`'
                                    [yii\db\Schema:_schemaNames] => null
                                    [yii\db\Schema:_tableNames] => []
                                    [yii\db\Schema:_tableMetadata] => [
                                        'base_geo_cities' => [
                                            'schema' => yii\db\TableSchema#71
                                            (
                                                [schemaName] => null
                                                [name] => 'base_geo_cities'
                                                [fullName] => 'base_geo_cities'
                                                [primaryKey] => [
                                                    0 => 'id'
                                                ]
                                                [sequenceName] => ''
                                                [foreignKeys] => [
                                                    'fk_base_geo_cities_region_id' => [
                                                        0 => 'base_geo_regions'
                                                        'region_id' => 'id'
                                                    ]
                                                ]
                                                [columns] => [
                                                    'id' => yii\db\mysql\ColumnSchema#72
                                                    (
                                                        [name] => 'id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => true
                                                        [autoIncrement] => true
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'region_id' => yii\db\mysql\ColumnSchema#73
                                                    (
                                                        [name] => 'region_id'
                                                        [allowNull] => true
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'name' => yii\db\mysql\ColumnSchema#74
                                                    (
                                                        [name] => 'name'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'subdomain' => yii\db\mysql\ColumnSchema#75
                                                    (
                                                        [name] => 'subdomain'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(30)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 30
                                                        [precision] => 30
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'domain' => yii\db\mysql\ColumnSchema#76
                                                    (
                                                        [name] => 'domain'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(30)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 30
                                                        [precision] => 30
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'phones' => yii\db\mysql\ColumnSchema#77
                                                    (
                                                        [name] => 'phones'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'emails' => yii\db\mysql\ColumnSchema#78
                                                    (
                                                        [name] => 'emails'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'socials' => yii\db\mysql\ColumnSchema#79
                                                    (
                                                        [name] => 'socials'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'messenger_whatsapp' => yii\db\mysql\ColumnSchema#80
                                                    (
                                                        [name] => 'messenger_whatsapp'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'messenger_viber' => yii\db\mysql\ColumnSchema#81
                                                    (
                                                        [name] => 'messenger_viber'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'messenger_telegram' => yii\db\mysql\ColumnSchema#82
                                                    (
                                                        [name] => 'messenger_telegram'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'emails_for_notifications' => yii\db\mysql\ColumnSchema#83
                                                    (
                                                        [name] => 'emails_for_notifications'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'cases' => yii\db\mysql\ColumnSchema#84
                                                    (
                                                        [name] => 'cases'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'header_code' => yii\db\mysql\ColumnSchema#85
                                                    (
                                                        [name] => 'header_code'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'footer_code' => yii\db\mysql\ColumnSchema#86
                                                    (
                                                        [name] => 'footer_code'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'robots' => yii\db\mysql\ColumnSchema#87
                                                    (
                                                        [name] => 'robots'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'is_default' => yii\db\mysql\ColumnSchema#88
                                                    (
                                                        [name] => 'is_default'
                                                        [allowNull] => false
                                                        [type] => 'tinyint'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'tinyint(1)'
                                                        [defaultValue] => 0
                                                        [enumValues] => null
                                                        [size] => 1
                                                        [precision] => 1
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'is_visible' => yii\db\mysql\ColumnSchema#89
                                                    (
                                                        [name] => 'is_visible'
                                                        [allowNull] => false
                                                        [type] => 'tinyint'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'tinyint(1)'
                                                        [defaultValue] => 1
                                                        [enumValues] => null
                                                        [size] => 1
                                                        [precision] => 1
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'created_at' => yii\db\mysql\ColumnSchema#90
                                                    (
                                                        [name] => 'created_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => yii\db\Expression#91
                                                        (
                                                            [expression] => 'CURRENT_TIMESTAMP'
                                                            [params] => []
                                                        )
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'updated_at' => yii\db\mysql\ColumnSchema#92
                                                    (
                                                        [name] => 'updated_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                ]
                                            )
                                        ]
                                        'proj_blog_posts' => [
                                            'schema' => yii\db\TableSchema#93
                                            (
                                                [schemaName] => null
                                                [name] => 'proj_blog_posts'
                                                [fullName] => 'proj_blog_posts'
                                                [primaryKey] => [
                                                    0 => 'id'
                                                ]
                                                [sequenceName] => ''
                                                [foreignKeys] => [
                                                    'fk_proj_blog_posts_blog_author_id' => [
                                                        0 => 'proj_blog_authors'
                                                        'blog_author_id' => 'id'
                                                    ]
                                                    'fk_proj_blog_posts_blog_category_id' => [
                                                        0 => 'proj_blog_categories'
                                                        'blog_category_id' => 'id'
                                                    ]
                                                ]
                                                [columns] => [
                                                    'id' => yii\db\mysql\ColumnSchema#94
                                                    (
                                                        [name] => 'id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => true
                                                        [autoIncrement] => true
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'blog_category_id' => yii\db\mysql\ColumnSchema#95
                                                    (
                                                        [name] => 'blog_category_id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'blog_author_id' => yii\db\mysql\ColumnSchema#96
                                                    (
                                                        [name] => 'blog_author_id'
                                                        [allowNull] => true
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'title' => yii\db\mysql\ColumnSchema#97
                                                    (
                                                        [name] => 'title'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'slug' => yii\db\mysql\ColumnSchema#98
                                                    (
                                                        [name] => 'slug'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'cover_file' => yii\db\mysql\ColumnSchema#99
                                                    (
                                                        [name] => 'cover_file'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'description' => yii\db\mysql\ColumnSchema#100
                                                    (
                                                        [name] => 'description'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'content' => yii\db\mysql\ColumnSchema#101
                                                    (
                                                        [name] => 'content'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'is_visible' => yii\db\mysql\ColumnSchema#102
                                                    (
                                                        [name] => 'is_visible'
                                                        [allowNull] => false
                                                        [type] => 'tinyint'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'tinyint(1)'
                                                        [defaultValue] => 1
                                                        [enumValues] => null
                                                        [size] => 1
                                                        [precision] => 1
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'published_at' => yii\db\mysql\ColumnSchema#103
                                                    (
                                                        [name] => 'published_at'
                                                        [allowNull] => false
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'created_at' => yii\db\mysql\ColumnSchema#104
                                                    (
                                                        [name] => 'created_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => yii\db\Expression#105
                                                        (
                                                            [expression] => 'CURRENT_TIMESTAMP'
                                                            [params] => []
                                                        )
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'updated_at' => yii\db\mysql\ColumnSchema#106
                                                    (
                                                        [name] => 'updated_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                ]
                                            )
                                        ]
                                        'proj_blog_authors' => [
                                            'schema' => yii\db\TableSchema#107
                                            (
                                                [schemaName] => null
                                                [name] => 'proj_blog_authors'
                                                [fullName] => 'proj_blog_authors'
                                                [primaryKey] => [
                                                    0 => 'id'
                                                ]
                                                [sequenceName] => ''
                                                [foreignKeys] => []
                                                [columns] => [
                                                    'id' => yii\db\mysql\ColumnSchema#108
                                                    (
                                                        [name] => 'id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => true
                                                        [autoIncrement] => true
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'name' => yii\db\mysql\ColumnSchema#109
                                                    (
                                                        [name] => 'name'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'slug' => yii\db\mysql\ColumnSchema#110
                                                    (
                                                        [name] => 'slug'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'photo_file' => yii\db\mysql\ColumnSchema#111
                                                    (
                                                        [name] => 'photo_file'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'description' => yii\db\mysql\ColumnSchema#112
                                                    (
                                                        [name] => 'description'
                                                        [allowNull] => true
                                                        [type] => 'text'
                                                        [phpType] => 'string'
                                                        [dbType] => 'text'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'created_at' => yii\db\mysql\ColumnSchema#113
                                                    (
                                                        [name] => 'created_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => yii\db\Expression#114
                                                        (
                                                            [expression] => 'CURRENT_TIMESTAMP'
                                                            [params] => []
                                                        )
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'updated_at' => yii\db\mysql\ColumnSchema#115
                                                    (
                                                        [name] => 'updated_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                ]
                                            )
                                        ]
                                        'base_core_pages' => [
                                            'schema' => yii\db\TableSchema#116
                                            (
                                                [schemaName] => null
                                                [name] => 'base_core_pages'
                                                [fullName] => 'base_core_pages'
                                                [primaryKey] => [
                                                    0 => 'id'
                                                ]
                                                [sequenceName] => ''
                                                [foreignKeys] => []
                                                [columns] => [
                                                    'id' => yii\db\mysql\ColumnSchema#117
                                                    (
                                                        [name] => 'id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => true
                                                        [autoIncrement] => true
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'name' => yii\db\mysql\ColumnSchema#118
                                                    (
                                                        [name] => 'name'
                                                        [allowNull] => true
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'title' => yii\db\mysql\ColumnSchema#119
                                                    (
                                                        [name] => 'title'
                                                        [allowNull] => true
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'created_at' => yii\db\mysql\ColumnSchema#120
                                                    (
                                                        [name] => 'created_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'updated_at' => yii\db\mysql\ColumnSchema#121
                                                    (
                                                        [name] => 'updated_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                ]
                                            )
                                        ]
                                        'proj_blog_categories' => [
                                            'schema' => yii\db\TableSchema#122
                                            (
                                                [schemaName] => null
                                                [name] => 'proj_blog_categories'
                                                [fullName] => 'proj_blog_categories'
                                                [primaryKey] => [
                                                    0 => 'id'
                                                ]
                                                [sequenceName] => ''
                                                [foreignKeys] => []
                                                [columns] => [
                                                    'id' => yii\db\mysql\ColumnSchema#123
                                                    (
                                                        [name] => 'id'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int unsigned'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => true
                                                        [autoIncrement] => true
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'title' => yii\db\mysql\ColumnSchema#124
                                                    (
                                                        [name] => 'title'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'slug' => yii\db\mysql\ColumnSchema#125
                                                    (
                                                        [name] => 'slug'
                                                        [allowNull] => false
                                                        [type] => 'string'
                                                        [phpType] => 'string'
                                                        [dbType] => 'varchar(255)'
                                                        [defaultValue] => ''
                                                        [enumValues] => null
                                                        [size] => 255
                                                        [precision] => 255
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'sort_index' => yii\db\mysql\ColumnSchema#126
                                                    (
                                                        [name] => 'sort_index'
                                                        [allowNull] => false
                                                        [type] => 'integer'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'int'
                                                        [defaultValue] => 0
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'is_visible' => yii\db\mysql\ColumnSchema#127
                                                    (
                                                        [name] => 'is_visible'
                                                        [allowNull] => false
                                                        [type] => 'tinyint'
                                                        [phpType] => 'integer'
                                                        [dbType] => 'tinyint unsigned'
                                                        [defaultValue] => 1
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => true
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'created_at' => yii\db\mysql\ColumnSchema#128
                                                    (
                                                        [name] => 'created_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => yii\db\Expression#129
                                                        (
                                                            [expression] => 'CURRENT_TIMESTAMP'
                                                            [params] => []
                                                        )
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                    'updated_at' => yii\db\mysql\ColumnSchema#130
                                                    (
                                                        [name] => 'updated_at'
                                                        [allowNull] => true
                                                        [type] => 'datetime'
                                                        [phpType] => 'string'
                                                        [dbType] => 'datetime'
                                                        [defaultValue] => null
                                                        [enumValues] => null
                                                        [size] => null
                                                        [precision] => null
                                                        [scale] => null
                                                        [isPrimaryKey] => false
                                                        [autoIncrement] => false
                                                        [unsigned] => false
                                                        [comment] => ''
                                                        [disableJsonSupport] => false
                                                    )
                                                ]
                                            )
                                        ]
                                    ]
                                    [yii\db\Schema:_builder] => yii\db\mysql\QueryBuilder#131
                                    (
                                        [db] => yii\db\Connection#68(...)
                                        [separator] => ' '
                                        [typeMap] => [
                                            'pk' => 'int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY'
                                            'upk' => 'int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY'
                                            'bigpk' => 'bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY'
                                            'ubigpk' => 'bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY'
                                            'char' => 'char(1)'
                                            'string' => 'varchar(255)'
                                            'text' => 'text'
                                            'tinyint' => 'tinyint(3)'
                                            'smallint' => 'smallint(6)'
                                            'integer' => 'int(11)'
                                            'bigint' => 'bigint(20)'
                                            'float' => 'float'
                                            'double' => 'double'
                                            'decimal' => 'decimal(10,0)'
                                            'date' => 'date'
                                            'binary' => 'blob'
                                            'boolean' => 'tinyint(1)'
                                            'money' => 'decimal(19,4)'
                                            'json' => 'json'
                                            'datetime' => 'datetime(0)'
                                            'timestamp' => 'timestamp(0)'
                                            'time' => 'time(0)'
                                        ]
                                        [*:conditionBuilders] => []
                                        [*:conditionClasses] => [
                                            'NOT' => 'yii\\db\\conditions\\NotCondition'
                                            'AND' => 'yii\\db\\conditions\\AndCondition'
                                            'OR' => 'yii\\db\\conditions\\OrCondition'
                                            'BETWEEN' => 'yii\\db\\conditions\\BetweenCondition'
                                            'NOT BETWEEN' => 'yii\\db\\conditions\\BetweenCondition'
                                            'IN' => 'yii\\db\\conditions\\InCondition'
                                            'NOT IN' => 'yii\\db\\conditions\\InCondition'
                                            'LIKE' => 'yii\\db\\conditions\\LikeCondition'
                                            'NOT LIKE' => 'yii\\db\\conditions\\LikeCondition'
                                            'OR LIKE' => 'yii\\db\\conditions\\LikeCondition'
                                            'OR NOT LIKE' => 'yii\\db\\conditions\\LikeCondition'
                                            'EXISTS' => 'yii\\db\\conditions\\ExistsCondition'
                                            'NOT EXISTS' => 'yii\\db\\conditions\\ExistsCondition'
                                        ]
                                        [*:expressionBuilders] => [
                                            'yii\\db\\Query' => 'yii\\db\\QueryExpressionBuilder'
                                            'yii\\db\\PdoValue' => 'yii\\db\\PdoValueBuilder'
                                            'yii\\db\\Expression' => 'yii\\db\\ExpressionBuilder'
                                            'yii\\db\\conditions\\ConjunctionCondition' => 'yii\\db\\conditions\\ConjunctionConditionBuilder'
                                            'yii\\db\\conditions\\NotCondition' => 'yii\\db\\conditions\\NotConditionBuilder'
                                            'yii\\db\\conditions\\AndCondition' => yii\db\conditions\ConjunctionConditionBuilder#132
                                            (
                                                [*:queryBuilder] => yii\db\mysql\QueryBuilder#131(...)
                                            )
                                            'yii\\db\\conditions\\OrCondition' => 'yii\\db\\conditions\\ConjunctionConditionBuilder'
                                            'yii\\db\\conditions\\BetweenCondition' => 'yii\\db\\conditions\\BetweenConditionBuilder'
                                            'yii\\db\\conditions\\InCondition' => yii\db\conditions\InConditionBuilder#133
                                            (
                                                [*:queryBuilder] => yii\db\mysql\QueryBuilder#131(...)
                                            )
                                            'yii\\db\\conditions\\LikeCondition' => 'yii\\db\\conditions\\LikeConditionBuilder'
                                            'yii\\db\\conditions\\ExistsCondition' => 'yii\\db\\conditions\\ExistsConditionBuilder'
                                            'yii\\db\\conditions\\SimpleCondition' => yii\db\conditions\SimpleConditionBuilder#134
                                            (
                                                [*:queryBuilder] => yii\db\mysql\QueryBuilder#131(...)
                                            )
                                            'yii\\db\\conditions\\HashCondition' => yii\db\conditions\HashConditionBuilder#135
                                            (
                                                [*:queryBuilder] => yii\db\mysql\QueryBuilder#131(...)
                                            )
                                            'yii\\db\\conditions\\BetweenColumnsCondition' => 'yii\\db\\conditions\\BetweenColumnsConditionBuilder'
                                            'yii\\db\\JsonExpression' => 'yii\\db\\mysql\\JsonExpressionBuilder'
                                        ]
                                    )
                                    [yii\db\Schema:_serverVersion] => null
                                    [yii\db\mysql\Schema:_oldMysql] => null
                                    [typeMap] => [
                                        'tinyint' => 'tinyint'
                                        'bool' => 'tinyint'
                                        'boolean' => 'tinyint'
                                        'bit' => 'integer'
                                        'smallint' => 'smallint'
                                        'mediumint' => 'integer'
                                        'int' => 'integer'
                                        'integer' => 'integer'
                                        'bigint' => 'bigint'
                                        'float' => 'float'
                                        'double' => 'double'
                                        'double precision' => 'double'
                                        'real' => 'float'
                                        'decimal' => 'decimal'
                                        'numeric' => 'decimal'
                                        'dec' => 'decimal'
                                        'fixed' => 'decimal'
                                        'tinytext' => 'text'
                                        'mediumtext' => 'text'
                                        'longtext' => 'text'
                                        'longblob' => 'binary'
                                        'blob' => 'binary'
                                        'text' => 'text'
                                        'varchar' => 'string'
                                        'string' => 'string'
                                        'char' => 'char'
                                        'datetime' => 'datetime'
                                        'year' => 'date'
                                        'date' => 'date'
                                        'time' => 'time'
                                        'timestamp' => 'timestamp'
                                        'enum' => 'string'
                                        'set' => 'string'
                                        'binary' => 'binary'
                                        'varbinary' => 'binary'
                                        'json' => 'json'
                                    ]
                                )
                                [yii\db\Connection:_driverName] => 'mysql'
                                [yii\db\Connection:_master] => false
                                [yii\db\Connection:_slave] => null
                                [yii\db\Connection:_queryCacheInfo] => []
                                [yii\db\Connection:_quotedTableNames] => [
                                    '{{%base_geo_cities}}' => '{{%base_geo_cities}}'
                                    '%base_geo_cities' => '`%base_geo_cities`'
                                    '{{%base_text_pages}}' => '{{%base_text_pages}}'
                                    '%base_text_pages' => '`%base_text_pages`'
                                    '{{%base_slug_redirects}}' => '{{%base_slug_redirects}}'
                                    '%base_slug_redirects' => '`%base_slug_redirects`'
                                    'proj_blog_posts' => '`proj_blog_posts`'
                                    '{{%base_model_classes}}' => '{{%base_model_classes}}'
                                    '%base_model_classes' => '`%base_model_classes`'
                                    '{{%base_seo_fields}}' => '{{%base_seo_fields}}'
                                    '%base_seo_fields' => '`%base_seo_fields`'
                                    '{{%base_image_processing_tasks}}' => '{{%base_image_processing_tasks}}'
                                    '%base_image_processing_tasks' => '`%base_image_processing_tasks`'
                                    'proj_blog_authors' => '`proj_blog_authors`'
                                    '{{%base_core_pages}}' => '{{%base_core_pages}}'
                                    '%base_core_pages' => '`%base_core_pages`'
                                    'proj_blog_categories' => '`proj_blog_categories`'
                                ]
                                [yii\db\Connection:_quotedColumnNames] => [
                                    'is_visible' => '`is_visible`'
                                    'is_default' => '`is_default`'
                                    'slug' => '`slug`'
                                    'old_slug' => '`old_slug`'
                                    'obj_type' => '`obj_type`'
                                    'id' => '`id`'
                                    'published_at' => '`published_at`'
                                    'name' => '`name`'
                                    'value' => '`value`'
                                    'model_class_id' => '`model_class_id`'
                                    'model_id' => '`model_id`'
                                    'city_id' => '`city_id`'
                                    'result' => '`result`'
                                    'output_file' => '`output_file`'
                                    'title' => '`title`'
                                    'created_at' => '`created_at`'
                                    'updated_at' => '`updated_at`'
                                ]
                            )
                            'cache' => yii\caching\FileCache#136
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [keyPrefix] => ''
                                [serializer] => null
                                [defaultDuration] => 3600
                                [yii\caching\Cache:_igbinaryAvailable] => false
                                [cachePath] => '/var/www/main/data/www/violet-jewelry-shop.ru/runtime/cache/default'
                                [cacheFileSuffix] => '.bin'
                                [directoryLevel] => 1
                                [gcProbability] => 10
                                [fileMode] => null
                                [dirMode] => 509
                            )
                            'i18n' => yii\i18n\I18N#137
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [translations] => [
                                    'yii' => yii\i18n\PhpMessageSource#138
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [forceTranslation] => false
                                        [sourceLanguage] => 'en-US'
                                        [yii\i18n\MessageSource:_messages] => [
                                            'ru-RU/yii' => [
                                                ' and ' => ' и '
                                                '\"{attribute}\" does not support operator \"{operator}\".' => '\"{attribute}\" не поддерживает оператор \"{operator}\".'
                                                '(not set)' => '(не задано)'
                                                'Action not found.' => ''
                                                'Aliases available: {aliases}' => ''
                                                'An internal server error occurred.' => 'Возникла внутренняя ошибка сервера.'
                                                'Are you sure you want to delete this item?' => 'Вы уверены, что хотите удалить этот элемент?'
                                                'Condition for \"{attribute}\" should be either a value or valid operator specification.' => 'Условие для \"{attribute}\" должно быть или значением или верной спецификацией оператора.'
                                                'Delete' => 'Удалить'
                                                'Error' => 'Ошибка'
                                                'File upload failed.' => 'Загрузка файла не удалась.'
                                                'Home' => 'Главная'
                                                'Invalid data received for parameter \"{param}\".' => 'Неправильное значение параметра \"{param}\".'
                                                'Login Required' => 'Требуется вход.'
                                                'Missing required arguments: {params}' => 'Отсутствуют обязательные аргументы: {params}'
                                                'Missing required parameters: {params}' => 'Отсутствуют обязательные параметры: {params}'
                                                'No' => 'Нет'
                                                'No results found.' => 'Ничего не найдено.'
                                                'Only files with these MIME types are allowed: {mimeTypes}.' => 'Разрешена загрузка файлов только со следующими MIME-типами: {mimeTypes}.'
                                                'Only files with these extensions are allowed: {extensions}.' => 'Разрешена загрузка файлов только со следующими расширениями: {extensions}.'
                                                'Operator \"{operator}\" must be used with a search attribute.' => 'Оператор \"{operator}\" должен использоваться через атрибут поиска.'
                                                'Operator \"{operator}\" requires multiple operands.' => 'Оператор \"{operator}\" требует несколько операндов.'
                                                'Options available: {options}' => ''
                                                'Page not found.' => 'Страница не найдена.'
                                                'Please fix the following errors:' => 'Исправьте следующие ошибки:'
                                                'Please upload a file.' => 'Загрузите файл.'
                                                'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.' => 'Показаны записи <b>{begin, number}-{end, number}</b> из <b>{totalCount, number}</b>.'
                                                'The combination {values} of {attributes} has already been taken.' => 'Комбинация {values} параметров {attributes} уже существует.'
                                                'The file \"{file}\" is not an image.' => 'Файл «{file}» не является изображением.'
                                                'The file \"{file}\" is too big. Its size cannot exceed {formattedLimit}.' => 'Файл «{file}» слишком большой. Размер не должен превышать {formattedLimit}.'
                                                'The file \"{file}\" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Файл «{file}» слишком маленький. Размер должен быть более {formattedLimit}.'
                                                'The format of {attribute} is invalid.' => 'Неверный формат значения «{attribute}».'
                                                'The format of {filter} is invalid.' => 'Формат фильтра {filter} не верен.'
                                                'The image \"{file}\" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» слишком большой. Высота не должна превышать {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.'
                                                'The image \"{file}\" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» слишком большой. Ширина не должна превышать {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.'
                                                'The image \"{file}\" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» слишком маленький. Высота должна быть более {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.'
                                                'The image \"{file}\" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Файл «{file}» слишком маленький. Ширина должна быть более {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.'
                                                'The requested view \"{name}\" was not found.' => 'Запрашиваемый файл представления \"{name}\" не найден.'
                                                'The verification code is incorrect.' => 'Неправильный проверочный код.'
                                                'Total <b>{count, number}</b> {count, plural, one{item} other{items}}.' => 'Всего <b>{count, number}</b> {count, plural, one{запись} few{записи} many{записей} other{записи}}.'
                                                'Unable to verify your data submission.' => 'Не удалось проверить переданные данные.'
                                                'Unknown alias: -{name}' => 'Неизвестный псевдоним: -{name}'
                                                'Unknown filter attribute \"{attribute}\"' => 'Неизвестный атрибут фильтра \"{attribute}\"'
                                                'Unknown option: --{name}' => 'Неизвестная опция: --{name}'
                                                'Update' => 'Редактировать'
                                                'View' => 'Просмотр'
                                                'Yes' => 'Да'
                                                'You are not allowed to perform this action.' => 'Вам не разрешено производить данное действие.'
                                                'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы не можете загружать более {limit, number} {limit, plural, one{файла} few{файлов} many{файлов} other{файла}}.'
                                                'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Вы должны загрузить как минимум {limit, number} {limit, plural, one{файл} few{файла} many{файлов} other{файла}}.'
                                                'in {delta, plural, =1{a day} other{# days}}' => 'через {delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}}'
                                                'in {delta, plural, =1{a minute} other{# minutes}}' => 'через {delta, plural, =1{минуту} one{# минуту} few{# минуты} many{# минут} other{# минуты}}'
                                                'in {delta, plural, =1{a month} other{# months}}' => 'через {delta, plural, =1{месяц} one{# месяц} few{# месяца} many{# месяцев} other{# месяца}}'
                                                'in {delta, plural, =1{a second} other{# seconds}}' => 'через {delta, plural, =1{секунду} one{# секунду} few{# секунды} many{# секунд} other{# секунды}}'
                                                'in {delta, plural, =1{a year} other{# years}}' => 'через {delta, plural, =1{год} one{# год} few{# года} many{# лет} other{# года}}'
                                                'in {delta, plural, =1{an hour} other{# hours}}' => 'через {delta, plural, =1{час} one{# час} few{# часа} many{# часов} other{# часа}}'
                                                'just now' => 'прямо сейчас'
                                                'the input value' => 'введённое значение'
                                                '{attribute} \"{value}\" has already been taken.' => 'Значение «{value}» для «{attribute}» уже занято.'
                                                '{attribute} cannot be blank.' => 'Необходимо заполнить «{attribute}».'
                                                '{attribute} contains wrong subnet mask.' => 'Значение «{attribute}» содержит неверную маску подсети.'
                                                '{attribute} is invalid.' => 'Значение «{attribute}» неверно.'
                                                '{attribute} is not a valid URL.' => 'Значение «{attribute}» не является правильным URL.'
                                                '{attribute} is not a valid email address.' => 'Значение «{attribute}» не является правильным email адресом.'
                                                '{attribute} is not in the allowed range.' => 'Значение «{attribute}» не входит в список разрешенных диапазонов адресов.'
                                                '{attribute} must be \"{requiredValue}\".' => 'Значение «{attribute}» должно быть равно «{requiredValue}».'
                                                '{attribute} must be a number.' => 'Значение «{attribute}» должно быть числом.'
                                                '{attribute} must be a string.' => 'Значение «{attribute}» должно быть строкой.'
                                                '{attribute} must be a valid IP address.' => 'Значение «{attribute}» должно быть правильным IP адресом.'
                                                '{attribute} must be an IP address with specified subnet.' => 'Значение «{attribute}» должно быть IP адресом с подсетью.'
                                                '{attribute} must be an integer.' => 'Значение «{attribute}» должно быть целым числом.'
                                                '{attribute} must be either \"{true}\" or \"{false}\".' => 'Значение «{attribute}» должно быть равно «{true}» или «{false}».'
                                                '{attribute} must be equal to \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» должно быть равно «{compareValueOrAttribute}».'
                                                '{attribute} must be greater than \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» должно быть больше значения «{compareValueOrAttribute}».'
                                                '{attribute} must be greater than or equal to \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» должно быть больше или равно значения «{compareValueOrAttribute}».'
                                                '{attribute} must be less than \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» должно быть меньше значения «{compareValueOrAttribute}».'
                                                '{attribute} must be less than or equal to \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» должно быть меньше или равно значения «{compareValueOrAttribute}».'
                                                '{attribute} must be no greater than {max}.' => 'Значение «{attribute}» не должно превышать {max}.'
                                                '{attribute} must be no less than {min}.' => 'Значение «{attribute}» должно быть не меньше {min}.'
                                                '{attribute} must not be a subnet.' => 'Значение «{attribute}» не должно быть подсетью.'
                                                '{attribute} must not be an IPv4 address.' => 'Значение «{attribute}» не должно быть IPv4 адресом.'
                                                '{attribute} must not be an IPv6 address.' => 'Значение «{attribute}» не должно быть IPv6 адресом.'
                                                '{attribute} must not be equal to \"{compareValueOrAttribute}\".' => 'Значение «{attribute}» не должно быть равно «{compareValueOrAttribute}».'
                                                '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать минимум {min, number} {min, plural, one{символ} few{символа} many{символов} other{символа}}.'
                                                '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать максимум {max, number} {max, plural, one{символ} few{символа} many{символов} other{символа}}.'
                                                '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => 'Значение «{attribute}» должно содержать {length, number} {length, plural, one{символ} few{символа} many{символов} other{символа}}.'
                                                '{compareAttribute} is invalid.' => ''
                                                '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, one{# день} few{# дня} many{# дней} other{# дня}}'
                                                '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, one{# час} few{# часа} many{# часов} other{# часа}}'
                                                '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, one{# минута} few{# минуты} many{# минут} other{# минуты}}'
                                                '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, one{# месяц} few{# месяца} many{# месяцев} other{# месяца}}'
                                                '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, one{# секунда} few{# секунды} many{# секунд} other{# секунды}}'
                                                '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, one{# год} few{# года} many{# лет} other{# года}}'
                                                '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}} назад'
                                                '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{минуту} one{# минуту} few{# минуты} many{# минут} other{# минуты}} назад'
                                                '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{месяц} one{# месяц} few{# месяца} many{# месяцев} other{# месяца}} назад'
                                                '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{секунду} one{# секунду} few{# секунды} many{# секунд} other{# секунды}} назад'
                                                '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{год} one{# год} few{# года} many{# лет} other{# года}} назад'
                                                '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{час} one{# час} few{# часа} many{# часов} other{# часа}} назад'
                                                '{nFormatted} B' => '{nFormatted} Б'
                                                '{nFormatted} GB' => '{nFormatted} ГБ'
                                                '{nFormatted} GiB' => '{nFormatted} ГиБ'
                                                '{nFormatted} KiB' => '{nFormatted} КиБ'
                                                '{nFormatted} MB' => '{nFormatted} МБ'
                                                '{nFormatted} MiB' => '{nFormatted} МиБ'
                                                '{nFormatted} PB' => '{nFormatted} ПБ'
                                                '{nFormatted} PiB' => '{nFormatted} ПиБ'
                                                '{nFormatted} TB' => '{nFormatted} ТБ'
                                                '{nFormatted} TiB' => '{nFormatted} ТиБ'
                                                '{nFormatted} kB' => '{nFormatted} КБ'
                                                '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, one{байт} few{байта} many{байтов} other{байта}}'
                                                '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, one{гибибайт} few{гибибайта} many{гибибайтов} other{гибибайта}}'
                                                '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, one{гигабайт} few{гигабайта} many{гигабайтов} other{гигабайта}}'
                                                '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, one{кибибайт} few{кибибайта} many{кибибайтов} other{кибибайта}}'
                                                '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, one{килобайт} few{килобайта} many{килобайтов} other{килобайта}}'
                                                '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, one{мебибайт} few{мебибайта} many{мебибайтов} other{мебибайта}}'
                                                '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, one{мегабайт} few{мегабайта} many{мегабайтов} other{мегабайта}}'
                                                '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, one{пебибайт} few{пебибайта} many{пебибайтов} other{пебибайта}}'
                                                '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтов} other{петабайта}}'
                                                '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, one{тебибайт} few{тебибайта} many{тебибайтов} other{тебибайта}}'
                                                '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтов} other{терабайта}}'
                                            ]
                                        ]
                                        [basePath] => '@yii/messages'
                                        [fileMap] => null
                                    )
                                    'app' => [
                                        'class' => 'yii\\i18n\\PhpMessageSource'
                                        'sourceLanguage' => 'ru-RU'
                                        'basePath' => '@app/messages'
                                    ]
                                ]
                                [yii\i18n\I18N:_messageFormatter] => null
                            )
                            'geography' => app\app_base\components\Geography#139
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [*:default] => app\app_base\models\geography\City#140
                                (
                                    [yii\base\Component:_events] => [
                                        'beforeInsert' => [
                                            0 => [
                                                0 => [
                                                    0 => app\app_base\behaviors\DateActionBehavior#141
                                                    (
                                                        [owner] => app\app_base\models\geography\City#140(...)
                                                        [yii\base\Behavior:_attachedEvents] => [
                                                            'beforeInsert' => 'dateCreate'
                                                            'beforeUpdate' => 'dateUpdate'
                                                        ]
                                                        [createdAtAttribute] => 'created_at'
                                                        [updatedAtAttribute] => 'updated_at'
                                                    )
                                                    1 => 'dateCreate'
                                                ]
                                                1 => null
                                            ]
                                        ]
                                        'beforeUpdate' => [
                                            0 => [
                                                0 => [
                                                    0 => app\app_base\behaviors\DateActionBehavior#141(...)
                                                    1 => 'dateUpdate'
                                                ]
                                                1 => null
                                            ]
                                        ]
                                        'afterInsert' => [
                                            0 => [
                                                0 => [
                                                    0 => app\app_base\behaviors\CacheBehavior#142
                                                    (
                                                        [owner] => app\app_base\models\geography\City#140(...)
                                                        [yii\base\Behavior:_attachedEvents] => [
                                                            'afterInsert' => 'deleteCache'
                                                            'afterUpdate' => 'deleteCache'
                                                            'afterDelete' => 'deleteCache'
                                                        ]
                                                        [keys] => [
                                                            0 => 'cities'
                                                            1 => 'city_{id}'
                                                            2 => 'region_{region_id}'
                                                            3 => 'contacts'
                                                        ]
                                                    )
                                                    1 => 'deleteCache'
                                                ]
                                                1 => null
                                            ]
                                        ]
                                        'afterUpdate' => [
                                            0 => [
                                                0 => [
                                                    0 => app\app_base\behaviors\CacheBehavior#142(...)
                                                    1 => 'deleteCache'
                                                ]
                                                1 => null
                                            ]
                                        ]
                                        'afterDelete' => [
                                            0 => [
                                                0 => [
                                                    0 => app\app_base\behaviors\CacheBehavior#142(...)
                                                    1 => 'deleteCache'
                                                ]
                                                1 => null
                                            ]
                                        ]
                                    ]
                                    [yii\base\Component:_eventWildcards] => []
                                    [yii\base\Component:_behaviors] => [
                                        'app\\app_base\\behaviors\\DateActionBehavior' => app\app_base\behaviors\DateActionBehavior#141(...)
                                        'app\\app_base\\behaviors\\CacheBehavior' => app\app_base\behaviors\CacheBehavior#142(...)
                                    ]
                                    [yii\base\Model:_errors] => null
                                    [yii\base\Model:_validators] => null
                                    [yii\base\Model:_scenario] => 'default'
                                    [yii\db\BaseActiveRecord:_attributes] => [
                                        'domain' => ''
                                        'messenger_whatsapp' => ''
                                        'messenger_viber' => ''
                                        'messenger_telegram' => ''
                                        'is_default' => 1
                                        'is_visible' => 1
                                        'created_at' => '2019-11-16 21:19:37'
                                        'id' => 1
                                        'region_id' => 1
                                        'name' => 'Москва'
                                        'subdomain' => 'msk'
                                        'phones' => [
                                            0 => [
                                                'number' => '7 (800) 505-84-40'
                                                'label' => ''
                                            ]
                                        ]
                                        'emails' => null
                                        'socials' => null
                                        'emails_for_notifications' => null
                                        'cases' => [
                                            'ablative' => 'Москвой'
                                            'accusative' => 'Москву'
                                            'dative' => 'Москве'
                                            'genitive' => 'Москвы'
                                            'prepositional' => 'Москве'
                                        ]
                                        'header_code' => '<meta name=\"yandex-verification\" content=\"89f1c69276944c0a\" />
<meta name=\"yandex-verification\" content=\"4801cdbd75f8d096\" />
<meta name=\"yandex-verification\" content=\"56b2927e4e185ac6\" />'
                                        'footer_code' => ''
                                        'robots' => ''
                                        'updated_at' => '2025-06-14 15:21:53'
                                    ]
                                    [yii\db\BaseActiveRecord:_oldAttributes] => [
                                        'domain' => ''
                                        'messenger_whatsapp' => ''
                                        'messenger_viber' => ''
                                        'messenger_telegram' => ''
                                        'is_default' => 1
                                        'is_visible' => 1
                                        'created_at' => '2019-11-16 21:19:37'
                                        'id' => 1
                                        'region_id' => 1
                                        'name' => 'Москва'
                                        'subdomain' => 'msk'
                                        'phones' => '[{\"number\":\"7 (800) 505-84-40\",\"label\":\"\"}]'
                                        'emails' => null
                                        'socials' => null
                                        'emails_for_notifications' => null
                                        'cases' => '{\"ablative\":\"\\u041c\\u043e\\u0441\\u043a\\u0432\\u043e\\u0439\",\"accusative\":\"\\u041c\\u043e\\u0441\\u043a\\u0432\\u0443\",\"dative\":\"\\u041c\\u043e\\u0441\\u043a\\u0432\\u0435\",\"genitive\":\"\\u041c\\u043e\\u0441\\u043a\\u0432\\u044b\",\"prepositional\":\"\\u041c\\u043e\\u0441\\u043a\\u0432\\u0435\"}'
                                        'header_code' => '<meta name=\"yandex-verification\" content=\"89f1c69276944c0a\" />
<meta name=\"yandex-verification\" content=\"4801cdbd75f8d096\" />
<meta name=\"yandex-verification\" content=\"56b2927e4e185ac6\" />'
                                        'footer_code' => ''
                                        'robots' => ''
                                        'updated_at' => '2025-06-14 15:21:53'
                                    ]
                                    [yii\db\BaseActiveRecord:_related] => []
                                    [yii\db\BaseActiveRecord:_relationsDependencies] => []
                                    [pageSize] => [
                                        'web' => 12
                                        'manager' => 40
                                    ]
                                    [defaultOrder] => [
                                        'web' => [
                                            'id' => 3
                                        ]
                                        'manager' => [
                                            'id' => 4
                                        ]
                                    ]
                                    [isFormProcess] => false
                                    [arrayAttributes] => [
                                        0 => 'cases'
                                        1 => 'phones'
                                        2 => 'emails'
                                        3 => 'emails_for_notifications'
                                        4 => 'socials'
                                    ]
                                    [isFromForm] => false
                                    [allowCopy] => false
                                    [isCopyProcess] => false
                                    [*:seoFields] => []
                                )
                                [*:current] => app\app_base\models\geography\City#140(...)
                                [*:_citiesCount] => 466
                            )
                            'urlManager' => yii\web\UrlManager#143
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [enablePrettyUrl] => true
                                [enableStrictParsing] => false
                                [rules] => [
                                    0 => yii\web\UrlRule#144
                                    (
                                        [name] => 'debug'
                                        [pattern] => '#^debug$#u'
                                        [host] => null
                                        [route] => 'debug'
                                        [defaults] => []
                                        [suffix] => false
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => false
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/debug/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    1 => yii\web\UrlRule#145
                                    (
                                        [name] => 'debug/<controller:[\\w\\-]+>/<action:[\\w\\-]+>'
                                        [pattern] => '#^debug/(?P<a4cf2669a>[\\w\\-]+)/(?P<a47cc8c92>[\\w\\-]+)$#u'
                                        [host] => null
                                        [route] => 'debug/<controller>/<action>'
                                        [defaults] => []
                                        [suffix] => false
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => false
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/debug/<controller>/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^debug/(?P<a4cf2669a>[\\w\\-]+)/(?P<a47cc8c92>[\\w\\-]+)$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    2 => yii\web\UrlRule#146
                                    (
                                        [name] => '/'
                                        [pattern] => '#^$#u'
                                        [host] => null
                                        [route] => 'site/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => ''
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    3 => yii\web\UrlRule#147
                                    (
                                        [name] => 'error'
                                        [pattern] => '#^error$#u'
                                        [host] => null
                                        [route] => 'errors/error'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/error/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    4 => yii\web\UrlRule#148
                                    (
                                        [name] => 'robots.txt'
                                        [pattern] => '#^robots\\.txt$#u'
                                        [host] => null
                                        [route] => 'seo/robots'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/robots.txt/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    5 => yii\web\UrlRule#149
                                    (
                                        [name] => 'sitemap.xml'
                                        [pattern] => '#^sitemap\\.xml$#u'
                                        [host] => null
                                        [route] => 'seo/sitemap'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/sitemap.xml/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    6 => yii\web\UrlRule#150
                                    (
                                        [name] => 'v-admin'
                                        [pattern] => '#^v-admin$#u'
                                        [host] => null
                                        [route] => 'admin'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/v-admin/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    7 => yii\web\UrlRule#151
                                    (
                                        [name] => 'v-admin/<controllerPath:(.*)>/<action>/<id:\\d+>'
                                        [pattern] => '#^v-admin/(?P<a6c211ce7>(.*))/(?P<a47cc8c92>[^\\/]+)/(?P<abf396750>\\d+)$#u'
                                        [host] => null
                                        [route] => 'admin/<controllerPath>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a6c211ce7' => 'controllerPath'
                                            'a47cc8c92' => 'action'
                                            'abf396750' => 'id'
                                        ]
                                        [yii\web\UrlRule:_template] => '/v-admin/<controllerPath>/<action>/<id>/'
                                        [yii\web\UrlRule:_routeRule] => '#^admin/(?P<a6c211ce7>(.*))/(?P<a47cc8c92>[^\\/]+)$#u'
                                        [yii\web\UrlRule:_paramRules] => [
                                            'id' => '#^\\d+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controllerPath' => '<controllerPath>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    8 => yii\web\UrlRule#152
                                    (
                                        [name] => 'v-admin/<controllerPath:(.*)>/<action>'
                                        [pattern] => '#^v-admin/(?P<a6c211ce7>(.*))/(?P<a47cc8c92>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'admin/<controllerPath>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a6c211ce7' => 'controllerPath'
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/v-admin/<controllerPath>/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^admin/(?P<a6c211ce7>(.*))/(?P<a47cc8c92>[^\\/]+)$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controllerPath' => '<controllerPath>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    9 => yii\web\UrlRule#153
                                    (
                                        [name] => 'v-admin/<controllerPath:(.*)>'
                                        [pattern] => '#^v-admin/(?P<a6c211ce7>(.*))$#u'
                                        [host] => null
                                        [route] => 'admin/<controllerPath>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a6c211ce7' => 'controllerPath'
                                        ]
                                        [yii\web\UrlRule:_template] => '/v-admin/<controllerPath>/'
                                        [yii\web\UrlRule:_routeRule] => '#^admin/(?P<a6c211ce7>(.*))$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controllerPath' => '<controllerPath>'
                                        ]
                                    )
                                    10 => yii\web\UrlRule#154
                                    (
                                        [name] => 'v-admin/<controllerPath:(.*)>'
                                        [pattern] => '#^v-admin/(?P<a6c211ce7>(.*))$#u'
                                        [host] => null
                                        [route] => 'v-admin/<controllerPath>/index'
                                        [defaults] => [
                                            'action' => 'index'
                                        ]
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a6c211ce7' => 'controllerPath'
                                        ]
                                        [yii\web\UrlRule:_template] => '/v-admin/<controllerPath>/'
                                        [yii\web\UrlRule:_routeRule] => '#^v-admin/(?P<a6c211ce7>(.*))/index$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controllerPath' => '<controllerPath>'
                                        ]
                                    )
                                    11 => yii\web\UrlRule#155
                                    (
                                        [name] => 'llms.txt'
                                        [pattern] => '#^llms\\.txt$#u'
                                        [host] => null
                                        [route] => 'seo/llms'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/llms.txt/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    12 => yii\web\UrlRule#156
                                    (
                                        [name] => 'contacts'
                                        [pattern] => '#^contacts$#u'
                                        [host] => null
                                        [route] => 'contacts/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/contacts/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    13 => yii\web\UrlRule#157
                                    (
                                        [name] => '<action:(payment-terms|about-company)>'
                                        [pattern] => '#^(?P<a47cc8c92>(payment-terms|about-company))$#u'
                                        [host] => null
                                        [route] => 'site/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^site/(?P<a47cc8c92>(payment-terms|about-company))$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'action' => '<action>'
                                        ]
                                    )
                                    14 => yii\web\UrlRule#158
                                    (
                                        [name] => 'search/<searchQuery>/<category>/sort/<sort>'
                                        [pattern] => '#^search/(?P<ae343ff9d>[^\\/]+)/(?P<a064c19c1>[^\\/]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'site/search'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'ae343ff9d' => 'searchQuery'
                                            'a064c19c1' => 'category'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/search/<searchQuery>/<category>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'searchQuery' => ''
                                            'category' => ''
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    15 => yii\web\UrlRule#159
                                    (
                                        [name] => 'search/<searchQuery>/<category>'
                                        [pattern] => '#^search/(?P<ae343ff9d>[^\\/]+)/(?P<a064c19c1>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'site/search'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'ae343ff9d' => 'searchQuery'
                                            'a064c19c1' => 'category'
                                        ]
                                        [yii\web\UrlRule:_template] => '/search/<searchQuery>/<category>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'searchQuery' => ''
                                            'category' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    16 => yii\web\UrlRule#160
                                    (
                                        [name] => 'search/<searchQuery>/sort/<sort>'
                                        [pattern] => '#^search/(?P<ae343ff9d>[^\\/]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'site/search'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'ae343ff9d' => 'searchQuery'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/search/<searchQuery>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'searchQuery' => ''
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    17 => yii\web\UrlRule#161
                                    (
                                        [name] => 'search/<searchQuery>'
                                        [pattern] => '#^search/(?P<ae343ff9d>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'site/search'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'ae343ff9d' => 'searchQuery'
                                        ]
                                        [yii\web\UrlRule:_template] => '/search/<searchQuery>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'searchQuery' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    18 => yii\web\UrlRule#162
                                    (
                                        [name] => 'search'
                                        [pattern] => '#^search$#u'
                                        [host] => null
                                        [route] => 'site/search'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/search/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    19 => yii\web\UrlRule#163
                                    (
                                        [name] => '<controller:(cart)>'
                                        [pattern] => '#^(?P<a4cf2669a>(cart))$#u'
                                        [host] => null
                                        [route] => '<controller>/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(cart))/index$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                        ]
                                    )
                                    20 => yii\web\UrlRule#164
                                    (
                                        [name] => 'cart/yookassa-webhook'
                                        [pattern] => '#^cart/yookassa-webhook$#u'
                                        [host] => null
                                        [route] => 'cart/yookassa-webhook'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => [
                                            0 => 'POST'
                                        ]
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/cart/yookassa-webhook/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    21 => yii\web\UrlRule#165
                                    (
                                        [name] => 'cart/robokassa-payment-result'
                                        [pattern] => '#^cart/robokassa-payment-result$#u'
                                        [host] => null
                                        [route] => 'cart/robokassa-payment-result'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => [
                                            0 => 'POST'
                                        ]
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/cart/robokassa-payment-result/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    22 => yii\web\UrlRule#166
                                    (
                                        [name] => '<controller:(cart)>/<action>'
                                        [pattern] => '#^(?P<a4cf2669a>(cart))/(?P<a47cc8c92>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => '<controller>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(cart))/(?P<a47cc8c92>[^\\/]+)$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    23 => yii\web\UrlRule#167
                                    (
                                        [name] => '<controller:(cart)>/checkout/<action:(success|error)>'
                                        [pattern] => '#^(?P<a4cf2669a>(cart))/checkout/(?P<a47cc8c92>(success|error))$#u'
                                        [host] => null
                                        [route] => '<controller>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/checkout/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(cart))/(?P<a47cc8c92>(success|error))$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    24 => yii\web\UrlRule#168
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>/filters/<filters>/sort/<sort>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)/filters/(?P<a7877678d>[^\\/]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                            'a7877678d' => 'filters'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/filters/<filters>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'filters' => ''
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    25 => yii\web\UrlRule#169
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>/filters/<filters>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)/filters/(?P<a7877678d>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                            'a7877678d' => 'filters'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/filters/<filters>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'filters' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    26 => yii\web\UrlRule#170
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>/sort/<sort>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)/(?P<a6dc044c5>[\\w_\\-]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                            'a6dc044c5' => 'group'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/<group>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'group' => '#^[\\w_\\-]+$#u'
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    27 => yii\web\UrlRule#171
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)/(?P<a6dc044c5>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                            'a6dc044c5' => 'group'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/<group>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'group' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    28 => yii\web\UrlRule#172
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>/sort/<sort>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    29 => yii\web\UrlRule#173
                                    (
                                        [name] => 'collections/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^collections/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'collections/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/collections/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    30 => yii\web\UrlRule#174
                                    (
                                        [name] => '<controller:(brands)>/<slug:[\\w_\\-]+>/<category:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a4cf2669a>(brands))/(?P<a989d9b62>[\\w_\\-]+)/(?P<a064c19c1>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => '<controller>/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a989d9b62' => 'slug'
                                            'a064c19c1' => 'category'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/<slug>/<category>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(brands))/view$#u'
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'category' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                        ]
                                    )
                                    31 => yii\web\UrlRule#175
                                    (
                                        [name] => '<controller:(brands)>/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a4cf2669a>(brands))/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => '<controller>/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(brands))/view$#u'
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                        ]
                                    )
                                    32 => yii\web\UrlRule#176
                                    (
                                        [name] => '<controller:(jewelries)>/<action:(discounts)>/<category:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a4cf2669a>(jewelries))/(?P<a47cc8c92>(discounts))/(?P<a064c19c1>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => '<controller>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a47cc8c92' => 'action'
                                            'a064c19c1' => 'category'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/<action>/<category>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(jewelries))/(?P<a47cc8c92>(discounts))$#u'
                                        [yii\web\UrlRule:_paramRules] => [
                                            'category' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    33 => yii\web\UrlRule#177
                                    (
                                        [name] => '<controller:(jewelries)>/<action:(get-buy-variants)>'
                                        [pattern] => '#^(?P<a4cf2669a>(jewelries))/(?P<a47cc8c92>(get-buy-variants))$#u'
                                        [host] => null
                                        [route] => '<controller>/<action>'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                            'a47cc8c92' => 'action'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/<action>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>(jewelries))/(?P<a47cc8c92>(get-buy-variants))$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                            'action' => '<action>'
                                        ]
                                    )
                                    34 => yii\web\UrlRule#178
                                    (
                                        [name] => 'jewelries/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^jewelries/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'jewelries/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/jewelries/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    35 => yii\web\UrlRule#179
                                    (
                                        [name] => 'news/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^news/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'news/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/news/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    36 => yii\web\UrlRule#180
                                    (
                                        [name] => 'jewels/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^jewels/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'jewels/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/jewels/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    37 => yii\web\UrlRule#181
                                    (
                                        [name] => 'blog/post/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^blog/post/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'blog/post'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/blog/post/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    38 => yii\web\UrlRule#182
                                    (
                                        [name] => 'blog/author/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^blog/author/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'blog/author'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/blog/author/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    39 => yii\web\UrlRule#183
                                    (
                                        [name] => 'qCcJRdsP5L9BsOEkMYs5wvGNVpyjEgC0ZeAFz0GPg4fa0oiK90'
                                        [pattern] => '#^qCcJRdsP5L9BsOEkMYs5wvGNVpyjEgC0ZeAFz0GPg4fa0oiK90$#u'
                                        [host] => null
                                        [route] => 'export/yandex-yml'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => []
                                        [yii\web\UrlRule:_template] => '/qCcJRdsP5L9BsOEkMYs5wvGNVpyjEgC0ZeAFz0GPg4fa0oiK90/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    40 => yii\web\UrlRule#184
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/filters/<filters>/sort/<sort>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/filters/(?P<a7877678d>[^\\/]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a7877678d' => 'filters'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/filters/<filters>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'filters' => ''
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    41 => yii\web\UrlRule#185
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/filters/<filters>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/filters/(?P<a7877678d>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a7877678d' => 'filters'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/filters/<filters>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'filters' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    42 => yii\web\UrlRule#186
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/sort/<sort>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    43 => yii\web\UrlRule#187
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))$#u'
                                        [host] => null
                                        [route] => 'catalog/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    44 => yii\web\UrlRule#188
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>/filters/<filters>/sort/<sort>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)/filters/(?P<a7877678d>[^\\/]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                            'a7877678d' => 'filters'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/filters/<filters>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'filters' => ''
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    45 => yii\web\UrlRule#189
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>/filters/<filters>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)/filters/(?P<a7877678d>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                            'a7877678d' => 'filters'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/filters/<filters>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'filters' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    46 => yii\web\UrlRule#190
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>/sort/<sort>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)/(?P<a6dc044c5>[\\w_\\-]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                            'a6dc044c5' => 'group'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/<group>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'group' => '#^[\\w_\\-]+$#u'
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    47 => yii\web\UrlRule#191
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)/(?P<a6dc044c5>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => false
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                            'a6dc044c5' => 'group'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/<group>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'group' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    48 => yii\web\UrlRule#192
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>/sort/<sort>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)/sort/(?P<a5124f222>[^\\/]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                            'a5124f222' => 'sort'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/sort/<sort>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                            'sort' => ''
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    49 => yii\web\UrlRule#193
                                    (
                                        [name] => '<direction:(catalog|pravoslavnye-izdelia)>/<slug:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a3e4ad1b3>(catalog|pravoslavnye-izdelia))/(?P<a989d9b62>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => 'catalog/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a3e4ad1b3' => 'direction'
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<direction>/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'direction' => '#^(catalog|pravoslavnye-izdelia)$#u'
                                            'slug' => '#^[\\w_\\-]+$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    50 => yii\web\UrlRule#194
                                    (
                                        [name] => '<slug:(dostavka-i-oplata|garantii|nagrady|obmen-i-vozvrat|privacy-policy|sertifikaty|soglashenie-s-pokupatelem-yuvelirnyh-izdeliy)>'
                                        [pattern] => '#^(?P<a989d9b62>(dostavka-i-oplata|garantii|nagrady|obmen-i-vozvrat|privacy-policy|sertifikaty|soglashenie-s-pokupatelem-yuvelirnyh-izdeliy))$#u'
                                        [host] => null
                                        [route] => 'text-pages/view'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 2
                                        [*:placeholders] => [
                                            'a989d9b62' => 'slug'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<slug>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'slug' => '#^(dostavka-i-oplata|garantii|nagrady|obmen-i-vozvrat|privacy-policy|sertifikaty|soglashenie-s-pokupatelem-yuvelirnyh-izdeliy)$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    51 => yii\web\UrlRule#195
                                    (
                                        [name] => 'blog/<category:(azbuka-yuvelira-bazovye-znaniya|gid-po-vyboru|kamni-i-metally|masterskaya-violet|novosti|trendy-i-stil|uhod-i-servis)>'
                                        [pattern] => '#^blog/(?P<a064c19c1>(azbuka-yuvelira-bazovye-znaniya|gid-po-vyboru|kamni-i-metally|masterskaya-violet|novosti|trendy-i-stil|uhod-i-servis))$#u'
                                        [host] => null
                                        [route] => 'blog/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 0
                                        [*:placeholders] => [
                                            'a064c19c1' => 'category'
                                        ]
                                        [yii\web\UrlRule:_template] => '/blog/<category>/'
                                        [yii\web\UrlRule:_routeRule] => null
                                        [yii\web\UrlRule:_paramRules] => [
                                            'category' => '#^(azbuka-yuvelira-bazovye-znaniya|gid-po-vyboru|kamni-i-metally|masterskaya-violet|novosti|trendy-i-stil|uhod-i-servis)$#u'
                                        ]
                                        [yii\web\UrlRule:_routeParams] => []
                                    )
                                    52 => yii\web\UrlRule#196
                                    (
                                        [name] => '<controller:[\\w_\\-]+>'
                                        [pattern] => '#^(?P<a4cf2669a>[\\w_\\-]+)$#u'
                                        [host] => null
                                        [route] => '<controller>/index'
                                        [defaults] => []
                                        [suffix] => null
                                        [verb] => null
                                        [mode] => null
                                        [encodeParams] => true
                                        [normalizer] => null
                                        [*:createStatus] => 0
                                        [*:placeholders] => [
                                            'a4cf2669a' => 'controller'
                                        ]
                                        [yii\web\UrlRule:_template] => '/<controller>/'
                                        [yii\web\UrlRule:_routeRule] => '#^(?P<a4cf2669a>[\\w_\\-]+)/index$#u'
                                        [yii\web\UrlRule:_paramRules] => []
                                        [yii\web\UrlRule:_routeParams] => [
                                            'controller' => '<controller>'
                                        ]
                                    )
                                ]
                                [suffix] => null
                                [showScriptName] => false
                                [routeParam] => 'r'
                                [cache] => yii\caching\FileCache#136(...)
                                [ruleConfig] => [
                                    'class' => 'yii\\web\\UrlRule'
                                ]
                                [normalizer] => false
                                [*:cacheKey] => 'yii\\web\\UrlManager'
                                [yii\web\UrlManager:_baseUrl] => ''
                                [yii\web\UrlManager:_scriptUrl] => null
                                [yii\web\UrlManager:_hostInfo] => 'https://violet-jewelry-shop.ru'
                                [yii\web\UrlManager:_ruleCache] => [
                                    'uploads/images/blog/posts/m5/qZ/7K/m5qZ7KYZ3r2BoIU.jpg?' => []
                                    'blog/post?slug&' => [
                                        0 => yii\web\UrlRule#181(...)
                                    ]
                                    'blog/author?slug&' => [
                                        0 => yii\web\UrlRule#182(...)
                                    ]
                                    'blog/index?' => [
                                        0 => yii\web\UrlRule#195(...)
                                        1 => yii\web\UrlRule#196(...)
                                    ]
                                    'blog/index?category&' => [
                                        0 => yii\web\UrlRule#195(...)
                                    ]
                                ]
                            )
                            'imagesQueue' => yii\queue\db\Queue#197
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [strictJobType] => true
                                [serializer] => yii\queue\serializers\PhpSerializer#198
                                (
                                )
                                [ttr] => 300
                                [attempts] => 1
                                [yii\queue\Queue:pushTtr] => null
                                [yii\queue\Queue:pushDelay] => null
                                [yii\queue\Queue:pushPriority] => null
                                [loopConfig] => 'yii\\queue\\cli\\SignalLoop'
                                [commandClass] => 'yii\\queue\\db\\Command'
                                [commandOptions] => []
                                [messageHandler] => null
                                [yii\queue\cli\Queue:_workerPid] => null
                                [db] => yii\db\Connection#68(...)
                                [mutex] => yii\mutex\MysqlMutex#199
                                (
                                    [yii\base\Component:_events] => []
                                    [yii\base\Component:_eventWildcards] => []
                                    [yii\base\Component:_behaviors] => null
                                    [autoRelease] => true
                                    [yii\mutex\Mutex:_locks] => []
                                    [db] => yii\db\Connection#68(...)
                                    [keyPrefix] => yii\db\Expression#200
                                    (
                                        [expression] => 'DATABASE()'
                                        [params] => []
                                    )
                                )
                                [mutexTimeout] => 3
                                [tableName] => '{{%queue}}'
                                [channel] => 'images'
                                [deleteReleased] => true
                                [*:reserveTime] => null
                                [yii\queue\db\Queue:_statistcsProvider] => null
                            )
                            'user' => app\app_project\components\User#201
                            (
                                [yii\base\Component:_events] => [
                                    'afterLogin' => [
                                        0 => [
                                            0 => Closure#202
                                            (
                                                [0] => Closure#202(...)
                                            )
                                            1 => null
                                        ]
                                    ]
                                ]
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => []
                                [identityClass] => 'app\\app_base\\models\\users\\User'
                                [enableAutoLogin] => true
                                [enableSession] => true
                                [loginUrl] => [
                                    0 => '/user/login'
                                ]
                                [identityCookie] => [
                                    'name' => '_identity'
                                    'httpOnly' => true
                                ]
                                [authTimeout] => null
                                [accessChecker] => null
                                [absoluteAuthTimeout] => null
                                [autoRenewCookie] => true
                                [idParam] => '__id'
                                [authKeyParam] => '__authKey'
                                [authTimeoutParam] => '__expire'
                                [absoluteAuthTimeoutParam] => '__absoluteExpire'
                                [returnUrlParam] => '__returnUrl'
                                [acceptableRedirectTypes] => [
                                    0 => 'text/html'
                                    1 => 'application/xhtml+xml'
                                ]
                                [yii\web\User:_access] => []
                                [yii\web\User:_identity] => null
                                [loginDuration] => 2592000
                                [redirectAfterLogin] => null
                                [redirectAfterLogout] => null
                            )
                            'session' => yii\web\DbSession#203
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [flashParam] => '__flash'
                                [handler] => null
                                [*:_forceRegenerateId] => null
                                [yii\web\Session:_cookieParams] => [
                                    'lifetime' => 86400
                                ]
                                [yii\web\Session:_frozenSessionData] => null
                                [yii\web\Session:_hasSessionId] => false
                                [readCallback] => null
                                [writeCallback] => null
                                [db] => yii\db\Connection#68(...)
                                [sessionTable] => 'proj_sessions'
                                [*:fields] => []
                            )
                            'view' => app\app_base\base\View#204
                            (
                                [yii\base\Component:_events] => [
                                    'endBody' => [
                                        0 => [
                                            0 => [
                                                0 => yii\debug\Module#53(...)
                                                1 => 'renderToolbar'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                ]
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => []
                                [context] => app\app_project\controllers\BlogController#39(...)
                                [params] => [
                                    'breadcrumbs' => [
                                        0 => [
                                            'label' => 'Блог'
                                            'url' => [
                                                0 => 'index'
                                            ]
                                        ]
                                        1 => [
                                            'label' => '«Азбука ювелира» - базовые знания'
                                            'url' => [
                                                0 => 'index'
                                                'category' => 'azbuka-yuvelira-bazovye-znaniya'
                                            ]
                                        ]
                                        2 => [
                                            'label' => 'Что такое браслет: история, культурное значение и правила ношения на левой и правой руке'
                                        ]
                                    ]
                                ]
                                [renderers] => null
                                [defaultExtension] => 'php'
                                [theme] => null
                                [blocks] => null
                                [cacheStack] => []
                                [dynamicPlaceholders] => []
                                [yii\base\View:_viewFiles] => [
                                    0 => [
                                        'resolved' => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
                                        'requested' => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog/post.php'
                                    ]
                                ]
                                [assetBundles] => [
                                    'app\\app_project\\assets\\app\\pages\\blog\\BlogPostPageAsset' => app\app_project\assets\app\pages\blog\BlogPostPageAsset#205
                                    (
                                        [sourcePath] => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/static'
                                        [basePath] => '/var/www/main/data/www/violet-jewelry-shop.ru/web/assets/213cfdcf'
                                        [baseUrl] => '/assets/213cfdcf'
                                        [depends] => []
                                        [js] => [
                                            0 => 'js/pages/blog/post.js'
                                        ]
                                        [css] => [
                                            0 => 'css/pages/blog/post.css'
                                        ]
                                        [jsOptions] => []
                                        [cssOptions] => []
                                        [publishOptions] => []
                                    )
                                ]
                                [title] => 'Что такое браслет: история, культурное значение и правила ношения на левой и правой руке'
                                [metaTags] => []
                                [linkTags] => []
                                [css] => []
                                [cssFiles] => []
                                [styleOptions] => []
                                [js] => []
                                [jsFiles] => []
                                [scriptOptions] => []
                                [yii\web\View:_assetManager] => null
                                [*:isPageEnded] => false
                                [enableMinify] => false
                                [fileCheckAlgorithm] => 'sha1'
                                [concatCss] => true
                                [minifyCss] => false
                                [concatJs] => true
                                [minifyJs] => true
                                [minifyOutput] => false
                                [removeComments] => true
                                [web_path] => '@web'
                                [webPath] => '@web'
                                [base_path] => '@webroot'
                                [basePath] => '@webroot'
                                [minify_path] => '@app/web/cache/static'
                                [minifyPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/web/cache/static'
                                [js_position] => [
                                    0 => 3
                                    1 => 1
                                ]
                                [jsPosition] => [
                                    0 => 3
                                ]
                                [jsOptions] => []
                                [force_charset] => false
                                [forceCharset] => 'UTF-8'
                                [expand_imports] => true
                                [expandImports] => true
                                [css_linebreak_pos] => 2048
                                [cssLinebreakPos] => 2048
                                [file_mode] => 436
                                [fileMode] => 436
                                [schemas] => [
                                    0 => '//'
                                    1 => 'http://'
                                    2 => 'https://'
                                    3 => 'ftp://'
                                ]
                                [compress_output] => false
                                [compress_options] => [
                                    'extra' => true
                                ]
                                [compressOptions] => [
                                    'extra' => true
                                ]
                                [excludeBundles] => []
                                [excludeFiles] => [
                                    0 => 'api'
                                    1 => 'emerge.js'
                                ]
                                [viewsFolders] => [
                                    0 => '@appProject'
                                    1 => '@appBase'
                                ]
                                [assetGroups] => []
                            )
                            'assetManager' => yii\web\AssetManager#206
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [bundles] => [
                                    'yii\\bootstrap4\\BootstrapAsset' => [
                                        'css' => []
                                        'js' => []
                                    ]
                                    'yii\\web\\JqueryAsset' => [
                                        'js' => [
                                            0 => 'jquery.min.js'
                                        ]
                                    ]
                                    'app\\app_base\\admin\\assets\\AdminThemeAsset' => [
                                        'depends' => [
                                            0 => 'app\\app_project\\admin\\assets\\AdminAsset'
                                        ]
                                    ]
                                    'app\\app_project\\assets\\app\\pages\\blog\\BlogPostPageAsset' => app\app_project\assets\app\pages\blog\BlogPostPageAsset#205(...)
                                ]
                                [basePath] => '/var/www/main/data/www/violet-jewelry-shop.ru/web/assets'
                                [baseUrl] => '/assets'
                                [assetMap] => []
                                [linkAssets] => true
                                [fileMode] => null
                                [dirMode] => 509
                                [beforeCopy] => null
                                [afterCopy] => null
                                [forceCopy] => false
                                [appendTimestamp] => true
                                [hashCallback] => null
                                [yii\web\AssetManager:_dummyBundles] => []
                                [yii\web\AssetManager:_isBasePathPermissionChecked] => true
                                [yii\web\AssetManager:_converter] => yii\web\AssetConverter#207
                                (
                                    [yii\base\Component:_events] => []
                                    [yii\base\Component:_eventWildcards] => []
                                    [yii\base\Component:_behaviors] => null
                                    [commands] => [
                                        'less' => [
                                            0 => 'css'
                                            1 => 'lessc {from} {to} --no-color --source-map'
                                        ]
                                        'scss' => [
                                            0 => 'css'
                                            1 => 'sass --style=compressed {from} {to}'
                                        ]
                                        'sass' => [
                                            0 => 'css'
                                            1 => 'sass --style=compressed {from} {to}'
                                        ]
                                        'styl' => [
                                            0 => 'css'
                                            1 => 'stylus < {from} > {to}'
                                        ]
                                        'coffee' => [
                                            0 => 'js'
                                            1 => 'coffee -p {from} > {to}'
                                        ]
                                        'ts' => [
                                            0 => 'js'
                                            1 => 'tsc --out {to} {from}'
                                        ]
                                    ]
                                    [forceConvert] => false
                                )
                                [yii\web\AssetManager:_published] => [
                                    '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/static' => [
                                        0 => '/var/www/main/data/www/violet-jewelry-shop.ru/web/assets/213cfdcf'
                                        1 => '/assets/213cfdcf'
                                    ]
                                ]
                            )
                            'response' => yii\web\Response#208
                            (
                                [yii\base\Component:_events] => [
                                    'afterPrepare' => [
                                        0 => [
                                            0 => [
                                                0 => yii\debug\Module#53(...)
                                                1 => 'setDebugHeaders'
                                            ]
                                            1 => null
                                        ]
                                    ]
                                ]
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => []
                                [exitStatus] => 0
                                [format] => 'html'
                                [acceptMimeType] => null
                                [acceptParams] => []
                                [formatters] => [
                                    'html' => [
                                        'class' => 'yii\\web\\HtmlResponseFormatter'
                                    ]
                                    'xml' => [
                                        'class' => 'yii\\web\\XmlResponseFormatter'
                                    ]
                                    'json' => [
                                        'class' => 'yii\\web\\JsonResponseFormatter'
                                    ]
                                    'jsonp' => [
                                        'class' => 'yii\\web\\JsonResponseFormatter'
                                        'useJsonp' => true
                                    ]
                                ]
                                [data] => null
                                [content] => null
                                [stream] => null
                                [charset] => 'UTF-8'
                                [statusText] => 'OK'
                                [version] => '1.1'
                                [isSent] => false
                                [yii\web\Response:_statusCode] => 200
                                [yii\web\Response:_headers] => null
                                [yii\web\Response:_cookies] => null
                            )
                            'seo' => app\app_project\components\Seo#209
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [*:allowRobotsIndex] => true
                                [*:allowRobotsFollow] => true
                                [*:_tags] => [
                                    0 => '{сайт}'
                                    1 => '{название}'
                                    2 => '{h1}'
                                    3 => '{телефон}'
                                    4 => '{город}'
                                    5 => '{городе}'
                                    6 => '{городу}'
                                    7 => '{города}'
                                    8 => '{цена}'
                                ]
                                [app\app_project\components\Seo:services] => [
                                    'app\\app_project\\services\\seo\\SeoSchemaService' => app\app_project\services\seo\SeoSchemaService#210
                                    (
                                        [yii\base\Component:_events] => []
                                        [yii\base\Component:_eventWildcards] => []
                                        [yii\base\Component:_behaviors] => null
                                        [app\app_project\services\seo\SeoSchemaService:entities] => [
                                            0 => app\app_project\dto\seo\schema\blog\SchemaBlogPostingDto#211
                                            (
                                                [isCategory] => false
                                                [items] => []
                                                [headline] => 'Что такое браслет: история, культурное значение и правила ношения на левой и правой руке'
                                                [description] => 'Браслет является одним из древнейших знаковых украшений человечества, которое исторически выполняло функции оберега, знака социального статуса и защитного элемента доспехов. В современной культуре выбор того, на какой руке носят браслет, зависит от практического удобства, ювелирного этикета и личной символики.'
                                                [image] => 'https://violet-jewelry-shop.ru/uploads/images/blog/posts/m5/qZ/7K/m5qZ7KYZ3r2BoIU.jpg'
                                                [datePublished] => '2026-07-16 22:52:00'
                                                [url] => 'https://violet-jewelry-shop.ru/blog/post/37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                                                [dateModified] => '2026-07-16 22:53:59'
                                                [authorName] => 'Ефремова Мария Владимировна'
                                                [authorUrl] => 'https://violet-jewelry-shop.ru/blog/author/efremova-mariya-vladimirovna'
                                            )
                                        ]
                                        [app\app_project\services\seo\SeoSchemaService:categoryEntities] => []
                                    )
                                ]
                            )
                            'image' => app\app_base\components\Image#212
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                                [noImage] => '/assets/1060477d/media/no-image.svg'
                                [uploadsDir] => 'uploads'
                                [outputDir] => 'cache/image'
                                [outputDirlevel] => 3
                                [thumbQuality] => 90
                                [cdnUrl] => null
                                [cdnEnabled] => true
                                [watermarkFile] => null
                                [watermarkOptions] => 'wmi|{file}|*|100'
                                [*:filePath] => '@app/web/uploads/'
                                [*:imagesInProcessing] => [
                                    0 => 'cache/image/d5/13/13/47df7dc727ef504abe897ab1e2fdc705.jpg'
                                ]
                            )
                            'text' => app\app_base\components\Text#213
                            (
                                [yii\base\Component:_events] => []
                                [yii\base\Component:_eventWildcards] => []
                                [yii\base\Component:_behaviors] => null
                            )
                        ]
                        [yii\di\ServiceLocator:_definitions] => [
                            'errorHandler' => [
                                'class' => 'yii\\web\\ErrorHandler'
                                'errorAction' => 'errors/index'
                            ]
                            'db' => [
                                'class' => 'yii\\db\\Connection'
                                'dsn' => 'mysql:host=localhost;dbname=jewelry_shop_db'
                                'username' => 'jewelry_shop_db'
                                'password' => 'mO5tY2rX7f'
                                'charset' => 'utf8mb4'
                                'enableSchemaCache' => true
                            ]
                            'urlManager' => [
                                'enablePrettyUrl' => true
                                'showScriptName' => false
                                'enableStrictParsing' => false
                                'baseUrl' => ''
                                'rules' => [
                                    '/' => 'site/index'
                                    'error' => 'errors/error'
                                    'robots.txt' => 'seo/robots'
                                    'sitemap.xml' => 'seo/sitemap'
                                    'v-admin' => 'admin'
                                    'v-admin/<controllerPath:(.*)>/<action>/<id:\\d+>' => 'admin/<controllerPath>/<action>'
                                    'v-admin/<controllerPath:(.*)>/<action>' => 'admin/<controllerPath>/<action>'
                                    'v-admin/<controllerPath:(.*)>' => 'admin/<controllerPath>'
                                    0 => [
                                        'pattern' => 'v-admin/<controllerPath:(.*)>'
                                        'route' => 'v-admin/<controllerPath>/index'
                                        'defaults' => [
                                            'action' => 'index'
                                        ]
                                    ]
                                    1 => [
                                        'pattern' => 'llms.txt'
                                        'route' => 'seo/llms'
                                    ]
                                    'contacts' => 'contacts/index'
                                    2 => [
                                        'pattern' => '<action:(payment-terms|about-company)>'
                                        'route' => 'site/<action>'
                                    ]
                                    'search/<searchQuery>/<category>/sort/<sort>' => 'site/search'
                                    'search/<searchQuery>/<category>' => 'site/search'
                                    'search/<searchQuery>/sort/<sort>' => 'site/search'
                                    'search/<searchQuery>' => 'site/search'
                                    'search' => 'site/search'
                                    '<controller:(cart)>' => '<controller>/index'
                                    3 => [
                                        'pattern' => 'cart/yookassa-webhook'
                                        'route' => 'cart/yookassa-webhook'
                                        'verb' => 'POST'
                                    ]
                                    4 => [
                                        'pattern' => 'cart/robokassa-payment-result'
                                        'route' => 'cart/robokassa-payment-result'
                                        'verb' => 'POST'
                                    ]
                                    '<controller:(cart)>/<action>' => '<controller>/<action>'
                                    '<controller:(cart)>/checkout/<action:(success|error)>' => '<controller>/<action>'
                                    5 => [
                                        'pattern' => 'collections/<slug:[\\w_\\-]+>/filters/<filters>/sort/<sort>'
                                        'route' => 'collections/view'
                                        'encodeParams' => false
                                    ]
                                    6 => [
                                        'pattern' => 'collections/<slug:[\\w_\\-]+>/filters/<filters>'
                                        'route' => 'collections/view'
                                        'encodeParams' => false
                                    ]
                                    7 => [
                                        'pattern' => 'collections/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>/sort/<sort>'
                                        'route' => 'collections/view'
                                        'encodeParams' => false
                                    ]
                                    8 => [
                                        'pattern' => 'collections/<slug:[\\w_\\-]+>/<group:[\\w_\\-]+>'
                                        'route' => 'collections/view'
                                        'encodeParams' => false
                                    ]
                                    'collections/<slug:[\\w_\\-]+>/sort/<sort>' => 'collections/view'
                                    'collections/<slug:[\\w_\\-]+>' => 'collections/view'
                                    '<controller:(brands)>/<slug:[\\w_\\-]+>/<category:[\\w_\\-]+>' => '<controller>/view'
                                    '<controller:(brands)>/<slug:[\\w_\\-]+>' => '<controller>/view'
                                    '<controller:(jewelries)>/<action:(discounts)>/<category:[\\w_\\-]+>' => '<controller>/<action>'
                                    '<controller:(jewelries)>/<action:(get-buy-variants)>' => '<controller>/<action>'
                                    'jewelries/<slug:[\\w_\\-]+>' => 'jewelries/view'
                                    'news/<slug:[\\w_\\-]+>' => 'news/view'
                                    'jewels/<slug:[\\w_\\-]+>' => 'jewels/view'
                                    9 => [
                                        'pattern' => 'blog/post/<slug:[\\w_\\-]+>'
                                        'route' => 'blog/post'
                                    ]
                                    10 => [
                                        'pattern' => 'blog/author/<slug:[\\w_\\-]+>'
                                        'route' => 'blog/author'
                                    ]
                                ]
                                'class' => 'yii\\web\\UrlManager'
                            ]
                            'assetManager' => [
                                'appendTimestamp' => true
                                'linkAssets' => true
                                'bundles' => [
                                    'yii\\bootstrap4\\BootstrapAsset' => [
                                        'css' => []
                                        'js' => []
                                    ]
                                    'yii\\web\\JqueryAsset' => [
                                        'js' => [
                                            0 => 'jquery.min.js'
                                        ]
                                    ]
                                    'app\\app_base\\admin\\assets\\AdminThemeAsset' => [
                                        'depends' => [
                                            0 => 'app\\app_project\\admin\\assets\\AdminAsset'
                                        ]
                                    ]
                                ]
                                'class' => 'yii\\web\\AssetManager'
                            ]
                            'view' => [
                                'class' => 'app\\app_base\\base\\View'
                                'viewsFolders' => [
                                    0 => '@appProject'
                                    1 => '@appBase'
                                ]
                                'enableMinify' => false
                                'concatCss' => true
                                'minifyCss' => false
                                'concatJs' => true
                                'minifyJs' => true
                                'minifyOutput' => false
                                'jsPosition' => [
                                    0 => 3
                                ]
                                'forceCharset' => 'UTF-8'
                                'expandImports' => true
                                'compressOptions' => [
                                    'extra' => true
                                ]
                                'excludeFiles' => [
                                    0 => 'api'
                                    1 => 'emerge.js'
                                ]
                            ]
                            'mailer' => [
                                'class' => 'app\\app_base\\components\\Mailer'
                                'transport' => [
                                    'class' => 'Swift_SmtpTransport'
                                    'host' => 'smtp.ht-systems.ru'
                                    'port' => '465'
                                    'encryption' => 'ssl'
                                ]
                                'messageConfig' => [
                                    'charset' => 'UTF-8'
                                ]
                            ]
                            'request' => [
                                'cookieValidationKey' => 'QLvlb3Z6hjpbUT+uyz72lVHlTc6fIwIrH5jZdtxDiDK28s'
                                'class' => 'yii\\web\\Request'
                            ]
                            'session' => [
                                'class' => 'yii\\web\\DbSession'
                                'sessionTable' => 'proj_sessions'
                                'timeout' => 86400
                                'cookieParams' => [
                                    'lifetime' => 86400
                                ]
                            ]
                            'cache' => [
                                'class' => 'yii\\caching\\FileCache'
                                'cachePath' => '@app/runtime/cache/default'
                                'defaultDuration' => 3600
                            ]
                            'user' => [
                                'class' => 'app\\app_project\\components\\User'
                                'on afterLogin' => Closure#202(...)
                            ]
                            'log' => [
                                'traceLevel' => 0
                                'targets' => [
                                    0 => [
                                        'class' => 'yii\\log\\FileTarget'
                                        'levels' => [
                                            0 => 'error'
                                            1 => 'warning'
                                        ]
                                        'except' => [
                                            0 => 'yii\\web\\HttpException:404'
                                            1 => 'yii\\web\\Session::init'
                                        ]
                                    ]
                                    1 => [
                                        'class' => 'yii\\log\\FileTarget'
                                        'levels' => [
                                            0 => 'error'
                                            1 => 'warning'
                                        ]
                                        'categories' => [
                                            0 => 'yii\\web\\HttpException:404'
                                        ]
                                        'logFile' => '@runtime/logs/404/error.log'
                                    ]
                                    2 => [
                                        'class' => 'notamedia\\sentry\\SentryTarget'
                                        'dsn' => 'https://4d7c450b658d44158ed9816b16620b14@e.d.ilya-z.ru/4'
                                        'levels' => [
                                            0 => 'error'
                                            1 => 'warning'
                                        ]
                                        'context' => true
                                        'clientOptions' => [
                                            'environment' => 'prod'
                                            'tags' => [
                                                'mode' => 'web'
                                            ]
                                        ]
                                    ]
                                ]
                                'class' => 'yii\\log\\Dispatcher'
                            ]
                            'inflection' => [
                                'class' => 'wapmorgan\\yii2inflection\\Inflection'
                                'language' => 'ru'
                            ]
                            'seo' => [
                                'class' => 'app\\app_project\\components\\Seo'
                            ]
                            'geography' => [
                                'class' => 'app\\app_base\\components\\Geography'
                            ]
                            'settings' => [
                                'class' => 'app\\app_project\\components\\Settings'
                            ]
                            'contacts' => [
                                'class' => 'app\\app_project\\components\\Contacts'
                            ]
                            'text' => [
                                'class' => 'app\\app_base\\components\\Text'
                            ]
                            'queue' => [
                                'class' => 'yii\\queue\\db\\Queue'
                                'db' => 'db'
                                'channel' => 'queue'
                                'mutex' => 'yii\\mutex\\MysqlMutex'
                            ]
                            'imagesQueue' => [
                                'class' => 'yii\\queue\\db\\Queue'
                                'db' => 'db'
                                'channel' => 'images'
                                'mutex' => 'yii\\mutex\\MysqlMutex'
                            ]
                            'image' => [
                                'class' => 'app\\app_base\\components\\Image'
                                'cdnUrl' => false
                            ]
                            'services' => [
                                'class' => 'app\\app_project\\components\\Services'
                            ]
                            'jewelries' => [
                                'class' => 'app\\app_project\\components\\catalog\\Jewelries'
                            ]
                            'client' => [
                                'class' => 'app\\app_project\\components\\Client'
                            ]
                            'wishlist' => [
                                'class' => 'app\\app_project\\components\\catalog\\Wishlist'
                            ]
                            'shopCache' => [
                                'class' => 'yii\\caching\\FileCache'
                                'cachePath' => '@app/runtime/cache/shop'
                                'defaultDuration' => 604800
                            ]
                            'cart' => [
                                'class' => 'app\\app_project\\components\\cart\\Cart'
                            ]
                            'robokassa' => [
                                'class' => 'app\\app_project\\extensions\\robokassa\\Merchant'
                                'baseUrl' => 'https://auth.robokassa.ru/Merchant/Index.aspx'
                                'sMerchantLogin' => false
                                'sMerchantPass1' => false
                                'sMerchantPass2' => false
                                'isTest' => false
                            ]
                            'yookassa' => [
                                'class' => 'app\\app_project\\components\\Yookassa'
                                'shopId' => '1310771'
                                'secretKey' => 'live_hiqXKqDAVHe2WfnVChPCtZJExMz1xd0rbT1srFtSdeM'
                                'testShopId' => false
                                'testSecretKey' => false
                                'isTest' => false
                            ]
                            'shop' => [
                                'class' => 'app\\app_project\\components\\shop\\CoreShop'
                                'servicesList' => [
                                    'products' => 'app\\app_project\\components\\shop\\services\\CoreShopProductsService'
                                ]
                            ]
                            'cronQueue' => [
                                'class' => 'yii\\queue\\db\\Queue'
                                'db' => 'db'
                                'channel' => 'cron-queue'
                                'mutex' => 'yii\\mutex\\MysqlMutex'
                            ]
                            'aiQueue' => [
                                'class' => 'yii\\queue\\db\\Queue'
                                'db' => 'db'
                                'channel' => 'ai'
                                'mutex' => 'yii\\mutex\\MysqlMutex'
                            ]
                            'videoQueue' => [
                                'class' => 'yii\\queue\\db\\Queue'
                                'db' => 'db'
                                'channel' => 'video'
                                'mutex' => 'yii\\mutex\\MysqlMutex'
                            ]
                            'vizantino' => 'app\\app_project\\components\\Vizantino'
                            'formatter' => [
                                'class' => 'yii\\i18n\\Formatter'
                            ]
                            'i18n' => [
                                'class' => 'yii\\i18n\\I18N'
                            ]
                            'security' => [
                                'class' => 'yii\\base\\Security'
                            ]
                            'response' => [
                                'class' => 'yii\\web\\Response'
                            ]
                        ]
                        [params] => []
                        [id] => 'ri'
                        [module] => null
                        [layout] => 'main'
                        [controllerMap] => []
                        [controllerNamespace] => 'app\\app_project\\controllers'
                        [defaultRoute] => 'site'
                        [yii\base\Module:_basePath] => '/var/www/main/data/www/violet-jewelry-shop.ru'
                        [yii\base\Module:_controllerPath] => null
                        [yii\base\Module:_viewPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views'
                        [yii\base\Module:_layoutPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/layouts'
                        [yii\base\Module:_modules] => [
                            'admin' => [
                                'class' => 'app\\app_project\\admin\\Module'
                                'controllerMap' => []
                            ]
                            'debug' => yii\debug\Module#53(...)
                        ]
                        [yii\base\Module:_version] => null
                        [name] => 'Violet Shop'
                        [charset] => 'UTF-8'
                        [language] => 'ru-RU'
                        [sourceLanguage] => 'ru-RU'
                        [controller] => app\app_project\controllers\BlogController#39(...)
                        [requestedRoute] => 'blog/post'
                        [requestedAction] => yii\base\InlineAction#214
                        (
                            [yii\base\Component:_events] => []
                            [yii\base\Component:_eventWildcards] => []
                            [yii\base\Component:_behaviors] => null
                            [id] => 'post'
                            [controller] => app\app_project\controllers\BlogController#39(...)
                            [actionMethod] => 'actionPost'
                        )
                        [requestedParams] => [
                            'slug' => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                        ]
                        [extensions] => [
                            'bazilio/yii2-stubs-generator' => [
                                'name' => 'bazilio/yii2-stubs-generator'
                                'version' => '1.6.2.0'
                                'alias' => [
                                    '@bazilio/stubsgenerator' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/bazilio/yii2-stubs-generator'
                                ]
                            ]
                            'rmrevin/yii2-minify-view' => [
                                'name' => 'rmrevin/yii2-minify-view'
                                'version' => '1.15.1.0'
                                'alias' => [
                                    '@rmrevin/yii/minify' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/rmrevin/yii2-minify-view'
                                ]
                            ]
                            'unclead/yii2-multiple-input' => [
                                'name' => 'unclead/yii2-multiple-input'
                                'version' => '2.30.0.0'
                                'alias' => [
                                    '@unclead/multipleinput' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/unclead/yii2-multiple-input/src'
                                    '@unclead/multipleinput/tests' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/unclead/yii2-multiple-input/tests'
                                    '@unclead/multipleinput/examples' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/unclead/yii2-multiple-input/examples'
                                ]
                            ]
                            'vova07/yii2-imperavi-widget' => [
                                'name' => 'vova07/yii2-imperavi-widget'
                                'version' => '2.0.11.0'
                                'alias' => [
                                    '@vova07/imperavi' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/vova07/yii2-imperavi-widget/src'
                                    '@vova07/imperavi/tests' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/vova07/yii2-imperavi-widget/tests'
                                ]
                            ]
                            'wapmorgan/yii2-inflection' => [
                                'name' => 'wapmorgan/yii2-inflection'
                                'version' => '1.0.4.0'
                                'alias' => [
                                    '@wapmorgan/yii2inflection' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/wapmorgan/yii2-inflection/src'
                                ]
                            ]
                            'yii2tech/ar-position' => [
                                'name' => 'yii2tech/ar-position'
                                'version' => '1.0.1.0'
                                'alias' => [
                                    '@yii2tech/ar/position' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yii2tech/ar-position'
                                ]
                            ]
                            'yiisoft/yii2-bootstrap4' => [
                                'name' => 'yiisoft/yii2-bootstrap4'
                                'version' => '2.0.12.0'
                                'alias' => [
                                    '@yii/bootstrap4' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-bootstrap4/src'
                                ]
                            ]
                            'yiisoft/yii2-debug' => [
                                'name' => 'yiisoft/yii2-debug'
                                'version' => '2.1.27.0'
                                'alias' => [
                                    '@yii/debug' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-debug/src'
                                ]
                            ]
                            'yiisoft/yii2-imagine' => [
                                'name' => 'yiisoft/yii2-imagine'
                                'version' => '2.3.1.0'
                                'alias' => [
                                    '@yii/imagine' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-imagine/src'
                                ]
                            ]
                            'yiisoft/yii2-swiftmailer' => [
                                'name' => 'yiisoft/yii2-swiftmailer'
                                'version' => '2.1.3.0'
                                'alias' => [
                                    '@yii/swiftmailer' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-swiftmailer/src'
                                ]
                            ]
                            'yiithings/yii2-dotenv' => [
                                'name' => 'yiithings/yii2-dotenv'
                                'version' => '1.1.0.0'
                                'alias' => [
                                    '@yiithings/dotenv' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiithings/yii2-dotenv/src'
                                ]
                            ]
                            'omnilight/yii2-shopping-cart' => [
                                'name' => 'omnilight/yii2-shopping-cart'
                                'version' => '1.3.0.0'
                                'alias' => [
                                    '@yz/shoppingcart' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/omnilight/yii2-shopping-cart'
                                ]
                            ]
                            'notamedia/yii2-sentry' => [
                                'name' => 'notamedia/yii2-sentry'
                                'version' => '1.7.0.0'
                                'alias' => [
                                    '@notamedia/sentry' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/notamedia/yii2-sentry/src'
                                ]
                            ]
                            'yiisoft/yii2-queue' => [
                                'name' => 'yiisoft/yii2-queue'
                                'version' => '2.3.8.0'
                                'alias' => [
                                    '@yii/queue' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src'
                                    '@yii/queue/db' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/db'
                                    '@yii/queue/sqs' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/sqs'
                                    '@yii/queue/amqp' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/amqp'
                                    '@yii/queue/file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/file'
                                    '@yii/queue/sync' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/sync'
                                    '@yii/queue/redis' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/redis'
                                    '@yii/queue/stomp' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/stomp'
                                    '@yii/queue/gearman' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/gearman'
                                    '@yii/queue/beanstalk' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/beanstalk'
                                    '@yii/queue/amqp_interop' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2-queue/src/drivers/amqp_interop'
                                ]
                            ]
                        ]
                        [bootstrap] => [
                            0 => 'log'
                            1 => 'settings'
                            2 => 'geography'
                            'dynamicRoute' => 'app\\app_project\\components\\route\\DynamicRoute'
                            3 => 'imagesQueue'
                            4 => 'debug'
                            5 => 'app\\app_project\\components\\Redirect'
                        ]
                        [state] => 3
                        [loadedModules] => [
                            'yii\\web\\Application' => yii\web\Application#40(...)
                            'yii\\debug\\Module' => yii\debug\Module#53(...)
                        ]
                        [yii\base\Application:_runtimePath] => '/var/www/main/data/www/violet-jewelry-shop.ru/runtime'
                        [yii\base\Application:_vendorPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor'
                        [catchAll] => null
                        [yii\web\Application:_homeUrl] => null
                    )
                    [defaultAction] => 'index'
                    [layout] => null
                    [action] => yii\base\InlineAction#214(...)
                    [request] => yii\web\Request#45(...)
                    [response] => yii\web\Response#208(...)
                    [yii\base\Controller:_view] => app\app_base\base\View#204(...)
                    [yii\base\Controller:_viewPath] => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/views/blog'
                    [enableCsrfValidation] => true
                    [actionParams] => [
                        'slug' => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                    ]
                    [customMetaTags] => []
                    [bodyClass] => []
                    [*:model] => null
                    [*:viewsList] => []
                    [app\app_base\base\BaseController:_resource] => app\app_project\models\blog\BlogPost#22(...)
                )
            ]
        ]
        21 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/Controller.php'
            'line' => 450
            'function' => 'render'
            'class' => 'yii\\base\\View'
            'type' => '->'
            'args' => [
                0 => 'post'
                1 => [
                    'post' => app\app_project\models\blog\BlogPost#22(...)
                ]
                2 => app\app_project\controllers\BlogController#39(...)
            ]
        ]
        22 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/app_project/controllers/BlogController.php'
            'line' => 127
            'function' => 'render'
            'class' => 'yii\\base\\Controller'
            'type' => '->'
            'args' => [
                0 => 'post'
                1 => [
                    'post' => app\app_project\models\blog\BlogPost#22(...)
                ]
            ]
        ]
        23 => [
            'function' => 'actionPost'
            'class' => 'app\\app_project\\controllers\\BlogController'
            'type' => '->'
            'args' => [
                0 => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
            ]
        ]
        24 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/InlineAction.php'
            'line' => 66
            'function' => 'call_user_func_array'
            'args' => [
                0 => [
                    0 => app\app_project\controllers\BlogController#39(...)
                    1 => 'actionPost'
                ]
                1 => [
                    0 => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                ]
            ]
        ]
        25 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/Controller.php'
            'line' => 197
            'function' => 'runWithParams'
            'class' => 'yii\\base\\InlineAction'
            'type' => '->'
            'args' => [
                0 => [
                    'slug' => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                ]
            ]
        ]
        26 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/Module.php'
            'line' => 554
            'function' => 'runAction'
            'class' => 'yii\\base\\Controller'
            'type' => '->'
            'args' => [
                0 => 'post'
                1 => [
                    'slug' => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                ]
            ]
        ]
        27 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/web/Application.php'
            'line' => 112
            'function' => 'runAction'
            'class' => 'yii\\base\\Module'
            'type' => '->'
            'args' => [
                0 => 'blog/post'
                1 => [
                    'slug' => '37-chto-takoe-braslet-istoriya-kulturnoe-znachenie-i-pravila-nosheniya-na-levoy-i-pravoy-ruke'
                ]
            ]
        ]
        28 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/vendor/yiisoft/yii2/base/Application.php'
            'line' => 391
            'function' => 'handleRequest'
            'class' => 'yii\\web\\Application'
            'type' => '->'
            'args' => [
                0 => yii\web\Request#45(...)
            ]
        ]
        29 => [
            'file' => '/var/www/main/data/www/violet-jewelry-shop.ru/web/index.php'
            'line' => 34
            'function' => 'run'
            'class' => 'yii\\base\\Application'
            'type' => '->'
            'args' => []
        ]
    ]
    [Exception:previous] => null
    [*:severity] => 2
)